@ai-sdk/amazon-bedrock 3.0.21 → 3.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -3,8 +3,14 @@ import {
3
3
  generateId,
4
4
  loadOptionalSetting,
5
5
  loadSetting,
6
- withoutTrailingSlash
6
+ withoutTrailingSlash,
7
+ withUserAgentSuffix as withUserAgentSuffix2
7
8
  } from "@ai-sdk/provider-utils";
9
+
10
+ // src/version.ts
11
+ var VERSION = true ? "3.0.23" : "0.0.0-test";
12
+
13
+ // src/bedrock-provider.ts
8
14
  import { anthropicTools as anthropicTools2 } from "@ai-sdk/anthropic/internal";
9
15
 
10
16
  // src/bedrock-chat-language-model.ts
@@ -1498,23 +1504,32 @@ function convertHeadersToRecord(headers) {
1498
1504
  // src/bedrock-sigv4-fetch.ts
1499
1505
  import {
1500
1506
  combineHeaders as combineHeaders4,
1501
- removeUndefinedEntries
1507
+ withUserAgentSuffix,
1508
+ getRuntimeEnvironmentUserAgent
1502
1509
  } from "@ai-sdk/provider-utils";
1503
1510
  import { AwsV4Signer } from "aws4fetch";
1504
1511
  function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {
1505
1512
  return async (input, init) => {
1506
1513
  var _a;
1514
+ const originalHeaders = extractHeaders(init == null ? void 0 : init.headers);
1515
+ const headersWithUserAgent = withUserAgentSuffix(
1516
+ originalHeaders,
1517
+ `ai-sdk/amazon-bedrock/${VERSION}`,
1518
+ getRuntimeEnvironmentUserAgent()
1519
+ );
1507
1520
  if (((_a = init == null ? void 0 : init.method) == null ? void 0 : _a.toUpperCase()) !== "POST" || !(init == null ? void 0 : init.body)) {
1508
- return fetch(input, init);
1521
+ return fetch(input, {
1522
+ ...init,
1523
+ headers: headersWithUserAgent
1524
+ });
1509
1525
  }
1510
1526
  const url = typeof input === "string" ? input : input instanceof URL ? input.href : input.url;
1511
- const originalHeaders = extractHeaders(init.headers);
1512
1527
  const body = prepareBodyString(init.body);
1513
1528
  const credentials = await getCredentials();
1514
1529
  const signer = new AwsV4Signer({
1515
1530
  url,
1516
1531
  method: "POST",
1517
- headers: Object.entries(removeUndefinedEntries(originalHeaders)),
1532
+ headers: Object.entries(headersWithUserAgent),
1518
1533
  body,
1519
1534
  region: credentials.region,
1520
1535
  accessKeyId: credentials.accessKeyId,
@@ -1524,12 +1539,11 @@ function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {
1524
1539
  });
1525
1540
  const signingResult = await signer.sign();
1526
1541
  const signedHeaders = convertHeadersToRecord(signingResult.headers);
1542
+ const combinedHeaders = combineHeaders4(headersWithUserAgent, signedHeaders);
1527
1543
  return fetch(input, {
1528
1544
  ...init,
1529
1545
  body,
1530
- headers: removeUndefinedEntries(
1531
- combineHeaders4(originalHeaders, signedHeaders)
1532
- )
1546
+ headers: combinedHeaders
1533
1547
  });
1534
1548
  };
1535
1549
  }
@@ -1547,13 +1561,17 @@ function prepareBodyString(body) {
1547
1561
  function createApiKeyFetchFunction(apiKey, fetch = globalThis.fetch) {
1548
1562
  return async (input, init) => {
1549
1563
  const originalHeaders = extractHeaders(init == null ? void 0 : init.headers);
1564
+ const headersWithUserAgent = withUserAgentSuffix(
1565
+ originalHeaders,
1566
+ `ai-sdk/amazon-bedrock/${VERSION}`,
1567
+ getRuntimeEnvironmentUserAgent()
1568
+ );
1569
+ const finalHeaders = combineHeaders4(headersWithUserAgent, {
1570
+ Authorization: `Bearer ${apiKey}`
1571
+ });
1550
1572
  return fetch(input, {
1551
1573
  ...init,
1552
- headers: removeUndefinedEntries(
1553
- combineHeaders4(originalHeaders, {
1554
- Authorization: `Bearer ${apiKey}`
1555
- })
1556
- )
1574
+ headers: finalHeaders
1557
1575
  });
1558
1576
  };
1559
1577
  }
@@ -1637,15 +1655,17 @@ Original error: ${errorMessage}`
1637
1655
  })}.amazonaws.com`
1638
1656
  )) != null ? _b : `https://bedrock-runtime.us-east-1.amazonaws.com`;
1639
1657
  };
1640
- const createChatModel = (modelId) => {
1658
+ const getHeaders = () => {
1641
1659
  var _a;
1642
- return new BedrockChatLanguageModel(modelId, {
1643
- baseUrl: getBaseUrl,
1644
- headers: (_a = options.headers) != null ? _a : {},
1645
- fetch: fetchFunction,
1646
- generateId
1647
- });
1660
+ const baseHeaders = (_a = options.headers) != null ? _a : {};
1661
+ return withUserAgentSuffix2(baseHeaders, `ai-sdk/amazon-bedrock/${VERSION}`);
1648
1662
  };
1663
+ const createChatModel = (modelId) => new BedrockChatLanguageModel(modelId, {
1664
+ baseUrl: getBaseUrl,
1665
+ headers: getHeaders,
1666
+ fetch: fetchFunction,
1667
+ generateId
1668
+ });
1649
1669
  const provider = function(modelId) {
1650
1670
  if (new.target) {
1651
1671
  throw new Error(
@@ -1654,22 +1674,16 @@ Original error: ${errorMessage}`
1654
1674
  }
1655
1675
  return createChatModel(modelId);
1656
1676
  };
1657
- const createEmbeddingModel = (modelId) => {
1658
- var _a;
1659
- return new BedrockEmbeddingModel(modelId, {
1660
- baseUrl: getBaseUrl,
1661
- headers: (_a = options.headers) != null ? _a : {},
1662
- fetch: fetchFunction
1663
- });
1664
- };
1665
- const createImageModel = (modelId) => {
1666
- var _a;
1667
- return new BedrockImageModel(modelId, {
1668
- baseUrl: getBaseUrl,
1669
- headers: (_a = options.headers) != null ? _a : {},
1670
- fetch: fetchFunction
1671
- });
1672
- };
1677
+ const createEmbeddingModel = (modelId) => new BedrockEmbeddingModel(modelId, {
1678
+ baseUrl: getBaseUrl,
1679
+ headers: getHeaders,
1680
+ fetch: fetchFunction
1681
+ });
1682
+ const createImageModel = (modelId) => new BedrockImageModel(modelId, {
1683
+ baseUrl: getBaseUrl,
1684
+ headers: getHeaders,
1685
+ fetch: fetchFunction
1686
+ });
1673
1687
  provider.languageModel = createChatModel;
1674
1688
  provider.embedding = createEmbeddingModel;
1675
1689
  provider.textEmbedding = createEmbeddingModel;
@@ -1681,6 +1695,7 @@ Original error: ${errorMessage}`
1681
1695
  }
1682
1696
  var bedrock = createAmazonBedrock();
1683
1697
  export {
1698
+ VERSION,
1684
1699
  bedrock,
1685
1700
  createAmazonBedrock
1686
1701
  };