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.
- package/CHANGELOG.md +46 -0
- package/CLAUDE.md +2 -1
- package/dist/core/Agent.js +80 -7
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/RunnerBase.js +10 -0
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +12 -0
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/evidence/gate.js +13 -1
- package/dist/core/agent/evidence/gate.js.map +1 -1
- package/dist/core/agent/evidence/recovery.js +75 -0
- package/dist/core/agent/evidence/recovery.js.map +1 -0
- package/dist/core/agent/stages/callLLM.js +24 -3
- package/dist/core/agent/stages/callLLM.js.map +1 -1
- package/dist/core/agent/stages/evidenceRecheck.js +12 -22
- package/dist/core/agent/stages/evidenceRecheck.js.map +1 -1
- package/dist/core/agent/stages/seed.js +6 -1
- package/dist/core/agent/stages/seed.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +22 -3
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/inputRequest.js +202 -0
- package/dist/core/inputRequest.js.map +1 -0
- package/dist/core/pause.js +17 -1
- package/dist/core/pause.js.map +1 -1
- package/dist/core/runCheckpoint.js +22 -1
- package/dist/core/runCheckpoint.js.map +1 -1
- package/dist/core/toolSessions.js +10 -8
- package/dist/core/toolSessions.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +6 -2
- package/dist/esm/core/Agent.js +80 -7
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/RunnerBase.d.ts +7 -0
- package/dist/esm/core/RunnerBase.js +10 -0
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +12 -0
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/evidence/gate.js +13 -1
- package/dist/esm/core/agent/evidence/gate.js.map +1 -1
- package/dist/esm/core/agent/evidence/index.d.ts +1 -1
- package/dist/esm/core/agent/evidence/recovery.d.ts +21 -0
- package/dist/esm/core/agent/evidence/recovery.js +69 -0
- package/dist/esm/core/agent/evidence/recovery.js.map +1 -0
- package/dist/esm/core/agent/evidence/types.d.ts +30 -0
- package/dist/esm/core/agent/stages/callLLM.d.ts +2 -0
- package/dist/esm/core/agent/stages/callLLM.js +24 -3
- package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
- package/dist/esm/core/agent/stages/evidenceRecheck.d.ts +3 -6
- package/dist/esm/core/agent/stages/evidenceRecheck.js +13 -23
- package/dist/esm/core/agent/stages/evidenceRecheck.js.map +1 -1
- package/dist/esm/core/agent/stages/seed.d.ts +3 -0
- package/dist/esm/core/agent/stages/seed.js +6 -1
- package/dist/esm/core/agent/stages/seed.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +1 -0
- package/dist/esm/core/agent/stages/toolCalls.js +22 -3
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +6 -1
- package/dist/esm/core/inputRequest.d.ts +62 -0
- package/dist/esm/core/inputRequest.js +194 -0
- package/dist/esm/core/inputRequest.js.map +1 -0
- package/dist/esm/core/pause.d.ts +9 -0
- package/dist/esm/core/pause.js +14 -0
- package/dist/esm/core/pause.js.map +1 -1
- package/dist/esm/core/runCheckpoint.d.ts +17 -1
- package/dist/esm/core/runCheckpoint.js +22 -1
- package/dist/esm/core/runCheckpoint.js.map +1 -1
- package/dist/esm/core/toolSessions.d.ts +10 -7
- package/dist/esm/core/toolSessions.js +10 -8
- package/dist/esm/core/toolSessions.js.map +1 -1
- package/dist/esm/events/types.d.ts +1 -1
- package/dist/esm/hosting/httpHost.js +7 -2
- package/dist/esm/hosting/httpHost.js.map +1 -1
- package/dist/esm/hosting/index.d.ts +1 -1
- package/dist/esm/hosting/index.js +1 -1
- package/dist/esm/hosting/index.js.map +1 -1
- package/dist/esm/hosting/ingressRecord.js +8 -3
- package/dist/esm/hosting/ingressRecord.js.map +1 -1
- package/dist/esm/hosting/sessionWire.d.ts +7 -0
- package/dist/esm/hosting/sessionWire.js +6 -3
- package/dist/esm/hosting/sessionWire.js.map +1 -1
- package/dist/esm/hosting/standingAgent.js +70 -4
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/hosting/types.d.ts +3 -0
- package/dist/esm/hosting/types.js.map +1 -1
- package/dist/esm/hosting/wireOps.d.ts +2 -0
- package/dist/esm/hosting/wireOps.js +4 -1
- package/dist/esm/hosting/wireOps.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/time-travel/servedView.js +5 -2
- package/dist/esm/lib/time-travel/servedView.js.map +1 -1
- package/dist/esm/recorders/core/contextEngineering.js +1 -0
- package/dist/esm/recorders/core/contextEngineering.js.map +1 -1
- package/dist/hosting/httpHost.js +6 -1
- package/dist/hosting/httpHost.js.map +1 -1
- package/dist/hosting/index.js +2 -1
- package/dist/hosting/index.js.map +1 -1
- package/dist/hosting/ingressRecord.js +7 -2
- package/dist/hosting/ingressRecord.js.map +1 -1
- package/dist/hosting/sessionWire.js +7 -4
- package/dist/hosting/sessionWire.js.map +1 -1
- package/dist/hosting/standingAgent.js +69 -3
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/hosting/types.js.map +1 -1
- package/dist/hosting/wireOps.js +4 -1
- package/dist/hosting/wireOps.js.map +1 -1
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/time-travel/servedView.js +5 -2
- package/dist/lib/time-travel/servedView.js.map +1 -1
- package/dist/recorders/core/contextEngineering.js +1 -0
- package/dist/recorders/core/contextEngineering.js.map +1 -1
- package/dist/types/core/Agent.d.ts +6 -2
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts +7 -0
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/buildDynamicAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/gate.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/index.d.ts +1 -1
- package/dist/types/core/agent/evidence/index.d.ts.map +1 -1
- package/dist/types/core/agent/evidence/recovery.d.ts +22 -0
- package/dist/types/core/agent/evidence/recovery.d.ts.map +1 -0
- package/dist/types/core/agent/evidence/types.d.ts +30 -0
- package/dist/types/core/agent/evidence/types.d.ts.map +1 -1
- package/dist/types/core/agent/stages/callLLM.d.ts +2 -0
- package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
- package/dist/types/core/agent/stages/evidenceRecheck.d.ts +3 -6
- package/dist/types/core/agent/stages/evidenceRecheck.d.ts.map +1 -1
- package/dist/types/core/agent/stages/seed.d.ts +3 -0
- package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +1 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +6 -1
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/inputRequest.d.ts +63 -0
- package/dist/types/core/inputRequest.d.ts.map +1 -0
- package/dist/types/core/pause.d.ts +9 -0
- package/dist/types/core/pause.d.ts.map +1 -1
- package/dist/types/core/runCheckpoint.d.ts +17 -1
- package/dist/types/core/runCheckpoint.d.ts.map +1 -1
- package/dist/types/core/toolSessions.d.ts +10 -7
- package/dist/types/core/toolSessions.d.ts.map +1 -1
- package/dist/types/events/types.d.ts +1 -1
- package/dist/types/events/types.d.ts.map +1 -1
- package/dist/types/hosting/httpHost.d.ts.map +1 -1
- package/dist/types/hosting/index.d.ts +1 -1
- package/dist/types/hosting/index.d.ts.map +1 -1
- package/dist/types/hosting/ingressRecord.d.ts.map +1 -1
- package/dist/types/hosting/sessionWire.d.ts +7 -0
- package/dist/types/hosting/sessionWire.d.ts.map +1 -1
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/hosting/types.d.ts +3 -0
- package/dist/types/hosting/types.d.ts.map +1 -1
- package/dist/types/hosting/wireOps.d.ts +2 -0
- package/dist/types/hosting/wireOps.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/time-travel/servedView.d.ts.map +1 -1
- package/dist/types/recorders/core/contextEngineering.d.ts.map +1 -1
- 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
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
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
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
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 {
|
|
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
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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":"AAAA
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;
|
|
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
|
-
...(
|
|
2957
|
-
?
|
|
2958
|
-
:
|
|
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
|