@ai-sdk/openai 4.0.0-beta.0 → 4.0.0-beta.10

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +143 -0
  2. package/dist/index.d.mts +69 -22
  3. package/dist/index.d.ts +69 -22
  4. package/dist/index.js +1172 -872
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +1126 -821
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/internal/index.d.mts +56 -28
  9. package/dist/internal/index.d.ts +56 -28
  10. package/dist/internal/index.js +1201 -911
  11. package/dist/internal/index.js.map +1 -1
  12. package/dist/internal/index.mjs +1183 -888
  13. package/dist/internal/index.mjs.map +1 -1
  14. package/docs/03-openai.mdx +142 -3
  15. package/package.json +3 -3
  16. package/src/chat/convert-openai-chat-usage.ts +2 -2
  17. package/src/chat/convert-to-openai-chat-messages.ts +5 -5
  18. package/src/chat/map-openai-finish-reason.ts +2 -2
  19. package/src/chat/openai-chat-language-model.ts +22 -22
  20. package/src/chat/openai-chat-options.ts +5 -0
  21. package/src/chat/openai-chat-prepare-tools.ts +6 -6
  22. package/src/completion/convert-openai-completion-usage.ts +2 -2
  23. package/src/completion/convert-to-openai-completion-prompt.ts +2 -2
  24. package/src/completion/map-openai-finish-reason.ts +2 -2
  25. package/src/completion/openai-completion-language-model.ts +20 -20
  26. package/src/embedding/openai-embedding-model.ts +5 -5
  27. package/src/image/openai-image-model.ts +9 -9
  28. package/src/openai-language-model-capabilities.ts +5 -2
  29. package/src/openai-provider.ts +21 -21
  30. package/src/openai-tools.ts +12 -1
  31. package/src/responses/convert-openai-responses-usage.ts +2 -2
  32. package/src/responses/convert-to-openai-responses-input.ts +116 -12
  33. package/src/responses/map-openai-responses-finish-reason.ts +2 -2
  34. package/src/responses/openai-responses-api.ts +87 -1
  35. package/src/responses/openai-responses-language-model.ts +168 -33
  36. package/src/responses/openai-responses-options.ts +10 -0
  37. package/src/responses/openai-responses-prepare-tools.ts +34 -9
  38. package/src/speech/openai-speech-model.ts +7 -7
  39. package/src/tool/custom.ts +0 -6
  40. package/src/tool/tool-search.ts +98 -0
  41. package/src/transcription/openai-transcription-model.ts +8 -8
package/dist/index.js CHANGED
@@ -18,16 +18,16 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
20
  // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
23
  VERSION: () => VERSION,
24
24
  createOpenAI: () => createOpenAI,
25
25
  openai: () => openai
26
26
  });
27
- module.exports = __toCommonJS(src_exports);
27
+ module.exports = __toCommonJS(index_exports);
28
28
 
29
29
  // src/openai-provider.ts
30
- var import_provider_utils34 = require("@ai-sdk/provider-utils");
30
+ var import_provider_utils35 = require("@ai-sdk/provider-utils");
31
31
 
32
32
  // src/chat/openai-chat-language-model.ts
33
33
  var import_provider3 = require("@ai-sdk/provider");
@@ -57,7 +57,7 @@ function getOpenAILanguageModelCapabilities(modelId) {
57
57
  const supportsFlexProcessing = modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
58
58
  const supportsPriorityProcessing = modelId.startsWith("gpt-4") || modelId.startsWith("gpt-5-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-nano") && !modelId.startsWith("gpt-5-chat") || modelId.startsWith("o3") || modelId.startsWith("o4-mini");
59
59
  const isReasoningModel = modelId.startsWith("o1") || modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
60
- const supportsNonReasoningParameters = modelId.startsWith("gpt-5.1") || modelId.startsWith("gpt-5.2");
60
+ const supportsNonReasoningParameters = modelId.startsWith("gpt-5.1") || modelId.startsWith("gpt-5.2") || modelId.startsWith("gpt-5.3") || modelId.startsWith("gpt-5.4");
61
61
  const systemMessageMode = isReasoningModel ? "developer" : "system";
62
62
  return {
63
63
  supportsFlexProcessing,
@@ -648,7 +648,7 @@ function prepareChatTools({
648
648
  // src/chat/openai-chat-language-model.ts
649
649
  var OpenAIChatLanguageModel = class {
650
650
  constructor(modelId, config) {
651
- this.specificationVersion = "v3";
651
+ this.specificationVersion = "v4";
652
652
  this.supportedUrls = {
653
653
  "image/*": [/^https?:\/\/.*$/]
654
654
  };
@@ -1383,7 +1383,7 @@ var openaiLanguageModelCompletionOptions = (0, import_provider_utils7.lazySchema
1383
1383
  // src/completion/openai-completion-language-model.ts
1384
1384
  var OpenAICompletionLanguageModel = class {
1385
1385
  constructor(modelId, config) {
1386
- this.specificationVersion = "v3";
1386
+ this.specificationVersion = "v4";
1387
1387
  this.supportedUrls = {
1388
1388
  // No URLs are supported for completion models.
1389
1389
  };
@@ -1648,7 +1648,7 @@ var openaiTextEmbeddingResponseSchema = (0, import_provider_utils10.lazySchema)(
1648
1648
  // src/embedding/openai-embedding-model.ts
1649
1649
  var OpenAIEmbeddingModel = class {
1650
1650
  constructor(modelId, config) {
1651
- this.specificationVersion = "v3";
1651
+ this.specificationVersion = "v4";
1652
1652
  this.maxEmbeddingsPerCall = 2048;
1653
1653
  this.supportsParallelCalls = true;
1654
1654
  this.modelId = modelId;
@@ -1769,7 +1769,7 @@ var OpenAIImageModel = class {
1769
1769
  constructor(modelId, config) {
1770
1770
  this.modelId = modelId;
1771
1771
  this.config = config;
1772
- this.specificationVersion = "v3";
1772
+ this.specificationVersion = "v4";
1773
1773
  }
1774
1774
  get maxImagesPerCall() {
1775
1775
  var _a;
@@ -2049,7 +2049,6 @@ var import_v411 = require("zod/v4");
2049
2049
  var customArgsSchema = (0, import_provider_utils16.lazySchema)(
2050
2050
  () => (0, import_provider_utils16.zodSchema)(
2051
2051
  import_v411.z.object({
2052
- name: import_v411.z.string(),
2053
2052
  description: import_v411.z.string().optional(),
2054
2053
  format: import_v411.z.union([
2055
2054
  import_v411.z.object({
@@ -2278,66 +2277,48 @@ var shell = (0, import_provider_utils20.createProviderToolFactoryWithOutputSchem
2278
2277
  outputSchema: shellOutputSchema
2279
2278
  });
2280
2279
 
2281
- // src/tool/web-search.ts
2280
+ // src/tool/tool-search.ts
2282
2281
  var import_provider_utils21 = require("@ai-sdk/provider-utils");
2283
2282
  var import_v416 = require("zod/v4");
2284
- var webSearchArgsSchema = (0, import_provider_utils21.lazySchema)(
2283
+ var toolSearchArgsSchema = (0, import_provider_utils21.lazySchema)(
2285
2284
  () => (0, import_provider_utils21.zodSchema)(
2286
2285
  import_v416.z.object({
2287
- externalWebAccess: import_v416.z.boolean().optional(),
2288
- filters: import_v416.z.object({ allowedDomains: import_v416.z.array(import_v416.z.string()).optional() }).optional(),
2289
- searchContextSize: import_v416.z.enum(["low", "medium", "high"]).optional(),
2290
- userLocation: import_v416.z.object({
2291
- type: import_v416.z.literal("approximate"),
2292
- country: import_v416.z.string().optional(),
2293
- city: import_v416.z.string().optional(),
2294
- region: import_v416.z.string().optional(),
2295
- timezone: import_v416.z.string().optional()
2296
- }).optional()
2286
+ execution: import_v416.z.enum(["server", "client"]).optional(),
2287
+ description: import_v416.z.string().optional(),
2288
+ parameters: import_v416.z.record(import_v416.z.string(), import_v416.z.unknown()).optional()
2297
2289
  })
2298
2290
  )
2299
2291
  );
2300
- var webSearchInputSchema = (0, import_provider_utils21.lazySchema)(() => (0, import_provider_utils21.zodSchema)(import_v416.z.object({})));
2301
- var webSearchOutputSchema = (0, import_provider_utils21.lazySchema)(
2292
+ var toolSearchInputSchema = (0, import_provider_utils21.lazySchema)(
2302
2293
  () => (0, import_provider_utils21.zodSchema)(
2303
2294
  import_v416.z.object({
2304
- action: import_v416.z.discriminatedUnion("type", [
2305
- import_v416.z.object({
2306
- type: import_v416.z.literal("search"),
2307
- query: import_v416.z.string().optional()
2308
- }),
2309
- import_v416.z.object({
2310
- type: import_v416.z.literal("openPage"),
2311
- url: import_v416.z.string().nullish()
2312
- }),
2313
- import_v416.z.object({
2314
- type: import_v416.z.literal("findInPage"),
2315
- url: import_v416.z.string().nullish(),
2316
- pattern: import_v416.z.string().nullish()
2317
- })
2318
- ]).optional(),
2319
- sources: import_v416.z.array(
2320
- import_v416.z.discriminatedUnion("type", [
2321
- import_v416.z.object({ type: import_v416.z.literal("url"), url: import_v416.z.string() }),
2322
- import_v416.z.object({ type: import_v416.z.literal("api"), name: import_v416.z.string() })
2323
- ])
2324
- ).optional()
2295
+ arguments: import_v416.z.unknown().optional(),
2296
+ call_id: import_v416.z.string().nullish()
2325
2297
  })
2326
2298
  )
2327
2299
  );
2328
- var webSearchToolFactory = (0, import_provider_utils21.createProviderToolFactoryWithOutputSchema)({
2329
- id: "openai.web_search",
2330
- inputSchema: webSearchInputSchema,
2331
- outputSchema: webSearchOutputSchema
2300
+ var toolSearchOutputSchema = (0, import_provider_utils21.lazySchema)(
2301
+ () => (0, import_provider_utils21.zodSchema)(
2302
+ import_v416.z.object({
2303
+ tools: import_v416.z.array(import_v416.z.record(import_v416.z.string(), import_v416.z.unknown()))
2304
+ })
2305
+ )
2306
+ );
2307
+ var toolSearchToolFactory = (0, import_provider_utils21.createProviderToolFactoryWithOutputSchema)({
2308
+ id: "openai.tool_search",
2309
+ inputSchema: toolSearchInputSchema,
2310
+ outputSchema: toolSearchOutputSchema
2332
2311
  });
2333
- var webSearch = (args = {}) => webSearchToolFactory(args);
2312
+ var toolSearch = (args = {}) => toolSearchToolFactory(args);
2334
2313
 
2335
- // src/tool/web-search-preview.ts
2314
+ // src/tool/web-search.ts
2336
2315
  var import_provider_utils22 = require("@ai-sdk/provider-utils");
2337
2316
  var import_v417 = require("zod/v4");
2338
- var webSearchPreviewArgsSchema = (0, import_provider_utils22.lazySchema)(
2317
+ var webSearchArgsSchema = (0, import_provider_utils22.lazySchema)(
2339
2318
  () => (0, import_provider_utils22.zodSchema)(
2340
2319
  import_v417.z.object({
2320
+ externalWebAccess: import_v417.z.boolean().optional(),
2321
+ filters: import_v417.z.object({ allowedDomains: import_v417.z.array(import_v417.z.string()).optional() }).optional(),
2341
2322
  searchContextSize: import_v417.z.enum(["low", "medium", "high"]).optional(),
2342
2323
  userLocation: import_v417.z.object({
2343
2324
  type: import_v417.z.literal("approximate"),
@@ -2349,10 +2330,8 @@ var webSearchPreviewArgsSchema = (0, import_provider_utils22.lazySchema)(
2349
2330
  })
2350
2331
  )
2351
2332
  );
2352
- var webSearchPreviewInputSchema = (0, import_provider_utils22.lazySchema)(
2353
- () => (0, import_provider_utils22.zodSchema)(import_v417.z.object({}))
2354
- );
2355
- var webSearchPreviewOutputSchema = (0, import_provider_utils22.lazySchema)(
2333
+ var webSearchInputSchema = (0, import_provider_utils22.lazySchema)(() => (0, import_provider_utils22.zodSchema)(import_v417.z.object({})));
2334
+ var webSearchOutputSchema = (0, import_provider_utils22.lazySchema)(
2356
2335
  () => (0, import_provider_utils22.zodSchema)(
2357
2336
  import_v417.z.object({
2358
2337
  action: import_v417.z.discriminatedUnion("type", [
@@ -2369,73 +2348,127 @@ var webSearchPreviewOutputSchema = (0, import_provider_utils22.lazySchema)(
2369
2348
  url: import_v417.z.string().nullish(),
2370
2349
  pattern: import_v417.z.string().nullish()
2371
2350
  })
2351
+ ]).optional(),
2352
+ sources: import_v417.z.array(
2353
+ import_v417.z.discriminatedUnion("type", [
2354
+ import_v417.z.object({ type: import_v417.z.literal("url"), url: import_v417.z.string() }),
2355
+ import_v417.z.object({ type: import_v417.z.literal("api"), name: import_v417.z.string() })
2356
+ ])
2357
+ ).optional()
2358
+ })
2359
+ )
2360
+ );
2361
+ var webSearchToolFactory = (0, import_provider_utils22.createProviderToolFactoryWithOutputSchema)({
2362
+ id: "openai.web_search",
2363
+ inputSchema: webSearchInputSchema,
2364
+ outputSchema: webSearchOutputSchema
2365
+ });
2366
+ var webSearch = (args = {}) => webSearchToolFactory(args);
2367
+
2368
+ // src/tool/web-search-preview.ts
2369
+ var import_provider_utils23 = require("@ai-sdk/provider-utils");
2370
+ var import_v418 = require("zod/v4");
2371
+ var webSearchPreviewArgsSchema = (0, import_provider_utils23.lazySchema)(
2372
+ () => (0, import_provider_utils23.zodSchema)(
2373
+ import_v418.z.object({
2374
+ searchContextSize: import_v418.z.enum(["low", "medium", "high"]).optional(),
2375
+ userLocation: import_v418.z.object({
2376
+ type: import_v418.z.literal("approximate"),
2377
+ country: import_v418.z.string().optional(),
2378
+ city: import_v418.z.string().optional(),
2379
+ region: import_v418.z.string().optional(),
2380
+ timezone: import_v418.z.string().optional()
2381
+ }).optional()
2382
+ })
2383
+ )
2384
+ );
2385
+ var webSearchPreviewInputSchema = (0, import_provider_utils23.lazySchema)(
2386
+ () => (0, import_provider_utils23.zodSchema)(import_v418.z.object({}))
2387
+ );
2388
+ var webSearchPreviewOutputSchema = (0, import_provider_utils23.lazySchema)(
2389
+ () => (0, import_provider_utils23.zodSchema)(
2390
+ import_v418.z.object({
2391
+ action: import_v418.z.discriminatedUnion("type", [
2392
+ import_v418.z.object({
2393
+ type: import_v418.z.literal("search"),
2394
+ query: import_v418.z.string().optional()
2395
+ }),
2396
+ import_v418.z.object({
2397
+ type: import_v418.z.literal("openPage"),
2398
+ url: import_v418.z.string().nullish()
2399
+ }),
2400
+ import_v418.z.object({
2401
+ type: import_v418.z.literal("findInPage"),
2402
+ url: import_v418.z.string().nullish(),
2403
+ pattern: import_v418.z.string().nullish()
2404
+ })
2372
2405
  ]).optional()
2373
2406
  })
2374
2407
  )
2375
2408
  );
2376
- var webSearchPreview = (0, import_provider_utils22.createProviderToolFactoryWithOutputSchema)({
2409
+ var webSearchPreview = (0, import_provider_utils23.createProviderToolFactoryWithOutputSchema)({
2377
2410
  id: "openai.web_search_preview",
2378
2411
  inputSchema: webSearchPreviewInputSchema,
2379
2412
  outputSchema: webSearchPreviewOutputSchema
2380
2413
  });
2381
2414
 
2382
2415
  // src/tool/mcp.ts
2383
- var import_provider_utils23 = require("@ai-sdk/provider-utils");
2384
- var import_v418 = require("zod/v4");
2385
- var jsonValueSchema = import_v418.z.lazy(
2386
- () => import_v418.z.union([
2387
- import_v418.z.string(),
2388
- import_v418.z.number(),
2389
- import_v418.z.boolean(),
2390
- import_v418.z.null(),
2391
- import_v418.z.array(jsonValueSchema),
2392
- import_v418.z.record(import_v418.z.string(), jsonValueSchema)
2416
+ var import_provider_utils24 = require("@ai-sdk/provider-utils");
2417
+ var import_v419 = require("zod/v4");
2418
+ var jsonValueSchema = import_v419.z.lazy(
2419
+ () => import_v419.z.union([
2420
+ import_v419.z.string(),
2421
+ import_v419.z.number(),
2422
+ import_v419.z.boolean(),
2423
+ import_v419.z.null(),
2424
+ import_v419.z.array(jsonValueSchema),
2425
+ import_v419.z.record(import_v419.z.string(), jsonValueSchema)
2393
2426
  ])
2394
2427
  );
2395
- var mcpArgsSchema = (0, import_provider_utils23.lazySchema)(
2396
- () => (0, import_provider_utils23.zodSchema)(
2397
- import_v418.z.object({
2398
- serverLabel: import_v418.z.string(),
2399
- allowedTools: import_v418.z.union([
2400
- import_v418.z.array(import_v418.z.string()),
2401
- import_v418.z.object({
2402
- readOnly: import_v418.z.boolean().optional(),
2403
- toolNames: import_v418.z.array(import_v418.z.string()).optional()
2428
+ var mcpArgsSchema = (0, import_provider_utils24.lazySchema)(
2429
+ () => (0, import_provider_utils24.zodSchema)(
2430
+ import_v419.z.object({
2431
+ serverLabel: import_v419.z.string(),
2432
+ allowedTools: import_v419.z.union([
2433
+ import_v419.z.array(import_v419.z.string()),
2434
+ import_v419.z.object({
2435
+ readOnly: import_v419.z.boolean().optional(),
2436
+ toolNames: import_v419.z.array(import_v419.z.string()).optional()
2404
2437
  })
2405
2438
  ]).optional(),
2406
- authorization: import_v418.z.string().optional(),
2407
- connectorId: import_v418.z.string().optional(),
2408
- headers: import_v418.z.record(import_v418.z.string(), import_v418.z.string()).optional(),
2409
- requireApproval: import_v418.z.union([
2410
- import_v418.z.enum(["always", "never"]),
2411
- import_v418.z.object({
2412
- never: import_v418.z.object({
2413
- toolNames: import_v418.z.array(import_v418.z.string()).optional()
2439
+ authorization: import_v419.z.string().optional(),
2440
+ connectorId: import_v419.z.string().optional(),
2441
+ headers: import_v419.z.record(import_v419.z.string(), import_v419.z.string()).optional(),
2442
+ requireApproval: import_v419.z.union([
2443
+ import_v419.z.enum(["always", "never"]),
2444
+ import_v419.z.object({
2445
+ never: import_v419.z.object({
2446
+ toolNames: import_v419.z.array(import_v419.z.string()).optional()
2414
2447
  }).optional()
2415
2448
  })
2416
2449
  ]).optional(),
2417
- serverDescription: import_v418.z.string().optional(),
2418
- serverUrl: import_v418.z.string().optional()
2450
+ serverDescription: import_v419.z.string().optional(),
2451
+ serverUrl: import_v419.z.string().optional()
2419
2452
  }).refine(
2420
2453
  (v) => v.serverUrl != null || v.connectorId != null,
2421
2454
  "One of serverUrl or connectorId must be provided."
2422
2455
  )
2423
2456
  )
2424
2457
  );
2425
- var mcpInputSchema = (0, import_provider_utils23.lazySchema)(() => (0, import_provider_utils23.zodSchema)(import_v418.z.object({})));
2426
- var mcpOutputSchema = (0, import_provider_utils23.lazySchema)(
2427
- () => (0, import_provider_utils23.zodSchema)(
2428
- import_v418.z.object({
2429
- type: import_v418.z.literal("call"),
2430
- serverLabel: import_v418.z.string(),
2431
- name: import_v418.z.string(),
2432
- arguments: import_v418.z.string(),
2433
- output: import_v418.z.string().nullish(),
2434
- error: import_v418.z.union([import_v418.z.string(), jsonValueSchema]).optional()
2458
+ var mcpInputSchema = (0, import_provider_utils24.lazySchema)(() => (0, import_provider_utils24.zodSchema)(import_v419.z.object({})));
2459
+ var mcpOutputSchema = (0, import_provider_utils24.lazySchema)(
2460
+ () => (0, import_provider_utils24.zodSchema)(
2461
+ import_v419.z.object({
2462
+ type: import_v419.z.literal("call"),
2463
+ serverLabel: import_v419.z.string(),
2464
+ name: import_v419.z.string(),
2465
+ arguments: import_v419.z.string(),
2466
+ output: import_v419.z.string().nullish(),
2467
+ error: import_v419.z.union([import_v419.z.string(), jsonValueSchema]).optional()
2435
2468
  })
2436
2469
  )
2437
2470
  );
2438
- var mcpToolFactory = (0, import_provider_utils23.createProviderToolFactoryWithOutputSchema)({
2471
+ var mcpToolFactory = (0, import_provider_utils24.createProviderToolFactoryWithOutputSchema)({
2439
2472
  id: "openai.mcp",
2440
2473
  inputSchema: mcpInputSchema,
2441
2474
  outputSchema: mcpOutputSchema
@@ -2457,7 +2490,6 @@ var openaiTools = {
2457
2490
  * Lark syntax). The model returns a `custom_tool_call` output item whose
2458
2491
  * `input` field is a string matching the specified grammar.
2459
2492
  *
2460
- * @param name - The name of the custom tool.
2461
2493
  * @param description - An optional description of the tool.
2462
2494
  * @param format - The output format constraint (grammar type, syntax, and definition).
2463
2495
  */
@@ -2547,12 +2579,22 @@ var openaiTools = {
2547
2579
  * @param serverDescription - Optional description of the server.
2548
2580
  * @param serverUrl - URL for the MCP server.
2549
2581
  */
2550
- mcp
2582
+ mcp,
2583
+ /**
2584
+ * Tool search allows the model to dynamically search for and load deferred
2585
+ * tools into the model's context as needed. This helps reduce overall token
2586
+ * usage, cost, and latency by only loading tools when the model needs them.
2587
+ *
2588
+ * To use tool search, mark functions or namespaces with `defer_loading: true`
2589
+ * in the tools array. The model will use tool search to load these tools
2590
+ * when it determines they are needed.
2591
+ */
2592
+ toolSearch
2551
2593
  };
2552
2594
 
2553
2595
  // src/responses/openai-responses-language-model.ts
2554
2596
  var import_provider8 = require("@ai-sdk/provider");
2555
- var import_provider_utils28 = require("@ai-sdk/provider-utils");
2597
+ var import_provider_utils29 = require("@ai-sdk/provider-utils");
2556
2598
 
2557
2599
  // src/responses/convert-openai-responses-usage.ts
2558
2600
  function convertOpenAIResponsesUsage(usage) {
@@ -2595,8 +2637,8 @@ function convertOpenAIResponsesUsage(usage) {
2595
2637
 
2596
2638
  // src/responses/convert-to-openai-responses-input.ts
2597
2639
  var import_provider6 = require("@ai-sdk/provider");
2598
- var import_provider_utils24 = require("@ai-sdk/provider-utils");
2599
- var import_v419 = require("zod/v4");
2640
+ var import_provider_utils25 = require("@ai-sdk/provider-utils");
2641
+ var import_v420 = require("zod/v4");
2600
2642
  function isFileId(data, prefixes) {
2601
2643
  if (!prefixes) return false;
2602
2644
  return prefixes.some((prefix) => data.startsWith(prefix));
@@ -2614,8 +2656,8 @@ async function convertToOpenAIResponsesInput({
2614
2656
  hasApplyPatchTool = false,
2615
2657
  customProviderToolNames
2616
2658
  }) {
2617
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
2618
- const input = [];
2659
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
2660
+ let input = [];
2619
2661
  const warnings = [];
2620
2662
  const processedApprovalIds = /* @__PURE__ */ new Set();
2621
2663
  for (const { role, content } of prompt) {
@@ -2661,7 +2703,7 @@ async function convertToOpenAIResponsesInput({
2661
2703
  return {
2662
2704
  type: "input_image",
2663
2705
  ...part.data instanceof URL ? { image_url: part.data.toString() } : typeof part.data === "string" && isFileId(part.data, fileIdPrefixes) ? { file_id: part.data } : {
2664
- image_url: `data:${mediaType};base64,${(0, import_provider_utils24.convertToBase64)(part.data)}`
2706
+ image_url: `data:${mediaType};base64,${(0, import_provider_utils25.convertToBase64)(part.data)}`
2665
2707
  },
2666
2708
  detail: (_b2 = (_a2 = part.providerOptions) == null ? void 0 : _a2[providerOptionsName]) == null ? void 0 : _b2.imageDetail
2667
2709
  };
@@ -2676,7 +2718,7 @@ async function convertToOpenAIResponsesInput({
2676
2718
  type: "input_file",
2677
2719
  ...typeof part.data === "string" && isFileId(part.data, fileIdPrefixes) ? { file_id: part.data } : {
2678
2720
  filename: (_c2 = part.filename) != null ? _c2 : `part-${index}.pdf`,
2679
- file_data: `data:application/pdf;base64,${(0, import_provider_utils24.convertToBase64)(part.data)}`
2721
+ file_data: `data:application/pdf;base64,${(0, import_provider_utils25.convertToBase64)(part.data)}`
2680
2722
  }
2681
2723
  };
2682
2724
  } else {
@@ -2718,6 +2760,32 @@ async function convertToOpenAIResponsesInput({
2718
2760
  if (hasConversation && id != null) {
2719
2761
  break;
2720
2762
  }
2763
+ const resolvedToolName = toolNameMapping.toProviderToolName(
2764
+ part.toolName
2765
+ );
2766
+ if (resolvedToolName === "tool_search") {
2767
+ if (store && id != null) {
2768
+ input.push({ type: "item_reference", id });
2769
+ break;
2770
+ }
2771
+ const parsedInput = typeof part.input === "string" ? await (0, import_provider_utils25.parseJSON)({
2772
+ text: part.input,
2773
+ schema: toolSearchInputSchema
2774
+ }) : await (0, import_provider_utils25.validateTypes)({
2775
+ value: part.input,
2776
+ schema: toolSearchInputSchema
2777
+ });
2778
+ const execution = parsedInput.call_id != null ? "client" : "server";
2779
+ input.push({
2780
+ type: "tool_search_call",
2781
+ id: id != null ? id : part.toolCallId,
2782
+ execution,
2783
+ call_id: (_g = parsedInput.call_id) != null ? _g : null,
2784
+ status: "completed",
2785
+ arguments: parsedInput.arguments
2786
+ });
2787
+ break;
2788
+ }
2721
2789
  if (part.providerExecuted) {
2722
2790
  if (store && id != null) {
2723
2791
  input.push({ type: "item_reference", id });
@@ -2728,11 +2796,8 @@ async function convertToOpenAIResponsesInput({
2728
2796
  input.push({ type: "item_reference", id });
2729
2797
  break;
2730
2798
  }
2731
- const resolvedToolName = toolNameMapping.toProviderToolName(
2732
- part.toolName
2733
- );
2734
2799
  if (hasLocalShellTool && resolvedToolName === "local_shell") {
2735
- const parsedInput = await (0, import_provider_utils24.validateTypes)({
2800
+ const parsedInput = await (0, import_provider_utils25.validateTypes)({
2736
2801
  value: part.input,
2737
2802
  schema: localShellInputSchema
2738
2803
  });
@@ -2752,7 +2817,7 @@ async function convertToOpenAIResponsesInput({
2752
2817
  break;
2753
2818
  }
2754
2819
  if (hasShellTool && resolvedToolName === "shell") {
2755
- const parsedInput = await (0, import_provider_utils24.validateTypes)({
2820
+ const parsedInput = await (0, import_provider_utils25.validateTypes)({
2756
2821
  value: part.input,
2757
2822
  schema: shellInputSchema
2758
2823
  });
@@ -2770,7 +2835,7 @@ async function convertToOpenAIResponsesInput({
2770
2835
  break;
2771
2836
  }
2772
2837
  if (hasApplyPatchTool && resolvedToolName === "apply_patch") {
2773
- const parsedInput = await (0, import_provider_utils24.validateTypes)({
2838
+ const parsedInput = await (0, import_provider_utils25.validateTypes)({
2774
2839
  value: part.input,
2775
2840
  schema: applyPatchInputSchema
2776
2841
  });
@@ -2813,9 +2878,29 @@ async function convertToOpenAIResponsesInput({
2813
2878
  const resolvedResultToolName = toolNameMapping.toProviderToolName(
2814
2879
  part.toolName
2815
2880
  );
2881
+ if (resolvedResultToolName === "tool_search") {
2882
+ const itemId = (_j = (_i = (_h = part.providerOptions) == null ? void 0 : _h[providerOptionsName]) == null ? void 0 : _i.itemId) != null ? _j : part.toolCallId;
2883
+ if (store) {
2884
+ input.push({ type: "item_reference", id: itemId });
2885
+ } else if (part.output.type === "json") {
2886
+ const parsedOutput = await (0, import_provider_utils25.validateTypes)({
2887
+ value: part.output.value,
2888
+ schema: toolSearchOutputSchema
2889
+ });
2890
+ input.push({
2891
+ type: "tool_search_output",
2892
+ id: itemId,
2893
+ execution: "server",
2894
+ call_id: null,
2895
+ status: "completed",
2896
+ tools: parsedOutput.tools
2897
+ });
2898
+ }
2899
+ break;
2900
+ }
2816
2901
  if (hasShellTool && resolvedResultToolName === "shell") {
2817
2902
  if (part.output.type === "json") {
2818
- const parsedOutput = await (0, import_provider_utils24.validateTypes)({
2903
+ const parsedOutput = await (0, import_provider_utils25.validateTypes)({
2819
2904
  value: part.output.value,
2820
2905
  schema: shellOutputSchema
2821
2906
  });
@@ -2835,7 +2920,7 @@ async function convertToOpenAIResponsesInput({
2835
2920
  break;
2836
2921
  }
2837
2922
  if (store) {
2838
- const itemId = (_i = (_h = (_g = part.providerOptions) == null ? void 0 : _g[providerOptionsName]) == null ? void 0 : _h.itemId) != null ? _i : part.toolCallId;
2923
+ const itemId = (_m = (_l = (_k = part.providerOptions) == null ? void 0 : _k[providerOptionsName]) == null ? void 0 : _l.itemId) != null ? _m : part.toolCallId;
2839
2924
  input.push({ type: "item_reference", id: itemId });
2840
2925
  } else {
2841
2926
  warnings.push({
@@ -2846,7 +2931,7 @@ async function convertToOpenAIResponsesInput({
2846
2931
  break;
2847
2932
  }
2848
2933
  case "reasoning": {
2849
- const providerOptions = await (0, import_provider_utils24.parseProviderOptions)({
2934
+ const providerOptions = await (0, import_provider_utils25.parseProviderOptions)({
2850
2935
  provider: providerOptionsName,
2851
2936
  providerOptions: part.providerOptions,
2852
2937
  schema: openaiResponsesReasoningProviderOptionsSchema
@@ -2945,7 +3030,7 @@ async function convertToOpenAIResponsesInput({
2945
3030
  }
2946
3031
  const output = part.output;
2947
3032
  if (output.type === "execution-denied") {
2948
- const approvalId = (_k = (_j = output.providerOptions) == null ? void 0 : _j.openai) == null ? void 0 : _k.approvalId;
3033
+ const approvalId = (_o = (_n = output.providerOptions) == null ? void 0 : _n.openai) == null ? void 0 : _o.approvalId;
2949
3034
  if (approvalId) {
2950
3035
  continue;
2951
3036
  }
@@ -2953,8 +3038,22 @@ async function convertToOpenAIResponsesInput({
2953
3038
  const resolvedToolName = toolNameMapping.toProviderToolName(
2954
3039
  part.toolName
2955
3040
  );
3041
+ if (resolvedToolName === "tool_search" && output.type === "json") {
3042
+ const parsedOutput = await (0, import_provider_utils25.validateTypes)({
3043
+ value: output.value,
3044
+ schema: toolSearchOutputSchema
3045
+ });
3046
+ input.push({
3047
+ type: "tool_search_output",
3048
+ execution: "client",
3049
+ call_id: part.toolCallId,
3050
+ status: "completed",
3051
+ tools: parsedOutput.tools
3052
+ });
3053
+ continue;
3054
+ }
2956
3055
  if (hasLocalShellTool && resolvedToolName === "local_shell" && output.type === "json") {
2957
- const parsedOutput = await (0, import_provider_utils24.validateTypes)({
3056
+ const parsedOutput = await (0, import_provider_utils25.validateTypes)({
2958
3057
  value: output.value,
2959
3058
  schema: localShellOutputSchema
2960
3059
  });
@@ -2966,7 +3065,7 @@ async function convertToOpenAIResponsesInput({
2966
3065
  continue;
2967
3066
  }
2968
3067
  if (hasShellTool && resolvedToolName === "shell" && output.type === "json") {
2969
- const parsedOutput = await (0, import_provider_utils24.validateTypes)({
3068
+ const parsedOutput = await (0, import_provider_utils25.validateTypes)({
2970
3069
  value: output.value,
2971
3070
  schema: shellOutputSchema
2972
3071
  });
@@ -2985,7 +3084,7 @@ async function convertToOpenAIResponsesInput({
2985
3084
  continue;
2986
3085
  }
2987
3086
  if (hasApplyPatchTool && part.toolName === "apply_patch" && output.type === "json") {
2988
- const parsedOutput = await (0, import_provider_utils24.validateTypes)({
3087
+ const parsedOutput = await (0, import_provider_utils25.validateTypes)({
2989
3088
  value: output.value,
2990
3089
  schema: applyPatchOutputSchema
2991
3090
  });
@@ -3005,7 +3104,7 @@ async function convertToOpenAIResponsesInput({
3005
3104
  outputValue = output.value;
3006
3105
  break;
3007
3106
  case "execution-denied":
3008
- outputValue = (_l = output.reason) != null ? _l : "Tool execution denied.";
3107
+ outputValue = (_p = output.reason) != null ? _p : "Tool execution denied.";
3009
3108
  break;
3010
3109
  case "json":
3011
3110
  case "error-json":
@@ -3040,7 +3139,7 @@ async function convertToOpenAIResponsesInput({
3040
3139
  });
3041
3140
  return void 0;
3042
3141
  }
3043
- }).filter(import_provider_utils24.isNonNullable);
3142
+ }).filter(import_provider_utils25.isNonNullable);
3044
3143
  break;
3045
3144
  default:
3046
3145
  outputValue = "";
@@ -3059,7 +3158,7 @@ async function convertToOpenAIResponsesInput({
3059
3158
  contentValue = output.value;
3060
3159
  break;
3061
3160
  case "execution-denied":
3062
- contentValue = (_m = output.reason) != null ? _m : "Tool execution denied.";
3161
+ contentValue = (_q = output.reason) != null ? _q : "Tool execution denied.";
3063
3162
  break;
3064
3163
  case "json":
3065
3164
  case "error-json":
@@ -3099,7 +3198,7 @@ async function convertToOpenAIResponsesInput({
3099
3198
  return void 0;
3100
3199
  }
3101
3200
  }
3102
- }).filter(import_provider_utils24.isNonNullable);
3201
+ }).filter(import_provider_utils25.isNonNullable);
3103
3202
  break;
3104
3203
  }
3105
3204
  input.push({
@@ -3116,11 +3215,22 @@ async function convertToOpenAIResponsesInput({
3116
3215
  }
3117
3216
  }
3118
3217
  }
3218
+ if (!store && input.some(
3219
+ (item) => "type" in item && item.type === "reasoning" && item.encrypted_content == null
3220
+ )) {
3221
+ warnings.push({
3222
+ type: "other",
3223
+ message: "Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."
3224
+ });
3225
+ input = input.filter(
3226
+ (item) => !("type" in item) || item.type !== "reasoning" || item.encrypted_content != null
3227
+ );
3228
+ }
3119
3229
  return { input, warnings };
3120
3230
  }
3121
- var openaiResponsesReasoningProviderOptionsSchema = import_v419.z.object({
3122
- itemId: import_v419.z.string().nullish(),
3123
- reasoningEncryptedContent: import_v419.z.string().nullish()
3231
+ var openaiResponsesReasoningProviderOptionsSchema = import_v420.z.object({
3232
+ itemId: import_v420.z.string().nullish(),
3233
+ reasoningEncryptedContent: import_v420.z.string().nullish()
3124
3234
  });
3125
3235
 
3126
3236
  // src/responses/map-openai-responses-finish-reason.ts
@@ -3142,483 +3252,525 @@ function mapOpenAIResponseFinishReason({
3142
3252
  }
3143
3253
 
3144
3254
  // src/responses/openai-responses-api.ts
3145
- var import_provider_utils25 = require("@ai-sdk/provider-utils");
3146
- var import_v420 = require("zod/v4");
3147
- var openaiResponsesChunkSchema = (0, import_provider_utils25.lazySchema)(
3148
- () => (0, import_provider_utils25.zodSchema)(
3149
- import_v420.z.union([
3150
- import_v420.z.object({
3151
- type: import_v420.z.literal("response.output_text.delta"),
3152
- item_id: import_v420.z.string(),
3153
- delta: import_v420.z.string(),
3154
- logprobs: import_v420.z.array(
3155
- import_v420.z.object({
3156
- token: import_v420.z.string(),
3157
- logprob: import_v420.z.number(),
3158
- top_logprobs: import_v420.z.array(
3159
- import_v420.z.object({
3160
- token: import_v420.z.string(),
3161
- logprob: import_v420.z.number()
3255
+ var import_provider_utils26 = require("@ai-sdk/provider-utils");
3256
+ var import_v421 = require("zod/v4");
3257
+ var jsonValueSchema2 = import_v421.z.lazy(
3258
+ () => import_v421.z.union([
3259
+ import_v421.z.string(),
3260
+ import_v421.z.number(),
3261
+ import_v421.z.boolean(),
3262
+ import_v421.z.null(),
3263
+ import_v421.z.array(jsonValueSchema2),
3264
+ import_v421.z.record(import_v421.z.string(), jsonValueSchema2.optional())
3265
+ ])
3266
+ );
3267
+ var openaiResponsesChunkSchema = (0, import_provider_utils26.lazySchema)(
3268
+ () => (0, import_provider_utils26.zodSchema)(
3269
+ import_v421.z.union([
3270
+ import_v421.z.object({
3271
+ type: import_v421.z.literal("response.output_text.delta"),
3272
+ item_id: import_v421.z.string(),
3273
+ delta: import_v421.z.string(),
3274
+ logprobs: import_v421.z.array(
3275
+ import_v421.z.object({
3276
+ token: import_v421.z.string(),
3277
+ logprob: import_v421.z.number(),
3278
+ top_logprobs: import_v421.z.array(
3279
+ import_v421.z.object({
3280
+ token: import_v421.z.string(),
3281
+ logprob: import_v421.z.number()
3162
3282
  })
3163
3283
  )
3164
3284
  })
3165
3285
  ).nullish()
3166
3286
  }),
3167
- import_v420.z.object({
3168
- type: import_v420.z.enum(["response.completed", "response.incomplete"]),
3169
- response: import_v420.z.object({
3170
- incomplete_details: import_v420.z.object({ reason: import_v420.z.string() }).nullish(),
3171
- usage: import_v420.z.object({
3172
- input_tokens: import_v420.z.number(),
3173
- input_tokens_details: import_v420.z.object({ cached_tokens: import_v420.z.number().nullish() }).nullish(),
3174
- output_tokens: import_v420.z.number(),
3175
- output_tokens_details: import_v420.z.object({ reasoning_tokens: import_v420.z.number().nullish() }).nullish()
3287
+ import_v421.z.object({
3288
+ type: import_v421.z.enum(["response.completed", "response.incomplete"]),
3289
+ response: import_v421.z.object({
3290
+ incomplete_details: import_v421.z.object({ reason: import_v421.z.string() }).nullish(),
3291
+ usage: import_v421.z.object({
3292
+ input_tokens: import_v421.z.number(),
3293
+ input_tokens_details: import_v421.z.object({ cached_tokens: import_v421.z.number().nullish() }).nullish(),
3294
+ output_tokens: import_v421.z.number(),
3295
+ output_tokens_details: import_v421.z.object({ reasoning_tokens: import_v421.z.number().nullish() }).nullish()
3176
3296
  }),
3177
- service_tier: import_v420.z.string().nullish()
3297
+ service_tier: import_v421.z.string().nullish()
3178
3298
  })
3179
3299
  }),
3180
- import_v420.z.object({
3181
- type: import_v420.z.literal("response.created"),
3182
- response: import_v420.z.object({
3183
- id: import_v420.z.string(),
3184
- created_at: import_v420.z.number(),
3185
- model: import_v420.z.string(),
3186
- service_tier: import_v420.z.string().nullish()
3300
+ import_v421.z.object({
3301
+ type: import_v421.z.literal("response.created"),
3302
+ response: import_v421.z.object({
3303
+ id: import_v421.z.string(),
3304
+ created_at: import_v421.z.number(),
3305
+ model: import_v421.z.string(),
3306
+ service_tier: import_v421.z.string().nullish()
3187
3307
  })
3188
3308
  }),
3189
- import_v420.z.object({
3190
- type: import_v420.z.literal("response.output_item.added"),
3191
- output_index: import_v420.z.number(),
3192
- item: import_v420.z.discriminatedUnion("type", [
3193
- import_v420.z.object({
3194
- type: import_v420.z.literal("message"),
3195
- id: import_v420.z.string(),
3196
- phase: import_v420.z.enum(["commentary", "final_answer"]).nullish()
3309
+ import_v421.z.object({
3310
+ type: import_v421.z.literal("response.output_item.added"),
3311
+ output_index: import_v421.z.number(),
3312
+ item: import_v421.z.discriminatedUnion("type", [
3313
+ import_v421.z.object({
3314
+ type: import_v421.z.literal("message"),
3315
+ id: import_v421.z.string(),
3316
+ phase: import_v421.z.enum(["commentary", "final_answer"]).nullish()
3197
3317
  }),
3198
- import_v420.z.object({
3199
- type: import_v420.z.literal("reasoning"),
3200
- id: import_v420.z.string(),
3201
- encrypted_content: import_v420.z.string().nullish()
3318
+ import_v421.z.object({
3319
+ type: import_v421.z.literal("reasoning"),
3320
+ id: import_v421.z.string(),
3321
+ encrypted_content: import_v421.z.string().nullish()
3202
3322
  }),
3203
- import_v420.z.object({
3204
- type: import_v420.z.literal("function_call"),
3205
- id: import_v420.z.string(),
3206
- call_id: import_v420.z.string(),
3207
- name: import_v420.z.string(),
3208
- arguments: import_v420.z.string()
3323
+ import_v421.z.object({
3324
+ type: import_v421.z.literal("function_call"),
3325
+ id: import_v421.z.string(),
3326
+ call_id: import_v421.z.string(),
3327
+ name: import_v421.z.string(),
3328
+ arguments: import_v421.z.string()
3209
3329
  }),
3210
- import_v420.z.object({
3211
- type: import_v420.z.literal("web_search_call"),
3212
- id: import_v420.z.string(),
3213
- status: import_v420.z.string()
3330
+ import_v421.z.object({
3331
+ type: import_v421.z.literal("web_search_call"),
3332
+ id: import_v421.z.string(),
3333
+ status: import_v421.z.string()
3214
3334
  }),
3215
- import_v420.z.object({
3216
- type: import_v420.z.literal("computer_call"),
3217
- id: import_v420.z.string(),
3218
- status: import_v420.z.string()
3335
+ import_v421.z.object({
3336
+ type: import_v421.z.literal("computer_call"),
3337
+ id: import_v421.z.string(),
3338
+ status: import_v421.z.string()
3219
3339
  }),
3220
- import_v420.z.object({
3221
- type: import_v420.z.literal("file_search_call"),
3222
- id: import_v420.z.string()
3340
+ import_v421.z.object({
3341
+ type: import_v421.z.literal("file_search_call"),
3342
+ id: import_v421.z.string()
3223
3343
  }),
3224
- import_v420.z.object({
3225
- type: import_v420.z.literal("image_generation_call"),
3226
- id: import_v420.z.string()
3344
+ import_v421.z.object({
3345
+ type: import_v421.z.literal("image_generation_call"),
3346
+ id: import_v421.z.string()
3227
3347
  }),
3228
- import_v420.z.object({
3229
- type: import_v420.z.literal("code_interpreter_call"),
3230
- id: import_v420.z.string(),
3231
- container_id: import_v420.z.string(),
3232
- code: import_v420.z.string().nullable(),
3233
- outputs: import_v420.z.array(
3234
- import_v420.z.discriminatedUnion("type", [
3235
- import_v420.z.object({ type: import_v420.z.literal("logs"), logs: import_v420.z.string() }),
3236
- import_v420.z.object({ type: import_v420.z.literal("image"), url: import_v420.z.string() })
3348
+ import_v421.z.object({
3349
+ type: import_v421.z.literal("code_interpreter_call"),
3350
+ id: import_v421.z.string(),
3351
+ container_id: import_v421.z.string(),
3352
+ code: import_v421.z.string().nullable(),
3353
+ outputs: import_v421.z.array(
3354
+ import_v421.z.discriminatedUnion("type", [
3355
+ import_v421.z.object({ type: import_v421.z.literal("logs"), logs: import_v421.z.string() }),
3356
+ import_v421.z.object({ type: import_v421.z.literal("image"), url: import_v421.z.string() })
3237
3357
  ])
3238
3358
  ).nullable(),
3239
- status: import_v420.z.string()
3359
+ status: import_v421.z.string()
3240
3360
  }),
3241
- import_v420.z.object({
3242
- type: import_v420.z.literal("mcp_call"),
3243
- id: import_v420.z.string(),
3244
- status: import_v420.z.string(),
3245
- approval_request_id: import_v420.z.string().nullish()
3361
+ import_v421.z.object({
3362
+ type: import_v421.z.literal("mcp_call"),
3363
+ id: import_v421.z.string(),
3364
+ status: import_v421.z.string(),
3365
+ approval_request_id: import_v421.z.string().nullish()
3246
3366
  }),
3247
- import_v420.z.object({
3248
- type: import_v420.z.literal("mcp_list_tools"),
3249
- id: import_v420.z.string()
3367
+ import_v421.z.object({
3368
+ type: import_v421.z.literal("mcp_list_tools"),
3369
+ id: import_v421.z.string()
3250
3370
  }),
3251
- import_v420.z.object({
3252
- type: import_v420.z.literal("mcp_approval_request"),
3253
- id: import_v420.z.string()
3371
+ import_v421.z.object({
3372
+ type: import_v421.z.literal("mcp_approval_request"),
3373
+ id: import_v421.z.string()
3254
3374
  }),
3255
- import_v420.z.object({
3256
- type: import_v420.z.literal("apply_patch_call"),
3257
- id: import_v420.z.string(),
3258
- call_id: import_v420.z.string(),
3259
- status: import_v420.z.enum(["in_progress", "completed"]),
3260
- operation: import_v420.z.discriminatedUnion("type", [
3261
- import_v420.z.object({
3262
- type: import_v420.z.literal("create_file"),
3263
- path: import_v420.z.string(),
3264
- diff: import_v420.z.string()
3375
+ import_v421.z.object({
3376
+ type: import_v421.z.literal("apply_patch_call"),
3377
+ id: import_v421.z.string(),
3378
+ call_id: import_v421.z.string(),
3379
+ status: import_v421.z.enum(["in_progress", "completed"]),
3380
+ operation: import_v421.z.discriminatedUnion("type", [
3381
+ import_v421.z.object({
3382
+ type: import_v421.z.literal("create_file"),
3383
+ path: import_v421.z.string(),
3384
+ diff: import_v421.z.string()
3265
3385
  }),
3266
- import_v420.z.object({
3267
- type: import_v420.z.literal("delete_file"),
3268
- path: import_v420.z.string()
3386
+ import_v421.z.object({
3387
+ type: import_v421.z.literal("delete_file"),
3388
+ path: import_v421.z.string()
3269
3389
  }),
3270
- import_v420.z.object({
3271
- type: import_v420.z.literal("update_file"),
3272
- path: import_v420.z.string(),
3273
- diff: import_v420.z.string()
3390
+ import_v421.z.object({
3391
+ type: import_v421.z.literal("update_file"),
3392
+ path: import_v421.z.string(),
3393
+ diff: import_v421.z.string()
3274
3394
  })
3275
3395
  ])
3276
3396
  }),
3277
- import_v420.z.object({
3278
- type: import_v420.z.literal("custom_tool_call"),
3279
- id: import_v420.z.string(),
3280
- call_id: import_v420.z.string(),
3281
- name: import_v420.z.string(),
3282
- input: import_v420.z.string()
3397
+ import_v421.z.object({
3398
+ type: import_v421.z.literal("custom_tool_call"),
3399
+ id: import_v421.z.string(),
3400
+ call_id: import_v421.z.string(),
3401
+ name: import_v421.z.string(),
3402
+ input: import_v421.z.string()
3283
3403
  }),
3284
- import_v420.z.object({
3285
- type: import_v420.z.literal("shell_call"),
3286
- id: import_v420.z.string(),
3287
- call_id: import_v420.z.string(),
3288
- status: import_v420.z.enum(["in_progress", "completed", "incomplete"]),
3289
- action: import_v420.z.object({
3290
- commands: import_v420.z.array(import_v420.z.string())
3404
+ import_v421.z.object({
3405
+ type: import_v421.z.literal("shell_call"),
3406
+ id: import_v421.z.string(),
3407
+ call_id: import_v421.z.string(),
3408
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3409
+ action: import_v421.z.object({
3410
+ commands: import_v421.z.array(import_v421.z.string())
3291
3411
  })
3292
3412
  }),
3293
- import_v420.z.object({
3294
- type: import_v420.z.literal("shell_call_output"),
3295
- id: import_v420.z.string(),
3296
- call_id: import_v420.z.string(),
3297
- status: import_v420.z.enum(["in_progress", "completed", "incomplete"]),
3298
- output: import_v420.z.array(
3299
- import_v420.z.object({
3300
- stdout: import_v420.z.string(),
3301
- stderr: import_v420.z.string(),
3302
- outcome: import_v420.z.discriminatedUnion("type", [
3303
- import_v420.z.object({ type: import_v420.z.literal("timeout") }),
3304
- import_v420.z.object({
3305
- type: import_v420.z.literal("exit"),
3306
- exit_code: import_v420.z.number()
3413
+ import_v421.z.object({
3414
+ type: import_v421.z.literal("shell_call_output"),
3415
+ id: import_v421.z.string(),
3416
+ call_id: import_v421.z.string(),
3417
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3418
+ output: import_v421.z.array(
3419
+ import_v421.z.object({
3420
+ stdout: import_v421.z.string(),
3421
+ stderr: import_v421.z.string(),
3422
+ outcome: import_v421.z.discriminatedUnion("type", [
3423
+ import_v421.z.object({ type: import_v421.z.literal("timeout") }),
3424
+ import_v421.z.object({
3425
+ type: import_v421.z.literal("exit"),
3426
+ exit_code: import_v421.z.number()
3307
3427
  })
3308
3428
  ])
3309
3429
  })
3310
3430
  )
3431
+ }),
3432
+ import_v421.z.object({
3433
+ type: import_v421.z.literal("tool_search_call"),
3434
+ id: import_v421.z.string(),
3435
+ execution: import_v421.z.enum(["server", "client"]),
3436
+ call_id: import_v421.z.string().nullable(),
3437
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3438
+ arguments: import_v421.z.unknown()
3439
+ }),
3440
+ import_v421.z.object({
3441
+ type: import_v421.z.literal("tool_search_output"),
3442
+ id: import_v421.z.string(),
3443
+ execution: import_v421.z.enum(["server", "client"]),
3444
+ call_id: import_v421.z.string().nullable(),
3445
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3446
+ tools: import_v421.z.array(import_v421.z.record(import_v421.z.string(), jsonValueSchema2.optional()))
3311
3447
  })
3312
3448
  ])
3313
3449
  }),
3314
- import_v420.z.object({
3315
- type: import_v420.z.literal("response.output_item.done"),
3316
- output_index: import_v420.z.number(),
3317
- item: import_v420.z.discriminatedUnion("type", [
3318
- import_v420.z.object({
3319
- type: import_v420.z.literal("message"),
3320
- id: import_v420.z.string(),
3321
- phase: import_v420.z.enum(["commentary", "final_answer"]).nullish()
3450
+ import_v421.z.object({
3451
+ type: import_v421.z.literal("response.output_item.done"),
3452
+ output_index: import_v421.z.number(),
3453
+ item: import_v421.z.discriminatedUnion("type", [
3454
+ import_v421.z.object({
3455
+ type: import_v421.z.literal("message"),
3456
+ id: import_v421.z.string(),
3457
+ phase: import_v421.z.enum(["commentary", "final_answer"]).nullish()
3322
3458
  }),
3323
- import_v420.z.object({
3324
- type: import_v420.z.literal("reasoning"),
3325
- id: import_v420.z.string(),
3326
- encrypted_content: import_v420.z.string().nullish()
3459
+ import_v421.z.object({
3460
+ type: import_v421.z.literal("reasoning"),
3461
+ id: import_v421.z.string(),
3462
+ encrypted_content: import_v421.z.string().nullish()
3327
3463
  }),
3328
- import_v420.z.object({
3329
- type: import_v420.z.literal("function_call"),
3330
- id: import_v420.z.string(),
3331
- call_id: import_v420.z.string(),
3332
- name: import_v420.z.string(),
3333
- arguments: import_v420.z.string(),
3334
- status: import_v420.z.literal("completed")
3464
+ import_v421.z.object({
3465
+ type: import_v421.z.literal("function_call"),
3466
+ id: import_v421.z.string(),
3467
+ call_id: import_v421.z.string(),
3468
+ name: import_v421.z.string(),
3469
+ arguments: import_v421.z.string(),
3470
+ status: import_v421.z.literal("completed")
3335
3471
  }),
3336
- import_v420.z.object({
3337
- type: import_v420.z.literal("custom_tool_call"),
3338
- id: import_v420.z.string(),
3339
- call_id: import_v420.z.string(),
3340
- name: import_v420.z.string(),
3341
- input: import_v420.z.string(),
3342
- status: import_v420.z.literal("completed")
3472
+ import_v421.z.object({
3473
+ type: import_v421.z.literal("custom_tool_call"),
3474
+ id: import_v421.z.string(),
3475
+ call_id: import_v421.z.string(),
3476
+ name: import_v421.z.string(),
3477
+ input: import_v421.z.string(),
3478
+ status: import_v421.z.literal("completed")
3343
3479
  }),
3344
- import_v420.z.object({
3345
- type: import_v420.z.literal("code_interpreter_call"),
3346
- id: import_v420.z.string(),
3347
- code: import_v420.z.string().nullable(),
3348
- container_id: import_v420.z.string(),
3349
- outputs: import_v420.z.array(
3350
- import_v420.z.discriminatedUnion("type", [
3351
- import_v420.z.object({ type: import_v420.z.literal("logs"), logs: import_v420.z.string() }),
3352
- import_v420.z.object({ type: import_v420.z.literal("image"), url: import_v420.z.string() })
3480
+ import_v421.z.object({
3481
+ type: import_v421.z.literal("code_interpreter_call"),
3482
+ id: import_v421.z.string(),
3483
+ code: import_v421.z.string().nullable(),
3484
+ container_id: import_v421.z.string(),
3485
+ outputs: import_v421.z.array(
3486
+ import_v421.z.discriminatedUnion("type", [
3487
+ import_v421.z.object({ type: import_v421.z.literal("logs"), logs: import_v421.z.string() }),
3488
+ import_v421.z.object({ type: import_v421.z.literal("image"), url: import_v421.z.string() })
3353
3489
  ])
3354
3490
  ).nullable()
3355
3491
  }),
3356
- import_v420.z.object({
3357
- type: import_v420.z.literal("image_generation_call"),
3358
- id: import_v420.z.string(),
3359
- result: import_v420.z.string()
3492
+ import_v421.z.object({
3493
+ type: import_v421.z.literal("image_generation_call"),
3494
+ id: import_v421.z.string(),
3495
+ result: import_v421.z.string()
3360
3496
  }),
3361
- import_v420.z.object({
3362
- type: import_v420.z.literal("web_search_call"),
3363
- id: import_v420.z.string(),
3364
- status: import_v420.z.string(),
3365
- action: import_v420.z.discriminatedUnion("type", [
3366
- import_v420.z.object({
3367
- type: import_v420.z.literal("search"),
3368
- query: import_v420.z.string().nullish(),
3369
- sources: import_v420.z.array(
3370
- import_v420.z.discriminatedUnion("type", [
3371
- import_v420.z.object({ type: import_v420.z.literal("url"), url: import_v420.z.string() }),
3372
- import_v420.z.object({ type: import_v420.z.literal("api"), name: import_v420.z.string() })
3497
+ import_v421.z.object({
3498
+ type: import_v421.z.literal("web_search_call"),
3499
+ id: import_v421.z.string(),
3500
+ status: import_v421.z.string(),
3501
+ action: import_v421.z.discriminatedUnion("type", [
3502
+ import_v421.z.object({
3503
+ type: import_v421.z.literal("search"),
3504
+ query: import_v421.z.string().nullish(),
3505
+ sources: import_v421.z.array(
3506
+ import_v421.z.discriminatedUnion("type", [
3507
+ import_v421.z.object({ type: import_v421.z.literal("url"), url: import_v421.z.string() }),
3508
+ import_v421.z.object({ type: import_v421.z.literal("api"), name: import_v421.z.string() })
3373
3509
  ])
3374
3510
  ).nullish()
3375
3511
  }),
3376
- import_v420.z.object({
3377
- type: import_v420.z.literal("open_page"),
3378
- url: import_v420.z.string().nullish()
3512
+ import_v421.z.object({
3513
+ type: import_v421.z.literal("open_page"),
3514
+ url: import_v421.z.string().nullish()
3379
3515
  }),
3380
- import_v420.z.object({
3381
- type: import_v420.z.literal("find_in_page"),
3382
- url: import_v420.z.string().nullish(),
3383
- pattern: import_v420.z.string().nullish()
3516
+ import_v421.z.object({
3517
+ type: import_v421.z.literal("find_in_page"),
3518
+ url: import_v421.z.string().nullish(),
3519
+ pattern: import_v421.z.string().nullish()
3384
3520
  })
3385
3521
  ]).nullish()
3386
3522
  }),
3387
- import_v420.z.object({
3388
- type: import_v420.z.literal("file_search_call"),
3389
- id: import_v420.z.string(),
3390
- queries: import_v420.z.array(import_v420.z.string()),
3391
- results: import_v420.z.array(
3392
- import_v420.z.object({
3393
- attributes: import_v420.z.record(
3394
- import_v420.z.string(),
3395
- import_v420.z.union([import_v420.z.string(), import_v420.z.number(), import_v420.z.boolean()])
3523
+ import_v421.z.object({
3524
+ type: import_v421.z.literal("file_search_call"),
3525
+ id: import_v421.z.string(),
3526
+ queries: import_v421.z.array(import_v421.z.string()),
3527
+ results: import_v421.z.array(
3528
+ import_v421.z.object({
3529
+ attributes: import_v421.z.record(
3530
+ import_v421.z.string(),
3531
+ import_v421.z.union([import_v421.z.string(), import_v421.z.number(), import_v421.z.boolean()])
3396
3532
  ),
3397
- file_id: import_v420.z.string(),
3398
- filename: import_v420.z.string(),
3399
- score: import_v420.z.number(),
3400
- text: import_v420.z.string()
3533
+ file_id: import_v421.z.string(),
3534
+ filename: import_v421.z.string(),
3535
+ score: import_v421.z.number(),
3536
+ text: import_v421.z.string()
3401
3537
  })
3402
3538
  ).nullish()
3403
3539
  }),
3404
- import_v420.z.object({
3405
- type: import_v420.z.literal("local_shell_call"),
3406
- id: import_v420.z.string(),
3407
- call_id: import_v420.z.string(),
3408
- action: import_v420.z.object({
3409
- type: import_v420.z.literal("exec"),
3410
- command: import_v420.z.array(import_v420.z.string()),
3411
- timeout_ms: import_v420.z.number().optional(),
3412
- user: import_v420.z.string().optional(),
3413
- working_directory: import_v420.z.string().optional(),
3414
- env: import_v420.z.record(import_v420.z.string(), import_v420.z.string()).optional()
3540
+ import_v421.z.object({
3541
+ type: import_v421.z.literal("local_shell_call"),
3542
+ id: import_v421.z.string(),
3543
+ call_id: import_v421.z.string(),
3544
+ action: import_v421.z.object({
3545
+ type: import_v421.z.literal("exec"),
3546
+ command: import_v421.z.array(import_v421.z.string()),
3547
+ timeout_ms: import_v421.z.number().optional(),
3548
+ user: import_v421.z.string().optional(),
3549
+ working_directory: import_v421.z.string().optional(),
3550
+ env: import_v421.z.record(import_v421.z.string(), import_v421.z.string()).optional()
3415
3551
  })
3416
3552
  }),
3417
- import_v420.z.object({
3418
- type: import_v420.z.literal("computer_call"),
3419
- id: import_v420.z.string(),
3420
- status: import_v420.z.literal("completed")
3553
+ import_v421.z.object({
3554
+ type: import_v421.z.literal("computer_call"),
3555
+ id: import_v421.z.string(),
3556
+ status: import_v421.z.literal("completed")
3421
3557
  }),
3422
- import_v420.z.object({
3423
- type: import_v420.z.literal("mcp_call"),
3424
- id: import_v420.z.string(),
3425
- status: import_v420.z.string(),
3426
- arguments: import_v420.z.string(),
3427
- name: import_v420.z.string(),
3428
- server_label: import_v420.z.string(),
3429
- output: import_v420.z.string().nullish(),
3430
- error: import_v420.z.union([
3431
- import_v420.z.string(),
3432
- import_v420.z.object({
3433
- type: import_v420.z.string().optional(),
3434
- code: import_v420.z.union([import_v420.z.number(), import_v420.z.string()]).optional(),
3435
- message: import_v420.z.string().optional()
3558
+ import_v421.z.object({
3559
+ type: import_v421.z.literal("mcp_call"),
3560
+ id: import_v421.z.string(),
3561
+ status: import_v421.z.string(),
3562
+ arguments: import_v421.z.string(),
3563
+ name: import_v421.z.string(),
3564
+ server_label: import_v421.z.string(),
3565
+ output: import_v421.z.string().nullish(),
3566
+ error: import_v421.z.union([
3567
+ import_v421.z.string(),
3568
+ import_v421.z.object({
3569
+ type: import_v421.z.string().optional(),
3570
+ code: import_v421.z.union([import_v421.z.number(), import_v421.z.string()]).optional(),
3571
+ message: import_v421.z.string().optional()
3436
3572
  }).loose()
3437
3573
  ]).nullish(),
3438
- approval_request_id: import_v420.z.string().nullish()
3574
+ approval_request_id: import_v421.z.string().nullish()
3439
3575
  }),
3440
- import_v420.z.object({
3441
- type: import_v420.z.literal("mcp_list_tools"),
3442
- id: import_v420.z.string(),
3443
- server_label: import_v420.z.string(),
3444
- tools: import_v420.z.array(
3445
- import_v420.z.object({
3446
- name: import_v420.z.string(),
3447
- description: import_v420.z.string().optional(),
3448
- input_schema: import_v420.z.any(),
3449
- annotations: import_v420.z.record(import_v420.z.string(), import_v420.z.unknown()).optional()
3576
+ import_v421.z.object({
3577
+ type: import_v421.z.literal("mcp_list_tools"),
3578
+ id: import_v421.z.string(),
3579
+ server_label: import_v421.z.string(),
3580
+ tools: import_v421.z.array(
3581
+ import_v421.z.object({
3582
+ name: import_v421.z.string(),
3583
+ description: import_v421.z.string().optional(),
3584
+ input_schema: import_v421.z.any(),
3585
+ annotations: import_v421.z.record(import_v421.z.string(), import_v421.z.unknown()).optional()
3450
3586
  })
3451
3587
  ),
3452
- error: import_v420.z.union([
3453
- import_v420.z.string(),
3454
- import_v420.z.object({
3455
- type: import_v420.z.string().optional(),
3456
- code: import_v420.z.union([import_v420.z.number(), import_v420.z.string()]).optional(),
3457
- message: import_v420.z.string().optional()
3588
+ error: import_v421.z.union([
3589
+ import_v421.z.string(),
3590
+ import_v421.z.object({
3591
+ type: import_v421.z.string().optional(),
3592
+ code: import_v421.z.union([import_v421.z.number(), import_v421.z.string()]).optional(),
3593
+ message: import_v421.z.string().optional()
3458
3594
  }).loose()
3459
3595
  ]).optional()
3460
3596
  }),
3461
- import_v420.z.object({
3462
- type: import_v420.z.literal("mcp_approval_request"),
3463
- id: import_v420.z.string(),
3464
- server_label: import_v420.z.string(),
3465
- name: import_v420.z.string(),
3466
- arguments: import_v420.z.string(),
3467
- approval_request_id: import_v420.z.string().optional()
3597
+ import_v421.z.object({
3598
+ type: import_v421.z.literal("mcp_approval_request"),
3599
+ id: import_v421.z.string(),
3600
+ server_label: import_v421.z.string(),
3601
+ name: import_v421.z.string(),
3602
+ arguments: import_v421.z.string(),
3603
+ approval_request_id: import_v421.z.string().optional()
3468
3604
  }),
3469
- import_v420.z.object({
3470
- type: import_v420.z.literal("apply_patch_call"),
3471
- id: import_v420.z.string(),
3472
- call_id: import_v420.z.string(),
3473
- status: import_v420.z.enum(["in_progress", "completed"]),
3474
- operation: import_v420.z.discriminatedUnion("type", [
3475
- import_v420.z.object({
3476
- type: import_v420.z.literal("create_file"),
3477
- path: import_v420.z.string(),
3478
- diff: import_v420.z.string()
3605
+ import_v421.z.object({
3606
+ type: import_v421.z.literal("apply_patch_call"),
3607
+ id: import_v421.z.string(),
3608
+ call_id: import_v421.z.string(),
3609
+ status: import_v421.z.enum(["in_progress", "completed"]),
3610
+ operation: import_v421.z.discriminatedUnion("type", [
3611
+ import_v421.z.object({
3612
+ type: import_v421.z.literal("create_file"),
3613
+ path: import_v421.z.string(),
3614
+ diff: import_v421.z.string()
3479
3615
  }),
3480
- import_v420.z.object({
3481
- type: import_v420.z.literal("delete_file"),
3482
- path: import_v420.z.string()
3616
+ import_v421.z.object({
3617
+ type: import_v421.z.literal("delete_file"),
3618
+ path: import_v421.z.string()
3483
3619
  }),
3484
- import_v420.z.object({
3485
- type: import_v420.z.literal("update_file"),
3486
- path: import_v420.z.string(),
3487
- diff: import_v420.z.string()
3620
+ import_v421.z.object({
3621
+ type: import_v421.z.literal("update_file"),
3622
+ path: import_v421.z.string(),
3623
+ diff: import_v421.z.string()
3488
3624
  })
3489
3625
  ])
3490
3626
  }),
3491
- import_v420.z.object({
3492
- type: import_v420.z.literal("shell_call"),
3493
- id: import_v420.z.string(),
3494
- call_id: import_v420.z.string(),
3495
- status: import_v420.z.enum(["in_progress", "completed", "incomplete"]),
3496
- action: import_v420.z.object({
3497
- commands: import_v420.z.array(import_v420.z.string())
3627
+ import_v421.z.object({
3628
+ type: import_v421.z.literal("shell_call"),
3629
+ id: import_v421.z.string(),
3630
+ call_id: import_v421.z.string(),
3631
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3632
+ action: import_v421.z.object({
3633
+ commands: import_v421.z.array(import_v421.z.string())
3498
3634
  })
3499
3635
  }),
3500
- import_v420.z.object({
3501
- type: import_v420.z.literal("shell_call_output"),
3502
- id: import_v420.z.string(),
3503
- call_id: import_v420.z.string(),
3504
- status: import_v420.z.enum(["in_progress", "completed", "incomplete"]),
3505
- output: import_v420.z.array(
3506
- import_v420.z.object({
3507
- stdout: import_v420.z.string(),
3508
- stderr: import_v420.z.string(),
3509
- outcome: import_v420.z.discriminatedUnion("type", [
3510
- import_v420.z.object({ type: import_v420.z.literal("timeout") }),
3511
- import_v420.z.object({
3512
- type: import_v420.z.literal("exit"),
3513
- exit_code: import_v420.z.number()
3636
+ import_v421.z.object({
3637
+ type: import_v421.z.literal("shell_call_output"),
3638
+ id: import_v421.z.string(),
3639
+ call_id: import_v421.z.string(),
3640
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3641
+ output: import_v421.z.array(
3642
+ import_v421.z.object({
3643
+ stdout: import_v421.z.string(),
3644
+ stderr: import_v421.z.string(),
3645
+ outcome: import_v421.z.discriminatedUnion("type", [
3646
+ import_v421.z.object({ type: import_v421.z.literal("timeout") }),
3647
+ import_v421.z.object({
3648
+ type: import_v421.z.literal("exit"),
3649
+ exit_code: import_v421.z.number()
3514
3650
  })
3515
3651
  ])
3516
3652
  })
3517
3653
  )
3654
+ }),
3655
+ import_v421.z.object({
3656
+ type: import_v421.z.literal("tool_search_call"),
3657
+ id: import_v421.z.string(),
3658
+ execution: import_v421.z.enum(["server", "client"]),
3659
+ call_id: import_v421.z.string().nullable(),
3660
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3661
+ arguments: import_v421.z.unknown()
3662
+ }),
3663
+ import_v421.z.object({
3664
+ type: import_v421.z.literal("tool_search_output"),
3665
+ id: import_v421.z.string(),
3666
+ execution: import_v421.z.enum(["server", "client"]),
3667
+ call_id: import_v421.z.string().nullable(),
3668
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
3669
+ tools: import_v421.z.array(import_v421.z.record(import_v421.z.string(), jsonValueSchema2.optional()))
3518
3670
  })
3519
3671
  ])
3520
3672
  }),
3521
- import_v420.z.object({
3522
- type: import_v420.z.literal("response.function_call_arguments.delta"),
3523
- item_id: import_v420.z.string(),
3524
- output_index: import_v420.z.number(),
3525
- delta: import_v420.z.string()
3673
+ import_v421.z.object({
3674
+ type: import_v421.z.literal("response.function_call_arguments.delta"),
3675
+ item_id: import_v421.z.string(),
3676
+ output_index: import_v421.z.number(),
3677
+ delta: import_v421.z.string()
3526
3678
  }),
3527
- import_v420.z.object({
3528
- type: import_v420.z.literal("response.custom_tool_call_input.delta"),
3529
- item_id: import_v420.z.string(),
3530
- output_index: import_v420.z.number(),
3531
- delta: import_v420.z.string()
3679
+ import_v421.z.object({
3680
+ type: import_v421.z.literal("response.custom_tool_call_input.delta"),
3681
+ item_id: import_v421.z.string(),
3682
+ output_index: import_v421.z.number(),
3683
+ delta: import_v421.z.string()
3532
3684
  }),
3533
- import_v420.z.object({
3534
- type: import_v420.z.literal("response.image_generation_call.partial_image"),
3535
- item_id: import_v420.z.string(),
3536
- output_index: import_v420.z.number(),
3537
- partial_image_b64: import_v420.z.string()
3685
+ import_v421.z.object({
3686
+ type: import_v421.z.literal("response.image_generation_call.partial_image"),
3687
+ item_id: import_v421.z.string(),
3688
+ output_index: import_v421.z.number(),
3689
+ partial_image_b64: import_v421.z.string()
3538
3690
  }),
3539
- import_v420.z.object({
3540
- type: import_v420.z.literal("response.code_interpreter_call_code.delta"),
3541
- item_id: import_v420.z.string(),
3542
- output_index: import_v420.z.number(),
3543
- delta: import_v420.z.string()
3691
+ import_v421.z.object({
3692
+ type: import_v421.z.literal("response.code_interpreter_call_code.delta"),
3693
+ item_id: import_v421.z.string(),
3694
+ output_index: import_v421.z.number(),
3695
+ delta: import_v421.z.string()
3544
3696
  }),
3545
- import_v420.z.object({
3546
- type: import_v420.z.literal("response.code_interpreter_call_code.done"),
3547
- item_id: import_v420.z.string(),
3548
- output_index: import_v420.z.number(),
3549
- code: import_v420.z.string()
3697
+ import_v421.z.object({
3698
+ type: import_v421.z.literal("response.code_interpreter_call_code.done"),
3699
+ item_id: import_v421.z.string(),
3700
+ output_index: import_v421.z.number(),
3701
+ code: import_v421.z.string()
3550
3702
  }),
3551
- import_v420.z.object({
3552
- type: import_v420.z.literal("response.output_text.annotation.added"),
3553
- annotation: import_v420.z.discriminatedUnion("type", [
3554
- import_v420.z.object({
3555
- type: import_v420.z.literal("url_citation"),
3556
- start_index: import_v420.z.number(),
3557
- end_index: import_v420.z.number(),
3558
- url: import_v420.z.string(),
3559
- title: import_v420.z.string()
3703
+ import_v421.z.object({
3704
+ type: import_v421.z.literal("response.output_text.annotation.added"),
3705
+ annotation: import_v421.z.discriminatedUnion("type", [
3706
+ import_v421.z.object({
3707
+ type: import_v421.z.literal("url_citation"),
3708
+ start_index: import_v421.z.number(),
3709
+ end_index: import_v421.z.number(),
3710
+ url: import_v421.z.string(),
3711
+ title: import_v421.z.string()
3560
3712
  }),
3561
- import_v420.z.object({
3562
- type: import_v420.z.literal("file_citation"),
3563
- file_id: import_v420.z.string(),
3564
- filename: import_v420.z.string(),
3565
- index: import_v420.z.number()
3713
+ import_v421.z.object({
3714
+ type: import_v421.z.literal("file_citation"),
3715
+ file_id: import_v421.z.string(),
3716
+ filename: import_v421.z.string(),
3717
+ index: import_v421.z.number()
3566
3718
  }),
3567
- import_v420.z.object({
3568
- type: import_v420.z.literal("container_file_citation"),
3569
- container_id: import_v420.z.string(),
3570
- file_id: import_v420.z.string(),
3571
- filename: import_v420.z.string(),
3572
- start_index: import_v420.z.number(),
3573
- end_index: import_v420.z.number()
3719
+ import_v421.z.object({
3720
+ type: import_v421.z.literal("container_file_citation"),
3721
+ container_id: import_v421.z.string(),
3722
+ file_id: import_v421.z.string(),
3723
+ filename: import_v421.z.string(),
3724
+ start_index: import_v421.z.number(),
3725
+ end_index: import_v421.z.number()
3574
3726
  }),
3575
- import_v420.z.object({
3576
- type: import_v420.z.literal("file_path"),
3577
- file_id: import_v420.z.string(),
3578
- index: import_v420.z.number()
3727
+ import_v421.z.object({
3728
+ type: import_v421.z.literal("file_path"),
3729
+ file_id: import_v421.z.string(),
3730
+ index: import_v421.z.number()
3579
3731
  })
3580
3732
  ])
3581
3733
  }),
3582
- import_v420.z.object({
3583
- type: import_v420.z.literal("response.reasoning_summary_part.added"),
3584
- item_id: import_v420.z.string(),
3585
- summary_index: import_v420.z.number()
3734
+ import_v421.z.object({
3735
+ type: import_v421.z.literal("response.reasoning_summary_part.added"),
3736
+ item_id: import_v421.z.string(),
3737
+ summary_index: import_v421.z.number()
3586
3738
  }),
3587
- import_v420.z.object({
3588
- type: import_v420.z.literal("response.reasoning_summary_text.delta"),
3589
- item_id: import_v420.z.string(),
3590
- summary_index: import_v420.z.number(),
3591
- delta: import_v420.z.string()
3739
+ import_v421.z.object({
3740
+ type: import_v421.z.literal("response.reasoning_summary_text.delta"),
3741
+ item_id: import_v421.z.string(),
3742
+ summary_index: import_v421.z.number(),
3743
+ delta: import_v421.z.string()
3592
3744
  }),
3593
- import_v420.z.object({
3594
- type: import_v420.z.literal("response.reasoning_summary_part.done"),
3595
- item_id: import_v420.z.string(),
3596
- summary_index: import_v420.z.number()
3745
+ import_v421.z.object({
3746
+ type: import_v421.z.literal("response.reasoning_summary_part.done"),
3747
+ item_id: import_v421.z.string(),
3748
+ summary_index: import_v421.z.number()
3597
3749
  }),
3598
- import_v420.z.object({
3599
- type: import_v420.z.literal("response.apply_patch_call_operation_diff.delta"),
3600
- item_id: import_v420.z.string(),
3601
- output_index: import_v420.z.number(),
3602
- delta: import_v420.z.string(),
3603
- obfuscation: import_v420.z.string().nullish()
3750
+ import_v421.z.object({
3751
+ type: import_v421.z.literal("response.apply_patch_call_operation_diff.delta"),
3752
+ item_id: import_v421.z.string(),
3753
+ output_index: import_v421.z.number(),
3754
+ delta: import_v421.z.string(),
3755
+ obfuscation: import_v421.z.string().nullish()
3604
3756
  }),
3605
- import_v420.z.object({
3606
- type: import_v420.z.literal("response.apply_patch_call_operation_diff.done"),
3607
- item_id: import_v420.z.string(),
3608
- output_index: import_v420.z.number(),
3609
- diff: import_v420.z.string()
3757
+ import_v421.z.object({
3758
+ type: import_v421.z.literal("response.apply_patch_call_operation_diff.done"),
3759
+ item_id: import_v421.z.string(),
3760
+ output_index: import_v421.z.number(),
3761
+ diff: import_v421.z.string()
3610
3762
  }),
3611
- import_v420.z.object({
3612
- type: import_v420.z.literal("error"),
3613
- sequence_number: import_v420.z.number(),
3614
- error: import_v420.z.object({
3615
- type: import_v420.z.string(),
3616
- code: import_v420.z.string(),
3617
- message: import_v420.z.string(),
3618
- param: import_v420.z.string().nullish()
3763
+ import_v421.z.object({
3764
+ type: import_v421.z.literal("error"),
3765
+ sequence_number: import_v421.z.number(),
3766
+ error: import_v421.z.object({
3767
+ type: import_v421.z.string(),
3768
+ code: import_v421.z.string(),
3769
+ message: import_v421.z.string(),
3770
+ param: import_v421.z.string().nullish()
3619
3771
  })
3620
3772
  }),
3621
- import_v420.z.object({ type: import_v420.z.string() }).loose().transform((value) => ({
3773
+ import_v421.z.object({ type: import_v421.z.string() }).loose().transform((value) => ({
3622
3774
  type: "unknown_chunk",
3623
3775
  message: value.type
3624
3776
  }))
@@ -3626,294 +3778,310 @@ var openaiResponsesChunkSchema = (0, import_provider_utils25.lazySchema)(
3626
3778
  ])
3627
3779
  )
3628
3780
  );
3629
- var openaiResponsesResponseSchema = (0, import_provider_utils25.lazySchema)(
3630
- () => (0, import_provider_utils25.zodSchema)(
3631
- import_v420.z.object({
3632
- id: import_v420.z.string().optional(),
3633
- created_at: import_v420.z.number().optional(),
3634
- error: import_v420.z.object({
3635
- message: import_v420.z.string(),
3636
- type: import_v420.z.string(),
3637
- param: import_v420.z.string().nullish(),
3638
- code: import_v420.z.string()
3781
+ var openaiResponsesResponseSchema = (0, import_provider_utils26.lazySchema)(
3782
+ () => (0, import_provider_utils26.zodSchema)(
3783
+ import_v421.z.object({
3784
+ id: import_v421.z.string().optional(),
3785
+ created_at: import_v421.z.number().optional(),
3786
+ error: import_v421.z.object({
3787
+ message: import_v421.z.string(),
3788
+ type: import_v421.z.string(),
3789
+ param: import_v421.z.string().nullish(),
3790
+ code: import_v421.z.string()
3639
3791
  }).nullish(),
3640
- model: import_v420.z.string().optional(),
3641
- output: import_v420.z.array(
3642
- import_v420.z.discriminatedUnion("type", [
3643
- import_v420.z.object({
3644
- type: import_v420.z.literal("message"),
3645
- role: import_v420.z.literal("assistant"),
3646
- id: import_v420.z.string(),
3647
- phase: import_v420.z.enum(["commentary", "final_answer"]).nullish(),
3648
- content: import_v420.z.array(
3649
- import_v420.z.object({
3650
- type: import_v420.z.literal("output_text"),
3651
- text: import_v420.z.string(),
3652
- logprobs: import_v420.z.array(
3653
- import_v420.z.object({
3654
- token: import_v420.z.string(),
3655
- logprob: import_v420.z.number(),
3656
- top_logprobs: import_v420.z.array(
3657
- import_v420.z.object({
3658
- token: import_v420.z.string(),
3659
- logprob: import_v420.z.number()
3792
+ model: import_v421.z.string().optional(),
3793
+ output: import_v421.z.array(
3794
+ import_v421.z.discriminatedUnion("type", [
3795
+ import_v421.z.object({
3796
+ type: import_v421.z.literal("message"),
3797
+ role: import_v421.z.literal("assistant"),
3798
+ id: import_v421.z.string(),
3799
+ phase: import_v421.z.enum(["commentary", "final_answer"]).nullish(),
3800
+ content: import_v421.z.array(
3801
+ import_v421.z.object({
3802
+ type: import_v421.z.literal("output_text"),
3803
+ text: import_v421.z.string(),
3804
+ logprobs: import_v421.z.array(
3805
+ import_v421.z.object({
3806
+ token: import_v421.z.string(),
3807
+ logprob: import_v421.z.number(),
3808
+ top_logprobs: import_v421.z.array(
3809
+ import_v421.z.object({
3810
+ token: import_v421.z.string(),
3811
+ logprob: import_v421.z.number()
3660
3812
  })
3661
3813
  )
3662
3814
  })
3663
3815
  ).nullish(),
3664
- annotations: import_v420.z.array(
3665
- import_v420.z.discriminatedUnion("type", [
3666
- import_v420.z.object({
3667
- type: import_v420.z.literal("url_citation"),
3668
- start_index: import_v420.z.number(),
3669
- end_index: import_v420.z.number(),
3670
- url: import_v420.z.string(),
3671
- title: import_v420.z.string()
3816
+ annotations: import_v421.z.array(
3817
+ import_v421.z.discriminatedUnion("type", [
3818
+ import_v421.z.object({
3819
+ type: import_v421.z.literal("url_citation"),
3820
+ start_index: import_v421.z.number(),
3821
+ end_index: import_v421.z.number(),
3822
+ url: import_v421.z.string(),
3823
+ title: import_v421.z.string()
3672
3824
  }),
3673
- import_v420.z.object({
3674
- type: import_v420.z.literal("file_citation"),
3675
- file_id: import_v420.z.string(),
3676
- filename: import_v420.z.string(),
3677
- index: import_v420.z.number()
3825
+ import_v421.z.object({
3826
+ type: import_v421.z.literal("file_citation"),
3827
+ file_id: import_v421.z.string(),
3828
+ filename: import_v421.z.string(),
3829
+ index: import_v421.z.number()
3678
3830
  }),
3679
- import_v420.z.object({
3680
- type: import_v420.z.literal("container_file_citation"),
3681
- container_id: import_v420.z.string(),
3682
- file_id: import_v420.z.string(),
3683
- filename: import_v420.z.string(),
3684
- start_index: import_v420.z.number(),
3685
- end_index: import_v420.z.number()
3831
+ import_v421.z.object({
3832
+ type: import_v421.z.literal("container_file_citation"),
3833
+ container_id: import_v421.z.string(),
3834
+ file_id: import_v421.z.string(),
3835
+ filename: import_v421.z.string(),
3836
+ start_index: import_v421.z.number(),
3837
+ end_index: import_v421.z.number()
3686
3838
  }),
3687
- import_v420.z.object({
3688
- type: import_v420.z.literal("file_path"),
3689
- file_id: import_v420.z.string(),
3690
- index: import_v420.z.number()
3839
+ import_v421.z.object({
3840
+ type: import_v421.z.literal("file_path"),
3841
+ file_id: import_v421.z.string(),
3842
+ index: import_v421.z.number()
3691
3843
  })
3692
3844
  ])
3693
3845
  )
3694
3846
  })
3695
3847
  )
3696
3848
  }),
3697
- import_v420.z.object({
3698
- type: import_v420.z.literal("web_search_call"),
3699
- id: import_v420.z.string(),
3700
- status: import_v420.z.string(),
3701
- action: import_v420.z.discriminatedUnion("type", [
3702
- import_v420.z.object({
3703
- type: import_v420.z.literal("search"),
3704
- query: import_v420.z.string().nullish(),
3705
- sources: import_v420.z.array(
3706
- import_v420.z.discriminatedUnion("type", [
3707
- import_v420.z.object({ type: import_v420.z.literal("url"), url: import_v420.z.string() }),
3708
- import_v420.z.object({
3709
- type: import_v420.z.literal("api"),
3710
- name: import_v420.z.string()
3849
+ import_v421.z.object({
3850
+ type: import_v421.z.literal("web_search_call"),
3851
+ id: import_v421.z.string(),
3852
+ status: import_v421.z.string(),
3853
+ action: import_v421.z.discriminatedUnion("type", [
3854
+ import_v421.z.object({
3855
+ type: import_v421.z.literal("search"),
3856
+ query: import_v421.z.string().nullish(),
3857
+ sources: import_v421.z.array(
3858
+ import_v421.z.discriminatedUnion("type", [
3859
+ import_v421.z.object({ type: import_v421.z.literal("url"), url: import_v421.z.string() }),
3860
+ import_v421.z.object({
3861
+ type: import_v421.z.literal("api"),
3862
+ name: import_v421.z.string()
3711
3863
  })
3712
3864
  ])
3713
3865
  ).nullish()
3714
3866
  }),
3715
- import_v420.z.object({
3716
- type: import_v420.z.literal("open_page"),
3717
- url: import_v420.z.string().nullish()
3867
+ import_v421.z.object({
3868
+ type: import_v421.z.literal("open_page"),
3869
+ url: import_v421.z.string().nullish()
3718
3870
  }),
3719
- import_v420.z.object({
3720
- type: import_v420.z.literal("find_in_page"),
3721
- url: import_v420.z.string().nullish(),
3722
- pattern: import_v420.z.string().nullish()
3871
+ import_v421.z.object({
3872
+ type: import_v421.z.literal("find_in_page"),
3873
+ url: import_v421.z.string().nullish(),
3874
+ pattern: import_v421.z.string().nullish()
3723
3875
  })
3724
3876
  ]).nullish()
3725
3877
  }),
3726
- import_v420.z.object({
3727
- type: import_v420.z.literal("file_search_call"),
3728
- id: import_v420.z.string(),
3729
- queries: import_v420.z.array(import_v420.z.string()),
3730
- results: import_v420.z.array(
3731
- import_v420.z.object({
3732
- attributes: import_v420.z.record(
3733
- import_v420.z.string(),
3734
- import_v420.z.union([import_v420.z.string(), import_v420.z.number(), import_v420.z.boolean()])
3878
+ import_v421.z.object({
3879
+ type: import_v421.z.literal("file_search_call"),
3880
+ id: import_v421.z.string(),
3881
+ queries: import_v421.z.array(import_v421.z.string()),
3882
+ results: import_v421.z.array(
3883
+ import_v421.z.object({
3884
+ attributes: import_v421.z.record(
3885
+ import_v421.z.string(),
3886
+ import_v421.z.union([import_v421.z.string(), import_v421.z.number(), import_v421.z.boolean()])
3735
3887
  ),
3736
- file_id: import_v420.z.string(),
3737
- filename: import_v420.z.string(),
3738
- score: import_v420.z.number(),
3739
- text: import_v420.z.string()
3888
+ file_id: import_v421.z.string(),
3889
+ filename: import_v421.z.string(),
3890
+ score: import_v421.z.number(),
3891
+ text: import_v421.z.string()
3740
3892
  })
3741
3893
  ).nullish()
3742
3894
  }),
3743
- import_v420.z.object({
3744
- type: import_v420.z.literal("code_interpreter_call"),
3745
- id: import_v420.z.string(),
3746
- code: import_v420.z.string().nullable(),
3747
- container_id: import_v420.z.string(),
3748
- outputs: import_v420.z.array(
3749
- import_v420.z.discriminatedUnion("type", [
3750
- import_v420.z.object({ type: import_v420.z.literal("logs"), logs: import_v420.z.string() }),
3751
- import_v420.z.object({ type: import_v420.z.literal("image"), url: import_v420.z.string() })
3895
+ import_v421.z.object({
3896
+ type: import_v421.z.literal("code_interpreter_call"),
3897
+ id: import_v421.z.string(),
3898
+ code: import_v421.z.string().nullable(),
3899
+ container_id: import_v421.z.string(),
3900
+ outputs: import_v421.z.array(
3901
+ import_v421.z.discriminatedUnion("type", [
3902
+ import_v421.z.object({ type: import_v421.z.literal("logs"), logs: import_v421.z.string() }),
3903
+ import_v421.z.object({ type: import_v421.z.literal("image"), url: import_v421.z.string() })
3752
3904
  ])
3753
3905
  ).nullable()
3754
3906
  }),
3755
- import_v420.z.object({
3756
- type: import_v420.z.literal("image_generation_call"),
3757
- id: import_v420.z.string(),
3758
- result: import_v420.z.string()
3907
+ import_v421.z.object({
3908
+ type: import_v421.z.literal("image_generation_call"),
3909
+ id: import_v421.z.string(),
3910
+ result: import_v421.z.string()
3759
3911
  }),
3760
- import_v420.z.object({
3761
- type: import_v420.z.literal("local_shell_call"),
3762
- id: import_v420.z.string(),
3763
- call_id: import_v420.z.string(),
3764
- action: import_v420.z.object({
3765
- type: import_v420.z.literal("exec"),
3766
- command: import_v420.z.array(import_v420.z.string()),
3767
- timeout_ms: import_v420.z.number().optional(),
3768
- user: import_v420.z.string().optional(),
3769
- working_directory: import_v420.z.string().optional(),
3770
- env: import_v420.z.record(import_v420.z.string(), import_v420.z.string()).optional()
3912
+ import_v421.z.object({
3913
+ type: import_v421.z.literal("local_shell_call"),
3914
+ id: import_v421.z.string(),
3915
+ call_id: import_v421.z.string(),
3916
+ action: import_v421.z.object({
3917
+ type: import_v421.z.literal("exec"),
3918
+ command: import_v421.z.array(import_v421.z.string()),
3919
+ timeout_ms: import_v421.z.number().optional(),
3920
+ user: import_v421.z.string().optional(),
3921
+ working_directory: import_v421.z.string().optional(),
3922
+ env: import_v421.z.record(import_v421.z.string(), import_v421.z.string()).optional()
3771
3923
  })
3772
3924
  }),
3773
- import_v420.z.object({
3774
- type: import_v420.z.literal("function_call"),
3775
- call_id: import_v420.z.string(),
3776
- name: import_v420.z.string(),
3777
- arguments: import_v420.z.string(),
3778
- id: import_v420.z.string()
3925
+ import_v421.z.object({
3926
+ type: import_v421.z.literal("function_call"),
3927
+ call_id: import_v421.z.string(),
3928
+ name: import_v421.z.string(),
3929
+ arguments: import_v421.z.string(),
3930
+ id: import_v421.z.string()
3779
3931
  }),
3780
- import_v420.z.object({
3781
- type: import_v420.z.literal("custom_tool_call"),
3782
- call_id: import_v420.z.string(),
3783
- name: import_v420.z.string(),
3784
- input: import_v420.z.string(),
3785
- id: import_v420.z.string()
3932
+ import_v421.z.object({
3933
+ type: import_v421.z.literal("custom_tool_call"),
3934
+ call_id: import_v421.z.string(),
3935
+ name: import_v421.z.string(),
3936
+ input: import_v421.z.string(),
3937
+ id: import_v421.z.string()
3786
3938
  }),
3787
- import_v420.z.object({
3788
- type: import_v420.z.literal("computer_call"),
3789
- id: import_v420.z.string(),
3790
- status: import_v420.z.string().optional()
3939
+ import_v421.z.object({
3940
+ type: import_v421.z.literal("computer_call"),
3941
+ id: import_v421.z.string(),
3942
+ status: import_v421.z.string().optional()
3791
3943
  }),
3792
- import_v420.z.object({
3793
- type: import_v420.z.literal("reasoning"),
3794
- id: import_v420.z.string(),
3795
- encrypted_content: import_v420.z.string().nullish(),
3796
- summary: import_v420.z.array(
3797
- import_v420.z.object({
3798
- type: import_v420.z.literal("summary_text"),
3799
- text: import_v420.z.string()
3944
+ import_v421.z.object({
3945
+ type: import_v421.z.literal("reasoning"),
3946
+ id: import_v421.z.string(),
3947
+ encrypted_content: import_v421.z.string().nullish(),
3948
+ summary: import_v421.z.array(
3949
+ import_v421.z.object({
3950
+ type: import_v421.z.literal("summary_text"),
3951
+ text: import_v421.z.string()
3800
3952
  })
3801
3953
  )
3802
3954
  }),
3803
- import_v420.z.object({
3804
- type: import_v420.z.literal("mcp_call"),
3805
- id: import_v420.z.string(),
3806
- status: import_v420.z.string(),
3807
- arguments: import_v420.z.string(),
3808
- name: import_v420.z.string(),
3809
- server_label: import_v420.z.string(),
3810
- output: import_v420.z.string().nullish(),
3811
- error: import_v420.z.union([
3812
- import_v420.z.string(),
3813
- import_v420.z.object({
3814
- type: import_v420.z.string().optional(),
3815
- code: import_v420.z.union([import_v420.z.number(), import_v420.z.string()]).optional(),
3816
- message: import_v420.z.string().optional()
3955
+ import_v421.z.object({
3956
+ type: import_v421.z.literal("mcp_call"),
3957
+ id: import_v421.z.string(),
3958
+ status: import_v421.z.string(),
3959
+ arguments: import_v421.z.string(),
3960
+ name: import_v421.z.string(),
3961
+ server_label: import_v421.z.string(),
3962
+ output: import_v421.z.string().nullish(),
3963
+ error: import_v421.z.union([
3964
+ import_v421.z.string(),
3965
+ import_v421.z.object({
3966
+ type: import_v421.z.string().optional(),
3967
+ code: import_v421.z.union([import_v421.z.number(), import_v421.z.string()]).optional(),
3968
+ message: import_v421.z.string().optional()
3817
3969
  }).loose()
3818
3970
  ]).nullish(),
3819
- approval_request_id: import_v420.z.string().nullish()
3971
+ approval_request_id: import_v421.z.string().nullish()
3820
3972
  }),
3821
- import_v420.z.object({
3822
- type: import_v420.z.literal("mcp_list_tools"),
3823
- id: import_v420.z.string(),
3824
- server_label: import_v420.z.string(),
3825
- tools: import_v420.z.array(
3826
- import_v420.z.object({
3827
- name: import_v420.z.string(),
3828
- description: import_v420.z.string().optional(),
3829
- input_schema: import_v420.z.any(),
3830
- annotations: import_v420.z.record(import_v420.z.string(), import_v420.z.unknown()).optional()
3973
+ import_v421.z.object({
3974
+ type: import_v421.z.literal("mcp_list_tools"),
3975
+ id: import_v421.z.string(),
3976
+ server_label: import_v421.z.string(),
3977
+ tools: import_v421.z.array(
3978
+ import_v421.z.object({
3979
+ name: import_v421.z.string(),
3980
+ description: import_v421.z.string().optional(),
3981
+ input_schema: import_v421.z.any(),
3982
+ annotations: import_v421.z.record(import_v421.z.string(), import_v421.z.unknown()).optional()
3831
3983
  })
3832
3984
  ),
3833
- error: import_v420.z.union([
3834
- import_v420.z.string(),
3835
- import_v420.z.object({
3836
- type: import_v420.z.string().optional(),
3837
- code: import_v420.z.union([import_v420.z.number(), import_v420.z.string()]).optional(),
3838
- message: import_v420.z.string().optional()
3985
+ error: import_v421.z.union([
3986
+ import_v421.z.string(),
3987
+ import_v421.z.object({
3988
+ type: import_v421.z.string().optional(),
3989
+ code: import_v421.z.union([import_v421.z.number(), import_v421.z.string()]).optional(),
3990
+ message: import_v421.z.string().optional()
3839
3991
  }).loose()
3840
3992
  ]).optional()
3841
3993
  }),
3842
- import_v420.z.object({
3843
- type: import_v420.z.literal("mcp_approval_request"),
3844
- id: import_v420.z.string(),
3845
- server_label: import_v420.z.string(),
3846
- name: import_v420.z.string(),
3847
- arguments: import_v420.z.string(),
3848
- approval_request_id: import_v420.z.string().optional()
3994
+ import_v421.z.object({
3995
+ type: import_v421.z.literal("mcp_approval_request"),
3996
+ id: import_v421.z.string(),
3997
+ server_label: import_v421.z.string(),
3998
+ name: import_v421.z.string(),
3999
+ arguments: import_v421.z.string(),
4000
+ approval_request_id: import_v421.z.string().optional()
3849
4001
  }),
3850
- import_v420.z.object({
3851
- type: import_v420.z.literal("apply_patch_call"),
3852
- id: import_v420.z.string(),
3853
- call_id: import_v420.z.string(),
3854
- status: import_v420.z.enum(["in_progress", "completed"]),
3855
- operation: import_v420.z.discriminatedUnion("type", [
3856
- import_v420.z.object({
3857
- type: import_v420.z.literal("create_file"),
3858
- path: import_v420.z.string(),
3859
- diff: import_v420.z.string()
4002
+ import_v421.z.object({
4003
+ type: import_v421.z.literal("apply_patch_call"),
4004
+ id: import_v421.z.string(),
4005
+ call_id: import_v421.z.string(),
4006
+ status: import_v421.z.enum(["in_progress", "completed"]),
4007
+ operation: import_v421.z.discriminatedUnion("type", [
4008
+ import_v421.z.object({
4009
+ type: import_v421.z.literal("create_file"),
4010
+ path: import_v421.z.string(),
4011
+ diff: import_v421.z.string()
3860
4012
  }),
3861
- import_v420.z.object({
3862
- type: import_v420.z.literal("delete_file"),
3863
- path: import_v420.z.string()
4013
+ import_v421.z.object({
4014
+ type: import_v421.z.literal("delete_file"),
4015
+ path: import_v421.z.string()
3864
4016
  }),
3865
- import_v420.z.object({
3866
- type: import_v420.z.literal("update_file"),
3867
- path: import_v420.z.string(),
3868
- diff: import_v420.z.string()
4017
+ import_v421.z.object({
4018
+ type: import_v421.z.literal("update_file"),
4019
+ path: import_v421.z.string(),
4020
+ diff: import_v421.z.string()
3869
4021
  })
3870
4022
  ])
3871
4023
  }),
3872
- import_v420.z.object({
3873
- type: import_v420.z.literal("shell_call"),
3874
- id: import_v420.z.string(),
3875
- call_id: import_v420.z.string(),
3876
- status: import_v420.z.enum(["in_progress", "completed", "incomplete"]),
3877
- action: import_v420.z.object({
3878
- commands: import_v420.z.array(import_v420.z.string())
4024
+ import_v421.z.object({
4025
+ type: import_v421.z.literal("shell_call"),
4026
+ id: import_v421.z.string(),
4027
+ call_id: import_v421.z.string(),
4028
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
4029
+ action: import_v421.z.object({
4030
+ commands: import_v421.z.array(import_v421.z.string())
3879
4031
  })
3880
4032
  }),
3881
- import_v420.z.object({
3882
- type: import_v420.z.literal("shell_call_output"),
3883
- id: import_v420.z.string(),
3884
- call_id: import_v420.z.string(),
3885
- status: import_v420.z.enum(["in_progress", "completed", "incomplete"]),
3886
- output: import_v420.z.array(
3887
- import_v420.z.object({
3888
- stdout: import_v420.z.string(),
3889
- stderr: import_v420.z.string(),
3890
- outcome: import_v420.z.discriminatedUnion("type", [
3891
- import_v420.z.object({ type: import_v420.z.literal("timeout") }),
3892
- import_v420.z.object({
3893
- type: import_v420.z.literal("exit"),
3894
- exit_code: import_v420.z.number()
4033
+ import_v421.z.object({
4034
+ type: import_v421.z.literal("shell_call_output"),
4035
+ id: import_v421.z.string(),
4036
+ call_id: import_v421.z.string(),
4037
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
4038
+ output: import_v421.z.array(
4039
+ import_v421.z.object({
4040
+ stdout: import_v421.z.string(),
4041
+ stderr: import_v421.z.string(),
4042
+ outcome: import_v421.z.discriminatedUnion("type", [
4043
+ import_v421.z.object({ type: import_v421.z.literal("timeout") }),
4044
+ import_v421.z.object({
4045
+ type: import_v421.z.literal("exit"),
4046
+ exit_code: import_v421.z.number()
3895
4047
  })
3896
4048
  ])
3897
4049
  })
3898
4050
  )
4051
+ }),
4052
+ import_v421.z.object({
4053
+ type: import_v421.z.literal("tool_search_call"),
4054
+ id: import_v421.z.string(),
4055
+ execution: import_v421.z.enum(["server", "client"]),
4056
+ call_id: import_v421.z.string().nullable(),
4057
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
4058
+ arguments: import_v421.z.unknown()
4059
+ }),
4060
+ import_v421.z.object({
4061
+ type: import_v421.z.literal("tool_search_output"),
4062
+ id: import_v421.z.string(),
4063
+ execution: import_v421.z.enum(["server", "client"]),
4064
+ call_id: import_v421.z.string().nullable(),
4065
+ status: import_v421.z.enum(["in_progress", "completed", "incomplete"]),
4066
+ tools: import_v421.z.array(import_v421.z.record(import_v421.z.string(), jsonValueSchema2.optional()))
3899
4067
  })
3900
4068
  ])
3901
4069
  ).optional(),
3902
- service_tier: import_v420.z.string().nullish(),
3903
- incomplete_details: import_v420.z.object({ reason: import_v420.z.string() }).nullish(),
3904
- usage: import_v420.z.object({
3905
- input_tokens: import_v420.z.number(),
3906
- input_tokens_details: import_v420.z.object({ cached_tokens: import_v420.z.number().nullish() }).nullish(),
3907
- output_tokens: import_v420.z.number(),
3908
- output_tokens_details: import_v420.z.object({ reasoning_tokens: import_v420.z.number().nullish() }).nullish()
4070
+ service_tier: import_v421.z.string().nullish(),
4071
+ incomplete_details: import_v421.z.object({ reason: import_v421.z.string() }).nullish(),
4072
+ usage: import_v421.z.object({
4073
+ input_tokens: import_v421.z.number(),
4074
+ input_tokens_details: import_v421.z.object({ cached_tokens: import_v421.z.number().nullish() }).nullish(),
4075
+ output_tokens: import_v421.z.number(),
4076
+ output_tokens_details: import_v421.z.object({ reasoning_tokens: import_v421.z.number().nullish() }).nullish()
3909
4077
  }).optional()
3910
4078
  })
3911
4079
  )
3912
4080
  );
3913
4081
 
3914
4082
  // src/responses/openai-responses-options.ts
3915
- var import_provider_utils26 = require("@ai-sdk/provider-utils");
3916
- var import_v421 = require("zod/v4");
4083
+ var import_provider_utils27 = require("@ai-sdk/provider-utils");
4084
+ var import_v422 = require("zod/v4");
3917
4085
  var TOP_LOGPROBS_MAX = 20;
3918
4086
  var openaiResponsesReasoningModelIds = [
3919
4087
  "o1",
@@ -3942,7 +4110,12 @@ var openaiResponsesReasoningModelIds = [
3942
4110
  "gpt-5.2-chat-latest",
3943
4111
  "gpt-5.2-pro",
3944
4112
  "gpt-5.2-codex",
3945
- "gpt-5.3-codex"
4113
+ "gpt-5.3-chat-latest",
4114
+ "gpt-5.3-codex",
4115
+ "gpt-5.4",
4116
+ "gpt-5.4-2026-03-05",
4117
+ "gpt-5.4-pro",
4118
+ "gpt-5.4-pro-2026-03-05"
3946
4119
  ];
3947
4120
  var openaiResponsesModelIds = [
3948
4121
  "gpt-4.1",
@@ -3969,9 +4142,9 @@ var openaiResponsesModelIds = [
3969
4142
  "gpt-5-chat-latest",
3970
4143
  ...openaiResponsesReasoningModelIds
3971
4144
  ];
3972
- var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazySchema)(
3973
- () => (0, import_provider_utils26.zodSchema)(
3974
- import_v421.z.object({
4145
+ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils27.lazySchema)(
4146
+ () => (0, import_provider_utils27.zodSchema)(
4147
+ import_v422.z.object({
3975
4148
  /**
3976
4149
  * The ID of the OpenAI Conversation to continue.
3977
4150
  * You must create a conversation first via the OpenAI API.
@@ -3979,13 +4152,13 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
3979
4152
  * Defaults to `undefined`.
3980
4153
  * @see https://platform.openai.com/docs/api-reference/conversations/create
3981
4154
  */
3982
- conversation: import_v421.z.string().nullish(),
4155
+ conversation: import_v422.z.string().nullish(),
3983
4156
  /**
3984
4157
  * The set of extra fields to include in the response (advanced, usually not needed).
3985
4158
  * Example values: 'reasoning.encrypted_content', 'file_search_call.results', 'message.output_text.logprobs'.
3986
4159
  */
3987
- include: import_v421.z.array(
3988
- import_v421.z.enum([
4160
+ include: import_v422.z.array(
4161
+ import_v422.z.enum([
3989
4162
  "reasoning.encrypted_content",
3990
4163
  // handled internally by default, only needed for unknown reasoning models
3991
4164
  "file_search_call.results",
@@ -3997,7 +4170,7 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
3997
4170
  * They can be used to change the system or developer message when continuing a conversation using the `previousResponseId` option.
3998
4171
  * Defaults to `undefined`.
3999
4172
  */
4000
- instructions: import_v421.z.string().nullish(),
4173
+ instructions: import_v422.z.string().nullish(),
4001
4174
  /**
4002
4175
  * Return the log probabilities of the tokens. Including logprobs will increase
4003
4176
  * the response size and can slow down response times. However, it can
@@ -4012,30 +4185,30 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
4012
4185
  * @see https://platform.openai.com/docs/api-reference/responses/create
4013
4186
  * @see https://cookbook.openai.com/examples/using_logprobs
4014
4187
  */
4015
- logprobs: import_v421.z.union([import_v421.z.boolean(), import_v421.z.number().min(1).max(TOP_LOGPROBS_MAX)]).optional(),
4188
+ logprobs: import_v422.z.union([import_v422.z.boolean(), import_v422.z.number().min(1).max(TOP_LOGPROBS_MAX)]).optional(),
4016
4189
  /**
4017
4190
  * The maximum number of total calls to built-in tools that can be processed in a response.
4018
4191
  * This maximum number applies across all built-in tool calls, not per individual tool.
4019
4192
  * Any further attempts to call a tool by the model will be ignored.
4020
4193
  */
4021
- maxToolCalls: import_v421.z.number().nullish(),
4194
+ maxToolCalls: import_v422.z.number().nullish(),
4022
4195
  /**
4023
4196
  * Additional metadata to store with the generation.
4024
4197
  */
4025
- metadata: import_v421.z.any().nullish(),
4198
+ metadata: import_v422.z.any().nullish(),
4026
4199
  /**
4027
4200
  * Whether to use parallel tool calls. Defaults to `true`.
4028
4201
  */
4029
- parallelToolCalls: import_v421.z.boolean().nullish(),
4202
+ parallelToolCalls: import_v422.z.boolean().nullish(),
4030
4203
  /**
4031
4204
  * The ID of the previous response. You can use it to continue a conversation.
4032
4205
  * Defaults to `undefined`.
4033
4206
  */
4034
- previousResponseId: import_v421.z.string().nullish(),
4207
+ previousResponseId: import_v422.z.string().nullish(),
4035
4208
  /**
4036
4209
  * Sets a cache key to tie this prompt to cached prefixes for better caching performance.
4037
4210
  */
4038
- promptCacheKey: import_v421.z.string().nullish(),
4211
+ promptCacheKey: import_v422.z.string().nullish(),
4039
4212
  /**
4040
4213
  * The retention policy for the prompt cache.
4041
4214
  * - 'in_memory': Default. Standard prompt caching behavior.
@@ -4044,7 +4217,7 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
4044
4217
  *
4045
4218
  * @default 'in_memory'
4046
4219
  */
4047
- promptCacheRetention: import_v421.z.enum(["in_memory", "24h"]).nullish(),
4220
+ promptCacheRetention: import_v422.z.enum(["in_memory", "24h"]).nullish(),
4048
4221
  /**
4049
4222
  * Reasoning effort for reasoning models. Defaults to `medium`. If you use
4050
4223
  * `providerOptions` to set the `reasoningEffort` option, this model setting will be ignored.
@@ -4055,17 +4228,17 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
4055
4228
  * OpenAI's GPT-5.1-Codex-Max model. Setting `reasoningEffort` to 'none' or 'xhigh' with unsupported models will result in
4056
4229
  * an error.
4057
4230
  */
4058
- reasoningEffort: import_v421.z.string().nullish(),
4231
+ reasoningEffort: import_v422.z.string().nullish(),
4059
4232
  /**
4060
4233
  * Controls reasoning summary output from the model.
4061
4234
  * Set to "auto" to automatically receive the richest level available,
4062
4235
  * or "detailed" for comprehensive summaries.
4063
4236
  */
4064
- reasoningSummary: import_v421.z.string().nullish(),
4237
+ reasoningSummary: import_v422.z.string().nullish(),
4065
4238
  /**
4066
4239
  * The identifier for safety monitoring and tracking.
4067
4240
  */
4068
- safetyIdentifier: import_v421.z.string().nullish(),
4241
+ safetyIdentifier: import_v422.z.string().nullish(),
4069
4242
  /**
4070
4243
  * Service tier for the request.
4071
4244
  * Set to 'flex' for 50% cheaper processing at the cost of increased latency (available for o3, o4-mini, and gpt-5 models).
@@ -4073,34 +4246,34 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
4073
4246
  *
4074
4247
  * Defaults to 'auto'.
4075
4248
  */
4076
- serviceTier: import_v421.z.enum(["auto", "flex", "priority", "default"]).nullish(),
4249
+ serviceTier: import_v422.z.enum(["auto", "flex", "priority", "default"]).nullish(),
4077
4250
  /**
4078
4251
  * Whether to store the generation. Defaults to `true`.
4079
4252
  */
4080
- store: import_v421.z.boolean().nullish(),
4253
+ store: import_v422.z.boolean().nullish(),
4081
4254
  /**
4082
4255
  * Whether to use strict JSON schema validation.
4083
4256
  * Defaults to `true`.
4084
4257
  */
4085
- strictJsonSchema: import_v421.z.boolean().nullish(),
4258
+ strictJsonSchema: import_v422.z.boolean().nullish(),
4086
4259
  /**
4087
4260
  * Controls the verbosity of the model's responses. Lower values ('low') will result
4088
4261
  * in more concise responses, while higher values ('high') will result in more verbose responses.
4089
4262
  * Valid values: 'low', 'medium', 'high'.
4090
4263
  */
4091
- textVerbosity: import_v421.z.enum(["low", "medium", "high"]).nullish(),
4264
+ textVerbosity: import_v422.z.enum(["low", "medium", "high"]).nullish(),
4092
4265
  /**
4093
4266
  * Controls output truncation. 'auto' (default) performs truncation automatically;
4094
4267
  * 'disabled' turns truncation off.
4095
4268
  */
4096
- truncation: import_v421.z.enum(["auto", "disabled"]).nullish(),
4269
+ truncation: import_v422.z.enum(["auto", "disabled"]).nullish(),
4097
4270
  /**
4098
4271
  * A unique identifier representing your end-user, which can help OpenAI to
4099
4272
  * monitor and detect abuse.
4100
4273
  * Defaults to `undefined`.
4101
4274
  * @see https://platform.openai.com/docs/guides/safety-best-practices/end-user-ids
4102
4275
  */
4103
- user: import_v421.z.string().nullish(),
4276
+ user: import_v422.z.string().nullish(),
4104
4277
  /**
4105
4278
  * Override the system message mode for this model.
4106
4279
  * - 'system': Use the 'system' role for system messages (default for most models)
@@ -4109,7 +4282,7 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
4109
4282
  *
4110
4283
  * If not specified, the mode is automatically determined based on the model.
4111
4284
  */
4112
- systemMessageMode: import_v421.z.enum(["system", "developer", "remove"]).optional(),
4285
+ systemMessageMode: import_v422.z.enum(["system", "developer", "remove"]).optional(),
4113
4286
  /**
4114
4287
  * Force treating this model as a reasoning model.
4115
4288
  *
@@ -4119,21 +4292,21 @@ var openaiLanguageModelResponsesOptionsSchema = (0, import_provider_utils26.lazy
4119
4292
  * When enabled, the SDK applies reasoning-model parameter compatibility rules
4120
4293
  * and defaults `systemMessageMode` to `developer` unless overridden.
4121
4294
  */
4122
- forceReasoning: import_v421.z.boolean().optional()
4295
+ forceReasoning: import_v422.z.boolean().optional()
4123
4296
  })
4124
4297
  )
4125
4298
  );
4126
4299
 
4127
4300
  // src/responses/openai-responses-prepare-tools.ts
4128
4301
  var import_provider7 = require("@ai-sdk/provider");
4129
- var import_provider_utils27 = require("@ai-sdk/provider-utils");
4302
+ var import_provider_utils28 = require("@ai-sdk/provider-utils");
4130
4303
  async function prepareResponsesTools({
4131
4304
  tools,
4132
4305
  toolChoice,
4133
4306
  toolNameMapping,
4134
4307
  customProviderToolNames
4135
4308
  }) {
4136
- var _a;
4309
+ var _a, _b;
4137
4310
  tools = (tools == null ? void 0 : tools.length) ? tools : void 0;
4138
4311
  const toolWarnings = [];
4139
4312
  if (tools == null) {
@@ -4143,19 +4316,23 @@ async function prepareResponsesTools({
4143
4316
  const resolvedCustomProviderToolNames = customProviderToolNames != null ? customProviderToolNames : /* @__PURE__ */ new Set();
4144
4317
  for (const tool of tools) {
4145
4318
  switch (tool.type) {
4146
- case "function":
4319
+ case "function": {
4320
+ const openaiOptions = (_a = tool.providerOptions) == null ? void 0 : _a.openai;
4321
+ const deferLoading = openaiOptions == null ? void 0 : openaiOptions.deferLoading;
4147
4322
  openaiTools2.push({
4148
4323
  type: "function",
4149
4324
  name: tool.name,
4150
4325
  description: tool.description,
4151
4326
  parameters: tool.inputSchema,
4152
- ...tool.strict != null ? { strict: tool.strict } : {}
4327
+ ...tool.strict != null ? { strict: tool.strict } : {},
4328
+ ...deferLoading != null ? { defer_loading: deferLoading } : {}
4153
4329
  });
4154
4330
  break;
4331
+ }
4155
4332
  case "provider": {
4156
4333
  switch (tool.id) {
4157
4334
  case "openai.file_search": {
4158
- const args = await (0, import_provider_utils27.validateTypes)({
4335
+ const args = await (0, import_provider_utils28.validateTypes)({
4159
4336
  value: tool.args,
4160
4337
  schema: fileSearchArgsSchema
4161
4338
  });
@@ -4178,7 +4355,7 @@ async function prepareResponsesTools({
4178
4355
  break;
4179
4356
  }
4180
4357
  case "openai.shell": {
4181
- const args = await (0, import_provider_utils27.validateTypes)({
4358
+ const args = await (0, import_provider_utils28.validateTypes)({
4182
4359
  value: tool.args,
4183
4360
  schema: shellArgsSchema
4184
4361
  });
@@ -4197,7 +4374,7 @@ async function prepareResponsesTools({
4197
4374
  break;
4198
4375
  }
4199
4376
  case "openai.web_search_preview": {
4200
- const args = await (0, import_provider_utils27.validateTypes)({
4377
+ const args = await (0, import_provider_utils28.validateTypes)({
4201
4378
  value: tool.args,
4202
4379
  schema: webSearchPreviewArgsSchema
4203
4380
  });
@@ -4209,7 +4386,7 @@ async function prepareResponsesTools({
4209
4386
  break;
4210
4387
  }
4211
4388
  case "openai.web_search": {
4212
- const args = await (0, import_provider_utils27.validateTypes)({
4389
+ const args = await (0, import_provider_utils28.validateTypes)({
4213
4390
  value: tool.args,
4214
4391
  schema: webSearchArgsSchema
4215
4392
  });
@@ -4223,7 +4400,7 @@ async function prepareResponsesTools({
4223
4400
  break;
4224
4401
  }
4225
4402
  case "openai.code_interpreter": {
4226
- const args = await (0, import_provider_utils27.validateTypes)({
4403
+ const args = await (0, import_provider_utils28.validateTypes)({
4227
4404
  value: tool.args,
4228
4405
  schema: codeInterpreterArgsSchema
4229
4406
  });
@@ -4234,7 +4411,7 @@ async function prepareResponsesTools({
4234
4411
  break;
4235
4412
  }
4236
4413
  case "openai.image_generation": {
4237
- const args = await (0, import_provider_utils27.validateTypes)({
4414
+ const args = await (0, import_provider_utils28.validateTypes)({
4238
4415
  value: tool.args,
4239
4416
  schema: imageGenerationArgsSchema
4240
4417
  });
@@ -4257,7 +4434,7 @@ async function prepareResponsesTools({
4257
4434
  break;
4258
4435
  }
4259
4436
  case "openai.mcp": {
4260
- const args = await (0, import_provider_utils27.validateTypes)({
4437
+ const args = await (0, import_provider_utils28.validateTypes)({
4261
4438
  value: tool.args,
4262
4439
  schema: mcpArgsSchema
4263
4440
  });
@@ -4283,17 +4460,30 @@ async function prepareResponsesTools({
4283
4460
  break;
4284
4461
  }
4285
4462
  case "openai.custom": {
4286
- const args = await (0, import_provider_utils27.validateTypes)({
4463
+ const args = await (0, import_provider_utils28.validateTypes)({
4287
4464
  value: tool.args,
4288
4465
  schema: customArgsSchema
4289
4466
  });
4290
4467
  openaiTools2.push({
4291
4468
  type: "custom",
4292
- name: args.name,
4469
+ name: tool.name,
4293
4470
  description: args.description,
4294
4471
  format: args.format
4295
4472
  });
4296
- resolvedCustomProviderToolNames.add(args.name);
4473
+ resolvedCustomProviderToolNames.add(tool.name);
4474
+ break;
4475
+ }
4476
+ case "openai.tool_search": {
4477
+ const args = await (0, import_provider_utils28.validateTypes)({
4478
+ value: tool.args,
4479
+ schema: toolSearchArgsSchema
4480
+ });
4481
+ openaiTools2.push({
4482
+ type: "tool_search",
4483
+ ...args.execution != null ? { execution: args.execution } : {},
4484
+ ...args.description != null ? { description: args.description } : {},
4485
+ ...args.parameters != null ? { parameters: args.parameters } : {}
4486
+ });
4297
4487
  break;
4298
4488
  }
4299
4489
  }
@@ -4317,7 +4507,7 @@ async function prepareResponsesTools({
4317
4507
  case "required":
4318
4508
  return { tools: openaiTools2, toolChoice: type, toolWarnings };
4319
4509
  case "tool": {
4320
- const resolvedToolName = (_a = toolNameMapping == null ? void 0 : toolNameMapping.toProviderToolName(toolChoice.toolName)) != null ? _a : toolChoice.toolName;
4510
+ const resolvedToolName = (_b = toolNameMapping == null ? void 0 : toolNameMapping.toProviderToolName(toolChoice.toolName)) != null ? _b : toolChoice.toolName;
4321
4511
  return {
4322
4512
  tools: openaiTools2,
4323
4513
  toolChoice: resolvedToolName === "code_interpreter" || resolvedToolName === "file_search" || resolvedToolName === "image_generation" || resolvedToolName === "web_search_preview" || resolvedToolName === "web_search" || resolvedToolName === "mcp" || resolvedToolName === "apply_patch" ? { type: resolvedToolName } : resolvedCustomProviderToolNames.has(resolvedToolName) ? { type: "custom", name: resolvedToolName } : { type: "function", name: resolvedToolName },
@@ -4397,7 +4587,7 @@ function extractApprovalRequestIdToToolCallIdMapping(prompt) {
4397
4587
  }
4398
4588
  var OpenAIResponsesLanguageModel = class {
4399
4589
  constructor(modelId, config) {
4400
- this.specificationVersion = "v3";
4590
+ this.specificationVersion = "v4";
4401
4591
  this.supportedUrls = {
4402
4592
  "image/*": [/^https?:\/\/.*$/],
4403
4593
  "application/pdf": [/^https?:\/\/.*$/]
@@ -4442,13 +4632,13 @@ var OpenAIResponsesLanguageModel = class {
4442
4632
  warnings.push({ type: "unsupported", feature: "stopSequences" });
4443
4633
  }
4444
4634
  const providerOptionsName = this.config.provider.includes("azure") ? "azure" : "openai";
4445
- let openaiOptions = await (0, import_provider_utils28.parseProviderOptions)({
4635
+ let openaiOptions = await (0, import_provider_utils29.parseProviderOptions)({
4446
4636
  provider: providerOptionsName,
4447
4637
  providerOptions,
4448
4638
  schema: openaiLanguageModelResponsesOptionsSchema
4449
4639
  });
4450
4640
  if (openaiOptions == null && providerOptionsName !== "openai") {
4451
- openaiOptions = await (0, import_provider_utils28.parseProviderOptions)({
4641
+ openaiOptions = await (0, import_provider_utils29.parseProviderOptions)({
4452
4642
  provider: "openai",
4453
4643
  providerOptions,
4454
4644
  schema: openaiLanguageModelResponsesOptionsSchema
@@ -4462,7 +4652,7 @@ var OpenAIResponsesLanguageModel = class {
4462
4652
  details: "conversation and previousResponseId cannot be used together"
4463
4653
  });
4464
4654
  }
4465
- const toolNameMapping = (0, import_provider_utils28.createToolNameMapping)({
4655
+ const toolNameMapping = (0, import_provider_utils29.createToolNameMapping)({
4466
4656
  tools,
4467
4657
  providerToolNames: {
4468
4658
  "openai.code_interpreter": "code_interpreter",
@@ -4473,9 +4663,9 @@ var OpenAIResponsesLanguageModel = class {
4473
4663
  "openai.web_search": "web_search",
4474
4664
  "openai.web_search_preview": "web_search_preview",
4475
4665
  "openai.mcp": "mcp",
4476
- "openai.apply_patch": "apply_patch"
4477
- },
4478
- resolveProviderToolName: (tool) => tool.id === "openai.custom" ? tool.args.name : void 0
4666
+ "openai.apply_patch": "apply_patch",
4667
+ "openai.tool_search": "tool_search"
4668
+ }
4479
4669
  });
4480
4670
  const customProviderToolNames = /* @__PURE__ */ new Set();
4481
4671
  const {
@@ -4651,7 +4841,7 @@ var OpenAIResponsesLanguageModel = class {
4651
4841
  };
4652
4842
  }
4653
4843
  async doGenerate(options) {
4654
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y;
4844
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B;
4655
4845
  const {
4656
4846
  args: body,
4657
4847
  warnings,
@@ -4669,12 +4859,12 @@ var OpenAIResponsesLanguageModel = class {
4669
4859
  responseHeaders,
4670
4860
  value: response,
4671
4861
  rawValue: rawResponse
4672
- } = await (0, import_provider_utils28.postJsonToApi)({
4862
+ } = await (0, import_provider_utils29.postJsonToApi)({
4673
4863
  url,
4674
- headers: (0, import_provider_utils28.combineHeaders)(this.config.headers(), options.headers),
4864
+ headers: (0, import_provider_utils29.combineHeaders)(this.config.headers(), options.headers),
4675
4865
  body,
4676
4866
  failedResponseHandler: openaiFailedResponseHandler,
4677
- successfulResponseHandler: (0, import_provider_utils28.createJsonResponseHandler)(
4867
+ successfulResponseHandler: (0, import_provider_utils29.createJsonResponseHandler)(
4678
4868
  openaiResponsesResponseSchema
4679
4869
  ),
4680
4870
  abortSignal: options.abortSignal,
@@ -4694,6 +4884,7 @@ var OpenAIResponsesLanguageModel = class {
4694
4884
  const content = [];
4695
4885
  const logprobs = [];
4696
4886
  let hasFunctionCall = false;
4887
+ const hostedToolSearchCallIds = [];
4697
4888
  for (const part of response.output) {
4698
4889
  switch (part.type) {
4699
4890
  case "reasoning": {
@@ -4732,6 +4923,46 @@ var OpenAIResponsesLanguageModel = class {
4732
4923
  });
4733
4924
  break;
4734
4925
  }
4926
+ case "tool_search_call": {
4927
+ const toolCallId = (_b = part.call_id) != null ? _b : part.id;
4928
+ const isHosted = part.execution === "server";
4929
+ if (isHosted) {
4930
+ hostedToolSearchCallIds.push(toolCallId);
4931
+ }
4932
+ content.push({
4933
+ type: "tool-call",
4934
+ toolCallId,
4935
+ toolName: toolNameMapping.toCustomToolName("tool_search"),
4936
+ input: JSON.stringify({
4937
+ arguments: part.arguments,
4938
+ call_id: part.call_id
4939
+ }),
4940
+ ...isHosted ? { providerExecuted: true } : {},
4941
+ providerMetadata: {
4942
+ [providerOptionsName]: {
4943
+ itemId: part.id
4944
+ }
4945
+ }
4946
+ });
4947
+ break;
4948
+ }
4949
+ case "tool_search_output": {
4950
+ const toolCallId = (_d = (_c = part.call_id) != null ? _c : hostedToolSearchCallIds.shift()) != null ? _d : part.id;
4951
+ content.push({
4952
+ type: "tool-result",
4953
+ toolCallId,
4954
+ toolName: toolNameMapping.toCustomToolName("tool_search"),
4955
+ result: {
4956
+ tools: part.tools
4957
+ },
4958
+ providerMetadata: {
4959
+ [providerOptionsName]: {
4960
+ itemId: part.id
4961
+ }
4962
+ }
4963
+ });
4964
+ break;
4965
+ }
4735
4966
  case "local_shell_call": {
4736
4967
  content.push({
4737
4968
  type: "tool-call",
@@ -4787,7 +5018,7 @@ var OpenAIResponsesLanguageModel = class {
4787
5018
  }
4788
5019
  case "message": {
4789
5020
  for (const contentPart of part.content) {
4790
- if (((_c = (_b = options.providerOptions) == null ? void 0 : _b[providerOptionsName]) == null ? void 0 : _c.logprobs) && contentPart.logprobs) {
5021
+ if (((_f = (_e = options.providerOptions) == null ? void 0 : _e[providerOptionsName]) == null ? void 0 : _f.logprobs) && contentPart.logprobs) {
4791
5022
  logprobs.push(contentPart.logprobs);
4792
5023
  }
4793
5024
  const providerMetadata2 = {
@@ -4809,7 +5040,7 @@ var OpenAIResponsesLanguageModel = class {
4809
5040
  content.push({
4810
5041
  type: "source",
4811
5042
  sourceType: "url",
4812
- id: (_f = (_e = (_d = this.config).generateId) == null ? void 0 : _e.call(_d)) != null ? _f : (0, import_provider_utils28.generateId)(),
5043
+ id: (_i = (_h = (_g = this.config).generateId) == null ? void 0 : _h.call(_g)) != null ? _i : (0, import_provider_utils29.generateId)(),
4813
5044
  url: annotation.url,
4814
5045
  title: annotation.title
4815
5046
  });
@@ -4817,7 +5048,7 @@ var OpenAIResponsesLanguageModel = class {
4817
5048
  content.push({
4818
5049
  type: "source",
4819
5050
  sourceType: "document",
4820
- id: (_i = (_h = (_g = this.config).generateId) == null ? void 0 : _h.call(_g)) != null ? _i : (0, import_provider_utils28.generateId)(),
5051
+ id: (_l = (_k = (_j = this.config).generateId) == null ? void 0 : _k.call(_j)) != null ? _l : (0, import_provider_utils29.generateId)(),
4821
5052
  mediaType: "text/plain",
4822
5053
  title: annotation.filename,
4823
5054
  filename: annotation.filename,
@@ -4833,7 +5064,7 @@ var OpenAIResponsesLanguageModel = class {
4833
5064
  content.push({
4834
5065
  type: "source",
4835
5066
  sourceType: "document",
4836
- id: (_l = (_k = (_j = this.config).generateId) == null ? void 0 : _k.call(_j)) != null ? _l : (0, import_provider_utils28.generateId)(),
5067
+ id: (_o = (_n = (_m = this.config).generateId) == null ? void 0 : _n.call(_m)) != null ? _o : (0, import_provider_utils29.generateId)(),
4837
5068
  mediaType: "text/plain",
4838
5069
  title: annotation.filename,
4839
5070
  filename: annotation.filename,
@@ -4849,7 +5080,7 @@ var OpenAIResponsesLanguageModel = class {
4849
5080
  content.push({
4850
5081
  type: "source",
4851
5082
  sourceType: "document",
4852
- id: (_o = (_n = (_m = this.config).generateId) == null ? void 0 : _n.call(_m)) != null ? _o : (0, import_provider_utils28.generateId)(),
5083
+ id: (_r = (_q = (_p = this.config).generateId) == null ? void 0 : _q.call(_p)) != null ? _r : (0, import_provider_utils29.generateId)(),
4853
5084
  mediaType: "application/octet-stream",
4854
5085
  title: annotation.file_id,
4855
5086
  filename: annotation.file_id,
@@ -4918,7 +5149,7 @@ var OpenAIResponsesLanguageModel = class {
4918
5149
  break;
4919
5150
  }
4920
5151
  case "mcp_call": {
4921
- const toolCallId = part.approval_request_id != null ? (_p = approvalRequestIdToDummyToolCallIdFromPrompt[part.approval_request_id]) != null ? _p : part.id : part.id;
5152
+ const toolCallId = part.approval_request_id != null ? (_s = approvalRequestIdToDummyToolCallIdFromPrompt[part.approval_request_id]) != null ? _s : part.id : part.id;
4922
5153
  const toolName = `mcp.${part.name}`;
4923
5154
  content.push({
4924
5155
  type: "tool-call",
@@ -4952,8 +5183,8 @@ var OpenAIResponsesLanguageModel = class {
4952
5183
  break;
4953
5184
  }
4954
5185
  case "mcp_approval_request": {
4955
- const approvalRequestId = (_q = part.approval_request_id) != null ? _q : part.id;
4956
- const dummyToolCallId = (_t = (_s = (_r = this.config).generateId) == null ? void 0 : _s.call(_r)) != null ? _t : (0, import_provider_utils28.generateId)();
5186
+ const approvalRequestId = (_t = part.approval_request_id) != null ? _t : part.id;
5187
+ const dummyToolCallId = (_w = (_v = (_u = this.config).generateId) == null ? void 0 : _v.call(_u)) != null ? _w : (0, import_provider_utils29.generateId)();
4957
5188
  const toolName = `mcp.${part.name}`;
4958
5189
  content.push({
4959
5190
  type: "tool-call",
@@ -5003,13 +5234,13 @@ var OpenAIResponsesLanguageModel = class {
5003
5234
  toolName: toolNameMapping.toCustomToolName("file_search"),
5004
5235
  result: {
5005
5236
  queries: part.queries,
5006
- results: (_v = (_u = part.results) == null ? void 0 : _u.map((result) => ({
5237
+ results: (_y = (_x = part.results) == null ? void 0 : _x.map((result) => ({
5007
5238
  attributes: result.attributes,
5008
5239
  fileId: result.file_id,
5009
5240
  filename: result.filename,
5010
5241
  score: result.score,
5011
5242
  text: result.text
5012
- }))) != null ? _v : null
5243
+ }))) != null ? _y : null
5013
5244
  }
5014
5245
  });
5015
5246
  break;
@@ -5066,10 +5297,10 @@ var OpenAIResponsesLanguageModel = class {
5066
5297
  content,
5067
5298
  finishReason: {
5068
5299
  unified: mapOpenAIResponseFinishReason({
5069
- finishReason: (_w = response.incomplete_details) == null ? void 0 : _w.reason,
5300
+ finishReason: (_z = response.incomplete_details) == null ? void 0 : _z.reason,
5070
5301
  hasFunctionCall
5071
5302
  }),
5072
- raw: (_y = (_x = response.incomplete_details) == null ? void 0 : _x.reason) != null ? _y : void 0
5303
+ raw: (_B = (_A = response.incomplete_details) == null ? void 0 : _A.reason) != null ? _B : void 0
5073
5304
  },
5074
5305
  usage: convertOpenAIResponsesUsage(usage),
5075
5306
  request: { body },
@@ -5094,18 +5325,18 @@ var OpenAIResponsesLanguageModel = class {
5094
5325
  providerOptionsName,
5095
5326
  isShellProviderExecuted
5096
5327
  } = await this.getArgs(options);
5097
- const { responseHeaders, value: response } = await (0, import_provider_utils28.postJsonToApi)({
5328
+ const { responseHeaders, value: response } = await (0, import_provider_utils29.postJsonToApi)({
5098
5329
  url: this.config.url({
5099
5330
  path: "/responses",
5100
5331
  modelId: this.modelId
5101
5332
  }),
5102
- headers: (0, import_provider_utils28.combineHeaders)(this.config.headers(), options.headers),
5333
+ headers: (0, import_provider_utils29.combineHeaders)(this.config.headers(), options.headers),
5103
5334
  body: {
5104
5335
  ...body,
5105
5336
  stream: true
5106
5337
  },
5107
5338
  failedResponseHandler: openaiFailedResponseHandler,
5108
- successfulResponseHandler: (0, import_provider_utils28.createEventSourceResponseHandler)(
5339
+ successfulResponseHandler: (0, import_provider_utils29.createEventSourceResponseHandler)(
5109
5340
  openaiResponsesChunkSchema
5110
5341
  ),
5111
5342
  abortSignal: options.abortSignal,
@@ -5127,6 +5358,7 @@ var OpenAIResponsesLanguageModel = class {
5127
5358
  let hasFunctionCall = false;
5128
5359
  const activeReasoning = {};
5129
5360
  let serviceTier;
5361
+ const hostedToolSearchCallIds = [];
5130
5362
  return {
5131
5363
  stream: response.pipeThrough(
5132
5364
  new TransformStream({
@@ -5134,7 +5366,7 @@ var OpenAIResponsesLanguageModel = class {
5134
5366
  controller.enqueue({ type: "stream-start", warnings });
5135
5367
  },
5136
5368
  transform(chunk, controller) {
5137
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F;
5369
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J;
5138
5370
  if (options.includeRawChunks) {
5139
5371
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
5140
5372
  }
@@ -5242,6 +5474,24 @@ var OpenAIResponsesLanguageModel = class {
5242
5474
  input: "{}",
5243
5475
  providerExecuted: true
5244
5476
  });
5477
+ } else if (value.item.type === "tool_search_call") {
5478
+ const toolCallId = value.item.id;
5479
+ const toolName = toolNameMapping.toCustomToolName("tool_search");
5480
+ const isHosted = value.item.execution === "server";
5481
+ ongoingToolCalls[value.output_index] = {
5482
+ toolName,
5483
+ toolCallId,
5484
+ toolSearchExecution: (_a = value.item.execution) != null ? _a : "server"
5485
+ };
5486
+ if (isHosted) {
5487
+ controller.enqueue({
5488
+ type: "tool-input-start",
5489
+ id: toolCallId,
5490
+ toolName,
5491
+ providerExecuted: true
5492
+ });
5493
+ }
5494
+ } else if (value.item.type === "tool_search_output") {
5245
5495
  } else if (value.item.type === "mcp_call" || value.item.type === "mcp_list_tools" || value.item.type === "mcp_approval_request") {
5246
5496
  } else if (value.item.type === "apply_patch_call") {
5247
5497
  const { call_id: callId, operation } = value.item;
@@ -5288,7 +5538,7 @@ var OpenAIResponsesLanguageModel = class {
5288
5538
  } else if (value.item.type === "shell_call_output") {
5289
5539
  } else if (value.item.type === "message") {
5290
5540
  ongoingAnnotations.splice(0, ongoingAnnotations.length);
5291
- activeMessagePhase = (_a = value.item.phase) != null ? _a : void 0;
5541
+ activeMessagePhase = (_b = value.item.phase) != null ? _b : void 0;
5292
5542
  controller.enqueue({
5293
5543
  type: "text-start",
5294
5544
  id: value.item.id,
@@ -5312,14 +5562,14 @@ var OpenAIResponsesLanguageModel = class {
5312
5562
  providerMetadata: {
5313
5563
  [providerOptionsName]: {
5314
5564
  itemId: value.item.id,
5315
- reasoningEncryptedContent: (_b = value.item.encrypted_content) != null ? _b : null
5565
+ reasoningEncryptedContent: (_c = value.item.encrypted_content) != null ? _c : null
5316
5566
  }
5317
5567
  }
5318
5568
  });
5319
5569
  }
5320
5570
  } else if (isResponseOutputItemDoneChunk(value)) {
5321
5571
  if (value.item.type === "message") {
5322
- const phase = (_c = value.item.phase) != null ? _c : activeMessagePhase;
5572
+ const phase = (_d = value.item.phase) != null ? _d : activeMessagePhase;
5323
5573
  activeMessagePhase = void 0;
5324
5574
  controller.enqueue({
5325
5575
  type: "text-end",
@@ -5413,13 +5663,13 @@ var OpenAIResponsesLanguageModel = class {
5413
5663
  toolName: toolNameMapping.toCustomToolName("file_search"),
5414
5664
  result: {
5415
5665
  queries: value.item.queries,
5416
- results: (_e = (_d = value.item.results) == null ? void 0 : _d.map((result) => ({
5666
+ results: (_f = (_e = value.item.results) == null ? void 0 : _e.map((result) => ({
5417
5667
  attributes: result.attributes,
5418
5668
  fileId: result.file_id,
5419
5669
  filename: result.filename,
5420
5670
  score: result.score,
5421
5671
  text: result.text
5422
- }))) != null ? _e : null
5672
+ }))) != null ? _f : null
5423
5673
  }
5424
5674
  });
5425
5675
  } else if (value.item.type === "code_interpreter_call") {
@@ -5441,12 +5691,62 @@ var OpenAIResponsesLanguageModel = class {
5441
5691
  result: value.item.result
5442
5692
  }
5443
5693
  });
5694
+ } else if (value.item.type === "tool_search_call") {
5695
+ const toolCall = ongoingToolCalls[value.output_index];
5696
+ const isHosted = value.item.execution === "server";
5697
+ if (toolCall != null) {
5698
+ const toolCallId = isHosted ? toolCall.toolCallId : (_g = value.item.call_id) != null ? _g : value.item.id;
5699
+ if (isHosted) {
5700
+ hostedToolSearchCallIds.push(toolCallId);
5701
+ } else {
5702
+ controller.enqueue({
5703
+ type: "tool-input-start",
5704
+ id: toolCallId,
5705
+ toolName: toolCall.toolName
5706
+ });
5707
+ }
5708
+ controller.enqueue({
5709
+ type: "tool-input-end",
5710
+ id: toolCallId
5711
+ });
5712
+ controller.enqueue({
5713
+ type: "tool-call",
5714
+ toolCallId,
5715
+ toolName: toolCall.toolName,
5716
+ input: JSON.stringify({
5717
+ arguments: value.item.arguments,
5718
+ call_id: isHosted ? null : toolCallId
5719
+ }),
5720
+ ...isHosted ? { providerExecuted: true } : {},
5721
+ providerMetadata: {
5722
+ [providerOptionsName]: {
5723
+ itemId: value.item.id
5724
+ }
5725
+ }
5726
+ });
5727
+ }
5728
+ ongoingToolCalls[value.output_index] = void 0;
5729
+ } else if (value.item.type === "tool_search_output") {
5730
+ const toolCallId = (_i = (_h = value.item.call_id) != null ? _h : hostedToolSearchCallIds.shift()) != null ? _i : value.item.id;
5731
+ controller.enqueue({
5732
+ type: "tool-result",
5733
+ toolCallId,
5734
+ toolName: toolNameMapping.toCustomToolName("tool_search"),
5735
+ result: {
5736
+ tools: value.item.tools
5737
+ },
5738
+ providerMetadata: {
5739
+ [providerOptionsName]: {
5740
+ itemId: value.item.id
5741
+ }
5742
+ }
5743
+ });
5444
5744
  } else if (value.item.type === "mcp_call") {
5445
5745
  ongoingToolCalls[value.output_index] = void 0;
5446
- const approvalRequestId = (_f = value.item.approval_request_id) != null ? _f : void 0;
5447
- const aliasedToolCallId = approvalRequestId != null ? (_h = (_g = approvalRequestIdToDummyToolCallIdFromStream.get(
5746
+ const approvalRequestId = (_j = value.item.approval_request_id) != null ? _j : void 0;
5747
+ const aliasedToolCallId = approvalRequestId != null ? (_l = (_k = approvalRequestIdToDummyToolCallIdFromStream.get(
5448
5748
  approvalRequestId
5449
- )) != null ? _g : approvalRequestIdToDummyToolCallIdFromPrompt[approvalRequestId]) != null ? _h : value.item.id : value.item.id;
5749
+ )) != null ? _k : approvalRequestIdToDummyToolCallIdFromPrompt[approvalRequestId]) != null ? _l : value.item.id : value.item.id;
5450
5750
  const toolName = `mcp.${value.item.name}`;
5451
5751
  controller.enqueue({
5452
5752
  type: "tool-call",
@@ -5516,8 +5816,8 @@ var OpenAIResponsesLanguageModel = class {
5516
5816
  ongoingToolCalls[value.output_index] = void 0;
5517
5817
  } else if (value.item.type === "mcp_approval_request") {
5518
5818
  ongoingToolCalls[value.output_index] = void 0;
5519
- const dummyToolCallId = (_k = (_j = (_i = self.config).generateId) == null ? void 0 : _j.call(_i)) != null ? _k : (0, import_provider_utils28.generateId)();
5520
- const approvalRequestId = (_l = value.item.approval_request_id) != null ? _l : value.item.id;
5819
+ const dummyToolCallId = (_o = (_n = (_m = self.config).generateId) == null ? void 0 : _n.call(_m)) != null ? _o : (0, import_provider_utils29.generateId)();
5820
+ const approvalRequestId = (_p = value.item.approval_request_id) != null ? _p : value.item.id;
5521
5821
  approvalRequestIdToDummyToolCallIdFromStream.set(
5522
5822
  approvalRequestId,
5523
5823
  dummyToolCallId
@@ -5606,7 +5906,7 @@ var OpenAIResponsesLanguageModel = class {
5606
5906
  providerMetadata: {
5607
5907
  [providerOptionsName]: {
5608
5908
  itemId: value.item.id,
5609
- reasoningEncryptedContent: (_m = value.item.encrypted_content) != null ? _m : null
5909
+ reasoningEncryptedContent: (_q = value.item.encrypted_content) != null ? _q : null
5610
5910
  }
5611
5911
  }
5612
5912
  });
@@ -5719,7 +6019,7 @@ var OpenAIResponsesLanguageModel = class {
5719
6019
  id: value.item_id,
5720
6020
  delta: value.delta
5721
6021
  });
5722
- if (((_o = (_n = options.providerOptions) == null ? void 0 : _n[providerOptionsName]) == null ? void 0 : _o.logprobs) && value.logprobs) {
6022
+ if (((_s = (_r = options.providerOptions) == null ? void 0 : _r[providerOptionsName]) == null ? void 0 : _s.logprobs) && value.logprobs) {
5723
6023
  logprobs.push(value.logprobs);
5724
6024
  }
5725
6025
  } else if (value.type === "response.reasoning_summary_part.added") {
@@ -5748,7 +6048,7 @@ var OpenAIResponsesLanguageModel = class {
5748
6048
  providerMetadata: {
5749
6049
  [providerOptionsName]: {
5750
6050
  itemId: value.item_id,
5751
- reasoningEncryptedContent: (_q = (_p = activeReasoning[value.item_id]) == null ? void 0 : _p.encryptedContent) != null ? _q : null
6051
+ reasoningEncryptedContent: (_u = (_t = activeReasoning[value.item_id]) == null ? void 0 : _t.encryptedContent) != null ? _u : null
5752
6052
  }
5753
6053
  }
5754
6054
  });
@@ -5782,10 +6082,10 @@ var OpenAIResponsesLanguageModel = class {
5782
6082
  } else if (isResponseFinishedChunk(value)) {
5783
6083
  finishReason = {
5784
6084
  unified: mapOpenAIResponseFinishReason({
5785
- finishReason: (_r = value.response.incomplete_details) == null ? void 0 : _r.reason,
6085
+ finishReason: (_v = value.response.incomplete_details) == null ? void 0 : _v.reason,
5786
6086
  hasFunctionCall
5787
6087
  }),
5788
- raw: (_t = (_s = value.response.incomplete_details) == null ? void 0 : _s.reason) != null ? _t : void 0
6088
+ raw: (_x = (_w = value.response.incomplete_details) == null ? void 0 : _w.reason) != null ? _x : void 0
5789
6089
  };
5790
6090
  usage = value.response.usage;
5791
6091
  if (typeof value.response.service_tier === "string") {
@@ -5797,7 +6097,7 @@ var OpenAIResponsesLanguageModel = class {
5797
6097
  controller.enqueue({
5798
6098
  type: "source",
5799
6099
  sourceType: "url",
5800
- id: (_w = (_v = (_u = self.config).generateId) == null ? void 0 : _v.call(_u)) != null ? _w : (0, import_provider_utils28.generateId)(),
6100
+ id: (_A = (_z = (_y = self.config).generateId) == null ? void 0 : _z.call(_y)) != null ? _A : (0, import_provider_utils29.generateId)(),
5801
6101
  url: value.annotation.url,
5802
6102
  title: value.annotation.title
5803
6103
  });
@@ -5805,7 +6105,7 @@ var OpenAIResponsesLanguageModel = class {
5805
6105
  controller.enqueue({
5806
6106
  type: "source",
5807
6107
  sourceType: "document",
5808
- id: (_z = (_y = (_x = self.config).generateId) == null ? void 0 : _y.call(_x)) != null ? _z : (0, import_provider_utils28.generateId)(),
6108
+ id: (_D = (_C = (_B = self.config).generateId) == null ? void 0 : _C.call(_B)) != null ? _D : (0, import_provider_utils29.generateId)(),
5809
6109
  mediaType: "text/plain",
5810
6110
  title: value.annotation.filename,
5811
6111
  filename: value.annotation.filename,
@@ -5821,7 +6121,7 @@ var OpenAIResponsesLanguageModel = class {
5821
6121
  controller.enqueue({
5822
6122
  type: "source",
5823
6123
  sourceType: "document",
5824
- id: (_C = (_B = (_A = self.config).generateId) == null ? void 0 : _B.call(_A)) != null ? _C : (0, import_provider_utils28.generateId)(),
6124
+ id: (_G = (_F = (_E = self.config).generateId) == null ? void 0 : _F.call(_E)) != null ? _G : (0, import_provider_utils29.generateId)(),
5825
6125
  mediaType: "text/plain",
5826
6126
  title: value.annotation.filename,
5827
6127
  filename: value.annotation.filename,
@@ -5837,7 +6137,7 @@ var OpenAIResponsesLanguageModel = class {
5837
6137
  controller.enqueue({
5838
6138
  type: "source",
5839
6139
  sourceType: "document",
5840
- id: (_F = (_E = (_D = self.config).generateId) == null ? void 0 : _E.call(_D)) != null ? _F : (0, import_provider_utils28.generateId)(),
6140
+ id: (_J = (_I = (_H = self.config).generateId) == null ? void 0 : _I.call(_H)) != null ? _J : (0, import_provider_utils29.generateId)(),
5841
6141
  mediaType: "application/octet-stream",
5842
6142
  title: value.annotation.file_id,
5843
6143
  filename: value.annotation.file_id,
@@ -5947,16 +6247,16 @@ function escapeJSONDelta(delta) {
5947
6247
  }
5948
6248
 
5949
6249
  // src/speech/openai-speech-model.ts
5950
- var import_provider_utils30 = require("@ai-sdk/provider-utils");
6250
+ var import_provider_utils31 = require("@ai-sdk/provider-utils");
5951
6251
 
5952
6252
  // src/speech/openai-speech-options.ts
5953
- var import_provider_utils29 = require("@ai-sdk/provider-utils");
5954
- var import_v422 = require("zod/v4");
5955
- var openaiSpeechModelOptionsSchema = (0, import_provider_utils29.lazySchema)(
5956
- () => (0, import_provider_utils29.zodSchema)(
5957
- import_v422.z.object({
5958
- instructions: import_v422.z.string().nullish(),
5959
- speed: import_v422.z.number().min(0.25).max(4).default(1).nullish()
6253
+ var import_provider_utils30 = require("@ai-sdk/provider-utils");
6254
+ var import_v423 = require("zod/v4");
6255
+ var openaiSpeechModelOptionsSchema = (0, import_provider_utils30.lazySchema)(
6256
+ () => (0, import_provider_utils30.zodSchema)(
6257
+ import_v423.z.object({
6258
+ instructions: import_v423.z.string().nullish(),
6259
+ speed: import_v423.z.number().min(0.25).max(4).default(1).nullish()
5960
6260
  })
5961
6261
  )
5962
6262
  );
@@ -5966,7 +6266,7 @@ var OpenAISpeechModel = class {
5966
6266
  constructor(modelId, config) {
5967
6267
  this.modelId = modelId;
5968
6268
  this.config = config;
5969
- this.specificationVersion = "v3";
6269
+ this.specificationVersion = "v4";
5970
6270
  }
5971
6271
  get provider() {
5972
6272
  return this.config.provider;
@@ -5981,7 +6281,7 @@ var OpenAISpeechModel = class {
5981
6281
  providerOptions
5982
6282
  }) {
5983
6283
  const warnings = [];
5984
- const openAIOptions = await (0, import_provider_utils30.parseProviderOptions)({
6284
+ const openAIOptions = await (0, import_provider_utils31.parseProviderOptions)({
5985
6285
  provider: "openai",
5986
6286
  providerOptions,
5987
6287
  schema: openaiSpeechModelOptionsSchema
@@ -6034,15 +6334,15 @@ var OpenAISpeechModel = class {
6034
6334
  value: audio,
6035
6335
  responseHeaders,
6036
6336
  rawValue: rawResponse
6037
- } = await (0, import_provider_utils30.postJsonToApi)({
6337
+ } = await (0, import_provider_utils31.postJsonToApi)({
6038
6338
  url: this.config.url({
6039
6339
  path: "/audio/speech",
6040
6340
  modelId: this.modelId
6041
6341
  }),
6042
- headers: (0, import_provider_utils30.combineHeaders)(this.config.headers(), options.headers),
6342
+ headers: (0, import_provider_utils31.combineHeaders)(this.config.headers(), options.headers),
6043
6343
  body: requestBody,
6044
6344
  failedResponseHandler: openaiFailedResponseHandler,
6045
- successfulResponseHandler: (0, import_provider_utils30.createBinaryResponseHandler)(),
6345
+ successfulResponseHandler: (0, import_provider_utils31.createBinaryResponseHandler)(),
6046
6346
  abortSignal: options.abortSignal,
6047
6347
  fetch: this.config.fetch
6048
6348
  });
@@ -6063,36 +6363,36 @@ var OpenAISpeechModel = class {
6063
6363
  };
6064
6364
 
6065
6365
  // src/transcription/openai-transcription-model.ts
6066
- var import_provider_utils33 = require("@ai-sdk/provider-utils");
6366
+ var import_provider_utils34 = require("@ai-sdk/provider-utils");
6067
6367
 
6068
6368
  // src/transcription/openai-transcription-api.ts
6069
- var import_provider_utils31 = require("@ai-sdk/provider-utils");
6070
- var import_v423 = require("zod/v4");
6071
- var openaiTranscriptionResponseSchema = (0, import_provider_utils31.lazySchema)(
6072
- () => (0, import_provider_utils31.zodSchema)(
6073
- import_v423.z.object({
6074
- text: import_v423.z.string(),
6075
- language: import_v423.z.string().nullish(),
6076
- duration: import_v423.z.number().nullish(),
6077
- words: import_v423.z.array(
6078
- import_v423.z.object({
6079
- word: import_v423.z.string(),
6080
- start: import_v423.z.number(),
6081
- end: import_v423.z.number()
6369
+ var import_provider_utils32 = require("@ai-sdk/provider-utils");
6370
+ var import_v424 = require("zod/v4");
6371
+ var openaiTranscriptionResponseSchema = (0, import_provider_utils32.lazySchema)(
6372
+ () => (0, import_provider_utils32.zodSchema)(
6373
+ import_v424.z.object({
6374
+ text: import_v424.z.string(),
6375
+ language: import_v424.z.string().nullish(),
6376
+ duration: import_v424.z.number().nullish(),
6377
+ words: import_v424.z.array(
6378
+ import_v424.z.object({
6379
+ word: import_v424.z.string(),
6380
+ start: import_v424.z.number(),
6381
+ end: import_v424.z.number()
6082
6382
  })
6083
6383
  ).nullish(),
6084
- segments: import_v423.z.array(
6085
- import_v423.z.object({
6086
- id: import_v423.z.number(),
6087
- seek: import_v423.z.number(),
6088
- start: import_v423.z.number(),
6089
- end: import_v423.z.number(),
6090
- text: import_v423.z.string(),
6091
- tokens: import_v423.z.array(import_v423.z.number()),
6092
- temperature: import_v423.z.number(),
6093
- avg_logprob: import_v423.z.number(),
6094
- compression_ratio: import_v423.z.number(),
6095
- no_speech_prob: import_v423.z.number()
6384
+ segments: import_v424.z.array(
6385
+ import_v424.z.object({
6386
+ id: import_v424.z.number(),
6387
+ seek: import_v424.z.number(),
6388
+ start: import_v424.z.number(),
6389
+ end: import_v424.z.number(),
6390
+ text: import_v424.z.string(),
6391
+ tokens: import_v424.z.array(import_v424.z.number()),
6392
+ temperature: import_v424.z.number(),
6393
+ avg_logprob: import_v424.z.number(),
6394
+ compression_ratio: import_v424.z.number(),
6395
+ no_speech_prob: import_v424.z.number()
6096
6396
  })
6097
6397
  ).nullish()
6098
6398
  })
@@ -6100,33 +6400,33 @@ var openaiTranscriptionResponseSchema = (0, import_provider_utils31.lazySchema)(
6100
6400
  );
6101
6401
 
6102
6402
  // src/transcription/openai-transcription-options.ts
6103
- var import_provider_utils32 = require("@ai-sdk/provider-utils");
6104
- var import_v424 = require("zod/v4");
6105
- var openAITranscriptionModelOptions = (0, import_provider_utils32.lazySchema)(
6106
- () => (0, import_provider_utils32.zodSchema)(
6107
- import_v424.z.object({
6403
+ var import_provider_utils33 = require("@ai-sdk/provider-utils");
6404
+ var import_v425 = require("zod/v4");
6405
+ var openAITranscriptionModelOptions = (0, import_provider_utils33.lazySchema)(
6406
+ () => (0, import_provider_utils33.zodSchema)(
6407
+ import_v425.z.object({
6108
6408
  /**
6109
6409
  * Additional information to include in the transcription response.
6110
6410
  */
6111
- include: import_v424.z.array(import_v424.z.string()).optional(),
6411
+ include: import_v425.z.array(import_v425.z.string()).optional(),
6112
6412
  /**
6113
6413
  * The language of the input audio in ISO-639-1 format.
6114
6414
  */
6115
- language: import_v424.z.string().optional(),
6415
+ language: import_v425.z.string().optional(),
6116
6416
  /**
6117
6417
  * An optional text to guide the model's style or continue a previous audio segment.
6118
6418
  */
6119
- prompt: import_v424.z.string().optional(),
6419
+ prompt: import_v425.z.string().optional(),
6120
6420
  /**
6121
6421
  * The sampling temperature, between 0 and 1.
6122
6422
  * @default 0
6123
6423
  */
6124
- temperature: import_v424.z.number().min(0).max(1).default(0).optional(),
6424
+ temperature: import_v425.z.number().min(0).max(1).default(0).optional(),
6125
6425
  /**
6126
6426
  * The timestamp granularities to populate for this transcription.
6127
6427
  * @default ['segment']
6128
6428
  */
6129
- timestampGranularities: import_v424.z.array(import_v424.z.enum(["word", "segment"])).default(["segment"]).optional()
6429
+ timestampGranularities: import_v425.z.array(import_v425.z.enum(["word", "segment"])).default(["segment"]).optional()
6130
6430
  })
6131
6431
  )
6132
6432
  );
@@ -6195,7 +6495,7 @@ var OpenAITranscriptionModel = class {
6195
6495
  constructor(modelId, config) {
6196
6496
  this.modelId = modelId;
6197
6497
  this.config = config;
6198
- this.specificationVersion = "v3";
6498
+ this.specificationVersion = "v4";
6199
6499
  }
6200
6500
  get provider() {
6201
6501
  return this.config.provider;
@@ -6206,15 +6506,15 @@ var OpenAITranscriptionModel = class {
6206
6506
  providerOptions
6207
6507
  }) {
6208
6508
  const warnings = [];
6209
- const openAIOptions = await (0, import_provider_utils33.parseProviderOptions)({
6509
+ const openAIOptions = await (0, import_provider_utils34.parseProviderOptions)({
6210
6510
  provider: "openai",
6211
6511
  providerOptions,
6212
6512
  schema: openAITranscriptionModelOptions
6213
6513
  });
6214
6514
  const formData = new FormData();
6215
- const blob = audio instanceof Uint8Array ? new Blob([audio]) : new Blob([(0, import_provider_utils33.convertBase64ToUint8Array)(audio)]);
6515
+ const blob = audio instanceof Uint8Array ? new Blob([audio]) : new Blob([(0, import_provider_utils34.convertBase64ToUint8Array)(audio)]);
6216
6516
  formData.append("model", this.modelId);
6217
- const fileExtension = (0, import_provider_utils33.mediaTypeToExtension)(mediaType);
6517
+ const fileExtension = (0, import_provider_utils34.mediaTypeToExtension)(mediaType);
6218
6518
  formData.append(
6219
6519
  "file",
6220
6520
  new File([blob], "audio", { type: mediaType }),
@@ -6259,15 +6559,15 @@ var OpenAITranscriptionModel = class {
6259
6559
  value: response,
6260
6560
  responseHeaders,
6261
6561
  rawValue: rawResponse
6262
- } = await (0, import_provider_utils33.postFormDataToApi)({
6562
+ } = await (0, import_provider_utils34.postFormDataToApi)({
6263
6563
  url: this.config.url({
6264
6564
  path: "/audio/transcriptions",
6265
6565
  modelId: this.modelId
6266
6566
  }),
6267
- headers: (0, import_provider_utils33.combineHeaders)(this.config.headers(), options.headers),
6567
+ headers: (0, import_provider_utils34.combineHeaders)(this.config.headers(), options.headers),
6268
6568
  formData,
6269
6569
  failedResponseHandler: openaiFailedResponseHandler,
6270
- successfulResponseHandler: (0, import_provider_utils33.createJsonResponseHandler)(
6570
+ successfulResponseHandler: (0, import_provider_utils34.createJsonResponseHandler)(
6271
6571
  openaiTranscriptionResponseSchema
6272
6572
  ),
6273
6573
  abortSignal: options.abortSignal,
@@ -6299,21 +6599,21 @@ var OpenAITranscriptionModel = class {
6299
6599
  };
6300
6600
 
6301
6601
  // src/version.ts
6302
- var VERSION = true ? "4.0.0-beta.0" : "0.0.0-test";
6602
+ var VERSION = true ? "4.0.0-beta.10" : "0.0.0-test";
6303
6603
 
6304
6604
  // src/openai-provider.ts
6305
6605
  function createOpenAI(options = {}) {
6306
6606
  var _a, _b;
6307
- const baseURL = (_a = (0, import_provider_utils34.withoutTrailingSlash)(
6308
- (0, import_provider_utils34.loadOptionalSetting)({
6607
+ const baseURL = (_a = (0, import_provider_utils35.withoutTrailingSlash)(
6608
+ (0, import_provider_utils35.loadOptionalSetting)({
6309
6609
  settingValue: options.baseURL,
6310
6610
  environmentVariableName: "OPENAI_BASE_URL"
6311
6611
  })
6312
6612
  )) != null ? _a : "https://api.openai.com/v1";
6313
6613
  const providerName = (_b = options.name) != null ? _b : "openai";
6314
- const getHeaders = () => (0, import_provider_utils34.withUserAgentSuffix)(
6614
+ const getHeaders = () => (0, import_provider_utils35.withUserAgentSuffix)(
6315
6615
  {
6316
- Authorization: `Bearer ${(0, import_provider_utils34.loadApiKey)({
6616
+ Authorization: `Bearer ${(0, import_provider_utils35.loadApiKey)({
6317
6617
  apiKey: options.apiKey,
6318
6618
  environmentVariableName: "OPENAI_API_KEY",
6319
6619
  description: "OpenAI"
@@ -6380,7 +6680,7 @@ function createOpenAI(options = {}) {
6380
6680
  const provider = function(modelId) {
6381
6681
  return createLanguageModel(modelId);
6382
6682
  };
6383
- provider.specificationVersion = "v3";
6683
+ provider.specificationVersion = "v4";
6384
6684
  provider.languageModel = createLanguageModel;
6385
6685
  provider.chat = createChatModel;
6386
6686
  provider.completion = createCompletionModel;