From 406278b87bdfdab27ac4d5737dace56a51a5473a Mon Sep 17 00:00:00 2001 From: Karl Krukow Date: Thu, 16 Jul 2026 15:53:02 +0200 Subject: [PATCH 1/2] feat(tools): sync upstream tool search metadata Port opaque tool metadata, session tool-search configuration, current tool metadata injection, tool references, and protocol schemas 1.0.71-2 while preserving the official Node SDK public surface. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2a0ff497-f07d-461b-8083-1b8ee4fdcbbc --- .copilot-schema-version | 2 +- resources/github/copilot_sdk/api_surface.edn | 12 + schemas/README.md | 2 +- schemas/api.schema.json | 137 ++++++++--- schemas/session-events.schema.json | 96 +++++++- src/github/copilot_sdk.clj | 12 +- src/github/copilot_sdk/client.clj | 14 +- .../copilot_sdk/generated/event_specs.clj | 232 +++++++++--------- src/github/copilot_sdk/instrument.clj | 14 +- src/github/copilot_sdk/session.clj | 22 +- src/github/copilot_sdk/specs.clj | 69 +++++- src/github/copilot_sdk/tools.clj | 23 +- test/github/copilot_sdk/codegen_test.clj | 21 +- test/github/copilot_sdk/integration_test.clj | 178 +++++++++++++- test/github/copilot_sdk/mock_server.clj | 16 +- 15 files changed, 674 insertions(+), 176 deletions(-) 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/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." From 9f4208f3ed443aa39e2044e29f7b457c51b7e577 Mon Sep 17 00:00:00 2001 From: Karl Krukow Date: Thu, 16 Jul 2026 15:53:12 +0200 Subject: [PATCH 2/2] docs: document upstream tool search support Document tool metadata, tool-search configuration, invocation metadata, tool references, canvas icons, and model billing promotions, then regenerate Codox output. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2a0ff497-f07d-461b-8083-1b8ee4fdcbbc --- CHANGELOG.md | 23 ++++ doc/api/API.html | 158 ++++++++++++++++++++++-- doc/api/getting-started.html | 4 +- doc/api/github.copilot-sdk.client.html | 8 +- doc/api/github.copilot-sdk.helpers.html | 5 +- doc/api/github.copilot-sdk.html | 15 +-- doc/api/github.copilot-sdk.session.html | 2 +- doc/api/github.copilot-sdk.tools.html | 12 +- doc/reference/API.md | 87 +++++++++++-- 9 files changed, 273 insertions(+), 41 deletions(-) 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 @@

query

query-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-directoryworkingDirectory), 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 the CopilotSession directly and hides the client it creates internally. Clojure has no implicit/global client, so join-session returns both the :client and the :session: the caller owns the client’s lifecycle and must call stop! on it when finished. Bind the returned map’s :session where a Node.js caller would use the awaited return value, and keep the :client for 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 @@

+

GitHub telemetry forwarding (: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)

Internal session telemetry (: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