@github/copilot-sdk 1.0.15-unstable.35395657398.gad69ee1 → 1.0.15

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.
@@ -9,7 +9,7 @@ export type JsonValue = null | boolean | number | string | JsonValue[] | {
9
9
  /**
10
10
  * Union of all session event variants emitted by the Copilot CLI runtime.
11
11
  */
12
- export type SessionEvent = StartEvent | ResumeEvent | RemoteSteerableChangedEvent | ErrorEvent | IdleEvent | TitleChangedEvent | ScheduleCreatedEvent | ScheduleCancelledEvent | ScheduleRearmedEvent | AutopilotObjectiveChangedEvent | InfoEvent | WarningEvent | ModelChangeEvent | AutoTierRecommendationEvent | AutoTierSwitchFailedEvent | ModeChangedEvent | ModeNoticeDeliveredEvent | SessionLimitsChangedEvent | PermissionsChangedEvent | PlanChangedEvent | TodosChangedEvent | WorkspaceFileChangedEvent | HandoffEvent | TruncationEvent | SnapshotRewindEvent | ShutdownEvent | UsageCheckpointEvent | ContextChangedEvent | UsageInfoEvent | ContextClearedEvent | CompactionStartEvent | CompactionCompleteEvent | TaskCompleteEvent | CompletionReceiptEvent | FusionRouteStartedEvent | FusionRouteFailedEvent | FusionResolvedEvent | FusionCompletedEvent | UserMessageEvent | PendingMessagesModifiedEvent | AssistantTurnStartEvent | AssistantIntentEvent | AssistantFusionPhaseStartedEvent | AssistantFusionPhaseActivityEvent | AssistantFusionPhaseCompletedEvent | AssistantFusionPhaseFailedEvent | AssistantServerToolProgressEvent | AssistantReasoningEvent | AssistantReasoningDeltaEvent | AssistantToolCallDeltaEvent | AssistantStreamingDeltaEvent | AssistantMessageEvent | AssistantMessageStartEvent | AssistantMessageDeltaEvent | AssistantTurnEndEvent | AssistantIdleEvent | AssistantUsageEvent | ModelCallFailureEvent | ModelCallFinishedEvent | AbortEvent | ToolUserRequestedEvent | ToolExecutionStartEvent | ToolExecutionPartialResultEvent | ToolExecutionProgressEvent | ToolExecutionCompleteEvent | ToolSearchActivatedEvent | SkillInvokedEvent | SubagentStartedEvent | SubagentConfiguredEvent | SubagentCompletedEvent | SubagentFailedEvent | SubagentSelectedEvent | SubagentDeselectedEvent | HookStartEvent | HookEndEvent | HookProgressEvent | BinaryAssetEvent | SystemMessageEvent | SystemNotificationEvent | PermissionRequestedEvent | PermissionCompletedEvent | PermissionCarriedForwardEvent | PermissionMessageAuthorizationEvent | PermissionMessageAuthorizationReadEvent | PermissionMessageAuthorizationDegradedEvent | PermissionAssentDetectedEvent | PermissionContextualAuthorizationEvent | UserInputRequestedEvent | UserInputCompletedEvent | ElicitationRequestedEvent | ElicitationCompletedEvent | SamplingRequestedEvent | SamplingCompletedEvent | McpOauthRequiredEvent | McpOauthCompletedEvent | McpHeadersRefreshRequiredEvent | McpHeadersRefreshCompletedEvent | CustomNotificationEvent | UIEphemeralQueryEvent | ExternalToolRequestedEvent | ExternalToolCompletedEvent | CommandQueuedEvent | CommandExecuteEvent | CommandCompletedEvent | AutoModeSwitchRequestedEvent | AutoModeSwitchCompletedEvent | SessionLimitsExhaustedRequestedEvent | SessionLimitsExhaustedCompletedEvent | AutoModeResolvedEvent | ManagedSettingsResolvedEvent | ManagedSettingsEnforcedEvent | CommandsChangedEvent | CapabilitiesChangedEvent | ExitPlanModeRequestedEvent | ExitPlanModeCompletedEvent | ToolsUpdatedEvent | BackgroundTasksChangedEvent | FactoryRunUpdatedEvent | FactoryRunStartedEvent | FactoryRunSettledEvent | SkillsLoadedEvent | CustomAgentsUpdatedEvent | McpServersLoadedEvent | McpServerStatusChangedEvent | McpServerRemovedEvent | McpServerNeedsReconnectEvent | McpToolsListChangedEvent | McpResourcesListChangedEvent | McpPromptsListChangedEvent | ExtensionsLoadedEvent | CanvasOpenedEvent | CanvasRegistryChangedEvent | CanvasClosedEvent | CanvasUnavailableEvent | CanvasRecordedEvent | CanvasRemovedEvent | ExtensionsAttachmentsPushedEvent | McpAppToolCallCompleteEvent;
12
+ export type SessionEvent = StartEvent | ResumeEvent | RemoteSteerableChangedEvent | ErrorEvent | IdleEvent | TitleChangedEvent | ScheduleCreatedEvent | ScheduleCancelledEvent | ScheduleRearmedEvent | AutopilotObjectiveChangedEvent | InfoEvent | IndexedSearchEvent | WarningEvent | ModelChangeEvent | ModelDeselectedEvent | AutoTierRecommendationEvent | AutoTierSwitchFailedEvent | ModeChangedEvent | ModeNoticeDeliveredEvent | SessionLimitsChangedEvent | PermissionsChangedEvent | PlanChangedEvent | TodosChangedEvent | WorkspaceFileChangedEvent | HandoffEvent | TruncationEvent | SnapshotRewindEvent | ShutdownEvent | UsageCheckpointEvent | ContextChangedEvent | UsageInfoEvent | ContextClearedEvent | CompactionStartEvent | CompactionCompleteEvent | TaskCompleteEvent | CompletionReceiptEvent | FusionRouteStartedEvent | FusionRouteFailedEvent | FusionResolvedEvent | FusionCompletedEvent | PermissionRecoveryEvent | UserMessageEvent | PendingMessagesModifiedEvent | AssistantTurnStartEvent | AssistantIntentEvent | AssistantFusionPhaseStartedEvent | AssistantFusionPhaseActivityEvent | AssistantFusionPhaseCompletedEvent | AssistantFusionPhaseFailedEvent | AssistantServerToolProgressEvent | AssistantReasoningEvent | AssistantReasoningDeltaEvent | AssistantToolCallDeltaEvent | AssistantStreamingDeltaEvent | AssistantMessageEvent | AssistantMessageStartEvent | AssistantMessageDeltaEvent | AssistantTurnEndEvent | AssistantIdleEvent | AssistantUsageEvent | ModelCallFailureEvent | ModelCallFinishedEvent | AbortEvent | ToolUserRequestedEvent | ToolExecutionStartEvent | ToolExecutionPartialResultEvent | ToolExecutionProgressEvent | ToolExecutionCompleteEvent | ToolSearchActivatedEvent | SkillInvokedEvent | SubagentStartedEvent | SubagentConfiguredEvent | SubagentCompletedEvent | SubagentFailedEvent | SubagentSelectedEvent | SubagentDeselectedEvent | HookStartEvent | HookEndEvent | HookProgressEvent | BinaryAssetEvent | SystemMessageEvent | SystemNotificationEvent | PermissionRequestedEvent | PermissionCompletedEvent | PermissionCarriedForwardEvent | PermissionMessageAuthorizationEvent | PermissionMessageAuthorizationReadEvent | PermissionMessageAuthorizationDegradedEvent | PermissionAssentDetectedEvent | PermissionContextualAuthorizationEvent | UserInputRequestedEvent | UserInputCompletedEvent | ElicitationRequestedEvent | ElicitationCompletedEvent | SamplingRequestedEvent | SamplingCompletedEvent | McpOauthRequiredEvent | McpOauthCompletedEvent | McpHeadersRefreshRequiredEvent | McpHeadersRefreshCompletedEvent | CustomNotificationEvent | UIEphemeralQueryEvent | ExternalToolRequestedEvent | ExternalToolCompletedEvent | CommandQueuedEvent | CommandExecuteEvent | CommandCompletedEvent | AutoModeSwitchRequestedEvent | AutoModeSwitchCompletedEvent | SessionLimitsExhaustedRequestedEvent | SessionLimitsExhaustedCompletedEvent | AutoModeResolvedEvent | ManagedSettingsResolvedEvent | ManagedSettingsEnforcedEvent | CommandsChangedEvent | CapabilitiesChangedEvent | ExitPlanModeRequestedEvent | ExitPlanModeCompletedEvent | ToolsUpdatedEvent | BackgroundTasksChangedEvent | WorkflowRunUpdatedEvent | WorkflowRunStartedEvent | WorkflowRunSettledEvent | SkillsLoadedEvent | CustomAgentsUpdatedEvent | McpServersLoadedEvent | McpServerStatusChangedEvent | McpServerRemovedEvent | McpServerNeedsReconnectEvent | McpToolsListChangedEvent | McpResourcesListChangedEvent | McpPromptsListChangedEvent | ExtensionsLoadedEvent | CanvasOpenedEvent | CanvasRegistryChangedEvent | CanvasClosedEvent | CanvasUnavailableEvent | CanvasRecordedEvent | CanvasRemovedEvent | ExtensionsAttachmentsPushedEvent | McpAppToolCallCompleteEvent;
13
13
  /**
14
14
  * Routing preference used when the session model is `auto`. `fast` is an integrator-only latency preset and is not a first-party GitHub Copilot product preference.
15
15
  */
@@ -112,6 +112,165 @@ export type AutopilotObjectiveChangedStatus =
112
112
  | "cap_reached"
113
113
  /** Objective was completed by the agent. */
114
114
  | "completed";
115
+ /**
116
+ * Transient indexed-search status and diagnostics from the live runtime service. Never persisted or used to infer activation from session history.
117
+ */
118
+ export type IndexedSearchData = {
119
+ /**
120
+ * Indexed-search event variant discriminator.
121
+ */
122
+ kind: "status";
123
+ state: IndexedSearchState;
124
+ } | {
125
+ disabledReason?: IndexedSearchDisabledReason;
126
+ /**
127
+ * Whether the repository meets the automatic indexing file-count threshold, when known.
128
+ */
129
+ eligible?: boolean;
130
+ /**
131
+ * Startup failure details. May contain sensitive user data; restricted telemetry only.
132
+ */
133
+ errorMessage?: string;
134
+ /**
135
+ * Number of text files counted in the repository.
136
+ */
137
+ fileCount?: number;
138
+ /**
139
+ * Whether indexed search was explicitly enabled through the environment.
140
+ */
141
+ forcedByEnv: boolean;
142
+ /**
143
+ * Indexed-search event variant discriminator.
144
+ */
145
+ kind: "startup";
146
+ outcome: IndexedSearchOutcome;
147
+ /**
148
+ * Wall-clock duration of startup in milliseconds.
149
+ */
150
+ startupDurationMs: number;
151
+ /**
152
+ * Whether waiting for index readiness was requested, including skipped attempts.
153
+ */
154
+ warmStart: boolean;
155
+ } | {
156
+ /**
157
+ * Server failure details. May contain sensitive user data; restricted telemetry only.
158
+ */
159
+ errorMessage?: string;
160
+ errorType: IndexedSearchErrorType;
161
+ /**
162
+ * Process exit code, when available.
163
+ */
164
+ exitCode?: number;
165
+ /**
166
+ * Indexed-search event variant discriminator.
167
+ */
168
+ kind: "server_error";
169
+ } | {
170
+ /**
171
+ * Number of added files.
172
+ */
173
+ addedFileCount?: number;
174
+ /**
175
+ * Number of modified files.
176
+ */
177
+ changedFileCount?: number;
178
+ /**
179
+ * Number of deleted files.
180
+ */
181
+ deletedFileCount?: number;
182
+ /**
183
+ * Indexed-search event variant discriminator.
184
+ */
185
+ kind: "incremental";
186
+ phase: IndexedSearchIncrementalPhase;
187
+ /**
188
+ * Total number of detected changes.
189
+ */
190
+ totalChangeCount?: number;
191
+ /**
192
+ * Total incremental indexing duration in milliseconds.
193
+ */
194
+ totalDurationMs?: number;
195
+ /**
196
+ * Index update duration in milliseconds.
197
+ */
198
+ updateDurationMs?: number;
199
+ /**
200
+ * Workspace scan duration in milliseconds.
201
+ */
202
+ walkDurationMs?: number;
203
+ };
204
+ /**
205
+ * Live indexed-search state for this session activation, never inferred from persisted history.
206
+ */
207
+ export type IndexedSearchState =
208
+ /** Indexed search is not active for this session. */
209
+ "disabled"
210
+ /** Indexed-search startup is in progress. */
211
+ | "starting"
212
+ /** The indexed-search server started successfully; its index may still be warming. */
213
+ | "enabled"
214
+ /** The indexed-search server and its index are ready. */
215
+ | "ready"
216
+ /** Indexed-search startup or the active server failed. */
217
+ | "failed";
218
+ /**
219
+ * Configuration, policy, or workspace condition that disabled indexed search.
220
+ */
221
+ export type IndexedSearchDisabledReason =
222
+ /** Indexed search was explicitly disabled by the environment. */
223
+ "use_tgrep_false"
224
+ /** Search uses the external ripgrep binary instead of bundled search. */
225
+ | "use_builtin_ripgrep_false"
226
+ /** Organization policy disables indexed search. */
227
+ | "organization"
228
+ /** Authentication has not resolved organization policy. */
229
+ | "organization_policy_auth_pending"
230
+ /** Organization policy could not be determined. */
231
+ | "organization_policy_unknown"
232
+ /** The workspace uses a virtualized or network filesystem. */
233
+ | "virtual_filesystem"
234
+ /** The workspace is inside a Windows cloud-sync root. */
235
+ | "cloud_sync_root"
236
+ /** The Windows cloud-sync safety check failed. */
237
+ | "cloud_sync_detection_failed"
238
+ /** The workspace is not available on the runtime's local filesystem. */
239
+ | "workspace_not_local";
240
+ /**
241
+ * Result of an indexed-search startup attempt.
242
+ */
243
+ export type IndexedSearchOutcome =
244
+ /** A new indexed-search server was started. */
245
+ "started"
246
+ /** The repository has too few files for automatic indexing. */
247
+ | "skipped_below_threshold"
248
+ /** No Git repository was found and indexing was not forced. */
249
+ | "skipped_no_gitroot"
250
+ /** Configuration, policy, or workspace safety disabled indexing. */
251
+ | "skipped_disabled"
252
+ /** An existing indexed-search server was reused. */
253
+ | "reused_existing"
254
+ /** The startup attempt failed. */
255
+ | "failed";
256
+ /**
257
+ * Category of an indexed-search server failure.
258
+ */
259
+ export type IndexedSearchErrorType =
260
+ /** The indexed-search server could not be spawned. */
261
+ "spawn_error"
262
+ /** The indexed-search server exited unexpectedly. */
263
+ | "unexpected_exit"
264
+ /** The indexed-search server was terminated by a signal. */
265
+ | "killed_by_signal";
266
+ /**
267
+ * Phase of an incremental indexed-search update.
268
+ */
269
+ export type IndexedSearchIncrementalPhase =
270
+ /** A workspace scan found changes to index. */
271
+ "changes_detected"
272
+ /** The incremental index update completed. */
273
+ | "updated";
115
274
  /**
116
275
  * Origin of an effective session model change.
117
276
  */
@@ -136,8 +295,18 @@ export type ModelChangeSource =
136
295
  | "plan_mode"
137
296
  /** The runtime selected the model automatically, such as rate-limit recovery or refusal fallback. */
138
297
  | "automatic"
298
+ /** The user selected the promoted model from the changeboarding card or its keyboard shortcut. */
299
+ | "changeboarding_shortcut"
139
300
  /** An SDK or RPC caller selected the model. */
140
- | "sdk";
301
+ | "sdk"
302
+ /** The user accepted a CAPI-issued Auto tier recommendation. */
303
+ | "auto_tier_recommendation";
304
+ /**
305
+ * Why the session no longer has an explicitly selected model.
306
+ */
307
+ export type ModelDeselectedReason =
308
+ /** A host-managed provider snapshot no longer publishes the selected model. */
309
+ "provider_withdrawn";
141
310
  /**
142
311
  * Auto preferences that Copilot API can recommend.
143
312
  */
@@ -219,6 +388,94 @@ export type CompactionTrigger =
219
388
  | "memory_pressure"
220
389
  /** Compaction requested while switching to a model with a smaller context window. */
221
390
  | "model_switch";
391
+ /**
392
+ * Category of structured task blocker
393
+ */
394
+ export type TaskBlockerKind =
395
+ /** Autopilot permission recovery requires intervention or has no safe autonomous path. */
396
+ "permission_recovery";
397
+ /**
398
+ * Runtime handling applied to a recovery attempt
399
+ */
400
+ export type PermissionRecoveryAttemptDisposition =
401
+ /** The request was denied without prompting so the agent could try an alternative. */
402
+ "deferred"
403
+ /** The request was surfaced to an interactive responder. */
404
+ | "prompted"
405
+ /** The interactive responder approved the request. */
406
+ | "approved"
407
+ /** The interactive responder denied the request or became unavailable. */
408
+ | "denied"
409
+ /** The request exhausted unattended recovery and produced a blocked outcome. */
410
+ | "blocked"
411
+ /** A tool call succeeded as an equivalent alternative. */
412
+ | "succeeded";
413
+ /**
414
+ * Controlled reason for an individual attempt disposition
415
+ */
416
+ export type PermissionRecoveryAttemptReason =
417
+ /** The attempt required permission that Assisted Permissions could not grant. */
418
+ "permission_required"
419
+ /** The request repeated an earlier attempt. */
420
+ | "repeated_attempt"
421
+ /** The request exceeded the bounded number of distinct attempts. */
422
+ | "attempts_exhausted"
423
+ /** The interactive responder approved the request. */
424
+ | "permission_approved"
425
+ /** The interactive responder denied the request. */
426
+ | "permission_denied"
427
+ /** The interactive responder became unavailable. */
428
+ | "responder_unavailable"
429
+ /** The tool call succeeded without the blocked permission. */
430
+ | "equivalent_alternative_succeeded";
431
+ /**
432
+ * Relationship of an attempt to earlier permission requests
433
+ */
434
+ export type PermissionRecoveryAttemptRelation =
435
+ /** The first denied permission request in the episode. */
436
+ "initial"
437
+ /** A request equivalent to an earlier attempt. */
438
+ | "retry"
439
+ /** A distinct request or a successful alternative tool call. */
440
+ | "alternative";
441
+ /**
442
+ * Action selected when autonomous recovery cannot continue
443
+ */
444
+ export type PermissionRecoveryOnBlocked =
445
+ /** Surface the existing permission prompt to a response-capable client. */
446
+ "ask"
447
+ /** Return a structured unsuccessful blocked outcome because no responder is available. */
448
+ | "fail";
449
+ /**
450
+ * Controlled reason for a permission-recovery episode transition
451
+ */
452
+ export type PermissionRecoveryReason =
453
+ /** An action required permission that Assisted Permissions could not grant. */
454
+ "permission_required"
455
+ /** The agent repeated an equivalent permission request instead of making progress. */
456
+ | "repeated_attempt"
457
+ /** The bounded number of distinct permission attempts was exhausted. */
458
+ | "attempts_exhausted"
459
+ /** A responder approved the escalated permission request. */
460
+ | "permission_approved"
461
+ /** A responder denied the escalated permission request. */
462
+ | "permission_denied"
463
+ /** The response-capable client became unavailable while escalation was pending. */
464
+ | "responder_unavailable"
465
+ /** A later tool call succeeded without requiring the blocked permission. */
466
+ | "equivalent_alternative_succeeded";
467
+ /**
468
+ * Lifecycle state of a permission-recovery episode
469
+ */
470
+ export type PermissionRecoveryStatus =
471
+ /** Autopilot may try a bounded equivalent alternative. */
472
+ "recovering"
473
+ /** An interactive permission response is required. */
474
+ | "awaiting_approval"
475
+ /** The episode ended through approval or a successful equivalent alternative. */
476
+ | "resolved"
477
+ /** No autonomous path remains and the task requires intervention. */
478
+ | "blocked";
222
479
  /**
223
480
  * Semantic result of evaluating a task completion request
224
481
  */
@@ -628,7 +885,7 @@ export type SystemMessageRole =
628
885
  /**
629
886
  * Structured metadata identifying what triggered this notification
630
887
  */
631
- export type SystemNotification = SystemNotificationAgentCompleted | SystemNotificationAgentIdle | SystemNotificationNewInboxMessage | SystemNotificationShellCompleted | SystemNotificationShellDetachedCompleted | SystemNotificationInstructionDiscovered | SystemNotificationFactoryCompleted | SystemNotificationUnclassified;
888
+ export type SystemNotification = SystemNotificationAgentCompleted | SystemNotificationAgentIdle | SystemNotificationNewInboxMessage | SystemNotificationShellCompleted | SystemNotificationShellDetachedCompleted | SystemNotificationInstructionDiscovered | SystemNotificationWorkflowCompleted | SystemNotificationUnclassified;
632
889
  /**
633
890
  * Whether the agent completed successfully or failed
634
891
  */
@@ -638,11 +895,11 @@ export type SystemNotificationAgentCompletedStatus =
638
895
  /** The agent failed. */
639
896
  | "failed";
640
897
  /**
641
- * Durable metadata describing who initiated a factory pause.
898
+ * Durable metadata describing who initiated a workflow pause.
642
899
  */
643
- export type SystemNotificationFactoryPauseInfo = {
900
+ export type SystemNotificationWorkflowPauseInfo = {
644
901
  /**
645
- * Factory pause initiator discriminator.
902
+ * Workflow pause initiator discriminator.
646
903
  */
647
904
  type: "user";
648
905
  } | {
@@ -651,28 +908,28 @@ export type SystemNotificationFactoryPauseInfo = {
651
908
  */
652
909
  key: string;
653
910
  /**
654
- * Factory pause initiator discriminator.
911
+ * Workflow pause initiator discriminator.
655
912
  */
656
913
  type: "checkpoint";
657
914
  };
658
915
  /**
659
- * Terminal status reached by a factory execution attempt.
916
+ * Terminal status reached by a workflow execution attempt.
660
917
  */
661
- export type SystemNotificationFactoryCompletedStatus =
662
- /** The factory completed successfully. */
918
+ export type SystemNotificationWorkflowCompletedStatus =
919
+ /** The workflow completed successfully. */
663
920
  "completed"
664
- /** The factory was halted. */
921
+ /** The workflow was halted. */
665
922
  | "halted"
666
- /** The factory attempt paused intentionally. */
923
+ /** The workflow attempt paused intentionally. */
667
924
  | "paused"
668
- /** The factory was cancelled. */
925
+ /** The workflow was cancelled. */
669
926
  | "cancelled"
670
- /** The factory failed. */
927
+ /** The workflow failed. */
671
928
  | "error";
672
929
  /**
673
930
  * Details of the permission being requested
674
931
  */
675
- export type PermissionRequest = PermissionRequestShell | PermissionRequestWrite | PermissionRequestRead | PermissionRequestMcp | PermissionRequestUrl | PermissionRequestMemory | PermissionRequestCustomTool | PermissionRequestHook | PermissionRequestExtensionManagement | PermissionRequestFactory | PermissionRequestExtensionPermissionAccess | PermissionRequestExtensionEnvAccess;
932
+ export type PermissionRequest = PermissionRequestShell | PermissionRequestWrite | PermissionRequestRead | PermissionRequestMcp | PermissionRequestUrl | PermissionRequestMemory | PermissionRequestCustomTool | PermissionRequestHook | PermissionRequestExtensionManagement | PermissionRequestWorkflow | PermissionRequestExtensionPermissionAccess | PermissionRequestExtensionEnvAccess;
676
933
  /**
677
934
  * Advisory recommendation the runtime attaches to a permission request whose origin it can vouch for by construction. Unlike the auto-approval judge this does not depend on auto mode and does not evaluate what the tool call does; its absence simply means the runtime has no opinion and the request follows the host's normal approval flow.
678
935
  */
@@ -733,17 +990,17 @@ export type PermissionRequestMemoryScope =
733
990
  /** Store the memory for the current user. */
734
991
  | "user";
735
992
  /**
736
- * Operation gated by a factory permission request.
993
+ * Operation gated by a workflow permission request.
737
994
  */
738
- export type FactoryPermissionOperation =
739
- /** Running a registered factory, which spends subagents, active time, and AI credits under the approved limits. */
995
+ export type WorkflowPermissionOperation =
996
+ /** Running a registered workflow, which spends subagents, active time, and AI credits under the approved limits. */
740
997
  "run"
741
- /** Authoring a factory, which writes JavaScript into a session-scoped extension and loads it. */
998
+ /** Authoring a workflow, which writes JavaScript into a session-scoped extension and loads it. */
742
999
  | "author";
743
1000
  /**
744
1001
  * Derived user-facing permission prompt details for UI consumers
745
1002
  */
746
- export type PermissionPromptRequest = PermissionPromptRequestCommands | PermissionPromptRequestWrite | PermissionPromptRequestRead | PermissionPromptRequestMcp | PermissionPromptRequestUrl | PermissionPromptRequestMemory | PermissionPromptRequestCustomTool | PermissionPromptRequestPath | PermissionPromptRequestHook | PermissionPromptRequestExtensionManagement | PermissionPromptRequestFactory | PermissionPromptRequestExtensionPermissionAccess | PermissionPromptRequestExtensionEnvAccess;
1003
+ export type PermissionPromptRequest = PermissionPromptRequestCommands | PermissionPromptRequestWrite | PermissionPromptRequestRead | PermissionPromptRequestMcp | PermissionPromptRequestUrl | PermissionPromptRequestMemory | PermissionPromptRequestCustomTool | PermissionPromptRequestPath | PermissionPromptRequestHook | PermissionPromptRequestExtensionManagement | PermissionPromptRequestWorkflow | PermissionPromptRequestExtensionPermissionAccess | PermissionPromptRequestExtensionEnvAccess;
747
1004
  /**
748
1005
  * Underlying permission kind that needs path approval
749
1006
  */
@@ -766,7 +1023,7 @@ export type PermissionDecisionSource =
766
1023
  | "host_policy"
767
1024
  /** The host denied the request because no interactive user response was available. */
768
1025
  | "unattended_fallback"
769
- /** A live authorization record from an earlier human decision in this session contained the proposal, so it ran without another prompt. This is not a new human decision and never mints authority of its own. */
1026
+ /** Historical compatibility value for sessions created while authorization carry-forward was executable. Current runtimes do not produce this source. */
770
1027
  | "authorization_carry_forward";
771
1028
  /**
772
1029
  * The result of the permission request
@@ -775,15 +1032,15 @@ export type PermissionResult = PermissionApproved | PermissionApprovedForSession
775
1032
  /**
776
1033
  * The approval to add as a session-scoped rule
777
1034
  */
778
- export type UserToolSessionApproval = UserToolSessionApprovalCommands | UserToolSessionApprovalRead | UserToolSessionApprovalWrite | UserToolSessionApprovalMcp | UserToolSessionApprovalMemory | UserToolSessionApprovalCustomTool | UserToolSessionApprovalExtensionManagement | UserToolSessionApprovalFactory | UserToolSessionApprovalExtensionPermissionAccess | UserToolSessionApprovalExtensionEnvAccess;
1035
+ export type UserToolSessionApproval = UserToolSessionApprovalCommands | UserToolSessionApprovalRead | UserToolSessionApprovalWrite | UserToolSessionApprovalMcp | UserToolSessionApprovalMemory | UserToolSessionApprovalCustomTool | UserToolSessionApprovalExtensionManagement | UserToolSessionApprovalWorkflow | UserToolSessionApprovalExtensionPermissionAccess | UserToolSessionApprovalExtensionEnvAccess;
779
1036
  /**
780
- * Which direction a message-backed authorization claim moves authority in.
1037
+ * Direction stored in a historical extractor claim. Current runtimes do not apply it.
781
1038
  */
782
1039
  /** @experimental */
783
1040
  export type PermissionMessageAuthorizationPolarity =
784
- /** The human's words authorized an effect. */
1041
+ /** Historical claim recorded as a grant. */
785
1042
  "grant"
786
- /** The human's words refused an effect. */
1043
+ /** Historical claim recorded as a denial. */
787
1044
  | "denial";
788
1045
  /**
789
1046
  * Elicitation mode; "form" for structured input, "url" for browser-based. Defaults to "form" when absent.
@@ -951,10 +1208,10 @@ export type ExitPlanModeAction =
951
1208
  /** Exit plan mode and continue with parallel autonomous workers. */
952
1209
  | "autopilot_fleet";
953
1210
  /**
954
- * Terminal status a factory run committed. A settled run is never `pending` or `running`, so those two members of the run-status domain are deliberately absent.
1211
+ * Terminal status a workflow run committed. A settled run is never `pending` or `running`, so those two members of the run-status domain are deliberately absent.
955
1212
  */
956
- export type FactoryRunSettledStatus =
957
- /** The factory body resolved and its result was committed. */
1213
+ export type WorkflowRunSettledStatus =
1214
+ /** The workflow body resolved and its result was committed. */
958
1215
  "completed"
959
1216
  /** The run was stopped by a limit, an approval refusal or another policy decision. */
960
1217
  | "halted"
@@ -1706,6 +1963,36 @@ export interface InfoData {
1706
1963
  */
1707
1964
  url?: string;
1708
1965
  }
1966
+ /**
1967
+ * Session event "session.indexed_search". Transient indexed-search status and diagnostics from the live runtime service. Never persisted or used to infer activation from session history.
1968
+ */
1969
+ export interface IndexedSearchEvent {
1970
+ /**
1971
+ * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
1972
+ */
1973
+ agentId?: string;
1974
+ data: IndexedSearchData;
1975
+ /**
1976
+ * Always true for events that are transient and not persisted to the session event log on disk.
1977
+ */
1978
+ ephemeral: true;
1979
+ /**
1980
+ * Unique event identifier (UUID v4), generated when the event is emitted
1981
+ */
1982
+ id: string;
1983
+ /**
1984
+ * ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
1985
+ */
1986
+ parentId: string | null;
1987
+ /**
1988
+ * ISO 8601 timestamp when the event was created
1989
+ */
1990
+ timestamp: string;
1991
+ /**
1992
+ * Type discriminator. Always "session.indexed_search".
1993
+ */
1994
+ type: "session.indexed_search";
1995
+ }
1709
1996
  /**
1710
1997
  * Session event "session.warning". Warning message for timeline display with categorization
1711
1998
  */
@@ -1823,6 +2110,46 @@ export interface ModelChangeData {
1823
2110
  source?: ModelChangeSource;
1824
2111
  verbosity?: Verbosity;
1825
2112
  }
2113
+ /**
2114
+ * Session event "session.model_deselected". The model the user had explicitly selected is no longer available, because the host that published it withdrew it, so the session no longer has an explicit selection. The next turn resolves a default as though the user had never chosen a model. Clients should stop presenting the previous model as selected. This event is durable because resume rebuilds the selected model from the event log; without it a resumed session would restore a model its provider no longer serves. Reasoning effort, verbosity, and other session-level preferences are deliberately unchanged, because they belong to the session rather than to the model.
2115
+ */
2116
+ export interface ModelDeselectedEvent {
2117
+ /**
2118
+ * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
2119
+ */
2120
+ agentId?: string;
2121
+ data: ModelDeselectedData;
2122
+ /**
2123
+ * When true, the event is transient and not persisted to the session event log on disk
2124
+ */
2125
+ ephemeral?: boolean;
2126
+ /**
2127
+ * Unique event identifier (UUID v4), generated when the event is emitted
2128
+ */
2129
+ id: string;
2130
+ /**
2131
+ * ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
2132
+ */
2133
+ parentId: string | null;
2134
+ /**
2135
+ * ISO 8601 timestamp when the event was created
2136
+ */
2137
+ timestamp: string;
2138
+ /**
2139
+ * Type discriminator. Always "session.model_deselected".
2140
+ */
2141
+ type: "session.model_deselected";
2142
+ }
2143
+ /**
2144
+ * The model the user had explicitly selected is no longer available, because the host that published it withdrew it, so the session no longer has an explicit selection. The next turn resolves a default as though the user had never chosen a model. Clients should stop presenting the previous model as selected. This event is durable because resume rebuilds the selected model from the event log; without it a resumed session would restore a model its provider no longer serves. Reasoning effort, verbosity, and other session-level preferences are deliberately unchanged, because they belong to the session rather than to the model.
2145
+ */
2146
+ export interface ModelDeselectedData {
2147
+ /**
2148
+ * Model that was selected before the host withdrew it.
2149
+ */
2150
+ previousModel: string;
2151
+ reason: ModelDeselectedReason;
2152
+ }
1826
2153
  /**
1827
2154
  * Session event "session.auto_tier_recommendation". Live-only Auto preference recommendation from Copilot API after a successful Auto model call.
1828
2155
  */
@@ -2359,12 +2686,16 @@ export interface SnapshotRewindEvent {
2359
2686
  * Session rewind details including target event and count of removed events
2360
2687
  */
2361
2688
  export interface SnapshotRewindData {
2689
+ /**
2690
+ * The removed events, starting with `upToEventId`. Later events not listed were kept, such as a background agent's events that interleaved with a withdrawn turn
2691
+ */
2692
+ eventIds?: string[];
2362
2693
  /**
2363
2694
  * Number of events that were removed by the rewind
2364
2695
  */
2365
2696
  eventsRemoved: number;
2366
2697
  /**
2367
- * Event ID that was rewound to; this event and all after it were removed
2698
+ * First removed event. Without `eventIds`, it and every event after it were removed
2368
2699
  */
2369
2700
  upToEventId: string;
2370
2701
  }
@@ -2902,6 +3233,7 @@ export interface CompactionCompleteData {
2902
3233
  * GitHub request tracing ID (x-github-request-id header) for the compaction LLM call
2903
3234
  */
2904
3235
  requestId?: string;
3236
+ responsesReasoning?: ResponsesReasoning;
2905
3237
  /**
2906
3238
  * Copilot service request ID (x-copilot-service-request-id header) for the compaction LLM call
2907
3239
  */
@@ -2990,6 +3322,23 @@ export interface CompactionCompleteCompactionTokensUsedCopilotUsageTokenDetail {
2990
3322
  */
2991
3323
  tokenType: string;
2992
3324
  }
3325
+ /**
3326
+ * Original request-level and effective conversation reasoning effort for a provider history boundary; the historical type name is retained for compatibility
3327
+ */
3328
+ export interface ResponsesReasoning {
3329
+ /**
3330
+ * Effective effort selected before this message, independent of the response-level reasoning field
3331
+ */
3332
+ effort: string;
3333
+ /**
3334
+ * Original request-level effort, retained while replaying this conversation prefix
3335
+ */
3336
+ initialEffort: string;
3337
+ /**
3338
+ * Provider model whose reasoning settings this boundary records
3339
+ */
3340
+ model: string;
3341
+ }
2993
3342
  /**
2994
3343
  * Session event "session.task_complete". Task completion notification with summary from the agent
2995
3344
  */
@@ -3024,6 +3373,7 @@ export interface TaskCompleteEvent {
3024
3373
  * Task completion notification with summary from the agent
3025
3374
  */
3026
3375
  export interface TaskCompleteData {
3376
+ blocker?: TaskBlocker;
3027
3377
  /**
3028
3378
  * Active autopilot objective ID evaluated by the completion reviewer
3029
3379
  */
@@ -3042,6 +3392,64 @@ export interface TaskCompleteData {
3042
3392
  */
3043
3393
  summary?: string;
3044
3394
  }
3395
+ /**
3396
+ * Structured reason that the task cannot continue without intervention
3397
+ */
3398
+ /** @experimental */
3399
+ export interface TaskBlocker {
3400
+ kind: TaskBlockerKind;
3401
+ permissionRecovery: PermissionRecoveryData;
3402
+ reason: PermissionRecoveryReason;
3403
+ /**
3404
+ * Whether a later user response or steering message can resume the task
3405
+ */
3406
+ resumable: boolean;
3407
+ }
3408
+ /**
3409
+ * Authoritative snapshot of an Autopilot permission-recovery episode
3410
+ */
3411
+ export interface PermissionRecoveryData {
3412
+ /**
3413
+ * Ordered privacy-safe record of permission attempts and the successful alternative, when any
3414
+ */
3415
+ attempts: PermissionRecoveryAttempt[];
3416
+ /**
3417
+ * Stable identifier shared by every transition in this recovery episode
3418
+ */
3419
+ episodeId: string;
3420
+ /**
3421
+ * Maximum number of distinct autonomous permission attempts allowed before escalation
3422
+ */
3423
+ maxAttempts: number;
3424
+ onBlocked: PermissionRecoveryOnBlocked;
3425
+ reason: PermissionRecoveryReason;
3426
+ status: PermissionRecoveryStatus;
3427
+ }
3428
+ export interface PermissionRecoveryAttempt {
3429
+ /**
3430
+ * Unique identifier for this attempt record
3431
+ */
3432
+ attemptId: string;
3433
+ disposition: PermissionRecoveryAttemptDisposition;
3434
+ /**
3435
+ * One-based position of this attempt in the episode
3436
+ */
3437
+ ordinal: number;
3438
+ /**
3439
+ * Controlled permission request kind, such as shell, path, URL, or tool
3440
+ */
3441
+ permissionKind: string;
3442
+ reason: PermissionRecoveryAttemptReason;
3443
+ relation: PermissionRecoveryAttemptRelation;
3444
+ /**
3445
+ * SHA-256 fingerprint of normalized request data; raw permission arguments are not included
3446
+ */
3447
+ requestFingerprint: string;
3448
+ /**
3449
+ * Tool-call identifier associated with this attempt, when available
3450
+ */
3451
+ toolCallId?: string;
3452
+ }
3045
3453
  /**
3046
3454
  * Session event "session.completion_receipt". Behavior-neutral record of structured runtime facts present when an agent completion decision is accepted.
3047
3455
  */
@@ -3288,6 +3696,12 @@ export interface FusionResolvedData {
3288
3696
  * Version of the validated HydraFusion event contract.
3289
3697
  */
3290
3698
  contractVersion: number;
3699
+ /**
3700
+ * Planned Critique phase identities, including independent critics with repeated model IDs. May be absent in older events; consumers then use secondaryModel for the legacy critic.
3701
+ *
3702
+ * @experimental
3703
+ */
3704
+ critics?: FusionCritic[];
3291
3705
  /**
3292
3706
  * Concrete model used when the planned primary model cannot execute.
3293
3707
  */
@@ -3301,6 +3715,18 @@ export interface FusionResolvedData {
3301
3715
  * Stable identifier for the resolved HydraFusion turn.
3302
3716
  */
3303
3717
  fusionId: string;
3718
+ /**
3719
+ * Short human-readable summary of the selected workflow, suitable for immediate client display after routing. May be absent in older durable events; omit the explanation or derive one from pattern and phasePlan. Display text, not a stable machine-readable value.
3720
+ *
3721
+ * @experimental
3722
+ */
3723
+ hint?: string;
3724
+ /**
3725
+ * Concrete model selected for Cascade escalation-gate calls, when required.
3726
+ *
3727
+ * @experimental
3728
+ */
3729
+ judgeModel?: string;
3304
3730
  /**
3305
3731
  * Version of the executable model universe used for selection.
3306
3732
  */
@@ -3328,6 +3754,12 @@ export interface FusionResolvedData {
3328
3754
  * Concrete model selected for the primary solver phase.
3329
3755
  */
3330
3756
  primaryModel: string;
3757
+ /**
3758
+ * Concrete model selected for Cascade repair, when required.
3759
+ *
3760
+ * @experimental
3761
+ */
3762
+ repairModel?: string;
3331
3763
  /**
3332
3764
  * Router implementation that supplied the plan.
3333
3765
  */
@@ -3350,7 +3782,7 @@ export interface FusionResolvedData {
3350
3782
  ruleName?: string;
3351
3783
  scores?: FusionScores;
3352
3784
  /**
3353
- * Concrete model selected for the review or judge phase, when required.
3785
+ * Concrete model selected for Critique review, or the legacy Cascade judge/repair model when role-specific fields are absent.
3354
3786
  */
3355
3787
  secondaryModel: string | null;
3356
3788
  /**
@@ -3362,6 +3794,27 @@ export interface FusionResolvedData {
3362
3794
  */
3363
3795
  turnId: string;
3364
3796
  }
3797
+ /** @experimental */
3798
+ export interface FusionCritic {
3799
+ /**
3800
+ * Concrete model selected for this critic.
3801
+ *
3802
+ * @experimental
3803
+ */
3804
+ model: string;
3805
+ /**
3806
+ * Unique execution phase identifier for this critic.
3807
+ *
3808
+ * @experimental
3809
+ */
3810
+ phaseId: string;
3811
+ /**
3812
+ * Explicit reasoning effort selected for this critic, if supplied.
3813
+ *
3814
+ * @experimental
3815
+ */
3816
+ reasoningEffort?: string;
3817
+ }
3365
3818
  /**
3366
3819
  * Durable server recommendation for subsequent HydraFusion turns.
3367
3820
  */
@@ -3514,6 +3967,36 @@ export interface FusionCompletedData {
3514
3967
  */
3515
3968
  turnId: string;
3516
3969
  }
3970
+ /**
3971
+ * Session event "session.permission_recovery". Authoritative snapshot of an Autopilot permission-recovery episode
3972
+ */
3973
+ export interface PermissionRecoveryEvent {
3974
+ /**
3975
+ * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
3976
+ */
3977
+ agentId?: string;
3978
+ data: PermissionRecoveryData;
3979
+ /**
3980
+ * When true, the event is transient and not persisted to the session event log on disk
3981
+ */
3982
+ ephemeral?: boolean;
3983
+ /**
3984
+ * Unique event identifier (UUID v4), generated when the event is emitted
3985
+ */
3986
+ id: string;
3987
+ /**
3988
+ * ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
3989
+ */
3990
+ parentId: string | null;
3991
+ /**
3992
+ * ISO 8601 timestamp when the event was created
3993
+ */
3994
+ timestamp: string;
3995
+ /**
3996
+ * Type discriminator. Always "session.permission_recovery".
3997
+ */
3998
+ type: "session.permission_recovery";
3999
+ }
3517
4000
  /**
3518
4001
  * Session event "user.message". Payload of `user.message` with displayed and model-transformed content, attachments, source/delivery metadata, mode, and telemetry IDs.
3519
4002
  */
@@ -3578,6 +4061,7 @@ export interface UserMessageData {
3578
4061
  * Parent agent task ID for background telemetry correlated to this user turn
3579
4062
  */
3580
4063
  parentAgentTaskId?: string;
4064
+ responsesReasoning?: ResponsesReasoning;
3581
4065
  /**
3582
4066
  * Origin of this message, used for timeline filtering and attribution (e.g., `skill-pdf` for hidden skill injection or `agent-<agent-id>` for an inter-agent prompt)
3583
4067
  */
@@ -4110,6 +4594,10 @@ export interface AssistantTurnStartData {
4110
4594
  * Model identifier used for this turn, when known
4111
4595
  */
4112
4596
  model?: string;
4597
+ /**
4598
+ * Parent task tool call ID when this turn belongs to a sub-agent
4599
+ */
4600
+ parentToolCallId?: string;
4113
4601
  /**
4114
4602
  * Identifier for this turn within the agentic loop, typically a stringified turn number
4115
4603
  */
@@ -4205,6 +4693,12 @@ export interface FusionPhaseStartedData {
4205
4693
  */
4206
4694
  phaseId: string;
4207
4695
  phaseKind: FusionPhaseKind;
4696
+ /**
4697
+ * Explicit reasoning effort selected for this phase, if supplied.
4698
+ *
4699
+ * @experimental
4700
+ */
4701
+ reasoningEffort?: string;
4208
4702
  /**
4209
4703
  * Semantic role assigned to the phase.
4210
4704
  */
@@ -4329,6 +4823,12 @@ export interface FusionPhaseCompletedData {
4329
4823
  */
4330
4824
  phaseId: string;
4331
4825
  phaseKind: FusionPhaseKind;
4826
+ /**
4827
+ * Explicit reasoning effort selected for this phase, if supplied.
4828
+ *
4829
+ * @experimental
4830
+ */
4831
+ reasoningEffort?: string;
4332
4832
  /**
4333
4833
  * Semantic role assigned to the completed phase.
4334
4834
  */
@@ -4436,6 +4936,12 @@ export interface FusionPhaseFailedData {
4436
4936
  * Stable machine-readable reason for the phase failure.
4437
4937
  */
4438
4938
  reason: string;
4939
+ /**
4940
+ * Explicit reasoning effort selected for this phase, if supplied.
4941
+ *
4942
+ * @experimental
4943
+ */
4944
+ reasoningEffort?: string;
4439
4945
  /**
4440
4946
  * Semantic role assigned to the failed phase.
4441
4947
  */
@@ -4946,6 +5452,10 @@ export interface FusionAttribution {
4946
5452
  * Stable identifier for the HydraFusion turn that produced the event.
4947
5453
  */
4948
5454
  fusionId: string;
5455
+ /**
5456
+ * Whether this model request consumed a user steering message rather than only internal Fusion work.
5457
+ */
5458
+ hasUserSteering?: boolean;
4949
5459
  /**
4950
5460
  * HydraFusion orchestration pattern selected for the turn.
4951
5461
  */
@@ -5195,6 +5705,10 @@ export interface AssistantTurnEndData {
5195
5705
  * Model identifier used for this turn, when known
5196
5706
  */
5197
5707
  model?: string;
5708
+ /**
5709
+ * Parent task tool call ID when this turn belongs to a sub-agent
5710
+ */
5711
+ parentToolCallId?: string;
5198
5712
  /**
5199
5713
  * Identifier of the turn that has ended, matching the corresponding assistant.turn_start event
5200
5714
  */
@@ -5528,6 +6042,10 @@ export interface ModelCallFailureData {
5528
6042
  * Model identifier used for the failed API call
5529
6043
  */
5530
6044
  model?: string;
6045
+ /**
6046
+ * Parent task tool call ID when this failed model call belongs to a sub-agent
6047
+ */
6048
+ parentToolCallId?: string;
5531
6049
  /**
5532
6050
  * GitHub request tracing ID (x-github-request-id header) for server-side log correlation
5533
6051
  */
@@ -5809,6 +6327,10 @@ export interface ToolExecutionStartData {
5809
6327
  * Name of the tool being executed
5810
6328
  */
5811
6329
  toolName: string;
6330
+ /**
6331
+ * Human-readable display title for the tool, when the selected tool descriptor has a non-empty title.
6332
+ */
6333
+ toolTitle?: string;
5812
6334
  /**
5813
6335
  * Identifier for the agent loop turn this tool was invoked in, matching the corresponding assistant.turn_start event
5814
6336
  */
@@ -6640,6 +7162,10 @@ export interface SkillInvokedData {
6640
7162
  * Whether model invocation is disabled for this skill
6641
7163
  */
6642
7164
  disableModelInvocation?: boolean;
7165
+ /**
7166
+ * Projected chat-message count when the skill was invoked. New writers persist this so replay does not need to reconstruct superseded history; readers derive it for legacy events when absent.
7167
+ */
7168
+ invokedAtTurn?: number;
6643
7169
  /**
6644
7170
  * Model identifier active when the skill was invoked, when known
6645
7171
  */
@@ -6721,7 +7247,7 @@ export interface SubagentStartedData {
6721
7247
  */
6722
7248
  executionMode?: string;
6723
7249
  /**
6724
- * Root id of the factory run that spawned this sub-agent, when it was spawned by one.
7250
+ * Legacy root id of the workflow run that spawned this sub-agent. New consumers should use workflowRunId.
6725
7251
  */
6726
7252
  factoryRunId?: string;
6727
7253
  /**
@@ -6742,6 +7268,10 @@ export interface SubagentStartedData {
6742
7268
  * Tool call ID of the parent tool invocation that spawned this sub-agent
6743
7269
  */
6744
7270
  toolCallId: string;
7271
+ /**
7272
+ * Root id of the workflow run that spawned this sub-agent, when it was spawned by one.
7273
+ */
7274
+ workflowRunId?: string;
6745
7275
  }
6746
7276
  /**
6747
7277
  * Session event "subagent.configured". Resolved runtime configuration for a configured sub-agent
@@ -7328,6 +7858,10 @@ export interface SystemMessageData {
7328
7858
  * The system or developer prompt text sent as model input
7329
7859
  */
7330
7860
  content: string;
7861
+ /**
7862
+ * Optional ordered structured blocks corresponding to content, retained for prompt-cache layout restoration.
7863
+ */
7864
+ contentBlocks?: SystemMessageContentBlock[];
7331
7865
  /**
7332
7866
  * Logical interaction identifier for the model run receiving this prompt
7333
7867
  */
@@ -7339,12 +7873,29 @@ export interface SystemMessageData {
7339
7873
  name?: string;
7340
7874
  role: SystemMessageRole;
7341
7875
  }
7876
+ /**
7877
+ * One persisted structured system-message block and its cache intent
7878
+ */
7879
+ export interface SystemMessageContentBlock {
7880
+ /**
7881
+ * Explicit prompt-cache intent. True places a breakpoint after this block, false suppresses one, and absence preserves the provider's legacy default.
7882
+ */
7883
+ cacheBreakpoint?: boolean;
7884
+ /**
7885
+ * Text content for this system-message block.
7886
+ */
7887
+ content: string;
7888
+ /**
7889
+ * Diagnostic classification indicating whether the block is stable across equivalent sessions.
7890
+ */
7891
+ isStatic?: boolean;
7892
+ }
7342
7893
  /**
7343
7894
  * Metadata about the prompt template and its construction
7344
7895
  */
7345
7896
  export interface SystemMessageMetadata {
7346
7897
  /**
7347
- * Version identifier of the prompt template used
7898
+ * Version identifier of the prompt template or structured prompt layout used
7348
7899
  */
7349
7900
  promptVersion?: string;
7350
7901
  /**
@@ -7393,6 +7944,7 @@ export interface SystemNotificationData {
7393
7944
  */
7394
7945
  content: string;
7395
7946
  kind: SystemNotification;
7947
+ responsesReasoning?: ResponsesReasoning;
7396
7948
  }
7397
7949
  /**
7398
7950
  * System notification metadata for a background agent that completed or failed, including agent ID, type, status, description, and prompt.
@@ -7538,9 +8090,9 @@ export interface SystemNotificationInstructionDiscovered {
7538
8090
  type: "instruction_discovered";
7539
8091
  }
7540
8092
  /**
7541
- * System notification metadata for a factory execution attempt that reached a terminal state.
8093
+ * System notification metadata for a workflow execution attempt that reached a terminal state.
7542
8094
  */
7543
- export interface SystemNotificationFactoryCompleted {
8095
+ export interface SystemNotificationWorkflowCompleted {
7544
8096
  /**
7545
8097
  * Execution attempt that reached this terminal state.
7546
8098
  */
@@ -7557,32 +8109,32 @@ export interface SystemNotificationFactoryCompleted {
7557
8109
  * Accumulated active execution time in milliseconds.
7558
8110
  */
7559
8111
  elapsedMs: number;
7560
- /**
7561
- * Persisted factory name.
7562
- */
7563
- factoryName: string;
7564
8112
  /**
7565
8113
  * Machine-readable terminal failure details, when present.
7566
8114
  */
7567
8115
  failure?: JsonValue;
7568
- pauseInfo?: SystemNotificationFactoryPauseInfo;
8116
+ pauseInfo?: SystemNotificationWorkflowPauseInfo;
7569
8117
  /**
7570
8118
  * Bounded prompt-safe preview of the completed result.
7571
8119
  */
7572
8120
  resultPreview?: string;
7573
8121
  /**
7574
- * Actionable run_factory resume guidance for a resource-limit failure.
8122
+ * Actionable run_dynamic_workflow resume guidance for a resource-limit failure.
7575
8123
  */
7576
8124
  retryGuidance?: string;
7577
8125
  /**
7578
- * Factory run identifier.
8126
+ * Workflow run identifier.
7579
8127
  */
7580
8128
  runId: string;
7581
- status: SystemNotificationFactoryCompletedStatus;
8129
+ status: SystemNotificationWorkflowCompletedStatus;
8130
+ /**
8131
+ * Type discriminator. Always "workflow_completed".
8132
+ */
8133
+ type: "workflow_completed";
7582
8134
  /**
7583
- * Type discriminator. Always "factory_completed".
8135
+ * Persisted workflow name.
7584
8136
  */
7585
- type: "factory_completed";
8137
+ workflowName: string;
7586
8138
  }
7587
8139
  /**
7588
8140
  * System notification metadata from an external host that does not match a runtime-owned notification kind.
@@ -7632,8 +8184,13 @@ export interface PermissionRequestedEvent {
7632
8184
  */
7633
8185
  export interface PermissionRequestedData {
7634
8186
  agentMode?: SessionMode;
8187
+ permissionMode?: PermissionMode;
7635
8188
  permissionRequest: PermissionRequest;
7636
8189
  promptRequest?: PermissionPromptRequest;
8190
+ /**
8191
+ * Permission-recovery episode that authorized this request to surface for interactive attention
8192
+ */
8193
+ recoveryEpisodeId?: string;
7637
8194
  /**
7638
8195
  * Unique identifier for this permission request; used to respond via session.respondToPermission()
7639
8196
  */
@@ -7974,6 +8531,7 @@ export interface PermissionRequestMemory {
7974
8531
  */
7975
8532
  /** @experimental */
7976
8533
  export interface PermissionAssistedApproval {
8534
+ evaluation?: PermissionApprovalEvaluation;
7977
8535
  failureReason?: AssistedApprovalJudgeFailureReason;
7978
8536
  /**
7979
8537
  * Model id that produced the recommendation, when the judge was consulted and reported one. Absent for `excluded` (the judge was not consulted) and for failures that occurred before a model was selected.
@@ -7985,6 +8543,95 @@ export interface PermissionAssistedApproval {
7985
8543
  reason?: string;
7986
8544
  recommendation: AssistedApprovalRecommendation;
7987
8545
  }
8546
+ /**
8547
+ * Bounded runtime attribution, independent of free-text rationale. Telemetry revalidates this vocabulary before standard collection.
8548
+ */
8549
+ export interface PermissionApprovalEvaluation {
8550
+ /**
8551
+ * Stage that produced this attribution.
8552
+ */
8553
+ evaluationStage: "unknown"
8554
+ /** The request resolved before assisted-approval evaluation. */
8555
+ | "not_reached"
8556
+ /** A runtime gate skipped the judge. */
8557
+ | "pre_judge"
8558
+ /** The judge interface produced the evaluation. */
8559
+ | "judge"
8560
+ /** A cached recommendation or another request's outcome was reused. */
8561
+ | "reuse";
8562
+ /**
8563
+ * Whether the request invoked the judge interface. A cached recommendation retains the original attempt fact. Omitted means unknown, including inherited outcomes.
8564
+ */
8565
+ judgeAttempted?: boolean;
8566
+ /**
8567
+ * Status of the local judge interface, not proof of a model network call.
8568
+ */
8569
+ judgeStatus: "unknown"
8570
+ /** This evaluation did not invoke the judge interface. */
8571
+ | "not_called"
8572
+ /** The judge interface returned a usable verdict. */
8573
+ | "completed"
8574
+ /** The judge interface returned an error. */
8575
+ | "failed"
8576
+ /** This evaluation reused a cached recommendation. */
8577
+ | "cached"
8578
+ /** This request inherited another decision without local judge attribution. */
8579
+ | "inherited";
8580
+ /**
8581
+ * Machine-readable runtime gate reason, never a command, path or human rationale.
8582
+ */
8583
+ reasonCode: "unknown"
8584
+ /** The request resolved before assisted-approval evaluation. */
8585
+ | "not-reached"
8586
+ /** Assisted approval was inactive for this request. */
8587
+ | "inactive"
8588
+ /** The judge was skipped because authorization extraction could not safely establish a complete recent history. */
8589
+ | "authorization-history-incomplete"
8590
+ /** Managed policy required a human decision. */
8591
+ | "managed-approval-required"
8592
+ /** The request asked to bypass sandbox restrictions. */
8593
+ | "sandbox-bypass"
8594
+ /** An action field exceeded the judge input limit. */
8595
+ | "action-too-long"
8596
+ /** The script path was not authorized for inspection. */
8597
+ | "path-not-authorized"
8598
+ /** The script working directory was invalid. */
8599
+ | "invalid-working-directory"
8600
+ /** The script snapshot could not be read. */
8601
+ | "unreadable"
8602
+ /** The script path was not a regular file. */
8603
+ | "not-regular-file"
8604
+ /** The script snapshot exceeded the size limit. */
8605
+ | "too-large"
8606
+ /** The script snapshot was not UTF-8. */
8607
+ | "non-utf8"
8608
+ /** The script interpreter could not be inspected. */
8609
+ | "interpreter-unavailable"
8610
+ /** The interpreter snapshot exceeded the size limit. */
8611
+ | "interpreter-too-large"
8612
+ /** The shell environment could not be reviewed. */
8613
+ | "shell-environment-unreviewable"
8614
+ /** A script path could not be represented for review. */
8615
+ | "unrepresentable-path"
8616
+ /** An interpreter wrapped a script that could not be reviewed. */
8617
+ | "interpreter-wrapped-script"
8618
+ /** The script invocation could not be reviewed. */
8619
+ | "unreviewable-script-invocation"
8620
+ /** The script argument binding could not be reviewed. */
8621
+ | "argument-binding-unreviewable"
8622
+ /** The script review metadata was malformed. */
8623
+ | "malformed-script-action-review"
8624
+ /** The script snapshot manifest was malformed. */
8625
+ | "malformed-script-action-manifest"
8626
+ /** Script review was unavailable. */
8627
+ | "unavailable"
8628
+ /** The judge interface returned a usable verdict. */
8629
+ | "judge-verdict"
8630
+ /** The judge interface returned an error. */
8631
+ | "judge-error"
8632
+ /** The request inherited an outcome from another decision. */
8633
+ | "inherited";
8634
+ }
7988
8635
  /**
7989
8636
  * Custom tool invocation permission request
7990
8637
  */
@@ -8061,41 +8708,45 @@ export interface PermissionRequestExtensionManagement {
8061
8708
  toolCallId?: string;
8062
8709
  }
8063
8710
  /**
8064
- * Factory run or authoring permission request
8711
+ * Workflow run or authoring permission request
8065
8712
  */
8066
- export interface PermissionRequestFactory {
8713
+ export interface PermissionRequestWorkflow {
8067
8714
  /**
8068
- * Canonical key used for scoped factory approvals
8715
+ * Canonical key used for scoped workflow approvals
8069
8716
  */
8070
8717
  approvalKey: string;
8071
8718
  /**
8072
- * Whether this factory is eligible for persistent approval
8719
+ * Whether this workflow is eligible for persistent approval
8073
8720
  */
8074
8721
  canPersistApproval: boolean;
8075
8722
  /**
8076
- * Factory-declared AI-credit limit before any run/resume caller override is applied.
8723
+ * Workflow-declared AI-credit limit before any run/resume caller override is applied.
8077
8724
  */
8078
8725
  declaredMaxAiCredits?: number;
8079
8726
  /**
8080
- * Factory-declared concurrent-subagent limit before any run/resume caller override is applied.
8727
+ * Workflow-declared concurrent-subagent limit before any run/resume caller override is applied.
8081
8728
  */
8082
8729
  declaredMaxConcurrentSubagents?: number;
8083
8730
  /**
8084
- * Factory-declared total-subagent limit before any run/resume caller override is applied.
8731
+ * Workflow-declared total-subagent limit before any run/resume caller override is applied.
8085
8732
  */
8086
8733
  declaredMaxTotalSubagents?: number;
8087
8734
  /**
8088
- * Factory-declared active-time limit in seconds before any run/resume caller override is applied.
8735
+ * Workflow-declared active-time limit in seconds before any run/resume caller override is applied.
8089
8736
  */
8090
8737
  declaredTimeoutSeconds?: number;
8091
8738
  /**
8092
- * Factory description
8739
+ * Workflow description
8093
8740
  */
8094
8741
  description: string;
8095
8742
  /**
8096
8743
  * Permission kind discriminator
8097
8744
  */
8098
- kind: "factory";
8745
+ kind: "workflow";
8746
+ /**
8747
+ * Whether managed policy requires a human response and forbids host auto-approval
8748
+ */
8749
+ managedApprovalRequired?: boolean;
8099
8750
  /**
8100
8751
  * Effective AI-credit limit; omitted means unlimited
8101
8752
  */
@@ -8109,14 +8760,14 @@ export interface PermissionRequestFactory {
8109
8760
  */
8110
8761
  maxTotalSubagents?: number;
8111
8762
  /**
8112
- * Factory name
8763
+ * Workflow name
8113
8764
  */
8114
8765
  name: string;
8115
- operation: FactoryPermissionOperation;
8766
+ operation: WorkflowPermissionOperation;
8116
8767
  /**
8117
- * Declared factory phases
8768
+ * Declared workflow phases
8118
8769
  */
8119
- phases: FactoryPermissionPhase[];
8770
+ phases: WorkflowPermissionPhase[];
8120
8771
  /**
8121
8772
  * Effective active-time limit in seconds; omitted means unlimited
8122
8773
  */
@@ -8127,9 +8778,9 @@ export interface PermissionRequestFactory {
8127
8778
  toolCallId?: string;
8128
8779
  }
8129
8780
  /**
8130
- * A declared phase shown in a factory permission prompt.
8781
+ * A declared phase shown in a workflow permission prompt.
8131
8782
  */
8132
- export interface FactoryPermissionPhase {
8783
+ export interface WorkflowPermissionPhase {
8133
8784
  /**
8134
8785
  * Optional phase detail
8135
8786
  */
@@ -8563,11 +9214,11 @@ export interface PermissionPromptRequestExtensionManagement {
8563
9214
  toolCallId?: string;
8564
9215
  }
8565
9216
  /**
8566
- * Factory run or authoring permission prompt
9217
+ * Workflow run or authoring permission prompt
8567
9218
  */
8568
- export interface PermissionPromptRequestFactory {
9219
+ export interface PermissionPromptRequestWorkflow {
8569
9220
  /**
8570
- * Canonical key used for scoped factory approvals
9221
+ * Canonical key used for scoped workflow approvals
8571
9222
  */
8572
9223
  approvalKey: string;
8573
9224
  /**
@@ -8577,33 +9228,33 @@ export interface PermissionPromptRequestFactory {
8577
9228
  */
8578
9229
  assistedApproval?: PermissionAssistedApproval;
8579
9230
  /**
8580
- * Whether this factory is eligible for persistent approval
9231
+ * Whether this workflow is eligible for persistent approval
8581
9232
  */
8582
9233
  canPersistApproval: boolean;
8583
9234
  /**
8584
- * Factory-declared AI-credit limit before any run/resume caller override is applied.
9235
+ * Workflow-declared AI-credit limit before any run/resume caller override is applied.
8585
9236
  */
8586
9237
  declaredMaxAiCredits?: number;
8587
9238
  /**
8588
- * Factory-declared concurrent-subagent limit before any run/resume caller override is applied.
9239
+ * Workflow-declared concurrent-subagent limit before any run/resume caller override is applied.
8589
9240
  */
8590
9241
  declaredMaxConcurrentSubagents?: number;
8591
9242
  /**
8592
- * Factory-declared total-subagent limit before any run/resume caller override is applied.
9243
+ * Workflow-declared total-subagent limit before any run/resume caller override is applied.
8593
9244
  */
8594
9245
  declaredMaxTotalSubagents?: number;
8595
9246
  /**
8596
- * Factory-declared active-time limit in seconds before any run/resume caller override is applied.
9247
+ * Workflow-declared active-time limit in seconds before any run/resume caller override is applied.
8597
9248
  */
8598
9249
  declaredTimeoutSeconds?: number;
8599
9250
  /**
8600
- * Factory description
9251
+ * Workflow description
8601
9252
  */
8602
9253
  description: string;
8603
9254
  /**
8604
9255
  * Prompt kind discriminator
8605
9256
  */
8606
- kind: "factory";
9257
+ kind: "workflow";
8607
9258
  /**
8608
9259
  * Whether managed policy requires a human response and forbids host auto-approval
8609
9260
  */
@@ -8621,14 +9272,14 @@ export interface PermissionPromptRequestFactory {
8621
9272
  */
8622
9273
  maxTotalSubagents?: number;
8623
9274
  /**
8624
- * Factory name
9275
+ * Workflow name
8625
9276
  */
8626
9277
  name: string;
8627
- operation: FactoryPermissionOperation;
9278
+ operation: WorkflowPermissionOperation;
8628
9279
  /**
8629
- * Declared factory phases
9280
+ * Declared workflow phases
8630
9281
  */
8631
- phases: FactoryPermissionPhase[];
9282
+ phases: WorkflowPermissionPhase[];
8632
9283
  /**
8633
9284
  * Effective active-time limit in seconds; omitted means unlimited
8634
9285
  */
@@ -8728,12 +9379,17 @@ export interface PermissionCompletedEvent {
8728
9379
  * Permission request completion notification signaling UI dismissal
8729
9380
  */
8730
9381
  export interface PermissionCompletedData {
9382
+ blocker?: TaskBlocker;
8731
9383
  /**
8732
9384
  * Who decided this permission request. Absent on completions recorded before this field existed, which consumers must treat as "not a human decision" rather than assuming one. Authorization records are minted only for `human_response`; an assisted-approval verdict, a host policy, an unattended fallback, and a hook resolution all produce the same `result` a person does, so this is the only field that distinguishes them.
8733
9385
  *
8734
9386
  * @experimental
8735
9387
  */
8736
9388
  decisionSource?: PermissionDecisionSource;
9389
+ /**
9390
+ * Permission-recovery episode settled by this response, when the request was escalated by Autopilot
9391
+ */
9392
+ recoveryEpisodeId?: string;
8737
9393
  /**
8738
9394
  * Request ID of the resolved permission request; clients should dismiss any UI for this request
8739
9395
  */
@@ -8855,17 +9511,17 @@ export interface UserToolSessionApprovalExtensionManagement {
8855
9511
  operation?: string;
8856
9512
  }
8857
9513
  /**
8858
- * Session-scoped factory approval, optionally narrowed by approval key.
9514
+ * Session-scoped workflow approval, optionally narrowed by approval key.
8859
9515
  */
8860
- export interface UserToolSessionApprovalFactory {
9516
+ export interface UserToolSessionApprovalWorkflow {
8861
9517
  /**
8862
- * Optional factory operation name or canonical approval key
9518
+ * Optional workflow operation name or canonical approval key
8863
9519
  */
8864
9520
  approvalKey?: string;
8865
9521
  /**
8866
- * Factory approval kind
9522
+ * Workflow approval kind
8867
9523
  */
8868
- kind: "factory";
9524
+ kind: "workflow";
8869
9525
  }
8870
9526
  /**
8871
9527
  * Session-scoped tool-approval rule for an extension's permission-gated capability access, keyed by extension name.
@@ -9017,7 +9673,7 @@ export interface PermissionDeniedByPermissionRequestHook {
9017
9673
  message?: string;
9018
9674
  }
9019
9675
  /**
9020
- * Session event "permission.carriedForward". Records that a live authorization record from an earlier human decision in this session contained a permission proposal, so it ran without another prompt. This mints no authority: it accounts for one more effect against the prior grant, which is what lets a replayed session agree with the live one about how much of that grant is left.
9676
+ * Session event "permission.carriedForward". Historical decode-only receipt from the retired Assisted Permissions authorization extractor. Current runtimes ignore it for permission decisions.
9021
9677
  */
9022
9678
  /** @experimental */
9023
9679
  export interface PermissionCarriedForwardEvent {
@@ -9048,7 +9704,7 @@ export interface PermissionCarriedForwardEvent {
9048
9704
  type: "permission.carriedForward";
9049
9705
  }
9050
9706
  /**
9051
- * Records that a live authorization record from an earlier human decision in this session contained a permission proposal, so it ran without another prompt. This mints no authority: it accounts for one more effect against the prior grant, which is what lets a replayed session agree with the live one about how much of that grant is left.
9707
+ * Historical decode-only receipt from the retired Assisted Permissions authorization extractor. Current runtimes ignore it for permission decisions.
9052
9708
  */
9053
9709
  /** @experimental */
9054
9710
  export interface PermissionCarriedForwardData {
@@ -9078,7 +9734,7 @@ export interface PermissionCarriedForwardData {
9078
9734
  toolCallId: string;
9079
9735
  }
9080
9736
  /**
9081
- * Session event "permission.messageAuthorization". Freezes one blinded, verbatim-verified authorization claim the runtime minted from a human user message, so a resumed session re-establishes the same grant deterministically instead of re-running the extraction model. This mints no authority on its own: it records what a blinded proposer pointed at and the trusted discriminator the runtime established, and deterministic establishment runs on replay. Persisted so recorded authority survives compaction and process resume.
9737
+ * Session event "permission.messageAuthorization". Historical decode-only claim from the retired Assisted Permissions authorization extractor. Current runtimes preserve the payload but do not establish authority from it.
9082
9738
  */
9083
9739
  /** @experimental */
9084
9740
  export interface PermissionMessageAuthorizationEvent {
@@ -9109,7 +9765,7 @@ export interface PermissionMessageAuthorizationEvent {
9109
9765
  type: "permission.messageAuthorization";
9110
9766
  }
9111
9767
  /**
9112
- * Freezes one blinded, verbatim-verified authorization claim the runtime minted from a human user message, so a resumed session re-establishes the same grant deterministically instead of re-running the extraction model. This mints no authority on its own: it records what a blinded proposer pointed at and the trusted discriminator the runtime established, and deterministic establishment runs on replay. Persisted so recorded authority survives compaction and process resume.
9768
+ * Historical decode-only claim from the retired Assisted Permissions authorization extractor. Current runtimes preserve the payload but do not establish authority from it.
9113
9769
  */
9114
9770
  /** @experimental */
9115
9771
  export interface PermissionMessageAuthorizationData {
@@ -9169,7 +9825,7 @@ export interface PermissionMessageAuthorizationData {
9169
9825
  world?: JsonValue;
9170
9826
  }
9171
9827
  /**
9172
- * Session event "permission.messageAuthorizationRead". Records that one human turn has been read by the blinded authorization proposer, whether or not it minted anything, so a resumed session does not re-run the extraction model on a turn the live session already read. Also records whether that pass activates ongoing extraction; contextual-assent-only passes do not, so unrelated future messages remain outside extraction.
9828
+ * Session event "permission.messageAuthorizationRead". Historical decode-only extractor progress marker. Current runtimes do not run or resume extraction from it.
9173
9829
  */
9174
9830
  /** @experimental */
9175
9831
  export interface PermissionMessageAuthorizationReadEvent {
@@ -9200,7 +9856,7 @@ export interface PermissionMessageAuthorizationReadEvent {
9200
9856
  type: "permission.messageAuthorizationRead";
9201
9857
  }
9202
9858
  /**
9203
- * Records that one human turn has been read by the blinded authorization proposer, whether or not it minted anything, so a resumed session does not re-run the extraction model on a turn the live session already read. Also records whether that pass activates ongoing extraction; contextual-assent-only passes do not, so unrelated future messages remain outside extraction.
9859
+ * Historical decode-only extractor progress marker. Current runtimes do not run or resume extraction from it.
9204
9860
  */
9205
9861
  /** @experimental */
9206
9862
  export interface PermissionMessageAuthorizationReadData {
@@ -9218,7 +9874,7 @@ export interface PermissionMessageAuthorizationReadData {
9218
9874
  turnIndex: number;
9219
9875
  }
9220
9876
  /**
9221
- * Session event "permission.messageAuthorizationDegraded". Records that message-backed authorization could not safely represent one human turn before compaction. The runtime may compact the original message after this marker is durable, but message-derived carry-forward and assisted auto-approval remain disabled for the rest of the session so subsequent commands continue through the ordinary permission prompt.
9877
+ * Session event "permission.messageAuthorizationDegraded". Historical decode-only degradation marker from the retired extractor. Current runtimes ignore it for permission decisions.
9222
9878
  */
9223
9879
  /** @experimental */
9224
9880
  export interface PermissionMessageAuthorizationDegradedEvent {
@@ -9249,7 +9905,7 @@ export interface PermissionMessageAuthorizationDegradedEvent {
9249
9905
  type: "permission.messageAuthorizationDegraded";
9250
9906
  }
9251
9907
  /**
9252
- * Records that message-backed authorization could not safely represent one human turn before compaction. The runtime may compact the original message after this marker is durable, but message-derived carry-forward and assisted auto-approval remain disabled for the rest of the session so subsequent commands continue through the ordinary permission prompt.
9908
+ * Historical decode-only degradation marker from the retired extractor. Current runtimes ignore it for permission decisions.
9253
9909
  */
9254
9910
  /** @experimental */
9255
9911
  export interface PermissionMessageAuthorizationDegradedData {
@@ -9261,7 +9917,7 @@ export interface PermissionMessageAuthorizationDegradedData {
9261
9917
  turnIndex: number;
9262
9918
  }
9263
9919
  /**
9264
- * Session event "permission.assentDetected". Records that deterministic text recognition found likely assent in the human turn immediately following a root Autopilot permission request that was blocked because no interactive response was available. This event grants no authority; its model-facing projection only suggests retrying the unchanged operation.
9920
+ * Session event "permission.assentDetected". Historical decode-only contextual-assent marker. Current runtimes do not project it into the conversation or permission flow.
9265
9921
  */
9266
9922
  /** @experimental */
9267
9923
  export interface PermissionAssentDetectedEvent {
@@ -9292,7 +9948,7 @@ export interface PermissionAssentDetectedEvent {
9292
9948
  type: "permission.assentDetected";
9293
9949
  }
9294
9950
  /**
9295
- * Records that deterministic text recognition found likely assent in the human turn immediately following a root Autopilot permission request that was blocked because no interactive response was available. This event grants no authority; its model-facing projection only suggests retrying the unchanged operation.
9951
+ * Historical decode-only contextual-assent marker. Current runtimes do not project it into the conversation or permission flow.
9296
9952
  */
9297
9953
  /** @experimental */
9298
9954
  export interface PermissionAssentDetectedData {
@@ -9310,7 +9966,7 @@ export interface PermissionAssentDetectedData {
9310
9966
  turnIndex: number;
9311
9967
  }
9312
9968
  /**
9313
- * Session event "permission.contextualAuthorization". Freezes a blinded contextual authorization proposal whose verbatim human span was deterministically bound to the immediately preceding blocked permission request. The event carries no action fields; replay re-derives the exact action from the earlier permission request and mints a one-shot message grant only when the binding and span still verify.
9969
+ * Session event "permission.contextualAuthorization". Historical decode-only contextual authorization claim. Current runtimes preserve the payload but do not establish authority from it.
9314
9970
  */
9315
9971
  /** @experimental */
9316
9972
  export interface PermissionContextualAuthorizationEvent {
@@ -9341,7 +9997,7 @@ export interface PermissionContextualAuthorizationEvent {
9341
9997
  type: "permission.contextualAuthorization";
9342
9998
  }
9343
9999
  /**
9344
- * Freezes a blinded contextual authorization proposal whose verbatim human span was deterministically bound to the immediately preceding blocked permission request. The event carries no action fields; replay re-derives the exact action from the earlier permission request and mints a one-shot message grant only when the binding and span still verify.
10000
+ * Historical decode-only contextual authorization claim. Current runtimes preserve the payload but do not establish authority from it.
9345
10001
  */
9346
10002
  /** @experimental */
9347
10003
  export interface PermissionContextualAuthorizationData {
@@ -9797,6 +10453,10 @@ export interface McpOauthRequiredStaticClientConfig {
9797
10453
  * Whether this is a public OAuth client
9798
10454
  */
9799
10455
  publicClient?: boolean;
10456
+ /**
10457
+ * Configured OAuth scope string used when the server challenge omits scope or provides an empty scope
10458
+ */
10459
+ scope?: string;
9800
10460
  }
9801
10461
  /**
9802
10462
  * OAuth WWW-Authenticate parameters parsed from an MCP auth challenge
@@ -10996,15 +11656,15 @@ export interface BackgroundTasksChangedEvent {
10996
11656
  export interface BackgroundTasksChangedData {
10997
11657
  }
10998
11658
  /**
10999
- * Session event "factory.run_updated". Ephemeral invalidation signal for a changed factory run.
11659
+ * Session event "workflow.run_updated". Ephemeral invalidation signal for a changed workflow run.
11000
11660
  */
11001
11661
  /** @experimental */
11002
- export interface FactoryRunUpdatedEvent {
11662
+ export interface WorkflowRunUpdatedEvent {
11003
11663
  /**
11004
11664
  * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
11005
11665
  */
11006
11666
  agentId?: string;
11007
- data: FactoryRunUpdatedData;
11667
+ data: WorkflowRunUpdatedData;
11008
11668
  /**
11009
11669
  * Always true for events that are transient and not persisted to the session event log on disk.
11010
11670
  */
@@ -11022,34 +11682,34 @@ export interface FactoryRunUpdatedEvent {
11022
11682
  */
11023
11683
  timestamp: string;
11024
11684
  /**
11025
- * Type discriminator. Always "factory.run_updated".
11685
+ * Type discriminator. Always "workflow.run_updated".
11026
11686
  */
11027
- type: "factory.run_updated";
11687
+ type: "workflow.run_updated";
11028
11688
  }
11029
11689
  /**
11030
- * Ephemeral invalidation signal for a changed factory run.
11690
+ * Ephemeral invalidation signal for a changed workflow run.
11031
11691
  */
11032
11692
  /** @experimental */
11033
- export interface FactoryRunUpdatedData {
11693
+ export interface WorkflowRunUpdatedData {
11034
11694
  /**
11035
11695
  * Monotonic revision now available for the run.
11036
11696
  */
11037
11697
  revision: number;
11038
11698
  /**
11039
- * Factory run identifier.
11699
+ * Workflow run identifier.
11040
11700
  */
11041
11701
  runId: string;
11042
11702
  }
11043
11703
  /**
11044
- * Session event "factory.run_started". Ephemeral signal that a factory run attempt began executing.
11704
+ * Session event "workflow.run_started". Ephemeral signal that a workflow run attempt began executing.
11045
11705
  */
11046
11706
  /** @experimental */
11047
- export interface FactoryRunStartedEvent {
11707
+ export interface WorkflowRunStartedEvent {
11048
11708
  /**
11049
11709
  * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
11050
11710
  */
11051
11711
  agentId?: string;
11052
- data: FactoryRunStartedData;
11712
+ data: WorkflowRunStartedData;
11053
11713
  /**
11054
11714
  * Always true for events that are transient and not persisted to the session event log on disk.
11055
11715
  */
@@ -11067,38 +11727,38 @@ export interface FactoryRunStartedEvent {
11067
11727
  */
11068
11728
  timestamp: string;
11069
11729
  /**
11070
- * Type discriminator. Always "factory.run_started".
11730
+ * Type discriminator. Always "workflow.run_started".
11071
11731
  */
11072
- type: "factory.run_started";
11732
+ type: "workflow.run_started";
11073
11733
  }
11074
11734
  /**
11075
- * Ephemeral signal that a factory run attempt began executing.
11735
+ * Ephemeral signal that a workflow run attempt began executing.
11076
11736
  */
11077
11737
  /** @experimental */
11078
- export interface FactoryRunStartedData {
11738
+ export interface WorkflowRunStartedData {
11079
11739
  /**
11080
11740
  * Attempt number this start committed; a resumed run increments it.
11081
11741
  */
11082
11742
  attempt: number;
11083
11743
  /**
11084
- * Name of the factory this run executes. Low cardinality by construction.
11744
+ * Identifier of the workflow run that started.
11085
11745
  */
11086
- factoryName: string;
11746
+ runId: string;
11087
11747
  /**
11088
- * Identifier of the factory run that started.
11748
+ * Name of the workflow this run executes. Low cardinality by construction.
11089
11749
  */
11090
- runId: string;
11750
+ workflowName: string;
11091
11751
  }
11092
11752
  /**
11093
- * Session event "factory.run_settled". Ephemeral signal that a factory run reached a terminal status.
11753
+ * Session event "workflow.run_settled". Ephemeral signal that a workflow run reached a terminal status.
11094
11754
  */
11095
11755
  /** @experimental */
11096
- export interface FactoryRunSettledEvent {
11756
+ export interface WorkflowRunSettledEvent {
11097
11757
  /**
11098
11758
  * Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
11099
11759
  */
11100
11760
  agentId?: string;
11101
- data: FactoryRunSettledData;
11761
+ data: WorkflowRunSettledData;
11102
11762
  /**
11103
11763
  * Always true for events that are transient and not persisted to the session event log on disk.
11104
11764
  */
@@ -11116,15 +11776,15 @@ export interface FactoryRunSettledEvent {
11116
11776
  */
11117
11777
  timestamp: string;
11118
11778
  /**
11119
- * Type discriminator. Always "factory.run_settled".
11779
+ * Type discriminator. Always "workflow.run_settled".
11120
11780
  */
11121
- type: "factory.run_settled";
11781
+ type: "workflow.run_settled";
11122
11782
  }
11123
11783
  /**
11124
- * Ephemeral signal that a factory run reached a terminal status.
11784
+ * Ephemeral signal that a workflow run reached a terminal status.
11125
11785
  */
11126
11786
  /** @experimental */
11127
- export interface FactoryRunSettledData {
11787
+ export interface WorkflowRunSettledData {
11128
11788
  /**
11129
11789
  * AI credits this run consumed, in nano-AIU.
11130
11790
  */
@@ -11138,14 +11798,14 @@ export interface FactoryRunSettledData {
11138
11798
  */
11139
11799
  elapsedMs: number;
11140
11800
  /**
11141
- * Typed failure class recorded on the run, when it failed with one (e.g. `factory_limit_reached`).
11801
+ * Typed failure class recorded on the run, when it failed with one (e.g. `workflow_limit_reached`).
11142
11802
  */
11143
11803
  failureType?: string;
11144
11804
  /**
11145
- * Identifier of the factory run that settled.
11805
+ * Identifier of the workflow run that settled.
11146
11806
  */
11147
11807
  runId: string;
11148
- status: FactoryRunSettledStatus;
11808
+ status: WorkflowRunSettledStatus;
11149
11809
  }
11150
11810
  /**
11151
11811
  * Session event "session.skills_loaded". Payload of `session.skills_loaded` listing resolved skill metadata.