@ai-sdk/xai 3.0.73 → 3.0.75

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,17 @@
1
1
  # @ai-sdk/xai
2
2
 
3
+ ## 3.0.75
4
+
5
+ ### Patch Changes
6
+
7
+ - 5d61547: fix(provider/xai): correct finish reason for tool calls
8
+
9
+ ## 3.0.74
10
+
11
+ ### Patch Changes
12
+
13
+ - 3caa544: chore(provider/xai): update Grok 4.20 model IDs to their non-beta versions
14
+
3
15
  ## 3.0.73
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import { ProviderV3, LanguageModelV3, ImageModelV3, Experimental_VideoModelV3 }
3
3
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
4
4
  import { FetchFunction } from '@ai-sdk/provider-utils';
5
5
 
6
- type XaiChatModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | 'grok-code-fast-1' | 'grok-4' | 'grok-4-0709' | 'grok-4-latest' | 'grok-3' | 'grok-3-latest' | 'grok-3-mini' | 'grok-3-mini-latest' | (string & {});
6
+ type XaiChatModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | 'grok-4.20-0309-non-reasoning' | 'grok-4.20-0309-reasoning' | 'grok-4.20-multi-agent-0309' | 'grok-code-fast-1' | 'grok-4' | 'grok-4-0709' | 'grok-4-latest' | 'grok-3' | 'grok-3-latest' | 'grok-3-mini' | 'grok-3-mini-latest' | (string & {});
7
7
  declare const xaiLanguageModelChatOptions: z.ZodObject<{
8
8
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
9
9
  low: "low";
@@ -58,7 +58,7 @@ declare const xaiErrorDataSchema: z.ZodObject<{
58
58
  }, z.core.$strip>;
59
59
  type XaiErrorData = z.infer<typeof xaiErrorDataSchema>;
60
60
 
61
- type XaiResponsesModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | (string & {});
61
+ type XaiResponsesModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | 'grok-4.20-0309-non-reasoning' | 'grok-4.20-0309-reasoning' | 'grok-4.20-multi-agent-0309' | (string & {});
62
62
  /**
63
63
  * @see https://docs.x.ai/docs/api-reference#create-new-response
64
64
  */
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { ProviderV3, LanguageModelV3, ImageModelV3, Experimental_VideoModelV3 }
3
3
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
4
4
  import { FetchFunction } from '@ai-sdk/provider-utils';
5
5
 
6
- type XaiChatModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | 'grok-code-fast-1' | 'grok-4' | 'grok-4-0709' | 'grok-4-latest' | 'grok-3' | 'grok-3-latest' | 'grok-3-mini' | 'grok-3-mini-latest' | (string & {});
6
+ type XaiChatModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | 'grok-4.20-0309-non-reasoning' | 'grok-4.20-0309-reasoning' | 'grok-4.20-multi-agent-0309' | 'grok-code-fast-1' | 'grok-4' | 'grok-4-0709' | 'grok-4-latest' | 'grok-3' | 'grok-3-latest' | 'grok-3-mini' | 'grok-3-mini-latest' | (string & {});
7
7
  declare const xaiLanguageModelChatOptions: z.ZodObject<{
8
8
  reasoningEffort: z.ZodOptional<z.ZodEnum<{
9
9
  low: "low";
@@ -58,7 +58,7 @@ declare const xaiErrorDataSchema: z.ZodObject<{
58
58
  }, z.core.$strip>;
59
59
  type XaiErrorData = z.infer<typeof xaiErrorDataSchema>;
60
60
 
61
- type XaiResponsesModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | (string & {});
61
+ type XaiResponsesModelId = 'grok-4-1-fast-reasoning' | 'grok-4-1-fast-non-reasoning' | 'grok-4' | 'grok-4-fast-non-reasoning' | 'grok-4-fast-reasoning' | 'grok-4.20-0309-non-reasoning' | 'grok-4.20-0309-reasoning' | 'grok-4.20-multi-agent-0309' | (string & {});
62
62
  /**
63
63
  * @see https://docs.x.ai/docs/api-reference#create-new-response
64
64
  */
package/dist/index.js CHANGED
@@ -2105,6 +2105,7 @@ var XaiResponsesLanguageModel = class {
2105
2105
  fetch: this.config.fetch
2106
2106
  });
2107
2107
  const content = [];
2108
+ let hasFunctionCall = false;
2108
2109
  const webSearchSubTools = [
2109
2110
  "web_search",
2110
2111
  "web_search_with_snippets",
@@ -2189,6 +2190,7 @@ var XaiResponsesLanguageModel = class {
2189
2190
  break;
2190
2191
  }
2191
2192
  case "function_call": {
2193
+ hasFunctionCall = true;
2192
2194
  content.push({
2193
2195
  type: "tool-call",
2194
2196
  toolCallId: part.call_id,
@@ -2231,7 +2233,7 @@ var XaiResponsesLanguageModel = class {
2231
2233
  return {
2232
2234
  content,
2233
2235
  finishReason: {
2234
- unified: mapXaiResponsesFinishReason(response.status),
2236
+ unified: hasFunctionCall ? "tool-calls" : mapXaiResponsesFinishReason(response.status),
2235
2237
  raw: (_m = response.status) != null ? _m : void 0
2236
2238
  },
2237
2239
  usage: response.usage ? convertXaiResponsesUsage(response.usage) : {
@@ -2277,6 +2279,7 @@ var XaiResponsesLanguageModel = class {
2277
2279
  unified: "other",
2278
2280
  raw: void 0
2279
2281
  };
2282
+ let hasFunctionCall = false;
2280
2283
  let usage = void 0;
2281
2284
  let isFirstChunk = true;
2282
2285
  const contentBlocks = {};
@@ -2421,7 +2424,7 @@ var XaiResponsesLanguageModel = class {
2421
2424
  }
2422
2425
  if (response2.status) {
2423
2426
  finishReason = {
2424
- unified: mapXaiResponsesFinishReason(response2.status),
2427
+ unified: hasFunctionCall ? "tool-calls" : mapXaiResponsesFinishReason(response2.status),
2425
2428
  raw: response2.status
2426
2429
  };
2427
2430
  }
@@ -2614,6 +2617,7 @@ var XaiResponsesLanguageModel = class {
2614
2617
  toolName: part.name
2615
2618
  });
2616
2619
  } else if (event.type === "response.output_item.done") {
2620
+ hasFunctionCall = true;
2617
2621
  ongoingToolCalls[event.output_index] = void 0;
2618
2622
  controller.enqueue({
2619
2623
  type: "tool-input-end",
@@ -2715,7 +2719,7 @@ var xaiTools = {
2715
2719
  };
2716
2720
 
2717
2721
  // src/version.ts
2718
- var VERSION = true ? "3.0.73" : "0.0.0-test";
2722
+ var VERSION = true ? "3.0.75" : "0.0.0-test";
2719
2723
 
2720
2724
  // src/xai-video-model.ts
2721
2725
  var import_provider6 = require("@ai-sdk/provider");