@ai-sdk/amazon-bedrock 4.0.114 → 4.0.116

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.
@@ -35,7 +35,7 @@ var import_provider_utils = require("@ai-sdk/provider-utils");
35
35
  var import_aws4fetch = require("aws4fetch");
36
36
 
37
37
  // src/version.ts
38
- var VERSION = true ? "4.0.114" : "0.0.0-test";
38
+ var VERSION = true ? "4.0.116" : "0.0.0-test";
39
39
 
40
40
  // src/bedrock-sigv4-fetch.ts
41
41
  function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
@@ -23,7 +23,7 @@ import {
23
23
  import { AwsV4Signer } from "aws4fetch";
24
24
 
25
25
  // src/version.ts
26
- var VERSION = true ? "4.0.114" : "0.0.0-test";
26
+ var VERSION = true ? "4.0.116" : "0.0.0-test";
27
27
 
28
28
  // src/bedrock-sigv4-fetch.ts
29
29
  function createSigV4FetchFunction(getCredentials, fetch, service = "bedrock") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/amazon-bedrock",
3
- "version": "4.0.114",
3
+ "version": "4.0.116",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -44,10 +44,10 @@
44
44
  "@smithy/eventstream-codec": "^4.0.1",
45
45
  "@smithy/util-utf8": "^4.0.0",
46
46
  "aws4fetch": "^1.0.20",
47
- "@ai-sdk/anthropic": "3.0.82",
48
- "@ai-sdk/openai": "3.0.69",
47
+ "@ai-sdk/anthropic": "3.0.83",
48
+ "@ai-sdk/openai": "3.0.70",
49
49
  "@ai-sdk/provider": "3.0.10",
50
- "@ai-sdk/provider-utils": "4.0.27"
50
+ "@ai-sdk/provider-utils": "4.0.28"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/node": "20.17.24",
@@ -73,7 +73,9 @@ export class BedrockEmbeddingModel implements EmbeddingModelV3 {
73
73
  // adapt here based on the modelId.
74
74
  const isNovaModel =
75
75
  this.modelId.startsWith('amazon.nova-') && this.modelId.includes('embed');
76
- const isCohereModel = this.modelId.startsWith('cohere.embed-');
76
+ // Use `includes` so cross-region inference profile ids (e.g.
77
+ // `us.cohere.embed-v4:0`, `global.cohere.embed-v4:0`) are detected too.
78
+ const isCohereModel = this.modelId.includes('cohere.embed-');
77
79
 
78
80
  const args = isNovaModel
79
81
  ? {
@@ -104,7 +106,7 @@ export class BedrockEmbeddingModel implements EmbeddingModelV3 {
104
106
  };
105
107
 
106
108
  const url = this.getUrl(this.modelId);
107
- const { value: response } = await postJsonToApi({
109
+ const { value: response, responseHeaders } = await postJsonToApi({
108
110
  url,
109
111
  headers: await resolve(
110
112
  combineHeaders(await resolve(this.config.headers), headers),
@@ -145,12 +147,15 @@ export class BedrockEmbeddingModel implements EmbeddingModelV3 {
145
147
  }
146
148
 
147
149
  // Extract token count based on response format
150
+ const headerTokenCount = Number(
151
+ responseHeaders?.['x-amzn-bedrock-input-token-count'],
152
+ );
148
153
  const tokens =
149
154
  'inputTextTokenCount' in response
150
155
  ? response.inputTextTokenCount // Titan response
151
156
  : 'inputTokenCount' in response
152
157
  ? (response.inputTokenCount ?? 0) // Nova response
153
- : NaN; // Cohere doesn't return token count
158
+ : headerTokenCount;
154
159
 
155
160
  return {
156
161
  embeddings: [embedding],