@strands-agents/sdk 0.2.1 → 0.3.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.
Files changed (87) hide show
  1. package/dist/src/__fixtures__/mock-hook-provider.d.ts.map +1 -1
  2. package/dist/src/__fixtures__/mock-hook-provider.js +2 -1
  3. package/dist/src/__fixtures__/mock-hook-provider.js.map +1 -1
  4. package/dist/src/__tests__/errors.test.js +33 -1
  5. package/dist/src/__tests__/errors.test.js.map +1 -1
  6. package/dist/src/agent/__tests__/agent.hook.test.js +25 -23
  7. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  8. package/dist/src/agent/agent.d.ts.map +1 -1
  9. package/dist/src/agent/agent.js +2 -1
  10. package/dist/src/agent/agent.js.map +1 -1
  11. package/dist/src/errors.d.ts +16 -0
  12. package/dist/src/errors.d.ts.map +1 -1
  13. package/dist/src/errors.js +19 -0
  14. package/dist/src/errors.js.map +1 -1
  15. package/dist/src/hooks/__tests__/events.test.js +18 -1
  16. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  17. package/dist/src/hooks/events.d.ts +11 -0
  18. package/dist/src/hooks/events.d.ts.map +1 -1
  19. package/dist/src/hooks/events.js +12 -0
  20. package/dist/src/hooks/events.js.map +1 -1
  21. package/dist/src/hooks/index.d.ts +1 -1
  22. package/dist/src/hooks/index.d.ts.map +1 -1
  23. package/dist/src/hooks/index.js +1 -1
  24. package/dist/src/hooks/index.js.map +1 -1
  25. package/dist/src/index.d.ts +2 -2
  26. package/dist/src/index.d.ts.map +1 -1
  27. package/dist/src/index.js +2 -2
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/models/__tests__/anthropic.test.d.ts +2 -0
  30. package/dist/src/models/__tests__/anthropic.test.d.ts.map +1 -0
  31. package/dist/src/models/__tests__/anthropic.test.js +481 -0
  32. package/dist/src/models/__tests__/anthropic.test.js.map +1 -0
  33. package/dist/src/models/__tests__/bedrock.test.js +86 -1
  34. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  35. package/dist/src/models/__tests__/gemini.test.js +599 -62
  36. package/dist/src/models/__tests__/gemini.test.js.map +1 -1
  37. package/dist/src/models/__tests__/openai.test.js +104 -1
  38. package/dist/src/models/__tests__/openai.test.js.map +1 -1
  39. package/dist/src/models/anthropic.d.ts +28 -0
  40. package/dist/src/models/anthropic.d.ts.map +1 -0
  41. package/dist/src/models/anthropic.js +419 -0
  42. package/dist/src/models/anthropic.js.map +1 -0
  43. package/dist/src/models/bedrock.d.ts +6 -0
  44. package/dist/src/models/bedrock.d.ts.map +1 -1
  45. package/dist/src/models/bedrock.js +31 -4
  46. package/dist/src/models/bedrock.js.map +1 -1
  47. package/dist/src/models/gemini/adapters.d.ts +2 -1
  48. package/dist/src/models/gemini/adapters.d.ts.map +1 -1
  49. package/dist/src/models/gemini/adapters.js +259 -14
  50. package/dist/src/models/gemini/adapters.js.map +1 -1
  51. package/dist/src/models/gemini/model.d.ts.map +1 -1
  52. package/dist/src/models/gemini/model.js +38 -1
  53. package/dist/src/models/gemini/model.js.map +1 -1
  54. package/dist/src/models/gemini/types.d.ts +10 -1
  55. package/dist/src/models/gemini/types.d.ts.map +1 -1
  56. package/dist/src/models/model.d.ts.map +1 -1
  57. package/dist/src/models/model.js +4 -0
  58. package/dist/src/models/model.js.map +1 -1
  59. package/dist/src/models/openai.d.ts.map +1 -1
  60. package/dist/src/models/openai.js +20 -3
  61. package/dist/src/models/openai.js.map +1 -1
  62. package/dist/src/models/streaming.d.ts +5 -0
  63. package/dist/src/models/streaming.d.ts.map +1 -1
  64. package/dist/src/tsconfig.tsbuildinfo +1 -1
  65. package/dist/src/types/media.d.ts +1 -1
  66. package/dist/src/types/media.d.ts.map +1 -1
  67. package/dist/src/types/media.js +18 -4
  68. package/dist/src/types/media.js.map +1 -1
  69. package/dist/src/types/messages.d.ts +10 -0
  70. package/dist/src/types/messages.d.ts.map +1 -1
  71. package/dist/src/types/messages.js +8 -0
  72. package/dist/src/types/messages.js.map +1 -1
  73. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts +2 -0
  74. package/dist/src/vended-tools/bash/__tests__/bash.test.node.d.ts.map +1 -0
  75. package/dist/src/vended-tools/bash/__tests__/{bash.test.js → bash.test.node.js} +3 -4
  76. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -0
  77. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts +2 -0
  78. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.d.ts.map +1 -0
  79. package/dist/src/vended-tools/file_editor/__tests__/{file-editor.test.js → file-editor.test.node.js} +1 -1
  80. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.node.js.map +1 -0
  81. package/package.json +11 -2
  82. package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts +0 -2
  83. package/dist/src/vended-tools/bash/__tests__/bash.test.d.ts.map +0 -1
  84. package/dist/src/vended-tools/bash/__tests__/bash.test.js.map +0 -1
  85. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts +0 -2
  86. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.d.ts.map +0 -1
  87. package/dist/src/vended-tools/file_editor/__tests__/file-editor.test.js.map +0 -1
@@ -0,0 +1,419 @@
1
+ import Anthropic, {} from '@anthropic-ai/sdk';
2
+ import { Model } from '../models/model.js';
3
+ import { ContextWindowOverflowError, ModelThrottledError, normalizeError } from '../errors.js';
4
+ import { encodeBase64 } from '../types/media.js';
5
+ import { logger } from '../logging/logger.js';
6
+ const DEFAULT_ANTHROPIC_MODEL_ID = 'claude-sonnet-4-5-20250929';
7
+ const CONTEXT_WINDOW_OVERFLOW_ERRORS = ['prompt is too long', 'max_tokens exceeded', 'input too long'];
8
+ const TEXT_FILE_FORMATS = ['txt', 'md', 'markdown', 'csv', 'json', 'xml', 'html', 'yml', 'yaml', 'js', 'ts', 'py'];
9
+ export class AnthropicModel extends Model {
10
+ _config;
11
+ _client;
12
+ constructor(options) {
13
+ super();
14
+ const { apiKey, client, clientConfig, ...modelConfig } = options || {};
15
+ this._config = {
16
+ modelId: DEFAULT_ANTHROPIC_MODEL_ID,
17
+ maxTokens: 4096,
18
+ ...modelConfig,
19
+ };
20
+ if (client) {
21
+ this._client = client;
22
+ }
23
+ else {
24
+ const hasEnvKey = typeof process !== 'undefined' && typeof process.env !== 'undefined' && process.env.ANTHROPIC_API_KEY;
25
+ if (!apiKey && !hasEnvKey) {
26
+ throw new Error("Anthropic API key is required. Provide it via the 'apiKey' option or set the ANTHROPIC_API_KEY environment variable.");
27
+ }
28
+ this._client = new Anthropic({
29
+ ...(apiKey ? { apiKey } : {}),
30
+ ...clientConfig,
31
+ defaultHeaders: {
32
+ ...clientConfig?.defaultHeaders,
33
+ 'anthropic-beta': 'pdfs-2024-09-25,prompt-caching-2024-07-31',
34
+ },
35
+ });
36
+ }
37
+ }
38
+ updateConfig(modelConfig) {
39
+ this._config = { ...this._config, ...modelConfig };
40
+ }
41
+ getConfig() {
42
+ return this._config;
43
+ }
44
+ async *stream(messages, options) {
45
+ try {
46
+ const request = this._formatRequest(messages, options);
47
+ const stream = this._client.messages.stream(request);
48
+ const usage = { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
49
+ let stopReason = 'endTurn';
50
+ for await (const event of stream) {
51
+ switch (event.type) {
52
+ case 'message_start': {
53
+ usage.inputTokens = event.message.usage.input_tokens;
54
+ const rawUsage = event.message.usage;
55
+ if (rawUsage.cache_creation_input_tokens !== undefined) {
56
+ usage.cacheWriteInputTokens = rawUsage.cache_creation_input_tokens;
57
+ }
58
+ if (rawUsage.cache_read_input_tokens !== undefined) {
59
+ usage.cacheReadInputTokens = rawUsage.cache_read_input_tokens;
60
+ }
61
+ yield {
62
+ type: 'modelMessageStartEvent',
63
+ role: event.message.role,
64
+ };
65
+ break;
66
+ }
67
+ case 'content_block_start':
68
+ if (event.content_block.type === 'tool_use') {
69
+ yield {
70
+ type: 'modelContentBlockStartEvent',
71
+ start: {
72
+ type: 'toolUseStart',
73
+ name: event.content_block.name,
74
+ toolUseId: event.content_block.id,
75
+ },
76
+ };
77
+ }
78
+ else if (event.content_block.type === 'thinking') {
79
+ yield { type: 'modelContentBlockStartEvent' };
80
+ if (event.content_block.thinking) {
81
+ yield {
82
+ type: 'modelContentBlockDeltaEvent',
83
+ delta: {
84
+ type: 'reasoningContentDelta',
85
+ text: event.content_block.thinking,
86
+ signature: event.content_block.signature,
87
+ },
88
+ };
89
+ }
90
+ }
91
+ else if (event.content_block.type === 'redacted_thinking') {
92
+ yield { type: 'modelContentBlockStartEvent' };
93
+ yield {
94
+ type: 'modelContentBlockDeltaEvent',
95
+ delta: {
96
+ type: 'reasoningContentDelta',
97
+ redactedContent: event.content_block.data,
98
+ },
99
+ };
100
+ }
101
+ else {
102
+ yield { type: 'modelContentBlockStartEvent' };
103
+ if (event.content_block.type === 'text' && event.content_block.text) {
104
+ yield {
105
+ type: 'modelContentBlockDeltaEvent',
106
+ delta: { type: 'textDelta', text: event.content_block.text },
107
+ };
108
+ }
109
+ }
110
+ break;
111
+ case 'content_block_delta':
112
+ if (event.delta.type === 'text_delta') {
113
+ yield {
114
+ type: 'modelContentBlockDeltaEvent',
115
+ delta: { type: 'textDelta', text: event.delta.text },
116
+ };
117
+ }
118
+ else if (event.delta.type === 'input_json_delta') {
119
+ yield {
120
+ type: 'modelContentBlockDeltaEvent',
121
+ delta: { type: 'toolUseInputDelta', input: event.delta.partial_json },
122
+ };
123
+ }
124
+ else if (event.delta.type === 'thinking_delta') {
125
+ yield {
126
+ type: 'modelContentBlockDeltaEvent',
127
+ delta: { type: 'reasoningContentDelta', text: event.delta.thinking },
128
+ };
129
+ }
130
+ else if (event.delta.type === 'signature_delta') {
131
+ yield {
132
+ type: 'modelContentBlockDeltaEvent',
133
+ delta: { type: 'reasoningContentDelta', signature: event.delta.signature },
134
+ };
135
+ }
136
+ break;
137
+ case 'content_block_stop':
138
+ yield { type: 'modelContentBlockStopEvent' };
139
+ break;
140
+ case 'message_delta':
141
+ if (event.usage) {
142
+ usage.outputTokens = event.usage.output_tokens;
143
+ }
144
+ if (event.delta.stop_reason) {
145
+ stopReason = this._mapStopReason(event.delta.stop_reason);
146
+ }
147
+ break;
148
+ case 'message_stop':
149
+ usage.totalTokens = usage.inputTokens + usage.outputTokens;
150
+ yield {
151
+ type: 'modelMetadataEvent',
152
+ usage,
153
+ };
154
+ yield {
155
+ type: 'modelMessageStopEvent',
156
+ stopReason,
157
+ };
158
+ break;
159
+ }
160
+ }
161
+ }
162
+ catch (unknownError) {
163
+ const error = normalizeError(unknownError);
164
+ if (CONTEXT_WINDOW_OVERFLOW_ERRORS.some((msg) => error.message.includes(msg))) {
165
+ throw new ContextWindowOverflowError(error.message);
166
+ }
167
+ const err = unknownError;
168
+ if (err.status === 429) {
169
+ const message = error.message ?? 'Request was throttled by the model provider';
170
+ logger.debug(`throttled | error_message=<${message}>`);
171
+ throw new ModelThrottledError(message, { cause: err });
172
+ }
173
+ throw error;
174
+ }
175
+ }
176
+ _formatRequest(messages, options) {
177
+ if (!this._config.modelId)
178
+ throw new Error('Model ID is required');
179
+ // Set max_tokens based on model: Haiku 3 supports 4096, others support up to 32k
180
+ const maxTokens = this._config.maxTokens ?? (this._config.modelId.includes('haiku-3') ? 4096 : 32768);
181
+ const request = {
182
+ model: this._config.modelId,
183
+ max_tokens: maxTokens,
184
+ messages: this._formatMessages(messages),
185
+ stream: true,
186
+ };
187
+ if (options?.systemPrompt) {
188
+ if (typeof options.systemPrompt === 'string') {
189
+ request.system = options.systemPrompt;
190
+ }
191
+ else if (Array.isArray(options.systemPrompt)) {
192
+ const systemBlocks = [];
193
+ for (let i = 0; i < options.systemPrompt.length; i++) {
194
+ const block = options.systemPrompt[i];
195
+ if (!block)
196
+ continue;
197
+ if (block.type === 'textBlock') {
198
+ const nextBlock = options.systemPrompt[i + 1];
199
+ const cacheControl = nextBlock?.type === 'cachePointBlock' ? { type: 'ephemeral' } : undefined;
200
+ systemBlocks.push({
201
+ type: 'text',
202
+ text: block.text,
203
+ ...(cacheControl && { cache_control: cacheControl }),
204
+ });
205
+ if (cacheControl)
206
+ i++;
207
+ }
208
+ else if (block.type === 'guardContentBlock') {
209
+ logger.warn('guardContentBlock is not supported in Anthropic system prompt');
210
+ }
211
+ }
212
+ if (systemBlocks.length > 0)
213
+ request.system = systemBlocks;
214
+ }
215
+ }
216
+ if (options?.toolSpecs?.length) {
217
+ request.tools = options.toolSpecs.map((tool) => ({
218
+ name: tool.name,
219
+ description: tool.description,
220
+ input_schema: tool.inputSchema,
221
+ }));
222
+ if (options.toolChoice) {
223
+ if ('auto' in options.toolChoice) {
224
+ request.tool_choice = { type: 'auto' };
225
+ }
226
+ else if ('any' in options.toolChoice) {
227
+ request.tool_choice = { type: 'any' };
228
+ }
229
+ else if ('tool' in options.toolChoice) {
230
+ request.tool_choice = { type: 'tool', name: options.toolChoice.tool.name };
231
+ }
232
+ }
233
+ }
234
+ if (this._config.temperature !== undefined)
235
+ request.temperature = this._config.temperature;
236
+ if (this._config.topP !== undefined)
237
+ request.top_p = this._config.topP;
238
+ if (this._config.stopSequences !== undefined)
239
+ request.stop_sequences = this._config.stopSequences;
240
+ if (this._config.params)
241
+ Object.assign(request, this._config.params);
242
+ return request;
243
+ }
244
+ _formatMessages(messages) {
245
+ return messages.map((msg) => {
246
+ const role = msg.role === 'tool' ? 'user' : msg.role;
247
+ const content = [];
248
+ for (let i = 0; i < msg.content.length; i++) {
249
+ const block = msg.content[i];
250
+ if (!block)
251
+ continue;
252
+ const nextBlock = msg.content[i + 1];
253
+ const hasCachePoint = nextBlock?.type === 'cachePointBlock';
254
+ const formattedBlock = this._formatContentBlock(block);
255
+ if (formattedBlock) {
256
+ if (hasCachePoint && this._isCacheableBlock(formattedBlock)) {
257
+ formattedBlock.cache_control = { type: 'ephemeral' };
258
+ i++;
259
+ }
260
+ content.push(formattedBlock);
261
+ }
262
+ }
263
+ return {
264
+ role: role,
265
+ content,
266
+ };
267
+ });
268
+ }
269
+ _isCacheableBlock(block) {
270
+ return ['text', 'image', 'tool_use', 'tool_result', 'document'].includes(block.type);
271
+ }
272
+ _formatContentBlock(block) {
273
+ switch (block.type) {
274
+ case 'textBlock':
275
+ return { type: 'text', text: block.text };
276
+ case 'imageBlock': {
277
+ const imgBlock = block;
278
+ let mediaType;
279
+ switch (imgBlock.format) {
280
+ case 'jpeg':
281
+ case 'jpg':
282
+ mediaType = 'image/jpeg';
283
+ break;
284
+ case 'png':
285
+ mediaType = 'image/png';
286
+ break;
287
+ case 'gif':
288
+ mediaType = 'image/gif';
289
+ break;
290
+ case 'webp':
291
+ mediaType = 'image/webp';
292
+ break;
293
+ default:
294
+ throw new Error(`Unsupported image format for Anthropic: ${imgBlock.format}`);
295
+ }
296
+ if (imgBlock.source.type === 'imageSourceBytes') {
297
+ return {
298
+ type: 'image',
299
+ source: {
300
+ type: 'base64',
301
+ media_type: mediaType,
302
+ data: encodeBase64(imgBlock.source.bytes),
303
+ },
304
+ };
305
+ }
306
+ logger.warn('Anthropic provider requires image bytes. URLs not fully supported.');
307
+ return undefined;
308
+ }
309
+ case 'documentBlock': {
310
+ const docBlock = block;
311
+ if (docBlock.format === 'pdf' && docBlock.source.type === 'documentSourceBytes') {
312
+ return {
313
+ type: 'document',
314
+ source: {
315
+ type: 'base64',
316
+ media_type: 'application/pdf',
317
+ data: encodeBase64(docBlock.source.bytes),
318
+ },
319
+ };
320
+ }
321
+ if (TEXT_FILE_FORMATS.includes(docBlock.format)) {
322
+ let textContent;
323
+ if (docBlock.source.type === 'documentSourceText') {
324
+ textContent = docBlock.source.text;
325
+ }
326
+ else if (docBlock.source.type === 'documentSourceBytes') {
327
+ if (typeof TextDecoder !== 'undefined') {
328
+ textContent = new TextDecoder().decode(docBlock.source.bytes);
329
+ }
330
+ else {
331
+ logger.warn(`Cannot decode bytes for ${docBlock.format} document: TextDecoder missing.`);
332
+ }
333
+ }
334
+ if (textContent) {
335
+ return {
336
+ type: 'text',
337
+ text: textContent,
338
+ };
339
+ }
340
+ }
341
+ logger.warn(`Unsupported document format or source for Anthropic: ${docBlock.format}`);
342
+ return undefined;
343
+ }
344
+ case 'toolUseBlock':
345
+ return {
346
+ type: 'tool_use',
347
+ id: block.toolUseId,
348
+ name: block.name,
349
+ input: block.input,
350
+ };
351
+ case 'toolResultBlock': {
352
+ const innerContent = block.content
353
+ .map((c) => {
354
+ if (c.type === 'textBlock')
355
+ return { type: 'text', text: c.text };
356
+ if (c.type === 'jsonBlock')
357
+ return { type: 'text', text: JSON.stringify(c.json) };
358
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
359
+ if (c.type === 'imageBlock') {
360
+ const img = this._formatContentBlock(c);
361
+ if (img && img.type === 'image')
362
+ return img;
363
+ }
364
+ return undefined;
365
+ })
366
+ .filter((c) => !!c);
367
+ let contentVal;
368
+ const firstItem = innerContent[0];
369
+ if (innerContent.length === 1 && firstItem && firstItem.type === 'text') {
370
+ contentVal = firstItem.text;
371
+ }
372
+ else {
373
+ contentVal = innerContent;
374
+ }
375
+ return {
376
+ type: 'tool_result',
377
+ tool_use_id: block.toolUseId,
378
+ content: contentVal,
379
+ is_error: block.status === 'error',
380
+ };
381
+ }
382
+ case 'reasoningBlock':
383
+ if (block.text && block.signature) {
384
+ return {
385
+ type: 'thinking',
386
+ thinking: block.text,
387
+ signature: block.signature,
388
+ };
389
+ }
390
+ else if (block.redactedContent) {
391
+ return {
392
+ type: 'redacted_thinking',
393
+ data: block.redactedContent,
394
+ };
395
+ }
396
+ return undefined;
397
+ case 'cachePointBlock':
398
+ return undefined;
399
+ default:
400
+ return undefined;
401
+ }
402
+ }
403
+ _mapStopReason(anthropicReason) {
404
+ switch (anthropicReason) {
405
+ case 'end_turn':
406
+ return 'endTurn';
407
+ case 'max_tokens':
408
+ return 'maxTokens';
409
+ case 'stop_sequence':
410
+ return 'stopSequence';
411
+ case 'tool_use':
412
+ return 'toolUse';
413
+ default:
414
+ logger.warn(`Unknown stop reason: ${anthropicReason}`);
415
+ return anthropicReason;
416
+ }
417
+ }
418
+ }
419
+ //# sourceMappingURL=anthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/models/anthropic.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,12 @@ export interface BedrockModelOptions extends BedrockModelConfig {
102
102
  * Configuration for the Bedrock Runtime client.
103
103
  */
104
104
  clientConfig?: BedrockRuntimeClientConfig;
105
+ /**
106
+ * Amazon Bedrock API key for bearer token authentication.
107
+ * When provided, requests use the API key instead of SigV4 signing.
108
+ * @see https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html
109
+ */
110
+ apiKey?: string;
105
111
  }
106
112
  /**
107
113
  * AWS Bedrock model provider implementation.
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/models/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,KAAK,0BAA0B,EA0BhC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACpF,OAAO,KAAK,EAAgB,OAAO,EAA4B,MAAM,sBAAsB,CAAA;AAE3F,OAAO,KAAK,EAAE,gBAAgB,EAAgC,MAAM,wBAAwB,CAAA;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAsDjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,uBAAuB,CAAC,EAAE,SAAS,CAAA;IAEnC;;OAEG;IACH,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvC;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAA;IAE1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,0BAA0B,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACzD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAsB;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;gBACS,OAAO,CAAC,EAAE,mBAAmB;IA2BzC;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAInD;;;;;;;;;;OAUG;IACH,SAAS,IAAI,kBAAkB;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACI,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAsC5F;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAsFtB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;;;;;OASG;IACH,OAAO,CAAC,8BAA8B;IAiBtC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA8G3B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAmC7B,OAAO,CAAC,0BAA0B;IAiGlC;;;;;OAKG;IACH,OAAO,CAAC,kCAAkC;IA+J1C;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;CA6B7B"}
1
+ {"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../../src/models/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,KAAK,0BAA0B,EA0BhC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACpF,OAAO,KAAK,EAAgB,OAAO,EAA4B,MAAM,sBAAsB,CAAA;AAE3F,OAAO,KAAK,EAAE,gBAAgB,EAAgC,MAAM,wBAAwB,CAAA;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAsDjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,uBAAuB,CAAC,EAAE,SAAS,CAAA;IAEnC;;OAEG;IACH,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvC;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAA;IAE1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,0BAA0B,CAAA;IAEzC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,kBAAkB,CAAC;IACzD,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAsB;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;gBACS,OAAO,CAAC,EAAE,mBAAmB;IA+BzC;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAInD;;;;;;;;;;OAUG;IACH,SAAS,IAAI,kBAAkB;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACI,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAsC5F;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAsFtB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;;;;;OASG;IACH,OAAO,CAAC,8BAA8B;IAiBtC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IA8G3B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAmC7B,OAAO,CAAC,0BAA0B;IAiGlC;;;;;OAKG;IACH,OAAO,CAAC,kCAAkC;IAmK1C;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;CA6B7B"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { BedrockRuntimeClient, ConverseCommand, ConverseStreamCommand, DocumentFormat, ImageFormat, } from '@aws-sdk/client-bedrock-runtime';
10
10
  import { Model } from '../models/model.js';
11
- import { ContextWindowOverflowError, normalizeError } from '../errors.js';
11
+ import { ContextWindowOverflowError, ModelThrottledError, normalizeError } from '../errors.js';
12
12
  import { ensureDefined } from '../types/validation.js';
13
13
  import { logger } from '../logging/logger.js';
14
14
  /**
@@ -119,7 +119,7 @@ export class BedrockModel extends Model {
119
119
  */
120
120
  constructor(options) {
121
121
  super();
122
- const { region, clientConfig, ...modelConfig } = options ?? {};
122
+ const { region, clientConfig, apiKey, ...modelConfig } = options ?? {};
123
123
  // Initialize model config with default model ID if not provided
124
124
  this._config = {
125
125
  modelId: DEFAULT_BEDROCK_MODEL_ID,
@@ -136,6 +136,9 @@ export class BedrockModel extends Model {
136
136
  ...(region ? { region: region } : {}),
137
137
  customUserAgent,
138
138
  });
139
+ if (apiKey) {
140
+ applyApiKey(this._client, apiKey);
141
+ }
139
142
  applyDefaultRegion(this._client.config);
140
143
  }
141
144
  /**
@@ -758,10 +761,14 @@ export class BedrockModel extends Model {
758
761
  case 'internalServerException':
759
762
  case 'modelStreamErrorException':
760
763
  case 'serviceUnavailableException':
761
- case 'validationException':
762
- case 'throttlingException': {
764
+ case 'validationException': {
763
765
  throw eventData;
764
766
  }
767
+ case 'throttlingException': {
768
+ const message = eventData.message ?? 'Request was throttled by the model provider';
769
+ logger.debug(`throttled | error_message=<${message}>`);
770
+ throw new ModelThrottledError(message, { cause: eventData });
771
+ }
765
772
  default:
766
773
  // Log warning for unsupported event types (for forward compatibility)
767
774
  logger.warn(`event_type=<${eventType}> | unsupported bedrock event type`);
@@ -797,6 +804,26 @@ export class BedrockModel extends Model {
797
804
  return mappedStopReason;
798
805
  }
799
806
  }
807
+ /**
808
+ * Adds middleware to override the Authorization header with a Bearer token.
809
+ * Runs after SigV4 signing to replace the signature with the API key.
810
+ *
811
+ * @param client - BedrockRuntimeClient instance
812
+ * @param apiKey - Bedrock API key
813
+ */
814
+ function applyApiKey(client, apiKey) {
815
+ client.middlewareStack.add(
816
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
817
+ (next) => async (args) => {
818
+ const request = args.request;
819
+ request.headers['authorization'] = `Bearer ${apiKey}`;
820
+ return next(args);
821
+ }, {
822
+ step: 'finalizeRequest',
823
+ priority: 'low',
824
+ name: 'bedrockApiKeyMiddleware',
825
+ });
826
+ }
800
827
  /**
801
828
  * What region is used for the BedrockConfiguration can't be known at construction-time so to apply a default
802
829
  * we have to use an async function to intercept "Region is missing" errors and then apply our default (this
@@ -1 +1 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/models/bedrock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/models/bedrock.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,8 @@ import type { GeminiStreamState } from './types.js';
10
10
  /**
11
11
  * Mapping of Gemini finish reasons to SDK stop reasons.
12
12
  * Only MAX_TOKENS needs explicit mapping; everything else defaults to endTurn.
13
- * TOOL_USE is handled separately via hasToolCalls flag.
13
+ * Tool use stop reason is determined by the hasToolCalls flag in GeminiStreamState,
14
+ * since Gemini does not have a tool use finish reason.
14
15
  *
15
16
  * @internal
16
17
  */