agentfootprint 7.4.0 → 7.6.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 (166) hide show
  1. package/AGENTS.md +1 -1
  2. package/CLAUDE.md +1 -1
  3. package/README.md +108 -11
  4. package/ai-instructions/claude-code/SKILL.md +1 -1
  5. package/dist/core/Agent.js +19 -1
  6. package/dist/core/Agent.js.map +1 -1
  7. package/dist/core/RunnerBase.js +12 -1
  8. package/dist/core/RunnerBase.js.map +1 -1
  9. package/dist/core/agent/AgentBuilder.js +33 -1
  10. package/dist/core/agent/AgentBuilder.js.map +1 -1
  11. package/dist/core/agent/stages/toolCalls.js +225 -16
  12. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  13. package/dist/core/checkin.js +266 -0
  14. package/dist/core/checkin.js.map +1 -0
  15. package/dist/core/pause.js +17 -1
  16. package/dist/core/pause.js.map +1 -1
  17. package/dist/core/tools.js +3 -0
  18. package/dist/core/tools.js.map +1 -1
  19. package/dist/debug.js +17 -2
  20. package/dist/debug.js.map +1 -1
  21. package/dist/esm/core/Agent.d.ts +6 -1
  22. package/dist/esm/core/Agent.js +19 -1
  23. package/dist/esm/core/Agent.js.map +1 -1
  24. package/dist/esm/core/RunnerBase.js +12 -1
  25. package/dist/esm/core/RunnerBase.js.map +1 -1
  26. package/dist/esm/core/agent/AgentBuilder.d.ts +27 -0
  27. package/dist/esm/core/agent/AgentBuilder.js +33 -1
  28. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  29. package/dist/esm/core/agent/stages/toolCalls.d.ts +9 -0
  30. package/dist/esm/core/agent/stages/toolCalls.js +225 -16
  31. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  32. package/dist/esm/core/agent/types.d.ts +2 -0
  33. package/dist/esm/core/checkin.d.ts +263 -0
  34. package/dist/esm/core/checkin.js +254 -0
  35. package/dist/esm/core/checkin.js.map +1 -0
  36. package/dist/esm/core/pause.d.ts +24 -0
  37. package/dist/esm/core/pause.js +15 -0
  38. package/dist/esm/core/pause.js.map +1 -1
  39. package/dist/esm/core/tools.d.ts +19 -0
  40. package/dist/esm/core/tools.js +3 -0
  41. package/dist/esm/core/tools.js.map +1 -1
  42. package/dist/esm/debug.d.ts +3 -2
  43. package/dist/esm/debug.js +10 -2
  44. package/dist/esm/debug.js.map +1 -1
  45. package/dist/esm/events/dispatcher.d.ts +1 -1
  46. package/dist/esm/events/dispatcher.js.map +1 -1
  47. package/dist/esm/events/payloads.d.ts +19 -0
  48. package/dist/esm/events/registry.d.ts +7 -1
  49. package/dist/esm/events/registry.js +6 -0
  50. package/dist/esm/events/registry.js.map +1 -1
  51. package/dist/esm/index.d.ts +4 -1
  52. package/dist/esm/index.js +9 -1
  53. package/dist/esm/index.js.map +1 -1
  54. package/dist/esm/lib/context-bisect/index.d.ts +1 -0
  55. package/dist/esm/lib/context-bisect/index.js +3 -0
  56. package/dist/esm/lib/context-bisect/index.js.map +1 -1
  57. package/dist/esm/lib/context-bisect/localize.d.ts +6 -2
  58. package/dist/esm/lib/context-bisect/localize.js +19 -3
  59. package/dist/esm/lib/context-bisect/localize.js.map +1 -1
  60. package/dist/esm/lib/context-bisect/rerun.d.ts +123 -0
  61. package/dist/esm/lib/context-bisect/rerun.js +155 -0
  62. package/dist/esm/lib/context-bisect/rerun.js.map +1 -0
  63. package/dist/esm/lib/context-bisect/types.d.ts +8 -0
  64. package/dist/esm/lib/context-bisect/types.js.map +1 -1
  65. package/dist/esm/lib/influence-core/index.d.ts +2 -0
  66. package/dist/esm/lib/influence-core/index.js +2 -0
  67. package/dist/esm/lib/influence-core/index.js.map +1 -1
  68. package/dist/esm/lib/influence-core/lexical.d.ts +60 -0
  69. package/dist/esm/lib/influence-core/lexical.js +142 -0
  70. package/dist/esm/lib/influence-core/lexical.js.map +1 -0
  71. package/dist/esm/lib/influence-core/signals.d.ts +5 -0
  72. package/dist/esm/lib/influence-core/signals.js +6 -2
  73. package/dist/esm/lib/influence-core/signals.js.map +1 -1
  74. package/dist/esm/lib/influence-core/strategies.d.ts +51 -0
  75. package/dist/esm/lib/influence-core/strategies.js +29 -0
  76. package/dist/esm/lib/influence-core/strategies.js.map +1 -0
  77. package/dist/esm/lib/recorded-chat/index.d.ts +11 -0
  78. package/dist/esm/lib/recorded-chat/index.js +11 -0
  79. package/dist/esm/lib/recorded-chat/index.js.map +1 -0
  80. package/dist/esm/lib/recorded-chat/recordedChat.d.ts +20 -0
  81. package/dist/esm/lib/recorded-chat/recordedChat.js +240 -0
  82. package/dist/esm/lib/recorded-chat/recordedChat.js.map +1 -0
  83. package/dist/esm/lib/recorded-chat/types.d.ts +182 -0
  84. package/dist/esm/lib/recorded-chat/types.js +31 -0
  85. package/dist/esm/lib/recorded-chat/types.js.map +1 -0
  86. package/dist/esm/recorders/core/CheckInRecorder.d.ts +90 -0
  87. package/dist/esm/recorders/core/CheckInRecorder.js +109 -0
  88. package/dist/esm/recorders/core/CheckInRecorder.js.map +1 -0
  89. package/dist/events/dispatcher.js.map +1 -1
  90. package/dist/events/registry.js +6 -0
  91. package/dist/events/registry.js.map +1 -1
  92. package/dist/index.js +18 -1
  93. package/dist/index.js.map +1 -1
  94. package/dist/lib/context-bisect/index.js +6 -1
  95. package/dist/lib/context-bisect/index.js.map +1 -1
  96. package/dist/lib/context-bisect/localize.js +19 -3
  97. package/dist/lib/context-bisect/localize.js.map +1 -1
  98. package/dist/lib/context-bisect/rerun.js +160 -0
  99. package/dist/lib/context-bisect/rerun.js.map +1 -0
  100. package/dist/lib/context-bisect/types.js.map +1 -1
  101. package/dist/lib/influence-core/index.js +7 -1
  102. package/dist/lib/influence-core/index.js.map +1 -1
  103. package/dist/lib/influence-core/lexical.js +146 -0
  104. package/dist/lib/influence-core/lexical.js.map +1 -0
  105. package/dist/lib/influence-core/signals.js +8 -3
  106. package/dist/lib/influence-core/signals.js.map +1 -1
  107. package/dist/lib/influence-core/strategies.js +33 -0
  108. package/dist/lib/influence-core/strategies.js.map +1 -0
  109. package/dist/lib/recorded-chat/index.js +15 -0
  110. package/dist/lib/recorded-chat/index.js.map +1 -0
  111. package/dist/lib/recorded-chat/recordedChat.js +244 -0
  112. package/dist/lib/recorded-chat/recordedChat.js.map +1 -0
  113. package/dist/lib/recorded-chat/types.js +32 -0
  114. package/dist/lib/recorded-chat/types.js.map +1 -0
  115. package/dist/recorders/core/CheckInRecorder.js +114 -0
  116. package/dist/recorders/core/CheckInRecorder.js.map +1 -0
  117. package/dist/types/core/Agent.d.ts +6 -1
  118. package/dist/types/core/Agent.d.ts.map +1 -1
  119. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  120. package/dist/types/core/agent/AgentBuilder.d.ts +27 -0
  121. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  122. package/dist/types/core/agent/stages/toolCalls.d.ts +9 -0
  123. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  124. package/dist/types/core/agent/types.d.ts +2 -0
  125. package/dist/types/core/agent/types.d.ts.map +1 -1
  126. package/dist/types/core/checkin.d.ts +264 -0
  127. package/dist/types/core/checkin.d.ts.map +1 -0
  128. package/dist/types/core/pause.d.ts +24 -0
  129. package/dist/types/core/pause.d.ts.map +1 -1
  130. package/dist/types/core/tools.d.ts +19 -0
  131. package/dist/types/core/tools.d.ts.map +1 -1
  132. package/dist/types/debug.d.ts +3 -2
  133. package/dist/types/debug.d.ts.map +1 -1
  134. package/dist/types/events/dispatcher.d.ts +1 -1
  135. package/dist/types/events/dispatcher.d.ts.map +1 -1
  136. package/dist/types/events/payloads.d.ts +19 -0
  137. package/dist/types/events/payloads.d.ts.map +1 -1
  138. package/dist/types/events/registry.d.ts +7 -1
  139. package/dist/types/events/registry.d.ts.map +1 -1
  140. package/dist/types/index.d.ts +4 -1
  141. package/dist/types/index.d.ts.map +1 -1
  142. package/dist/types/lib/context-bisect/index.d.ts +1 -0
  143. package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
  144. package/dist/types/lib/context-bisect/localize.d.ts +6 -2
  145. package/dist/types/lib/context-bisect/localize.d.ts.map +1 -1
  146. package/dist/types/lib/context-bisect/rerun.d.ts +124 -0
  147. package/dist/types/lib/context-bisect/rerun.d.ts.map +1 -0
  148. package/dist/types/lib/context-bisect/types.d.ts +8 -0
  149. package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
  150. package/dist/types/lib/influence-core/index.d.ts +2 -0
  151. package/dist/types/lib/influence-core/index.d.ts.map +1 -1
  152. package/dist/types/lib/influence-core/lexical.d.ts +61 -0
  153. package/dist/types/lib/influence-core/lexical.d.ts.map +1 -0
  154. package/dist/types/lib/influence-core/signals.d.ts +5 -0
  155. package/dist/types/lib/influence-core/signals.d.ts.map +1 -1
  156. package/dist/types/lib/influence-core/strategies.d.ts +52 -0
  157. package/dist/types/lib/influence-core/strategies.d.ts.map +1 -0
  158. package/dist/types/lib/recorded-chat/index.d.ts +12 -0
  159. package/dist/types/lib/recorded-chat/index.d.ts.map +1 -0
  160. package/dist/types/lib/recorded-chat/recordedChat.d.ts +21 -0
  161. package/dist/types/lib/recorded-chat/recordedChat.d.ts.map +1 -0
  162. package/dist/types/lib/recorded-chat/types.d.ts +183 -0
  163. package/dist/types/lib/recorded-chat/types.d.ts.map +1 -0
  164. package/dist/types/recorders/core/CheckInRecorder.d.ts +91 -0
  165. package/dist/types/recorders/core/CheckInRecorder.d.ts.map +1 -0
  166. package/package.json +1 -1
@@ -28,6 +28,7 @@ import { typedEmit } from '../../../recorders/core/typedEmit.js';
28
28
  import { extractSequence } from '../../../security/extractSequence.js';
29
29
  import { unconfiguredCredentialProvider } from '../../../identity/types.js';
30
30
  import { isPauseRequest } from '../../pause.js';
31
+ import { shouldCheckIn, isCheckInDecision, checkInDeclined, } from '../../checkin.js';
31
32
  import { formatToolArgIssues, validateToolArgs, } from '../toolArgsValidation.js';
32
33
  import { safeStringify } from '../validators.js';
33
34
  /**
@@ -40,6 +41,96 @@ export function buildToolCallsHandler(deps) {
40
41
  // that THROWS on use (never undefined) — so a tool can't silently no-op.
41
42
  const credentials = deps.credentialProvider ?? unconfiguredCredentialProvider();
42
43
  const hasCredentials = deps.credentialProvider !== undefined;
44
+ // Resolve a tool by name. Hoisted to the handler closure so BOTH `execute`
45
+ // (the ReAct loop) and `resume` (an approved check-in re-executes here) share
46
+ // one resolver. The Tools slot already invoked `provider.list(ctx)` this
47
+ // iteration and cached the resolved Tool[] in `providerToolCache` — read from
48
+ // there to avoid a second discovery call (vital for async network providers).
49
+ const lookupTool = (toolName) => {
50
+ const fromRegistry = registryByName.get(toolName);
51
+ if (fromRegistry)
52
+ return fromRegistry;
53
+ if (!externalToolProvider)
54
+ return undefined;
55
+ const cached = providerToolCache?.current ?? [];
56
+ return cached.find((t) => t.schema.name === toolName);
57
+ };
58
+ // Resolve a tool's declared credential (declare-and-push) and execute it,
59
+ // emitting the same credential.* events as the main loop. Used by the
60
+ // check-in RESUME path when a human APPROVES — the tool never ran at pause
61
+ // time (that's the whole point: consent BEFORE credentials + execute), so it
62
+ // runs now. Fail-closed: a blocked/failed credential surfaces to the model
63
+ // and the tool does NOT run. A tool that pauses again during an approved
64
+ // resume can't re-pause (resume returns void), so that is surfaced as an error.
65
+ const resolveCredentialAndExecute = async (scope, tool, toolName, args, toolCallId, iteration, env) => {
66
+ if (!tool)
67
+ return { result: `Unknown tool: ${toolName}`, error: true };
68
+ const runIdentity = scope.runIdentity;
69
+ let resolvedCredential;
70
+ const need = tool.needs;
71
+ if (need) {
72
+ typedEmit(scope, 'agentfootprint.credential.requested', {
73
+ service: need.credential,
74
+ ...(need.mode && { mode: need.mode }),
75
+ });
76
+ try {
77
+ const cred = await credentials.getCredential({
78
+ service: need.credential,
79
+ ...(need.scopes && { scopes: need.scopes }),
80
+ ...(need.mode && { mode: need.mode }),
81
+ ...(runIdentity && {
82
+ identity: {
83
+ ...(runIdentity.principal && { principal: runIdentity.principal }),
84
+ ...(runIdentity.tenant && { tenant: runIdentity.tenant }),
85
+ },
86
+ }),
87
+ });
88
+ if (cred.status === 'issued') {
89
+ resolvedCredential = cred.credential;
90
+ typedEmit(scope, 'agentfootprint.credential.acquired', {
91
+ service: need.credential,
92
+ kind: cred.credential.kind,
93
+ ...(cred.expiresAt !== undefined && { expiresAt: cred.expiresAt }),
94
+ });
95
+ }
96
+ else {
97
+ typedEmit(scope, 'agentfootprint.credential.authorization_required', {
98
+ service: need.credential,
99
+ sessionId: cred.sessionId,
100
+ });
101
+ return {
102
+ result: `authorization required for '${need.credential}': ${cred.authorizationUrl}`,
103
+ error: true,
104
+ };
105
+ }
106
+ }
107
+ catch (credErr) {
108
+ const reason = credErr instanceof Error ? credErr.message : String(credErr);
109
+ typedEmit(scope, 'agentfootprint.credential.failed', { service: need.credential, reason });
110
+ return { result: `credential error for '${need.credential}': ${reason}`, error: true };
111
+ }
112
+ }
113
+ try {
114
+ const result = await tool.execute(args, {
115
+ toolCallId,
116
+ iteration,
117
+ ...(env.signal && { signal: env.signal }),
118
+ credentials,
119
+ hasCredentials,
120
+ ...(resolvedCredential && { credential: resolvedCredential }),
121
+ });
122
+ return { result };
123
+ }
124
+ catch (err) {
125
+ if (isPauseRequest(err)) {
126
+ return {
127
+ result: `tool '${toolName}' requested a pause while resuming an approved check-in, which is not supported`,
128
+ error: true,
129
+ };
130
+ }
131
+ return { result: err instanceof Error ? err.message : String(err), error: true };
132
+ }
133
+ };
43
134
  return {
44
135
  execute: async (scope) => {
45
136
  // Materialize ONCE — `scope.llmLatestToolCalls` is a live TypedScope
@@ -74,21 +165,7 @@ export function buildToolCallsHandler(deps) {
74
165
  ...(hasThinking && { thinkingBlocks: [...thinkingBlocks] }),
75
166
  });
76
167
  }
77
- // Resolve a tool by name. The Tools slot already invoked
78
- // `provider.list(ctx)` this iteration and cached the resolved
79
- // Tool[] in the closure-shared providerToolCache — read from
80
- // there to avoid a second discovery call (especially important
81
- // for async network-backed providers). Same iteration ctx →
82
- // same result, so the cache is correct.
83
- const lookupTool = (toolName) => {
84
- const fromRegistry = registryByName.get(toolName);
85
- if (fromRegistry)
86
- return fromRegistry;
87
- if (!externalToolProvider)
88
- return undefined;
89
- const cached = providerToolCache?.current ?? [];
90
- return cached.find((t) => t.schema.name === toolName);
91
- };
168
+ // `lookupTool` is hoisted to the handler closure (shared with resume).
92
169
  // Capture run identity from scope for the enriched permission ctx.
93
170
  // Same value the Tools slot passes to ToolProvider.list(ctx) so the
94
171
  // checker sees consistent identity across both gates.
@@ -217,6 +294,74 @@ export function buildToolCallsHandler(deps) {
217
294
  }
218
295
  }
219
296
  }
297
+ // ── Check-in gate (evidence-carrying human consent) ──────────────
298
+ // Ordered AFTER the permission gate + arg-validation (a call the policy
299
+ // denied or that has invalid args never asks a human) and BEFORE
300
+ // credential resolution + execute (never acquire credentials for a call
301
+ // awaiting consent — that's the whole point of "consent WITH the
302
+ // receipts"). Fires ONLY when the tool declared `checkIn` and it trips,
303
+ // so tools without the field are byte-identical (no gate, no events, no
304
+ // pause). Rides the EXISTING pause machinery: returning a defined value
305
+ // triggers the footprintjs checkpoint, exactly like `pauseHere`.
306
+ if (!denied && !argsRejected && tool && tool.checkIn !== undefined && deps.checkIn) {
307
+ // The system prompt isn't in `scope.history` (the slots assemble it
308
+ // separately) — reconstruct it from `systemPromptInjections` and
309
+ // prepend a synthetic system frame so the evidence's `read` + the
310
+ // `drivers` ranking can cite system RULES, not just the conversation.
311
+ // Computed ONLY for a checkIn-declaring tool → zero cost otherwise.
312
+ const systemPrompt = (scope.systemPromptInjections ?? [])
313
+ .map((r) => r.rawContent ?? '')
314
+ .filter((s) => s.length > 0)
315
+ .join('\n\n');
316
+ const historyForEvidence = systemPrompt
317
+ ? [{ role: 'system', content: systemPrompt }, ...newHistory]
318
+ : newHistory;
319
+ if (!shouldCheckIn(tool.checkIn, tc.args, {
320
+ iteration,
321
+ toolCallId: tc.id,
322
+ history: historyForEvidence,
323
+ })) {
324
+ // Predicate said no — fall through to the normal credential+execute
325
+ // path below (this `if` block is the ONLY thing the gate adds).
326
+ }
327
+ else {
328
+ const intent = scope.llmLatestContent ? String(scope.llmLatestContent) : undefined;
329
+ const evidence = await deps.checkIn.assembler({
330
+ tool: { name: tc.name, description: tool.schema.description },
331
+ args: tc.args,
332
+ ...(intent !== undefined && { intent }),
333
+ iteration,
334
+ history: historyForEvidence,
335
+ scorer: deps.checkIn.scorer,
336
+ ...(env.signal && { signal: env.signal }),
337
+ });
338
+ const request = {
339
+ tool: tc.name,
340
+ args: tc.args,
341
+ ...(intent !== undefined && { intent }),
342
+ evidence,
343
+ };
344
+ typedEmit(scope, 'agentfootprint.checkin.request', {
345
+ toolName: tc.name,
346
+ toolCallId: tc.id,
347
+ iteration,
348
+ request: request,
349
+ });
350
+ // Commit partial state so resume() finds history intact (mirror the
351
+ // pauseHere path). The proposed args ride the checkpoint so an
352
+ // APPROVED tool can execute on resume.
353
+ scope.history = newHistory;
354
+ scope.pausedToolCallId = tc.id;
355
+ scope.pausedToolName = tc.name;
356
+ scope.pausedToolStartMs = startMs;
357
+ scope.pausedCheckIn = true;
358
+ scope.pausedCheckInArgs = tc.args;
359
+ // Returning a defined value triggers the footprintjs pause; the
360
+ // returned object becomes the checkpoint's pauseData. detectPause
361
+ // surfaces `pauseData.checkIn` as `outcome.checkIn`.
362
+ return { toolCallId: tc.id, toolName: tc.name, checkIn: request };
363
+ }
364
+ }
220
365
  if (!denied && !argsRejected) {
221
366
  // Declare-and-push: resolve the tool's declared credential BEFORE
222
367
  // invoking, and inject it as ctx.credential. On consent-required or
@@ -413,7 +558,7 @@ export function buildToolCallsHandler(deps) {
413
558
  scope.iteration = iteration + 1;
414
559
  return undefined; // explicit: no pause, flow continues to loopTo
415
560
  },
416
- resume: (scope, input) => {
561
+ resume: async (scope, input) => {
417
562
  // Consumer-supplied resume input becomes the paused tool's result.
418
563
  // The subflow's pre-pause scope is restored automatically by
419
564
  // footprintjs 4.17.0 via `checkpoint.subflowStates`, so
@@ -422,6 +567,70 @@ export function buildToolCallsHandler(deps) {
422
567
  const toolCallId = scope.pausedToolCallId;
423
568
  const toolName = scope.pausedToolName;
424
569
  const startMs = scope.pausedToolStartMs;
570
+ // ── Check-in decision path ───────────────────────────────────────
571
+ // A check-in pause is discriminated by `scope.pausedCheckIn` (restored
572
+ // from the checkpoint). The resume input is a `CheckInDecision`. On
573
+ // APPROVE the tool executes NOW (it never ran at pause time — consent
574
+ // comes BEFORE execute); on DECLINE a model-visible tool_result lands so
575
+ // the agent adapts in-loop. The typed `checkin.decision` event fires
576
+ // either way. Same iteration semantics as resume-after-askHuman.
577
+ if (scope.pausedCheckIn === true) {
578
+ const iteration = scope.iteration;
579
+ const args = (scope.pausedCheckInArgs ?? {});
580
+ // A check-in pause MUST be resumed with a CheckInDecision. A mis-wired
581
+ // resume (a bare string, say) declines by default — a consequential
582
+ // tool can never silently EXECUTE from a malformed resume.
583
+ const decision = isCheckInDecision(input)
584
+ ? input
585
+ : checkInDeclined({ by: 'unknown', note: 'resume input was not a CheckInDecision' });
586
+ typedEmit(scope, 'agentfootprint.checkin.decision', {
587
+ toolName,
588
+ toolCallId,
589
+ iteration,
590
+ approved: decision.approved,
591
+ by: decision.by,
592
+ ...(decision.note !== undefined && { note: decision.note }),
593
+ });
594
+ let result;
595
+ let error;
596
+ if (decision.approved) {
597
+ const env = scope.$getEnv();
598
+ const dispatched = await resolveCredentialAndExecute(scope, lookupTool(toolName), toolName, args, toolCallId, iteration, env);
599
+ result = dispatched.result;
600
+ error = dispatched.error;
601
+ }
602
+ else {
603
+ result = decision.note ? `declined by human: ${decision.note}` : 'declined by human';
604
+ }
605
+ const decisionResultStr = typeof result === 'string' ? result : safeStringify(result);
606
+ const decisionHistory = [
607
+ ...scope.history,
608
+ { role: 'tool', content: decisionResultStr, toolCallId, toolName },
609
+ ];
610
+ scope.history = decisionHistory;
611
+ // Drives `on-tool-return` triggers, same as the execute path.
612
+ scope.lastToolResult = { toolName, result: decisionResultStr };
613
+ typedEmit(scope, 'agentfootprint.stream.tool_end', {
614
+ toolCallId,
615
+ result,
616
+ durationMs: Date.now() - startMs,
617
+ ...(error === true && { error: true }),
618
+ });
619
+ typedEmit(scope, 'agentfootprint.agent.iteration_end', {
620
+ turnIndex: 0,
621
+ iterIndex: iteration,
622
+ toolCallCount: 1,
623
+ history: decisionHistory,
624
+ });
625
+ scope.iteration = iteration + 1;
626
+ // Clear ALL pause checkpoint fields (shared + check-in).
627
+ scope.pausedToolCallId = '';
628
+ scope.pausedToolName = '';
629
+ scope.pausedToolStartMs = 0;
630
+ scope.pausedCheckIn = false;
631
+ scope.pausedCheckInArgs = undefined;
632
+ return;
633
+ }
425
634
  const resultStr = typeof input === 'string' ? input : safeStringify(input);
426
635
  const newHistory = [
427
636
  ...scope.history,
@@ -1 +1 @@
1
- {"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolCalls.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/toolCalls.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,eAAe,GAIhB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAkDjD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA0B;IAE1B,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,SAAS,CAAC;IAC9D,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,IAAI,8BAA8B,EAAE,CAAC;IAChF,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC;IAE7D,2EAA2E;IAC3E,8EAA8E;IAC9E,yEAAyE;IACzE,8EAA8E;IAC9E,8EAA8E;IAC9E,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAoB,EAAE;QACxD,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QACtC,IAAI,CAAC,oBAAoB;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAG,iBAAiB,EAAE,OAAO,IAAI,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,gFAAgF;IAChF,MAAM,2BAA2B,GAAG,KAAK,EACvC,KAA6B,EAC7B,IAAsB,EACtB,QAAgB,EAChB,IAAuC,EACvC,UAAkB,EAClB,SAAiB,EACjB,GAAsC,EACS,EAAE;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvE,MAAM,WAAW,GAAG,KAAK,CAAC,WAEb,CAAC;QACd,IAAI,kBAA0C,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,EAAE,CAAC;YACT,SAAS,CAAC,KAAK,EAAE,qCAAqC,EAAE;gBACtD,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aACtC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC;oBAC3C,OAAO,EAAE,IAAI,CAAC,UAAU;oBACxB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrC,GAAG,CAAC,WAAW,IAAI;wBACjB,QAAQ,EAAE;4BACR,GAAG,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;4BAClE,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;yBAC1D;qBACF,CAAC;iBACH,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC7B,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;oBACrC,SAAS,CAAC,KAAK,EAAE,oCAAoC,EAAE;wBACrD,OAAO,EAAE,IAAI,CAAC,UAAU;wBACxB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;wBAC1B,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;qBACnE,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,KAAK,EAAE,kDAAkD,EAAE;wBACnE,OAAO,EAAE,IAAI,CAAC,UAAU;wBACxB,SAAS,EAAE,IAAI,CAAC,SAAS;qBAC1B,CAAC,CAAC;oBACH,OAAO;wBACL,MAAM,EAAE,+BAA+B,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,gBAAgB,EAAE;wBACnF,KAAK,EAAE,IAAI;qBACZ,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,OAAO,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5E,SAAS,CAAC,KAAK,EAAE,kCAAkC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3F,OAAO,EAAE,MAAM,EAAE,yBAAyB,IAAI,CAAC,UAAU,MAAM,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzF,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACtC,UAAU;gBACV,SAAS;gBACT,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;gBACzC,WAAW;gBACX,cAAc;gBACd,GAAG,CAAC,kBAAkB,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO;oBACL,MAAM,EAAE,SAAS,QAAQ,iFAAiF;oBAC1G,KAAK,EAAE,IAAI;iBACZ,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnF,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,qEAAqE;YACrE,sEAAsE;YACtE,oEAAoE;YACpE,0DAA0D;YAC1D,4DAA4D;YAC5D,gEAAgE;YAChE,MAAM,SAAS,GAAG;gBAChB,GAAI,KAAK,CAAC,kBAIN;aACL,CAAC;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAC;YAC5C,MAAM,UAAU,GAAiB,CAAC,GAAI,KAAK,CAAC,OAAiC,CAAC,CAAC;YAC/E,kEAAkE;YAClE,kEAAkE;YAClE,6DAA6D;YAC7D,iEAAiE;YACjE,6DAA6D;YAC7D,2DAA2D;YAC3D,IAAI,KAAK,CAAC,gBAAgB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,wDAAwD;gBACxD,6DAA6D;gBAC7D,8DAA8D;gBAC9D,0DAA0D;gBAC1D,MAAM,cAAc,GAAI,KAAiD,CAAC,cAAc,CAAC;gBACzF,MAAM,WAAW,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC9E,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,WAA0B;oBAChC,OAAO,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE;oBACrC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;oBAC1C,6DAA6D;oBAC7D,GAAG,CAAC,WAAW,IAAI,EAAE,cAAc,EAAE,CAAC,GAAG,cAAc,CAAU,EAAE,CAAC;iBACrE,CAAC,CAAC;YACL,CAAC;YACD,uEAAuE;YAEvE,mEAAmE;YACnE,oEAAoE;YACpE,sDAAsD;YACtD,MAAM,WAAW,GAAG,KAAK,CAAC,WAEb,CAAC;YACd,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAE5B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjC,SAAS,CAAC,KAAK,EAAE,kCAAkC,EAAE;oBACnD,QAAQ,EAAE,EAAE,CAAC,IAAI;oBACjB,UAAU,EAAE,EAAE,CAAC,EAAE;oBACjB,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;iBACjE,CAAC,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,MAAe,CAAC;gBACpB,IAAI,KAA0B,CAAC;gBAC/B,kEAAkE;gBAClE,kEAAkE;gBAClE,EAAE;gBACF,kCAAkC;gBAClC,qDAAqD;gBACrD,yEAAyE;gBACzE,0EAA0E;gBAC1E,kEAAkE;gBAClE,kEAAkE;gBAClE,EAAE;gBACF,gEAAgE;gBAChE,iEAAiE;gBACjE,4DAA4D;gBAC5D,2DAA2D;gBAC3D,EAAE;gBACF,4DAA4D;gBAC5D,gEAAgE;gBAChE,iEAAiE;gBACjE,6DAA6D;gBAC7D,8CAA8C;gBAC9C,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,IAAI,WAMS,CAAC;gBACd,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACH,+DAA+D;wBAC/D,2DAA2D;wBAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;wBACxD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC;4BAC7C,UAAU,EAAE,WAAW;4BACvB,KAAK,EAAE,OAAO;4BACd,MAAM,EAAE,EAAE,CAAC,IAAI;4BACf,OAAO,EAAE,EAAE,CAAC,IAAI;4BAChB,QAAQ;4BACR,OAAO,EAAE,UAAU;4BACnB,SAAS;4BACT,GAAG,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;4BAC7C,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;yBAC1C,CAAC,CAAC;wBACH,SAAS,CAAC,KAAK,EAAE,iCAAiC,EAAE;4BAClD,UAAU,EAAE,WAAW;4BACvB,KAAK,EAAE,OAAO;4BACd,MAAM,EAAE,EAAE,CAAC,IAAI;4BACf,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,GAAG,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC;4BACnF,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;4BAC1E,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;yBAClE,CAAC,CAAC;wBACH,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;4BAC/B,MAAM,GAAG,IAAI,CAAC;4BACd,sDAAsD;4BACtD,wDAAwD;4BACxD,4DAA4D;4BAC5D,MAAM,OAAO,GACX,QAAQ,CAAC,OAAO,IAAI,uBAAuB,QAAQ,CAAC,SAAS,IAAI,QAAQ,GAAG,CAAC;4BAC/E,MAAM,GAAG,OAAO,CAAC;wBACnB,CAAC;6BAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;4BACtC,MAAM,GAAG,IAAI,CAAC;4BACd,0DAA0D;4BAC1D,gEAAgE;4BAChE,wDAAwD;4BACxD,oEAAoE;4BACpE,MAAM,OAAO,GACX,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,IAAI,qCAAqC,CAAC;4BAC5E,MAAM,GAAG,OAAO,CAAC;4BACjB,WAAW,GAAG;gCACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,IAAI,aAAa;gCAC9D,OAAO;gCACP,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC;6BACrE,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,OAAO,EAAE,CAAC;wBACjB,2DAA2D;wBAC3D,2DAA2D;wBAC3D,wDAAwD;wBACxD,MAAM,GAAG,IAAI,CAAC;wBACd,MAAM,GAAG,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACzE,SAAS,CAAC,KAAK,EAAE,iCAAiC,EAAE;4BAClD,UAAU,EAAE,WAAW;4BACvB,KAAK,EAAE,OAAO;4BACd,MAAM,EAAE,EAAE,CAAC,IAAI;4BACf,MAAM,EAAE,MAAM;4BACd,SAAS,EAAE,6BAA6B,GAAG,EAAE;yBAC9C,CAAC,CAAC;wBACH,MAAM,GAAG,sCAAsC,GAAG,GAAG,CAAC;oBACxD,CAAC;gBACH,CAAC;gBACD,qEAAqE;gBACrE,gEAAgE;gBAChE,oEAAoE;gBACpE,mEAAmE;gBACnE,oEAAoE;gBACpE,+DAA+D;gBAC/D,kEAAkE;gBAClE,+DAA+D;gBAC/D,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;oBACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBACnE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;wBAChB,SAAS,CAAC,KAAK,EAAE,wCAAwC,EAAE;4BACzD,QAAQ,EAAE,EAAE,CAAC,IAAI;4BACjB,UAAU,EAAE,EAAE,CAAC,EAAE;4BACjB,SAAS;4BACT,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,QAAQ,EAAE,iBAAiB,KAAK,SAAS;yBAC1C,CAAC,CAAC;wBACH,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;4BACpC,YAAY,GAAG,IAAI,CAAC;4BACpB,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;wBACxD,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,oEAAoE;gBACpE,wEAAwE;gBACxE,iEAAiE;gBACjE,wEAAwE;gBACxE,iEAAiE;gBACjE,wEAAwE;gBACxE,wEAAwE;gBACxE,wEAAwE;gBACxE,iEAAiE;gBACjE,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnF,oEAAoE;oBACpE,iEAAiE;oBACjE,kEAAkE;oBAClE,sEAAsE;oBACtE,oEAAoE;oBACpE,MAAM,YAAY,GAAG,CAClB,KAAK,CAAC,sBAAiE,IAAI,EAAE,CAC/E;yBACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC;yBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;yBAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChB,MAAM,kBAAkB,GAAiB,YAAY;wBACnD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,GAAG,UAAU,CAAC;wBAC5D,CAAC,CAAC,UAAU,CAAC;oBACf,IACE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE;wBACpC,SAAS;wBACT,UAAU,EAAE,EAAE,CAAC,EAAE;wBACjB,OAAO,EAAE,kBAAkB;qBAC5B,CAAC,EACF,CAAC;wBACD,oEAAoE;wBACpE,gEAAgE;oBAClE,CAAC;yBAAM,CAAC;wBACN,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBACnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;4BAC7D,IAAI,EAAE,EAAE,CAAC,IAAI;4BACb,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;4BACvC,SAAS;4BACT,OAAO,EAAE,kBAAkB;4BAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;4BAC3B,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;yBAC1C,CAAC,CAAC;wBACH,MAAM,OAAO,GAAmB;4BAC9B,IAAI,EAAE,EAAE,CAAC,IAAI;4BACb,IAAI,EAAE,EAAE,CAAC,IAAI;4BACb,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;4BACvC,QAAQ;yBACT,CAAC;wBACF,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;4BACjD,QAAQ,EAAE,EAAE,CAAC,IAAI;4BACjB,UAAU,EAAE,EAAE,CAAC,EAAE;4BACjB,SAAS;4BACT,OAAO,EAAE,OAAuD;yBACjE,CAAC,CAAC;wBACH,oEAAoE;wBACpE,+DAA+D;wBAC/D,uCAAuC;wBACvC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;wBAC3B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC;wBAC/B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,IAAI,CAAC;wBAC/B,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC;wBAClC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;wBAC3B,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,IAAI,CAAC;wBAClC,gEAAgE;wBAChE,kEAAkE;wBAClE,qDAAqD;wBACrD,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;oBACpE,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7B,kEAAkE;oBAClE,oEAAoE;oBACpE,mEAAmE;oBACnE,oEAAoE;oBACpE,oCAAoC;oBACpC,IAAI,kBAA0C,CAAC;oBAC/C,IAAI,iBAAiB,GAAG,KAAK,CAAC;oBAC9B,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC;oBACzB,IAAI,IAAI,EAAE,CAAC;wBACT,SAAS,CAAC,KAAK,EAAE,qCAAqC,EAAE;4BACtD,OAAO,EAAE,IAAI,CAAC,UAAU;4BACxB,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;yBACtC,CAAC,CAAC;wBACH,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC;gCAC3C,OAAO,EAAE,IAAI,CAAC,UAAU;gCACxB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;gCAC3C,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gCACrC,GAAG,CAAC,WAAW,IAAI;oCACjB,QAAQ,EAAE;wCACR,GAAG,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;wCAClE,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;qCAC1D;iCACF,CAAC;6BACH,CAAC,CAAC;4BACH,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gCAC7B,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC;gCACrC,SAAS,CAAC,KAAK,EAAE,oCAAoC,EAAE;oCACrD,OAAO,EAAE,IAAI,CAAC,UAAU;oCACxB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;oCAC1B,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;iCACnE,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACN,iBAAiB,GAAG,IAAI,CAAC;gCACzB,SAAS,CAAC,KAAK,EAAE,kDAAkD,EAAE;oCACnE,OAAO,EAAE,IAAI,CAAC,UAAU;oCACxB,SAAS,EAAE,IAAI,CAAC,SAAS;iCAC1B,CAAC,CAAC;gCACH,MAAM,GAAG,+BAA+B,IAAI,CAAC,UAAU,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BACvF,CAAC;wBACH,CAAC;wBAAC,OAAO,OAAO,EAAE,CAAC;4BACjB,iBAAiB,GAAG,IAAI,CAAC;4BACzB,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM,MAAM,GAAG,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;4BAC5E,SAAS,CAAC,KAAK,EAAE,kCAAkC,EAAE;gCACnD,OAAO,EAAE,IAAI,CAAC,UAAU;gCACxB,MAAM;6BACP,CAAC,CAAC;4BACH,MAAM,GAAG,yBAAyB,IAAI,CAAC,UAAU,MAAM,MAAM,EAAE,CAAC;wBAClE,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,IAAI,CAAC,IAAI;gCAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;4BACvD,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;gCACnC,UAAU,EAAE,EAAE,CAAC,EAAE;gCACjB,SAAS;gCACT,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;gCACzC,WAAW;gCACX,cAAc;gCACd,GAAG,CAAC,kBAAkB,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;6BAC9D,CAAC,CAAC;wBACL,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gCACxB,4DAA4D;gCAC5D,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;gCAC3B,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC;gCAC/B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,IAAI,CAAC;gCAC/B,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC;gCAClC,yDAAyD;gCACzD,0DAA0D;gCAC1D,OAAO;oCACL,UAAU,EAAE,EAAE,CAAC,EAAE;oCACjB,QAAQ,EAAE,EAAE,CAAC,IAAI;oCACjB,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;wCACnD,CAAC,CAAE,GAAG,CAAC,IAAgC;wCACvC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;iCACxB,CAAC;4BACJ,CAAC;4BACD,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC5D,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,0DAA0D;gBAC1D,sEAAsE;gBACtE,yEAAyE;gBACzE,2EAA2E;gBAC3E,2EAA2E;gBAC3E,2DAA2D;gBAC3D,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC1E,MAAM,KAAK,GAAI,EAAE,CAAC,IAAyB,CAAC,EAAE,CAAC;oBAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClD,MAAM,cAAc,GAAG,KAAK,CAAC,cAAoC,CAAC;wBAClE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;wBACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7B,aAAa,GAAG,IAAI,CAAC;4BACrB,MAAM;gCACJ,eAAe,KAAK,iCAAiC;oCACrD,CAAC,OAAO,CAAC,MAAM;wCACb,CAAC,CAAC,qBAAqB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC;wCAC1E,CAAC,CAAC,+EAA+E,CAAC,CAAC;4BACvF,SAAS,CAAC,KAAK,EAAE,+BAA+B,EAAE;gCAChD,WAAW,EAAE,KAAK;gCAClB,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,CAAC;gCACvD,OAAO;gCACP,SAAS;6BACV,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBACxC,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;oBACjD,UAAU,EAAE,EAAE,CAAC,EAAE;oBACjB,MAAM;oBACN,UAAU;oBACV,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;iBACvC,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC9E,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,UAAU,EAAE,EAAE,CAAC,EAAE;oBACjB,QAAQ,EAAE,EAAE,CAAC,IAAI;iBAClB,CAAC,CAAC;gBAEH,0DAA0D;gBAC1D,EAAE;gBACF,yDAAyD;gBACzD,0DAA0D;gBAC1D,mDAAmD;gBACnD,KAAK,CAAC,cAAc,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBAEhE,yDAAyD;gBACzD,0DAA0D;gBAC1D,0DAA0D;gBAC1D,6DAA6D;gBAC7D,mCAAmC;gBACnC,IAAI,EAAE,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBACpE,MAAM,WAAW,GAAI,EAAE,CAAC,IAAyB,CAAC,EAAE,CAAC;oBACrD,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,qBAA0C,CAAC;wBACjE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;4BACnC,KAAK,CAAC,qBAAqB,GAAG,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,4CAA4C;gBAC5C,EAAE;gBACF,6DAA6D;gBAC7D,8DAA8D;gBAC9D,gEAAgE;gBAChE,gEAAgE;gBAChE,8DAA8D;gBAC9D,6DAA6D;gBAC7D,IAAI,WAAW,EAAE,CAAC;oBAChB,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;wBACjD,MAAM,EAAE,EAAE,CAAC,IAAI;wBACf,MAAM,EAAE,WAAW,CAAC,MAAM;wBAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;wBAC5B,SAAS;wBACT,cAAc,EAAE,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,MAAM;wBAC7D,GAAG,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC;qBACjF,CAAC,CAAC;oBACH,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;oBAC3B,KAAK,CAAC,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC;oBAC5C,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC;oBAC9C,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,IAAI,CAAC;oBACjC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,IAAI,CAAC;oBAC/B,KAAK,CAAC,mBAAmB,GAAG,SAAS,CAAC;oBACtC,IAAI,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACxC,KAAK,CAAC,mBAAmB,GAAG,WAAW,CAAC,SAAS,CAAC;oBACpD,CAAC;oBACD,KAAK,CAAC,MAAM,CAAC,gBAAgB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;oBACnD,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YACD,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;YAE3B,SAAS,CAAC,KAAK,EAAE,oCAAoC,EAAE;gBACrD,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,SAAS,CAAC,MAAM;gBAC/B,kEAAkE;gBAClE,gEAAgE;gBAChE,iEAAiE;gBACjE,iEAAiE;gBACjE,2DAA2D;gBAC3D,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YAChC,OAAO,SAAS,CAAC,CAAC,+CAA+C;QACnE,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7B,mEAAmE;YACnE,6DAA6D;YAC7D,wDAAwD;YACxD,iEAAiE;YACjE,kDAAkD;YAClD,MAAM,UAAU,GAAG,KAAK,CAAC,gBAA0B,CAAC;YACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAwB,CAAC;YAChD,MAAM,OAAO,GAAG,KAAK,CAAC,iBAA2B,CAAC;YAElD,oEAAoE;YACpE,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,yEAAyE;YACzE,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAC;gBAC5C,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAsC,CAAC;gBAClF,uEAAuE;gBACvE,oEAAoE;gBACpE,2DAA2D;gBAC3D,MAAM,QAAQ,GAAoB,iBAAiB,CAAC,KAAK,CAAC;oBACxD,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC,CAAC;gBAEvF,SAAS,CAAC,KAAK,EAAE,iCAAiC,EAAE;oBAClD,QAAQ;oBACR,UAAU;oBACV,SAAS;oBACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;iBAC5D,CAAC,CAAC;gBAEH,IAAI,MAAe,CAAC;gBACpB,IAAI,KAA0B,CAAC;gBAC/B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAClD,KAAK,EACL,UAAU,CAAC,QAAQ,CAAC,EACpB,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,SAAS,EACT,GAAG,CACJ,CAAC;oBACF,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;oBAC3B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACvF,CAAC;gBAED,MAAM,iBAAiB,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACtF,MAAM,eAAe,GAAiB;oBACpC,GAAI,KAAK,CAAC,OAAiC;oBAC3C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE;iBACnE,CAAC;gBACF,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;gBAChC,8DAA8D;gBAC9D,KAAK,CAAC,cAAc,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBAC/D,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;oBACjD,UAAU;oBACV,MAAM;oBACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBAChC,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;iBACvC,CAAC,CAAC;gBACH,SAAS,CAAC,KAAK,EAAE,oCAAoC,EAAE;oBACrD,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,SAAS;oBACpB,aAAa,EAAE,CAAC;oBAChB,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC;gBACH,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;gBAChC,yDAAyD;gBACzD,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC5B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;gBAC1B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC5B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC5B,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACpC,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAiB;gBAC/B,GAAI,KAAK,CAAC,OAAiC;gBAC3C;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,SAAS;oBAClB,UAAU;oBACV,QAAQ;iBACT;aACF,CAAC;YACF,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;YAE3B,SAAS,CAAC,KAAK,EAAE,gCAAgC,EAAE;gBACjD,UAAU;gBACV,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;aACjC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAmB,CAAC;YAC5C,SAAS,CAAC,KAAK,EAAE,oCAAoC,EAAE;gBACrD,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,CAAC;gBAChB,iEAAiE;gBACjE,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YAChC,iCAAiC;YACjC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC5B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;YAC1B,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -287,6 +287,8 @@ export interface AgentState {
287
287
  pausedToolCallId: string;
288
288
  pausedToolName: string;
289
289
  pausedToolStartMs: number;
290
+ pausedCheckIn?: boolean;
291
+ pausedCheckInArgs?: Readonly<Record<string, unknown>>;
290
292
  cumTokensInput: number;
291
293
  cumTokensOutput: number;
292
294
  cumEstimatedUsd: number;
@@ -0,0 +1,263 @@
1
+ /**
2
+ * checkin — the evidence-carrying human-consent primitive.
3
+ *
4
+ * "OpenWorker-class agents check in; agentfootprint checks in WITH THE
5
+ * RECEIPTS." A tool declares `checkIn` (see `Tool.checkIn` in `core/tools.ts`); when
6
+ * it trips, the tool-dispatch loop pauses BEFORE executing and surfaces a
7
+ * {@link CheckInRequest} — a typed ask that carries an EVIDENCE PACK
8
+ * ({@link CheckInEvidence}): what the tool will do, what context the run
9
+ * consumed, which context drove the choice, and a compact run-so-far trail.
10
+ * A human answers with {@link checkInApproved} / {@link checkInDeclined};
11
+ * the {@link CheckInDecision} lands as a typed record.
12
+ *
13
+ * This is the LEAF that owns every check-in TYPE + the pure assembly logic.
14
+ * It has zero runtime/engine imports (only type-only imports of the message
15
+ * shape + the influence-core attribution unit), so it stays cheap to import
16
+ * and trivial to unit-test. The pause plumbing lives in
17
+ * `core/agent/stages/toolCalls.ts`; the events in `events/`; the store in
18
+ * `recorders/core/CheckInRecorder.ts`.
19
+ *
20
+ * NOT a policy engine (the `PermissionChecker` in `adapters/types.ts` is
21
+ * untouched, and runs BEFORE this gate) and NOT UI. This asks a person to
22
+ * CONSENT, with the receipts attached.
23
+ *
24
+ * Pattern: Strategy (pluggable evidence assembler + driver scorer) + pure
25
+ * value types. Every value here survives `structuredClone` + JSON
26
+ * (checkpoint discipline) — no functions, no class instances.
27
+ */
28
+ import type { LLMMessage } from '../adapters/types.js';
29
+ import type { AttributionUnit } from '../lib/influence-core/types.js';
30
+ /**
31
+ * The typed pause payload for one check-in. Rides the existing pause
32
+ * machinery: it becomes the checkpoint's `pauseData` and is surfaced on
33
+ * surfaced on `RunnerPauseOutcome.checkIn` (`core/pause.ts`). JSON/clone-safe.
34
+ */
35
+ export interface CheckInRequest {
36
+ /** The tool the agent wants to run (its name). */
37
+ readonly tool: string;
38
+ /** The arguments the model proposed for this call. */
39
+ readonly args: Readonly<Record<string, unknown>>;
40
+ /**
41
+ * The model's stated reasoning for THIS call, when the assistant turn
42
+ * carried text alongside the tool call. Omitted when the turn was a bare
43
+ * tool call with no content.
44
+ */
45
+ readonly intent?: string;
46
+ /** The receipts riding the ask. */
47
+ readonly evidence: CheckInEvidence;
48
+ }
49
+ /**
50
+ * The evidence pack — the "receipts". The `'minimal'` assembler fills only
51
+ * {@link willDo} (zero cost); the `'standard'` assembler fills all four.
52
+ */
53
+ export interface CheckInEvidence {
54
+ /** Plain-words claim of what will happen: the tool description + the
55
+ * rendered arguments. Always present. */
56
+ readonly willDo: string;
57
+ /** What context this run consumed so far — one frame per context piece
58
+ * (system rules, the user task, prior tool results). Absent under the
59
+ * `'minimal'` assembler. */
60
+ readonly read?: readonly CheckInContextFrame[];
61
+ /** Which context drove THIS choice, ranked most-to-least. Produced by the
62
+ * configured {@link CheckInScorer} (default: a zero-LLM lexical scorer).
63
+ * Absent under the `'minimal'` assembler. */
64
+ readonly drivers?: readonly CheckInDriver[];
65
+ /** A compact grouped summary of the run so far. Absent under `'minimal'`. */
66
+ readonly trail?: CheckInTrail;
67
+ }
68
+ /** One piece of context the run consumed — role/channel + a compact summary. */
69
+ export interface CheckInContextFrame {
70
+ /** Origin group: `'system' | 'task' | 'result'`. */
71
+ readonly channel: string;
72
+ /** A short, truncated summary of the piece (never the full payload). */
73
+ readonly summary: string;
74
+ }
75
+ /** One ranked driver — a context unit and how strongly it aligns with the pick. */
76
+ export interface CheckInDriver {
77
+ /** The unit id (the citation, e.g. `'system-1'`). */
78
+ readonly id: string;
79
+ /** Origin group: `'system' | 'task' | 'result'`. */
80
+ readonly channel: string;
81
+ /** The unit text (quotable). */
82
+ readonly text: string;
83
+ /** Alignment score — higher means it drove the pick more. Scorer-defined
84
+ * units; compare within one request, not across scorers. */
85
+ readonly score: number;
86
+ }
87
+ /** A compact grouped summary of the run so far. */
88
+ export interface CheckInTrail {
89
+ /** Which ReAct iteration this check-in fired on. */
90
+ readonly iteration: number;
91
+ /** The tool calls already completed this run, oldest first. */
92
+ readonly toolCalls: readonly {
93
+ readonly name: string;
94
+ readonly ok: boolean;
95
+ }[];
96
+ /** One-line human summary, e.g. `"3 tools run over 2 iterations"`. */
97
+ readonly summary: string;
98
+ }
99
+ /**
100
+ * The human's answer to a check-in — the record that lands. Produced by
101
+ * {@link checkInApproved} / {@link checkInDeclined} and passed to
102
+ * `agent.resume(checkpoint, decision)`. JSON/clone-safe.
103
+ */
104
+ export interface CheckInDecision {
105
+ /** True to run the tool, false to decline it. */
106
+ readonly approved: boolean;
107
+ /** Who decided (an operator id, an email, a queue name — your call). */
108
+ readonly by: string;
109
+ /** Optional note. On decline it is surfaced to the model so it can adapt. */
110
+ readonly note?: string;
111
+ /** When the decision was made (ms since epoch). */
112
+ readonly at: number;
113
+ }
114
+ /** Options for {@link checkInApproved} / {@link checkInDeclined}. */
115
+ export interface CheckInDecisionInput {
116
+ /** Who decided. */
117
+ readonly by: string;
118
+ /** Optional free-text note. */
119
+ readonly note?: string;
120
+ }
121
+ /**
122
+ * Approve a pending check-in — the paused tool executes normally on resume.
123
+ *
124
+ * @example
125
+ * const decision = checkInApproved({ by: 'alice@ops', note: 'verified with customer' });
126
+ * const final = await agent.resume(outcome.checkpoint, decision);
127
+ */
128
+ export declare function checkInApproved(input: CheckInDecisionInput): CheckInDecision;
129
+ /**
130
+ * Decline a pending check-in — the tool is NOT executed; the model receives
131
+ * a `"declined by human: <note>"` tool result and adapts in-loop.
132
+ *
133
+ * @example
134
+ * const decision = checkInDeclined({ by: 'alice@ops', note: 'amount too high' });
135
+ * const final = await agent.resume(outcome.checkpoint, decision);
136
+ */
137
+ export declare function checkInDeclined(input: CheckInDecisionInput): CheckInDecision;
138
+ /**
139
+ * Type guard — is this resume input a {@link CheckInDecision}? Distinguishes
140
+ * a check-in answer from a plain `askHuman` tool-result value.
141
+ */
142
+ export declare function isCheckInDecision(x: unknown): x is CheckInDecision;
143
+ /**
144
+ * What a tool declares to demand a check-in. `'always'` trips on every call;
145
+ * a predicate trips selectively (e.g. only high-value refunds). A predicate
146
+ * that throws trips (fail toward asking the human — consequential actions
147
+ * should not silently proceed on a buggy predicate).
148
+ */
149
+ export type CheckInDemand<TArgs = Readonly<Record<string, unknown>>> = 'always' | ((args: TArgs, ctx: CheckInPredicateContext) => boolean);
150
+ /** Context handed to a {@link CheckInDemand} predicate. */
151
+ export interface CheckInPredicateContext {
152
+ /** The current ReAct iteration. */
153
+ readonly iteration: number;
154
+ /** This tool invocation's id. */
155
+ readonly toolCallId: string;
156
+ /** The conversation so far (system, user, prior tool results). */
157
+ readonly history: readonly LLMMessage[];
158
+ }
159
+ /**
160
+ * Decide whether a tool's declared demand trips for this call. Returns false
161
+ * when the tool declared no `checkIn` (backward-compatible: byte-identical
162
+ * behavior for tools without the field).
163
+ */
164
+ export declare function shouldCheckIn(demand: CheckInDemand<Readonly<Record<string, unknown>>> | undefined, args: Readonly<Record<string, unknown>>, ctx: CheckInPredicateContext): boolean;
165
+ /** Input to a {@link CheckInScorer}. Mirrors `influence-core`'s attribution
166
+ * shape so an embedding-backed scorer (wrapping `explainChoice`) drops in. */
167
+ export interface CheckInScoreInput {
168
+ /** The chosen tool. `text` is what gets scored (name + description + args). */
169
+ readonly tool: {
170
+ readonly name: string;
171
+ readonly text: string;
172
+ };
173
+ /** The context units to rank against the tool. */
174
+ readonly units: readonly AttributionUnit[];
175
+ /** Abort signal for network-backed scorers. */
176
+ readonly signal?: AbortSignal;
177
+ }
178
+ /**
179
+ * Ranks context units by how strongly each drove one tool choice. The
180
+ * DEFAULT is {@link lexicalDriverScorer} — deterministic, zero LLM, zero
181
+ * network. Swap in a richer one via `.checkIn({ scorer })`, e.g. wrapping
182
+ * `explainChoice` from `agentfootprint` with your own embedder.
183
+ *
184
+ * @example a semantic scorer
185
+ * const scorer: CheckInScorer = async ({ tool, units, signal }) => {
186
+ * const ex = await explainChoice({ tool, units, embedder, signal });
187
+ * return ex.units.map((u) => ({ id: u.id, channel: u.channel, text: u.text, score: u.score }));
188
+ * };
189
+ */
190
+ export type CheckInScorer = (input: CheckInScoreInput) => readonly CheckInDriver[] | Promise<readonly CheckInDriver[]>;
191
+ /**
192
+ * The default drivers scorer: deterministic Jaccard token overlap between
193
+ * the tool text and each context unit. Zero LLM, zero network, structuredClone
194
+ * -safe output. Ties keep input order (stable sort).
195
+ */
196
+ export declare const lexicalDriverScorer: CheckInScorer;
197
+ /** Everything the assembler needs to build one evidence pack. */
198
+ export interface CheckInAssemblerInput {
199
+ /** The chosen tool — `name` for citations, `description` for `willDo`. */
200
+ readonly tool: {
201
+ readonly name: string;
202
+ readonly description: string;
203
+ };
204
+ /** The proposed arguments. */
205
+ readonly args: Readonly<Record<string, unknown>>;
206
+ /** The model's stated reasoning, if any (assistant-turn text). */
207
+ readonly intent?: string;
208
+ /** The ReAct iteration this check-in fired on. */
209
+ readonly iteration: number;
210
+ /** The conversation so far — the raw material for `read`, `drivers`, `trail`. */
211
+ readonly history: readonly LLMMessage[];
212
+ /** The scorer to rank `drivers` with. */
213
+ readonly scorer: CheckInScorer;
214
+ /** Abort signal threaded to the scorer. */
215
+ readonly signal?: AbortSignal;
216
+ }
217
+ /**
218
+ * Builds the evidence pack for one check-in. Two are built in
219
+ * ({@link standardEvidenceAssembler}, {@link minimalEvidenceAssembler});
220
+ * pass your own to `.checkIn({ evidence })` for full control.
221
+ */
222
+ export type CheckInAssembler = (input: CheckInAssemblerInput) => CheckInEvidence | Promise<CheckInEvidence>;
223
+ /** Which built-in assembler to use, by name. */
224
+ export type EvidencePreset = 'minimal' | 'standard';
225
+ /**
226
+ * Derive attribution units from the run-so-far conversation: system rules
227
+ * (split into sentences), the user task, and prior tool results. These feed
228
+ * BOTH `read` (as frames) and `drivers` (scored). Ids are unique + stable.
229
+ */
230
+ export declare function unitsFromHistory(history: readonly LLMMessage[]): AttributionUnit[];
231
+ /**
232
+ * The `'standard'` assembler — fills all four evidence fields. The `drivers`
233
+ * ranking runs the configured scorer over the run-so-far context units; the
234
+ * default scorer is deterministic and makes zero LLM/network calls.
235
+ */
236
+ export declare const standardEvidenceAssembler: CheckInAssembler;
237
+ /** The `'minimal'` assembler — only `willDo`. Zero cost; no scorer call. */
238
+ export declare const minimalEvidenceAssembler: CheckInAssembler;
239
+ /** What `.checkIn({...})` accepts on the Agent builder. */
240
+ export interface CheckInBuilderOptions {
241
+ /**
242
+ * How much evidence rides the ask. `'standard'` (default) fills all four
243
+ * fields; `'minimal'` fills only `willDo` (zero cost); or pass your own
244
+ * {@link CheckInAssembler}.
245
+ */
246
+ readonly evidence?: EvidencePreset | CheckInAssembler;
247
+ /**
248
+ * The scorer that ranks `drivers`. Default {@link lexicalDriverScorer}
249
+ * (deterministic, zero LLM). Only consulted by the `'standard'` assembler.
250
+ */
251
+ readonly scorer?: CheckInScorer;
252
+ }
253
+ /** The resolved config threaded into the tool-dispatch handler. */
254
+ export interface ResolvedCheckInConfig {
255
+ readonly assembler: CheckInAssembler;
256
+ readonly scorer: CheckInScorer;
257
+ }
258
+ /**
259
+ * Resolve builder options (or nothing) into a runtime config. The default —
260
+ * `standard` evidence + `lexicalDriverScorer` — makes a tool that declares
261
+ * `checkIn` work even when the builder never called `.checkIn()`.
262
+ */
263
+ export declare function resolveCheckInConfig(opts?: CheckInBuilderOptions): ResolvedCheckInConfig;