@ai-sdk/xai 4.0.0-beta.16 → 4.0.0-beta.18

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,20 @@
1
1
  # @ai-sdk/xai
2
2
 
3
+ ## 4.0.0-beta.18
4
+
5
+ ### Patch Changes
6
+
7
+ - 9f20868: fix(provider/xai): correct finish reason for tool calls
8
+
9
+ ## 4.0.0-beta.17
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [1f509d4]
14
+ - @ai-sdk/provider-utils@5.0.0-beta.7
15
+ - @ai-sdk/provider@4.0.0-beta.5
16
+ - @ai-sdk/openai-compatible@3.0.0-beta.10
17
+
3
18
  ## 4.0.0-beta.16
4
19
 
5
20
  ### Patch Changes
package/dist/index.js CHANGED
@@ -2139,6 +2139,7 @@ var XaiResponsesLanguageModel = class {
2139
2139
  fetch: this.config.fetch
2140
2140
  });
2141
2141
  const content = [];
2142
+ let hasFunctionCall = false;
2142
2143
  const webSearchSubTools = [
2143
2144
  "web_search",
2144
2145
  "web_search_with_snippets",
@@ -2223,6 +2224,7 @@ var XaiResponsesLanguageModel = class {
2223
2224
  break;
2224
2225
  }
2225
2226
  case "function_call": {
2227
+ hasFunctionCall = true;
2226
2228
  content.push({
2227
2229
  type: "tool-call",
2228
2230
  toolCallId: part.call_id,
@@ -2265,7 +2267,7 @@ var XaiResponsesLanguageModel = class {
2265
2267
  return {
2266
2268
  content,
2267
2269
  finishReason: {
2268
- unified: mapXaiResponsesFinishReason(response.status),
2270
+ unified: hasFunctionCall ? "tool-calls" : mapXaiResponsesFinishReason(response.status),
2269
2271
  raw: (_n = response.status) != null ? _n : void 0
2270
2272
  },
2271
2273
  usage: response.usage ? convertXaiResponsesUsage(response.usage) : {
@@ -2311,6 +2313,7 @@ var XaiResponsesLanguageModel = class {
2311
2313
  unified: "other",
2312
2314
  raw: void 0
2313
2315
  };
2316
+ let hasFunctionCall = false;
2314
2317
  let usage = void 0;
2315
2318
  let isFirstChunk = true;
2316
2319
  const contentBlocks = {};
@@ -2455,7 +2458,7 @@ var XaiResponsesLanguageModel = class {
2455
2458
  }
2456
2459
  if (response2.status) {
2457
2460
  finishReason = {
2458
- unified: mapXaiResponsesFinishReason(response2.status),
2461
+ unified: hasFunctionCall ? "tool-calls" : mapXaiResponsesFinishReason(response2.status),
2459
2462
  raw: response2.status
2460
2463
  };
2461
2464
  }
@@ -2648,6 +2651,7 @@ var XaiResponsesLanguageModel = class {
2648
2651
  toolName: part.name
2649
2652
  });
2650
2653
  } else if (event.type === "response.output_item.done") {
2654
+ hasFunctionCall = true;
2651
2655
  ongoingToolCalls[event.output_index] = void 0;
2652
2656
  controller.enqueue({
2653
2657
  type: "tool-input-end",
@@ -2749,7 +2753,7 @@ var xaiTools = {
2749
2753
  };
2750
2754
 
2751
2755
  // src/version.ts
2752
- var VERSION = true ? "4.0.0-beta.16" : "0.0.0-test";
2756
+ var VERSION = true ? "4.0.0-beta.18" : "0.0.0-test";
2753
2757
 
2754
2758
  // src/xai-video-model.ts
2755
2759
  var import_provider6 = require("@ai-sdk/provider");