@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/dist/index.mjs CHANGED
@@ -1279,12 +1279,42 @@ async function convertToXaiResponsesInput({
1279
1279
  outputValue = JSON.stringify(output.value);
1280
1280
  break;
1281
1281
  case "content":
1282
- outputValue = output.value.map((item) => {
1283
- if (item.type === "text") {
1284
- return item.text;
1282
+ outputValue = [];
1283
+ for (const item of output.value) {
1284
+ switch (item.type) {
1285
+ case "text": {
1286
+ outputValue.push({
1287
+ type: "input_text",
1288
+ text: item.text
1289
+ });
1290
+ break;
1291
+ }
1292
+ case "image-data": {
1293
+ outputValue.push({
1294
+ type: "input_image",
1295
+ image_url: `data:${item.mediaType};base64,${item.data}`
1296
+ });
1297
+ break;
1298
+ }
1299
+ case "image-url": {
1300
+ outputValue.push({
1301
+ type: "input_image",
1302
+ image_url: item.url
1303
+ });
1304
+ break;
1305
+ }
1306
+ case "file-data":
1307
+ case "file-url":
1308
+ case "file-id":
1309
+ case "image-file-id":
1310
+ case "custom": {
1311
+ break;
1312
+ }
1313
+ default: {
1314
+ const _exhaustiveCheck = item;
1315
+ }
1285
1316
  }
1286
- return "";
1287
- }).join("");
1317
+ }
1288
1318
  break;
1289
1319
  default: {
1290
1320
  const _exhaustiveCheck = output;
@@ -2912,17 +2942,19 @@ var xaiTools = {
2912
2942
  };
2913
2943
 
2914
2944
  // src/version.ts
2915
- var VERSION = true ? "3.0.109" : "0.0.0-test";
2945
+ var VERSION = true ? "3.0.111" : "0.0.0-test";
2916
2946
 
2917
2947
  // src/xai-video-model.ts
2918
2948
  import {
2919
2949
  AISDKError
2920
2950
  } from "@ai-sdk/provider";
2921
2951
  import {
2952
+ cancelResponseBody,
2922
2953
  combineHeaders as combineHeaders4,
2923
2954
  convertUint8ArrayToBase64,
2924
2955
  createJsonResponseHandler as createJsonResponseHandler4,
2925
2956
  delay,
2957
+ extractResponseHeaders as extractResponseHeaders2,
2926
2958
  getFromApi as getFromApi2,
2927
2959
  parseProviderOptions as parseProviderOptions6,
2928
2960
  postJsonToApi as postJsonToApi4
@@ -3264,9 +3296,7 @@ var XaiVideoModel = class {
3264
3296
  const { value: statusResponse, responseHeaders: pollHeaders } = await getFromApi2({
3265
3297
  url: `${baseURL}/videos/${requestId}`,
3266
3298
  headers: combineHeaders4(this.config.headers(), options.headers),
3267
- successfulResponseHandler: createJsonResponseHandler4(
3268
- xaiVideoStatusResponseSchema
3269
- ),
3299
+ successfulResponseHandler: xaiVideoStatusResponseHandler,
3270
3300
  failedResponseHandler: xaiFailedResponseHandler,
3271
3301
  abortSignal: options.abortSignal,
3272
3302
  fetch: this.config.fetch
@@ -3345,6 +3375,20 @@ var xaiVideoStatusResponseSchema = z17.object({
3345
3375
  message: z17.string().nullish()
3346
3376
  }).nullish()
3347
3377
  });
3378
+ var xaiVideoStatusJsonResponseHandler = createJsonResponseHandler4(
3379
+ xaiVideoStatusResponseSchema
3380
+ );
3381
+ var xaiVideoStatusResponseHandler = async (options) => {
3382
+ if (options.response.status === 202) {
3383
+ const responseHeaders = extractResponseHeaders2(options.response);
3384
+ await cancelResponseBody(options.response);
3385
+ return {
3386
+ responseHeaders,
3387
+ value: { status: "pending" }
3388
+ };
3389
+ }
3390
+ return xaiVideoStatusJsonResponseHandler(options);
3391
+ };
3348
3392
 
3349
3393
  // src/xai-provider.ts
3350
3394
  function createXai(options = {}) {