@namzu/bedrock 5.1.2 → 5.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -2
- package/README.md +1 -1
- package/dist/client.d.ts +8 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +79 -12
- package/dist/client.js.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +84 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.1.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 49491b9: The drivers now report more accurately how a response ended. The runtime uses this to tell a tool call the output limit cut off from one the model wrote badly.
|
|
8
|
+
|
|
9
|
+
- `@namzu/anthropic`: a tool call whose JSON does not parse no longer fails the whole stream with "the provider stream returned malformed data". The block close and the finish reason now reach the runtime. `model_context_window_exceeded` is reported as `length`, and `refusal` as `content_filter`. Both used to read as a normal `stop`.
|
|
10
|
+
- `@namzu/bedrock`: `model_context_window_exceeded` is reported as `length`, and `guardrail_intervened` as `content_filter`. A tool call opens with the id the driver keeps, so its arguments never arrive before an id.
|
|
11
|
+
- `@namzu/http`: the OpenAI dialect maps `finish_reason` instead of passing the server's string through. `function_call` becomes `tool_calls`; `max_tokens` and `max_output_tokens` become `length`; `model_length`, `context_length`, `context_length_exceeded` and `model_context_window_exceeded` become `length` with `finishDetail: 'context_window'`; `eos`, `eos_token`, `end_turn` and `stop_sequence` become `stop`. `error` fails the stream with a `ProviderRequestError` (`kind: 'server'`), as OpenRouter's does. A value it does not know reports no finish reason at all, which the runtime reads as a response that did not say how it ended, rather than as a normal finish. The Anthropic dialect gets the Anthropic mapping above and opens a tool call with the id its arguments carry.
|
|
12
|
+
- `@namzu/openrouter`: `finish_reason` is mapped the same way. `error` (the upstream model failed mid-generation) now fails the stream with a `ProviderRequestError` (`kind: 'server'`).
|
|
13
|
+
- `@namzu/deepseek`: `insufficient_system_resource` now fails the stream with a `ProviderRequestError` (`kind: 'server'`). It used to read as a finished answer.
|
|
14
|
+
- `@namzu/openai`: Codex's `response.incomplete` is reported as `length`, or as `content_filter` when that is the stated reason, with its usage. The stream used to end with no finish reason, so auto-continuation never ran.
|
|
15
|
+
- `@namzu/anthropic`, `@namzu/bedrock` and `@namzu/http`'s Anthropic dialect: a `model_context_window_exceeded` stop also carries `finishDetail: 'context_window'`, so the runtime does not ask the model to continue a reply that filled the whole context window.
|
|
16
|
+
- `@namzu/anthropic`, `@namzu/google` and `@namzu/openai` (Codex): the list of sources a driver appends after a hosted search now carries `contentOrigin: 'driver'` on its stream chunk. The text is unchanged. Without the mark, a tool call the output limit cut off before that list would be reported as malformed.
|
|
17
|
+
|
|
18
|
+
If you branch on `finishReason`, expect `length` or `content_filter` where you saw `stop` for these cases.
|
|
19
|
+
|
|
20
|
+
- 2d4ff9a: Earlier entries in this package's CHANGELOG no longer name one particular application built on namzu, or quote a path from outside this repository. This changes only the CHANGELOG.md that ships in the tarball; no code or types change, and there is nothing to do to upgrade.
|
|
21
|
+
|
|
22
|
+
## 5.1.3
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- 3641102: Two fixes to the Converse request.
|
|
27
|
+
|
|
28
|
+
- **The message cache point ends the history.** It was placed after the last
|
|
29
|
+
message. The runtime now appends request-only context there (the
|
|
30
|
+
working-memory slot, `context` prompt contributions, step context), which
|
|
31
|
+
changes on every request, so every request wrote a cache entry no later
|
|
32
|
+
request could read. The point now sits after the last block before the first
|
|
33
|
+
request-only context message, as in the Anthropic driver.
|
|
34
|
+
- **Consecutive same-role messages are merged.** Converse requires the
|
|
35
|
+
conversation to alternate between `user` and `assistant`, and the runtime
|
|
36
|
+
sends tool results followed by request-only context — two user turns — on
|
|
37
|
+
every step after a tool call. Their content blocks are now concatenated in
|
|
38
|
+
order into one message.
|
|
39
|
+
|
|
40
|
+
No configuration changes.
|
|
41
|
+
|
|
3
42
|
## 5.1.2
|
|
4
43
|
|
|
5
44
|
### Patch Changes
|
|
@@ -646,8 +685,8 @@
|
|
|
646
685
|
The kernel now emits a per-message and per-tool-input lifecycle on the
|
|
647
686
|
event bus, and the provider contract collapses to a single streaming
|
|
648
687
|
entry point. Together these unlock live tool-call rendering (Calling →
|
|
649
|
-
Running → Done with incremental input) for SSE consumers —
|
|
650
|
-
workspace surface
|
|
688
|
+
Running → Done with incremental input) for SSE consumers — a live
|
|
689
|
+
workspace surface motivated the work in the first place.
|
|
651
690
|
|
|
652
691
|
## Breaking changes
|
|
653
692
|
|
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ for await (const chunk of provider.chatStream({
|
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
`chatStream` is the only model entry point; a non-streaming call is that
|
|
64
|
-
stream collected. In practice the kernel's
|
|
64
|
+
stream collected. In practice the kernel's turn loop calls it and hands you
|
|
65
65
|
events.
|
|
66
66
|
|
|
67
67
|
## Documentation
|
package/dist/client.d.ts
CHANGED
|
@@ -2,7 +2,14 @@ import type { Message as BedrockMessage, ConverseStreamOutput, ToolConfiguration
|
|
|
2
2
|
import type { ChatCompletionParams, LLMProvider, ModelInfo, ProviderCapabilities, StreamChunk, TokenUsage } from '@namzu/sdk';
|
|
3
3
|
import type { BedrockHealthReport } from './health.js';
|
|
4
4
|
import type { BedrockConfig } from './types.js';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The conversation in Converse's shape: roles alternating, and — when
|
|
7
|
+
* `cachePoint` is set — a cache point ending the history, before the
|
|
8
|
+
* request-only context.
|
|
9
|
+
*/
|
|
10
|
+
export declare function toBedrockMessages(messages: ChatCompletionParams['messages'], options?: {
|
|
11
|
+
cachePoint?: boolean;
|
|
12
|
+
}): BedrockMessage[];
|
|
6
13
|
export declare function toBedrockToolConfig(params: ChatCompletionParams, cachingEnabled?: boolean): ToolConfiguration | undefined;
|
|
7
14
|
/**
|
|
8
15
|
* The failure Bedrock reported as a stream EVENT rather than as a throw.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,OAAO,IAAI,cAAc,EAKzB,oBAAoB,EAGpB,iBAAiB,EAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EACX,oBAAoB,EAEpB,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,WAAW,EACX,UAAU,EAEV,MAAM,YAAY,CAAA;AASnB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,OAAO,IAAI,cAAc,EAKzB,oBAAoB,EAGpB,iBAAiB,EAEjB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EACX,oBAAoB,EAEpB,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,WAAW,EACX,UAAU,EAEV,MAAM,YAAY,CAAA;AASnB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAqH/C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,oBAAoB,CAAC,UAAU,CAAC,EAC1C,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,cAAc,EAAE,CAqElB;AA6BD,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,oBAAoB,EAC5B,cAAc,UAAQ,GACpB,iBAAiB,GAAG,SAAS,CA8D/B;AAYD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAQpE;AAED,UAAU,eAAe;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,yBAAyB,CAAC,EAAE,MAAM,CAAA;CAClC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,eAAe,GAAG,UAAU,CAmBnE;AAyBD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBASlC,CAAA;AAED,qBAAa,eAAgB,YAAW,WAAW;IAClD,QAAQ,CAAC,EAAE,aAAY;IACvB,QAAQ,CAAC,IAAI,iBAAgB;IAC7B,QAAQ,CAAC,YAAY,uBAAuB;IAE5C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,aAAa;IAoB1B,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC;IA6L3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmCxC;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAInD;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAsD/D"}
|
package/dist/client.js
CHANGED
|
@@ -46,16 +46,36 @@ function extractSystemBlocks(messages, cachingEnabled = false) {
|
|
|
46
46
|
blocks.splice(lastStatic + 1, 0, CACHE_POINT);
|
|
47
47
|
return blocks;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Request-only context the runtime appends after the conversation: a
|
|
51
|
+
* runtime-context user message of kind `step-context` (the working-memory
|
|
52
|
+
* slot, a `context` prompt contribution, `PrepareStepResult.context`). It
|
|
53
|
+
* changes from one request to the next and is never part of the history
|
|
54
|
+
* the next request repeats.
|
|
55
|
+
*
|
|
56
|
+
* The same test as the Anthropic driver's `toAnthropicMessages`. Kept local
|
|
57
|
+
* rather than imported from `@namzu/sdk`: a new SDK export would raise this
|
|
58
|
+
* package's `@namzu/sdk` peer floor, while the fields it reads have been on
|
|
59
|
+
* `Message` since before that floor.
|
|
60
|
+
*/
|
|
61
|
+
function isRequestOnlyContext(msg) {
|
|
62
|
+
return (msg.role === 'user' &&
|
|
63
|
+
msg.source?.type === 'runtime-context' &&
|
|
64
|
+
msg.source.kind === 'step-context');
|
|
65
|
+
}
|
|
49
66
|
/**
|
|
50
67
|
* The final cache point: after the last content block of the last
|
|
51
|
-
* non-empty message
|
|
68
|
+
* non-empty message BEFORE the request-only context, or of the last
|
|
69
|
+
* message when there is none.
|
|
52
70
|
*
|
|
53
71
|
* An iteration only appends messages, so caching the whole conversation
|
|
54
72
|
* prefix here is what makes the NEXT turn read its history at cache rates
|
|
55
|
-
* — which on a long run is the largest single cost lever available.
|
|
73
|
+
* — which on a long run is the largest single cost lever available. A
|
|
74
|
+
* point after the request-only context would put text the next request
|
|
75
|
+
* replaces inside the cached prefix, so every read would miss.
|
|
56
76
|
*/
|
|
57
|
-
function applyMessageCachePoint(messages) {
|
|
58
|
-
for (let i =
|
|
77
|
+
function applyMessageCachePoint(messages, cacheEnd) {
|
|
78
|
+
for (let i = cacheEnd - 1; i >= 0; i--) {
|
|
59
79
|
const content = messages[i]?.content;
|
|
60
80
|
if (content && content.length > 0) {
|
|
61
81
|
content.push(CACHE_POINT);
|
|
@@ -63,11 +83,38 @@ function applyMessageCachePoint(messages) {
|
|
|
63
83
|
}
|
|
64
84
|
}
|
|
65
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Consecutive messages of one role folded into one, content in order.
|
|
88
|
+
*
|
|
89
|
+
* Converse requires the conversation to alternate between `user` and
|
|
90
|
+
* `assistant` and rejects a request that does not. The runtime sends two
|
|
91
|
+
* user turns in a row routinely: tool results followed by request-only
|
|
92
|
+
* context, or two context messages. Concatenating their blocks keeps every
|
|
93
|
+
* block, its order, and a cache point already placed among them.
|
|
94
|
+
*/
|
|
95
|
+
function mergeConsecutiveRoles(messages) {
|
|
96
|
+
const out = [];
|
|
97
|
+
for (const msg of messages) {
|
|
98
|
+
const prev = out[out.length - 1];
|
|
99
|
+
if (prev && prev.role === msg.role) {
|
|
100
|
+
prev.content = [...(prev.content ?? []), ...(msg.content ?? [])];
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
out.push({ ...msg, content: [...(msg.content ?? [])] });
|
|
104
|
+
}
|
|
105
|
+
return out;
|
|
106
|
+
}
|
|
66
107
|
function toBedrockRole(role) {
|
|
67
108
|
return role === 'assistant' ? 'assistant' : 'user';
|
|
68
109
|
}
|
|
69
|
-
|
|
110
|
+
/**
|
|
111
|
+
* The conversation in Converse's shape: roles alternating, and — when
|
|
112
|
+
* `cachePoint` is set — a cache point ending the history, before the
|
|
113
|
+
* request-only context.
|
|
114
|
+
*/
|
|
115
|
+
export function toBedrockMessages(messages, options = {}) {
|
|
70
116
|
const out = [];
|
|
117
|
+
let cacheEnd;
|
|
71
118
|
let pendingToolResults = [];
|
|
72
119
|
const flushToolResults = () => {
|
|
73
120
|
if (pendingToolResults.length > 0) {
|
|
@@ -97,6 +144,8 @@ export function toBedrockMessages(messages) {
|
|
|
97
144
|
continue;
|
|
98
145
|
}
|
|
99
146
|
flushToolResults();
|
|
147
|
+
if (isRequestOnlyContext(msg))
|
|
148
|
+
cacheEnd ??= out.length;
|
|
100
149
|
if (msg.role === 'assistant' && 'toolCalls' in msg && msg.toolCalls) {
|
|
101
150
|
const content = [];
|
|
102
151
|
if (msg.content) {
|
|
@@ -121,7 +170,11 @@ export function toBedrockMessages(messages) {
|
|
|
121
170
|
});
|
|
122
171
|
}
|
|
123
172
|
flushToolResults();
|
|
124
|
-
|
|
173
|
+
// Placed before the merge, which may fold the context into the last
|
|
174
|
+
// history message; the point then sits between the two in one message.
|
|
175
|
+
if (options.cachePoint)
|
|
176
|
+
applyMessageCachePoint(out, cacheEnd ?? out.length);
|
|
177
|
+
return mergeConsecutiveRoles(out);
|
|
125
178
|
}
|
|
126
179
|
function messagesContainToolBlocks(messages) {
|
|
127
180
|
for (const msg of messages) {
|
|
@@ -252,9 +305,14 @@ function mapStopReason(reason) {
|
|
|
252
305
|
return 'stop';
|
|
253
306
|
case 'tool_use':
|
|
254
307
|
return 'tool_calls';
|
|
308
|
+
// Both stop the output where it stands; the second is the context
|
|
309
|
+
// window rather than `maxTokens`, and fell to 'stop', so a tool call it
|
|
310
|
+
// cut off read as one the model finished and got wrong.
|
|
255
311
|
case 'max_tokens':
|
|
312
|
+
case 'model_context_window_exceeded':
|
|
256
313
|
return 'length';
|
|
257
314
|
case 'content_filtered':
|
|
315
|
+
case 'guardrail_intervened':
|
|
258
316
|
return 'content_filter';
|
|
259
317
|
default:
|
|
260
318
|
return 'stop';
|
|
@@ -305,7 +363,8 @@ export class BedrockProvider {
|
|
|
305
363
|
assertModelReachable(params.model);
|
|
306
364
|
// The runtime asks for caching on every iteration by setting
|
|
307
365
|
// `cacheControl`. Honouring it costs three cache points — tools tail,
|
|
308
|
-
// static-system tail,
|
|
366
|
+
// static-system tail, end of the history before any request-only
|
|
367
|
+
// context — and the prompt is assembled
|
|
309
368
|
// tools → system → messages, so each later point also covers every
|
|
310
369
|
// section before it.
|
|
311
370
|
//
|
|
@@ -318,9 +377,7 @@ export class BedrockProvider {
|
|
|
318
377
|
// rather than a discount they never had.
|
|
319
378
|
const cachingEnabled = params.cacheControl !== undefined && isAnthropicServedModel(params.model);
|
|
320
379
|
const system = extractSystemBlocks(params.messages, cachingEnabled);
|
|
321
|
-
const messages = toBedrockMessages(params.messages);
|
|
322
|
-
if (cachingEnabled)
|
|
323
|
-
applyMessageCachePoint(messages);
|
|
380
|
+
const messages = toBedrockMessages(params.messages, { cachePoint: cachingEnabled });
|
|
324
381
|
const toolConfig = toBedrockToolConfig(params, cachingEnabled);
|
|
325
382
|
const inferenceConfig = {};
|
|
326
383
|
if (params.maxTokens !== undefined)
|
|
@@ -414,8 +471,9 @@ export class BedrockProvider {
|
|
|
414
471
|
const start = event.contentBlockStart.start;
|
|
415
472
|
if ('toolUse' in start && start.toolUse) {
|
|
416
473
|
const idx = event.contentBlockStart.contentBlockIndex ?? toolCallIndex;
|
|
474
|
+
const toolId = start.toolUse.toolUseId ?? `tool-${Date.now()}`;
|
|
417
475
|
activeToolCalls.set(idx, {
|
|
418
|
-
id:
|
|
476
|
+
id: toolId,
|
|
419
477
|
name: start.toolUse.name ?? '',
|
|
420
478
|
args: '',
|
|
421
479
|
});
|
|
@@ -425,7 +483,11 @@ export class BedrockProvider {
|
|
|
425
483
|
toolCalls: [
|
|
426
484
|
{
|
|
427
485
|
index: idx,
|
|
428
|
-
id
|
|
486
|
+
// The id this driver keeps is the id it announces. It
|
|
487
|
+
// announced the wire's, which is absent exactly when
|
|
488
|
+
// the fallback was made, and the call's arguments
|
|
489
|
+
// then arrived before any id at all.
|
|
490
|
+
id: toolId,
|
|
429
491
|
type: 'function',
|
|
430
492
|
function: { name: start.toolUse.name ?? '' },
|
|
431
493
|
},
|
|
@@ -442,6 +504,11 @@ export class BedrockProvider {
|
|
|
442
504
|
id: requestId,
|
|
443
505
|
delta: {},
|
|
444
506
|
finishReason: mapStopReason(event.messageStop.stopReason),
|
|
507
|
+
// The context window rather than `maxTokens`: the turn loop does
|
|
508
|
+
// not continue a reply that filled it.
|
|
509
|
+
...(event.messageStop.stopReason === 'model_context_window_exceeded'
|
|
510
|
+
? { finishDetail: 'context_window' }
|
|
511
|
+
: {}),
|
|
445
512
|
};
|
|
446
513
|
}
|
|
447
514
|
if ('metadata' in event && event.metadata?.usage) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@namzu/bedrock",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.4",
|
|
4
4
|
"description": "AWS Bedrock LLM provider for @namzu/sdk. Provides Converse API (chat + streaming) with full tool-use support.",
|
|
5
5
|
"license": "FSL-1.1-MIT",
|
|
6
6
|
"engines": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"@types/node": "^22.19.17",
|
|
58
58
|
"typescript": "^5.5.0",
|
|
59
59
|
"vitest": "^4.1.11",
|
|
60
|
-
"@namzu/sdk": "^
|
|
60
|
+
"@namzu/sdk": "^48.0.0"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "tsc --build",
|
package/src/client.ts
CHANGED
|
@@ -82,16 +82,39 @@ function extractSystemBlocks(
|
|
|
82
82
|
return blocks
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Request-only context the runtime appends after the conversation: a
|
|
87
|
+
* runtime-context user message of kind `step-context` (the working-memory
|
|
88
|
+
* slot, a `context` prompt contribution, `PrepareStepResult.context`). It
|
|
89
|
+
* changes from one request to the next and is never part of the history
|
|
90
|
+
* the next request repeats.
|
|
91
|
+
*
|
|
92
|
+
* The same test as the Anthropic driver's `toAnthropicMessages`. Kept local
|
|
93
|
+
* rather than imported from `@namzu/sdk`: a new SDK export would raise this
|
|
94
|
+
* package's `@namzu/sdk` peer floor, while the fields it reads have been on
|
|
95
|
+
* `Message` since before that floor.
|
|
96
|
+
*/
|
|
97
|
+
function isRequestOnlyContext(msg: ChatCompletionParams['messages'][number]): boolean {
|
|
98
|
+
return (
|
|
99
|
+
msg.role === 'user' &&
|
|
100
|
+
msg.source?.type === 'runtime-context' &&
|
|
101
|
+
msg.source.kind === 'step-context'
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
|
|
85
105
|
/**
|
|
86
106
|
* The final cache point: after the last content block of the last
|
|
87
|
-
* non-empty message
|
|
107
|
+
* non-empty message BEFORE the request-only context, or of the last
|
|
108
|
+
* message when there is none.
|
|
88
109
|
*
|
|
89
110
|
* An iteration only appends messages, so caching the whole conversation
|
|
90
111
|
* prefix here is what makes the NEXT turn read its history at cache rates
|
|
91
|
-
* — which on a long run is the largest single cost lever available.
|
|
112
|
+
* — which on a long run is the largest single cost lever available. A
|
|
113
|
+
* point after the request-only context would put text the next request
|
|
114
|
+
* replaces inside the cached prefix, so every read would miss.
|
|
92
115
|
*/
|
|
93
|
-
function applyMessageCachePoint(messages: BedrockMessage[]): void {
|
|
94
|
-
for (let i =
|
|
116
|
+
function applyMessageCachePoint(messages: BedrockMessage[], cacheEnd: number): void {
|
|
117
|
+
for (let i = cacheEnd - 1; i >= 0; i--) {
|
|
95
118
|
const content = messages[i]?.content
|
|
96
119
|
if (content && content.length > 0) {
|
|
97
120
|
content.push(CACHE_POINT)
|
|
@@ -100,12 +123,43 @@ function applyMessageCachePoint(messages: BedrockMessage[]): void {
|
|
|
100
123
|
}
|
|
101
124
|
}
|
|
102
125
|
|
|
126
|
+
/**
|
|
127
|
+
* Consecutive messages of one role folded into one, content in order.
|
|
128
|
+
*
|
|
129
|
+
* Converse requires the conversation to alternate between `user` and
|
|
130
|
+
* `assistant` and rejects a request that does not. The runtime sends two
|
|
131
|
+
* user turns in a row routinely: tool results followed by request-only
|
|
132
|
+
* context, or two context messages. Concatenating their blocks keeps every
|
|
133
|
+
* block, its order, and a cache point already placed among them.
|
|
134
|
+
*/
|
|
135
|
+
function mergeConsecutiveRoles(messages: BedrockMessage[]): BedrockMessage[] {
|
|
136
|
+
const out: BedrockMessage[] = []
|
|
137
|
+
for (const msg of messages) {
|
|
138
|
+
const prev = out[out.length - 1]
|
|
139
|
+
if (prev && prev.role === msg.role) {
|
|
140
|
+
prev.content = [...(prev.content ?? []), ...(msg.content ?? [])]
|
|
141
|
+
continue
|
|
142
|
+
}
|
|
143
|
+
out.push({ ...msg, content: [...(msg.content ?? [])] })
|
|
144
|
+
}
|
|
145
|
+
return out
|
|
146
|
+
}
|
|
147
|
+
|
|
103
148
|
function toBedrockRole(role: string): ConversationRole {
|
|
104
149
|
return role === 'assistant' ? 'assistant' : 'user'
|
|
105
150
|
}
|
|
106
151
|
|
|
107
|
-
|
|
152
|
+
/**
|
|
153
|
+
* The conversation in Converse's shape: roles alternating, and — when
|
|
154
|
+
* `cachePoint` is set — a cache point ending the history, before the
|
|
155
|
+
* request-only context.
|
|
156
|
+
*/
|
|
157
|
+
export function toBedrockMessages(
|
|
158
|
+
messages: ChatCompletionParams['messages'],
|
|
159
|
+
options: { cachePoint?: boolean } = {},
|
|
160
|
+
): BedrockMessage[] {
|
|
108
161
|
const out: BedrockMessage[] = []
|
|
162
|
+
let cacheEnd: number | undefined
|
|
109
163
|
|
|
110
164
|
let pendingToolResults: ContentBlock[] = []
|
|
111
165
|
|
|
@@ -139,6 +193,7 @@ export function toBedrockMessages(messages: ChatCompletionParams['messages']): B
|
|
|
139
193
|
}
|
|
140
194
|
|
|
141
195
|
flushToolResults()
|
|
196
|
+
if (isRequestOnlyContext(msg)) cacheEnd ??= out.length
|
|
142
197
|
|
|
143
198
|
if (msg.role === 'assistant' && 'toolCalls' in msg && msg.toolCalls) {
|
|
144
199
|
const content: ContentBlock[] = []
|
|
@@ -167,7 +222,10 @@ export function toBedrockMessages(messages: ChatCompletionParams['messages']): B
|
|
|
167
222
|
|
|
168
223
|
flushToolResults()
|
|
169
224
|
|
|
170
|
-
|
|
225
|
+
// Placed before the merge, which may fold the context into the last
|
|
226
|
+
// history message; the point then sits between the two in one message.
|
|
227
|
+
if (options.cachePoint) applyMessageCachePoint(out, cacheEnd ?? out.length)
|
|
228
|
+
return mergeConsecutiveRoles(out)
|
|
171
229
|
}
|
|
172
230
|
|
|
173
231
|
function messagesContainToolBlocks(messages: ChatCompletionParams['messages']): boolean {
|
|
@@ -331,9 +389,14 @@ function mapStopReason(reason?: string): NamzuFinishReason {
|
|
|
331
389
|
return 'stop'
|
|
332
390
|
case 'tool_use':
|
|
333
391
|
return 'tool_calls'
|
|
392
|
+
// Both stop the output where it stands; the second is the context
|
|
393
|
+
// window rather than `maxTokens`, and fell to 'stop', so a tool call it
|
|
394
|
+
// cut off read as one the model finished and got wrong.
|
|
334
395
|
case 'max_tokens':
|
|
396
|
+
case 'model_context_window_exceeded':
|
|
335
397
|
return 'length'
|
|
336
398
|
case 'content_filtered':
|
|
399
|
+
case 'guardrail_intervened':
|
|
337
400
|
return 'content_filter'
|
|
338
401
|
default:
|
|
339
402
|
return 'stop'
|
|
@@ -394,7 +457,8 @@ export class BedrockProvider implements LLMProvider {
|
|
|
394
457
|
|
|
395
458
|
// The runtime asks for caching on every iteration by setting
|
|
396
459
|
// `cacheControl`. Honouring it costs three cache points — tools tail,
|
|
397
|
-
// static-system tail,
|
|
460
|
+
// static-system tail, end of the history before any request-only
|
|
461
|
+
// context — and the prompt is assembled
|
|
398
462
|
// tools → system → messages, so each later point also covers every
|
|
399
463
|
// section before it.
|
|
400
464
|
//
|
|
@@ -408,8 +472,7 @@ export class BedrockProvider implements LLMProvider {
|
|
|
408
472
|
const cachingEnabled = params.cacheControl !== undefined && isAnthropicServedModel(params.model)
|
|
409
473
|
|
|
410
474
|
const system = extractSystemBlocks(params.messages, cachingEnabled)
|
|
411
|
-
const messages = toBedrockMessages(params.messages)
|
|
412
|
-
if (cachingEnabled) applyMessageCachePoint(messages)
|
|
475
|
+
const messages = toBedrockMessages(params.messages, { cachePoint: cachingEnabled })
|
|
413
476
|
const toolConfig = toBedrockToolConfig(params, cachingEnabled)
|
|
414
477
|
|
|
415
478
|
const inferenceConfig: Record<string, unknown> = {}
|
|
@@ -507,8 +570,9 @@ export class BedrockProvider implements LLMProvider {
|
|
|
507
570
|
const start = event.contentBlockStart.start
|
|
508
571
|
if ('toolUse' in start && start.toolUse) {
|
|
509
572
|
const idx = event.contentBlockStart.contentBlockIndex ?? toolCallIndex
|
|
573
|
+
const toolId = start.toolUse.toolUseId ?? `tool-${Date.now()}`
|
|
510
574
|
activeToolCalls.set(idx, {
|
|
511
|
-
id:
|
|
575
|
+
id: toolId,
|
|
512
576
|
name: start.toolUse.name ?? '',
|
|
513
577
|
args: '',
|
|
514
578
|
})
|
|
@@ -518,7 +582,11 @@ export class BedrockProvider implements LLMProvider {
|
|
|
518
582
|
toolCalls: [
|
|
519
583
|
{
|
|
520
584
|
index: idx,
|
|
521
|
-
id
|
|
585
|
+
// The id this driver keeps is the id it announces. It
|
|
586
|
+
// announced the wire's, which is absent exactly when
|
|
587
|
+
// the fallback was made, and the call's arguments
|
|
588
|
+
// then arrived before any id at all.
|
|
589
|
+
id: toolId,
|
|
522
590
|
type: 'function',
|
|
523
591
|
function: { name: start.toolUse.name ?? '' },
|
|
524
592
|
},
|
|
@@ -537,6 +605,11 @@ export class BedrockProvider implements LLMProvider {
|
|
|
537
605
|
id: requestId,
|
|
538
606
|
delta: {},
|
|
539
607
|
finishReason: mapStopReason(event.messageStop.stopReason),
|
|
608
|
+
// The context window rather than `maxTokens`: the turn loop does
|
|
609
|
+
// not continue a reply that filled it.
|
|
610
|
+
...(event.messageStop.stopReason === 'model_context_window_exceeded'
|
|
611
|
+
? { finishDetail: 'context_window' as const }
|
|
612
|
+
: {}),
|
|
540
613
|
}
|
|
541
614
|
}
|
|
542
615
|
|