@ai-sdk/xai 4.0.0-beta.41 → 4.0.0-beta.43

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/xai",
3
- "version": "4.0.0-beta.41",
3
+ "version": "4.0.0-beta.43",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -29,9 +29,9 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@ai-sdk/openai-compatible": "3.0.0-beta.29",
32
+ "@ai-sdk/openai-compatible": "3.0.0-beta.31",
33
33
  "@ai-sdk/provider": "4.0.0-beta.12",
34
- "@ai-sdk/provider-utils": "5.0.0-beta.24"
34
+ "@ai-sdk/provider-utils": "5.0.0-beta.26"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/node": "20.17.24",
@@ -248,6 +248,7 @@ export const xaiResponsesUsageSchema = z.object({
248
248
  .optional(),
249
249
  num_sources_used: z.number().optional(),
250
250
  num_server_side_tools_used: z.number().optional(),
251
+ cost_in_usd_ticks: z.number().nullish(),
251
252
  });
252
253
 
253
254
  export const xaiResponsesResponseSchema = z.object({
@@ -458,6 +458,13 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
458
458
  inputTokens: { total: 0, noCache: 0, cacheRead: 0, cacheWrite: 0 },
459
459
  outputTokens: { total: 0, text: 0, reasoning: 0 },
460
460
  },
461
+ ...(response.usage?.cost_in_usd_ticks != null && {
462
+ providerMetadata: {
463
+ xai: {
464
+ costInUsdTicks: response.usage.cost_in_usd_ticks,
465
+ },
466
+ },
467
+ }),
461
468
  request: { body },
462
469
  response: {
463
470
  ...getResponseMetadata(response),
@@ -503,6 +510,7 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
503
510
  };
504
511
  let hasFunctionCall = false;
505
512
  let usage: LanguageModelV4Usage | undefined = undefined;
513
+ let costInUsdTicks: number | undefined = undefined;
506
514
  let isFirstChunk = true;
507
515
  const contentBlocks: Record<string, { type: 'text' }> = {};
508
516
  const seenToolCalls = new Set<string>();
@@ -692,6 +700,7 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
692
700
 
693
701
  if (response.usage) {
694
702
  usage = convertXaiResponsesUsage(response.usage);
703
+ costInUsdTicks = response.usage.cost_in_usd_ticks ?? undefined;
695
704
  }
696
705
 
697
706
  if (event.type === 'response.incomplete') {
@@ -1037,6 +1046,13 @@ export class XaiResponsesLanguageModel implements LanguageModelV4 {
1037
1046
  },
1038
1047
  outputTokens: { total: 0, text: 0, reasoning: 0 },
1039
1048
  },
1049
+ ...(costInUsdTicks != null && {
1050
+ providerMetadata: {
1051
+ xai: {
1052
+ costInUsdTicks,
1053
+ },
1054
+ },
1055
+ }),
1040
1056
  });
1041
1057
  },
1042
1058
  }),