From 7f620a5108ddbedc12a970ad05631ece6127e338 Mon Sep 17 00:00:00 2001 From: Karl Krukow Date: Mon, 13 Jul 2026 22:46:38 +0200 Subject: [PATCH 1/3] chore(schema): bump pinned wire schema 1.0.68 -> 1.0.70 Regenerate the wire-spec/coercion layer (bb schemas:fetch + bb codegen) against @github/copilot 1.0.70. Ports upstream schema bumps 1.0.69-1, 1.0.69-3, 1.0.69, 1.0.70-0, and 1.0.70 (github/copilot-sdk PRs #1908, #1940, #1941, #1954, #1962). Generated files only; no public API change. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6c1ba270-39e7-404f-b8c3-bbe47b3b5635 --- .copilot-schema-version | 2 +- schemas/README.md | 2 +- schemas/api.schema.json | 2844 +++++++++++++---- schemas/session-events.schema.json | 940 +++++- .../copilot_sdk/generated/event_specs.clj | 284 +- 5 files changed, 3150 insertions(+), 922 deletions(-) diff --git a/.copilot-schema-version b/.copilot-schema-version index 26e1b45..9d8637c 100644 --- a/.copilot-schema-version +++ b/.copilot-schema-version @@ -1 +1 @@ -1.0.68 \ No newline at end of file +1.0.70 diff --git a/schemas/README.md b/schemas/README.md index d28ef55..240a7ed 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.68` +Currently pinned version: `1.0.70` diff --git a/schemas/api.schema.json b/schemas/api.schema.json index c12e055..82b9e37 100644 --- a/schemas/api.schema.json +++ b/schemas/api.schema.json @@ -21,7 +21,7 @@ "description": "Performs the SDK server connection handshake and validates the optional connection token. Marked internal because this is JSON-RPC transport plumbing invoked automatically by an SDK client's own `connect()` wrapper, not a user-facing method. Stays internal as long as the SDK client owns the handshake; would only become public if the SDK ever exposed the raw schema surface to consumers without a connection wrapper.", "params": { "$ref": "#/definitions/ConnectRequest", - "description": "Optional connection token presented by the SDK client during the handshake.", + "description": "Parameters for the `server.connect` handshake: an optional connection token and optional connection-level opt-ins (e.g. GitHub telemetry forwarding).", "visibility": "internal" }, "result": { @@ -93,7 +93,8 @@ "result": { "type": "array", "items": { - "$ref": "#/definitions/AccountAllUsers" + "$ref": "#/definitions/AccountAllUsers", + "description": "Authenticated account entry returned by `account.getAllUsers`, with auth info and an optional associated token." }, "description": "List of all authenticated users" }, @@ -483,6 +484,18 @@ "stability": "experimental" } }, + "commands": { + "list": { + "rpcMethod": "commands.list", + "description": "Lists the well-known built-in slash commands that work as the first message in a new session (e.g. /plan, /env), without requiring an active session. Commands that depend on session state, authentication, or a synced session are omitted.", + "params": null, + "result": { + "$ref": "#/definitions/CommandList", + "description": "Slash commands available in the session, after applying any include/exclude filters." + }, + "stability": "experimental" + } + }, "user": { "settings": { "reload": { @@ -1076,6 +1089,71 @@ }, "stability": "experimental" }, + "sendMessages": { + "rpcMethod": "session.sendMessages", + "description": "Sends zero or more user messages to the session in a single turn and returns their message IDs. All provided messages are appended to the conversation in order, then exactly one agent turn runs over the resulting history. When the list is empty, one turn runs over the existing history with no new user message. Remote-backed (Mission Control) sessions do not support this method and will return an error.", + "params": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "description": "Target session identifier" + }, + "messages": { + "type": "array", + "items": { + "$ref": "#/definitions/SendMessageItem", + "description": "A single user message to append to the session as part of a `session.sendMessages` turn" + }, + "description": "The user messages to append to the conversation, in order. May be empty, in which case a single turn runs over the existing history with no new user message." + }, + "mode": { + "$ref": "#/definitions/SendMode", + "description": "How to deliver the messages. `enqueue` (default) appends to the message queue. `immediate` interjects during an in-progress turn." + }, + "prepend": { + "type": "boolean", + "description": "If true, adds the messages to the front of the queue instead of the end" + }, + "agentMode": { + "$ref": "#/definitions/SendAgentMode", + "description": "The UI mode the agent was in when these messages were sent. Defaults to the session's current mode." + }, + "requestHeaders": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Custom HTTP headers to include in outbound model requests for this turn. Merged with session-level provider headers; per-turn headers augment and overwrite session-level headers with the same key." + }, + "traceparent": { + "type": "string", + "description": "W3C Trace Context traceparent header for distributed tracing of this agent turn" + }, + "tracestate": { + "type": "string", + "description": "W3C Trace Context tracestate header for distributed tracing" + }, + "wait": { + "type": "boolean", + "description": "If true, await completion of the agentic loop for this turn before returning. Defaults to false (fire-and-forget). When true, the result still contains the same `messageIds`; the caller can rely on the agent having processed the messages before the call resolves." + } + }, + "required": [ + "sessionId", + "messages" + ], + "additionalProperties": false, + "description": "Parameters for sending zero or more user messages to the session in a single turn. Remote-backed (Mission Control) sessions do not support this method and will return an error.", + "title": "SendMessagesRequest", + "stability": "experimental" + }, + "result": { + "$ref": "#/definitions/SendMessagesResult", + "description": "Result of sending zero or more user messages" + }, + "stability": "experimental" + }, "abort": { "rpcMethod": "session.abort", "description": "Aborts the current agent turn.", @@ -1191,6 +1269,50 @@ "stability": "experimental" } }, + "debug": { + "collectLogs": { + "rpcMethod": "session.debug.collectLogs", + "description": "Collects a redacted session debug log bundle into a local archive or staging directory. The runtime includes session-owned logs by default and accepts caller-provided diagnostic entries so host applications can add their own files without changing this API shape.", + "params": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "description": "Target session identifier" + }, + "destination": { + "$ref": "#/definitions/DebugCollectLogsDestination", + "description": "Where the redacted bundle should be written. Use `archive` to produce a .tgz, or `directory` to stage redacted files for caller-managed upload/post-processing." + }, + "include": { + "$ref": "#/definitions/DebugCollectLogsInclude", + "description": "Which built-in session diagnostics to include. Omitted fields default to true." + }, + "additionalEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/DebugCollectLogsEntry", + "description": "A caller-provided server-local file or directory to include in the debug bundle." + }, + "description": "Caller-provided server-local files or directories to include in addition to the runtime's built-in session diagnostics. This lets host applications add their own diagnostics without changing the API shape." + } + }, + "required": [ + "sessionId", + "destination" + ], + "additionalProperties": false, + "description": "Options for collecting a redacted session debug bundle.", + "title": "DebugCollectLogsRequest", + "stability": "experimental" + }, + "result": { + "$ref": "#/definitions/DebugCollectLogsResult", + "description": "Result of collecting a redacted debug bundle." + }, + "stability": "experimental" + } + }, "canvas": { "list": { "rpcMethod": "session.canvas.list", @@ -1398,6 +1520,10 @@ "$ref": "#/definitions/ReasoningSummary", "description": "Reasoning summary mode to request for supported model clients" }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level to request for supported models" + }, "modelCapabilities": { "$ref": "#/definitions/ModelCapabilitiesOverride", "description": "Override individual model capabilities resolved by the runtime" @@ -3032,7 +3158,7 @@ }, "startServer": { "rpcMethod": "session.mcp.startServer", - "description": "Starts an individual MCP server on the session's host.", + "description": "Starts an individual MCP server on the live session from a caller-supplied config. Session-scoped and ephemeral: the server is added to this session's running set only and is reaped when the session ends. Does NOT modify persistent user configuration (`mcp.config.*`), so it does not affect future sessions. The server surfaces through `session.mcp.list` and the `session.mcp_servers_loaded` / `session.mcp_server_status_changed` events like any other server.", "params": { "type": "object", "properties": { @@ -3045,9 +3171,8 @@ "description": "Name of the MCP server to start" }, "config": { - "description": "Opaque server configuration (MCPServerConfig). Marked internal: an in-process runtime shape supplied only by in-process CLI callers.", - "x-opaque-json": true, - "visibility": "internal" + "$ref": "#/definitions/McpServerConfig", + "description": "MCP server configuration (stdio process or remote HTTP/SSE)" } }, "required": [ @@ -3056,19 +3181,18 @@ "config" ], "additionalProperties": false, - "description": "Server name and opaque configuration for an individual MCP server start.", + "description": "Server name and configuration for an individual MCP server start.", "title": "McpStartServerRequest", - "visibility": "internal" + "stability": "experimental" }, "result": { "type": "null" }, - "stability": "experimental", - "visibility": "internal" + "stability": "experimental" }, "restartServer": { "rpcMethod": "session.mcp.restartServer", - "description": "Restarts an individual MCP server on the session's host (stops then starts).", + "description": "Restarts an individual MCP server on the live session (stops then starts). Omit `config` for a config-free restart-by-name of an already-configured server; supply `config` to restart with a replacement configuration. Session-scoped and ephemeral: does NOT modify persistent user configuration (`mcp.config.*`).", "params": { "type": "object", "properties": { @@ -3081,26 +3205,23 @@ "description": "Name of the MCP server to restart" }, "config": { - "description": "Opaque server configuration (MCPServerConfig). Marked internal: an in-process runtime shape supplied only by in-process CLI callers.", - "x-opaque-json": true, - "visibility": "internal" + "$ref": "#/definitions/McpServerConfig", + "description": "Replacement MCP server configuration (stdio process or remote HTTP/SSE). Omit to restart the server with its already-registered configuration (config-free restart-by-name)." } }, "required": [ "sessionId", - "serverName", - "config" + "serverName" ], "additionalProperties": false, - "description": "Server name and opaque configuration for an individual MCP server restart.", + "description": "Server name and optional replacement configuration for an individual MCP server restart. Omit `config` for a config-free restart-by-name of an already-configured server.", "title": "McpRestartServerRequest", - "visibility": "internal" + "stability": "experimental" }, "result": { "type": "null" }, - "stability": "experimental", - "visibility": "internal" + "stability": "experimental" }, "stopServer": { "rpcMethod": "session.mcp.stopServer", @@ -3240,42 +3361,6 @@ "stability": "experimental" }, "oauth": { - "respond": { - "rpcMethod": "session.mcp.oauth.respond", - "description": "Responds to a pending MCP OAuth request with an in-process provider. This internal CLI-only API accepts a live OAuthClientProvider instance and cannot be used over the SDK JSON-RPC boundary. Use session.mcp.oauth.handlePendingRequest instead for the public SDK-safe response path.", - "params": { - "type": "object", - "properties": { - "sessionId": { - "type": "string", - "description": "Target session identifier" - }, - "requestId": { - "type": "string", - "description": "OAuth request identifier from mcp.oauth_required" - }, - "provider": { - "description": "In-process OAuthClientProvider instance, or omitted to deny. Marked internal: cannot be serialized across the JSON-RPC boundary.", - "x-opaque-json": true, - "visibility": "internal" - } - }, - "required": [ - "sessionId", - "requestId" - ], - "additionalProperties": false, - "description": "MCP OAuth request id and optional provider response.", - "title": "McpOauthRespondRequest", - "visibility": "internal" - }, - "result": { - "$ref": "#/definitions/McpOauthRespondResult", - "description": "Empty result after recording the MCP OAuth response." - }, - "stability": "experimental", - "visibility": "internal" - }, "handlePendingRequest": { "rpcMethod": "session.mcp.oauth.handlePendingRequest", "description": "Resolves a pending MCP OAuth request with a host-provided token or cancellation. The pending request is emitted as mcp.oauth_required with the data necessary to authorize the request.", @@ -3412,7 +3497,8 @@ "apps": { "readResource": { "rpcMethod": "session.mcp.apps.readResource", - "description": "Fetch an MCP resource (typically a `ui://` MCP App bundle, per SEP-1865) from a connected server. Requires the `mcp-apps` session capability.", + "description": "Deprecated/obsolete alias for `session.mcp.resources.read`; retained for backwards compatibility with earlier MCP Apps host integrations.", + "deprecated": true, "params": { "type": "object", "properties": { @@ -3428,7 +3514,7 @@ }, "uri": { "type": "string", - "description": "Resource URI (typically ui://...)" + "description": "Resource URI" } }, "required": [ @@ -3437,13 +3523,14 @@ "uri" ], "additionalProperties": false, - "description": "MCP server and resource URI to fetch.", + "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadRequest`; use `session.mcp.resources.read` instead.", "title": "McpAppsReadResourceRequest", + "deprecated": true, "stability": "experimental" }, "result": { "$ref": "#/definitions/McpAppsReadResourceResult", - "description": "Resource contents returned by the MCP server." + "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadResult`; use `session.mcp.resources.read` instead." }, "stability": "experimental" }, @@ -3624,6 +3711,117 @@ }, "stability": "experimental" } + }, + "resources": { + "read": { + "rpcMethod": "session.mcp.resources.read", + "description": "Fetch an MCP resource from a connected server by URI (proxies MCP `resources/read`).", + "params": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "description": "Target session identifier" + }, + "serverName": { + "type": "string", + "minLength": 1, + "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", + "description": "Name of the MCP server hosting the resource" + }, + "uri": { + "type": "string", + "description": "Resource URI" + } + }, + "required": [ + "sessionId", + "serverName", + "uri" + ], + "additionalProperties": false, + "description": "MCP server and resource URI to fetch.", + "title": "McpResourcesReadRequest", + "stability": "experimental" + }, + "result": { + "$ref": "#/definitions/McpResourcesReadResult", + "description": "Resource contents returned by the MCP server." + }, + "stability": "experimental" + }, + "list": { + "rpcMethod": "session.mcp.resources.list", + "description": "Enumerate one page of resources a connected MCP server exposes (proxies MCP `resources/list`). Pass `cursor` to continue from a prior result's `nextCursor`.", + "params": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "description": "Target session identifier" + }, + "serverName": { + "type": "string", + "minLength": 1, + "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", + "description": "Name of the MCP server whose resources to enumerate" + }, + "cursor": { + "type": "string", + "description": "Opaque MCP pagination cursor from a prior `nextCursor` value" + } + }, + "required": [ + "sessionId", + "serverName" + ], + "additionalProperties": false, + "description": "MCP server whose resources to enumerate.", + "title": "McpResourcesListRequest", + "stability": "experimental" + }, + "result": { + "$ref": "#/definitions/McpResourcesListResult", + "description": "One page of resources advertised by the named MCP server." + }, + "stability": "experimental" + }, + "listTemplates": { + "rpcMethod": "session.mcp.resources.listTemplates", + "description": "Enumerate one page of resource templates a connected MCP server exposes (proxies MCP `resources/templates/list`). Pass `cursor` to continue from a prior result's `nextCursor`.", + "params": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "description": "Target session identifier" + }, + "serverName": { + "type": "string", + "minLength": 1, + "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", + "description": "Name of the MCP server whose resource templates to enumerate" + }, + "cursor": { + "type": "string", + "description": "Opaque MCP pagination cursor from a prior `nextCursor` value" + } + }, + "required": [ + "sessionId", + "serverName" + ], + "additionalProperties": false, + "description": "MCP server whose resource templates to enumerate.", + "title": "McpResourcesListTemplatesRequest", + "stability": "experimental" + }, + "result": { + "$ref": "#/definitions/McpResourcesListTemplatesResult", + "description": "One page of resource templates advertised by the named MCP server." + }, + "stability": "experimental" + } } }, "plugins": { @@ -3673,6 +3871,10 @@ "type": "boolean", "description": "Re-load user, plugin, and (subject to `deferRepoHooks`) repo hooks. Defaults to true. Has no effect when the host has not registered a hook reloader (e.g. remote sessions)." }, + "reloadExtensions": { + "type": "boolean", + "description": "Re-discover and relaunch subprocess extensions (including plugin-shipped extensions) after refreshing plugins. Defaults to true. Has no effect when the session has no active extension controller (e.g. extensions were not requested for the session)." + }, "deferRepoHooks": { "type": "boolean", "description": "When true, skip repo-level hooks during the hook reload. Use before folder trust is confirmed; load them post-trust via `sessions.loadDeferredRepoHooks`." @@ -3808,6 +4010,10 @@ "$ref": "#/definitions/OptionsUpdateReasoningSummary", "description": "Reasoning summary mode for supported model clients." }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level for supported models." + }, "clientName": { "type": "string", "description": "Identifier of the client driving the session." @@ -3925,7 +4131,8 @@ "installedPlugins": { "type": "array", "items": { - "$ref": "#/definitions/SessionInstalledPlugin" + "$ref": "#/definitions/SessionInstalledPlugin", + "description": "Installed plugin record for a session, with marketplace, version, install time, enabled state, cache path, and source." }, "description": "Full set of installed plugins for the session. Replaces the existing list; the runtime invalidates the skills cache only when the list materially changes." }, @@ -3991,7 +4198,8 @@ "additionalContentExclusionPolicies": { "type": "array", "items": { - "$ref": "#/definitions/OptionsUpdateAdditionalContentExclusionPolicy" + "$ref": "#/definitions/OptionsUpdateAdditionalContentExclusionPolicy", + "description": "Content-exclusion policy supplied to `session.options.update`, with rules, last-updated data, and scope." }, "description": "Additional content-exclusion policies to merge into the session's policy set.", "stability": "experimental" @@ -4223,7 +4431,8 @@ "attachments": { "type": "array", "items": { - "$ref": "#/definitions/PushAttachment" + "$ref": "#/definitions/PushAttachment", + "description": "Attachment union accepted by push input, covering files, directories, GitHub objects, blobs, snippets, and extension context." }, "description": "Attachments to push into the next user-message turn. extension_context entries take the slim shape; standard variants take their full AttachmentSchema shape." } @@ -4759,7 +4968,7 @@ }, "response": { "$ref": "#/definitions/UIUserInputResponse", - "description": "Schema for the `UIUserInputResponse` type." + "description": "User response for a pending user-input request, with answer text and whether it was typed freeform." } }, "required": [ @@ -4898,7 +5107,7 @@ }, "response": { "$ref": "#/definitions/UIExitPlanModeResponse", - "description": "Schema for the `UIExitPlanModeResponse` type." + "description": "User response for a pending exit-plan-mode request, with approval state, selected action, auto-approve flag, and feedback." } }, "required": [ @@ -5005,7 +5214,8 @@ "additionalContentExclusionPolicies": { "type": "array", "items": { - "$ref": "#/definitions/PermissionsConfigureAdditionalContentExclusionPolicy" + "$ref": "#/definitions/PermissionsConfigureAdditionalContentExclusionPolicy", + "description": "Content-exclusion policy supplied to `session.permissions.configure`, with rules, last-updated data, and scope." }, "description": "If specified, replaces the host-supplied GitHub Content Exclusion policies on the session (combined with natively-discovered policies when evaluating tool/file access). Omit to leave the current policies unchanged." } @@ -5120,7 +5330,7 @@ }, "setAllowAll": { "rpcMethod": "session.permissions.setAllowAll", - "description": "Enables or disables full allow-all permissions (tools, paths, and URLs) for the session. Used by attach-mode clients (e.g. LocalRpcSession's `/allow-all` forwarder) to flip the target session's permission state. Unlike `setApproveAll`, this swaps in the unrestricted path and URL managers and emits `session.permissions_changed` on transition. The result returns the authoritative post-mutation state so callers can update their local mirrors without racing the `session.permissions_changed` notification on the same wire.", + "description": "Sets the allow-all permission mode for the session. Used by attach-mode clients (e.g. LocalRpcSession's `/allow-all` forwarder) to flip the target session's permission state. The `on` mode swaps in unrestricted path and URL managers and emits `session.permissions_changed` on transition; the `auto` mode keeps normal prompt paths active while attaching LLM safety recommendations. The result returns the authoritative post-mutation state so callers can update their local mirrors without racing the `session.permissions_changed` notification on the same wire.", "params": { "type": "object", "properties": { @@ -5128,9 +5338,17 @@ "type": "string", "description": "Target session identifier" }, + "mode": { + "$ref": "#/definitions/PermissionsAllowAllMode", + "description": "Allow-all mode to apply. `on` enables full allow-all; `auto` enables advisory LLM auto-approval; `off` disables both." + }, "enabled": { "type": "boolean", - "description": "Whether to enable full allow-all permissions" + "description": "Legacy full allow-all toggle. Prefer `mode`; when `mode` is omitted, `enabled: true` is treated as `mode: \"on\"` and any other value is treated as `mode: \"off\"`." + }, + "model": { + "type": "string", + "description": "Optional model id for the `auto` mode auto-approval LLM judging. Only meaningful when `mode` is `auto`; ignored otherwise. When omitted, the session's active model is used." }, "source": { "$ref": "#/definitions/PermissionsSetAllowAllSource", @@ -5138,11 +5356,10 @@ } }, "required": [ - "sessionId", - "enabled" + "sessionId" ], "additionalProperties": false, - "description": "Whether to enable full allow-all permissions for the session.", + "description": "Allow-all mode to apply for the session.", "title": "PermissionsSetAllowAllRequest", "stability": "experimental" }, @@ -5154,7 +5371,7 @@ }, "getAllowAll": { "rpcMethod": "session.permissions.getAllowAll", - "description": "Returns whether full allow-all permissions are currently active for the session.", + "description": "Returns the current allow-all permission mode for the session.", "params": { "type": "object", "properties": { @@ -5173,7 +5390,7 @@ }, "result": { "$ref": "#/definitions/AllowAllPermissionState", - "description": "Current full allow-all permission state." + "description": "Current allow-all permission mode." }, "stability": "experimental" }, @@ -5194,14 +5411,16 @@ "add": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Rules to add to the scope. Applied before `remove`/`removeAll`." }, "remove": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Specific rules to remove from the scope. Ignored when `removeAll` is true." }, @@ -5955,50 +6174,111 @@ "stability": "experimental" } }, - "shell": { - "exec": { - "rpcMethod": "session.shell.exec", - "description": "Starts a shell command and streams output through session notifications.", + "settings": { + "snapshot": { + "rpcMethod": "session.settings.snapshot", + "description": "Returns a redacted snapshot of session runtime settings, with secrets and raw feature flags excluded. Internal: the runtime settings shape is a runtime-internal surface and is deliberately kept out of the public SDK, because consumers should not depend on the runtime's internal settings layout. It remains callable in-process and is expected to be reworked as the runtime internals are consolidated.", "params": { "type": "object", "properties": { "sessionId": { "type": "string", "description": "Target session identifier" - }, - "command": { - "type": "string", - "description": "Shell command to execute" - }, - "cwd": { - "type": "string", - "description": "Working directory (defaults to session working directory)" - }, - "timeout": { - "type": "integer", - "minimum": 0, - "format": "duration", - "description": "Timeout in milliseconds (default: 30000)" } }, "required": [ - "sessionId", - "command" + "sessionId" ], "additionalProperties": false, - "description": "Shell command to run, with optional working directory and timeout in milliseconds.", - "title": "ShellExecRequest", - "stability": "experimental" + "description": "Identifies the target session." }, "result": { - "$ref": "#/definitions/ShellExecResult", - "description": "Identifier of the spawned process, used to correlate streamed output and exit notifications." + "$ref": "#/definitions/SessionSettingsSnapshot", + "description": "Redacted, serializable view of session runtime settings for SDK boundary consumers. Secrets and raw feature flags are intentionally excluded." }, - "stability": "experimental" + "stability": "experimental", + "visibility": "internal" }, - "kill": { - "rpcMethod": "session.shell.kill", - "description": "Sends a signal to a shell process previously started via \"shell.exec\".", + "evaluatePredicate": { + "rpcMethod": "session.settings.evaluatePredicate", + "description": "Evaluates a named Rust-owned settings predicate without exposing raw feature flags. Internal: the raw feature-flag names and composition are runtime-internal, so this predicate-evaluation helper is kept out of the public SDK surface and is callable in-process only.", + "params": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "description": "Target session identifier" + }, + "name": { + "$ref": "#/definitions/SessionSettingsPredicateName", + "description": "Predicate name. The runtime owns the raw feature-flag names and composition logic." + }, + "toolName": { + "type": "string", + "description": "Tool name for tool-scoped predicates such as trivial-change handling." + } + }, + "required": [ + "sessionId", + "name" + ], + "additionalProperties": false, + "description": "Named Rust-owned settings predicate to evaluate for this session.", + "title": "SessionSettingsEvaluatePredicateRequest", + "stability": "experimental" + }, + "result": { + "$ref": "#/definitions/SessionSettingsEvaluatePredicateResult", + "description": "Result of evaluating a Rust-owned settings predicate." + }, + "stability": "experimental", + "visibility": "internal" + } + }, + "shell": { + "exec": { + "rpcMethod": "session.shell.exec", + "description": "Starts a shell command and streams output through session notifications.", + "params": { + "type": "object", + "properties": { + "sessionId": { + "type": "string", + "description": "Target session identifier" + }, + "command": { + "type": "string", + "description": "Shell command to execute" + }, + "cwd": { + "type": "string", + "description": "Working directory (defaults to session working directory)" + }, + "timeout": { + "type": "integer", + "minimum": 0, + "format": "duration", + "description": "Timeout in milliseconds (default: 30000)" + } + }, + "required": [ + "sessionId", + "command" + ], + "additionalProperties": false, + "description": "Shell command to run, with optional working directory and timeout in milliseconds.", + "title": "ShellExecRequest", + "stability": "experimental" + }, + "result": { + "$ref": "#/definitions/ShellExecResult", + "description": "Identifier of the spawned process, used to correlate streamed output and exit notifications." + }, + "stability": "experimental" + }, + "kill": { + "rpcMethod": "session.shell.kill", + "description": "Sends a signal to a shell process previously started via \"shell.exec\".", "params": { "type": "object", "properties": { @@ -6392,7 +6672,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 the full interactive OAuth flow to the consumer; when no interest is registered the runtime installs a browserless fallback that silently reuses cached tokens). 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 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`." } }, "required": [ @@ -7336,10 +7616,10 @@ "gitHubTelemetry": { "event": { "rpcMethod": "gitHubTelemetry.event", - "description": "Forwards a single GitHub telemetry event to a host connection that opted into telemetry forwarding for the session.", + "description": "Forwards a single GitHub telemetry event to a host connection that opted into telemetry forwarding during the `server.connect` handshake. Opted-in connections receive every event the runtime emits after the handshake — across all sessions, plus sessionless events (for example, `server.sendTelemetry` calls with no session id).", "params": { "$ref": "#/definitions/GitHubTelemetryNotification", - "description": "Payload for a `gitHubTelemetry.event` notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding for the session." + "description": "Payload for a `gitHubTelemetry.event` notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding during the `server.connect` handshake." }, "result": { "type": "null" @@ -7413,7 +7693,7 @@ "authInfo" ], "additionalProperties": false, - "description": "Schema for the `AccountAllUsers` type.", + "description": "Authenticated account entry returned by `account.getAllUsers`, with auth info and an optional associated token.", "title": "AccountAllUsers" }, "AccountGetCurrentAuthResult": { @@ -7460,7 +7740,8 @@ "quotaSnapshots": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/AccountQuotaSnapshot" + "$ref": "#/definitions/AccountQuotaSnapshot", + "description": "Quota usage snapshot for a Copilot quota type, including entitlement, used requests, overage, reset date, and remaining percentage." }, "description": "Quota snapshots keyed by type (e.g., chat, completions, premium_interactions)" } @@ -7592,7 +7873,7 @@ "overageAllowedWithExhaustedQuota" ], "additionalProperties": false, - "description": "Schema for the `AccountQuotaSnapshot` type.", + "description": "Quota usage snapshot for a Copilot quota type, including entitlement, used requests, overage, reset date, and remaining percentage.", "title": "AccountQuotaSnapshot" }, "AdaptiveThinkingSupport": { @@ -7636,7 +7917,7 @@ "preferredForCreation" ], "additionalProperties": false, - "description": "Schema for the `AgentDiscoveryPath` type.", + "description": "Canonical directory where custom agents can be discovered or created, with scope, preference, and optional project path.", "title": "AgentDiscoveryPath" }, "AgentDiscoveryPathList": { @@ -7645,7 +7926,8 @@ "paths": { "type": "array", "items": { - "$ref": "#/definitions/AgentDiscoveryPath" + "$ref": "#/definitions/AgentDiscoveryPath", + "description": "Canonical directory where custom agents can be discovered or created, with scope, preference, and optional project path." }, "description": "Canonical agent create/discovery directories, in priority order" } @@ -7750,7 +8032,7 @@ "id" ], "additionalProperties": false, - "description": "Schema for the `AgentInfo` type.", + "description": "Custom agent metadata, including identifiers, display details, source, tools, model, MCP servers, skills, and file path.", "title": "AgentInfo" }, "AgentInfoSource": { @@ -7780,7 +8062,8 @@ "agents": { "type": "array", "items": { - "$ref": "#/definitions/AgentInfo" + "$ref": "#/definitions/AgentInfo", + "description": "Custom agent metadata, including identifiers, display details, source, tools, model, MCP servers, skills, and file path." }, "description": "Available custom agents" } @@ -8220,7 +8503,8 @@ "agents": { "type": "array", "items": { - "$ref": "#/definitions/AgentInfo" + "$ref": "#/definitions/AgentInfo", + "description": "Custom agent metadata, including identifiers, display details, source, tools, model, MCP servers, skills, and file path." }, "description": "Reloaded custom agents" } @@ -8310,7 +8594,11 @@ }, "enabled": { "type": "boolean", - "description": "Authoritative allow-all state after the mutation" + "description": "Authoritative full allow-all state after the mutation" + }, + "mode": { + "$ref": "#/definitions/PermissionsAllowAllMode", + "description": "Authoritative allow-all mode after the mutation" } }, "required": [ @@ -8327,13 +8615,17 @@ "enabled": { "type": "boolean", "description": "Whether full allow-all permissions are currently active" + }, + "mode": { + "$ref": "#/definitions/PermissionsAllowAllMode", + "description": "Current allow-all mode" } }, "required": [ "enabled" ], "additionalProperties": false, - "description": "Current full allow-all permission state.", + "description": "Current allow-all permission mode.", "title": "AllowAllPermissionState" }, "ApiKeyAuthInfo": { @@ -8363,7 +8655,7 @@ "host" ], "additionalProperties": false, - "description": "Schema for the `ApiKeyAuthInfo` type.", + "description": "Authentication-info variant for API-key authentication to a non-GitHub LLM provider, carrying the secret `apiKey` and host.", "title": "ApiKeyAuthInfo" }, "Attachment": { @@ -9138,25 +9430,32 @@ "AuthInfo": { "anyOf": [ { - "$ref": "#/definitions/HMACAuthInfo" + "$ref": "#/definitions/HMACAuthInfo", + "description": "Authentication-info variant for GitHub-internal HMAC auth, carrying the public GitHub host and HMAC secret." }, { - "$ref": "#/definitions/EnvAuthInfo" + "$ref": "#/definitions/EnvAuthInfo", + "description": "Authentication-info variant for a token sourced from an environment variable, with host, optional login, token, and env var name." }, { - "$ref": "#/definitions/TokenAuthInfo" + "$ref": "#/definitions/TokenAuthInfo", + "description": "Authentication-info variant for SDK-configured token authentication, carrying host and the secret token value." }, { - "$ref": "#/definitions/CopilotApiTokenAuthInfo" + "$ref": "#/definitions/CopilotApiTokenAuthInfo", + "description": "Authentication-info variant for direct Copilot API token auth sourced from environment variables, with public GitHub host." }, { - "$ref": "#/definitions/UserAuthInfo" + "$ref": "#/definitions/UserAuthInfo", + "description": "Authentication-info variant for OAuth user auth, with host and login; the token remains in the runtime secret store." }, { - "$ref": "#/definitions/GhCliAuthInfo" + "$ref": "#/definitions/GhCliAuthInfo", + "description": "Authentication-info variant for GitHub CLI credentials, carrying host, login, and the `gh auth token` value." }, { - "$ref": "#/definitions/ApiKeyAuthInfo" + "$ref": "#/definitions/ApiKeyAuthInfo", + "description": "Authentication-info variant for API-key authentication to a non-GitHub LLM provider, carrying the secret `apiKey` and host." } ], "description": "Initial authentication info for the session.", @@ -9546,7 +9845,8 @@ "commands": { "type": "array", "items": { - "$ref": "#/definitions/SlashCommandInfo" + "$ref": "#/definitions/SlashCommandInfo", + "description": "Slash-command metadata with name, aliases, description, kind, input hint, execution allowance, and schedulability." }, "description": "Commands available in this session" } @@ -9879,10 +10179,14 @@ "token": { "type": "string", "description": "Connection token; required when the server was started with COPILOT_CONNECTION_TOKEN" + }, + "enableGitHubTelemetryForwarding": { + "type": "boolean", + "description": "Opt this connection in to GitHub telemetry forwarding for its lifetime. When set, the runtime forwards every internal telemetry event it emits — across all sessions, plus sessionless events — to this connection over the `gitHubTelemetry.event` notification, in addition to the runtime's normal GitHub/CTS emission (dual-write). Intended for first-party hosts that re-emit the events into their own telemetry stores. Both unrestricted and restricted events are forwarded, each tagged with a `restricted` discriminator; a backstop drops restricted events when restricted telemetry is disabled." } }, "additionalProperties": false, - "description": "Optional connection token presented by the SDK client during the handshake.", + "description": "Parameters for the `server.connect` handshake: an optional connection token and optional connection-level opt-ins (e.g. GitHub telemetry forwarding).", "title": "ConnectRequest", "visibility": "internal" }, @@ -9996,20 +10300,23 @@ "host" ], "additionalProperties": false, - "description": "Schema for the `CopilotApiTokenAuthInfo` type.", + "description": "Authentication-info variant for direct Copilot API token auth sourced from environment variables, with public GitHub host.", "title": "CopilotApiTokenAuthInfo" }, "CopilotUserResponse": { "type": "object", "properties": { "login": { - "type": "string" + "type": "string", + "description": "GitHub login of the authenticated user." }, "access_type_sku": { - "type": "string" + "type": "string", + "description": "Copilot access SKU identifier (e.g. `free_limited_copilot`, `copilot_for_business_seat_quota`) used to gate model and feature access." }, "analytics_tracking_id": { - "type": "string" + "type": "string", + "description": "Opaque analytics tracking identifier for the user, forwarded from the Copilot API." }, "assigned_date": { "anyOf": [ @@ -10026,29 +10333,35 @@ { "type": "null" } - ] + ], + "description": "Date the Copilot seat was assigned to the user, if applicable." }, "can_signup_for_limited": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user is eligible to sign up for the free/limited Copilot tier." }, "chat_enabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether Copilot chat is enabled for the user." }, "copilot_plan": { - "type": "string" + "type": "string", + "description": "Copilot plan name for the user (e.g. `individual`, `business`, `enterprise`)." }, "copilotignore_enabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether `.copilotignore` content-exclusion support is enabled for the user." }, "endpoints": { "$ref": "#/definitions/CopilotUserResponseEndpoints", - "description": "Schema for the `CopilotUserResponseEndpoints` type." + "description": "Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough." }, "organization_login_list": { "type": "array", "items": { "type": "string" - } + }, + "description": "Logins of the organizations the user belongs to." }, "organization_list": { "anyOf": [ @@ -10112,10 +10425,12 @@ { "type": "null" } - ] + ], + "description": "Organizations the user belongs to, each with an optional login and display name." }, "codex_agent_enabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether the Codex agent is enabled for the user." }, "is_mcp_enabled": { "anyOf": [ @@ -10132,53 +10447,66 @@ { "type": "null" } - ] + ], + "description": "Whether MCP (Model Context Protocol) support is enabled for the user." }, "quota_reset_date": { - "type": "string" + "type": "string", + "description": "Date the user's usage quota next resets, as a raw string from the Copilot API; see `quota_reset_date_utc` for the UTC-normalized value." }, "quota_snapshots": { "$ref": "#/definitions/CopilotUserResponseQuotaSnapshots", - "description": "Schema for the `CopilotUserResponseQuotaSnapshots` type." + "description": "Quota snapshot map from the raw Copilot user-response passthrough, with chat, completions, premium-interactions, and other entries." }, "restricted_telemetry": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user's telemetry is subject to restricted-data handling." }, "is_staff": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user is a GitHub/Microsoft staff member." }, "te": { - "type": "boolean" + "type": "boolean", + "description": "Raw passthrough of the Copilot API `te` flag for the user (an opaque server-side eligibility signal surfaced in telemetry); not otherwise interpreted by the runtime." }, "token_based_billing": { - "type": "boolean" + "type": "boolean", + "description": "Whether the account is on usage-based (token/AI-credit) billing rather than a fixed premium-request quota." }, "can_upgrade_plan": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user is able to upgrade their Copilot plan." }, "quota_reset_date_utc": { - "type": "string" + "type": "string", + "description": "UTC-normalized form of `quota_reset_date` (the date the user's usage quota next resets)." }, "limited_user_quotas": { "type": "object", "additionalProperties": { "type": "number" - } + }, + "description": "Per-category quota allotments for free/limited-tier users, keyed by quota category." }, "limited_user_reset_date": { - "type": "string" + "type": "string", + "description": "Date the free/limited-tier user's quotas next reset, as a raw string from the Copilot API." }, "monthly_quotas": { "type": "object", "additionalProperties": { "type": "number" - } + }, + "description": "Per-category monthly quota allotments, keyed by quota category." }, "cloud_session_storage_enabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether cloud session storage is enabled for the user." }, "cli_remote_control_enabled": { - "type": "boolean" + "type": "boolean", + "description": "Whether CLI remote control is enabled for the user." } }, "additionalProperties": false, @@ -10202,7 +10530,7 @@ } }, "additionalProperties": false, - "description": "Schema for the `CopilotUserResponseEndpoints` type.", + "description": "Endpoint URLs from the raw Copilot `/copilot_internal/v2/token` user-response passthrough.", "title": "CopilotUserResponseEndpoints" }, "CopilotUserResponseQuotaSnapshots": { @@ -10210,15 +10538,15 @@ "properties": { "chat": { "$ref": "#/definitions/CopilotUserResponseQuotaSnapshotsChat", - "description": "Schema for the `CopilotUserResponseQuotaSnapshotsChat` type." + "description": "Chat quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields." }, "completions": { "$ref": "#/definitions/CopilotUserResponseQuotaSnapshotsCompletions", - "description": "Schema for the `CopilotUserResponseQuotaSnapshotsCompletions` type." + "description": "Completions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields." }, "premium_interactions": { "$ref": "#/definitions/CopilotUserResponseQuotaSnapshotsPremiumInteractions", - "description": "Schema for the `CopilotUserResponseQuotaSnapshotsPremiumInteractions` type." + "description": "Premium-interactions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields." } }, "additionalProperties": { @@ -10270,7 +10598,7 @@ } ] }, - "description": "Schema for the `CopilotUserResponseQuotaSnapshots` type.", + "description": "Quota snapshot map from the raw Copilot user-response passthrough, with chat, completions, premium-interactions, and other entries.", "title": "CopilotUserResponseQuotaSnapshots", "x-opaque-json": true }, @@ -10278,132 +10606,168 @@ "type": "object", "properties": { "entitlement": { - "type": "number" + "type": "number", + "description": "Number of requests/units included in the entitlement for this period; `-1` denotes an unlimited entitlement." }, "overage_count": { - "type": "number" + "type": "number", + "description": "Count of additional pay-per-request usage consumed this period beyond the entitlement." }, "overage_permitted": { - "type": "boolean" + "type": "boolean", + "description": "Whether usage may continue at pay-per-request rates once the entitlement is exhausted." }, "percent_remaining": { - "type": "number" + "type": "number", + "description": "Percentage of the entitlement remaining at the snapshot timestamp." }, "quota_id": { - "type": "string" + "type": "string", + "description": "Identifier of the quota bucket this snapshot describes." }, "quota_remaining": { - "type": "number" + "type": "number", + "description": "Amount of quota remaining at the snapshot timestamp." }, "remaining": { - "type": "number" + "type": "number", + "description": "Remaining entitlement/quota amount at the snapshot timestamp." }, "unlimited": { - "type": "boolean" + "type": "boolean", + "description": "Whether the entitlement for this category is unlimited." }, "timestamp_utc": { - "type": "string" + "type": "string", + "description": "UTC timestamp when this snapshot was captured." }, "has_quota": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user currently has quota available; when `false` and not unlimited, further requests are blocked until the quota resets." }, "quota_reset_at": { - "type": "number" + "type": "number", + "description": "Unix epoch time, in seconds, when this quota next resets." }, "token_based_billing": { - "type": "boolean" + "type": "boolean", + "description": "Whether this category uses usage-based (token/AI-credit) billing rather than a fixed premium-request count." } }, "additionalProperties": false, - "description": "Schema for the `CopilotUserResponseQuotaSnapshotsChat` type.", + "description": "Chat quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.", "title": "CopilotUserResponseQuotaSnapshotsChat" }, "CopilotUserResponseQuotaSnapshotsCompletions": { "type": "object", "properties": { "entitlement": { - "type": "number" + "type": "number", + "description": "Number of requests/units included in the entitlement for this period; `-1` denotes an unlimited entitlement." }, "overage_count": { - "type": "number" + "type": "number", + "description": "Count of additional pay-per-request usage consumed this period beyond the entitlement." }, "overage_permitted": { - "type": "boolean" + "type": "boolean", + "description": "Whether usage may continue at pay-per-request rates once the entitlement is exhausted." }, "percent_remaining": { - "type": "number" + "type": "number", + "description": "Percentage of the entitlement remaining at the snapshot timestamp." }, "quota_id": { - "type": "string" + "type": "string", + "description": "Identifier of the quota bucket this snapshot describes." }, "quota_remaining": { - "type": "number" + "type": "number", + "description": "Amount of quota remaining at the snapshot timestamp." }, "remaining": { - "type": "number" + "type": "number", + "description": "Remaining entitlement/quota amount at the snapshot timestamp." }, "unlimited": { - "type": "boolean" + "type": "boolean", + "description": "Whether the entitlement for this category is unlimited." }, "timestamp_utc": { - "type": "string" + "type": "string", + "description": "UTC timestamp when this snapshot was captured." }, "has_quota": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user currently has quota available; when `false` and not unlimited, further requests are blocked until the quota resets." }, "quota_reset_at": { - "type": "number" + "type": "number", + "description": "Unix epoch time, in seconds, when this quota next resets." }, "token_based_billing": { - "type": "boolean" + "type": "boolean", + "description": "Whether this category uses usage-based (token/AI-credit) billing rather than a fixed premium-request count." } }, "additionalProperties": false, - "description": "Schema for the `CopilotUserResponseQuotaSnapshotsCompletions` type.", + "description": "Completions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.", "title": "CopilotUserResponseQuotaSnapshotsCompletions" }, "CopilotUserResponseQuotaSnapshotsPremiumInteractions": { "type": "object", "properties": { "entitlement": { - "type": "number" + "type": "number", + "description": "Number of requests/units included in the entitlement for this period; `-1` denotes an unlimited entitlement." }, "overage_count": { - "type": "number" + "type": "number", + "description": "Count of additional pay-per-request usage consumed this period beyond the entitlement." }, "overage_permitted": { - "type": "boolean" + "type": "boolean", + "description": "Whether usage may continue at pay-per-request rates once the entitlement is exhausted." }, "percent_remaining": { - "type": "number" + "type": "number", + "description": "Percentage of the entitlement remaining at the snapshot timestamp." }, "quota_id": { - "type": "string" + "type": "string", + "description": "Identifier of the quota bucket this snapshot describes." }, "quota_remaining": { - "type": "number" + "type": "number", + "description": "Amount of quota remaining at the snapshot timestamp." }, "remaining": { - "type": "number" + "type": "number", + "description": "Remaining entitlement/quota amount at the snapshot timestamp." }, "unlimited": { - "type": "boolean" + "type": "boolean", + "description": "Whether the entitlement for this category is unlimited." }, "timestamp_utc": { - "type": "string" + "type": "string", + "description": "UTC timestamp when this snapshot was captured." }, "has_quota": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user currently has quota available; when `false` and not unlimited, further requests are blocked until the quota resets." }, "quota_reset_at": { - "type": "number" + "type": "number", + "description": "Unix epoch time, in seconds, when this quota next resets." }, "token_based_billing": { - "type": "boolean" + "type": "boolean", + "description": "Whether this category uses usage-based (token/AI-credit) billing rather than a fixed premium-request count." } }, "additionalProperties": false, - "description": "Schema for the `CopilotUserResponseQuotaSnapshotsPremiumInteractions` type.", + "description": "Premium-interactions quota snapshot from the raw Copilot user-response passthrough, with entitlement, overage, remaining quota, reset, and billing fields.", "title": "CopilotUserResponseQuotaSnapshotsPremiumInteractions" }, "CurrentModel": { @@ -10469,73 +10833,360 @@ "description": "Lightweight metadata for a currently initialized session tool", "title": "CurrentToolMetadata" }, - "DiscoveredCanvas": { + "DebugCollectLogsCollectedEntry": { "type": "object", "properties": { - "displayName": { - "type": "string", - "description": "Human-readable canvas name" - }, - "description": { - "type": "string", - "minLength": 1, - "description": "Short, single-sentence description shown to the agent in canvas catalogs." - }, - "inputSchema": { - "$ref": "#/definitions/CanvasJsonSchema", - "description": "JSON Schema for canvas open input" - }, - "actions": { - "type": "array", - "items": { - "$ref": "#/definitions/CanvasAction", - "description": "Canvas action that the agent or host can invoke. To discover the input schema for a particular action, call the list_canvas_capabilities tool." - }, - "description": "Actions the agent or host may invoke on an open instance" - }, - "extensionId": { + "bundlePath": { "type": "string", - "description": "Owning provider identifier" + "description": "Relative path of the file in the staged bundle/archive." }, - "extensionName": { - "type": "string", - "description": "Owning extension display name, when available" + "source": { + "$ref": "#/definitions/DebugCollectLogsSource", + "description": "Source category for this entry." }, - "canvasId": { - "type": "string", - "description": "Provider-local canvas identifier" + "sizeBytes": { + "type": "integer", + "minimum": 0, + "description": "Redacted output size in bytes." } }, "required": [ - "displayName", - "description", - "extensionId", - "canvasId" + "bundlePath", + "source", + "sizeBytes" ], "additionalProperties": false, - "description": "Canvas available in the current session.", - "title": "DiscoveredCanvas", - "stability": "experimental" + "description": "A file included in the redacted debug bundle.", + "title": "DebugCollectLogsCollectedEntry" }, - "DiscoveredMcpServer": { - "type": "object", - "properties": { - "name": { - "type": "string", - "minLength": 1, - "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", - "description": "Server name (config key)" - }, - "type": { - "$ref": "#/definitions/DiscoveredMcpServerType", - "description": "Server transport type: stdio, http, sse (deprecated), or memory" - }, - "source": { - "$ref": "#/definitions/McpServerSource", - "description": "Configuration source: user, workspace, plugin, or builtin" - }, - "sourcePlugin": { - "type": "string", + "DebugCollectLogsDestination": { + "anyOf": [ + { + "type": "object", + "properties": { + "outputPath": { + "type": "string", + "description": "Absolute or server-relative path for the .tgz archive to create." + }, + "noOverwrite": { + "type": "boolean", + "description": "When true, create the archive atomically without overwriting an existing file by appending ` (N)` before the extension as needed. Defaults to false." + }, + "kind": { + "type": "string", + "const": "archive" + } + }, + "required": [ + "kind", + "outputPath" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "outputDirectory": { + "type": "string", + "description": "Directory where redacted files should be staged. The directory is created if needed." + }, + "kind": { + "type": "string", + "const": "directory" + } + }, + "required": [ + "kind", + "outputDirectory" + ], + "additionalProperties": false + } + ], + "description": "Destination for the redacted debug bundle.", + "title": "DebugCollectLogsDestination" + }, + "DebugCollectLogsEntry": { + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/DebugCollectLogsEntryKind", + "description": "Kind of source path to include." + }, + "path": { + "type": "string", + "description": "Server-local source path to read." + }, + "bundlePath": { + "type": "string", + "description": "Relative path to use inside the staged bundle/archive." + }, + "redaction": { + "$ref": "#/definitions/DebugCollectLogsRedaction", + "description": "How text content from this entry should be redacted. Defaults to plain-text." + }, + "required": { + "type": "boolean", + "description": "When true, collection fails if this entry cannot be read. Defaults to false, which records the entry in `skippedEntries`." + } + }, + "required": [ + "kind", + "path", + "bundlePath" + ], + "additionalProperties": false, + "description": "A caller-provided server-local file or directory to include in the debug bundle.", + "title": "DebugCollectLogsEntry" + }, + "DebugCollectLogsEntryKind": { + "type": "string", + "enum": [ + "file", + "directory" + ], + "description": "Kind of caller-provided debug log entry.", + "title": "DebugCollectLogsEntryKind", + "x-enumDescriptions": { + "file": "Include a single server-local file.", + "directory": "Include files from a server-local directory recursively." + } + }, + "DebugCollectLogsInclude": { + "type": "object", + "properties": { + "events": { + "type": "boolean", + "description": "Include the session event log (`events.jsonl`). Defaults to true." + }, + "processLogs": { + "type": "boolean", + "description": "Include process logs for the session. Defaults to true." + }, + "shellLogs": { + "type": "boolean", + "description": "Include interactive shell logs written under the session's `shell-logs` directory. Defaults to true." + }, + "eventsPath": { + "type": "string", + "description": "Server-local path to the session's events.jsonl file. Internal callers normally omit this and let the runtime derive it from the session." + }, + "currentProcessLogPath": { + "type": "string", + "description": "Server-local path to the current process log. When set, it is included as `process.log` and its directory is searched for prior logs from the same session." + }, + "processLogDirectory": { + "type": "string", + "description": "Server-local process log directory to search when `currentProcessLogPath` is unavailable, useful for collecting logs for inactive sessions." + }, + "previousProcessLogLimit": { + "type": "integer", + "minimum": 0, + "description": "Maximum number of previous process logs to include. Defaults to 5." + } + }, + "additionalProperties": false, + "description": "Built-in session diagnostics to include in the bundle. Omitted fields default to true.", + "title": "DebugCollectLogsInclude" + }, + "DebugCollectLogsRedaction": { + "type": "string", + "enum": [ + "plain-text", + "events-jsonl" + ], + "description": "How a collected debug entry should be redacted before being staged.", + "title": "DebugCollectLogsRedaction", + "x-enumDescriptions": { + "plain-text": "Redact the file as plain UTF-8 log text.", + "events-jsonl": "Redact each non-empty line as a session event JSON object, falling back to plain-text redaction for malformed lines." + } + }, + "DebugCollectLogsRequest": { + "type": "object", + "properties": { + "destination": { + "$ref": "#/definitions/DebugCollectLogsDestination", + "description": "Where the redacted bundle should be written. Use `archive` to produce a .tgz, or `directory` to stage redacted files for caller-managed upload/post-processing." + }, + "include": { + "$ref": "#/definitions/DebugCollectLogsInclude", + "description": "Which built-in session diagnostics to include. Omitted fields default to true." + }, + "additionalEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/DebugCollectLogsEntry", + "description": "A caller-provided server-local file or directory to include in the debug bundle." + }, + "description": "Caller-provided server-local files or directories to include in addition to the runtime's built-in session diagnostics. This lets host applications add their own diagnostics without changing the API shape." + } + }, + "required": [ + "destination" + ], + "additionalProperties": false, + "description": "Options for collecting a redacted session debug bundle.", + "title": "DebugCollectLogsRequest", + "stability": "experimental" + }, + "DebugCollectLogsResult": { + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/DebugCollectLogsResultKind", + "description": "Destination kind that was written." + }, + "path": { + "type": "string", + "description": "Actual archive path or staging directory path written. This may differ from the requested path when no-overwrite suffixing or fallback-to-temp-directory was needed." + }, + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/DebugCollectLogsCollectedEntry", + "description": "A file included in the redacted debug bundle." + }, + "description": "Files included in the redacted bundle." + }, + "skippedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/DebugCollectLogsSkippedEntry", + "description": "An optional debug bundle entry that could not be included." + }, + "description": "Optional files or directories that could not be included." + } + }, + "required": [ + "kind", + "path", + "entries" + ], + "additionalProperties": false, + "description": "Result of collecting a redacted debug bundle.", + "title": "DebugCollectLogsResult" + }, + "DebugCollectLogsResultKind": { + "type": "string", + "enum": [ + "archive", + "directory" + ], + "description": "Destination kind that was written.", + "title": "DebugCollectLogsResultKind", + "x-enumDescriptions": { + "archive": "A .tgz archive was written.", + "directory": "A directory containing redacted files was written." + } + }, + "DebugCollectLogsSkippedEntry": { + "type": "object", + "properties": { + "bundlePath": { + "type": "string", + "description": "Relative path requested for this bundle entry." + }, + "path": { + "type": "string", + "description": "Server-local source path that could not be read." + }, + "reason": { + "type": "string", + "description": "Reason the entry was skipped." + } + }, + "required": [ + "bundlePath", + "reason" + ], + "additionalProperties": false, + "description": "An optional debug bundle entry that could not be included.", + "title": "DebugCollectLogsSkippedEntry" + }, + "DebugCollectLogsSource": { + "type": "string", + "enum": [ + "events", + "process-log", + "shell-log", + "additional" + ], + "description": "Source category for a collected debug bundle entry.", + "title": "DebugCollectLogsSource", + "x-enumDescriptions": { + "events": "Session event log.", + "process-log": "Process log for the session.", + "shell-log": "Interactive shell log for the session.", + "additional": "Caller-provided diagnostic entry." + } + }, + "DiscoveredCanvas": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Human-readable canvas name" + }, + "description": { + "type": "string", + "minLength": 1, + "description": "Short, single-sentence description shown to the agent in canvas catalogs." + }, + "inputSchema": { + "$ref": "#/definitions/CanvasJsonSchema", + "description": "JSON Schema for canvas open input" + }, + "actions": { + "type": "array", + "items": { + "$ref": "#/definitions/CanvasAction", + "description": "Canvas action that the agent or host can invoke. To discover the input schema for a particular action, call the list_canvas_capabilities tool." + }, + "description": "Actions the agent or host may invoke on an open instance" + }, + "extensionId": { + "type": "string", + "description": "Owning provider identifier" + }, + "extensionName": { + "type": "string", + "description": "Owning extension display name, when available" + }, + "canvasId": { + "type": "string", + "description": "Provider-local canvas identifier" + } + }, + "required": [ + "displayName", + "description", + "extensionId", + "canvasId" + ], + "additionalProperties": false, + "description": "Canvas available in the current session.", + "title": "DiscoveredCanvas", + "stability": "experimental" + }, + "DiscoveredMcpServer": { + "type": "object", + "properties": { + "name": { + "type": "string", + "minLength": 1, + "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", + "description": "Server name (config key)" + }, + "type": { + "$ref": "#/definitions/DiscoveredMcpServerType", + "description": "Server transport type: stdio, http, sse (deprecated), or memory" + }, + "source": { + "$ref": "#/definitions/McpServerSource", + "description": "Configuration source: user, workspace, plugin, or builtin" + }, + "sourcePlugin": { + "type": "string", "description": "Plugin name that provided this server, when source is plugin." }, "sourcePluginVersion": { @@ -10553,7 +11204,7 @@ "enabled" ], "additionalProperties": false, - "description": "Schema for the `DiscoveredMcpServer` type.", + "description": "MCP server discovered by `mcp.discover`, with config source, optional plugin source, transport type, and enabled state.", "title": "DiscoveredMcpServer" }, "DiscoveredMcpServerType": { @@ -10595,7 +11246,7 @@ "blob" ], "additionalProperties": false, - "description": "Schema for the `EmbeddedBlobResourceContents` type.", + "description": "Embedded binary resource contents identified by a URI, with an optional MIME type and a base64-encoded blob.", "title": "EmbeddedBlobResourceContents" }, "EmbeddedTextResourceContents": { @@ -10619,7 +11270,7 @@ "text" ], "additionalProperties": false, - "description": "Schema for the `EmbeddedTextResourceContents` type.", + "description": "Embedded text resource contents identified by a URI, with an optional MIME type and a text payload.", "title": "EmbeddedTextResourceContents" }, "EnqueueCommandParams": { @@ -10689,7 +11340,7 @@ "envVar" ], "additionalProperties": false, - "description": "Schema for the `EnvAuthInfo` type.", + "description": "Authentication-info variant for a token sourced from an environment variable, with host, optional login, token, and env var name.", "title": "EnvAuthInfo" }, "EventLogReadRequest": { @@ -10899,7 +11550,7 @@ "status" ], "additionalProperties": false, - "description": "Schema for the `Extension` type.", + "description": "Discovered extension metadata, including source-qualified ID, name, discovery source, status, and optional process ID.", "title": "Extension" }, "ExtensionContextPushInput": { @@ -10935,7 +11586,8 @@ "extensions": { "type": "array", "items": { - "$ref": "#/definitions/Extension" + "$ref": "#/definitions/Extension", + "description": "Discovered extension metadata, including source-qualified ID, name, discovery source, status, and optional process ID." }, "description": "Discovered extensions and their current status" } @@ -11246,10 +11898,12 @@ "ExternalToolTextResultForLlmContentResourceDetails": { "anyOf": [ { - "$ref": "#/definitions/EmbeddedTextResourceContents" + "$ref": "#/definitions/EmbeddedTextResourceContents", + "description": "Embedded text resource contents identified by a URI, with an optional MIME type and a text payload." }, { - "$ref": "#/definitions/EmbeddedBlobResourceContents" + "$ref": "#/definitions/EmbeddedBlobResourceContents", + "description": "Embedded binary resource contents identified by a URI, with an optional MIME type and a base64-encoded blob." } ], "description": "The embedded resource contents, either text or base64-encoded binary", @@ -11562,7 +12216,7 @@ "token" ], "additionalProperties": false, - "description": "Schema for the `GhCliAuthInfo` type.", + "description": "Authentication-info variant for GitHub CLI credentials, carrying host, login, and the `gh auth token` value.", "title": "GhCliAuthInfo" }, "GitHubRepoRef": { @@ -11714,7 +12368,7 @@ "properties": { "sessionId": { "type": "string", - "description": "Session the telemetry event belongs to." + "description": "Session the telemetry event belongs to, when it is session-scoped. Omitted for sessionless events (for example, `server.sendTelemetry` calls with no session id), which are still forwarded to opted-in connections." }, "restricted": { "type": "boolean", @@ -11726,12 +12380,11 @@ } }, "required": [ - "sessionId", "restricted", "event" ], "additionalProperties": false, - "description": "Payload for a `gitHubTelemetry.event` notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding for the session.", + "description": "Payload for a `gitHubTelemetry.event` notification: a single GitHub telemetry event the runtime forwards to a host connection that opted into telemetry forwarding during the `server.connect` handshake.", "title": "GitHubTelemetryNotification", "stability": "experimental" }, @@ -11978,7 +12631,7 @@ "hmac" ], "additionalProperties": false, - "description": "Schema for the `HMACAuthInfo` type.", + "description": "Authentication-info variant for GitHub-internal HMAC auth, carrying the public GitHub host and HMAC secret.", "title": "HMACAuthInfo" }, "InstalledPlugin": { @@ -12020,7 +12673,7 @@ "enabled" ], "additionalProperties": false, - "description": "Schema for the `InstalledPlugin` type.", + "description": "Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source.", "title": "InstalledPlugin" }, "InstalledPluginInfo": { @@ -12063,13 +12716,16 @@ "pattern": "^[^/]+\\/[^/]+$" }, { - "$ref": "#/definitions/InstalledPluginSourceGitHub" + "$ref": "#/definitions/InstalledPluginSourceGitHub", + "description": "Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref, and optional subpath." }, { - "$ref": "#/definitions/InstalledPluginSourceUrl" + "$ref": "#/definitions/InstalledPluginSourceUrl", + "description": "Source descriptor for a direct URL plugin install, with URL, optional ref, and optional subpath." }, { - "$ref": "#/definitions/InstalledPluginSourceLocal" + "$ref": "#/definitions/InstalledPluginSourceLocal", + "description": "Source descriptor for a direct local plugin install, with a local filesystem path." } ], "description": "Source for direct repo installs (when marketplace is empty)", @@ -12101,7 +12757,7 @@ "repo" ], "additionalProperties": false, - "description": "Schema for the `InstalledPluginSourceGitHub` type.", + "description": "Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref, and optional subpath.", "title": "InstalledPluginSourceGitHub" }, "InstalledPluginSourceLocal": { @@ -12121,7 +12777,7 @@ "path" ], "additionalProperties": false, - "description": "Schema for the `InstalledPluginSourceLocal` type.", + "description": "Source descriptor for a direct local plugin install, with a local filesystem path.", "title": "InstalledPluginSourceLocal" }, "InstalledPluginSourceUrl": { @@ -12148,7 +12804,7 @@ "url" ], "additionalProperties": false, - "description": "Schema for the `InstalledPluginSourceUrl` type.", + "description": "Source descriptor for a direct URL plugin install, with URL, optional ref, and optional subpath.", "title": "InstalledPluginSourceUrl" }, "InstructionDiscoveryPath": { @@ -12182,7 +12838,7 @@ "preferredForCreation" ], "additionalProperties": false, - "description": "Schema for the `InstructionDiscoveryPath` type.", + "description": "Canonical file or directory where custom instructions can be discovered or created, with location, kind, preference, and project path.", "title": "InstructionDiscoveryPath" }, "InstructionDiscoveryPathKind": { @@ -12204,7 +12860,8 @@ "paths": { "type": "array", "items": { - "$ref": "#/definitions/InstructionDiscoveryPath" + "$ref": "#/definitions/InstructionDiscoveryPath", + "description": "Canonical file or directory where custom instructions can be discovered or created, with location, kind, preference, and project path." }, "description": "Canonical instruction create/discovery files and directories, in priority order" } @@ -12277,7 +12934,8 @@ "sources": { "type": "array", "items": { - "$ref": "#/definitions/InstructionSource" + "$ref": "#/definitions/InstructionSource", + "description": "Loaded instruction source for a session, including path, content, category, location, applicability, and optional description." }, "description": "Instruction sources for the session" } @@ -12345,7 +13003,7 @@ "location" ], "additionalProperties": false, - "description": "Schema for the `InstructionSource` type.", + "description": "Loaded instruction source for a session, including path, content, category, location, applicability, and optional description.", "title": "InstructionSource" }, "InstructionSourceLocation": { @@ -12467,6 +13125,18 @@ "transport": { "$ref": "#/definitions/LlmInferenceHttpRequestStartTransport", "description": "Transport the runtime would otherwise use for this request. `http` (the default when absent) covers plain HTTP and SSE responses; `websocket` indicates a full-duplex message channel where each body chunk maps to one WebSocket message and the `binary` flag distinguishes text from binary frames. The SDK consumer uses this to decide whether to service the request with an HTTP client or a WebSocket client. It is the one piece of request metadata the consumer cannot reliably infer from the URL or headers alone." + }, + "agentId": { + "type": "string", + "description": "Stable per-agent-instance id attributing this request to a specific agent trajectory. Present when the request originates from an agent turn; absent for requests issued outside any agent context (e.g. some SDK callers). A request with an `agentId` but no `parentAgentId` is a root-agent request; one carrying both is a subagent request. Sourced from the runtime's per-request agent context and surfaced on the envelope independently of transport, so it is available for both first-party (CAPI) and BYOK/custom-provider requests; on the CAPI transport the runtime derives the upstream `X-Agent-Task-Id` header from this same context. Consumers routing each provider call to a training trajectory should key on this rather than on lifecycle events, since it is available on the request path before sampling." + }, + "parentAgentId": { + "type": "string", + "description": "Id of the parent agent that spawned the agent issuing this request. Present only for subagent requests; absent for root-agent requests and non-agent requests. Combined with `agentId`, this lets consumers attribute a call to a child trajectory versus the root. Like `agentId`, it comes from the runtime's per-request agent context independently of transport; on the CAPI transport the runtime derives the upstream `X-Parent-Agent-Id` header from this same context." + }, + "interactionType": { + "type": "string", + "description": "Coarse classification of the interaction that produced this request. Open string for forward-compatibility; known values include `conversation-agent`, `conversation-subagent`, `conversation-sampling`, `conversation-background`, `conversation-compaction`, and `conversation-user`. Absent when the runtime did not classify the request. Comes from the runtime's per-request agent context independently of transport; on the CAPI transport the runtime derives the upstream `X-Interaction-Type` header from this same context." } }, "required": [ @@ -12675,7 +13345,7 @@ "isRemote" ], "additionalProperties": false, - "description": "Schema for the `LocalSessionMetadataValue` type.", + "description": "Persisted local session metadata, including identifiers, timestamps, summary/name, client, context, detached state, and task ID.", "title": "LocalSessionMetadataValue" }, "LogRequest": { @@ -12869,7 +13539,7 @@ "success" ], "additionalProperties": false, - "description": "Schema for the `MarketplaceRefreshEntry` type.", + "description": "Per-marketplace refresh result, including marketplace name, success flag, and optional failure error.", "title": "MarketplaceRefreshEntry" }, "MarketplaceRefreshResult": { @@ -12878,7 +13548,8 @@ "results": { "type": "array", "items": { - "$ref": "#/definitions/MarketplaceRefreshEntry" + "$ref": "#/definitions/MarketplaceRefreshEntry", + "description": "Per-marketplace refresh result, including marketplace name, success flag, and optional failure error." }, "description": "Per-marketplace refresh results in deterministic order." } @@ -12928,7 +13599,7 @@ "name" ], "additionalProperties": false, - "description": "Schema for the `McpAllowedServer` type.", + "description": "MCP server allowed by policy, with server name and optional PII-free explanatory note.", "title": "McpAllowedServer" }, "McpAppsCallToolRequest": { @@ -13233,7 +13904,7 @@ }, "uri": { "type": "string", - "description": "Resource URI (typically ui://...)" + "description": "Resource URI" } }, "required": [ @@ -13241,8 +13912,9 @@ "uri" ], "additionalProperties": false, - "description": "MCP server and resource URI to fetch.", + "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadRequest`; use `session.mcp.resources.read` instead.", "title": "McpAppsReadResourceRequest", + "deprecated": true, "stability": "experimental" }, "McpAppsReadResourceResult": { @@ -13251,7 +13923,8 @@ "contents": { "type": "array", "items": { - "$ref": "#/definitions/McpAppsResourceContent" + "$ref": "#/definitions/McpAppsResourceContent", + "description": "Deprecated/obsolete MCP Apps alias for `McpResourceContent`; use `session.mcp.resources.read` instead." }, "description": "Resource contents returned by the server" } @@ -13260,15 +13933,16 @@ "contents" ], "additionalProperties": false, - "description": "Resource contents returned by the MCP server.", - "title": "McpAppsReadResourceResult" + "description": "Deprecated/obsolete MCP Apps alias for `McpResourcesReadResult`; use `session.mcp.resources.read` instead.", + "title": "McpAppsReadResourceResult", + "deprecated": true }, "McpAppsResourceContent": { "type": "object", "properties": { "uri": { "type": "string", - "description": "The resource URI (typically ui://...)" + "description": "The resource URI" }, "mimeType": { "type": "string", @@ -13287,15 +13961,16 @@ "additionalProperties": { "x-opaque-json": true }, - "description": "Resource-level metadata (CSP, permissions, etc.)" + "description": "Resource-level metadata" } }, "required": [ "uri" ], "additionalProperties": false, - "description": "Schema for the `McpAppsResourceContent` type.", - "title": "McpAppsResourceContent" + "description": "Deprecated/obsolete MCP Apps alias for `McpResourceContent`; use `session.mcp.resources.read` instead.", + "title": "McpAppsResourceContent", + "deprecated": true }, "McpAppsSetHostContextDetails": { "type": "object", @@ -13635,7 +14310,8 @@ "servers": { "type": "array", "items": { - "$ref": "#/definitions/DiscoveredMcpServer" + "$ref": "#/definitions/DiscoveredMcpServer", + "description": "MCP server discovered by `mcp.discover`, with config source, optional plugin source, transport type, and enabled state." }, "description": "MCP servers discovered from all sources" } @@ -13738,7 +14414,7 @@ "reason" ], "additionalProperties": false, - "description": "Schema for the `McpFilteredServer` type.", + "description": "MCP server filtered by policy, with name, reason, optional redacted reason, and enterprise login.", "title": "McpFilteredServer" }, "McpHeadersHandlePendingHeadersRefreshRequest": { @@ -13935,7 +14611,8 @@ "tools": { "type": "array", "items": { - "$ref": "#/definitions/McpTools" + "$ref": "#/definitions/McpTools", + "description": "MCP tool metadata with tool name and optional description." }, "description": "Tools exposed by the server." } @@ -14099,99 +14776,422 @@ "description": "Host response to the pending OAuth request.", "title": "McpOauthPendingRequestResponse" }, - "McpOauthRespondRequest": { + "McpRegisterExternalClientRequest": { + "type": "object", + "properties": { + "serverName": { + "type": "string", + "description": "Logical server name for the external client" + }, + "client": { + "description": "In-process MCP Client instance. Marked internal: cannot be serialized across the JSON-RPC boundary.", + "x-opaque-json": true, + "visibility": "internal" + }, + "transport": { + "description": "In-process MCP Transport instance. Marked internal: cannot be serialized across the JSON-RPC boundary.", + "x-opaque-json": true, + "visibility": "internal" + }, + "config": { + "description": "In-process server config (MCPServerConfig) paired with the in-process client/transport. Marked internal alongside its companions.", + "x-opaque-json": true, + "visibility": "internal" + } + }, + "required": [ + "serverName", + "client", + "transport", + "config" + ], + "additionalProperties": false, + "description": "Registration parameters for an external MCP client.", + "title": "McpRegisterExternalClientRequest", + "visibility": "internal" + }, + "McpReloadWithConfigRequest": { + "type": "object", + "properties": { + "config": { + "description": "Opaque runtime MCP reload configuration. Marked internal: an in-process runtime shape (reloadMcpServers throws over the wire).", + "x-opaque-json": true, + "visibility": "internal" + } + }, + "required": [ + "config" + ], + "additionalProperties": false, + "description": "Opaque MCP reload configuration.", + "title": "McpReloadWithConfigRequest", + "visibility": "internal" + }, + "McpRemoveGitHubResult": { + "type": "object", + "properties": { + "removed": { + "type": "boolean", + "description": "True when the auto-managed `github` MCP server was removed; false when no removal happened (e.g. user has explicitly configured a `github` server, or the server was not registered)." + } + }, + "required": [ + "removed" + ], + "additionalProperties": false, + "description": "Indicates whether the auto-managed `github` MCP server was removed (false when nothing to remove).", + "title": "McpRemoveGitHubResult" + }, + "McpResource": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "The resource URI (e.g. ui://... or file:///...)" + }, + "name": { + "type": "string", + "description": "The programmatic name of the resource" + }, + "title": { + "type": "string", + "description": "Optional human-readable display title" + }, + "description": { + "type": "string", + "description": "Optional description of what this resource represents" + }, + "mimeType": { + "type": "string", + "description": "MIME type of the resource, if known" + }, + "size": { + "type": "integer", + "minimum": 0, + "description": "Resource size in bytes, when known" + }, + "icons": { + "type": "array", + "items": { + "$ref": "#/definitions/McpResourceIcon", + "description": "A resource icon descriptor plus preserved non-standard icon fields." + }, + "description": "Icons associated with this resource" + }, + "annotations": { + "$ref": "#/definitions/McpResourceAnnotations", + "description": "Model/client annotations associated with this resource" + }, + "_meta": { + "type": "object", + "additionalProperties": { + "x-opaque-json": true + }, + "description": "Resource-level metadata" + }, + "additionalProperties": { + "type": "object", + "additionalProperties": { + "x-opaque-json": true + }, + "description": "Server-provided non-standard descriptor fields preserved from the MCP response" + } + }, + "required": [ + "uri", + "name" + ], + "additionalProperties": false, + "description": "An MCP resource descriptor (spec `Resource`): URI, name, and optional title, description, MIME type, size, icons, annotations, and metadata. Server-provided fields outside the standard descriptor shape are exposed under `additionalProperties`.", + "title": "McpResource" + }, + "McpResourceAnnotations": { + "type": "object", + "properties": { + "audience": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Intended audience roles for this resource" + }, + "priority": { + "type": "number", + "description": "Priority hint for model/client use" + }, + "lastModified": { + "type": "string", + "description": "Last-modified timestamp hint" + }, + "additionalProperties": { + "type": "object", + "additionalProperties": { + "x-opaque-json": true + }, + "description": "Server-provided non-standard annotation fields preserved from the MCP response" + } + }, + "additionalProperties": false, + "description": "Standard MCP resource annotations plus preserved non-standard annotation fields.", + "title": "McpResourceAnnotations" + }, + "McpResourceContent": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "The resource URI" + }, + "mimeType": { + "type": "string", + "description": "MIME type of the content" + }, + "text": { + "type": "string", + "description": "Text content (e.g. HTML)" + }, + "blob": { + "type": "string", + "description": "Base64-encoded binary content" + }, + "_meta": { + "type": "object", + "additionalProperties": { + "x-opaque-json": true + }, + "description": "Resource-level metadata (CSP, permissions, etc.)" + } + }, + "required": [ + "uri" + ], + "additionalProperties": false, + "description": "MCP resource content with URI, optional MIME type, text or base64 blob, and resource metadata.", + "title": "McpResourceContent" + }, + "McpResourceIcon": { + "type": "object", + "properties": { + "src": { + "type": "string", + "description": "Icon URI" + }, + "mimeType": { + "type": "string", + "description": "Icon MIME type, when known" + }, + "sizes": { + "type": "string", + "description": "Icon sizes hint" + }, + "theme": { + "type": "string", + "description": "Theme hint for this icon" + }, + "additionalProperties": { + "type": "object", + "additionalProperties": { + "x-opaque-json": true + }, + "description": "Server-provided non-standard icon fields preserved from the MCP response" + } + }, + "required": [ + "src" + ], + "additionalProperties": false, + "description": "A resource icon descriptor plus preserved non-standard icon fields.", + "title": "McpResourceIcon" + }, + "McpResourcesListRequest": { + "type": "object", + "properties": { + "serverName": { + "type": "string", + "minLength": 1, + "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", + "description": "Name of the MCP server whose resources to enumerate" + }, + "cursor": { + "type": "string", + "description": "Opaque MCP pagination cursor from a prior `nextCursor` value" + } + }, + "required": [ + "serverName" + ], + "additionalProperties": false, + "description": "MCP server whose resources to enumerate.", + "title": "McpResourcesListRequest", + "stability": "experimental" + }, + "McpResourcesListResult": { + "type": "object", + "properties": { + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/McpResource", + "description": "An MCP resource descriptor (spec `Resource`): URI, name, and optional title, description, MIME type, size, icons, annotations, and metadata. Server-provided fields outside the standard descriptor shape are exposed under `additionalProperties`." + }, + "description": "Resources advertised by the server (proxied MCP `resources/list`)" + }, + "nextCursor": { + "type": "string", + "description": "Opaque cursor for the next page, if the server has more resources" + } + }, + "required": [ + "resources" + ], + "additionalProperties": false, + "description": "One page of resources advertised by the named MCP server.", + "title": "McpResourcesListResult" + }, + "McpResourcesListTemplatesRequest": { + "type": "object", + "properties": { + "serverName": { + "type": "string", + "minLength": 1, + "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", + "description": "Name of the MCP server whose resource templates to enumerate" + }, + "cursor": { + "type": "string", + "description": "Opaque MCP pagination cursor from a prior `nextCursor` value" + } + }, + "required": [ + "serverName" + ], + "additionalProperties": false, + "description": "MCP server whose resource templates to enumerate.", + "title": "McpResourcesListTemplatesRequest", + "stability": "experimental" + }, + "McpResourcesListTemplatesResult": { "type": "object", "properties": { - "requestId": { - "type": "string", - "description": "OAuth request identifier from mcp.oauth_required" + "resourceTemplates": { + "type": "array", + "items": { + "$ref": "#/definitions/McpResourceTemplate", + "description": "An MCP resource template descriptor (spec `ResourceTemplate`): an RFC 6570 URI template, name, and optional title, description, MIME type, icons, annotations, and metadata. Server-provided fields outside the standard descriptor shape are exposed under `additionalProperties`." + }, + "description": "Resource templates advertised by the server (proxied MCP `resources/templates/list`)" }, - "provider": { - "description": "In-process OAuthClientProvider instance, or omitted to deny. Marked internal: cannot be serialized across the JSON-RPC boundary.", - "x-opaque-json": true, - "visibility": "internal" + "nextCursor": { + "type": "string", + "description": "Opaque cursor for the next page, if the server has more resource templates" } }, "required": [ - "requestId" + "resourceTemplates" ], "additionalProperties": false, - "description": "MCP OAuth request id and optional provider response.", - "title": "McpOauthRespondRequest", - "visibility": "internal" - }, - "McpOauthRespondResult": { - "type": "object", - "properties": {}, - "additionalProperties": false, - "description": "Empty result after recording the MCP OAuth response.", - "title": "McpOauthRespondResult" + "description": "One page of resource templates advertised by the named MCP server.", + "title": "McpResourcesListTemplatesResult" }, - "McpRegisterExternalClientRequest": { + "McpResourcesReadRequest": { "type": "object", "properties": { "serverName": { "type": "string", - "description": "Logical server name for the external client" - }, - "client": { - "description": "In-process MCP Client instance. Marked internal: cannot be serialized across the JSON-RPC boundary.", - "x-opaque-json": true, - "visibility": "internal" - }, - "transport": { - "description": "In-process MCP Transport instance. Marked internal: cannot be serialized across the JSON-RPC boundary.", - "x-opaque-json": true, - "visibility": "internal" + "minLength": 1, + "pattern": "^[^\\x00-\\x1f/\\x7f-\\x9f}]+(?:\\/[^\\x00-\\x1f/\\x7f-\\x9f}]+)*$", + "description": "Name of the MCP server hosting the resource" }, - "config": { - "description": "In-process server config (MCPServerConfig) paired with the in-process client/transport. Marked internal alongside its companions.", - "x-opaque-json": true, - "visibility": "internal" + "uri": { + "type": "string", + "description": "Resource URI" } }, "required": [ "serverName", - "client", - "transport", - "config" + "uri" ], "additionalProperties": false, - "description": "Registration parameters for an external MCP client.", - "title": "McpRegisterExternalClientRequest", - "visibility": "internal" + "description": "MCP server and resource URI to fetch.", + "title": "McpResourcesReadRequest", + "stability": "experimental" }, - "McpReloadWithConfigRequest": { + "McpResourcesReadResult": { "type": "object", "properties": { - "config": { - "description": "Opaque runtime MCP reload configuration. Marked internal: an in-process runtime shape (reloadMcpServers throws over the wire).", - "x-opaque-json": true, - "visibility": "internal" + "contents": { + "type": "array", + "items": { + "$ref": "#/definitions/McpResourceContent", + "description": "MCP resource content with URI, optional MIME type, text or base64 blob, and resource metadata." + }, + "description": "Resource contents returned by the server" } }, "required": [ - "config" + "contents" ], "additionalProperties": false, - "description": "Opaque MCP reload configuration.", - "title": "McpReloadWithConfigRequest", - "visibility": "internal" + "description": "Resource contents returned by the MCP server.", + "title": "McpResourcesReadResult" }, - "McpRemoveGitHubResult": { + "McpResourceTemplate": { "type": "object", "properties": { - "removed": { - "type": "boolean", - "description": "True when the auto-managed `github` MCP server was removed; false when no removal happened (e.g. user has explicitly configured a `github` server, or the server was not registered)." + "uriTemplate": { + "type": "string", + "description": "An RFC 6570 URI template for constructing resource URIs" + }, + "name": { + "type": "string", + "description": "The programmatic name of the resource template" + }, + "title": { + "type": "string", + "description": "Optional human-readable display title" + }, + "description": { + "type": "string", + "description": "Optional description of what this template is for" + }, + "mimeType": { + "type": "string", + "description": "MIME type for resources matching this template, if uniform" + }, + "icons": { + "type": "array", + "items": { + "$ref": "#/definitions/McpResourceIcon", + "description": "A resource icon descriptor plus preserved non-standard icon fields." + }, + "description": "Icons associated with resources matching this template" + }, + "annotations": { + "$ref": "#/definitions/McpResourceAnnotations", + "description": "Model/client annotations associated with this template" + }, + "_meta": { + "type": "object", + "additionalProperties": { + "x-opaque-json": true + }, + "description": "Resource-template-level metadata" + }, + "additionalProperties": { + "type": "object", + "additionalProperties": { + "x-opaque-json": true + }, + "description": "Server-provided non-standard descriptor fields preserved from the MCP response" } }, "required": [ - "removed" + "uriTemplate", + "name" ], "additionalProperties": false, - "description": "Indicates whether the auto-managed `github` MCP server was removed (false when nothing to remove).", - "title": "McpRemoveGitHubResult" + "description": "An MCP resource template descriptor (spec `ResourceTemplate`): an RFC 6570 URI template, name, and optional title, description, MIME type, icons, annotations, and metadata. Server-provided fields outside the standard descriptor shape are exposed under `additionalProperties`.", + "title": "McpResourceTemplate" }, "McpRestartServerRequest": { "type": "object", @@ -14201,19 +15201,17 @@ "description": "Name of the MCP server to restart" }, "config": { - "description": "Opaque server configuration (MCPServerConfig). Marked internal: an in-process runtime shape supplied only by in-process CLI callers.", - "x-opaque-json": true, - "visibility": "internal" + "$ref": "#/definitions/McpServerConfig", + "description": "Replacement MCP server configuration (stdio process or remote HTTP/SSE). Omit to restart the server with its already-registered configuration (config-free restart-by-name)." } }, "required": [ - "serverName", - "config" + "serverName" ], "additionalProperties": false, - "description": "Server name and opaque configuration for an individual MCP server restart.", + "description": "Server name and optional replacement configuration for an individual MCP server restart. Omit `config` for a config-free restart-by-name of an already-configured server.", "title": "McpRestartServerRequest", - "visibility": "internal" + "stability": "experimental" }, "McpSamplingExecutionAction": { "type": "string", @@ -14288,7 +15286,7 @@ "status" ], "additionalProperties": false, - "description": "Schema for the `McpServer` type.", + "description": "MCP server status entry, including config source/plugin source and any connection error.", "title": "McpServer" }, "McpServerAuthConfig": { @@ -14539,7 +15537,8 @@ "servers": { "type": "array", "items": { - "$ref": "#/definitions/McpServer" + "$ref": "#/definitions/McpServer", + "description": "MCP server status entry, including config source/plugin source and any connection error." }, "description": "Configured MCP servers" }, @@ -14661,9 +15660,8 @@ "description": "Name of the MCP server to start" }, "config": { - "description": "Opaque server configuration (MCPServerConfig). Marked internal: an in-process runtime shape supplied only by in-process CLI callers.", - "x-opaque-json": true, - "visibility": "internal" + "$ref": "#/definitions/McpServerConfig", + "description": "MCP server configuration (stdio process or remote HTTP/SSE)" } }, "required": [ @@ -14671,9 +15669,9 @@ "config" ], "additionalProperties": false, - "description": "Server name and opaque configuration for an individual MCP server start.", + "description": "Server name and configuration for an individual MCP server start.", "title": "McpStartServerRequest", - "visibility": "internal" + "stability": "experimental" }, "McpStartServersResult": { "type": "object", @@ -14681,14 +15679,16 @@ "filteredServers": { "type": "array", "items": { - "$ref": "#/definitions/McpFilteredServer" + "$ref": "#/definitions/McpFilteredServer", + "description": "MCP server filtered by policy, with name, reason, optional redacted reason, and enterprise login." }, "description": "Servers filtered out before startup" }, "allowedServers": { "type": "array", "items": { - "$ref": "#/definitions/McpAllowedServer" + "$ref": "#/definitions/McpAllowedServer", + "description": "MCP server allowed by policy, with server name and optional PII-free explanatory note." }, "description": "Non-default servers allowed by policy" } @@ -14732,7 +15732,7 @@ "name" ], "additionalProperties": false, - "description": "Schema for the `McpTools` type.", + "description": "MCP tool metadata with tool name and optional description.", "title": "McpTools" }, "McpUnregisterExternalClientRequest": { @@ -15105,7 +16105,7 @@ "capabilities" ], "additionalProperties": false, - "description": "Schema for the `Model` type.", + "description": "Copilot model metadata, including identifier, display name, capabilities, policy, billing, reasoning efforts, and picker categories.", "title": "Model" }, "ModelBilling": { @@ -15412,7 +16412,8 @@ "models": { "type": "array", "items": { - "$ref": "#/definitions/Model" + "$ref": "#/definitions/Model", + "description": "Copilot model metadata, including identifier, display name, capabilities, policy, billing, reasoning efforts, and picker categories." }, "description": "List of available models with full metadata" } @@ -15575,6 +16576,10 @@ "$ref": "#/definitions/ReasoningSummary", "description": "Reasoning summary mode to request for supported model clients" }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level to request for supported models" + }, "modelCapabilities": { "$ref": "#/definitions/ModelCapabilitiesOverride", "description": "Override individual model capabilities resolved by the runtime" @@ -15807,7 +16812,8 @@ "rules": { "type": "array", "items": { - "$ref": "#/definitions/OptionsUpdateAdditionalContentExclusionPolicyRule" + "$ref": "#/definitions/OptionsUpdateAdditionalContentExclusionPolicyRule", + "description": "Single content-exclusion rule supplied to `session.options.update`, with paths, match conditions, and source." } }, "last_updated_at": { @@ -15823,7 +16829,7 @@ "last_updated_at", "scope" ], - "description": "Schema for the `OptionsUpdateAdditionalContentExclusionPolicy` type.", + "description": "Content-exclusion policy supplied to `session.options.update`, with rules, last-updated data, and scope.", "title": "OptionsUpdateAdditionalContentExclusionPolicy" }, "OptionsUpdateAdditionalContentExclusionPolicyRule": { @@ -15849,14 +16855,14 @@ }, "source": { "$ref": "#/definitions/OptionsUpdateAdditionalContentExclusionPolicyRuleSource", - "description": "Schema for the `OptionsUpdateAdditionalContentExclusionPolicyRuleSource` type." + "description": "Source descriptor for a `session.options.update` content-exclusion rule, with source name and type." } }, "required": [ "paths", "source" ], - "description": "Schema for the `OptionsUpdateAdditionalContentExclusionPolicyRule` type.", + "description": "Single content-exclusion rule supplied to `session.options.update`, with paths, match conditions, and source.", "title": "OptionsUpdateAdditionalContentExclusionPolicyRule" }, "OptionsUpdateAdditionalContentExclusionPolicyRuleSource": { @@ -15874,7 +16880,7 @@ "type" ], "additionalProperties": false, - "description": "Schema for the `OptionsUpdateAdditionalContentExclusionPolicyRuleSource` type.", + "description": "Source descriptor for a `session.options.update` content-exclusion rule, with source name and type.", "title": "OptionsUpdateAdditionalContentExclusionPolicyRuleSource" }, "OptionsUpdateAdditionalContentExclusionPolicyScope": { @@ -15961,7 +16967,7 @@ "request" ], "additionalProperties": false, - "description": "Schema for the `PendingPermissionRequest` type.", + "description": "Pending permission prompt reconstructed from event history, with request ID and user-facing prompt details.", "title": "PendingPermissionRequest" }, "PendingPermissionRequestList": { @@ -15970,7 +16976,8 @@ "items": { "type": "array", "items": { - "$ref": "#/definitions/PendingPermissionRequest" + "$ref": "#/definitions/PendingPermissionRequest", + "description": "Pending permission prompt reconstructed from event history, with request ID and user-facing prompt details." }, "description": "Pending permission prompts reconstructed from the session's event history. Equivalent to the set of `permission.requested` events that have not yet been followed by a matching `permission.completed` event. Used by clients (e.g. the CLI) to hydrate UI for prompts that were emitted before the client attached to the session." } @@ -15985,49 +16992,64 @@ "PermissionDecision": { "anyOf": [ { - "$ref": "#/definitions/PermissionDecisionApproveOnce" + "$ref": "#/definitions/PermissionDecisionApproveOnce", + "description": "Permission-decision request variant to approve only the current permission request." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSession" + "$ref": "#/definitions/PermissionDecisionApproveForSession", + "description": "Permission-decision request variant to approve for the rest of the session, with optional tool approval or URL domain." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocation" + "$ref": "#/definitions/PermissionDecisionApproveForLocation", + "description": "Permission-decision request variant to approve and persist a permission for a project location, with approval details and location key." }, { - "$ref": "#/definitions/PermissionDecisionApprovePermanently" + "$ref": "#/definitions/PermissionDecisionApprovePermanently", + "description": "Permission-decision request variant to permanently approve a URL domain across sessions." }, { - "$ref": "#/definitions/PermissionDecisionReject" + "$ref": "#/definitions/PermissionDecisionReject", + "description": "Permission-decision request variant to reject a pending permission request, with optional feedback." }, { - "$ref": "#/definitions/PermissionDecisionUserNotAvailable" + "$ref": "#/definitions/PermissionDecisionUserNotAvailable", + "description": "Permission-decision variant indicating no user was available to confirm the request." }, { - "$ref": "#/definitions/PermissionDecisionApproved" + "$ref": "#/definitions/PermissionDecisionApproved", + "description": "Permission-decision variant indicating the request was approved." }, { - "$ref": "#/definitions/PermissionDecisionApprovedForSession" + "$ref": "#/definitions/PermissionDecisionApprovedForSession", + "description": "Permission-decision variant indicating approval was remembered for the session, with approval details." }, { - "$ref": "#/definitions/PermissionDecisionApprovedForLocation" + "$ref": "#/definitions/PermissionDecisionApprovedForLocation", + "description": "Permission-decision variant indicating approval was persisted for a project location, with approval details and location key." }, { - "$ref": "#/definitions/PermissionDecisionCancelled" + "$ref": "#/definitions/PermissionDecisionCancelled", + "description": "Permission-decision variant indicating the request was cancelled before use, with an optional reason." }, { - "$ref": "#/definitions/PermissionDecisionDeniedByRules" + "$ref": "#/definitions/PermissionDecisionDeniedByRules", + "description": "Permission-decision variant indicating explicit denial by permission rules, with the matching rules." }, { - "$ref": "#/definitions/PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser" + "$ref": "#/definitions/PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser", + "description": "Permission-decision variant indicating no approval rule matched and user confirmation was unavailable." }, { - "$ref": "#/definitions/PermissionDecisionDeniedInteractivelyByUser" + "$ref": "#/definitions/PermissionDecisionDeniedInteractivelyByUser", + "description": "Permission-decision variant indicating the user denied an interactive prompt, with optional feedback and force-reject flag." }, { - "$ref": "#/definitions/PermissionDecisionDeniedByContentExclusionPolicy" + "$ref": "#/definitions/PermissionDecisionDeniedByContentExclusionPolicy", + "description": "Permission-decision variant indicating denial by content-exclusion policy, with path and message." }, { - "$ref": "#/definitions/PermissionDecisionDeniedByPermissionRequestHook" + "$ref": "#/definitions/PermissionDecisionDeniedByPermissionRequestHook", + "description": "Permission-decision variant indicating denial by a permission request hook, with optional message and interrupt flag." } ], "description": "The client's response to the pending permission prompt", @@ -16046,7 +17068,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproved` type.", + "description": "Permission-decision variant indicating the request was approved.", "title": "PermissionDecisionApproved" }, "PermissionDecisionApprovedForLocation": { @@ -16072,7 +17094,7 @@ "locationKey" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApprovedForLocation` type.", + "description": "Permission-decision variant indicating approval was persisted for a project location, with approval details and location key.", "title": "PermissionDecisionApprovedForLocation" }, "PermissionDecisionApprovedForSession": { @@ -16093,7 +17115,7 @@ "approval" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApprovedForSession` type.", + "description": "Permission-decision variant indicating approval was remembered for the session, with approval details.", "title": "PermissionDecisionApprovedForSession" }, "PermissionDecisionApproveForLocation": { @@ -16119,37 +17141,46 @@ "locationKey" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocation` type.", + "description": "Permission-decision request variant to approve and persist a permission for a project location, with approval details and location key.", "title": "PermissionDecisionApproveForLocation" }, "PermissionDecisionApproveForLocationApproval": { "anyOf": [ { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalCommands" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalCommands", + "description": "Location-scoped approval details for specific command identifiers." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalRead" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalRead", + "description": "Location-scoped approval details for read-only filesystem operations." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalWrite" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalWrite", + "description": "Location-scoped approval details for filesystem write operations." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalMcp" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalMcp", + "description": "Location-scoped approval details for an MCP server tool, or all tools on the server when `toolName` is null." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalMcpSampling" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalMcpSampling", + "description": "Location-scoped approval details for MCP sampling requests from a server." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalMemory" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalMemory", + "description": "Location-scoped approval details for writes to long-term memory." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalCustomTool" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalCustomTool", + "description": "Location-scoped approval details for a custom tool, keyed by tool name." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalExtensionManagement" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalExtensionManagement", + "description": "Location-scoped approval details for extension-management operations, optionally narrowed by operation." }, { - "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess" + "$ref": "#/definitions/PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess", + "description": "Location-scoped approval details for an extension's permission-gated capability access, keyed by extension name." } ], "description": "Approval to persist for this location", @@ -16176,7 +17207,7 @@ "commandIdentifiers" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalCommands` type.", + "description": "Location-scoped approval details for specific command identifiers.", "title": "PermissionDecisionApproveForLocationApprovalCommands" }, "PermissionDecisionApproveForLocationApprovalCustomTool": { @@ -16197,7 +17228,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalCustomTool` type.", + "description": "Location-scoped approval details for a custom tool, keyed by tool name.", "title": "PermissionDecisionApproveForLocationApprovalCustomTool" }, "PermissionDecisionApproveForLocationApprovalExtensionManagement": { @@ -16217,7 +17248,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalExtensionManagement` type.", + "description": "Location-scoped approval details for extension-management operations, optionally narrowed by operation.", "title": "PermissionDecisionApproveForLocationApprovalExtensionManagement" }, "PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess": { @@ -16238,7 +17269,7 @@ "extensionName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess` type.", + "description": "Location-scoped approval details for an extension's permission-gated capability access, keyed by extension name.", "title": "PermissionDecisionApproveForLocationApprovalExtensionPermissionAccess" }, "PermissionDecisionApproveForLocationApprovalMcp": { @@ -16267,7 +17298,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalMcp` type.", + "description": "Location-scoped approval details for an MCP server tool, or all tools on the server when `toolName` is null.", "title": "PermissionDecisionApproveForLocationApprovalMcp" }, "PermissionDecisionApproveForLocationApprovalMcpSampling": { @@ -16288,7 +17319,7 @@ "serverName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalMcpSampling` type.", + "description": "Location-scoped approval details for MCP sampling requests from a server.", "title": "PermissionDecisionApproveForLocationApprovalMcpSampling" }, "PermissionDecisionApproveForLocationApprovalMemory": { @@ -16304,7 +17335,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalMemory` type.", + "description": "Location-scoped approval details for writes to long-term memory.", "title": "PermissionDecisionApproveForLocationApprovalMemory" }, "PermissionDecisionApproveForLocationApprovalRead": { @@ -16320,7 +17351,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalRead` type.", + "description": "Location-scoped approval details for read-only filesystem operations.", "title": "PermissionDecisionApproveForLocationApprovalRead" }, "PermissionDecisionApproveForLocationApprovalWrite": { @@ -16336,7 +17367,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForLocationApprovalWrite` type.", + "description": "Location-scoped approval details for filesystem write operations.", "title": "PermissionDecisionApproveForLocationApprovalWrite" }, "PermissionDecisionApproveForSession": { @@ -16360,37 +17391,46 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSession` type.", + "description": "Permission-decision request variant to approve for the rest of the session, with optional tool approval or URL domain.", "title": "PermissionDecisionApproveForSession" }, "PermissionDecisionApproveForSessionApproval": { "anyOf": [ { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalCommands" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalCommands", + "description": "Session-scoped approval details for specific command identifiers." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalRead" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalRead", + "description": "Session-scoped approval details for read-only filesystem operations." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalWrite" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalWrite", + "description": "Session-scoped approval details for filesystem write operations." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalMcp" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalMcp", + "description": "Session-scoped approval details for an MCP server tool, or all tools on the server when `toolName` is null." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalMcpSampling" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalMcpSampling", + "description": "Session-scoped approval details for MCP sampling requests from a server." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalMemory" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalMemory", + "description": "Session-scoped approval details for writes to long-term memory." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalCustomTool" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalCustomTool", + "description": "Session-scoped approval details for a custom tool, keyed by tool name." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalExtensionManagement" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalExtensionManagement", + "description": "Session-scoped approval details for extension-management operations, optionally narrowed by operation." }, { - "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess" + "$ref": "#/definitions/PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess", + "description": "Session-scoped approval details for an extension's permission-gated capability access, keyed by extension name." } ], "description": "Session-scoped approval to remember (tool prompts only; omitted for path/url prompts)", @@ -16417,7 +17457,7 @@ "commandIdentifiers" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalCommands` type.", + "description": "Session-scoped approval details for specific command identifiers.", "title": "PermissionDecisionApproveForSessionApprovalCommands" }, "PermissionDecisionApproveForSessionApprovalCustomTool": { @@ -16438,7 +17478,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalCustomTool` type.", + "description": "Session-scoped approval details for a custom tool, keyed by tool name.", "title": "PermissionDecisionApproveForSessionApprovalCustomTool" }, "PermissionDecisionApproveForSessionApprovalExtensionManagement": { @@ -16458,7 +17498,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalExtensionManagement` type.", + "description": "Session-scoped approval details for extension-management operations, optionally narrowed by operation.", "title": "PermissionDecisionApproveForSessionApprovalExtensionManagement" }, "PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess": { @@ -16479,7 +17519,7 @@ "extensionName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess` type.", + "description": "Session-scoped approval details for an extension's permission-gated capability access, keyed by extension name.", "title": "PermissionDecisionApproveForSessionApprovalExtensionPermissionAccess" }, "PermissionDecisionApproveForSessionApprovalMcp": { @@ -16508,7 +17548,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalMcp` type.", + "description": "Session-scoped approval details for an MCP server tool, or all tools on the server when `toolName` is null.", "title": "PermissionDecisionApproveForSessionApprovalMcp" }, "PermissionDecisionApproveForSessionApprovalMcpSampling": { @@ -16529,7 +17569,7 @@ "serverName" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalMcpSampling` type.", + "description": "Session-scoped approval details for MCP sampling requests from a server.", "title": "PermissionDecisionApproveForSessionApprovalMcpSampling" }, "PermissionDecisionApproveForSessionApprovalMemory": { @@ -16545,7 +17585,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalMemory` type.", + "description": "Session-scoped approval details for writes to long-term memory.", "title": "PermissionDecisionApproveForSessionApprovalMemory" }, "PermissionDecisionApproveForSessionApprovalRead": { @@ -16561,7 +17601,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalRead` type.", + "description": "Session-scoped approval details for read-only filesystem operations.", "title": "PermissionDecisionApproveForSessionApprovalRead" }, "PermissionDecisionApproveForSessionApprovalWrite": { @@ -16577,7 +17617,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveForSessionApprovalWrite` type.", + "description": "Session-scoped approval details for filesystem write operations.", "title": "PermissionDecisionApproveForSessionApprovalWrite" }, "PermissionDecisionApproveOnce": { @@ -16593,7 +17633,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApproveOnce` type.", + "description": "Permission-decision request variant to approve only the current permission request.", "title": "PermissionDecisionApproveOnce" }, "PermissionDecisionApprovePermanently": { @@ -16614,7 +17654,7 @@ "domain" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionApprovePermanently` type.", + "description": "Permission-decision request variant to permanently approve a URL domain across sessions.", "title": "PermissionDecisionApprovePermanently" }, "PermissionDecisionCancelled": { @@ -16634,7 +17674,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionCancelled` type.", + "description": "Permission-decision variant indicating the request was cancelled before use, with an optional reason.", "title": "PermissionDecisionCancelled" }, "PermissionDecisionDeniedByContentExclusionPolicy": { @@ -16660,7 +17700,7 @@ "message" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionDeniedByContentExclusionPolicy` type.", + "description": "Permission-decision variant indicating denial by content-exclusion policy, with path and message.", "title": "PermissionDecisionDeniedByContentExclusionPolicy" }, "PermissionDecisionDeniedByPermissionRequestHook": { @@ -16684,7 +17724,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionDeniedByPermissionRequestHook` type.", + "description": "Permission-decision variant indicating denial by a permission request hook, with optional message and interrupt flag.", "title": "PermissionDecisionDeniedByPermissionRequestHook" }, "PermissionDecisionDeniedByRules": { @@ -16698,7 +17738,8 @@ "rules": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Rules that denied the request" } @@ -16708,7 +17749,7 @@ "rules" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionDeniedByRules` type.", + "description": "Permission-decision variant indicating explicit denial by permission rules, with the matching rules.", "title": "PermissionDecisionDeniedByRules" }, "PermissionDecisionDeniedInteractivelyByUser": { @@ -16732,7 +17773,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionDeniedInteractivelyByUser` type.", + "description": "Permission-decision variant indicating the user denied an interactive prompt, with optional feedback and force-reject flag.", "title": "PermissionDecisionDeniedInteractivelyByUser" }, "PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser": { @@ -16748,7 +17789,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser` type.", + "description": "Permission-decision variant indicating no approval rule matched and user confirmation was unavailable.", "title": "PermissionDecisionDeniedNoApprovalRuleAndCouldNotRequestFromUser" }, "PermissionDecisionReject": { @@ -16768,7 +17809,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionReject` type.", + "description": "Permission-decision request variant to reject a pending permission request, with optional feedback.", "title": "PermissionDecisionReject" }, "PermissionDecisionRequest": { @@ -16805,7 +17846,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDecisionUserNotAvailable` type.", + "description": "Permission-decision variant indicating no user was available to confirm the request.", "title": "PermissionDecisionUserNotAvailable" }, "PermissionLocationAddToolApprovalParams": { @@ -16873,7 +17914,8 @@ "appliedRules": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Location-scoped rules applied to the live permission service" } @@ -17134,7 +18176,7 @@ "argument" ], "additionalProperties": false, - "description": "Schema for the `PermissionRule` type.", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value.", "title": "PermissionRule" }, "PermissionRulesSet": { @@ -17143,14 +18185,16 @@ "approved": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Rules that auto-approve matching requests" }, "denied": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Rules that auto-deny matching requests" } @@ -17163,13 +18207,29 @@ "description": "If specified, replaces the session's approved/denied permission rules. Omit to leave the current rules unchanged.", "title": "PermissionRulesSet" }, + "PermissionsAllowAllMode": { + "type": "string", + "enum": [ + "off", + "on", + "auto" + ], + "description": "Current or requested allow-all mode.", + "title": "PermissionsAllowAllMode", + "x-enumDescriptions": { + "off": "Permission requests follow the normal approval flow.", + "on": "Tool, path, and URL permission requests are automatically approved.", + "auto": "Permission requests follow the normal approval flow with an LLM advisory recommendation attached; clients may choose to auto-approve requests the judge evaluated as acceptable." + } + }, "PermissionsConfigureAdditionalContentExclusionPolicy": { "type": "object", "properties": { "rules": { "type": "array", "items": { - "$ref": "#/definitions/PermissionsConfigureAdditionalContentExclusionPolicyRule" + "$ref": "#/definitions/PermissionsConfigureAdditionalContentExclusionPolicyRule", + "description": "Single content-exclusion rule supplied to `session.permissions.configure`, with paths, match conditions, and source." } }, "last_updated_at": { @@ -17185,7 +18245,7 @@ "last_updated_at", "scope" ], - "description": "Schema for the `PermissionsConfigureAdditionalContentExclusionPolicy` type.", + "description": "Content-exclusion policy supplied to `session.permissions.configure`, with rules, last-updated data, and scope.", "title": "PermissionsConfigureAdditionalContentExclusionPolicy" }, "PermissionsConfigureAdditionalContentExclusionPolicyRule": { @@ -17211,14 +18271,14 @@ }, "source": { "$ref": "#/definitions/PermissionsConfigureAdditionalContentExclusionPolicyRuleSource", - "description": "Schema for the `PermissionsConfigureAdditionalContentExclusionPolicyRuleSource` type." + "description": "Source descriptor for a `session.permissions.configure` content-exclusion rule, with source name and type." } }, "required": [ "paths", "source" ], - "description": "Schema for the `PermissionsConfigureAdditionalContentExclusionPolicyRule` type.", + "description": "Single content-exclusion rule supplied to `session.permissions.configure`, with paths, match conditions, and source.", "title": "PermissionsConfigureAdditionalContentExclusionPolicyRule" }, "PermissionsConfigureAdditionalContentExclusionPolicyRuleSource": { @@ -17236,7 +18296,7 @@ "type" ], "additionalProperties": false, - "description": "Schema for the `PermissionsConfigureAdditionalContentExclusionPolicyRuleSource` type.", + "description": "Source descriptor for a `session.permissions.configure` content-exclusion rule, with source name and type.", "title": "PermissionsConfigureAdditionalContentExclusionPolicyRuleSource" }, "PermissionsConfigureAdditionalContentExclusionPolicyScope": { @@ -17278,7 +18338,8 @@ "additionalContentExclusionPolicies": { "type": "array", "items": { - "$ref": "#/definitions/PermissionsConfigureAdditionalContentExclusionPolicy" + "$ref": "#/definitions/PermissionsConfigureAdditionalContentExclusionPolicy", + "description": "Content-exclusion policy supplied to `session.permissions.configure`, with rules, last-updated data, and scope." }, "description": "If specified, replaces the host-supplied GitHub Content Exclusion policies on the session (combined with natively-discovered policies when evaluating tool/file access). Omit to leave the current policies unchanged." } @@ -17329,31 +18390,40 @@ "PermissionsLocationsAddToolApprovalDetails": { "anyOf": [ { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsCommands" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsCommands", + "description": "Location-persisted tool approval details for specific command identifiers." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsRead" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsRead", + "description": "Location-persisted tool approval details for read-only filesystem operations." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsWrite" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsWrite", + "description": "Location-persisted tool approval details for filesystem write operations." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsMcp" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsMcp", + "description": "Location-persisted tool approval details for an MCP server tool, or all tools when `toolName` is null." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsMcpSampling" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsMcpSampling", + "description": "Location-persisted tool approval details for MCP sampling requests from a server." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsMemory" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsMemory", + "description": "Location-persisted tool approval details for writes to long-term memory." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsCustomTool" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsCustomTool", + "description": "Location-persisted tool approval details for a custom tool, keyed by tool name." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsExtensionManagement" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsExtensionManagement", + "description": "Location-persisted tool approval details for extension-management operations, optionally narrowed by operation." }, { - "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess" + "$ref": "#/definitions/PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess", + "description": "Location-persisted tool approval details for an extension's permission-gated capability access, keyed by extension name." } ], "description": "Tool approval to persist and apply", @@ -17380,7 +18450,7 @@ "commandIdentifiers" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsCommands` type.", + "description": "Location-persisted tool approval details for specific command identifiers.", "title": "PermissionsLocationsAddToolApprovalDetailsCommands" }, "PermissionsLocationsAddToolApprovalDetailsCustomTool": { @@ -17401,7 +18471,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsCustomTool` type.", + "description": "Location-persisted tool approval details for a custom tool, keyed by tool name.", "title": "PermissionsLocationsAddToolApprovalDetailsCustomTool" }, "PermissionsLocationsAddToolApprovalDetailsExtensionManagement": { @@ -17421,7 +18491,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsExtensionManagement` type.", + "description": "Location-persisted tool approval details for extension-management operations, optionally narrowed by operation.", "title": "PermissionsLocationsAddToolApprovalDetailsExtensionManagement" }, "PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess": { @@ -17442,7 +18512,7 @@ "extensionName" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess` type.", + "description": "Location-persisted tool approval details for an extension's permission-gated capability access, keyed by extension name.", "title": "PermissionsLocationsAddToolApprovalDetailsExtensionPermissionAccess" }, "PermissionsLocationsAddToolApprovalDetailsMcp": { @@ -17471,7 +18541,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsMcp` type.", + "description": "Location-persisted tool approval details for an MCP server tool, or all tools when `toolName` is null.", "title": "PermissionsLocationsAddToolApprovalDetailsMcp" }, "PermissionsLocationsAddToolApprovalDetailsMcpSampling": { @@ -17492,7 +18562,7 @@ "serverName" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsMcpSampling` type.", + "description": "Location-persisted tool approval details for MCP sampling requests from a server.", "title": "PermissionsLocationsAddToolApprovalDetailsMcpSampling" }, "PermissionsLocationsAddToolApprovalDetailsMemory": { @@ -17508,7 +18578,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsMemory` type.", + "description": "Location-persisted tool approval details for writes to long-term memory.", "title": "PermissionsLocationsAddToolApprovalDetailsMemory" }, "PermissionsLocationsAddToolApprovalDetailsRead": { @@ -17524,7 +18594,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsRead` type.", + "description": "Location-persisted tool approval details for read-only filesystem operations.", "title": "PermissionsLocationsAddToolApprovalDetailsRead" }, "PermissionsLocationsAddToolApprovalDetailsWrite": { @@ -17540,7 +18610,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionsLocationsAddToolApprovalDetailsWrite` type.", + "description": "Location-persisted tool approval details for filesystem write operations.", "title": "PermissionsLocationsAddToolApprovalDetailsWrite" }, "PermissionsLocationsAddToolApprovalResult": { @@ -17568,14 +18638,16 @@ "add": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Rules to add to the scope. Applied before `remove`/`removeAll`." }, "remove": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Specific rules to remove from the scope. Ignored when `removeAll` is true." }, @@ -17707,20 +18779,25 @@ "PermissionsSetAllowAllRequest": { "type": "object", "properties": { + "mode": { + "$ref": "#/definitions/PermissionsAllowAllMode", + "description": "Allow-all mode to apply. `on` enables full allow-all; `auto` enables advisory LLM auto-approval; `off` disables both." + }, "enabled": { "type": "boolean", - "description": "Whether to enable full allow-all permissions" + "description": "Legacy full allow-all toggle. Prefer `mode`; when `mode` is omitted, `enabled: true` is treated as `mode: \"on\"` and any other value is treated as `mode: \"off\"`." + }, + "model": { + "type": "string", + "description": "Optional model id for the `auto` mode auto-approval LLM judging. Only meaningful when `mode` is `auto`; ignored otherwise. When omitted, the session's active model is used." }, "source": { "$ref": "#/definitions/PermissionsSetAllowAllSource", "description": "Optional source for allow-all telemetry. Defaults to `rpc` when omitted for SDK callers." } }, - "required": [ - "enabled" - ], "additionalProperties": false, - "description": "Whether to enable full allow-all permissions for the session.", + "description": "Allow-all mode to apply for the session.", "title": "PermissionsSetAllowAllRequest", "stability": "experimental" }, @@ -18077,7 +19154,7 @@ "enabled" ], "additionalProperties": false, - "description": "Schema for the `Plugin` type.", + "description": "Session plugin metadata, with name, marketplace, optional version, and enabled state.", "title": "Plugin" }, "PluginInstallResult": { @@ -18114,7 +19191,8 @@ "plugins": { "type": "array", "items": { - "$ref": "#/definitions/Plugin" + "$ref": "#/definitions/Plugin", + "description": "Session plugin metadata, with name, marketplace, optional version, and enabled state." }, "description": "Installed plugins" } @@ -18288,6 +19366,10 @@ "type": "boolean", "description": "Re-load user, plugin, and (subject to `deferRepoHooks`) repo hooks. Defaults to true. Has no effect when the host has not registered a hook reloader (e.g. remote sessions)." }, + "reloadExtensions": { + "type": "boolean", + "description": "Re-discover and relaunch subprocess extensions (including plugin-shipped extensions) after refreshing plugins. Defaults to true. Has no effect when the session has no active extension controller (e.g. extensions were not requested for the session)." + }, "deferRepoHooks": { "type": "boolean", "description": "When true, skip repo-level hooks during the hook reload. Use before folder trust is confirmed; load them post-trust via `sessions.loadDeferredRepoHooks`." @@ -18375,7 +19457,7 @@ "success" ], "additionalProperties": false, - "description": "Schema for the `PluginUpdateAllEntry` type.", + "description": "Per-plugin result from updating all plugins, with versions, skills installed, success flag, and optional error.", "title": "PluginUpdateAllEntry" }, "PluginUpdateAllResult": { @@ -18384,7 +19466,8 @@ "results": { "type": "array", "items": { - "$ref": "#/definitions/PluginUpdateAllEntry" + "$ref": "#/definitions/PluginUpdateAllEntry", + "description": "Per-plugin result from updating all plugins, with versions, skills installed, success flag, and optional error." }, "description": "Per-plugin update results in deterministic order." } @@ -18864,7 +19947,7 @@ "description": "Slim input shape for extension_context attachments; identity fields are runtime-derived." } ], - "description": "Schema for the `PushAttachment` type.", + "description": "Attachment union accepted by push input, covering files, directories, GitHub objects, blobs, snippets, and extension context.", "title": "PushAttachment" }, "PushAttachmentBlob": { @@ -19530,7 +20613,7 @@ "handled" ], "additionalProperties": false, - "description": "Schema for the `QueuedCommandHandled` type.", + "description": "Queued-command response indicating the host executed the command, with an optional flag to stop queue processing.", "title": "QueuedCommandHandled" }, "QueuedCommandNotHandled": { @@ -19546,16 +20629,18 @@ "handled" ], "additionalProperties": false, - "description": "Schema for the `QueuedCommandNotHandled` type.", + "description": "Queued-command response indicating the host did not execute the command and the queue may continue.", "title": "QueuedCommandNotHandled" }, "QueuedCommandResult": { "anyOf": [ { - "$ref": "#/definitions/QueuedCommandHandled" + "$ref": "#/definitions/QueuedCommandHandled", + "description": "Queued-command response indicating the host executed the command, with an optional flag to stop queue processing." }, { - "$ref": "#/definitions/QueuedCommandNotHandled" + "$ref": "#/definitions/QueuedCommandNotHandled", + "description": "Queued-command response indicating the host did not execute the command and the queue may continue." } ], "description": "Result of the queued command execution.", @@ -19578,7 +20663,7 @@ "displayText" ], "additionalProperties": false, - "description": "Schema for the `QueuePendingItems` type.", + "description": "User-facing pending queue entry, with kind and display text for a queued message, slash command, or model change.", "title": "QueuePendingItems" }, "QueuePendingItemsKind": { @@ -19600,7 +20685,8 @@ "items": { "type": "array", "items": { - "$ref": "#/definitions/QueuePendingItems" + "$ref": "#/definitions/QueuePendingItems", + "description": "User-facing pending queue entry, with kind and display text for a queued message, slash command, or model change." }, "description": "Pending queued items in submission order. Includes user messages, queued slash commands, and queued model changes; omits internal system items." }, @@ -19655,7 +20741,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 the full interactive OAuth flow to the consumer; when no interest is registered the runtime installs a browserless fallback that silently reuses cached tokens). 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 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`." } }, "required": [ @@ -19844,6 +20930,11 @@ "description": "In-process prompt-manager handle (CLI-only optimization). Marked internal: this field is excluded from the public SDK surface. When the CLI migrates to a process-separated SDK, the same bidirectional prompt-routing handshake is expressed via dedicated remote-control RPCs (register/resolve) rather than a shared in-process object.", "x-opaque-json": true, "visibility": "internal" + }, + "awaitingFirstMessage": { + "type": "boolean", + "description": "True while a read-only/session-sync export is deferred, awaiting the first `user.message` before its MC session exists. Marked internal: this field is excluded from the public SDK surface and is populated only on the CLI in-process path.", + "visibility": "internal" } }, "required": [ @@ -20317,20 +21408,6 @@ "allowLocalNetwork": { "type": "boolean", "description": "Whether traffic to local/loopback addresses is allowed." - }, - "allowedHosts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Hosts allowed in addition to the base policy." - }, - "blockedHosts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Hosts explicitly blocked." } }, "additionalProperties": false, @@ -20405,7 +21482,7 @@ "nextRunAt" ], "additionalProperties": false, - "description": "Schema for the `ScheduleEntry` type.", + "description": "Scheduled prompt entry with ID, timing (`intervalMs`, `cron`, or `at`), prompt text, recurrence, and next run time.", "title": "ScheduleEntry" }, "ScheduleList": { @@ -20414,7 +21491,8 @@ "entries": { "type": "array", "items": { - "$ref": "#/definitions/ScheduleEntry" + "$ref": "#/definitions/ScheduleEntry", + "description": "Scheduled prompt entry with ID, timing (`intervalMs`, `cron`, or `at`), prompt text, recurrence, and next run time." }, "description": "Active scheduled prompts, ordered by id." } @@ -20452,82 +21530,194 @@ } }, "additionalProperties": false, - "description": "Remove a scheduled prompt by id. The result entry is omitted if the id was unknown.", - "title": "ScheduleStopResult" + "description": "Remove a scheduled prompt by id. The result entry is omitted if the id was unknown.", + "title": "ScheduleStopResult" + }, + "SecretsAddFilterValuesRequest": { + "type": "object", + "properties": { + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Raw secret values to register for redaction" + } + }, + "required": [ + "values" + ], + "additionalProperties": false, + "description": "Secret values to add to the redaction filter.", + "title": "SecretsAddFilterValuesRequest" + }, + "SecretsAddFilterValuesResult": { + "type": "object", + "properties": { + "ok": { + "type": "boolean", + "const": true, + "description": "Whether the values were successfully registered" + } + }, + "required": [ + "ok" + ], + "additionalProperties": false, + "description": "Confirmation that the secret values were registered.", + "title": "SecretsAddFilterValuesResult" + }, + "SendAgentMode": { + "type": "string", + "enum": [ + "interactive", + "plan", + "autopilot", + "shell" + ], + "description": "The UI mode the agent was in when this message was sent. Defaults to the session's current mode.", + "title": "SendAgentMode", + "x-enumDescriptions": { + "interactive": "The agent is responding interactively to the user.", + "plan": "The agent is preparing a plan before making changes.", + "autopilot": "The agent is working autonomously toward task completion.", + "shell": "The agent is in shell-focused UI mode." + } + }, + "SendAttachmentsToMessageParams": { + "type": "object", + "properties": { + "instanceId": { + "type": "string", + "description": "Optional canvas instance binding the push for provenance. When supplied, the runtime resolves the canvas, verifies it is owned by the calling extension, and stamps canvasId/instanceId onto each extension_context entry. When omitted, no resolution runs and those fields stay unset on the attachment." + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/PushAttachment", + "description": "Attachment union accepted by push input, covering files, directories, GitHub objects, blobs, snippets, and extension context." + }, + "description": "Attachments to push into the next user-message turn. extension_context entries take the slim shape; standard variants take their full AttachmentSchema shape." + } + }, + "required": [ + "attachments" + ], + "additionalProperties": false, + "description": "Parameters for session.extensions.sendAttachmentsToMessage.", + "title": "SendAttachmentsToMessageParams", + "stability": "experimental" + }, + "SendMessageItem": { + "type": "object", + "properties": { + "prompt": { + "type": "string", + "description": "The user message text" + }, + "displayPrompt": { + "type": "string", + "description": "If provided, this is shown in the timeline instead of `prompt`" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/definitions/Attachment", + "description": "A user message attachment — a file, directory, code selection, blob, GitHub-anchored pointer, or extension-supplied context payload" + }, + "description": "Optional attachments (files, directories, selections, blobs, GitHub references) to include with this message" + }, + "billable": { + "type": "boolean", + "description": "If false, this message will not trigger a Premium Request Unit charge. User messages default to billable.", + "visibility": "internal" + }, + "requiredTool": { + "type": "string", + "description": "If set, the request will fail if the named tool is not available when this message is among the user messages at the start of the current exchange" + }, + "source": { + "type": "string", + "pattern": "^(system|command-.*|schedule-\\d+)$", + "description": "Optional provenance tag copied to the resulting user.message event. Must match one of three forms: the literal `system`, `command-` for messages originating from a command (e.g. slash command, Mission Control command), or `schedule-` for messages originating from a scheduled job.", + "visibility": "internal" + } + }, + "required": [ + "prompt" + ], + "additionalProperties": false, + "description": "A single user message to append to the session as part of a `session.sendMessages` turn", + "title": "SendMessageItem" }, - "SecretsAddFilterValuesRequest": { + "SendMessagesRequest": { "type": "object", "properties": { - "values": { + "messages": { "type": "array", "items": { + "$ref": "#/definitions/SendMessageItem", + "description": "A single user message to append to the session as part of a `session.sendMessages` turn" + }, + "description": "The user messages to append to the conversation, in order. May be empty, in which case a single turn runs over the existing history with no new user message." + }, + "mode": { + "$ref": "#/definitions/SendMode", + "description": "How to deliver the messages. `enqueue` (default) appends to the message queue. `immediate` interjects during an in-progress turn." + }, + "prepend": { + "type": "boolean", + "description": "If true, adds the messages to the front of the queue instead of the end" + }, + "agentMode": { + "$ref": "#/definitions/SendAgentMode", + "description": "The UI mode the agent was in when these messages were sent. Defaults to the session's current mode." + }, + "requestHeaders": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "Raw secret values to register for redaction" - } - }, - "required": [ - "values" - ], - "additionalProperties": false, - "description": "Secret values to add to the redaction filter.", - "title": "SecretsAddFilterValuesRequest" - }, - "SecretsAddFilterValuesResult": { - "type": "object", - "properties": { - "ok": { + "description": "Custom HTTP headers to include in outbound model requests for this turn. Merged with session-level provider headers; per-turn headers augment and overwrite session-level headers with the same key." + }, + "traceparent": { + "type": "string", + "description": "W3C Trace Context traceparent header for distributed tracing of this agent turn" + }, + "tracestate": { + "type": "string", + "description": "W3C Trace Context tracestate header for distributed tracing" + }, + "wait": { "type": "boolean", - "const": true, - "description": "Whether the values were successfully registered" + "description": "If true, await completion of the agentic loop for this turn before returning. Defaults to false (fire-and-forget). When true, the result still contains the same `messageIds`; the caller can rely on the agent having processed the messages before the call resolves." } }, "required": [ - "ok" + "messages" ], "additionalProperties": false, - "description": "Confirmation that the secret values were registered.", - "title": "SecretsAddFilterValuesResult" - }, - "SendAgentMode": { - "type": "string", - "enum": [ - "interactive", - "plan", - "autopilot", - "shell" - ], - "description": "The UI mode the agent was in when this message was sent. Defaults to the session's current mode.", - "title": "SendAgentMode", - "x-enumDescriptions": { - "interactive": "The agent is responding interactively to the user.", - "plan": "The agent is preparing a plan before making changes.", - "autopilot": "The agent is working autonomously toward task completion.", - "shell": "The agent is in shell-focused UI mode." - } + "description": "Parameters for sending zero or more user messages to the session in a single turn. Remote-backed (Mission Control) sessions do not support this method and will return an error.", + "title": "SendMessagesRequest", + "stability": "experimental" }, - "SendAttachmentsToMessageParams": { + "SendMessagesResult": { "type": "object", "properties": { - "instanceId": { - "type": "string", - "description": "Optional canvas instance binding the push for provenance. When supplied, the runtime resolves the canvas, verifies it is owned by the calling extension, and stamps canvasId/instanceId onto each extension_context entry. When omitted, no resolution runs and those fields stay unset on the attachment." - }, - "attachments": { + "messageIds": { "type": "array", "items": { - "$ref": "#/definitions/PushAttachment" + "type": "string" }, - "description": "Attachments to push into the next user-message turn. extension_context entries take the slim shape; standard variants take their full AttachmentSchema shape." + "description": "Unique identifiers assigned to the messages, one per provided message in order. Empty when no messages were provided." } }, "required": [ - "attachments" + "messageIds" ], "additionalProperties": false, - "description": "Parameters for session.extensions.sendAttachmentsToMessage.", - "title": "SendAttachmentsToMessageParams", - "stability": "experimental" + "description": "Result of sending zero or more user messages", + "title": "SendMessagesResult" }, "SendMode": { "type": "string", @@ -20636,7 +21826,8 @@ "agents": { "type": "array", "items": { - "$ref": "#/definitions/AgentInfo" + "$ref": "#/definitions/AgentInfo", + "description": "Custom agent metadata, including identifiers, display details, source, tools, model, MCP servers, skills, and file path." }, "description": "All discovered agents across all sources" } @@ -20654,7 +21845,8 @@ "sources": { "type": "array", "items": { - "$ref": "#/definitions/InstructionSource" + "$ref": "#/definitions/InstructionSource", + "description": "Loaded instruction source for a session, including path, content, category, location, applicability, and optional description." }, "description": "All discovered instruction sources" } @@ -20710,7 +21902,7 @@ "enabled" ], "additionalProperties": false, - "description": "Schema for the `ServerSkill` type.", + "description": "Server-side skill metadata, including name, description, source, enabled/invocable state, path, project path, and argument hint.", "title": "ServerSkill" }, "ServerSkillList": { @@ -20719,7 +21911,8 @@ "skills": { "type": "array", "items": { - "$ref": "#/definitions/ServerSkill" + "$ref": "#/definitions/ServerSkill", + "description": "Server-side skill metadata, including name, description, source, enabled/invocable state, path, project path, and argument hint." }, "description": "All discovered skills across all sources" } @@ -21082,7 +22275,8 @@ "sessions": { "type": "array", "items": { - "$ref": "#/definitions/LocalSessionMetadataValue" + "$ref": "#/definitions/LocalSessionMetadataValue", + "description": "Persisted local session metadata, including identifiers, timestamps, summary/name, client, context, detached state, and task ID." }, "description": "Enriched records, with summary and context backfilled. Sessions confirmed empty and unnamed may be omitted." } @@ -21263,7 +22457,7 @@ "type" ], "additionalProperties": false, - "description": "Schema for the `SessionFsReaddirWithTypesEntry` type.", + "description": "Directory entry returned by session filesystem `readdirWithTypes`, with name and entry type.", "title": "SessionFsReaddirWithTypesEntry" }, "SessionFsReaddirWithTypesEntryType": { @@ -21301,7 +22495,8 @@ "entries": { "type": "array", "items": { - "$ref": "#/definitions/SessionFsReaddirWithTypesEntry" + "$ref": "#/definitions/SessionFsReaddirWithTypesEntry", + "description": "Directory entry returned by session filesystem `readdirWithTypes`, with name and entry type." }, "description": "Directory entries with type information" }, @@ -21690,7 +22885,7 @@ "enabled" ], "additionalProperties": false, - "description": "Schema for the `SessionInstalledPlugin` type.", + "description": "Installed plugin record for a session, with marketplace, version, install time, enabled state, cache path, and source.", "title": "SessionInstalledPlugin" }, "SessionInstalledPluginSource": { @@ -21700,13 +22895,16 @@ "pattern": "^[^/]+\\/[^/]+$" }, { - "$ref": "#/definitions/SessionInstalledPluginSourceGitHub" + "$ref": "#/definitions/SessionInstalledPluginSourceGitHub", + "description": "Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref, and optional subpath." }, { - "$ref": "#/definitions/SessionInstalledPluginSourceUrl" + "$ref": "#/definitions/SessionInstalledPluginSourceUrl", + "description": "Source descriptor for a direct URL plugin install, with URL, optional ref, and optional subpath." }, { - "$ref": "#/definitions/SessionInstalledPluginSourceLocal" + "$ref": "#/definitions/SessionInstalledPluginSourceLocal", + "description": "Source descriptor for a direct local plugin install, with a local filesystem path." } ], "description": "Source descriptor for direct repo installs (when marketplace is empty)", @@ -21738,7 +22936,7 @@ "repo" ], "additionalProperties": false, - "description": "Schema for the `SessionInstalledPluginSourceGitHub` type.", + "description": "Source descriptor for a direct GitHub plugin install, with `owner/repo`, optional ref, and optional subpath.", "title": "SessionInstalledPluginSourceGitHub" }, "SessionInstalledPluginSourceLocal": { @@ -21758,7 +22956,7 @@ "path" ], "additionalProperties": false, - "description": "Schema for the `SessionInstalledPluginSourceLocal` type.", + "description": "Source descriptor for a direct local plugin install, with a local filesystem path.", "title": "SessionInstalledPluginSourceLocal" }, "SessionInstalledPluginSourceUrl": { @@ -21785,7 +22983,7 @@ "url" ], "additionalProperties": false, - "description": "Schema for the `SessionInstalledPluginSourceUrl` type.", + "description": "Source descriptor for a direct URL plugin install, with URL, optional ref, and optional subpath.", "title": "SessionInstalledPluginSourceUrl" }, "SessionLimitsConfig": { @@ -21823,7 +23021,8 @@ "SessionListEntry": { "anyOf": [ { - "$ref": "#/definitions/LocalSessionMetadataValue" + "$ref": "#/definitions/LocalSessionMetadataValue", + "description": "Persisted local session metadata, including identifiers, timestamps, summary/name, client, context, detached state, and task ID." }, { "$ref": "#/definitions/RemoteSessionMetadataValue", @@ -22052,6 +23251,10 @@ "$ref": "#/definitions/SessionOpenOptionsReasoningSummary", "description": "Initial reasoning summary mode for supported model clients." }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Initial output verbosity level for supported models." + }, "clientName": { "type": "string", "description": "Identifier of the client driving the session." @@ -22073,6 +23276,10 @@ "x-opaque-json": true, "visibility": "internal" }, + "enableManagedSettings": { + "type": "boolean", + "description": "Opt-in: self-fetch and enforce enterprise managed settings at session bootstrap." + }, "featureFlags": { "type": "object", "additionalProperties": { @@ -22211,7 +23418,8 @@ "installedPlugins": { "type": "array", "items": { - "$ref": "#/definitions/InstalledPlugin" + "$ref": "#/definitions/InstalledPlugin", + "description": "Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source." }, "description": "Installed plugins visible to the session." }, @@ -22295,7 +23503,8 @@ "additionalContentExclusionPolicies": { "type": "array", "items": { - "$ref": "#/definitions/SessionOpenOptionsAdditionalContentExclusionPolicy" + "$ref": "#/definitions/SessionOpenOptionsAdditionalContentExclusionPolicy", + "description": "Content-exclusion policy supplied to `sessions.open` options, with rules, last-updated data, and scope." }, "description": "Additional content-exclusion policies to merge into the session policy set.", "stability": "experimental" @@ -22323,7 +23532,8 @@ "rules": { "type": "array", "items": { - "$ref": "#/definitions/SessionOpenOptionsAdditionalContentExclusionPolicyRule" + "$ref": "#/definitions/SessionOpenOptionsAdditionalContentExclusionPolicyRule", + "description": "Single content-exclusion rule supplied to `sessions.open` options, with paths, match conditions, and source." } }, "last_updated_at": { @@ -22339,7 +23549,7 @@ "last_updated_at", "scope" ], - "description": "Schema for the `SessionOpenOptionsAdditionalContentExclusionPolicy` type.", + "description": "Content-exclusion policy supplied to `sessions.open` options, with rules, last-updated data, and scope.", "title": "SessionOpenOptionsAdditionalContentExclusionPolicy" }, "SessionOpenOptionsAdditionalContentExclusionPolicyRule": { @@ -22365,14 +23575,14 @@ }, "source": { "$ref": "#/definitions/SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource", - "description": "Schema for the `SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource` type." + "description": "Source descriptor for a `sessions.open` content-exclusion rule, with source name and type." } }, "required": [ "paths", "source" ], - "description": "Schema for the `SessionOpenOptionsAdditionalContentExclusionPolicyRule` type.", + "description": "Single content-exclusion rule supplied to `sessions.open` options, with paths, match conditions, and source.", "title": "SessionOpenOptionsAdditionalContentExclusionPolicyRule" }, "SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource": { @@ -22390,7 +23600,7 @@ "type" ], "additionalProperties": false, - "description": "Schema for the `SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource` type.", + "description": "Source descriptor for a `sessions.open` content-exclusion rule, with source name and type.", "title": "SessionOpenOptionsAdditionalContentExclusionPolicyRuleSource" }, "SessionOpenOptionsAdditionalContentExclusionPolicyScope": { @@ -22502,7 +23712,8 @@ "progress": { "type": "array", "items": { - "$ref": "#/definitions/SessionsOpenProgress" + "$ref": "#/definitions/SessionsOpenProgress", + "description": "`sessions.open` handoff progress update with step, status, and optional message." }, "description": "Handoff progress steps, present when status is `handed_off`." } @@ -22641,7 +23852,8 @@ "sessions": { "type": "array", "items": { - "$ref": "#/definitions/LocalSessionMetadataValue" + "$ref": "#/definitions/LocalSessionMetadataValue", + "description": "Persisted local session metadata, including identifiers, timestamps, summary/name, client, context, detached state, and task ID." }, "description": "Session metadata records to enrich. Records that already have summary and context are returned unchanged." } @@ -22685,6 +23897,273 @@ "description": "Indicates whether the credential update succeeded.", "title": "SessionSetCredentialsResult" }, + "SessionSettingsBuiltInToolAvailabilitySnapshot": { + "type": "object", + "properties": { + "reportProgress": { + "type": "boolean" + }, + "createPullRequest": { + "type": "boolean" + } + }, + "additionalProperties": false, + "description": "Availability of built-in job tools surfaced to boundary consumers.", + "title": "SessionSettingsBuiltInToolAvailabilitySnapshot" + }, + "SessionSettingsEvaluatePredicateRequest": { + "type": "object", + "properties": { + "name": { + "$ref": "#/definitions/SessionSettingsPredicateName", + "description": "Predicate name. The runtime owns the raw feature-flag names and composition logic." + }, + "toolName": { + "type": "string", + "description": "Tool name for tool-scoped predicates such as trivial-change handling." + } + }, + "required": [ + "name" + ], + "additionalProperties": false, + "description": "Named Rust-owned settings predicate to evaluate for this session.", + "title": "SessionSettingsEvaluatePredicateRequest", + "stability": "experimental" + }, + "SessionSettingsEvaluatePredicateResult": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean" + } + }, + "required": [ + "enabled" + ], + "additionalProperties": false, + "description": "Result of evaluating a Rust-owned settings predicate.", + "title": "SessionSettingsEvaluatePredicateResult" + }, + "SessionSettingsJobSnapshot": { + "type": "object", + "properties": { + "eventType": { + "type": "string" + }, + "isTriggerJob": { + "type": "boolean" + }, + "builtInToolAvailability": { + "$ref": "#/definitions/SessionSettingsBuiltInToolAvailabilitySnapshot" + } + }, + "additionalProperties": false, + "description": "Redacted job settings for a session. The job nonce is excluded.", + "title": "SessionSettingsJobSnapshot" + }, + "SessionSettingsModelSnapshot": { + "type": "object", + "properties": { + "model": { + "type": "string" + }, + "defaultReasoningEffort": { + "type": "string" + }, + "instanceId": { + "type": "string" + }, + "callbackUrl": { + "type": "string" + } + }, + "additionalProperties": false, + "description": "Redacted model routing settings for a session.", + "title": "SessionSettingsModelSnapshot" + }, + "SessionSettingsOnlineEvaluationSnapshot": { + "type": "object", + "properties": { + "disableOnlineEvaluation": { + "type": "boolean" + }, + "enableOnlineEvaluationOutputFile": { + "type": "boolean" + } + }, + "additionalProperties": false, + "description": "Online-evaluation settings safe to expose across the SDK boundary.", + "title": "SessionSettingsOnlineEvaluationSnapshot" + }, + "SessionSettingsPredicateName": { + "type": "string", + "enum": [ + "securityToolsEnabled", + "thirdPartySecurityPromptEnabled", + "parallelValidationEnabled", + "runtimeTimingTelemetryEnabled", + "coAuthorHookEnabled", + "chronicleEnabled", + "contentExclusionSelfFetchEnabled", + "capClaudeOpusTokenLimitsEnabled", + "codeReviewFeatureEnabled", + "ccaUseTsAutofindEnabled", + "dependencyCheckerEnabled", + "dependabotCheckerEnabled", + "codeqlCheckerEnabled", + "trivialChangeEnabled", + "trivialChangeSkipEnabled", + "trivialChangeEnabledForCodeReview", + "trivialChangeSkipEnabledForCodeReview", + "trivialChangeEnabledForTool", + "trivialChangeSkipEnabledForTool" + ], + "description": "Rust-owned settings predicates exposed across the SDK boundary. Raw feature-flag names are intentionally not part of the contract.", + "title": "SessionSettingsPredicateName", + "x-enumDescriptions": { + "securityToolsEnabled": "Whether the security-tools feature flag enables security tool wiring.", + "thirdPartySecurityPromptEnabled": "Whether third-party security tools should receive the security prompt.", + "parallelValidationEnabled": "Whether validation may run in parallel.", + "runtimeTimingTelemetryEnabled": "Whether runtime timing telemetry is enabled.", + "coAuthorHookEnabled": "Whether the co-author hook is enabled.", + "chronicleEnabled": "Whether Chronicle integration is enabled.", + "contentExclusionSelfFetchEnabled": "Whether content-exclusion policy may self-fetch data.", + "capClaudeOpusTokenLimitsEnabled": "Whether Claude Opus token-limit caps should be applied.", + "codeReviewFeatureEnabled": "Whether code-review behavior is enabled.", + "ccaUseTsAutofindEnabled": "Whether CCA should use the TypeScript autofind behavior.", + "dependencyCheckerEnabled": "Whether the dependency checker is enabled.", + "dependabotCheckerEnabled": "Whether the Dependabot checker is enabled.", + "codeqlCheckerEnabled": "Whether the CodeQL checker is enabled.", + "trivialChangeEnabled": "Whether trivial-change handling is enabled.", + "trivialChangeSkipEnabled": "Whether trivial-change skip behavior is enabled.", + "trivialChangeEnabledForCodeReview": "Whether trivial-change handling is enabled for code review.", + "trivialChangeSkipEnabledForCodeReview": "Whether trivial-change skip behavior is enabled for code review.", + "trivialChangeEnabledForTool": "Whether trivial-change handling is enabled for a specific tool.", + "trivialChangeSkipEnabledForTool": "Whether trivial-change skip behavior is enabled for a specific tool." + } + }, + "SessionSettingsRepoSnapshot": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "id": { + "type": "number" + }, + "branch": { + "type": "string" + }, + "commit": { + "type": "string" + }, + "readWrite": { + "type": "boolean" + }, + "ownerName": { + "type": "string" + }, + "ownerId": { + "type": "number" + }, + "serverUrl": { + "type": "string" + }, + "host": { + "type": "string" + }, + "hostProtocol": { + "type": "string" + }, + "secretScanningUrl": { + "type": "string" + }, + "prCommitCount": { + "type": "number" + } + }, + "additionalProperties": false, + "description": "Redacted repository and GitHub host settings for a session.", + "title": "SessionSettingsRepoSnapshot" + }, + "SessionSettingsSnapshot": { + "type": "object", + "properties": { + "version": { + "type": "string" + }, + "clientName": { + "type": "string" + }, + "timeoutMs": { + "type": "number" + }, + "startTimeMs": { + "type": "number" + }, + "repo": { + "$ref": "#/definitions/SessionSettingsRepoSnapshot" + }, + "model": { + "$ref": "#/definitions/SessionSettingsModelSnapshot" + }, + "validation": { + "$ref": "#/definitions/SessionSettingsValidationSnapshot" + }, + "job": { + "$ref": "#/definitions/SessionSettingsJobSnapshot" + }, + "onlineEvaluation": { + "$ref": "#/definitions/SessionSettingsOnlineEvaluationSnapshot" + } + }, + "required": [ + "repo", + "model", + "validation", + "job", + "onlineEvaluation" + ], + "additionalProperties": false, + "description": "Redacted, serializable view of session runtime settings for SDK boundary consumers. Secrets and raw feature flags are intentionally excluded.", + "title": "SessionSettingsSnapshot" + }, + "SessionSettingsValidationSnapshot": { + "type": "object", + "properties": { + "timeout": { + "type": "number" + }, + "dependabotTimeout": { + "type": "number" + }, + "codeqlEnabled": { + "type": "boolean" + }, + "codeReviewEnabled": { + "type": "boolean" + }, + "codeReviewModel": { + "type": "string" + }, + "advisoryEnabled": { + "type": "boolean" + }, + "secretScanningEnabled": { + "type": "boolean" + }, + "memoryStoreEnabled": { + "type": "boolean" + }, + "memoryVoteEnabled": { + "type": "boolean" + } + }, + "additionalProperties": false, + "description": "Redacted validation and memory-tool settings for a session.", + "title": "SessionSettingsValidationSnapshot" + }, "SessionsFindByPrefixRequest": { "type": "object", "properties": { @@ -23063,6 +24542,11 @@ "description": "In-process progress callback `(update) => void` invoked for each handoff step. Marked internal because a function reference cannot cross the JSON-RPC boundary. The host-side `handoffSession` is already declared as `AsyncGenerator`; the schema layer flattens it because it does not yet support streaming methods. The wire-clean replacement is to expose the AsyncGenerator directly (or use vscode-jsonrpc `$/progress` notifications) once the schema/transport layer supports it.", "x-opaque-json": true, "visibility": "internal" + }, + "onConfirm": { + "description": "In-process confirmation callback `(request) => boolean | Promise` invoked when the handoff needs the caller to confirm a non-fatal blocker (e.g. a repository mismatch between the current working directory and the remote session). Returning `true` proceeds with the handoff; returning `false` (or omitting the callback) aborts it. Marked internal because a function reference cannot cross the JSON-RPC boundary, for the same reasons as `onProgress`.", + "x-opaque-json": true, + "visibility": "internal" } }, "required": [ @@ -23107,7 +24591,7 @@ "status" ], "additionalProperties": false, - "description": "Schema for the `SessionsOpenProgress` type.", + "description": "`sessions.open` handoff progress update with step, status, and optional message.", "title": "SessionsOpenProgress" }, "SessionsOpenProgressStatus": { @@ -23388,7 +24872,8 @@ "plugins": { "type": "array", "items": { - "$ref": "#/definitions/InstalledPlugin" + "$ref": "#/definitions/InstalledPlugin", + "description": "Installed plugin record from global state, with marketplace, version, install time, enabled state, cache path, and source." }, "description": "Manager-wide additional plugins to register. Replaces any previously-configured set. Pass an empty array to clear." } @@ -23515,6 +25000,10 @@ "$ref": "#/definitions/OptionsUpdateReasoningSummary", "description": "Reasoning summary mode for supported model clients." }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level for supported models." + }, "clientName": { "type": "string", "description": "Identifier of the client driving the session." @@ -23632,7 +25121,8 @@ "installedPlugins": { "type": "array", "items": { - "$ref": "#/definitions/SessionInstalledPlugin" + "$ref": "#/definitions/SessionInstalledPlugin", + "description": "Installed plugin record for a session, with marketplace, version, install time, enabled state, cache path, and source." }, "description": "Full set of installed plugins for the session. Replaces the existing list; the runtime invalidates the skills cache only when the list materially changes." }, @@ -23698,7 +25188,8 @@ "additionalContentExclusionPolicies": { "type": "array", "items": { - "$ref": "#/definitions/OptionsUpdateAdditionalContentExclusionPolicy" + "$ref": "#/definitions/OptionsUpdateAdditionalContentExclusionPolicy", + "description": "Content-exclusion policy supplied to `session.options.update`, with rules, last-updated data, and scope." }, "description": "Additional content-exclusion policies to merge into the session's policy set.", "stability": "experimental" @@ -24047,7 +25538,7 @@ "enabled" ], "additionalProperties": false, - "description": "Schema for the `Skill` type.", + "description": "Skill metadata available to a session, with name, description, source, enabled/invocable state, path, plugin, and argument hint.", "title": "Skill" }, "SkillDiscoveryPath": { @@ -24076,7 +25567,7 @@ "preferredForCreation" ], "additionalProperties": false, - "description": "Schema for the `SkillDiscoveryPath` type.", + "description": "Canonical directory where skills can be discovered or created, with scope, preference, and optional project path.", "title": "SkillDiscoveryPath" }, "SkillDiscoveryPathList": { @@ -24085,7 +25576,8 @@ "paths": { "type": "array", "items": { - "$ref": "#/definitions/SkillDiscoveryPath" + "$ref": "#/definitions/SkillDiscoveryPath", + "description": "Canonical directory where skills can be discovered or created, with scope, preference, and optional project path." }, "description": "Canonical skill create/discovery directories, in priority order" } @@ -24120,7 +25612,8 @@ "skills": { "type": "array", "items": { - "$ref": "#/definitions/Skill" + "$ref": "#/definitions/Skill", + "description": "Skill metadata available to a session, with name, description, source, enabled/invocable state, path, plugin, and argument hint." }, "description": "Available skills" } @@ -24233,7 +25726,8 @@ "skills": { "type": "array", "items": { - "$ref": "#/definitions/SkillsInvokedSkill" + "$ref": "#/definitions/SkillsInvokedSkill", + "description": "Skill invocation record with name, path, content, allowed tools, and turn number." }, "description": "Skills invoked during this session, ordered by invocation time (most recent last)" } @@ -24280,7 +25774,7 @@ "invokedAtTurn" ], "additionalProperties": false, - "description": "Schema for the `SkillsInvokedSkill` type.", + "description": "Skill invocation record with name, path, content, allowed tools, and turn number.", "title": "SkillsInvokedSkill" }, "SkillsLoadDiagnostics": { @@ -24363,7 +25857,7 @@ "displayPrompt" ], "additionalProperties": false, - "description": "Schema for the `SlashCommandAgentPromptResult` type.", + "description": "Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, and settings-change flag.", "title": "SlashCommandAgentPromptResult" }, "SlashCommandCompletedResult": { @@ -24387,7 +25881,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `SlashCommandCompletedResult` type.", + "description": "Slash-command invocation result indicating completion, with optional message and settings-change flag.", "title": "SlashCommandCompletedResult" }, "SlashCommandInfo": { @@ -24436,7 +25930,7 @@ "allowDuringAgentExecution" ], "additionalProperties": false, - "description": "Schema for the `SlashCommandInfo` type.", + "description": "Slash-command metadata with name, aliases, description, kind, input hint, execution allowance, and schedulability.", "title": "SlashCommandInfo" }, "SlashCommandInput": { @@ -24508,16 +26002,20 @@ "SlashCommandInvocationResult": { "anyOf": [ { - "$ref": "#/definitions/SlashCommandTextResult" + "$ref": "#/definitions/SlashCommandTextResult", + "description": "Slash-command invocation result containing text output plus Markdown/ANSI rendering flags." }, { - "$ref": "#/definitions/SlashCommandAgentPromptResult" + "$ref": "#/definitions/SlashCommandAgentPromptResult", + "description": "Slash-command invocation result that submits an agent prompt, with display prompt, optional mode, and settings-change flag." }, { - "$ref": "#/definitions/SlashCommandCompletedResult" + "$ref": "#/definitions/SlashCommandCompletedResult", + "description": "Slash-command invocation result indicating completion, with optional message and settings-change flag." }, { - "$ref": "#/definitions/SlashCommandSelectSubcommandResult" + "$ref": "#/definitions/SlashCommandSelectSubcommandResult", + "description": "Slash-command invocation result asking the client to present subcommand options for a parent command." } ], "description": "Result of invoking the slash command (text output, prompt to send to the agent, completion, or subcommand selection).", @@ -24559,7 +26057,7 @@ "description" ], "additionalProperties": false, - "description": "Schema for the `SlashCommandSelectSubcommandOption` type.", + "description": "Selectable slash-command subcommand option with name, description, and optional group label.", "title": "SlashCommandSelectSubcommandOption" }, "SlashCommandSelectSubcommandResult": { @@ -24581,7 +26079,8 @@ "options": { "type": "array", "items": { - "$ref": "#/definitions/SlashCommandSelectSubcommandOption" + "$ref": "#/definitions/SlashCommandSelectSubcommandOption", + "description": "Selectable slash-command subcommand option with name, description, and optional group label." }, "description": "Available subcommand options for the client to present" }, @@ -24597,7 +26096,7 @@ "options" ], "additionalProperties": false, - "description": "Schema for the `SlashCommandSelectSubcommandResult` type.", + "description": "Slash-command invocation result asking the client to present subcommand options for a parent command.", "title": "SlashCommandSelectSubcommandResult" }, "SlashCommandTextResult": { @@ -24630,7 +26129,7 @@ "text" ], "additionalProperties": false, - "description": "Schema for the `SlashCommandTextResult` type.", + "description": "Slash-command invocation result containing text output plus Markdown/ANSI rendering flags.", "title": "SlashCommandTextResult" }, "SubagentSettings": { @@ -24809,7 +26308,7 @@ "prompt" ], "additionalProperties": false, - "description": "Schema for the `TaskAgentInfo` type.", + "description": "Tracked background agent task metadata, including IDs, status, timing, agent type, prompt, model, result, and latest response.", "title": "TaskAgentInfo" }, "TaskAgentProgress": { @@ -24823,7 +26322,8 @@ "recentActivity": { "type": "array", "items": { - "$ref": "#/definitions/TaskProgressLine" + "$ref": "#/definitions/TaskProgressLine", + "description": "Timestamped display line for task progress output or recent agent activity." }, "description": "Recent tool execution events converted to display lines" }, @@ -24837,7 +26337,7 @@ "recentActivity" ], "additionalProperties": false, - "description": "Schema for the `TaskAgentProgress` type.", + "description": "Progress snapshot for an agent task, with recent activity lines and optional latest intent.", "title": "TaskAgentProgress" }, "TaskExecutionMode": { @@ -24856,13 +26356,15 @@ "TaskInfo": { "anyOf": [ { - "$ref": "#/definitions/TaskAgentInfo" + "$ref": "#/definitions/TaskAgentInfo", + "description": "Tracked background agent task metadata, including IDs, status, timing, agent type, prompt, model, result, and latest response." }, { - "$ref": "#/definitions/TaskShellInfo" + "$ref": "#/definitions/TaskShellInfo", + "description": "Tracked shell task metadata, including ID, command, status, timing, attachment/execution mode, log path, and PID." } ], - "description": "Schema for the `TaskInfo` type.", + "description": "Tracked task union returned by task APIs, containing either an agent task or a shell task.", "title": "TaskInfo" }, "TaskList": { @@ -24871,7 +26373,8 @@ "tasks": { "type": "array", "items": { - "$ref": "#/definitions/TaskInfo" + "$ref": "#/definitions/TaskInfo", + "description": "Tracked task union returned by task APIs, containing either an agent task or a shell task." }, "description": "Currently tracked tasks" } @@ -24888,10 +26391,12 @@ { "anyOf": [ { - "$ref": "#/definitions/TaskAgentProgress" + "$ref": "#/definitions/TaskAgentProgress", + "description": "Progress snapshot for an agent task, with recent activity lines and optional latest intent." }, { - "$ref": "#/definitions/TaskShellProgress" + "$ref": "#/definitions/TaskShellProgress", + "description": "Progress snapshot for a shell task, with recent stdout/stderr output and optional process ID." } ] }, @@ -24920,7 +26425,7 @@ "timestamp" ], "additionalProperties": false, - "description": "Schema for the `TaskProgressLine` type.", + "description": "Timestamped display line for task progress output or recent agent activity.", "title": "TaskProgressLine" }, "TasksCancelRequest": { @@ -25064,7 +26569,7 @@ "attachmentMode" ], "additionalProperties": false, - "description": "Schema for the `TaskShellInfo` type.", + "description": "Tracked shell task metadata, including ID, command, status, timing, attachment/execution mode, log path, and PID.", "title": "TaskShellInfo" }, "TaskShellInfoAttachmentMode": { @@ -25104,7 +26609,7 @@ "recentOutput" ], "additionalProperties": false, - "description": "Schema for the `TaskShellProgress` type.", + "description": "Progress snapshot for a shell task, with recent stdout/stderr output and optional process ID.", "title": "TaskShellProgress" }, "TasksPromoteCurrentToBackgroundResult": { @@ -25353,7 +26858,7 @@ "token" ], "additionalProperties": false, - "description": "Schema for the `TokenAuthInfo` type.", + "description": "Authentication-info variant for SDK-configured token authentication, carrying host and the secret token value.", "title": "TokenAuthInfo" }, "Tool": { @@ -25388,7 +26893,7 @@ "description" ], "additionalProperties": false, - "description": "Schema for the `Tool` type.", + "description": "Built-in tool metadata with identifier, optional namespaced name, description, input-parameter schema, and usage instructions.", "title": "Tool" }, "ToolList": { @@ -25397,7 +26902,8 @@ "tools": { "type": "array", "items": { - "$ref": "#/definitions/Tool" + "$ref": "#/definitions/Tool", + "description": "Built-in tool metadata with identifier, optional namespaced name, description, input-parameter schema, and usage instructions." }, "description": "List of available built-in tools with metadata" } @@ -25528,7 +27034,8 @@ "anyOf": { "type": "array", "items": { - "$ref": "#/definitions/UIElicitationArrayAnyOfFieldItemsAnyOf" + "$ref": "#/definitions/UIElicitationArrayAnyOfFieldItemsAnyOf", + "description": "Selectable option for a UI elicitation multi-select array item, with submitted value and display label." }, "description": "Selectable options, each with a value and a display label." } @@ -25557,7 +27064,7 @@ "title" ], "additionalProperties": false, - "description": "Schema for the `UIElicitationArrayAnyOfFieldItemsAnyOf` type.", + "description": "Selectable option for a UI elicitation multi-select array item, with submitted value and display label.", "title": "UIElicitationArrayAnyOfFieldItemsAnyOf" }, "UIElicitationArrayEnumField": { @@ -25648,7 +27155,7 @@ } } ], - "description": "Schema for the `UIElicitationFieldValue` type.", + "description": "Submitted UI elicitation field value: string, number, boolean, or an array of strings.", "title": "UIElicitationFieldValue", "x-opaque-json": true }, @@ -25710,7 +27217,8 @@ "UIElicitationResponseContent": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/UIElicitationFieldValue" + "$ref": "#/definitions/UIElicitationFieldValue", + "description": "Submitted UI elicitation field value: string, number, boolean, or an array of strings." }, "description": "The form values submitted by the user (present when action is 'accept')", "title": "UIElicitationResponseContent" @@ -25994,7 +27502,8 @@ "oneOf": { "type": "array", "items": { - "$ref": "#/definitions/UIElicitationStringOneOfFieldOneOf" + "$ref": "#/definitions/UIElicitationStringOneOfFieldOneOf", + "description": "Selectable option for a UI elicitation single-select string field, with submitted value and display label." }, "description": "Selectable options, each with a value and a display label." }, @@ -26028,7 +27537,7 @@ "title" ], "additionalProperties": false, - "description": "Schema for the `UIElicitationStringOneOfFieldOneOf` type.", + "description": "Selectable option for a UI elicitation single-select string field, with submitted value and display label.", "title": "UIElicitationStringOneOfFieldOneOf" }, "UIEphemeralQueryRequest": { @@ -26113,7 +27622,7 @@ "approved" ], "additionalProperties": false, - "description": "Schema for the `UIExitPlanModeResponse` type.", + "description": "User response for a pending exit-plan-mode request, with approval state, selected action, auto-approve flag, and feedback.", "title": "UIExitPlanModeResponse" }, "UIHandlePendingAutoModeSwitchRequest": { @@ -26167,7 +27676,7 @@ }, "response": { "$ref": "#/definitions/UIExitPlanModeResponse", - "description": "Schema for the `UIExitPlanModeResponse` type." + "description": "User response for a pending exit-plan-mode request, with approval state, selected action, auto-approve flag, and feedback." } }, "required": [ @@ -26252,7 +27761,7 @@ }, "response": { "$ref": "#/definitions/UIUserInputResponse", - "description": "Schema for the `UIUserInputResponse` type." + "description": "User response for a pending user-input request, with answer text and whether it was typed freeform." } }, "required": [ @@ -26369,7 +27878,7 @@ "wasFreeform" ], "additionalProperties": false, - "description": "Schema for the `UIUserInputResponse` type.", + "description": "User response for a pending user-input request, with answer text and whether it was typed freeform.", "title": "UIUserInputResponse" }, "UpdateSubagentSettingsRequest": { @@ -26408,7 +27917,8 @@ "tokenDetails": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/UsageMetricsTokenDetail" + "$ref": "#/definitions/UsageMetricsTokenDetail", + "description": "Session-wide token-detail entry containing the accumulated token count for one token type." }, "description": "Session-wide per-token-type accumulated token counts" }, @@ -26430,7 +27940,8 @@ "modelMetrics": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/UsageMetricsModelMetric" + "$ref": "#/definitions/UsageMetricsModelMetric", + "description": "Per-model usage metrics, including request counts/costs, token usage, nano-AI units, and per-token-type details." }, "description": "Per-model token and request metrics, keyed by model identifier" }, @@ -26518,7 +28029,8 @@ "tokenDetails": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/UsageMetricsModelMetricTokenDetail" + "$ref": "#/definitions/UsageMetricsModelMetricTokenDetail", + "description": "Per-model token-detail entry containing the accumulated token count for one token type." }, "description": "Token count details per type" } @@ -26528,7 +28040,7 @@ "usage" ], "additionalProperties": false, - "description": "Schema for the `UsageMetricsModelMetric` type.", + "description": "Per-model usage metrics, including request counts/costs, token usage, nano-AI units, and per-token-type details.", "title": "UsageMetricsModelMetric" }, "UsageMetricsModelMetricRequests": { @@ -26565,7 +28077,7 @@ "tokenCount" ], "additionalProperties": false, - "description": "Schema for the `UsageMetricsModelMetricTokenDetail` type.", + "description": "Per-model token-detail entry containing the accumulated token count for one token type.", "title": "UsageMetricsModelMetricTokenDetail" }, "UsageMetricsModelMetricUsage": { @@ -26620,7 +28132,7 @@ "tokenCount" ], "additionalProperties": false, - "description": "Schema for the `UsageMetricsTokenDetail` type.", + "description": "Session-wide token-detail entry containing the accumulated token count for one token type.", "title": "UsageMetricsTokenDetail" }, "UserAuthInfo": { @@ -26650,7 +28162,7 @@ "login" ], "additionalProperties": false, - "description": "Schema for the `UserAuthInfo` type.", + "description": "Authentication-info variant for OAuth user auth, with host and login; the token remains in the runtime secret store.", "title": "UserAuthInfo" }, "UserRequestedShellCommandResult": { @@ -26773,28 +28285,36 @@ "UserToolSessionApproval": { "anyOf": [ { - "$ref": "#/definitions/UserToolSessionApprovalCommands" + "$ref": "#/definitions/UserToolSessionApprovalCommands", + "description": "Session-scoped tool-approval rule for specific shell command identifiers." }, { - "$ref": "#/definitions/UserToolSessionApprovalRead" + "$ref": "#/definitions/UserToolSessionApprovalRead", + "description": "Session-scoped tool-approval rule for read-only filesystem operations." }, { - "$ref": "#/definitions/UserToolSessionApprovalWrite" + "$ref": "#/definitions/UserToolSessionApprovalWrite", + "description": "Session-scoped tool-approval rule for filesystem write operations." }, { - "$ref": "#/definitions/UserToolSessionApprovalMcp" + "$ref": "#/definitions/UserToolSessionApprovalMcp", + "description": "Session-scoped tool-approval rule for an MCP server tool, or all tools on the server when `toolName` is null." }, { - "$ref": "#/definitions/UserToolSessionApprovalMemory" + "$ref": "#/definitions/UserToolSessionApprovalMemory", + "description": "Session-scoped tool-approval rule for writes to long-term memory." }, { - "$ref": "#/definitions/UserToolSessionApprovalCustomTool" + "$ref": "#/definitions/UserToolSessionApprovalCustomTool", + "description": "Session-scoped tool-approval rule for a custom tool, keyed by tool name." }, { - "$ref": "#/definitions/UserToolSessionApprovalExtensionManagement" + "$ref": "#/definitions/UserToolSessionApprovalExtensionManagement", + "description": "Session-scoped tool-approval rule for extension-management operations, optionally narrowed by operation." }, { - "$ref": "#/definitions/UserToolSessionApprovalExtensionPermissionAccess" + "$ref": "#/definitions/UserToolSessionApprovalExtensionPermissionAccess", + "description": "Session-scoped tool-approval rule for an extension's permission-gated capability access, keyed by extension name." } ], "description": "The approval to add as a session-scoped rule", @@ -26821,7 +28341,7 @@ "commandIdentifiers" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalCommands` type.", + "description": "Session-scoped tool-approval rule for specific shell command identifiers.", "title": "UserToolSessionApprovalCommands" }, "UserToolSessionApprovalCustomTool": { @@ -26842,7 +28362,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalCustomTool` type.", + "description": "Session-scoped tool-approval rule for a custom tool, keyed by tool name.", "title": "UserToolSessionApprovalCustomTool" }, "UserToolSessionApprovalExtensionManagement": { @@ -26862,7 +28382,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalExtensionManagement` type.", + "description": "Session-scoped tool-approval rule for extension-management operations, optionally narrowed by operation.", "title": "UserToolSessionApprovalExtensionManagement" }, "UserToolSessionApprovalExtensionPermissionAccess": { @@ -26883,7 +28403,7 @@ "extensionName" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalExtensionPermissionAccess` type.", + "description": "Session-scoped tool-approval rule for an extension's permission-gated capability access, keyed by extension name.", "title": "UserToolSessionApprovalExtensionPermissionAccess" }, "UserToolSessionApprovalMcp": { @@ -26912,7 +28432,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalMcp` type.", + "description": "Session-scoped tool-approval rule for an MCP server tool, or all tools on the server when `toolName` is null.", "title": "UserToolSessionApprovalMcp" }, "UserToolSessionApprovalMemory": { @@ -26928,7 +28448,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalMemory` type.", + "description": "Session-scoped tool-approval rule for writes to long-term memory.", "title": "UserToolSessionApprovalMemory" }, "UserToolSessionApprovalRead": { @@ -26944,7 +28464,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalRead` type.", + "description": "Session-scoped tool-approval rule for read-only filesystem operations.", "title": "UserToolSessionApprovalRead" }, "UserToolSessionApprovalWrite": { @@ -26960,9 +28480,24 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalWrite` type.", + "description": "Session-scoped tool-approval rule for filesystem write operations.", "title": "UserToolSessionApprovalWrite" }, + "Verbosity": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ], + "description": "Output verbosity level for supported models", + "title": "Verbosity", + "x-enumDescriptions": { + "low": "Request a terse response.", + "medium": "Request a medium amount of response detail.", + "high": "Request a more detailed response." + } + }, "VisibilityGetResult": { "type": "object", "properties": { @@ -27153,7 +28688,7 @@ "filename" ], "additionalProperties": false, - "description": "Schema for the `WorkspacesCheckpoints` type.", + "description": "Workspace checkpoint metadata with assigned number, human-readable title, and checkpoint filename.", "title": "WorkspacesCheckpoints" }, "WorkspacesCreateFileRequest": { @@ -27292,7 +28827,8 @@ "checkpoints": { "type": "array", "items": { - "$ref": "#/definitions/WorkspacesCheckpoints" + "$ref": "#/definitions/WorkspacesCheckpoints", + "description": "Workspace checkpoint metadata with assigned number, human-readable title, and checkpoint filename." }, "description": "Workspace checkpoints in chronological order. Empty when workspace is not enabled." } diff --git a/schemas/session-events.schema.json b/schemas/session-events.schema.json index 1bef924..754201c 100644 --- a/schemas/session-events.schema.json +++ b/schemas/session-events.schema.json @@ -280,6 +280,10 @@ "type": "string", "description": "GitHub request tracing ID (x-github-request-id header) for correlating with server-side logs" }, + "clientRequestId": { + "type": "string", + "description": "Client-minted request id (x-request-id header) echoed by the server. Distinct from requestId (x-github-request-id) and serviceRequestId (x-copilot-service-request-id)." + }, "serviceRequestId": { "type": "string", "description": "Copilot service request ID (x-copilot-service-request-id header) for CAPI log correlation" @@ -843,12 +847,100 @@ "description": "Session event \"assistant.streaming_delta\". Streaming response progress with cumulative byte count", "title": "AssistantStreamingDeltaEvent" }, + "AssistantToolCallDeltaData": { + "type": "object", + "properties": { + "toolCallId": { + "type": "string", + "description": "Tool call ID this delta belongs to, matching the corresponding assistant.message tool request" + }, + "toolName": { + "type": "string", + "description": "Name of the tool being invoked, when known from the stream" + }, + "toolType": { + "$ref": "#/definitions/AssistantMessageToolRequestType", + "description": "Tool call type, when known from the stream" + }, + "inputDelta": { + "type": "string", + "description": "Raw provider tool input fragment to append for this tool call. Function/tool-use providers stream serialized JSON argument text (so newlines inside JSON string values may appear as escaped `\\n` until the accumulated JSON is parsed); custom tool calls stream raw custom input." + } + }, + "required": [ + "toolCallId", + "inputDelta" + ], + "additionalProperties": false, + "description": "Streaming tool-call input delta for incremental tool-call updates", + "title": "AssistantToolCallDeltaData" + }, + "AssistantToolCallDeltaEvent": { + "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": "assistant.tool_call_delta", + "description": "Type discriminator. Always \"assistant.tool_call_delta\"." + }, + "data": { + "$ref": "#/definitions/AssistantToolCallDeltaData", + "description": "Streaming tool-call input delta for incremental tool-call updates" + } + }, + "required": [ + "id", + "timestamp", + "parentId", + "ephemeral", + "type", + "data" + ], + "additionalProperties": false, + "description": "Session event \"assistant.tool_call_delta\". Streaming tool-call input delta for incremental tool-call updates", + "title": "AssistantToolCallDeltaEvent" + }, "AssistantTurnEndData": { "type": "object", "properties": { "turnId": { "type": "string", "description": "Identifier of the turn that has ended, matching the corresponding assistant.turn_start event" + }, + "model": { + "type": "string", + "description": "Model identifier used for this turn, when known" } }, "required": [ @@ -919,6 +1011,10 @@ "type": "string", "description": "Identifier for this turn within the agentic loop, typically a stringified turn number" }, + "model": { + "type": "string", + "description": "Model identifier used for this turn, when known" + }, "interactionId": { "type": "string", "description": "CAPI interaction ID for correlating this turn with upstream telemetry" @@ -1104,7 +1200,7 @@ "description": "Duration of the API call in milliseconds" }, "timeToFirstTokenMs": { - "type": "integer", + "type": "number", "minimum": 0, "format": "duration", "description": "Time to first token in milliseconds. Only available for streaming requests" @@ -1144,6 +1240,7 @@ "type": "object", "additionalProperties": { "$ref": "#/definitions/AssistantUsageQuotaSnapshot", + "description": "Internal per-quota snapshot for assistant usage, including entitlement, consumed requests, overage, reset date, and remaining quota.", "visibility": "internal" }, "description": "Per-quota resource usage snapshots, keyed by quota identifier", @@ -1305,7 +1402,7 @@ "remainingPercentage" ], "additionalProperties": false, - "description": "Schema for the `AssistantUsageQuotaSnapshot` type.", + "description": "Internal per-quota snapshot for assistant usage, including entitlement, consumed requests, overage, reset date, and remaining quota.", "title": "AssistantUsageQuotaSnapshot", "visibility": "internal" }, @@ -2078,6 +2175,138 @@ "description": "Start position of the selection", "title": "AttachmentSelectionDetailsStart" }, + "AutoApprovalRecommendation": { + "type": "string", + "enum": [ + "approve", + "requireApproval", + "excluded", + "error" + ], + "description": "Outcome of the auto-approval safety judge for a permission request. Present only when auto mode is enabled; its absence means the judge did not evaluate the request (auto mode was off).", + "title": "AutoApprovalRecommendation", + "x-enumDescriptions": { + "approve": "The judge evaluated the request and recommends automatically approving it.", + "requireApproval": "The judge evaluated the request and does not recommend auto-approving it; explicit approval is required. Whether that means prompting, denying, or something else is the consumer's decision.", + "excluded": "Auto mode is enabled, but this request category is never auto-approvable (for example, sandbox-bypass requests), so the judge was not consulted.", + "error": "The judge was consulted but did not return a usable recommendation, so the request requires explicit approval." + }, + "stability": "experimental" + }, + "AutoModeResolvedData": { + "type": "object", + "properties": { + "chosenModel": { + "type": "string", + "description": "The concrete model the session will use after any intent refinement" + }, + "reasoningBucket": { + "$ref": "#/definitions/AutoModeResolvedReasoningBucket", + "description": "Coarse request-difficulty bucket, for explaining why a model was chosen (\"picked X because this looks like high-reasoning work\")" + }, + "categoryScores": { + "type": "object", + "additionalProperties": { + "type": "number" + }, + "description": "Per-category classifier scores (0-1) behind the bucket: the granular HYDRA capability scores (reasoning, code_gen, debugging, tool_use), or the binary needs_reasoning/no_reasoning scores when HYDRA didn't run. Lets clients show a breakdown rather than just the bucket." + }, + "predictedLabel": { + "type": "string", + "description": "The predicted classifier label (e.g. `needs_reasoning`), when available" + }, + "confidence": { + "type": "number", + "minimum": 0.0, + "maximum": 1.0, + "description": "Classifier confidence for the predicted label, when available" + }, + "candidateModels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Ordered candidate model list the router returned, when not a fallback" + } + }, + "required": [ + "chosenModel" + ], + "additionalProperties": false, + "description": "Auto Intent resolution: the concrete model the session settled on for the first prompt of an auto-mode session, and why. Lets SDK clients render the chosen model and the full reason it was picked. The core selection fields (chosenModel/reasoningBucket/categoryScores) are stable; the routing-analytics fields (predictedLabel/confidence/candidateModels) mirror the upstream intent service and may evolve, hence the event's experimental stability.", + "title": "AutoModeResolvedData", + "stability": "experimental" + }, + "AutoModeResolvedEvent": { + "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", + "description": "When true, the event is 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.auto_mode_resolved", + "description": "Type discriminator. Always \"session.auto_mode_resolved\"." + }, + "data": { + "$ref": "#/definitions/AutoModeResolvedData", + "description": "Auto Intent resolution: the concrete model the session settled on for the first prompt of an auto-mode session, and why. Lets SDK clients render the chosen model and the full reason it was picked. The core selection fields (chosenModel/reasoningBucket/categoryScores) are stable; the routing-analytics fields (predictedLabel/confidence/candidateModels) mirror the upstream intent service and may evolve, hence the event's experimental stability." + } + }, + "required": [ + "id", + "timestamp", + "parentId", + "type", + "data" + ], + "additionalProperties": false, + "description": "Session event \"session.auto_mode_resolved\". Auto Intent resolution: the concrete model the session settled on for the first prompt of an auto-mode session, and why. Lets SDK clients render the chosen model and the full reason it was picked. The core selection fields (chosenModel/reasoningBucket/categoryScores) are stable; the routing-analytics fields (predictedLabel/confidence/candidateModels) mirror the upstream intent service and may evolve, hence the event's experimental stability.", + "title": "AutoModeResolvedEvent", + "stability": "experimental" + }, + "AutoModeResolvedReasoningBucket": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ], + "description": "Coarse request-difficulty bucket for UX explainability", + "title": "AutoModeResolvedReasoningBucket", + "x-enumDescriptions": { + "low": "The request looks low-reasoning; a lighter model is appropriate.", + "medium": "The request needs a moderate amount of reasoning.", + "high": "The request looks high-reasoning; a stronger model is appropriate." + } + }, "AutoModeSwitchCompletedData": { "type": "object", "properties": { @@ -2364,7 +2593,7 @@ "type": "object", "properties": {}, "additionalProperties": false, - "description": "Schema for the `BackgroundTasksChangedData` type.", + "description": "Empty payload for `session.background_tasks_changed`, indicating background task state changed.", "title": "BackgroundTasksChangedData" }, "BackgroundTasksChangedEvent": { @@ -2408,7 +2637,7 @@ }, "data": { "$ref": "#/definitions/BackgroundTasksChangedData", - "description": "Schema for the `BackgroundTasksChangedData` type." + "description": "Empty payload for `session.background_tasks_changed`, indicating background task state changed." } }, "required": [ @@ -2420,7 +2649,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.background_tasks_changed\".", + "description": "Session event \"session.background_tasks_changed\". Empty payload for `session.background_tasks_changed`, indicating background task state changed.", "title": "BackgroundTasksChangedEvent" }, "BinaryAssetData": { @@ -2618,7 +2847,7 @@ "canvasId" ], "additionalProperties": false, - "description": "Schema for the `CanvasClosedData` type.", + "description": "Payload of `session.canvas.closed` with the closed canvas instance ID, provider ID, and canvas ID.", "title": "CanvasClosedData", "stability": "experimental" }, @@ -2663,7 +2892,7 @@ }, "data": { "$ref": "#/definitions/CanvasClosedData", - "description": "Schema for the `CanvasClosedData` type." + "description": "Payload of `session.canvas.closed` with the closed canvas instance ID, provider ID, and canvas ID." } }, "required": [ @@ -2675,7 +2904,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.canvas.closed\".", + "description": "Session event \"session.canvas.closed\". Payload of `session.canvas.closed` with the closed canvas instance ID, provider ID, and canvas ID.", "title": "CanvasClosedEvent", "stability": "experimental" }, @@ -2721,7 +2950,7 @@ "canvasId" ], "additionalProperties": false, - "description": "Schema for the `CanvasOpenedData` type.", + "description": "Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input.", "title": "CanvasOpenedData", "stability": "experimental" }, @@ -2766,7 +2995,7 @@ }, "data": { "$ref": "#/definitions/CanvasOpenedData", - "description": "Schema for the `CanvasOpenedData` type." + "description": "Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input." } }, "required": [ @@ -2778,7 +3007,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.canvas.opened\".", + "description": "Session event \"session.canvas.opened\". Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input.", "title": "CanvasOpenedEvent", "stability": "experimental" }, @@ -2903,7 +3132,8 @@ "actions": { "type": "array", "items": { - "$ref": "#/definitions/CanvasRegistryChangedCanvasAction" + "$ref": "#/definitions/CanvasRegistryChangedCanvasAction", + "description": "A single action within a canvas declaration, with its name, optional description, and optional input schema." }, "description": "Actions the agent or host may invoke" } @@ -2915,7 +3145,7 @@ "description" ], "additionalProperties": false, - "description": "Schema for the `CanvasRegistryChangedCanvas` type.", + "description": "A single canvas declaration in `session.canvas.registry_changed`, including provider IDs, display metadata, input schema, and actions.", "title": "CanvasRegistryChangedCanvas", "stability": "experimental" }, @@ -2939,7 +3169,7 @@ "name" ], "additionalProperties": false, - "description": "Schema for the `CanvasRegistryChangedCanvasAction` type.", + "description": "A single action within a canvas declaration, with its name, optional description, and optional input schema.", "title": "CanvasRegistryChangedCanvasAction", "stability": "experimental" }, @@ -2949,7 +3179,8 @@ "canvases": { "type": "array", "items": { - "$ref": "#/definitions/CanvasRegistryChangedCanvas" + "$ref": "#/definitions/CanvasRegistryChangedCanvas", + "description": "A single canvas declaration in `session.canvas.registry_changed`, including provider IDs, display metadata, input schema, and actions." }, "description": "Canvas declarations currently available" } @@ -2958,7 +3189,7 @@ "canvases" ], "additionalProperties": false, - "description": "Schema for the `CanvasRegistryChangedData` type.", + "description": "Payload of `session.canvas.registry_changed` listing the canvas declarations currently available.", "title": "CanvasRegistryChangedData", "stability": "experimental" }, @@ -3003,7 +3234,7 @@ }, "data": { "$ref": "#/definitions/CanvasRegistryChangedData", - "description": "Schema for the `CanvasRegistryChangedData` type." + "description": "Payload of `session.canvas.registry_changed` listing the canvas declarations currently available." } }, "required": [ @@ -3015,7 +3246,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.canvas.registry_changed\".", + "description": "Session event \"session.canvas.registry_changed\". Payload of `session.canvas.registry_changed` listing the canvas declarations currently available.", "title": "CanvasRegistryChangedEvent", "stability": "experimental" }, @@ -3799,7 +4030,7 @@ "name" ], "additionalProperties": false, - "description": "Schema for the `CommandsChangedCommand` type.", + "description": "A single slash command available in the session, as listed by the `commands.changed` event.", "title": "CommandsChangedCommand" }, "CommandsChangedData": { @@ -3808,7 +4039,8 @@ "commands": { "type": "array", "items": { - "$ref": "#/definitions/CommandsChangedCommand" + "$ref": "#/definitions/CommandsChangedCommand", + "description": "A single slash command available in the session, as listed by the `commands.changed` event." }, "description": "Current list of registered SDK commands" } @@ -4128,6 +4360,10 @@ "CompactionStartData": { "type": "object", "properties": { + "model": { + "type": "string", + "description": "Model identifier used for compaction, when known" + }, "systemTokens": { "type": "integer", "minimum": 0, @@ -4325,7 +4561,7 @@ "userInvocable" ], "additionalProperties": false, - "description": "Schema for the `CustomAgentsUpdatedAgent` type.", + "description": "A single loaded custom agent in `session.custom_agents_updated`, with identity, source, tools, invocability, and model override.", "title": "CustomAgentsUpdatedAgent" }, "CustomAgentsUpdatedData": { @@ -4334,7 +4570,8 @@ "agents": { "type": "array", "items": { - "$ref": "#/definitions/CustomAgentsUpdatedAgent" + "$ref": "#/definitions/CustomAgentsUpdatedAgent", + "description": "A single loaded custom agent in `session.custom_agents_updated`, with identity, source, tools, invocability, and model override." }, "description": "Array of loaded custom agent metadata" }, @@ -4359,7 +4596,7 @@ "errors" ], "additionalProperties": false, - "description": "Schema for the `CustomAgentsUpdatedData` type.", + "description": "Payload of `session.custom_agents_updated` with loaded custom agents plus non-fatal warnings and fatal errors.", "title": "CustomAgentsUpdatedData" }, "CustomAgentsUpdatedEvent": { @@ -4403,7 +4640,7 @@ }, "data": { "$ref": "#/definitions/CustomAgentsUpdatedData", - "description": "Schema for the `CustomAgentsUpdatedData` type." + "description": "Payload of `session.custom_agents_updated` with loaded custom agents plus non-fatal warnings and fatal errors." } }, "required": [ @@ -4415,7 +4652,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.custom_agents_updated\".", + "description": "Session event \"session.custom_agents_updated\". Payload of `session.custom_agents_updated` with loaded custom agents plus non-fatal warnings and fatal errors.", "title": "CustomAgentsUpdatedEvent" }, "CustomNotificationData": { @@ -4539,7 +4776,7 @@ } }, "ElicitationCompletedContent": { - "description": "Schema for the `ElicitationCompletedContent` type.", + "description": "Opaque JSON value submitted for one field in accepted `elicitation.completed` form content.", "title": "ElicitationCompletedContent", "x-opaque-json": true }, @@ -4557,7 +4794,8 @@ "content": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ElicitationCompletedContent" + "$ref": "#/definitions/ElicitationCompletedContent", + "description": "Opaque JSON value submitted for one field in accepted `elicitation.completed` form content." }, "description": "The submitted form data when action is 'accept'; keys match the requested schema fields" } @@ -4786,7 +5024,7 @@ "blob" ], "additionalProperties": false, - "description": "Schema for the `EmbeddedBlobResourceContents` type.", + "description": "Embedded binary resource contents identified by a URI, with an optional MIME type and a base64-encoded blob.", "title": "EmbeddedBlobResourceContents" }, "EmbeddedTextResourceContents": { @@ -4810,7 +5048,7 @@ "text" ], "additionalProperties": false, - "description": "Schema for the `EmbeddedTextResourceContents` type.", + "description": "Embedded text resource contents identified by a URI, with an optional MIME type and a text payload.", "title": "EmbeddedTextResourceContents" }, "ErrorData": { @@ -5132,7 +5370,7 @@ "attachments" ], "additionalProperties": false, - "description": "Schema for the `ExtensionsAttachmentsPushedData` type.", + "description": "Payload of `session.extensions.attachments_pushed` with extension-contributed attachments for the next send.", "title": "ExtensionsAttachmentsPushedData" }, "ExtensionsAttachmentsPushedEvent": { @@ -5176,7 +5414,7 @@ }, "data": { "$ref": "#/definitions/ExtensionsAttachmentsPushedData", - "description": "Schema for the `ExtensionsAttachmentsPushedData` type." + "description": "Payload of `session.extensions.attachments_pushed` with extension-contributed attachments for the next send." } }, "required": [ @@ -5188,7 +5426,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.extensions.attachments_pushed\".", + "description": "Session event \"session.extensions.attachments_pushed\". Payload of `session.extensions.attachments_pushed` with extension-contributed attachments for the next send.", "title": "ExtensionsAttachmentsPushedEvent" }, "ExtensionsLoadedData": { @@ -5197,7 +5435,8 @@ "extensions": { "type": "array", "items": { - "$ref": "#/definitions/ExtensionsLoadedExtension" + "$ref": "#/definitions/ExtensionsLoadedExtension", + "description": "A single extension discovered by `session.extensions_loaded`, including qualified ID, source, and current status." }, "description": "Array of discovered extensions and their status" } @@ -5206,7 +5445,7 @@ "extensions" ], "additionalProperties": false, - "description": "Schema for the `ExtensionsLoadedData` type.", + "description": "Payload of `session.extensions_loaded` listing discovered extensions and their statuses.", "title": "ExtensionsLoadedData" }, "ExtensionsLoadedEvent": { @@ -5250,7 +5489,7 @@ }, "data": { "$ref": "#/definitions/ExtensionsLoadedData", - "description": "Schema for the `ExtensionsLoadedData` type." + "description": "Payload of `session.extensions_loaded` listing discovered extensions and their statuses." } }, "required": [ @@ -5262,7 +5501,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.extensions_loaded\".", + "description": "Session event \"session.extensions_loaded\". Payload of `session.extensions_loaded` listing discovered extensions and their statuses.", "title": "ExtensionsLoadedEvent" }, "ExtensionsLoadedExtension": { @@ -5292,7 +5531,7 @@ "status" ], "additionalProperties": false, - "description": "Schema for the `ExtensionsLoadedExtension` type.", + "description": "A single extension discovered by `session.extensions_loaded`, including qualified ID, source, and current status.", "title": "ExtensionsLoadedExtension" }, "ExtensionsLoadedExtensionSource": { @@ -6197,7 +6436,7 @@ "properties": { "ui": { "$ref": "#/definitions/McpAppToolCallCompleteToolMetaUI", - "description": "Schema for the `McpAppToolCallCompleteToolMetaUI` type." + "description": "MCP App tool `_meta.ui` resource URI and SEP-1865 visibility captured with an `mcp_app.tool_call_complete` result." } }, "description": "The tool's `_meta.ui` block at the time of the call, so consumers can decide whether to forward the result to the model without re-listing tools.", @@ -6218,7 +6457,7 @@ "description": "Tool visibility per SEP-1865 (typically a subset of `[\"model\",\"app\"]`)" } }, - "description": "Schema for the `McpAppToolCallCompleteToolMetaUI` type.", + "description": "MCP App tool `_meta.ui` resource URI and SEP-1865 visibility captured with an `mcp_app.tool_call_complete` result.", "title": "McpAppToolCallCompleteToolMetaUI" }, "McpHeadersRefreshCompletedData": { @@ -6413,6 +6652,21 @@ "auth-failed": "The server returned 401 and stale dynamic headers were invalidated." } }, + "McpListChangedData": { + "type": "object", + "properties": { + "serverName": { + "type": "string", + "description": "Name of the MCP server whose list changed" + } + }, + "required": [ + "serverName" + ], + "additionalProperties": false, + "description": "Payload of MCP `list_changed` notification events, emitted when an MCP server announces at runtime that one of its advertised lists changed.", + "title": "McpListChangedData" + }, "McpOauthCompletedData": { "type": "object", "properties": { @@ -6665,13 +6919,126 @@ "description": "OAuth WWW-Authenticate parameters parsed from an MCP auth challenge", "title": "McpOauthWWWAuthenticateParams" }, + "McpPromptsListChangedEvent": { + "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": "mcp.prompts.list_changed", + "description": "Type discriminator. Always \"mcp.prompts.list_changed\"." + }, + "data": { + "$ref": "#/definitions/McpListChangedData", + "description": "Payload of MCP `list_changed` notification events, emitted when an MCP server announces at runtime that one of its advertised lists changed." + } + }, + "required": [ + "id", + "timestamp", + "parentId", + "ephemeral", + "type", + "data" + ], + "additionalProperties": false, + "description": "Session event \"mcp.prompts.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": "McpPromptsListChangedEvent" + }, + "McpResourcesListChangedEvent": { + "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": "mcp.resources.list_changed", + "description": "Type discriminator. Always \"mcp.resources.list_changed\"." + }, + "data": { + "$ref": "#/definitions/McpListChangedData", + "description": "Payload of MCP `list_changed` notification events, emitted when an MCP server announces at runtime that one of its advertised lists changed." + } + }, + "required": [ + "id", + "timestamp", + "parentId", + "ephemeral", + "type", + "data" + ], + "additionalProperties": false, + "description": "Session event \"mcp.resources.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": "McpResourcesListChangedEvent" + }, "McpServersLoadedData": { "type": "object", "properties": { "servers": { "type": "array", "items": { - "$ref": "#/definitions/McpServersLoadedServer" + "$ref": "#/definitions/McpServersLoadedServer", + "description": "A single MCP server status summary in `session.mcp_servers_loaded`, including name, status, source, transport, and plugin metadata." }, "description": "Array of MCP server status summaries" } @@ -6680,7 +7047,7 @@ "servers" ], "additionalProperties": false, - "description": "Schema for the `McpServersLoadedData` type.", + "description": "Payload of `session.mcp_servers_loaded` listing MCP server status summaries.", "title": "McpServersLoadedData" }, "McpServersLoadedEvent": { @@ -6724,7 +7091,7 @@ }, "data": { "$ref": "#/definitions/McpServersLoadedData", - "description": "Schema for the `McpServersLoadedData` type." + "description": "Payload of `session.mcp_servers_loaded` listing MCP server status summaries." } }, "required": [ @@ -6736,7 +7103,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.mcp_servers_loaded\".", + "description": "Session event \"session.mcp_servers_loaded\". Payload of `session.mcp_servers_loaded` listing MCP server status summaries.", "title": "McpServersLoadedEvent" }, "McpServersLoadedServer": { @@ -6776,7 +7143,7 @@ "status" ], "additionalProperties": false, - "description": "Schema for the `McpServersLoadedServer` type.", + "description": "A single MCP server status summary in `session.mcp_servers_loaded`, including name, status, source, transport, and plugin metadata.", "title": "McpServersLoadedServer" }, "McpServerSource": { @@ -6838,7 +7205,7 @@ "status" ], "additionalProperties": false, - "description": "Schema for the `McpServerStatusChangedData` type.", + "description": "Payload of `session.mcp_server_status_changed` for one MCP server's status and optional failure error.", "title": "McpServerStatusChangedData" }, "McpServerStatusChangedEvent": { @@ -6882,7 +7249,7 @@ }, "data": { "$ref": "#/definitions/McpServerStatusChangedData", - "description": "Schema for the `McpServerStatusChangedData` type." + "description": "Payload of `session.mcp_server_status_changed` for one MCP server's status and optional failure error." } }, "required": [ @@ -6894,7 +7261,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.mcp_server_status_changed\".", + "description": "Session event \"session.mcp_server_status_changed\". Payload of `session.mcp_server_status_changed` for one MCP server's status and optional failure error.", "title": "McpServerStatusChangedEvent" }, "McpServerTransport": { @@ -6914,6 +7281,62 @@ "memory": "Server is backed by an in-memory runtime implementation." } }, + "McpToolsListChangedEvent": { + "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": "mcp.tools.list_changed", + "description": "Type discriminator. Always \"mcp.tools.list_changed\"." + }, + "data": { + "$ref": "#/definitions/McpListChangedData", + "description": "Payload of MCP `list_changed` notification events, emitted when an MCP server announces at runtime that one of its advertised lists changed." + } + }, + "required": [ + "id", + "timestamp", + "parentId", + "ephemeral", + "type", + "data" + ], + "additionalProperties": false, + "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" + }, "ModeChangedData": { "type": "object", "properties": { @@ -7060,6 +7483,7 @@ "type": "object", "additionalProperties": { "$ref": "#/definitions/AssistantUsageQuotaSnapshot", + "description": "Internal per-quota snapshot for assistant usage, including entitlement, consumed requests, overage, reset date, and remaining quota.", "visibility": "internal" }, "description": "Per-quota usage snapshots parsed from the failed response's quota headers, keyed by quota identifier. Present when the error response carried quota headers (e.g. a 402 once the additional spend limit is reached) so the UI can refresh the quota display on failure.", @@ -7228,6 +7652,14 @@ "$ref": "#/definitions/ReasoningSummary", "description": "Reasoning summary mode after the model change, if applicable" }, + "previousVerbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level before the model change, if applicable" + }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level after the model change, if applicable" + }, "contextTier": { "anyOf": [ { @@ -7437,6 +7869,22 @@ "description": "Session event \"pending_messages.modified\". Empty payload; the event signals that the pending message queue has changed", "title": "PendingMessagesModifiedEvent" }, + "PermissionAllowAllMode": { + "type": "string", + "enum": [ + "off", + "on", + "auto" + ], + "description": "Allow-all mode for the session.", + "title": "PermissionAllowAllMode", + "x-enumDescriptions": { + "off": "Permission requests follow the normal approval flow.", + "on": "Tool, path, and URL permission requests are automatically approved.", + "auto": "Permission requests follow the normal approval flow with an LLM advisory recommendation attached; clients may choose to auto-approve requests the judge evaluated as acceptable." + }, + "stability": "experimental" + }, "PermissionApproved": { "type": "object", "properties": { @@ -7450,7 +7898,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionApproved` type.", + "description": "Permission response variant indicating the request was approved without persisting an approval rule.", "title": "PermissionApproved" }, "PermissionApprovedForLocation": { @@ -7476,7 +7924,7 @@ "locationKey" ], "additionalProperties": false, - "description": "Schema for the `PermissionApprovedForLocation` type.", + "description": "Permission response variant that approves a request and persists the provided approval to a project location key.", "title": "PermissionApprovedForLocation" }, "PermissionApprovedForSession": { @@ -7497,9 +7945,29 @@ "approval" ], "additionalProperties": false, - "description": "Schema for the `PermissionApprovedForSession` type.", + "description": "Permission response variant that approves a request and remembers the provided approval for the rest of the session.", "title": "PermissionApprovedForSession" }, + "PermissionAutoApproval": { + "type": "object", + "properties": { + "recommendation": { + "$ref": "#/definitions/AutoApprovalRecommendation", + "description": "The auto-approval safety judge's outcome for this request." + }, + "reason": { + "type": "string", + "description": "Human-readable reason for the judge's recommendation, when available." + } + }, + "required": [ + "recommendation" + ], + "additionalProperties": false, + "description": "Auto-approval judge information attached to a permission request. Present (non-null) only when the session's allow-all mode is \"auto\"; its absence means auto mode was off and the judge did not evaluate the request. The `recommendation` conveys the judge's disposition for this request.", + "title": "PermissionAutoApproval", + "stability": "experimental" + }, "PermissionCancelled": { "type": "object", "properties": { @@ -7517,7 +7985,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionCancelled` type.", + "description": "Permission response variant indicating the request was cancelled before use, with an optional reason.", "title": "PermissionCancelled" }, "PermissionCompletedData": { @@ -7621,7 +8089,7 @@ "message" ], "additionalProperties": false, - "description": "Schema for the `PermissionDeniedByContentExclusionPolicy` type.", + "description": "Permission response variant denying a path under content exclusion policy, with the path and message.", "title": "PermissionDeniedByContentExclusionPolicy" }, "PermissionDeniedByPermissionRequestHook": { @@ -7645,7 +8113,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDeniedByPermissionRequestHook` type.", + "description": "Permission response variant denied by a permission-request hook, with optional message and interrupt flag.", "title": "PermissionDeniedByPermissionRequestHook" }, "PermissionDeniedByRules": { @@ -7659,7 +8127,8 @@ "rules": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRule" + "$ref": "#/definitions/PermissionRule", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value." }, "description": "Rules that denied the request" } @@ -7669,7 +8138,7 @@ "rules" ], "additionalProperties": false, - "description": "Schema for the `PermissionDeniedByRules` type.", + "description": "Permission response variant denied because matching approval rules explicitly blocked the request.", "title": "PermissionDeniedByRules" }, "PermissionDeniedInteractivelyByUser": { @@ -7693,7 +8162,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDeniedInteractivelyByUser` type.", + "description": "Permission response variant denied in an interactive user prompt, with optional feedback and force-reject flag.", "title": "PermissionDeniedInteractivelyByUser" }, "PermissionDeniedNoApprovalRuleAndCouldNotRequestFromUser": { @@ -7709,7 +8178,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `PermissionDeniedNoApprovalRuleAndCouldNotRequestFromUser` type.", + "description": "Permission response variant denied because no approval rule matched and user confirmation was unavailable.", "title": "PermissionDeniedNoApprovalRuleAndCouldNotRequestFromUser" }, "PermissionPromptRequest": { @@ -7796,6 +8265,11 @@ "warning": { "type": "string", "description": "Optional warning message about risks of running this command" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -7832,6 +8306,11 @@ "args": { "description": "Arguments to pass to the custom tool", "x-opaque-json": true + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -7862,6 +8341,11 @@ "extensionName": { "type": "string", "description": "Name of the extension being managed" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -7894,6 +8378,11 @@ "type": "string" }, "description": "Capabilities the extension is requesting" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -7928,6 +8417,11 @@ "hookMessage": { "type": "string", "description": "Optional message from the hook explaining why confirmation is needed" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -7965,6 +8459,11 @@ "args": { "description": "Arguments to pass to the MCP tool", "x-opaque-json": true + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -8012,6 +8511,11 @@ "reason": { "type": "string", "description": "Reason for the vote (vote only)" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -8044,6 +8548,11 @@ "type": "string" }, "description": "File paths that require explicit approval" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -8089,6 +8598,11 @@ "path": { "type": "string", "description": "Path of the file or directory being read" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -8119,6 +8633,19 @@ "url": { "type": "string", "description": "URL to be fetched" + }, + "requestSandboxBypass": { + "type": "boolean", + "description": "True when this URL fetch is requesting to bypass the sandbox network policy: either the model set requestSandboxBypass: true, or the tool re-issued the request as an interactive bypass after the network policy denied the approved URL (host opted in via sandbox.allowBypass). This is a request, not a grant: the fetch runs only if the user approves this permission request. Hosts should highlight the elevated risk in the approval UI." + }, + "requestSandboxBypassReason": { + "type": "string", + "description": "Model-provided justification for the sandbox-bypass request. Only meaningful when requestSandboxBypass is true." + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -8161,6 +8688,11 @@ "canOfferSessionApproval": { "type": "boolean", "description": "Whether the UI can offer session-wide approval for file write operations" + }, + "autoApproval": { + "$ref": "#/definitions/PermissionAutoApproval", + "description": "Auto-approval judge information for this request; present only when auto mode is enabled.", + "stability": "experimental" } }, "required": [ @@ -8608,7 +9140,8 @@ "commands": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRequestShellCommand" + "$ref": "#/definitions/PermissionRequestShellCommand", + "description": "A parsed command identifier in a shell permission request, including whether it is read-only." }, "description": "Parsed command identifiers found in the command text" }, @@ -8622,7 +9155,8 @@ "possibleUrls": { "type": "array", "items": { - "$ref": "#/definitions/PermissionRequestShellPossibleUrl" + "$ref": "#/definitions/PermissionRequestShellPossibleUrl", + "description": "A URL that may be accessed by a command in a shell permission request." }, "description": "URLs that may be accessed by the command" }, @@ -8678,7 +9212,7 @@ "readOnly" ], "additionalProperties": false, - "description": "Schema for the `PermissionRequestShellCommand` type.", + "description": "A parsed command identifier in a shell permission request, including whether it is read-only.", "title": "PermissionRequestShellCommand" }, "PermissionRequestShellPossibleUrl": { @@ -8693,7 +9227,7 @@ "url" ], "additionalProperties": false, - "description": "Schema for the `PermissionRequestShellPossibleUrl` type.", + "description": "A URL that may be accessed by a command in a shell permission request.", "title": "PermissionRequestShellPossibleUrl" }, "PermissionRequestUrl": { @@ -8715,6 +9249,14 @@ "url": { "type": "string", "description": "URL to be fetched" + }, + "requestSandboxBypass": { + "type": "boolean", + "description": "True when this URL fetch is requesting to bypass the sandbox network policy: either the model set requestSandboxBypass: true, or the tool re-issued the request as an interactive bypass after the network policy denied the approved URL (host opted in via sandbox.allowBypass). This is a request, not a grant: the fetch runs only if the user approves this permission request. Hosts should highlight the elevated risk in the approval UI." + }, + "requestSandboxBypassReason": { + "type": "string", + "description": "Model-provided justification for the sandbox-bypass request. Only meaningful when requestSandboxBypass is true." } }, "required": [ @@ -8757,6 +9299,14 @@ "canOfferSessionApproval": { "type": "boolean", "description": "Whether the UI can offer session-wide approval for file write operations" + }, + "requestSandboxBypass": { + "type": "boolean", + "description": "True when a built-in file tool (apply_patch / str_replace_editor) asked to write a path the sandbox filesystem policy would block, and the host opted in via sandbox.allowBypass. This is a request, not a grant: the write happens unsandboxed only if the user approves this permission request. Hosts should highlight the elevated risk in the approval UI." + }, + "requestSandboxBypassReason": { + "type": "string", + "description": "Justification for the sandbox-bypass request. Only meaningful when requestSandboxBypass is true." } }, "required": [ @@ -8773,31 +9323,40 @@ "PermissionResult": { "anyOf": [ { - "$ref": "#/definitions/PermissionApproved" + "$ref": "#/definitions/PermissionApproved", + "description": "Permission response variant indicating the request was approved without persisting an approval rule." }, { - "$ref": "#/definitions/PermissionApprovedForSession" + "$ref": "#/definitions/PermissionApprovedForSession", + "description": "Permission response variant that approves a request and remembers the provided approval for the rest of the session." }, { - "$ref": "#/definitions/PermissionApprovedForLocation" + "$ref": "#/definitions/PermissionApprovedForLocation", + "description": "Permission response variant that approves a request and persists the provided approval to a project location key." }, { - "$ref": "#/definitions/PermissionCancelled" + "$ref": "#/definitions/PermissionCancelled", + "description": "Permission response variant indicating the request was cancelled before use, with an optional reason." }, { - "$ref": "#/definitions/PermissionDeniedByRules" + "$ref": "#/definitions/PermissionDeniedByRules", + "description": "Permission response variant denied because matching approval rules explicitly blocked the request." }, { - "$ref": "#/definitions/PermissionDeniedNoApprovalRuleAndCouldNotRequestFromUser" + "$ref": "#/definitions/PermissionDeniedNoApprovalRuleAndCouldNotRequestFromUser", + "description": "Permission response variant denied because no approval rule matched and user confirmation was unavailable." }, { - "$ref": "#/definitions/PermissionDeniedInteractivelyByUser" + "$ref": "#/definitions/PermissionDeniedInteractivelyByUser", + "description": "Permission response variant denied in an interactive user prompt, with optional feedback and force-reject flag." }, { - "$ref": "#/definitions/PermissionDeniedByContentExclusionPolicy" + "$ref": "#/definitions/PermissionDeniedByContentExclusionPolicy", + "description": "Permission response variant denying a path under content exclusion policy, with the path and message." }, { - "$ref": "#/definitions/PermissionDeniedByPermissionRequestHook" + "$ref": "#/definitions/PermissionDeniedByPermissionRequestHook", + "description": "Permission response variant denied by a permission-request hook, with optional message and interrupt flag." } ], "description": "The result of the permission request", @@ -8823,7 +9382,7 @@ "argument" ], "additionalProperties": false, - "description": "Schema for the `PermissionRule` type.", + "description": "A permission approval or denial rule matched against a tool request, identified by a rule kind with an optional argument value.", "title": "PermissionRule" }, "PermissionsChangedData": { @@ -8836,6 +9395,16 @@ "allowAllPermissions": { "type": "boolean", "description": "Aggregate allow-all flag after the change" + }, + "previousAllowAllPermissionMode": { + "$ref": "#/definitions/PermissionAllowAllMode", + "description": "Allow-all mode before the change", + "stability": "experimental" + }, + "allowAllPermissionMode": { + "$ref": "#/definitions/PermissionAllowAllMode", + "description": "Allow-all mode after the change", + "stability": "experimental" } }, "required": [ @@ -8843,7 +9412,7 @@ "allowAllPermissions" ], "additionalProperties": false, - "description": "Permissions change details carrying the aggregate allow-all boolean transition.", + "description": "Permissions change details carrying the aggregate allow-all transition.", "title": "PermissionsChangedData" }, "PermissionsChangedEvent": { @@ -8886,7 +9455,7 @@ }, "data": { "$ref": "#/definitions/PermissionsChangedData", - "description": "Permissions change details carrying the aggregate allow-all boolean transition." + "description": "Permissions change details carrying the aggregate allow-all transition." } }, "required": [ @@ -8897,7 +9466,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.permissions_changed\". Permissions change details carrying the aggregate allow-all boolean transition.", + "description": "Session event \"session.permissions_changed\". Permissions change details carrying the aggregate allow-all transition.", "title": "PermissionsChangedEvent" }, "PersistedBinaryImage": { @@ -9167,6 +9736,10 @@ "$ref": "#/definitions/ReasoningSummary", "description": "Reasoning summary mode used for model calls, if applicable (e.g. \"none\", \"concise\", \"detailed\")" }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level used for model calls, if applicable (e.g. \"low\", \"medium\", \"high\")" + }, "contextTier": { "anyOf": [ { @@ -9740,7 +10313,7 @@ }, { "$ref": "#/definitions/PermissionsChangedEvent", - "description": "Session event \"session.permissions_changed\". Permissions change details carrying the aggregate allow-all boolean transition." + "description": "Session event \"session.permissions_changed\". Permissions change details carrying the aggregate allow-all transition." }, { "$ref": "#/definitions/PlanChangedEvent", @@ -9796,7 +10369,7 @@ }, { "$ref": "#/definitions/UserMessageEvent", - "description": "Session event \"user.message\"." + "description": "Session event \"user.message\". Payload of `user.message` with displayed and model-transformed content, attachments, source/delivery metadata, mode, and telemetry IDs." }, { "$ref": "#/definitions/PendingMessagesModifiedEvent", @@ -9818,6 +10391,10 @@ "$ref": "#/definitions/AssistantReasoningDeltaEvent", "description": "Session event \"assistant.reasoning_delta\". Streaming reasoning delta for incremental extended thinking updates" }, + { + "$ref": "#/definitions/AssistantToolCallDeltaEvent", + "description": "Session event \"assistant.tool_call_delta\". Streaming tool-call input delta for incremental tool-call updates" + }, { "$ref": "#/definitions/AssistantStreamingDeltaEvent", "description": "Session event \"assistant.streaming_delta\". Streaming response progress with cumulative byte count" @@ -10010,6 +10587,10 @@ "$ref": "#/definitions/SessionLimitsExhaustedCompletedEvent", "description": "Session event \"session_limits_exhausted.completed\". Session limit exhaustion prompt completion notification." }, + { + "$ref": "#/definitions/AutoModeResolvedEvent", + "description": "Session event \"session.auto_mode_resolved\". Auto Intent resolution: the concrete model the session settled on for the first prompt of an auto-mode session, and why. Lets SDK clients render the chosen model and the full reason it was picked. The core selection fields (chosenModel/reasoningBucket/categoryScores) are stable; the routing-analytics fields (predictedLabel/confidence/candidateModels) mirror the upstream intent service and may evolve, hence the event's experimental stability." + }, { "$ref": "#/definitions/CommandsChangedEvent", "description": "Session event \"commands.changed\". SDK command registration change notification" @@ -10028,43 +10609,55 @@ }, { "$ref": "#/definitions/ToolsUpdatedEvent", - "description": "Session event \"session.tools_updated\"." + "description": "Session event \"session.tools_updated\". Payload of `session.tools_updated` identifying the model whose resolved tools were updated." }, { "$ref": "#/definitions/BackgroundTasksChangedEvent", - "description": "Session event \"session.background_tasks_changed\"." + "description": "Session event \"session.background_tasks_changed\". Empty payload for `session.background_tasks_changed`, indicating background task state changed." }, { "$ref": "#/definitions/SkillsLoadedEvent", - "description": "Session event \"session.skills_loaded\"." + "description": "Session event \"session.skills_loaded\". Payload of `session.skills_loaded` listing resolved skill metadata." }, { "$ref": "#/definitions/CustomAgentsUpdatedEvent", - "description": "Session event \"session.custom_agents_updated\"." + "description": "Session event \"session.custom_agents_updated\". Payload of `session.custom_agents_updated` with loaded custom agents plus non-fatal warnings and fatal errors." }, { "$ref": "#/definitions/McpServersLoadedEvent", - "description": "Session event \"session.mcp_servers_loaded\"." + "description": "Session event \"session.mcp_servers_loaded\". Payload of `session.mcp_servers_loaded` listing MCP server status summaries." }, { "$ref": "#/definitions/McpServerStatusChangedEvent", - "description": "Session event \"session.mcp_server_status_changed\"." + "description": "Session event \"session.mcp_server_status_changed\". Payload of `session.mcp_server_status_changed` for one MCP server's status and optional failure error." + }, + { + "$ref": "#/definitions/McpToolsListChangedEvent", + "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." + }, + { + "$ref": "#/definitions/McpResourcesListChangedEvent", + "description": "Session event \"mcp.resources.list_changed\". Payload of MCP `list_changed` notification events, emitted when an MCP server announces at runtime that one of its advertised lists changed." + }, + { + "$ref": "#/definitions/McpPromptsListChangedEvent", + "description": "Session event \"mcp.prompts.list_changed\". Payload of MCP `list_changed` notification events, emitted when an MCP server announces at runtime that one of its advertised lists changed." }, { "$ref": "#/definitions/ExtensionsLoadedEvent", - "description": "Session event \"session.extensions_loaded\"." + "description": "Session event \"session.extensions_loaded\". Payload of `session.extensions_loaded` listing discovered extensions and their statuses." }, { "$ref": "#/definitions/CanvasOpenedEvent", - "description": "Session event \"session.canvas.opened\"." + "description": "Session event \"session.canvas.opened\". Payload of `session.canvas.opened` with canvas instance and provider IDs plus optional title, status, URL, and input." }, { "$ref": "#/definitions/CanvasRegistryChangedEvent", - "description": "Session event \"session.canvas.registry_changed\"." + "description": "Session event \"session.canvas.registry_changed\". Payload of `session.canvas.registry_changed` listing the canvas declarations currently available." }, { "$ref": "#/definitions/CanvasClosedEvent", - "description": "Session event \"session.canvas.closed\"." + "description": "Session event \"session.canvas.closed\". Payload of `session.canvas.closed` with the closed canvas instance ID, provider ID, and canvas ID." }, { "$ref": "#/definitions/CanvasUnavailableEvent", @@ -10080,7 +10673,7 @@ }, { "$ref": "#/definitions/ExtensionsAttachmentsPushedEvent", - "description": "Session event \"session.extensions.attachments_pushed\"." + "description": "Session event \"session.extensions.attachments_pushed\". Payload of `session.extensions.attachments_pushed` with extension-contributed attachments for the next send." }, { "$ref": "#/definitions/McpAppToolCallCompleteEvent", @@ -10451,7 +11044,8 @@ "tokenDetails": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ShutdownTokenDetail" + "$ref": "#/definitions/ShutdownTokenDetail", + "description": "A session-wide shutdown token-type entry storing the accumulated token count." }, "description": "Session-wide per-token-type accumulated token counts" }, @@ -10478,7 +11072,8 @@ "modelMetrics": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ShutdownModelMetric" + "$ref": "#/definitions/ShutdownModelMetric", + "description": "Per-model shutdown metrics with request counts, token usage, nano-AI units, and token details." }, "description": "Per-model usage breakdown, keyed by model identifier" }, @@ -10592,7 +11187,8 @@ "tokenDetails": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/ShutdownModelMetricTokenDetail" + "$ref": "#/definitions/ShutdownModelMetricTokenDetail", + "description": "A token-type entry in a shutdown model metric, storing the accumulated token count." }, "description": "Token count details per type" } @@ -10602,7 +11198,7 @@ "usage" ], "additionalProperties": false, - "description": "Schema for the `ShutdownModelMetric` type.", + "description": "Per-model shutdown metrics with request counts, token usage, nano-AI units, and token details.", "title": "ShutdownModelMetric" }, "ShutdownModelMetricRequests": { @@ -10637,7 +11233,7 @@ "tokenCount" ], "additionalProperties": false, - "description": "Schema for the `ShutdownModelMetricTokenDetail` type.", + "description": "A token-type entry in a shutdown model metric, storing the accumulated token count.", "title": "ShutdownModelMetricTokenDetail" }, "ShutdownModelMetricUsage": { @@ -10692,7 +11288,7 @@ "tokenCount" ], "additionalProperties": false, - "description": "Schema for the `ShutdownTokenDetail` type.", + "description": "A session-wide shutdown token-type entry storing the accumulated token count.", "title": "ShutdownTokenDetail" }, "ShutdownType": { @@ -10715,6 +11311,10 @@ "type": "string", "description": "Name of the invoked skill" }, + "model": { + "type": "string", + "description": "Model identifier active when the skill was invoked, when known" + }, "path": { "type": "string", "description": "File path to the SKILL.md definition" @@ -10835,7 +11435,8 @@ "skills": { "type": "array", "items": { - "$ref": "#/definitions/SkillsLoadedSkill" + "$ref": "#/definitions/SkillsLoadedSkill", + "description": "A single resolved skill in `session.skills_loaded`, including source, invocability, enabled state, path, and argument hint." }, "description": "Array of resolved skill metadata" } @@ -10844,7 +11445,7 @@ "skills" ], "additionalProperties": false, - "description": "Schema for the `SkillsLoadedData` type.", + "description": "Payload of `session.skills_loaded` listing resolved skill metadata.", "title": "SkillsLoadedData" }, "SkillsLoadedEvent": { @@ -10888,7 +11489,7 @@ }, "data": { "$ref": "#/definitions/SkillsLoadedData", - "description": "Schema for the `SkillsLoadedData` type." + "description": "Payload of `session.skills_loaded` listing resolved skill metadata." } }, "required": [ @@ -10900,7 +11501,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.skills_loaded\".", + "description": "Session event \"session.skills_loaded\". Payload of `session.skills_loaded` listing resolved skill metadata.", "title": "SkillsLoadedEvent" }, "SkillsLoadedSkill": { @@ -10943,7 +11544,7 @@ "enabled" ], "additionalProperties": false, - "description": "Schema for the `SkillsLoadedSkill` type.", + "description": "A single resolved skill in `session.skills_loaded`, including source, invocability, enabled state, path, and argument hint.", "title": "SkillsLoadedSkill" }, "SkillSource": { @@ -11083,6 +11684,10 @@ "$ref": "#/definitions/ReasoningSummary", "description": "Reasoning summary mode used for model calls, if applicable (e.g. \"none\", \"concise\", \"detailed\")" }, + "verbosity": { + "$ref": "#/definitions/Verbosity", + "description": "Output verbosity level used for model calls, if applicable (e.g. \"low\", \"medium\", \"high\")" + }, "contextTier": { "anyOf": [ { @@ -11738,22 +12343,28 @@ "SystemNotification": { "anyOf": [ { - "$ref": "#/definitions/SystemNotificationAgentCompleted" + "$ref": "#/definitions/SystemNotificationAgentCompleted", + "description": "System notification metadata for a background agent that completed or failed, including agent ID, type, status, description, and prompt." }, { - "$ref": "#/definitions/SystemNotificationAgentIdle" + "$ref": "#/definitions/SystemNotificationAgentIdle", + "description": "System notification metadata for a background agent that became idle, including agent ID, type, and description." }, { - "$ref": "#/definitions/SystemNotificationNewInboxMessage" + "$ref": "#/definitions/SystemNotificationNewInboxMessage", + "description": "System notification metadata for a new inbox message, including entry ID, sender details, and summary." }, { - "$ref": "#/definitions/SystemNotificationShellCompleted" + "$ref": "#/definitions/SystemNotificationShellCompleted", + "description": "System notification metadata for a shell session that completed, including shell ID, optional exit code, and description." }, { - "$ref": "#/definitions/SystemNotificationShellDetachedCompleted" + "$ref": "#/definitions/SystemNotificationShellDetachedCompleted", + "description": "System notification metadata for a detached shell session that completed, including shell ID and description." }, { - "$ref": "#/definitions/SystemNotificationInstructionDiscovered" + "$ref": "#/definitions/SystemNotificationInstructionDiscovered", + "description": "System notification metadata for an instruction file discovered during tool access, including source, trigger file, and tool." } ], "description": "Structured metadata identifying what triggered this notification", @@ -11795,7 +12406,7 @@ "status" ], "additionalProperties": false, - "description": "Schema for the `SystemNotificationAgentCompleted` type.", + "description": "System notification metadata for a background agent that completed or failed, including agent ID, type, status, description, and prompt.", "title": "SystemNotificationAgentCompleted" }, "SystemNotificationAgentCompletedStatus": { @@ -11838,7 +12449,7 @@ "agentType" ], "additionalProperties": false, - "description": "Schema for the `SystemNotificationAgentIdle` type.", + "description": "System notification metadata for a background agent that became idle, including agent ID, type, and description.", "title": "SystemNotificationAgentIdle" }, "SystemNotificationData": { @@ -11947,7 +12558,7 @@ "triggerTool" ], "additionalProperties": false, - "description": "Schema for the `SystemNotificationInstructionDiscovered` type.", + "description": "System notification metadata for an instruction file discovered during tool access, including source, trigger file, and tool.", "title": "SystemNotificationInstructionDiscovered" }, "SystemNotificationNewInboxMessage": { @@ -11983,7 +12594,7 @@ "summary" ], "additionalProperties": false, - "description": "Schema for the `SystemNotificationNewInboxMessage` type.", + "description": "System notification metadata for a new inbox message, including entry ID, sender details, and summary.", "title": "SystemNotificationNewInboxMessage" }, "SystemNotificationShellCompleted": { @@ -12012,7 +12623,7 @@ "shellId" ], "additionalProperties": false, - "description": "Schema for the `SystemNotificationShellCompleted` type.", + "description": "System notification metadata for a shell session that completed, including shell ID, optional exit code, and description.", "title": "SystemNotificationShellCompleted" }, "SystemNotificationShellDetachedCompleted": { @@ -12037,7 +12648,7 @@ "shellId" ], "additionalProperties": false, - "description": "Schema for the `SystemNotificationShellDetachedCompleted` type.", + "description": "System notification metadata for a detached shell session that completed, including shell ID and description.", "title": "SystemNotificationShellDetachedCompleted" }, "TaskCompleteData": { @@ -12357,10 +12968,12 @@ "ToolExecutionCompleteContentResourceDetails": { "anyOf": [ { - "$ref": "#/definitions/EmbeddedTextResourceContents" + "$ref": "#/definitions/EmbeddedTextResourceContents", + "description": "Embedded text resource contents identified by a URI, with an optional MIME type and a text payload." }, { - "$ref": "#/definitions/EmbeddedBlobResourceContents" + "$ref": "#/definitions/EmbeddedBlobResourceContents", + "description": "Embedded binary resource contents identified by a URI, with an optional MIME type and a base64-encoded blob." } ], "description": "The embedded resource contents, either text or base64-encoded binary", @@ -12767,7 +13380,7 @@ "properties": { "ui": { "$ref": "#/definitions/ToolExecutionCompleteToolDescriptionMetaUI", - "description": "Schema for the `ToolExecutionCompleteToolDescriptionMetaUI` type." + "description": "MCP Apps tool `_meta.ui` resource URI and visibility captured on `tool.execution_complete`." } }, "additionalProperties": false, @@ -12790,7 +13403,7 @@ } }, "additionalProperties": false, - "description": "Schema for the `ToolExecutionCompleteToolDescriptionMetaUI` type.", + "description": "MCP Apps tool `_meta.ui` resource URI and visibility captured on `tool.execution_complete`.", "title": "ToolExecutionCompleteToolDescriptionMetaUI" }, "ToolExecutionCompleteToolDescriptionMetaUIVisibility": { @@ -12843,7 +13456,7 @@ "properties": { "ui": { "$ref": "#/definitions/ToolExecutionCompleteUIResourceMetaUI", - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUI` type." + "description": "MCP Apps UI resource metadata for a completed tool result, including CSP, permissions, domain, and border preference." } }, "additionalProperties": false, @@ -12855,11 +13468,11 @@ "properties": { "csp": { "$ref": "#/definitions/ToolExecutionCompleteUIResourceMetaUICsp", - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUICsp` type." + "description": "CSP domain allowlists for an MCP Apps UI resource, including connect, resource, frame, and base URI domains." }, "permissions": { "$ref": "#/definitions/ToolExecutionCompleteUIResourceMetaUIPermissions", - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissions` type." + "description": "Browser permission metadata for an MCP Apps UI resource, including camera, microphone, geolocation, and clipboard-write." }, "domain": { "type": "string" @@ -12869,7 +13482,7 @@ } }, "additionalProperties": false, - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUI` type.", + "description": "MCP Apps UI resource metadata for a completed tool result, including CSP, permissions, domain, and border preference.", "title": "ToolExecutionCompleteUIResourceMetaUI" }, "ToolExecutionCompleteUIResourceMetaUICsp": { @@ -12901,7 +13514,7 @@ } }, "additionalProperties": false, - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUICsp` type.", + "description": "CSP domain allowlists for an MCP Apps UI resource, including connect, resource, frame, and base URI domains.", "title": "ToolExecutionCompleteUIResourceMetaUICsp" }, "ToolExecutionCompleteUIResourceMetaUIPermissions": { @@ -12909,47 +13522,47 @@ "properties": { "camera": { "$ref": "#/definitions/ToolExecutionCompleteUIResourceMetaUIPermissionsCamera", - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsCamera` type." + "description": "Marker object for camera permission on an MCP Apps UI resource." }, "microphone": { "$ref": "#/definitions/ToolExecutionCompleteUIResourceMetaUIPermissionsMicrophone", - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsMicrophone` type." + "description": "Marker object for microphone permission on an MCP Apps UI resource." }, "geolocation": { "$ref": "#/definitions/ToolExecutionCompleteUIResourceMetaUIPermissionsGeolocation", - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsGeolocation` type." + "description": "Marker object for geolocation permission on an MCP Apps UI resource." }, "clipboardWrite": { "$ref": "#/definitions/ToolExecutionCompleteUIResourceMetaUIPermissionsClipboardWrite", - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsClipboardWrite` type." + "description": "Marker object for clipboard-write permission on an MCP Apps UI resource." } }, "additionalProperties": false, - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissions` type.", + "description": "Browser permission metadata for an MCP Apps UI resource, including camera, microphone, geolocation, and clipboard-write.", "title": "ToolExecutionCompleteUIResourceMetaUIPermissions" }, "ToolExecutionCompleteUIResourceMetaUIPermissionsCamera": { "type": "object", "properties": {}, - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsCamera` type.", + "description": "Marker object for camera permission on an MCP Apps UI resource.", "title": "ToolExecutionCompleteUIResourceMetaUIPermissionsCamera" }, "ToolExecutionCompleteUIResourceMetaUIPermissionsClipboardWrite": { "type": "object", "properties": {}, - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsClipboardWrite` type.", + "description": "Marker object for clipboard-write permission on an MCP Apps UI resource.", "title": "ToolExecutionCompleteUIResourceMetaUIPermissionsClipboardWrite" }, "ToolExecutionCompleteUIResourceMetaUIPermissionsGeolocation": { "type": "object", "properties": {}, - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsGeolocation` type.", + "description": "Marker object for geolocation permission on an MCP Apps UI resource.", "title": "ToolExecutionCompleteUIResourceMetaUIPermissionsGeolocation" }, "ToolExecutionCompleteUIResourceMetaUIPermissionsMicrophone": { "type": "object", "properties": {}, - "description": "Schema for the `ToolExecutionCompleteUIResourceMetaUIPermissionsMicrophone` type.", + "description": "Marker object for microphone permission on an MCP Apps UI resource.", "title": "ToolExecutionCompleteUIResourceMetaUIPermissionsMicrophone" }, "ToolExecutionPartialData": { @@ -13266,7 +13879,7 @@ "properties": { "ui": { "$ref": "#/definitions/ToolExecutionStartToolDescriptionMetaUI", - "description": "Schema for the `ToolExecutionStartToolDescriptionMetaUI` type." + "description": "MCP Apps tool `_meta.ui` resource URI and visibility captured on `tool.execution_start`." } }, "additionalProperties": false, @@ -13289,7 +13902,7 @@ } }, "additionalProperties": false, - "description": "Schema for the `ToolExecutionStartToolDescriptionMetaUI` type.", + "description": "MCP Apps tool `_meta.ui` resource URI and visibility captured on `tool.execution_start`.", "title": "ToolExecutionStartToolDescriptionMetaUI" }, "ToolExecutionStartToolDescriptionMetaUIVisibility": { @@ -13317,7 +13930,7 @@ "model" ], "additionalProperties": false, - "description": "Schema for the `ToolsUpdatedData` type.", + "description": "Payload of `session.tools_updated` identifying the model whose resolved tools were updated.", "title": "ToolsUpdatedData" }, "ToolsUpdatedEvent": { @@ -13361,7 +13974,7 @@ }, "data": { "$ref": "#/definitions/ToolsUpdatedData", - "description": "Schema for the `ToolsUpdatedData` type." + "description": "Payload of `session.tools_updated` identifying the model whose resolved tools were updated." } }, "required": [ @@ -13373,7 +13986,7 @@ "data" ], "additionalProperties": false, - "description": "Session event \"session.tools_updated\".", + "description": "Session event \"session.tools_updated\". Payload of `session.tools_updated` identifying the model whose resolved tools were updated.", "title": "ToolsUpdatedEvent" }, "ToolUserRequestedData": { @@ -13993,7 +14606,7 @@ "content" ], "additionalProperties": false, - "description": "Schema for the `UserMessageData` type.", + "description": "Payload of `user.message` with displayed and model-transformed content, attachments, source/delivery metadata, mode, and telemetry IDs.", "title": "UserMessageData" }, "UserMessageDelivery": { @@ -14051,7 +14664,7 @@ }, "data": { "$ref": "#/definitions/UserMessageData", - "description": "Schema for the `UserMessageData` type." + "description": "Payload of `user.message` with displayed and model-transformed content, attachments, source/delivery metadata, mode, and telemetry IDs." } }, "required": [ @@ -14062,34 +14675,42 @@ "data" ], "additionalProperties": false, - "description": "Session event \"user.message\".", + "description": "Session event \"user.message\". Payload of `user.message` with displayed and model-transformed content, attachments, source/delivery metadata, mode, and telemetry IDs.", "title": "UserMessageEvent" }, "UserToolSessionApproval": { "anyOf": [ { - "$ref": "#/definitions/UserToolSessionApprovalCommands" + "$ref": "#/definitions/UserToolSessionApprovalCommands", + "description": "Session-scoped tool-approval rule for specific shell command identifiers." }, { - "$ref": "#/definitions/UserToolSessionApprovalRead" + "$ref": "#/definitions/UserToolSessionApprovalRead", + "description": "Session-scoped tool-approval rule for read-only filesystem operations." }, { - "$ref": "#/definitions/UserToolSessionApprovalWrite" + "$ref": "#/definitions/UserToolSessionApprovalWrite", + "description": "Session-scoped tool-approval rule for filesystem write operations." }, { - "$ref": "#/definitions/UserToolSessionApprovalMcp" + "$ref": "#/definitions/UserToolSessionApprovalMcp", + "description": "Session-scoped tool-approval rule for an MCP server tool, or all tools on the server when `toolName` is null." }, { - "$ref": "#/definitions/UserToolSessionApprovalMemory" + "$ref": "#/definitions/UserToolSessionApprovalMemory", + "description": "Session-scoped tool-approval rule for writes to long-term memory." }, { - "$ref": "#/definitions/UserToolSessionApprovalCustomTool" + "$ref": "#/definitions/UserToolSessionApprovalCustomTool", + "description": "Session-scoped tool-approval rule for a custom tool, keyed by tool name." }, { - "$ref": "#/definitions/UserToolSessionApprovalExtensionManagement" + "$ref": "#/definitions/UserToolSessionApprovalExtensionManagement", + "description": "Session-scoped tool-approval rule for extension-management operations, optionally narrowed by operation." }, { - "$ref": "#/definitions/UserToolSessionApprovalExtensionPermissionAccess" + "$ref": "#/definitions/UserToolSessionApprovalExtensionPermissionAccess", + "description": "Session-scoped tool-approval rule for an extension's permission-gated capability access, keyed by extension name." } ], "description": "The approval to add as a session-scoped rule", @@ -14116,7 +14737,7 @@ "commandIdentifiers" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalCommands` type.", + "description": "Session-scoped tool-approval rule for specific shell command identifiers.", "title": "UserToolSessionApprovalCommands" }, "UserToolSessionApprovalCustomTool": { @@ -14137,7 +14758,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalCustomTool` type.", + "description": "Session-scoped tool-approval rule for a custom tool, keyed by tool name.", "title": "UserToolSessionApprovalCustomTool" }, "UserToolSessionApprovalExtensionManagement": { @@ -14157,7 +14778,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalExtensionManagement` type.", + "description": "Session-scoped tool-approval rule for extension-management operations, optionally narrowed by operation.", "title": "UserToolSessionApprovalExtensionManagement" }, "UserToolSessionApprovalExtensionPermissionAccess": { @@ -14178,7 +14799,7 @@ "extensionName" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalExtensionPermissionAccess` type.", + "description": "Session-scoped tool-approval rule for an extension's permission-gated capability access, keyed by extension name.", "title": "UserToolSessionApprovalExtensionPermissionAccess" }, "UserToolSessionApprovalMcp": { @@ -14207,7 +14828,7 @@ "toolName" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalMcp` type.", + "description": "Session-scoped tool-approval rule for an MCP server tool, or all tools on the server when `toolName` is null.", "title": "UserToolSessionApprovalMcp" }, "UserToolSessionApprovalMemory": { @@ -14223,7 +14844,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalMemory` type.", + "description": "Session-scoped tool-approval rule for writes to long-term memory.", "title": "UserToolSessionApprovalMemory" }, "UserToolSessionApprovalRead": { @@ -14239,7 +14860,7 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalRead` type.", + "description": "Session-scoped tool-approval rule for read-only filesystem operations.", "title": "UserToolSessionApprovalRead" }, "UserToolSessionApprovalWrite": { @@ -14255,9 +14876,24 @@ "kind" ], "additionalProperties": false, - "description": "Schema for the `UserToolSessionApprovalWrite` type.", + "description": "Session-scoped tool-approval rule for filesystem write operations.", "title": "UserToolSessionApprovalWrite" }, + "Verbosity": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ], + "description": "Output verbosity level used for supported model calls (e.g. \"low\", \"medium\", \"high\")", + "title": "Verbosity", + "x-enumDescriptions": { + "low": "A terse response was requested.", + "medium": "A medium amount of response detail was requested.", + "high": "A more detailed response was requested." + } + }, "WarningData": { "type": "object", "properties": { diff --git a/src/github/copilot_sdk/generated/event_specs.clj b/src/github/copilot_sdk/generated/event_specs.clj index 8a1d410..493d92d 100644 --- a/src/github/copilot_sdk/generated/event_specs.clj +++ b/src/github/copilot_sdk/generated/event_specs.clj @@ -21,6 +21,8 @@ (s/def :github.copilot-sdk.generated.event-specs/agents (s/coll-of clojure.core/map?)) +(s/def :github.copilot-sdk.generated.event-specs/allow-all-permission-mode #{"off" "auto" "on"}) + (s/def :github.copilot-sdk.generated.event-specs/allow-all-permissions clojure.core/boolean?) (s/def :github.copilot-sdk.generated.event-specs/allow-freeform clojure.core/boolean?) @@ -61,10 +63,14 @@ (s/def :github.copilot-sdk.generated.event-specs/cache-write-tokens clojure.core/integer?) +(s/def :github.copilot-sdk.generated.event-specs/candidate-models (s/coll-of clojure.core/string?)) + (s/def :github.copilot-sdk.generated.event-specs/canvas-id clojure.core/string?) (s/def :github.copilot-sdk.generated.event-specs/canvases (s/coll-of clojure.core/map?)) +(s/def :github.copilot-sdk.generated.event-specs/category-scores clojure.core/map?) + (s/def :github.copilot-sdk.generated.event-specs/cause clojure.core/string?) (s/def :github.copilot-sdk.generated.event-specs/checkpoint-number clojure.core/integer?) @@ -73,8 +79,12 @@ (s/def :github.copilot-sdk.generated.event-specs/choices (s/coll-of clojure.core/string?)) +(s/def :github.copilot-sdk.generated.event-specs/chosen-model clojure.core/string?) + (s/def :github.copilot-sdk.generated.event-specs/citations clojure.core/map?) +(s/def :github.copilot-sdk.generated.event-specs/client-request-id clojure.core/string?) + (s/def :github.copilot-sdk.generated.event-specs/code-changes clojure.core/map?) (s/def :github.copilot-sdk.generated.event-specs/command clojure.core/string?) @@ -85,6 +95,8 @@ (s/def :github.copilot-sdk.generated.event-specs/compaction-tokens-used clojure.core/map?) +(s/def :github.copilot-sdk.generated.event-specs/confidence clojure.core/number?) + (s/def :github.copilot-sdk.generated.event-specs/content (s/spec (fn [v951] (or (s/valid? clojure.core/string? v951) (s/valid? clojure.core/map? v951))))) (s/def :github.copilot-sdk.generated.event-specs/content-filter-triggered clojure.core/boolean?) @@ -189,6 +201,8 @@ (s/def :github.copilot-sdk.generated.event-specs/input clojure.core/any?) +(s/def :github.copilot-sdk.generated.event-specs/input-delta clojure.core/string?) + (s/def :github.copilot-sdk.generated.event-specs/input-tokens clojure.core/integer?) (s/def :github.copilot-sdk.generated.event-specs/instance-id clojure.core/string?) @@ -293,6 +307,10 @@ (s/def :github.copilot-sdk.generated.event-specs/pre-truncation-tokens-in-messages clojure.core/integer?) +(s/def :github.copilot-sdk.generated.event-specs/predicted-label clojure.core/string?) + +(s/def :github.copilot-sdk.generated.event-specs/previous-allow-all-permission-mode #{"off" "auto" "on"}) + (s/def :github.copilot-sdk.generated.event-specs/previous-allow-all-permissions clojure.core/boolean?) (s/def :github.copilot-sdk.generated.event-specs/previous-mode #{"interactive" "autopilot" "plan"}) @@ -303,6 +321,8 @@ (s/def :github.copilot-sdk.generated.event-specs/previous-reasoning-summary #{"detailed" "none" "concise"}) +(s/def :github.copilot-sdk.generated.event-specs/previous-verbosity #{"low" "high" "medium"}) + (s/def :github.copilot-sdk.generated.event-specs/producer clojure.core/string?) (s/def :github.copilot-sdk.generated.event-specs/progress-message clojure.core/string?) @@ -319,6 +339,8 @@ (s/def :github.copilot-sdk.generated.event-specs/reason (s/spec (fn [v954] (or (s/valid? #{"user_abort" "remote_command" "user_initiated"} v954) (s/valid? #{"refresh" "initial" "upscope" "reauth"} v954) (s/valid? #{"auth-failed" "startup" "ttl-expired"} v954))))) +(s/def :github.copilot-sdk.generated.event-specs/reasoning-bucket #{"low" "high" "medium"}) + (s/def :github.copilot-sdk.generated.event-specs/reasoning-effort (s/spec (fn [v947] (or (s/valid? clojure.core/string? v947) (s/valid? clojure.core/any? v947))))) (s/def :github.copilot-sdk.generated.event-specs/reasoning-id clojure.core/string?) @@ -425,7 +447,7 @@ (s/def :github.copilot-sdk.generated.event-specs/temporary clojure.core/boolean?) -(s/def :github.copilot-sdk.generated.event-specs/time-to-first-token-ms clojure.core/integer?) +(s/def :github.copilot-sdk.generated.event-specs/time-to-first-token-ms clojure.core/number?) (s/def :github.copilot-sdk.generated.event-specs/timestamp clojure.core/string?) @@ -455,6 +477,8 @@ (s/def :github.copilot-sdk.generated.event-specs/tool-telemetry clojure.core/map?) +(s/def :github.copilot-sdk.generated.event-specs/tool-type #{"custom" "function"}) + (s/def :github.copilot-sdk.generated.event-specs/tools (s/nilable (s/coll-of clojure.core/string?))) (s/def :github.copilot-sdk.generated.event-specs/total-api-duration-ms clojure.core/integer?) @@ -479,7 +503,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.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? #{"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? #{"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.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?) @@ -491,6 +515,8 @@ (s/def :github.copilot-sdk.generated.event-specs/used-ai-credits clojure.core/number?) +(s/def :github.copilot-sdk.generated.event-specs/verbosity #{"low" "high" "medium"}) + (s/def :github.copilot-sdk.generated.event-specs/version clojure.core/integer?) (s/def :github.copilot-sdk.generated.event-specs/warning-type clojure.core/string?) @@ -509,7 +535,7 @@ (s/def :github.copilot-sdk.generated.event-specs/assistant.intent-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/intent])) -(s/def :github.copilot-sdk.generated.event-specs/assistant.message-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/content :github.copilot-sdk.generated.event-specs/message-id] :opt-un [:github.copilot-sdk.generated.event-specs/api-call-id :github.copilot-sdk.generated.event-specs/citations :github.copilot-sdk.generated.event-specs/encrypted-content :github.copilot-sdk.generated.event-specs/interaction-id :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/output-tokens :github.copilot-sdk.generated.event-specs/parent-tool-call-id :github.copilot-sdk.generated.event-specs/phase :github.copilot-sdk.generated.event-specs/reasoning-opaque :github.copilot-sdk.generated.event-specs/reasoning-text :github.copilot-sdk.generated.event-specs/reasoning-wire-field :github.copilot-sdk.generated.event-specs/request-id :github.copilot-sdk.generated.event-specs/server-tools :github.copilot-sdk.generated.event-specs/service-request-id :github.copilot-sdk.generated.event-specs/tool-requests :github.copilot-sdk.generated.event-specs/turn-id])) +(s/def :github.copilot-sdk.generated.event-specs/assistant.message-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/content :github.copilot-sdk.generated.event-specs/message-id] :opt-un [:github.copilot-sdk.generated.event-specs/api-call-id :github.copilot-sdk.generated.event-specs/citations :github.copilot-sdk.generated.event-specs/client-request-id :github.copilot-sdk.generated.event-specs/encrypted-content :github.copilot-sdk.generated.event-specs/interaction-id :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/output-tokens :github.copilot-sdk.generated.event-specs/parent-tool-call-id :github.copilot-sdk.generated.event-specs/phase :github.copilot-sdk.generated.event-specs/reasoning-opaque :github.copilot-sdk.generated.event-specs/reasoning-text :github.copilot-sdk.generated.event-specs/reasoning-wire-field :github.copilot-sdk.generated.event-specs/request-id :github.copilot-sdk.generated.event-specs/server-tools :github.copilot-sdk.generated.event-specs/service-request-id :github.copilot-sdk.generated.event-specs/tool-requests :github.copilot-sdk.generated.event-specs/turn-id])) (s/def :github.copilot-sdk.generated.event-specs/assistant.message_delta-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/delta-content :github.copilot-sdk.generated.event-specs/message-id] :opt-un [:github.copilot-sdk.generated.event-specs/parent-tool-call-id])) @@ -521,9 +547,11 @@ (s/def :github.copilot-sdk.generated.event-specs/assistant.streaming_delta-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/total-response-size-bytes])) -(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_end-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/turn-id])) +(s/def :github.copilot-sdk.generated.event-specs/assistant.tool_call_delta-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/input-delta :github.copilot-sdk.generated.event-specs/tool-call-id] :opt-un [:github.copilot-sdk.generated.event-specs/tool-name :github.copilot-sdk.generated.event-specs/tool-type])) + +(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_end-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/turn-id] :opt-un [:github.copilot-sdk.generated.event-specs/model])) -(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_start-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/turn-id] :opt-un [:github.copilot-sdk.generated.event-specs/interaction-id])) +(s/def :github.copilot-sdk.generated.event-specs/assistant.turn_start-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/turn-id] :opt-un [:github.copilot-sdk.generated.event-specs/interaction-id :github.copilot-sdk.generated.event-specs/model])) (s/def :github.copilot-sdk.generated.event-specs/assistant.usage-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/model] :opt-un [:github.copilot-sdk.generated.event-specs/api-call-id :github.copilot-sdk.generated.event-specs/api-endpoint :github.copilot-sdk.generated.event-specs/cache-read-tokens :github.copilot-sdk.generated.event-specs/cache-write-tokens :github.copilot-sdk.generated.event-specs/content-filter-triggered :github.copilot-sdk.generated.event-specs/copilot-usage :github.copilot-sdk.generated.event-specs/cost :github.copilot-sdk.generated.event-specs/duration :github.copilot-sdk.generated.event-specs/finish-reason :github.copilot-sdk.generated.event-specs/initiator :github.copilot-sdk.generated.event-specs/input-tokens :github.copilot-sdk.generated.event-specs/inter-token-latency-ms :github.copilot-sdk.generated.event-specs/output-tokens :github.copilot-sdk.generated.event-specs/parent-tool-call-id :github.copilot-sdk.generated.event-specs/provider-call-id :github.copilot-sdk.generated.event-specs/quota-snapshots :github.copilot-sdk.generated.event-specs/reasoning-effort :github.copilot-sdk.generated.event-specs/reasoning-tokens :github.copilot-sdk.generated.event-specs/service-request-id :github.copilot-sdk.generated.event-specs/time-to-first-token-ms])) @@ -567,6 +595,12 @@ (s/def :github.copilot-sdk.generated.event-specs/mcp.oauth_required-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/reason :github.copilot-sdk.generated.event-specs/request-id :github.copilot-sdk.generated.event-specs/server-name :github.copilot-sdk.generated.event-specs/server-url] :opt-un [:github.copilot-sdk.generated.event-specs/resource-metadata :github.copilot-sdk.generated.event-specs/static-client-config :github.copilot-sdk.generated.event-specs/www-authenticate-params])) +(s/def :github.copilot-sdk.generated.event-specs/mcp.prompts.list_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/server-name])) + +(s/def :github.copilot-sdk.generated.event-specs/mcp.resources.list_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/server-name])) + +(s/def :github.copilot-sdk.generated.event-specs/mcp.tools.list_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/server-name])) + (s/def :github.copilot-sdk.generated.event-specs/mcp_app.tool_call_complete-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/duration-ms :github.copilot-sdk.generated.event-specs/server-name :github.copilot-sdk.generated.event-specs/success :github.copilot-sdk.generated.event-specs/tool-name] :opt-un [:github.copilot-sdk.generated.event-specs/arguments :github.copilot-sdk.generated.event-specs/error :github.copilot-sdk.generated.event-specs/result :github.copilot-sdk.generated.event-specs/tool-meta])) (s/def :github.copilot-sdk.generated.event-specs/model.call_failure-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/source] :opt-un [:github.copilot-sdk.generated.event-specs/api-call-id :github.copilot-sdk.generated.event-specs/bad-request-kind :github.copilot-sdk.generated.event-specs/duration-ms :github.copilot-sdk.generated.event-specs/error-code :github.copilot-sdk.generated.event-specs/error-message :github.copilot-sdk.generated.event-specs/error-type :github.copilot-sdk.generated.event-specs/initiator :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/provider-call-id :github.copilot-sdk.generated.event-specs/quota-snapshots :github.copilot-sdk.generated.event-specs/request-fingerprint :github.copilot-sdk.generated.event-specs/service-request-id :github.copilot-sdk.generated.event-specs/status-code])) @@ -581,6 +615,8 @@ (s/def :github.copilot-sdk.generated.event-specs/sampling.requested-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/mcp-request-id :github.copilot-sdk.generated.event-specs/request-id :github.copilot-sdk.generated.event-specs/server-name])) +(s/def :github.copilot-sdk.generated.event-specs/session.auto_mode_resolved-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/chosen-model] :opt-un [:github.copilot-sdk.generated.event-specs/candidate-models :github.copilot-sdk.generated.event-specs/category-scores :github.copilot-sdk.generated.event-specs/confidence :github.copilot-sdk.generated.event-specs/predicted-label :github.copilot-sdk.generated.event-specs/reasoning-bucket])) + (s/def :github.copilot-sdk.generated.event-specs/session.autopilot_objective_changed-data (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/operation] :opt-un [:github.copilot-sdk.generated.event-specs/id :github.copilot-sdk.generated.event-specs/status]) (fn [data] (or (not (contains? data :id)) (s/valid? clojure.core/integer? (:id data)))))) (s/def :github.copilot-sdk.generated.event-specs/session.background_tasks_changed-data (s/keys)) @@ -601,7 +637,7 @@ (s/def :github.copilot-sdk.generated.event-specs/session.compaction_complete-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/success] :opt-un [:github.copilot-sdk.generated.event-specs/checkpoint-number :github.copilot-sdk.generated.event-specs/checkpoint-path :github.copilot-sdk.generated.event-specs/compaction-tokens-used :github.copilot-sdk.generated.event-specs/conversation-tokens :github.copilot-sdk.generated.event-specs/custom-instructions :github.copilot-sdk.generated.event-specs/error :github.copilot-sdk.generated.event-specs/messages-removed :github.copilot-sdk.generated.event-specs/post-compaction-tokens :github.copilot-sdk.generated.event-specs/pre-compaction-messages-length :github.copilot-sdk.generated.event-specs/pre-compaction-tokens :github.copilot-sdk.generated.event-specs/request-id :github.copilot-sdk.generated.event-specs/service-request-id :github.copilot-sdk.generated.event-specs/status-code :github.copilot-sdk.generated.event-specs/summary-content :github.copilot-sdk.generated.event-specs/system-tokens :github.copilot-sdk.generated.event-specs/tokens-removed :github.copilot-sdk.generated.event-specs/tool-definitions-tokens])) -(s/def :github.copilot-sdk.generated.event-specs/session.compaction_start-data (s/keys :opt-un [:github.copilot-sdk.generated.event-specs/conversation-tokens :github.copilot-sdk.generated.event-specs/system-tokens :github.copilot-sdk.generated.event-specs/tool-definitions-tokens])) +(s/def :github.copilot-sdk.generated.event-specs/session.compaction_start-data (s/keys :opt-un [:github.copilot-sdk.generated.event-specs/conversation-tokens :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/system-tokens :github.copilot-sdk.generated.event-specs/tool-definitions-tokens])) (s/def :github.copilot-sdk.generated.event-specs/session.context_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/cwd] :opt-un [:github.copilot-sdk.generated.event-specs/base-commit :github.copilot-sdk.generated.event-specs/branch :github.copilot-sdk.generated.event-specs/git-root :github.copilot-sdk.generated.event-specs/head-commit :github.copilot-sdk.generated.event-specs/host-type :github.copilot-sdk.generated.event-specs/repository :github.copilot-sdk.generated.event-specs/repository-host])) @@ -627,15 +663,15 @@ (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/reasoning-effort :github.copilot-sdk.generated.event-specs/reasoning-summary])) +(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])) -(s/def :github.copilot-sdk.generated.event-specs/session.permissions_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/allow-all-permissions :github.copilot-sdk.generated.event-specs/previous-allow-all-permissions])) +(s/def :github.copilot-sdk.generated.event-specs/session.permissions_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/allow-all-permissions :github.copilot-sdk.generated.event-specs/previous-allow-all-permissions] :opt-un [:github.copilot-sdk.generated.event-specs/allow-all-permission-mode :github.copilot-sdk.generated.event-specs/previous-allow-all-permission-mode])) (s/def :github.copilot-sdk.generated.event-specs/session.plan_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/operation])) (s/def :github.copilot-sdk.generated.event-specs/session.remote_steerable_changed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/remote-steerable])) -(s/def :github.copilot-sdk.generated.event-specs/session.resume-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/event-count :github.copilot-sdk.generated.event-specs/resume-time] :opt-un [:github.copilot-sdk.generated.event-specs/already-in-use :github.copilot-sdk.generated.event-specs/context :github.copilot-sdk.generated.event-specs/context-tier :github.copilot-sdk.generated.event-specs/continue-pending-work :github.copilot-sdk.generated.event-specs/events-file-size-bytes :github.copilot-sdk.generated.event-specs/reasoning-effort :github.copilot-sdk.generated.event-specs/reasoning-summary :github.copilot-sdk.generated.event-specs/remote-steerable :github.copilot-sdk.generated.event-specs/selected-model :github.copilot-sdk.generated.event-specs/session-limits :github.copilot-sdk.generated.event-specs/session-was-active])) +(s/def :github.copilot-sdk.generated.event-specs/session.resume-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/event-count :github.copilot-sdk.generated.event-specs/resume-time] :opt-un [:github.copilot-sdk.generated.event-specs/already-in-use :github.copilot-sdk.generated.event-specs/context :github.copilot-sdk.generated.event-specs/context-tier :github.copilot-sdk.generated.event-specs/continue-pending-work :github.copilot-sdk.generated.event-specs/events-file-size-bytes :github.copilot-sdk.generated.event-specs/reasoning-effort :github.copilot-sdk.generated.event-specs/reasoning-summary :github.copilot-sdk.generated.event-specs/remote-steerable :github.copilot-sdk.generated.event-specs/selected-model :github.copilot-sdk.generated.event-specs/session-limits :github.copilot-sdk.generated.event-specs/session-was-active :github.copilot-sdk.generated.event-specs/verbosity])) (s/def :github.copilot-sdk.generated.event-specs/session.schedule_cancelled-data (s/and (s/keys :req-un [:github.copilot-sdk.generated.event-specs/id]) (fn [data] (s/valid? clojure.core/integer? (:id data))))) @@ -651,7 +687,7 @@ (s/def :github.copilot-sdk.generated.event-specs/session.snapshot_rewind-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/events-removed :github.copilot-sdk.generated.event-specs/up-to-event-id])) -(s/def :github.copilot-sdk.generated.event-specs/session.start-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/copilot-version :github.copilot-sdk.generated.event-specs/producer :github.copilot-sdk.generated.event-specs/session-id :github.copilot-sdk.generated.event-specs/start-time :github.copilot-sdk.generated.event-specs/version] :opt-un [:github.copilot-sdk.generated.event-specs/already-in-use :github.copilot-sdk.generated.event-specs/context :github.copilot-sdk.generated.event-specs/context-tier :github.copilot-sdk.generated.event-specs/detached-from-spawning-parent-session-id :github.copilot-sdk.generated.event-specs/reasoning-effort :github.copilot-sdk.generated.event-specs/reasoning-summary :github.copilot-sdk.generated.event-specs/remote-steerable :github.copilot-sdk.generated.event-specs/selected-model :github.copilot-sdk.generated.event-specs/session-limits])) +(s/def :github.copilot-sdk.generated.event-specs/session.start-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/copilot-version :github.copilot-sdk.generated.event-specs/producer :github.copilot-sdk.generated.event-specs/session-id :github.copilot-sdk.generated.event-specs/start-time :github.copilot-sdk.generated.event-specs/version] :opt-un [:github.copilot-sdk.generated.event-specs/already-in-use :github.copilot-sdk.generated.event-specs/context :github.copilot-sdk.generated.event-specs/context-tier :github.copilot-sdk.generated.event-specs/detached-from-spawning-parent-session-id :github.copilot-sdk.generated.event-specs/reasoning-effort :github.copilot-sdk.generated.event-specs/reasoning-summary :github.copilot-sdk.generated.event-specs/remote-steerable :github.copilot-sdk.generated.event-specs/selected-model :github.copilot-sdk.generated.event-specs/session-limits :github.copilot-sdk.generated.event-specs/verbosity])) (s/def :github.copilot-sdk.generated.event-specs/session.task_complete-data (s/keys :opt-un [:github.copilot-sdk.generated.event-specs/success :github.copilot-sdk.generated.event-specs/summary])) @@ -675,7 +711,7 @@ (s/def :github.copilot-sdk.generated.event-specs/session_limits_exhausted.requested-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/max-ai-credits :github.copilot-sdk.generated.event-specs/request-id :github.copilot-sdk.generated.event-specs/used-ai-credits])) -(s/def :github.copilot-sdk.generated.event-specs/skill.invoked-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/content :github.copilot-sdk.generated.event-specs/name :github.copilot-sdk.generated.event-specs/path] :opt-un [:github.copilot-sdk.generated.event-specs/allowed-tools :github.copilot-sdk.generated.event-specs/description :github.copilot-sdk.generated.event-specs/plugin-name :github.copilot-sdk.generated.event-specs/plugin-version :github.copilot-sdk.generated.event-specs/source :github.copilot-sdk.generated.event-specs/trigger])) +(s/def :github.copilot-sdk.generated.event-specs/skill.invoked-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/content :github.copilot-sdk.generated.event-specs/name :github.copilot-sdk.generated.event-specs/path] :opt-un [:github.copilot-sdk.generated.event-specs/allowed-tools :github.copilot-sdk.generated.event-specs/description :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/plugin-name :github.copilot-sdk.generated.event-specs/plugin-version :github.copilot-sdk.generated.event-specs/source :github.copilot-sdk.generated.event-specs/trigger])) (s/def :github.copilot-sdk.generated.event-specs/subagent.completed-data (s/keys :req-un [:github.copilot-sdk.generated.event-specs/agent-display-name :github.copilot-sdk.generated.event-specs/agent-name :github.copilot-sdk.generated.event-specs/tool-call-id] :opt-un [:github.copilot-sdk.generated.event-specs/duration-ms :github.copilot-sdk.generated.event-specs/model :github.copilot-sdk.generated.event-specs/total-tokens :github.copilot-sdk.generated.event-specs/total-tool-calls])) @@ -707,211 +743,221 @@ (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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.workspace_file_changed"} v927) (s/valid? #{"session.handoff"} v927) (s/valid? #{"session.truncation"} v927) (s/valid? #{"session.snapshot_rewind"} v927) (s/valid? #{"session.shutdown"} v927) (s/valid? #{"session.usage_checkpoint"} v927) (s/valid? #{"session.context_changed"} v927) (s/valid? #{"session.usage_info"} v927) (s/valid? #{"session.compaction_start"} v927) (s/valid? #{"session.compaction_complete"} v927) (s/valid? #{"session.task_complete"} v927) (s/valid? #{"user.message"} v927) (s/valid? #{"pending_messages.modified"} v927) (s/valid? #{"assistant.turn_start"} v927) (s/valid? #{"assistant.intent"} v927) (s/valid? #{"assistant.reasoning"} v927) (s/valid? #{"assistant.reasoning_delta"} v927) (s/valid? #{"assistant.tool_call_delta"} v927) (s/valid? #{"assistant.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"session.auto_mode_resolved"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"mcp.tools.list_changed"} v927) (s/valid? #{"mcp.resources.list_changed"} v927) (s/valid? #{"mcp.prompts.list_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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 (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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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_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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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_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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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_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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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_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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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_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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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_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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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.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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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_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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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/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/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.streaming_delta"} v927) (s/valid? #{"assistant.message"} v927) (s/valid? #{"assistant.message_start"} v927) (s/valid? #{"assistant.message_delta"} v927) (s/valid? #{"assistant.turn_end"} v927) (s/valid? #{"assistant.idle"} v927) (s/valid? #{"assistant.usage"} v927) (s/valid? #{"model.call_failure"} v927) (s/valid? #{"abort"} v927) (s/valid? #{"tool.user_requested"} v927) (s/valid? #{"tool.execution_start"} v927) (s/valid? #{"tool.execution_partial_result"} v927) (s/valid? #{"tool.execution_progress"} v927) (s/valid? #{"tool.execution_complete"} v927) (s/valid? #{"skill.invoked"} v927) (s/valid? #{"subagent.started"} v927) (s/valid? #{"subagent.completed"} v927) (s/valid? #{"subagent.failed"} v927) (s/valid? #{"subagent.selected"} v927) (s/valid? #{"subagent.deselected"} v927) (s/valid? #{"hook.start"} v927) (s/valid? #{"hook.end"} v927) (s/valid? #{"hook.progress"} v927) (s/valid? #{"session.binary_asset"} v927) (s/valid? #{"system.message"} v927) (s/valid? #{"system.notification"} v927) (s/valid? #{"permission.requested"} v927) (s/valid? #{"permission.completed"} v927) (s/valid? #{"user_input.requested"} v927) (s/valid? #{"user_input.completed"} v927) (s/valid? #{"elicitation.requested"} v927) (s/valid? #{"elicitation.completed"} v927) (s/valid? #{"sampling.requested"} v927) (s/valid? #{"sampling.completed"} v927) (s/valid? #{"mcp.oauth_required"} v927) (s/valid? #{"mcp.oauth_completed"} v927) (s/valid? #{"mcp.headers_refresh_required"} v927) (s/valid? #{"mcp.headers_refresh_completed"} v927) (s/valid? #{"session.custom_notification"} v927) (s/valid? #{"external_tool.requested"} v927) (s/valid? #{"external_tool.completed"} v927) (s/valid? #{"command.queued"} v927) (s/valid? #{"command.execute"} v927) (s/valid? #{"command.completed"} v927) (s/valid? #{"auto_mode_switch.requested"} v927) (s/valid? #{"auto_mode_switch.completed"} v927) (s/valid? #{"session_limits_exhausted.requested"} v927) (s/valid? #{"session_limits_exhausted.completed"} v927) (s/valid? #{"commands.changed"} v927) (s/valid? #{"capabilities.changed"} v927) (s/valid? #{"exit_plan_mode.requested"} v927) (s/valid? #{"exit_plan_mode.completed"} v927) (s/valid? #{"session.tools_updated"} v927) (s/valid? #{"session.background_tasks_changed"} v927) (s/valid? #{"session.skills_loaded"} v927) (s/valid? #{"session.custom_agents_updated"} v927) (s/valid? #{"session.mcp_servers_loaded"} v927) (s/valid? #{"session.mcp_server_status_changed"} v927) (s/valid? #{"session.extensions_loaded"} v927) (s/valid? #{"session.canvas.opened"} v927) (s/valid? #{"session.canvas.registry_changed"} v927) (s/valid? #{"session.canvas.closed"} v927) (s/valid? #{"session.canvas.unavailable"} v927) (s/valid? #{"session.canvas.recorded"} v927) (s/valid? #{"session.canvas.removed"} v927) (s/valid? #{"session.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.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))))) -(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.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_app.tool_call_complete" "model.call_failure" "pending_messages.modified" "permission.completed" "permission.requested" "sampling.completed" "sampling.requested" "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.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_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))))) + +(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"}) (defmulti event-mm :type) @@ -933,6 +979,8 @@ (defmethod event-mm "assistant.streaming_delta" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/assistant.streaming_delta)) +(defmethod event-mm "assistant.tool_call_delta" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/assistant.tool_call_delta)) + (defmethod event-mm "assistant.turn_end" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/assistant.turn_end)) (defmethod event-mm "assistant.turn_start" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/assistant.turn_start)) @@ -979,6 +1027,12 @@ (defmethod event-mm "mcp.oauth_required" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/mcp.oauth_required)) +(defmethod event-mm "mcp.prompts.list_changed" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/mcp.prompts.list_changed)) + +(defmethod event-mm "mcp.resources.list_changed" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/mcp.resources.list_changed)) + +(defmethod event-mm "mcp.tools.list_changed" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/mcp.tools.list_changed)) + (defmethod event-mm "mcp_app.tool_call_complete" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/mcp_app.tool_call_complete)) (defmethod event-mm "model.call_failure" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/model.call_failure)) @@ -993,6 +1047,8 @@ (defmethod event-mm "sampling.requested" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/sampling.requested)) +(defmethod event-mm "session.auto_mode_resolved" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/session.auto_mode_resolved)) + (defmethod event-mm "session.autopilot_objective_changed" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/session.autopilot_objective_changed)) (defmethod event-mm "session.background_tasks_changed" [_] (s/get-spec :github.copilot-sdk.generated.event-specs/session.background_tasks_changed)) From 925620395f24c6d0b3bb6943b6cdb836fff8d43e Mon Sep 17 00:00:00 2001 From: Karl Krukow Date: Mon, 13 Jul 2026 22:46:48 +0200 Subject: [PATCH 2/3] feat(events): surface 5 new session event types from schema 1.0.70 Curate the events introduced by the 1.0.70 schema bump into the public event sets and the idiom ::event-type enum: - assistant.tool_call_delta (assistant-events, schema 1.0.69-3) - mcp.tools/resources/prompts.list_changed (interaction-events, 1.0.70) - session.auto_mode_resolved (session-events, experimental, 1.0.70-0) No hand-written idiom -data specs: all new fields are plain strings/numbers/enums, so wire->clj kebab-casing suffices (matching the usage_checkpoint / headers_refresh precedent). Adds an integration test asserting set membership and ::event-type validation, plus API.md and CHANGELOG entries. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6c1ba270-39e7-404f-b8c3-bbe47b3b5635 --- CHANGELOG.md | 27 ++++++++++++++++++- doc/reference/API.md | 5 ++++ src/github/copilot_sdk.clj | 28 +++++++++++++++++--- src/github/copilot_sdk/specs.clj | 11 +++++++- test/github/copilot_sdk/integration_test.clj | 28 ++++++++++++++++++++ 5 files changed, 93 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5f43db..dce0333 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,32 @@ All notable changes to this project will be documented in this file. This change ## [Unreleased] -### Added (v1.0.6-preview sync) +### Added (v1.0.7-preview.2 sync) +Ported from upstream `github/copilot-sdk` v1.0.6-preview.1 → v1.0.7-preview.2 +(`@github/copilot` 1.0.68 → 1.0.70). Schema bumped to 1.0.70. **Preview sync**: the +CLI is a prerelease. Of the new events below, only `session.auto_mode_resolved` is +marked `@experimental` upstream. +- **Schema regen to 1.0.70** — port of upstream schema bumps + [PR #1908](https://github.com/github/copilot-sdk/pull/1908) (1.0.69-1), + [PR #1940](https://github.com/github/copilot-sdk/pull/1940) (1.0.69-3), + [PR #1941](https://github.com/github/copilot-sdk/pull/1941) (1.0.69), + [PR #1954](https://github.com/github/copilot-sdk/pull/1954) (1.0.70-0), and + [PR #1962](https://github.com/github/copilot-sdk/pull/1962) (1.0.70). Bumped + `.copilot-schema-version` `1.0.68` → `1.0.70` and regenerated wire specs / + coercions via `bb codegen`. +- **Five new session event types** — surfaced in the curated public event sets + (`event-types` plus the relevant category set) and the idiom `::event-type` enum: + - `:copilot/assistant.tool_call_delta` (schema 1.0.69-3) — streaming tool-call + argument input chunk; data `{:tool-call-id :input-delta}` with optional + `:tool-name`, `:tool-type`. + - `:copilot/mcp.tools.list_changed`, `:copilot/mcp.resources.list_changed`, + `:copilot/mcp.prompts.list_changed` (schema 1.0.70) — remote MCP server + list-changed signals; data `{:server-name}`. + - `:copilot/session.auto_mode_resolved` (schema 1.0.70-0, `@experimental`) — auto + model-selection resolution; data `{:chosen-model}` with optional + `:candidate-models`, `:category-scores`, `:confidence`, `:predicted-label`, + `:reasoning-bucket`. + Ported from upstream `github/copilot-sdk` (post-v1.0.5-preview.0). Schema bumped to 1.0.68. **Preview sync**: the CLI is a prerelease and these additions are `@experimental` upstream. diff --git a/doc/reference/API.md b/doc/reference/API.md index 094fcca..5c3de92 100644 --- a/doc/reference/API.md +++ b/doc/reference/API.md @@ -1553,6 +1553,7 @@ Convert an unqualified event keyword to a namespace-qualified `:copilot/` keywor | `: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.session_limits_changed` | Session limits changed; data: `{:session-limits {:max-ai-credits }}`, 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 }` with optional `:total-premium-requests ` (upstream schema 1.0.67) | +| `:copilot/session.auto_mode_resolved` | Auto model-selection resolved a model for a turn; 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 | @@ -1570,6 +1571,7 @@ Convert an unqualified event keyword to a namespace-qualified `:copilot/` keywor | `: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 | @@ -1599,6 +1601,9 @@ Convert an unqualified event keyword to a namespace-qualified `:copilot/` keywor | `: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 | diff --git a/src/github/copilot_sdk.clj b/src/github/copilot_sdk.clj index ab1935f..8e510db 100644 --- a/src/github/copilot_sdk.clj +++ b/src/github/copilot_sdk.clj @@ -164,7 +164,17 @@ :copilot/session_limits_exhausted.requested :copilot/session_limits_exhausted.completed :copilot/mcp.headers_refresh_required - :copilot/mcp.headers_refresh_completed}) + :copilot/mcp.headers_refresh_completed + ;; v1.0.7-preview.2 sync (pinned schema 1.0.70). assistant.tool_call_delta + ;; streams incremental tool-call argument input; the mcp.*.list_changed + ;; trio fire when an MCP server's tools/resources/prompts listing changes; + ;; session.auto_mode_resolved (experimental) reports the model an auto-mode + ;; session settled on for its first prompt and why. + :copilot/assistant.tool_call_delta + :copilot/mcp.tools.list_changed + :copilot/mcp.resources.list_changed + :copilot/mcp.prompts.list_changed + :copilot/session.auto_mode_resolved}) (def session-events "Session lifecycle and state management events." @@ -209,7 +219,10 @@ ;; v1.0.5-preview.0 sync (pinned schema 1.0.67): updated session-limit budgets ;; and incremental usage checkpoints. :copilot/session.session_limits_changed - :copilot/session.usage_checkpoint}) + :copilot/session.usage_checkpoint + ;; v1.0.7-preview.2 sync (pinned schema 1.0.70): experimental auto-mode + ;; model resolution for the first prompt of an auto-mode session. + :copilot/session.auto_mode_resolved}) (def assistant-events "Assistant response events." @@ -224,7 +237,9 @@ :copilot/assistant.turn_end :copilot/assistant.usage ;; v1.0.5-preview.0 sync (pinned schema 1.0.66-2): assistant idle within a turn. - :copilot/assistant.idle}) + :copilot/assistant.idle + ;; v1.0.7-preview.2 sync (pinned schema 1.0.69-1): streaming tool-call input delta. + :copilot/assistant.tool_call_delta}) (def tool-events "Tool execution events." @@ -250,7 +265,12 @@ :copilot/sampling.requested :copilot/sampling.completed ;; v1.0.5-preview.0 sync (pinned schema 1.0.67): interactive prompt when a ;; session limit is exhausted (mirrors the sampling request/complete pair). - :copilot/session_limits_exhausted.requested :copilot/session_limits_exhausted.completed}) + :copilot/session_limits_exhausted.requested :copilot/session_limits_exhausted.completed + ;; v1.0.7-preview.2 sync (pinned schema 1.0.70): an MCP server's tools / + ;; resources / prompts listing changed (server-initiated list_changed). + :copilot/mcp.tools.list_changed + :copilot/mcp.resources.list_changed + :copilot/mcp.prompts.list_changed}) (defn evt "Convert an unqualified event keyword to a namespace-qualified event keyword. diff --git a/src/github/copilot_sdk/specs.clj b/src/github/copilot_sdk/specs.clj index 7c96379..702a9e9 100644 --- a/src/github/copilot_sdk/specs.clj +++ b/src/github/copilot_sdk/specs.clj @@ -1288,7 +1288,16 @@ :copilot/session.extensions.attachments_pushed :copilot/session.canvas.opened :copilot/session.canvas.closed - :copilot/session.canvas.registry_changed}) + :copilot/session.canvas.registry_changed + ;; v1.0.7-preview.2 sync (pinned schema 1.0.70): streaming tool-call input + ;; delta, MCP list-changed notifications, and experimental auto-mode model + ;; resolution. (This idiom enum feeds ::session-event; keep it in step with + ;; the curated `github.copilot-sdk/event-types` set.) + :copilot/assistant.tool_call_delta + :copilot/mcp.tools.list_changed + :copilot/mcp.resources.list_changed + :copilot/mcp.prompts.list_changed + :copilot/session.auto_mode_resolved}) ;; Session events (s/def ::already-in-use? boolean?) diff --git a/test/github/copilot_sdk/integration_test.clj b/test/github/copilot_sdk/integration_test.clj index bde1bff..a2968f3 100644 --- a/test/github/copilot_sdk/integration_test.clj +++ b/test/github/copilot_sdk/integration_test.clj @@ -2473,6 +2473,34 @@ (is (contains? sdk/interaction-events :copilot/session_limits_exhausted.requested)) (is (contains? sdk/interaction-events :copilot/session_limits_exhausted.completed)))) +(deftest test-v1-0-7-preview-new-events + (testing "assistant.tool_call_delta is a public assistant event (upstream schema 1.0.69-1)" + (is (contains? sdk/event-types :copilot/assistant.tool_call_delta) + "must be in the master event-types set") + (is (contains? sdk/assistant-events :copilot/assistant.tool_call_delta) + "must be categorized under assistant-events")) + (testing "mcp list_changed events are public MCP interaction events (upstream schema 1.0.70)" + (doseq [ev [:copilot/mcp.tools.list_changed + :copilot/mcp.resources.list_changed + :copilot/mcp.prompts.list_changed]] + (is (contains? sdk/event-types ev) + (str ev " must be in the master event-types set")) + (is (contains? sdk/interaction-events ev) + (str ev " must be categorized under interaction-events")))) + (testing "session.auto_mode_resolved is a public session event (upstream schema 1.0.70)" + (is (contains? sdk/event-types :copilot/session.auto_mode_resolved) + "must be in the master event-types set") + (is (contains? sdk/session-events :copilot/session.auto_mode_resolved) + "must be categorized under session-events")) + (testing "new event types validate against the idiom ::event-type enum" + (doseq [ev [:copilot/assistant.tool_call_delta + :copilot/mcp.tools.list_changed + :copilot/mcp.resources.list_changed + :copilot/mcp.prompts.list_changed + :copilot/session.auto_mode_resolved]] + (is (s/valid? ::specs/event-type ev) + (str ev " must be accepted by the idiom ::event-type spec"))))) + (deftest test-v1-0-4-provider-transport-wire (testing ":provider :transport forwards on both session.create and session.resume (upstream PR #1711)" (let [seen (atom {}) From d3bccd9886171a6f6c038cf00f822bb002e453f4 Mon Sep 17 00:00:00 2001 From: Karl Krukow Date: Mon, 13 Jul 2026 23:17:00 +0200 Subject: [PATCH 3/3] feat(session): port enableManagedSettings, canvasProvider, and telemetry-on-connect Port three forwarding changes from upstream copilot-sdk v1.0.7-preview.2: - enableManagedSettings (upstream PR #1925): new :enable-managed-settings? boolean session config. Forwarded verbatim as wire enableManagedSettings on session.create/resume/join, gated on some? so an explicit false is sent (matching upstream's config spread). Opt-in for runtime self-fetch of enterprise managed settings using the session's github token. - canvasProvider (upstream PR #1847): new :canvas-provider {:id .. :name ..} session config (name optional). Forwarded as wire canvasProvider on session.create/resume/join. Adds ::canvas-provider spec reusing ::id/::name. - Telemetry forwarding on connect (upstream PR #1909): when :on-github-telemetry is registered, the SDK now also sends enableGitHubTelemetryForwarding on the connection-level connect handshake, so the first session's un-replayable session.start telemetry is forwarded. The existing per-session flag on session.create/resume is retained for older CLIs. Registers both new keys at every config site (session/resume/join key sets and s/keys). Adds RED-verified integration tests asserting builder output and the post-clj->wire wire params. Updates API.md and CHANGELOG under the existing v1.0.7-preview.2 sync section. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 6c1ba270-39e7-404f-b8c3-bbe47b3b5635 --- CHANGELOG.md | 15 +++++ doc/reference/API.md | 10 ++- src/github/copilot_sdk/client.clj | 39 +++++++++++- src/github/copilot_sdk/specs.clj | 28 +++++++-- test/github/copilot_sdk/integration_test.clj | 66 ++++++++++++++++++++ 5 files changed, 148 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dce0333..f3c9f50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,21 @@ marked `@experimental` upstream. model-selection resolution; data `{:chosen-model}` with optional `:candidate-models`, `:category-scores`, `:confidence`, `:predicted-label`, `:reasoning-bucket`. +- **`:enable-managed-settings?` session config** — port of upstream + [PR #1925](https://github.com/github/copilot-sdk/pull/1925). Boolean forwarded on + `session.create`/`session.resume`/join as wire `enableManagedSettings`, gated on + `some?` so an explicit `false` is sent verbatim and an absent key is omitted. +- **`:canvas-provider` session config** — port of upstream + [PR #1847](https://github.com/github/copilot-sdk/pull/1847). Map + `{:id "..." :name "..."}` (`:name` optional) forwarded on + `session.create`/`session.resume`/join as wire `canvasProvider`. +- **Telemetry forwarding on the `connect` handshake** — port of upstream + [PR #1909](https://github.com/github/copilot-sdk/pull/1909). When + `:on-github-telemetry` is registered, the SDK now also sends + `enableGitHubTelemetryForwarding: true` on the connection-level `connect` + handshake, so the first session's un-replayable `session.start` telemetry is + forwarded. The existing per-session `session.create`/`session.resume` flag is + retained for older CLIs. Ported from upstream `github/copilot-sdk` (post-v1.0.5-preview.0). Schema bumped to 1.0.68. **Preview sync**: the CLI is a prerelease and these additions are diff --git a/doc/reference/API.md b/doc/reference/API.md index 5c3de92..93b434b 100644 --- a/doc/reference/API.md +++ b/doc/reference/API.md @@ -135,7 +135,7 @@ Get information about the current shared client state. Returns `nil` if no share | `: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](#observability). (upstream PR #785, [PR #1648](https://github.com/github/copilot-sdk/pull/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](#observability) | -| `:on-github-telemetry` | fn | nil | **@experimental / Internal.** One-arg callback receiving each forwarded GitHub telemetry notification. Registering it adds `enableGitHubTelemetryForwarding: true` 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](#observability). ([PR #1835](https://github.com/github/copilot-sdk/pull/1835)) | +| `: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](#observability). ([PR #1835](https://github.com/github/copilot-sdk/pull/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](#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](#client-mode-empty). (upstream PR #1428) | @@ -259,6 +259,8 @@ Create a client and session together, ensuring both are cleaned up on exit. | `: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 }` — 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](../mcp/overview.md)). 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](#commands) | @@ -1760,8 +1762,10 @@ send — forwarding only `:traceparent` and `:tracestate`: 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 wire params of -both `session.create` and `session.resume` (the flag is omitted entirely when no +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: diff --git a/src/github/copilot_sdk/client.clj b/src/github/copilot_sdk/client.clj index 70bc1ae..de3d9f0 100644 --- a/src/github/copilot_sdk/client.clj +++ b/src/github/copilot_sdk/client.clj @@ -232,7 +232,9 @@ - :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 both `session.create` and `session.resume`; + `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 @@ -957,7 +959,16 @@ [client] (let [{:keys [connection-io process options]} @(:state client) token (:tcp-connection-token options) - connect-params (cond-> {} token (assoc :token token)) + ;; Opt in to GitHub telemetry forwarding at the connection level when a + ;; handler is registered (upstream PR #1909). The runtime reads this flag + ;; on the `connect` handshake so the first session's un-replayable + ;; `session.start` telemetry is forwarded; it is also sent on + ;; session.create/resume for older CLIs. csk camelCases "github" -> + ;; "Github", so assoc the exact wire keyword (clj->wire is idempotent). + connect-params (cond-> {} + token (assoc :token token) + (some? (:on-github-telemetry client)) + (assoc :enableGitHubTelemetryForwarding true)) exit-ch (:exit-chan process) timeout-ch (async/timeout 60000) await-rpc (fn [rpc-ch method-name] @@ -2126,6 +2137,15 @@ ;; wire keyword; clj->wire's camelCasing is idempotent on it. (true? (:enable-github-telemetry-forwarding? config)) (assoc :enableGitHubTelemetryForwarding true) + ;; enableManagedSettings (upstream PR #1925): opt-in for runtime self-fetch + ;; of enterprise managed settings. Upstream spreads `config.enableManagedSettings` + ;; verbatim, so forward the actual boolean (an explicit false is sent). + (some? (:enable-managed-settings? config)) + (assoc :enable-managed-settings (:enable-managed-settings? config)) + ;; canvasProvider (upstream PR #1847): stable canvas-provider identity. + ;; The nested {:id :name} map's kebab keys are camelCased by clj->wire. + (:canvas-provider config) + (assoc :canvas-provider (:canvas-provider config)) true (assoc :env-value-mode "direct")))) (defn- stringify-keys-deep @@ -2305,6 +2325,12 @@ ;; wire keyword; clj->wire's camelCasing is idempotent on it. (true? (:enable-github-telemetry-forwarding? config)) (assoc :enableGitHubTelemetryForwarding true) + ;; enableManagedSettings + canvasProvider are SessionConfigBase fields + ;; (upstream PRs #1925, #1847), honored on resume/join as well as create. + (some? (:enable-managed-settings? config)) + (assoc :enable-managed-settings (:enable-managed-settings? config)) + (:canvas-provider config) + (assoc :canvas-provider (:canvas-provider config)) true (assoc :env-value-mode "direct")))) (defn- pre-register-session @@ -2528,6 +2554,13 @@ `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) @@ -2685,6 +2718,8 @@ - :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` diff --git a/src/github/copilot_sdk/specs.clj b/src/github/copilot_sdk/specs.clj index 702a9e9..bbd3d34 100644 --- a/src/github/copilot_sdk/specs.clj +++ b/src/github/copilot_sdk/specs.clj @@ -812,6 +812,19 @@ (s/def ::max-ai-credits (s/and number? pos?)) (s/def ::session-limits (s/keys :opt-un [::max-ai-credits])) +;; enableManagedSettings (upstream PR #1925) — opt-in that makes the runtime +;; self-fetch enterprise managed settings (bypass-permissions policy) at session +;; bootstrap using the session's github token. Forwarded on create + resume/join. +(s/def ::enable-managed-settings? boolean?) + +;; canvasProvider (upstream PR #1847) — stable identity for a host/SDK connection +;; that supplies built-in canvases, so canvases declared on a control connection +;; survive stdio reconnect and CLI restart instead of being re-keyed per +;; connection. `:id` is opaque and used verbatim as the canvas extension id; +;; `:name` is an optional display name. Forwarded on create + resume/join. Reuses +;; the generic ::id/::name specs, mirroring ::provider's nested-map convention. +(s/def ::canvas-provider (s/keys :req-un [::id] :opt-un [::name])) + (def session-config-keys #{:session-id :client-name :model :tools :commands :system-message :available-tools :excluded-tools :provider @@ -850,7 +863,8 @@ :capi :excluded-builtin-agents :enable-citations :session-limits :providers :models :exp-assignments - :include-sub-agent-streaming-events?}) + :include-sub-agent-streaming-events? + :enable-managed-settings? :canvas-provider}) (s/def ::session-config (closed-keys @@ -893,7 +907,8 @@ ::capi ::excluded-builtin-agents ::enable-citations ::session-limits ::providers ::models ::exp-assignments - ::include-sub-agent-streaming-events?]) + ::include-sub-agent-streaming-events? + ::enable-managed-settings? ::canvas-provider]) session-config-keys)) (def ^:private resume-session-config-keys @@ -932,7 +947,8 @@ :providers :models :exp-assignments :include-sub-agent-streaming-events? ;; Upstream PR #1604: resume/join may seed the open-canvases snapshot. - :open-canvases}) + :open-canvases + :enable-managed-settings? :canvas-provider}) (s/def ::resume-session-config (closed-keys @@ -973,7 +989,8 @@ ::excluded-builtin-agents ::enable-citations ::session-limits ::providers ::models ::exp-assignments ::include-sub-agent-streaming-events? - ::open-canvases]) + ::open-canvases + ::enable-managed-settings? ::canvas-provider]) resume-session-config-keys)) ;; join-session config: same as resume-session-config but :on-permission-request is optional. @@ -1016,7 +1033,8 @@ ::excluded-builtin-agents ::enable-citations ::session-limits ::providers ::models ::exp-assignments ::include-sub-agent-streaming-events? - ::open-canvases]) + ::open-canvases + ::enable-managed-settings? ::canvas-provider]) resume-session-config-keys)) ;; ----------------------------------------------------------------------------- diff --git a/test/github/copilot_sdk/integration_test.clj b/test/github/copilot_sdk/integration_test.clj index a2968f3..d039628 100644 --- a/test/github/copilot_sdk/integration_test.clj +++ b/test/github/copilot_sdk/integration_test.clj @@ -5490,6 +5490,72 @@ :enableGitHubTelemetryForwarding))) (is (not (contains? (resume "s-1" {}) :enableGitHubTelemetryForwarding)))))) +(deftest test-github-telemetry-forwarding-on-connect-handshake + (testing "enableGitHubTelemetryForwarding=true on the `connect` handshake when a handler is set (upstream PR #1909)" + (with-telemetry-client* + {:on-github-telemetry (fn [_])} + (fn [server client] + (let [seen (atom []) + _ (mock/set-request-hook! server (fn [method params] + (when (= "connect" method) + (swap! seen conj params)))) + _ (#'client/verify-protocol-version! client)] + (is (some (fn [p] (true? (:enableGitHubTelemetryForwarding p))) @seen) + "connect should carry the telemetry opt-in when a handler is registered"))))) + + (testing "enableGitHubTelemetryForwarding is omitted from `connect` when no handler is set (upstream PR #1909)" + (let [seen (atom []) + _ (mock/set-request-hook! *mock-server* (fn [method params] + (when (= "connect" method) + (swap! seen conj params)))) + _ (#'client/verify-protocol-version! *test-client*)] + (is (seq @seen) "connect should have been sent") + (is (not-any? #(contains? % :enableGitHubTelemetryForwarding) @seen) + "connect must not stamp the flag without a handler")))) + +(deftest test-enable-managed-settings-forwarded + (testing "enableManagedSettings forwarded on session.create + session.resume wire params (upstream PR #1925)" + (let [create @#'client/build-create-session-params + resume #(#'client/build-resume-session-params %1 %2)] + (is (true? (:enable-managed-settings (create {:enable-managed-settings? true})))) + (is (false? (:enable-managed-settings (create {:enable-managed-settings? false}))) + "an explicit false is forwarded (matches upstream spread of config.enableManagedSettings)") + (is (not (contains? (create {}) :enable-managed-settings)) + "omitted when the caller did not set the option") + (is (true? (:enable-managed-settings (resume "s-1" {:enable-managed-settings? true})))) + (is (false? (:enable-managed-settings (resume "s-1" {:enable-managed-settings? false})))) + (is (not (contains? (resume "s-1" {}) :enable-managed-settings))))) + + (testing "enableManagedSettings reaches the wire (camelCase) on create when set" + (let [seen (atom {}) + _ (mock/set-request-hook! *mock-server* (fn [method params] + (when (= "session.create" method) + (swap! seen assoc method params)))) + _ (sdk/create-session *test-client* {:on-permission-request sdk/approve-all + :enable-managed-settings? true})] + (is (true? (:enableManagedSettings (get @seen "session.create"))))))) + +(deftest test-canvas-provider-forwarded + (testing "canvasProvider forwarded on session.create + session.resume wire params (upstream PR #1847)" + (let [create @#'client/build-create-session-params + resume #(#'client/build-resume-session-params %1 %2) + cp {:id "app:builtin:win-1" :name "My App"}] + (is (= cp (:canvas-provider (create {:canvas-provider cp})))) + (is (not (contains? (create {}) :canvas-provider))) + (is (= cp (:canvas-provider (resume "s-1" {:canvas-provider cp})))) + (is (not (contains? (resume "s-1" {}) :canvas-provider))))) + + (testing "canvasProvider reaches the wire (camelCase, nested id/name) on create when set" + (let [seen (atom {}) + _ (mock/set-request-hook! *mock-server* (fn [method params] + (when (= "session.create" method) + (swap! seen assoc method params)))) + _ (sdk/create-session *test-client* {:on-permission-request sdk/approve-all + :canvas-provider {:id "app:builtin:win-1" :name "My App"}}) + cp (:canvasProvider (get @seen "session.create"))] + (is (= "app:builtin:win-1" (:id cp))) + (is (= "My App" (:name cp)))))) + (deftest test-github-telemetry-event-invokes-callback (testing "gitHubTelemetry.event notification invokes :on-github-telemetry with idiom-shaped params; opaque sub-maps pass through verbatim (upstream PR #1835)" (let [received (promise)]