agentfootprint 7.3.1 → 7.5.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/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/README.md +88 -11
- package/ai-instructions/claude-code/SKILL.md +1 -1
- package/dist/core/Agent.js +26 -4
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/RunnerBase.js +12 -1
- package/dist/core/RunnerBase.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +33 -1
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +225 -16
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/core/checkin.js +266 -0
- package/dist/core/checkin.js.map +1 -0
- package/dist/core/pause.js +17 -1
- package/dist/core/pause.js.map +1 -1
- package/dist/core/tools.js +3 -0
- package/dist/core/tools.js.map +1 -1
- package/dist/debug.js +8 -2
- package/dist/debug.js.map +1 -1
- package/dist/embedders/index.js +2 -1
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +31 -5
- package/dist/esm/core/Agent.js +26 -4
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/RunnerBase.js +12 -1
- package/dist/esm/core/RunnerBase.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +27 -0
- package/dist/esm/core/agent/AgentBuilder.js +33 -1
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.d.ts +9 -0
- package/dist/esm/core/agent/stages/toolCalls.js +225 -16
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/core/agent/types.d.ts +2 -0
- package/dist/esm/core/checkin.d.ts +263 -0
- package/dist/esm/core/checkin.js +254 -0
- package/dist/esm/core/checkin.js.map +1 -0
- package/dist/esm/core/pause.d.ts +24 -0
- package/dist/esm/core/pause.js +15 -0
- package/dist/esm/core/pause.js.map +1 -1
- package/dist/esm/core/tools.d.ts +19 -0
- package/dist/esm/core/tools.js +3 -0
- package/dist/esm/core/tools.js.map +1 -1
- package/dist/esm/debug.d.ts +2 -2
- package/dist/esm/debug.js +2 -2
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/embedders/index.js +2 -1
- package/dist/esm/embedders/index.js.map +1 -1
- package/dist/esm/events/dispatcher.d.ts +1 -1
- package/dist/esm/events/dispatcher.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +19 -0
- package/dist/esm/events/registry.d.ts +7 -1
- package/dist/esm/events/registry.js +6 -0
- package/dist/esm/events/registry.js.map +1 -1
- package/dist/esm/index.d.ts +6 -3
- package/dist/esm/index.js +9 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/index.d.ts +2 -1
- package/dist/esm/lib/context-bisect/index.js +4 -1
- package/dist/esm/lib/context-bisect/index.js.map +1 -1
- package/dist/esm/lib/context-bisect/localize.d.ts +6 -2
- package/dist/esm/lib/context-bisect/localize.js +19 -3
- package/dist/esm/lib/context-bisect/localize.js.map +1 -1
- package/dist/esm/lib/context-bisect/rerun.d.ts +123 -0
- package/dist/esm/lib/context-bisect/rerun.js +155 -0
- package/dist/esm/lib/context-bisect/rerun.js.map +1 -0
- package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.js +12 -3
- package/dist/esm/lib/context-bisect/sliceToBacktrackTrace.js.map +1 -1
- package/dist/esm/lib/context-bisect/types.d.ts +8 -0
- package/dist/esm/lib/context-bisect/types.js.map +1 -1
- package/dist/esm/lib/context-ledger/contextLedger.js +10 -1
- package/dist/esm/lib/context-ledger/contextLedger.js.map +1 -1
- package/dist/esm/lib/context-ledger/gates.js +4 -1
- package/dist/esm/lib/context-ledger/gates.js.map +1 -1
- package/dist/esm/lib/influence-core/attribute.js +4 -1
- package/dist/esm/lib/influence-core/attribute.js.map +1 -1
- package/dist/esm/lib/influence-core/index.d.ts +2 -0
- package/dist/esm/lib/influence-core/index.js +2 -0
- package/dist/esm/lib/influence-core/index.js.map +1 -1
- package/dist/esm/lib/influence-core/lexical.d.ts +60 -0
- package/dist/esm/lib/influence-core/lexical.js +142 -0
- package/dist/esm/lib/influence-core/lexical.js.map +1 -0
- package/dist/esm/lib/influence-core/signals.d.ts +5 -0
- package/dist/esm/lib/influence-core/signals.js +6 -2
- package/dist/esm/lib/influence-core/signals.js.map +1 -1
- package/dist/esm/lib/influence-core/strategies.d.ts +51 -0
- package/dist/esm/lib/influence-core/strategies.js +29 -0
- package/dist/esm/lib/influence-core/strategies.js.map +1 -0
- package/dist/esm/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/esm/observe.d.ts +2 -2
- package/dist/esm/observe.js +2 -2
- package/dist/esm/observe.js.map +1 -1
- package/dist/esm/recorders/core/CheckInRecorder.d.ts +90 -0
- package/dist/esm/recorders/core/CheckInRecorder.js +109 -0
- package/dist/esm/recorders/core/CheckInRecorder.js.map +1 -0
- package/dist/events/dispatcher.js.map +1 -1
- package/dist/events/registry.js +6 -0
- package/dist/events/registry.js.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/context-bisect/index.js +6 -1
- package/dist/lib/context-bisect/index.js.map +1 -1
- package/dist/lib/context-bisect/localize.js +19 -3
- package/dist/lib/context-bisect/localize.js.map +1 -1
- package/dist/lib/context-bisect/rerun.js +160 -0
- package/dist/lib/context-bisect/rerun.js.map +1 -0
- package/dist/lib/context-bisect/sliceToBacktrackTrace.js +12 -3
- package/dist/lib/context-bisect/sliceToBacktrackTrace.js.map +1 -1
- package/dist/lib/context-bisect/types.js.map +1 -1
- package/dist/lib/context-ledger/contextLedger.js +10 -1
- package/dist/lib/context-ledger/contextLedger.js.map +1 -1
- package/dist/lib/context-ledger/gates.js +4 -1
- package/dist/lib/context-ledger/gates.js.map +1 -1
- package/dist/lib/influence-core/attribute.js +4 -1
- package/dist/lib/influence-core/attribute.js.map +1 -1
- package/dist/lib/influence-core/index.js +7 -1
- package/dist/lib/influence-core/index.js.map +1 -1
- package/dist/lib/influence-core/lexical.js +146 -0
- package/dist/lib/influence-core/lexical.js.map +1 -0
- package/dist/lib/influence-core/signals.js +8 -3
- package/dist/lib/influence-core/signals.js.map +1 -1
- package/dist/lib/influence-core/strategies.js +33 -0
- package/dist/lib/influence-core/strategies.js.map +1 -0
- package/dist/lib/trace-toolpack/traceToolpack.js.map +1 -1
- package/dist/observe.js.map +1 -1
- package/dist/recorders/core/CheckInRecorder.js +114 -0
- package/dist/recorders/core/CheckInRecorder.js.map +1 -0
- package/dist/types/core/Agent.d.ts +31 -5
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/RunnerBase.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +27 -0
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts +9 -0
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/core/agent/types.d.ts +2 -0
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/checkin.d.ts +264 -0
- package/dist/types/core/checkin.d.ts.map +1 -0
- package/dist/types/core/pause.d.ts +24 -0
- package/dist/types/core/pause.d.ts.map +1 -1
- package/dist/types/core/tools.d.ts +19 -0
- package/dist/types/core/tools.d.ts.map +1 -1
- package/dist/types/debug.d.ts +2 -2
- package/dist/types/debug.d.ts.map +1 -1
- package/dist/types/embedders/index.d.ts.map +1 -1
- package/dist/types/events/dispatcher.d.ts +1 -1
- package/dist/types/events/dispatcher.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +19 -0
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/registry.d.ts +7 -1
- package/dist/types/events/registry.d.ts.map +1 -1
- package/dist/types/index.d.ts +6 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/index.d.ts +2 -1
- package/dist/types/lib/context-bisect/index.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/localize.d.ts +6 -2
- package/dist/types/lib/context-bisect/localize.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/rerun.d.ts +124 -0
- package/dist/types/lib/context-bisect/rerun.d.ts.map +1 -0
- package/dist/types/lib/context-bisect/sliceToBacktrackTrace.d.ts.map +1 -1
- package/dist/types/lib/context-bisect/types.d.ts +8 -0
- package/dist/types/lib/context-bisect/types.d.ts.map +1 -1
- package/dist/types/lib/context-ledger/contextLedger.d.ts.map +1 -1
- package/dist/types/lib/context-ledger/gates.d.ts.map +1 -1
- package/dist/types/lib/influence-core/attribute.d.ts.map +1 -1
- package/dist/types/lib/influence-core/index.d.ts +2 -0
- package/dist/types/lib/influence-core/index.d.ts.map +1 -1
- package/dist/types/lib/influence-core/lexical.d.ts +61 -0
- package/dist/types/lib/influence-core/lexical.d.ts.map +1 -0
- package/dist/types/lib/influence-core/signals.d.ts +5 -0
- package/dist/types/lib/influence-core/signals.d.ts.map +1 -1
- package/dist/types/lib/influence-core/strategies.d.ts +52 -0
- package/dist/types/lib/influence-core/strategies.d.ts.map +1 -0
- package/dist/types/lib/trace-toolpack/traceToolpack.d.ts.map +1 -1
- package/dist/types/observe.d.ts +2 -2
- package/dist/types/observe.d.ts.map +1 -1
- package/dist/types/recorders/core/CheckInRecorder.d.ts +91 -0
- package/dist/types/recorders/core/CheckInRecorder.d.ts.map +1 -0
- 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
|
-
//
|
|
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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"}
|