Derived from the Zod schemas at module load so this stays in sync with
the upstream AdCP schema — no hand-maintained list to drift.
si_terminate_session is intentionally excluded even though it's a
mutating operation: the spec documents it as naturally idempotent via
session_id (terminate twice = no-op).
Tools whose request schema requires
idempotency_key.Derived from the Zod schemas at module load so this stays in sync with the upstream AdCP schema — no hand-maintained list to drift.
si_terminate_sessionis intentionally excluded even though it's a mutating operation: the spec documents it as naturally idempotent viasession_id(terminate twice = no-op).