@ai-sdk/cohere 4.0.0-beta.2 → 4.0.0-beta.20

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,144 @@
1
1
  # @ai-sdk/cohere
2
2
 
3
+ ## 4.0.0-beta.20
4
+
5
+ ### Patch Changes
6
+
7
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
8
+ - Updated dependencies [90e2d8a]
9
+ - @ai-sdk/provider-utils@5.0.0-beta.18
10
+
11
+ ## 4.0.0-beta.19
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [3ae1786]
16
+ - @ai-sdk/provider-utils@5.0.0-beta.17
17
+
18
+ ## 4.0.0-beta.18
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [176466a]
23
+ - @ai-sdk/provider@4.0.0-beta.10
24
+ - @ai-sdk/provider-utils@5.0.0-beta.16
25
+
26
+ ## 4.0.0-beta.17
27
+
28
+ ### Patch Changes
29
+
30
+ - Updated dependencies [e311194]
31
+ - @ai-sdk/provider@4.0.0-beta.9
32
+ - @ai-sdk/provider-utils@5.0.0-beta.15
33
+
34
+ ## 4.0.0-beta.16
35
+
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies [34bd95d]
39
+ - Updated dependencies [008271d]
40
+ - @ai-sdk/provider@4.0.0-beta.8
41
+ - @ai-sdk/provider-utils@5.0.0-beta.14
42
+
43
+ ## 4.0.0-beta.15
44
+
45
+ ### Patch Changes
46
+
47
+ - Updated dependencies [b0c2869]
48
+ - Updated dependencies [7e26e81]
49
+ - @ai-sdk/provider-utils@5.0.0-beta.13
50
+
51
+ ## 4.0.0-beta.14
52
+
53
+ ### Patch Changes
54
+
55
+ - Updated dependencies [46d1149]
56
+ - @ai-sdk/provider-utils@5.0.0-beta.12
57
+
58
+ ## 4.0.0-beta.13
59
+
60
+ ### Patch Changes
61
+
62
+ - 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
63
+ - Updated dependencies [6fd51c0]
64
+ - @ai-sdk/provider-utils@5.0.0-beta.11
65
+ - @ai-sdk/provider@4.0.0-beta.7
66
+
67
+ ## 4.0.0-beta.12
68
+
69
+ ### Patch Changes
70
+
71
+ - c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
72
+ - Updated dependencies [c29a26f]
73
+ - @ai-sdk/provider-utils@5.0.0-beta.10
74
+ - @ai-sdk/provider@4.0.0-beta.6
75
+
76
+ ## 4.0.0-beta.11
77
+
78
+ ### Patch Changes
79
+
80
+ - 38fc777: Add AI Gateway hint to provider READMEs
81
+
82
+ ## 4.0.0-beta.10
83
+
84
+ ### Patch Changes
85
+
86
+ - Updated dependencies [2e17091]
87
+ - @ai-sdk/provider-utils@5.0.0-beta.9
88
+
89
+ ## 4.0.0-beta.9
90
+
91
+ ### Patch Changes
92
+
93
+ - Updated dependencies [986c6fd]
94
+ - Updated dependencies [493295c]
95
+ - @ai-sdk/provider-utils@5.0.0-beta.8
96
+
97
+ ## 4.0.0-beta.8
98
+
99
+ ### Patch Changes
100
+
101
+ - Updated dependencies [1f509d4]
102
+ - @ai-sdk/provider-utils@5.0.0-beta.7
103
+ - @ai-sdk/provider@4.0.0-beta.5
104
+
105
+ ## 4.0.0-beta.7
106
+
107
+ ### Patch Changes
108
+
109
+ - 74d520f: feat: migrate providers to support new top-level `reasoning` parameter
110
+
111
+ ## 4.0.0-beta.6
112
+
113
+ ### Patch Changes
114
+
115
+ - Updated dependencies [3887c70]
116
+ - @ai-sdk/provider-utils@5.0.0-beta.6
117
+ - @ai-sdk/provider@4.0.0-beta.4
118
+
119
+ ## 4.0.0-beta.5
120
+
121
+ ### Patch Changes
122
+
123
+ - Updated dependencies [776b617]
124
+ - @ai-sdk/provider-utils@5.0.0-beta.5
125
+ - @ai-sdk/provider@4.0.0-beta.3
126
+
127
+ ## 4.0.0-beta.4
128
+
129
+ ### Patch Changes
130
+
131
+ - Updated dependencies [61753c3]
132
+ - @ai-sdk/provider-utils@5.0.0-beta.4
133
+
134
+ ## 4.0.0-beta.3
135
+
136
+ ### Patch Changes
137
+
138
+ - Updated dependencies [f7d4f01]
139
+ - @ai-sdk/provider-utils@5.0.0-beta.3
140
+ - @ai-sdk/provider@4.0.0-beta.2
141
+
3
142
  ## 4.0.0-beta.2
4
143
 
5
144
  ### Patch Changes
@@ -224,13 +363,13 @@
224
363
  Before
225
364
 
226
365
  ```ts
227
- model.textEmbeddingModel('my-model-id');
366
+ model.textEmbeddingModel("my-model-id");
228
367
  ```
229
368
 
230
369
  After
231
370
 
232
371
  ```ts
233
- model.embeddingModel('my-model-id');
372
+ model.embeddingModel("my-model-id");
234
373
  ```
235
374
 
236
375
  - 2625a04: feat(openai); update spec for mcp approval
@@ -442,13 +581,13 @@
442
581
  Before
443
582
 
444
583
  ```ts
445
- model.textEmbeddingModel('my-model-id');
584
+ model.textEmbeddingModel("my-model-id");
446
585
  ```
447
586
 
448
587
  After
449
588
 
450
589
  ```ts
451
- model.embeddingModel('my-model-id');
590
+ model.embeddingModel("my-model-id");
452
591
  ```
453
592
 
454
593
  - Updated dependencies [8d9e8ad]
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  The **[Cohere provider](https://ai-sdk.dev/providers/ai-sdk-providers/cohere)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the Cohere API.
4
4
 
5
+ > **Deploying to Vercel?** With Vercel's AI Gateway you can access Cohere (and hundreds of models from other providers) — no additional packages, API keys, or extra cost. [Get started with AI Gateway](https://vercel.com/ai-gateway).
6
+
5
7
  ## Setup
6
8
 
7
9
  The Cohere provider is available in the `@ai-sdk/cohere` module. You can install it with
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod/v4';
2
- import { ProviderV3, LanguageModelV3, EmbeddingModelV3, RerankingModelV3 } from '@ai-sdk/provider';
2
+ import { ProviderV4, LanguageModelV4, EmbeddingModelV4, RerankingModelV4 } from '@ai-sdk/provider';
3
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
5
5
  type CohereChatModelId = 'command-a-03-2025' | 'command-a-reasoning-08-2025' | 'command-r7b-12-2024' | 'command-r-plus-04-2024' | 'command-r-plus' | 'command-r-08-2024' | 'command-r-03-2024' | 'command-r' | 'command' | 'command-nightly' | 'command-light' | 'command-light-nightly' | (string & {});
@@ -47,36 +47,36 @@ declare const cohereEmbeddingModelOptions: z.ZodObject<{
47
47
  }, z.core.$strip>;
48
48
  type CohereEmbeddingModelOptions = z.infer<typeof cohereEmbeddingModelOptions>;
49
49
 
50
- interface CohereProvider extends ProviderV3 {
51
- (modelId: CohereChatModelId): LanguageModelV3;
50
+ interface CohereProvider extends ProviderV4 {
51
+ (modelId: CohereChatModelId): LanguageModelV4;
52
52
  /**
53
53
  * Creates a model for text generation.
54
54
  */
55
- languageModel(modelId: CohereChatModelId): LanguageModelV3;
55
+ languageModel(modelId: CohereChatModelId): LanguageModelV4;
56
56
  /**
57
57
  * Creates a model for text embeddings.
58
58
  */
59
- embedding(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
59
+ embedding(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
60
60
  /**
61
61
  * Creates a model for text embeddings.
62
62
  */
63
- embeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
63
+ embeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
64
64
  /**
65
65
  * @deprecated Use `embedding` instead.
66
66
  */
67
- textEmbedding(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
67
+ textEmbedding(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
68
68
  /**
69
69
  * @deprecated Use `embeddingModel` instead.
70
70
  */
71
- textEmbeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
71
+ textEmbeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
72
72
  /**
73
73
  * Creates a model for reranking.
74
74
  */
75
- reranking(modelId: CohereRerankingModelId): RerankingModelV3;
75
+ reranking(modelId: CohereRerankingModelId): RerankingModelV4;
76
76
  /**
77
77
  * Creates a model for reranking.
78
78
  */
79
- rerankingModel(modelId: CohereRerankingModelId): RerankingModelV3;
79
+ rerankingModel(modelId: CohereRerankingModelId): RerankingModelV4;
80
80
  }
81
81
  interface CohereProviderSettings {
82
82
  /**
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod/v4';
2
- import { ProviderV3, LanguageModelV3, EmbeddingModelV3, RerankingModelV3 } from '@ai-sdk/provider';
2
+ import { ProviderV4, LanguageModelV4, EmbeddingModelV4, RerankingModelV4 } from '@ai-sdk/provider';
3
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
5
5
  type CohereChatModelId = 'command-a-03-2025' | 'command-a-reasoning-08-2025' | 'command-r7b-12-2024' | 'command-r-plus-04-2024' | 'command-r-plus' | 'command-r-08-2024' | 'command-r-03-2024' | 'command-r' | 'command' | 'command-nightly' | 'command-light' | 'command-light-nightly' | (string & {});
@@ -47,36 +47,36 @@ declare const cohereEmbeddingModelOptions: z.ZodObject<{
47
47
  }, z.core.$strip>;
48
48
  type CohereEmbeddingModelOptions = z.infer<typeof cohereEmbeddingModelOptions>;
49
49
 
50
- interface CohereProvider extends ProviderV3 {
51
- (modelId: CohereChatModelId): LanguageModelV3;
50
+ interface CohereProvider extends ProviderV4 {
51
+ (modelId: CohereChatModelId): LanguageModelV4;
52
52
  /**
53
53
  * Creates a model for text generation.
54
54
  */
55
- languageModel(modelId: CohereChatModelId): LanguageModelV3;
55
+ languageModel(modelId: CohereChatModelId): LanguageModelV4;
56
56
  /**
57
57
  * Creates a model for text embeddings.
58
58
  */
59
- embedding(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
59
+ embedding(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
60
60
  /**
61
61
  * Creates a model for text embeddings.
62
62
  */
63
- embeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
63
+ embeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
64
64
  /**
65
65
  * @deprecated Use `embedding` instead.
66
66
  */
67
- textEmbedding(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
67
+ textEmbedding(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
68
68
  /**
69
69
  * @deprecated Use `embeddingModel` instead.
70
70
  */
71
- textEmbeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV3;
71
+ textEmbeddingModel(modelId: CohereEmbeddingModelId): EmbeddingModelV4;
72
72
  /**
73
73
  * Creates a model for reranking.
74
74
  */
75
- reranking(modelId: CohereRerankingModelId): RerankingModelV3;
75
+ reranking(modelId: CohereRerankingModelId): RerankingModelV4;
76
76
  /**
77
77
  * Creates a model for reranking.
78
78
  */
79
- rerankingModel(modelId: CohereRerankingModelId): RerankingModelV3;
79
+ rerankingModel(modelId: CohereRerankingModelId): RerankingModelV4;
80
80
  }
81
81
  interface CohereProviderSettings {
82
82
  /**
package/dist/index.js CHANGED
@@ -28,10 +28,10 @@ module.exports = __toCommonJS(index_exports);
28
28
 
29
29
  // src/cohere-provider.ts
30
30
  var import_provider4 = require("@ai-sdk/provider");
31
- var import_provider_utils7 = require("@ai-sdk/provider-utils");
31
+ var import_provider_utils8 = require("@ai-sdk/provider-utils");
32
32
 
33
33
  // src/cohere-chat-language-model.ts
34
- var import_provider_utils2 = require("@ai-sdk/provider-utils");
34
+ var import_provider_utils3 = require("@ai-sdk/provider-utils");
35
35
  var import_v43 = require("zod/v4");
36
36
 
37
37
  // src/cohere-chat-options.ts
@@ -157,6 +157,7 @@ function convertCohereUsage(tokens) {
157
157
 
158
158
  // src/convert-to-cohere-chat-prompt.ts
159
159
  var import_provider2 = require("@ai-sdk/provider");
160
+ var import_provider_utils2 = require("@ai-sdk/provider-utils");
160
161
  function convertToCohereChatPrompt(prompt) {
161
162
  const messages = [];
162
163
  const documents = [];
@@ -177,6 +178,11 @@ function convertToCohereChatPrompt(prompt) {
177
178
  return part.text;
178
179
  }
179
180
  case "file": {
181
+ if ((0, import_provider_utils2.isProviderReference)(part.data)) {
182
+ throw new import_provider2.UnsupportedFunctionalityError({
183
+ functionality: "file parts with provider references"
184
+ });
185
+ }
180
186
  let textContent;
181
187
  if (typeof part.data === "string") {
182
188
  textContent = part.data;
@@ -295,7 +301,7 @@ function mapCohereFinishReason(finishReason) {
295
301
  // src/cohere-chat-language-model.ts
296
302
  var CohereChatLanguageModel = class {
297
303
  constructor(modelId, config) {
298
- this.specificationVersion = "v3";
304
+ this.specificationVersion = "v4";
299
305
  this.supportedUrls = {
300
306
  // No URLs are supported.
301
307
  };
@@ -316,12 +322,14 @@ var CohereChatLanguageModel = class {
316
322
  stopSequences,
317
323
  responseFormat,
318
324
  seed,
325
+ reasoning,
319
326
  tools,
320
327
  toolChoice,
321
328
  providerOptions
322
329
  }) {
323
- var _a, _b;
324
- const cohereOptions = (_a = await (0, import_provider_utils2.parseProviderOptions)({
330
+ var _a;
331
+ const warnings = [];
332
+ const cohereOptions = (_a = await (0, import_provider_utils3.parseProviderOptions)({
325
333
  provider: "cohere",
326
334
  providerOptions,
327
335
  schema: cohereLanguageModelOptions
@@ -336,6 +344,7 @@ var CohereChatLanguageModel = class {
336
344
  toolChoice: cohereToolChoice,
337
345
  toolWarnings
338
346
  } = prepareTools({ tools, toolChoice });
347
+ warnings.push(...toolWarnings, ...promptWarnings);
339
348
  return {
340
349
  args: {
341
350
  // model id:
@@ -358,15 +367,14 @@ var CohereChatLanguageModel = class {
358
367
  tool_choice: cohereToolChoice,
359
368
  // documents for RAG:
360
369
  ...cohereDocuments.length > 0 && { documents: cohereDocuments },
361
- // reasoning
362
- ...cohereOptions.thinking && {
363
- thinking: {
364
- type: (_b = cohereOptions.thinking.type) != null ? _b : "enabled",
365
- token_budget: cohereOptions.thinking.tokenBudget
366
- }
367
- }
370
+ // reasoning:
371
+ ...resolveCohereThinking({
372
+ reasoning,
373
+ cohereOptions,
374
+ warnings
375
+ })
368
376
  },
369
- warnings: [...toolWarnings, ...promptWarnings]
377
+ warnings
370
378
  };
371
379
  }
372
380
  async doGenerate(options) {
@@ -376,12 +384,12 @@ var CohereChatLanguageModel = class {
376
384
  responseHeaders,
377
385
  value: response,
378
386
  rawValue: rawResponse
379
- } = await (0, import_provider_utils2.postJsonToApi)({
387
+ } = await (0, import_provider_utils3.postJsonToApi)({
380
388
  url: `${this.config.baseURL}/chat`,
381
- headers: (0, import_provider_utils2.combineHeaders)(this.config.headers(), options.headers),
389
+ headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers),
382
390
  body: args,
383
391
  failedResponseHandler: cohereFailedResponseHandler,
384
- successfulResponseHandler: (0, import_provider_utils2.createJsonResponseHandler)(
392
+ successfulResponseHandler: (0, import_provider_utils3.createJsonResponseHandler)(
385
393
  cohereChatResponseSchema
386
394
  ),
387
395
  abortSignal: options.abortSignal,
@@ -445,12 +453,12 @@ var CohereChatLanguageModel = class {
445
453
  }
446
454
  async doStream(options) {
447
455
  const { args, warnings } = await this.getArgs(options);
448
- const { responseHeaders, value: response } = await (0, import_provider_utils2.postJsonToApi)({
456
+ const { responseHeaders, value: response } = await (0, import_provider_utils3.postJsonToApi)({
449
457
  url: `${this.config.baseURL}/chat`,
450
- headers: (0, import_provider_utils2.combineHeaders)(this.config.headers(), options.headers),
458
+ headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), options.headers),
451
459
  body: { ...args, stream: true },
452
460
  failedResponseHandler: cohereFailedResponseHandler,
453
- successfulResponseHandler: (0, import_provider_utils2.createEventSourceResponseHandler)(
461
+ successfulResponseHandler: (0, import_provider_utils3.createEventSourceResponseHandler)(
454
462
  cohereChatChunkSchema
455
463
  ),
456
464
  abortSignal: options.abortSignal,
@@ -617,6 +625,37 @@ var CohereChatLanguageModel = class {
617
625
  };
618
626
  }
619
627
  };
628
+ function resolveCohereThinking({
629
+ reasoning,
630
+ cohereOptions,
631
+ warnings
632
+ }) {
633
+ var _a;
634
+ if (cohereOptions.thinking) {
635
+ return {
636
+ thinking: {
637
+ type: (_a = cohereOptions.thinking.type) != null ? _a : "enabled",
638
+ token_budget: cohereOptions.thinking.tokenBudget
639
+ }
640
+ };
641
+ }
642
+ if (!(0, import_provider_utils3.isCustomReasoning)(reasoning)) {
643
+ return {};
644
+ }
645
+ if (reasoning === "none") {
646
+ return { thinking: { type: "disabled" } };
647
+ }
648
+ const tokenBudget = (0, import_provider_utils3.mapReasoningToProviderBudget)({
649
+ reasoning,
650
+ maxOutputTokens: 32768,
651
+ maxReasoningBudget: 32768,
652
+ warnings
653
+ });
654
+ if (tokenBudget == null) {
655
+ return {};
656
+ }
657
+ return { thinking: { type: "enabled", token_budget: tokenBudget } };
658
+ }
620
659
  var cohereChatResponseSchema = import_v43.z.object({
621
660
  generation_id: import_v43.z.string().nullish(),
622
661
  message: import_v43.z.object({
@@ -783,7 +822,7 @@ var cohereChatChunkSchema = import_v43.z.discriminatedUnion("type", [
783
822
 
784
823
  // src/cohere-embedding-model.ts
785
824
  var import_provider3 = require("@ai-sdk/provider");
786
- var import_provider_utils3 = require("@ai-sdk/provider-utils");
825
+ var import_provider_utils4 = require("@ai-sdk/provider-utils");
787
826
  var import_v45 = require("zod/v4");
788
827
 
789
828
  // src/cohere-embedding-options.ts
@@ -820,7 +859,7 @@ var cohereEmbeddingModelOptions = import_v44.z.object({
820
859
  // src/cohere-embedding-model.ts
821
860
  var CohereEmbeddingModel = class {
822
861
  constructor(modelId, config) {
823
- this.specificationVersion = "v3";
862
+ this.specificationVersion = "v4";
824
863
  this.maxEmbeddingsPerCall = 96;
825
864
  this.supportsParallelCalls = true;
826
865
  this.modelId = modelId;
@@ -836,7 +875,7 @@ var CohereEmbeddingModel = class {
836
875
  providerOptions
837
876
  }) {
838
877
  var _a;
839
- const embeddingOptions = await (0, import_provider_utils3.parseProviderOptions)({
878
+ const embeddingOptions = await (0, import_provider_utils4.parseProviderOptions)({
840
879
  provider: "cohere",
841
880
  providerOptions,
842
881
  schema: cohereEmbeddingModelOptions
@@ -853,9 +892,9 @@ var CohereEmbeddingModel = class {
853
892
  responseHeaders,
854
893
  value: response,
855
894
  rawValue
856
- } = await (0, import_provider_utils3.postJsonToApi)({
895
+ } = await (0, import_provider_utils4.postJsonToApi)({
857
896
  url: `${this.config.baseURL}/embed`,
858
- headers: (0, import_provider_utils3.combineHeaders)(this.config.headers(), headers),
897
+ headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), headers),
859
898
  body: {
860
899
  model: this.modelId,
861
900
  // The AI SDK only supports 'float' embeddings. Note that the Cohere API
@@ -868,7 +907,7 @@ var CohereEmbeddingModel = class {
868
907
  output_dimension: embeddingOptions == null ? void 0 : embeddingOptions.outputDimension
869
908
  },
870
909
  failedResponseHandler: cohereFailedResponseHandler,
871
- successfulResponseHandler: (0, import_provider_utils3.createJsonResponseHandler)(
910
+ successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
872
911
  cohereTextEmbeddingResponseSchema
873
912
  ),
874
913
  abortSignal,
@@ -894,13 +933,13 @@ var cohereTextEmbeddingResponseSchema = import_v45.z.object({
894
933
  });
895
934
 
896
935
  // src/reranking/cohere-reranking-model.ts
897
- var import_provider_utils6 = require("@ai-sdk/provider-utils");
936
+ var import_provider_utils7 = require("@ai-sdk/provider-utils");
898
937
 
899
938
  // src/reranking/cohere-reranking-api.ts
900
- var import_provider_utils4 = require("@ai-sdk/provider-utils");
939
+ var import_provider_utils5 = require("@ai-sdk/provider-utils");
901
940
  var import_v46 = require("zod/v4");
902
- var cohereRerankingResponseSchema = (0, import_provider_utils4.lazySchema)(
903
- () => (0, import_provider_utils4.zodSchema)(
941
+ var cohereRerankingResponseSchema = (0, import_provider_utils5.lazySchema)(
942
+ () => (0, import_provider_utils5.zodSchema)(
904
943
  import_v46.z.object({
905
944
  id: import_v46.z.string().nullish(),
906
945
  results: import_v46.z.array(
@@ -915,10 +954,10 @@ var cohereRerankingResponseSchema = (0, import_provider_utils4.lazySchema)(
915
954
  );
916
955
 
917
956
  // src/reranking/cohere-reranking-options.ts
918
- var import_provider_utils5 = require("@ai-sdk/provider-utils");
957
+ var import_provider_utils6 = require("@ai-sdk/provider-utils");
919
958
  var import_v47 = require("zod/v4");
920
- var cohereRerankingModelOptionsSchema = (0, import_provider_utils5.lazySchema)(
921
- () => (0, import_provider_utils5.zodSchema)(
959
+ var cohereRerankingModelOptionsSchema = (0, import_provider_utils6.lazySchema)(
960
+ () => (0, import_provider_utils6.zodSchema)(
922
961
  import_v47.z.object({
923
962
  maxTokensPerDoc: import_v47.z.number().optional(),
924
963
  priority: import_v47.z.number().optional()
@@ -929,7 +968,7 @@ var cohereRerankingModelOptionsSchema = (0, import_provider_utils5.lazySchema)(
929
968
  // src/reranking/cohere-reranking-model.ts
930
969
  var CohereRerankingModel = class {
931
970
  constructor(modelId, config) {
932
- this.specificationVersion = "v3";
971
+ this.specificationVersion = "v4";
933
972
  this.modelId = modelId;
934
973
  this.config = config;
935
974
  }
@@ -946,7 +985,7 @@ var CohereRerankingModel = class {
946
985
  providerOptions
947
986
  }) {
948
987
  var _a;
949
- const rerankingOptions = await (0, import_provider_utils6.parseProviderOptions)({
988
+ const rerankingOptions = await (0, import_provider_utils7.parseProviderOptions)({
950
989
  provider: "cohere",
951
990
  providerOptions,
952
991
  schema: cohereRerankingModelOptionsSchema
@@ -963,9 +1002,9 @@ var CohereRerankingModel = class {
963
1002
  responseHeaders,
964
1003
  value: response,
965
1004
  rawValue
966
- } = await (0, import_provider_utils6.postJsonToApi)({
1005
+ } = await (0, import_provider_utils7.postJsonToApi)({
967
1006
  url: `${this.config.baseURL}/rerank`,
968
- headers: (0, import_provider_utils6.combineHeaders)(this.config.headers(), headers),
1007
+ headers: (0, import_provider_utils7.combineHeaders)(this.config.headers(), headers),
969
1008
  body: {
970
1009
  model: this.modelId,
971
1010
  query,
@@ -975,7 +1014,7 @@ var CohereRerankingModel = class {
975
1014
  priority: rerankingOptions == null ? void 0 : rerankingOptions.priority
976
1015
  },
977
1016
  failedResponseHandler: cohereFailedResponseHandler,
978
- successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
1017
+ successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
979
1018
  cohereRerankingResponseSchema
980
1019
  ),
981
1020
  abortSignal,
@@ -997,15 +1036,15 @@ var CohereRerankingModel = class {
997
1036
  };
998
1037
 
999
1038
  // src/version.ts
1000
- var VERSION = true ? "4.0.0-beta.2" : "0.0.0-test";
1039
+ var VERSION = true ? "4.0.0-beta.20" : "0.0.0-test";
1001
1040
 
1002
1041
  // src/cohere-provider.ts
1003
1042
  function createCohere(options = {}) {
1004
1043
  var _a;
1005
- const baseURL = (_a = (0, import_provider_utils7.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://api.cohere.com/v2";
1006
- const getHeaders = () => (0, import_provider_utils7.withUserAgentSuffix)(
1044
+ const baseURL = (_a = (0, import_provider_utils8.withoutTrailingSlash)(options.baseURL)) != null ? _a : "https://api.cohere.com/v2";
1045
+ const getHeaders = () => (0, import_provider_utils8.withUserAgentSuffix)(
1007
1046
  {
1008
- Authorization: `Bearer ${(0, import_provider_utils7.loadApiKey)({
1047
+ Authorization: `Bearer ${(0, import_provider_utils8.loadApiKey)({
1009
1048
  apiKey: options.apiKey,
1010
1049
  environmentVariableName: "COHERE_API_KEY",
1011
1050
  description: "Cohere"
@@ -1021,7 +1060,7 @@ function createCohere(options = {}) {
1021
1060
  baseURL,
1022
1061
  headers: getHeaders,
1023
1062
  fetch: options.fetch,
1024
- generateId: (_a2 = options.generateId) != null ? _a2 : import_provider_utils7.generateId
1063
+ generateId: (_a2 = options.generateId) != null ? _a2 : import_provider_utils8.generateId
1025
1064
  });
1026
1065
  };
1027
1066
  const createEmbeddingModel = (modelId) => new CohereEmbeddingModel(modelId, {
@@ -1044,7 +1083,7 @@ function createCohere(options = {}) {
1044
1083
  }
1045
1084
  return createChatModel(modelId);
1046
1085
  };
1047
- provider.specificationVersion = "v3";
1086
+ provider.specificationVersion = "v4";
1048
1087
  provider.languageModel = createChatModel;
1049
1088
  provider.embedding = createEmbeddingModel;
1050
1089
  provider.embeddingModel = createEmbeddingModel;