diff --git a/.copilot-schema-version b/.copilot-schema-version index 9d8637c..eb90969 100644 --- a/.copilot-schema-version +++ b/.copilot-schema-version @@ -1 +1 @@ -1.0.70 +1.0.71-2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4151af8..845b78f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,29 @@ All notable changes to this project will be documented in this file. This change ## [Unreleased] +### Added (v1.0.7-preview.2 post-release sync) +- **Opaque tool-definition metadata** — port of upstream + [PR #1864](https://github.com/github/copilot-sdk/pull/1864). `define-tool` and + `define-tool-from-spec` accept an optional `:metadata` map and forward its + host-defined contents on `session.create` and `session.resume`. +- **Tool-search configuration and metadata** — port of upstream + [PR #1933](https://github.com/github/copilot-sdk/pull/1933). Session create, + resume, and join configs accept `:tool-search` with optional `:enabled` and + `:defer-threshold`. A `tool_search_tool` override receives the current tool + metadata snapshot in `:available-tools`: each entry has `:name` and + `:description`, plus optional `:namespaced-name`, `:mcp-server-name`, + `:mcp-tool-name`, `:input-schema`, and `:defer-loading`. Tool result maps may + return `:tool-references`. +- **Schema regen to 1.0.71-2** — port of upstream schema updates + [`edbe6c66`](https://github.com/github/copilot-sdk/commit/edbe6c662a78216147cfae1a19c6d127f1e94797) + (1.0.71-0) and + [`9744fd52`](https://github.com/github/copilot-sdk/commit/9744fd52b2692aea35b72d263280c18319e2a6c1) + (1.0.71-2). Bumped `.copilot-schema-version` from `1.0.70` to `1.0.71-2` + and regenerated wire specs and coercions. The curated public idiom adds + optional canvas `:icon` paths and model-billing + `:promo` maps (`:ends-at`, with optional `:id`, `:discount-percent`, and + `:message`). No new public session event type was added. + ## [1.0.7-preview.2.1] - 2026-07-15 ### Added - **API-surface drift guard** ([#120](https://github.com/copilot-community-sdk/copilot-sdk-clojure/issues/120)) — diff --git a/doc/api/API.html b/doc/api/API.html index 49ed626..f31b5c2 100644 --- a/doc/api/API.html +++ b/doc/api/API.html @@ -34,7 +34,8 @@
queryquery-seq!(h/query-seq! prompt & {:keys [client session max-events]})
-Execute a query and return a bounded lazy sequence of events with guaranteed cleanup (default: 256 events).
+Execute a query and return a bounded lazy sequence of events (default: 256 events).
+Warning: cleanup (session disconnect) runs only when the sequence is consumed to its natural end — a :copilot/session.idle / :copilot/session.error event, or the events channel closing (detected when the next read yields nil, the end-of-stream sentinel — not an emitted element). Abandoning the seq before it reaches a terminal event (e.g. (first ...) or (take 1 ...) when the first element isn’t already terminal), or hitting a positive :max-events bound before that end of stream, leaks the session and its event tap (the sole exception is :max-events 0, which disconnects immediately without emitting anything). Consume the whole seq, or use query-chan (explicit lifecycle — safe to stop early provided you close the returned channel) or query when you may stop reading early.
(->> (h/query-seq! "Tell me a story" :session {:on-permission-request copilot/approve-all :streaming? true})
(filter #(= :copilot/assistant.message_delta (:type %)))
(map #(get-in % [:data :delta-content]))
@@ -64,6 +65,19 @@ client-info
CopilotClient
(require '[github.copilot-sdk :as copilot])
+Naming and shape differences vs the official SDK
+The Clojure SDK maintains strict API parity with the official Node.js SDK (@github/copilot-sdk), but a handful of names and return shapes are adapted to Clojure idioms. When translating Node.js examples, use this map:
+
+
+ Clojure Official Node.js SDK Notes
+
+
+ :disable-resume? suppressResumeEvent Config key on resume-session / join-session. When true, skips emitting the session.resume event. Defaults to true in join-session (matching upstream), false elsewhere.
+ :max-input-tokens maxPromptTokens BYOK provider/model config key (input/prompt token cap). Serialized back to maxPromptTokens on the wire.
+ join-session return {:client :session} joinSession() returns CopilotSession Clojure has no implicit/global client, so it returns both so the caller can own the client lifecycle. See join-session.
+
+
+These are the only cases where a public Clojure key or return value does not map 1:1 to the upstream name. Everything else follows the standard kebab-case ↔ camelCase wire convention (e.g. :working-directory ↔ workingDirectory), which is applied automatically and needs no lookup.
Constructor
(copilot/client options)
@@ -95,6 +109,7 @@ Constructor
:on-list-models fn nil Zero-arg function returning model info maps. Bypasses models.list RPC; does not require start!. Results are cached the same way as RPC results
:telemetry map nil OpenTelemetry export config, applied as environment variables to the spawned CLI (ignored when connecting to an existing server via :cli-url or a parent process via :is-child-process?, since no CLI is spawned). When present, enables OTel. Keys (all optional): :otlp-endpoint (OTLP HTTP endpoint), :otlp-protocol ("http/json" or "http/protobuf" — sets OTEL_EXPORTER_OTLP_PROTOCOL), :file-path (write spans to a file), :exporter-type (exporter selection), :source-name (service/source name), :capture-content? (boolean — capture prompt/response content; off by default for privacy). See Observability. (upstream PR #785, PR #1648)
:on-get-trace-context fn nil Zero-arg function returning {:traceparent "..." :tracestate "..."}, called per request (session create/resume and each message send) to propagate a distributed-trace context. Only :traceparent and :tracestate are forwarded. See Observability
+ :on-github-telemetry fn nil @experimental / Internal. One-arg callback receiving each forwarded GitHub telemetry notification. Registering it adds enableGitHubTelemetryForwarding: true to the connect handshake (so the first session’s un-replayable session.start telemetry is forwarded — upstream PR #1909) as well as to the wire params of session.create and session.resume; the runtime then emits connection-global gitHubTelemetry.event notifications. A throwing handler is caught and logged (WARN) and cannot corrupt dispatch. Not a stable public SDK surface. See Observability. (PR #1835)
:is-child-process? boolean false When true, connect via own stdio to a parent Copilot CLI process (no process spawning). Requires :use-stdio? true; mutually exclusive with :cli-url
:session-fs map nil Session filesystem provider config. Keys: :initial-cwd (string, required), :session-state-path (string, required), :conventions ("windows" or "posix", required). When set, the client calls sessionFs.setProvider on connect and routes filesystem operations through per-session handlers. See Session Filesystem
:mode keyword :copilot-cli Client multitenancy mode: :copilot-cli (default — preserve historical CLI behavior) or :empty (multi-tenant SaaS hosts that must isolate sessions from local machine state). In :empty mode the SDK requires at least one tenant-scoped storage root (:copilot-home, :session-fs, :cli-url, or :is-child-process?), sets COPILOT_DISABLE_KEYTAR=1 on the spawned CLI, spreads 10 safe defaults under caller session config, forces installedPlugins [], and normalizes :system-message to strip environment_context. See Client Mode. (upstream PR #1428)
@@ -175,6 +190,7 @@ with-clien
:system-message map System message customization (see below)
:available-tools vector List of allowed tool names
:excluded-tools vector List of excluded tool names
+ :tool-search map Configure runtime tool search for create-session, resume-session, and join-session. Optional keys: :enabled (boolean) and :defer-threshold (integer). This session-level configuration is distinct from a tool definition’s :defer policy; omit it to use runtime defaults.
:provider map Provider config for BYOK (see BYOK docs). Required key: :base-url. Optional: :provider-type (:openai/:azure/:anthropic), :wire-api (:completions/:responses), :api-key, :bearer-token, :azure-options, :headers (map of HTTP header name→value, sent with each provider request — upstream PR #1094), :model-id (string — the model identifier to send to the provider; overrides session :model), :wire-model (string — model name as sent on the provider wire when it differs from :model-id), :max-input-tokens (integer — input/prompt token cap; serialized as wire maxPromptTokens), :max-output-tokens (integer — output token cap), :transport (:http/:websockets — provider transport; serialized as wire transport — upstream PR #1711), :bearer-token-provider (fn — dynamic bearer-token callback, see BYOK docs — upstream PR #1748). The four override fields were added in upstream PR #966
:providers vector (Experimental) Multi-provider BYOK registry — a vector of named providers. Each entry takes the connection fields of :provider — :base-url (required), :provider-type, :wire-api, :api-key, :bearer-token, :azure-options, :headers, :bearer-token-provider — plus a required :name (the registry key, no /). Unlike the singular :provider, a named provider does not accept :transport or the inline model-override fields (:model-id, :wire-model, :max-input-tokens, :max-output-tokens); model overrides are declared in :models instead. Pairs with :models to declare a model catalog. Cannot be combined with the singular :provider. (upstream PR #1718)
:models vector (Experimental) Model catalog referencing the :providers registry. Each entry: :id (required, provider-local model id), :provider (required, a :name in :providers), and optional override fields (:model-id, :wire-model, :capabilities, :max-input-tokens, :max-context-window-tokens, :max-output-tokens). The full model selection id is "providerName/id". Cannot be combined with the singular :provider. (upstream PR #1718)
@@ -182,6 +198,8 @@ with-clien
:excluded-builtin-agents vector Names of built-in agents to hide/exclude from the session. Serialized as wire excludedBuiltinAgents. (upstream PR #1865)
:enable-citations boolean (Experimental) Opt into native model citations. Gated on some? — an explicit false is forwarded; an absent key is omitted. Serialized as wire enableCitations. (upstream PR #1865)
:session-limits map (Experimental) Session AI-credit limits. {:max-ai-credits <number>} — serialized as wire sessionLimits.maxAiCredits. (upstream PR #1865)
+ :enable-managed-settings? boolean Opt-in. When true, the runtime self-fetches enterprise managed settings (bypass-permissions policy) at session bootstrap using the session’s :github-token (required; the runtime fails closed if omitted). Gated on some? — an explicit false is forwarded verbatim; an absent key is omitted. Serialized as wire enableManagedSettings. (upstream PR #1925)
+ :canvas-provider map Canvas provider identity for the session. {:id "..." :name "..."} (:name optional) — serialized as wire canvasProvider.{id,name}. (upstream PR #1847)
:exp-assignments map (Internal) Opaque experiment flight assignments. Keys are source-defined flight ids and are forwarded verbatim (string keys bypass kebab→camel conversion). Serialized as expAssignments. (upstream PR #1750)
:mcp-servers map MCP server configs keyed by server ID (see MCP docs). Local (stdio) servers: :mcp-command, :mcp-args, :mcp-tools. Remote (HTTP/SSE) servers: :mcp-server-type (:http/:sse), :mcp-url, :mcp-tools. Spec aliases: ::mcp-stdio-server = ::mcp-local-server, ::mcp-http-server = ::mcp-remote-server
:commands vector Command definitions (slash commands). See Commands
@@ -229,7 +247,7 @@ with-clien
:custom-agents-local-only boolean Restrict custom-agent loading to caller-supplied configs only (no on-disk discovery). Forwarded via session.options.update. Defaulted to true in :empty mode. (upstream PR #1428)
:coauthor-enabled boolean Add a Copilot Co-authored-by trailer to commits made by the CLI. Forwarded via session.options.update. Defaulted to false in :empty mode. (upstream PR #1428)
:manage-schedule-enabled boolean Enable the built-in schedule-management tools. Forwarded via session.options.update. Defaulted to false in :empty mode. (upstream PR #1428)
- :open-canvases vector (resume-session / join-session only) Seed the open-canvases snapshot when reconnecting. Each entry: {:instance-id ... :extension-id ... :canvas-id ... :reopen bool :availability "ready"\|"stale" :extension-name? ... :title? ... :status? ... :url? ... :input? {...}}. Caller-defined :input keys are preserved verbatim through wire conversion (no kebab→camel re-casing). See open-canvases. (upstream PR #1604)
+ :open-canvases vector (resume-session / join-session only) Seed the open-canvases snapshot when reconnecting. Each entry requires :instance-id, :extension-id, and :canvas-id; optional keys are :extension-name, :title, :status, :url, :input, and :icon (a host-local PNG path). Caller-defined :input keys are preserved verbatim through wire conversion (no kebab→camel re-casing). See open-canvases. (upstream PR #1604)
:memory map Persistent-memory configuration. Shape: {:enabled boolean}. Sent on both session.create and session.resume; omitted entirely when the key is absent (never wire null). Wire-encoded as memory. In :mode :empty it is defaulted to {:enabled false} (caller can override). (upstream PR #1617)
@@ -296,6 +314,9 @@ join-session
;; use session...
(copilot/stop! client))
++Return-shape difference vs the official SDK. The Node.js
+joinSession(config)returns theCopilotSessiondirectly and hides the client it creates internally. Clojure has no implicit/global client, sojoin-sessionreturns both the:clientand the:session: the caller owns the client’s lifecycle and must callstop!on it when finished. Bind the returned map’s:sessionwhere a Node.js caller would use the awaited return value, and keep the:clientfor cleanup. See Naming and shape differences vs the official SDK.
ping(copilot/ping client)
(copilot/ping client message)
@@ -338,13 +359,15 @@ list-models
:model-policy {:policy-state "enabled"
:terms "..."}
:model-billing {:multiplier 1.0
- ;; Per-token prices (upstream PR #1633), present when the
- ;; model reports them; keys are optional:
:token-prices {:input-price 0.00000125
:output-price 0.00001
:cache-price 0.0000003125
:long-context {:input-price 0.0000025
- :output-price 0.00002}}}
+ :output-price 0.00002}}
+ :promo {:ends-at "2026-08-01T00:00:00Z"
+ :id "summer-promo"
+ :discount-percent 25
+ :message "25% off until August"}}
;; Model picker categorization (CLI 1.0.46+):
:model-picker-category "powerful" ;; "lightweight" | "versatile" | "powerful"
:model-picker-price-category "very_high" ;; "low" | "medium" | "high" | "very_high"
@@ -353,6 +376,18 @@ list-models
:default-reasoning-effort "medium"}
...]
+The optional :promo billing map contains:
| Key | Type | Required | Description |
|---|---|---|---|
:ends-at | string | yes | Promotion end time |
:id | string | no | Promotion identifier |
:discount-percent | number from 0 through 100 | no | Percentage discount |
:message | string | no | Display message |
List all models with their billing multiplier:
(require '[github.copilot-sdk :as copilot])
@@ -1004,10 +1039,10 @@ capabilities
open-canvases
(copilot/open-canvases session)
;; => [{:instance-id "i1" :canvas-id "diff" :extension-id "ext.x"
-;; :reopen false :availability "ready"}]
+;; :icon "/tmp/diff.png"}]
Get the current open-canvases snapshot for session. Returns a vector of canvas-instance maps. The snapshot is initialized from session.resume and updated by :copilot/session.canvas.opened / :copilot/session.canvas.closed events. session.create does NOT populate it (matches upstream Node.js).
-Each entry has required keys :instance-id, :extension-id, :canvas-id, :reopen, :availability and optional :extension-name, :title, :status, :url, :input. Closing an instance that’s not in the snapshot is a silent no-op (idempotent); malformed payloads (missing required field, wrong type, or invalid :availability) log a warning and leave the snapshot unchanged — matches upstream isOpenCanvasInstance strictness.
+Each entry has required keys :instance-id, :extension-id, :canvas-id, and optional :extension-name, :title, :status, :url, :input, and :icon (a host-local PNG path). Closing an instance that’s not in the snapshot is a silent no-op (idempotent); malformed payloads (missing required field or wrong type) log a warning and leave the snapshot unchanged.
The :input map (caller-defined opaque data on each canvas) is preserved verbatim through wire conversion. Keys you receive (e.g. via the canvas opened event or after a resume) round-trip back to the CLI without camelCasing — including snake_case and nested keys.
Seeding open-canvases on resume
To restore canvases after reconnecting, pass :open-canvases to resume-session or join-session. The shape mirrors what (open-canvases session) returned previously:
@@ -1178,9 +1213,10 @@ Event Reference
:copilot/session.schedule_created Scheduled prompt registered via /every; data: {:id <pos-int> :interval-ms <pos-int> :prompt "..."} (upstream schema 1.0.42)
:copilot/session.schedule_cancelled Scheduled prompt cancelled from the schedule manager dialog; data: {:id <pos-int>} (upstream schema 1.0.42)
:copilot/session.autopilot_objective_changed Autopilot objective lifecycle events; data: {:operation #{"create" "update" "delete"}} (required) with optional :id (integer) and :status (upstream schema 1.0.56). The :status enum is widened to include "active", "paused", "cap_reached", "completed".
- :copilot/session.permissions_changed Per-session permission flags changed; data: {:allow-all-permissions boolean :previous-allow-all-permissions boolean} (upstream schema 1.0.56).
+ :copilot/session.permissions_changed Per-session permission flags changed; data: {:allow-all-permissions boolean :previous-allow-all-permissions boolean} with optional :allow-all-permission-mode / :previous-allow-all-permission-mode (tri-state #{"off" "auto" "on"}, experimental, upstream schema 1.0.70) (upstream schema 1.0.56).
:copilot/session.session_limits_changed Session limits changed; data: {:session-limits {:max-ai-credits <number>}}, where a nil :session-limits clears the active limits (upstream schema 1.0.67)
:copilot/session.usage_checkpoint Durable usage checkpoint for reconstructing aggregate accounting on resume; data: {:total-nano-aiu <number>} with optional :total-premium-requests <number> (upstream schema 1.0.67)
+ :copilot/session.auto_mode_resolved Auto model-selection resolved the model for the first prompt of an auto-mode session; data includes :chosen-model, optional :candidate-models, :category-scores, :confidence, :predicted-label, :reasoning-bucket (experimental; upstream schema 1.0.70-0)
:copilot/session.schedule_rearmed Self-paced schedule re-armed for its next run
:copilot/session.binary_asset Canonical bytes for a content-addressed binary asset shared by reference across events
:copilot/session.extensions.attachments_pushed Extension pushed attachments into the session
@@ -1198,6 +1234,7 @@ Event Reference
:copilot/assistant.turn_end Assistant turn completed
:copilot/assistant.usage Token usage for this turn; data may include optional :content-filter-triggered (boolean) and :finish-reason (string) (upstream schema 1.0.63)
:copilot/assistant.idle Main agent’s processing loop went idle, including while related background work (running sub-agents or in-flight attached shell commands) is still pending (upstream schema 1.0.66)
+ :copilot/assistant.tool_call_delta Streaming tool-call argument input chunk; data includes :tool-call-id, :input-delta, optional :tool-name, :tool-type (upstream schema 1.0.69-3)
:copilot/model.call_failure Failed LLM API call metadata for telemetry
:copilot/abort Current message aborted
:copilot/tool.user_requested Tool execution requested by user
@@ -1227,6 +1264,9 @@ Event Reference
:copilot/mcp.oauth_completed MCP OAuth authentication completed
:copilot/mcp.headers_refresh_required Dynamic headers refresh request for a remote MCP server (upstream schema 1.0.66)
:copilot/mcp.headers_refresh_completed MCP headers refresh request completed (upstream schema 1.0.66)
+ :copilot/mcp.tools.list_changed Remote MCP server signalled its tool list changed; data includes :server-name (upstream schema 1.0.70)
+ :copilot/mcp.resources.list_changed Remote MCP server signalled its resource list changed; data includes :server-name (upstream schema 1.0.70)
+ :copilot/mcp.prompts.list_changed Remote MCP server signalled its prompt list changed; data includes :server-name (upstream schema 1.0.70)
:copilot/command.queued Command queued for execution
:copilot/command.execute Command execution started
:copilot/command.completed Command execution completed
@@ -1351,6 +1391,43 @@
+:on-github-telemetry)++@experimental / Internal. This mirrors the official SDK’s option set but is not a stable public surface. Shapes may change upstream.
+
Register a one-arg :on-github-telemetry callback in the client options to receive the runtime’s forwarded GitHub telemetry. Registering the callback is what opts in: the SDK adds enableGitHubTelemetryForwarding: true to the connect handshake — so the first session’s un-replayable session.start telemetry is forwarded (upstream PR #1909) — as well as to the wire params of both session.create and session.resume (the flag is omitted entirely when no callback is set — false is never sent). The runtime then emits connection-global gitHubTelemetry.event notifications, each passed to the callback:
(def client
+ (copilot/client
+ {:on-github-telemetry
+ (fn [notification]
+ ;; notification => {:session-id "..." :restricted false :event {...}}
+ (tap> notification))}))
+
+The callback runs on the client’s notification loop. A throwing callback is caught and logged (WARN) — it cannot corrupt JSON-RPC dispatch. No reply is sent (these are notifications, not requests).
+Notification shape:
+| Key | Type | Description |
|---|---|---|
:session-id | string | Session the event originated from |
:restricted | boolean | Whether the event is restricted |
:event | map | The telemetry event (see below) |
Event shape — scalar keys are kebab-cased from the wire (:kind, :created-at, :model-call-id, :session-id, :copilot-tracking-id, :exp-assignment-context), plus an optional :client map of client-info scalars (:cli-version, :os-platform, :os-version, :os-arch, :node-version, :copilot-plan, :client-type, :client-name, :is-staff, :dev-device-id).
Three event sub-maps are opaque source-defined data and pass through verbatim — their keys are not kebab-cased:
+| Sub-map | Wire value type | Note |
|---|---|---|
:properties | string → string | Keys preserved exactly as sent |
:metrics | string → number | Keys preserved exactly as sent |
:features | string → string | Keys preserved exactly as sent |
Do not rely on those keys being Clojure-idiomatic; treat them as an opaque bag keyed by the upstream-defined strings-as-keywords. (upstream PR #1835)
:enable-session-telemetry?):enable-session-telemetry? is a session config flag that controls the CLI’s own internal usage telemetry — independent of the OpenTelemetry export above. It defaults to enabled for GitHub-authenticated sessions and is always disabled when a BYOK :provider is configured. In :mode :empty it is defaulted to false as one of the multi-tenant hardening defaults (the caller can still set it explicitly). Set it to false to opt out:
(def session
@@ -1429,9 +1506,12 @@ Tool Sets
The constructors enforce well-formed entries: a bare "*" is rejected (the SDK also rejects it in :available-tools / :excluded-tools at the session boundary — apps must explicitly opt into a source so an absent source can never silently grant access to unexpected tools). The runtime always receives :tool-filter-precedence "excluded" on session.create / session.resume so the ordering between allow and deny lists is deterministic.
Tools
Let the CLI call back into your process when the model needs capabilities you provide:
-(def lookup-tool
+(require '[github.copilot-sdk :as copilot])
+
+(def lookup-tool
(copilot/define-tool "lookup_issue"
{:description "Fetch issue details from our tracker"
+ :metadata {:owner "issues-team"}
:parameters {:type "object"
:properties {:id {:type "string"
:description "Issue identifier"}}
@@ -1446,6 +1526,51 @@ Tools
:on-permission-request copilot/approve-all}))
When Copilot invokes lookup_issue, the SDK automatically runs your handler and responds to the CLI.
+Both define-tool and define-tool-from-spec accept these common options:
+
+
+ Key Type Default Description
+
+
+ :defer :auto or :never runtime default Per-tool lazy-loading policy; distinct from session :tool-search configuration
+ :description string or nil nil Human-readable tool description
+ :handler fn nil Two-argument function receiving parsed arguments and the invocation map
+ :metadata map nil Opaque host-defined metadata forwarded with the tool definition. An explicit {} is preserved; nil or an absent key is omitted
+ :overrides-built-in-tool boolean nil Allow this definition to replace a built-in tool with the same name
+
+
+Use :parameters with define-tool or :spec with define-tool-from-spec. Metadata is not interpreted. String keys preserve their exact spelling; keyword keys follow the SDK’s normal kebab-case to camelCase wire conversion.
+The handler invocation map contains:
+
+
+ Key Type Required Description
+
+
+ :session-id string yes Session identifier
+ :tool-call-id string yes Tool call identifier
+ :tool-name string yes Invoked tool name
+ :arguments any yes Parsed arguments, without key conversion
+ :available-tools vector no Current tool metadata snapshot, provided only to the tool_search_tool handler
+ :traceparent string no W3C trace parent
+ :tracestate string no W3C trace state
+
+
+Each :available-tools entry contains:
+
+
+ Key Type Required Description
+
+
+ :name string yes Tool name
+ :description string yes Human-readable description
+ :namespaced-name string no Fully qualified tool name
+ :mcp-server-name string no MCP server name
+ :mcp-tool-name string no MCP tool name
+ :input-schema map no Tool input JSON Schema
+ :defer-loading boolean no Whether the runtime deferred loading the tool
+
+
+Failure to fetch the current metadata snapshot does not fail the tool call. The SDK invokes tool_search_tool without :available-tools instead.
Declaration-only tools (manual resolution):
The :handler key is optional (upstream PR #1308). When omitted, the SDK does not auto-respond to tool calls — the call surfaces as a :copilot/external_tool.requested event with a pending request id, and the application resolves it later via handle-pending-tool-call!. Useful for human-in-the-loop UIs or out-of-process tool execution.
(def manual-tool
@@ -1493,6 +1618,21 @@ Tools
core.async channel Async result (yields string or map)
+Object tool results contain:
+
+
+ Key Type Required Description
+
+
+ :text-result-for-llm string yes Text returned to the model
+ :result-type keyword or string yes One of success, failure, rejected, denied, or timeout
+ :binary-results-for-llm vector no Binary image or resource results
+ :error string no Error details
+ :session-log string no Session log text
+ :tool-telemetry map no Tool telemetry fields
+ :tool-references collection of strings no Tool names referenced by the result
+
+
Result helpers:
(copilot/result-success "It worked!")
(copilot/result-failure "It failed" "error details")
diff --git a/doc/api/getting-started.html b/doc/api/getting-started.html
index c6f584b..efc7030 100644
--- a/doc/api/getting-started.html
+++ b/doc/api/getting-started.html
@@ -25,12 +25,12 @@ Prerequisites
Step 1: Add the SDK Dependency
Add to your deps.edn:
-{:deps {io.github.copilot-community-sdk/copilot-sdk-clojure {:mvn/version "1.0.5.0"}}}
+{:deps {io.github.copilot-community-sdk/copilot-sdk-clojure {:mvn/version "1.0.7-preview.2.1"}}}
Or use as a Git dependency:
{:deps {io.github.copilot-community-sdk/copilot-sdk-clojure
{:git/url "https://github.com/copilot-community-sdk/copilot-sdk-clojure"
- :git/sha "169015a303443713a733b84a1d69623d83d20688"}}}
+ :git/sha "4702318e3be76c66e96a2942d4da52a4014c0758"}}}
Step 2: Send Your First Message
The simplest way to use the SDK — about 3 lines of code:
diff --git a/doc/api/github.copilot-sdk.client.html b/doc/api/github.copilot-sdk.client.html
index 113d5cf..c4e9428 100644
--- a/doc/api/github.copilot-sdk.client.html
+++ b/doc/api/github.copilot-sdk.client.html
@@ -20,10 +20,10 @@
Returns {:kind :approve-once}, matching the upstream approveAll permission decision.
For fine-grained control, provide your own handler function instead.
client
(client)(client opts)Create a new CopilotClient.
-Options: - :cli-path - Path to CLI executable (default: “copilot”) - :cli-args - Extra arguments for CLI - :cli-url - URL of existing server (e.g., “localhost:8080”) - :cwd - Working directory for CLI process - :port - TCP port (default: 0 for random) - :use-stdio? - Use stdio transport (default: true) - :log-level - :none :error :warning :info :debug :all - :auto-start? - Auto-start on first use (default: true) - :auto-restart? - DEPRECATED: This option has no effect and will be removed in a future release. - :notification-queue-size - Max queued protocol notifications (default: 4096) - :router-queue-size - Max queued non-session notifications (default: 4096) - :tool-timeout-ms - Timeout for tool calls that return a channel (default: 120000) - :env - Environment variables map - :github-token - GitHub token for authentication (sets COPILOT_SDK_AUTH_TOKEN env var) - :use-logged-in-user? - Whether to use logged-in user auth (default: true, false when github-token provided) - :is-child-process? - When true, SDK is a child of an existing Copilot CLI process and uses stdio to communicate with it (no process spawning) - :on-list-models - Zero-arg fn returning a seq of model info maps; bypasses the RPC call and does not require start! - :telemetry - OpenTelemetry config map with optional keys :otlp-endpoint, :otlp-protocol, :file-path, :exporter-type, :source-name, :capture-content?. :otlp-protocol is “http/json” or “http/protobuf” and sets OTEL_EXPORTER_OTLP_PROTOCOL. - :on-get-trace-context - Zero-arg fn returning {:traceparent … :tracestate …} for distributed trace propagation - :session-idle-timeout-seconds - Server-wide session idle timeout in seconds. When > 0, the SDK appends --session-idle-timeout <n> to the spawned CLI so idle sessions are cleaned up after the given duration. Default: disabled. - :remote? - Experimental. Enable remote session support (Mission Control). When true, the SDK appends --remote to the spawned CLI; sessions in a GitHub repository working directory become accessible from GitHub web and mobile. Ignored when :cli-url is set. (upstream PR #1192) - :mode - Client mode (upstream PR #1428). One of: - :copilot-cli (default) — preserves historical CLI behavior. - :empty — multitenancy hardening for hosts running sessions on behalf of multiple users. Empty mode REQUIRES one of :copilot-home, :session-fs, :cli-url, or :is-child-process? so the runtime has a tenant-scoped storage root. It also forces COPILOT_DISABLE_KEYTAR=1 on the spawned CLI, spreads safe defaults under each session’s config (telemetry off, host-git operations disabled, …), strips the :environment-context section from system messages unless the caller already controls it, and requires every session to specify :available-tools.
+Options: - :cli-path - Path to CLI executable (default: “copilot”) - :cli-args - Extra arguments for CLI - :cli-url - URL of existing server (e.g., “localhost:8080”) - :cwd - Working directory for CLI process - :port - TCP port (default: 0 for random) - :use-stdio? - Use stdio transport (default: true) - :log-level - :none :error :warning :info :debug :all - :auto-start? - Auto-start on first use (default: true) - :auto-restart? - DEPRECATED: This option has no effect and will be removed in a future release. - :notification-queue-size - Max queued protocol notifications (default: 4096) - :router-queue-size - Max queued non-session notifications (default: 4096) - :tool-timeout-ms - Timeout for tool calls that return a channel (default: 120000) - :env - Environment variables map - :github-token - GitHub token for authentication (sets COPILOT_SDK_AUTH_TOKEN env var) - :use-logged-in-user? - Whether to use logged-in user auth (default: true, false when github-token provided) - :is-child-process? - When true, SDK is a child of an existing Copilot CLI process and uses stdio to communicate with it (no process spawning) - :on-list-models - Zero-arg fn returning a seq of model info maps; bypasses the RPC call and does not require start! - :telemetry - OpenTelemetry config map with optional keys :otlp-endpoint, :otlp-protocol, :file-path, :exporter-type, :source-name, :capture-content?. :otlp-protocol is “http/json” or “http/protobuf” and sets OTEL_EXPORTER_OTLP_PROTOCOL. - :on-get-trace-context - Zero-arg fn returning {:traceparent … :tracestate …} for distributed trace propagation - :on-github-telemetry - Experimental / Internal. One-arg fn invoked with each GitHub telemetry notification (upstream PR #1835). Registering a handler opts the connection into enableGitHubTelemetryForwarding on the connect handshake (so the first session’s un-replayable session.start telemetry is forwarded, upstream PR #1909) as well as on session.create and session.resume; the runtime then emits connection-global gitHubTelemetry.event notifications, each passed to this handler. The notification is an idiom-shaped map with keys :session-id, :restricted, and :event; the event’s :properties, :metrics, and :features sub-maps are opaque and preserved verbatim. Not a stable public SDK surface. A throwing handler is caught and logged (WARN) and cannot corrupt dispatch. - :session-idle-timeout-seconds - Server-wide session idle timeout in seconds. When > 0, the SDK appends --session-idle-timeout <n> to the spawned CLI so idle sessions are cleaned up after the given duration. Default: disabled. - :remote? - Experimental. Enable remote session support (Mission Control). When true, the SDK appends --remote to the spawned CLI; sessions in a GitHub repository working directory become accessible from GitHub web and mobile. Ignored when :cli-url is set. (upstream PR #1192) - :mode - Client mode (upstream PR #1428). One of: - :copilot-cli (default) — preserves historical CLI behavior. - :empty — multitenancy hardening for hosts running sessions on behalf of multiple users. Empty mode REQUIRES one of :copilot-home, :session-fs, :cli-url, or :is-child-process? so the runtime has a tenant-scoped storage root. It also forces COPILOT_DISABLE_KEYTAR=1 on the spawned CLI, spreads safe defaults under each session’s config (telemetry off, host-git operations disabled, …), strips the :environment-context section from system messages unless the caller already controls it, and requires every session to specify :available-tools.
connect-with-streams!
(connect-with-streams! client in out)Connect to a server using pre-existing input/output streams. For testing purposes only.
create-session
(create-session client config)Create a new conversation session.
-Config options (:on-permission-request is optional since upstream PR #1308 — omit it to leave permission requests pending for manual resolution via copilot/handle-pending-permission-request!): - :on-permission-request - Permission handler function (optional, e.g. approve-all). When omitted, permission requests are surfaced as :copilot/permission.requested events and remain pending until resolved by the application. - :session-id - Custom session ID - :client-name - Client name to identify the application (included in User-Agent header) - :model - Model to use (e.g., “gpt-5.4”) - :tools - Vector of tool definitions - :commands - Vector of command definitions (slash commands for TUI) - :system-message - System message config - :available-tools - List of allowed tool names - :excluded-tools - List of excluded tool names - :provider - Custom provider config (BYOK) - :streaming? - Enable streaming - :mcp-servers - MCP server configs map - :custom-agents - Custom agent configs - :default-agent - Built-in agent config, e.g. {:excluded-tools “private_tool”} - :config-dir - Override config directory for CLI (configDir) - :skill-directories - Additional skill directories to load - :disabled-skills - Disable specific skills by name - :large-output - (Experimental) Tool output handling config {:enabled :max-size-bytes :output-dir} Note: CLI protocol feature, not in official SDK. outputDir may be ignored. - :working-directory - Working directory for the session (tool operations relative to this) - :infinite-sessions - Infinite session config for automatic context compaction {:enabled (default true) :background-compaction-threshold (0.0-1.0, default 0.80) :buffer-exhaustion-threshold (0.0-1.0, default 0.95)} - :memory - Persistent memory config {:enabled boolean} (upstream PR #1617). Sent on both create and resume; omitted when unset. - :reasoning-effort - Reasoning effort level: “low”, “medium”, “high”, or “xhigh” (PR #302) - :github-token - GitHub token for this session (sent as gitHubToken) - :on-user-input-request - Handler for ask_user requests (PR #269) - :on-elicitation-request - Handler for elicitation requests from the agent (upstream PRs #908, #960). When provided, sends requestElicitation=true and enables the elicitation capability. Single-arg handler receives an ElicitationContext map with :session-id, :message, :requested-schema, :mode, :elicitation-source, :url. Returns an ElicitationResult map. - :on-mcp-auth-request - Handler for interactive MCP OAuth requests (upstream PR #1669). When provided, the SDK registers interest in mcp.oauth_required so the runtime delegates browser-based OAuth to this handler instead of silently using a cached token. The 2-arg handler receives an McpAuthRequest map ({:request-id :server-name :server-url :reason :www-authenticate-params :resource-metadata :static-client-config}) and a context map {:session-id}; it may return a channel. Return a map with :access-token (plus optional :token-type, :expires-in) to answer with a token; return nil, {:kind :cancelled}, or throw to cancel. - :hooks - Lifecycle hooks map (PR #269): {:on-pre-tool-use, :on-pre-mcp-tool-call, :on-post-tool-use, :on-post-tool-use-failure, :on-user-prompt-submitted, :on-session-start, :on-session-end, :on-error-occurred} See doc/reference/API.md for hook input/output shapes. :on-pre-mcp-tool-call (upstream PR #1366) fires before an MCP tool call is dispatched; handler returning {:meta-to-use {...}} replaces the request _meta, {:meta-to-use nil} removes it, and an empty / missing :meta-to-use preserves the existing _meta. :on-post-tool-use-failure (upstream PR #1421) fires after a tool execution whose :result-type was "failure"; :on-post-tool-use only fires for successful results. Handler input has :tool-name, :tool-args, :error (string), plus base hook fields. Optional output: {:additional-context "..."}. - :on-event - Event handler (1-arg fn) registered before the RPC call. Guarantees early events like session.start are not missed. - :enable-config-discovery - Boolean. Auto-discover .mcp.json, .vscode/mcp.json, skills, etc. Instruction files are always loaded regardless. (upstream PR #1044) - :model-capabilities - Model capabilities override map (upstream PR #1029). DeepPartial of model capabilities, e.g. {:model-supports {:supports-vision true}} - :include-sub-agent-streaming-events? - Boolean. When true (default), streaming events from sub-agents are forwarded to this session’s event stream. (upstream PR #1108) - :excluded-builtin-agents - Vector of strings. Names of built-in agents to exclude/hide from the session. Forwarded as excludedBuiltinAgents. (upstream PR #1865) - :enable-citations - Boolean (@experimental). Enable native model citations. Forwarded as enableCitations. (upstream PR #1865) - :session-limits - Map (@experimental). Per-session accounting limits, e.g. {:max-ai-credits 100}. Forwarded as sessionLimits. (upstream PR #1865) - :remote-session - Keyword. Per-session Mission Control remote mode: :off, :export, or :on. Forwarded as remoteSession on session.create. When omitted, the CLI applies its default. (upstream PR #1295, CLI 1.0.48) - :cloud - Map. Creates a remote session in the cloud instead of a local session. Optional :repository associates the cloud session with a GitHub repository: {:repository {:owner "..." :name "..." :branch "..."}}. :branch is optional. Forwarded as cloud on session.create. (upstream PR #1306)
+Config options (:on-permission-request is optional since upstream PR #1308 — omit it to leave permission requests pending for manual resolution via copilot/handle-pending-permission-request!): - :on-permission-request - Permission handler function (optional, e.g. approve-all). When omitted, permission requests are surfaced as :copilot/permission.requested events and remain pending until resolved by the application. - :session-id - Custom session ID - :client-name - Client name to identify the application (included in User-Agent header) - :model - Model to use (e.g., “gpt-5.4”) - :tools - Vector of tool definitions - :commands - Vector of command definitions (slash commands for TUI) - :system-message - System message config - :available-tools - List of allowed tool names - :excluded-tools - List of excluded tool names - :tool-search - Tool discovery config {:enabled :defer-threshold} - :provider - Custom provider config (BYOK) - :streaming? - Enable streaming - :mcp-servers - MCP server configs map - :custom-agents - Custom agent configs - :default-agent - Built-in agent config, e.g. {:excluded-tools “private_tool”} - :config-dir - Override config directory for CLI (configDir) - :skill-directories - Additional skill directories to load - :disabled-skills - Disable specific skills by name - :large-output - (Experimental) Tool output handling config {:enabled :max-size-bytes :output-dir} Note: CLI protocol feature, not in official SDK. outputDir may be ignored. - :working-directory - Working directory for the session (tool operations relative to this) - :infinite-sessions - Infinite session config for automatic context compaction {:enabled (default true) :background-compaction-threshold (0.0-1.0, default 0.80) :buffer-exhaustion-threshold (0.0-1.0, default 0.95)} - :memory - Persistent memory config {:enabled boolean} (upstream PR #1617). Sent on both create and resume; omitted when unset. - :reasoning-effort - Reasoning effort level: “low”, “medium”, “high”, or “xhigh” (PR #302) - :github-token - GitHub token for this session (sent as gitHubToken) - :on-user-input-request - Handler for ask_user requests (PR #269) - :on-elicitation-request - Handler for elicitation requests from the agent (upstream PRs #908, #960). When provided, sends requestElicitation=true and enables the elicitation capability. Single-arg handler receives an ElicitationContext map with :session-id, :message, :requested-schema, :mode, :elicitation-source, :url. Returns an ElicitationResult map. - :on-mcp-auth-request - Handler for interactive MCP OAuth requests (upstream PR #1669). When provided, the SDK registers interest in mcp.oauth_required so the runtime delegates browser-based OAuth to this handler instead of silently using a cached token. The 2-arg handler receives an McpAuthRequest map ({:request-id :server-name :server-url :reason :www-authenticate-params :resource-metadata :static-client-config}) and a context map {:session-id}; it may return a channel. Return a map with :access-token (plus optional :token-type, :expires-in) to answer with a token; return nil, {:kind :cancelled}, or throw to cancel. - :hooks - Lifecycle hooks map (PR #269): {:on-pre-tool-use, :on-pre-mcp-tool-call, :on-post-tool-use, :on-post-tool-use-failure, :on-user-prompt-submitted, :on-session-start, :on-session-end, :on-error-occurred} See doc/reference/API.md for hook input/output shapes. :on-pre-mcp-tool-call (upstream PR #1366) fires before an MCP tool call is dispatched; handler returning {:meta-to-use {...}} replaces the request _meta, {:meta-to-use nil} removes it, and an empty / missing :meta-to-use preserves the existing _meta. :on-post-tool-use-failure (upstream PR #1421) fires after a tool execution whose :result-type was "failure"; :on-post-tool-use only fires for successful results. Handler input has :tool-name, :tool-args, :error (string), plus base hook fields. Optional output: {:additional-context "..."}. - :on-event - Event handler (1-arg fn) registered before the RPC call. Guarantees early events like session.start are not missed. - :enable-config-discovery - Boolean. Auto-discover .mcp.json, .vscode/mcp.json, skills, etc. Instruction files are always loaded regardless. (upstream PR #1044) - :model-capabilities - Model capabilities override map (upstream PR #1029). DeepPartial of model capabilities, e.g. {:model-supports {:supports-vision true}} - :include-sub-agent-streaming-events? - Boolean. When true (default), streaming events from sub-agents are forwarded to this session’s event stream. (upstream PR #1108) - :excluded-builtin-agents - Vector of strings. Names of built-in agents to exclude/hide from the session. Forwarded as excludedBuiltinAgents. (upstream PR #1865) - :enable-citations - Boolean (@experimental). Enable native model citations. Forwarded as enableCitations. (upstream PR #1865) - :session-limits - Map (@experimental). Per-session accounting limits, e.g. {:max-ai-credits 100}. Forwarded as sessionLimits. (upstream PR #1865) - :enable-managed-settings? - Boolean (opt-in). When true, the runtime self-fetches enterprise managed settings (bypass-permissions policy) at session bootstrap using the session’s :github-token, which must be set (the runtime fails closed otherwise). Forwarded verbatim as enableManagedSettings — an explicit false is sent on the wire. (upstream PR #1925) - :canvas-provider - Map {:id "..." :name "..."} (:name optional). Identifies the canvas provider for the session. Forwarded as canvasProvider. (upstream PR #1847) - :remote-session - Keyword. Per-session Mission Control remote mode: :off, :export, or :on. Forwarded as remoteSession on session.create. When omitted, the CLI applies its default. (upstream PR #1295, CLI 1.0.48) - :cloud - Map. Creates a remote session in the cloud instead of a local session. Optional :repository associates the cloud session with a GitHub repository: {:repository {:owner "..." :name "..." :branch "..."}}. :branch is optional. Forwarded as cloud on session.create. (upstream PR #1306)
When `:cloud` is set and no `:session-id` is provided, the server
assigns a sessionId and the SDK registers the session under that
id; the session is registered synchronously before any subsequent
@@ -64,7 +64,7 @@
Config is the same as resume-session. :on-permission-request is optional; when omitted, a default handler is used that returns {:kind :no-result}, leaving any pending permission request unanswered (appropriate for most extensions that use :skip-permission? on their tools or do not require permission handling). The :disable-resume? option defaults to true.
Returns a map with :client and :session keys. The caller is responsible for stopping the client when done.
Throws if SESSION_ID is not set in the environment.
-
list-models
(list-models client)List available models with their metadata. Results are cached per client connection to prevent rate limiting under concurrency. Cache is cleared on stop!/force-stop!. When :on-list-models handler is provided in client options, calls the handler instead of the RPC method. The handler does not require a CLI connection. Requires authentication (unless :on-list-models handler is provided). Returns a vector of model info maps with keys: :id :name :vendor :family :version :max-input-tokens :max-output-tokens :preview? :default-temperature :model-picker-priority :model-picker-category :model-picker-price-category :model-capabilities {:model-supports {:supports-vision :supports-reasoning-effort} :model-limits {:max-prompt-tokens :max-context-window-tokens :vision-capabilities {:supported-media-types :max-prompt-images :max-prompt-image-size}}} :model-policy {:policy-state :terms} :model-billing {:multiplier :token-prices {:input-price :output-price :cache-price :batch-size :context-max :long-context {:input-price :output-price :cache-price :context-max}}} :supported-reasoning-efforts :default-reasoning-effort :supports-reasoning-effort (legacy flat key) :vision-limits {:supported-media-types :max-prompt-images :max-prompt-image-size} (legacy)
+list-models
(list-models client)List available models with their metadata. Results are cached per client connection to prevent rate limiting under concurrency. Cache is cleared on stop!/force-stop!. When :on-list-models handler is provided in client options, calls the handler instead of the RPC method. The handler does not require a CLI connection. Requires authentication (unless :on-list-models handler is provided). Returns a vector of model info maps with keys: :id :name :vendor :family :version :max-input-tokens :max-output-tokens :preview? :default-temperature :model-picker-priority :model-picker-category :model-picker-price-category :model-capabilities {:model-supports {:supports-vision :supports-reasoning-effort} :model-limits {:max-prompt-tokens :max-context-window-tokens :vision-capabilities {:supported-media-types :max-prompt-images :max-prompt-image-size}}} :model-policy {:policy-state :terms} :model-billing {:multiplier :token-prices {:input-price :output-price :cache-price :batch-size :context-max :long-context {:input-price :output-price :cache-price :context-max}} :promo {:ends-at :id :discount-percent :message}} :supported-reasoning-efforts :default-reasoning-effort :supports-reasoning-effort (legacy flat key) :vision-limits {:supported-media-types :max-prompt-images :max-prompt-image-size} (legacy)
list-sessions
(list-sessions client)(list-sessions client filter-opts)List all available sessions. Returns a vector of session metadata maps. Optional filter map narrows results by context fields: {:cwd :git-root :repository :branch}
list-tools
(list-tools client)(list-tools client model)List available tools with their metadata. Optional :model param returns model-specific tool overrides. Returns a vector of tool info maps with keys: :name :namespaced-name :description :parameters :instructions
Experimental: not part of the official Copilot SDK API; the wire RPC (tools.list) is exposed for convenience and may change.
@@ -81,7 +81,7 @@
ping
(ping client)(ping client message)Ping the server to check connectivity. Returns {:message :timestamp :protocol-version}.
:timestamp is either an ISO 8601 date-time string (e.g. “2026-05-21T08:00:00Z”; CLI ≥ 1.0.51, upstream PR #1340) or a numeric epoch-millis value, depending on the CLI version; the SDK forwards whatever the server sends.
resume-session
(resume-session client session-id config)Resume an existing session by ID.
-Config options (:on-permission-request is optional since upstream PR #1308 — omit it to leave permission requests pending for manual resolution via copilot/handle-pending-permission-request!): - :on-permission-request - Permission handler function (optional, e.g. approve-all). When omitted, permission requests are surfaced as :copilot/permission.requested events and remain pending until resolved by the application. - :client-name - Client name to identify the application (included in User-Agent header) - :model - Change the model for the resumed session - :tools - Tools exposed to the CLI server - :system-message - System message configuration {:mode :content} - :available-tools - List of tool names to allow - :excluded-tools - List of tool names to disable - :provider - Custom provider configuration (BYOK) - :streaming? - Enable streaming responses - :mcp-servers - MCP server configurations - :custom-agents - Custom agent configurations - :default-agent - Built-in agent config, e.g. {:excluded-tools “private_tool”} - :config-dir - Override configuration directory - :skill-directories - Directories to load skills from - :disabled-skills - Skills to disable - :infinite-sessions - Infinite session configuration - :memory - Persistent memory config {:enabled boolean} (upstream PR #1617). Parity with create-session; omitted when unset. - :reasoning-effort - Reasoning effort level: “low”, “medium”, “high”, or “xhigh” - :github-token - GitHub token for this session (sent as gitHubToken) - :on-user-input-request - Handler for ask_user requests - :on-elicitation-request - Handler for elicitation requests (upstream PRs #908, #960). Single-arg handler receives an ElicitationContext map with :session-id, :message, :requested-schema, :mode, :elicitation-source, :url. Returns an ElicitationResult map. - :on-mcp-auth-request - Handler for interactive MCP OAuth requests (upstream PR #1669). Same shape as create-session. On resume, interest in mcp.oauth_required is registered before the resume RPC so OAuth needed while the runtime replays state reaches the handler. - :hooks - Lifecycle hooks map - :on-event - Event handler (1-arg fn) registered before the RPC call. Guarantees early events like session.start are not missed. - :enable-config-discovery - Boolean. Auto-discover .mcp.json, skills, etc. (upstream PR #1044) - :model-capabilities - Model capabilities override map (upstream PR #1029). - :include-sub-agent-streaming-events? - Boolean. When true (default), streaming events from sub-agents are forwarded to this session’s event stream. (upstream PR #1108) - :enable-session-telemetry? - Boolean. See create-session (upstream PR #1224). - :excluded-builtin-agents - Vector of strings. See create-session (upstream PR #1865). - :enable-citations - Boolean (@experimental). See create-session (upstream PR #1865). - :session-limits - Map (@experimental). See create-session (upstream PR #1865). - :on-exit-plan-mode - Handler for exitPlanMode.request RPCs. See create-session (upstream PR #1228). - :on-auto-mode-switch - Handler for autoModeSwitch.request RPCs. See create-session (upstream PR #1228).
+Config options (:on-permission-request is optional since upstream PR #1308 — omit it to leave permission requests pending for manual resolution via copilot/handle-pending-permission-request!): - :on-permission-request - Permission handler function (optional, e.g. approve-all). When omitted, permission requests are surfaced as :copilot/permission.requested events and remain pending until resolved by the application. - :client-name - Client name to identify the application (included in User-Agent header) - :model - Change the model for the resumed session - :tools - Tools exposed to the CLI server - :system-message - System message configuration {:mode :content} - :available-tools - List of tool names to allow - :excluded-tools - List of tool names to disable - :tool-search - Tool discovery config {:enabled :defer-threshold} - :provider - Custom provider configuration (BYOK) - :streaming? - Enable streaming responses - :mcp-servers - MCP server configurations - :custom-agents - Custom agent configurations - :default-agent - Built-in agent config, e.g. {:excluded-tools “private_tool”} - :config-dir - Override configuration directory - :skill-directories - Directories to load skills from - :disabled-skills - Skills to disable - :infinite-sessions - Infinite session configuration - :memory - Persistent memory config {:enabled boolean} (upstream PR #1617). Parity with create-session; omitted when unset. - :reasoning-effort - Reasoning effort level: “low”, “medium”, “high”, or “xhigh” - :github-token - GitHub token for this session (sent as gitHubToken) - :on-user-input-request - Handler for ask_user requests - :on-elicitation-request - Handler for elicitation requests (upstream PRs #908, #960). Single-arg handler receives an ElicitationContext map with :session-id, :message, :requested-schema, :mode, :elicitation-source, :url. Returns an ElicitationResult map. - :on-mcp-auth-request - Handler for interactive MCP OAuth requests (upstream PR #1669). Same shape as create-session. On resume, interest in mcp.oauth_required is registered before the resume RPC so OAuth needed while the runtime replays state reaches the handler. - :hooks - Lifecycle hooks map - :on-event - Event handler (1-arg fn) registered before the RPC call. Guarantees early events like session.start are not missed. - :enable-config-discovery - Boolean. Auto-discover .mcp.json, skills, etc. (upstream PR #1044) - :model-capabilities - Model capabilities override map (upstream PR #1029). - :include-sub-agent-streaming-events? - Boolean. When true (default), streaming events from sub-agents are forwarded to this session’s event stream. (upstream PR #1108) - :enable-session-telemetry? - Boolean. See create-session (upstream PR #1224). - :excluded-builtin-agents - Vector of strings. See create-session (upstream PR #1865). - :enable-citations - Boolean (@experimental). See create-session (upstream PR #1865). - :session-limits - Map (@experimental). See create-session (upstream PR #1865). - :enable-managed-settings? - Boolean. See create-session (upstream PR #1925). - :canvas-provider - Map {:id .. :name ..}. See create-session (upstream PR #1847). - :on-exit-plan-mode - Handler for exitPlanMode.request RPCs. See create-session (upstream PR #1228). - :on-auto-mode-switch - Handler for autoModeSwitch.request RPCs. See create-session (upstream PR #1228).
Returns a CopilotSession.
set-foreground-session-id!
(set-foreground-session-id! client session-id)Set the foreground session (TUI+server mode). Requests the TUI to switch to displaying the specified session.
start!
(start! client)Start the CLI server and establish connection. Blocks until connected or throws on error.
diff --git a/doc/api/github.copilot-sdk.helpers.html b/doc/api/github.copilot-sdk.helpers.html
index 7f37eba..53b5343 100644
--- a/doc/api/github.copilot-sdk.helpers.html
+++ b/doc/api/github.copilot-sdk.helpers.html
@@ -36,8 +36,9 @@ Options
Returns a channel that yields event maps. The channel closes when the session becomes idle or errors.
Examples: (let ch (query-chan “Tell me a story” :session {:on-permission-request copilot/approve-all :streaming? true}) (go-loop [] (when-let event (<! ch) (when (= :copilot/assistant.message_delta (:type event)) (print (get-in event :data :delta-content))) (recur))))
-query-seq!
(query-seq! prompt & {:keys [client session max-events], :or {max-events 256}})Execute a query and return a lazy sequence of events with guaranteed cleanup.
-This variant limits consumption and ensures the session is disconnected even if the consumer stops early.
+query-seq!
(query-seq! prompt & {:keys [client session max-events], :or {max-events 256}})Execute a query and return a bounded lazy sequence of events.
+Cleanup (session disconnect) happens only when the sequence is realized all the way to the end of the event stream: either a :copilot/session.idle / :copilot/session.error event, or the events channel closing — detected when the next read yields nil (the end-of-stream sentinel, not an emitted event). Consuming the whole seq to its natural end releases the session and its event tap.
+WARNING: cleanup is tied to reaching that end of stream, so a consumer that abandons the seq before it reaches a terminal event leaks the session and its event tap. For example (first (query-seq! ...)) or (take 1 (query-seq! ...)) realize just one element: they leak unless that first element already happens to be a terminal :copilot/session.idle / :copilot/session.error event (realizing the terminal event runs cleanup). The :max-events bound only caps how many events are yielded — it is not a cleanup guarantee; hitting a positive bound before a terminal event still leaks the session (the sole exception is :max-events 0, which disconnects immediately without emitting anything). Only use query-seq! when you will consume the sequence to its natural end. If you may stop early, prefer query-chan (explicit lifecycle — safe to stop early provided you close the returned channel) or query (single response, deterministic cleanup).
Keyword options: :client - Client options map :session - Session options map :max-events - Maximum number of events to emit (default: 256)
Returns a lazy sequence of at most :max-events events.
shutdown!
(shutdown!)Shutdown the shared client. Call for clean exit. Safe to call multiple times or when no client exists.
diff --git a/doc/api/github.copilot-sdk.html b/doc/api/github.copilot-sdk.html
index 46f14e2..4a6ac24 100644
--- a/doc/api/github.copilot-sdk.html
+++ b/doc/api/github.copilot-sdk.html
@@ -57,7 +57,7 @@
(println (get-in event [:data :content]))))
abort!
(abort! session)Abort the currently processing message in this session.
-approve-all
Permission handler that approves all requests with {:kind :approve-once}. See github.copilot-sdk.client/approve-all.
+approve-all
(approve-all request ctx)Permission handler that approves all requests with {:kind :approve-once}. See github.copilot-sdk.client/approve-all.
assistant-events
Assistant response events.
capabilities
(capabilities session)Get the host capabilities reported when the session was created or resumed. Returns a map, e.g. {:ui {:elicitation true}}.
Example:
@@ -82,7 +82,7 @@
convert-mcp-call-tool-result
(convert-mcp-call-tool-result result)Convert an MCP CallToolResult into the SDK’s ToolResultObject format. See github.copilot-sdk.tools/convert-mcp-call-tool-result.
create-session
(create-session client config)Create a new conversation session.
-:on-permission-request is optional (since upstream PR #1308) — omit it to leave permission requests pending for manual resolution via handle-pending-permission-request!. Commonly-used config options: - :on-permission-request - Permission handler function (optional, e.g. approve-all). When omitted, permission requests surface as :copilot/permission.requested events and stay pending. - :session-id - Custom session ID - :model - Model to use (e.g., “gpt-5.4”, “claude-sonnet-4.5”) - :tools - Vector of tool definitions (use define-tool) - :system-message - {:mode :append/:replace :content “…”} - :available-tools - List of allowed tool names - :excluded-tools - List of excluded tool names - :provider - Custom provider config (BYOK) - :streaming? - Enable streaming deltas - :mcp-servers - MCP server configs map (keyed by server ID) - :custom-agents - Custom agent configs - :default-agent - Built-in agent config, e.g. {:excluded-tools “private_tool”} - :skill-directories - Additional skill directories to load - :disabled-skills - Disable specific skills by name - :working-directory - Working directory for the session (tool operations relative to this)
+:on-permission-request is optional (since upstream PR #1308) — omit it to leave permission requests pending for manual resolution via handle-pending-permission-request!. Commonly-used config options: - :on-permission-request - Permission handler function (optional, e.g. approve-all). When omitted, permission requests surface as :copilot/permission.requested events and stay pending. - :session-id - Custom session ID - :model - Model to use (e.g., “gpt-5.4”, “claude-sonnet-4.5”) - :tools - Vector of tool definitions (use define-tool) - :system-message - {:mode :append/:replace :content “…”} - :available-tools - List of allowed tool names - :excluded-tools - List of excluded tool names - :tool-search - Tool discovery config {:enabled :defer-threshold} - :provider - Custom provider config (BYOK) - :streaming? - Enable streaming deltas - :mcp-servers - MCP server configs map (keyed by server ID) - :custom-agents - Custom agent configs - :default-agent - Built-in agent config, e.g. {:excluded-tools “private_tool”} - :skill-directories - Additional skill directories to load - :disabled-skills - Disable specific skills by name - :working-directory - Working directory for the session (tool operations relative to this)
See the API reference (doc/reference/API.md in this repository) for the complete, current option list (including observability/telemetry, trace context, exit-plan-mode / auto-mode-switch handlers, skills, plugins, remote, and cloud session options).
Example:
(def session (copilot/create-session client {:on-permission-request copilot/approve-all
@@ -97,10 +97,11 @@
;; implement the remaining sessionFs operations...
})
-default-join-session-permission-handler
Default permission handler for resuming sessions. Returns {:kind :no-result} — the CLI handles permissions itself. When used with resume-session, sends requestPermission: false on the wire. See github.copilot-sdk.client/default-join-session-permission-handler.
+default-join-session-permission-handler
(default-join-session-permission-handler request ctx)Default permission handler for resuming sessions. Returns {:kind :no-result} — the CLI handles permissions itself. When used with resume-session, sends requestPermission: false on the wire. See github.copilot-sdk.client/default-join-session-permission-handler.
define-tool
(define-tool name opts)Define a tool with a handler function.
-Arguments: - name - Tool name (string) - opts map: - :description - Tool description - :parameters - JSON schema for parameters - :handler - Function (fn args invocation -> result) - :overrides-built-in-tool - When true, overrides a built-in tool of the same name - :defer - :auto or :never (upstream PR #1632). When :auto the tool may be deferred (loaded lazily via tool search); :never forces pre-loading. Defaults to :auto.
-The handler receives: - args - The parsed arguments from the LLM - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments
+Arguments: - name - Tool name (string) - opts map: - :description - Tool description - :parameters - JSON schema for parameters - :handler - Function (fn args invocation -> result) - :overrides-built-in-tool - When true, overrides a built-in tool of the same name - :defer - :auto or :never (upstream PR #1632). When :auto the tool may be deferred (loaded lazily via tool search); :never forces pre-loading. Defaults to :auto. - :metadata - Opaque host-defined map forwarded to the runtime
+The handler receives: - args - The parsed arguments from the LLM - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments, and optional :available-tools for tool_search_tool
+Return a string, or a tool result map with :text-result-for-llm, :result-type, and optional :tool-references.
Returns: a tool definition map
Example:
(def weather-tool
@@ -219,7 +220,7 @@
(copilot/stop! client))
list-models
(list-models client)List available models with their metadata. Requires authentication.
-Returns a vector of model info maps with keys: :id :name :vendor :family :version :max-input-tokens :max-output-tokens :preview? :default-temperature :model-picker-priority :model-policy :vision-limits {:supported-media-types :max-prompt-images :max-prompt-image-size}
+Returns a vector of model info maps with keys: :id :name :vendor :family :version :max-input-tokens :max-output-tokens :preview? :default-temperature :model-picker-priority :model-policy :model-billing {:multiplier :token-prices :promo {:ends-at :id :discount-percent :message}} :vision-limits {:supported-media-types :max-prompt-images :max-prompt-image-size}
Example:
(doseq [model (copilot/list-models client)]
(println (:name model) "-" (:id model)))
@@ -266,7 +267,7 @@
(unsub)
open-canvases
(open-canvases session)Get the current open-canvases snapshot for session. Returns a vector of canvas-instance maps. The snapshot is initialized from session.resume and updated by :copilot/session.canvas.opened / :copilot/session.canvas.closed events. session.create does NOT populate it (matches upstream Node.js).
-Each entry has required keys :instance-id, :extension-id, :canvas-id and optional :extension-name, :title, :status, :url, :input.
+Each entry has required keys :instance-id, :extension-id, :canvas-id and optional :extension-name, :icon, :title, :status, :url, :input.
Example:
(copilot/open-canvases session)
;; => [{:instance-id "i1" :canvas-id "diff" :extension-id "ext.x"
diff --git a/doc/api/github.copilot-sdk.session.html b/doc/api/github.copilot-sdk.session.html
index 2343aff..1d05645 100644
--- a/doc/api/github.copilot-sdk.session.html
+++ b/doc/api/github.copilot-sdk.session.html
@@ -89,7 +89,7 @@
mcp-reload!
(mcp-reload! session)Reload all MCP servers.
mode-get
(mode-get session)Get the current agent mode for the session. Returns a map with :mode (“interactive”, “plan”, or “autopilot”).
mode-set!
(mode-set! session mode)Set the agent mode for the session. mode should be “interactive”, “plan”, or “autopilot”.
-open-canvases
(open-canvases session)Get the current open-canvases snapshot for session. Returns a vector of canvas-instance maps (each with :instance-id, :extension-id, :canvas-id, plus optional :extension-name, :title, :status, :url, :input). The snapshot is initialized from session.resume and updated by session.canvas.opened / session.canvas.closed events. session.create does NOT populate it (matches upstream Node.js behavior).
+open-canvases
(open-canvases session)Get the current open-canvases snapshot for session. Returns a vector of canvas-instance maps (each with :instance-id, :extension-id, :canvas-id, plus optional :extension-name, :icon, :title, :status, :url, :input). The snapshot is initialized from session.resume and updated by session.canvas.opened / session.canvas.closed events. session.create does NOT populate it (matches upstream Node.js behavior).
plan-delete!
(plan-delete! session)Delete the plan file for the session.
plan-read
(plan-read session)Read the plan file for the session. Returns a map with :exists? (boolean), :content (string or nil), and :file-path (string or nil).
plan-update!
(plan-update! session content)Update the plan file content for the session.
diff --git a/doc/api/github.copilot-sdk.tools.html b/doc/api/github.copilot-sdk.tools.html
index 4275c3a..c839494 100644
--- a/doc/api/github.copilot-sdk.tools.html
+++ b/doc/api/github.copilot-sdk.tools.html
@@ -5,10 +5,10 @@
The input map should have Clojure-idiomatic keys: - :content - vector of content blocks, each with :type and type-specific fields - :is-error - optional boolean, when true the result-type is “failure”
Content block types: - {:type “text” :text “…”} - {:type “image” :data “base64…” :mime-type “image/png”} - {:type “resource” :resource {:uri “…” :text “…” :blob “…” :mime-type “…”}}
Returns a ToolResultObject map with :text-result-for-llm, :result-type, and optionally :binary-results-for-llm.
-define-tool
(define-tool name {:keys [description parameters handler overrides-built-in-tool defer]})Define a tool the CLI server can call during a session.
-Arguments: - name - Tool name (string) - opts map: - :description - Tool description - :parameters - JSON schema for parameters (or nil) - :handler - Function (fn args invocation -> result). Optional since upstream PR #1308: when omitted, the tool is declaration-only and the runtime emits a :copilot/external_tool.requested event whenever the LLM calls it. Applications resolve the pending call by reading the :request-id from the event data and calling copilot/handle-pending-tool-call! (or the async copilot/<handle-pending-tool-call!). - :overrides-built-in-tool - When true, explicitly overrides a built-in tool of the same name. Without this flag, name clashes with built-in tools cause an error. - :defer - :auto or :never (upstream PR #1632). Controls whether the tool may be deferred (loaded lazily via tool search) rather than always pre-loaded. :auto allows deferral; :never forces pre-loading. Defaults to :auto.
-The handler (when provided) receives: - args - The parsed arguments from the LLM (no key conversion) - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments
-The handler should return one of: - A string (treated as success) - A map with :text-result-for-llm and :result-type - Any other value (JSON-encoded as success) - A core.async channel that will yield one of the above
+define-tool
(define-tool name {:keys [description parameters handler overrides-built-in-tool defer metadata]})Define a tool the CLI server can call during a session.
+Arguments: - name - Tool name (string) - opts map: - :description - Tool description - :parameters - JSON schema for parameters (or nil) - :handler - Function (fn args invocation -> result). Optional since upstream PR #1308: when omitted, the tool is declaration-only and the runtime emits a :copilot/external_tool.requested event whenever the LLM calls it. Applications resolve the pending call by reading the :request-id from the event data and calling copilot/handle-pending-tool-call! (or the async copilot/<handle-pending-tool-call!). - :overrides-built-in-tool - When true, explicitly overrides a built-in tool of the same name. Without this flag, name clashes with built-in tools cause an error. - :defer - :auto or :never (upstream PR #1632). Controls whether the tool may be deferred (loaded lazily via tool search) rather than always pre-loaded. :auto allows deferral; :never forces pre-loading. Defaults to :auto. - :metadata - Opaque host-defined map forwarded to the runtime.
+The handler (when provided) receives: - args - The parsed arguments from the LLM (no key conversion) - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments, and optional :available-tools current-tool metadata maps for tool_search_tool. Each metadata map has :name, :description, and optional :namespaced-name, :mcp-server-name, :mcp-tool-name, :input-schema, :defer-loading.
+The handler should return one of: - A string (treated as success) - A map with :text-result-for-llm, :result-type, and optional :tool-references naming tools returned by a tool-search implementation - Any other value (JSON-encoded as success) - A core.async channel that will yield one of the above
Example (with handler):
(define-tool "get_weather"
{:description "Get weather for a location"
@@ -26,9 +26,9 @@
;; Listen for :copilot/external_tool.requested events and resolve via
;; (copilot/handle-pending-tool-call! session {:request-id ... :result ...})
-define-tool-from-spec
(define-tool-from-spec name {:keys [description spec handler overrides-built-in-tool defer]})Define a tool using a clojure.spec for parameter validation.
+define-tool-from-spec
(define-tool-from-spec name {:keys [description spec handler overrides-built-in-tool defer metadata]})Define a tool using a clojure.spec for parameter validation.
Parameters are validated against the spec at invocation time. Note: the spec is NOT auto-converted to JSON schema, so this tool has no parameter schema advertised to the model. For tools that need a parameter schema, use define-tool with an explicit JSON schema.
-Arguments: - name - Tool name (string) - opts map: - :description - Tool description - :spec - A clojure.spec for the arguments - :handler - Function (fn args invocation -> result). Optional since upstream PR #1308: when omitted, no :tool-handler is installed and the tool is declaration-only. The runtime emits a :copilot/external_tool.requested event on call; applications resolve it via copilot/handle-pending-tool-call! (or copilot/<handle-pending-tool-call!). Note: when :handler is omitted, the :spec is also not used (no automatic validation occurs in the declaration-only path). - :overrides-built-in-tool - When true, overrides a built-in tool of the same name - :defer - :auto or :never (upstream PR #1632). When :auto the tool may be deferred (loaded lazily via tool search); :never forces pre-loading. Defaults to :auto.
+Arguments: - name - Tool name (string) - opts map: - :description - Tool description - :spec - A clojure.spec for the arguments - :handler - Function (fn args invocation -> result). Optional since upstream PR #1308: when omitted, no :tool-handler is installed and the tool is declaration-only. The runtime emits a :copilot/external_tool.requested event on call; applications resolve it via copilot/handle-pending-tool-call! (or copilot/<handle-pending-tool-call!). Note: when :handler is omitted, the :spec is also not used (no automatic validation occurs in the declaration-only path). - :overrides-built-in-tool - When true, overrides a built-in tool of the same name - :defer - :auto or :never (upstream PR #1632). When :auto the tool may be deferred (loaded lazily via tool search); :never forces pre-loading. Defaults to :auto. - :metadata - Opaque host-defined map forwarded to the runtime.
Example (with handler):
(s/def ::location string?)
(s/def ::get-weather-args (s/keys :req-un [::location]))
diff --git a/doc/reference/API.md b/doc/reference/API.md
index a724eb3..56731a6 100644
--- a/doc/reference/API.md
+++ b/doc/reference/API.md
@@ -278,6 +278,7 @@ Create a client and session together, ensuring both are cleaned up on exit.
| `:system-message` | map | System message customization (see below) |
| `:available-tools` | vector | List of allowed tool names |
| `:excluded-tools` | vector | List of excluded tool names |
+| `:tool-search` | map | Configure runtime tool search for `create-session`, `resume-session`, and `join-session`. Optional keys: `:enabled` (boolean) and `:defer-threshold` (integer). This session-level configuration is distinct from a tool definition's `:defer` policy; omit it to use runtime defaults. |
| `:provider` | map | Provider config for BYOK (see [BYOK docs](../auth/byok.md)). Required key: `:base-url`. Optional: `:provider-type` (`:openai`/`:azure`/`:anthropic`), `:wire-api` (`:completions`/`:responses`), `:api-key`, `:bearer-token`, `:azure-options`, `:headers` (map of HTTP header name→value, sent with each provider request — upstream PR #1094), `:model-id` (string — the model identifier to send to the provider; overrides session `:model`), `:wire-model` (string — model name as sent on the provider wire when it differs from `:model-id`), `:max-input-tokens` (integer — input/prompt token cap; serialized as wire `maxPromptTokens`), `:max-output-tokens` (integer — output token cap), `:transport` (`:http`/`:websockets` — provider transport; serialized as wire `transport` — upstream PR #1711), `:bearer-token-provider` (fn — dynamic bearer-token callback, see [BYOK docs](../auth/byok.md#dynamic-bearer-tokens) — upstream PR #1748). The four override fields were added in upstream PR #966 |
| `:providers` | vector | (Experimental) Multi-provider BYOK registry — a vector of named providers. Each entry takes the connection fields of `:provider` — `:base-url` (required), `:provider-type`, `:wire-api`, `:api-key`, `:bearer-token`, `:azure-options`, `:headers`, `:bearer-token-provider` — plus a required `:name` (the registry key, no `/`). Unlike the singular `:provider`, a named provider does **not** accept `:transport` or the inline model-override fields (`:model-id`, `:wire-model`, `:max-input-tokens`, `:max-output-tokens`); model overrides are declared in `:models` instead. Pairs with `:models` to declare a model catalog. Cannot be combined with the singular `:provider`. (upstream PR #1718) |
| `:models` | vector | (Experimental) Model catalog referencing the `:providers` registry. Each entry: `:id` (required, provider-local model id), `:provider` (required, a `:name` in `:providers`), and optional override fields (`:model-id`, `:wire-model`, `:capabilities`, `:max-input-tokens`, `:max-context-window-tokens`, `:max-output-tokens`). The full model selection id is `"providerName/id"`. Cannot be combined with the singular `:provider`. (upstream PR #1718) |
@@ -334,7 +335,7 @@ Create a client and session together, ensuring both are cleaned up on exit.
| `:custom-agents-local-only` | boolean | Restrict custom-agent loading to caller-supplied configs only (no on-disk discovery). Forwarded via `session.options.update`. Defaulted to `true` in `:empty` mode. (upstream PR #1428) |
| `:coauthor-enabled` | boolean | Add a Copilot Co-authored-by trailer to commits made by the CLI. Forwarded via `session.options.update`. Defaulted to `false` in `:empty` mode. (upstream PR #1428) |
| `:manage-schedule-enabled` | boolean | Enable the built-in schedule-management tools. Forwarded via `session.options.update`. Defaulted to `false` in `:empty` mode. (upstream PR #1428) |
-| `:open-canvases` | vector | (resume-session / join-session only) Seed the open-canvases snapshot when reconnecting. Each entry: `{:instance-id ... :extension-id ... :canvas-id ... :reopen bool :availability "ready"\|"stale" :extension-name? ... :title? ... :status? ... :url? ... :input? {...}}`. Caller-defined `:input` keys are preserved verbatim through wire conversion (no kebab→camel re-casing). See [`open-canvases`](#open-canvases). (upstream PR #1604) |
+| `:open-canvases` | vector | (resume-session / join-session only) Seed the open-canvases snapshot when reconnecting. Each entry requires `:instance-id`, `:extension-id`, and `:canvas-id`; optional keys are `:extension-name`, `:title`, `:status`, `:url`, `:input`, and `:icon` (a host-local PNG path). Caller-defined `:input` keys are preserved verbatim through wire conversion (no kebab→camel re-casing). See [`open-canvases`](#open-canvases). ([upstream PR #1604](https://github.com/github/copilot-sdk/pull/1604)) |
| `:memory` | map | Persistent-memory configuration. Shape: `{:enabled boolean}`. Sent on **both** `session.create` and `session.resume`; omitted entirely when the key is absent (never wire `null`). Wire-encoded as `memory`. In `:mode :empty` it is defaulted to `{:enabled false}` (caller can override). (upstream [PR #1617](https://github.com/github/copilot-sdk/pull/1617)) |
#### `resume-session`
@@ -496,13 +497,15 @@ Requires authentication (unless `:on-list-models` is provided). Returns a vector
:model-policy {:policy-state "enabled"
:terms "..."}
:model-billing {:multiplier 1.0
- ;; Per-token prices (upstream PR #1633), present when the
- ;; model reports them; keys are optional:
:token-prices {:input-price 0.00000125
:output-price 0.00001
:cache-price 0.0000003125
:long-context {:input-price 0.0000025
- :output-price 0.00002}}}
+ :output-price 0.00002}}
+ :promo {:ends-at "2026-08-01T00:00:00Z"
+ :id "summer-promo"
+ :discount-percent 25
+ :message "25% off until August"}}
;; Model picker categorization (CLI 1.0.46+):
:model-picker-category "powerful" ;; "lightweight" | "versatile" | "powerful"
:model-picker-price-category "very_high" ;; "low" | "medium" | "high" | "very_high"
@@ -512,6 +515,15 @@ Requires authentication (unless `:on-list-models` is provided). Returns a vector
...]
```
+The optional `:promo` billing map contains:
+
+| Key | Type | Required | Description |
+|-----|------|----------|-------------|
+| `:ends-at` | string | yes | Promotion end time |
+| `:id` | string | no | Promotion identifier |
+| `:discount-percent` | number from 0 through 100 | no | Percentage discount |
+| `:message` | string | no | Display message |
+
List all models with their billing multiplier:
```clojure
@@ -1343,7 +1355,7 @@ Get the host capabilities map reported when the session was created or resumed.
```clojure
(copilot/open-canvases session)
;; => [{:instance-id "i1" :canvas-id "diff" :extension-id "ext.x"
-;; :reopen false :availability "ready"}]
+;; :icon "/tmp/diff.png"}]
```
Get the current open-canvases snapshot for `session`. Returns a vector of
@@ -1352,11 +1364,10 @@ updated by `:copilot/session.canvas.opened` / `:copilot/session.canvas.closed`
events. `session.create` does NOT populate it (matches upstream Node.js).
Each entry has required keys `:instance-id`, `:extension-id`, `:canvas-id`,
-`:reopen`, `:availability` and optional `:extension-name`, `:title`,
-`:status`, `:url`, `:input`. Closing an instance that's not in the snapshot is a
-silent no-op (idempotent); malformed payloads (missing required field, wrong
-type, or invalid `:availability`) log a warning and leave the snapshot
-unchanged — matches upstream `isOpenCanvasInstance` strictness.
+and optional `:extension-name`, `:title`, `:status`, `:url`, `:input`, and
+`:icon` (a host-local PNG path). Closing an instance that's not in the snapshot
+is a silent no-op (idempotent); malformed payloads (missing required field or
+wrong type) log a warning and leave the snapshot unchanged.
The `:input` map (caller-defined opaque data on each canvas) is preserved
verbatim through wire conversion. Keys you receive (e.g. via the canvas
@@ -1979,9 +1990,12 @@ so the ordering between allow and deny lists is deterministic.
Let the CLI call back into your process when the model needs capabilities you provide:
```clojure
+(require '[github.copilot-sdk :as copilot])
+
(def lookup-tool
(copilot/define-tool "lookup_issue"
{:description "Fetch issue details from our tracker"
+ :metadata {:owner "issues-team"}
:parameters {:type "object"
:properties {:id {:type "string"
:description "Issue identifier"}}
@@ -1998,6 +2012,47 @@ Let the CLI call back into your process when the model needs capabilities you pr
When Copilot invokes `lookup_issue`, the SDK automatically runs your handler and responds to the CLI.
+Both `define-tool` and `define-tool-from-spec` accept these common options:
+
+| Key | Type | Default | Description |
+|-----|------|---------|-------------|
+| `:defer` | `:auto` or `:never` | runtime default | Per-tool lazy-loading policy; distinct from session `:tool-search` configuration |
+| `:description` | string or `nil` | `nil` | Human-readable tool description |
+| `:handler` | fn | `nil` | Two-argument function receiving parsed arguments and the invocation map |
+| `:metadata` | map | `nil` | Opaque host-defined metadata forwarded with the tool definition. An explicit `{}` is preserved; `nil` or an absent key is omitted |
+| `:overrides-built-in-tool` | boolean | `nil` | Allow this definition to replace a built-in tool with the same name |
+
+Use `:parameters` with `define-tool` or `:spec` with `define-tool-from-spec`.
+Metadata is not interpreted. String keys preserve their exact spelling; keyword
+keys follow the SDK's normal kebab-case to camelCase wire conversion.
+
+The handler invocation map contains:
+
+| Key | Type | Required | Description |
+|-----|------|----------|-------------|
+| `:session-id` | string | yes | Session identifier |
+| `:tool-call-id` | string | yes | Tool call identifier |
+| `:tool-name` | string | yes | Invoked tool name |
+| `:arguments` | any | yes | Parsed arguments, without key conversion |
+| `:available-tools` | vector | no | Current tool metadata snapshot, provided only to the `tool_search_tool` handler |
+| `:traceparent` | string | no | W3C trace parent |
+| `:tracestate` | string | no | W3C trace state |
+
+Each `:available-tools` entry contains:
+
+| Key | Type | Required | Description |
+|-----|------|----------|-------------|
+| `:name` | string | yes | Tool name |
+| `:description` | string | yes | Human-readable description |
+| `:namespaced-name` | string | no | Fully qualified tool name |
+| `:mcp-server-name` | string | no | MCP server name |
+| `:mcp-tool-name` | string | no | MCP tool name |
+| `:input-schema` | map | no | Tool input JSON Schema |
+| `:defer-loading` | boolean | no | Whether the runtime deferred loading the tool |
+
+Failure to fetch the current metadata snapshot does not fail the tool call. The
+SDK invokes `tool_search_tool` without `:available-tools` instead.
+
**Declaration-only tools (manual resolution):**
The `:handler` key is **optional** (upstream PR #1308). When omitted, the SDK does not auto-respond to tool calls — the call surfaces as a `:copilot/external_tool.requested` event with a pending request id, and the application resolves it later via `handle-pending-tool-call!`. Useful for human-in-the-loop UIs or out-of-process tool execution.
@@ -2055,6 +2110,18 @@ The keyword is converted to the wire string (`:auto` -> `"auto"`, `:never` -> `"
| Map with `:result-type` | Full control over result metadata |
| core.async channel | Async result (yields string or map) |
+Object tool results contain:
+
+| Key | Type | Required | Description |
+|-----|------|----------|-------------|
+| `:text-result-for-llm` | string | yes | Text returned to the model |
+| `:result-type` | keyword or string | yes | One of `success`, `failure`, `rejected`, `denied`, or `timeout` |
+| `:binary-results-for-llm` | vector | no | Binary image or resource results |
+| `:error` | string | no | Error details |
+| `:session-log` | string | no | Session log text |
+| `:tool-telemetry` | map | no | Tool telemetry fields |
+| `:tool-references` | collection of strings | no | Tool names referenced by the result |
+
**Result helpers:**
```clojure
diff --git a/resources/github/copilot_sdk/api_surface.edn b/resources/github/copilot_sdk/api_surface.edn
index 8b885eb..4215850 100644
--- a/resources/github/copilot_sdk/api_surface.edn
+++ b/resources/github/copilot_sdk/api_surface.edn
@@ -180,6 +180,8 @@
:github.copilot-sdk.specs/create-session-fs-handler
:github.copilot-sdk.specs/cron
:github.copilot-sdk.specs/current-model
+ :github.copilot-sdk.specs/current-tool-metadata
+ :github.copilot-sdk.specs/current-tool-metadata-list
:github.copilot-sdk.specs/custom-agent
:github.copilot-sdk.specs/custom-agent-info
:github.copilot-sdk.specs/custom-agents
@@ -189,11 +191,13 @@
:github.copilot-sdk.specs/default-agent
:github.copilot-sdk.specs/default-reasoning-effort
:github.copilot-sdk.specs/defer
+ :github.copilot-sdk.specs/defer-threshold
:github.copilot-sdk.specs/delta-content
:github.copilot-sdk.specs/description
:github.copilot-sdk.specs/detached-from-spawning-parent-session-id
:github.copilot-sdk.specs/disable-resume?
:github.copilot-sdk.specs/disabled-skills
+ :github.copilot-sdk.specs/discount-percent
:github.copilot-sdk.specs/display-name
:github.copilot-sdk.specs/display-prompt
:github.copilot-sdk.specs/duration
@@ -220,6 +224,7 @@
:github.copilot-sdk.specs/enabled
:github.copilot-sdk.specs/encrypted-content
:github.copilot-sdk.specs/end
+ :github.copilot-sdk.specs/ends-at
:github.copilot-sdk.specs/entitlement-requests
:github.copilot-sdk.specs/env
:github.copilot-sdk.specs/ephemeral?
@@ -267,6 +272,7 @@
:github.copilot-sdk.specs/hooks
:github.copilot-sdk.specs/host
:github.copilot-sdk.specs/host-type
+ :github.copilot-sdk.specs/icon
:github.copilot-sdk.specs/id
:github.copilot-sdk.specs/inbound-attachment
:github.copilot-sdk.specs/inbound-attachments
@@ -339,6 +345,7 @@
:github.copilot-sdk.specs/memory-reason
:github.copilot-sdk.specs/message
:github.copilot-sdk.specs/message-id
+ :github.copilot-sdk.specs/metadata
:github.copilot-sdk.specs/metrics
:github.copilot-sdk.specs/mime-type
:github.copilot-sdk.specs/min-length
@@ -346,6 +353,7 @@
:github.copilot-sdk.specs/mode
:github.copilot-sdk.specs/model
:github.copilot-sdk.specs/model-billing
+ :github.copilot-sdk.specs/model-billing-promo
:github.copilot-sdk.specs/model-capabilities
:github.copilot-sdk.specs/model-id
:github.copilot-sdk.specs/model-info
@@ -422,6 +430,7 @@
:github.copilot-sdk.specs/previous-model
:github.copilot-sdk.specs/previous-reasoning-effort
:github.copilot-sdk.specs/progress-message
+ :github.copilot-sdk.specs/promo
:github.copilot-sdk.specs/prompt
:github.copilot-sdk.specs/properties
:github.copilot-sdk.specs/protocol-version
@@ -578,10 +587,13 @@
:github.copilot-sdk.specs/tool-description
:github.copilot-sdk.specs/tool-handler
:github.copilot-sdk.specs/tool-info-entry
+ :github.copilot-sdk.specs/tool-invocation
:github.copilot-sdk.specs/tool-name
:github.copilot-sdk.specs/tool-parameters
+ :github.copilot-sdk.specs/tool-references
:github.copilot-sdk.specs/tool-result
:github.copilot-sdk.specs/tool-result-object
+ :github.copilot-sdk.specs/tool-search
:github.copilot-sdk.specs/tool-telemetry
:github.copilot-sdk.specs/tool-timeout-ms
:github.copilot-sdk.specs/tool.execution_complete-data
diff --git a/schemas/README.md b/schemas/README.md
index 240a7ed..ba56f8b 100644
--- a/schemas/README.md
+++ b/schemas/README.md
@@ -4,4 +4,4 @@ These files are fetched verbatim from the `@github/copilot-linux-x64` npm packag
**Do not edit by hand.** To update, run `bb schemas:fetch` after bumping `.copilot-schema-version`.
-Currently pinned version: `1.0.70`
+Currently pinned version: `1.0.71-2`
diff --git a/schemas/api.schema.json b/schemas/api.schema.json
index 82b9e37..6686836 100644
--- a/schemas/api.schema.json
+++ b/schemas/api.schema.json
@@ -337,7 +337,7 @@
"description": "Registers a new marketplace from a source (owner/repo, URL, or local path).",
"params": {
"$ref": "#/definitions/PluginsMarketplacesAddRequest",
- "description": "Marketplace source to register."
+ "description": "Marketplace source and optional working directory for relative-path resolution."
},
"result": {
"$ref": "#/definitions/MarketplaceAddResult",
@@ -3497,8 +3497,7 @@
"apps": {
"readResource": {
"rpcMethod": "session.mcp.apps.readResource",
- "description": "Deprecated/obsolete alias for `session.mcp.resources.read`; retained for backwards compatibility with earlier MCP Apps host integrations.",
- "deprecated": true,
+ "description": "Fetch an MCP resource (typically a `ui://` MCP App bundle, per SEP-1865) from a connected server. Requires the `mcp-apps` session capability.",
"params": {
"type": "object",
"properties": {
@@ -3514,7 +3513,7 @@
},
"uri": {
"type": "string",
- "description": "Resource URI"
+ "description": "Resource URI (typically ui://...)"
}
},
"required": [
@@ -3523,14 +3522,13 @@
"uri"
],
"additionalProperties": false,
- "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadRequest`; use `session.mcp.resources.read` instead.",
+ "description": "MCP server and resource URI to fetch.",
"title": "McpAppsReadResourceRequest",
- "deprecated": true,
"stability": "experimental"
},
"result": {
"$ref": "#/definitions/McpAppsReadResourceResult",
- "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadResult`; use `session.mcp.resources.read` instead."
+ "description": "Resource contents returned by the MCP server."
},
"stability": "experimental"
},
@@ -4063,6 +4061,20 @@
},
"description": "Denylist of tool names for this session."
},
+ "includedBuiltinAgents": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Built-in subagent names to include in this session. When specified, only these built-ins are available, subject to runtime availability and exclusions. Custom agents with the same name remain available. Set to null to remove the allowlist restriction."
+ },
"excludedBuiltinAgents": {
"type": "array",
"items": {
@@ -6115,7 +6127,7 @@
},
"setWorkingDirectory": {
"rpcMethod": "session.metadata.setWorkingDirectory",
- "description": "Updates the session's recorded working directory.",
+ "description": "Updates the session's working directory. For local sessions the target is validated first (an absolute path that exists on disk) and the permission primary directory is re-based; a rejected validation fails the call before any session state changes.",
"params": {
"type": "object",
"properties": {
@@ -6133,13 +6145,13 @@
"workingDirectory"
],
"additionalProperties": false,
- "description": "Absolute path to set as the session's new working directory.",
+ "description": "Absolute path to set as the session's new working directory. For local sessions the path must be absolute and exist on disk: it is validated before any session state changes, and a failing validation rejects the call with nothing mutated, persisted, or emitted. Remote sessions record the path as-is.",
"title": "MetadataSetWorkingDirectoryRequest",
"stability": "experimental"
},
"result": {
"$ref": "#/definitions/MetadataSetWorkingDirectoryResult",
- "description": "Update the session's working directory. Used by the host when the user explicitly changes cwd (e.g., the `/cd` slash command). The host is responsible for `process.chdir` and any related side-effects (file index, etc.); this method only updates the session's own recorded path."
+ "description": "Update the session's working directory. Used by the host when the user explicitly changes cwd (e.g., the `/cd` slash command). The host is responsible for any related side-effects (file index, etc.); it does NOT change the process working directory (a session's cwd is per-session, not process-global). For local sessions the runtime validates the target first (an absolute path that exists on disk) and re-bases the permission primary directory; a rejected validation fails the call before anything is mutated, persisted, or emitted. Location-scoped permission rules are then re-keyed to the new directory (best-effort). Remote sessions only record the path."
},
"stability": "experimental"
},
@@ -6672,7 +6684,7 @@
},
"eventType": {
"type": "string",
- "description": "The event type the consumer wants the runtime to treat as 'observed' for behavior-switching gating. Some runtime code paths inspect whether any consumer is interested in a specific event type and choose a different implementation accordingly (e.g. `mcp.oauth_required`: when interest is registered the runtime delegates OAuth token acquisition to the consumer; when no interest is registered OAuth-required servers become needs-auth). SDK clients that long-poll events do NOT automatically appear as listeners to these gating checks — they must explicitly call `registerInterest` for each event type they want the runtime to count as having a consumer. Multiple registrations for the same event type from the same or different consumers are tracked independently and must each be released. See: `mcp.oauth_required`, `sampling.requested`, `auto_mode_switch.requested`, `session_limits_exhausted.requested`, `user_input.requested`, `elicitation.requested`, `command.queued`, `exit_plan_mode.requested`."
+ "description": "The event type the consumer wants the runtime to treat as 'observed' for behavior-switching gating. Some runtime code paths inspect whether any consumer is interested in a specific event type and choose a different implementation accordingly (e.g. `mcp.oauth_required`: when interest is registered the runtime delegates interactive OAuth token acquisition to the consumer via `mcp.oauth_required` events; when no interest is registered the runtime still attempts non-interactive reconnect from cached or refreshable tokens, and only marks the server `needs-auth` if usable credentials are unavailable — it does not open a browser or start interactive OAuth without a consumer). SDK clients that long-poll events do NOT automatically appear as listeners to these gating checks — they must explicitly call `registerInterest` for each event type they want the runtime to count as having a consumer. Multiple registrations for the same event type from the same or different consumers are tracked independently and must each be released. See: `mcp.oauth_required`, `sampling.requested`, `auto_mode_switch.requested`, `session_limits_exhausted.requested`, `user_input.requested`, `elicitation.requested`, `command.queued`, `exit_plan_mode.requested`."
}
},
"required": [
@@ -11132,6 +11144,10 @@
"minLength": 1,
"description": "Short, single-sentence description shown to the agent in canvas catalogs."
},
+ "icon": {
+ "type": "string",
+ "description": "Host-local PNG path for the canvas icon, when supplied"
+ },
"inputSchema": {
"$ref": "#/definitions/CanvasJsonSchema",
"description": "JSON Schema for canvas open input"
@@ -13904,7 +13920,7 @@
},
"uri": {
"type": "string",
- "description": "Resource URI"
+ "description": "Resource URI (typically ui://...)"
}
},
"required": [
@@ -13912,9 +13928,8 @@
"uri"
],
"additionalProperties": false,
- "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadRequest`; use `session.mcp.resources.read` instead.",
+ "description": "MCP server and resource URI to fetch.",
"title": "McpAppsReadResourceRequest",
- "deprecated": true,
"stability": "experimental"
},
"McpAppsReadResourceResult": {
@@ -13924,7 +13939,7 @@
"type": "array",
"items": {
"$ref": "#/definitions/McpAppsResourceContent",
- "description": "Deprecated/obsolete MCP Apps alias for `McpResourceContent`; use `session.mcp.resources.read` instead."
+ "description": "MCP Apps resource content with URI, optional MIME type, text or base64 blob, and resource metadata."
},
"description": "Resource contents returned by the server"
}
@@ -13933,16 +13948,15 @@
"contents"
],
"additionalProperties": false,
- "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadResult`; use `session.mcp.resources.read` instead.",
- "title": "McpAppsReadResourceResult",
- "deprecated": true
+ "description": "Resource contents returned by the MCP server.",
+ "title": "McpAppsReadResourceResult"
},
"McpAppsResourceContent": {
"type": "object",
"properties": {
"uri": {
"type": "string",
- "description": "The resource URI"
+ "description": "The resource URI (typically ui://...)"
},
"mimeType": {
"type": "string",
@@ -13961,16 +13975,15 @@
"additionalProperties": {
"x-opaque-json": true
},
- "description": "Resource-level metadata"
+ "description": "Resource-level metadata (CSP, permissions, etc.)"
}
},
"required": [
"uri"
],
"additionalProperties": false,
- "description": "Deprecated/obsolete MCP Apps alias for `McpResourceContent`; use `session.mcp.resources.read` instead.",
- "title": "McpAppsResourceContent",
- "deprecated": true
+ "description": "MCP Apps resource content with URI, optional MIME type, text or base64 blob, and resource metadata.",
+ "title": "McpAppsResourceContent"
},
"McpAppsSetHostContextDetails": {
"type": "object",
@@ -15956,7 +15969,7 @@
"workingDirectory"
],
"additionalProperties": false,
- "description": "Absolute path to set as the session's new working directory.",
+ "description": "Absolute path to set as the session's new working directory. For local sessions the path must be absolute and exist on disk: it is validated before any session state changes, and a failing validation rejects the call with nothing mutated, persisted, or emitted. Remote sessions record the path as-is.",
"title": "MetadataSetWorkingDirectoryRequest",
"stability": "experimental"
},
@@ -15972,7 +15985,7 @@
"workingDirectory"
],
"additionalProperties": false,
- "description": "Update the session's working directory. Used by the host when the user explicitly changes cwd (e.g., the `/cd` slash command). The host is responsible for `process.chdir` and any related side-effects (file index, etc.); this method only updates the session's own recorded path.",
+ "description": "Update the session's working directory. Used by the host when the user explicitly changes cwd (e.g., the `/cd` slash command). The host is responsible for any related side-effects (file index, etc.); it does NOT change the process working directory (a session's cwd is per-session, not process-global). For local sessions the runtime validates the target first (an absolute path that exists on disk) and re-bases the permission primary directory; a rejected validation fails the call before anything is mutated, persisted, or emitted. Location-scoped permission rules are then re-keyed to the new directory (best-effort). Remote sessions only record the path.",
"title": "MetadataSetWorkingDirectoryResult"
},
"MetadataSnapshotCurrentMode": {
@@ -16124,12 +16137,45 @@
"minimum": 0,
"maximum": 100,
"description": "Whole-number percentage discount (0-100) applied to usage billed through this model. Populated for the synthetic `auto` model, where requests routed by auto-mode are billed at a reduced rate; absent for concrete models."
+ },
+ "promo": {
+ "$ref": "#/definitions/ModelBillingPromo",
+ "description": "Active server-driven promotion for this model, if any. Present when the model is being promoted with a time-boxed discount."
}
},
"additionalProperties": false,
"description": "Billing information",
"title": "ModelBilling"
},
+ "ModelBillingPromo": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Stable identifier for the promotion campaign."
+ },
+ "discountPercent": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Percentage discount (0-100) applied while the promotion is active. May be fractional."
+ },
+ "endsAt": {
+ "type": "string",
+ "description": "UTC ISO 8601 timestamp marking when the promotion ends. Always present: the API only surfaces a promo whose expiry parses and is in the future. Consumers should treat a past value as expired."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable promotion message. Does not include the expiry timestamp; consumers may format endsAt and append it."
+ }
+ },
+ "required": [
+ "endsAt"
+ ],
+ "additionalProperties": false,
+ "description": "Active server-driven promotion for a model, including its discount and expiry.",
+ "title": "ModelBillingPromo"
+ },
"ModelBillingTokenPrices": {
"type": "object",
"properties": {
@@ -16779,6 +16825,10 @@
"type": "string",
"description": "Provider-local canvas identifier"
},
+ "icon": {
+ "type": "string",
+ "description": "Host-local PNG path for the canvas icon, when supplied"
+ },
"title": {
"type": "string",
"description": "Rendered title"
@@ -19284,13 +19334,17 @@
"source": {
"type": "string",
"description": "Marketplace source. Accepts the same forms as the CLI: \"owner/repo\" or \"owner/repo#ref\" (GitHub), an http/https/ssh URL (optionally with #ref), a git scp-style URL (user@host:path), or a local path. The marketplace's own name (from its manifest) is used as the registration key."
+ },
+ "workingDirectory": {
+ "type": "string",
+ "description": "Working directory used to resolve relative local paths in `source`. Defaults to the server's current working directory."
}
},
"required": [
"source"
],
"additionalProperties": false,
- "description": "Marketplace source to register.",
+ "description": "Marketplace source and optional working directory for relative-path resolution.",
"title": "PluginsMarketplacesAddRequest"
},
"PluginsMarketplacesBrowseRequest": {
@@ -20741,7 +20795,7 @@
"properties": {
"eventType": {
"type": "string",
- "description": "The event type the consumer wants the runtime to treat as 'observed' for behavior-switching gating. Some runtime code paths inspect whether any consumer is interested in a specific event type and choose a different implementation accordingly (e.g. `mcp.oauth_required`: when interest is registered the runtime delegates OAuth token acquisition to the consumer; when no interest is registered OAuth-required servers become needs-auth). SDK clients that long-poll events do NOT automatically appear as listeners to these gating checks — they must explicitly call `registerInterest` for each event type they want the runtime to count as having a consumer. Multiple registrations for the same event type from the same or different consumers are tracked independently and must each be released. See: `mcp.oauth_required`, `sampling.requested`, `auto_mode_switch.requested`, `session_limits_exhausted.requested`, `user_input.requested`, `elicitation.requested`, `command.queued`, `exit_plan_mode.requested`."
+ "description": "The event type the consumer wants the runtime to treat as 'observed' for behavior-switching gating. Some runtime code paths inspect whether any consumer is interested in a specific event type and choose a different implementation accordingly (e.g. `mcp.oauth_required`: when interest is registered the runtime delegates interactive OAuth token acquisition to the consumer via `mcp.oauth_required` events; when no interest is registered the runtime still attempts non-interactive reconnect from cached or refreshable tokens, and only marks the server `needs-auth` if usable credentials are unavailable — it does not open a browser or start interactive OAuth without a consumer). SDK clients that long-poll events do NOT automatically appear as listeners to these gating checks — they must explicitly call `registerInterest` for each event type they want the runtime to count as having a consumer. Multiple registrations for the same event type from the same or different consumers are tracked independently and must each be released. See: `mcp.oauth_required`, `sampling.requested`, `auto_mode_switch.requested`, `session_limits_exhausted.requested`, `user_input.requested`, `elicitation.requested`, `command.queued`, `exit_plan_mode.requested`."
}
},
"required": [
@@ -23363,6 +23417,13 @@
},
"description": "Denylist of tool names."
},
+ "includedBuiltinAgents": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Built-in subagent names to include in this session. When specified, only these built-ins are available, subject to runtime availability and exclusions. Custom agents with the same name remain available."
+ },
"excludedBuiltinAgents": {
"type": "array",
"items": {
@@ -25053,6 +25114,20 @@
},
"description": "Denylist of tool names for this session."
},
+ "includedBuiltinAgents": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Built-in subagent names to include in this session. When specified, only these built-ins are available, subject to runtime availability and exclusions. Custom agents with the same name remain available. Set to null to remove the allowlist restriction."
+ },
"excludedBuiltinAgents": {
"type": "array",
"items": {
@@ -25846,6 +25921,10 @@
"$ref": "#/definitions/SessionMode",
"description": "Optional target session mode for the agent prompt"
},
+ "notice": {
+ "type": "string",
+ "description": "Optional user-facing notice to show before the prompt is submitted"
+ },
"runtimeSettingsChanged": {
"type": "boolean",
"description": "True when the invocation mutated user runtime settings; consumers caching settings should refresh"
@@ -25857,7 +25936,7 @@
"displayPrompt"
],
"additionalProperties": false,
- "description": "Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, and settings-change flag.",
+ "description": "Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, optional user-facing notice, and settings-change flag.",
"title": "SlashCommandAgentPromptResult"
},
"SlashCommandCompletedResult": {
@@ -26007,7 +26086,7 @@
},
{
"$ref": "#/definitions/SlashCommandAgentPromptResult",
- "description": "Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, and settings-change flag."
+ "description": "Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, optional user-facing notice, and settings-change flag."
},
{
"$ref": "#/definitions/SlashCommandCompletedResult",
diff --git a/schemas/session-events.schema.json b/schemas/session-events.schema.json
index 754201c..42ef8e7 100644
--- a/schemas/session-events.schema.json
+++ b/schemas/session-events.schema.json
@@ -2927,6 +2927,10 @@
"type": "string",
"description": "Provider-local canvas identifier"
},
+ "icon": {
+ "type": "string",
+ "description": "Host-local PNG path for the canvas icon, when supplied"
+ },
"title": {
"type": "string",
"description": "Rendered title"
@@ -2950,7 +2954,7 @@
"canvasId"
],
"additionalProperties": false,
- "description": "Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input.",
+ "description": "Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional icon, title, status, URL, and input.",
"title": "CanvasOpenedData",
"stability": "experimental"
},
@@ -2995,7 +2999,7 @@
},
"data": {
"$ref": "#/definitions/CanvasOpenedData",
- "description": "Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input."
+ "description": "Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional icon, title, status, URL, and input."
}
},
"required": [
@@ -3007,7 +3011,7 @@
"data"
],
"additionalProperties": false,
- "description": "Session event \"session.canvas.opened\". Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input.",
+ "description": "Session event \"session.canvas.opened\". Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional icon, title, status, URL, and input.",
"title": "CanvasOpenedEvent",
"stability": "experimental"
},
@@ -3125,6 +3129,10 @@
"minLength": 1,
"description": "Short, single-sentence description shown to the agent in canvas catalogs."
},
+ "icon": {
+ "type": "string",
+ "description": "Host-local PNG path for the canvas icon, when supplied"
+ },
"inputSchema": {
"description": "JSON Schema for canvas open input",
"x-opaque-json": true
@@ -7337,6 +7345,71 @@
"description": "Session event \"mcp.tools.list_changed\". Payload of MCP `list_changed` notification events, emitted when an MCP server announces at runtime that one of its advertised lists changed.",
"title": "McpToolsListChangedEvent"
},
+ "MemoryChangedData": {
+ "type": "object",
+ "properties": {},
+ "additionalProperties": false,
+ "description": "Signal-only event: the agent successfully stored a memory (store_memory) or voted on one (vote_memory). No payload — consumers should re-fetch memories to pick up the change. Used to refresh memory context (e.g. re-running the context sidekick) so newly written memories surface in subsequent turns.",
+ "title": "MemoryChangedData",
+ "visibility": "internal"
+ },
+ "MemoryChangedEvent": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Unique event identifier (UUID v4), generated when the event is emitted"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "ISO 8601 timestamp when the event was created"
+ },
+ "parentId": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event."
+ },
+ "ephemeral": {
+ "type": "boolean",
+ "const": true,
+ "description": "Always true for events that are transient and not persisted to the session event log on disk."
+ },
+ "agentId": {
+ "type": "string",
+ "description": "Sub-agent instance identifier. Absent for events from the root/main agent and session-level events."
+ },
+ "type": {
+ "type": "string",
+ "const": "session.memory_changed",
+ "description": "Type discriminator. Always \"session.memory_changed\"."
+ },
+ "data": {
+ "$ref": "#/definitions/MemoryChangedData",
+ "description": "Signal-only event: the agent successfully stored a memory (store_memory) or voted on one (vote_memory). No payload — consumers should re-fetch memories to pick up the change. Used to refresh memory context (e.g. re-running the context sidekick) so newly written memories surface in subsequent turns."
+ }
+ },
+ "required": [
+ "id",
+ "timestamp",
+ "parentId",
+ "ephemeral",
+ "type",
+ "data"
+ ],
+ "additionalProperties": false,
+ "description": "Session event \"session.memory_changed\". Signal-only event: the agent successfully stored a memory (store_memory) or voted on one (vote_memory). No payload — consumers should re-fetch memories to pick up the change. Used to refresh memory context (e.g. re-running the context sidekick) so newly written memories surface in subsequent turns.",
+ "title": "MemoryChangedEvent",
+ "visibility": "internal"
+ },
"ModeChangedData": {
"type": "object",
"properties": {
@@ -10323,6 +10396,11 @@
"$ref": "#/definitions/TodosChangedEvent",
"description": "Session event \"session.todos_changed\". Signal-only event: the agent's todos or todo_deps table was written to. No payload — clients should call session.plan.readSqlTodosWithDependencies() to fetch the current state. Events arrive in order; clients can debounce on arrival if needed."
},
+ {
+ "$ref": "#/definitions/MemoryChangedEvent",
+ "description": "Session event \"session.memory_changed\". Signal-only event: the agent successfully stored a memory (store_memory) or voted on one (vote_memory). No payload — consumers should re-fetch memories to pick up the change. Used to refresh memory context (e.g. re-running the context sidekick) so newly written memories surface in subsequent turns.",
+ "visibility": "internal"
+ },
{
"$ref": "#/definitions/WorkspaceFileChangedEvent",
"description": "Session event \"session.workspace_file_changed\". Workspace file change details including path and operation type"
@@ -10649,7 +10727,7 @@
},
{
"$ref": "#/definitions/CanvasOpenedEvent",
- "description": "Session event \"session.canvas.opened\". Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input."
+ "description": "Session event \"session.canvas.opened\". Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional icon, title, status, URL, and input."
},
{
"$ref": "#/definitions/CanvasRegistryChangedEvent",
@@ -13177,6 +13255,11 @@
"type": "string",
"description": "Model identifier that generated this tool call"
},
+ "mcpMeta": {
+ "description": "FIDES IFC label projected from tool ingress metadata (MCP `CallToolResult._meta` or synthesized built-in ingress labels). Persisted as `{ ifc: ... }` so the label survives session resume, including model-visible failure results. Experimental.",
+ "x-opaque-json": true,
+ "stability": "experimental"
+ },
"interactionId": {
"type": "string",
"description": "CAPI interaction ID for correlating this tool execution with upstream telemetry"
@@ -13343,6 +13426,11 @@
},
"description": "Provider-neutral source material this tool makes available to the model as citable content. Persisted so it survives session resume. Experimental.",
"stability": "experimental"
+ },
+ "mcpMeta": {
+ "description": "FIDES IFC label projected from tool ingress metadata (MCP `CallToolResult._meta` or synthesized built-in ingress labels) — persisted as `{ ifc: ... }` (only the `ifc` key, not the whole `_meta`). Persisted so the FIDES IFC label survives session resume: the engine rehydrates accumulated taint by replaying these on load. Populated for ingress sources when FIDES IFC is on. Experimental.",
+ "x-opaque-json": true,
+ "stability": "experimental"
}
},
"required": [
diff --git a/src/github/copilot_sdk.clj b/src/github/copilot_sdk.clj
index ec6e21e..2a5ac5f 100644
--- a/src/github/copilot_sdk.clj
+++ b/src/github/copilot_sdk.clj
@@ -471,6 +471,8 @@
Returns a vector of model info maps with keys:
:id :name :vendor :family :version :max-input-tokens :max-output-tokens
:preview? :default-temperature :model-picker-priority :model-policy
+ :model-billing {:multiplier :token-prices
+ :promo {:ends-at :id :discount-percent :message}}
:vision-limits {:supported-media-types :max-prompt-images :max-prompt-image-size}
Example:
@@ -536,6 +538,7 @@
- :system-message - {:mode :append/:replace :content \"...\"}
- :available-tools - List of allowed tool names
- :excluded-tools - List of excluded tool names
+ - :tool-search - Tool discovery config {:enabled :defer-threshold}
- :provider - Custom provider config (BYOK)
- :streaming? - Enable streaming deltas
- :mcp-servers - MCP server configs map (keyed by server ID)
@@ -1050,7 +1053,7 @@
events. `session.create` does NOT populate it (matches upstream Node.js).
Each entry has required keys `:instance-id`, `:extension-id`, `:canvas-id`
- and optional `:extension-name`, `:title`, `:status`, `:url`, `:input`.
+ and optional `:extension-name`, `:icon`, `:title`, `:status`, `:url`, `:input`.
Example:
```clojure
@@ -1244,10 +1247,15 @@
- :defer - `:auto` or `:never` (upstream PR #1632). When `:auto` the tool may be
deferred (loaded lazily via tool search); `:never` forces pre-loading.
Defaults to `:auto`.
+ - :metadata - Opaque host-defined map forwarded to the runtime
The handler receives:
- args - The parsed arguments from the LLM
- - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments
+ - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments,
+ and optional :available-tools for `tool_search_tool`
+
+ Return a string, or a tool result map with `:text-result-for-llm`,
+ `:result-type`, and optional `:tool-references`.
Returns: a tool definition map
diff --git a/src/github/copilot_sdk/client.clj b/src/github/copilot_sdk/client.clj
index 15d4d7a..fd9f256 100644
--- a/src/github/copilot_sdk/client.clj
+++ b/src/github/copilot_sdk/client.clj
@@ -1539,7 +1539,8 @@
:token-prices {:input-price :output-price :cache-price
:batch-size :context-max
:long-context {:input-price :output-price
- :cache-price :context-max}}}
+ :cache-price :context-max}}
+ :promo {:ends-at :id :discount-percent :message}}
:supported-reasoning-efforts :default-reasoning-effort
:supports-reasoning-effort (legacy flat key)
:vision-limits {:supported-media-types :max-prompt-images :max-prompt-image-size} (legacy)"
@@ -1909,7 +1910,8 @@
"Convert a single tool definition to its wire shape for session.create /
session.resume. Shared by both builders so the two paths cannot drift.
`:defer` (upstream PR #1632) is an idiom keyword (:auto | :never) sent as
- its wire string."
+ its wire string. `:metadata` is opaque host-defined data and is forwarded
+ without interpretation."
[t]
(cond-> {:name (:tool-name t)
:description (:tool-description t)
@@ -1919,7 +1921,9 @@
(some? (:skip-permission? t))
(assoc :skipPermission (:skip-permission? t))
(some? (:defer t))
- (assoc :defer (name (:defer t)))))
+ (assoc :defer (name (:defer t)))
+ (some? (:metadata t))
+ (assoc :metadata (:metadata t))))
(defn- config-defaults-for-mode
"Mode-specific session config defaults spread UNDER the caller's config
@@ -2092,6 +2096,7 @@
wire-sys-msg (assoc :system-message wire-sys-msg)
(:available-tools config) (assoc :available-tools (:available-tools config))
(:excluded-tools config) (assoc :excluded-tools (:excluded-tools config))
+ (:tool-search config) (assoc :tool-search (:tool-search config))
;; SDK always sends `toolFilterPrecedence: "excluded"` so callers can
;; compose include + exclude lists naturally (upstream PR #1428).
;; Behavioral change for CLI mode: prior to PR #1428 the CLI default
@@ -2275,6 +2280,7 @@
wire-sys-msg (assoc :system-message wire-sys-msg)
(:available-tools config) (assoc :available-tools (:available-tools config))
(:excluded-tools config) (assoc :excluded-tools (:excluded-tools config))
+ (:tool-search config) (assoc :tool-search (:tool-search config))
;; SDK always sends `toolFilterPrecedence: "excluded"` (upstream PR #1428).
;; See `build-create-session-params` for rationale.
true (assoc :tool-filter-precedence "excluded")
@@ -2533,6 +2539,7 @@
- :system-message - System message config
- :available-tools - List of allowed tool names
- :excluded-tools - List of excluded tool names
+ - :tool-search - Tool discovery config {:enabled :defer-threshold}
- :provider - Custom provider config (BYOK)
- :streaming? - Enable streaming
- :mcp-servers - MCP server configs map
@@ -2730,6 +2737,7 @@
- :system-message - System message configuration {:mode :content}
- :available-tools - List of tool names to allow
- :excluded-tools - List of tool names to disable
+ - :tool-search - Tool discovery config {:enabled :defer-threshold}
- :provider - Custom provider configuration (BYOK)
- :streaming? - Enable streaming responses
- :mcp-servers - MCP server configurations
diff --git a/src/github/copilot_sdk/generated/event_specs.clj b/src/github/copilot_sdk/generated/event_specs.clj
index 493d92d..7cb3fcc 100644
--- a/src/github/copilot_sdk/generated/event_specs.clj
+++ b/src/github/copilot_sdk/generated/event_specs.clj
@@ -193,6 +193,8 @@
(s/def :github.copilot-sdk.generated.event-specs/host-type #{"github" "ado"})
+(s/def :github.copilot-sdk.generated.event-specs/icon clojure.core/string?)
+
(s/def :github.copilot-sdk.generated.event-specs/id (s/spec (fn [v946] (or (s/valid? clojure.core/string? v946) (s/valid? clojure.core/integer? v946)))))
(s/def :github.copilot-sdk.generated.event-specs/info-type clojure.core/string?)
@@ -225,6 +227,8 @@
(s/def :github.copilot-sdk.generated.event-specs/max-ai-credits clojure.core/number?)
+(s/def :github.copilot-sdk.generated.event-specs/mcp-meta clojure.core/any?)
+
(s/def :github.copilot-sdk.generated.event-specs/mcp-request-id clojure.core/any?)
(s/def :github.copilot-sdk.generated.event-specs/mcp-server-name clojure.core/string?)
@@ -503,7 +507,7 @@
(s/def :github.copilot-sdk.generated.event-specs/turn-id clojure.core/string?)
-(s/def :github.copilot-sdk.generated.event-specs/type (s/spec (fn [v953] (or (s/valid? #{"session.start"} v953) (s/valid? #{"session.resume"} v953) (s/valid? #{"session.remote_steerable_changed"} v953) (s/valid? #{"session.error"} v953) (s/valid? #{"session.idle"} v953) (s/valid? #{"session.title_changed"} v953) (s/valid? #{"session.schedule_created"} v953) (s/valid? #{"session.schedule_cancelled"} v953) (s/valid? #{"session.schedule_rearmed"} v953) (s/valid? #{"session.autopilot_objective_changed"} v953) (s/valid? #{"session.info"} v953) (s/valid? #{"session.warning"} v953) (s/valid? #{"session.model_change"} v953) (s/valid? #{"session.mode_changed"} v953) (s/valid? #{"session.session_limits_changed"} v953) (s/valid? #{"session.permissions_changed"} v953) (s/valid? #{"session.plan_changed"} v953) (s/valid? #{"session.todos_changed"} v953) (s/valid? #{"session.workspace_file_changed"} v953) (s/valid? #{"session.handoff"} v953) (s/valid? #{"session.truncation"} v953) (s/valid? #{"session.snapshot_rewind"} v953) (s/valid? #{"session.shutdown"} v953) (s/valid? #{"session.usage_checkpoint"} v953) (s/valid? #{"session.context_changed"} v953) (s/valid? #{"session.usage_info"} v953) (s/valid? #{"session.compaction_start"} v953) (s/valid? #{"session.compaction_complete"} v953) (s/valid? #{"session.task_complete"} v953) (s/valid? #{"user.message"} v953) (s/valid? #{"pending_messages.modified"} v953) (s/valid? #{"assistant.turn_start"} v953) (s/valid? #{"assistant.intent"} v953) (s/valid? #{"assistant.reasoning"} v953) (s/valid? #{"assistant.reasoning_delta"} v953) (s/valid? #{"assistant.tool_call_delta"} v953) (s/valid? #{"assistant.streaming_delta"} v953) (s/valid? #{"assistant.message"} v953) (s/valid? #{"assistant.message_start"} v953) (s/valid? #{"assistant.message_delta"} v953) (s/valid? #{"assistant.turn_end"} v953) (s/valid? #{"assistant.idle"} v953) (s/valid? #{"assistant.usage"} v953) (s/valid? #{"model.call_failure"} v953) (s/valid? #{"abort"} v953) (s/valid? #{"tool.user_requested"} v953) (s/valid? #{"tool.execution_start"} v953) (s/valid? #{"tool.execution_partial_result"} v953) (s/valid? #{"tool.execution_progress"} v953) (s/valid? #{"tool.execution_complete"} v953) (s/valid? #{"skill.invoked"} v953) (s/valid? #{"subagent.started"} v953) (s/valid? #{"subagent.completed"} v953) (s/valid? #{"subagent.failed"} v953) (s/valid? #{"subagent.selected"} v953) (s/valid? #{"subagent.deselected"} v953) (s/valid? #{"hook.start"} v953) (s/valid? #{"hook.end"} v953) (s/valid? #{"hook.progress"} v953) (s/valid? #{"session.binary_asset"} v953) (s/valid? #{"system.message"} v953) (s/valid? #{"system.notification"} v953) (s/valid? #{"permission.requested"} v953) (s/valid? #{"permission.completed"} v953) (s/valid? #{"user_input.requested"} v953) (s/valid? #{"user_input.completed"} v953) (s/valid? #{"elicitation.requested"} v953) (s/valid? #{"elicitation.completed"} v953) (s/valid? #{"sampling.requested"} v953) (s/valid? #{"sampling.completed"} v953) (s/valid? #{"mcp.oauth_required"} v953) (s/valid? #{"mcp.oauth_completed"} v953) (s/valid? #{"mcp.headers_refresh_required"} v953) (s/valid? #{"mcp.headers_refresh_completed"} v953) (s/valid? #{"session.custom_notification"} v953) (s/valid? #{"external_tool.requested"} v953) (s/valid? #{"external_tool.completed"} v953) (s/valid? #{"command.queued"} v953) (s/valid? #{"command.execute"} v953) (s/valid? #{"command.completed"} v953) (s/valid? #{"auto_mode_switch.requested"} v953) (s/valid? #{"auto_mode_switch.completed"} v953) (s/valid? #{"session_limits_exhausted.requested"} v953) (s/valid? #{"session_limits_exhausted.completed"} v953) (s/valid? #{"session.auto_mode_resolved"} v953) (s/valid? #{"commands.changed"} v953) (s/valid? #{"capabilities.changed"} v953) (s/valid? #{"exit_plan_mode.requested"} v953) (s/valid? #{"exit_plan_mode.completed"} v953) (s/valid? #{"session.tools_updated"} v953) (s/valid? #{"session.background_tasks_changed"} v953) (s/valid? #{"session.skills_loaded"} v953) (s/valid? #{"session.custom_agents_updated"} v953) (s/valid? #{"session.mcp_servers_loaded"} v953) (s/valid? #{"session.mcp_server_status_changed"} v953) (s/valid? #{"mcp.tools.list_changed"} v953) (s/valid? #{"mcp.resources.list_changed"} v953) (s/valid? #{"mcp.prompts.list_changed"} v953) (s/valid? #{"session.extensions_loaded"} v953) (s/valid? #{"session.canvas.opened"} v953) (s/valid? #{"session.canvas.registry_changed"} v953) (s/valid? #{"session.canvas.closed"} v953) (s/valid? #{"session.canvas.unavailable"} v953) (s/valid? #{"session.canvas.recorded"} v953) (s/valid? #{"session.canvas.removed"} v953) (s/valid? #{"session.extensions.attachments_pushed"} v953) (s/valid? #{"mcp_app.tool_call_complete"} v953) (s/valid? #{"resource" "image"} v953)))))
+(s/def :github.copilot-sdk.generated.event-specs/type (s/spec (fn [v953] (or (s/valid? #{"session.start"} v953) (s/valid? #{"session.resume"} v953) (s/valid? #{"session.remote_steerable_changed"} v953) (s/valid? #{"session.error"} v953) (s/valid? #{"session.idle"} v953) (s/valid? #{"session.title_changed"} v953) (s/valid? #{"session.schedule_created"} v953) (s/valid? #{"session.schedule_cancelled"} v953) (s/valid? #{"session.schedule_rearmed"} v953) (s/valid? #{"session.autopilot_objective_changed"} v953) (s/valid? #{"session.info"} v953) (s/valid? #{"session.warning"} v953) (s/valid? #{"session.model_change"} v953) (s/valid? #{"session.mode_changed"} v953) (s/valid? #{"session.session_limits_changed"} v953) (s/valid? #{"session.permissions_changed"} v953) (s/valid? #{"session.plan_changed"} v953) (s/valid? #{"session.todos_changed"} v953) (s/valid? #{"session.memory_changed"} v953) (s/valid? #{"session.workspace_file_changed"} v953) (s/valid? #{"session.handoff"} v953) (s/valid? #{"session.truncation"} v953) (s/valid? #{"session.snapshot_rewind"} v953) (s/valid? #{"session.shutdown"} v953) (s/valid? #{"session.usage_checkpoint"} v953) (s/valid? #{"session.context_changed"} v953) (s/valid? #{"session.usage_info"} v953) (s/valid? #{"session.compaction_start"} v953) (s/valid? #{"session.compaction_complete"} v953) (s/valid? #{"session.task_complete"} v953) (s/valid? #{"user.message"} v953) (s/valid? #{"pending_messages.modified"} v953) (s/valid? #{"assistant.turn_start"} v953) (s/valid? #{"assistant.intent"} v953) (s/valid? #{"assistant.reasoning"} v953) (s/valid? #{"assistant.reasoning_delta"} v953) (s/valid? #{"assistant.tool_call_delta"} v953) (s/valid? #{"assistant.streaming_delta"} v953) (s/valid? #{"assistant.message"} v953) (s/valid? #{"assistant.message_start"} v953) (s/valid? #{"assistant.message_delta"} v953) (s/valid? #{"assistant.turn_end"} v953) (s/valid? #{"assistant.idle"} v953) (s/valid? #{"assistant.usage"} v953) (s/valid? #{"model.call_failure"} v953) (s/valid? #{"abort"} v953) (s/valid? #{"tool.user_requested"} v953) (s/valid? #{"tool.execution_start"} v953) (s/valid? #{"tool.execution_partial_result"} v953) (s/valid? #{"tool.execution_progress"} v953) (s/valid? #{"tool.execution_complete"} v953) (s/valid? #{"skill.invoked"} v953) (s/valid? #{"subagent.started"} v953) (s/valid? #{"subagent.completed"} v953) (s/valid? #{"subagent.failed"} v953) (s/valid? #{"subagent.selected"} v953) (s/valid? #{"subagent.deselected"} v953) (s/valid? #{"hook.start"} v953) (s/valid? #{"hook.end"} v953) (s/valid? #{"hook.progress"} v953) (s/valid? #{"session.binary_asset"} v953) (s/valid? #{"system.message"} v953) (s/valid? #{"system.notification"} v953) (s/valid? #{"permission.requested"} v953) (s/valid? #{"permission.completed"} v953) (s/valid? #{"user_input.requested"} v953) (s/valid? #{"user_input.completed"} v953) (s/valid? #{"elicitation.requested"} v953) (s/valid? #{"elicitation.completed"} v953) (s/valid? #{"sampling.requested"} v953) (s/valid? #{"sampling.completed"} v953) (s/valid? #{"mcp.oauth_required"} v953) (s/valid? #{"mcp.oauth_completed"} v953) (s/valid? #{"mcp.headers_refresh_required"} v953) (s/valid? #{"mcp.headers_refresh_completed"} v953) (s/valid? #{"session.custom_notification"} v953) (s/valid? #{"external_tool.requested"} v953) (s/valid? #{"external_tool.completed"} v953) (s/valid? #{"command.queued"} v953) (s/valid? #{"command.execute"} v953) (s/valid? #{"command.completed"} v953) (s/valid? #{"auto_mode_switch.requested"} v953) (s/valid? #{"auto_mode_switch.completed"} v953) (s/valid? #{"session_limits_exhausted.requested"} v953) (s/valid? #{"session_limits_exhausted.completed"} v953) (s/valid? #{"session.auto_mode_resolved"} v953) (s/valid? #{"commands.changed"} v953) (s/valid? #{"capabilities.changed"} v953) (s/valid? #{"exit_plan_mode.requested"} v953) (s/valid? #{"exit_plan_mode.completed"} v953) (s/valid? #{"session.tools_updated"} v953) (s/valid? #{"session.background_tasks_changed"} v953) (s/valid? #{"session.skills_loaded"} v953) (s/valid? #{"session.custom_agents_updated"} v953) (s/valid? #{"session.mcp_servers_loaded"} v953) (s/valid? #{"session.mcp_server_status_changed"} v953) (s/valid? #{"mcp.tools.list_changed"} v953) (s/valid? #{"mcp.resources.list_changed"} v953) (s/valid? #{"mcp.prompts.list_changed"} v953) (s/valid? #{"session.extensions_loaded"} v953) (s/valid? #{"session.canvas.opened"} v953) (s/valid? #{"session.canvas.registry_changed"} v953) (s/valid? #{"session.canvas.closed"} v953) (s/valid? #{"session.canvas.unavailable"} v953) (s/valid? #{"session.canvas.recorded"} v953) (s/valid? #{"session.canvas.removed"} v953) (s/valid? #{"session.extensions.attachments_pushed"} v953) (s/valid? #{"mcp_app.tool_call_complete"} v953) (s/valid? #{"resource" "image"} v953)))))
(s/def :github.copilot-sdk.generated.event-specs/tz clojure.core/string?)
@@ -625,7 +629,7 @@
(s/def :github.copilot-sdk.generated.event-specs/session.canvas.closed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/canvas-id :github.copilot-sdk.generated.event-specs/extension-id :github.copilot-sdk.generated.event-specs/instance-id]))
-(s/def :github.copilot-sdk.generated.event-specs/session.canvas.opened-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/canvas-id :github.copilot-sdk.generated.event-specs/extension-id :github.copilot-sdk.generated.event-specs/instance-id] :opt-un [:github.copilot-sdk.generated.event-specs/extension-name :github.copilot-sdk.generated.event-specs/input :github.copilot-sdk.generated.event-specs/status :github.copilot-sdk.generated.event-specs/title :github.copilot-sdk.generated.event-specs/url]))
+(s/def :github.copilot-sdk.generated.event-specs/session.canvas.opened-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/canvas-id :github.copilot-sdk.generated.event-specs/extension-id :github.copilot-sdk.generated.event-specs/instance-id] :opt-un [:github.copilot-sdk.generated.event-specs/extension-name :github.copilot-sdk.generated.event-specs/icon :github.copilot-sdk.generated.event-specs/input :github.copilot-sdk.generated.event-specs/status :github.copilot-sdk.generated.event-specs/title :github.copilot-sdk.generated.event-specs/url]))
(s/def :github.copilot-sdk.generated.event-specs/session.canvas.recorded-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/canvas-id :github.copilot-sdk.generated.event-specs/extension-id :github.copilot-sdk.generated.event-specs/instance-id] :opt-un [:github.copilot-sdk.generated.event-specs/input :github.copilot-sdk.generated.event-specs/title]))
@@ -661,6 +665,8 @@
(s/def :github.copilot-sdk.generated.event-specs/session.mcp_servers_loaded-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/servers]))
+(s/def :github.copilot-sdk.generated.event-specs/session.memory_changed-data (s/keys))
+
(s/def :github.copilot-sdk.generated.event-specs/session.mode_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/new-mode :github.copilot-sdk.generated.event-specs/previous-mode]))
(s/def :github.copilot-sdk.generated.event-specs/session.model_change-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/new-model] :opt-un [:github.copilot-sdk.generated.event-specs/cause :github.copilot-sdk.generated.event-specs/context-tier :github.copilot-sdk.generated.event-specs/previous-model :github.copilot-sdk.generated.event-specs/previous-reasoning-effort :github.copilot-sdk.generated.event-specs/previous-reasoning-summary :github.copilot-sdk.generated.event-specs/previous-verbosity :github.copilot-sdk.generated.event-specs/reasoning-effort :github.copilot-sdk.generated.event-specs/reasoning-summary :github.copilot-sdk.generated.event-specs/verbosity]))
@@ -727,7 +733,7 @@
(s/def :github.copilot-sdk.generated.event-specs/system.notification-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/content :github.copilot-sdk.generated.event-specs/kind]))
-(s/def :github.copilot-sdk.generated.event-specs/tool.execution_complete-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/success :github.copilot-sdk.generated.event-specs/tool-call-id] :opt-un [:github.copilot-sdk.generated.event-specs/error :github.copilot-sdk.generated.event-specs/interaction-id :github.copilot-sdk.generated.event-specs/is-user-requested :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/parent-tool-call-id :github.copilot-sdk.generated.event-specs/result :github.copilot-sdk.generated.event-specs/sandboxed :github.copilot-sdk.generated.event-specs/tool-description :github.copilot-sdk.generated.event-specs/tool-telemetry :github.copilot-sdk.generated.event-specs/turn-id]))
+(s/def :github.copilot-sdk.generated.event-specs/tool.execution_complete-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/success :github.copilot-sdk.generated.event-specs/tool-call-id] :opt-un [:github.copilot-sdk.generated.event-specs/error :github.copilot-sdk.generated.event-specs/interaction-id :github.copilot-sdk.generated.event-specs/is-user-requested :github.copilot-sdk.generated.event-specs/mcp-meta :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/parent-tool-call-id :github.copilot-sdk.generated.event-specs/result :github.copilot-sdk.generated.event-specs/sandboxed :github.copilot-sdk.generated.event-specs/tool-description :github.copilot-sdk.generated.event-specs/tool-telemetry :github.copilot-sdk.generated.event-specs/turn-id]))
(s/def :github.copilot-sdk.generated.event-specs/tool.execution_partial_result-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/partial-output :github.copilot-sdk.generated.event-specs/tool-call-id]))
@@ -743,221 +749,223 @@
(s/def :github.copilot-sdk.generated.event-specs/user_input.requested-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/question :github.copilot-sdk.generated.event-specs/request-id] :opt-un [:github.copilot-sdk.generated.event-specs/allow-freeform :github.copilot-sdk.generated.event-specs/choices :github.copilot-sdk.generated.event-specs/tool-call-id]))
-(s/def :github.copilot-sdk.generated.event-specs/abort (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "abort" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/abort-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/abort (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "abort" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/abort-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.idle (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.idle" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.idle-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.idle (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.idle" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.idle-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.intent (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.intent" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.intent-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.intent (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.intent" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.intent-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.message (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.message" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.message-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.message (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.message" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.message-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.message_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.message_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.message_delta-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.message_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.message_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.message_delta-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.message_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.message_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.message_start-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.message_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.message_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.message_start-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.reasoning (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.reasoning" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.reasoning-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.reasoning (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.reasoning" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.reasoning-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.reasoning_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.reasoning_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.reasoning_delta-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.reasoning_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.reasoning_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.reasoning_delta-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.streaming_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.streaming_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.streaming_delta-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.streaming_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.streaming_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.streaming_delta-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.tool_call_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.tool_call_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.tool_call_delta-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.tool_call_delta (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.tool_call_delta" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.tool_call_delta-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_end (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.turn_end" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.turn_end-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_end (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.turn_end" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.turn_end-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.turn_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.turn_start-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "assistant.turn_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.turn_start-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/assistant.usage (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.usage" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.usage-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/assistant.usage (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "assistant.usage" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/assistant.usage-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/auto_mode_switch.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "auto_mode_switch.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/auto_mode_switch.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/auto_mode_switch.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "auto_mode_switch.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/auto_mode_switch.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/auto_mode_switch.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "auto_mode_switch.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/auto_mode_switch.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/auto_mode_switch.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "auto_mode_switch.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/auto_mode_switch.requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/capabilities.changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "capabilities.changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/capabilities.changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/capabilities.changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "capabilities.changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/capabilities.changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/command.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "command.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/command.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/command.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "command.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/command.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/command.execute (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "command.execute" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/command.execute-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/command.execute (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "command.execute" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/command.execute-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/command.queued (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "command.queued" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/command.queued-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/command.queued (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "command.queued" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/command.queued-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/commands.changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "commands.changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/commands.changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/commands.changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "commands.changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/commands.changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/elicitation.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "elicitation.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/elicitation.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/elicitation.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "elicitation.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/elicitation.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/elicitation.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "elicitation.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/elicitation.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/elicitation.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "elicitation.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/elicitation.requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/exit_plan_mode.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "exit_plan_mode.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/exit_plan_mode.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/exit_plan_mode.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "exit_plan_mode.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/exit_plan_mode.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/exit_plan_mode.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "exit_plan_mode.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/exit_plan_mode.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/exit_plan_mode.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "exit_plan_mode.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/exit_plan_mode.requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/external_tool.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "external_tool.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/external_tool.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/external_tool.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "external_tool.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/external_tool.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/external_tool.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "external_tool.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/external_tool.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/external_tool.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "external_tool.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/external_tool.requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/hook.end (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "hook.end" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/hook.end-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/hook.end (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "hook.end" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/hook.end-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/hook.progress (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "hook.progress" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/hook.progress-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/hook.progress (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "hook.progress" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/hook.progress-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/hook.start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "hook.start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/hook.start-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/hook.start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "hook.start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/hook.start-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.headers_refresh_completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.headers_refresh_completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_required (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.headers_refresh_required" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_required-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_required (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.headers_refresh_required" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.headers_refresh_required-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp.oauth_completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.oauth_completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.oauth_completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp.oauth_completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.oauth_completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.oauth_completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp.oauth_required (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.oauth_required" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.oauth_required-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp.oauth_required (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.oauth_required" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.oauth_required-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp.prompts.list_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.prompts.list_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.prompts.list_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp.prompts.list_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.prompts.list_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.prompts.list_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp.resources.list_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.resources.list_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.resources.list_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp.resources.list_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.resources.list_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.resources.list_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp.tools.list_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.tools.list_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.tools.list_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp.tools.list_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp.tools.list_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp.tools.list_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/mcp_app.tool_call_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp_app.tool_call_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp_app.tool_call_complete-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/mcp_app.tool_call_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "mcp_app.tool_call_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/mcp_app.tool_call_complete-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/model.call_failure (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "model.call_failure" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/model.call_failure-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/model.call_failure (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "model.call_failure" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/model.call_failure-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/pending_messages.modified (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "pending_messages.modified" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/pending_messages.modified-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/pending_messages.modified (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "pending_messages.modified" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/pending_messages.modified-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/permission.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "permission.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/permission.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/permission.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "permission.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/permission.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/permission.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "permission.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/permission.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/permission.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "permission.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/permission.requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/sampling.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "sampling.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/sampling.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/sampling.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "sampling.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/sampling.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/sampling.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "sampling.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/sampling.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/sampling.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "sampling.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/sampling.requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.auto_mode_resolved (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.auto_mode_resolved" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.auto_mode_resolved-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.auto_mode_resolved (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.auto_mode_resolved" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.auto_mode_resolved-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.autopilot_objective_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.autopilot_objective_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.autopilot_objective_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.autopilot_objective_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.autopilot_objective_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.autopilot_objective_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.background_tasks_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.background_tasks_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.background_tasks_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.background_tasks_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.background_tasks_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.background_tasks_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.binary_asset (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.binary_asset" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.binary_asset-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.binary_asset (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.binary_asset" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.binary_asset-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.canvas.closed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.closed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.closed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.canvas.closed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.closed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.closed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.canvas.opened (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.opened" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.opened-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.canvas.opened (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.opened" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.opened-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.canvas.recorded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.canvas.recorded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.recorded-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.canvas.recorded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.canvas.recorded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.recorded-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.canvas.registry_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.registry_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.registry_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.canvas.registry_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.registry_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.registry_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.canvas.removed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.canvas.removed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.removed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.canvas.removed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.canvas.removed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.removed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.canvas.unavailable (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.unavailable" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.unavailable-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.canvas.unavailable (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.canvas.unavailable" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.canvas.unavailable-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.compaction_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.compaction_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.compaction_complete-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.compaction_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.compaction_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.compaction_complete-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.compaction_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.compaction_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.compaction_start-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.compaction_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.compaction_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.compaction_start-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.context_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.context_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.context_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.context_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.context_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.context_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.custom_agents_updated (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.custom_agents_updated" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.custom_agents_updated-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.custom_agents_updated (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.custom_agents_updated" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.custom_agents_updated-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.custom_notification (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.custom_notification" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.custom_notification-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.custom_notification (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.custom_notification" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.custom_notification-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.error (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.error" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.error-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.error (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.error" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.error-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.extensions.attachments_pushed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.extensions.attachments_pushed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.extensions.attachments_pushed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.extensions.attachments_pushed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.extensions.attachments_pushed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.extensions.attachments_pushed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.extensions_loaded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.extensions_loaded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.extensions_loaded-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.extensions_loaded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.extensions_loaded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.extensions_loaded-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.handoff (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.handoff" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.handoff-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.handoff (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.handoff" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.handoff-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.idle (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.idle" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.idle-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.idle (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.idle" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.idle-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.info (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.info" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.info-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.info (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.info" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.info-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.mcp_server_status_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.mcp_server_status_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.mcp_server_status_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.mcp_server_status_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.mcp_server_status_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.mcp_server_status_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.mcp_servers_loaded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.mcp_servers_loaded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.mcp_servers_loaded-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.mcp_servers_loaded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.mcp_servers_loaded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.mcp_servers_loaded-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.mode_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.mode_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.mode_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.memory_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.memory_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.memory_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.model_change (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.model_change" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.model_change-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.mode_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.mode_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.mode_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.permissions_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.permissions_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.permissions_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.model_change (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.model_change" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.model_change-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.plan_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.plan_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.plan_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.permissions_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.permissions_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.permissions_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.remote_steerable_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.remote_steerable_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.remote_steerable_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.plan_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.plan_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.plan_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.resume (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.resume" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.resume-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.remote_steerable_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.remote_steerable_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.remote_steerable_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.schedule_cancelled (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.schedule_cancelled" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.schedule_cancelled-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.resume (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.resume" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.resume-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.schedule_created (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.schedule_created" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.schedule_created-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.schedule_cancelled (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.schedule_cancelled" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.schedule_cancelled-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.schedule_rearmed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.schedule_rearmed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.schedule_rearmed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.schedule_created (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.schedule_created" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.schedule_created-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.session_limits_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.session_limits_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.session_limits_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.schedule_rearmed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.schedule_rearmed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.schedule_rearmed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.shutdown (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.shutdown" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.shutdown-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.session_limits_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.session_limits_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.session_limits_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.skills_loaded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.skills_loaded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.skills_loaded-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.shutdown (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.shutdown" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.shutdown-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.snapshot_rewind (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.snapshot_rewind" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.snapshot_rewind-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.skills_loaded (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.skills_loaded" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.skills_loaded-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.start-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.snapshot_rewind (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.snapshot_rewind" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.snapshot_rewind-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.task_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.task_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.task_complete-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.start-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.title_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.title_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.title_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.task_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.task_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.task_complete-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.todos_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.todos_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.todos_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.title_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.title_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.title_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.tools_updated (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.tools_updated" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.tools_updated-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.todos_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.todos_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.todos_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.truncation (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.truncation" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.truncation-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.tools_updated (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.tools_updated" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.tools_updated-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.usage_checkpoint (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.usage_checkpoint" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.usage_checkpoint-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.truncation (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.truncation" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.truncation-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.usage_info (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.usage_info" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.usage_info-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.usage_checkpoint (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.usage_checkpoint" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.usage_checkpoint-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.warning (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.warning" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.warning-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.usage_info (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session.usage_info" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.usage_info-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session.workspace_file_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.workspace_file_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.workspace_file_changed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.warning (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.warning" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.warning-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session_limits_exhausted.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session_limits_exhausted.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session_limits_exhausted.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session.workspace_file_changed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "session.workspace_file_changed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session.workspace_file_changed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/session_limits_exhausted.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session_limits_exhausted.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session_limits_exhausted.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session_limits_exhausted.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session_limits_exhausted.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session_limits_exhausted.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/skill.invoked (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "skill.invoked" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/skill.invoked-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/session_limits_exhausted.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "session_limits_exhausted.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/session_limits_exhausted.requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/subagent.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/skill.invoked (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "skill.invoked" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/skill.invoked-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/subagent.deselected (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.deselected" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.deselected-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/subagent.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.completed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/subagent.failed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.failed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.failed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/subagent.deselected (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.deselected" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.deselected-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/subagent.selected (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.selected" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.selected-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/subagent.failed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.failed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.failed-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/subagent.started (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.started" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.started-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/subagent.selected (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.selected" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.selected-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/system.message (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "system.message" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/system.message-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/subagent.started (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "subagent.started" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/subagent.started-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/system.notification (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "system.notification" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/system.notification-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/system.message (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "system.message" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/system.message-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/tool.execution_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "tool.execution_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_complete-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/system.notification (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "system.notification" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/system.notification-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/tool.execution_partial_result (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "tool.execution_partial_result" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_partial_result-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/tool.execution_complete (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "tool.execution_complete" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_complete-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/tool.execution_progress (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "tool.execution_progress" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_progress-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/tool.execution_partial_result (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "tool.execution_partial_result" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_partial_result-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/tool.execution_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "tool.execution_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_start-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/tool.execution_progress (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "tool.execution_progress" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_progress-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/tool.user_requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "tool.user_requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.user_requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/tool.execution_start (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "tool.execution_start" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.execution_start-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/user.message (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "user.message" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/user.message-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/tool.user_requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "tool.user_requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/tool.user_requested-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/user_input.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "user_input.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/user_input.completed-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/user.message (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id :github.copilot-sdk.generated.event-specs/ephemeral]) (fn [event] (clojure.core/= "user.message" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/user.message-data (:data event)))))
-(s/def :github.copilot-sdk.generated.event-specs/user_input.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "user_input.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/user_input.requested-data (:data event)))))
+(s/def :github.copilot-sdk.generated.event-specs/user_input.completed (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "user_input.completed" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/user_input.completed-data (:data event)))))
-(def event-types "Set of all event-type strings known to the schema." #{"abort" "assistant.idle" "assistant.intent" "assistant.message" "assistant.message_delta" "assistant.message_start" "assistant.reasoning" "assistant.reasoning_delta" "assistant.streaming_delta" "assistant.tool_call_delta" "assistant.turn_end" "assistant.turn_start" "assistant.usage" "auto_mode_switch.completed" "auto_mode_switch.requested" "capabilities.changed" "command.completed" "command.execute" "command.queued" "commands.changed" "elicitation.completed" "elicitation.requested" "exit_plan_mode.completed" "exit_plan_mode.requested" "external_tool.completed" "external_tool.requested" "hook.end" "hook.progress" "hook.start" "mcp.headers_refresh_completed" "mcp.headers_refresh_required" "mcp.oauth_completed" "mcp.oauth_required" "mcp.prompts.list_changed" "mcp.resources.list_changed" "mcp.tools.list_changed" "mcp_app.tool_call_complete" "model.call_failure" "pending_messages.modified" "permission.completed" "permission.requested" "sampling.completed" "sampling.requested" "session.auto_mode_resolved" "session.autopilot_objective_changed" "session.background_tasks_changed" "session.binary_asset" "session.canvas.closed" "session.canvas.opened" "session.canvas.recorded" "session.canvas.registry_changed" "session.canvas.removed" "session.canvas.unavailable" "session.compaction_complete" "session.compaction_start" "session.context_changed" "session.custom_agents_updated" "session.custom_notification" "session.error" "session.extensions.attachments_pushed" "session.extensions_loaded" "session.handoff" "session.idle" "session.info" "session.mcp_server_status_changed" "session.mcp_servers_loaded" "session.mode_changed" "session.model_change" "session.permissions_changed" "session.plan_changed" "session.remote_steerable_changed" "session.resume" "session.schedule_cancelled" "session.schedule_created" "session.schedule_rearmed" "session.session_limits_changed" "session.shutdown" "session.skills_loaded" "session.snapshot_rewind" "session.start" "session.task_complete" "session.title_changed" "session.todos_changed" "session.tools_updated" "session.truncation" "session.usage_checkpoint" "session.usage_info" "session.warning" "session.workspace_file_changed" "session_limits_exhausted.completed" "session_limits_exhausted.requested" "skill.invoked" "subagent.completed" "subagent.deselected" "subagent.failed" "subagent.selected" "subagent.started" "system.message" "system.notification" "tool.execution_complete" "tool.execution_partial_result" "tool.execution_progress" "tool.execution_start" "tool.user_requested" "user.message" "user_input.completed" "user_input.requested"})
+(s/def :github.copilot-sdk.generated.event-specs/user_input.requested (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/data :github.copilot-sdk.generated.event-specs/ephemeral :github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/parent-id :github.copilot-sdk.generated.event-specs/timestamp :github.copilot-sdk.generated.event-specs/type] :opt-un [:github.copilot-sdk.generated.event-specs/agent-id]) (fn [event] (clojure.core/= true (:ephemeral event))) (fn [event] (clojure.core/= "user_input.requested" (:type event))) (fn [event] (s/valid? clojure.core/map? (:data event))) (fn [event] (s/valid? clojure.core/string? (:id event))) (fn [event] (s/valid? (s/spec (fn [v927] (or (s/valid? #{"session.start"} v927) (s/valid? #{"session.resume"} v927) (s/valid? #{"session.remote_steerable_changed"} v927) (s/valid? #{"session.error"} v927) (s/valid? #{"session.idle"} v927) (s/valid? #{"session.title_changed"} v927) (s/valid? #{"session.schedule_created"} v927) (s/valid? #{"session.schedule_cancelled"} v927) (s/valid? #{"session.schedule_rearmed"} v927) (s/valid? #{"session.autopilot_objective_changed"} v927) (s/valid? #{"session.info"} v927) (s/valid? #{"session.warning"} v927) (s/valid? #{"session.model_change"} v927) (s/valid? #{"session.mode_changed"} v927) (s/valid? #{"session.session_limits_changed"} v927) (s/valid? #{"session.permissions_changed"} v927) (s/valid? #{"session.plan_changed"} v927) (s/valid? #{"session.todos_changed"} v927) (s/valid? #{"session.memory_changed"} v927) (s/valid? #{"session.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.extensions.attachments_pushed"} v927) (s/valid? #{"mcp_app.tool_call_complete"} v927)))) (:type event))) (fn [event] (s/valid? :github.copilot-sdk.generated.event-specs/user_input.requested-data (:data event)))))
+
+(def event-types "Set of all event-type strings known to the schema." #{"abort" "assistant.idle" "assistant.intent" "assistant.message" "assistant.message_delta" "assistant.message_start" "assistant.reasoning" "assistant.reasoning_delta" "assistant.streaming_delta" "assistant.tool_call_delta" "assistant.turn_end" "assistant.turn_start" "assistant.usage" "auto_mode_switch.completed" "auto_mode_switch.requested" "capabilities.changed" "command.completed" "command.execute" "command.queued" "commands.changed" "elicitation.completed" "elicitation.requested" "exit_plan_mode.completed" "exit_plan_mode.requested" "external_tool.completed" "external_tool.requested" "hook.end" "hook.progress" "hook.start" "mcp.headers_refresh_completed" "mcp.headers_refresh_required" "mcp.oauth_completed" "mcp.oauth_required" "mcp.prompts.list_changed" "mcp.resources.list_changed" "mcp.tools.list_changed" "mcp_app.tool_call_complete" "model.call_failure" "pending_messages.modified" "permission.completed" "permission.requested" "sampling.completed" "sampling.requested" "session.auto_mode_resolved" "session.autopilot_objective_changed" "session.background_tasks_changed" "session.binary_asset" "session.canvas.closed" "session.canvas.opened" "session.canvas.recorded" "session.canvas.registry_changed" "session.canvas.removed" "session.canvas.unavailable" "session.compaction_complete" "session.compaction_start" "session.context_changed" "session.custom_agents_updated" "session.custom_notification" "session.error" "session.extensions.attachments_pushed" "session.extensions_loaded" "session.handoff" "session.idle" "session.info" "session.mcp_server_status_changed" "session.mcp_servers_loaded" "session.memory_changed" "session.mode_changed" "session.model_change" "session.permissions_changed" "session.plan_changed" "session.remote_steerable_changed" "session.resume" "session.schedule_cancelled" "session.schedule_created" "session.schedule_rearmed" "session.session_limits_changed" "session.shutdown" "session.skills_loaded" "session.snapshot_rewind" "session.start" "session.task_complete" "session.title_changed" "session.todos_changed" "session.tools_updated" "session.truncation" "session.usage_checkpoint" "session.usage_info" "session.warning" "session.workspace_file_changed" "session_limits_exhausted.completed" "session_limits_exhausted.requested" "skill.invoked" "subagent.completed" "subagent.deselected" "subagent.failed" "subagent.selected" "subagent.started" "system.message" "system.notification" "tool.execution_complete" "tool.execution_partial_result" "tool.execution_progress" "tool.execution_start" "tool.user_requested" "user.message" "user_input.completed" "user_input.requested"})
(defmulti event-mm :type)
@@ -1093,6 +1101,8 @@
(defmethod event-mm "session.mcp_servers_loaded" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/session.mcp_servers_loaded))
+(defmethod event-mm "session.memory_changed" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/session.memory_changed))
+
(defmethod event-mm "session.mode_changed" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/session.mode_changed))
(defmethod event-mm "session.model_change" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/session.model_change))
diff --git a/src/github/copilot_sdk/instrument.clj b/src/github/copilot_sdk/instrument.clj
index 1dc740a..2eb912f 100644
--- a/src/github/copilot_sdk/instrument.clj
+++ b/src/github/copilot_sdk/instrument.clj
@@ -18,7 +18,8 @@
;; Ensure namespaces hosting public fns referenced by `register-fdef!`
;; are loaded before `stest/instrument` runs (otherwise the missing
;; var would be silently skipped, leaving an instrumentation gap).
- [github.copilot-sdk.tool-set]))
+ [github.copilot-sdk.tool-set]
+ [github.copilot-sdk.tools]))
;; -----------------------------------------------------------------------------
;; Single-source registry for fdefs
@@ -562,6 +563,17 @@
:args (s/cat :session ::specs/session)
:ret nil?)
+;; Tool helper function specs
+(register-fdef! github.copilot-sdk.tools/define-tool
+ :args (s/cat :name ::specs/tool-name
+ :opts map?)
+ :ret ::specs/tool)
+
+(register-fdef! github.copilot-sdk.tools/define-tool-from-spec
+ :args (s/cat :name ::specs/tool-name
+ :opts map?)
+ :ret ::specs/tool)
+
;; convert-mcp-call-tool-result function spec (upstream PR #1049)
(register-fdef! github.copilot-sdk.tools/convert-mcp-call-tool-result
:args (s/cat :call-result map?)
diff --git a/src/github/copilot_sdk/session.clj b/src/github/copilot_sdk/session.clj
index 34233ee..7efeac7 100644
--- a/src/github/copilot_sdk/session.clj
+++ b/src/github/copilot_sdk/session.clj
@@ -33,6 +33,18 @@
(defn- connection-io [client]
(:connection-io @(:state client)))
+(def ^:private tool-search-tool-name "tool_search_tool")
+
+(defn- current-tool-metadata
+ [client session-id]
+ (try
+ (:tools (proto/send-request! (connection-io client)
+ "session.tools.getCurrentMetadata"
+ {:session-id session-id}))
+ (catch Exception e
+ (log/debug "Failed to fetch tool metadata for tool search: " (ex-message e))
+ nil)))
+
;; -----------------------------------------------------------------------------
;; Session record - lightweight handle returned to users
;; Contains only immutable data + reference to client
@@ -600,10 +612,14 @@
:error (str "tool '" tool-name "' not supported")
:tool-telemetry {}}}
(try
- (let [invocation (cond-> {:session-id session-id
+ (let [available-tools (when (= tool-search-tool-name tool-name)
+ (current-tool-metadata client session-id))
+ invocation (cond-> {:session-id session-id
:tool-call-id tool-call-id
:tool-name tool-name
:arguments arguments}
+ (some? available-tools)
+ (assoc :available-tools available-tools)
traceparent (assoc :traceparent traceparent)
tracestate (assoc :tracestate tracestate))
result (handler arguments invocation)
@@ -2298,8 +2314,8 @@
(defn open-canvases
"Get the current open-canvases snapshot for `session`. Returns a vector of
canvas-instance maps (each with `:instance-id`, `:extension-id`, `:canvas-id`,
- plus optional `:extension-name`, `:title`, `:status`, `:url`, `:input`). The
- snapshot is initialized from `session.resume` and updated by
+ plus optional `:extension-name`, `:icon`, `:title`, `:status`, `:url`,
+ `:input`). The snapshot is initialized from `session.resume` and updated by
`session.canvas.opened` / `session.canvas.closed` events. `session.create`
does NOT populate it (matches upstream Node.js behavior)."
[session]
diff --git a/src/github/copilot_sdk/specs.clj b/src/github/copilot_sdk/specs.clj
index ea75a11..c8b2b1a 100644
--- a/src/github/copilot_sdk/specs.clj
+++ b/src/github/copilot_sdk/specs.clj
@@ -279,6 +279,7 @@
(s/def ::tool-handler fn?)
(s/def ::overrides-built-in-tool boolean?)
(s/def ::skip-permission? boolean?)
+(s/def ::metadata map?)
;; Upstream PR #1632: controls whether a tool may be deferred (loaded lazily via
;; tool search) rather than always pre-loaded. The idiom uses keywords; the
;; value is sent on the wire as the corresponding string ("auto" | "never").
@@ -290,7 +291,8 @@
;; and the consumer resolves them via `handle-pending-tool-call!`.
(s/keys :req-un [::tool-name]
:opt-un [::tool-handler ::tool-description ::tool-parameters
- ::overrides-built-in-tool ::skip-permission? ::defer]))
+ ::overrides-built-in-tool ::skip-permission? ::defer
+ ::metadata]))
(s/def ::tools (s/coll-of ::tool))
@@ -600,6 +602,11 @@
(s/def ::plugin-directories (s/coll-of ::non-blank-string))
(s/def ::disabled-skills (s/coll-of ::non-blank-string))
(s/def ::enabled boolean?)
+(s/def ::defer-threshold integer?)
+(s/def ::tool-search
+ (closed-keys
+ (s/keys :opt-un [::enabled ::defer-threshold])
+ #{:enabled :defer-threshold}))
(s/def ::max-size-bytes pos-int?)
(s/def ::output-dir ::non-blank-string)
;; Upstream PR #1482: `outputDir` renamed to `outputDirectory` in the official
@@ -827,7 +834,7 @@
(def session-config-keys
#{:session-id :client-name :model :tools :commands :system-message
- :available-tools :excluded-tools :provider
+ :available-tools :excluded-tools :tool-search :provider
:on-permission-request :streaming? :mcp-servers
:on-mcp-auth-request
:custom-agents :default-agent
@@ -874,7 +881,7 @@
(s/keys :opt-un [::on-permission-request
::on-mcp-auth-request
::session-id ::client-name ::model ::tools ::commands ::system-message
- ::available-tools ::excluded-tools ::provider
+ ::available-tools ::excluded-tools ::tool-search ::provider
::streaming? ::mcp-servers
::custom-agents ::default-agent
::config-dir ::config-directory
@@ -912,7 +919,7 @@
session-config-keys))
(def ^:private resume-session-config-keys
- #{:client-name :model :tools :commands :system-message :available-tools :excluded-tools
+ #{:client-name :model :tools :commands :system-message :available-tools :excluded-tools :tool-search
:provider :streaming? :on-permission-request
:on-mcp-auth-request
:mcp-servers :custom-agents :default-agent
@@ -956,6 +963,7 @@
(s/keys :opt-un [::on-permission-request
::on-mcp-auth-request
::client-name ::model ::tools ::commands ::system-message ::available-tools ::excluded-tools
+ ::tool-search
::provider ::streaming?
::mcp-servers ::custom-agents ::default-agent
::config-dir ::config-directory
@@ -1000,6 +1008,7 @@
(s/keys :opt-un [::on-permission-request
::on-mcp-auth-request
::client-name ::model ::tools ::commands ::system-message ::available-tools ::excluded-tools
+ ::tool-search
::provider ::streaming?
::mcp-servers ::custom-agents ::default-agent
::config-dir ::config-directory
@@ -1646,7 +1655,7 @@
;; Canvas event data and snapshot entries (upstream PR #1604; v1.0.4 dropped
;; reopen/availability). Wire fields: instanceId, extensionId, canvasId,
-;; extensionName, status, title, url, input. csk converts to kebab-case.
+;; extensionName, status, title, url, input, icon. csk converts to kebab-case.
;; `:input` is opaque caller-supplied data — open map per upstream
;; `{ [k: string]: unknown }`.
(s/def ::instance-id ::non-blank-string)
@@ -1654,10 +1663,11 @@
(s/def ::canvas-id ::non-blank-string)
(s/def ::extension-name string?)
(s/def ::input map?)
+(s/def ::icon string?)
(s/def ::open-canvas-instance
(s/keys :req-un [::instance-id ::extension-id ::canvas-id]
- :opt-un [::extension-name ::title ::status ::url ::input]))
+ :opt-un [::extension-name ::title ::status ::url ::input ::icon]))
(s/def ::open-canvases (s/coll-of ::open-canvas-instance :kind sequential? :into []))
@@ -1780,6 +1790,39 @@
(s/def ::text-result-for-llm string?)
(s/def ::session-log string?)
(s/def ::tool-telemetry map?)
+(s/def ::tool-references (s/coll-of ::non-blank-string))
+
+(s/def ::current-tool-metadata
+ (s/and
+ map?
+ #(string? (:name %))
+ #(string? (:description %))
+ #(or (not (contains? % :namespaced-name))
+ (string? (:namespaced-name %)))
+ #(or (not (contains? % :mcp-server-name))
+ (string? (:mcp-server-name %)))
+ #(or (not (contains? % :mcp-tool-name))
+ (string? (:mcp-tool-name %)))
+ #(or (not (contains? % :input-schema))
+ (map? (:input-schema %)))
+ #(or (not (contains? % :defer-loading))
+ (boolean? (:defer-loading %)))))
+
+(s/def ::current-tool-metadata-list (s/coll-of ::current-tool-metadata))
+
+(s/def ::tool-invocation
+ (s/and
+ map?
+ #(s/valid? ::non-blank-string (:session-id %))
+ #(s/valid? ::non-blank-string (:tool-call-id %))
+ #(s/valid? ::non-blank-string (:tool-name %))
+ #(contains? % :arguments)
+ #(or (not (contains? % :available-tools))
+ (s/valid? ::current-tool-metadata-list (:available-tools %)))
+ #(or (not (contains? % :traceparent))
+ (string? (:traceparent %)))
+ #(or (not (contains? % :tracestate))
+ (string? (:tracestate %)))))
;; Binary result items for tool results (upstream ToolBinaryResult)
;; Each item has :data (base64 string), :mime-type, :type ("image"/"resource"),
@@ -1789,7 +1832,8 @@
(s/def ::tool-result-object
(s/keys :req-un [::text-result-for-llm ::result-type]
- :opt-un [::binary-results-for-llm ::error ::session-log ::tool-telemetry]))
+ :opt-un [::binary-results-for-llm ::error ::session-log ::tool-telemetry
+ ::tool-references]))
(s/def ::tool-result
(s/or :string string?
@@ -1910,8 +1954,17 @@
(s/def ::token-prices
(s/keys :opt-un [::input-price ::output-price ::cache-price ::batch-size
::context-max ::long-context]))
+(s/def ::discount-percent
+ (s/and number? #(<= 0 % 100)))
+(s/def ::ends-at string?)
+(s/def ::model-billing-promo
+ (s/and (s/keys :req-un [::ends-at]
+ :opt-un [::id ::discount-percent])
+ #(or (not (contains? % :message))
+ (string? (:message %)))))
+(s/def ::promo ::model-billing-promo)
(s/def ::model-billing
- (s/keys :opt-un [::multiplier ::token-prices]))
+ (s/keys :opt-un [::multiplier ::token-prices ::promo]))
;; Supported reasoning efforts
(s/def ::supported-reasoning-efforts (s/coll-of string?))
diff --git a/src/github/copilot_sdk/tools.clj b/src/github/copilot_sdk/tools.clj
index ff0d7a8..4891de4 100644
--- a/src/github/copilot_sdk/tools.clj
+++ b/src/github/copilot_sdk/tools.clj
@@ -26,14 +26,20 @@
- :defer - `:auto` or `:never` (upstream PR #1632). Controls whether the tool may
be deferred (loaded lazily via tool search) rather than always pre-loaded.
`:auto` allows deferral; `:never` forces pre-loading. Defaults to `:auto`.
+ - :metadata - Opaque host-defined map forwarded to the runtime.
The handler (when provided) receives:
- args - The parsed arguments from the LLM (no key conversion)
- - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments
+ - invocation - Map with :session-id, :tool-call-id, :tool-name, :arguments,
+ and optional :available-tools current-tool metadata maps for
+ `tool_search_tool`. Each metadata map has :name, :description,
+ and optional :namespaced-name, :mcp-server-name,
+ :mcp-tool-name, :input-schema, :defer-loading.
The handler should return one of:
- A string (treated as success)
- - A map with :text-result-for-llm and :result-type
+ - A map with :text-result-for-llm, :result-type, and optional
+ :tool-references naming tools returned by a tool-search implementation
- Any other value (JSON-encoded as success)
- A core.async channel that will yield one of the above
@@ -57,7 +63,7 @@
;; Listen for :copilot/external_tool.requested events and resolve via
;; (copilot/handle-pending-tool-call! session {:request-id ... :result ...})
```"
- [name {:keys [description parameters handler overrides-built-in-tool defer]}]
+ [name {:keys [description parameters handler overrides-built-in-tool defer metadata]}]
(cond-> {:tool-name name
:tool-description description
:tool-parameters parameters}
@@ -69,7 +75,9 @@
(some? overrides-built-in-tool)
(assoc :overrides-built-in-tool overrides-built-in-tool)
(some? defer)
- (assoc :defer defer)))
+ (assoc :defer defer)
+ (some? metadata)
+ (assoc :metadata metadata)))
(defn define-tool-from-spec
"Define a tool using a clojure.spec for parameter validation.
@@ -101,6 +109,7 @@
- :defer - `:auto` or `:never` (upstream PR #1632). When `:auto` the tool may be
deferred (loaded lazily via tool search); `:never` forces pre-loading.
Defaults to `:auto`.
+ - :metadata - Opaque host-defined map forwarded to the runtime.
Example (with handler):
```clojure
@@ -125,7 +134,7 @@
;; Resolve pending calls via
;; (copilot/handle-pending-tool-call! session {:request-id ... :result ...})
```"
- [name {:keys [description spec handler overrides-built-in-tool defer]}]
+ [name {:keys [description spec handler overrides-built-in-tool defer metadata]}]
;; For now, we don't auto-convert spec to JSON schema
;; The handler should validate using the spec
(cond-> {:tool-name name
@@ -144,7 +153,9 @@
(some? overrides-built-in-tool)
(assoc :overrides-built-in-tool overrides-built-in-tool)
(some? defer)
- (assoc :defer defer)))
+ (assoc :defer defer)
+ (some? metadata)
+ (assoc :metadata metadata)))
(defn result-success
"Create a successful tool result."
diff --git a/test/github/copilot_sdk/codegen_test.clj b/test/github/copilot_sdk/codegen_test.clj
index 0a30c44..29022a3 100644
--- a/test/github/copilot_sdk/codegen_test.clj
+++ b/test/github/copilot_sdk/codegen_test.clj
@@ -82,6 +82,20 @@
[event-type consts])))
variants))))
+(def ^:private internal-event-types
+ "Event types that the protocol schema marks internal. Generated wire specs
+ cover them for forward compatibility, but they are not part of the public
+ SDK event surface."
+ (let [variants (-> schema :definitions :SessionEvent :anyOf)]
+ (into #{}
+ (keep (fn [variant]
+ (let [variant (if-let [r (:$ref variant)]
+ (get-in schema (mapv keyword (rest (str/split r #"/"))))
+ variant)]
+ (when (= "internal" (:visibility variant))
+ (get-in variant [:properties :type :const])))))
+ variants)))
+
;; ---------------------------------------------------------------------------
;; Canonical wire-shape fixtures (post `util/wire->clj`, i.e. kebab-case keys).
;; Keep these minimal but type-correct per the upstream JSON schema.
@@ -297,10 +311,10 @@
(str event-type " missing from gen/event-types — schema may have moved")))))
(deftest public-event-types-match-generated-schema-set
- (testing "the public curated `event-types` set covers exactly the schema's event types
- (guards against drift between the hand-curated GA surface and the pinned schema)"
+ (testing "the public curated `event-types` set covers exactly the schema's public event types
+ (guards against drift without exposing protocol-internal events)"
(let [curated (set (map name sdk/event-types))
- generated gen/event-types
+ generated (clojure.set/difference gen/event-types internal-event-types)
missing (clojure.set/difference generated curated)
extra (clojure.set/difference curated generated)]
(is (empty? missing)
@@ -515,4 +529,3 @@
"would silently skip them): " (sort missing) ". Either add a "
"minimal valid fixture in `fixtures`, or remove the hand spec "
"from `github.copilot-sdk.specs`."))))
-
diff --git a/test/github/copilot_sdk/integration_test.clj b/test/github/copilot_sdk/integration_test.clj
index 4da6e1d..5ee2318 100644
--- a/test/github/copilot_sdk/integration_test.clj
+++ b/test/github/copilot_sdk/integration_test.clj
@@ -766,6 +766,96 @@
(is (= "direct" (:envValueMode create-params)))
(is (= "direct" (:envValueMode resume-params))))))
+(deftest test-tool-metadata-and-tool-search-wire-shape
+ (testing "tool metadata and tool-search config are forwarded by create and resume"
+ (let [seen (atom {})
+ metadata {"github.com/copilot:safeForTelemetry"
+ {"name" true
+ "inputs_names" false}}
+ tools [(tools/define-tool
+ "metadata-tool"
+ {:description "Tool with host metadata"
+ :metadata metadata
+ :handler (fn [_args _invocation] "ok")})
+ {:tool-name "empty-metadata-tool"
+ :metadata {}
+ :tool-handler (fn [_args _invocation] "ok")}
+ {:tool-name "no-metadata-tool"
+ :tool-handler (fn [_args _invocation] "ok")}]
+ config {:on-permission-request sdk/approve-all
+ :tools tools
+ :tool-search {:enabled true
+ :defer-threshold 17}}
+ _ (mock/set-request-hook!
+ *mock-server*
+ (fn [method params]
+ (when (#{"session.create" "session.resume"} method)
+ (swap! seen assoc method params))))
+ created (sdk/create-session *test-client* config)
+ _ (sdk/resume-session *test-client* (sdk/session-id created) config)]
+ (is (= metadata (:metadata (first tools))))
+ (doseq [method ["session.create" "session.resume"]]
+ (let [params (get @seen method)]
+ (is (= {:enabled true :deferThreshold 17}
+ (:toolSearch params)))
+ (is (= {:github.com/copilot:safeForTelemetry
+ {:name true
+ :inputs_names false}}
+ (get-in params [:tools 0 :metadata])))
+ (is (= {} (get-in params [:tools 1 :metadata])))
+ (is (not (contains? (get-in params [:tools 2]) :metadata)))))))
+
+ (testing "absent tool metadata and tool-search config are omitted"
+ (let [seen (atom nil)
+ _ (mock/set-request-hook!
+ *mock-server*
+ (fn [method params]
+ (when (= "session.create" method)
+ (reset! seen params))))
+ _ (sdk/create-session
+ *test-client*
+ {:on-permission-request sdk/approve-all
+ :tools [{:tool-name "plain-tool"
+ :tool-handler (fn [_args _invocation] "ok")}]})]
+ (is (not (contains? @seen :toolSearch)))
+ (is (not (contains? (get-in @seen [:tools 0]) :metadata))))))
+
+(deftest test-tool-search-specs
+ (testing "tool-search config uses optional boolean and integer fields"
+ (is (s/valid? ::specs/tool-search {}))
+ (is (s/valid? ::specs/tool-search {:enabled false :defer-threshold 10}))
+ (is (not (s/valid? ::specs/tool-search {:enabled "false"})))
+ (is (not (s/valid? ::specs/tool-search {:defer-threshold 0.5}))))
+
+ (testing "tool-search invocation and result fields have public specs"
+ (is (some? (s/get-spec ::specs/current-tool-metadata)))
+ (is (some? (s/get-spec ::specs/tool-invocation)))
+ (is (some? (s/get-spec ::specs/tool-references)))))
+
+(deftest test-schema-update-public-idiom-specs
+ (testing "canvas icons are represented in the public canvas snapshot spec"
+ (is (some? (s/get-spec ::specs/icon)))
+ (is (s/valid? ::specs/open-canvas-instance
+ {:instance-id "instance-1"
+ :extension-id "extension-1"
+ :canvas-id "canvas-1"
+ :icon "/tmp/canvas.png"}))
+ (is (not (s/valid? ::specs/open-canvas-instance
+ {:instance-id "instance-1"
+ :extension-id "extension-1"
+ :canvas-id "canvas-1"
+ :icon 42}))))
+
+ (testing "model billing promotions use their generated wire shape"
+ (is (some? (s/get-spec ::specs/model-billing-promo)))
+ (is (s/valid? ::specs/model-billing
+ {:promo {:id "launch"
+ :discount-percent 25.5
+ :ends-at "2026-08-01T00:00:00Z"
+ :message "Launch promotion"}}))
+ (is (not (s/valid? ::specs/model-billing
+ {:promo {:ends-at 42}})))))
+
(deftest test-instruction-directories-forwarded-on-wire
(testing ":instruction-directories is forwarded to both session.create and session.resume (upstream PR #1190)"
(let [seen (atom {})
@@ -4434,6 +4524,84 @@
;; Tool Result Normalization Tests (v3 broadcast path)
;; -----------------------------------------------------------------------------
+(deftest test-tool-search-invocation-metadata
+ (letfn [(invoke-tool! [tool-name metadata-response]
+ (let [requests (atom [])
+ invocation-promise (promise)
+ rpc-latch (java.util.concurrent.CountDownLatch. 1)
+ _ (mock/set-current-tool-metadata-response!
+ *mock-server*
+ metadata-response)
+ _ (mock/set-request-hook!
+ *mock-server*
+ (fn [method params]
+ (swap! requests conj {:method method :params params})
+ (when (= "session.tools.handlePendingToolCall" method)
+ (.countDown rpc-latch))))
+ session (sdk/create-session
+ *test-client*
+ {:on-permission-request sdk/approve-all
+ :tools [{:tool-name tool-name
+ :tool-handler
+ (fn [_args invocation]
+ (deliver invocation-promise invocation)
+ "ok")}]})
+ session-id (sdk/session-id session)]
+ (swap! (:state *test-client*) assoc :negotiated-protocol-version 3)
+ (mock/send-v3-broadcast-event!
+ *mock-server*
+ session-id
+ "external_tool.requested"
+ {:requestId (str "request-" tool-name)
+ :toolName tool-name
+ :toolCallId (str "call-" tool-name)
+ :arguments {}})
+ (let [invocation (deref invocation-promise 5000 ::timeout)]
+ (is (not= ::timeout invocation))
+ (is (.await rpc-latch 5 java.util.concurrent.TimeUnit/SECONDS))
+ {:invocation invocation
+ :requests @requests})))]
+ (testing "tool_search_tool receives the current tool metadata snapshot"
+ (let [metadata [{:name "github-tool"
+ :namespacedName "github/github-tool"
+ :mcpServerName "github"
+ :mcpToolName "github_tool"
+ :description "Search GitHub"
+ :input_schema {:type "object"}
+ :deferLoading true}]
+ {:keys [invocation requests]}
+ (invoke-tool! "tool_search_tool" {:tools metadata})]
+ (is (= [{:name "github-tool"
+ :namespaced-name "github/github-tool"
+ :mcp-server-name "github"
+ :mcp-tool-name "github_tool"
+ :description "Search GitHub"
+ :input-schema {:type "object"}
+ :defer-loading true}]
+ (:available-tools invocation)))
+ (is (= 1 (count (filter #(= "session.tools.getCurrentMetadata"
+ (:method %))
+ requests))))))
+
+ (testing "ordinary tools do not request current tool metadata"
+ (let [{:keys [invocation requests]}
+ (invoke-tool! "ordinary-tool"
+ {:tools [{:name "unused"
+ :description "Unused"}]})]
+ (is (not (contains? invocation :available-tools)))
+ (is (empty? (filter #(= "session.tools.getCurrentMetadata"
+ (:method %))
+ requests)))))
+
+ (testing "metadata lookup failure does not fail tool invocation"
+ (let [{:keys [invocation requests]}
+ (invoke-tool! "tool_search_tool"
+ (ex-info "metadata unavailable" {:code -32000}))]
+ (is (not (contains? invocation :available-tools)))
+ (is (= 1 (count (filter #(= "session.tools.getCurrentMetadata"
+ (:method %))
+ requests))))))))
+
(deftest test-tool-result-normalization
(testing "tool handler return values are normalized into the handlePendingToolCall result"
(doseq [[desc tool-handler req-id tc-id assert-result]
@@ -4455,7 +4623,15 @@
(fn [result]
(is (= "all good" (:textResultForLlm result)))
(is (= "success" (:resultType result)))
- (is (= 42 (get-in result [:toolTelemetry :latencyMs]))))]]]
+ (is (= 42 (get-in result [:toolTelemetry :latencyMs]))))]
+ ["structured ToolResultObject forwards tool references"
+ (fn [_args _inv] {:text-result-for-llm "found tools"
+ :result-type "success"
+ :tool-references ["github/search" "github/get"]})
+ "tool-req-4" "tc-4"
+ (fn [result]
+ (is (= ["github/search" "github/get"]
+ (:toolReferences result))))]]]
(testing desc
(let [requests (atom [])
rpc-latch (java.util.concurrent.CountDownLatch. 1)
diff --git a/test/github/copilot_sdk/mock_server.clj b/test/github/copilot_sdk/mock_server.clj
index b1b866a..e2140c0 100644
--- a/test/github/copilot_sdk/mock_server.clj
+++ b/test/github/copilot_sdk/mock_server.clj
@@ -71,7 +71,8 @@
pending-events ; atom - events to send on next opportunity
pending-responses ; atom {id -> chan} - responses to server→client RPCs
protocol-version ; atom Long - protocol version reported by ping/connect/status
- resume-response-extras]) ; atom map - extra fields to merge into session.resume responses
+ resume-response-extras ; atom map - extra fields to merge into session.resume responses
+ current-tool-metadata-response]) ; atom map-or-Throwable
(defn- generate-id [^AtomicLong counter]
(str "evt-" (.incrementAndGet counter)))
@@ -349,6 +350,11 @@
"session.commands.handlePendingCommand" {:ok true}
"session.commands.respondToQueuedCommand" {:success true}
"session.tools.handlePendingToolCall" {:ok true}
+ "session.tools.getCurrentMetadata"
+ (let [response @(:current-tool-metadata-response server)]
+ (if (instance? Throwable response)
+ (throw response)
+ response))
"session.ui.handlePendingElicitation" {:ok true}
"session.mode.get" {:mode "interactive"}
"session.mode.set" {:mode (get params :mode "interactive")}
@@ -470,7 +476,8 @@
:pending-events (atom [])
:pending-responses (atom {})
:protocol-version (atom DEFAULT_PROTOCOL_VERSION)
- :resume-response-extras (atom {})})))
+ :resume-response-extras (atom {})
+ :current-tool-metadata-response (atom {:tools []})})))
(defn start-mock-server!
"Start the mock server in a background thread."
@@ -512,6 +519,11 @@
[server extras]
(reset! (:resume-response-extras server) (or extras {})))
+(defn set-current-tool-metadata-response!
+ "Set the response or Throwable for `session.tools.getCurrentMetadata`."
+ [server response]
+ (reset! (:current-tool-metadata-response server) response))
+
(defn inject-tool-call!
"Inject a tool call request from the mock server.
This simulates the CLI requesting a tool invocation."