@llmgateway/ai-sdk-provider 2.1.0 → 2.2.0

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.
@@ -18,6 +18,32 @@ var __spreadValues = (a, b) => {
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
 
21
+ // src/schemas/reasoning-details.ts
22
+ import { z } from "zod/v4";
23
+ var ReasoningDetailSummarySchema = z.object({
24
+ type: z.literal("reasoning.summary" /* Summary */),
25
+ summary: z.string()
26
+ });
27
+ var ReasoningDetailEncryptedSchema = z.object({
28
+ type: z.literal("reasoning.encrypted" /* Encrypted */),
29
+ data: z.string()
30
+ });
31
+ var ReasoningDetailTextSchema = z.object({
32
+ type: z.literal("reasoning.text" /* Text */),
33
+ text: z.string().nullish(),
34
+ signature: z.string().nullish()
35
+ });
36
+ var ReasoningDetailUnionSchema = z.union([
37
+ ReasoningDetailSummarySchema,
38
+ ReasoningDetailEncryptedSchema,
39
+ ReasoningDetailTextSchema
40
+ ]);
41
+ var ReasoningDetailsWithUnknownSchema = z.union([
42
+ ReasoningDetailUnionSchema,
43
+ z.unknown().transform(() => null)
44
+ ]);
45
+ var ReasoningDetailArraySchema = z.array(ReasoningDetailsWithUnknownSchema).transform((d) => d.filter((d2) => !!d2));
46
+
21
47
  // node_modules/.pnpm/@ai-sdk+provider@2.0.0-beta.1/node_modules/@ai-sdk/provider/dist/index.mjs
22
48
  var marker = "vercel.ai.error";
23
49
  var symbol = Symbol.for(marker);
@@ -840,32 +866,6 @@ function convertUint8ArrayToBase64(array) {
840
866
  return btoa(latin1string);
841
867
  }
842
868
 
843
- // src/schemas/reasoning-details.ts
844
- import { z } from "zod/v4";
845
- var ReasoningDetailSummarySchema = z.object({
846
- type: z.literal("reasoning.summary" /* Summary */),
847
- summary: z.string()
848
- });
849
- var ReasoningDetailEncryptedSchema = z.object({
850
- type: z.literal("reasoning.encrypted" /* Encrypted */),
851
- data: z.string()
852
- });
853
- var ReasoningDetailTextSchema = z.object({
854
- type: z.literal("reasoning.text" /* Text */),
855
- text: z.string().nullish(),
856
- signature: z.string().nullish()
857
- });
858
- var ReasoningDetailUnionSchema = z.union([
859
- ReasoningDetailSummarySchema,
860
- ReasoningDetailEncryptedSchema,
861
- ReasoningDetailTextSchema
862
- ]);
863
- var ReasoningDetailsWithUnknownSchema = z.union([
864
- ReasoningDetailUnionSchema,
865
- z.unknown().transform(() => null)
866
- ]);
867
- var ReasoningDetailArraySchema = z.array(ReasoningDetailsWithUnknownSchema).transform((d) => d.filter((d2) => !!d2));
868
-
869
869
  // src/schemas/error-response.ts
870
870
  import { z as z2 } from "zod/v4";
871
871
  var LLMGatewayErrorResponseSchema = z2.object({
@@ -1275,6 +1275,7 @@ var LLMGatewayChatLanguageModel = class {
1275
1275
  tools,
1276
1276
  toolChoice
1277
1277
  }) {
1278
+ var _a15;
1278
1279
  const baseArgs = __spreadValues(__spreadValues({
1279
1280
  // model id:
1280
1281
  model: this.modelId,
@@ -1303,6 +1304,19 @@ var LLMGatewayChatLanguageModel = class {
1303
1304
  usage: this.settings.usage
1304
1305
  }, this.config.extraBody), this.settings.extraBody);
1305
1306
  if ((responseFormat == null ? void 0 : responseFormat.type) === "json") {
1307
+ if ("schema" in responseFormat && responseFormat.schema) {
1308
+ return __spreadProps(__spreadValues({}, baseArgs), {
1309
+ response_format: {
1310
+ type: "json_schema",
1311
+ json_schema: {
1312
+ name: responseFormat.schema.name || "response",
1313
+ description: responseFormat.schema.description,
1314
+ schema: responseFormat.schema,
1315
+ strict: (_a15 = responseFormat.schema.strict) != null ? _a15 : true
1316
+ }
1317
+ }
1318
+ });
1319
+ }
1306
1320
  return __spreadProps(__spreadValues({}, baseArgs), {
1307
1321
  response_format: { type: "json_object" }
1308
1322
  });
@@ -1395,7 +1409,9 @@ var LLMGatewayChatLanguageModel = class {
1395
1409
  }
1396
1410
  }
1397
1411
  return null;
1398
- }).filter((p) => p !== null) : choice.message.reasoning ? [
1412
+ }).filter(
1413
+ (p) => p !== null
1414
+ ) : choice.message.reasoning ? [
1399
1415
  {
1400
1416
  type: "reasoning",
1401
1417
  text: choice.message.reasoning