@ai-sdk/cohere 4.0.0-beta.0 → 4.0.0-beta.10

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,80 @@
1
1
  # @ai-sdk/cohere
2
2
 
3
+ ## 4.0.0-beta.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [2e17091]
8
+ - @ai-sdk/provider-utils@5.0.0-beta.9
9
+
10
+ ## 4.0.0-beta.9
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [986c6fd]
15
+ - Updated dependencies [493295c]
16
+ - @ai-sdk/provider-utils@5.0.0-beta.8
17
+
18
+ ## 4.0.0-beta.8
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies [1f509d4]
23
+ - @ai-sdk/provider-utils@5.0.0-beta.7
24
+ - @ai-sdk/provider@4.0.0-beta.5
25
+
26
+ ## 4.0.0-beta.7
27
+
28
+ ### Patch Changes
29
+
30
+ - 74d520f: feat: migrate providers to support new top-level `reasoning` parameter
31
+
32
+ ## 4.0.0-beta.6
33
+
34
+ ### Patch Changes
35
+
36
+ - Updated dependencies [3887c70]
37
+ - @ai-sdk/provider-utils@5.0.0-beta.6
38
+ - @ai-sdk/provider@4.0.0-beta.4
39
+
40
+ ## 4.0.0-beta.5
41
+
42
+ ### Patch Changes
43
+
44
+ - Updated dependencies [776b617]
45
+ - @ai-sdk/provider-utils@5.0.0-beta.5
46
+ - @ai-sdk/provider@4.0.0-beta.3
47
+
48
+ ## 4.0.0-beta.4
49
+
50
+ ### Patch Changes
51
+
52
+ - Updated dependencies [61753c3]
53
+ - @ai-sdk/provider-utils@5.0.0-beta.4
54
+
55
+ ## 4.0.0-beta.3
56
+
57
+ ### Patch Changes
58
+
59
+ - Updated dependencies [f7d4f01]
60
+ - @ai-sdk/provider-utils@5.0.0-beta.3
61
+ - @ai-sdk/provider@4.0.0-beta.2
62
+
63
+ ## 4.0.0-beta.2
64
+
65
+ ### Patch Changes
66
+
67
+ - Updated dependencies [5c2a5a2]
68
+ - @ai-sdk/provider@4.0.0-beta.1
69
+ - @ai-sdk/provider-utils@5.0.0-beta.2
70
+
71
+ ## 4.0.0-beta.1
72
+
73
+ ### Patch Changes
74
+
75
+ - Updated dependencies [531251e]
76
+ - @ai-sdk/provider-utils@5.0.0-beta.1
77
+
3
78
  ## 4.0.0-beta.0
4
79
 
5
80
  ### Major Changes
@@ -209,13 +284,13 @@
209
284
  Before
210
285
 
211
286
  ```ts
212
- model.textEmbeddingModel('my-model-id');
287
+ model.textEmbeddingModel("my-model-id");
213
288
  ```
214
289
 
215
290
  After
216
291
 
217
292
  ```ts
218
- model.embeddingModel('my-model-id');
293
+ model.embeddingModel("my-model-id");
219
294
  ```
220
295
 
221
296
  - 2625a04: feat(openai); update spec for mcp approval
@@ -427,13 +502,13 @@
427
502
  Before
428
503
 
429
504
  ```ts
430
- model.textEmbeddingModel('my-model-id');
505
+ model.textEmbeddingModel("my-model-id");
431
506
  ```
432
507
 
433
508
  After
434
509
 
435
510
  ```ts
436
- model.embeddingModel('my-model-id');
511
+ model.embeddingModel("my-model-id");
437
512
  ```
438
513
 
439
514
  - Updated dependencies [8d9e8ad]
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
@@ -18,13 +18,13 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
20
  // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
23
  VERSION: () => VERSION,
24
24
  cohere: () => cohere,
25
25
  createCohere: () => createCohere
26
26
  });
27
- module.exports = __toCommonJS(src_exports);
27
+ module.exports = __toCommonJS(index_exports);
28
28
 
29
29
  // src/cohere-provider.ts
30
30
  var import_provider4 = require("@ai-sdk/provider");
@@ -295,7 +295,7 @@ function mapCohereFinishReason(finishReason) {
295
295
  // src/cohere-chat-language-model.ts
296
296
  var CohereChatLanguageModel = class {
297
297
  constructor(modelId, config) {
298
- this.specificationVersion = "v3";
298
+ this.specificationVersion = "v4";
299
299
  this.supportedUrls = {
300
300
  // No URLs are supported.
301
301
  };
@@ -316,11 +316,13 @@ var CohereChatLanguageModel = class {
316
316
  stopSequences,
317
317
  responseFormat,
318
318
  seed,
319
+ reasoning,
319
320
  tools,
320
321
  toolChoice,
321
322
  providerOptions
322
323
  }) {
323
- var _a, _b;
324
+ var _a;
325
+ const warnings = [];
324
326
  const cohereOptions = (_a = await (0, import_provider_utils2.parseProviderOptions)({
325
327
  provider: "cohere",
326
328
  providerOptions,
@@ -336,6 +338,7 @@ var CohereChatLanguageModel = class {
336
338
  toolChoice: cohereToolChoice,
337
339
  toolWarnings
338
340
  } = prepareTools({ tools, toolChoice });
341
+ warnings.push(...toolWarnings, ...promptWarnings);
339
342
  return {
340
343
  args: {
341
344
  // model id:
@@ -358,15 +361,14 @@ var CohereChatLanguageModel = class {
358
361
  tool_choice: cohereToolChoice,
359
362
  // documents for RAG:
360
363
  ...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
- }
364
+ // reasoning:
365
+ ...resolveCohereThinking({
366
+ reasoning,
367
+ cohereOptions,
368
+ warnings
369
+ })
368
370
  },
369
- warnings: [...toolWarnings, ...promptWarnings]
371
+ warnings
370
372
  };
371
373
  }
372
374
  async doGenerate(options) {
@@ -617,6 +619,37 @@ var CohereChatLanguageModel = class {
617
619
  };
618
620
  }
619
621
  };
622
+ function resolveCohereThinking({
623
+ reasoning,
624
+ cohereOptions,
625
+ warnings
626
+ }) {
627
+ var _a;
628
+ if (cohereOptions.thinking) {
629
+ return {
630
+ thinking: {
631
+ type: (_a = cohereOptions.thinking.type) != null ? _a : "enabled",
632
+ token_budget: cohereOptions.thinking.tokenBudget
633
+ }
634
+ };
635
+ }
636
+ if (!(0, import_provider_utils2.isCustomReasoning)(reasoning)) {
637
+ return {};
638
+ }
639
+ if (reasoning === "none") {
640
+ return { thinking: { type: "disabled" } };
641
+ }
642
+ const tokenBudget = (0, import_provider_utils2.mapReasoningToProviderBudget)({
643
+ reasoning,
644
+ maxOutputTokens: 32768,
645
+ maxReasoningBudget: 32768,
646
+ warnings
647
+ });
648
+ if (tokenBudget == null) {
649
+ return {};
650
+ }
651
+ return { thinking: { type: "enabled", token_budget: tokenBudget } };
652
+ }
620
653
  var cohereChatResponseSchema = import_v43.z.object({
621
654
  generation_id: import_v43.z.string().nullish(),
622
655
  message: import_v43.z.object({
@@ -820,7 +853,7 @@ var cohereEmbeddingModelOptions = import_v44.z.object({
820
853
  // src/cohere-embedding-model.ts
821
854
  var CohereEmbeddingModel = class {
822
855
  constructor(modelId, config) {
823
- this.specificationVersion = "v3";
856
+ this.specificationVersion = "v4";
824
857
  this.maxEmbeddingsPerCall = 96;
825
858
  this.supportsParallelCalls = true;
826
859
  this.modelId = modelId;
@@ -929,7 +962,7 @@ var cohereRerankingModelOptionsSchema = (0, import_provider_utils5.lazySchema)(
929
962
  // src/reranking/cohere-reranking-model.ts
930
963
  var CohereRerankingModel = class {
931
964
  constructor(modelId, config) {
932
- this.specificationVersion = "v3";
965
+ this.specificationVersion = "v4";
933
966
  this.modelId = modelId;
934
967
  this.config = config;
935
968
  }
@@ -997,7 +1030,7 @@ var CohereRerankingModel = class {
997
1030
  };
998
1031
 
999
1032
  // src/version.ts
1000
- var VERSION = true ? "4.0.0-beta.0" : "0.0.0-test";
1033
+ var VERSION = true ? "4.0.0-beta.10" : "0.0.0-test";
1001
1034
 
1002
1035
  // src/cohere-provider.ts
1003
1036
  function createCohere(options = {}) {
@@ -1044,7 +1077,7 @@ function createCohere(options = {}) {
1044
1077
  }
1045
1078
  return createChatModel(modelId);
1046
1079
  };
1047
- provider.specificationVersion = "v3";
1080
+ provider.specificationVersion = "v4";
1048
1081
  provider.languageModel = createChatModel;
1049
1082
  provider.embedding = createEmbeddingModel;
1050
1083
  provider.embeddingModel = createEmbeddingModel;