@github/copilot-sdk 1.0.9 → 1.0.11-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -163,6 +163,12 @@ function createServerRpc(connection) {
163
163
  */
164
164
  disable: async (params) => connection.sendRequest("extensions.disable", params)
165
165
  },
166
+ /**
167
+ * Registers the calling SDK client as the per-entrypoint extension launch provider. Call before creating any sessions. When omitted, the runtime temporarily falls back to its built-in Node launcher for backward compatibility.
168
+ *
169
+ * @experimental
170
+ */
171
+ registerExtensionLaunchProvider: async () => connection.sendRequest("registerExtensionLaunchProvider", {}),
166
172
  /** @experimental */
167
173
  plugins: {
168
174
  /**
@@ -353,6 +359,15 @@ function createServerRpc(connection) {
353
359
  }
354
360
  },
355
361
  /** @experimental */
362
+ managedSettings: {
363
+ /**
364
+ * Discovers device-managed settings from production MDM and managed-file sources, validates them against the runtime-owned managed-settings schema, and returns the canonical JSON without requiring a session.
365
+ *
366
+ * @returns Validated device-managed settings discovered before a session exists.
367
+ */
368
+ read: async () => connection.sendRequest("managedSettings.read", {})
369
+ },
370
+ /** @experimental */
356
371
  runtime: {
357
372
  /**
358
373
  * Gracefully shuts down an SDK-owned runtime. The response is sent only after cleanup completes; callers may then terminate the owned runtime process.
@@ -829,9 +844,11 @@ function createSessionRpc(connection, sessionId) {
829
844
  /**
830
845
  * Lists durable factory runs for this session in creation order.
831
846
  *
832
- * @returns Factory runs in durable creation order.
847
+ * @param params Parameters for paging factory runs.
848
+ *
849
+ * @returns A page of factory runs in durable creation order.
833
850
  */
834
- listRuns: async () => connection.sendRequest("session.factory.listRuns", { sessionId }),
851
+ listRuns: async (params) => connection.sendRequest("session.factory.listRuns", { sessionId, ...params }),
835
852
  /**
836
853
  * Gets durable and live observability detail for one factory run.
837
854
  *
@@ -2595,6 +2612,11 @@ function registerClientSessionApiHandlers(connection, getHandlers) {
2595
2612
  });
2596
2613
  }
2597
2614
  function registerClientGlobalApiHandlers(connection, handlers) {
2615
+ connection.onRequest("extensionLaunchProvider.resolve", async (params) => {
2616
+ const handler = handlers.extensionLaunchProvider;
2617
+ if (!handler) throw new Error("No extensionLaunchProvider client-global handler registered");
2618
+ return handler.resolve(params);
2619
+ });
2598
2620
  connection.onRequest("llmInference.httpRequestStart", async (params) => {
2599
2621
  const handler = handlers.llmInference;
2600
2622
  if (!handler) throw new Error("No llmInference client-global handler registered");
@@ -2,6 +2,10 @@
2
2
  * AUTO-GENERATED FILE - DO NOT EDIT
3
3
  * Generated from: session-events.schema.json
4
4
  */
5
+ /** A value that can be represented losslessly on the SDK JSON wire. */
6
+ export type JsonValue = null | boolean | number | string | JsonValue[] | {
7
+ [key: string]: JsonValue;
8
+ };
5
9
  /**
6
10
  * Union of all session event variants emitted by the Copilot CLI runtime.
7
11
  */
@@ -484,6 +488,10 @@ export type ElicitationCompletedAction =
484
488
  | "decline"
485
489
  /** The user dismissed the request. */
486
490
  | "cancel";
491
+ /**
492
+ * Opaque JSON value submitted for one field in accepted `elicitation.completed` form content.
493
+ */
494
+ export type ElicitationCompletedContent = JsonValue | undefined;
487
495
  /**
488
496
  * Reason the runtime is requesting host-provided MCP OAuth credentials
489
497
  */
@@ -524,6 +532,10 @@ export type McpHeadersRefreshCompletedOutcome =
524
532
  | "none"
525
533
  /** No response arrived within the bounded window. */
526
534
  | "timeout";
535
+ /**
536
+ * Source-defined JSON payload for the custom notification
537
+ */
538
+ export type CustomNotificationPayload = JsonValue;
527
539
  /**
528
540
  * The user's auto-mode-switch choice
529
541
  */
@@ -557,14 +569,18 @@ export type AutoModeResolvedReasoningBucket =
557
569
  /** The request looks high-reasoning; a stronger model is appropriate. */
558
570
  | "high";
559
571
  /**
560
- * Which channel supplied the effective enterprise managed settings (highest-authority present layer wins wholesale)
572
+ * Summary of which managed-settings channels contributed to the effective session policy. Use the per-channel booleans for exact provenance.
561
573
  */
562
574
  export type ManagedSettingsResolvedSource =
563
- /** Account/org policy self-fetched from the GitHub managed-settings endpoint (higher authority). */
575
+ /** Only the server/account channel contributed. */
564
576
  "server"
565
- /** Device-level MDM policy discovered from plist/registry/file (lower authority). */
577
+ /** Only the device MDM/plist/registry/file channel contributed. */
566
578
  | "device"
567
- /** No managed policy is in force (no layer contributed). */
579
+ /** Only session-local SDK-host injection contributed. */
580
+ | "client"
581
+ /** More than one channel contributed. Ordinary keys resolve device over server per key, while permissions compose restrictively across all present layers. */
582
+ | "mixed"
583
+ /** No managed policy is in force (no channel contributed). */
568
584
  | "none";
569
585
  /**
570
586
  * The category of runtime action that enterprise managed settings governed (blocked or capped)
@@ -3020,9 +3036,7 @@ export interface AttachmentExtensionContext {
3020
3036
  /**
3021
3037
  * Caller-supplied JSON payload
3022
3038
  */
3023
- payload?: {
3024
- [k: string]: unknown | undefined;
3025
- };
3039
+ payload?: JsonValue;
3026
3040
  /**
3027
3041
  * Human-readable composer pill label
3028
3042
  */
@@ -3562,9 +3576,7 @@ export interface CitationReference {
3562
3576
  /**
3563
3577
  * Provider-native citation correlation data (e.g. Anthropic search_result_index / document_index), passed through opaquely for debugging and forward compatibility.
3564
3578
  */
3565
- providerMetadata?: {
3566
- [k: string]: unknown | undefined;
3567
- };
3579
+ providerMetadata?: JsonValue;
3568
3580
  /**
3569
3581
  * Identifier of the CitationSource this reference points to (CitationSource.id).
3570
3582
  */
@@ -3633,9 +3645,9 @@ export interface AssistantMessageServerTools {
3633
3645
  functionCallNamespaces?: {
3634
3646
  [k: string]: string | undefined;
3635
3647
  };
3636
- items?: unknown[];
3648
+ items?: JsonValue[];
3637
3649
  provider: string;
3638
- rawContentBlocks?: unknown[];
3650
+ rawContentBlocks?: JsonValue[];
3639
3651
  }
3640
3652
  /**
3641
3653
  * A tool invocation request from the assistant
@@ -3644,9 +3656,7 @@ export interface AssistantMessageToolRequest {
3644
3656
  /**
3645
3657
  * Arguments to pass to the tool, format depends on the tool
3646
3658
  */
3647
- arguments?: {
3648
- [k: string]: unknown | undefined;
3649
- };
3659
+ arguments?: JsonValue;
3650
3660
  /**
3651
3661
  * Resolved intention summary describing what this specific call does
3652
3662
  */
@@ -4205,9 +4215,7 @@ export interface ToolUserRequestedData {
4205
4215
  /**
4206
4216
  * Arguments for the tool invocation
4207
4217
  */
4208
- arguments?: {
4209
- [k: string]: unknown | undefined;
4210
- };
4218
+ arguments?: JsonValue;
4211
4219
  /**
4212
4220
  * Unique identifier for this tool call
4213
4221
  */
@@ -4254,9 +4262,7 @@ export interface ToolExecutionStartData {
4254
4262
  /**
4255
4263
  * Arguments passed to the tool
4256
4264
  */
4257
- arguments?: {
4258
- [k: string]: unknown | undefined;
4259
- };
4265
+ arguments?: JsonValue;
4260
4266
  /**
4261
4267
  * When true, the tool output should be displayed expanded (verbatim) in the CLI timeline
4262
4268
  */
@@ -4480,9 +4486,7 @@ export interface ToolExecutionCompleteData {
4480
4486
  *
4481
4487
  * @experimental
4482
4488
  */
4483
- mcpMeta?: {
4484
- [k: string]: unknown | undefined;
4485
- };
4489
+ mcpMeta?: JsonValue;
4486
4490
  /**
4487
4491
  * Model identifier that generated this tool call
4488
4492
  */
@@ -4511,7 +4515,7 @@ export interface ToolExecutionCompleteData {
4511
4515
  * Tool-specific telemetry data (e.g., CodeQL check counts, grep match counts)
4512
4516
  */
4513
4517
  toolTelemetry?: {
4514
- [k: string]: unknown | undefined;
4518
+ [k: string]: JsonValue | undefined;
4515
4519
  };
4516
4520
  /**
4517
4521
  * Identifier for the agent loop turn this tool was invoked in, matching the corresponding assistant.turn_start event
@@ -4564,15 +4568,11 @@ export interface ToolExecutionCompleteResult {
4564
4568
  *
4565
4569
  * @experimental
4566
4570
  */
4567
- mcpMeta?: {
4568
- [k: string]: unknown | undefined;
4569
- };
4571
+ mcpMeta?: JsonValue;
4570
4572
  /**
4571
4573
  * Structured content (arbitrary JSON) returned verbatim by the MCP tool
4572
4574
  */
4573
- structuredContent?: {
4574
- [k: string]: unknown | undefined;
4575
- };
4575
+ structuredContent?: JsonValue;
4576
4576
  uiResource?: ToolExecutionCompleteUIResource;
4577
4577
  }
4578
4578
  /**
@@ -4591,7 +4591,7 @@ export interface PersistedBinaryImage {
4591
4591
  * Optional metadata from the producing tool.
4592
4592
  */
4593
4593
  metadata?: {
4594
- [k: string]: unknown | undefined;
4594
+ [k: string]: JsonValue | undefined;
4595
4595
  };
4596
4596
  /**
4597
4597
  * MIME type of the binary data
@@ -4616,7 +4616,7 @@ export interface OmittedBinaryResult {
4616
4616
  * Optional metadata from the producing tool.
4617
4617
  */
4618
4618
  metadata?: {
4619
- [k: string]: unknown | undefined;
4619
+ [k: string]: JsonValue | undefined;
4620
4620
  };
4621
4621
  /**
4622
4622
  * MIME type of the omitted binary data
@@ -4646,7 +4646,7 @@ export interface BinaryAssetReference {
4646
4646
  * Optional metadata from the producing tool.
4647
4647
  */
4648
4648
  metadata?: {
4649
- [k: string]: unknown | undefined;
4649
+ [k: string]: JsonValue | undefined;
4650
4650
  };
4651
4651
  /**
4652
4652
  * MIME type of the referenced binary data
@@ -5197,6 +5197,10 @@ export interface SubagentCompletedData {
5197
5197
  * Internal name of the sub-agent
5198
5198
  */
5199
5199
  agentName: string;
5200
+ /**
5201
+ * Whether the sub-agent was torn down by cancellation - its own abort, or an ancestor being killed - instead of finishing its work. Cancellation is not a failure, so the run still reports completion; this distinguishes a torn-down sub-agent from one that ran to the end.
5202
+ */
5203
+ cancelled?: boolean;
5200
5204
  /**
5201
5205
  * Wall-clock duration of the sub-agent execution in milliseconds
5202
5206
  */
@@ -5412,9 +5416,7 @@ export interface HookStartData {
5412
5416
  /**
5413
5417
  * Input data passed to the hook
5414
5418
  */
5415
- input?: {
5416
- [k: string]: unknown | undefined;
5417
- };
5419
+ input?: JsonValue;
5418
5420
  }
5419
5421
  /**
5420
5422
  * Session event "hook.end". Hook invocation completion details including output, success status, and error information
@@ -5462,9 +5464,7 @@ export interface HookEndData {
5462
5464
  /**
5463
5465
  * Output data produced by the hook
5464
5466
  */
5465
- output?: {
5466
- [k: string]: unknown | undefined;
5467
- };
5467
+ output?: JsonValue;
5468
5468
  /**
5469
5469
  * Whether the hook completed successfully
5470
5470
  */
@@ -5585,7 +5585,7 @@ export interface BinaryAssetData {
5585
5585
  * Optional metadata from the producing tool.
5586
5586
  */
5587
5587
  metadata?: {
5588
- [k: string]: unknown | undefined;
5588
+ [k: string]: JsonValue | undefined;
5589
5589
  };
5590
5590
  /**
5591
5591
  * MIME type of the binary asset
@@ -5654,7 +5654,7 @@ export interface SystemMessageMetadata {
5654
5654
  * Template variables used when constructing the prompt
5655
5655
  */
5656
5656
  variables?: {
5657
- [k: string]: unknown | undefined;
5657
+ [k: string]: JsonValue | undefined;
5658
5658
  };
5659
5659
  }
5660
5660
  /**
@@ -5859,9 +5859,7 @@ export interface SystemNotificationFactoryCompleted {
5859
5859
  /**
5860
5860
  * Machine-readable terminal failure details, when present.
5861
5861
  */
5862
- failure?: {
5863
- [k: string]: unknown | undefined;
5864
- };
5862
+ failure?: JsonValue;
5865
5863
  /**
5866
5864
  * Bounded prompt-safe preview of the completed result.
5867
5865
  */
@@ -5887,9 +5885,7 @@ export interface SystemNotificationUnclassified {
5887
5885
  /**
5888
5886
  * Opaque metadata supplied by the external host, when present.
5889
5887
  */
5890
- metadata?: {
5891
- [k: string]: unknown | undefined;
5892
- };
5888
+ metadata?: JsonValue;
5893
5889
  /**
5894
5890
  * Type discriminator. Always "unclassified".
5895
5891
  */
@@ -5942,9 +5938,7 @@ export interface PermissionRequestedData {
5942
5938
  /**
5943
5939
  * Neutral risk metadata supplied by the tool host. Consumers may display this value but must not use it to bypass the permission decision.
5944
5940
  */
5945
- riskAssessment?: {
5946
- [k: string]: unknown | undefined;
5947
- };
5941
+ riskAssessment?: JsonValue;
5948
5942
  }
5949
5943
  /**
5950
5944
  * Shell command permission request
@@ -6127,9 +6121,7 @@ export interface PermissionRequestMcp {
6127
6121
  /**
6128
6122
  * Arguments to pass to the MCP tool
6129
6123
  */
6130
- args?: {
6131
- [k: string]: unknown | undefined;
6132
- };
6124
+ args?: JsonValue;
6133
6125
  /**
6134
6126
  * Permission kind discriminator
6135
6127
  */
@@ -6230,9 +6222,7 @@ export interface PermissionRequestCustomTool {
6230
6222
  /**
6231
6223
  * Arguments to pass to the custom tool
6232
6224
  */
6233
- args?: {
6234
- [k: string]: unknown | undefined;
6235
- };
6225
+ args?: JsonValue;
6236
6226
  /**
6237
6227
  * Permission kind discriminator
6238
6228
  */
@@ -6265,9 +6255,7 @@ export interface PermissionRequestHook {
6265
6255
  /**
6266
6256
  * Arguments of the tool call being gated
6267
6257
  */
6268
- toolArgs?: {
6269
- [k: string]: unknown | undefined;
6270
- };
6258
+ toolArgs?: JsonValue;
6271
6259
  /**
6272
6260
  * Tool call ID that triggered this permission request
6273
6261
  */
@@ -6526,9 +6514,7 @@ export interface PermissionPromptRequestMcp {
6526
6514
  /**
6527
6515
  * Arguments to pass to the MCP tool
6528
6516
  */
6529
- args?: {
6530
- [k: string]: unknown | undefined;
6531
- };
6517
+ args?: JsonValue;
6532
6518
  /**
6533
6519
  * Auto-approval judge information for this request; present only when auto mode is enabled.
6534
6520
  *
@@ -6643,9 +6629,7 @@ export interface PermissionPromptRequestCustomTool {
6643
6629
  /**
6644
6630
  * Arguments to pass to the custom tool
6645
6631
  */
6646
- args?: {
6647
- [k: string]: unknown | undefined;
6648
- };
6632
+ args?: JsonValue;
6649
6633
  /**
6650
6634
  * Auto-approval judge information for this request; present only when auto mode is enabled.
6651
6635
  *
@@ -6714,9 +6698,7 @@ export interface PermissionPromptRequestHook {
6714
6698
  /**
6715
6699
  * Arguments of the tool call being gated
6716
6700
  */
6717
- toolArgs?: {
6718
- [k: string]: unknown | undefined;
6719
- };
6701
+ toolArgs?: JsonValue;
6720
6702
  /**
6721
6703
  * Tool call ID that triggered this permission request
6722
6704
  */
@@ -7296,7 +7278,7 @@ export interface ElicitationRequestedSchema {
7296
7278
  * Form field definitions, keyed by field name
7297
7279
  */
7298
7280
  properties: {
7299
- [k: string]: unknown | undefined;
7281
+ [k: string]: JsonValue | undefined;
7300
7282
  };
7301
7283
  /**
7302
7284
  * List of required field names
@@ -7353,12 +7335,6 @@ export interface ElicitationCompletedData {
7353
7335
  */
7354
7336
  requestId: string;
7355
7337
  }
7356
- /**
7357
- * Opaque JSON value submitted for one field in accepted `elicitation.completed` form content.
7358
- */
7359
- export interface ElicitationCompletedContent {
7360
- [k: string]: unknown | undefined;
7361
- }
7362
7338
  /**
7363
7339
  * Session event "sampling.requested". Sampling request from an MCP server; contains the server name and a requestId for correlation
7364
7340
  */
@@ -7396,9 +7372,7 @@ export interface SamplingRequestedData {
7396
7372
  /**
7397
7373
  * The JSON-RPC request ID from the MCP protocol
7398
7374
  */
7399
- mcpRequestId: {
7400
- [k: string]: unknown | undefined;
7401
- };
7375
+ mcpRequestId: JsonValue;
7402
7376
  /**
7403
7377
  * Unique identifier for this sampling request; used to respond via session.respondToSampling()
7404
7378
  */
@@ -7747,12 +7721,6 @@ export interface CustomNotificationData {
7747
7721
  */
7748
7722
  version?: number;
7749
7723
  }
7750
- /**
7751
- * Source-defined JSON payload for the custom notification
7752
- */
7753
- export interface CustomNotificationPayload {
7754
- [k: string]: unknown | undefined;
7755
- }
7756
7724
  /**
7757
7725
  * Optional source-defined string identifiers describing the payload subject
7758
7726
  */
@@ -7796,9 +7764,7 @@ export interface ExternalToolRequestedData {
7796
7764
  /**
7797
7765
  * Arguments to pass to the external tool
7798
7766
  */
7799
- arguments?: {
7800
- [k: string]: unknown | undefined;
7801
- };
7767
+ arguments?: JsonValue;
7802
7768
  /**
7803
7769
  * Unique identifier for this request; used to respond via session.respondToExternalTool()
7804
7770
  */
@@ -8285,7 +8251,7 @@ export interface AutoModeResolvedData {
8285
8251
  stickyOverride?: boolean;
8286
8252
  }
8287
8253
  /**
8288
- * Session event "session.managed_settings_resolved". Enterprise managed-settings resolution: the effective managed settings the session applied and where they came from, so SDK clients can show users what is enterprise-managed and by which authority. Fires whenever managed policy is (re)applied — at session start, on resume, and on account switch. This is an ephemeral live snapshot (delivered to subscribers but not persisted to the session event log), because at session start it resolves before `session.start` is emitted; for a session-independent pull, use the SDK `getManagedSettings()` API, which returns the identical payload. Managed settings have a single authoritative source, so the highest-authority present layer (server > device) wins wholesale; `bypassPermissionsDisabled` is deny-wins across layers. Marked experimental while the managed-settings surface stabilizes.
8254
+ * Session event "session.managed_settings_resolved". Enterprise managed-settings resolution: the effective managed settings the session applied and which channels contributed, so SDK clients can show users what is enterprise-managed. Fires whenever managed policy is (re)applied — at session start, on resume, and on account switch. This is an ephemeral live snapshot (delivered to subscribers but not persisted to the session event log), because at session start it resolves before `session.start` is emitted. Device values take precedence over server values per ordinary key, while permissions compose restrictively across device, server, and SDK-client layers. The account-scoped `getManagedSettings()` API does not include session-local client injection. Marked experimental while the managed-settings surface stabilizes.
8289
8255
  */
8290
8256
  /** @experimental */
8291
8257
  export interface ManagedSettingsResolvedEvent {
@@ -8316,7 +8282,7 @@ export interface ManagedSettingsResolvedEvent {
8316
8282
  type: "session.managed_settings_resolved";
8317
8283
  }
8318
8284
  /**
8319
- * Enterprise managed-settings resolution: the effective managed settings the session applied and where they came from, so SDK clients can show users what is enterprise-managed and by which authority. Fires whenever managed policy is (re)applied — at session start, on resume, and on account switch. This is an ephemeral live snapshot (delivered to subscribers but not persisted to the session event log), because at session start it resolves before `session.start` is emitted; for a session-independent pull, use the SDK `getManagedSettings()` API, which returns the identical payload. Managed settings have a single authoritative source, so the highest-authority present layer (server > device) wins wholesale; `bypassPermissionsDisabled` is deny-wins across layers. Marked experimental while the managed-settings surface stabilizes.
8285
+ * Enterprise managed-settings resolution: the effective managed settings the session applied and which channels contributed, so SDK clients can show users what is enterprise-managed. Fires whenever managed policy is (re)applied — at session start, on resume, and on account switch. This is an ephemeral live snapshot (delivered to subscribers but not persisted to the session event log), because at session start it resolves before `session.start` is emitted. Device values take precedence over server values per ordinary key, while permissions compose restrictively across device, server, and SDK-client layers. The account-scoped `getManagedSettings()` API does not include session-local client injection. Marked experimental while the managed-settings surface stabilizes.
8320
8286
  */
8321
8287
  /** @experimental */
8322
8288
  export interface ManagedSettingsResolvedData {
@@ -8325,7 +8291,11 @@ export interface ManagedSettingsResolvedData {
8325
8291
  */
8326
8292
  bypassPermissionsDisabled: boolean;
8327
8293
  /**
8328
- * Whether the device (MDM/plist/registry/file) managed-settings layer was present
8294
+ * Whether a session-local permissions layer injected by the SDK host was present
8295
+ */
8296
+ clientManaged?: boolean;
8297
+ /**
8298
+ * Whether an actual device MDM/plist/registry/file managed-settings layer was present
8329
8299
  */
8330
8300
  deviceManaged: boolean;
8331
8301
  /**
@@ -8337,7 +8307,7 @@ export interface ManagedSettingsResolvedData {
8337
8307
  */
8338
8308
  managedKeys: string[];
8339
8309
  /**
8340
- * Whether server and device each supplied a permission allowlist, so enforcement intersects them and the flattened settings payload omits `permissions.allow`.
8310
+ * Whether at least two managed sources supplied permission allowlists, so enforcement intersects them and the flattened settings payload omits `permissions.allow`.
8341
8311
  */
8342
8312
  permissionsAllowIntersected?: boolean;
8343
8313
  /**
@@ -8347,9 +8317,7 @@ export interface ManagedSettingsResolvedData {
8347
8317
  /**
8348
8318
  * The effective (resolved) managed settings values, so clients can render exactly what is enforced. Absent when no managed policy is in force.
8349
8319
  */
8350
- settings?: {
8351
- [k: string]: unknown | undefined;
8352
- };
8320
+ settings?: JsonValue;
8353
8321
  source: ManagedSettingsResolvedSource;
8354
8322
  }
8355
8323
  /**
@@ -8775,6 +8743,10 @@ export interface SkillsLoadedSkill {
8775
8743
  * Optional freeform hint describing the skill's expected arguments, from the `argument-hint` frontmatter field
8776
8744
  */
8777
8745
  argumentHint?: string;
8746
+ /**
8747
+ * Canonical slash command name used to invoke the skill, without the leading '/'
8748
+ */
8749
+ commandName?: string;
8778
8750
  /**
8779
8751
  * Description of what the skill does
8780
8752
  */
@@ -9196,9 +9168,7 @@ export interface CanvasOpenedData {
9196
9168
  /**
9197
9169
  * Input supplied when the instance was opened
9198
9170
  */
9199
- input?: {
9200
- [k: string]: unknown | undefined;
9201
- };
9171
+ input?: JsonValue;
9202
9172
  /**
9203
9173
  * Stable caller-supplied canvas instance identifier
9204
9174
  */
@@ -9293,9 +9263,7 @@ export interface CanvasRegistryChangedCanvas {
9293
9263
  /**
9294
9264
  * JSON Schema for canvas open input
9295
9265
  */
9296
- inputSchema?: {
9297
- [k: string]: unknown | undefined;
9298
- };
9266
+ inputSchema?: JsonValue;
9299
9267
  }
9300
9268
  /**
9301
9269
  * A single action within a canvas declaration, with its name, optional description, and optional input schema.
@@ -9309,9 +9277,7 @@ export interface CanvasRegistryChangedCanvasAction {
9309
9277
  /**
9310
9278
  * JSON Schema for action input
9311
9279
  */
9312
- inputSchema?: {
9313
- [k: string]: unknown | undefined;
9314
- };
9280
+ inputSchema?: JsonValue;
9315
9281
  /**
9316
9282
  * Action name
9317
9283
  */
@@ -9462,9 +9428,7 @@ export interface CanvasRecordedData {
9462
9428
  /**
9463
9429
  * Input supplied when the instance was opened
9464
9430
  */
9465
- input?: {
9466
- [k: string]: unknown | undefined;
9467
- };
9431
+ input?: JsonValue;
9468
9432
  /**
9469
9433
  * Stable caller-supplied canvas instance identifier
9470
9434
  */
@@ -9600,7 +9564,7 @@ export interface McpAppToolCallCompleteData {
9600
9564
  * Arguments passed to the tool by the app view, if any
9601
9565
  */
9602
9566
  arguments?: {
9603
- [k: string]: unknown | undefined;
9567
+ [k: string]: JsonValue | undefined;
9604
9568
  };
9605
9569
  /**
9606
9570
  * Wall-clock duration of the underlying tools/call in milliseconds
@@ -9611,7 +9575,7 @@ export interface McpAppToolCallCompleteData {
9611
9575
  * Standard MCP CallToolResult returned by the server. Present whether or not the call set isError.
9612
9576
  */
9613
9577
  result?: {
9614
- [k: string]: unknown | undefined;
9578
+ [k: string]: JsonValue | undefined;
9615
9579
  };
9616
9580
  /**
9617
9581
  * Name of the MCP server hosting the tool
package/dist/index.d.ts CHANGED
@@ -11,5 +11,5 @@ export { defineFactory, FactoryResumeError, isFactoryRunTerminal } from "./facto
11
11
  export { Canvas, CanvasError, createCanvas, type CanvasAction, type CanvasDeclaration, type CanvasHostContext, type CanvasHostContextCapabilities, type CanvasJsonSchema, type CanvasOptions, } from "./canvas.js";
12
12
  export { defineTool, approveAll, convertMcpCallToolResult, createSessionFsAdapter, CopilotRequestHandler, CopilotWebSocketHandler, CopilotWebSocketCloseStatus, CopilotWebSocketForwarder, SessionFsSqliteTransactionFailure, SYSTEM_MESSAGE_SECTIONS, } from "./types.js";
13
13
  export type * from "./generated/session-events.js";
14
- export type { CommandContext, CommandDefinition, CommandHandler, CanvasProviderIdentity, CloudSessionOptions, CloudSessionRepository, AutoModeSwitchHandler, AutoModeSwitchRequest, AutoModeSwitchResponse, AgentStopHandler, AgentStopHookInput, AgentStopHookOutput, UserPromptTransformedHandler, UserPromptTransformedHookInput, UserPromptTransformedHookOutput, CopilotClientMode, CopilotClientOptions, CopilotExpAssignmentResponse, StdioRuntimeConnection, InProcessRuntimeConnection, TcpRuntimeConnection, UriRuntimeConnection, ChildProcessRuntimeConnection, CustomAgentConfig, ElicitationFieldValue, ElicitationHandler, ElicitationParams, ElicitationContext, ElicitationResult, ElicitationSchema, ElicitationSchemaField, ExpConfigEntry, ExpFlagValue, ExitPlanModeHandler, ExitPlanModeRequest, ExitPlanModeResult, ExtensionInfo, ForegroundSessionInfo, GetAuthStatusResponse, GetStatusResponse, GitHubMcpToolConfig, GitHubTelemetryNotification, GitHubTelemetryEvent, GitHubTelemetryClientInfo, InfiniteSessionConfig, LargeToolOutputConfig, MemoryConfiguration, UiInputOptions, FactoryLimits, FactoryMeta, MCPStdioServerConfig, MCPHTTPServerConfig, MCPServerConfig, DefaultAgentConfig, BearerTokenProvider, MessageOptions, ModelBilling, ModelBillingTokenPrices, ModelBillingTokenPricesLongContext, CapiSessionOptions, ModelCapabilities, ModelCapabilitiesOverride, ModelInfo, ModelPolicy, NamedProviderConfig, PermissionHandler, PermissionRequest, PermissionRequestedData, PermissionRequestedEvent, PermissionRequestResult, ProviderConfig, ProviderModelConfig, ProviderTokenArgs, RemoteSessionMode, ResumeSessionConfig, SectionOverride, SectionOverrideAction, SectionTransformFn, SessionCapabilities, SessionConfig, SessionConfigBase, SessionEvent, SessionEventHandler, SessionEventPayload, SessionEventType, SessionLifecycleEvent, SessionLifecycleEventMetadata, SessionLifecycleEventType, SessionLifecycleHandler, SessionHooks, SessionCreatedEvent, SessionDeletedEvent, SessionUpdatedEvent, SessionForegroundEvent, SessionBackgroundEvent, SessionContext, SessionListFilter, SessionMetadata, SessionUiApi, SessionFsConfig, SessionFsProvider, SessionFsFileInfo, SessionFsSqliteQueryResult, SessionFsSqliteQueryType, SessionFsSqliteProvider, SessionFsSqliteStatement, SessionFsSqliteTransactionErrorClass, CopilotRequestContext, SystemMessageAppendConfig, SystemMessageConfig, SystemMessageCustomizeConfig, SystemMessageReplaceConfig, SystemMessageSection, TelemetryConfig, TraceContext, TraceContextProvider, Tool, ToolHandler, ToolInvocation, CurrentToolMetadata, ToolTelemetry, ToolResultObject, ToolSearchConfig, TypedSessionEventHandler, TypedSessionLifecycleHandler, ZodSchema, } from "./types.js";
14
+ export type { CommandContext, CommandDefinition, CommandHandler, CanvasProviderIdentity, CloudSessionOptions, CloudSessionRepository, AutoModeSwitchHandler, AutoModeSwitchRequest, AutoModeSwitchResponse, AgentStopHandler, AgentStopHookInput, AgentStopHookOutput, UserPromptTransformedHandler, UserPromptTransformedHookInput, UserPromptTransformedHookOutput, CopilotClientMode, CopilotClientOptions, CopilotExpAssignmentResponse, StdioRuntimeConnection, InProcessRuntimeConnection, TcpRuntimeConnection, UriRuntimeConnection, ChildProcessRuntimeConnection, CustomAgentConfig, ElicitationFieldValue, ElicitationHandler, ElicitationParams, ElicitationContext, ElicitationResult, ElicitationSchema, ElicitationSchemaField, ExpConfigEntry, ExpFlagValue, ExitPlanModeHandler, ExitPlanModeRequest, ExitPlanModeResult, ExtensionInfo, ForegroundSessionInfo, GetAuthStatusResponse, GetStatusResponse, GitHubMcpToolConfig, GitHubTelemetryNotification, GitHubTelemetryEvent, GitHubTelemetryClientInfo, InfiniteSessionConfig, LargeToolOutputConfig, MemoryConfiguration, UiInputOptions, FactoryLimits, FactoryMeta, MCPStdioServerConfig, MCPHTTPServerConfig, MCPServerConfig, DefaultAgentConfig, BearerTokenProvider, MessageOptions, ManagedSettings, ManagedSettingsPermissions, ModelBilling, ModelBillingTokenPrices, ModelBillingTokenPricesLongContext, CapiSessionOptions, ModelCapabilities, ModelCapabilitiesOverride, ModelInfo, ModelPolicy, NamedProviderConfig, PermissionHandler, PermissionRequest, PermissionRequestedData, PermissionRequestedEvent, PermissionRequestResult, ProviderConfig, ProviderModelConfig, ProviderTokenArgs, RemoteSessionMode, ResumeSessionConfig, SectionOverride, SectionOverrideAction, SectionTransformFn, SessionCapabilities, SessionConfig, SessionConfigBase, SessionEvent, SessionEventHandler, SessionEventPayload, SessionEventType, SessionLifecycleEvent, SessionLifecycleEventMetadata, SessionLifecycleEventType, SessionLifecycleHandler, SessionHooks, SessionCreatedEvent, SessionDeletedEvent, SessionUpdatedEvent, SessionForegroundEvent, SessionBackgroundEvent, SessionContext, SessionListFilter, SessionMetadata, SessionUiApi, SessionFsConfig, SessionFsProvider, SessionFsFileInfo, SessionFsSqliteQueryResult, SessionFsSqliteQueryType, SessionFsSqliteProvider, SessionFsSqliteStatement, SessionFsSqliteTransactionErrorClass, CopilotRequestContext, SystemMessageAppendConfig, SystemMessageConfig, SystemMessageCustomizeConfig, SystemMessageReplaceConfig, SystemMessageSection, TelemetryConfig, TraceContext, TraceContextProvider, Tool, ToolHandler, ToolInvocation, CurrentToolMetadata, ToolTelemetry, ToolResultObject, ToolSearchConfig, TypedSessionEventHandler, TypedSessionLifecycleHandler, ZodSchema, } from "./types.js";
15
15
  export type { RunOptions, ResumeOptions, FactoryResumeErrorCode, SessionFactoryApi, FactoryAgentOptions, FactoryContext, FactoryDefinition, FactoryHandle, FactoryJsonSchema, JsonValue, FactoryPipelineStage, FactoryStepOptions, FactoryRunResult, FactoryRunStatus, FactoryRunSummary, FactoryRunDetail, FactoryProgressPage, FactoryProgressLine, FactoryPhaseObservation, FactoryPhaseStatus, FactoryAgentSummary, } from "./factory.js";