@ai-sdk/amazon-bedrock 4.0.0-beta.46 → 4.0.0-beta.48

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
@@ -1,4 +1,5 @@
1
1
  // src/bedrock-provider.ts
2
+ import { anthropicTools as anthropicTools2 } from "@ai-sdk/anthropic/internal";
2
3
  import {
3
4
  generateId,
4
5
  loadOptionalSetting,
@@ -7,12 +8,6 @@ import {
7
8
  withUserAgentSuffix as withUserAgentSuffix2
8
9
  } from "@ai-sdk/provider-utils";
9
10
 
10
- // src/version.ts
11
- var VERSION = true ? "4.0.0-beta.46" : "0.0.0-test";
12
-
13
- // src/bedrock-provider.ts
14
- import { anthropicTools as anthropicTools2 } from "@ai-sdk/anthropic/internal";
15
-
16
11
  // src/bedrock-chat-language-model.ts
17
12
  import {
18
13
  combineHeaders,
@@ -1529,6 +1524,11 @@ import {
1529
1524
  getRuntimeEnvironmentUserAgent
1530
1525
  } from "@ai-sdk/provider-utils";
1531
1526
  import { AwsV4Signer } from "aws4fetch";
1527
+
1528
+ // src/version.ts
1529
+ var VERSION = true ? "4.0.0-beta.48" : "0.0.0-test";
1530
+
1531
+ // src/bedrock-sigv4-fetch.ts
1532
1532
  function createSigV4FetchFunction(getCredentials, fetch = globalThis.fetch) {
1533
1533
  return async (input, init) => {
1534
1534
  var _a, _b;
@@ -1609,6 +1609,130 @@ function createApiKeyFetchFunction(apiKey, fetch = globalThis.fetch) {
1609
1609
  };
1610
1610
  }
1611
1611
 
1612
+ // src/reranking/bedrock-reranking-model.ts
1613
+ import {
1614
+ combineHeaders as combineHeaders5,
1615
+ createJsonErrorResponseHandler as createJsonErrorResponseHandler4,
1616
+ createJsonResponseHandler as createJsonResponseHandler4,
1617
+ parseProviderOptions as parseProviderOptions4,
1618
+ postJsonToApi as postJsonToApi4,
1619
+ resolve as resolve4
1620
+ } from "@ai-sdk/provider-utils";
1621
+
1622
+ // src/reranking/bedrock-reranking-api.ts
1623
+ import { lazySchema, zodSchema } from "@ai-sdk/provider-utils";
1624
+ import { z as z7 } from "zod/v4";
1625
+ var bedrockRerankingResponseSchema = lazySchema(
1626
+ () => zodSchema(
1627
+ z7.object({
1628
+ results: z7.array(
1629
+ z7.object({
1630
+ index: z7.number(),
1631
+ relevanceScore: z7.number()
1632
+ })
1633
+ ),
1634
+ nextToken: z7.string().optional()
1635
+ })
1636
+ )
1637
+ );
1638
+
1639
+ // src/reranking/bedrock-reranking-options.ts
1640
+ import { lazySchema as lazySchema2, zodSchema as zodSchema2 } from "@ai-sdk/provider-utils";
1641
+ import { z as z8 } from "zod/v4";
1642
+ var bedrockRerankingOptionsSchema = lazySchema2(
1643
+ () => zodSchema2(
1644
+ z8.object({
1645
+ /**
1646
+ * If the total number of results was greater than could fit in a response, a token is returned in the nextToken field. You can enter that token in this field to return the next batch of results.
1647
+ */
1648
+ nextToken: z8.string().optional(),
1649
+ /**
1650
+ * Additional model request fields to pass to the model.
1651
+ */
1652
+ additionalModelRequestFields: z8.record(z8.string(), z8.any()).optional()
1653
+ })
1654
+ )
1655
+ );
1656
+
1657
+ // src/reranking/bedrock-reranking-model.ts
1658
+ var BedrockRerankingModel = class {
1659
+ constructor(modelId, config) {
1660
+ this.modelId = modelId;
1661
+ this.config = config;
1662
+ this.specificationVersion = "v3";
1663
+ this.provider = "amazon-bedrock";
1664
+ }
1665
+ async doRerank({
1666
+ documents,
1667
+ headers,
1668
+ query,
1669
+ topN,
1670
+ abortSignal,
1671
+ providerOptions
1672
+ }) {
1673
+ const bedrockOptions = await parseProviderOptions4({
1674
+ provider: "bedrock",
1675
+ providerOptions,
1676
+ schema: bedrockRerankingOptionsSchema
1677
+ });
1678
+ const {
1679
+ value: response,
1680
+ responseHeaders,
1681
+ rawValue
1682
+ } = await postJsonToApi4({
1683
+ url: `${this.config.baseUrl()}/rerank`,
1684
+ headers: await resolve4(
1685
+ combineHeaders5(await resolve4(this.config.headers), headers)
1686
+ ),
1687
+ body: {
1688
+ nextToken: bedrockOptions == null ? void 0 : bedrockOptions.nextToken,
1689
+ queries: [
1690
+ {
1691
+ textQuery: { text: query },
1692
+ type: "TEXT"
1693
+ }
1694
+ ],
1695
+ rerankingConfiguration: {
1696
+ bedrockRerankingConfiguration: {
1697
+ modelConfiguration: {
1698
+ modelArn: `arn:aws:bedrock:${this.config.region}::foundation-model/${this.modelId}`,
1699
+ additionalModelRequestFields: bedrockOptions == null ? void 0 : bedrockOptions.additionalModelRequestFields
1700
+ },
1701
+ numberOfResults: topN
1702
+ },
1703
+ type: "BEDROCK_RERANKING_MODEL"
1704
+ },
1705
+ sources: documents.values.map((value) => ({
1706
+ type: "INLINE",
1707
+ inlineDocumentSource: documents.type === "text" ? {
1708
+ type: "TEXT",
1709
+ textDocument: { text: value }
1710
+ } : {
1711
+ type: "JSON",
1712
+ jsonDocument: value
1713
+ }
1714
+ }))
1715
+ },
1716
+ failedResponseHandler: createJsonErrorResponseHandler4({
1717
+ errorSchema: BedrockErrorSchema,
1718
+ errorToMessage: (error) => `${error.type}: ${error.message}`
1719
+ }),
1720
+ successfulResponseHandler: createJsonResponseHandler4(
1721
+ bedrockRerankingResponseSchema
1722
+ ),
1723
+ fetch: this.config.fetch,
1724
+ abortSignal
1725
+ });
1726
+ return {
1727
+ ranking: response.results,
1728
+ response: {
1729
+ headers: responseHeaders,
1730
+ body: rawValue
1731
+ }
1732
+ };
1733
+ }
1734
+ };
1735
+
1612
1736
  // src/bedrock-provider.ts
1613
1737
  function createAmazonBedrock(options = {}) {
1614
1738
  const rawApiKey = loadOptionalSetting({
@@ -1677,7 +1801,12 @@ Original error: ${errorMessage}`
1677
1801
  throw error;
1678
1802
  }
1679
1803
  }, options.fetch);
1680
- const getBaseUrl = () => {
1804
+ const getHeaders = () => {
1805
+ var _a;
1806
+ const baseHeaders = (_a = options.headers) != null ? _a : {};
1807
+ return withUserAgentSuffix2(baseHeaders, `ai-sdk/amazon-bedrock/${VERSION}`);
1808
+ };
1809
+ const getBedrockRuntimeBaseUrl = () => {
1681
1810
  var _a, _b;
1682
1811
  return (_b = withoutTrailingSlash(
1683
1812
  (_a = options.baseURL) != null ? _a : `https://bedrock-runtime.${loadSetting({
@@ -1688,13 +1817,19 @@ Original error: ${errorMessage}`
1688
1817
  })}.amazonaws.com`
1689
1818
  )) != null ? _b : `https://bedrock-runtime.us-east-1.amazonaws.com`;
1690
1819
  };
1691
- const getHeaders = () => {
1692
- var _a;
1693
- const baseHeaders = (_a = options.headers) != null ? _a : {};
1694
- return withUserAgentSuffix2(baseHeaders, `ai-sdk/amazon-bedrock/${VERSION}`);
1820
+ const getBedrockAgentRuntimeBaseUrl = () => {
1821
+ var _a, _b;
1822
+ return (_b = withoutTrailingSlash(
1823
+ (_a = options.baseURL) != null ? _a : `https://bedrock-agent-runtime.${loadSetting({
1824
+ settingValue: options.region,
1825
+ settingName: "region",
1826
+ environmentVariableName: "AWS_REGION",
1827
+ description: "AWS region"
1828
+ })}.amazonaws.com`
1829
+ )) != null ? _b : `https://bedrock-agent-runtime.us-west-2.amazonaws.com`;
1695
1830
  };
1696
1831
  const createChatModel = (modelId) => new BedrockChatLanguageModel(modelId, {
1697
- baseUrl: getBaseUrl,
1832
+ baseUrl: getBedrockRuntimeBaseUrl,
1698
1833
  headers: getHeaders,
1699
1834
  fetch: fetchFunction,
1700
1835
  generateId
@@ -1708,12 +1843,23 @@ Original error: ${errorMessage}`
1708
1843
  return createChatModel(modelId);
1709
1844
  };
1710
1845
  const createEmbeddingModel = (modelId) => new BedrockEmbeddingModel(modelId, {
1711
- baseUrl: getBaseUrl,
1846
+ baseUrl: getBedrockRuntimeBaseUrl,
1712
1847
  headers: getHeaders,
1713
1848
  fetch: fetchFunction
1714
1849
  });
1715
1850
  const createImageModel = (modelId) => new BedrockImageModel(modelId, {
1716
- baseUrl: getBaseUrl,
1851
+ baseUrl: getBedrockRuntimeBaseUrl,
1852
+ headers: getHeaders,
1853
+ fetch: fetchFunction
1854
+ });
1855
+ const createRerankingModel = (modelId) => new BedrockRerankingModel(modelId, {
1856
+ baseUrl: getBedrockAgentRuntimeBaseUrl,
1857
+ region: loadSetting({
1858
+ settingValue: options.region,
1859
+ settingName: "region",
1860
+ environmentVariableName: "AWS_REGION",
1861
+ description: "AWS region"
1862
+ }),
1717
1863
  headers: getHeaders,
1718
1864
  fetch: fetchFunction
1719
1865
  });
@@ -1724,6 +1870,8 @@ Original error: ${errorMessage}`
1724
1870
  provider.textEmbeddingModel = createEmbeddingModel;
1725
1871
  provider.image = createImageModel;
1726
1872
  provider.imageModel = createImageModel;
1873
+ provider.reranking = createRerankingModel;
1874
+ provider.rerankingModel = createRerankingModel;
1727
1875
  provider.tools = anthropicTools2;
1728
1876
  return provider;
1729
1877
  }