@ai-sdk/amazon-bedrock 3.0.28 → 3.0.30

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
@@ -8,7 +8,7 @@ import {
8
8
  } from "@ai-sdk/provider-utils";
9
9
 
10
10
  // src/version.ts
11
- var VERSION = true ? "3.0.28" : "0.0.0-test";
11
+ var VERSION = true ? "3.0.30" : "0.0.0-test";
12
12
 
13
13
  // src/bedrock-provider.ts
14
14
  import { anthropicTools as anthropicTools2 } from "@ai-sdk/anthropic/internal";
@@ -60,6 +60,18 @@ var BEDROCK_DOCUMENT_MIME_TYPES = {
60
60
 
61
61
  // src/bedrock-chat-options.ts
62
62
  import { z } from "zod/v4";
63
+ var bedrockFilePartProviderOptions = z.object({
64
+ /**
65
+ * Citation configuration for this document.
66
+ * When enabled, this document will generate citations in the response.
67
+ */
68
+ citations: z.object({
69
+ /**
70
+ * Enable citations for this document
71
+ */
72
+ enabled: z.boolean()
73
+ }).optional()
74
+ });
63
75
  var bedrockProviderOptions = z.object({
64
76
  /**
65
77
  * Additional inference parameters that the model supports,
@@ -307,6 +319,15 @@ function getCachePoint(providerMetadata) {
307
319
  var _a;
308
320
  return (_a = providerMetadata == null ? void 0 : providerMetadata.bedrock) == null ? void 0 : _a.cachePoint;
309
321
  }
322
+ async function shouldEnableCitations(providerMetadata) {
323
+ var _a, _b;
324
+ const bedrockOptions = await parseProviderOptions({
325
+ provider: "bedrock",
326
+ providerOptions: providerMetadata,
327
+ schema: bedrockFilePartProviderOptions
328
+ });
329
+ return (_b = (_a = bedrockOptions == null ? void 0 : bedrockOptions.citations) == null ? void 0 : _a.enabled) != null ? _b : false;
330
+ }
310
331
  async function convertToBedrockChatMessages(prompt) {
311
332
  const blocks = groupIntoBlocks(prompt);
312
333
  let system = [];
@@ -367,11 +388,17 @@ async function convertToBedrockChatMessages(prompt) {
367
388
  message: "File mime type is required in user message part content"
368
389
  });
369
390
  }
391
+ const enableCitations = await shouldEnableCitations(
392
+ part.providerOptions
393
+ );
370
394
  bedrockContent.push({
371
395
  document: {
372
396
  format: getBedrockDocumentFormat(part.mediaType),
373
397
  name: generateDocumentName(),
374
- source: { bytes: convertToBase64(part.data) }
398
+ source: { bytes: convertToBase64(part.data) },
399
+ ...enableCitations && {
400
+ citations: { enabled: true }
401
+ }
375
402
  }
376
403
  });
377
404
  }