@wmaurer/effect-ai-amazon-bedrock 0.4.0 → 0.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @wmaurer/effect-ai-amazon-bedrock
2
2
 
3
+ ## 0.4.1
4
+
5
+ Model call spans carry the OpenTelemetry GenAI attributes. Tool-call params, `data:` URL file parts, and two kinds of Bedrock error are fixed.
6
+
7
+ - Add the OpenTelemetry GenAI attributes to the spans that `generateText`, `generateObject`, and `streamText` open, as `@effect/ai-anthropic` does. They name the provider, the model, the `inferenceConfig` values, the Converse stop reason, and the token usage with the cache reads and writes, so tools such as Langfuse show the Bedrock calls. The README section "Trace model calls" lists each attribute.
8
+ - Decode tool-call params with the codec of the tool, as `@effect/ai-anthropic` does. The provider sends the input schema of a tool through `toCodecAnthropic`, and 0.4.0 passed the params of the model on unchanged, so params that followed that schema could fail the tool's own schema. A `Schema.optional` field that the model sent as `null` failed with `ToolParameterValidationError`, and so did a `Schema.Record`, which the codec sends as a list of pairs. Params that the codec rejects reach the toolkit unchanged, and the toolkit reports the error.
9
+ - Accept a `data:` URL with a base64 payload as the data of a file part, for images, documents, and guarded images. 0.4.0 sent the whole URL as base64, and Bedrock rejected the request with a 400. A `data:` URL without `;base64` fails with `InvalidUserInputError`.
10
+ - Fail with an `AiError` whose reason is `QuotaExhaustedError` when Bedrock answers `ServiceQuotaExceededException`. Bedrock sends this exception with the status 400, which gave an `InvalidRequestError` in 0.4.0. Neither reason is retryable. The AWS message, which names the quota, stays in `reason.http.body`.
11
+ - Put the exception name from the `x-amzn-errortype` header at the start of the description of an `InvalidRequestError`, `AuthenticationError`, `InternalProviderError`, or `UnknownError`, as in `SerializationException: HTTP 400 (...) Response: {}`. In 0.4.0 a 4xx with the body `{}` did not say why Bedrock rejected the request. A description that held the AWS message now starts with the exception name, so code that compares a description with the AWS message no longer matches.
12
+
3
13
  ## 0.4.0
4
14
 
5
15
  Amazon Bedrock guardrails are supported. Every finish part now carries `metadata.amazonBedrock`, also without a guardrail.
package/README.md CHANGED
@@ -369,7 +369,7 @@ export const answer = Effect.gen(function*() {
369
369
 
370
370
  ### Choose what the guardrail evaluates
371
371
 
372
- Without `guardContent`, the guardrail evaluates every message but not the system prompt. Once any part of a request has `guardContent`, the guardrail evaluates only the parts that have it. The model still reads every part. `guardContent` goes on a user text part, a system message, or a user file part with a PNG or JPEG image given as base64 or a `Uint8Array`. Any other part with it fails with `InvalidUserInputError`. On text, `qualifiers` names the role of the text in a contextual grounding check:
372
+ Without `guardContent`, the guardrail evaluates every message but not the system prompt. Once any part of a request has `guardContent`, the guardrail evaluates only the parts that have it. The model still reads every part. `guardContent` goes on a user text part, a system message, or a user file part with a PNG or JPEG image given as base64, as a base64 `data:` URL, or as a `Uint8Array`. Any other part with it fails with `InvalidUserInputError`. On text, `qualifiers` names the role of the text in a contextual grounding check:
373
373
 
374
374
  ```ts
375
375
  import { Prompt } from "effect/ai"
@@ -432,7 +432,7 @@ export const search = Tool.make("search", {
432
432
  }).annotate(AmazonBedrockLanguageModel.ToolCachePoint, { type: "default" })
433
433
  ```
434
434
 
435
- A `file` part becomes an `image` block or a `document` block. Bedrock accepts JPEG, PNG, GIF, and WebP images, and PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT, and Markdown documents. Give the data as base64, as a `Uint8Array`, or as an `s3://` URL. The provider does not fetch other URLs.
435
+ A `file` part becomes an `image` block or a `document` block. Bedrock accepts JPEG, PNG, GIF, and WebP images, and PDF, CSV, DOC, DOCX, XLS, XLSX, HTML, TXT, and Markdown documents. Give the data as base64, as a `data:` URL with a base64 payload, as a `Uint8Array`, or as an `s3://` URL. The provider does not fetch other URLs.
436
436
 
437
437
  A document part takes two more options. `citations` lets the model cite the document, and the response then holds `source` parts that point at the cited text. `context` tells the model how to read the document.
438
438
 
@@ -467,19 +467,33 @@ Reasoning parts carry the Bedrock signature in `metadata.amazonBedrock.info`. Be
467
467
 
468
468
  The provider adds the `amazonBedrock` key to the option and metadata types of `effect/ai` through module augmentation. If Effect ships its own Amazon Bedrock provider that uses the same key, both packages declare the same property. Install only one of them.
469
469
 
470
+ ## Trace model calls
471
+
472
+ `LanguageModel.generateText`, `generateObject`, and `streamText` each open a span. The provider adds the OpenTelemetry GenAI attributes to it, as `@effect/ai-anthropic` does. Tools that pick LLM spans by these attributes, such as Langfuse, then show the Bedrock calls.
473
+
474
+ - `gen_ai.provider.name` is `aws.bedrock`, and `gen_ai.operation.name` is `chat`.
475
+ - `gen_ai.request.model` is the model ID of the request. `gen_ai.request.max_tokens`, `gen_ai.request.temperature`, `gen_ai.request.top_p`, and `gen_ai.request.stop_sequences` come from `inferenceConfig`. The span has only the ones that the request sets.
476
+ - `gen_ai.response.model` is also the model ID of the request, because Converse names no model in its response. Converse returns no response ID, so the span has no `gen_ai.response.id`.
477
+ - `gen_ai.response.finish_reasons` holds the Converse stop reason as Bedrock sent it, such as `end_turn` or `guardrail_intervened`. The finish part maps it, so `end_turn` finishes with `"stop"`.
478
+ - `gen_ai.usage.input_tokens` counts the uncached input tokens, the cache reads, and the cache writes. `gen_ai.usage.cache_read.input_tokens` and `gen_ai.usage.cache_write.input_tokens` give the two cache counts. Each is 0 when Bedrock reports none. `gen_ai.usage.output_tokens` counts the output tokens.
479
+
480
+ On `streamText`, the stop reason comes from the `messageStop` event and the usage from the `metadata` event. The span has them once the stream has delivered its finish part. A `generateObject` that a guardrail blocks fails with `ContentPolicyError`, and its span still holds the stop reason and the tokens that the call used.
481
+
482
+ The spans reach a tracing backend only through a tracer layer, such as `OtlpTracer.layer` from `effect/observability`.
483
+
470
484
  ## Check what the provider does not support
471
485
 
472
486
  Converse has features that this provider does not model yet:
473
487
 
474
- - `additionalModelResponseFieldPaths` and the `additionalModelResponseFields` it returns.
475
- - Video blocks. A `video/*` file part fails with `InvalidUserInputError`.
476
- - Documents given as pre-chunked `content`.
477
- - The `error` field of an image block.
488
+ - `additionalModelResponseFieldPaths` and the `additionalModelResponseFields` it returns ([#15](https://github.com/wmaurer/effect-ai-amazon-bedrock/issues/15)).
489
+ - Video blocks. A `video/*` file part fails with `InvalidUserInputError` ([#18](https://github.com/wmaurer/effect-ai-amazon-bedrock/issues/18)).
490
+ - Documents given as pre-chunked `content` ([#19](https://github.com/wmaurer/effect-ai-amazon-bedrock/issues/19)).
491
+ - The `error` field of an image block ([#20](https://github.com/wmaurer/effect-ai-amazon-bedrock/issues/20)).
478
492
  - The `audio`, `searchResult`, `toolAddition`, and `toolRemoval` content blocks, which the provider decodes and ignores.
479
493
  - Citations with a `web` or `searchResultLocation` location, which the provider drops.
480
494
  - System tools, which run on Bedrock.
481
- - The Converse request fields `promptVariables`, `requestMetadata`, `performanceConfig`, and `serviceTier`. The request config has no key for them.
482
- - The `ApplyGuardrail` operation, which evaluates content without a model call.
495
+ - The Converse request fields `promptVariables`, `requestMetadata`, `performanceConfig`, and `serviceTier`. The request config has no key for them ([#16](https://github.com/wmaurer/effect-ai-amazon-bedrock/issues/16)).
496
+ - The `ApplyGuardrail` operation, which evaluates content without a model call ([#17](https://github.com/wmaurer/effect-ai-amazon-bedrock/issues/17)).
483
497
 
484
498
  `LanguageModel.streamText` always asks for text, so streamed structured output is not available. That limit is in `effect/ai`, not in this provider.
485
499
 
@@ -506,7 +520,7 @@ export const answer = LanguageModel.generateText({
506
520
 
507
521
  The model may then call a tool instead of answering. If you cannot accept that, rewrite the tool calls and results in the history as text first.
508
522
 
509
- [`docs/TODO.md`](https://github.com/wmaurer/effect-ai-amazon-bedrock/blob/main/docs/TODO.md) explains each gap and what was tested against real Bedrock.
523
+ The [open issues](https://github.com/wmaurer/effect-ai-amazon-bedrock/issues) track each gap. [`docs/TODO.md`](https://github.com/wmaurer/effect-ai-amazon-bedrock/blob/main/docs/TODO.md) records what was tested against real Bedrock and why some features are left out on purpose.
510
524
 
511
525
  ## Where the package comes from
512
526
 
@@ -3,7 +3,7 @@ import * as AiModel from "effect/ai/Model";
3
3
  import * as Context from "effect/Context";
4
4
  import * as Effect from "effect/Effect";
5
5
  import * as Layer from "effect/Layer";
6
- import type * as Schema from "effect/Schema";
6
+ import * as Schema from "effect/Schema";
7
7
  import { AmazonBedrockClient } from "./AmazonBedrockClient.ts";
8
8
  import type { CachePointBlock, CitationsConfig, GuardrailConverseContentQualifier, GuardrailStreamConfiguration } from "./AmazonBedrockSchema.ts";
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonBedrockLanguageModel.d.ts","sourceRoot":"","sources":["../src/AmazonBedrockLanguageModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AmazonBedrockLanguageModel.d.ts","sourceRoot":"","sources":["../src/AmazonBedrockLanguageModel.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ import { toCodecAnthropic } from "effect/ai/AnthropicStructuredOutput";
34
34
  import * as IdGenerator from "effect/ai/IdGenerator";
35
35
  import * as LanguageModel from "effect/ai/LanguageModel";
36
36
  import * as AiModel from "effect/ai/Model";
37
+ import { addGenAIAnnotations } from "effect/ai/Telemetry";
37
38
  import * as Tool from "effect/ai/Tool";
38
39
  import * as Context from "effect/Context";
39
40
  import * as DateTime from "effect/DateTime";
@@ -43,6 +44,7 @@ import { dual } from "effect/Function";
43
44
  import * as Layer from "effect/Layer";
44
45
  import * as Predicate from "effect/Predicate";
45
46
  import * as Result from "effect/Result";
47
+ import * as Schema from "effect/Schema";
46
48
  import * as SchemaAST from "effect/SchemaAST";
47
49
  import * as Stream from "effect/Stream";
48
50
  import { AmazonBedrockClient } from "./AmazonBedrockClient.js";
@@ -375,9 +377,13 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* ({
375
377
  request: streamRequest
376
378
  } = yield* makeRequest(options);
377
379
  const request = toConverseRequest(streamRequest);
380
+ annotateRequest(options.span, request);
378
381
  const rawResponse = yield* client.converse({
379
382
  payload: request
380
383
  });
384
+ // Before `makeResponse`, which fails a guardrail-blocked object with a
385
+ // `ContentPolicyError` after the call has already spent its tokens.
386
+ annotateResponse(options.span, request.modelId, rawResponse.stopReason, rawResponse.usage);
381
387
  return yield* makeResponse(request, rawResponse, options, nameMapper, documents);
382
388
  }),
383
389
  streamText: Effect.fnUntraced(function* (options) {
@@ -386,10 +392,11 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* ({
386
392
  nameMapper,
387
393
  request
388
394
  } = yield* makeRequest(options);
395
+ annotateRequest(options.span, request);
389
396
  const stream = client.converseStream({
390
397
  payload: request
391
398
  });
392
- return yield* makeStreamResponse(request, stream, nameMapper, documents);
399
+ return yield* makeStreamResponse(request, stream, options.tools, nameMapper, documents, options.span);
393
400
  }, (effect, _options) => effect.pipe(Stream.unwrap))
394
401
  });
395
402
  });
@@ -457,16 +464,41 @@ const documentFormats = {
457
464
  };
458
465
  /** Matches any absolute url, so a non-s3 one is rejected instead of being treated as base64 data. */
459
466
  const urlPattern = /^[a-z][a-z0-9+.-]*:\/\//i;
467
+ /** Matches the header of a `data:` url, up to the comma before its payload. */
468
+ const dataUrlPattern = /^data:[^,]*?(;base64)?,/i;
460
469
  /**
461
470
  * Resolves file part data into a Converse media source.
462
471
  *
463
472
  * **Details**
464
473
  *
465
474
  * String data is already base64 per `Prompt.FilePart`, so it is passed through
466
- * untouched. The only remote source Converse accepts is an S3 location.
475
+ * untouched. A `data:` url has no `://`, so it is matched on its own, and only
476
+ * its base64 payload is sent. The only remote source Converse accepts is an S3
477
+ * location.
467
478
  */
468
479
  const fileSource = /*#__PURE__*/Effect.fnUntraced(function* (data) {
469
- if (data instanceof URL || typeof data === "string" && urlPattern.test(data)) {
480
+ if (data instanceof Uint8Array) {
481
+ return {
482
+ bytes: Base64.encode(data)
483
+ };
484
+ }
485
+ const string = data instanceof URL ? data.href : data;
486
+ const dataUrl = dataUrlPattern.exec(string);
487
+ if (dataUrl !== null) {
488
+ if (Predicate.isUndefined(dataUrl[1])) {
489
+ return yield* AiError.make({
490
+ module: "AmazonBedrockLanguageModel",
491
+ method: "prepareMessages",
492
+ reason: new AiError.InvalidUserInputError({
493
+ description: `Unsupported file url '${dataUrl[0]}...' - a data url must have a base64 payload`
494
+ })
495
+ });
496
+ }
497
+ return {
498
+ bytes: string.slice(dataUrl[0].length)
499
+ };
500
+ }
501
+ if (data instanceof URL || urlPattern.test(data)) {
470
502
  const url = data instanceof URL ? data : new URL(data);
471
503
  if (url.protocol !== "s3:") {
472
504
  return yield* AiError.make({
@@ -484,7 +516,7 @@ const fileSource = /*#__PURE__*/Effect.fnUntraced(function* (data) {
484
516
  };
485
517
  }
486
518
  return {
487
- bytes: typeof data === "string" ? data : Base64.encode(data)
519
+ bytes: data
488
520
  };
489
521
  });
490
522
  /**
@@ -509,7 +541,7 @@ const documentSource = /*#__PURE__*/Effect.fnUntraced(function* (mediaType, name
509
541
  text: new TextDecoder().decode(data)
510
542
  };
511
543
  }
512
- const decoded = Base64.decodeString(data);
544
+ const decoded = Base64.decodeString(source.bytes);
513
545
  if (Result.isFailure(decoded)) {
514
546
  return yield* AiError.make({
515
547
  module: "AmazonBedrockLanguageModel",
@@ -819,6 +851,17 @@ const tryToolJsonSchema = (tool, method) => Effect.try({
819
851
  }),
820
852
  catch: error => unsupportedSchemaError(error, method)
821
853
  });
854
+ // Bedrock is sent each tool's codec schema, which differs from the tool's own
855
+ // schema wherever the codec rewrites a parameter. Params that follow the codec
856
+ // are re-encoded with the tool's schema for the Toolkit to decode. Any others
857
+ // are left as they are, so that the Toolkit reports the error.
858
+ const decodeToolParams = (tools, toolName, params) => {
859
+ const tool = tools.find(tool => tool.name === toolName);
860
+ if (Predicate.isUndefined(tool)) {
861
+ return Effect.succeed(params);
862
+ }
863
+ return Effect.try(() => toCodecAnthropic(tool.parametersSchema).codec).pipe(Effect.flatMap(codec => Schema.decodeUnknownEffect(codec)(params)), Effect.flatMap(decoded => Schema.encodeUnknownEffect(tool.parametersSchema)(decoded)), Effect.orElseSucceed(() => params));
864
+ };
822
865
  /**
823
866
  * Returns what a model accepts for structured output, looked up by the
824
867
  * provider that the model ID names: `anthropic` in
@@ -1042,11 +1085,12 @@ const makeResponse = /*#__PURE__*/Effect.fnUntraced(function* (request, response
1042
1085
  }
1043
1086
  continue;
1044
1087
  }
1088
+ const name = nameMapper.getCustomName(part.toolUse.name);
1045
1089
  parts.push({
1046
1090
  type: "tool-call",
1047
1091
  id: part.toolUse.toolUseId,
1048
- name: nameMapper.getCustomName(part.toolUse.name),
1049
- params: part.toolUse.input,
1092
+ name,
1093
+ params: yield* decodeToolParams(options.tools, name, part.toolUse.input),
1050
1094
  providerExecuted: false
1051
1095
  });
1052
1096
  } else if (Predicate.isNotUndefined(part.reasoningContent)) {
@@ -1137,7 +1181,7 @@ const makeResponse = /*#__PURE__*/Effect.fnUntraced(function* (request, response
1137
1181
  });
1138
1182
  return parts;
1139
1183
  });
1140
- const makeStreamResponse = /*#__PURE__*/Effect.fnUntraced(function* (request, stream, nameMapper, documents) {
1184
+ const makeStreamResponse = /*#__PURE__*/Effect.fnUntraced(function* (request, stream, tools, nameMapper, documents, span) {
1141
1185
  // Acquired up front: the stream itself must not carry the requirement.
1142
1186
  const idGenerator = yield* IdGenerator.IdGenerator;
1143
1187
  // Tracks whether a text block at a given content-block index has been
@@ -1322,7 +1366,7 @@ const makeStreamResponse = /*#__PURE__*/Effect.fnUntraced(function* (request, st
1322
1366
  type: "tool-call",
1323
1367
  id: block.id,
1324
1368
  name: block.name,
1325
- params,
1369
+ params: yield* decodeToolParams(tools, block.name, params),
1326
1370
  providerExecuted: false
1327
1371
  });
1328
1372
  }
@@ -1344,6 +1388,7 @@ const makeStreamResponse = /*#__PURE__*/Effect.fnUntraced(function* (request, st
1344
1388
  if (Predicate.isNotUndefined(event.metadata.usage.cacheWriteInputTokens)) {
1345
1389
  usage.cacheWriteInputTokens = event.metadata.usage.cacheWriteInputTokens;
1346
1390
  }
1391
+ annotateResponse(span, request.modelId, stopReason, event.metadata.usage);
1347
1392
  // Terminal success event: usage is now populated — emit `finish`.
1348
1393
  parts.push({
1349
1394
  type: "finish",
@@ -1413,6 +1458,42 @@ const makeStreamResponse = /*#__PURE__*/Effect.fnUntraced(function* (request, st
1413
1458
  return parts;
1414
1459
  })), Stream.flattenIterable);
1415
1460
  });
1461
+ // =============================================================================
1462
+ // Telemetry
1463
+ // =============================================================================
1464
+ const annotateRequest = (span, request) => {
1465
+ addGenAIAnnotations(span, {
1466
+ provider: {
1467
+ name: "aws.bedrock"
1468
+ },
1469
+ operation: {
1470
+ name: "chat"
1471
+ },
1472
+ request: {
1473
+ model: request.modelId,
1474
+ maxTokens: request.inferenceConfig?.maxTokens,
1475
+ temperature: request.inferenceConfig?.temperature,
1476
+ topP: request.inferenceConfig?.topP,
1477
+ stopSequences: request.inferenceConfig?.stopSequences
1478
+ }
1479
+ });
1480
+ };
1481
+ const annotateResponse = (span, modelId, stopReason, usage) => {
1482
+ const cacheRead = usage.cacheReadInputTokens ?? 0;
1483
+ const cacheWrite = usage.cacheWriteInputTokens ?? 0;
1484
+ addGenAIAnnotations(span, {
1485
+ response: {
1486
+ model: modelId,
1487
+ finishReasons: stopReason === null ? undefined : [stopReason]
1488
+ },
1489
+ usage: {
1490
+ inputTokens: usage.inputTokens + cacheRead + cacheWrite,
1491
+ outputTokens: usage.outputTokens
1492
+ }
1493
+ });
1494
+ span.attribute("gen_ai.usage.cache_read.input_tokens", cacheRead);
1495
+ span.attribute("gen_ai.usage.cache_write.input_tokens", cacheWrite);
1496
+ };
1416
1497
  const groupMessages = prompt => {
1417
1498
  const messages = [];
1418
1499
  let current = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonBedrockLanguageModel.js","names":[],"sources":["../src/AmazonBedrockLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AmazonBedrockLanguageModel.js","names":[],"sources":["../src/AmazonBedrockLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,eAAe,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,KAAK,iBAAiB,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,KAAK,kBAAkB,MAAM,gCAAgC,CAAA;AAIzE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAMtE,gBAAgB;AAChB,eAAO,MAAM,cAAc,YAChB,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,OAAO,aAC1D,MAAM,CAAC,WAAW,UAAU,MAAM,KAAK,OAAO,CAAC,OAAO,CAM3D,CAAA;AAEL,gBAAgB;AAChB,eAAO,MAAM,mBAAmB,YACrB,MAAM,KAAK,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,aACxD,gBAAgB,UAAU,MAAM,KAAK,OAAO,CAAC,OAAO,CAUzD,CAAA;AAEL,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,YACpB,MAAM,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,aAC7F,eAAe,CAAC,eAAe,UAAU,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CA2DjG,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,WAC5B,MAAM,aAAa,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,KAAG,OAAO,CAAC,OAC6B,CAAA;AAyD7G,gBAAgB;AAChB,eAAO,MAAM,uBAAuB,YACzB,iBAAiB,CAAC,iBAAiB,KAC3C,OAAO,QAAQ,CAAC,kBAAkB,CAAC,IAMpC,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,WAAY;IACvC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAA;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAA;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC,KAAG,OAAO,OAAO,CAAC,WAAW,CAAC,IAS7B,CAAA;AAuEF,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,yCAA0C;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAA;CAC/C,KAAG,OAAO,CAAC,aAsDX,CAAA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internal/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,eAAe,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,KAAK,iBAAiB,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,KAAK,kBAAkB,MAAM,gCAAgC,CAAA;AAIzE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAMtE,gBAAgB;AAChB,eAAO,MAAM,cAAc,YAChB,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,OAAO,aAC1D,MAAM,CAAC,WAAW,UAAU,MAAM,KAAK,OAAO,CAAC,OAAO,CAM3D,CAAA;AAEL,gBAAgB;AAChB,eAAO,MAAM,mBAAmB,YACrB,MAAM,KAAK,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,aACxD,gBAAgB,UAAU,MAAM,KAAK,OAAO,CAAC,OAAO,CAUzD,CAAA;AAEL,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,YACpB,MAAM,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,aAC7F,eAAe,CAAC,eAAe,UAAU,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CA2DjG,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,WAC5B,MAAM,aAAa,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,KAAG,OAAO,CAAC,OAC6B,CAAA;AAgD7G,gBAAgB;AAChB,eAAO,MAAM,uBAAuB,YACzB,iBAAiB,CAAC,iBAAiB,KAC3C,OAAO,QAAQ,CAAC,kBAAkB,CAAC,IAMpC,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,WAAY;IACvC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAA;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,CAAA;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC,KAAG,OAAO,OAAO,CAAC,WAAW,CAAC,IAS7B,CAAA;AAuEF,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,yCAA0C;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAA;CAC/C,KAAG,OAAO,CAAC,aAiEX,CAAA"}
@@ -98,10 +98,10 @@ export const mapCredentialProviderError = method => error => AiError.isAiError(e
98
98
  // with the exception type carried in the `x-amzn-errortype` header — NOT
99
99
  // Anthropic's nested `{ error: { type, message } }`. Schema-guarded so a
100
100
  // non-conforming body safely yields `undefined`.
101
- const BedrockErrorBody = /*#__PURE__*/Schema.Struct({
101
+ const BedrockErrorBody = /*#__PURE__*/Schema.fromJsonString(/*#__PURE__*/Schema.Struct({
102
102
  message: /*#__PURE__*/Schema.optional(Schema.String),
103
103
  Message: /*#__PURE__*/Schema.optional(Schema.String)
104
- });
104
+ }));
105
105
  /** @internal */
106
106
  const mapStatusCodeError = /*#__PURE__*/Effect.fnUntraced(function* (error, method) {
107
107
  const {
@@ -119,16 +119,7 @@ const mapStatusCodeError = /*#__PURE__*/Effect.fnUntraced(function* (error, meth
119
119
  }
120
120
  // Promote the provider's error message to the structured reason (else 5xx
121
121
  // shows "Server error" and 4xx shows a bare "HTTP <status>").
122
- let json = undefined;
123
- // @effect-diagnostics effect/tryCatchInEffectGen:off
124
- if (Predicate.isNotUndefined(body)) {
125
- try {
126
- json = JSON.parse(body);
127
- } catch {
128
- json = undefined;
129
- }
130
- }
131
- const decoded = Schema.decodeUnknownOption(BedrockErrorBody)(json);
122
+ const decoded = Schema.decodeUnknownOption(BedrockErrorBody)(body);
132
123
  const message = Option.isSome(decoded) ? decoded.value.message ?? decoded.value.Message : undefined;
133
124
  const reason = mapStatusCodeToReason({
134
125
  status,
@@ -219,6 +210,16 @@ export const mapStatusCodeToReason = ({
219
210
  message,
220
211
  status
221
212
  }) => {
213
+ // AWS sends this with a 400, but the request is well formed. The account has
214
+ // used up a quota, which a short retry delay will not restore.
215
+ if (errorType === "ServiceQuotaExceededException") {
216
+ return new AiError.QuotaExhaustedError({
217
+ http
218
+ });
219
+ }
220
+ // The exception shape is often the only clue to the cause, as when a 400
221
+ // arrives with the body `{}`.
222
+ const describe = text => Predicate.isUndefined(errorType) ? text : Predicate.isUndefined(text) ? errorType : `${errorType}: ${text}`;
222
223
  const invalidRequestDescription = buildInvalidRequestDescription({
223
224
  status,
224
225
  message,
@@ -231,7 +232,7 @@ export const mapStatusCodeToReason = ({
231
232
  case 404:
232
233
  case 422:
233
234
  return new AiError.InvalidRequestError({
234
- description: invalidRequestDescription,
235
+ description: describe(invalidRequestDescription),
235
236
  http
236
237
  });
237
238
  case 401:
@@ -240,19 +241,19 @@ export const mapStatusCodeToReason = ({
240
241
  kind: (Predicate.isNotUndefined(errorType) ? authenticationKinds[errorType] : undefined
241
242
  // No header, or a shape we do not know: fall back to what the status implies.
242
243
  ) ?? (status === 401 ? "InvalidKey" : "InsufficientPermissions"),
243
- description: message,
244
+ description: describe(message),
244
245
  http
245
246
  });
246
247
  case 408:
247
248
  // ModelTimeoutException: the request took too long to process.
248
249
  return new AiError.InternalProviderError({
249
- description: message ?? "Model timeout",
250
+ description: describe(message) ?? "Model timeout",
250
251
  http
251
252
  });
252
253
  case 424:
253
254
  // ModelErrorException: the model returned an error response.
254
255
  return new AiError.InternalProviderError({
255
- description: message ?? "Model error",
256
+ description: describe(message) ?? "Model error",
256
257
  http
257
258
  });
258
259
  case 429:
@@ -262,12 +263,12 @@ export const mapStatusCodeToReason = ({
262
263
  default:
263
264
  if (status >= 500) {
264
265
  return new AiError.InternalProviderError({
265
- description: message ?? "Server error",
266
+ description: describe(message) ?? "Server error",
266
267
  http
267
268
  });
268
269
  }
269
270
  return new AiError.UnknownError({
270
- description: message,
271
+ description: describe(message),
271
272
  http
272
273
  });
273
274
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":[],"sources":["../../src/internal/errors.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"errors.js","names":[],"sources":["../../src/internal/errors.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wmaurer/effect-ai-amazon-bedrock",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Wayne Maurer",
@@ -36,6 +36,7 @@ import * as LanguageModel from "effect/ai/LanguageModel"
36
36
  import * as AiModel from "effect/ai/Model"
37
37
  import type * as Prompt from "effect/ai/Prompt"
38
38
  import type * as Response from "effect/ai/Response"
39
+ import { addGenAIAnnotations } from "effect/ai/Telemetry"
39
40
  import * as Tool from "effect/ai/Tool"
40
41
  import * as Context from "effect/Context"
41
42
  import * as DateTime from "effect/DateTime"
@@ -45,9 +46,10 @@ import { dual } from "effect/Function"
45
46
  import * as Layer from "effect/Layer"
46
47
  import * as Predicate from "effect/Predicate"
47
48
  import * as Result from "effect/Result"
48
- import type * as Schema from "effect/Schema"
49
+ import * as Schema from "effect/Schema"
49
50
  import * as SchemaAST from "effect/SchemaAST"
50
51
  import * as Stream from "effect/Stream"
52
+ import type { Span } from "effect/Tracer"
51
53
  import type { Mutable, Simplify } from "effect/Types"
52
54
  import { AmazonBedrockClient } from "./AmazonBedrockClient.ts"
53
55
  import type {
@@ -70,6 +72,7 @@ import type {
70
72
  Message,
71
73
  OutputConfig,
72
74
  SystemContentBlock,
75
+ TokenUsage,
73
76
  Tool as BedrockTool,
74
77
  ToolChoice,
75
78
  ToolConfiguration
@@ -926,13 +929,18 @@ export const make = Effect.fnUntraced(function*({ config: providerConfig, model
926
929
  generateText: Effect.fnUntraced(function*(options) {
927
930
  const { documents, nameMapper, request: streamRequest } = yield* makeRequest(options)
928
931
  const request = toConverseRequest(streamRequest)
932
+ annotateRequest(options.span, request)
929
933
  const rawResponse = yield* client.converse({ payload: request })
934
+ // Before `makeResponse`, which fails a guardrail-blocked object with a
935
+ // `ContentPolicyError` after the call has already spent its tokens.
936
+ annotateResponse(options.span, request.modelId, rawResponse.stopReason, rawResponse.usage)
930
937
  return yield* makeResponse(request, rawResponse, options, nameMapper, documents)
931
938
  }),
932
939
  streamText: Effect.fnUntraced(function*(options) {
933
940
  const { documents, nameMapper, request } = yield* makeRequest(options)
941
+ annotateRequest(options.span, request)
934
942
  const stream = client.converseStream({ payload: request })
935
- return yield* makeStreamResponse(request, stream, nameMapper, documents)
943
+ return yield* makeStreamResponse(request, stream, options.tools, nameMapper, documents, options.span)
936
944
  }, (effect, _options) => effect.pipe(Stream.unwrap))
937
945
  })
938
946
  })
@@ -1018,18 +1026,40 @@ const documentFormats: Record<string, typeof DocumentBlock.Encoded["format"]> =
1018
1026
  /** Matches any absolute url, so a non-s3 one is rejected instead of being treated as base64 data. */
1019
1027
  const urlPattern = /^[a-z][a-z0-9+.-]*:\/\//i
1020
1028
 
1029
+ /** Matches the header of a `data:` url, up to the comma before its payload. */
1030
+ const dataUrlPattern = /^data:[^,]*?(;base64)?,/i
1031
+
1021
1032
  /**
1022
1033
  * Resolves file part data into a Converse media source.
1023
1034
  *
1024
1035
  * **Details**
1025
1036
  *
1026
1037
  * String data is already base64 per `Prompt.FilePart`, so it is passed through
1027
- * untouched. The only remote source Converse accepts is an S3 location.
1038
+ * untouched. A `data:` url has no `://`, so it is matched on its own, and only
1039
+ * its base64 payload is sent. The only remote source Converse accepts is an S3
1040
+ * location.
1028
1041
  */
1029
1042
  const fileSource: (
1030
1043
  data: typeof Prompt.FilePart.Type["data"]
1031
1044
  ) => Effect.Effect<typeof MediaSource.Encoded, AiError.AiError> = Effect.fnUntraced(function*(data) {
1032
- if (data instanceof URL || (typeof data === "string" && urlPattern.test(data))) {
1045
+ if (data instanceof Uint8Array) {
1046
+ return { bytes: Base64.encode(data) }
1047
+ }
1048
+ const string = data instanceof URL ? data.href : data
1049
+ const dataUrl = dataUrlPattern.exec(string)
1050
+ if (dataUrl !== null) {
1051
+ if (Predicate.isUndefined(dataUrl[1])) {
1052
+ return yield* AiError.make({
1053
+ module: "AmazonBedrockLanguageModel",
1054
+ method: "prepareMessages",
1055
+ reason: new AiError.InvalidUserInputError({
1056
+ description: `Unsupported file url '${dataUrl[0]}...' - a data url must have a base64 payload`
1057
+ })
1058
+ })
1059
+ }
1060
+ return { bytes: string.slice(dataUrl[0].length) }
1061
+ }
1062
+ if (data instanceof URL || urlPattern.test(data)) {
1033
1063
  const url = data instanceof URL ? data : new URL(data)
1034
1064
  if (url.protocol !== "s3:") {
1035
1065
  return yield* AiError.make({
@@ -1042,7 +1072,7 @@ const fileSource: (
1042
1072
  }
1043
1073
  return { s3Location: { uri: url.toString() } }
1044
1074
  }
1045
- return { bytes: typeof data === "string" ? data : Base64.encode(data) }
1075
+ return { bytes: data }
1046
1076
  })
1047
1077
 
1048
1078
  /**
@@ -1071,7 +1101,7 @@ const documentSource: (
1071
1101
  if (data instanceof Uint8Array) {
1072
1102
  return { text: new TextDecoder().decode(data) }
1073
1103
  }
1074
- const decoded = Base64.decodeString(data as string)
1104
+ const decoded = Base64.decodeString(source.bytes)
1075
1105
  if (Result.isFailure(decoded)) {
1076
1106
  return yield* AiError.make({
1077
1107
  module: "AmazonBedrockLanguageModel",
@@ -1383,6 +1413,26 @@ const tryToolJsonSchema = (tool: Tool.Any, method: string) =>
1383
1413
  catch: (error) => unsupportedSchemaError(error, method)
1384
1414
  })
1385
1415
 
1416
+ // Bedrock is sent each tool's codec schema, which differs from the tool's own
1417
+ // schema wherever the codec rewrites a parameter. Params that follow the codec
1418
+ // are re-encoded with the tool's schema for the Toolkit to decode. Any others
1419
+ // are left as they are, so that the Toolkit reports the error.
1420
+ const decodeToolParams = (
1421
+ tools: ReadonlyArray<Tool.Any>,
1422
+ toolName: string,
1423
+ params: unknown
1424
+ ): Effect.Effect<unknown> => {
1425
+ const tool = tools.find((tool) => tool.name === toolName)
1426
+ if (Predicate.isUndefined(tool)) {
1427
+ return Effect.succeed(params)
1428
+ }
1429
+ return Effect.try(() => toCodecAnthropic(tool.parametersSchema).codec).pipe(
1430
+ Effect.flatMap((codec) => Schema.decodeUnknownEffect(codec)(params)),
1431
+ Effect.flatMap((decoded) => Schema.encodeUnknownEffect(tool.parametersSchema)(decoded)),
1432
+ Effect.orElseSucceed(() => params)
1433
+ ) as Effect.Effect<unknown>
1434
+ }
1435
+
1386
1436
  interface ModelCapabilities {
1387
1437
  readonly supportsStructuredOutput: boolean
1388
1438
  readonly supportsForcedToolChoice: boolean
@@ -1634,11 +1684,12 @@ const makeResponse: (
1634
1684
  }
1635
1685
  continue
1636
1686
  }
1687
+ const name = nameMapper.getCustomName(part.toolUse.name)
1637
1688
  parts.push({
1638
1689
  type: "tool-call",
1639
1690
  id: part.toolUse.toolUseId,
1640
- name: nameMapper.getCustomName(part.toolUse.name),
1641
- params: part.toolUse.input,
1691
+ name,
1692
+ params: yield* decodeToolParams(options.tools, name, part.toolUse.input),
1642
1693
  providerExecuted: false
1643
1694
  })
1644
1695
  } else if (Predicate.isNotUndefined(part.reasoningContent)) {
@@ -1733,14 +1784,16 @@ const makeResponse: (
1733
1784
  const makeStreamResponse: (
1734
1785
  request: typeof ConverseStreamRequest.Encoded,
1735
1786
  stream: Stream.Stream<ConverseResponseStreamEvent, AiError.AiError>,
1787
+ tools: ReadonlyArray<Tool.Any>,
1736
1788
  nameMapper: Tool.NameMapper<ReadonlyArray<Tool.Any>>,
1737
- documents: ReadonlyArray<CitedDocument>
1789
+ documents: ReadonlyArray<CitedDocument>,
1790
+ span: Span
1738
1791
  ) => Effect.Effect<
1739
1792
  Stream.Stream<Response.StreamPartEncoded, AiError.AiError>,
1740
1793
  never,
1741
1794
  IdGenerator.IdGenerator
1742
1795
  > = Effect.fnUntraced(
1743
- function*(request, stream, nameMapper, documents) {
1796
+ function*(request, stream, tools, nameMapper, documents, span) {
1744
1797
  // Acquired up front: the stream itself must not carry the requirement.
1745
1798
  const idGenerator = yield* IdGenerator.IdGenerator
1746
1799
 
@@ -1943,7 +1996,7 @@ const makeStreamResponse: (
1943
1996
  type: "tool-call",
1944
1997
  id: block.id,
1945
1998
  name: block.name,
1946
- params,
1999
+ params: yield* decodeToolParams(tools, block.name, params),
1947
2000
  providerExecuted: false
1948
2001
  })
1949
2002
  }
@@ -1965,6 +2018,7 @@ const makeStreamResponse: (
1965
2018
  if (Predicate.isNotUndefined(event.metadata.usage.cacheWriteInputTokens)) {
1966
2019
  usage.cacheWriteInputTokens = event.metadata.usage.cacheWriteInputTokens
1967
2020
  }
2021
+ annotateResponse(span, request.modelId, stopReason, event.metadata.usage)
1968
2022
  // Terminal success event: usage is now populated — emit `finish`.
1969
2023
  parts.push({
1970
2024
  type: "finish",
@@ -2022,6 +2076,41 @@ const makeStreamResponse: (
2022
2076
  }
2023
2077
  )
2024
2078
 
2079
+ // =============================================================================
2080
+ // Telemetry
2081
+ // =============================================================================
2082
+
2083
+ const annotateRequest = (span: Span, request: typeof ConverseStreamRequest.Encoded): void => {
2084
+ addGenAIAnnotations(span, {
2085
+ provider: { name: "aws.bedrock" },
2086
+ operation: { name: "chat" },
2087
+ request: {
2088
+ model: request.modelId,
2089
+ maxTokens: request.inferenceConfig?.maxTokens,
2090
+ temperature: request.inferenceConfig?.temperature,
2091
+ topP: request.inferenceConfig?.topP,
2092
+ stopSequences: request.inferenceConfig?.stopSequences
2093
+ }
2094
+ })
2095
+ }
2096
+
2097
+ const annotateResponse = (span: Span, modelId: string, stopReason: string | null, usage: TokenUsage): void => {
2098
+ const cacheRead = usage.cacheReadInputTokens ?? 0
2099
+ const cacheWrite = usage.cacheWriteInputTokens ?? 0
2100
+ addGenAIAnnotations(span, {
2101
+ response: {
2102
+ model: modelId,
2103
+ finishReasons: stopReason === null ? undefined : [stopReason]
2104
+ },
2105
+ usage: {
2106
+ inputTokens: usage.inputTokens + cacheRead + cacheWrite,
2107
+ outputTokens: usage.outputTokens
2108
+ }
2109
+ })
2110
+ span.attribute("gen_ai.usage.cache_read.input_tokens", cacheRead)
2111
+ span.attribute("gen_ai.usage.cache_write.input_tokens", cacheWrite)
2112
+ }
2113
+
2025
2114
  // =============================================================================
2026
2115
  // Utilities
2027
2116
  // =============================================================================
@@ -114,10 +114,10 @@ export const mapCredentialProviderError =
114
114
  // with the exception type carried in the `x-amzn-errortype` header — NOT
115
115
  // Anthropic's nested `{ error: { type, message } }`. Schema-guarded so a
116
116
  // non-conforming body safely yields `undefined`.
117
- const BedrockErrorBody = Schema.Struct({
117
+ const BedrockErrorBody = Schema.fromJsonString(Schema.Struct({
118
118
  message: Schema.optional(Schema.String),
119
119
  Message: Schema.optional(Schema.String)
120
- })
120
+ }))
121
121
 
122
122
  /** @internal */
123
123
  const mapStatusCodeError = Effect.fnUntraced(function*(
@@ -137,16 +137,7 @@ const mapStatusCodeError = Effect.fnUntraced(function*(
137
137
 
138
138
  // Promote the provider's error message to the structured reason (else 5xx
139
139
  // shows "Server error" and 4xx shows a bare "HTTP <status>").
140
- let json: unknown = undefined
141
- // @effect-diagnostics effect/tryCatchInEffectGen:off
142
- if (Predicate.isNotUndefined(body)) {
143
- try {
144
- json = JSON.parse(body)
145
- } catch {
146
- json = undefined
147
- }
148
- }
149
- const decoded = Schema.decodeUnknownOption(BedrockErrorBody)(json)
140
+ const decoded = Schema.decodeUnknownOption(BedrockErrorBody)(body)
150
141
  const message = Option.isSome(decoded)
151
142
  ? decoded.value.message ?? decoded.value.Message
152
143
  : undefined
@@ -252,7 +243,7 @@ const extractErrorType = (header: string | undefined): string | undefined =>
252
243
  * expired `aws login` credentials are the common case. The exception shape in
253
244
  * `x-amzn-errortype` is what actually distinguishes them.
254
245
  */
255
- const authenticationKinds: Record<string, typeof AiError.AuthenticationError.Type["kind"]> = {
246
+ const authenticationKinds: Record<string, AiError.AuthenticationError["kind"]> = {
256
247
  AccessDeniedException: "InsufficientPermissions",
257
248
  ExpiredTokenException: "ExpiredKey",
258
249
  IncompleteSignatureException: "InvalidKey",
@@ -268,6 +259,17 @@ export const mapStatusCodeToReason = ({ errorType, http, message, status }: {
268
259
  readonly errorType?: string | undefined
269
260
  readonly http: typeof AiError.HttpContext.Type
270
261
  }): AiError.AiErrorReason => {
262
+ // AWS sends this with a 400, but the request is well formed. The account has
263
+ // used up a quota, which a short retry delay will not restore.
264
+ if (errorType === "ServiceQuotaExceededException") {
265
+ return new AiError.QuotaExhaustedError({ http })
266
+ }
267
+
268
+ // The exception shape is often the only clue to the cause, as when a 400
269
+ // arrives with the body `{}`.
270
+ const describe = (text: string | undefined): string | undefined =>
271
+ Predicate.isUndefined(errorType) ? text : Predicate.isUndefined(text) ? errorType : `${errorType}: ${text}`
272
+
271
273
  const invalidRequestDescription = buildInvalidRequestDescription({
272
274
  status,
273
275
  message,
@@ -281,7 +283,7 @@ export const mapStatusCodeToReason = ({ errorType, http, message, status }: {
281
283
  case 404:
282
284
  case 422:
283
285
  return new AiError.InvalidRequestError({
284
- description: invalidRequestDescription,
286
+ description: describe(invalidRequestDescription),
285
287
  http
286
288
  })
287
289
  case 401:
@@ -290,19 +292,19 @@ export const mapStatusCodeToReason = ({ errorType, http, message, status }: {
290
292
  kind: (Predicate.isNotUndefined(errorType) ? authenticationKinds[errorType] : undefined)
291
293
  // No header, or a shape we do not know: fall back to what the status implies.
292
294
  ?? (status === 401 ? "InvalidKey" : "InsufficientPermissions"),
293
- description: message,
295
+ description: describe(message),
294
296
  http
295
297
  })
296
298
  case 408:
297
299
  // ModelTimeoutException: the request took too long to process.
298
300
  return new AiError.InternalProviderError({
299
- description: message ?? "Model timeout",
301
+ description: describe(message) ?? "Model timeout",
300
302
  http
301
303
  })
302
304
  case 424:
303
305
  // ModelErrorException: the model returned an error response.
304
306
  return new AiError.InternalProviderError({
305
- description: message ?? "Model error",
307
+ description: describe(message) ?? "Model error",
306
308
  http
307
309
  })
308
310
  case 429:
@@ -312,12 +314,12 @@ export const mapStatusCodeToReason = ({ errorType, http, message, status }: {
312
314
  default:
313
315
  if (status >= 500) {
314
316
  return new AiError.InternalProviderError({
315
- description: message ?? "Server error",
317
+ description: describe(message) ?? "Server error",
316
318
  http
317
319
  })
318
320
  }
319
321
  return new AiError.UnknownError({
320
- description: message,
322
+ description: describe(message),
321
323
  http
322
324
  })
323
325
  }