agentfootprint 9.95.0 → 9.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 (160) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/CLAUDE.md +2 -1
  3. package/dist/core/Agent.js +80 -7
  4. package/dist/core/Agent.js.map +1 -1
  5. package/dist/core/RunnerBase.js +10 -0
  6. package/dist/core/RunnerBase.js.map +1 -1
  7. package/dist/core/agent/buildDynamicAgentChart.js +12 -0
  8. package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
  9. package/dist/core/agent/evidence/gate.js +13 -1
  10. package/dist/core/agent/evidence/gate.js.map +1 -1
  11. package/dist/core/agent/evidence/recovery.js +75 -0
  12. package/dist/core/agent/evidence/recovery.js.map +1 -0
  13. package/dist/core/agent/stages/callLLM.js +24 -3
  14. package/dist/core/agent/stages/callLLM.js.map +1 -1
  15. package/dist/core/agent/stages/evidenceRecheck.js +12 -22
  16. package/dist/core/agent/stages/evidenceRecheck.js.map +1 -1
  17. package/dist/core/agent/stages/seed.js +6 -1
  18. package/dist/core/agent/stages/seed.js.map +1 -1
  19. package/dist/core/agent/stages/toolCalls.js +22 -3
  20. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  21. package/dist/core/inputRequest.js +202 -0
  22. package/dist/core/inputRequest.js.map +1 -0
  23. package/dist/core/pause.js +17 -1
  24. package/dist/core/pause.js.map +1 -1
  25. package/dist/core/runCheckpoint.js +22 -1
  26. package/dist/core/runCheckpoint.js.map +1 -1
  27. package/dist/core/toolSessions.js +10 -8
  28. package/dist/core/toolSessions.js.map +1 -1
  29. package/dist/esm/core/Agent.d.ts +6 -2
  30. package/dist/esm/core/Agent.js +80 -7
  31. package/dist/esm/core/Agent.js.map +1 -1
  32. package/dist/esm/core/RunnerBase.d.ts +7 -0
  33. package/dist/esm/core/RunnerBase.js +10 -0
  34. package/dist/esm/core/RunnerBase.js.map +1 -1
  35. package/dist/esm/core/agent/buildDynamicAgentChart.js +12 -0
  36. package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
  37. package/dist/esm/core/agent/evidence/gate.js +13 -1
  38. package/dist/esm/core/agent/evidence/gate.js.map +1 -1
  39. package/dist/esm/core/agent/evidence/index.d.ts +1 -1
  40. package/dist/esm/core/agent/evidence/recovery.d.ts +21 -0
  41. package/dist/esm/core/agent/evidence/recovery.js +69 -0
  42. package/dist/esm/core/agent/evidence/recovery.js.map +1 -0
  43. package/dist/esm/core/agent/evidence/types.d.ts +30 -0
  44. package/dist/esm/core/agent/stages/callLLM.d.ts +2 -0
  45. package/dist/esm/core/agent/stages/callLLM.js +24 -3
  46. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  47. package/dist/esm/core/agent/stages/evidenceRecheck.d.ts +3 -6
  48. package/dist/esm/core/agent/stages/evidenceRecheck.js +13 -23
  49. package/dist/esm/core/agent/stages/evidenceRecheck.js.map +1 -1
  50. package/dist/esm/core/agent/stages/seed.d.ts +3 -0
  51. package/dist/esm/core/agent/stages/seed.js +6 -1
  52. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  53. package/dist/esm/core/agent/stages/toolCalls.d.ts +1 -0
  54. package/dist/esm/core/agent/stages/toolCalls.js +22 -3
  55. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  56. package/dist/esm/core/agent/types.d.ts +6 -1
  57. package/dist/esm/core/inputRequest.d.ts +62 -0
  58. package/dist/esm/core/inputRequest.js +194 -0
  59. package/dist/esm/core/inputRequest.js.map +1 -0
  60. package/dist/esm/core/pause.d.ts +9 -0
  61. package/dist/esm/core/pause.js +14 -0
  62. package/dist/esm/core/pause.js.map +1 -1
  63. package/dist/esm/core/runCheckpoint.d.ts +17 -1
  64. package/dist/esm/core/runCheckpoint.js +22 -1
  65. package/dist/esm/core/runCheckpoint.js.map +1 -1
  66. package/dist/esm/core/toolSessions.d.ts +10 -7
  67. package/dist/esm/core/toolSessions.js +10 -8
  68. package/dist/esm/core/toolSessions.js.map +1 -1
  69. package/dist/esm/events/types.d.ts +1 -1
  70. package/dist/esm/hosting/httpHost.js +7 -2
  71. package/dist/esm/hosting/httpHost.js.map +1 -1
  72. package/dist/esm/hosting/index.d.ts +1 -1
  73. package/dist/esm/hosting/index.js +1 -1
  74. package/dist/esm/hosting/index.js.map +1 -1
  75. package/dist/esm/hosting/ingressRecord.js +8 -3
  76. package/dist/esm/hosting/ingressRecord.js.map +1 -1
  77. package/dist/esm/hosting/sessionWire.d.ts +7 -0
  78. package/dist/esm/hosting/sessionWire.js +6 -3
  79. package/dist/esm/hosting/sessionWire.js.map +1 -1
  80. package/dist/esm/hosting/standingAgent.js +70 -4
  81. package/dist/esm/hosting/standingAgent.js.map +1 -1
  82. package/dist/esm/hosting/types.d.ts +3 -0
  83. package/dist/esm/hosting/types.js.map +1 -1
  84. package/dist/esm/hosting/wireOps.d.ts +2 -0
  85. package/dist/esm/hosting/wireOps.js +4 -1
  86. package/dist/esm/hosting/wireOps.js.map +1 -1
  87. package/dist/esm/index.d.ts +4 -2
  88. package/dist/esm/index.js +2 -1
  89. package/dist/esm/index.js.map +1 -1
  90. package/dist/esm/lib/time-travel/servedView.js +5 -2
  91. package/dist/esm/lib/time-travel/servedView.js.map +1 -1
  92. package/dist/esm/recorders/core/contextEngineering.js +1 -0
  93. package/dist/esm/recorders/core/contextEngineering.js.map +1 -1
  94. package/dist/hosting/httpHost.js +6 -1
  95. package/dist/hosting/httpHost.js.map +1 -1
  96. package/dist/hosting/index.js +2 -1
  97. package/dist/hosting/index.js.map +1 -1
  98. package/dist/hosting/ingressRecord.js +7 -2
  99. package/dist/hosting/ingressRecord.js.map +1 -1
  100. package/dist/hosting/sessionWire.js +7 -4
  101. package/dist/hosting/sessionWire.js.map +1 -1
  102. package/dist/hosting/standingAgent.js +69 -3
  103. package/dist/hosting/standingAgent.js.map +1 -1
  104. package/dist/hosting/types.js.map +1 -1
  105. package/dist/hosting/wireOps.js +4 -1
  106. package/dist/hosting/wireOps.js.map +1 -1
  107. package/dist/index.js +9 -5
  108. package/dist/index.js.map +1 -1
  109. package/dist/lib/time-travel/servedView.js +5 -2
  110. package/dist/lib/time-travel/servedView.js.map +1 -1
  111. package/dist/recorders/core/contextEngineering.js +1 -0
  112. package/dist/recorders/core/contextEngineering.js.map +1 -1
  113. package/dist/types/core/Agent.d.ts +6 -2
  114. package/dist/types/core/Agent.d.ts.map +1 -1
  115. package/dist/types/core/RunnerBase.d.ts +7 -0
  116. package/dist/types/core/RunnerBase.d.ts.map +1 -1
  117. package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
  118. package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
  119. package/dist/types/core/agent/evidence/index.d.ts +1 -1
  120. package/dist/types/core/agent/evidence/index.d.ts.map +1 -1
  121. package/dist/types/core/agent/evidence/recovery.d.ts +22 -0
  122. package/dist/types/core/agent/evidence/recovery.d.ts.map +1 -0
  123. package/dist/types/core/agent/evidence/types.d.ts +30 -0
  124. package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
  125. package/dist/types/core/agent/stages/callLLM.d.ts +2 -0
  126. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  127. package/dist/types/core/agent/stages/evidenceRecheck.d.ts +3 -6
  128. package/dist/types/core/agent/stages/evidenceRecheck.d.ts.map +1 -1
  129. package/dist/types/core/agent/stages/seed.d.ts +3 -0
  130. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  131. package/dist/types/core/agent/stages/toolCalls.d.ts +1 -0
  132. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  133. package/dist/types/core/agent/types.d.ts +6 -1
  134. package/dist/types/core/agent/types.d.ts.map +1 -1
  135. package/dist/types/core/inputRequest.d.ts +63 -0
  136. package/dist/types/core/inputRequest.d.ts.map +1 -0
  137. package/dist/types/core/pause.d.ts +9 -0
  138. package/dist/types/core/pause.d.ts.map +1 -1
  139. package/dist/types/core/runCheckpoint.d.ts +17 -1
  140. package/dist/types/core/runCheckpoint.d.ts.map +1 -1
  141. package/dist/types/core/toolSessions.d.ts +10 -7
  142. package/dist/types/core/toolSessions.d.ts.map +1 -1
  143. package/dist/types/events/types.d.ts +1 -1
  144. package/dist/types/events/types.d.ts.map +1 -1
  145. package/dist/types/hosting/httpHost.d.ts.map +1 -1
  146. package/dist/types/hosting/index.d.ts +1 -1
  147. package/dist/types/hosting/index.d.ts.map +1 -1
  148. package/dist/types/hosting/ingressRecord.d.ts.map +1 -1
  149. package/dist/types/hosting/sessionWire.d.ts +7 -0
  150. package/dist/types/hosting/sessionWire.d.ts.map +1 -1
  151. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  152. package/dist/types/hosting/types.d.ts +3 -0
  153. package/dist/types/hosting/types.d.ts.map +1 -1
  154. package/dist/types/hosting/wireOps.d.ts +2 -0
  155. package/dist/types/hosting/wireOps.d.ts.map +1 -1
  156. package/dist/types/index.d.ts +4 -2
  157. package/dist/types/index.d.ts.map +1 -1
  158. package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
  159. package/dist/types/recorders/core/contextEngineering.d.ts.map +1 -1
  160. package/package.json +1 -1
@@ -12,12 +12,9 @@
12
12
  * actually produce the value, because it is a real turn and the tools are
13
13
  * still on the wire.
14
14
  *
15
- * What it appends is the conversation as it really went: the answer that
16
- * stated the values as the assistant turn, then a `role: 'user'` message
17
- * naming them and saying what would satisfy the check. **At most once per
18
- * turn** (`evidenceRevisionSpent`) — a model that cannot ground a value on
19
- * its second try will not ground it on its fifth, and the retry storm that
20
- * would follow is the exact failure this library exists to remove.
15
+ * Recovery is one request-scoped system instruction. The rejected draft stays
16
+ * on the actual call record and in the quoted recovery carrier, never as a
17
+ * fake assistant/user conversation. At most one revision per turn.
21
18
  *
22
19
  * Pure function apart from its resolved config — no Agent class state.
23
20
  */
@@ -12,24 +12,16 @@
12
12
  * actually produce the value, because it is a real turn and the tools are
13
13
  * still on the wire.
14
14
  *
15
- * What it appends is the conversation as it really went: the answer that
16
- * stated the values as the assistant turn, then a `role: 'user'` message
17
- * naming them and saying what would satisfy the check. **At most once per
18
- * turn** (`evidenceRevisionSpent`) — a model that cannot ground a value on
19
- * its second try will not ground it on its fifth, and the retry storm that
20
- * would follow is the exact failure this library exists to remove.
15
+ * Recovery is one request-scoped system instruction. The rejected draft stays
16
+ * on the actual call record and in the quoted recovery carrier, never as a
17
+ * fake assistant/user conversation. At most one revision per turn.
21
18
  *
22
19
  * Pure function apart from its resolved config — no Agent class state.
23
20
  */
24
21
  import { typedEmit } from '../../../recorders/core/typedEmit.js';
25
- import { buildEvidenceCorrection, MAX_REPORTED_VALUES } from '../evidence/gate.js';
22
+ import { MAX_REPORTED_VALUES } from '../evidence/gate.js';
23
+ import { buildEvidenceRecovery } from '../evidence/recovery.js';
26
24
  import { findStagedRefs } from '../stagedRefs.js';
27
- // LENS · injected-turn · persistent-history
28
- // reads: the unsupported values ← scope.evidenceUnsupported, the carrier route.ts wrote onto scope.evidenceUnsupported (copied, not held)
29
- // the callable set ← scope.dynamicToolSchemas — the PRE-withholding value, not the wire callLLM.ts · registeredToolSchemas builds
30
- // known gap: the correction frame is a role:'user' turn that stays in history and is on the record as
31
- // unrepaired in test/modelFacingScan.test.ts · `LEDGER`, under the key src/core/agent/evidence/gate.ts.
32
- // law: may omit, never deny; every clause anchored to the call it was composed on.
33
25
  /**
34
26
  * Build the recheck stage. The decider already found the values and wrote the
35
27
  * carrier immediately before routing here — this stage does the work of asking.
@@ -59,16 +51,14 @@ export function buildEvidenceRecheckStage(gate, stagedRefs) {
59
51
  const match = stagedRefs === undefined
60
52
  ? undefined
61
53
  : findStagedRefs(scope.history ?? [], stagedRefs.toolWants, new Set((scope.dynamicToolSchemas?.map((t) => t.name) ?? stagedRefs.staticToolNames()).values()));
62
- const [answerTurn, correctionTurn] = buildEvidenceCorrection(flaggedAnswer, values, match);
63
- // The conversation, as it really went. A plain local array — a TypedScope
64
- // array read is a live proxy view, and both the commit and the event
65
- // payload below must be detached plain data.
66
- const newHistory = [
67
- ...scope.history,
68
- answerTurn,
69
- correctionTurn,
70
- ];
71
- scope.history = newHistory;
54
+ scope.evidenceRecovery = buildEvidenceRecovery({
55
+ iteration,
56
+ originalRequest: scope.userMessage,
57
+ rejectedDraft: flaggedAnswer,
58
+ unsupported: values,
59
+ }, gate.recoveryInstruction, match);
60
+ scope.evidenceRecoveryUsed = false;
61
+ const newHistory = [...scope.history];
72
62
  // The one-per-turn latch, spent BEFORE the loop turns: a second flagged
73
63
  // answer is recorded and (under `rails`) refused, never re-asked.
74
64
  scope.evidenceRevisionSpent = true;
@@ -1 +1 @@
1
- {"version":3,"file":"evidenceRecheck.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/evidenceRecheck.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidenceRecheck.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/evidenceRecheck.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import type { TypedScope } from 'footprintjs';
20
20
  import type { LLMMessage, LLMToolSchema } from '../../../adapters/types.js';
21
21
  import type { MemoryStore } from '../../../memory/store/index.js';
22
22
  import type { AgentInput, AgentState, RunConfig } from '../types.js';
23
+ import type { EvidenceRecoveryCheckpoint } from '../../runCheckpoint.js';
23
24
  import type { FoldedSpan } from '../window/types.js';
24
25
  import type { MessageMiddleware } from '../middleware/types.js';
25
26
  export interface SeedStageDeps {
@@ -47,6 +48,8 @@ export interface SeedStageDeps {
47
48
  * `undefined` for the normal (non-resume) path.
48
49
  */
49
50
  readonly consumePendingResumeHistory: () => readonly LLMMessage[] | undefined;
51
+ /** Same-request recovery only. A new human turn never supplies this state. */
52
+ readonly consumePendingEvidenceRecovery?: () => EvidenceRecoveryCheckpoint | undefined;
50
53
  /**
51
54
  * The same read-AND-CLEAR accessor for the conversation's folded spans.
52
55
  *
@@ -288,7 +288,12 @@ function seedFrom(scope, message, deps) {
288
288
  // an `'assist'` agent (and every agent without the gate) commits exactly
289
289
  // the keys it always did.
290
290
  if (deps.hasEvidenceRevision === true) {
291
- scope.evidenceRevisionSpent = false;
291
+ const recovery = deps.consumePendingEvidenceRecovery?.();
292
+ scope.evidenceRevisionSpent = recovery?.revisionSpent === true;
293
+ if (recovery?.pending !== undefined) {
294
+ scope.evidenceRecovery = { instruction: recovery.pending.instruction, iteration: 1 };
295
+ scope.evidenceRecoveryUsed = false;
296
+ }
292
297
  }
293
298
  // `.configure()` — resolved ONCE here (seed runs exactly once per run)
294
299
  // and written to scope, which means the run's commit log records the
@@ -1 +1 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../../../../src/core/agent/stages/seed.ts"],"names":[],"mappings":"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"}
@@ -384,6 +384,7 @@ export interface ToolCallsHandlerDeps {
384
384
  * @internal
385
385
  */
386
386
  readonly currentRun?: () => {
387
+ readonly runContext?: import('../../../bridge/eventMeta.js').RunContext;
387
388
  readonly runId: string;
388
389
  readonly sessionId?: string;
389
390
  readonly identity?: MemoryIdentity;
@@ -65,6 +65,7 @@ import { PRESENT_TOOL_NAME, presentArtifact } from '../../../artifacts/present.j
65
65
  import { placedResultKind, placedToolResult, } from '../../../artifacts/placement.js';
66
66
  import { CONSENT_PAUSE_KEY, consentQuestion, modelRefusal } from '../../../identity/consent.js';
67
67
  import { isPauseRequest, PauseAnswerRequiredError } from '../../pause.js';
68
+ import { stampInputRequest, validateInputDeclaration } from '../../inputRequest.js';
68
69
  import { assertAskComponent, InvalidAskComponentError, } from '../../askComponent.js';
69
70
  import { shouldCheckIn, isCheckInDecision, checkInDeclined, } from '../../checkin.js';
70
71
  import { agentToolDispatch } from '../toolDispatch.js';
@@ -1239,6 +1240,7 @@ export function buildToolCallsHandler(deps) {
1239
1240
  const filed = tier.register({
1240
1241
  tool: toolName,
1241
1242
  toolCallId,
1243
+ ...(facts?.runContext !== undefined && { runContext: facts.runContext }),
1242
1244
  ...(facts?.runId !== undefined && { runId: facts.runId }),
1243
1245
  ...(facts?.sessionId !== undefined && { sessionId: facts.sessionId }),
1244
1246
  }, cleanup, options);
@@ -2948,14 +2950,31 @@ export function buildToolCallsHandler(deps) {
2948
2950
  // after-tool moment on the far side of the pause (8.13.0) —
2949
2951
  // the same reason the three sibling pauses carry theirs.
2950
2952
  scope.pausedToolArgs = callArgs;
2953
+ const declaration = typeof err.data === 'object' && err.data !== null
2954
+ ? err.data.inputRequest
2955
+ : undefined;
2956
+ const awaitingInput = declaration === undefined
2957
+ ? undefined
2958
+ : stampInputRequest(validateInputDeclaration(declaration), `${deps.currentRun?.().runId ?? scope.turnStartMs}:${tc.id}`, {
2959
+ originalRequest: scope.userMessage,
2960
+ toolCallId: tc.id,
2961
+ ...(scope.currentSkillId !== undefined && {
2962
+ skillId: scope.currentSkillId,
2963
+ }),
2964
+ ...(scope.turnRoute?.offered !== undefined && {
2965
+ offeredSkillIds: [...scope.turnRoute.offered],
2966
+ }),
2967
+ });
2951
2968
  // Returning a defined value triggers footprintjs pause —
2952
2969
  // the returned object becomes the checkpoint's pauseData.
2953
2970
  return {
2954
2971
  toolCallId: tc.id,
2955
2972
  toolName: tc.name,
2956
- ...(typeof err.data === 'object' && err.data !== null
2957
- ? err.data
2958
- : { data: err.data }),
2973
+ ...(awaitingInput !== undefined
2974
+ ? { question: awaitingInput.question, awaitingInput }
2975
+ : typeof err.data === 'object' && err.data !== null
2976
+ ? err.data
2977
+ : { data: err.data }),
2959
2978
  };
2960
2979
  }
2961
2980
  // A tool that threw still RAN, and may have opened the thing it