OptionalworkingTimeout?: numberDefault timeout for 'working' status (max 120s per PR #78)
OptionalpollingInterval?: numberPolling interval for 'working' status in milliseconds (default: 2000ms)
OptionaldefaultMaxClarifications?: numberDefault max clarification attempts
OptionalenableConversationStorage?: booleanEnable conversation storage
OptionalwebhookManager?: WebhookManagerWebhook manager for submitted tasks
OptionaldeferredStorage?: Storage<DeferredTaskState>Storage for deferred task state
OptionalwebhookUrlTemplate?: stringWebhook URL template for protocol-level webhook support
OptionalagentId?: stringAgent ID for webhook URL generation
OptionalwebhookSecret?: stringWebhook secret for HMAC authentication (min 32 chars)
OptionalstrictSchemaValidation?: booleanFail tasks when response schema validation fails (default: true)
OptionallogSchemaViolations?: booleanLog all schema validation violations to debug logs (default: true)
Optionalvalidation?: ValidationHookConfigSchema-driven validation using the bundled AdCP JSON schemas.
Controls outgoing request and incoming response checks independently.
Defaults: strict in dev/test, warn in prod. Set a mode to off to
skip the validator entirely on that side (zero overhead).
OptionalfilterInvalidProducts?: booleanFilter out invalid products from get_products responses instead of rejecting the entire response (default: false)
OptionalonActivity?: (activity: Activity) => void | Promise<void>Global activity callback for observability
Optionalgovernance?: GovernanceConfigGovernance configuration for buyer-side campaign governance
OptionaladcpVersion?: stringAdCP version this executor speaks. Selects which schema bundle
validateIncomingResponse / validateOutgoingRequest validate
against, and which adcp_major_version value goes on the wire.
Defaults to the SDK-pinned ADCP_VERSION when omitted.
Plumbed from SingleAgentClient.resolvedAdcpVersion so the
client/agent's getAdcpVersion() value is the single source of
truth for both validation and wire-level major.
Optionaltransport?: TransportOptionsTransport-level safeguards applied to every call this executor dispatches. Per-call options can override individual fields.
Access the governance middleware for direct outcome reporting (async tasks).
Run the configured pre-send schema check against the user-facing request
shape. Callers invoke this on the unadapted (v3) params before any wire
adaptation runs, so the validator sees the same object the caller wrote.
Throws in strict, logs to debugLogs in warn, no-ops in off.
OptionaldebugLogs: any[]After adaptRequestForServerVersion has rewritten a v3 request into v2
wire format, validate the adapted shape against the cached v2.5 schema
bundle. Always warn-only — adapter bugs shouldn't break user requests,
and the v3 pre-send pass already vouched for the user-facing input.
This pass exists to surface drift between what the adapter emits and
what a v2.5 server expects on the wire (primarily as CI signal via the
adapter-conformance test suite).
Skips silently for tasks without a v2.5 schema or when the v2.5 bundle
isn't cached. Caller is responsible for gating on serverVersion === 'v2'
so v3-targeted traffic doesn't pay the validation cost.
OptionaldebugLogs: any[]Execute a task with an agent using PR #78 async patterns Handles: working (keep SSE open), submitted (webhook), input-required (handler), completed
OptionalinputHandler: InputHandlerOptionalserverVersion: "v2" | "v3"Task tracking methods (PR #78)
Optionaltransport: TransportOptionsOptionaltransport: TransportOptionsOptionaltransport: TransportOptionsOptionalsignal: AbortSignalResume a deferred task (client deferral)
Get task list for a specific agent
Optionaltransport: TransportOptionsGet detailed information about a specific task
Subscribe to task updates for a specific agent
Subscribe to task events with detailed callbacks
Register webhook for task notifications
OptionaltaskTypes: string[]
Core task execution engine that handles the conversation loop with agents