@ai-sdk/xai 3.0.109 → 3.0.111
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 +15 -0
- package/dist/index.js +51 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +53 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/src/responses/convert-to-xai-responses-input.ts +37 -8
- package/src/responses/xai-responses-api.ts +12 -1
- package/src/xai-video-model.ts +24 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @ai-sdk/xai
|
|
2
2
|
|
|
3
|
+
## 3.0.111
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 05ce9c0: fix(provider/xai): preserve images in Responses API tool results
|
|
8
|
+
|
|
9
|
+
## 3.0.110
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 09ecf7b: fix(xai): handle empty HTTP 202 responses while polling videos
|
|
14
|
+
- Updated dependencies [19093fd]
|
|
15
|
+
- @ai-sdk/provider-utils@4.0.40
|
|
16
|
+
- @ai-sdk/openai-compatible@2.0.62
|
|
17
|
+
|
|
3
18
|
## 3.0.109
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -1276,12 +1276,42 @@ async function convertToXaiResponsesInput({
|
|
|
1276
1276
|
outputValue = JSON.stringify(output.value);
|
|
1277
1277
|
break;
|
|
1278
1278
|
case "content":
|
|
1279
|
-
outputValue =
|
|
1280
|
-
|
|
1281
|
-
|
|
1279
|
+
outputValue = [];
|
|
1280
|
+
for (const item of output.value) {
|
|
1281
|
+
switch (item.type) {
|
|
1282
|
+
case "text": {
|
|
1283
|
+
outputValue.push({
|
|
1284
|
+
type: "input_text",
|
|
1285
|
+
text: item.text
|
|
1286
|
+
});
|
|
1287
|
+
break;
|
|
1288
|
+
}
|
|
1289
|
+
case "image-data": {
|
|
1290
|
+
outputValue.push({
|
|
1291
|
+
type: "input_image",
|
|
1292
|
+
image_url: `data:${item.mediaType};base64,${item.data}`
|
|
1293
|
+
});
|
|
1294
|
+
break;
|
|
1295
|
+
}
|
|
1296
|
+
case "image-url": {
|
|
1297
|
+
outputValue.push({
|
|
1298
|
+
type: "input_image",
|
|
1299
|
+
image_url: item.url
|
|
1300
|
+
});
|
|
1301
|
+
break;
|
|
1302
|
+
}
|
|
1303
|
+
case "file-data":
|
|
1304
|
+
case "file-url":
|
|
1305
|
+
case "file-id":
|
|
1306
|
+
case "image-file-id":
|
|
1307
|
+
case "custom": {
|
|
1308
|
+
break;
|
|
1309
|
+
}
|
|
1310
|
+
default: {
|
|
1311
|
+
const _exhaustiveCheck = item;
|
|
1312
|
+
}
|
|
1282
1313
|
}
|
|
1283
|
-
|
|
1284
|
-
}).join("");
|
|
1314
|
+
}
|
|
1285
1315
|
break;
|
|
1286
1316
|
default: {
|
|
1287
1317
|
const _exhaustiveCheck = output;
|
|
@@ -2891,7 +2921,7 @@ var xaiTools = {
|
|
|
2891
2921
|
};
|
|
2892
2922
|
|
|
2893
2923
|
// src/version.ts
|
|
2894
|
-
var VERSION = true ? "3.0.
|
|
2924
|
+
var VERSION = true ? "3.0.111" : "0.0.0-test";
|
|
2895
2925
|
|
|
2896
2926
|
// src/xai-video-model.ts
|
|
2897
2927
|
var import_provider6 = require("@ai-sdk/provider");
|
|
@@ -3233,9 +3263,7 @@ var XaiVideoModel = class {
|
|
|
3233
3263
|
const { value: statusResponse, responseHeaders: pollHeaders } = await (0, import_provider_utils16.getFromApi)({
|
|
3234
3264
|
url: `${baseURL}/videos/${requestId}`,
|
|
3235
3265
|
headers: (0, import_provider_utils16.combineHeaders)(this.config.headers(), options.headers),
|
|
3236
|
-
successfulResponseHandler:
|
|
3237
|
-
xaiVideoStatusResponseSchema
|
|
3238
|
-
),
|
|
3266
|
+
successfulResponseHandler: xaiVideoStatusResponseHandler,
|
|
3239
3267
|
failedResponseHandler: xaiFailedResponseHandler,
|
|
3240
3268
|
abortSignal: options.abortSignal,
|
|
3241
3269
|
fetch: this.config.fetch
|
|
@@ -3314,6 +3342,20 @@ var xaiVideoStatusResponseSchema = import_v417.z.object({
|
|
|
3314
3342
|
message: import_v417.z.string().nullish()
|
|
3315
3343
|
}).nullish()
|
|
3316
3344
|
});
|
|
3345
|
+
var xaiVideoStatusJsonResponseHandler = (0, import_provider_utils16.createJsonResponseHandler)(
|
|
3346
|
+
xaiVideoStatusResponseSchema
|
|
3347
|
+
);
|
|
3348
|
+
var xaiVideoStatusResponseHandler = async (options) => {
|
|
3349
|
+
if (options.response.status === 202) {
|
|
3350
|
+
const responseHeaders = (0, import_provider_utils16.extractResponseHeaders)(options.response);
|
|
3351
|
+
await (0, import_provider_utils16.cancelResponseBody)(options.response);
|
|
3352
|
+
return {
|
|
3353
|
+
responseHeaders,
|
|
3354
|
+
value: { status: "pending" }
|
|
3355
|
+
};
|
|
3356
|
+
}
|
|
3357
|
+
return xaiVideoStatusJsonResponseHandler(options);
|
|
3358
|
+
};
|
|
3317
3359
|
|
|
3318
3360
|
// src/xai-provider.ts
|
|
3319
3361
|
function createXai(options = {}) {
|