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
@@ -31,6 +31,7 @@ const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
31
31
  const extractSequence_js_1 = require("../../../security/extractSequence.js");
32
32
  const types_js_1 = require("../../../identity/types.js");
33
33
  const pause_js_1 = require("../../pause.js");
34
+ const checkin_js_1 = require("../../checkin.js");
34
35
  const toolArgsValidation_js_1 = require("../toolArgsValidation.js");
35
36
  const validators_js_1 = require("../validators.js");
36
37
  /**
@@ -43,6 +44,96 @@ function buildToolCallsHandler(deps) {
43
44
  // that THROWS on use (never undefined) — so a tool can't silently no-op.
44
45
  const credentials = deps.credentialProvider ?? (0, types_js_1.unconfiguredCredentialProvider)();
45
46
  const hasCredentials = deps.credentialProvider !== undefined;
47
+ // Resolve a tool by name. Hoisted to the handler closure so BOTH `execute`
48
+ // (the ReAct loop) and `resume` (an approved check-in re-executes here) share
49
+ // one resolver. The Tools slot already invoked `provider.list(ctx)` this
50
+ // iteration and cached the resolved Tool[] in `providerToolCache` — read from
51
+ // there to avoid a second discovery call (vital for async network providers).
52
+ const lookupTool = (toolName) => {
53
+ const fromRegistry = registryByName.get(toolName);
54
+ if (fromRegistry)
55
+ return fromRegistry;
56
+ if (!externalToolProvider)
57
+ return undefined;
58
+ const cached = providerToolCache?.current ?? [];
59
+ return cached.find((t) => t.schema.name === toolName);
60
+ };
61
+ // Resolve a tool's declared credential (declare-and-push) and execute it,
62
+ // emitting the same credential.* events as the main loop. Used by the
63
+ // check-in RESUME path when a human APPROVES — the tool never ran at pause
64
+ // time (that's the whole point: consent BEFORE credentials + execute), so it
65
+ // runs now. Fail-closed: a blocked/failed credential surfaces to the model
66
+ // and the tool does NOT run. A tool that pauses again during an approved
67
+ // resume can't re-pause (resume returns void), so that is surfaced as an error.
68
+ const resolveCredentialAndExecute = async (scope, tool, toolName, args, toolCallId, iteration, env) => {
69
+ if (!tool)
70
+ return { result: `Unknown tool: ${toolName}`, error: true };
71
+ const runIdentity = scope.runIdentity;
72
+ let resolvedCredential;
73
+ const need = tool.needs;
74
+ if (need) {
75
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.credential.requested', {
76
+ service: need.credential,
77
+ ...(need.mode && { mode: need.mode }),
78
+ });
79
+ try {
80
+ const cred = await credentials.getCredential({
81
+ service: need.credential,
82
+ ...(need.scopes && { scopes: need.scopes }),
83
+ ...(need.mode && { mode: need.mode }),
84
+ ...(runIdentity && {
85
+ identity: {
86
+ ...(runIdentity.principal && { principal: runIdentity.principal }),
87
+ ...(runIdentity.tenant && { tenant: runIdentity.tenant }),
88
+ },
89
+ }),
90
+ });
91
+ if (cred.status === 'issued') {
92
+ resolvedCredential = cred.credential;
93
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.credential.acquired', {
94
+ service: need.credential,
95
+ kind: cred.credential.kind,
96
+ ...(cred.expiresAt !== undefined && { expiresAt: cred.expiresAt }),
97
+ });
98
+ }
99
+ else {
100
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.credential.authorization_required', {
101
+ service: need.credential,
102
+ sessionId: cred.sessionId,
103
+ });
104
+ return {
105
+ result: `authorization required for '${need.credential}': ${cred.authorizationUrl}`,
106
+ error: true,
107
+ };
108
+ }
109
+ }
110
+ catch (credErr) {
111
+ const reason = credErr instanceof Error ? credErr.message : String(credErr);
112
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.credential.failed', { service: need.credential, reason });
113
+ return { result: `credential error for '${need.credential}': ${reason}`, error: true };
114
+ }
115
+ }
116
+ try {
117
+ const result = await tool.execute(args, {
118
+ toolCallId,
119
+ iteration,
120
+ ...(env.signal && { signal: env.signal }),
121
+ credentials,
122
+ hasCredentials,
123
+ ...(resolvedCredential && { credential: resolvedCredential }),
124
+ });
125
+ return { result };
126
+ }
127
+ catch (err) {
128
+ if ((0, pause_js_1.isPauseRequest)(err)) {
129
+ return {
130
+ result: `tool '${toolName}' requested a pause while resuming an approved check-in, which is not supported`,
131
+ error: true,
132
+ };
133
+ }
134
+ return { result: err instanceof Error ? err.message : String(err), error: true };
135
+ }
136
+ };
46
137
  return {
47
138
  execute: async (scope) => {
48
139
  // Materialize ONCE — `scope.llmLatestToolCalls` is a live TypedScope
@@ -77,21 +168,7 @@ function buildToolCallsHandler(deps) {
77
168
  ...(hasThinking && { thinkingBlocks: [...thinkingBlocks] }),
78
169
  });
79
170
  }
80
- // Resolve a tool by name. The Tools slot already invoked
81
- // `provider.list(ctx)` this iteration and cached the resolved
82
- // Tool[] in the closure-shared providerToolCache — read from
83
- // there to avoid a second discovery call (especially important
84
- // for async network-backed providers). Same iteration ctx →
85
- // same result, so the cache is correct.
86
- const lookupTool = (toolName) => {
87
- const fromRegistry = registryByName.get(toolName);
88
- if (fromRegistry)
89
- return fromRegistry;
90
- if (!externalToolProvider)
91
- return undefined;
92
- const cached = providerToolCache?.current ?? [];
93
- return cached.find((t) => t.schema.name === toolName);
94
- };
171
+ // `lookupTool` is hoisted to the handler closure (shared with resume).
95
172
  // Capture run identity from scope for the enriched permission ctx.
96
173
  // Same value the Tools slot passes to ToolProvider.list(ctx) so the
97
174
  // checker sees consistent identity across both gates.
@@ -220,6 +297,74 @@ function buildToolCallsHandler(deps) {
220
297
  }
221
298
  }
222
299
  }
300
+ // ── Check-in gate (evidence-carrying human consent) ──────────────
301
+ // Ordered AFTER the permission gate + arg-validation (a call the policy
302
+ // denied or that has invalid args never asks a human) and BEFORE
303
+ // credential resolution + execute (never acquire credentials for a call
304
+ // awaiting consent — that's the whole point of "consent WITH the
305
+ // receipts"). Fires ONLY when the tool declared `checkIn` and it trips,
306
+ // so tools without the field are byte-identical (no gate, no events, no
307
+ // pause). Rides the EXISTING pause machinery: returning a defined value
308
+ // triggers the footprintjs checkpoint, exactly like `pauseHere`.
309
+ if (!denied && !argsRejected && tool && tool.checkIn !== undefined && deps.checkIn) {
310
+ // The system prompt isn't in `scope.history` (the slots assemble it
311
+ // separately) — reconstruct it from `systemPromptInjections` and
312
+ // prepend a synthetic system frame so the evidence's `read` + the
313
+ // `drivers` ranking can cite system RULES, not just the conversation.
314
+ // Computed ONLY for a checkIn-declaring tool → zero cost otherwise.
315
+ const systemPrompt = (scope.systemPromptInjections ?? [])
316
+ .map((r) => r.rawContent ?? '')
317
+ .filter((s) => s.length > 0)
318
+ .join('\n\n');
319
+ const historyForEvidence = systemPrompt
320
+ ? [{ role: 'system', content: systemPrompt }, ...newHistory]
321
+ : newHistory;
322
+ if (!(0, checkin_js_1.shouldCheckIn)(tool.checkIn, tc.args, {
323
+ iteration,
324
+ toolCallId: tc.id,
325
+ history: historyForEvidence,
326
+ })) {
327
+ // Predicate said no — fall through to the normal credential+execute
328
+ // path below (this `if` block is the ONLY thing the gate adds).
329
+ }
330
+ else {
331
+ const intent = scope.llmLatestContent ? String(scope.llmLatestContent) : undefined;
332
+ const evidence = await deps.checkIn.assembler({
333
+ tool: { name: tc.name, description: tool.schema.description },
334
+ args: tc.args,
335
+ ...(intent !== undefined && { intent }),
336
+ iteration,
337
+ history: historyForEvidence,
338
+ scorer: deps.checkIn.scorer,
339
+ ...(env.signal && { signal: env.signal }),
340
+ });
341
+ const request = {
342
+ tool: tc.name,
343
+ args: tc.args,
344
+ ...(intent !== undefined && { intent }),
345
+ evidence,
346
+ };
347
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.checkin.request', {
348
+ toolName: tc.name,
349
+ toolCallId: tc.id,
350
+ iteration,
351
+ request: request,
352
+ });
353
+ // Commit partial state so resume() finds history intact (mirror the
354
+ // pauseHere path). The proposed args ride the checkpoint so an
355
+ // APPROVED tool can execute on resume.
356
+ scope.history = newHistory;
357
+ scope.pausedToolCallId = tc.id;
358
+ scope.pausedToolName = tc.name;
359
+ scope.pausedToolStartMs = startMs;
360
+ scope.pausedCheckIn = true;
361
+ scope.pausedCheckInArgs = tc.args;
362
+ // Returning a defined value triggers the footprintjs pause; the
363
+ // returned object becomes the checkpoint's pauseData. detectPause
364
+ // surfaces `pauseData.checkIn` as `outcome.checkIn`.
365
+ return { toolCallId: tc.id, toolName: tc.name, checkIn: request };
366
+ }
367
+ }
223
368
  if (!denied && !argsRejected) {
224
369
  // Declare-and-push: resolve the tool's declared credential BEFORE
225
370
  // invoking, and inject it as ctx.credential. On consent-required or
@@ -416,7 +561,7 @@ function buildToolCallsHandler(deps) {
416
561
  scope.iteration = iteration + 1;
417
562
  return undefined; // explicit: no pause, flow continues to loopTo
418
563
  },
419
- resume: (scope, input) => {
564
+ resume: async (scope, input) => {
420
565
  // Consumer-supplied resume input becomes the paused tool's result.
421
566
  // The subflow's pre-pause scope is restored automatically by
422
567
  // footprintjs 4.17.0 via `checkpoint.subflowStates`, so
@@ -425,6 +570,70 @@ function buildToolCallsHandler(deps) {
425
570
  const toolCallId = scope.pausedToolCallId;
426
571
  const toolName = scope.pausedToolName;
427
572
  const startMs = scope.pausedToolStartMs;
573
+ // ── Check-in decision path ───────────────────────────────────────
574
+ // A check-in pause is discriminated by `scope.pausedCheckIn` (restored
575
+ // from the checkpoint). The resume input is a `CheckInDecision`. On
576
+ // APPROVE the tool executes NOW (it never ran at pause time — consent
577
+ // comes BEFORE execute); on DECLINE a model-visible tool_result lands so
578
+ // the agent adapts in-loop. The typed `checkin.decision` event fires
579
+ // either way. Same iteration semantics as resume-after-askHuman.
580
+ if (scope.pausedCheckIn === true) {
581
+ const iteration = scope.iteration;
582
+ const args = (scope.pausedCheckInArgs ?? {});
583
+ // A check-in pause MUST be resumed with a CheckInDecision. A mis-wired
584
+ // resume (a bare string, say) declines by default — a consequential
585
+ // tool can never silently EXECUTE from a malformed resume.
586
+ const decision = (0, checkin_js_1.isCheckInDecision)(input)
587
+ ? input
588
+ : (0, checkin_js_1.checkInDeclined)({ by: 'unknown', note: 'resume input was not a CheckInDecision' });
589
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.checkin.decision', {
590
+ toolName,
591
+ toolCallId,
592
+ iteration,
593
+ approved: decision.approved,
594
+ by: decision.by,
595
+ ...(decision.note !== undefined && { note: decision.note }),
596
+ });
597
+ let result;
598
+ let error;
599
+ if (decision.approved) {
600
+ const env = scope.$getEnv();
601
+ const dispatched = await resolveCredentialAndExecute(scope, lookupTool(toolName), toolName, args, toolCallId, iteration, env);
602
+ result = dispatched.result;
603
+ error = dispatched.error;
604
+ }
605
+ else {
606
+ result = decision.note ? `declined by human: ${decision.note}` : 'declined by human';
607
+ }
608
+ const decisionResultStr = typeof result === 'string' ? result : (0, validators_js_1.safeStringify)(result);
609
+ const decisionHistory = [
610
+ ...scope.history,
611
+ { role: 'tool', content: decisionResultStr, toolCallId, toolName },
612
+ ];
613
+ scope.history = decisionHistory;
614
+ // Drives `on-tool-return` triggers, same as the execute path.
615
+ scope.lastToolResult = { toolName, result: decisionResultStr };
616
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.stream.tool_end', {
617
+ toolCallId,
618
+ result,
619
+ durationMs: Date.now() - startMs,
620
+ ...(error === true && { error: true }),
621
+ });
622
+ (0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.agent.iteration_end', {
623
+ turnIndex: 0,
624
+ iterIndex: iteration,
625
+ toolCallCount: 1,
626
+ history: decisionHistory,
627
+ });
628
+ scope.iteration = iteration + 1;
629
+ // Clear ALL pause checkpoint fields (shared + check-in).
630
+ scope.pausedToolCallId = '';
631
+ scope.pausedToolName = '';
632
+ scope.pausedToolStartMs = 0;
633
+ scope.pausedCheckIn = false;
634
+ scope.pausedCheckInArgs = undefined;
635
+ return;
636
+ }
428
637
  const resultStr = typeof input === 'string' ? input : (0, validators_js_1.safeStringify)(input);
429
638
  const newHistory = [
430
639
  ...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":"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"}
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ /**
3
+ * checkin — the evidence-carrying human-consent primitive.
4
+ *
5
+ * "OpenWorker-class agents check in; agentfootprint checks in WITH THE
6
+ * RECEIPTS." A tool declares `checkIn` (see `Tool.checkIn` in `core/tools.ts`); when
7
+ * it trips, the tool-dispatch loop pauses BEFORE executing and surfaces a
8
+ * {@link CheckInRequest} — a typed ask that carries an EVIDENCE PACK
9
+ * ({@link CheckInEvidence}): what the tool will do, what context the run
10
+ * consumed, which context drove the choice, and a compact run-so-far trail.
11
+ * A human answers with {@link checkInApproved} / {@link checkInDeclined};
12
+ * the {@link CheckInDecision} lands as a typed record.
13
+ *
14
+ * This is the LEAF that owns every check-in TYPE + the pure assembly logic.
15
+ * It has zero runtime/engine imports (only type-only imports of the message
16
+ * shape + the influence-core attribution unit), so it stays cheap to import
17
+ * and trivial to unit-test. The pause plumbing lives in
18
+ * `core/agent/stages/toolCalls.ts`; the events in `events/`; the store in
19
+ * `recorders/core/CheckInRecorder.ts`.
20
+ *
21
+ * NOT a policy engine (the `PermissionChecker` in `adapters/types.ts` is
22
+ * untouched, and runs BEFORE this gate) and NOT UI. This asks a person to
23
+ * CONSENT, with the receipts attached.
24
+ *
25
+ * Pattern: Strategy (pluggable evidence assembler + driver scorer) + pure
26
+ * value types. Every value here survives `structuredClone` + JSON
27
+ * (checkpoint discipline) — no functions, no class instances.
28
+ */
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.resolveCheckInConfig = exports.minimalEvidenceAssembler = exports.standardEvidenceAssembler = exports.unitsFromHistory = exports.lexicalDriverScorer = exports.shouldCheckIn = exports.isCheckInDecision = exports.checkInDeclined = exports.checkInApproved = void 0;
31
+ /**
32
+ * Approve a pending check-in — the paused tool executes normally on resume.
33
+ *
34
+ * @example
35
+ * const decision = checkInApproved({ by: 'alice@ops', note: 'verified with customer' });
36
+ * const final = await agent.resume(outcome.checkpoint, decision);
37
+ */
38
+ function checkInApproved(input) {
39
+ return { approved: true, by: input.by, at: Date.now(), ...(input.note && { note: input.note }) };
40
+ }
41
+ exports.checkInApproved = checkInApproved;
42
+ /**
43
+ * Decline a pending check-in — the tool is NOT executed; the model receives
44
+ * a `"declined by human: <note>"` tool result and adapts in-loop.
45
+ *
46
+ * @example
47
+ * const decision = checkInDeclined({ by: 'alice@ops', note: 'amount too high' });
48
+ * const final = await agent.resume(outcome.checkpoint, decision);
49
+ */
50
+ function checkInDeclined(input) {
51
+ return { approved: false, by: input.by, at: Date.now(), ...(input.note && { note: input.note }) };
52
+ }
53
+ exports.checkInDeclined = checkInDeclined;
54
+ /**
55
+ * Type guard — is this resume input a {@link CheckInDecision}? Distinguishes
56
+ * a check-in answer from a plain `askHuman` tool-result value.
57
+ */
58
+ function isCheckInDecision(x) {
59
+ return (typeof x === 'object' &&
60
+ x !== null &&
61
+ typeof x.approved === 'boolean' &&
62
+ typeof x.by === 'string');
63
+ }
64
+ exports.isCheckInDecision = isCheckInDecision;
65
+ /**
66
+ * Decide whether a tool's declared demand trips for this call. Returns false
67
+ * when the tool declared no `checkIn` (backward-compatible: byte-identical
68
+ * behavior for tools without the field).
69
+ */
70
+ function shouldCheckIn(demand, args, ctx) {
71
+ if (demand === undefined)
72
+ return false;
73
+ if (demand === 'always')
74
+ return true;
75
+ try {
76
+ return demand(args, ctx) === true;
77
+ }
78
+ catch {
79
+ // A buggy predicate must not let a consequential action slip through
80
+ // unreviewed — fail toward asking the human.
81
+ return true;
82
+ }
83
+ }
84
+ exports.shouldCheckIn = shouldCheckIn;
85
+ const WORD_RE = /[a-z0-9]+/g;
86
+ const STOP = new Set([
87
+ 'the',
88
+ 'a',
89
+ 'an',
90
+ 'and',
91
+ 'or',
92
+ 'to',
93
+ 'of',
94
+ 'in',
95
+ 'on',
96
+ 'for',
97
+ 'with',
98
+ 'is',
99
+ 'are',
100
+ 'this',
101
+ 'that',
102
+ 'it',
103
+ 'as',
104
+ 'at',
105
+ 'by',
106
+ 'be',
107
+ 'you',
108
+ 'your',
109
+ 'i',
110
+ ]);
111
+ function tokenize(text) {
112
+ const out = new Set();
113
+ const lower = text.toLowerCase();
114
+ let m;
115
+ while ((m = WORD_RE.exec(lower))) {
116
+ if (m[0].length > 1 && !STOP.has(m[0]))
117
+ out.add(m[0]);
118
+ }
119
+ WORD_RE.lastIndex = 0;
120
+ return out;
121
+ }
122
+ /**
123
+ * The default drivers scorer: deterministic Jaccard token overlap between
124
+ * the tool text and each context unit. Zero LLM, zero network, structuredClone
125
+ * -safe output. Ties keep input order (stable sort).
126
+ */
127
+ const lexicalDriverScorer = ({ tool, units }) => {
128
+ const toolTokens = tokenize(tool.text);
129
+ const scored = units.map((u) => {
130
+ const unitTokens = tokenize(u.text);
131
+ let shared = 0;
132
+ for (const t of unitTokens)
133
+ if (toolTokens.has(t))
134
+ shared++;
135
+ const union = toolTokens.size + unitTokens.size - shared;
136
+ const score = union === 0 ? 0 : shared / union;
137
+ return { id: u.id, channel: u.channel, text: u.text, score };
138
+ });
139
+ // Stable descending sort — Array.prototype.sort is stable in modern engines.
140
+ return scored.sort((a, b) => b.score - a.score);
141
+ };
142
+ exports.lexicalDriverScorer = lexicalDriverScorer;
143
+ const MAX_SUMMARY = 160;
144
+ function truncate(s, max = MAX_SUMMARY) {
145
+ const flat = s.replace(/\s+/g, ' ').trim();
146
+ return flat.length <= max ? flat : `${flat.slice(0, max - 1)}…`;
147
+ }
148
+ /** Render args as a compact `k=v, k=v` string (values truncated, clone-safe). */
149
+ function renderArgs(args) {
150
+ const parts = Object.entries(args).map(([k, v]) => {
151
+ const val = typeof v === 'string' ? v : v === null || v === undefined ? String(v) : JSON.stringify(v);
152
+ return `${k}=${truncate(val, 60)}`;
153
+ });
154
+ return parts.join(', ');
155
+ }
156
+ /** Plain-words "what will happen" claim. */
157
+ function buildWillDo(tool, args) {
158
+ const desc = tool.description.trim() || tool.name;
159
+ const rendered = renderArgs(args);
160
+ return rendered ? `${desc} — with ${rendered}` : desc;
161
+ }
162
+ /**
163
+ * Derive attribution units from the run-so-far conversation: system rules
164
+ * (split into sentences), the user task, and prior tool results. These feed
165
+ * BOTH `read` (as frames) and `drivers` (scored). Ids are unique + stable.
166
+ */
167
+ function unitsFromHistory(history) {
168
+ const units = [];
169
+ let sysN = 0;
170
+ let taskN = 0;
171
+ let resN = 0;
172
+ for (const m of history) {
173
+ const content = (m.content ?? '').trim();
174
+ if (!content)
175
+ continue;
176
+ if (m.role === 'system') {
177
+ // Split the system prompt into rule-sized units so a single rule can be
178
+ // cited. Sentence-ish split; keep non-empty pieces.
179
+ for (const piece of content.split(/(?<=[.!?])\s+|\n+/)) {
180
+ const t = piece.trim();
181
+ if (t)
182
+ units.push({ id: `system-${++sysN}`, channel: 'system', text: t });
183
+ }
184
+ }
185
+ else if (m.role === 'user') {
186
+ units.push({ id: `task-${++taskN}`, channel: 'task', text: content });
187
+ }
188
+ else if (m.role === 'tool') {
189
+ units.push({
190
+ id: `result-${++resN}`,
191
+ channel: 'result',
192
+ text: m.toolName ? `${m.toolName}: ${content}` : content,
193
+ });
194
+ }
195
+ }
196
+ return units;
197
+ }
198
+ exports.unitsFromHistory = unitsFromHistory;
199
+ function framesFromUnits(units) {
200
+ return units.map((u) => ({ channel: u.channel, summary: truncate(u.text) }));
201
+ }
202
+ function buildTrail(history, iteration) {
203
+ const toolCalls = [];
204
+ for (const m of history) {
205
+ if (m.role === 'tool' && m.toolName) {
206
+ // A tool result whose content advertises an error is marked not-ok. The
207
+ // synthetic strings the loop writes ("[permission denied…]", "declined by
208
+ // human…", "credential error…") all read as failures here.
209
+ const c = (m.content ?? '').toLowerCase();
210
+ const ok = !(c.startsWith('[permission denied') ||
211
+ c.startsWith('declined by human') ||
212
+ c.startsWith('credential error') ||
213
+ c.startsWith('authorization required'));
214
+ toolCalls.push({ name: m.toolName, ok });
215
+ }
216
+ }
217
+ const summary = toolCalls.length === 0
218
+ ? `no tools run yet (iteration ${iteration})`
219
+ : `${toolCalls.length} tool${toolCalls.length === 1 ? '' : 's'} run over ${iteration} iteration${iteration === 1 ? '' : 's'}`;
220
+ return { iteration, toolCalls, summary };
221
+ }
222
+ /**
223
+ * The `'standard'` assembler — fills all four evidence fields. The `drivers`
224
+ * ranking runs the configured scorer over the run-so-far context units; the
225
+ * default scorer is deterministic and makes zero LLM/network calls.
226
+ */
227
+ const standardEvidenceAssembler = async (input) => {
228
+ const { tool, args, iteration, history, scorer, signal } = input;
229
+ const units = unitsFromHistory(history);
230
+ const willDo = buildWillDo(tool, args);
231
+ const read = framesFromUnits(units);
232
+ const trail = buildTrail(history, iteration);
233
+ let drivers = [];
234
+ if (units.length > 0) {
235
+ const toolText = `${tool.name} ${tool.description} ${renderArgs(args)}`.trim();
236
+ drivers = await scorer({
237
+ tool: { name: tool.name, text: toolText },
238
+ units,
239
+ ...(signal && { signal }),
240
+ });
241
+ }
242
+ return { willDo, read, drivers, trail };
243
+ };
244
+ exports.standardEvidenceAssembler = standardEvidenceAssembler;
245
+ /** The `'minimal'` assembler — only `willDo`. Zero cost; no scorer call. */
246
+ const minimalEvidenceAssembler = (input) => ({
247
+ willDo: buildWillDo(input.tool, input.args),
248
+ });
249
+ exports.minimalEvidenceAssembler = minimalEvidenceAssembler;
250
+ /**
251
+ * Resolve builder options (or nothing) into a runtime config. The default —
252
+ * `standard` evidence + `lexicalDriverScorer` — makes a tool that declares
253
+ * `checkIn` work even when the builder never called `.checkIn()`.
254
+ */
255
+ function resolveCheckInConfig(opts) {
256
+ const scorer = opts?.scorer ?? exports.lexicalDriverScorer;
257
+ const evidence = opts?.evidence ?? 'standard';
258
+ const assembler = evidence === 'standard'
259
+ ? exports.standardEvidenceAssembler
260
+ : evidence === 'minimal'
261
+ ? exports.minimalEvidenceAssembler
262
+ : evidence;
263
+ return { assembler, scorer };
264
+ }
265
+ exports.resolveCheckInConfig = resolveCheckInConfig;
266
+ //# sourceMappingURL=checkin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkin.js","sourceRoot":"","sources":["../../src/core/checkin.ts"],"names":[],"mappings":"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"}