@github/copilot-sdk-linuxmusl-arm64 1.0.14 → 1.0.15-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.
- package/builtin/discover-resources/SKILL.md +10 -0
- package/builtin-skills/discover-resources/SKILL.md +10 -0
- package/copilot-sdk/cliVersion.d.ts +1 -1
- package/copilot-sdk/client.d.ts +2 -0
- package/copilot-sdk/docs/extensions.md +1 -0
- package/copilot-sdk/docs/workflows.md +257 -0
- package/copilot-sdk/extension.d.ts +22 -8
- package/copilot-sdk/extension.js +1845 -230
- package/copilot-sdk/generated/rpc.d.ts +3141 -302
- package/copilot-sdk/generated/session-events.d.ts +756 -31
- package/copilot-sdk/index.d.ts +3 -1
- package/copilot-sdk/index.js +1839 -228
- package/copilot-sdk/schema.d.ts +4 -0
- package/copilot-sdk/session.d.ts +26 -3
- package/copilot-sdk/types.d.ts +37 -5
- package/copilot-sdk/workflow.d.ts +364 -0
- package/definitions/explore.agent.yaml +4 -1
- package/definitions/research.agent.yaml +1 -1
- package/definitions/task.agent.yaml +4 -1
- package/package.json +1 -1
- package/prebuilds/linuxmusl-arm64/copilot-runtime +0 -0
- package/prebuilds/linuxmusl-arm64/runtime.node +2 -2
- package/preloads/extension_bootstrap.mjs +3 -4
- package/schemas/api.schema.json +5252 -77
- package/schemas/session-events.schema.json +946 -1
- package/sdk/index.js +275 -286
- package/tgrep/bin/linux-x64/tgrep +0 -0
- package/tgrep/bin/linuxmusl-arm64/tgrep +0 -0
|
@@ -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 | 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 | FactoryRunUpdatedEvent | FactoryRunStartedEvent | FactoryRunSettledEvent | 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,16 @@ 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
301
|
| "sdk";
|
|
302
|
+
/**
|
|
303
|
+
* Why the session no longer has an explicitly selected model.
|
|
304
|
+
*/
|
|
305
|
+
export type ModelDeselectedReason =
|
|
306
|
+
/** A host-managed provider snapshot no longer publishes the selected model. */
|
|
307
|
+
"provider_withdrawn";
|
|
141
308
|
/**
|
|
142
309
|
* Auto preferences that Copilot API can recommend.
|
|
143
310
|
*/
|
|
@@ -219,6 +386,94 @@ export type CompactionTrigger =
|
|
|
219
386
|
| "memory_pressure"
|
|
220
387
|
/** Compaction requested while switching to a model with a smaller context window. */
|
|
221
388
|
| "model_switch";
|
|
389
|
+
/**
|
|
390
|
+
* Category of structured task blocker
|
|
391
|
+
*/
|
|
392
|
+
export type TaskBlockerKind =
|
|
393
|
+
/** Autopilot permission recovery requires intervention or has no safe autonomous path. */
|
|
394
|
+
"permission_recovery";
|
|
395
|
+
/**
|
|
396
|
+
* Runtime handling applied to a recovery attempt
|
|
397
|
+
*/
|
|
398
|
+
export type PermissionRecoveryAttemptDisposition =
|
|
399
|
+
/** The request was denied without prompting so the agent could try an alternative. */
|
|
400
|
+
"deferred"
|
|
401
|
+
/** The request was surfaced to an interactive responder. */
|
|
402
|
+
| "prompted"
|
|
403
|
+
/** The interactive responder approved the request. */
|
|
404
|
+
| "approved"
|
|
405
|
+
/** The interactive responder denied the request or became unavailable. */
|
|
406
|
+
| "denied"
|
|
407
|
+
/** The request exhausted unattended recovery and produced a blocked outcome. */
|
|
408
|
+
| "blocked"
|
|
409
|
+
/** A tool call succeeded as an equivalent alternative. */
|
|
410
|
+
| "succeeded";
|
|
411
|
+
/**
|
|
412
|
+
* Controlled reason for an individual attempt disposition
|
|
413
|
+
*/
|
|
414
|
+
export type PermissionRecoveryAttemptReason =
|
|
415
|
+
/** The attempt required permission that Assisted Permissions could not grant. */
|
|
416
|
+
"permission_required"
|
|
417
|
+
/** The request repeated an earlier attempt. */
|
|
418
|
+
| "repeated_attempt"
|
|
419
|
+
/** The request exceeded the bounded number of distinct attempts. */
|
|
420
|
+
| "attempts_exhausted"
|
|
421
|
+
/** The interactive responder approved the request. */
|
|
422
|
+
| "permission_approved"
|
|
423
|
+
/** The interactive responder denied the request. */
|
|
424
|
+
| "permission_denied"
|
|
425
|
+
/** The interactive responder became unavailable. */
|
|
426
|
+
| "responder_unavailable"
|
|
427
|
+
/** The tool call succeeded without the blocked permission. */
|
|
428
|
+
| "equivalent_alternative_succeeded";
|
|
429
|
+
/**
|
|
430
|
+
* Relationship of an attempt to earlier permission requests
|
|
431
|
+
*/
|
|
432
|
+
export type PermissionRecoveryAttemptRelation =
|
|
433
|
+
/** The first denied permission request in the episode. */
|
|
434
|
+
"initial"
|
|
435
|
+
/** A request equivalent to an earlier attempt. */
|
|
436
|
+
| "retry"
|
|
437
|
+
/** A distinct request or a successful alternative tool call. */
|
|
438
|
+
| "alternative";
|
|
439
|
+
/**
|
|
440
|
+
* Action selected when autonomous recovery cannot continue
|
|
441
|
+
*/
|
|
442
|
+
export type PermissionRecoveryOnBlocked =
|
|
443
|
+
/** Surface the existing permission prompt to a response-capable client. */
|
|
444
|
+
"ask"
|
|
445
|
+
/** Return a structured unsuccessful blocked outcome because no responder is available. */
|
|
446
|
+
| "fail";
|
|
447
|
+
/**
|
|
448
|
+
* Controlled reason for a permission-recovery episode transition
|
|
449
|
+
*/
|
|
450
|
+
export type PermissionRecoveryReason =
|
|
451
|
+
/** An action required permission that Assisted Permissions could not grant. */
|
|
452
|
+
"permission_required"
|
|
453
|
+
/** The agent repeated an equivalent permission request instead of making progress. */
|
|
454
|
+
| "repeated_attempt"
|
|
455
|
+
/** The bounded number of distinct permission attempts was exhausted. */
|
|
456
|
+
| "attempts_exhausted"
|
|
457
|
+
/** A responder approved the escalated permission request. */
|
|
458
|
+
| "permission_approved"
|
|
459
|
+
/** A responder denied the escalated permission request. */
|
|
460
|
+
| "permission_denied"
|
|
461
|
+
/** The response-capable client became unavailable while escalation was pending. */
|
|
462
|
+
| "responder_unavailable"
|
|
463
|
+
/** A later tool call succeeded without requiring the blocked permission. */
|
|
464
|
+
| "equivalent_alternative_succeeded";
|
|
465
|
+
/**
|
|
466
|
+
* Lifecycle state of a permission-recovery episode
|
|
467
|
+
*/
|
|
468
|
+
export type PermissionRecoveryStatus =
|
|
469
|
+
/** Autopilot may try a bounded equivalent alternative. */
|
|
470
|
+
"recovering"
|
|
471
|
+
/** An interactive permission response is required. */
|
|
472
|
+
| "awaiting_approval"
|
|
473
|
+
/** The episode ended through approval or a successful equivalent alternative. */
|
|
474
|
+
| "resolved"
|
|
475
|
+
/** No autonomous path remains and the task requires intervention. */
|
|
476
|
+
| "blocked";
|
|
222
477
|
/**
|
|
223
478
|
* Semantic result of evaluating a task completion request
|
|
224
479
|
*/
|
|
@@ -482,6 +737,20 @@ export type AbortReason =
|
|
|
482
737
|
| "user_abort"
|
|
483
738
|
/** Autopilot stopped the run because the active objective reached its user-set --max-ai-credits limit. */
|
|
484
739
|
| "autopilot_credit_limit";
|
|
740
|
+
/**
|
|
741
|
+
* Configuration source: user, workspace, plugin, builtin, or managed
|
|
742
|
+
*/
|
|
743
|
+
export type McpServerSource =
|
|
744
|
+
/** Server configured in the user's global MCP configuration. */
|
|
745
|
+
"user"
|
|
746
|
+
/** Server configured by the current workspace. */
|
|
747
|
+
| "workspace"
|
|
748
|
+
/** Server contributed by an installed plugin. */
|
|
749
|
+
| "plugin"
|
|
750
|
+
/** Server bundled with the runtime. */
|
|
751
|
+
| "builtin"
|
|
752
|
+
/** Server supplied by a trusted host-managed catalog. */
|
|
753
|
+
| "managed";
|
|
485
754
|
/**
|
|
486
755
|
* Transport mechanism: stdio, http, sse (deprecated), or memory (in-process MCP server)
|
|
487
756
|
*/
|
|
@@ -565,18 +834,6 @@ export type SkillInvokedTrigger =
|
|
|
565
834
|
| "agent-invoked"
|
|
566
835
|
/** Skill content loaded as part of another context, such as a configured custom agent or subagent. */
|
|
567
836
|
| "context-load";
|
|
568
|
-
/**
|
|
569
|
-
* Where the model input for a task-tool sub-agent came from.
|
|
570
|
-
*/
|
|
571
|
-
export type SubagentTaskModelSource =
|
|
572
|
-
/** The spawning agent supplied the task tool's model argument. */
|
|
573
|
-
"task_argument"
|
|
574
|
-
/** The task omitted a model and the per-sub-agent settings entry supplied a concrete one. */
|
|
575
|
-
| "subagent_configuration"
|
|
576
|
-
/** The task omitted a model and the user-defined custom agent's definition supplied one. */
|
|
577
|
-
| "custom_agent_definition"
|
|
578
|
-
/** Neither the task call, the per-sub-agent settings entry, nor a custom agent definition supplied a model. */
|
|
579
|
-
| "unset";
|
|
580
837
|
/**
|
|
581
838
|
* Authority or runtime mechanism responsible for sub-agent model selection.
|
|
582
839
|
*/
|
|
@@ -595,6 +852,18 @@ export type SubagentModelSelectionSource =
|
|
|
595
852
|
| "agent_definition_default"
|
|
596
853
|
/** Runtime policy, Auto mode, or an experiment selected the model. */
|
|
597
854
|
| "runtime_policy";
|
|
855
|
+
/**
|
|
856
|
+
* Where the model input for a task-tool sub-agent came from.
|
|
857
|
+
*/
|
|
858
|
+
export type SubagentTaskModelSource =
|
|
859
|
+
/** The spawning agent supplied the task tool's model argument. */
|
|
860
|
+
"task_argument"
|
|
861
|
+
/** The task omitted a model and the per-sub-agent settings entry supplied a concrete one. */
|
|
862
|
+
| "subagent_configuration"
|
|
863
|
+
/** The task omitted a model and the user-defined custom agent's definition supplied one. */
|
|
864
|
+
| "custom_agent_definition"
|
|
865
|
+
/** Neither the task call, the per-sub-agent settings entry, nor a custom agent definition supplied a model. */
|
|
866
|
+
| "unset";
|
|
598
867
|
/**
|
|
599
868
|
* Binary asset type discriminator. Use "image" for images and "resource" otherwise.
|
|
600
869
|
*/
|
|
@@ -831,6 +1100,8 @@ export type McpHeadersRefreshCompletedOutcome =
|
|
|
831
1100
|
"headers"
|
|
832
1101
|
/** The host responded with no dynamic headers. */
|
|
833
1102
|
| "none"
|
|
1103
|
+
/** The host credential broker rejected or failed the refresh. */
|
|
1104
|
+
| "error"
|
|
834
1105
|
/** No response arrived within the bounded window. */
|
|
835
1106
|
| "timeout";
|
|
836
1107
|
/**
|
|
@@ -976,18 +1247,6 @@ export type AgentModelPolicy =
|
|
|
976
1247
|
"preferred"
|
|
977
1248
|
/** Require subagent execution to use one of the authored models. */
|
|
978
1249
|
| "required";
|
|
979
|
-
/**
|
|
980
|
-
* Configuration source: user, workspace, plugin, or builtin
|
|
981
|
-
*/
|
|
982
|
-
export type McpServerSource =
|
|
983
|
-
/** Server configured in the user's global MCP configuration. */
|
|
984
|
-
"user"
|
|
985
|
-
/** Server configured by the current workspace. */
|
|
986
|
-
| "workspace"
|
|
987
|
-
/** Server contributed by an installed plugin. */
|
|
988
|
-
| "plugin"
|
|
989
|
-
/** Server bundled with the runtime. */
|
|
990
|
-
| "builtin";
|
|
991
1250
|
/**
|
|
992
1251
|
* Connection status: connected, failed, needs-auth, pending, disabled, stopped, or not_configured
|
|
993
1252
|
*/
|
|
@@ -1702,6 +1961,36 @@ export interface InfoData {
|
|
|
1702
1961
|
*/
|
|
1703
1962
|
url?: string;
|
|
1704
1963
|
}
|
|
1964
|
+
/**
|
|
1965
|
+
* 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.
|
|
1966
|
+
*/
|
|
1967
|
+
export interface IndexedSearchEvent {
|
|
1968
|
+
/**
|
|
1969
|
+
* Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
|
|
1970
|
+
*/
|
|
1971
|
+
agentId?: string;
|
|
1972
|
+
data: IndexedSearchData;
|
|
1973
|
+
/**
|
|
1974
|
+
* Always true for events that are transient and not persisted to the session event log on disk.
|
|
1975
|
+
*/
|
|
1976
|
+
ephemeral: true;
|
|
1977
|
+
/**
|
|
1978
|
+
* Unique event identifier (UUID v4), generated when the event is emitted
|
|
1979
|
+
*/
|
|
1980
|
+
id: string;
|
|
1981
|
+
/**
|
|
1982
|
+
* ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
|
|
1983
|
+
*/
|
|
1984
|
+
parentId: string | null;
|
|
1985
|
+
/**
|
|
1986
|
+
* ISO 8601 timestamp when the event was created
|
|
1987
|
+
*/
|
|
1988
|
+
timestamp: string;
|
|
1989
|
+
/**
|
|
1990
|
+
* Type discriminator. Always "session.indexed_search".
|
|
1991
|
+
*/
|
|
1992
|
+
type: "session.indexed_search";
|
|
1993
|
+
}
|
|
1705
1994
|
/**
|
|
1706
1995
|
* Session event "session.warning". Warning message for timeline display with categorization
|
|
1707
1996
|
*/
|
|
@@ -1819,6 +2108,46 @@ export interface ModelChangeData {
|
|
|
1819
2108
|
source?: ModelChangeSource;
|
|
1820
2109
|
verbosity?: Verbosity;
|
|
1821
2110
|
}
|
|
2111
|
+
/**
|
|
2112
|
+
* 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.
|
|
2113
|
+
*/
|
|
2114
|
+
export interface ModelDeselectedEvent {
|
|
2115
|
+
/**
|
|
2116
|
+
* Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
|
|
2117
|
+
*/
|
|
2118
|
+
agentId?: string;
|
|
2119
|
+
data: ModelDeselectedData;
|
|
2120
|
+
/**
|
|
2121
|
+
* When true, the event is transient and not persisted to the session event log on disk
|
|
2122
|
+
*/
|
|
2123
|
+
ephemeral?: boolean;
|
|
2124
|
+
/**
|
|
2125
|
+
* Unique event identifier (UUID v4), generated when the event is emitted
|
|
2126
|
+
*/
|
|
2127
|
+
id: string;
|
|
2128
|
+
/**
|
|
2129
|
+
* ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
|
|
2130
|
+
*/
|
|
2131
|
+
parentId: string | null;
|
|
2132
|
+
/**
|
|
2133
|
+
* ISO 8601 timestamp when the event was created
|
|
2134
|
+
*/
|
|
2135
|
+
timestamp: string;
|
|
2136
|
+
/**
|
|
2137
|
+
* Type discriminator. Always "session.model_deselected".
|
|
2138
|
+
*/
|
|
2139
|
+
type: "session.model_deselected";
|
|
2140
|
+
}
|
|
2141
|
+
/**
|
|
2142
|
+
* 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.
|
|
2143
|
+
*/
|
|
2144
|
+
export interface ModelDeselectedData {
|
|
2145
|
+
/**
|
|
2146
|
+
* Model that was selected before the host withdrew it.
|
|
2147
|
+
*/
|
|
2148
|
+
previousModel: string;
|
|
2149
|
+
reason: ModelDeselectedReason;
|
|
2150
|
+
}
|
|
1822
2151
|
/**
|
|
1823
2152
|
* Session event "session.auto_tier_recommendation". Live-only Auto preference recommendation from Copilot API after a successful Auto model call.
|
|
1824
2153
|
*/
|
|
@@ -2898,6 +3227,7 @@ export interface CompactionCompleteData {
|
|
|
2898
3227
|
* GitHub request tracing ID (x-github-request-id header) for the compaction LLM call
|
|
2899
3228
|
*/
|
|
2900
3229
|
requestId?: string;
|
|
3230
|
+
responsesReasoning?: ResponsesReasoning;
|
|
2901
3231
|
/**
|
|
2902
3232
|
* Copilot service request ID (x-copilot-service-request-id header) for the compaction LLM call
|
|
2903
3233
|
*/
|
|
@@ -2986,6 +3316,23 @@ export interface CompactionCompleteCompactionTokensUsedCopilotUsageTokenDetail {
|
|
|
2986
3316
|
*/
|
|
2987
3317
|
tokenType: string;
|
|
2988
3318
|
}
|
|
3319
|
+
/**
|
|
3320
|
+
* Original request-level and effective conversation reasoning effort for a Responses history boundary
|
|
3321
|
+
*/
|
|
3322
|
+
export interface ResponsesReasoning {
|
|
3323
|
+
/**
|
|
3324
|
+
* Effective effort selected before this message, independent of the response-level reasoning field
|
|
3325
|
+
*/
|
|
3326
|
+
effort: string;
|
|
3327
|
+
/**
|
|
3328
|
+
* Original request-level effort, retained while replaying this conversation prefix
|
|
3329
|
+
*/
|
|
3330
|
+
initialEffort: string;
|
|
3331
|
+
/**
|
|
3332
|
+
* Provider model whose reasoning settings this boundary records
|
|
3333
|
+
*/
|
|
3334
|
+
model: string;
|
|
3335
|
+
}
|
|
2989
3336
|
/**
|
|
2990
3337
|
* Session event "session.task_complete". Task completion notification with summary from the agent
|
|
2991
3338
|
*/
|
|
@@ -3020,6 +3367,7 @@ export interface TaskCompleteEvent {
|
|
|
3020
3367
|
* Task completion notification with summary from the agent
|
|
3021
3368
|
*/
|
|
3022
3369
|
export interface TaskCompleteData {
|
|
3370
|
+
blocker?: TaskBlocker;
|
|
3023
3371
|
/**
|
|
3024
3372
|
* Active autopilot objective ID evaluated by the completion reviewer
|
|
3025
3373
|
*/
|
|
@@ -3038,6 +3386,64 @@ export interface TaskCompleteData {
|
|
|
3038
3386
|
*/
|
|
3039
3387
|
summary?: string;
|
|
3040
3388
|
}
|
|
3389
|
+
/**
|
|
3390
|
+
* Structured reason that the task cannot continue without intervention
|
|
3391
|
+
*/
|
|
3392
|
+
/** @experimental */
|
|
3393
|
+
export interface TaskBlocker {
|
|
3394
|
+
kind: TaskBlockerKind;
|
|
3395
|
+
permissionRecovery: PermissionRecoveryData;
|
|
3396
|
+
reason: PermissionRecoveryReason;
|
|
3397
|
+
/**
|
|
3398
|
+
* Whether a later user response or steering message can resume the task
|
|
3399
|
+
*/
|
|
3400
|
+
resumable: boolean;
|
|
3401
|
+
}
|
|
3402
|
+
/**
|
|
3403
|
+
* Authoritative snapshot of an Autopilot permission-recovery episode
|
|
3404
|
+
*/
|
|
3405
|
+
export interface PermissionRecoveryData {
|
|
3406
|
+
/**
|
|
3407
|
+
* Ordered privacy-safe record of permission attempts and the successful alternative, when any
|
|
3408
|
+
*/
|
|
3409
|
+
attempts: PermissionRecoveryAttempt[];
|
|
3410
|
+
/**
|
|
3411
|
+
* Stable identifier shared by every transition in this recovery episode
|
|
3412
|
+
*/
|
|
3413
|
+
episodeId: string;
|
|
3414
|
+
/**
|
|
3415
|
+
* Maximum number of distinct autonomous permission attempts allowed before escalation
|
|
3416
|
+
*/
|
|
3417
|
+
maxAttempts: number;
|
|
3418
|
+
onBlocked: PermissionRecoveryOnBlocked;
|
|
3419
|
+
reason: PermissionRecoveryReason;
|
|
3420
|
+
status: PermissionRecoveryStatus;
|
|
3421
|
+
}
|
|
3422
|
+
export interface PermissionRecoveryAttempt {
|
|
3423
|
+
/**
|
|
3424
|
+
* Unique identifier for this attempt record
|
|
3425
|
+
*/
|
|
3426
|
+
attemptId: string;
|
|
3427
|
+
disposition: PermissionRecoveryAttemptDisposition;
|
|
3428
|
+
/**
|
|
3429
|
+
* One-based position of this attempt in the episode
|
|
3430
|
+
*/
|
|
3431
|
+
ordinal: number;
|
|
3432
|
+
/**
|
|
3433
|
+
* Controlled permission request kind, such as shell, path, URL, or tool
|
|
3434
|
+
*/
|
|
3435
|
+
permissionKind: string;
|
|
3436
|
+
reason: PermissionRecoveryAttemptReason;
|
|
3437
|
+
relation: PermissionRecoveryAttemptRelation;
|
|
3438
|
+
/**
|
|
3439
|
+
* SHA-256 fingerprint of normalized request data; raw permission arguments are not included
|
|
3440
|
+
*/
|
|
3441
|
+
requestFingerprint: string;
|
|
3442
|
+
/**
|
|
3443
|
+
* Tool-call identifier associated with this attempt, when available
|
|
3444
|
+
*/
|
|
3445
|
+
toolCallId?: string;
|
|
3446
|
+
}
|
|
3041
3447
|
/**
|
|
3042
3448
|
* Session event "session.completion_receipt". Behavior-neutral record of structured runtime facts present when an agent completion decision is accepted.
|
|
3043
3449
|
*/
|
|
@@ -3510,6 +3916,36 @@ export interface FusionCompletedData {
|
|
|
3510
3916
|
*/
|
|
3511
3917
|
turnId: string;
|
|
3512
3918
|
}
|
|
3919
|
+
/**
|
|
3920
|
+
* Session event "session.permission_recovery". Authoritative snapshot of an Autopilot permission-recovery episode
|
|
3921
|
+
*/
|
|
3922
|
+
export interface PermissionRecoveryEvent {
|
|
3923
|
+
/**
|
|
3924
|
+
* Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
|
|
3925
|
+
*/
|
|
3926
|
+
agentId?: string;
|
|
3927
|
+
data: PermissionRecoveryData;
|
|
3928
|
+
/**
|
|
3929
|
+
* When true, the event is transient and not persisted to the session event log on disk
|
|
3930
|
+
*/
|
|
3931
|
+
ephemeral?: boolean;
|
|
3932
|
+
/**
|
|
3933
|
+
* Unique event identifier (UUID v4), generated when the event is emitted
|
|
3934
|
+
*/
|
|
3935
|
+
id: string;
|
|
3936
|
+
/**
|
|
3937
|
+
* ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
|
|
3938
|
+
*/
|
|
3939
|
+
parentId: string | null;
|
|
3940
|
+
/**
|
|
3941
|
+
* ISO 8601 timestamp when the event was created
|
|
3942
|
+
*/
|
|
3943
|
+
timestamp: string;
|
|
3944
|
+
/**
|
|
3945
|
+
* Type discriminator. Always "session.permission_recovery".
|
|
3946
|
+
*/
|
|
3947
|
+
type: "session.permission_recovery";
|
|
3948
|
+
}
|
|
3513
3949
|
/**
|
|
3514
3950
|
* Session event "user.message". Payload of `user.message` with displayed and model-transformed content, attachments, source/delivery metadata, mode, and telemetry IDs.
|
|
3515
3951
|
*/
|
|
@@ -3574,6 +4010,7 @@ export interface UserMessageData {
|
|
|
3574
4010
|
* Parent agent task ID for background telemetry correlated to this user turn
|
|
3575
4011
|
*/
|
|
3576
4012
|
parentAgentTaskId?: string;
|
|
4013
|
+
responsesReasoning?: ResponsesReasoning;
|
|
3577
4014
|
/**
|
|
3578
4015
|
* 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)
|
|
3579
4016
|
*/
|
|
@@ -4745,6 +5182,10 @@ export interface AssistantMessageData {
|
|
|
4745
5182
|
* Model that produced this assistant message, if known
|
|
4746
5183
|
*/
|
|
4747
5184
|
model?: string;
|
|
5185
|
+
/**
|
|
5186
|
+
* Logical ID of the primary user message that initiated this run, matching the messageId returned by session.send (or the last messageId of session.sendMessages). Stable across model/tool iterations, steering messages, and stop-hook corrections. Subagent runs use their own initiating message ID, not the parent's. Absent for runs without an associated initiating message, such as empty batches.
|
|
5187
|
+
*/
|
|
5188
|
+
originatingMessageId?: string;
|
|
4748
5189
|
/**
|
|
4749
5190
|
* Actual output token count from the API response (completion_tokens), used for accurate token accounting
|
|
4750
5191
|
*/
|
|
@@ -5764,6 +6205,11 @@ export interface ToolExecutionStartData {
|
|
|
5764
6205
|
* @experimental
|
|
5765
6206
|
*/
|
|
5766
6207
|
fusion?: FusionAttribution;
|
|
6208
|
+
/**
|
|
6209
|
+
* Preferred lookup name for the MCP server hosting this tool: the configured (namespaced) config-map key when the tool carries one, otherwise the display name from `mcpServerName`. Present when the tool is an MCP tool; this is the name unrestricted provenance telemetry hashes so it joins with `mcp_server_setup`, which keys off the configured name too.
|
|
6210
|
+
*/
|
|
6211
|
+
mcpConfigServerName?: string;
|
|
6212
|
+
mcpConfigSource?: McpServerSource;
|
|
5767
6213
|
/**
|
|
5768
6214
|
* Name of the MCP server hosting this tool, when the tool is an MCP tool
|
|
5769
6215
|
*/
|
|
@@ -5796,6 +6242,10 @@ export interface ToolExecutionStartData {
|
|
|
5796
6242
|
* Name of the tool being executed
|
|
5797
6243
|
*/
|
|
5798
6244
|
toolName: string;
|
|
6245
|
+
/**
|
|
6246
|
+
* Human-readable display title for the tool, when the selected tool descriptor has a non-empty title.
|
|
6247
|
+
*/
|
|
6248
|
+
toolTitle?: string;
|
|
5799
6249
|
/**
|
|
5800
6250
|
* Identifier for the agent loop turn this tool was invoked in, matching the corresponding assistant.turn_start event
|
|
5801
6251
|
*/
|
|
@@ -6012,6 +6462,12 @@ export interface ToolExecutionCompleteData {
|
|
|
6012
6462
|
* Whether this tool execution ran inside a sandbox container
|
|
6013
6463
|
*/
|
|
6014
6464
|
sandboxed?: boolean;
|
|
6465
|
+
/**
|
|
6466
|
+
* Experimental shell completion facts captured before the persisted result contents are stripped.
|
|
6467
|
+
*
|
|
6468
|
+
* @experimental
|
|
6469
|
+
*/
|
|
6470
|
+
shellExecution?: ToolExecutionCompleteShellExecution;
|
|
6015
6471
|
/**
|
|
6016
6472
|
* Whether the tool execution completed successfully
|
|
6017
6473
|
*/
|
|
@@ -6071,7 +6527,7 @@ export interface ToolExecutionCompleteResult {
|
|
|
6071
6527
|
*/
|
|
6072
6528
|
contents?: ToolExecutionCompleteContent[];
|
|
6073
6529
|
/**
|
|
6074
|
-
*
|
|
6530
|
+
* Detailed tool result for UI/timeline display, preserving complete content such as diffs for most tools. Successful skill invocations intentionally use the concise model-facing content here; the authoritative skill body is carried by the corresponding skill invocation event. Falls back to content when absent.
|
|
6075
6531
|
*/
|
|
6076
6532
|
detailedContent?: string;
|
|
6077
6533
|
/**
|
|
@@ -6485,6 +6941,16 @@ export interface ToolExecutionCompleteUIResourceMetaUIPermissionsGeolocation {
|
|
|
6485
6941
|
*/
|
|
6486
6942
|
export interface ToolExecutionCompleteUIResourceMetaUIPermissionsMicrophone {
|
|
6487
6943
|
}
|
|
6944
|
+
/**
|
|
6945
|
+
* Experimental shell completion facts retained independently of the full tool result.
|
|
6946
|
+
*/
|
|
6947
|
+
/** @experimental */
|
|
6948
|
+
export interface ToolExecutionCompleteShellExecution {
|
|
6949
|
+
/**
|
|
6950
|
+
* Process exit code reported by the shell driver.
|
|
6951
|
+
*/
|
|
6952
|
+
exitCode: number;
|
|
6953
|
+
}
|
|
6488
6954
|
/**
|
|
6489
6955
|
* Tool definition metadata, present for MCP tools with MCP Apps support
|
|
6490
6956
|
*/
|
|
@@ -6611,6 +7077,10 @@ export interface SkillInvokedData {
|
|
|
6611
7077
|
* Whether model invocation is disabled for this skill
|
|
6612
7078
|
*/
|
|
6613
7079
|
disableModelInvocation?: boolean;
|
|
7080
|
+
/**
|
|
7081
|
+
* 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.
|
|
7082
|
+
*/
|
|
7083
|
+
invokedAtTurn?: number;
|
|
6614
7084
|
/**
|
|
6615
7085
|
* Model identifier active when the skill was invoked, when known
|
|
6616
7086
|
*/
|
|
@@ -6699,6 +7169,7 @@ export interface SubagentStartedData {
|
|
|
6699
7169
|
* Model the sub-agent will run with, when known at start.
|
|
6700
7170
|
*/
|
|
6701
7171
|
model?: string;
|
|
7172
|
+
modelSelectionSource?: SubagentModelSelectionSource;
|
|
6702
7173
|
/**
|
|
6703
7174
|
* Task-registry ID of the spawning sub-agent. Absent when the root session spawned this child.
|
|
6704
7175
|
*/
|
|
@@ -7073,7 +7544,7 @@ export interface HookStartData {
|
|
|
7073
7544
|
*/
|
|
7074
7545
|
hookType: string;
|
|
7075
7546
|
/**
|
|
7076
|
-
* Input data passed to the hook. For postToolUse hooks the retained copy served by session.eventLog.read (and by a resumed session)
|
|
7547
|
+
* Input data passed to the hook. For postToolUse hooks the retained copy served by session.eventLog.read (and by a resumed session) drops the tool result's inline `contents`/`uiResource`/`skillInvocation` and replaces duplicated text result fields with a `[copilot:elided ...]` marker; the live subscription stream still delivers the full value. Canonical tool output remains in the adjacent tool.execution_complete event, while an invoked skill's authoritative body remains in its skill invocation event.
|
|
7077
7548
|
*/
|
|
7078
7549
|
input?: JsonValue;
|
|
7079
7550
|
/**
|
|
@@ -7125,7 +7596,7 @@ export interface HookEndData {
|
|
|
7125
7596
|
*/
|
|
7126
7597
|
hookType: string;
|
|
7127
7598
|
/**
|
|
7128
|
-
* Output data produced by the hook
|
|
7599
|
+
* Output data produced by the hook. Durable and resumed postToolUse receipts may omit messages owned by a successful skill invocation and replace an unchanged skill sessionLog copy with an elision marker; hook-modified or re-sourced values are preserved, and the authoritative body remains in the skill invocation event.
|
|
7129
7600
|
*/
|
|
7130
7601
|
output?: JsonValue;
|
|
7131
7602
|
/**
|
|
@@ -7298,6 +7769,10 @@ export interface SystemMessageData {
|
|
|
7298
7769
|
* The system or developer prompt text sent as model input
|
|
7299
7770
|
*/
|
|
7300
7771
|
content: string;
|
|
7772
|
+
/**
|
|
7773
|
+
* Optional ordered structured blocks corresponding to content, retained for prompt-cache layout restoration.
|
|
7774
|
+
*/
|
|
7775
|
+
contentBlocks?: SystemMessageContentBlock[];
|
|
7301
7776
|
/**
|
|
7302
7777
|
* Logical interaction identifier for the model run receiving this prompt
|
|
7303
7778
|
*/
|
|
@@ -7309,12 +7784,29 @@ export interface SystemMessageData {
|
|
|
7309
7784
|
name?: string;
|
|
7310
7785
|
role: SystemMessageRole;
|
|
7311
7786
|
}
|
|
7787
|
+
/**
|
|
7788
|
+
* One persisted structured system-message block and its cache intent
|
|
7789
|
+
*/
|
|
7790
|
+
export interface SystemMessageContentBlock {
|
|
7791
|
+
/**
|
|
7792
|
+
* Explicit prompt-cache intent. True places a breakpoint after this block, false suppresses one, and absence preserves the provider's legacy default.
|
|
7793
|
+
*/
|
|
7794
|
+
cacheBreakpoint?: boolean;
|
|
7795
|
+
/**
|
|
7796
|
+
* Text content for this system-message block.
|
|
7797
|
+
*/
|
|
7798
|
+
content: string;
|
|
7799
|
+
/**
|
|
7800
|
+
* Diagnostic classification indicating whether the block is stable across equivalent sessions.
|
|
7801
|
+
*/
|
|
7802
|
+
isStatic?: boolean;
|
|
7803
|
+
}
|
|
7312
7804
|
/**
|
|
7313
7805
|
* Metadata about the prompt template and its construction
|
|
7314
7806
|
*/
|
|
7315
7807
|
export interface SystemMessageMetadata {
|
|
7316
7808
|
/**
|
|
7317
|
-
* Version identifier of the prompt template used
|
|
7809
|
+
* Version identifier of the prompt template or structured prompt layout used
|
|
7318
7810
|
*/
|
|
7319
7811
|
promptVersion?: string;
|
|
7320
7812
|
/**
|
|
@@ -7363,6 +7855,7 @@ export interface SystemNotificationData {
|
|
|
7363
7855
|
*/
|
|
7364
7856
|
content: string;
|
|
7365
7857
|
kind: SystemNotification;
|
|
7858
|
+
responsesReasoning?: ResponsesReasoning;
|
|
7366
7859
|
}
|
|
7367
7860
|
/**
|
|
7368
7861
|
* System notification metadata for a background agent that completed or failed, including agent ID, type, status, description, and prompt.
|
|
@@ -7602,8 +8095,13 @@ export interface PermissionRequestedEvent {
|
|
|
7602
8095
|
*/
|
|
7603
8096
|
export interface PermissionRequestedData {
|
|
7604
8097
|
agentMode?: SessionMode;
|
|
8098
|
+
permissionMode?: PermissionMode;
|
|
7605
8099
|
permissionRequest: PermissionRequest;
|
|
7606
8100
|
promptRequest?: PermissionPromptRequest;
|
|
8101
|
+
/**
|
|
8102
|
+
* Permission-recovery episode that authorized this request to surface for interactive attention
|
|
8103
|
+
*/
|
|
8104
|
+
recoveryEpisodeId?: string;
|
|
7607
8105
|
/**
|
|
7608
8106
|
* Unique identifier for this permission request; used to respond via session.respondToPermission()
|
|
7609
8107
|
*/
|
|
@@ -7944,6 +8442,7 @@ export interface PermissionRequestMemory {
|
|
|
7944
8442
|
*/
|
|
7945
8443
|
/** @experimental */
|
|
7946
8444
|
export interface PermissionAssistedApproval {
|
|
8445
|
+
evaluation?: PermissionApprovalEvaluation;
|
|
7947
8446
|
failureReason?: AssistedApprovalJudgeFailureReason;
|
|
7948
8447
|
/**
|
|
7949
8448
|
* 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.
|
|
@@ -7955,6 +8454,95 @@ export interface PermissionAssistedApproval {
|
|
|
7955
8454
|
reason?: string;
|
|
7956
8455
|
recommendation: AssistedApprovalRecommendation;
|
|
7957
8456
|
}
|
|
8457
|
+
/**
|
|
8458
|
+
* Bounded runtime attribution, independent of free-text rationale. Telemetry revalidates this vocabulary before standard collection.
|
|
8459
|
+
*/
|
|
8460
|
+
export interface PermissionApprovalEvaluation {
|
|
8461
|
+
/**
|
|
8462
|
+
* Stage that produced this attribution.
|
|
8463
|
+
*/
|
|
8464
|
+
evaluationStage: "unknown"
|
|
8465
|
+
/** The request resolved before assisted-approval evaluation. */
|
|
8466
|
+
| "not_reached"
|
|
8467
|
+
/** A runtime gate skipped the judge. */
|
|
8468
|
+
| "pre_judge"
|
|
8469
|
+
/** The judge interface produced the evaluation. */
|
|
8470
|
+
| "judge"
|
|
8471
|
+
/** A cached recommendation or another request's outcome was reused. */
|
|
8472
|
+
| "reuse";
|
|
8473
|
+
/**
|
|
8474
|
+
* Whether the request invoked the judge interface. A cached recommendation retains the original attempt fact. Omitted means unknown, including inherited outcomes.
|
|
8475
|
+
*/
|
|
8476
|
+
judgeAttempted?: boolean;
|
|
8477
|
+
/**
|
|
8478
|
+
* Status of the local judge interface, not proof of a model network call.
|
|
8479
|
+
*/
|
|
8480
|
+
judgeStatus: "unknown"
|
|
8481
|
+
/** This evaluation did not invoke the judge interface. */
|
|
8482
|
+
| "not_called"
|
|
8483
|
+
/** The judge interface returned a usable verdict. */
|
|
8484
|
+
| "completed"
|
|
8485
|
+
/** The judge interface returned an error. */
|
|
8486
|
+
| "failed"
|
|
8487
|
+
/** This evaluation reused a cached recommendation. */
|
|
8488
|
+
| "cached"
|
|
8489
|
+
/** This request inherited another decision without local judge attribution. */
|
|
8490
|
+
| "inherited";
|
|
8491
|
+
/**
|
|
8492
|
+
* Machine-readable runtime gate reason, never a command, path or human rationale.
|
|
8493
|
+
*/
|
|
8494
|
+
reasonCode: "unknown"
|
|
8495
|
+
/** The request resolved before assisted-approval evaluation. */
|
|
8496
|
+
| "not-reached"
|
|
8497
|
+
/** Assisted approval was inactive for this request. */
|
|
8498
|
+
| "inactive"
|
|
8499
|
+
/** The judge was skipped because authorization extraction could not safely establish a complete recent history. */
|
|
8500
|
+
| "authorization-history-incomplete"
|
|
8501
|
+
/** Managed policy required a human decision. */
|
|
8502
|
+
| "managed-approval-required"
|
|
8503
|
+
/** The request asked to bypass sandbox restrictions. */
|
|
8504
|
+
| "sandbox-bypass"
|
|
8505
|
+
/** An action field exceeded the judge input limit. */
|
|
8506
|
+
| "action-too-long"
|
|
8507
|
+
/** The script path was not authorized for inspection. */
|
|
8508
|
+
| "path-not-authorized"
|
|
8509
|
+
/** The script working directory was invalid. */
|
|
8510
|
+
| "invalid-working-directory"
|
|
8511
|
+
/** The script snapshot could not be read. */
|
|
8512
|
+
| "unreadable"
|
|
8513
|
+
/** The script path was not a regular file. */
|
|
8514
|
+
| "not-regular-file"
|
|
8515
|
+
/** The script snapshot exceeded the size limit. */
|
|
8516
|
+
| "too-large"
|
|
8517
|
+
/** The script snapshot was not UTF-8. */
|
|
8518
|
+
| "non-utf8"
|
|
8519
|
+
/** The script interpreter could not be inspected. */
|
|
8520
|
+
| "interpreter-unavailable"
|
|
8521
|
+
/** The interpreter snapshot exceeded the size limit. */
|
|
8522
|
+
| "interpreter-too-large"
|
|
8523
|
+
/** The shell environment could not be reviewed. */
|
|
8524
|
+
| "shell-environment-unreviewable"
|
|
8525
|
+
/** A script path could not be represented for review. */
|
|
8526
|
+
| "unrepresentable-path"
|
|
8527
|
+
/** An interpreter wrapped a script that could not be reviewed. */
|
|
8528
|
+
| "interpreter-wrapped-script"
|
|
8529
|
+
/** The script invocation could not be reviewed. */
|
|
8530
|
+
| "unreviewable-script-invocation"
|
|
8531
|
+
/** The script argument binding could not be reviewed. */
|
|
8532
|
+
| "argument-binding-unreviewable"
|
|
8533
|
+
/** The script review metadata was malformed. */
|
|
8534
|
+
| "malformed-script-action-review"
|
|
8535
|
+
/** The script snapshot manifest was malformed. */
|
|
8536
|
+
| "malformed-script-action-manifest"
|
|
8537
|
+
/** Script review was unavailable. */
|
|
8538
|
+
| "unavailable"
|
|
8539
|
+
/** The judge interface returned a usable verdict. */
|
|
8540
|
+
| "judge-verdict"
|
|
8541
|
+
/** The judge interface returned an error. */
|
|
8542
|
+
| "judge-error"
|
|
8543
|
+
/** The request inherited an outcome from another decision. */
|
|
8544
|
+
| "inherited";
|
|
8545
|
+
}
|
|
7958
8546
|
/**
|
|
7959
8547
|
* Custom tool invocation permission request
|
|
7960
8548
|
*/
|
|
@@ -8698,12 +9286,17 @@ export interface PermissionCompletedEvent {
|
|
|
8698
9286
|
* Permission request completion notification signaling UI dismissal
|
|
8699
9287
|
*/
|
|
8700
9288
|
export interface PermissionCompletedData {
|
|
9289
|
+
blocker?: TaskBlocker;
|
|
8701
9290
|
/**
|
|
8702
9291
|
* 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.
|
|
8703
9292
|
*
|
|
8704
9293
|
* @experimental
|
|
8705
9294
|
*/
|
|
8706
9295
|
decisionSource?: PermissionDecisionSource;
|
|
9296
|
+
/**
|
|
9297
|
+
* Permission-recovery episode settled by this response, when the request was escalated by Autopilot
|
|
9298
|
+
*/
|
|
9299
|
+
recoveryEpisodeId?: string;
|
|
8707
9300
|
/**
|
|
8708
9301
|
* Request ID of the resolved permission request; clients should dismiss any UI for this request
|
|
8709
9302
|
*/
|
|
@@ -9139,7 +9732,7 @@ export interface PermissionMessageAuthorizationData {
|
|
|
9139
9732
|
world?: JsonValue;
|
|
9140
9733
|
}
|
|
9141
9734
|
/**
|
|
9142
|
-
* 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.
|
|
9735
|
+
* 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.
|
|
9143
9736
|
*/
|
|
9144
9737
|
/** @experimental */
|
|
9145
9738
|
export interface PermissionMessageAuthorizationReadEvent {
|
|
@@ -9170,10 +9763,16 @@ export interface PermissionMessageAuthorizationReadEvent {
|
|
|
9170
9763
|
type: "permission.messageAuthorizationRead";
|
|
9171
9764
|
}
|
|
9172
9765
|
/**
|
|
9173
|
-
* 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.
|
|
9766
|
+
* 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.
|
|
9174
9767
|
*/
|
|
9175
9768
|
/** @experimental */
|
|
9176
9769
|
export interface PermissionMessageAuthorizationReadData {
|
|
9770
|
+
/**
|
|
9771
|
+
* Whether this read activates ongoing message-backed extraction. False for a contextual-assent-only pass while auto-approval is off, so unrelated future messages remain outside extraction.
|
|
9772
|
+
*
|
|
9773
|
+
* @experimental
|
|
9774
|
+
*/
|
|
9775
|
+
activatesExtraction?: boolean;
|
|
9177
9776
|
/**
|
|
9178
9777
|
* The human turn that was read by the proposer.
|
|
9179
9778
|
*
|
|
@@ -9224,6 +9823,128 @@ export interface PermissionMessageAuthorizationDegradedData {
|
|
|
9224
9823
|
*/
|
|
9225
9824
|
turnIndex: number;
|
|
9226
9825
|
}
|
|
9826
|
+
/**
|
|
9827
|
+
* 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.
|
|
9828
|
+
*/
|
|
9829
|
+
/** @experimental */
|
|
9830
|
+
export interface PermissionAssentDetectedEvent {
|
|
9831
|
+
/**
|
|
9832
|
+
* Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
|
|
9833
|
+
*/
|
|
9834
|
+
agentId?: string;
|
|
9835
|
+
data: PermissionAssentDetectedData;
|
|
9836
|
+
/**
|
|
9837
|
+
* When true, the event is transient and not persisted to the session event log on disk
|
|
9838
|
+
*/
|
|
9839
|
+
ephemeral?: boolean;
|
|
9840
|
+
/**
|
|
9841
|
+
* Unique event identifier (UUID v4), generated when the event is emitted
|
|
9842
|
+
*/
|
|
9843
|
+
id: string;
|
|
9844
|
+
/**
|
|
9845
|
+
* ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
|
|
9846
|
+
*/
|
|
9847
|
+
parentId: string | null;
|
|
9848
|
+
/**
|
|
9849
|
+
* ISO 8601 timestamp when the event was created
|
|
9850
|
+
*/
|
|
9851
|
+
timestamp: string;
|
|
9852
|
+
/**
|
|
9853
|
+
* Type discriminator. Always "permission.assentDetected".
|
|
9854
|
+
*/
|
|
9855
|
+
type: "permission.assentDetected";
|
|
9856
|
+
}
|
|
9857
|
+
/**
|
|
9858
|
+
* 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.
|
|
9859
|
+
*/
|
|
9860
|
+
/** @experimental */
|
|
9861
|
+
export interface PermissionAssentDetectedData {
|
|
9862
|
+
/**
|
|
9863
|
+
* Permission request the likely assent may refer to. The runtime derives this from the preceding durable blocker; the human message and extraction model do not choose it.
|
|
9864
|
+
*
|
|
9865
|
+
* @experimental
|
|
9866
|
+
*/
|
|
9867
|
+
requestId: string;
|
|
9868
|
+
/**
|
|
9869
|
+
* Human turn whose text triggered the deterministic assent recognizer.
|
|
9870
|
+
*
|
|
9871
|
+
* @experimental
|
|
9872
|
+
*/
|
|
9873
|
+
turnIndex: number;
|
|
9874
|
+
}
|
|
9875
|
+
/**
|
|
9876
|
+
* 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.
|
|
9877
|
+
*/
|
|
9878
|
+
/** @experimental */
|
|
9879
|
+
export interface PermissionContextualAuthorizationEvent {
|
|
9880
|
+
/**
|
|
9881
|
+
* Sub-agent instance identifier. Absent for events from the root/main agent and session-level events.
|
|
9882
|
+
*/
|
|
9883
|
+
agentId?: string;
|
|
9884
|
+
data: PermissionContextualAuthorizationData;
|
|
9885
|
+
/**
|
|
9886
|
+
* When true, the event is transient and not persisted to the session event log on disk
|
|
9887
|
+
*/
|
|
9888
|
+
ephemeral?: boolean;
|
|
9889
|
+
/**
|
|
9890
|
+
* Unique event identifier (UUID v4), generated when the event is emitted
|
|
9891
|
+
*/
|
|
9892
|
+
id: string;
|
|
9893
|
+
/**
|
|
9894
|
+
* ID of the chronologically preceding event in the session, forming a linked chain. Null for the first event.
|
|
9895
|
+
*/
|
|
9896
|
+
parentId: string | null;
|
|
9897
|
+
/**
|
|
9898
|
+
* ISO 8601 timestamp when the event was created
|
|
9899
|
+
*/
|
|
9900
|
+
timestamp: string;
|
|
9901
|
+
/**
|
|
9902
|
+
* Type discriminator. Always "permission.contextualAuthorization".
|
|
9903
|
+
*/
|
|
9904
|
+
type: "permission.contextualAuthorization";
|
|
9905
|
+
}
|
|
9906
|
+
/**
|
|
9907
|
+
* 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.
|
|
9908
|
+
*/
|
|
9909
|
+
/** @experimental */
|
|
9910
|
+
export interface PermissionContextualAuthorizationData {
|
|
9911
|
+
/**
|
|
9912
|
+
* Whether the contextual human span granted or denied authority.
|
|
9913
|
+
*
|
|
9914
|
+
* @experimental
|
|
9915
|
+
*/
|
|
9916
|
+
polarity: PermissionMessageAuthorizationPolarity;
|
|
9917
|
+
/**
|
|
9918
|
+
* Deterministic identity of the contextual message grant.
|
|
9919
|
+
*
|
|
9920
|
+
* @experimental
|
|
9921
|
+
*/
|
|
9922
|
+
recordId: string;
|
|
9923
|
+
/**
|
|
9924
|
+
* Original blocked permission request selected by deterministic event ordering, never by the extraction model.
|
|
9925
|
+
*
|
|
9926
|
+
* @experimental
|
|
9927
|
+
*/
|
|
9928
|
+
requestId: string;
|
|
9929
|
+
/**
|
|
9930
|
+
* End byte offset of the contextual decision span within the turn.
|
|
9931
|
+
*
|
|
9932
|
+
* @experimental
|
|
9933
|
+
*/
|
|
9934
|
+
spanEnd: number;
|
|
9935
|
+
/**
|
|
9936
|
+
* Start byte offset of the contextual decision span within the turn.
|
|
9937
|
+
*
|
|
9938
|
+
* @experimental
|
|
9939
|
+
*/
|
|
9940
|
+
spanStart: number;
|
|
9941
|
+
/**
|
|
9942
|
+
* Human turn containing the contextual decision.
|
|
9943
|
+
*
|
|
9944
|
+
* @experimental
|
|
9945
|
+
*/
|
|
9946
|
+
turnIndex: number;
|
|
9947
|
+
}
|
|
9227
9948
|
/**
|
|
9228
9949
|
* Session event "user_input.requested". User input request notification with question and optional predefined choices
|
|
9229
9950
|
*/
|
|
@@ -11198,6 +11919,10 @@ export interface McpServersLoadedData {
|
|
|
11198
11919
|
* A single MCP server status summary in `session.mcp_servers_loaded`, including name, status, source, transport, and plugin metadata.
|
|
11199
11920
|
*/
|
|
11200
11921
|
export interface McpServersLoadedServer {
|
|
11922
|
+
/**
|
|
11923
|
+
* Human-readable display name supplied by a managed server catalog.
|
|
11924
|
+
*/
|
|
11925
|
+
displayName?: string;
|
|
11201
11926
|
/**
|
|
11202
11927
|
* Error message if the server failed to connect
|
|
11203
11928
|
*/
|