@ai-sdk/gateway 2.0.109 → 2.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.js CHANGED
@@ -35,13 +35,13 @@ __export(index_exports, {
35
35
  module.exports = __toCommonJS(index_exports);
36
36
 
37
37
  // src/gateway-provider.ts
38
- var import_provider_utils12 = require("@ai-sdk/provider-utils");
38
+ var import_provider_utils13 = require("@ai-sdk/provider-utils");
39
39
 
40
40
  // src/errors/as-gateway-error.ts
41
41
  var import_provider = require("@ai-sdk/provider");
42
42
 
43
43
  // src/errors/create-gateway-error.ts
44
- var import_v42 = require("zod/v4");
44
+ var import_v43 = require("zod/v4");
45
45
 
46
46
  // src/errors/gateway-error.ts
47
47
  var marker = "vercel.ai.gateway.error";
@@ -133,21 +133,32 @@ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the toke
133
133
  };
134
134
 
135
135
  // src/errors/gateway-forbidden-error.ts
136
+ var import_v4 = require("zod/v4");
137
+ var import_provider_utils = require("@ai-sdk/provider-utils");
136
138
  var name2 = "GatewayForbiddenError";
137
139
  var marker3 = `vercel.ai.gateway.error.${name2}`;
138
140
  var symbol3 = Symbol.for(marker3);
141
+ var forbiddenParamSchema = (0, import_provider_utils.lazyValidator)(
142
+ () => (0, import_provider_utils.zodSchema)(
143
+ import_v4.z.object({
144
+ ruleId: import_v4.z.string()
145
+ })
146
+ )
147
+ );
139
148
  var _a3, _b3;
140
149
  var GatewayForbiddenError = class extends (_b3 = GatewayError, _a3 = symbol3, _b3) {
141
150
  constructor({
142
151
  message = "Forbidden",
143
152
  statusCode = 403,
144
- cause
153
+ cause,
154
+ ruleId
145
155
  } = {}) {
146
156
  super({ message, statusCode, cause });
147
157
  this[_a3] = true;
148
158
  // used in isInstance
149
159
  this.name = name2;
150
160
  this.type = "forbidden";
161
+ this.ruleId = ruleId;
151
162
  }
152
163
  static isInstance(error) {
153
164
  return GatewayError.hasMarker(error) && symbol3 in error;
@@ -199,15 +210,15 @@ var GatewayRateLimitError = class extends (_b5 = GatewayError, _a5 = symbol5, _b
199
210
  };
200
211
 
201
212
  // src/errors/gateway-model-not-found-error.ts
202
- var import_v4 = require("zod/v4");
203
- var import_provider_utils = require("@ai-sdk/provider-utils");
213
+ var import_v42 = require("zod/v4");
214
+ var import_provider_utils2 = require("@ai-sdk/provider-utils");
204
215
  var name5 = "GatewayModelNotFoundError";
205
216
  var marker6 = `vercel.ai.gateway.error.${name5}`;
206
217
  var symbol6 = Symbol.for(marker6);
207
- var modelNotFoundParamSchema = (0, import_provider_utils.lazyValidator)(
208
- () => (0, import_provider_utils.zodSchema)(
209
- import_v4.z.object({
210
- modelId: import_v4.z.string()
218
+ var modelNotFoundParamSchema = (0, import_provider_utils2.lazyValidator)(
219
+ () => (0, import_provider_utils2.zodSchema)(
220
+ import_v42.z.object({
221
+ modelId: import_v42.z.string()
211
222
  })
212
223
  )
213
224
  );
@@ -280,7 +291,7 @@ var GatewayResponseError = class extends (_b8 = GatewayError, _a8 = symbol8, _b8
280
291
  };
281
292
 
282
293
  // src/errors/create-gateway-error.ts
283
- var import_provider_utils2 = require("@ai-sdk/provider-utils");
294
+ var import_provider_utils3 = require("@ai-sdk/provider-utils");
284
295
  async function createGatewayErrorFromResponse({
285
296
  response,
286
297
  statusCode,
@@ -288,7 +299,7 @@ async function createGatewayErrorFromResponse({
288
299
  cause,
289
300
  authMethod
290
301
  }) {
291
- const parseResult = await (0, import_provider_utils2.safeValidateTypes)({
302
+ const parseResult = await (0, import_provider_utils3.safeValidateTypes)({
292
303
  value: response,
293
304
  schema: gatewayErrorResponseSchema
294
305
  });
@@ -317,7 +328,7 @@ async function createGatewayErrorFromResponse({
317
328
  case "rate_limit_exceeded":
318
329
  return new GatewayRateLimitError({ message, statusCode, cause });
319
330
  case "model_not_found": {
320
- const modelResult = await (0, import_provider_utils2.safeValidateTypes)({
331
+ const modelResult = await (0, import_provider_utils3.safeValidateTypes)({
321
332
  value: validatedResponse.error.param,
322
333
  schema: modelNotFoundParamSchema
323
334
  });
@@ -330,20 +341,30 @@ async function createGatewayErrorFromResponse({
330
341
  }
331
342
  case "internal_server_error":
332
343
  return new GatewayInternalServerError({ message, statusCode, cause });
333
- case "forbidden":
334
- return new GatewayForbiddenError({ message, statusCode, cause });
344
+ case "forbidden": {
345
+ const ruleResult = await (0, import_provider_utils3.safeValidateTypes)({
346
+ value: validatedResponse.error.param,
347
+ schema: forbiddenParamSchema
348
+ });
349
+ return new GatewayForbiddenError({
350
+ message,
351
+ statusCode,
352
+ cause,
353
+ ruleId: ruleResult.success ? ruleResult.value.ruleId : void 0
354
+ });
355
+ }
335
356
  default:
336
357
  return new GatewayInternalServerError({ message, statusCode, cause });
337
358
  }
338
359
  }
339
- var gatewayErrorResponseSchema = (0, import_provider_utils2.lazyValidator)(
340
- () => (0, import_provider_utils2.zodSchema)(
341
- import_v42.z.object({
342
- error: import_v42.z.object({
343
- message: import_v42.z.string(),
344
- type: import_v42.z.string().nullish(),
345
- param: import_v42.z.unknown().nullish(),
346
- code: import_v42.z.union([import_v42.z.string(), import_v42.z.number()]).nullish()
360
+ var gatewayErrorResponseSchema = (0, import_provider_utils3.lazyValidator)(
361
+ () => (0, import_provider_utils3.zodSchema)(
362
+ import_v43.z.object({
363
+ error: import_v43.z.object({
364
+ message: import_v43.z.string(),
365
+ type: import_v43.z.string().nullish(),
366
+ param: import_v43.z.unknown().nullish(),
367
+ code: import_v43.z.union([import_v43.z.string(), import_v43.z.number()]).nullish()
347
368
  })
348
369
  })
349
370
  )
@@ -455,23 +476,23 @@ async function asGatewayError(error, authMethod) {
455
476
  }
456
477
 
457
478
  // src/errors/parse-auth-method.ts
458
- var import_v43 = require("zod/v4");
459
- var import_provider_utils3 = require("@ai-sdk/provider-utils");
479
+ var import_v44 = require("zod/v4");
480
+ var import_provider_utils4 = require("@ai-sdk/provider-utils");
460
481
  var GATEWAY_AUTH_METHOD_HEADER = "ai-gateway-auth-method";
461
482
  async function parseAuthMethod(headers) {
462
- const result = await (0, import_provider_utils3.safeValidateTypes)({
483
+ const result = await (0, import_provider_utils4.safeValidateTypes)({
463
484
  value: headers[GATEWAY_AUTH_METHOD_HEADER],
464
485
  schema: gatewayAuthMethodSchema
465
486
  });
466
487
  return result.success ? result.value : void 0;
467
488
  }
468
- var gatewayAuthMethodSchema = (0, import_provider_utils3.lazyValidator)(
469
- () => (0, import_provider_utils3.zodSchema)(import_v43.z.union([import_v43.z.literal("api-key"), import_v43.z.literal("oidc")]))
489
+ var gatewayAuthMethodSchema = (0, import_provider_utils4.lazyValidator)(
490
+ () => (0, import_provider_utils4.zodSchema)(import_v44.z.union([import_v44.z.literal("api-key"), import_v44.z.literal("oidc")]))
470
491
  );
471
492
 
472
493
  // src/gateway-fetch-metadata.ts
473
- var import_provider_utils4 = require("@ai-sdk/provider-utils");
474
- var import_v44 = require("zod/v4");
494
+ var import_provider_utils5 = require("@ai-sdk/provider-utils");
495
+ var import_v45 = require("zod/v4");
475
496
 
476
497
  // src/gateway-model-entry.ts
477
498
  var KNOWN_MODEL_TYPES = ["embedding", "image", "language"];
@@ -483,14 +504,14 @@ var GatewayFetchMetadata = class {
483
504
  }
484
505
  async getAvailableModels() {
485
506
  try {
486
- const { value } = await (0, import_provider_utils4.getFromApi)({
507
+ const { value } = await (0, import_provider_utils5.getFromApi)({
487
508
  url: `${this.config.baseURL}/config`,
488
- headers: await (0, import_provider_utils4.resolve)(this.config.headers()),
489
- successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
509
+ headers: await (0, import_provider_utils5.resolve)(this.config.headers()),
510
+ successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
490
511
  gatewayAvailableModelsResponseSchema
491
512
  ),
492
- failedResponseHandler: (0, import_provider_utils4.createJsonErrorResponseHandler)({
493
- errorSchema: import_v44.z.any(),
513
+ failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({
514
+ errorSchema: import_v45.z.any(),
494
515
  errorToMessage: (data) => data
495
516
  }),
496
517
  fetch: this.config.fetch
@@ -503,14 +524,14 @@ var GatewayFetchMetadata = class {
503
524
  async getCredits() {
504
525
  try {
505
526
  const baseUrl = new URL(this.config.baseURL);
506
- const { value } = await (0, import_provider_utils4.getFromApi)({
527
+ const { value } = await (0, import_provider_utils5.getFromApi)({
507
528
  url: `${baseUrl.origin}/v1/credits`,
508
- headers: await (0, import_provider_utils4.resolve)(this.config.headers()),
509
- successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
529
+ headers: await (0, import_provider_utils5.resolve)(this.config.headers()),
530
+ successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
510
531
  gatewayCreditsResponseSchema
511
532
  ),
512
- failedResponseHandler: (0, import_provider_utils4.createJsonErrorResponseHandler)({
513
- errorSchema: import_v44.z.any(),
533
+ failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({
534
+ errorSchema: import_v45.z.any(),
514
535
  errorToMessage: (data) => data
515
536
  }),
516
537
  fetch: this.config.fetch
@@ -521,19 +542,19 @@ var GatewayFetchMetadata = class {
521
542
  }
522
543
  }
523
544
  };
524
- var gatewayAvailableModelsResponseSchema = (0, import_provider_utils4.lazyValidator)(
525
- () => (0, import_provider_utils4.zodSchema)(
526
- import_v44.z.object({
527
- models: import_v44.z.array(
528
- import_v44.z.object({
529
- id: import_v44.z.string(),
530
- name: import_v44.z.string(),
531
- description: import_v44.z.string().nullish(),
532
- pricing: import_v44.z.object({
533
- input: import_v44.z.string(),
534
- output: import_v44.z.string(),
535
- input_cache_read: import_v44.z.string().nullish(),
536
- input_cache_write: import_v44.z.string().nullish()
545
+ var gatewayAvailableModelsResponseSchema = (0, import_provider_utils5.lazyValidator)(
546
+ () => (0, import_provider_utils5.zodSchema)(
547
+ import_v45.z.object({
548
+ models: import_v45.z.array(
549
+ import_v45.z.object({
550
+ id: import_v45.z.string(),
551
+ name: import_v45.z.string(),
552
+ description: import_v45.z.string().nullish(),
553
+ pricing: import_v45.z.object({
554
+ input: import_v45.z.string(),
555
+ output: import_v45.z.string(),
556
+ input_cache_read: import_v45.z.string().nullish(),
557
+ input_cache_write: import_v45.z.string().nullish()
537
558
  }).transform(
538
559
  ({ input, output, input_cache_read, input_cache_write }) => ({
539
560
  input,
@@ -542,12 +563,12 @@ var gatewayAvailableModelsResponseSchema = (0, import_provider_utils4.lazyValida
542
563
  ...input_cache_write ? { cacheCreationInputTokens: input_cache_write } : {}
543
564
  })
544
565
  ).nullish(),
545
- specification: import_v44.z.object({
546
- specificationVersion: import_v44.z.literal("v2"),
547
- provider: import_v44.z.string(),
548
- modelId: import_v44.z.string()
566
+ specification: import_v45.z.object({
567
+ specificationVersion: import_v45.z.literal("v2"),
568
+ provider: import_v45.z.string(),
569
+ modelId: import_v45.z.string()
549
570
  }),
550
- modelType: import_v44.z.string().nullish()
571
+ modelType: import_v45.z.string().nullish()
551
572
  })
552
573
  ).transform(
553
574
  (models) => models.filter(
@@ -557,11 +578,11 @@ var gatewayAvailableModelsResponseSchema = (0, import_provider_utils4.lazyValida
557
578
  })
558
579
  )
559
580
  );
560
- var gatewayCreditsResponseSchema = (0, import_provider_utils4.lazyValidator)(
561
- () => (0, import_provider_utils4.zodSchema)(
562
- import_v44.z.object({
563
- balance: import_v44.z.string(),
564
- total_used: import_v44.z.string()
581
+ var gatewayCreditsResponseSchema = (0, import_provider_utils5.lazyValidator)(
582
+ () => (0, import_provider_utils5.zodSchema)(
583
+ import_v45.z.object({
584
+ balance: import_v45.z.string(),
585
+ total_used: import_v45.z.string()
565
586
  }).transform(({ balance, total_used }) => ({
566
587
  balance,
567
588
  totalUsed: total_used
@@ -570,8 +591,8 @@ var gatewayCreditsResponseSchema = (0, import_provider_utils4.lazyValidator)(
570
591
  );
571
592
 
572
593
  // src/gateway-spend-report.ts
573
- var import_provider_utils5 = require("@ai-sdk/provider-utils");
574
- var import_v45 = require("zod/v4");
594
+ var import_provider_utils6 = require("@ai-sdk/provider-utils");
595
+ var import_v46 = require("zod/v4");
575
596
  var GatewaySpendReport = class {
576
597
  constructor(config) {
577
598
  this.config = config;
@@ -603,14 +624,14 @@ var GatewaySpendReport = class {
603
624
  if (params.tags && params.tags.length > 0) {
604
625
  searchParams.set("tags", params.tags.join(","));
605
626
  }
606
- const { value } = await (0, import_provider_utils5.getFromApi)({
627
+ const { value } = await (0, import_provider_utils6.getFromApi)({
607
628
  url: `${baseUrl.origin}/v1/report?${searchParams.toString()}`,
608
- headers: await (0, import_provider_utils5.resolve)(this.config.headers()),
609
- successfulResponseHandler: (0, import_provider_utils5.createJsonResponseHandler)(
629
+ headers: await (0, import_provider_utils6.resolve)(this.config.headers()),
630
+ successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
610
631
  gatewaySpendReportResponseSchema
611
632
  ),
612
- failedResponseHandler: (0, import_provider_utils5.createJsonErrorResponseHandler)({
613
- errorSchema: import_v45.z.any(),
633
+ failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({
634
+ errorSchema: import_v46.z.any(),
614
635
  errorToMessage: (data) => data
615
636
  }),
616
637
  fetch: this.config.fetch
@@ -621,26 +642,26 @@ var GatewaySpendReport = class {
621
642
  }
622
643
  }
623
644
  };
624
- var gatewaySpendReportResponseSchema = (0, import_provider_utils5.lazySchema)(
625
- () => (0, import_provider_utils5.zodSchema)(
626
- import_v45.z.object({
627
- results: import_v45.z.array(
628
- import_v45.z.object({
629
- day: import_v45.z.string().optional(),
630
- hour: import_v45.z.string().optional(),
631
- user: import_v45.z.string().optional(),
632
- model: import_v45.z.string().optional(),
633
- tag: import_v45.z.string().optional(),
634
- provider: import_v45.z.string().optional(),
635
- credential_type: import_v45.z.enum(["byok", "system"]).optional(),
636
- total_cost: import_v45.z.number(),
637
- market_cost: import_v45.z.number().optional(),
638
- input_tokens: import_v45.z.number().optional(),
639
- output_tokens: import_v45.z.number().optional(),
640
- cached_input_tokens: import_v45.z.number().optional(),
641
- cache_creation_input_tokens: import_v45.z.number().optional(),
642
- reasoning_tokens: import_v45.z.number().optional(),
643
- request_count: import_v45.z.number().optional()
645
+ var gatewaySpendReportResponseSchema = (0, import_provider_utils6.lazySchema)(
646
+ () => (0, import_provider_utils6.zodSchema)(
647
+ import_v46.z.object({
648
+ results: import_v46.z.array(
649
+ import_v46.z.object({
650
+ day: import_v46.z.string().optional(),
651
+ hour: import_v46.z.string().optional(),
652
+ user: import_v46.z.string().optional(),
653
+ model: import_v46.z.string().optional(),
654
+ tag: import_v46.z.string().optional(),
655
+ provider: import_v46.z.string().optional(),
656
+ credential_type: import_v46.z.enum(["byok", "system"]).optional(),
657
+ total_cost: import_v46.z.number(),
658
+ market_cost: import_v46.z.number().optional(),
659
+ input_tokens: import_v46.z.number().optional(),
660
+ output_tokens: import_v46.z.number().optional(),
661
+ cached_input_tokens: import_v46.z.number().optional(),
662
+ cache_creation_input_tokens: import_v46.z.number().optional(),
663
+ reasoning_tokens: import_v46.z.number().optional(),
664
+ request_count: import_v46.z.number().optional()
644
665
  }).transform(
645
666
  ({
646
667
  credential_type,
@@ -672,8 +693,8 @@ var gatewaySpendReportResponseSchema = (0, import_provider_utils5.lazySchema)(
672
693
  );
673
694
 
674
695
  // src/gateway-generation-info.ts
675
- var import_provider_utils6 = require("@ai-sdk/provider-utils");
676
- var import_v46 = require("zod/v4");
696
+ var import_provider_utils7 = require("@ai-sdk/provider-utils");
697
+ var import_v47 = require("zod/v4");
677
698
  var GatewayGenerationInfoFetcher = class {
678
699
  constructor(config) {
679
700
  this.config = config;
@@ -681,14 +702,14 @@ var GatewayGenerationInfoFetcher = class {
681
702
  async getGenerationInfo(params) {
682
703
  try {
683
704
  const baseUrl = new URL(this.config.baseURL);
684
- const { value } = await (0, import_provider_utils6.getFromApi)({
705
+ const { value } = await (0, import_provider_utils7.getFromApi)({
685
706
  url: `${baseUrl.origin}/v1/generation?id=${encodeURIComponent(params.id)}`,
686
- headers: await (0, import_provider_utils6.resolve)(this.config.headers()),
687
- successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
707
+ headers: await (0, import_provider_utils7.resolve)(this.config.headers()),
708
+ successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
688
709
  gatewayGenerationInfoResponseSchema
689
710
  ),
690
- failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)({
691
- errorSchema: import_v46.z.any(),
711
+ failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
712
+ errorSchema: import_v47.z.any(),
692
713
  errorToMessage: (data) => data
693
714
  }),
694
715
  fetch: this.config.fetch
@@ -699,28 +720,28 @@ var GatewayGenerationInfoFetcher = class {
699
720
  }
700
721
  }
701
722
  };
702
- var gatewayGenerationInfoResponseSchema = (0, import_provider_utils6.lazySchema)(
703
- () => (0, import_provider_utils6.zodSchema)(
704
- import_v46.z.object({
705
- data: import_v46.z.object({
706
- id: import_v46.z.string(),
707
- total_cost: import_v46.z.number(),
708
- upstream_inference_cost: import_v46.z.number(),
709
- usage: import_v46.z.number(),
710
- created_at: import_v46.z.string(),
711
- model: import_v46.z.string(),
712
- is_byok: import_v46.z.boolean(),
713
- provider_name: import_v46.z.string(),
714
- streamed: import_v46.z.boolean(),
715
- finish_reason: import_v46.z.string(),
716
- latency: import_v46.z.number(),
717
- generation_time: import_v46.z.number(),
718
- native_tokens_prompt: import_v46.z.number(),
719
- native_tokens_completion: import_v46.z.number(),
720
- native_tokens_reasoning: import_v46.z.number(),
721
- native_tokens_cached: import_v46.z.number(),
722
- native_tokens_cache_creation: import_v46.z.number(),
723
- billable_web_search_calls: import_v46.z.number()
723
+ var gatewayGenerationInfoResponseSchema = (0, import_provider_utils7.lazySchema)(
724
+ () => (0, import_provider_utils7.zodSchema)(
725
+ import_v47.z.object({
726
+ data: import_v47.z.object({
727
+ id: import_v47.z.string(),
728
+ total_cost: import_v47.z.number(),
729
+ upstream_inference_cost: import_v47.z.number(),
730
+ usage: import_v47.z.number(),
731
+ created_at: import_v47.z.string(),
732
+ model: import_v47.z.string(),
733
+ is_byok: import_v47.z.boolean(),
734
+ provider_name: import_v47.z.string(),
735
+ streamed: import_v47.z.boolean(),
736
+ finish_reason: import_v47.z.string(),
737
+ latency: import_v47.z.number(),
738
+ generation_time: import_v47.z.number(),
739
+ native_tokens_prompt: import_v47.z.number(),
740
+ native_tokens_completion: import_v47.z.number(),
741
+ native_tokens_reasoning: import_v47.z.number(),
742
+ native_tokens_cached: import_v47.z.number(),
743
+ native_tokens_cache_creation: import_v47.z.number(),
744
+ billable_web_search_calls: import_v47.z.number()
724
745
  }).transform(
725
746
  ({
726
747
  total_cost,
@@ -759,8 +780,8 @@ var gatewayGenerationInfoResponseSchema = (0, import_provider_utils6.lazySchema)
759
780
  );
760
781
 
761
782
  // src/gateway-language-model.ts
762
- var import_provider_utils7 = require("@ai-sdk/provider-utils");
763
- var import_v47 = require("zod/v4");
783
+ var import_provider_utils8 = require("@ai-sdk/provider-utils");
784
+ var import_v48 = require("zod/v4");
764
785
  var GatewayLanguageModel = class {
765
786
  constructor(modelId, config) {
766
787
  this.modelId = modelId;
@@ -781,24 +802,24 @@ var GatewayLanguageModel = class {
781
802
  async doGenerate(options) {
782
803
  const { args, warnings } = await this.getArgs(options);
783
804
  const { abortSignal } = options;
784
- const resolvedHeaders = await (0, import_provider_utils7.resolve)(this.config.headers());
805
+ const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers());
785
806
  try {
786
807
  const {
787
808
  responseHeaders,
788
809
  value: responseBody,
789
810
  rawValue: rawResponse
790
- } = await (0, import_provider_utils7.postJsonToApi)({
811
+ } = await (0, import_provider_utils8.postJsonToApi)({
791
812
  url: this.getUrl(),
792
- headers: (0, import_provider_utils7.combineHeaders)(
813
+ headers: (0, import_provider_utils8.combineHeaders)(
793
814
  resolvedHeaders,
794
815
  options.headers,
795
816
  this.getModelConfigHeaders(this.modelId, false),
796
- await (0, import_provider_utils7.resolve)(this.config.o11yHeaders)
817
+ await (0, import_provider_utils8.resolve)(this.config.o11yHeaders)
797
818
  ),
798
819
  body: args,
799
- successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(import_v47.z.any()),
800
- failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
801
- errorSchema: import_v47.z.any(),
820
+ successfulResponseHandler: (0, import_provider_utils8.createJsonResponseHandler)(import_v48.z.any()),
821
+ failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({
822
+ errorSchema: import_v48.z.any(),
802
823
  errorToMessage: (data) => data
803
824
  }),
804
825
  ...abortSignal && { abortSignal },
@@ -817,20 +838,20 @@ var GatewayLanguageModel = class {
817
838
  async doStream(options) {
818
839
  const { args, warnings } = await this.getArgs(options);
819
840
  const { abortSignal } = options;
820
- const resolvedHeaders = await (0, import_provider_utils7.resolve)(this.config.headers());
841
+ const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers());
821
842
  try {
822
- const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({
843
+ const { value: response, responseHeaders } = await (0, import_provider_utils8.postJsonToApi)({
823
844
  url: this.getUrl(),
824
- headers: (0, import_provider_utils7.combineHeaders)(
845
+ headers: (0, import_provider_utils8.combineHeaders)(
825
846
  resolvedHeaders,
826
847
  options.headers,
827
848
  this.getModelConfigHeaders(this.modelId, true),
828
- await (0, import_provider_utils7.resolve)(this.config.o11yHeaders)
849
+ await (0, import_provider_utils8.resolve)(this.config.o11yHeaders)
829
850
  ),
830
851
  body: args,
831
- successfulResponseHandler: (0, import_provider_utils7.createEventSourceResponseHandler)(import_v47.z.any()),
832
- failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)({
833
- errorSchema: import_v47.z.any(),
852
+ successfulResponseHandler: (0, import_provider_utils8.createEventSourceResponseHandler)(import_v48.z.any()),
853
+ failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({
854
+ errorSchema: import_v48.z.any(),
834
855
  errorToMessage: (data) => data
835
856
  }),
836
857
  ...abortSignal && { abortSignal },
@@ -908,8 +929,8 @@ var GatewayLanguageModel = class {
908
929
  };
909
930
 
910
931
  // src/gateway-embedding-model.ts
911
- var import_provider_utils8 = require("@ai-sdk/provider-utils");
912
- var import_v48 = require("zod/v4");
932
+ var import_provider_utils9 = require("@ai-sdk/provider-utils");
933
+ var import_v49 = require("zod/v4");
913
934
  var GatewayEmbeddingModel = class {
914
935
  constructor(modelId, config) {
915
936
  this.modelId = modelId;
@@ -928,29 +949,29 @@ var GatewayEmbeddingModel = class {
928
949
  providerOptions
929
950
  }) {
930
951
  var _a10;
931
- const resolvedHeaders = await (0, import_provider_utils8.resolve)(this.config.headers());
952
+ const resolvedHeaders = await (0, import_provider_utils9.resolve)(this.config.headers());
932
953
  try {
933
954
  const {
934
955
  responseHeaders,
935
956
  value: responseBody,
936
957
  rawValue
937
- } = await (0, import_provider_utils8.postJsonToApi)({
958
+ } = await (0, import_provider_utils9.postJsonToApi)({
938
959
  url: this.getUrl(),
939
- headers: (0, import_provider_utils8.combineHeaders)(
960
+ headers: (0, import_provider_utils9.combineHeaders)(
940
961
  resolvedHeaders,
941
962
  headers != null ? headers : {},
942
963
  this.getModelConfigHeaders(),
943
- await (0, import_provider_utils8.resolve)(this.config.o11yHeaders)
964
+ await (0, import_provider_utils9.resolve)(this.config.o11yHeaders)
944
965
  ),
945
966
  body: {
946
967
  input: values.length === 1 ? values[0] : values,
947
968
  ...providerOptions ? { providerOptions } : {}
948
969
  },
949
- successfulResponseHandler: (0, import_provider_utils8.createJsonResponseHandler)(
970
+ successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)(
950
971
  gatewayEmbeddingResponseSchema
951
972
  ),
952
- failedResponseHandler: (0, import_provider_utils8.createJsonErrorResponseHandler)({
953
- errorSchema: import_v48.z.any(),
973
+ failedResponseHandler: (0, import_provider_utils9.createJsonErrorResponseHandler)({
974
+ errorSchema: import_v49.z.any(),
954
975
  errorToMessage: (data) => data
955
976
  }),
956
977
  ...abortSignal && { abortSignal },
@@ -976,19 +997,19 @@ var GatewayEmbeddingModel = class {
976
997
  };
977
998
  }
978
999
  };
979
- var gatewayEmbeddingResponseSchema = (0, import_provider_utils8.lazyValidator)(
980
- () => (0, import_provider_utils8.zodSchema)(
981
- import_v48.z.object({
982
- embeddings: import_v48.z.array(import_v48.z.array(import_v48.z.number())),
983
- usage: import_v48.z.object({ tokens: import_v48.z.number() }).nullish(),
984
- providerMetadata: import_v48.z.record(import_v48.z.string(), import_v48.z.record(import_v48.z.string(), import_v48.z.unknown())).optional()
1000
+ var gatewayEmbeddingResponseSchema = (0, import_provider_utils9.lazyValidator)(
1001
+ () => (0, import_provider_utils9.zodSchema)(
1002
+ import_v49.z.object({
1003
+ embeddings: import_v49.z.array(import_v49.z.array(import_v49.z.number())),
1004
+ usage: import_v49.z.object({ tokens: import_v49.z.number() }).nullish(),
1005
+ providerMetadata: import_v49.z.record(import_v49.z.string(), import_v49.z.record(import_v49.z.string(), import_v49.z.unknown())).optional()
985
1006
  })
986
1007
  )
987
1008
  );
988
1009
 
989
1010
  // src/gateway-image-model.ts
990
- var import_provider_utils9 = require("@ai-sdk/provider-utils");
991
- var import_v49 = require("zod/v4");
1011
+ var import_provider_utils10 = require("@ai-sdk/provider-utils");
1012
+ var import_v410 = require("zod/v4");
992
1013
  var GatewayImageModel = class {
993
1014
  constructor(modelId, config) {
994
1015
  this.modelId = modelId;
@@ -1011,19 +1032,19 @@ var GatewayImageModel = class {
1011
1032
  abortSignal
1012
1033
  }) {
1013
1034
  var _a10, _b10, _c, _d;
1014
- const resolvedHeaders = await (0, import_provider_utils9.resolve)(this.config.headers());
1035
+ const resolvedHeaders = await (0, import_provider_utils10.resolve)(this.config.headers());
1015
1036
  try {
1016
1037
  const {
1017
1038
  responseHeaders,
1018
1039
  value: responseBody,
1019
1040
  rawValue
1020
- } = await (0, import_provider_utils9.postJsonToApi)({
1041
+ } = await (0, import_provider_utils10.postJsonToApi)({
1021
1042
  url: this.getUrl(),
1022
- headers: (0, import_provider_utils9.combineHeaders)(
1043
+ headers: (0, import_provider_utils10.combineHeaders)(
1023
1044
  resolvedHeaders,
1024
1045
  headers != null ? headers : {},
1025
1046
  this.getModelConfigHeaders(),
1026
- await (0, import_provider_utils9.resolve)(this.config.o11yHeaders)
1047
+ await (0, import_provider_utils10.resolve)(this.config.o11yHeaders)
1027
1048
  ),
1028
1049
  body: {
1029
1050
  prompt,
@@ -1033,11 +1054,11 @@ var GatewayImageModel = class {
1033
1054
  ...seed && { seed },
1034
1055
  ...providerOptions && { providerOptions }
1035
1056
  },
1036
- successfulResponseHandler: (0, import_provider_utils9.createJsonResponseHandler)(
1057
+ successfulResponseHandler: (0, import_provider_utils10.createJsonResponseHandler)(
1037
1058
  gatewayImageResponseSchema
1038
1059
  ),
1039
- failedResponseHandler: (0, import_provider_utils9.createJsonErrorResponseHandler)({
1040
- errorSchema: import_v49.z.any(),
1060
+ failedResponseHandler: (0, import_provider_utils10.createJsonErrorResponseHandler)({
1061
+ errorSchema: import_v410.z.any(),
1041
1062
  errorToMessage: (data) => data
1042
1063
  }),
1043
1064
  ...abortSignal && { abortSignal },
@@ -1075,32 +1096,32 @@ var GatewayImageModel = class {
1075
1096
  };
1076
1097
  }
1077
1098
  };
1078
- var providerMetadataEntrySchema = import_v49.z.object({
1079
- images: import_v49.z.array(import_v49.z.unknown()).optional()
1080
- }).catchall(import_v49.z.unknown());
1081
- var gatewayImageUsageSchema = import_v49.z.object({
1082
- inputTokens: import_v49.z.number().nullish(),
1083
- outputTokens: import_v49.z.number().nullish(),
1084
- totalTokens: import_v49.z.number().nullish()
1099
+ var providerMetadataEntrySchema = import_v410.z.object({
1100
+ images: import_v410.z.array(import_v410.z.unknown()).optional()
1101
+ }).catchall(import_v410.z.unknown());
1102
+ var gatewayImageUsageSchema = import_v410.z.object({
1103
+ inputTokens: import_v410.z.number().nullish(),
1104
+ outputTokens: import_v410.z.number().nullish(),
1105
+ totalTokens: import_v410.z.number().nullish()
1085
1106
  });
1086
- var gatewayImageResponseSchema = import_v49.z.object({
1087
- images: import_v49.z.array(import_v49.z.string()),
1107
+ var gatewayImageResponseSchema = import_v410.z.object({
1108
+ images: import_v410.z.array(import_v410.z.string()),
1088
1109
  // Always base64 strings over the wire
1089
- warnings: import_v49.z.array(
1090
- import_v49.z.object({
1091
- type: import_v49.z.literal("other"),
1092
- message: import_v49.z.string()
1110
+ warnings: import_v410.z.array(
1111
+ import_v410.z.object({
1112
+ type: import_v410.z.literal("other"),
1113
+ message: import_v410.z.string()
1093
1114
  })
1094
1115
  ).optional(),
1095
- providerMetadata: import_v49.z.record(import_v49.z.string(), providerMetadataEntrySchema).optional(),
1116
+ providerMetadata: import_v410.z.record(import_v410.z.string(), providerMetadataEntrySchema).optional(),
1096
1117
  usage: gatewayImageUsageSchema.optional()
1097
1118
  });
1098
1119
 
1099
1120
  // src/tool/parallel-search.ts
1100
- var import_provider_utils10 = require("@ai-sdk/provider-utils");
1121
+ var import_provider_utils11 = require("@ai-sdk/provider-utils");
1101
1122
  var import_zod = require("zod");
1102
- var parallelSearchInputSchema = (0, import_provider_utils10.lazySchema)(
1103
- () => (0, import_provider_utils10.zodSchema)(
1123
+ var parallelSearchInputSchema = (0, import_provider_utils11.lazySchema)(
1124
+ () => (0, import_provider_utils11.zodSchema)(
1104
1125
  import_zod.z.object({
1105
1126
  objective: import_zod.z.string().describe(
1106
1127
  "Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."
@@ -1135,8 +1156,8 @@ var parallelSearchInputSchema = (0, import_provider_utils10.lazySchema)(
1135
1156
  })
1136
1157
  )
1137
1158
  );
1138
- var parallelSearchOutputSchema = (0, import_provider_utils10.lazySchema)(
1139
- () => (0, import_provider_utils10.zodSchema)(
1159
+ var parallelSearchOutputSchema = (0, import_provider_utils11.lazySchema)(
1160
+ () => (0, import_provider_utils11.zodSchema)(
1140
1161
  import_zod.z.union([
1141
1162
  // Success response
1142
1163
  import_zod.z.object({
@@ -1167,7 +1188,7 @@ var parallelSearchOutputSchema = (0, import_provider_utils10.lazySchema)(
1167
1188
  ])
1168
1189
  )
1169
1190
  );
1170
- var parallelSearchToolFactory = (0, import_provider_utils10.createProviderDefinedToolFactoryWithOutputSchema)({
1191
+ var parallelSearchToolFactory = (0, import_provider_utils11.createProviderDefinedToolFactoryWithOutputSchema)({
1171
1192
  id: "gateway.parallel_search",
1172
1193
  name: "parallel_search",
1173
1194
  inputSchema: parallelSearchInputSchema,
@@ -1176,10 +1197,10 @@ var parallelSearchToolFactory = (0, import_provider_utils10.createProviderDefine
1176
1197
  var parallelSearch = (config = {}) => parallelSearchToolFactory(config);
1177
1198
 
1178
1199
  // src/tool/perplexity-search.ts
1179
- var import_provider_utils11 = require("@ai-sdk/provider-utils");
1200
+ var import_provider_utils12 = require("@ai-sdk/provider-utils");
1180
1201
  var import_zod2 = require("zod");
1181
- var perplexitySearchInputSchema = (0, import_provider_utils11.lazySchema)(
1182
- () => (0, import_provider_utils11.zodSchema)(
1202
+ var perplexitySearchInputSchema = (0, import_provider_utils12.lazySchema)(
1203
+ () => (0, import_provider_utils12.zodSchema)(
1183
1204
  import_zod2.z.object({
1184
1205
  query: import_zod2.z.union([import_zod2.z.string(), import_zod2.z.array(import_zod2.z.string())]).describe(
1185
1206
  "Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."
@@ -1220,8 +1241,8 @@ var perplexitySearchInputSchema = (0, import_provider_utils11.lazySchema)(
1220
1241
  })
1221
1242
  )
1222
1243
  );
1223
- var perplexitySearchOutputSchema = (0, import_provider_utils11.lazySchema)(
1224
- () => (0, import_provider_utils11.zodSchema)(
1244
+ var perplexitySearchOutputSchema = (0, import_provider_utils12.lazySchema)(
1245
+ () => (0, import_provider_utils12.zodSchema)(
1225
1246
  import_zod2.z.union([
1226
1247
  // Success response
1227
1248
  import_zod2.z.object({
@@ -1251,7 +1272,7 @@ var perplexitySearchOutputSchema = (0, import_provider_utils11.lazySchema)(
1251
1272
  ])
1252
1273
  )
1253
1274
  );
1254
- var perplexitySearchToolFactory = (0, import_provider_utils11.createProviderDefinedToolFactoryWithOutputSchema)({
1275
+ var perplexitySearchToolFactory = (0, import_provider_utils12.createProviderDefinedToolFactoryWithOutputSchema)({
1255
1276
  id: "gateway.perplexity_search",
1256
1277
  name: "perplexity_search",
1257
1278
  inputSchema: perplexitySearchInputSchema,
@@ -1289,7 +1310,7 @@ async function getVercelRequestId() {
1289
1310
  }
1290
1311
 
1291
1312
  // src/version.ts
1292
- var VERSION = true ? "2.0.109" : "0.0.0-test";
1313
+ var VERSION = true ? "2.0.111" : "0.0.0-test";
1293
1314
 
1294
1315
  // src/gateway-provider.ts
1295
1316
  var AI_GATEWAY_PROTOCOL_VERSION = "0.0.1";
@@ -1299,11 +1320,11 @@ function createGatewayProvider(options = {}) {
1299
1320
  let metadataCache = null;
1300
1321
  const cacheRefreshMillis = (_a10 = options.metadataCacheRefreshMillis) != null ? _a10 : 1e3 * 60 * 5;
1301
1322
  let lastFetchTime = 0;
1302
- const baseURL = (_b10 = (0, import_provider_utils12.withoutTrailingSlash)(options.baseURL)) != null ? _b10 : "https://ai-gateway.vercel.sh/v1/ai";
1323
+ const baseURL = (_b10 = (0, import_provider_utils13.withoutTrailingSlash)(options.baseURL)) != null ? _b10 : "https://ai-gateway.vercel.sh/v1/ai";
1303
1324
  const getHeaders = async () => {
1304
1325
  const auth = await getGatewayAuthToken(options);
1305
1326
  if (auth) {
1306
- return (0, import_provider_utils12.withUserAgentSuffix)(
1327
+ return (0, import_provider_utils13.withUserAgentSuffix)(
1307
1328
  {
1308
1329
  Authorization: `Bearer ${auth.token}`,
1309
1330
  "ai-gateway-protocol-version": AI_GATEWAY_PROTOCOL_VERSION,
@@ -1320,19 +1341,19 @@ function createGatewayProvider(options = {}) {
1320
1341
  });
1321
1342
  };
1322
1343
  const createO11yHeaders = () => {
1323
- const deploymentId = (0, import_provider_utils12.loadOptionalSetting)({
1344
+ const deploymentId = (0, import_provider_utils13.loadOptionalSetting)({
1324
1345
  settingValue: void 0,
1325
1346
  environmentVariableName: "VERCEL_DEPLOYMENT_ID"
1326
1347
  });
1327
- const environment = (0, import_provider_utils12.loadOptionalSetting)({
1348
+ const environment = (0, import_provider_utils13.loadOptionalSetting)({
1328
1349
  settingValue: void 0,
1329
1350
  environmentVariableName: "VERCEL_ENV"
1330
1351
  });
1331
- const region = (0, import_provider_utils12.loadOptionalSetting)({
1352
+ const region = (0, import_provider_utils13.loadOptionalSetting)({
1332
1353
  settingValue: void 0,
1333
1354
  environmentVariableName: "VERCEL_REGION"
1334
1355
  });
1335
- const projectId = (0, import_provider_utils12.loadOptionalSetting)({
1356
+ const projectId = (0, import_provider_utils13.loadOptionalSetting)({
1336
1357
  settingValue: void 0,
1337
1358
  environmentVariableName: "VERCEL_PROJECT_ID"
1338
1359
  });
@@ -1449,7 +1470,7 @@ function createGatewayProvider(options = {}) {
1449
1470
  }
1450
1471
  var gateway = createGatewayProvider();
1451
1472
  async function getGatewayAuthToken(options) {
1452
- const apiKey = (0, import_provider_utils12.loadOptionalSetting)({
1473
+ const apiKey = (0, import_provider_utils13.loadOptionalSetting)({
1453
1474
  settingValue: options.apiKey,
1454
1475
  environmentVariableName: "AI_GATEWAY_API_KEY"
1455
1476
  });