@ai-sdk/xai 4.0.0-beta.17 → 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 +6 -0
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/responses/xai-responses-language-model.ts +10 -2
package/package.json
CHANGED
|
@@ -257,6 +257,7 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
|
|
|
257
257
|
});
|
|
258
258
|
|
|
259
259
|
const content: Array<LanguageModelV4Content> = [];
|
|
260
|
+
let hasFunctionCall = false;
|
|
260
261
|
|
|
261
262
|
const webSearchSubTools = [
|
|
262
263
|
'web_search',
|
|
@@ -379,6 +380,7 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
|
|
|
379
380
|
}
|
|
380
381
|
|
|
381
382
|
case 'function_call': {
|
|
383
|
+
hasFunctionCall = true;
|
|
382
384
|
content.push({
|
|
383
385
|
type: 'tool-call',
|
|
384
386
|
toolCallId: part.call_id,
|
|
@@ -431,7 +433,9 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
|
|
|
431
433
|
return {
|
|
432
434
|
content,
|
|
433
435
|
finishReason: {
|
|
434
|
-
unified:
|
|
436
|
+
unified: hasFunctionCall
|
|
437
|
+
? 'tool-calls'
|
|
438
|
+
: mapXaiResponsesFinishReason(response.status),
|
|
435
439
|
raw: response.status ?? undefined,
|
|
436
440
|
},
|
|
437
441
|
usage: response.usage
|
|
@@ -483,6 +487,7 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
|
|
|
483
487
|
unified: 'other',
|
|
484
488
|
raw: undefined,
|
|
485
489
|
};
|
|
490
|
+
let hasFunctionCall = false;
|
|
486
491
|
let usage: LanguageModelV4Usage | undefined = undefined;
|
|
487
492
|
let isFirstChunk = true;
|
|
488
493
|
const contentBlocks: Record<string, { type: 'text' }> = {};
|
|
@@ -676,7 +681,9 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
|
|
|
676
681
|
|
|
677
682
|
if (response.status) {
|
|
678
683
|
finishReason = {
|
|
679
|
-
unified:
|
|
684
|
+
unified: hasFunctionCall
|
|
685
|
+
? 'tool-calls'
|
|
686
|
+
: mapXaiResponsesFinishReason(response.status),
|
|
680
687
|
raw: response.status,
|
|
681
688
|
};
|
|
682
689
|
}
|
|
@@ -944,6 +951,7 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
|
|
|
944
951
|
toolName: part.name,
|
|
945
952
|
});
|
|
946
953
|
} else if (event.type === 'response.output_item.done') {
|
|
954
|
+
hasFunctionCall = true;
|
|
947
955
|
ongoingToolCalls[event.output_index] = undefined;
|
|
948
956
|
|
|
949
957
|
controller.enqueue({
|