@sema-agent/client-core 0.95.0 → 0.97.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 (233) hide show
  1. package/CHANGELOG.md +269 -0
  2. package/README.md +61 -31
  3. package/dist/adapt/arms.js +7 -1
  4. package/dist/adapt/toolCards.d.ts +1 -0
  5. package/dist/adapt/toolCards.js +16 -3
  6. package/dist/adapt/wireShapes.js +2 -16
  7. package/dist/adapter/activeRunSelfHeal.d.ts +4 -2
  8. package/dist/adapter/activeRunSelfHeal.js +32 -6
  9. package/dist/adapter/downstream/eventToSdkMessage.js +11 -3
  10. package/dist/adapter/downstream/terminalToSdkResult.js +14 -11
  11. package/dist/adapter/runStream.js +30 -47
  12. package/dist/agentSession/backgroundView.js +2 -15
  13. package/dist/agentSession/engineAgentRegistryRead.js +5 -4
  14. package/dist/agentSession/engineSessionBackgroundStop.js +22 -15
  15. package/dist/agentsWireCaps.d.ts +1 -1
  16. package/dist/agentsWireCaps.js +29 -12
  17. package/dist/approvalDecidedByCapability.d.ts +2 -0
  18. package/dist/approvalDecidedByCapability.js +0 -1
  19. package/dist/approvalsStreamLiveCapability.d.ts +2 -0
  20. package/dist/approvalsStreamLiveCapability.js +3 -2
  21. package/dist/attachmentSeatCapability.d.ts +2 -0
  22. package/dist/attachmentSeatCapability.js +0 -1
  23. package/dist/callerCwdCapability.d.ts +2 -4
  24. package/dist/callerCwdCapability.js +0 -7
  25. package/dist/centerWiringCapability.d.ts +2 -4
  26. package/dist/centerWiringCapability.js +4 -9
  27. package/dist/classifierVerdictWire.js +4 -16
  28. package/dist/clientSlice.js +1 -1
  29. package/dist/cloudConfigWireCaps.d.ts +4 -4
  30. package/dist/cloudConfigWireCaps.js +241 -85
  31. package/dist/coreValuePorts.d.ts +11 -7
  32. package/dist/coreValuePorts.js +5 -8
  33. package/dist/credentialProvenance.d.ts +28 -0
  34. package/dist/credentialProvenance.js +76 -0
  35. package/dist/decideFailureNote.js +3 -1
  36. package/dist/decideReceipt.js +7 -10
  37. package/dist/declared/supportFloorDeclared.js +3 -3
  38. package/dist/deviceExecutorManagementCapability.d.ts +2 -0
  39. package/dist/deviceExecutorManagementCapability.js +3 -2
  40. package/dist/displayUntrusted.d.ts +10 -3
  41. package/dist/displayUntrusted.js +371 -60
  42. package/dist/engineCapReader.d.ts +8 -2
  43. package/dist/engineCapReader.js +15 -7
  44. package/dist/engineCapsCache.d.ts +17 -3
  45. package/dist/engineCapsCache.js +268 -43
  46. package/dist/engineDirectory.d.ts +79 -0
  47. package/dist/engineDirectory.js +186 -0
  48. package/dist/engineErrorCodes.d.ts +17 -1
  49. package/dist/engineErrorCodes.js +46 -16
  50. package/dist/engineNoticeCodes.d.ts +17 -0
  51. package/dist/engineNoticeCodes.js +54 -1
  52. package/dist/executionLaneCapability.d.ts +2 -0
  53. package/dist/executionLaneCapability.js +3 -2
  54. package/dist/fileHistoryCaptureCapability.d.ts +16 -0
  55. package/dist/fileHistoryCaptureCapability.js +98 -2
  56. package/dist/fileHistoryLegNotice.js +4 -0
  57. package/dist/fleet/bgSubagentRow.d.ts +15 -0
  58. package/dist/fleet/bgSubagentRow.js +67 -0
  59. package/dist/fleet/fleetLedger.d.ts +1 -0
  60. package/dist/fleet/fleetLedger.js +164 -126
  61. package/dist/fleet/fleetProjection.d.ts +1 -0
  62. package/dist/fleet/fleetProjection.js +10 -3
  63. package/dist/fleetTaskDesc.js +4 -17
  64. package/dist/gateOutcome.d.ts +12 -1
  65. package/dist/gateOutcome.js +56 -1
  66. package/dist/gateVocabulary.d.ts +2 -2
  67. package/dist/gateVocabulary.js +4 -3
  68. package/dist/generated/engineAskFaceTables.js +1 -1
  69. package/dist/generated/engineFactTables.d.ts +5 -3
  70. package/dist/generated/engineFactTables.js +17 -4
  71. package/dist/generated/engineNoticeTables.js +12 -3
  72. package/dist/generated/sdkFactTables.d.ts +2 -0
  73. package/dist/generated/sdkFactTables.js +7 -0
  74. package/dist/generated/settingsSchemaFns.d.ts +3 -0
  75. package/dist/generated/settingsSchemaFns.js +53 -0
  76. package/dist/generated/toolNameTables.d.ts +1 -1
  77. package/dist/generated/toolNameTables.js +1 -42
  78. package/dist/hitl/approvalDecisionNoteAudit.js +2 -2
  79. package/dist/hitl/approvalEndingCause.d.ts +2 -0
  80. package/dist/hitl/approvalEndingCause.js +26 -21
  81. package/dist/hitl/approvalHolds.d.ts +16 -1
  82. package/dist/hitl/approvalHolds.js +52 -12
  83. package/dist/hitl/askGateWire.js +1 -0
  84. package/dist/hitl/askParkRowRouting.js +1 -1
  85. package/dist/hitl/automaticAnswerVerdict.d.ts +1 -1
  86. package/dist/hitl/automaticAnswerVerdict.js +13 -10
  87. package/dist/hitl/decisionConflict.js +4 -5
  88. package/dist/hitl/decisionRefusal.d.ts +8 -0
  89. package/dist/hitl/decisionRefusal.js +55 -14
  90. package/dist/hitl/frameRouter.d.ts +3 -1
  91. package/dist/hitl/frameRouter.js +58 -39
  92. package/dist/hitl/gateLedger.d.ts +0 -5
  93. package/dist/hitl/gateLedger.js +0 -21
  94. package/dist/hitl/hitlBridge.d.ts +6 -2
  95. package/dist/hitl/hitlBridge.js +46 -11
  96. package/dist/hitl/localAllowRule.d.ts +1 -0
  97. package/dist/hitl/localAllowRule.js +2 -2
  98. package/dist/hitl/noAllowCause.d.ts +2 -1
  99. package/dist/hitl/noAllowCause.js +3 -2
  100. package/dist/hitl/parkResolver.d.ts +1 -0
  101. package/dist/hitl/parkResolver.js +14 -56
  102. package/dist/hitl/parkRowBirthWait.d.ts +1 -0
  103. package/dist/hitl/parkRowBirthWait.js +2 -2
  104. package/dist/hitl/planReviewWire.d.ts +1 -0
  105. package/dist/hitl/planReviewWire.js +98 -20
  106. package/dist/hitl/replayedApproval.d.ts +3 -3
  107. package/dist/hitl/replayedApproval.js +21 -16
  108. package/dist/hitl/sessionPolicyDeliverable.d.ts +0 -1
  109. package/dist/hitl/sessionPolicyDeliverable.js +17 -17
  110. package/dist/hitl/sessionPolicyWire.d.ts +2 -0
  111. package/dist/hitl/sessionPolicyWire.js +15 -3
  112. package/dist/hitl/standingRows.d.ts +19 -0
  113. package/dist/hitl/standingRows.js +148 -0
  114. package/dist/hitl/suspendedReopen.js +2 -1
  115. package/dist/hitl/toolApprovalWire.d.ts +22 -10
  116. package/dist/hitl/toolApprovalWire.js +286 -47
  117. package/dist/hookMatcherVerdict.d.ts +1 -9
  118. package/dist/hookMatcherVerdict.js +21 -61
  119. package/dist/hooksWireCaps.js +2 -2
  120. package/dist/hostCallbackGuard.d.ts +1 -0
  121. package/dist/hostCallbackGuard.js +6 -0
  122. package/dist/index.d.ts +26 -12
  123. package/dist/index.js +20 -10
  124. package/dist/liveModelCatalog.d.ts +13 -0
  125. package/dist/liveModelCatalog.js +56 -0
  126. package/dist/mcpProbeCapability.d.ts +2 -4
  127. package/dist/mcpProbeCapability.js +3 -8
  128. package/dist/mcpWireCaps.d.ts +1 -0
  129. package/dist/mcpWireCaps.js +4 -1
  130. package/dist/memoryComplianceCapability.d.ts +2 -4
  131. package/dist/memoryComplianceCapability.js +3 -8
  132. package/dist/memoryOriginCapability.d.ts +2 -4
  133. package/dist/memoryOriginCapability.js +3 -8
  134. package/dist/memorySpecWire.js +2 -2
  135. package/dist/modelIdentityResolvability.d.ts +2 -2
  136. package/dist/modelIdentityResolvability.js +14 -5
  137. package/dist/noticePresentation.d.ts +68 -0
  138. package/dist/noticePresentation.js +247 -0
  139. package/dist/outputStyleSeatCapability.d.ts +2 -1
  140. package/dist/outputStyleSeatCapability.js +0 -4
  141. package/dist/ownKey.d.ts +2 -0
  142. package/dist/ownKey.js +18 -0
  143. package/dist/peerFrames.js +13 -9
  144. package/dist/peerLaneCapability.d.ts +2 -0
  145. package/dist/peerLaneCapability.js +3 -2
  146. package/dist/permissionModesCapability.d.ts +2 -4
  147. package/dist/permissionModesCapability.js +0 -7
  148. package/dist/permissionRuleIssue.js +0 -3
  149. package/dist/permissionRulesWriteCapability.d.ts +2 -0
  150. package/dist/permissionRulesWriteCapability.js +3 -2
  151. package/dist/permissionsAllowGrantCapability.d.ts +2 -0
  152. package/dist/permissionsAllowGrantCapability.js +4 -2
  153. package/dist/permissionsDeclaration.d.ts +2 -0
  154. package/dist/permissionsDeclaration.js +72 -59
  155. package/dist/printPermissionOutcome.d.ts +12 -0
  156. package/dist/printPermissionOutcome.js +50 -0
  157. package/dist/printToolResultFrame.d.ts +1 -0
  158. package/dist/printToolResultFrame.js +5 -9
  159. package/dist/promptBlockedCopy.d.ts +5 -0
  160. package/dist/promptBlockedCopy.js +35 -0
  161. package/dist/protocolSegment.d.ts +9 -6
  162. package/dist/protocolSegment.js +31 -21
  163. package/dist/providerRejection.d.ts +4 -0
  164. package/dist/providerRejection.js +75 -14
  165. package/dist/replayBody.d.ts +12 -0
  166. package/dist/replayBody.js +25 -0
  167. package/dist/request/taskRequest.d.ts +1 -4
  168. package/dist/request/taskRequest.js +74 -19
  169. package/dist/resumeRefusalCopy.js +9 -25
  170. package/dist/retryStatus.d.ts +9 -1
  171. package/dist/retryStatus.js +9 -2
  172. package/dist/rewindArchiveCapability.d.ts +3 -13
  173. package/dist/rewindArchiveCapability.js +12 -58
  174. package/dist/rewindArchiveReading.d.ts +17 -0
  175. package/dist/rewindArchiveReading.js +55 -0
  176. package/dist/ruleCompileVerdict.d.ts +9 -1
  177. package/dist/ruleCompileVerdict.js +29 -4
  178. package/dist/runTerminal.d.ts +48 -5
  179. package/dist/runTerminal.js +215 -12
  180. package/dist/sandboxWire.js +13 -0
  181. package/dist/sdkWireTransit.d.ts +2 -1
  182. package/dist/sdkWireTransit.js +1 -0
  183. package/dist/sealedKeyCapability.d.ts +2 -4
  184. package/dist/sealedKeyCapability.js +0 -7
  185. package/dist/seam.js +4 -2
  186. package/dist/seatContract.d.ts +76 -11
  187. package/dist/seatContract.js +222 -27
  188. package/dist/sessionPolicyCapability.d.ts +2 -0
  189. package/dist/sessionPolicyCapability.js +3 -2
  190. package/dist/sessionReadRedactionCapability.d.ts +2 -4
  191. package/dist/sessionReadRedactionCapability.js +0 -7
  192. package/dist/sessionSyncFileHistory.d.ts +4 -0
  193. package/dist/sessionSyncFileHistory.js +66 -0
  194. package/dist/sessionSyncFileHistoryCapability.d.ts +2 -1
  195. package/dist/sessionSyncFileHistoryCapability.js +3 -5
  196. package/dist/skillToolListsCapability.d.ts +2 -1
  197. package/dist/skillToolListsCapability.js +3 -5
  198. package/dist/sqlEngineCapability.d.ts +2 -0
  199. package/dist/sqlEngineCapability.js +4 -3
  200. package/dist/steerPriorityCapability.d.ts +2 -1
  201. package/dist/steerPriorityCapability.js +3 -5
  202. package/dist/storePostureCapability.d.ts +2 -4
  203. package/dist/storePostureCapability.js +4 -9
  204. package/dist/subagent/engineSubagentSteer.js +7 -5
  205. package/dist/subagentContentStore.js +4 -15
  206. package/dist/supportFloor.d.ts +1 -0
  207. package/dist/supportFloor.js +13 -9
  208. package/dist/systemReminderTag.d.ts +1 -0
  209. package/dist/systemReminderTag.js +8 -0
  210. package/dist/toolHistoryBadTurn.js +3 -2
  211. package/dist/toolHistoryMismatch.d.ts +0 -3
  212. package/dist/toolHistoryMismatch.js +3 -7
  213. package/dist/toolResult.d.ts +12 -1
  214. package/dist/toolResult.js +55 -1
  215. package/dist/toolResultContent.d.ts +2 -0
  216. package/dist/toolResultContent.js +63 -0
  217. package/dist/usageAnalytics.js +40 -16
  218. package/dist/userInvokedSkillsCapability.d.ts +2 -1
  219. package/dist/userInvokedSkillsCapability.js +3 -5
  220. package/dist/webSearchBackendCapability.d.ts +2 -0
  221. package/dist/webSearchBackendCapability.js +3 -2
  222. package/dist/wireErrorTriage.d.ts +2 -0
  223. package/dist/wireErrorTriage.js +91 -38
  224. package/dist/wireFailureShape.d.ts +20 -3
  225. package/dist/wireFailureShape.js +128 -72
  226. package/dist/workflowsJournalCapability.d.ts +2 -0
  227. package/dist/workflowsJournalCapability.js +3 -2
  228. package/dist/writeProtectionCapability.d.ts +2 -0
  229. package/dist/writeProtectionCapability.js +3 -2
  230. package/docs/INTEGRATION-CLIENTS.md +1784 -20
  231. package/package.json +5 -5
  232. package/dist/engineRefusedToolName.d.ts +0 -1
  233. package/dist/engineRefusedToolName.js +0 -8
@@ -1,5 +1,6 @@
1
1
  import { HOOK_TOOL_ALIASES } from './hookToolAliases.js';
2
2
  import { SETTINGS_TOOL_NAME_MATCHER_EVENTS } from './generated/settingsSchemaTables.js';
3
+ import { SETTINGS_HOOK_MATCHER_FORM, SETTINGS_HOOK_MATCHER_SELECTS } from './generated/settingsSchemaFns.js';
3
4
  const TOOL_NAME_MATCHER_EVENTS = new Set(SETTINGS_TOOL_NAME_MATCHER_EVENTS);
4
5
  const MATCHER_MAX_CHARS = 8192;
5
6
  const PATTERN_WORK_BUDGET = 10_000_000;
@@ -14,30 +15,6 @@ function refused(reading, p) {
14
15
  function aliasPairs() {
15
16
  return Object.entries(HOOK_TOOL_ALIASES).map(([alias, canonical]) => ({ alias, canonical }));
16
17
  }
17
- function literalNames(matcher) {
18
- const names = [];
19
- let first = -1;
20
- let last = -1;
21
- for (let i = 0; i <= matcher.length; i++) {
22
- const c = i < matcher.length ? matcher.charCodeAt(i) : 0x7c;
23
- if (c === 0x7c || c === 0x2c) {
24
- if (first !== -1)
25
- names.push(matcher.slice(first, last + 1));
26
- first = -1;
27
- last = -1;
28
- continue;
29
- }
30
- if (c === 0x20)
31
- continue;
32
- const nameChar = (c >= 0x30 && c <= 0x39) || (c >= 0x41 && c <= 0x5a) || (c >= 0x61 && c <= 0x7a) || c === 0x5f || c === 0x2d;
33
- if (!nameChar)
34
- return undefined;
35
- if (first === -1)
36
- first = i;
37
- last = i;
38
- }
39
- return names;
40
- }
41
18
  const UNSUPPORTED = Symbol('unsupported');
42
19
  const SINGLE_CHAR_ESCAPES = 'dDwWsStnrfv^$\\.*+?()[]{}|/-';
43
20
  function patternBound(src, n) {
@@ -202,52 +179,35 @@ function patternBound(src, n) {
202
179
  export function hookMatcherVerdict(event, matcher) {
203
180
  if (typeof event !== 'string' || !TOOL_NAME_MATCHER_EVENTS.has(event))
204
181
  return unjudged('event_out_of_scope');
205
- if (matcher === undefined)
206
- return Object.freeze({ kind: 'matchesAll' });
207
- if (typeof matcher !== 'string')
182
+ if (matcher !== undefined && typeof matcher !== 'string')
208
183
  return unjudged('not_a_string');
209
- if (matcher.length > MATCHER_MAX_CHARS)
184
+ if (matcher !== undefined && matcher.length > MATCHER_MAX_CHARS)
210
185
  return unjudged('oversize');
211
- if (matcher === '' || matcher === '*')
212
- return Object.freeze({ kind: 'matchesAll' });
213
- const pairs = aliasPairs();
214
- const names = literalNames(matcher);
215
- if (names !== undefined) {
216
- const dead = pairs.find((p) => names.includes(p.alias) && !names.includes(p.canonical));
217
- if (dead !== undefined)
218
- return refused('names', dead);
219
- return Object.freeze({
220
- kind: 'accepted',
221
- reading: 'names',
222
- names: Object.freeze([...names]),
223
- aliases: Object.freeze(pairs.filter((p) => names.includes(p.alias)).map((p) => Object.freeze({ ...p }))),
224
- });
225
- }
226
- const src = `^(?:${matcher})$`;
227
- let re;
228
- try {
229
- re = new RegExp(src);
230
- }
231
- catch {
186
+ const form = SETTINGS_HOOK_MATCHER_FORM(matcher);
187
+ if (form === 'invalid')
232
188
  return unjudged('invalid_pattern');
189
+ const pairs = aliasPairs();
190
+ if (form === 'regex' && matcher !== undefined) {
191
+ const subjects = pairs.flatMap((p) => [p.alias, p.canonical]);
192
+ const n = subjects.reduce((a, s) => Math.max(a, s.length), 0);
193
+ const bound = patternBound(matcher, n);
194
+ if (bound === undefined)
195
+ return unjudged('pattern_unsupported');
196
+ if (bound[0] * bound[1] * (n + 1) * subjects.length > PATTERN_WORK_BUDGET)
197
+ return unjudged('over_budget');
233
198
  }
234
- const subjects = pairs.flatMap((p) => [p.alias, p.canonical]);
235
- const n = subjects.reduce((a, s) => Math.max(a, s.length), 0);
236
- const bound = patternBound(src, n);
237
- if (bound === undefined)
238
- return unjudged('pattern_unsupported');
239
- if (bound[0] * bound[1] * (n + 1) * subjects.length > PATTERN_WORK_BUDGET)
240
- return unjudged('over_budget');
241
199
  const selects = (name) => {
242
- if (matcher === name)
243
- return true;
244
200
  try {
245
- return re.test(name);
201
+ const v = SETTINGS_HOOK_MATCHER_SELECTS(matcher, name);
202
+ return typeof v === 'boolean' ? v : undefined;
246
203
  }
247
204
  catch {
248
205
  return undefined;
249
206
  }
250
207
  };
208
+ if (form === 'literal' && selects('') === true)
209
+ return Object.freeze({ kind: 'matchesAll' });
210
+ const reading = form === 'regex' ? 'pattern' : 'names';
251
211
  const selected = [];
252
212
  for (const p of pairs) {
253
213
  const a = selects(p.alias);
@@ -259,8 +219,8 @@ export function hookMatcherVerdict(event, matcher) {
259
219
  if (c === undefined)
260
220
  return unjudged('invalid_pattern');
261
221
  if (!c)
262
- return refused('pattern', p);
222
+ return refused(reading, p);
263
223
  selected.push(p);
264
224
  }
265
- return Object.freeze({ kind: 'accepted', reading: 'pattern', aliases: Object.freeze(selected.map((p) => Object.freeze({ ...p }))) });
225
+ return Object.freeze({ kind: 'accepted', reading, aliases: Object.freeze(selected.map((p) => Object.freeze({ ...p }))) });
266
226
  }
@@ -1,6 +1,6 @@
1
1
  import { engineCapNestedTrue, engineCapState, engineCapValue } from './engineCapsCache.js';
2
2
  import { displayUntrusted } from './displayUntrusted.js';
3
- import { collapseLabel } from './fleetTaskDesc.js';
3
+ import { capForDisplay, collapseLabel } from './fleetTaskDesc.js';
4
4
  import { hostLog, hostSettings } from './host.js';
5
5
  import { createSettingsHookJudge, decidePluginHooks, dedupeSettingsHookGroups, filterSettingsHookGroups, occupancyOf, settingsHookDropText, } from './pluginHooksWire.js';
6
6
  import { MAX_HOOK_NOTICE_TEXT_CHARS } from './notifications.js';
@@ -462,5 +462,5 @@ export function hookFailureNoticeText(n) {
462
462
  const name = collapseLabel(n.hookName);
463
463
  const tail = n.stderr !== undefined ? `: ${collapseLabel(n.stderr)}` : '';
464
464
  const line = `${HOOK_FAILURE_WARN_PREFIX}: ${name} (${code})${tail}`;
465
- return line.length <= MAX_HOOK_NOTICE_TEXT_CHARS ? line : line.slice(0, MAX_HOOK_NOTICE_TEXT_CHARS);
465
+ return capForDisplay(line, MAX_HOOK_NOTICE_TEXT_CHARS);
466
466
  }
@@ -1 +1,2 @@
1
1
  export declare function invokeHostCallbackIsolated(label: string, call: () => void): void;
2
+ export declare function reasonOfThrownWithSink(e: unknown, sink: (log: string) => void): string;
@@ -1,4 +1,5 @@
1
1
  import { hostLog } from './host.js';
2
+ import { wireFailureTextsOf } from './wireFailureShape.js';
2
3
  function faultText(e) {
3
4
  try {
4
5
  return String(e).slice(0, 160);
@@ -23,3 +24,8 @@ export function invokeHostCallbackIsolated(label, call) {
23
24
  reportHostCallbackFault(label, 'threw', e);
24
25
  }
25
26
  }
27
+ export function reasonOfThrownWithSink(e, sink) {
28
+ const t = wireFailureTextsOf(e);
29
+ invokeHostCallbackIsolated('hostCallbackGuard: onFailure', () => sink(t.log));
30
+ return t.reason;
31
+ }
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export * from './adapt/textSegmentAuthority.js';
13
13
  export * from './engineHttpTools.js';
14
14
  export * from './sdkWireTransit.js';
15
15
  export { SEMA_SEGMENT_ID_KEY } from './adapt/textStream.js';
16
- export { __resetSubagentContentStoreConfigForTests, __resetSubagentOwnerLedgerForTests, clearSubagentContent, coerceOutput, configureSubagentContentStore, getBgParentRun, getBgParentRunOwner, getBgTerminalFacts, getSubagentContentSnapshot, isOwnEngineRun, parentToolCallIdOf, planSubagentViewSlots, publishSubagentContentEvent, pushSubagentLocalEcho, recordBgParentRun, recordBgTerminalFacts, recordOwnEngineRun, recordSubagentOwner, recordSubagentOwnerFromProgress, registerSubagentAlias, settleSubagentContent, SUBAGENT_CONTENT_STORE_DEFAULTS, subagentContentStoreConfig, subagentOwnerSessionConflicts, subscribeSubagentContent, } from './subagentContentStore.js';
16
+ export { __resetSubagentContentStoreConfigForTests, __resetSubagentOwnerLedgerForTests, clearSubagentContent, coerceOutput, configureSubagentContentStore, getBgParentRun, getBgParentRunOwner, getBgTerminalFacts, getSubagentContentSnapshot, isOwnEngineRun, parentToolCallIdOf, planSubagentViewSlots, publishSubagentContentEvent, pushSubagentLocalEcho, recordBgParentRun, recordOwnEngineRun, recordSubagentOwner, recordSubagentOwnerFromProgress, registerSubagentAlias, settleSubagentContent, SUBAGENT_CONTENT_STORE_DEFAULTS, subagentContentStoreConfig, subagentOwnerSessionConflicts, subscribeSubagentContent, } from './subagentContentStore.js';
17
17
  export type { BgTerminalFacts, SubagentContentEvent, SubagentContentItem, SubagentContentSnapshot, SubagentContentStoreConfig, SubagentOwnerRecord, SubagentOwnerSessionConflict, SubagentViewSlot, } from './subagentContentStore.js';
18
18
  export * from './engineAgentPanelStore.js';
19
19
  export * from './engineAgentAbsence.js';
@@ -24,8 +24,8 @@ export { _resetLiveQuestionStore, hasLocalQuestionResponder, hasQuestionOverlay,
24
24
  export type { AskQuestion, AskQuestionOption, QuestionAnswer, QuestionFrame, } from './liveQuestionStore.js';
25
25
  export * from './engineInlineTaskStats.js';
26
26
  export * from './printToolResultFrame.js';
27
- export { __resetEngineCapsCacheForTests, engineCapState, engineCapString, engineCapsGeneration, engineCapsSettled, engineCapTrue, engineCapValue, invalidateEngineCaps, kickEngineCapsProbe, } from './engineCapsCache.js';
28
- export type { EngineCapState, EngineCapValueState, } from './engineCapsCache.js';
27
+ export { __resetEngineCapsCacheForTests, engineCapState, engineCapString, engineCapsGeneration, engineCapsLandingOf, engineCapsSettled, engineCapTrue, engineCapValue, invalidateEngineCaps, kickEngineCapsProbe, rotateEngineCapsProbe, } from './engineCapsCache.js';
28
+ export type { EngineCapState, EngineCapsLanding, EngineCapsProbeRotation, EngineCapValueState, } from './engineCapsCache.js';
29
29
  export * from './sqlEngineCapability.js';
30
30
  export * from './writeProtectionCapability.js';
31
31
  export * from './webSearchBackendCapability.js';
@@ -46,9 +46,10 @@ export * from './hitl/parkExpiryJudgements.js';
46
46
  export * from './usageAnalytics.js';
47
47
  export * from './leaderConflict.js';
48
48
  export * from './runTerminal.js';
49
- export { CORE_SEMA_TASK_TERMINAL_STATUSES, CORE_TASK_NOTIFICATION_TERMINAL_STATUSES, CORE_TERMINAL_CAUSE_KINDS, SDK_FLEET_TASK_TERMINAL_STATUSES, SDK_RUN_TERMINAL_STATUSES, ccTaskTerminalStatusOf, isCoreSemaTaskTerminal, isCoreTaskNotificationTerminal, isCoreTaskNotificationTerminalNotSuccess, isCoreTerminalCauseKind, isSdkFleetTaskTerminal, isSdkFleetTaskTerminalNotSuccess, isSdkRunTerminal, isSdkRunTerminalNotSuccess, } from './terminalStatuses.js';
49
+ export { CORE_SEMA_TASK_TERMINAL_STATUSES, CORE_TASK_NOTIFICATION_TERMINAL_STATUSES, CORE_TERMINAL_CAUSE_KINDS, SDK_FLEET_TASK_TERMINAL_STATUSES, SDK_PARKED_RUN_STATUSES, SDK_RUN_TERMINAL_STATUSES, ccTaskTerminalStatusOf, isCoreSemaTaskTerminal, isCoreTaskNotificationTerminal, isCoreTaskNotificationTerminalNotSuccess, isCoreTerminalCauseKind, isSdkFleetTaskTerminal, isSdkFleetTaskTerminalNotSuccess, isSdkRunParked, isSdkRunTerminal, isSdkRunTerminalNotSuccess, } from './terminalStatuses.js';
50
50
  export type { CcTaskTerminalStatus, CoreSemaTaskTerminalStatus, CoreTaskNotificationTerminalStatus, CoreTerminalCauseKind, SdkFleetTaskTerminalStatus, SdkRunTerminalStatus, } from './terminalStatuses.js';
51
- export type { ProviderRejectionResend } from './providerRejection.js';
51
+ export type { ProviderRejectionResend, ProviderRejectionKind } from './providerRejection.js';
52
+ export { PROVIDER_REJECTION_KINDS } from './providerRejection.js';
52
53
  export * from './runCancelContext.js';
53
54
  export * from './argvFlagValue.js';
54
55
  export * from './readFacePosture.js';
@@ -57,6 +58,7 @@ export * from './mcpLiveness.js';
57
58
  export * from './mcpEngineLeg.js';
58
59
  export * from './mcpProbeCapability.js';
59
60
  export * from './sessionSyncFileHistoryCapability.js';
61
+ export * from './sessionSyncFileHistory.js';
60
62
  export * from './workflowsJournalCapability.js';
61
63
  export * from './userInvokedSkillsCapability.js';
62
64
  export * from './skillToolListsCapability.js';
@@ -82,7 +84,7 @@ export * from './modelCapabilityProbe.js';
82
84
  export * from './classifierStatus.js';
83
85
  export * from './engineToolLabelStore.js';
84
86
  export * from './fleetTaskDesc.js';
85
- export { displayUntrusted, displayUntrustedMarks } from './displayUntrusted.js';
87
+ export { displayUntrusted, displayUntrustedMarks, displayConfiguredUrl, queryCarriesCredential } from './displayUntrusted.js';
86
88
  export type { DisplayUntrustedOptions, DisplayMark, DisplayMarkSpan, DisplayUntrustedMarked } from './displayUntrusted.js';
87
89
  export type * from './types/engineState.js';
88
90
  export * from './hostEnv.js';
@@ -94,7 +96,7 @@ export * from './engineWireSdk.js';
94
96
  export * from './classifierVerdictWire.js';
95
97
  export { stripSystemReminderBlocks, unwrapSystemReminder } from './systemReminderTag.js';
96
98
  export { findSystemReminderOpenTag, type SystemReminderOpenTagSpan } from './systemReminderTag.js';
97
- export { ACTIVE_RUN_BUSY_ERROR_CODE, APPROVAL_EXPIRED, ASK_GONE, asModelFallbackReason, CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED, CAPABILITY_SELF_ORCHESTRATION_REQUIRED, CONFIG_AGENT_UNKNOWN_TOOL, CONFIG_DELEGATION_ENTRY_CAPS, CONFIG_IMAGE_INVALID, CONFIG_LEGACY_TOOL_NAME, CONFIG_LIMIT_INVALID, CONFIG_LIMIT_UNKNOWN_KEY, CONFIG_MEMORY_PROJECT_KEY_SPELLING, CONFIG_MEMORY_WRITE_SCOPE_MISMATCH, CONFIG_OUTPUT_STYLE_INVALID, CONFIG_REFUSAL_CODES, CONFIG_STRATEGY_FIND_LIMIT_INVALID, CONFIG_STRATEGY_MAX_SIZE_INVALID, CORRUPT_SESSION_ERROR_CODE, DECIDE_CLAIM_LOST, DECIDE_GATE_MOVED, DECIDE_NOT_PARKED, DECIDE_PARK_MOVED_CODES, DECIDE_WORKFLOW_HOST_UNKNOWN, DECIDE_WORKFLOW_LANE_CODES, DECIDE_WORKFLOW_PARK_FORKED, DECIDE_WORKFLOW_PARKS_UNREADABLE, DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED, DELEGATION_CAP_CODES, DELEGATION_CONCURRENCY_CAP, DELEGATION_SESSION_CAP, delegationCapDispositionOf, DRAINING_ERROR_CODE, ENGINE_STOP_REASONS, engineStopReasonToCc, ENV_LIFETIME_EXPIRED, FLEET_LEASE_UNAVAILABLE, GATE_PARKED_ERROR_CODE, imageInvalidFailureNoteOf, isConfigRefusalCode, isCorruptSessionCode, isDecideParkMovedCode, isDelegationCapCode, isInterruptedToolEndCode, isLimitsExceededCode, isRewindFamilyCode, isRulesRefusalCode, isStatusDerivedCoarseCode, isWorkflowParkRefusalCode, LIMITS_MAX_COST_EXCEEDED, LIMITS_MAX_TOKENS_EXCEEDED, LIMITS_MAX_TURNS_EXCEEDED, LIMITS_MAX_WALLTIME_EXCEEDED, MCP_SERVER_REVOKED, MODEL_FALLBACK_INHERIT_NO_TIER_BINDING, operatorGateRefusalContent, OUTPUT_INVALID, PARKED_RESUME_STARTUP_FAILED, REQUEST_AUTONOMY_LANE_REFUSED, RESUME_AT_ERROR_CODE_PREFIX, RESUME_CONTEXT_UNAVAILABLE, RESUME_ENV_FAILED, RESUME_PLACEMENT_MISMATCH, RESUME_POLICY_FOLD_CODE, RESUME_PREFLIGHT_REJECTED, RESUME_REOPEN_CODES, RESUME_RETRY_LATER_CODES, RESUME_TOOL_CONTRACT_MISMATCH, RESUME_TOOL_UNAVAILABLE, RESUME_USAGE_WINDOW_EXHAUSTED, REWIND_ERROR_CODE_PREFIXES, RULES_LEGACY_TOOL_NAME, RUN_DEATH_VERDICT_CODES, RUN_ORPHANED, RUN_STALLED, runDeathVerdictNoteOf, SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE, SCENARIO_NOT_ALLOWED_ERROR_CODE, STATUS_DERIVED_COARSE_CODES, STOP_CONFLICT_CODES, STREAM_MAX_DURATION, TOOL_END_INTERRUPTED_NEVER_STARTED, TOOL_END_INTERRUPTED_OUTCOME_UNKNOWN, USAGE_WINDOW_EXHAUSTED, WORKFLOW_PARK_REFUSAL_CODES, } from './engineErrorCodes.js';
99
+ export { ACTIVE_RUN_BUSY_ERROR_CODE, APPROVAL_EXPIRED, ASK_GONE, asModelFallbackReason, CAPABILITY_IMAGE_INDEX_REQUIRED, CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED, CAPABILITY_SELF_ORCHESTRATION_REQUIRED, CONFIG_AGENT_UNKNOWN_TOOL, CONFIG_DELEGATION_ENTRY_CAPS, CONFIG_IMAGE_INVALID, CONFIG_LEGACY_TOOL_NAME, CONFIG_LIMIT_INVALID, CONFIG_LIMIT_UNKNOWN_KEY, CONFIG_MEMORY_PROJECT_KEY_SPELLING, CONFIG_MEMORY_WRITE_SCOPE_MISMATCH, CONFIG_OUTPUT_STYLE_INVALID, CONFIG_STRATEGY_FIND_LIMIT_INVALID, CONFIG_STRATEGY_MAX_SIZE_INVALID, CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH, CORRUPT_SESSION_ERROR_CODE, DECIDE_CLAIM_LOST, DECIDE_GATE_MOVED, DECIDE_NOT_PARKED, DECIDE_PARK_MOVED_CODES, DECIDE_WORKFLOW_HOST_UNKNOWN, DECIDE_WORKFLOW_LANE_CODES, DECIDE_WORKFLOW_PARK_FORKED, DECIDE_WORKFLOW_PARKS_UNREADABLE, DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED, DELEGATION_CAP_CODES, DELEGATION_CONCURRENCY_CAP, DELEGATION_SESSION_CAP, delegationCapDispositionOf, DRAINING_ERROR_CODE, ENGINE_STOP_REASONS, engineStopReasonToCc, ENV_LIFETIME_EXPIRED, FLEET_LEASE_UNAVAILABLE, GATE_PARKED_ERROR_CODE, idempotencyPayloadMismatchContent, imageInvalidFailureNoteOf, isConfigRefusalCode, isCorruptSessionCode, isDecideParkMovedCode, isDelegationCapCode, isIdempotencyPayloadMismatchCode, isInterruptedToolEndCode, isLimitsExceededCode, isRewindFamilyCode, isRulesRefusalCode, isStatusDerivedCoarseCode, isWorkflowParkRefusalCode, LIMITS_MAX_COST_EXCEEDED, LIMITS_MAX_TOKENS_EXCEEDED, LIMITS_MAX_TURNS_EXCEEDED, LIMITS_MAX_WALLTIME_EXCEEDED, MCP_SERVER_REVOKED, MODEL_FALLBACK_INHERIT_NO_TIER_BINDING, operatorGateRefusalContent, OUTPUT_INVALID, PARKED_RESUME_STARTUP_FAILED, REQUEST_AUTONOMY_LANE_REFUSED, RESUME_AT_ERROR_CODE_PREFIX, RESUME_CONTEXT_UNAVAILABLE, RESUME_ENV_FAILED, RESUME_PLACEMENT_MISMATCH, RESUME_POLICY_FOLD_CODE, RESUME_PREFLIGHT_REJECTED, RESUME_REOPEN_CODES, RESUME_RETRY_LATER_CODES, RESUME_TOOL_CONTRACT_MISMATCH, RESUME_TOOL_UNAVAILABLE, RESUME_USAGE_WINDOW_EXHAUSTED, REWIND_ERROR_CODE_PREFIXES, RULES_LEGACY_TOOL_NAME, RUN_DEATH_VERDICT_CODES, RUN_ORPHANED, RUN_STALLED, runDeathVerdictNoteOf, SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE, SCENARIO_NOT_ALLOWED_ERROR_CODE, STATUS_DERIVED_COARSE_CODES, STOP_CONFLICT_CODES, STREAM_MAX_DURATION, TOOL_END_INTERRUPTED_NEVER_STARTED, TOOL_END_INTERRUPTED_OUTCOME_UNKNOWN, USAGE_WINDOW_EXHAUSTED, WORKFLOW_PARK_REFUSAL_CODES, } from './engineErrorCodes.js';
98
100
  export type { DelegationCapDisposition, ModelFallbackReason, OperatorGateRefusal, RunDeathVerdictCode, } from './engineErrorCodes.js';
99
101
  export * from './agentsWireCaps.js';
100
102
  export * from './attachmentsWireCaps.js';
@@ -121,6 +123,7 @@ export * from './sealedKeyCapability.js';
121
123
  export * from './storePostureCapability.js';
122
124
  export * from './centerWiringCapability.js';
123
125
  export * from './registryQuotaUsage.js';
126
+ export * from './engineDirectory.js';
124
127
  export * from './selfOrchestrationWireCaps.js';
125
128
  export * from './skillsWireCaps.js';
126
129
  export * from './ultracodeWireCaps.js';
@@ -164,6 +167,7 @@ export * from './headlessReconnectWire.js';
164
167
  export { coerceTaskStatus, coerceWorkflowStatus, CONTROL_TOOL_VERBS, FLEET_TASK_ROW_KEYS_NOT_PROJECTED, FLEET_TASK_ROW_WIRE_KEYS, FLEET_TASK_VIEW_KEYS, FLEET_WORKFLOW_ROW_KEYS_NOT_PROJECTED, FLEET_WORKFLOW_ROW_WIRE_KEYS, FLEET_WORKFLOW_VIEW_KEYS, projectDescription, projectTasks, projectWorkflows, wireResumable, wireRowUsage, } from './fleet/fleetProjection.js';
165
168
  export type { FleetRowUsage, FleetTaskStatus, FleetTaskView, FleetWorkflowView, NotProjectedEntry, ProjectTasksOptions, } from './fleet/fleetProjection.js';
166
169
  export * from './fleet/fleetLedger.js';
170
+ export * from './fleet/bgSubagentRow.js';
167
171
  export * from './fleet/workflowSizeWarning.js';
168
172
  export * from './subagent/engineDelegatedPrompt.js';
169
173
  export * from './subagent/engineRowStopGate.js';
@@ -199,7 +203,7 @@ export type { AttachmentSeatReading } from './attachmentSeatCapability.js';
199
203
  export * from './resumeRefusalCopy.js';
200
204
  export * from './wireRefusalCopy.js';
201
205
  export * from './inheritEnvWire.js';
202
- export { SUPPORT_FLOOR, supportFloorOf, engineVersionTier, coreVersionTier } from './supportFloor.js';
206
+ export { SUPPORT_FLOOR, supportFloorOf, engineVersionTier, engineSupportFloorEffective, coreVersionTier } from './supportFloor.js';
203
207
  export type { SupportFloor, SupportFloorComponent, EngineVersionTier } from './supportFloor.js';
204
208
  export * from './decideReceipt.js';
205
209
  export * from './sessionMap.js';
@@ -221,12 +225,15 @@ export type { ActiveGate, ApprovalsResourceLike, AskAnswer, AssistantResourceLik
221
225
  export * from './hitl/suspendedReopen.js';
222
226
  export * from './hitl/approvalOutcomeNote.js';
223
227
  export * from './hitl/approvalResolution.js';
224
- export { toolEndOutputText, ENGINE_ABORT_TOOL_RESULT } from './hitl/frameRouter.js';
225
- export { _resetHitlHostSurfaceForTest, CANCEL_DENY_BUDGET_MS, CANCEL_DENY_WARN_TEXT, EDIT_NOT_FORWARDED_WARN_TEXT, EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT, hitlHostSurfaceFor, hitlHostSurfaceMisses, hitlHostSurfaceMissesFor, installHitlHostSurface, installHitlHostSurfaceFor, observeCancelByDeny, REMEMBER_NOT_APPLIED_WARN_TEXT, REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT, RULE_NOT_SENT_REJECTED_WARN_TEXT, RULE_NOT_SENT_WARN_TEXT, surfaceEditRefusedOnBlindAsk, surfaceForCurrentSession, surfaceRememberNotApplied, } from './hitl/hitlHostSurface.js';
228
+ export { ENGINE_ABORT_TOOL_RESULT } from './hitl/frameRouter.js';
229
+ export { toolEndOutputText } from './toolResultContent.js';
230
+ export { _resetHitlHostSurfaceForTest, APPROVAL_PARKING_WARN_TEXT, CANCEL_DENY_BUDGET_MS, CANCEL_DENY_WARN_TEXT, EDIT_NOT_FORWARDED_WARN_TEXT, EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT, hitlHostSurfaceFor, hitlHostSurfaceMisses, hitlHostSurfaceMissesFor, installHitlHostSurface, installHitlHostSurfaceFor, observeCancelByDeny, REMEMBER_NOT_APPLIED_WARN_TEXT, REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT, RULE_NOT_SENT_REJECTED_WARN_TEXT, RULE_NOT_SENT_WARN_TEXT, surfaceEditRefusedOnBlindAsk, surfaceForCurrentSession, surfaceRememberNotApplied, } from './hitl/hitlHostSurface.js';
226
231
  export type { ClassifierDenyContext, HitlHostSurface, HitlNotice, } from './hitl/hitlHostSurface.js';
227
232
  export * from './hitl/toolApprovalWire.js';
228
233
  export * from './hitl/editedRuleTextPrecheck.js';
229
234
  export * from './coreValuePorts.js';
235
+ export { ruleToolNameVerdictOf } from './protocolSegment.js';
236
+ export type { RuleToolNameReading } from './protocolSegment.js';
230
237
  export * from './hitl/askGateWire.js';
231
238
  export * from './hitl/planReviewWire.js';
232
239
  export { PLAN_REVIEW_QUESTION_ID_PREFIX, REOPEN_ID_TAIL, approvalCallKey, askGateQuestionId, planReviewQuestionId, liveFrameCallKey, armedKeyFromQuestionId, } from './hitl/gateIdentity.js';
@@ -242,11 +249,12 @@ export * from './hitl/sessionPolicyWire.js';
242
249
  export * from './hitl/sessionPolicyDeliverable.js';
243
250
  export * from './hitl/approvalsFeed.js';
244
251
  export * from './hitl/livePendingAsk.js';
245
- export { replayedApprovalDisposition, replayedApprovalSentence } from './hitl/replayedApproval.js';
252
+ export { replayedApprovalClosesCardFrame, replayedApprovalDisposition, replayedApprovalSentence } from './hitl/replayedApproval.js';
246
253
  export type { ReplayedApprovalDisposition, ReplayPendingBasis } from './hitl/replayedApproval.js';
247
254
  export { hasLedgerPositionKey } from './hitl/gateLedger.js';
248
255
  export { MODE_ARBITRATION, automaticAnswerVerdict, mandatedApprovalDetailOf, permissionRequestHookScope, type AutomaticAnswerLane, type AutomaticAnswerAskFace, type AutomaticAnswerFacts, type AutomaticAnswerRoad, type AutomaticAnswerUnknownWhy, type AutomaticAnswerVerdict, type PermissionRequestHookScope, } from './hitl/automaticAnswerVerdict.js';
249
- export { classifyDecisionRefusal, liveAskPendingReading, decisionRefusalClosesOut, undeliverableDecisionContent, type DecisionRefusalStanding, type DecisionRefusalClassified, type DecisionRefusalConflict, type LiveAskPendingReading, type UndeliverableDecisionEnd, type UndeliverableDecisionFacts, } from './hitl/decisionRefusal.js';
256
+ export { standingRowsOf, type StandingRows, type StandingRowsWhy, type StandingRowWhy, type StandingPersistentRow, type StandingRowsHostFacts, } from './hitl/standingRows.js';
257
+ export { classifyDecisionRefusal, liveAskPendingReading, decisionRefusalClosesOut, undeliverableDecisionContent, decisionRefusalAskReading, type DecisionRefusalAskReading, type DecisionRefusalStanding, type DecisionRefusalClassified, type DecisionRefusalConflict, type LiveAskPendingReading, type UndeliverableDecisionEnd, type UndeliverableDecisionFacts, } from './hitl/decisionRefusal.js';
250
258
  export { noAllowCauseOf, type NoAllowCause, type RuleLadderNoAllowFacts } from './hitl/noAllowCause.js';
251
259
  export { policyDenyReason, type PolicyDenyLane, type PolicyDenyReasonFacts } from './hitl/frameRouter.js';
252
260
  export { readApprovalAllowRuleShadow, approvalAllowRuleShadowed, allowRuleShadowSentence, type ApprovalAllowRuleShadow, type ApprovalAllowRuleShadowMember, type AllowRuleShadowedWireMember, } from './hitl/allowRuleShadow.js';
@@ -289,4 +297,10 @@ export type { PendingCheckpoint, RuleSuggestion } from '@sema-agent/sdk';
289
297
  export * from './ruleRemovalConsequence.js';
290
298
  export { engineCredentialRequirementOf } from './engineCredentialRequirement.js';
291
299
  export type { EngineProbeAnswer, EngineCredentialNeed } from './engineCredentialRequirement.js';
300
+ export { credentialProvenance, CREDENTIAL_ATTACH_WORDS } from './credentialProvenance.js';
301
+ export type { CredentialAttachWord, CredentialConsent, CredentialFactName, CredentialFacts, CredentialProvenance, CredentialSidecarOwnership, CredentialTargetKind, CredentialTargetProvenance, } from './credentialProvenance.js';
292
302
  export { isSessionIdPathSegment } from './sessionIdSegment.js';
303
+ export { cutForDisplay, noticePresentationFacts, NOTICE_SEAT_CLASS, noticeSeatClassOf, OUTLET_KINDS, outletReachable, planOutletRendering, NOTICE_FULL_TEXT_CAP, noticePrintLine, } from './noticePresentation.js';
304
+ export type { CutForDisplayOptions, CutForDisplayResult, NoticePresentationAudience, NoticeOutlet, NoticeOccurrence, NoticeSeatClass, NoticeDeployment, NoticePresentationFacts, OutletKind, OutletReachability, OutletReachabilityContext, OutletRenderingPlan, NoticePrintCarrier, NoticePrintLineInput, NoticePrintLineResult, } from './noticePresentation.js';
305
+ export { printPermissionOutcomeOf, PRINT_PERMISSION_OUTCOME_FORMS } from './printPermissionOutcome.js';
306
+ export type { PrintPermissionOutcome, PrintPermissionOutcomeForm } from './printPermissionOutcome.js';
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ export * from './adapt/textSegmentAuthority.js';
11
11
  export * from './engineHttpTools.js';
12
12
  export * from './sdkWireTransit.js';
13
13
  export { SEMA_SEGMENT_ID_KEY } from './adapt/textStream.js';
14
- export { __resetSubagentContentStoreConfigForTests, __resetSubagentOwnerLedgerForTests, clearSubagentContent, coerceOutput, configureSubagentContentStore, getBgParentRun, getBgParentRunOwner, getBgTerminalFacts, getSubagentContentSnapshot, isOwnEngineRun, parentToolCallIdOf, planSubagentViewSlots, publishSubagentContentEvent, pushSubagentLocalEcho, recordBgParentRun, recordBgTerminalFacts, recordOwnEngineRun, recordSubagentOwner, recordSubagentOwnerFromProgress, registerSubagentAlias, settleSubagentContent, SUBAGENT_CONTENT_STORE_DEFAULTS, subagentContentStoreConfig, subagentOwnerSessionConflicts, subscribeSubagentContent, } from './subagentContentStore.js';
14
+ export { __resetSubagentContentStoreConfigForTests, __resetSubagentOwnerLedgerForTests, clearSubagentContent, coerceOutput, configureSubagentContentStore, getBgParentRun, getBgParentRunOwner, getBgTerminalFacts, getSubagentContentSnapshot, isOwnEngineRun, parentToolCallIdOf, planSubagentViewSlots, publishSubagentContentEvent, pushSubagentLocalEcho, recordBgParentRun, recordOwnEngineRun, recordSubagentOwner, recordSubagentOwnerFromProgress, registerSubagentAlias, settleSubagentContent, SUBAGENT_CONTENT_STORE_DEFAULTS, subagentContentStoreConfig, subagentOwnerSessionConflicts, subscribeSubagentContent, } from './subagentContentStore.js';
15
15
  export * from './engineAgentPanelStore.js';
16
16
  export * from './engineAgentAbsence.js';
17
17
  export * from './fleetAgentPanelProjection.js';
@@ -19,7 +19,7 @@ export { reducePanelFrame, createPanelReduceState, PANEL_DELTA_OPS } from './pan
19
19
  export { _resetLiveQuestionStore, hasLocalQuestionResponder, hasQuestionOverlay, hasQuestionOverlayFor, onQuestionFrame, onQuestionFrameFor, publishQuestionFrame, publishQuestionFrameFor, registerLocalQuestionResponder, respondToQuestion, setQuestionRespond, } from './liveQuestionStore.js';
20
20
  export * from './engineInlineTaskStats.js';
21
21
  export * from './printToolResultFrame.js';
22
- export { __resetEngineCapsCacheForTests, engineCapState, engineCapString, engineCapsGeneration, engineCapsSettled, engineCapTrue, engineCapValue, invalidateEngineCaps, kickEngineCapsProbe, } from './engineCapsCache.js';
22
+ export { __resetEngineCapsCacheForTests, engineCapState, engineCapString, engineCapsGeneration, engineCapsLandingOf, engineCapsSettled, engineCapTrue, engineCapValue, invalidateEngineCaps, kickEngineCapsProbe, rotateEngineCapsProbe, } from './engineCapsCache.js';
23
23
  export * from './sqlEngineCapability.js';
24
24
  export * from './writeProtectionCapability.js';
25
25
  export * from './webSearchBackendCapability.js';
@@ -39,7 +39,8 @@ export * from './hitl/parkExpiryJudgements.js';
39
39
  export * from './usageAnalytics.js';
40
40
  export * from './leaderConflict.js';
41
41
  export * from './runTerminal.js';
42
- export { CORE_SEMA_TASK_TERMINAL_STATUSES, CORE_TASK_NOTIFICATION_TERMINAL_STATUSES, CORE_TERMINAL_CAUSE_KINDS, SDK_FLEET_TASK_TERMINAL_STATUSES, SDK_RUN_TERMINAL_STATUSES, ccTaskTerminalStatusOf, isCoreSemaTaskTerminal, isCoreTaskNotificationTerminal, isCoreTaskNotificationTerminalNotSuccess, isCoreTerminalCauseKind, isSdkFleetTaskTerminal, isSdkFleetTaskTerminalNotSuccess, isSdkRunTerminal, isSdkRunTerminalNotSuccess, } from './terminalStatuses.js';
42
+ export { CORE_SEMA_TASK_TERMINAL_STATUSES, CORE_TASK_NOTIFICATION_TERMINAL_STATUSES, CORE_TERMINAL_CAUSE_KINDS, SDK_FLEET_TASK_TERMINAL_STATUSES, SDK_PARKED_RUN_STATUSES, SDK_RUN_TERMINAL_STATUSES, ccTaskTerminalStatusOf, isCoreSemaTaskTerminal, isCoreTaskNotificationTerminal, isCoreTaskNotificationTerminalNotSuccess, isCoreTerminalCauseKind, isSdkFleetTaskTerminal, isSdkFleetTaskTerminalNotSuccess, isSdkRunParked, isSdkRunTerminal, isSdkRunTerminalNotSuccess, } from './terminalStatuses.js';
43
+ export { PROVIDER_REJECTION_KINDS } from './providerRejection.js';
43
44
  export * from './runCancelContext.js';
44
45
  export * from './argvFlagValue.js';
45
46
  export * from './readFacePosture.js';
@@ -48,6 +49,7 @@ export * from './mcpLiveness.js';
48
49
  export * from './mcpEngineLeg.js';
49
50
  export * from './mcpProbeCapability.js';
50
51
  export * from './sessionSyncFileHistoryCapability.js';
52
+ export * from './sessionSyncFileHistory.js';
51
53
  export * from './workflowsJournalCapability.js';
52
54
  export * from './userInvokedSkillsCapability.js';
53
55
  export * from './skillToolListsCapability.js';
@@ -72,7 +74,7 @@ export * from './modelCapabilityProbe.js';
72
74
  export * from './classifierStatus.js';
73
75
  export * from './engineToolLabelStore.js';
74
76
  export * from './fleetTaskDesc.js';
75
- export { displayUntrusted, displayUntrustedMarks } from './displayUntrusted.js';
77
+ export { displayUntrusted, displayUntrustedMarks, displayConfiguredUrl, queryCarriesCredential } from './displayUntrusted.js';
76
78
  export * from './hostEnv.js';
77
79
  export * from './unrefTimer.js';
78
80
  export { ControlRouter, ControlSafetyError, errCodes, steerBodyOf, steerRefusalAdviceOf, steeringRefusedBeforeEngine, } from './controlRouter.js';
@@ -82,7 +84,7 @@ export * from './engineWireSdk.js';
82
84
  export * from './classifierVerdictWire.js';
83
85
  export { stripSystemReminderBlocks, unwrapSystemReminder } from './systemReminderTag.js';
84
86
  export { findSystemReminderOpenTag } from './systemReminderTag.js';
85
- export { ACTIVE_RUN_BUSY_ERROR_CODE, APPROVAL_EXPIRED, ASK_GONE, asModelFallbackReason, CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED, CAPABILITY_SELF_ORCHESTRATION_REQUIRED, CONFIG_AGENT_UNKNOWN_TOOL, CONFIG_DELEGATION_ENTRY_CAPS, CONFIG_IMAGE_INVALID, CONFIG_LEGACY_TOOL_NAME, CONFIG_LIMIT_INVALID, CONFIG_LIMIT_UNKNOWN_KEY, CONFIG_MEMORY_PROJECT_KEY_SPELLING, CONFIG_MEMORY_WRITE_SCOPE_MISMATCH, CONFIG_OUTPUT_STYLE_INVALID, CONFIG_REFUSAL_CODES, CONFIG_STRATEGY_FIND_LIMIT_INVALID, CONFIG_STRATEGY_MAX_SIZE_INVALID, CORRUPT_SESSION_ERROR_CODE, DECIDE_CLAIM_LOST, DECIDE_GATE_MOVED, DECIDE_NOT_PARKED, DECIDE_PARK_MOVED_CODES, DECIDE_WORKFLOW_HOST_UNKNOWN, DECIDE_WORKFLOW_LANE_CODES, DECIDE_WORKFLOW_PARK_FORKED, DECIDE_WORKFLOW_PARKS_UNREADABLE, DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED, DELEGATION_CAP_CODES, DELEGATION_CONCURRENCY_CAP, DELEGATION_SESSION_CAP, delegationCapDispositionOf, DRAINING_ERROR_CODE, ENGINE_STOP_REASONS, engineStopReasonToCc, ENV_LIFETIME_EXPIRED, FLEET_LEASE_UNAVAILABLE, GATE_PARKED_ERROR_CODE, imageInvalidFailureNoteOf, isConfigRefusalCode, isCorruptSessionCode, isDecideParkMovedCode, isDelegationCapCode, isInterruptedToolEndCode, isLimitsExceededCode, isRewindFamilyCode, isRulesRefusalCode, isStatusDerivedCoarseCode, isWorkflowParkRefusalCode, LIMITS_MAX_COST_EXCEEDED, LIMITS_MAX_TOKENS_EXCEEDED, LIMITS_MAX_TURNS_EXCEEDED, LIMITS_MAX_WALLTIME_EXCEEDED, MCP_SERVER_REVOKED, MODEL_FALLBACK_INHERIT_NO_TIER_BINDING, operatorGateRefusalContent, OUTPUT_INVALID, PARKED_RESUME_STARTUP_FAILED, REQUEST_AUTONOMY_LANE_REFUSED, RESUME_AT_ERROR_CODE_PREFIX, RESUME_CONTEXT_UNAVAILABLE, RESUME_ENV_FAILED, RESUME_PLACEMENT_MISMATCH, RESUME_POLICY_FOLD_CODE, RESUME_PREFLIGHT_REJECTED, RESUME_REOPEN_CODES, RESUME_RETRY_LATER_CODES, RESUME_TOOL_CONTRACT_MISMATCH, RESUME_TOOL_UNAVAILABLE, RESUME_USAGE_WINDOW_EXHAUSTED, REWIND_ERROR_CODE_PREFIXES, RULES_LEGACY_TOOL_NAME, RUN_DEATH_VERDICT_CODES, RUN_ORPHANED, RUN_STALLED, runDeathVerdictNoteOf, SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE, SCENARIO_NOT_ALLOWED_ERROR_CODE, STATUS_DERIVED_COARSE_CODES, STOP_CONFLICT_CODES, STREAM_MAX_DURATION, TOOL_END_INTERRUPTED_NEVER_STARTED, TOOL_END_INTERRUPTED_OUTCOME_UNKNOWN, USAGE_WINDOW_EXHAUSTED, WORKFLOW_PARK_REFUSAL_CODES, } from './engineErrorCodes.js';
87
+ export { ACTIVE_RUN_BUSY_ERROR_CODE, APPROVAL_EXPIRED, ASK_GONE, asModelFallbackReason, CAPABILITY_IMAGE_INDEX_REQUIRED, CAPABILITY_OPERATOR_PRINCIPALS_REQUIRED, CAPABILITY_SELF_ORCHESTRATION_REQUIRED, CONFIG_AGENT_UNKNOWN_TOOL, CONFIG_DELEGATION_ENTRY_CAPS, CONFIG_IMAGE_INVALID, CONFIG_LEGACY_TOOL_NAME, CONFIG_LIMIT_INVALID, CONFIG_LIMIT_UNKNOWN_KEY, CONFIG_MEMORY_PROJECT_KEY_SPELLING, CONFIG_MEMORY_WRITE_SCOPE_MISMATCH, CONFIG_OUTPUT_STYLE_INVALID, CONFIG_STRATEGY_FIND_LIMIT_INVALID, CONFIG_STRATEGY_MAX_SIZE_INVALID, CONFLICT_IDEMPOTENCY_PAYLOAD_MISMATCH, CORRUPT_SESSION_ERROR_CODE, DECIDE_CLAIM_LOST, DECIDE_GATE_MOVED, DECIDE_NOT_PARKED, DECIDE_PARK_MOVED_CODES, DECIDE_WORKFLOW_HOST_UNKNOWN, DECIDE_WORKFLOW_LANE_CODES, DECIDE_WORKFLOW_PARK_FORKED, DECIDE_WORKFLOW_PARKS_UNREADABLE, DECIDE_WORKFLOW_REMEMBER_UNSUPPORTED, DELEGATION_CAP_CODES, DELEGATION_CONCURRENCY_CAP, DELEGATION_SESSION_CAP, delegationCapDispositionOf, DRAINING_ERROR_CODE, ENGINE_STOP_REASONS, engineStopReasonToCc, ENV_LIFETIME_EXPIRED, FLEET_LEASE_UNAVAILABLE, GATE_PARKED_ERROR_CODE, idempotencyPayloadMismatchContent, imageInvalidFailureNoteOf, isConfigRefusalCode, isCorruptSessionCode, isDecideParkMovedCode, isDelegationCapCode, isIdempotencyPayloadMismatchCode, isInterruptedToolEndCode, isLimitsExceededCode, isRewindFamilyCode, isRulesRefusalCode, isStatusDerivedCoarseCode, isWorkflowParkRefusalCode, LIMITS_MAX_COST_EXCEEDED, LIMITS_MAX_TOKENS_EXCEEDED, LIMITS_MAX_TURNS_EXCEEDED, LIMITS_MAX_WALLTIME_EXCEEDED, MCP_SERVER_REVOKED, MODEL_FALLBACK_INHERIT_NO_TIER_BINDING, operatorGateRefusalContent, OUTPUT_INVALID, PARKED_RESUME_STARTUP_FAILED, REQUEST_AUTONOMY_LANE_REFUSED, RESUME_AT_ERROR_CODE_PREFIX, RESUME_CONTEXT_UNAVAILABLE, RESUME_ENV_FAILED, RESUME_PLACEMENT_MISMATCH, RESUME_POLICY_FOLD_CODE, RESUME_PREFLIGHT_REJECTED, RESUME_REOPEN_CODES, RESUME_RETRY_LATER_CODES, RESUME_TOOL_CONTRACT_MISMATCH, RESUME_TOOL_UNAVAILABLE, RESUME_USAGE_WINDOW_EXHAUSTED, REWIND_ERROR_CODE_PREFIXES, RULES_LEGACY_TOOL_NAME, RUN_DEATH_VERDICT_CODES, RUN_ORPHANED, RUN_STALLED, runDeathVerdictNoteOf, SCENARIO_ASSIGNMENT_UNKNOWN_ERROR_CODE, SCENARIO_NOT_ALLOWED_ERROR_CODE, STATUS_DERIVED_COARSE_CODES, STOP_CONFLICT_CODES, STREAM_MAX_DURATION, TOOL_END_INTERRUPTED_NEVER_STARTED, TOOL_END_INTERRUPTED_OUTCOME_UNKNOWN, USAGE_WINDOW_EXHAUSTED, WORKFLOW_PARK_REFUSAL_CODES, } from './engineErrorCodes.js';
86
88
  export * from './agentsWireCaps.js';
87
89
  export * from './attachmentsWireCaps.js';
88
90
  export * from './clientContextWireCaps.js';
@@ -106,6 +108,7 @@ export * from './sealedKeyCapability.js';
106
108
  export * from './storePostureCapability.js';
107
109
  export * from './centerWiringCapability.js';
108
110
  export * from './registryQuotaUsage.js';
111
+ export * from './engineDirectory.js';
109
112
  export * from './selfOrchestrationWireCaps.js';
110
113
  export * from './skillsWireCaps.js';
111
114
  export * from './ultracodeWireCaps.js';
@@ -144,6 +147,7 @@ export * from './headlessPermissionModeWire.js';
144
147
  export * from './headlessReconnectWire.js';
145
148
  export { coerceTaskStatus, coerceWorkflowStatus, CONTROL_TOOL_VERBS, FLEET_TASK_ROW_KEYS_NOT_PROJECTED, FLEET_TASK_ROW_WIRE_KEYS, FLEET_TASK_VIEW_KEYS, FLEET_WORKFLOW_ROW_KEYS_NOT_PROJECTED, FLEET_WORKFLOW_ROW_WIRE_KEYS, FLEET_WORKFLOW_VIEW_KEYS, projectDescription, projectTasks, projectWorkflows, wireResumable, wireRowUsage, } from './fleet/fleetProjection.js';
146
149
  export * from './fleet/fleetLedger.js';
150
+ export * from './fleet/bgSubagentRow.js';
147
151
  export * from './fleet/workflowSizeWarning.js';
148
152
  export * from './subagent/engineDelegatedPrompt.js';
149
153
  export * from './subagent/engineRowStopGate.js';
@@ -171,7 +175,7 @@ export { noteEngineCapsForAttachmentSeat, observedAttachmentSeat, __resetAttachm
171
175
  export * from './resumeRefusalCopy.js';
172
176
  export * from './wireRefusalCopy.js';
173
177
  export * from './inheritEnvWire.js';
174
- export { SUPPORT_FLOOR, supportFloorOf, engineVersionTier, coreVersionTier } from './supportFloor.js';
178
+ export { SUPPORT_FLOOR, supportFloorOf, engineVersionTier, engineSupportFloorEffective, coreVersionTier } from './supportFloor.js';
175
179
  export * from './decideReceipt.js';
176
180
  export * from './sessionMap.js';
177
181
  export * from './detachWire.js';
@@ -190,11 +194,13 @@ export { __setDecideTimeoutRetryBudgetForTests, backendDeny, DecideTransportRetr
190
194
  export * from './hitl/suspendedReopen.js';
191
195
  export * from './hitl/approvalOutcomeNote.js';
192
196
  export * from './hitl/approvalResolution.js';
193
- export { toolEndOutputText, ENGINE_ABORT_TOOL_RESULT } from './hitl/frameRouter.js';
194
- export { _resetHitlHostSurfaceForTest, CANCEL_DENY_BUDGET_MS, CANCEL_DENY_WARN_TEXT, EDIT_NOT_FORWARDED_WARN_TEXT, EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT, hitlHostSurfaceFor, hitlHostSurfaceMisses, hitlHostSurfaceMissesFor, installHitlHostSurface, installHitlHostSurfaceFor, observeCancelByDeny, REMEMBER_NOT_APPLIED_WARN_TEXT, REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT, RULE_NOT_SENT_REJECTED_WARN_TEXT, RULE_NOT_SENT_WARN_TEXT, surfaceEditRefusedOnBlindAsk, surfaceForCurrentSession, surfaceRememberNotApplied, } from './hitl/hitlHostSurface.js';
197
+ export { ENGINE_ABORT_TOOL_RESULT } from './hitl/frameRouter.js';
198
+ export { toolEndOutputText } from './toolResultContent.js';
199
+ export { _resetHitlHostSurfaceForTest, APPROVAL_PARKING_WARN_TEXT, CANCEL_DENY_BUDGET_MS, CANCEL_DENY_WARN_TEXT, EDIT_NOT_FORWARDED_WARN_TEXT, EDIT_REFUSED_ON_BLIND_ASK_WARN_TEXT, hitlHostSurfaceFor, hitlHostSurfaceMisses, hitlHostSurfaceMissesFor, installHitlHostSurface, installHitlHostSurfaceFor, observeCancelByDeny, REMEMBER_NOT_APPLIED_WARN_TEXT, REPLAYED_APPROVAL_LIST_UNREADABLE_WARN_TEXT, RULE_NOT_SENT_REJECTED_WARN_TEXT, RULE_NOT_SENT_WARN_TEXT, surfaceEditRefusedOnBlindAsk, surfaceForCurrentSession, surfaceRememberNotApplied, } from './hitl/hitlHostSurface.js';
195
200
  export * from './hitl/toolApprovalWire.js';
196
201
  export * from './hitl/editedRuleTextPrecheck.js';
197
202
  export * from './coreValuePorts.js';
203
+ export { ruleToolNameVerdictOf } from './protocolSegment.js';
198
204
  export * from './hitl/askGateWire.js';
199
205
  export * from './hitl/planReviewWire.js';
200
206
  export { PLAN_REVIEW_QUESTION_ID_PREFIX, REOPEN_ID_TAIL, approvalCallKey, askGateQuestionId, planReviewQuestionId, liveFrameCallKey, armedKeyFromQuestionId, } from './hitl/gateIdentity.js';
@@ -210,10 +216,11 @@ export * from './hitl/sessionPolicyWire.js';
210
216
  export * from './hitl/sessionPolicyDeliverable.js';
211
217
  export * from './hitl/approvalsFeed.js';
212
218
  export * from './hitl/livePendingAsk.js';
213
- export { replayedApprovalDisposition, replayedApprovalSentence } from './hitl/replayedApproval.js';
219
+ export { replayedApprovalClosesCardFrame, replayedApprovalDisposition, replayedApprovalSentence } from './hitl/replayedApproval.js';
214
220
  export { hasLedgerPositionKey } from './hitl/gateLedger.js';
215
221
  export { MODE_ARBITRATION, automaticAnswerVerdict, mandatedApprovalDetailOf, permissionRequestHookScope, } from './hitl/automaticAnswerVerdict.js';
216
- export { classifyDecisionRefusal, liveAskPendingReading, decisionRefusalClosesOut, undeliverableDecisionContent, } from './hitl/decisionRefusal.js';
222
+ export { standingRowsOf, } from './hitl/standingRows.js';
223
+ export { classifyDecisionRefusal, liveAskPendingReading, decisionRefusalClosesOut, undeliverableDecisionContent, decisionRefusalAskReading, } from './hitl/decisionRefusal.js';
217
224
  export { noAllowCauseOf } from './hitl/noAllowCause.js';
218
225
  export { policyDenyReason } from './hitl/frameRouter.js';
219
226
  export { readApprovalAllowRuleShadow, approvalAllowRuleShadowed, allowRuleShadowSentence, } from './hitl/allowRuleShadow.js';
@@ -246,4 +253,7 @@ export * from './env/localeTag.js';
246
253
  export * from './env/uiLanguage.js';
247
254
  export * from './ruleRemovalConsequence.js';
248
255
  export { engineCredentialRequirementOf } from './engineCredentialRequirement.js';
256
+ export { credentialProvenance, CREDENTIAL_ATTACH_WORDS } from './credentialProvenance.js';
249
257
  export { isSessionIdPathSegment } from './sessionIdSegment.js';
258
+ export { cutForDisplay, noticePresentationFacts, NOTICE_SEAT_CLASS, noticeSeatClassOf, OUTLET_KINDS, outletReachable, planOutletRendering, NOTICE_FULL_TEXT_CAP, noticePrintLine, } from './noticePresentation.js';
259
+ export { printPermissionOutcomeOf, PRINT_PERMISSION_OUTCOME_FORMS } from './printPermissionOutcome.js';
@@ -21,6 +21,7 @@ export interface LiveModelCatalog {
21
21
  readonly name?: string;
22
22
  };
23
23
  droppedEntries?: readonly LiveModelDroppedEntry[];
24
+ candidateRejected?: unknown;
24
25
  }
25
26
  export declare function setLiveModelCatalog(next: LiveModelCatalog | null): void;
26
27
  export declare function setLiveModelCatalogRefresher(fn: (() => Promise<LiveModelCatalog | null>) | null): void;
@@ -69,6 +70,18 @@ export type ModelDroppedEntriesReading = {
69
70
  readonly why: 'no_catalog' | 'malformed' | 'unreadable';
70
71
  };
71
72
  export declare function droppedModelEntriesOf(catalog?: LiveModelCatalog | null): ModelDroppedEntriesReading;
73
+ export type ModelCandidateRejectedReading = {
74
+ readonly kind: 'not_reported';
75
+ } | {
76
+ readonly kind: 'rejected';
77
+ readonly domains: readonly string[];
78
+ readonly at: string;
79
+ readonly source: string;
80
+ } | {
81
+ readonly kind: 'unreadable';
82
+ };
83
+ export declare function modelCandidateRejectedOf(catalog?: LiveModelCatalog | null): ModelCandidateRejectedReading;
84
+ export declare function modelCandidateRejectedContent(reading: ModelCandidateRejectedReading): string | undefined;
72
85
  export interface RoutePairingVerdict {
73
86
  verdict: 'ok' | 'broken' | 'unknown';
74
87
  posture?: string;
@@ -228,6 +228,59 @@ export function droppedModelEntriesOf(catalog = getLiveModelCatalog()) {
228
228
  return unknownDropped('unreadable');
229
229
  }
230
230
  }
231
+ export function modelCandidateRejectedOf(catalog = getLiveModelCatalog()) {
232
+ const unreadable = Object.freeze({ kind: 'unreadable' });
233
+ try {
234
+ if (catalog === null || typeof catalog !== 'object' || Array.isArray(catalog))
235
+ return Object.freeze({ kind: 'not_reported' });
236
+ if (!Object.hasOwn(catalog, 'candidateRejected'))
237
+ return Object.freeze({ kind: 'not_reported' });
238
+ const d = Object.getOwnPropertyDescriptor(catalog, 'candidateRejected');
239
+ if (d === undefined || !('value' in d))
240
+ return unreadable;
241
+ const v = d.value;
242
+ if (v === undefined)
243
+ return Object.freeze({ kind: 'not_reported' });
244
+ if (v === null || typeof v !== 'object' || Array.isArray(v))
245
+ return unreadable;
246
+ const own = (k) => {
247
+ const od = Object.getOwnPropertyDescriptor(v, k);
248
+ return od !== undefined && 'value' in od ? od.value : undefined;
249
+ };
250
+ const rawDomains = own('domains');
251
+ const at = own('at');
252
+ const source = own('source');
253
+ if (!Array.isArray(rawDomains) || typeof at !== 'string' || at.length === 0 || typeof source !== 'string' || source.length === 0)
254
+ return unreadable;
255
+ const n = Object.getOwnPropertyDescriptor(rawDomains, 'length')?.value;
256
+ if (typeof n !== 'number' || !Number.isSafeInteger(n) || n <= 0)
257
+ return unreadable;
258
+ const domains = [];
259
+ for (let i = 0; i < n; i += 1) {
260
+ const id = Object.getOwnPropertyDescriptor(rawDomains, String(i));
261
+ if (id === undefined || !('value' in id) || typeof id.value !== 'string' || id.value.length === 0)
262
+ return unreadable;
263
+ domains.push(id.value);
264
+ }
265
+ return Object.freeze({ kind: 'rejected', domains: Object.freeze(domains), at, source });
266
+ }
267
+ catch {
268
+ return unreadable;
269
+ }
270
+ }
271
+ const CONFIG_DOMAIN_WORD = /^[a-z][a-z0-9_.-]{0,63}$/;
272
+ export function modelCandidateRejectedContent(reading) {
273
+ try {
274
+ if (reading === null || typeof reading !== 'object' || reading.kind !== 'rejected')
275
+ return undefined;
276
+ const named = reading.domains.filter((w) => CONFIG_DOMAIN_WORD.test(w));
277
+ const which = named.length > 0 && named.length === reading.domains.length ? ` (${named.join(', ')})` : '';
278
+ return `The deployment refused its most recent configuration change${which} and is still running on the configuration before it — models or settings added by that change are not in effect`;
279
+ }
280
+ catch {
281
+ return undefined;
282
+ }
283
+ }
231
284
  const ROUTE_PAIRING_OK = new Set(['ok:per-model', 'ok:paired', 'ok:unpinned', 'ok:keyless']);
232
285
  const ROUTE_PAIRING_BROKEN = new Set(['broken:credential_mismatch', 'broken:credential_missing']);
233
286
  export function routePairingVerdict(v) {
@@ -256,6 +309,7 @@ export function readLiveModelCatalog(body) {
256
309
  const defaultKey = envelopeKey(body, 'default');
257
310
  const defaultModelKey = envelopeKey(body, 'defaultModel');
258
311
  const droppedKey = envelopeKey(body, 'droppedEntries');
312
+ const candidateKey = envelopeKey(body, 'candidateRejected');
259
313
  const raw = modelsKey.present ? modelsKey.value : undefined;
260
314
  if (!Array.isArray(raw))
261
315
  return unreadableCatalog('models_not_array');
@@ -292,6 +346,8 @@ export function readLiveModelCatalog(body) {
292
346
  const dropped = droppedEntriesCopy(droppedKey.value);
293
347
  out.droppedEntries = dropped;
294
348
  }
349
+ if (candidateKey.present && candidateKey.value !== undefined)
350
+ out.candidateRejected = frozenJsonCopyOf(candidateKey.value) ?? null;
295
351
  return Object.freeze({ kind: 'read', catalog: Object.freeze(out), unreadableRows, ...(defaultModelMalformed ? { defaultModelMalformed: true } : {}) });
296
352
  }
297
353
  catch {
@@ -1,5 +1,7 @@
1
1
  export type McpProbeReading = {
2
2
  kind: 'unobserved';
3
+ } | {
4
+ kind: 'unreadable';
3
5
  } | {
4
6
  kind: 'not_reported';
5
7
  } | {
@@ -8,10 +10,6 @@ export type McpProbeReading = {
8
10
  kind: 'present';
9
11
  };
10
12
  export declare function projectMcpProbeCapability(caps: unknown): McpProbeReading | undefined;
11
- export declare function noteEngineCapsForMcpProbe(baseUrl: string, caps: unknown, opts?: {
12
- generation?: number;
13
- }): void;
14
13
  export declare function observedMcpProbe(baseUrl?: string | undefined): McpProbeReading;
15
14
  export declare function mcpProbeAvailable(reading: McpProbeReading): 'yes' | 'no' | 'unknown';
16
15
  export declare function mcpProbeDoctorDetail(reading: McpProbeReading): string;
17
- export declare function __resetMcpProbeReadingsForTests(): void;
@@ -1,5 +1,5 @@
1
1
  import { engineWireTarget } from './engineWireTarget.js';
2
- import { createEngineCapReader } from './engineCapReader.js';
2
+ import { createEngineCapReader, unreadableReadingDetail } from './engineCapReader.js';
3
3
  import { ownDataField } from './ownKey.js';
4
4
  export function projectMcpProbeCapability(caps) {
5
5
  try {
@@ -19,11 +19,7 @@ export function projectMcpProbeCapability(caps) {
19
19
  const reader = createEngineCapReader({
20
20
  name: 'mcpProbe',
21
21
  project: projectMcpProbeCapability,
22
- makeUnobserved: () => ({ kind: 'unobserved' }),
23
22
  });
24
- export function noteEngineCapsForMcpProbe(baseUrl, caps, opts) {
25
- reader.note(baseUrl, caps, opts);
26
- }
27
23
  export function observedMcpProbe(baseUrl = engineWireTarget()?.baseUrl) {
28
24
  return reader.observed(baseUrl);
29
25
  }
@@ -36,6 +32,8 @@ export function mcpProbeAvailable(reading) {
36
32
  }
37
33
  export function mcpProbeDoctorDetail(reading) {
38
34
  switch (reading.kind) {
35
+ case 'unreadable':
36
+ return unreadableReadingDetail('per-server MCP status face');
39
37
  case 'unobserved':
40
38
  return ('per-server MCP status face not observed — the engine reports whether it has one on /v1/capabilities; ' +
41
39
  'this process has no usable capabilities reading cached for it (none received, the last one was unreadable, or the last one was discarded when the engine connection was reset; this process cannot tell which)');
@@ -51,6 +49,3 @@ export function mcpProbeDoctorDetail(reading) {
51
49
  'and a probe of caller-supplied declarations answers with the very same body shape');
52
50
  }
53
51
  }
54
- export function __resetMcpProbeReadingsForTests() {
55
- reader.__resetForTests();
56
- }
@@ -12,6 +12,7 @@ export interface McpConfigLike {
12
12
  headers?: Record<string, string>;
13
13
  allowTools?: string[];
14
14
  toolFaces?: unknown;
15
+ toolAxes?: unknown;
15
16
  }
16
17
  export declare function mcpConfigToSpec(name: string, c: McpConfigLike): McpServerSpec | null;
17
18
  export declare function mcpConfigsToSpecs(servers: Record<string, McpConfigLike> | undefined): McpServerSpec[];
@@ -1,6 +1,9 @@
1
1
  export const MCP_CAPS = { items: 32 };
2
2
  function transparentKeys(c) {
3
- return c.toolFaces !== undefined ? { toolFaces: c.toolFaces } : {};
3
+ return {
4
+ ...(c.toolFaces !== undefined ? { toolFaces: c.toolFaces } : {}),
5
+ ...(c.toolAxes !== undefined ? { toolAxes: c.toolAxes } : {}),
6
+ };
4
7
  }
5
8
  export function mcpConfigToSpec(name, c) {
6
9
  const n = (name ?? '').trim();
@@ -1,6 +1,8 @@
1
1
  export declare const MEMORY_ENGINE_REQUIRED_CODE = "capability.memory_engine_required";
2
2
  export type MemoryComplianceReading = {
3
3
  kind: 'unobserved';
4
+ } | {
5
+ kind: 'unreadable';
4
6
  } | {
5
7
  kind: 'not_reported';
6
8
  } | {
@@ -9,10 +11,6 @@ export type MemoryComplianceReading = {
9
11
  kind: 'present';
10
12
  };
11
13
  export declare function projectMemoryComplianceCapability(caps: unknown): MemoryComplianceReading | undefined;
12
- export declare function noteEngineCapsForMemoryCompliance(baseUrl: string, caps: unknown, opts?: {
13
- generation?: number;
14
- }): void;
15
14
  export declare function observedMemoryCompliance(baseUrl?: string | undefined): MemoryComplianceReading;
16
15
  export declare function memoryComplianceVerbsAvailable(reading: MemoryComplianceReading): 'yes' | 'no' | 'unknown';
17
16
  export declare function memoryComplianceDoctorDetail(reading: MemoryComplianceReading): string;
18
- export declare function __resetMemoryComplianceReadingsForTests(): void;