@ai-sdk/xai 4.0.15 → 4.0.17
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,22 @@
|
|
|
1
1
|
# @ai-sdk/xai
|
|
2
2
|
|
|
3
|
+
## 4.0.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [8b52503]
|
|
8
|
+
- @ai-sdk/openai-compatible@3.0.13
|
|
9
|
+
|
|
10
|
+
## 4.0.16
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 1e2ae1f: fix(xai): handle empty HTTP 202 responses while polling videos
|
|
15
|
+
- 54e5498: fix(provider/xai): preserve images in Responses API tool results
|
|
16
|
+
- Updated dependencies [cd06458]
|
|
17
|
+
- @ai-sdk/provider-utils@5.0.11
|
|
18
|
+
- @ai-sdk/openai-compatible@3.0.12
|
|
19
|
+
|
|
3
20
|
## 4.0.15
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -1414,12 +1414,33 @@ async function convertToXaiResponsesInput({
|
|
|
1414
1414
|
outputValue = JSON.stringify(output.value);
|
|
1415
1415
|
break;
|
|
1416
1416
|
case "content":
|
|
1417
|
-
outputValue =
|
|
1418
|
-
|
|
1419
|
-
|
|
1417
|
+
outputValue = [];
|
|
1418
|
+
for (const item of output.value) {
|
|
1419
|
+
switch (item.type) {
|
|
1420
|
+
case "text": {
|
|
1421
|
+
outputValue.push({
|
|
1422
|
+
type: "input_text",
|
|
1423
|
+
text: item.text
|
|
1424
|
+
});
|
|
1425
|
+
break;
|
|
1426
|
+
}
|
|
1427
|
+
case "file": {
|
|
1428
|
+
if (getTopLevelMediaType2(item.mediaType) === "image" && (item.data.type === "data" || item.data.type === "url")) {
|
|
1429
|
+
outputValue.push({
|
|
1430
|
+
type: "input_image",
|
|
1431
|
+
image_url: item.data.type === "url" ? item.data.url.toString() : `data:${resolveFullMediaType2({ part: item })};base64,${convertToBase642(item.data.data)}`
|
|
1432
|
+
});
|
|
1433
|
+
}
|
|
1434
|
+
break;
|
|
1435
|
+
}
|
|
1436
|
+
case "custom": {
|
|
1437
|
+
break;
|
|
1438
|
+
}
|
|
1439
|
+
default: {
|
|
1440
|
+
const _exhaustiveCheck = item;
|
|
1441
|
+
}
|
|
1420
1442
|
}
|
|
1421
|
-
|
|
1422
|
-
}).join("");
|
|
1443
|
+
}
|
|
1423
1444
|
break;
|
|
1424
1445
|
default: {
|
|
1425
1446
|
const _exhaustiveCheck = output;
|
|
@@ -3477,7 +3498,7 @@ var xaiTools = {
|
|
|
3477
3498
|
};
|
|
3478
3499
|
|
|
3479
3500
|
// src/version.ts
|
|
3480
|
-
var VERSION = true ? "4.0.
|
|
3501
|
+
var VERSION = true ? "4.0.17" : "0.0.0-test";
|
|
3481
3502
|
|
|
3482
3503
|
// src/files/xai-files.ts
|
|
3483
3504
|
import {
|
|
@@ -3585,10 +3606,12 @@ import {
|
|
|
3585
3606
|
AISDKError
|
|
3586
3607
|
} from "@ai-sdk/provider";
|
|
3587
3608
|
import {
|
|
3609
|
+
cancelResponseBody,
|
|
3588
3610
|
combineHeaders as combineHeaders5,
|
|
3589
3611
|
convertUint8ArrayToBase64,
|
|
3590
3612
|
createJsonResponseHandler as createJsonResponseHandler5,
|
|
3591
3613
|
delay,
|
|
3614
|
+
extractResponseHeaders as extractResponseHeaders2,
|
|
3592
3615
|
getFromApi as getFromApi2,
|
|
3593
3616
|
getTopLevelMediaType as getTopLevelMediaType3,
|
|
3594
3617
|
parseProviderOptions as parseProviderOptions7,
|
|
@@ -3928,9 +3951,7 @@ var XaiVideoModel = class {
|
|
|
3928
3951
|
url: `${baseURL}/videos/${requestId}`,
|
|
3929
3952
|
validateUrl: false,
|
|
3930
3953
|
headers: combineHeaders5(this.config.headers(), options.headers),
|
|
3931
|
-
successfulResponseHandler:
|
|
3932
|
-
xaiVideoStatusResponseSchema
|
|
3933
|
-
),
|
|
3954
|
+
successfulResponseHandler: xaiVideoStatusResponseHandler,
|
|
3934
3955
|
failedResponseHandler: xaiFailedResponseHandler,
|
|
3935
3956
|
abortSignal: options.abortSignal,
|
|
3936
3957
|
fetch: this.config.fetch
|
|
@@ -4009,6 +4030,20 @@ var xaiVideoStatusResponseSchema = z19.object({
|
|
|
4009
4030
|
message: z19.string().nullish()
|
|
4010
4031
|
}).nullish()
|
|
4011
4032
|
});
|
|
4033
|
+
var xaiVideoStatusJsonResponseHandler = createJsonResponseHandler5(
|
|
4034
|
+
xaiVideoStatusResponseSchema
|
|
4035
|
+
);
|
|
4036
|
+
var xaiVideoStatusResponseHandler = async (options) => {
|
|
4037
|
+
if (options.response.status === 202) {
|
|
4038
|
+
const responseHeaders = extractResponseHeaders2(options.response);
|
|
4039
|
+
await cancelResponseBody(options.response);
|
|
4040
|
+
return {
|
|
4041
|
+
responseHeaders,
|
|
4042
|
+
value: { status: "pending" }
|
|
4043
|
+
};
|
|
4044
|
+
}
|
|
4045
|
+
return xaiVideoStatusJsonResponseHandler(options);
|
|
4046
|
+
};
|
|
4012
4047
|
|
|
4013
4048
|
// src/xai-speech-model.ts
|
|
4014
4049
|
import {
|