@sema-agent/client-core 0.109.0 → 0.111.0

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.
Files changed (236) hide show
  1. package/CHANGELOG.md +342 -0
  2. package/README.md +88 -32
  3. package/dist/abortableSleep.d.ts +7 -0
  4. package/dist/abortableSleep.js +37 -0
  5. package/dist/adapt/arms.js +45 -11
  6. package/dist/adapt/toolCards.d.ts +3 -1
  7. package/dist/adapt/toolCards.js +4 -2
  8. package/dist/adapter/activeRunSelfHeal.d.ts +39 -0
  9. package/dist/adapter/activeRunSelfHeal.js +171 -3
  10. package/dist/adapter/downstream/eventToSdkMessage.js +20 -15
  11. package/dist/adapter/downstream/terminalToSdkResult.d.ts +2 -0
  12. package/dist/adapter/downstream/terminalToSdkResult.js +11 -0
  13. package/dist/adapter/runStream.d.ts +5 -0
  14. package/dist/adapter/runStream.js +15 -3
  15. package/dist/attachmentRoute.d.ts +20 -0
  16. package/dist/attachmentRoute.js +39 -0
  17. package/dist/attachmentsWireCaps.js +1 -1
  18. package/dist/builtinOutputStyles.d.ts +12 -0
  19. package/dist/builtinOutputStyles.js +147 -0
  20. package/dist/compactionStatus.d.ts +9 -0
  21. package/dist/compactionStatus.js +29 -5
  22. package/dist/controlRouter.js +2 -1
  23. package/dist/coreValuePorts.d.ts +39 -1
  24. package/dist/coreValuePorts.js +10 -0
  25. package/dist/declared/supportFloorDeclared.js +1 -1
  26. package/dist/displayUntrusted.d.ts +1 -0
  27. package/dist/displayUntrusted.js +138 -14
  28. package/dist/engineErrorCodes.d.ts +3 -0
  29. package/dist/engineErrorCodes.js +3 -0
  30. package/dist/engineHealthFacts.d.ts +20 -0
  31. package/dist/engineHealthFacts.js +42 -1
  32. package/dist/engineHealthProbeVerdict.d.ts +23 -0
  33. package/dist/engineHealthProbeVerdict.js +115 -0
  34. package/dist/engineInlineTaskStats.d.ts +4 -3
  35. package/dist/engineInlineTaskStats.js +18 -2
  36. package/dist/engineNoticeCodes.d.ts +10 -0
  37. package/dist/engineNoticeCodes.js +36 -6
  38. package/dist/engineRepoint.d.ts +147 -0
  39. package/dist/engineRepoint.js +310 -0
  40. package/dist/engineRowRef.d.ts +3 -0
  41. package/dist/engineRowRef.js +13 -1
  42. package/dist/engineSessionMessages.d.ts +2 -1
  43. package/dist/engineSessionMessages.js +5 -0
  44. package/dist/engineSwapCrossing.d.ts +57 -0
  45. package/dist/engineSwapCrossing.js +297 -0
  46. package/dist/engineUnavailable.d.ts +44 -0
  47. package/dist/engineUnavailable.js +492 -0
  48. package/dist/errorSupplementRoles.js +2 -1
  49. package/dist/eventLeg.js +3 -3
  50. package/dist/fleet/fleetProjection.js +3 -2
  51. package/dist/generated/engineFactTables.d.ts +2 -0
  52. package/dist/generated/engineFactTables.js +12 -0
  53. package/dist/generated/sdkFactTables.d.ts +2 -1
  54. package/dist/generated/sdkFactTables.js +5 -0
  55. package/dist/generated/settingsSchemaTables.d.ts +4 -0
  56. package/dist/generated/settingsSchemaTables.js +1 -0
  57. package/dist/hitl/approvalAskers.d.ts +6 -0
  58. package/dist/hitl/approvalAskers.js +30 -0
  59. package/dist/hitl/approvalCardReasons.js +6 -3
  60. package/dist/hitl/approvalDelivery.d.ts +1 -0
  61. package/dist/hitl/approvalDelivery.js +1 -1
  62. package/dist/hitl/approvalRequestFrameReading.d.ts +7 -0
  63. package/dist/hitl/approvalRequestFrameReading.js +11 -0
  64. package/dist/hitl/approvalResolution.d.ts +9 -2
  65. package/dist/hitl/approvalResolution.js +6 -1
  66. package/dist/hitl/askGateWire.js +5 -8
  67. package/dist/hitl/automaticAnswerVerdict.js +2 -2
  68. package/dist/hitl/decisionConflict.js +6 -3
  69. package/dist/hitl/decisionRefusal.d.ts +2 -0
  70. package/dist/hitl/decisionRefusal.js +8 -8
  71. package/dist/hitl/decisionRefusalCarrier.d.ts +3 -0
  72. package/dist/hitl/decisionRefusalCarrier.js +348 -0
  73. package/dist/hitl/decisionSend.d.ts +10 -0
  74. package/dist/hitl/decisionSend.js +57 -17
  75. package/dist/hitl/editedApprovalAcceptance.d.ts +25 -0
  76. package/dist/hitl/editedApprovalAcceptance.js +26 -0
  77. package/dist/hitl/elicitationRefusal.d.ts +4 -0
  78. package/dist/hitl/elicitationRefusal.js +23 -0
  79. package/dist/hitl/frameRouter.d.ts +2 -2
  80. package/dist/hitl/frameRouter.js +12 -33
  81. package/dist/hitl/gateIdentity.d.ts +5 -0
  82. package/dist/hitl/gateIdentity.js +23 -0
  83. package/dist/hitl/gateLedger.d.ts +0 -4
  84. package/dist/hitl/gateLedger.js +0 -19
  85. package/dist/hitl/hitlBridge.d.ts +7 -0
  86. package/dist/hitl/hitlBridge.js +14 -8
  87. package/dist/hitl/hitlHostSurface.d.ts +3 -1
  88. package/dist/hitl/hitlHostSurface.js +14 -4
  89. package/dist/hitl/hostWithdrawal.d.ts +15 -0
  90. package/dist/hitl/hostWithdrawal.js +38 -0
  91. package/dist/hitl/localAllowRedemption.d.ts +67 -0
  92. package/dist/hitl/localAllowRedemption.js +256 -0
  93. package/dist/hitl/parkResolver.js +32 -13
  94. package/dist/hitl/persistedRulesWire.d.ts +16 -0
  95. package/dist/hitl/persistedRulesWire.js +72 -2
  96. package/dist/hitl/planReviewWire.d.ts +3 -0
  97. package/dist/hitl/planReviewWire.js +37 -10
  98. package/dist/hitl/policyDenyCause.d.ts +1 -1
  99. package/dist/hitl/policyDenyCause.js +1 -1
  100. package/dist/hitl/resumeRunningCard.d.ts +1 -0
  101. package/dist/hitl/resumeRunningCard.js +1 -0
  102. package/dist/hitl/screenCardCarriers.d.ts +15 -0
  103. package/dist/hitl/screenCardCarriers.js +41 -0
  104. package/dist/hitl/screenDecisionCards.d.ts +98 -0
  105. package/dist/hitl/screenDecisionCards.js +362 -0
  106. package/dist/hitl/sessionPolicyWire.js +6 -4
  107. package/dist/hitl/standingRows.d.ts +4 -1
  108. package/dist/hitl/standingRows.js +33 -1
  109. package/dist/hitl/toolApprovalWire.d.ts +64 -15
  110. package/dist/hitl/toolApprovalWire.js +470 -125
  111. package/dist/hooksWireCaps.js +31 -1
  112. package/dist/hostSettingNoticeArm.d.ts +3 -0
  113. package/dist/hostSettingNoticeArm.js +12 -0
  114. package/dist/hostTurnSettings.d.ts +13 -4
  115. package/dist/hostTurnSettings.js +150 -10
  116. package/dist/humanTurnRead.js +11 -1
  117. package/dist/i18n/messages.en.d.ts +212 -0
  118. package/dist/i18n/messages.en.js +217 -5
  119. package/dist/i18n/messages.zh.js +235 -5
  120. package/dist/i18n/translate.d.ts +3 -0
  121. package/dist/i18n/translate.js +78 -10
  122. package/dist/i18n/zh.d.ts +1 -0
  123. package/dist/i18n/zh.js +1 -0
  124. package/dist/index.d.ts +56 -16
  125. package/dist/index.js +40 -12
  126. package/dist/inheritEnvCapability.js +2 -0
  127. package/dist/inputAuthor.d.ts +16 -0
  128. package/dist/inputAuthor.js +44 -0
  129. package/dist/interactiveHalt.js +2 -1
  130. package/dist/interactiveInterrupt.js +20 -2
  131. package/dist/interruptRefusalNote.d.ts +2 -0
  132. package/dist/interruptRefusalNote.js +17 -0
  133. package/dist/liveModelCatalog.d.ts +2 -0
  134. package/dist/liveModelCatalog.js +23 -9
  135. package/dist/liveQuestionStore.d.ts +4 -1
  136. package/dist/liveQuestionStore.js +12 -3
  137. package/dist/localEngineSeatReading.d.ts +2 -2
  138. package/dist/localEngineSeatReading.js +5 -3
  139. package/dist/localEngineSpawn.d.ts +0 -7
  140. package/dist/localEngineSpawn.js +0 -92
  141. package/dist/localEngineStep.d.ts +2 -2
  142. package/dist/localEngineStep.js +2 -0
  143. package/dist/mcpEngineLeg.d.ts +3 -0
  144. package/dist/mcpEngineLeg.js +38 -1
  145. package/dist/mcpPanel.js +2 -0
  146. package/dist/mcpReconnect.d.ts +9 -1
  147. package/dist/mcpReconnect.js +124 -19
  148. package/dist/mcpWireCaps.js +1 -1
  149. package/dist/model/engineModelWords.d.ts +3 -0
  150. package/dist/model/engineModelWords.js +13 -0
  151. package/dist/model/subagentModelWord.d.ts +21 -2
  152. package/dist/model/subagentModelWord.js +100 -29
  153. package/dist/modelCapabilityProbe.js +7 -43
  154. package/dist/modsFace.d.ts +8 -1
  155. package/dist/modsFace.js +27 -0
  156. package/dist/notifications.d.ts +36 -6
  157. package/dist/notifications.js +170 -20
  158. package/dist/ownKey.d.ts +6 -5
  159. package/dist/ownKey.js +31 -7
  160. package/dist/peerFrames.d.ts +40 -2
  161. package/dist/peerFrames.js +158 -3
  162. package/dist/pendingUserRow.d.ts +4 -0
  163. package/dist/pendingUserRow.js +16 -0
  164. package/dist/permissionsDeclaration.d.ts +1 -0
  165. package/dist/permissionsDeclaration.js +11 -1
  166. package/dist/planReviewCardFacts.d.ts +3 -0
  167. package/dist/planReviewCardFacts.js +52 -2
  168. package/dist/pluginHooksWire.d.ts +10 -1
  169. package/dist/pluginHooksWire.js +96 -7
  170. package/dist/printToolResultFrame.js +4 -2
  171. package/dist/promptBlockedCopy.js +11 -6
  172. package/dist/promptSuggestionBatch.d.ts +7 -0
  173. package/dist/promptSuggestionBatch.js +9 -0
  174. package/dist/promptSuggestionsTail.d.ts +39 -0
  175. package/dist/promptSuggestionsTail.js +116 -0
  176. package/dist/replayBody.js +10 -2
  177. package/dist/request/taskRequest.d.ts +5 -0
  178. package/dist/request/taskRequest.js +142 -21
  179. package/dist/requestCoordinate.d.ts +1 -0
  180. package/dist/requestCoordinate.js +13 -0
  181. package/dist/resumeRefusalCopy.d.ts +1 -3
  182. package/dist/resumeRefusalCopy.js +2 -1
  183. package/dist/retryStatus.d.ts +2 -2
  184. package/dist/retryStatus.js +2 -0
  185. package/dist/rewindArchiveReading.js +4 -4
  186. package/dist/runCancelContext.d.ts +2 -1
  187. package/dist/runCancelContext.js +1 -0
  188. package/dist/runPermissionModeSwitch.js +2 -2
  189. package/dist/scenarioRefusal.js +11 -13
  190. package/dist/scenarioSkills.js +11 -6
  191. package/dist/seam.d.ts +27 -2
  192. package/dist/seam.js +17 -1
  193. package/dist/seatContract.d.ts +189 -12
  194. package/dist/seatContract.js +401 -9
  195. package/dist/sessionBackground.js +2 -1
  196. package/dist/sessionBackgroundHandoff.js +2 -1
  197. package/dist/sessionCostReading.d.ts +70 -0
  198. package/dist/sessionCostReading.js +150 -0
  199. package/dist/sessionEngine.d.ts +2 -0
  200. package/dist/sessionEngine.js +111 -0
  201. package/dist/sessionHooksRoster.d.ts +4 -0
  202. package/dist/sessionHooksRoster.js +158 -0
  203. package/dist/sessionMemoryStatus.d.ts +2 -1
  204. package/dist/sessionMemoryStatus.js +2 -2
  205. package/dist/sessionReadRedaction.d.ts +7 -0
  206. package/dist/sessionReadRedaction.js +26 -0
  207. package/dist/sessionSyncFileHistory.d.ts +4 -0
  208. package/dist/sessionSyncFileHistory.js +27 -0
  209. package/dist/settingsHooksSalvage.js +2 -1
  210. package/dist/sseIdleTriage.d.ts +13 -1
  211. package/dist/sseIdleTriage.js +25 -6
  212. package/dist/storeDurabilityWord.d.ts +15 -0
  213. package/dist/storeDurabilityWord.js +18 -0
  214. package/dist/storePostureCapability.d.ts +7 -3
  215. package/dist/storePostureCapability.js +69 -39
  216. package/dist/subagent/engineSubagentResume.js +2 -2
  217. package/dist/subagent/engineSubagentTail.js +8 -1
  218. package/dist/subagentContentStore.d.ts +11 -0
  219. package/dist/subagentContentStore.js +28 -2
  220. package/dist/terminalStatuses.d.ts +1 -0
  221. package/dist/terminalStatuses.js +4 -1
  222. package/dist/toolResult.d.ts +1 -0
  223. package/dist/toolResult.js +2 -0
  224. package/dist/turnFailurePresentation.js +9 -2
  225. package/dist/typePins.d.ts +11 -0
  226. package/dist/usageAnalytics.d.ts +17 -0
  227. package/dist/usageAnalytics.js +44 -2
  228. package/dist/userAttachmentEnvelope.d.ts +2 -1
  229. package/dist/userAttachmentEnvelope.js +10 -0
  230. package/dist/wireErrorTriage.js +2 -1
  231. package/dist/wireFailureShape.d.ts +6 -5
  232. package/dist/wireFailureShape.js +150 -38
  233. package/dist/wireRefusalCopy.d.ts +16 -5
  234. package/dist/wireRefusalCopy.js +119 -86
  235. package/docs/INTEGRATION-CLIENTS.md +4228 -21
  236. package/package.json +7 -3
@@ -3,7 +3,9 @@ import type { PermissionMode } from "./permissionWireCaps.js";
3
3
  import type { ChromeArmKind, LaneProof } from "./seam.js";
4
4
  import type { SeatTurnFailure } from "./turnFailurePresentation.js";
5
5
  import type { QuestionAnswer } from "./liveQuestionStore.js";
6
- import type { ToolApprovalDelegation } from "./hitl/toolApprovalWire.js";
6
+ import type { ApprovalInputSource, ToolApprovalDelegation } from "./hitl/toolApprovalWire.js";
7
+ import type { ApprovalRequestedBy } from "./hitl/approvalAskers.js";
8
+ import type { ApprovalRequestFrameUnreadableWhy } from "./hitl/approvalRequestFrameReading.js";
7
9
  import type { ApprovalMandateWord } from "./gateVocabulary.js";
8
10
  import type { ModelApiWord } from "./model/providerPresets.js";
9
11
  import type { LiveModelCatalog } from "./liveModelCatalog.js";
@@ -12,12 +14,19 @@ import { type ProbeVerdictWord } from "./modelCapabilityProbe.js";
12
14
  import type { SubagentContentEvent } from "./subagentContentStore.js";
13
15
  import type { DeviceEnrollTokenOutcome, DeviceListOutcome, DeviceRebindOutcome, DeviceRevokeOutcome, DeviceSessionBindingOutcome, DeviceTransport, DeviceUnarmed, DeviceUnreadable } from "./deviceRebind.js";
14
16
  import type { McpPanelView } from "./mcpPanel.js";
17
+ import type { WiringManifestModView } from "./adapter/downstream/eventToSdkMessage.js";
15
18
  import type { McpToolToggleKey } from "./mcpToolToggles.js";
16
19
  import { type ThinkingLatchEvent, type ThinkingLatchRowWord } from "./thinkingLatchWords.js";
17
20
  import type { SessionRowPatchFields, SessionRowUnreadable } from "./sessionRowTag.js";
18
21
  import { type SessionEngineKind, type SessionEngineView } from "./sessionEngine.js";
19
22
  import type { ParkedUnresumableRow } from "./hitl/parkedUnresumable.js";
20
23
  import { type EngineSwapCard } from "./localEngineSwapCard.js";
24
+ import type { ToolPermissionSettledElsewhere } from "./hitl/approvalResolution.js";
25
+ import { type HookEntryTypeWord, type HookSettingsSource, type HooksWirePlan, type PluginHookExclusionReason, type PluginHookReason, type SettingsHookDropReason } from "./pluginHooksWire.js";
26
+ import { type HttpPolicyDropReason } from "./httpHookPolicy.js";
27
+ import { type HooksSalvageDropCode, type HooksSalvageRejectionCode } from "./settingsHooksSalvage.js";
28
+ import { SETTINGS_HOOK_EVENTS } from "./generated/settingsSchemaFns.js";
29
+ import type { ToolPermissionUnconfirmed, ToolPermissionUnconfirmedCause } from "./hitl/decisionSend.js";
21
30
  export interface SeatValidationFailure {
22
31
  reason: string;
23
32
  field?: string;
@@ -87,6 +96,12 @@ export interface ToolPermissionRequest {
87
96
  askClass?: string;
88
97
  classes?: readonly string[];
89
98
  sessionRow?: true;
99
+ probeReason?: string;
100
+ probeCause?: object;
101
+ feedbackCapable?: true;
102
+ requestedBy?: ApprovalRequestedBy;
103
+ frameReading?: ApprovalRequestFrameUnreadableWhy;
104
+ inputSource?: ApprovalInputSource;
90
105
  }
91
106
  declare const SEAT_EVENT_TYPE_TUPLE: readonly ["start", "close", "session_updated", "message", "stream_event", "chrome_event", "error", "tool_permission_resolved", "subagent_content"];
92
107
  export type SeatEventType = (typeof SEAT_EVENT_TYPE_TUPLE)[number];
@@ -110,6 +125,9 @@ declare const CHROME_ARM_SEAT_ROUTE: {
110
125
  readonly compaction_outcome: "seat";
111
126
  readonly engine_notice: "seat";
112
127
  readonly subagent_alias: "seat";
128
+ readonly session_box_notice: "seat";
129
+ readonly resupply_truncated: "seat";
130
+ readonly host_setting_notice: "seat";
113
131
  readonly workflow_notification_enqueue: "host";
114
132
  readonly plan_review_park: "host";
115
133
  readonly approval_request: "host";
@@ -205,7 +223,7 @@ export type SeatStreamReading = {
205
223
  };
206
224
  export declare function seatStreamDeltaMessage(event: SeatStreamDeltaSource, ids: SeatStreamDeltaIds): SeatStreamEventMessage | undefined;
207
225
  export declare function readSeatStreamDelta(message: object): SeatStreamReading;
208
- export declare const SEAT_CAPABILITY_NAMES: readonly ["pickFolder", "rewind", "recents", "patchSession", "devices", "engineTarget", "onboard", "mcpToolToggles", "thinkingLatch", "computerUseSwitch", "engineModeDefaultOnly", "seatActions"];
226
+ export declare const SEAT_CAPABILITY_NAMES: readonly ["pickFolder", "rewind", "recents", "patchSession", "devices", "engineTarget", "onboard", "mcpToolToggles", "thinkingLatch", "computerUseSwitch", "engineModeDefaultOnly", "seatActions", "notificationLevels", "modsView", "quickEntryShortcut", "hooksRoster"];
209
227
  export type SeatCapabilityName = (typeof SEAT_CAPABILITY_NAMES)[number];
210
228
  export interface SeatCapabilitiesState {
211
229
  pickFolder?: boolean;
@@ -220,6 +238,10 @@ export interface SeatCapabilitiesState {
220
238
  computerUseSwitch?: boolean;
221
239
  engineModeDefaultOnly?: boolean;
222
240
  seatActions?: boolean;
241
+ notificationLevels?: boolean;
242
+ modsView?: boolean;
243
+ quickEntryShortcut?: boolean;
244
+ hooksRoster?: boolean;
223
245
  }
224
246
  export type SeatCapabilityReading = {
225
247
  readonly kind: "reported";
@@ -285,6 +307,9 @@ export declare const SEAT_TURN_SETTINGS_ORIGINS: Readonly<{
285
307
  outputStyle: Readonly<{
286
308
  hostSupplied: "settings.outputStyle";
287
309
  }>;
310
+ env: Readonly<{
311
+ hostSupplied: "settings.env";
312
+ }>;
288
313
  }>;
289
314
  export interface SeatRewindIntent {
290
315
  mode: RewindMode;
@@ -348,6 +373,7 @@ export interface ToolPermissionDecision {
348
373
  answer?: QuestionAnswer;
349
374
  updatedInput?: unknown;
350
375
  remember?: "session";
376
+ feedback?: string;
351
377
  }
352
378
  export interface EipcStoreClient<T> {
353
379
  getState(): Promise<T>;
@@ -383,6 +409,29 @@ export interface StopAck {
383
409
  export interface OkAck {
384
410
  ok: boolean;
385
411
  }
412
+ export type ToolPermissionAck = ToolPermissionAckSettled | ToolPermissionAckUnconfirmed;
413
+ export interface ToolPermissionAckSettled extends OkAck {
414
+ settledElsewhere?: ToolPermissionSettledElsewhere;
415
+ unconfirmed?: never;
416
+ }
417
+ export interface ToolPermissionAckUnconfirmed extends OkAck {
418
+ ok: false;
419
+ unconfirmed: ToolPermissionUnconfirmed;
420
+ settledElsewhere?: never;
421
+ }
422
+ export type ToolPermissionAckState = {
423
+ readonly kind: "applied";
424
+ } | {
425
+ readonly kind: "not_applied";
426
+ } | {
427
+ readonly kind: "unconfirmed";
428
+ readonly cause: ToolPermissionUnconfirmedCause;
429
+ };
430
+ export interface DecisionRefusalCarrier {
431
+ readonly [key: string]: DecisionRefusalCarrierValue;
432
+ }
433
+ export type DecisionRefusalCarrierValue = string | number | boolean | null | undefined | readonly DecisionRefusalCarrierValue[] | DecisionRefusalCarrier;
434
+ export type ToolPermissionRefusal = DecisionRefusalCarrier;
386
435
  export interface SessionsState {
387
436
  sessions: LocalSessionRecord[];
388
437
  }
@@ -482,7 +531,7 @@ export type SeatLocalMcpReading = {
482
531
  readAt: string;
483
532
  restartRequired?: true;
484
533
  };
485
- export declare const LOCAL_ENGINE_DOWN_REASONS: readonly ["lock-unavailable", "spawn-failed", "spawn-refused", "stop-failed", "crash-loop", "high-water-unreadable", "principal-unknown"];
534
+ export declare const LOCAL_ENGINE_DOWN_REASONS: readonly ["lock-unavailable", "spawn-failed", "spawn-refused", "stop-failed", "crash-loop", "high-water-unreadable", "exited-once", "principal-unknown"];
486
535
  export type LocalEngineDownReason = (typeof LOCAL_ENGINE_DOWN_REASONS)[number];
487
536
  export declare const LOCAL_ENGINE_WAITING_REASONS: readonly ["starting", "dormant", "draining", "unanswered", "peer"];
488
537
  export type LocalEngineWaitingReason = (typeof LOCAL_ENGINE_WAITING_REASONS)[number];
@@ -515,13 +564,13 @@ export type SelfUpgradeOutcome = (typeof SELF_UPGRADE_OUTCOMES)[number];
515
564
  export interface EngineTargetLocal {
516
565
  lastBootError?: string;
517
566
  mcp?: SeatLocalMcpReading;
518
- lifecycle?: LocalEngineSeatReading;
567
+ lifecycle: LocalEngineSeatReading;
519
568
  }
520
569
  export interface EngineTargetState {
521
570
  mode: "local" | "cloud";
522
571
  generation: number;
523
572
  cloud: EngineTargetCloud;
524
- local: EngineTargetLocal;
573
+ local?: EngineTargetLocal;
525
574
  }
526
575
  export interface EngineTargetRefused {
527
576
  ok: false;
@@ -646,6 +695,46 @@ export interface OnboardProvidersResult {
646
695
  }
647
696
  export declare const checkOnboardEntryRequest: (v: unknown) => SeatValidation;
648
697
  export declare const checkOnboardApplyRequest: (v: unknown) => SeatValidation;
698
+ export interface SessionModsView {
699
+ readonly rows: readonly WiringManifestModView[];
700
+ }
701
+ export declare const SESSION_HOOKS_ROSTER_STATUSES: readonly ["engine", "shell", "not_run"];
702
+ export type SessionHooksRosterStatus = (typeof SESSION_HOOKS_ROSTER_STATUSES)[number];
703
+ export type SessionHooksRosterEvent = (typeof SETTINGS_HOOK_EVENTS)[number];
704
+ export interface SessionHooksRosterRow {
705
+ readonly source: HookSettingsSource;
706
+ readonly event: SessionHooksRosterEvent;
707
+ readonly groupIndex: number;
708
+ readonly hookIndex: number;
709
+ readonly type?: HookEntryTypeWord;
710
+ readonly status: SessionHooksRosterStatus;
711
+ readonly reason: PluginHookReason | PluginHookExclusionReason | SettingsHookDropReason;
712
+ }
713
+ export type SessionHooksRosterLayer = {
714
+ readonly source: HookSettingsSource;
715
+ readonly state: "loaded-partial";
716
+ readonly codes: readonly HooksSalvageDropCode[];
717
+ } | {
718
+ readonly source: HookSettingsSource;
719
+ readonly state: "rejected";
720
+ readonly codes: readonly HooksSalvageRejectionCode[];
721
+ } | {
722
+ readonly source: HookSettingsSource;
723
+ readonly state: "trust_withheld";
724
+ };
725
+ export interface SessionHooksRosterHttpRow {
726
+ readonly source: HookSettingsSource;
727
+ readonly event: SessionHooksRosterEvent;
728
+ readonly reason: HttpPolicyDropReason;
729
+ }
730
+ export interface SessionHooksRoster {
731
+ readonly closedBy: HooksWirePlan["closedBy"];
732
+ readonly sources?: readonly HookSettingsSource[];
733
+ readonly rows: readonly SessionHooksRosterRow[];
734
+ readonly layers: readonly SessionHooksRosterLayer[];
735
+ readonly http: readonly SessionHooksRosterHttpRow[];
736
+ readonly unlisted: number;
737
+ }
649
738
  export declare const checkMcpToolToggleKey: (v: unknown) => SeatValidation;
650
739
  export interface McpToolTogglesResult {
651
740
  off: McpToolToggleKey[];
@@ -686,7 +775,62 @@ export type SetComputerUsePlan = {
686
775
  readonly reason: Exclude<ComputerUseRefusalReason, "write-failed">;
687
776
  };
688
777
  export declare function planSetComputerUse(request: {} | null | undefined, lockedByEnv: boolean): SetComputerUsePlan;
689
- export declare const SEAT_ACTION_NAMES: readonly ["new-project", "prefill-composer"];
778
+ export declare const NOTIFICATION_LEVEL_TYPES: readonly ["permission", "question", "idle"];
779
+ export type NotificationLevelType = (typeof NOTIFICATION_LEVEL_TYPES)[number];
780
+ export declare const NOTIFICATION_LEVELS: readonly ["off", "badge", "banner"];
781
+ export type NotificationLevel = (typeof NOTIFICATION_LEVELS)[number];
782
+ export declare const NOTIFICATION_LEVEL_REFUSAL_REASONS: readonly ["invalid-request", "unsupported-level", "write-failed"];
783
+ export type NotificationLevelRefusalReason = (typeof NOTIFICATION_LEVEL_REFUSAL_REASONS)[number];
784
+ export interface NotificationLevelsState {
785
+ levels: Record<NotificationLevelType, NotificationLevel>;
786
+ supported: NotificationLevel[];
787
+ }
788
+ export type SetNotificationLevelResult = {
789
+ ok: true;
790
+ state: NotificationLevelsState;
791
+ } | {
792
+ ok: false;
793
+ reason: NotificationLevelRefusalReason;
794
+ state: NotificationLevelsState;
795
+ };
796
+ export type SetNotificationLevelPlan = {
797
+ readonly kind: "apply";
798
+ readonly type: NotificationLevelType;
799
+ readonly level: NotificationLevel;
800
+ } | {
801
+ readonly kind: "refused";
802
+ readonly reason: Exclude<NotificationLevelRefusalReason, "write-failed">;
803
+ };
804
+ export declare function planSetNotificationLevel(type: {} | null | undefined, level: {} | null | undefined, supported: readonly NotificationLevel[]): SetNotificationLevelPlan;
805
+ export declare const QUICK_ENTRY_SHORTCUT_FAILURES: readonly ["invalid-accelerator", "registration-failed"];
806
+ export type QuickEntryShortcutFailure = (typeof QUICK_ENTRY_SHORTCUT_FAILURES)[number];
807
+ export declare const QUICK_ENTRY_SHORTCUT_REFUSAL_REASONS: readonly ["invalid-request", "invalid-accelerator", "registration-failed", "write-failed"];
808
+ export type QuickEntryShortcutRefusalReason = (typeof QUICK_ENTRY_SHORTCUT_REFUSAL_REASONS)[number];
809
+ export type QuickEntryShortcut = "off" | {
810
+ readonly accelerator: string;
811
+ };
812
+ export interface QuickEntryShortcutState {
813
+ saved: QuickEntryShortcut;
814
+ active: string | null;
815
+ savedFailure: QuickEntryShortcutFailure | null;
816
+ }
817
+ export type SetQuickEntryShortcutResult = {
818
+ ok: true;
819
+ state: QuickEntryShortcutState;
820
+ } | {
821
+ ok: false;
822
+ reason: QuickEntryShortcutRefusalReason;
823
+ state: QuickEntryShortcutState;
824
+ };
825
+ export type SetQuickEntryShortcutPlan = {
826
+ readonly kind: "apply";
827
+ readonly next: QuickEntryShortcut;
828
+ } | {
829
+ readonly kind: "refused";
830
+ readonly reason: "invalid-request";
831
+ };
832
+ export declare function planSetQuickEntryShortcut(request: {} | null | undefined): SetQuickEntryShortcutPlan;
833
+ export declare const SEAT_ACTION_NAMES: readonly ["new-project", "prefill-composer", "open-local-setup"];
690
834
  export type SeatActionName = (typeof SEAT_ACTION_NAMES)[number];
691
835
  export type SeatAction = {
692
836
  readonly action: "new-project";
@@ -694,6 +838,8 @@ export type SeatAction = {
694
838
  readonly action: "prefill-composer";
695
839
  readonly text: string;
696
840
  readonly cwd?: string;
841
+ } | {
842
+ readonly action: "open-local-setup";
697
843
  };
698
844
  export interface SeatActionsClaim {
699
845
  readonly actions: readonly string[];
@@ -717,7 +863,7 @@ export interface LocalSessionsApi {
717
863
  sendMessage(req: SendMessageRequest): Promise<SendMessageAck>;
718
864
  interrupt(req: SessionScopedRequest): Promise<InterruptAck>;
719
865
  stop(req: SessionScopedRequest): Promise<StopAck>;
720
- respondToToolPermission(req: ToolPermissionDecision): Promise<OkAck>;
866
+ respondToToolPermission(req: ToolPermissionDecision): Promise<ToolPermissionAck>;
721
867
  cancelQueuedMessage(sessionId: string, userMessageUuid: string): Promise<boolean>;
722
868
  reorderQueuedMessage(sessionId: string, userMessageUuid: string, targetUserMessageUuid: string): Promise<boolean>;
723
869
  promoteQueuedMessage(sessionId: string, userMessageUuid: string): Promise<boolean>;
@@ -754,7 +900,13 @@ export interface LocalSessionsApi {
754
900
  setThinkingLatch(req: SetThinkingLatchRequest): Promise<OkAck>;
755
901
  getComputerUse(): Promise<ComputerUseState>;
756
902
  setComputerUse(req: SetComputerUseRequest): Promise<SetComputerUseResult>;
903
+ getNotificationLevels(): Promise<NotificationLevelsState>;
904
+ setNotificationLevel(type: NotificationLevelType, level: NotificationLevel): Promise<SetNotificationLevelResult>;
905
+ getQuickEntryShortcut(): Promise<QuickEntryShortcutState>;
906
+ setQuickEntryShortcut(next: QuickEntryShortcut): Promise<SetQuickEntryShortcutResult>;
757
907
  claimSeatActions(req: SeatActionsClaim): Promise<OkAck>;
908
+ readSessionMods(sessionId: string): Promise<SessionModsView | DeviceUnreadable | DeviceUnarmed>;
909
+ readSessionHooksRoster(sessionId: string): Promise<SessionHooksRoster | DeviceUnreadable | DeviceUnarmed>;
758
910
  onEvent(cb: (ev: LocalSessionEvent) => void): () => void;
759
911
  onToolPermissionRequest(cb: (req: ToolPermissionRequest) => void): () => void;
760
912
  onSeatAction(cb: (action: SeatAction) => void): () => void;
@@ -803,12 +955,14 @@ export declare function isSetThinkingLatchRequest(v: unknown): v is SetThinkingL
803
955
  export declare const checkStartSessionOptions: (v: unknown) => SeatValidation;
804
956
  export declare const checkSeatResourceScope: (v: unknown) => SeatValidation;
805
957
  export declare function isSendMessageAck(v: unknown): v is SendMessageAck;
958
+ export declare function readToolPermissionSettledElsewhere(ack: object | null | undefined): ToolPermissionSettledElsewhere | undefined;
959
+ export declare function readToolPermissionAckState(ack: ToolPermissionAck | null | undefined): ToolPermissionAckState | undefined;
806
960
  export declare const LOCAL_SESSIONS_SPEC: EipcServiceSpec;
807
- export declare const SEAT_METHOD_NAMES: readonly ["start", "sendMessage", "interrupt", "stop", "respondToToolPermission", "cancelQueuedMessage", "reorderQueuedMessage", "promoteQueuedMessage", "setFocusedSession", "setModel", "getTranscript", "searchSessions", "uploadAttachment", "listModels", "applyModelConfig", "pickFolder", "listRecentFolders", "noteRecentFolder", "patchSession", "listDevices", "readSessionBinding", "rebindSession", "issueEnrollToken", "revokeDevice", "setEngineMode", "startCloudLogin", "cancelCloudLogin", "connectCloudEngine", "configureCloudEngine", "clearCloudEngine", "answerEngineSwap", "beginSelfUpgrade", "listOnboardProviders", "probeOnboardEntry", "applyOnboardEntry", "readSessionMcpPanel", "listMcpToolToggles", "setMcpToolToggle", "setThinkingLatch", "getComputerUse", "setComputerUse", "claimSeatActions", "onEvent", "onToolPermissionRequest", "onSeatAction"];
961
+ export declare const SEAT_METHOD_NAMES: readonly ["start", "sendMessage", "interrupt", "stop", "respondToToolPermission", "cancelQueuedMessage", "reorderQueuedMessage", "promoteQueuedMessage", "setFocusedSession", "setModel", "getTranscript", "searchSessions", "uploadAttachment", "listModels", "applyModelConfig", "pickFolder", "listRecentFolders", "noteRecentFolder", "patchSession", "listDevices", "readSessionBinding", "rebindSession", "issueEnrollToken", "revokeDevice", "setEngineMode", "startCloudLogin", "cancelCloudLogin", "connectCloudEngine", "configureCloudEngine", "clearCloudEngine", "answerEngineSwap", "beginSelfUpgrade", "listOnboardProviders", "probeOnboardEntry", "applyOnboardEntry", "readSessionMcpPanel", "listMcpToolToggles", "setMcpToolToggle", "setThinkingLatch", "getComputerUse", "setComputerUse", "getNotificationLevels", "setNotificationLevel", "getQuickEntryShortcut", "setQuickEntryShortcut", "claimSeatActions", "readSessionMods", "readSessionHooksRoster", "onEvent", "onToolPermissionRequest", "onSeatAction"];
808
962
  export declare const SEAT_STORE_PROPS: readonly ["sessionsStateStore", "focusedSessionStateStore", "settingsStateStore", "seatCapabilitiesStateStore", "engineTargetStateStore"];
809
963
  export declare const SEAT_EVENT_METHOD_NAMES: readonly ["onEvent", "onToolPermissionRequest", "onSeatAction"];
810
964
  export declare const LOCAL_SESSION_EVENT_KEYS: readonly ["type", "sessionId", "message", "error", "errorCategory", "code", "session", "userMessageUuid", "requestId", "outcome", "parked", "chrome", "_sema_turnFailure", "subagentContent"];
811
- export declare const TOOL_PERMISSION_REQUEST_KEYS: readonly ["requestId", "sessionId", "toolName", "toolCallId", "input", "message", "toctouBinding", "createdAtMs", "governanceForced", "delegation", "mandated", "mandate", "origin", "ruleOffersAbsence", "askClass", "classes", "sessionRow"];
965
+ export declare const TOOL_PERMISSION_REQUEST_KEYS: readonly ["requestId", "sessionId", "toolName", "toolCallId", "input", "message", "toctouBinding", "createdAtMs", "governanceForced", "delegation", "mandated", "mandate", "origin", "ruleOffersAbsence", "askClass", "classes", "sessionRow", "probeReason", "probeCause", "feedbackCapable", "requestedBy", "frameReading", "inputSource"];
812
966
  export declare const LOCAL_SESSION_RECORD_KEYS: readonly ["sessionId", "engineSessionId", "model", "title", "cwd", "isRunning", "createdAt", "lastActivityAt", "queuedMessages", "parked", "pinned", "rowTag", "unreadable", "thinkingLatch", "engine", "executionLane", "parkedUnresumable"];
813
967
  export declare const SEND_MESSAGE_REQUEST_KEYS: readonly ["sessionId", "text", "model", "userMessageUuid", "permissionMode", "attachmentIds", "reasoningEffort", "retainBackgroundProcesses", "forwardSubagentEvents", "retainSubagentSessions", "settings", "scenario", "rewind"];
814
968
  export declare const SEAT_SEND_MESSAGE_KEY_ORIGINS: {
@@ -853,7 +1007,7 @@ export declare const SEAT_SEND_MESSAGE_KEY_ORIGINS: {
853
1007
  readonly taskRequestKeys: readonly ["resumeAt", "resumeAtMode", "restoreFiles", "rewindFilesTo"];
854
1008
  };
855
1009
  };
856
- export declare const TOOL_PERMISSION_DECISION_KEYS: readonly ["sessionId", "requestId", "decision", "answer", "updatedInput", "remember"];
1010
+ export declare const TOOL_PERMISSION_DECISION_KEYS: readonly ["sessionId", "requestId", "decision", "answer", "updatedInput", "remember", "feedback"];
857
1011
  export declare const START_SESSION_OPTION_KEYS: readonly ["model", "title", "cwd", "excludeTools", "engine"];
858
1012
  export declare const SEAT_VALIDATOR_KEY_COVERAGE: {
859
1013
  readonly LocalSessionRecord: {
@@ -893,9 +1047,27 @@ export declare const SEAT_VALIDATOR_KEY_COVERAGE: {
893
1047
  }, {
894
1048
  readonly key: "sessionRow";
895
1049
  readonly why: "放宽方向的展示位(CC-699),判官在过境口 toolPermissionRequestAskBits(card, requestId):卡上「本会话放行」判官 standingRowsOf 的会话行同一前提 ∧ 本请求 requestId 的域带得走(live: / durable:),严格 true 才上座、永不铸 false;座位门不设第二判官,理由同 mandated(为一个展示位拒掉整条 request = 把安全 ask 丢给引擎 TTL deny)。消费端 `=== true` 才渲「本会话放行」,其余(缺席 / 坏形)一律不渲 —— 缺席是闭合失败,不是「没说就照渲」。不经过境口自铸座位请求的宿主拿不到这一位,座位卡就不给那一档。";
1050
+ }, {
1051
+ readonly key: "feedbackCapable";
1052
+ readonly why: "放宽方向的展示位(CC-585),判官在过境口 toolPermissionRequestAskBits(card, requestId):卡判官 answerCarriage(card) 答 model(卡带耐久待决行腿的正向事实 parkRow)∧ 本请求 requestId 的域恰是 durable:(只有 /decide 收放行反馈位),严格 true 才上座、永不铸 false;座位门不设第二判官,理由同 sessionRow(为一个展示位拒掉整条 request = 把安全 ask 丢给引擎 TTL deny)。消费端 `=== true` 才渲「Yes + 告诉 agent 下一步」那一格输入,其余(缺席 / 坏形)一律不渲 —— 缺席是闭合失败。不经过境口自铸座位请求的宿主拿不到这一位,座位卡就不给那一格。";
896
1053
  }, {
897
1054
  readonly key: "ruleOffersAbsence";
898
1055
  readonly why: "喂强制判据口 approvalIsMandated 的位(CC-203;寄存行那条腿的强制只以缺席词 mandated 表达),按开集读(非空串原文字节、词表不校);权威窄读在卡口与过境口,座位门不设第二判官,理由同 mandated。坏形读成缺席 ⇒ 这一路不判强制(放宽方向:寄存行上的强制就丢了;另两路 mandated / mandate 照判);表外串只是不等于 mandated。不经过境口自铸座位请求的宿主要自己按同一把窄读。";
1056
+ }, {
1057
+ readonly key: "probeReason";
1058
+ readonly why: "展示位(CC-1316),权威窄读在过境口 toolPermissionRequestAskBits,与「为什么问」那一句的读口 askProbeReasonDetail 同一个读点(自有数据属性、取值器不执行;串且去两端空白后非空才在场,原文字节);座位门不设第二判官,理由同 mandated(为一个展示位拒掉整条 request = 把安全 ask 丢给引擎 TTL deny)。坏形读成缺席 ⇒ 卡上不显示这一句,不改决断;缺席不是「没有原因」。不经过境口自铸座位请求的宿主要自己按同一把窄读。";
1059
+ }, {
1060
+ readonly key: "probeCause";
1061
+ readonly why: "展示位(CC-1316),与 probeReason 同一对、同一个读点;载体层判(自有数据属性、非 null 非数组对象)才在场,同一引用原样搬运,内部成员不校(成员的窄读归 askProbeReasonDetail / probeCauseRowsOf);座位门不设第二判官,理由同 probeReason。坏形读成缺席 ⇒ 不显示因由行,不改决断。两位按键隔离:一位读不出不连坐另一位。";
1062
+ }, {
1063
+ readonly key: "requestedBy";
1064
+ readonly why: "展示位(CC-1341),权威窄读在过境口 toolPermissionRequestAskBits,读点是卡口的唯一载体级读口 approvalRequestedByOf(载体顶层的自有数据属性、取值器不执行;kind 恰 extension 且 name 非空串才在场,出冻结的新铸副本);原始耐久待决行不读(上游不在行上铸这一位);座位门不设第二判官,理由同 mandated(为一个展示位拒掉整条 request = 把安全 ask 丢给引擎 TTL deny)。坏形读成缺席 ⇒ 卡上不显示发起者行,不改决断;缺席不是「模型发起」。不经过境口自铸座位请求的宿主要自己按同一把窄读。";
1065
+ }, {
1066
+ readonly key: "frameReading";
1067
+ readonly why: "展示位(CC-1345),权威窄读在过境口 toolPermissionRequestAskBits,读点是包内唯一读口 cardPayloadReadingOf(卡上 cardPayloadUnreadable 严格 true ∧ cardPayloadUnreadableWhy 是判因闭集三词之一才在场;卡面通用卡第一行按因选句同读它);座位门不设第二判官,理由同 mandated(为一个展示位拒掉整条 request = 把安全 ask 丢给引擎 TTL deny)。表外词 / 游离判因词 / 判因未知读成缺席 ⇒ 卡上回落不分因的原句,不改决断;缺席不是「帧读得出」。不经过境口自铸座位请求的宿主要自己按同一把窄读。";
1068
+ }, {
1069
+ readonly key: "inputSource";
1070
+ readonly why: "展示位(CC-1366),权威窄读在过境口 toolPermissionRequestAskBits,读点是包内唯一窄读 approvalInputSourceOf(载体顶层的自有数据属性、取值器不执行;闭集 record / stream 两词精确字节才在场);来源位本身只有一个铸点(卡入参读法的读数 → 位),过境口只抄卡上已铸的位、不拿 input 重判来源,原始帧 / 原始耐久待决行直交恒缺席;座位门不设第二判官,理由同 mandated(为一个展示位拒掉整条 request = 把安全 ask 丢给引擎 TTL deny)。表外词 / 近义词 / 非串读成缺席 ⇒ 壳按来源不明处置,不改决断;缺席不是 record。不经过境口自铸座位请求的宿主要自己按同一把窄读。";
899
1071
  }];
900
1072
  };
901
1073
  readonly LocalSessionEvent: {
@@ -992,6 +1164,11 @@ export declare const SEAT_VALIDATOR_KEY_COVERAGE: {
992
1164
  readonly validated: readonly ["ok"];
993
1165
  readonly unchecked: readonly [];
994
1166
  };
1167
+ readonly ToolPermissionAck: {
1168
+ readonly check: (v: unknown) => SeatValidation;
1169
+ readonly validated: readonly ["ok", "settledElsewhere", "unconfirmed"];
1170
+ readonly unchecked: readonly [];
1171
+ };
995
1172
  readonly GetTranscriptResult: {
996
1173
  readonly check: (v: unknown) => SeatValidation;
997
1174
  readonly validated: readonly ["sessionId", "messages"];
@@ -1019,7 +1196,7 @@ export declare const SEAT_VALIDATOR_KEY_COVERAGE: {
1019
1196
  };
1020
1197
  readonly SeatCapabilitiesState: {
1021
1198
  readonly check: (v: unknown) => SeatValidation;
1022
- readonly validated: readonly ["pickFolder", "rewind", "recents", "patchSession", "devices", "engineTarget", "onboard", "mcpToolToggles", "thinkingLatch", "computerUseSwitch", "engineModeDefaultOnly", "seatActions"];
1199
+ readonly validated: readonly ["pickFolder", "rewind", "recents", "patchSession", "devices", "engineTarget", "onboard", "mcpToolToggles", "thinkingLatch", "computerUseSwitch", "engineModeDefaultOnly", "seatActions", "notificationLevels", "modsView", "quickEntryShortcut", "hooksRoster"];
1023
1200
  readonly unchecked: readonly [];
1024
1201
  };
1025
1202
  readonly RecentFoldersResult: {
@@ -1059,7 +1236,7 @@ export declare const SEAT_VALIDATOR_KEY_COVERAGE: {
1059
1236
  };
1060
1237
  };
1061
1238
  export declare const SEAT_VALIDATOR_COVERAGE_EXEMPT: readonly [...{
1062
- label: "DeviceListOutcome" | "DeviceSessionBindingOutcome" | "DeviceRebindOutcome" | "DeviceEnrollTokenOutcome" | "DeviceRevokeOutcome" | "SeatDeviceRebindRequest" | "SeatDeviceRevokeRequest" | "EngineTargetState" | "EngineTargetResult" | "CloudLoginStart" | "CloudLoginCancelAck" | "CloudConnectResult" | "CloudLoginRequest" | "CloudEngineConnectRequest" | "CloudEngineConfigureRequest" | "OnboardProvidersResult" | "OnboardProbeResult" | "OnboardApplyResult" | "OnboardEntryRequest" | "OnboardApplyRequest" | "McpToolTogglesResult" | "McpToolToggleKey" | "ComputerUseState" | "SetComputerUseResult" | "SetComputerUseRequest" | "SeatAction" | "EngineSwapAnswerOutcome" | "SelfUpgradeOutcome";
1239
+ label: "DeviceListOutcome" | "DeviceSessionBindingOutcome" | "DeviceRebindOutcome" | "DeviceEnrollTokenOutcome" | "DeviceRevokeOutcome" | "SeatDeviceRebindRequest" | "SeatDeviceRevokeRequest" | "EngineTargetState" | "EngineTargetResult" | "CloudLoginStart" | "CloudLoginCancelAck" | "CloudConnectResult" | "CloudLoginRequest" | "CloudEngineConnectRequest" | "CloudEngineConfigureRequest" | "OnboardProvidersResult" | "OnboardProbeResult" | "OnboardApplyResult" | "OnboardEntryRequest" | "OnboardApplyRequest" | "McpToolTogglesResult" | "McpToolToggleKey" | "ComputerUseState" | "SetComputerUseResult" | "SetComputerUseRequest" | "NotificationLevelsState" | "SetNotificationLevelResult" | "SeatAction" | "EngineSwapAnswerOutcome" | "SelfUpgradeOutcome" | "SessionModsResult" | "QuickEntryShortcutState" | "SetQuickEntryShortcutResult" | "SessionHooksRosterResult";
1063
1240
  check: (v: unknown) => SeatValidation;
1064
1241
  why: string;
1065
1242
  }[], {