agentfootprint 7.6.0 → 7.7.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/dist/adapters/llm/AnthropicProvider.js +10 -3
- package/dist/adapters/llm/AnthropicProvider.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +113 -9
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/llm/BrowserAnthropicProvider.js +9 -3
- package/dist/adapters/llm/BrowserAnthropicProvider.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/esm/adapters/llm/AnthropicProvider.d.ts +33 -0
- package/dist/esm/adapters/llm/AnthropicProvider.js +10 -3
- package/dist/esm/adapters/llm/AnthropicProvider.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/adapters/llm/BrowserAnthropicProvider.d.ts +13 -0
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +9 -3
- package/dist/esm/adapters/llm/BrowserAnthropicProvider.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/events/payloads.d.ts +12 -1
- package/dist/esm/recorders/core/types.d.ts +8 -1
- package/dist/esm/recorders/core/types.js.map +1 -1
- package/dist/recorders/core/types.js.map +1 -1
- package/dist/types/adapters/llm/AnthropicProvider.d.ts +33 -0
- package/dist/types/adapters/llm/AnthropicProvider.d.ts.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/adapters/llm/BrowserAnthropicProvider.d.ts +13 -0
- package/dist/types/adapters/llm/BrowserAnthropicProvider.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/events/payloads.d.ts +12 -1
- package/dist/types/events/payloads.d.ts.map +1 -1
- 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
|
@@ -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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"}
|
|
@@ -35,6 +35,10 @@ interface AnthropicCreateParams {
|
|
|
35
35
|
type: 'enabled';
|
|
36
36
|
budget_tokens: number;
|
|
37
37
|
};
|
|
38
|
+
tool_choice?: {
|
|
39
|
+
type: 'auto';
|
|
40
|
+
disable_parallel_tool_use: true;
|
|
41
|
+
};
|
|
38
42
|
}
|
|
39
43
|
interface AnthropicMessageParam {
|
|
40
44
|
role: 'user' | 'assistant';
|
|
@@ -110,6 +114,35 @@ export interface AnthropicProviderOptions {
|
|
|
110
114
|
* connection errors, 429/5xx) before giving up. Omit to use the SDK default.
|
|
111
115
|
*/
|
|
112
116
|
readonly maxRetries?: number;
|
|
117
|
+
/**
|
|
118
|
+
* May the model ask for several tools at once in a single reply?
|
|
119
|
+
*
|
|
120
|
+
* Anthropic's default is `true`: one assistant message can carry many
|
|
121
|
+
* `tool_use` blocks, and the agent runs them all inside ONE loop
|
|
122
|
+
* iteration. Set `false` to cap it at one tool per reply — the model
|
|
123
|
+
* still chooses which tool (or none), it just cannot batch.
|
|
124
|
+
*
|
|
125
|
+
* Set `false` when the SHAPE of the loop is part of what you are
|
|
126
|
+
* measuring, not only its answer. A batched reply collapses several
|
|
127
|
+
* tool results into one iteration, so per-iteration analysis
|
|
128
|
+
* (`localizeContextBug` seeds one `'tool'` suspect per iteration from
|
|
129
|
+
* `lastToolResult`, and `removableSources` de-duplicates by tool name)
|
|
130
|
+
* attributes that iteration to the LAST tool of the batch — the others
|
|
131
|
+
* never appear as separate influence rows and cannot be ablated
|
|
132
|
+
* individually. One tool per iteration keeps every source separately
|
|
133
|
+
* attributable, at the cost of one extra round trip per tool.
|
|
134
|
+
*
|
|
135
|
+
* Prompting for it is not equivalent: "call one tool at a time" in the
|
|
136
|
+
* system prompt is a request the model may ignore, whereas this is a
|
|
137
|
+
* request parameter the API enforces.
|
|
138
|
+
*
|
|
139
|
+
* `true` (and omitting the option) sends nothing — Anthropic's own
|
|
140
|
+
* default already allows batching. Only `false` puts `tool_choice` on
|
|
141
|
+
* the wire, and only on requests that actually carry tools.
|
|
142
|
+
*
|
|
143
|
+
* @default undefined (Anthropic's default — batching allowed)
|
|
144
|
+
*/
|
|
145
|
+
readonly parallelToolCalls?: boolean;
|
|
113
146
|
/** @internal Pre-built client for testing. Skips SDK import. */
|
|
114
147
|
readonly _client?: AnthropicClient;
|
|
115
148
|
}
|
|
@@ -35,10 +35,11 @@ export function anthropic(options = {}) {
|
|
|
35
35
|
const client = resolveClient(options);
|
|
36
36
|
const defaultModel = options.defaultModel ?? 'claude-sonnet-4-5-20250929';
|
|
37
37
|
const defaultMaxTokens = options.defaultMaxTokens ?? 4096;
|
|
38
|
+
const parallelToolCalls = options.parallelToolCalls;
|
|
38
39
|
const provider = {
|
|
39
40
|
name: 'anthropic',
|
|
40
41
|
async complete(req) {
|
|
41
|
-
const params = buildParams(req, defaultModel, defaultMaxTokens);
|
|
42
|
+
const params = buildParams(req, defaultModel, defaultMaxTokens, parallelToolCalls);
|
|
42
43
|
try {
|
|
43
44
|
const message = await client.messages.create(params);
|
|
44
45
|
return fromAnthropicResponse(message);
|
|
@@ -48,7 +49,7 @@ export function anthropic(options = {}) {
|
|
|
48
49
|
}
|
|
49
50
|
},
|
|
50
51
|
async *stream(req) {
|
|
51
|
-
const params = buildParams(req, defaultModel, defaultMaxTokens);
|
|
52
|
+
const params = buildParams(req, defaultModel, defaultMaxTokens, parallelToolCalls);
|
|
52
53
|
let stream;
|
|
53
54
|
try {
|
|
54
55
|
stream = client.messages.stream(params);
|
|
@@ -118,7 +119,7 @@ function resolveClient(options) {
|
|
|
118
119
|
...(options.maxRetries !== undefined ? { maxRetries: options.maxRetries } : {}),
|
|
119
120
|
});
|
|
120
121
|
}
|
|
121
|
-
function buildParams(req, defaultModel, defaultMaxTokens) {
|
|
122
|
+
function buildParams(req, defaultModel, defaultMaxTokens, parallelToolCalls) {
|
|
122
123
|
// v2.14 — Anthropic requires `max_tokens > thinking.budget_tokens`.
|
|
123
124
|
// When thinking is enabled and the resolved max_tokens would violate
|
|
124
125
|
// that, bump max_tokens to `budget + 1024` (1024 visible-response
|
|
@@ -151,6 +152,12 @@ function buildParams(req, defaultModel, defaultMaxTokens) {
|
|
|
151
152
|
if (req.thinking) {
|
|
152
153
|
params.thinking = { type: 'enabled', budget_tokens: req.thinking.budget };
|
|
153
154
|
}
|
|
155
|
+
// One tool per reply, enforced by the API rather than asked for in prose.
|
|
156
|
+
// Guarded on `params.tools`: Anthropic rejects `tool_choice` on a request
|
|
157
|
+
// that carries no tools, and an agent's final answer call often has none.
|
|
158
|
+
if (parallelToolCalls === false && params.tools !== undefined && params.tools.length > 0) {
|
|
159
|
+
params.tool_choice = { type: 'auto', disable_parallel_tool_use: true };
|
|
160
|
+
}
|
|
154
161
|
return params;
|
|
155
162
|
}
|
|
156
163
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/AnthropicProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/AnthropicProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
@@ -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).
|
|
@@ -59,14 +66,55 @@ export function bedrock(options = {}) {
|
|
|
59
66
|
let stopReason = 'stop';
|
|
60
67
|
let usage = { input: 0, output: 0 };
|
|
61
68
|
let tokenIndex = 0;
|
|
69
|
+
// Tool-use blocks under construction, keyed by `contentBlockIndex`.
|
|
70
|
+
// Keying by index (not arrival order) is what makes PARALLEL tool
|
|
71
|
+
// calls work: Bedrock interleaves their argument fragments.
|
|
72
|
+
const toolUseByIndex = new Map();
|
|
73
|
+
const completedToolCalls = [];
|
|
62
74
|
try {
|
|
63
75
|
for await (const event of stream) {
|
|
76
|
+
// ── Block start: id + name arrive here; arguments follow as
|
|
77
|
+
// JSON string fragments on deltas at the same index. ──
|
|
78
|
+
const startIndex = event.contentBlockStart?.contentBlockIndex;
|
|
79
|
+
const startToolUse = event.contentBlockStart?.start?.toolUse;
|
|
80
|
+
if (startToolUse && typeof startIndex === 'number') {
|
|
81
|
+
toolUseByIndex.set(startIndex, {
|
|
82
|
+
id: startToolUse.toolUseId ?? '',
|
|
83
|
+
name: startToolUse.name ?? '',
|
|
84
|
+
fragments: [],
|
|
85
|
+
});
|
|
86
|
+
}
|
|
64
87
|
if (event.contentBlockDelta?.delta?.text) {
|
|
65
88
|
const text = event.contentBlockDelta.delta.text;
|
|
66
89
|
textParts.push(text);
|
|
67
90
|
yield { tokenIndex, content: text, done: false };
|
|
68
91
|
tokenIndex++;
|
|
69
92
|
}
|
|
93
|
+
// ── Argument fragment. `LLMChunk` has no tool-delta field, so
|
|
94
|
+
// these are NOT yielded as chunks (same as both Browser
|
|
95
|
+
// providers) — they surface on the terminal `response`. ──
|
|
96
|
+
const inputFragment = event.contentBlockDelta?.delta?.toolUse?.input;
|
|
97
|
+
if (typeof inputFragment === 'string') {
|
|
98
|
+
const deltaIndex = event.contentBlockDelta?.contentBlockIndex;
|
|
99
|
+
const open = typeof deltaIndex === 'number' ? toolUseByIndex.get(deltaIndex) : undefined;
|
|
100
|
+
// Bedrock sends `input: ''` fragments for no-arg tools; push
|
|
101
|
+
// them anyway — the join below collapses them to ''.
|
|
102
|
+
if (open)
|
|
103
|
+
open.fragments.push(inputFragment);
|
|
104
|
+
}
|
|
105
|
+
// ── Block complete: join the fragments and parse. ──
|
|
106
|
+
const stopIndex = event.contentBlockStop?.contentBlockIndex;
|
|
107
|
+
if (typeof stopIndex === 'number') {
|
|
108
|
+
const tu = toolUseByIndex.get(stopIndex);
|
|
109
|
+
if (tu) {
|
|
110
|
+
toolUseByIndex.delete(stopIndex);
|
|
111
|
+
completedToolCalls.push({
|
|
112
|
+
id: tu.id,
|
|
113
|
+
name: tu.name,
|
|
114
|
+
args: parseToolArgs(tu.fragments.join(''), tu.name, tu.id, stopIndex),
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
70
118
|
if (event.messageStop?.stopReason) {
|
|
71
119
|
stopReason = normalizeStopReason(event.messageStop.stopReason);
|
|
72
120
|
}
|
|
@@ -77,16 +125,16 @@ export function bedrock(options = {}) {
|
|
|
77
125
|
};
|
|
78
126
|
}
|
|
79
127
|
}
|
|
80
|
-
|
|
128
|
+
// A block still open here never received its `contentBlockStop` —
|
|
129
|
+
// truncated wire data. Emitting a half-parsed call would run a
|
|
130
|
+
// tool with incomplete arguments, so we drop it and let the
|
|
131
|
+
// honesty invariant below catch the resulting contradiction.
|
|
132
|
+
const finalResponse = ensureHonestToolUse({
|
|
81
133
|
content: textParts.join(''),
|
|
82
|
-
|
|
83
|
-
// build — the consumer falls back to `complete()` to recover
|
|
84
|
-
// the authoritative tool_use payload. Most Bedrock streams
|
|
85
|
-
// currently emit tool_use only at messageEnd anyway.
|
|
86
|
-
toolCalls: [],
|
|
134
|
+
toolCalls: completedToolCalls,
|
|
87
135
|
usage,
|
|
88
136
|
stopReason,
|
|
89
|
-
};
|
|
137
|
+
});
|
|
90
138
|
yield { tokenIndex, content: '', done: true, response: finalResponse };
|
|
91
139
|
}
|
|
92
140
|
catch (err) {
|
|
@@ -221,7 +269,7 @@ function fromBedrockResponse(response) {
|
|
|
221
269
|
}
|
|
222
270
|
}
|
|
223
271
|
}
|
|
224
|
-
return {
|
|
272
|
+
return ensureHonestToolUse({
|
|
225
273
|
content: textParts.join(''),
|
|
226
274
|
toolCalls,
|
|
227
275
|
usage: {
|
|
@@ -230,7 +278,59 @@ function fromBedrockResponse(response) {
|
|
|
230
278
|
},
|
|
231
279
|
stopReason: normalizeStopReason(response.stopReason ?? 'end_turn'),
|
|
232
280
|
providerRef: response.ResponseMetadata?.RequestId,
|
|
233
|
-
};
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Honesty invariant: a response claiming `tool_use` with zero parsed tool
|
|
285
|
+
* calls is self-contradictory — the model asked for tools and the adapter
|
|
286
|
+
* lost them. Never return it quietly; throw so a configured `reliability`
|
|
287
|
+
* rule (retry / fallback / fail-fast) can act instead of the agent
|
|
288
|
+
* silently answering without running its tools.
|
|
289
|
+
*
|
|
290
|
+
* Post-7.6.1 this cannot happen on today's wire shapes — it is a tripwire
|
|
291
|
+
* for future ConverseStream shape drift. Applied on BOTH the streaming and
|
|
292
|
+
* non-streaming exits so the two paths can never drift apart again.
|
|
293
|
+
*/
|
|
294
|
+
function ensureHonestToolUse(response) {
|
|
295
|
+
if (response.stopReason === 'tool_use' && response.toolCalls.length === 0) {
|
|
296
|
+
throw Object.assign(new Error("[bedrock] stopReason 'tool_use' with zero parsed tool calls — " +
|
|
297
|
+
'tool-use blocks were lost (stream-shape drift?). ' +
|
|
298
|
+
'Refusing to return a self-contradictory response.'), { name: 'BedrockProviderError', code: 'BEDROCK_STREAM_TOOLUSE_LOST' });
|
|
299
|
+
}
|
|
300
|
+
return response;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Parse the joined JSON fragments of one streamed tool-use block.
|
|
304
|
+
*
|
|
305
|
+
* Empty (no-arg tools stream zero fragments, or a single `''`) → `{}`.
|
|
306
|
+
* Malformed → a TYPED throw, never a silent `{}`: swallowing the failure
|
|
307
|
+
* would execute a side-effecting tool with its arguments dropped, which is
|
|
308
|
+
* the worst failure mode available. A thrown provider error reaches the
|
|
309
|
+
* `reliability` / `withRetry` machinery, and a retry usually streams clean
|
|
310
|
+
* JSON.
|
|
311
|
+
*
|
|
312
|
+
* The raw fragment bytes are deliberately NOT put in the message — tool
|
|
313
|
+
* arguments can carry user data and provider error messages land in audit
|
|
314
|
+
* logs unredacted. `rawLength` is reported instead.
|
|
315
|
+
*/
|
|
316
|
+
function parseToolArgs(joined, toolName, toolUseId, contentBlockIndex) {
|
|
317
|
+
if (joined.trim().length === 0)
|
|
318
|
+
return {};
|
|
319
|
+
try {
|
|
320
|
+
return JSON.parse(joined);
|
|
321
|
+
}
|
|
322
|
+
catch (parseErr) {
|
|
323
|
+
throw Object.assign(new Error(`[bedrock] malformed tool-use JSON for tool '${toolName}' (toolUseId ${toolUseId}): ` +
|
|
324
|
+
`${parseErr.message}. Refusing to run the tool with dropped arguments.`), {
|
|
325
|
+
name: 'BedrockProviderError',
|
|
326
|
+
code: 'BEDROCK_MALFORMED_TOOL_ARGS',
|
|
327
|
+
toolName,
|
|
328
|
+
toolUseId,
|
|
329
|
+
contentBlockIndex,
|
|
330
|
+
rawLength: joined.length,
|
|
331
|
+
cause: parseErr,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
234
334
|
}
|
|
235
335
|
function normalizeStopReason(raw) {
|
|
236
336
|
switch (raw) {
|
|
@@ -250,6 +350,10 @@ function normalizeStopReason(raw) {
|
|
|
250
350
|
}
|
|
251
351
|
}
|
|
252
352
|
function wrapError(err) {
|
|
353
|
+
// Already ours (the typed tool-use conditions above) — re-wrapping would
|
|
354
|
+
// drop `code` / `toolName` / `toolUseId` and double-prefix the message.
|
|
355
|
+
if (err instanceof Error && err.name === 'BedrockProviderError')
|
|
356
|
+
return err;
|
|
253
357
|
if (err instanceof Error) {
|
|
254
358
|
return Object.assign(new Error(`[bedrock] ${err.message}`), {
|
|
255
359
|
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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"}
|
|
@@ -28,6 +28,19 @@ export interface BrowserAnthropicProviderOptions {
|
|
|
28
28
|
readonly defaultMaxTokens?: number;
|
|
29
29
|
/** Override the API URL (proxies, edge deployments, mocks). */
|
|
30
30
|
readonly apiUrl?: string;
|
|
31
|
+
/**
|
|
32
|
+
* May the model ask for several tools at once in a single reply?
|
|
33
|
+
* Mirror of `AnthropicProviderOptions.parallelToolCalls` — see there
|
|
34
|
+
* for the full rationale.
|
|
35
|
+
*
|
|
36
|
+
* Anthropic's default is `true` (batching allowed). `false` caps the
|
|
37
|
+
* model at one tool per reply, which keeps every tool result on its
|
|
38
|
+
* own agent iteration so per-iteration analysis can attribute and
|
|
39
|
+
* ablate each source separately. `true`/omitted sends nothing.
|
|
40
|
+
*
|
|
41
|
+
* @default undefined (Anthropic's default — batching allowed)
|
|
42
|
+
*/
|
|
43
|
+
readonly parallelToolCalls?: boolean;
|
|
31
44
|
/** @internal Custom fetch implementation for tests / workers. */
|
|
32
45
|
readonly _fetch?: typeof fetch;
|
|
33
46
|
}
|
|
@@ -28,6 +28,7 @@ export function browserAnthropic(options) {
|
|
|
28
28
|
const apiUrl = options.apiUrl ?? ANTHROPIC_API_URL;
|
|
29
29
|
const defaultModel = options.defaultModel ?? 'claude-sonnet-4-5-20250929';
|
|
30
30
|
const defaultMaxTokens = options.defaultMaxTokens ?? 4096;
|
|
31
|
+
const parallelToolCalls = options.parallelToolCalls;
|
|
31
32
|
const fetchImpl = options._fetch ?? fetch;
|
|
32
33
|
const headers = {
|
|
33
34
|
'content-type': 'application/json',
|
|
@@ -39,7 +40,7 @@ export function browserAnthropic(options) {
|
|
|
39
40
|
name: 'browser-anthropic',
|
|
40
41
|
async complete(req) {
|
|
41
42
|
const body = {
|
|
42
|
-
...buildBody(req, defaultModel, defaultMaxTokens),
|
|
43
|
+
...buildBody(req, defaultModel, defaultMaxTokens, parallelToolCalls),
|
|
43
44
|
};
|
|
44
45
|
let response;
|
|
45
46
|
try {
|
|
@@ -60,7 +61,7 @@ export function browserAnthropic(options) {
|
|
|
60
61
|
},
|
|
61
62
|
async *stream(req) {
|
|
62
63
|
const body = {
|
|
63
|
-
...buildBody(req, defaultModel, defaultMaxTokens),
|
|
64
|
+
...buildBody(req, defaultModel, defaultMaxTokens, parallelToolCalls),
|
|
64
65
|
stream: true,
|
|
65
66
|
};
|
|
66
67
|
let response;
|
|
@@ -264,7 +265,7 @@ export class BrowserAnthropicProvider {
|
|
|
264
265
|
}
|
|
265
266
|
}
|
|
266
267
|
// ─── Internals ──────────────────────────────────────────────────────
|
|
267
|
-
function buildBody(req, defaultModel, defaultMaxTokens) {
|
|
268
|
+
function buildBody(req, defaultModel, defaultMaxTokens, parallelToolCalls) {
|
|
268
269
|
// v2.14 — auto-bump max_tokens when thinking would violate Anthropic's
|
|
269
270
|
// `max_tokens > thinking.budget_tokens` invariant. See the matching
|
|
270
271
|
// logic in AnthropicProvider.buildParams; identical heuristic.
|
|
@@ -289,6 +290,11 @@ function buildBody(req, defaultModel, defaultMaxTokens) {
|
|
|
289
290
|
if (req.thinking) {
|
|
290
291
|
body.thinking = { type: 'enabled', budget_tokens: req.thinking.budget };
|
|
291
292
|
}
|
|
293
|
+
// One tool per reply — same guard as the Node provider: Anthropic rejects
|
|
294
|
+
// `tool_choice` on a request that carries no tools.
|
|
295
|
+
if (parallelToolCalls === false && body.tools !== undefined && body.tools.length > 0) {
|
|
296
|
+
body.tool_choice = { type: 'auto', disable_parallel_tool_use: true };
|
|
297
|
+
}
|
|
292
298
|
// v2.6+ cache markers — applied AFTER body construction so we have
|
|
293
299
|
// the materialized fields (system / tools / messages) to mark.
|
|
294
300
|
// Markers are clamped to Anthropic's 4-marker limit by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserAnthropicProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/BrowserAnthropicProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BrowserAnthropicProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/BrowserAnthropicProvider.ts"],"names":[],"mappings":"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"}
|