agentfootprint 7.5.0 → 7.6.1
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/README.md +20 -0
- package/dist/adapters/llm/BedrockProvider.js +113 -9
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/core/slots/buildMessagesSlot.js +19 -1
- package/dist/core/slots/buildMessagesSlot.js.map +1 -1
- package/dist/core/slots/buildSystemPromptSlot.js +19 -1
- package/dist/core/slots/buildSystemPromptSlot.js.map +1 -1
- package/dist/core/slots/buildToolsSlot.js +27 -1
- package/dist/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/core/slots/helpers.js +39 -1
- package/dist/core/slots/helpers.js.map +1 -1
- package/dist/debug.js +10 -1
- package/dist/debug.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +48 -0
- package/dist/esm/adapters/llm/BedrockProvider.js +113 -9
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/core/slots/buildMessagesSlot.js +20 -2
- package/dist/esm/core/slots/buildMessagesSlot.js.map +1 -1
- package/dist/esm/core/slots/buildSystemPromptSlot.js +20 -2
- package/dist/esm/core/slots/buildSystemPromptSlot.js.map +1 -1
- package/dist/esm/core/slots/buildToolsSlot.js +28 -2
- package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
- package/dist/esm/core/slots/helpers.d.ts +29 -1
- package/dist/esm/core/slots/helpers.js +36 -0
- package/dist/esm/core/slots/helpers.js.map +1 -1
- package/dist/esm/debug.d.ts +1 -0
- package/dist/esm/debug.js +8 -0
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +12 -1
- package/dist/esm/lib/recorded-chat/index.d.ts +11 -0
- package/dist/esm/lib/recorded-chat/index.js +11 -0
- package/dist/esm/lib/recorded-chat/index.js.map +1 -0
- package/dist/esm/lib/recorded-chat/recordedChat.d.ts +20 -0
- package/dist/esm/lib/recorded-chat/recordedChat.js +240 -0
- package/dist/esm/lib/recorded-chat/recordedChat.js.map +1 -0
- package/dist/esm/lib/recorded-chat/types.d.ts +182 -0
- package/dist/esm/lib/recorded-chat/types.js +31 -0
- package/dist/esm/lib/recorded-chat/types.js.map +1 -0
- package/dist/esm/recorders/core/types.d.ts +8 -1
- package/dist/esm/recorders/core/types.js.map +1 -1
- package/dist/lib/recorded-chat/index.js +15 -0
- package/dist/lib/recorded-chat/index.js.map +1 -0
- package/dist/lib/recorded-chat/recordedChat.js +244 -0
- package/dist/lib/recorded-chat/recordedChat.js.map +1 -0
- package/dist/lib/recorded-chat/types.js +32 -0
- package/dist/lib/recorded-chat/types.js.map +1 -0
- package/dist/recorders/core/types.js.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +48 -0
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/core/slots/buildMessagesSlot.d.ts.map +1 -1
- package/dist/types/core/slots/buildSystemPromptSlot.d.ts.map +1 -1
- package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
- package/dist/types/core/slots/helpers.d.ts +29 -1
- package/dist/types/core/slots/helpers.d.ts.map +1 -1
- package/dist/types/debug.d.ts +1 -0
- package/dist/types/debug.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +12 -1
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/lib/recorded-chat/index.d.ts +12 -0
- package/dist/types/lib/recorded-chat/index.d.ts.map +1 -0
- package/dist/types/lib/recorded-chat/recordedChat.d.ts +21 -0
- package/dist/types/lib/recorded-chat/recordedChat.d.ts.map +1 -0
- package/dist/types/lib/recorded-chat/types.d.ts +183 -0
- package/dist/types/lib/recorded-chat/types.d.ts.map +1 -0
- package/dist/types/recorders/core/types.d.ts +8 -1
- package/dist/types/recorders/core/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -299,6 +299,26 @@ again.answer; // 'HOLD …'
|
|
|
299
299
|
again.whatChanged.summary; // 'Removing sources [social-sentiment] changed the answer in 3/3 seeded re-runs …'
|
|
300
300
|
```
|
|
301
301
|
|
|
302
|
+
### Chat sessions that can explain themselves
|
|
303
|
+
|
|
304
|
+
`recordedChat` wraps your agent factory into a recorded conversation. Every `send()`
|
|
305
|
+
freezes that turn's evidence. `reason(k)` shows what influenced reply K. `rerunTurn(k,
|
|
306
|
+
{ ignore })` re-runs that exact turn — same recorded history, byte for byte — without a
|
|
307
|
+
source, and returns the same honest result `rerunWithoutSources` gives you. `fork(k,
|
|
308
|
+
{ fromRerun })` continues the conversation from the what-if as a new recorded session.
|
|
309
|
+
Branch, never rewrite.
|
|
310
|
+
|
|
311
|
+
```ts
|
|
312
|
+
import { recordedChat } from 'agentfootprint/debug';
|
|
313
|
+
|
|
314
|
+
const chat = recordedChat({ makeAgent }); // your factory, specs applied at construction
|
|
315
|
+
await chat.send('Should we BUY or HOLD?'); // recorded turn (frozen evidence)
|
|
316
|
+
const rerun = await chat.rerunTurn(1, { // that turn, minus one source
|
|
317
|
+
ignore: ['social-sentiment'], embedder, checkBaseline: true,
|
|
318
|
+
});
|
|
319
|
+
const fork = chat.fork(1, { fromRerun: rerun }); // continue from the what-if
|
|
320
|
+
```
|
|
321
|
+
|
|
302
322
|
---
|
|
303
323
|
|
|
304
324
|
## Pick your door
|
|
@@ -14,6 +14,13 @@
|
|
|
14
14
|
* The Converse API is model-agnostic — one adapter covers every
|
|
15
15
|
* Bedrock-hosted model (Claude, Llama, Mistral, Titan, Mixtral, ...).
|
|
16
16
|
*
|
|
17
|
+
* Tool calling works on BOTH paths: `complete()` reads `toolUse` blocks
|
|
18
|
+
* off the Converse response, and `stream()` accumulates ConverseStream
|
|
19
|
+
* `contentBlockStart` / `contentBlockDelta` / `contentBlockStop` events
|
|
20
|
+
* (keyed by `contentBlockIndex`, so parallel tool calls that interleave
|
|
21
|
+
* are parsed correctly) and delivers them on the terminal chunk's
|
|
22
|
+
* `response.toolCalls`. A parity test pins the two paths together.
|
|
23
|
+
*
|
|
17
24
|
* ─── Limitations ────────────────────────────────────────────────────
|
|
18
25
|
*
|
|
19
26
|
* • Multi-modal NOT supported (text content only).
|
|
@@ -62,14 +69,55 @@ function bedrock(options = {}) {
|
|
|
62
69
|
let stopReason = 'stop';
|
|
63
70
|
let usage = { input: 0, output: 0 };
|
|
64
71
|
let tokenIndex = 0;
|
|
72
|
+
// Tool-use blocks under construction, keyed by `contentBlockIndex`.
|
|
73
|
+
// Keying by index (not arrival order) is what makes PARALLEL tool
|
|
74
|
+
// calls work: Bedrock interleaves their argument fragments.
|
|
75
|
+
const toolUseByIndex = new Map();
|
|
76
|
+
const completedToolCalls = [];
|
|
65
77
|
try {
|
|
66
78
|
for await (const event of stream) {
|
|
79
|
+
// ── Block start: id + name arrive here; arguments follow as
|
|
80
|
+
// JSON string fragments on deltas at the same index. ──
|
|
81
|
+
const startIndex = event.contentBlockStart?.contentBlockIndex;
|
|
82
|
+
const startToolUse = event.contentBlockStart?.start?.toolUse;
|
|
83
|
+
if (startToolUse && typeof startIndex === 'number') {
|
|
84
|
+
toolUseByIndex.set(startIndex, {
|
|
85
|
+
id: startToolUse.toolUseId ?? '',
|
|
86
|
+
name: startToolUse.name ?? '',
|
|
87
|
+
fragments: [],
|
|
88
|
+
});
|
|
89
|
+
}
|
|
67
90
|
if (event.contentBlockDelta?.delta?.text) {
|
|
68
91
|
const text = event.contentBlockDelta.delta.text;
|
|
69
92
|
textParts.push(text);
|
|
70
93
|
yield { tokenIndex, content: text, done: false };
|
|
71
94
|
tokenIndex++;
|
|
72
95
|
}
|
|
96
|
+
// ── Argument fragment. `LLMChunk` has no tool-delta field, so
|
|
97
|
+
// these are NOT yielded as chunks (same as both Browser
|
|
98
|
+
// providers) — they surface on the terminal `response`. ──
|
|
99
|
+
const inputFragment = event.contentBlockDelta?.delta?.toolUse?.input;
|
|
100
|
+
if (typeof inputFragment === 'string') {
|
|
101
|
+
const deltaIndex = event.contentBlockDelta?.contentBlockIndex;
|
|
102
|
+
const open = typeof deltaIndex === 'number' ? toolUseByIndex.get(deltaIndex) : undefined;
|
|
103
|
+
// Bedrock sends `input: ''` fragments for no-arg tools; push
|
|
104
|
+
// them anyway — the join below collapses them to ''.
|
|
105
|
+
if (open)
|
|
106
|
+
open.fragments.push(inputFragment);
|
|
107
|
+
}
|
|
108
|
+
// ── Block complete: join the fragments and parse. ──
|
|
109
|
+
const stopIndex = event.contentBlockStop?.contentBlockIndex;
|
|
110
|
+
if (typeof stopIndex === 'number') {
|
|
111
|
+
const tu = toolUseByIndex.get(stopIndex);
|
|
112
|
+
if (tu) {
|
|
113
|
+
toolUseByIndex.delete(stopIndex);
|
|
114
|
+
completedToolCalls.push({
|
|
115
|
+
id: tu.id,
|
|
116
|
+
name: tu.name,
|
|
117
|
+
args: parseToolArgs(tu.fragments.join(''), tu.name, tu.id, stopIndex),
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
73
121
|
if (event.messageStop?.stopReason) {
|
|
74
122
|
stopReason = normalizeStopReason(event.messageStop.stopReason);
|
|
75
123
|
}
|
|
@@ -80,16 +128,16 @@ function bedrock(options = {}) {
|
|
|
80
128
|
};
|
|
81
129
|
}
|
|
82
130
|
}
|
|
83
|
-
|
|
131
|
+
// A block still open here never received its `contentBlockStop` —
|
|
132
|
+
// truncated wire data. Emitting a half-parsed call would run a
|
|
133
|
+
// tool with incomplete arguments, so we drop it and let the
|
|
134
|
+
// honesty invariant below catch the resulting contradiction.
|
|
135
|
+
const finalResponse = ensureHonestToolUse({
|
|
84
136
|
content: textParts.join(''),
|
|
85
|
-
|
|
86
|
-
// build — the consumer falls back to `complete()` to recover
|
|
87
|
-
// the authoritative tool_use payload. Most Bedrock streams
|
|
88
|
-
// currently emit tool_use only at messageEnd anyway.
|
|
89
|
-
toolCalls: [],
|
|
137
|
+
toolCalls: completedToolCalls,
|
|
90
138
|
usage,
|
|
91
139
|
stopReason,
|
|
92
|
-
};
|
|
140
|
+
});
|
|
93
141
|
yield { tokenIndex, content: '', done: true, response: finalResponse };
|
|
94
142
|
}
|
|
95
143
|
catch (err) {
|
|
@@ -226,7 +274,7 @@ function fromBedrockResponse(response) {
|
|
|
226
274
|
}
|
|
227
275
|
}
|
|
228
276
|
}
|
|
229
|
-
return {
|
|
277
|
+
return ensureHonestToolUse({
|
|
230
278
|
content: textParts.join(''),
|
|
231
279
|
toolCalls,
|
|
232
280
|
usage: {
|
|
@@ -235,7 +283,59 @@ function fromBedrockResponse(response) {
|
|
|
235
283
|
},
|
|
236
284
|
stopReason: normalizeStopReason(response.stopReason ?? 'end_turn'),
|
|
237
285
|
providerRef: response.ResponseMetadata?.RequestId,
|
|
238
|
-
};
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Honesty invariant: a response claiming `tool_use` with zero parsed tool
|
|
290
|
+
* calls is self-contradictory — the model asked for tools and the adapter
|
|
291
|
+
* lost them. Never return it quietly; throw so a configured `reliability`
|
|
292
|
+
* rule (retry / fallback / fail-fast) can act instead of the agent
|
|
293
|
+
* silently answering without running its tools.
|
|
294
|
+
*
|
|
295
|
+
* Post-7.6.1 this cannot happen on today's wire shapes — it is a tripwire
|
|
296
|
+
* for future ConverseStream shape drift. Applied on BOTH the streaming and
|
|
297
|
+
* non-streaming exits so the two paths can never drift apart again.
|
|
298
|
+
*/
|
|
299
|
+
function ensureHonestToolUse(response) {
|
|
300
|
+
if (response.stopReason === 'tool_use' && response.toolCalls.length === 0) {
|
|
301
|
+
throw Object.assign(new Error("[bedrock] stopReason 'tool_use' with zero parsed tool calls — " +
|
|
302
|
+
'tool-use blocks were lost (stream-shape drift?). ' +
|
|
303
|
+
'Refusing to return a self-contradictory response.'), { name: 'BedrockProviderError', code: 'BEDROCK_STREAM_TOOLUSE_LOST' });
|
|
304
|
+
}
|
|
305
|
+
return response;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Parse the joined JSON fragments of one streamed tool-use block.
|
|
309
|
+
*
|
|
310
|
+
* Empty (no-arg tools stream zero fragments, or a single `''`) → `{}`.
|
|
311
|
+
* Malformed → a TYPED throw, never a silent `{}`: swallowing the failure
|
|
312
|
+
* would execute a side-effecting tool with its arguments dropped, which is
|
|
313
|
+
* the worst failure mode available. A thrown provider error reaches the
|
|
314
|
+
* `reliability` / `withRetry` machinery, and a retry usually streams clean
|
|
315
|
+
* JSON.
|
|
316
|
+
*
|
|
317
|
+
* The raw fragment bytes are deliberately NOT put in the message — tool
|
|
318
|
+
* arguments can carry user data and provider error messages land in audit
|
|
319
|
+
* logs unredacted. `rawLength` is reported instead.
|
|
320
|
+
*/
|
|
321
|
+
function parseToolArgs(joined, toolName, toolUseId, contentBlockIndex) {
|
|
322
|
+
if (joined.trim().length === 0)
|
|
323
|
+
return {};
|
|
324
|
+
try {
|
|
325
|
+
return JSON.parse(joined);
|
|
326
|
+
}
|
|
327
|
+
catch (parseErr) {
|
|
328
|
+
throw Object.assign(new Error(`[bedrock] malformed tool-use JSON for tool '${toolName}' (toolUseId ${toolUseId}): ` +
|
|
329
|
+
`${parseErr.message}. Refusing to run the tool with dropped arguments.`), {
|
|
330
|
+
name: 'BedrockProviderError',
|
|
331
|
+
code: 'BEDROCK_MALFORMED_TOOL_ARGS',
|
|
332
|
+
toolName,
|
|
333
|
+
toolUseId,
|
|
334
|
+
contentBlockIndex,
|
|
335
|
+
rawLength: joined.length,
|
|
336
|
+
cause: parseErr,
|
|
337
|
+
});
|
|
338
|
+
}
|
|
239
339
|
}
|
|
240
340
|
function normalizeStopReason(raw) {
|
|
241
341
|
switch (raw) {
|
|
@@ -255,6 +355,10 @@ function normalizeStopReason(raw) {
|
|
|
255
355
|
}
|
|
256
356
|
}
|
|
257
357
|
function wrapError(err) {
|
|
358
|
+
// Already ours (the typed tool-use conditions above) — re-wrapping would
|
|
359
|
+
// drop `code` / `toolName` / `toolUseId` and double-prefix the message.
|
|
360
|
+
if (err instanceof Error && err.name === 'BedrockProviderError')
|
|
361
|
+
return err;
|
|
258
362
|
if (err instanceof Error) {
|
|
259
363
|
return Object.assign(new Error(`[bedrock] ${err.message}`), {
|
|
260
364
|
name: 'BedrockProviderError',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BedrockProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/BedrockProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BedrockProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/BedrockProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ const helpers_js_1 = require("./helpers.js");
|
|
|
29
29
|
*/
|
|
30
30
|
function buildMessagesSlot(config = {}) {
|
|
31
31
|
const budgetCap = config.budgetCap ?? 10000;
|
|
32
|
+
// Dedup latch for the human-facing overflow warning (see buildToolsSlot).
|
|
33
|
+
let warnedOverflow = false;
|
|
32
34
|
return (0, footprintjs_1.flowChart)('Compose', (scope) => {
|
|
33
35
|
const args = scope.$getArgs();
|
|
34
36
|
const messages = args.messages ?? [];
|
|
@@ -70,7 +72,23 @@ function buildMessagesSlot(config = {}) {
|
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
scope.$setValue(conventions_js_1.INJECTION_KEYS.MESSAGES, injections);
|
|
73
|
-
|
|
75
|
+
const composition = (0, helpers_js_1.composeSlot)('messages', iteration, injections, budgetCap, 'history-order');
|
|
76
|
+
scope.$setValue(types_js_1.COMPOSITION_KEYS.SLOT_COMPOSED, composition);
|
|
77
|
+
// Overflow is LOUD — nothing here truncates (see buildToolsSlot).
|
|
78
|
+
const pressure = (0, helpers_js_1.slotOverflow)(composition);
|
|
79
|
+
if (pressure) {
|
|
80
|
+
scope.$setValue(types_js_1.COMPOSITION_KEYS.BUDGET_PRESSURE, [pressure]);
|
|
81
|
+
if (!warnedOverflow) {
|
|
82
|
+
warnedOverflow = true;
|
|
83
|
+
console.warn((0, helpers_js_1.formatOverflowWarning)({
|
|
84
|
+
pressure,
|
|
85
|
+
itemCount: injections.length,
|
|
86
|
+
itemNoun: 'message',
|
|
87
|
+
contentNoun: 'messages',
|
|
88
|
+
remedy: 'Raise budgetCap on the slot config or trim the conversation history.',
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
74
92
|
}, 'compose', { description: 'Compose messages slot' }).build();
|
|
75
93
|
}
|
|
76
94
|
exports.buildMessagesSlot = buildMessagesSlot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildMessagesSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildMessagesSlot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,6CAAwC;AAExC,yDAAsD;AAGtD,4DAAiE;AAEjE,
|
|
1
|
+
{"version":3,"file":"buildMessagesSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildMessagesSlot.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,8 @@ function buildSystemPromptSlot(config) {
|
|
|
32
32
|
const budgetCap = config.budgetCap ?? 4000;
|
|
33
33
|
const reason = config.reason ?? 'static system prompt';
|
|
34
34
|
const promptSource = config.prompt;
|
|
35
|
+
// Dedup latch for the human-facing overflow warning (see buildToolsSlot).
|
|
36
|
+
let warnedOverflow = false;
|
|
35
37
|
return (0, footprintjs_1.flowChart)('Compose', async (scope) => {
|
|
36
38
|
const args = scope.$getArgs();
|
|
37
39
|
const resolved = typeof promptSource === 'function' ? await promptSource(args) : promptSource;
|
|
@@ -82,7 +84,23 @@ function buildSystemPromptSlot(config) {
|
|
|
82
84
|
});
|
|
83
85
|
}
|
|
84
86
|
scope.$setValue(conventions_js_1.INJECTION_KEYS.SYSTEM_PROMPT, injections);
|
|
85
|
-
|
|
87
|
+
const composition = (0, helpers_js_1.composeSlot)('system-prompt', args.iteration ?? 1, injections, budgetCap);
|
|
88
|
+
scope.$setValue(types_js_1.COMPOSITION_KEYS.SLOT_COMPOSED, composition);
|
|
89
|
+
// Overflow is LOUD — nothing here truncates (see buildToolsSlot).
|
|
90
|
+
const pressure = (0, helpers_js_1.slotOverflow)(composition);
|
|
91
|
+
if (pressure) {
|
|
92
|
+
scope.$setValue(types_js_1.COMPOSITION_KEYS.BUDGET_PRESSURE, [pressure]);
|
|
93
|
+
if (!warnedOverflow) {
|
|
94
|
+
warnedOverflow = true;
|
|
95
|
+
console.warn((0, helpers_js_1.formatOverflowWarning)({
|
|
96
|
+
pressure,
|
|
97
|
+
itemCount: injections.length,
|
|
98
|
+
itemNoun: 'prompt fragment',
|
|
99
|
+
contentNoun: 'fragments',
|
|
100
|
+
remedy: 'Raise budgetCap on the slot config or shorten the system prompt.',
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
86
104
|
}, 'compose', { description: 'Compose system-prompt slot' }).build();
|
|
87
105
|
}
|
|
88
106
|
exports.buildSystemPromptSlot = buildSystemPromptSlot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildSystemPromptSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildSystemPromptSlot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,6CAAwC;AAExC,yDAAsD;AAEtD,4DAAiE;AAEjE,
|
|
1
|
+
{"version":3,"file":"buildSystemPromptSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildSystemPromptSlot.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,11 @@ function buildToolsSlot(config) {
|
|
|
32
32
|
const tools = config.tools;
|
|
33
33
|
const toolProvider = config.toolProvider;
|
|
34
34
|
const providerToolCache = config.providerToolCache;
|
|
35
|
+
// Dedup latch for the human-facing warning, scoped to THIS built chart:
|
|
36
|
+
// a 20-iteration ReAct loop must not print 20 identical warnings. The
|
|
37
|
+
// typed `context.budget_pressure` event still fires every iteration and
|
|
38
|
+
// carries the per-iteration truth.
|
|
39
|
+
let warnedOverflow = false;
|
|
35
40
|
// Stage 1 — Discover: consult the external ToolProvider (if any) and
|
|
36
41
|
// resolve its Tool[] for this iteration. ALWAYS runs (even when no
|
|
37
42
|
// provider) so the trace shape is consistent across agents — the
|
|
@@ -194,7 +199,28 @@ function buildToolsSlot(config) {
|
|
|
194
199
|
merged.push(t);
|
|
195
200
|
}
|
|
196
201
|
scope.toolSchemas = merged;
|
|
197
|
-
|
|
202
|
+
const composition = (0, helpers_js_1.composeSlot)('tools', iteration, injections, budgetCap, toolProvider ? 'registry+provider+injections' : 'registry+injections');
|
|
203
|
+
scope.$setValue(types_js_1.COMPOSITION_KEYS.SLOT_COMPOSED, composition);
|
|
204
|
+
// Overflow is LOUD. Nothing here truncates — the full tool definitions
|
|
205
|
+
// always reach the LLM — so an over-budget slot is otherwise invisible
|
|
206
|
+
// (headroomChars clamps to 0, droppedCount stays 0). Write a FRESH
|
|
207
|
+
// single-record array: ContextRecorder re-dispatches every record in
|
|
208
|
+
// the written value on every write, so appending would re-fire prior
|
|
209
|
+
// iterations.
|
|
210
|
+
const pressure = (0, helpers_js_1.slotOverflow)(composition);
|
|
211
|
+
if (pressure) {
|
|
212
|
+
scope.$setValue(types_js_1.COMPOSITION_KEYS.BUDGET_PRESSURE, [pressure]);
|
|
213
|
+
if (!warnedOverflow) {
|
|
214
|
+
warnedOverflow = true;
|
|
215
|
+
console.warn((0, helpers_js_1.formatOverflowWarning)({
|
|
216
|
+
pressure,
|
|
217
|
+
itemCount: injections.length,
|
|
218
|
+
itemNoun: 'tool definition',
|
|
219
|
+
contentNoun: 'definitions',
|
|
220
|
+
remedy: 'Raise budgetCap on the agent config or trim tool descriptions.',
|
|
221
|
+
}));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
198
224
|
};
|
|
199
225
|
return (0, footprintjs_1.flowChart)('Discover', discoverStage, 'discover', {
|
|
200
226
|
description: 'Discover provider tools',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildToolsSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildToolsSlot.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,6CAAwC;AAGxC,yDAAsD;AAEtD,4DAAiE;AAEjE,oEAA8D;AAG9D,
|
|
1
|
+
{"version":3,"file":"buildToolsSlot.js","sourceRoot":"","sources":["../../../src/core/slots/buildToolsSlot.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* breakdown. Kept co-located to avoid cross-package import churn.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.composeSlot = exports.breakdown = exports.truncate = exports.fnv1a = void 0;
|
|
10
|
+
exports.formatOverflowWarning = exports.slotOverflow = exports.composeSlot = exports.breakdown = exports.truncate = exports.fnv1a = void 0;
|
|
11
11
|
/** Non-cryptographic stable hash — sufficient for InjectionRecord dedup. */
|
|
12
12
|
function fnv1a(input) {
|
|
13
13
|
let h = 2166136261;
|
|
@@ -62,4 +62,42 @@ function composeSlot(slot, iteration, injections, budgetCap, orderingStrategy, d
|
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
64
|
exports.composeSlot = composeSlot;
|
|
65
|
+
/**
|
|
66
|
+
* Overflow detector for slot compositions.
|
|
67
|
+
*
|
|
68
|
+
* Returns a `BudgetPressureRecord` when `used > cap`, otherwise `null`.
|
|
69
|
+
* `cap <= 0` is the "no budget" sentinel (see buildMessageApiChart's
|
|
70
|
+
* `{ cap: 0, used: 0 }` composition) — it never overflows.
|
|
71
|
+
*
|
|
72
|
+
* `planAction: 'none'` is the honest answer: the built-in slots evict and
|
|
73
|
+
* truncate NOTHING, so the full content went to the LLM and this record is
|
|
74
|
+
* the loud signal that the slot's budget is not being respected. Units are
|
|
75
|
+
* CHARS despite the historical `*Tokens` field names.
|
|
76
|
+
*/
|
|
77
|
+
function slotOverflow(composition) {
|
|
78
|
+
const { cap, used } = composition.budget;
|
|
79
|
+
if (cap <= 0 || used <= cap)
|
|
80
|
+
return null;
|
|
81
|
+
return {
|
|
82
|
+
slot: composition.slot,
|
|
83
|
+
capTokens: cap,
|
|
84
|
+
projectedTokens: used,
|
|
85
|
+
overflowBy: used - cap,
|
|
86
|
+
planAction: 'none',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
exports.slotOverflow = slotOverflow;
|
|
90
|
+
/**
|
|
91
|
+
* Human-facing warning text for a slot overflow. Says what actually
|
|
92
|
+
* happened (nothing was truncated) and what to do about it — the typed
|
|
93
|
+
* `context.budget_pressure` event carries the machine-readable truth.
|
|
94
|
+
*/
|
|
95
|
+
function formatOverflowWarning(opts) {
|
|
96
|
+
const { pressure, itemCount, itemNoun, contentNoun, remedy } = opts;
|
|
97
|
+
return (`[agentfootprint] ${pressure.slot} slot over budget: ` +
|
|
98
|
+
`${pressure.projectedTokens}/${pressure.capTokens} chars (+${pressure.overflowBy}), ` +
|
|
99
|
+
`${itemCount} ${itemNoun}(s). Nothing was truncated — the full ${contentNoun} were sent ` +
|
|
100
|
+
`to the LLM — but the slot budget signal is unreliable. ${remedy}`);
|
|
101
|
+
}
|
|
102
|
+
exports.formatOverflowWarning = formatOverflowWarning;
|
|
65
103
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/core/slots/helpers.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/core/slots/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/debug.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.classifySuspect = exports.DEFAULT_RECENCY_DECAY = exports.buildWriterFrameIndex = exports.walkTrajectory = exports.walkToRoot = exports.shortlistEarlyCulprits = exports.bucketByAnchors = exports.bisectCulprits = exports.assignCostVerdicts = exports.assembleTrajectory = exports.applyAblations = exports.ablationForSuspect = exports.traceDebugAgent = exports.SelfExplainBinding = exports.buildSelfExplainToolProvider = exports.buildSelfExplainSkill = exports.traceToolpack = exports.TOOLPACK_HARD_CAPS = exports.NO_COMPLETED_RUN_MESSAGE = exports.lazyTraceToolpack = exports.callTraceTool = exports.structuralProximity = exports.snippetUnits = exports.semanticAlignmentStrategy = exports.scoreMargin = exports.scoreLexicalInfluence = exports.scoreInfluence = exports.scoreContrastiveInfluence = exports.ratioStrategy = exports.rankingConfidence = exports.persistence = exports.pairwiseSimilarity = exports.marginStrategy = exports.listInfluenceStrategies = exports.lexicalOverlapStrategy = exports.explainChoice = exports.attributeChoice = exports.finalAnswerSimilarity = exports.embeddingCache = exports.EmbeddingCache = exports.DEFAULT_SHORTLIST_BAND = exports.DEFAULT_PERSISTENCE_THRESHOLD = exports.DEFAULT_MARGIN_THRESHOLD = exports.DEFAULT_INFLUENCE_WEIGHTS = exports.DEFAULT_CLEAR_WINNER_RATIO = exports.DEFAULT_CLEAR_WINNER_MARGIN = exports.contentHash = exports.compositeScore = exports.averageRelevancy = exports.adaptWeights = void 0;
|
|
23
|
-
exports.saysWhatNotWhenRule = exports.runToolLintCli = exports.optionalParamRule = exports.MOCK_EMBEDDER_CALIBRATION = exports.formatToolCatalogReport = exports.enumInProseRule = exports.differentiationHint = exports.descriptionRule = exports.defaultStructuralRules = exports.DEFAULT_WHEN_CUES = exports.DEFAULT_WATCH_BAND = exports.DEFAULT_OMISSION_CUES = exports.DEFAULT_CONFUSABILITY_THRESHOLD = exports.confusabilityText = exports.coerceCatalog = exports.catalogFromTools = exports.analyzeToolCatalog = exports.toBacktrackTrace = exports.sliceToBacktrackTrace = exports.verdictFor = exports.suspectLabel = exports.stepOutputText = exports.runRestorationProbe = exports.runAblationProbe = exports.rerunWithoutSources = exports.removableSources = exports.probeFlipped = exports.localizeContextBug = exports.llmEdgeWeigher = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.findDroppedContext = exports.defaultSuspectClassifier = exports.defaultOutcomeComparator = exports.CONTEXT_BISECT_DEFAULTS = exports.findLoopHeads = void 0;
|
|
23
|
+
exports.recordedChat = exports.saysWhatNotWhenRule = exports.runToolLintCli = exports.optionalParamRule = exports.MOCK_EMBEDDER_CALIBRATION = exports.formatToolCatalogReport = exports.enumInProseRule = exports.differentiationHint = exports.descriptionRule = exports.defaultStructuralRules = exports.DEFAULT_WHEN_CUES = exports.DEFAULT_WATCH_BAND = exports.DEFAULT_OMISSION_CUES = exports.DEFAULT_CONFUSABILITY_THRESHOLD = exports.confusabilityText = exports.coerceCatalog = exports.catalogFromTools = exports.analyzeToolCatalog = exports.toBacktrackTrace = exports.sliceToBacktrackTrace = exports.verdictFor = exports.suspectLabel = exports.stepOutputText = exports.runRestorationProbe = exports.runAblationProbe = exports.rerunWithoutSources = exports.removableSources = exports.probeFlipped = exports.localizeContextBug = exports.llmEdgeWeigher = exports.llmCallIdsFromEvents = exports.formatContextBugReport = exports.findDroppedContext = exports.defaultSuspectClassifier = exports.defaultOutcomeComparator = exports.CONTEXT_BISECT_DEFAULTS = exports.findLoopHeads = void 0;
|
|
24
24
|
// influence-core — the ONE embedding-based scoring engine (RFC-002/003
|
|
25
25
|
// block D6). Not a recorder: pure, embedder-injected scoring functions
|
|
26
26
|
// + the shared bounded embedding cache. Honest claim: every score is an
|
|
@@ -141,4 +141,13 @@ Object.defineProperty(exports, "MOCK_EMBEDDER_CALIBRATION", { enumerable: true,
|
|
|
141
141
|
Object.defineProperty(exports, "optionalParamRule", { enumerable: true, get: function () { return index_js_6.optionalParamRule; } });
|
|
142
142
|
Object.defineProperty(exports, "runToolLintCli", { enumerable: true, get: function () { return index_js_6.runToolLintCli; } });
|
|
143
143
|
Object.defineProperty(exports, "saysWhatNotWhenRule", { enumerable: true, get: function () { return index_js_6.saysWhatNotWhenRule; } });
|
|
144
|
+
// recorded-chat — the session-scoped turn recorder. Wraps a consumer agent
|
|
145
|
+
// factory into a recorded conversation: send() freezes each turn's evidence,
|
|
146
|
+
// reason(k)/rerunTurn(k)/fork(k) are the per-turn transparency loop. Absorbs
|
|
147
|
+
// the three glue traps (per-turn artifact freezing, byte-exact history
|
|
148
|
+
// threading, same-factory runner derivation) while COMPOSING with the loop
|
|
149
|
+
// above (localizeContextBug + rerunWithoutSources returned UNMODIFIED), never
|
|
150
|
+
// duplicating it. Branch, never rewrite.
|
|
151
|
+
var index_js_7 = require("./lib/recorded-chat/index.js");
|
|
152
|
+
Object.defineProperty(exports, "recordedChat", { enumerable: true, get: function () { return index_js_7.recordedChat; } });
|
|
144
153
|
//# sourceMappingURL=debug.js.map
|
package/dist/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;;AAEH,uEAAuE;AACvE,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,4BAA4B;AAC5B,0DA8DuC;AA7DrC,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,uHAAA,2BAA2B,OAAA;AAC3B,sHAAA,0BAA0B,OAAA;AAC1B,qHAAA,yBAAyB,OAAA;AACzB,oHAAA,wBAAwB,OAAA;AACxB,yHAAA,6BAA6B,OAAA;AAC7B,kHAAA,sBAAsB,OAAA;AACtB,0GAAA,cAAc,OAAA;AACd,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,kHAAA,sBAAsB,OAAA;AACtB,mHAAA,uBAAuB,OAAA;AACvB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,qHAAA,yBAAyB,OAAA;AACzB,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AACX,qHAAA,yBAAyB,OAAA;AACzB,wGAAA,YAAY,OAAA;AACZ,+GAAA,mBAAmB,OAAA;AAkCrB,uEAAuE;AACvE,2EAA2E;AAC3E,mEAAmE;AACnE,0DAQuC;AAPrC,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,oHAAA,wBAAwB,OAAA;AACxB,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AAIf,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,kEAAkE;AAClE,0DAOuC;AANrC,iHAAA,qBAAqB,OAAA;AACrB,wHAAA,4BAA4B,OAAA;AAC5B,8GAAA,kBAAkB,OAAA;AAClB,2GAAA,eAAe,OAAA;AAIjB,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,+DAA+D;AAC/D,oEAAoE;AACpE,mEAAmE;AACnE,0DA0FuC;AAzFrC,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,kHAAA,sBAAsB,OAAA;AACtB,sGAAA,UAAU,OAAA;AACV,0GAAA,cAAc,OAAA;AACd,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,2GAAA,eAAe,OAAA;AACf,yGAAA,aAAa,OAAA;AACb,mHAAA,uBAAuB,OAAA;AACvB,oHAAA,wBAAwB,OAAA;AACxB,oHAAA,wBAAwB,OAAA;AACxB,8GAAA,kBAAkB,OAAA;AAClB,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,wGAAA,YAAY,OAAA;AACZ,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,wGAAA,YAAY,OAAA;AACZ,sGAAA,UAAU,OAAA;AA8DZ,sEAAsE;AACtE,uEAAuE;AACvE,mEAAmE;AACnE,0DAUuC;AATrC,iHAAA,qBAAqB,OAAA;AACrB,4GAAA,gBAAgB,OAAA;AASlB,wEAAwE;AACxE,8EAA8E;AAC9E,qEAAqE;AACrE,wEAAwE;AACxE,uEAAuE;AACvE,gEAAgE;AAChE,gDAAgD;AAChD,qDAgCkC;AA/BhC,8GAAA,kBAAkB,OAAA;AAClB,4GAAA,gBAAgB,OAAA;AAChB,yGAAA,aAAa,OAAA;AACb,6GAAA,iBAAiB,OAAA;AACjB,2HAAA,+BAA+B,OAAA;AAC/B,iHAAA,qBAAqB,OAAA;AACrB,8GAAA,kBAAkB,OAAA;AAClB,6GAAA,iBAAiB,OAAA;AACjB,kHAAA,sBAAsB,OAAA;AACtB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,mHAAA,uBAAuB,OAAA;AACvB,qHAAA,yBAAyB,OAAA;AACzB,6GAAA,iBAAiB,OAAA;AACjB,0GAAA,cAAc,OAAA;AACd,+GAAA,mBAAmB,OAAA;AAgBrB,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,2EAA2E;AAC3E,8EAA8E;AAC9E,yCAAyC;AACzC,yDAasC;AAZpC,wGAAA,YAAY,OAAA"}
|
|
@@ -13,6 +13,13 @@
|
|
|
13
13
|
* The Converse API is model-agnostic — one adapter covers every
|
|
14
14
|
* Bedrock-hosted model (Claude, Llama, Mistral, Titan, Mixtral, ...).
|
|
15
15
|
*
|
|
16
|
+
* Tool calling works on BOTH paths: `complete()` reads `toolUse` blocks
|
|
17
|
+
* off the Converse response, and `stream()` accumulates ConverseStream
|
|
18
|
+
* `contentBlockStart` / `contentBlockDelta` / `contentBlockStop` events
|
|
19
|
+
* (keyed by `contentBlockIndex`, so parallel tool calls that interleave
|
|
20
|
+
* are parsed correctly) and delivers them on the terminal chunk's
|
|
21
|
+
* `response.toolCalls`. A parity test pins the two paths together.
|
|
22
|
+
*
|
|
16
23
|
* ─── Limitations ────────────────────────────────────────────────────
|
|
17
24
|
*
|
|
18
25
|
* • Multi-modal NOT supported (text content only).
|
|
@@ -68,6 +75,47 @@ interface BedrockTool {
|
|
|
68
75
|
};
|
|
69
76
|
};
|
|
70
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* ConverseStream event shapes we consume.
|
|
80
|
+
*
|
|
81
|
+
* Note the asymmetry with the non-streaming API: `toolUse.input` is a
|
|
82
|
+
* fully-formed OBJECT on a Converse response, but a JSON **string
|
|
83
|
+
* fragment** on a ConverseStream delta. Fragments arrive across many
|
|
84
|
+
* events and must be joined before parsing, and blocks are addressed by
|
|
85
|
+
* `contentBlockIndex` because parallel tool calls interleave.
|
|
86
|
+
*/
|
|
87
|
+
export interface BedrockStreamEvent {
|
|
88
|
+
contentBlockStart?: {
|
|
89
|
+
contentBlockIndex?: number;
|
|
90
|
+
start?: {
|
|
91
|
+
toolUse?: {
|
|
92
|
+
toolUseId?: string;
|
|
93
|
+
name?: string;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
contentBlockDelta?: {
|
|
98
|
+
contentBlockIndex?: number;
|
|
99
|
+
delta?: {
|
|
100
|
+
text?: string;
|
|
101
|
+
toolUse?: {
|
|
102
|
+
input?: string;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
contentBlockStop?: {
|
|
107
|
+
contentBlockIndex?: number;
|
|
108
|
+
};
|
|
109
|
+
messageStop?: {
|
|
110
|
+
stopReason?: string;
|
|
111
|
+
};
|
|
112
|
+
metadata?: {
|
|
113
|
+
usage?: {
|
|
114
|
+
inputTokens: number;
|
|
115
|
+
outputTokens: number;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
}
|
|
71
119
|
export interface BedrockProviderOptions {
|
|
72
120
|
/** AWS region (e.g., 'us-east-1'). Defaults to AWS SDK auto-detect. */
|
|
73
121
|
readonly region?: string;
|