@ai-sdk/openai 2.1.0-beta.1 → 2.1.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.
@@ -244,7 +244,7 @@ function mapOpenAIFinishReason(finishReason) {
244
244
 
245
245
  // src/chat/openai-chat-options.ts
246
246
  import { z as z2 } from "zod/v4";
247
- var openaiProviderOptions = z2.object({
247
+ var openaiChatLanguageModelOptions = z2.object({
248
248
  /**
249
249
  * Modify the likelihood of specified tokens appearing in the completion.
250
250
  *
@@ -398,7 +398,7 @@ function prepareChatTools({
398
398
  // src/chat/openai-chat-language-model.ts
399
399
  var OpenAIChatLanguageModel = class {
400
400
  constructor(modelId, config) {
401
- this.specificationVersion = "v2";
401
+ this.specificationVersion = "v3";
402
402
  this.supportedUrls = {
403
403
  "image/*": [/^https?:\/\/.*$/]
404
404
  };
@@ -428,7 +428,7 @@ var OpenAIChatLanguageModel = class {
428
428
  const openaiOptions = (_a = await parseProviderOptions({
429
429
  provider: "openai",
430
430
  providerOptions,
431
- schema: openaiProviderOptions
431
+ schema: openaiChatLanguageModelOptions
432
432
  })) != null ? _a : {};
433
433
  const structuredOutputs = (_b = openaiOptions.structuredOutputs) != null ? _b : true;
434
434
  if (topK != null) {
@@ -1216,7 +1216,7 @@ var openaiCompletionProviderOptions = z4.object({
1216
1216
  // src/completion/openai-completion-language-model.ts
1217
1217
  var OpenAICompletionLanguageModel = class {
1218
1218
  constructor(modelId, config) {
1219
- this.specificationVersion = "v2";
1219
+ this.specificationVersion = "v3";
1220
1220
  this.supportedUrls = {
1221
1221
  // No URLs are supported for completion models.
1222
1222
  };
@@ -1516,7 +1516,7 @@ var openaiEmbeddingProviderOptions = z6.object({
1516
1516
  // src/embedding/openai-embedding-model.ts
1517
1517
  var OpenAIEmbeddingModel = class {
1518
1518
  constructor(modelId, config) {
1519
- this.specificationVersion = "v2";
1519
+ this.specificationVersion = "v3";
1520
1520
  this.maxEmbeddingsPerCall = 2048;
1521
1521
  this.supportsParallelCalls = true;
1522
1522
  this.modelId = modelId;
@@ -1602,7 +1602,7 @@ var OpenAIImageModel = class {
1602
1602
  constructor(modelId, config) {
1603
1603
  this.modelId = modelId;
1604
1604
  this.config = config;
1605
- this.specificationVersion = "v2";
1605
+ this.specificationVersion = "v3";
1606
1606
  }
1607
1607
  get maxImagesPerCall() {
1608
1608
  var _a;
@@ -2036,14 +2036,39 @@ import {
2036
2036
  parseProviderOptions as parseProviderOptions7,
2037
2037
  postJsonToApi as postJsonToApi6
2038
2038
  } from "@ai-sdk/provider-utils";
2039
- import { z as z18 } from "zod/v4";
2039
+ import { z as z19 } from "zod/v4";
2040
2040
 
2041
2041
  // src/responses/convert-to-openai-responses-input.ts
2042
2042
  import {
2043
2043
  UnsupportedFunctionalityError as UnsupportedFunctionalityError4
2044
2044
  } from "@ai-sdk/provider";
2045
2045
  import { convertToBase64 as convertToBase642, parseProviderOptions as parseProviderOptions6 } from "@ai-sdk/provider-utils";
2046
+ import { z as z13 } from "zod/v4";
2047
+
2048
+ // src/tool/local-shell.ts
2049
+ import { createProviderDefinedToolFactoryWithOutputSchema } from "@ai-sdk/provider-utils";
2046
2050
  import { z as z12 } from "zod/v4";
2051
+ var localShellInputSchema = z12.object({
2052
+ action: z12.object({
2053
+ type: z12.literal("exec"),
2054
+ command: z12.array(z12.string()),
2055
+ timeoutMs: z12.number().optional(),
2056
+ user: z12.string().optional(),
2057
+ workingDirectory: z12.string().optional(),
2058
+ env: z12.record(z12.string(), z12.string()).optional()
2059
+ })
2060
+ });
2061
+ var localShellOutputSchema = z12.object({
2062
+ output: z12.string()
2063
+ });
2064
+ var localShell = createProviderDefinedToolFactoryWithOutputSchema({
2065
+ id: "openai.local_shell",
2066
+ name: "local_shell",
2067
+ inputSchema: localShellInputSchema,
2068
+ outputSchema: localShellOutputSchema
2069
+ });
2070
+
2071
+ // src/responses/convert-to-openai-responses-input.ts
2047
2072
  function isFileId(data, prefixes) {
2048
2073
  if (!prefixes) return false;
2049
2074
  return prefixes.some((prefix) => data.startsWith(prefix));
@@ -2052,9 +2077,10 @@ async function convertToOpenAIResponsesInput({
2052
2077
  prompt,
2053
2078
  systemMessageMode,
2054
2079
  fileIdPrefixes,
2055
- store
2080
+ store,
2081
+ hasLocalShellTool = false
2056
2082
  }) {
2057
- var _a, _b, _c, _d, _e, _f;
2083
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
2058
2084
  const input = [];
2059
2085
  const warnings = [];
2060
2086
  for (const { role, content } of prompt) {
@@ -2147,12 +2173,29 @@ async function convertToOpenAIResponsesInput({
2147
2173
  if (part.providerExecuted) {
2148
2174
  break;
2149
2175
  }
2176
+ if (hasLocalShellTool && part.toolName === "local_shell") {
2177
+ const parsedInput = localShellInputSchema.parse(part.input);
2178
+ input.push({
2179
+ type: "local_shell_call",
2180
+ call_id: part.toolCallId,
2181
+ id: (_f = (_e = (_d = part.providerOptions) == null ? void 0 : _d.openai) == null ? void 0 : _e.itemId) != null ? _f : void 0,
2182
+ action: {
2183
+ type: "exec",
2184
+ command: parsedInput.action.command,
2185
+ timeout_ms: parsedInput.action.timeoutMs,
2186
+ user: parsedInput.action.user,
2187
+ working_directory: parsedInput.action.workingDirectory,
2188
+ env: parsedInput.action.env
2189
+ }
2190
+ });
2191
+ break;
2192
+ }
2150
2193
  input.push({
2151
2194
  type: "function_call",
2152
2195
  call_id: part.toolCallId,
2153
2196
  name: part.toolName,
2154
2197
  arguments: JSON.stringify(part.input),
2155
- id: (_f = (_e = (_d = part.providerOptions) == null ? void 0 : _d.openai) == null ? void 0 : _e.itemId) != null ? _f : void 0
2198
+ id: (_i = (_h = (_g = part.providerOptions) == null ? void 0 : _g.openai) == null ? void 0 : _h.itemId) != null ? _i : void 0
2156
2199
  });
2157
2200
  break;
2158
2201
  }
@@ -2176,26 +2219,40 @@ async function convertToOpenAIResponsesInput({
2176
2219
  });
2177
2220
  const reasoningId = providerOptions == null ? void 0 : providerOptions.itemId;
2178
2221
  if (reasoningId != null) {
2179
- const existingReasoningMessage = reasoningMessages[reasoningId];
2180
- const summaryParts = [];
2181
- if (part.text.length > 0) {
2182
- summaryParts.push({ type: "summary_text", text: part.text });
2183
- } else if (existingReasoningMessage !== void 0) {
2184
- warnings.push({
2185
- type: "other",
2186
- message: `Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(part)}.`
2187
- });
2188
- }
2189
- if (existingReasoningMessage === void 0) {
2190
- reasoningMessages[reasoningId] = {
2191
- type: "reasoning",
2192
- id: reasoningId,
2193
- encrypted_content: providerOptions == null ? void 0 : providerOptions.reasoningEncryptedContent,
2194
- summary: summaryParts
2195
- };
2196
- input.push(reasoningMessages[reasoningId]);
2222
+ const reasoningMessage = reasoningMessages[reasoningId];
2223
+ if (store) {
2224
+ if (reasoningMessage === void 0) {
2225
+ input.push({ type: "item_reference", id: reasoningId });
2226
+ reasoningMessages[reasoningId] = {
2227
+ type: "reasoning",
2228
+ id: reasoningId,
2229
+ summary: []
2230
+ };
2231
+ }
2197
2232
  } else {
2198
- existingReasoningMessage.summary.push(...summaryParts);
2233
+ const summaryParts = [];
2234
+ if (part.text.length > 0) {
2235
+ summaryParts.push({
2236
+ type: "summary_text",
2237
+ text: part.text
2238
+ });
2239
+ } else if (reasoningMessage !== void 0) {
2240
+ warnings.push({
2241
+ type: "other",
2242
+ message: `Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(part)}.`
2243
+ });
2244
+ }
2245
+ if (reasoningMessage === void 0) {
2246
+ reasoningMessages[reasoningId] = {
2247
+ type: "reasoning",
2248
+ id: reasoningId,
2249
+ encrypted_content: providerOptions == null ? void 0 : providerOptions.reasoningEncryptedContent,
2250
+ summary: summaryParts
2251
+ };
2252
+ input.push(reasoningMessages[reasoningId]);
2253
+ } else {
2254
+ reasoningMessage.summary.push(...summaryParts);
2255
+ }
2199
2256
  }
2200
2257
  } else {
2201
2258
  warnings.push({
@@ -2212,6 +2269,14 @@ async function convertToOpenAIResponsesInput({
2212
2269
  case "tool": {
2213
2270
  for (const part of content) {
2214
2271
  const output = part.output;
2272
+ if (hasLocalShellTool && part.toolName === "local_shell" && output.type === "json") {
2273
+ input.push({
2274
+ type: "local_shell_call_output",
2275
+ call_id: part.toolCallId,
2276
+ output: localShellOutputSchema.parse(output.value).output
2277
+ });
2278
+ break;
2279
+ }
2215
2280
  let contentValue;
2216
2281
  switch (output.type) {
2217
2282
  case "text":
@@ -2240,9 +2305,9 @@ async function convertToOpenAIResponsesInput({
2240
2305
  }
2241
2306
  return { input, warnings };
2242
2307
  }
2243
- var openaiResponsesReasoningProviderOptionsSchema = z12.object({
2244
- itemId: z12.string().nullish(),
2245
- reasoningEncryptedContent: z12.string().nullish()
2308
+ var openaiResponsesReasoningProviderOptionsSchema = z13.object({
2309
+ itemId: z13.string().nullish(),
2310
+ reasoningEncryptedContent: z13.string().nullish()
2246
2311
  });
2247
2312
 
2248
2313
  // src/responses/map-openai-responses-finish-reason.ts
@@ -2269,110 +2334,113 @@ import {
2269
2334
  } from "@ai-sdk/provider";
2270
2335
 
2271
2336
  // src/tool/code-interpreter.ts
2272
- import { createProviderDefinedToolFactoryWithOutputSchema } from "@ai-sdk/provider-utils";
2273
- import { z as z13 } from "zod/v4";
2274
- var codeInterpreterInputSchema = z13.object({
2275
- code: z13.string().nullish(),
2276
- containerId: z13.string()
2337
+ import { createProviderDefinedToolFactoryWithOutputSchema as createProviderDefinedToolFactoryWithOutputSchema2 } from "@ai-sdk/provider-utils";
2338
+ import { z as z14 } from "zod/v4";
2339
+ var codeInterpreterInputSchema = z14.object({
2340
+ code: z14.string().nullish(),
2341
+ containerId: z14.string()
2277
2342
  });
2278
- var codeInterpreterOutputSchema = z13.object({
2279
- outputs: z13.array(
2280
- z13.discriminatedUnion("type", [
2281
- z13.object({ type: z13.literal("logs"), logs: z13.string() }),
2282
- z13.object({ type: z13.literal("image"), url: z13.string() })
2343
+ var codeInterpreterOutputSchema = z14.object({
2344
+ outputs: z14.array(
2345
+ z14.discriminatedUnion("type", [
2346
+ z14.object({ type: z14.literal("logs"), logs: z14.string() }),
2347
+ z14.object({ type: z14.literal("image"), url: z14.string() })
2283
2348
  ])
2284
2349
  ).nullish()
2285
2350
  });
2286
- var codeInterpreterArgsSchema = z13.object({
2287
- container: z13.union([
2288
- z13.string(),
2289
- z13.object({
2290
- fileIds: z13.array(z13.string()).optional()
2351
+ var codeInterpreterArgsSchema = z14.object({
2352
+ container: z14.union([
2353
+ z14.string(),
2354
+ z14.object({
2355
+ fileIds: z14.array(z14.string()).optional()
2291
2356
  })
2292
2357
  ]).optional()
2293
2358
  });
2294
- var codeInterpreterToolFactory = createProviderDefinedToolFactoryWithOutputSchema({
2359
+ var codeInterpreterToolFactory = createProviderDefinedToolFactoryWithOutputSchema2({
2295
2360
  id: "openai.code_interpreter",
2296
2361
  name: "code_interpreter",
2297
2362
  inputSchema: codeInterpreterInputSchema,
2298
2363
  outputSchema: codeInterpreterOutputSchema
2299
2364
  });
2365
+ var codeInterpreter = (args = {}) => {
2366
+ return codeInterpreterToolFactory(args);
2367
+ };
2300
2368
 
2301
2369
  // src/tool/file-search.ts
2302
- import { createProviderDefinedToolFactoryWithOutputSchema as createProviderDefinedToolFactoryWithOutputSchema2 } from "@ai-sdk/provider-utils";
2303
- import { z as z14 } from "zod/v4";
2304
- var comparisonFilterSchema = z14.object({
2305
- key: z14.string(),
2306
- type: z14.enum(["eq", "ne", "gt", "gte", "lt", "lte"]),
2307
- value: z14.union([z14.string(), z14.number(), z14.boolean()])
2370
+ import { createProviderDefinedToolFactoryWithOutputSchema as createProviderDefinedToolFactoryWithOutputSchema3 } from "@ai-sdk/provider-utils";
2371
+ import { z as z15 } from "zod/v4";
2372
+ var comparisonFilterSchema = z15.object({
2373
+ key: z15.string(),
2374
+ type: z15.enum(["eq", "ne", "gt", "gte", "lt", "lte"]),
2375
+ value: z15.union([z15.string(), z15.number(), z15.boolean()])
2308
2376
  });
2309
- var compoundFilterSchema = z14.object({
2310
- type: z14.enum(["and", "or"]),
2311
- filters: z14.array(
2312
- z14.union([comparisonFilterSchema, z14.lazy(() => compoundFilterSchema)])
2377
+ var compoundFilterSchema = z15.object({
2378
+ type: z15.enum(["and", "or"]),
2379
+ filters: z15.array(
2380
+ z15.union([comparisonFilterSchema, z15.lazy(() => compoundFilterSchema)])
2313
2381
  )
2314
2382
  });
2315
- var fileSearchArgsSchema = z14.object({
2316
- vectorStoreIds: z14.array(z14.string()),
2317
- maxNumResults: z14.number().optional(),
2318
- ranking: z14.object({
2319
- ranker: z14.string().optional(),
2320
- scoreThreshold: z14.number().optional()
2383
+ var fileSearchArgsSchema = z15.object({
2384
+ vectorStoreIds: z15.array(z15.string()),
2385
+ maxNumResults: z15.number().optional(),
2386
+ ranking: z15.object({
2387
+ ranker: z15.string().optional(),
2388
+ scoreThreshold: z15.number().optional()
2321
2389
  }).optional(),
2322
- filters: z14.union([comparisonFilterSchema, compoundFilterSchema]).optional()
2390
+ filters: z15.union([comparisonFilterSchema, compoundFilterSchema]).optional()
2323
2391
  });
2324
- var fileSearchOutputSchema = z14.object({
2325
- queries: z14.array(z14.string()),
2326
- results: z14.array(
2327
- z14.object({
2328
- attributes: z14.record(z14.string(), z14.unknown()),
2329
- fileId: z14.string(),
2330
- filename: z14.string(),
2331
- score: z14.number(),
2332
- text: z14.string()
2392
+ var fileSearchOutputSchema = z15.object({
2393
+ queries: z15.array(z15.string()),
2394
+ results: z15.array(
2395
+ z15.object({
2396
+ attributes: z15.record(z15.string(), z15.unknown()),
2397
+ fileId: z15.string(),
2398
+ filename: z15.string(),
2399
+ score: z15.number(),
2400
+ text: z15.string()
2333
2401
  })
2334
2402
  ).nullable()
2335
2403
  });
2336
- var fileSearch = createProviderDefinedToolFactoryWithOutputSchema2({
2404
+ var fileSearch = createProviderDefinedToolFactoryWithOutputSchema3({
2337
2405
  id: "openai.file_search",
2338
2406
  name: "file_search",
2339
- inputSchema: z14.object({}),
2407
+ inputSchema: z15.object({}),
2340
2408
  outputSchema: fileSearchOutputSchema
2341
2409
  });
2342
2410
 
2343
2411
  // src/tool/web-search.ts
2344
2412
  import { createProviderDefinedToolFactory } from "@ai-sdk/provider-utils";
2345
- import { z as z15 } from "zod/v4";
2346
- var webSearchArgsSchema = z15.object({
2347
- filters: z15.object({
2348
- allowedDomains: z15.array(z15.string()).optional()
2413
+ import { z as z16 } from "zod/v4";
2414
+ var webSearchArgsSchema = z16.object({
2415
+ filters: z16.object({
2416
+ allowedDomains: z16.array(z16.string()).optional()
2349
2417
  }).optional(),
2350
- searchContextSize: z15.enum(["low", "medium", "high"]).optional(),
2351
- userLocation: z15.object({
2352
- type: z15.literal("approximate"),
2353
- country: z15.string().optional(),
2354
- city: z15.string().optional(),
2355
- region: z15.string().optional(),
2356
- timezone: z15.string().optional()
2418
+ searchContextSize: z16.enum(["low", "medium", "high"]).optional(),
2419
+ userLocation: z16.object({
2420
+ type: z16.literal("approximate"),
2421
+ country: z16.string().optional(),
2422
+ city: z16.string().optional(),
2423
+ region: z16.string().optional(),
2424
+ timezone: z16.string().optional()
2357
2425
  }).optional()
2358
2426
  });
2359
2427
  var webSearchToolFactory = createProviderDefinedToolFactory({
2360
2428
  id: "openai.web_search",
2361
2429
  name: "web_search",
2362
- inputSchema: z15.object({
2363
- action: z15.discriminatedUnion("type", [
2364
- z15.object({
2365
- type: z15.literal("search"),
2366
- query: z15.string().nullish()
2430
+ inputSchema: z16.object({
2431
+ action: z16.discriminatedUnion("type", [
2432
+ z16.object({
2433
+ type: z16.literal("search"),
2434
+ query: z16.string().nullish()
2367
2435
  }),
2368
- z15.object({
2369
- type: z15.literal("open_page"),
2370
- url: z15.string()
2436
+ z16.object({
2437
+ type: z16.literal("open_page"),
2438
+ url: z16.string()
2371
2439
  }),
2372
- z15.object({
2373
- type: z15.literal("find"),
2374
- url: z15.string(),
2375
- pattern: z15.string()
2440
+ z16.object({
2441
+ type: z16.literal("find"),
2442
+ url: z16.string(),
2443
+ pattern: z16.string()
2376
2444
  })
2377
2445
  ]).nullish()
2378
2446
  })
@@ -2380,89 +2448,92 @@ var webSearchToolFactory = createProviderDefinedToolFactory({
2380
2448
 
2381
2449
  // src/tool/web-search-preview.ts
2382
2450
  import { createProviderDefinedToolFactory as createProviderDefinedToolFactory2 } from "@ai-sdk/provider-utils";
2383
- import { z as z16 } from "zod/v4";
2384
- var webSearchPreviewArgsSchema = z16.object({
2451
+ import { z as z17 } from "zod/v4";
2452
+ var webSearchPreviewArgsSchema = z17.object({
2385
2453
  /**
2386
2454
  * Search context size to use for the web search.
2387
2455
  * - high: Most comprehensive context, highest cost, slower response
2388
2456
  * - medium: Balanced context, cost, and latency (default)
2389
2457
  * - low: Least context, lowest cost, fastest response
2390
2458
  */
2391
- searchContextSize: z16.enum(["low", "medium", "high"]).optional(),
2459
+ searchContextSize: z17.enum(["low", "medium", "high"]).optional(),
2392
2460
  /**
2393
2461
  * User location information to provide geographically relevant search results.
2394
2462
  */
2395
- userLocation: z16.object({
2463
+ userLocation: z17.object({
2396
2464
  /**
2397
2465
  * Type of location (always 'approximate')
2398
2466
  */
2399
- type: z16.literal("approximate"),
2467
+ type: z17.literal("approximate"),
2400
2468
  /**
2401
2469
  * Two-letter ISO country code (e.g., 'US', 'GB')
2402
2470
  */
2403
- country: z16.string().optional(),
2471
+ country: z17.string().optional(),
2404
2472
  /**
2405
2473
  * City name (free text, e.g., 'Minneapolis')
2406
2474
  */
2407
- city: z16.string().optional(),
2475
+ city: z17.string().optional(),
2408
2476
  /**
2409
2477
  * Region name (free text, e.g., 'Minnesota')
2410
2478
  */
2411
- region: z16.string().optional(),
2479
+ region: z17.string().optional(),
2412
2480
  /**
2413
2481
  * IANA timezone (e.g., 'America/Chicago')
2414
2482
  */
2415
- timezone: z16.string().optional()
2483
+ timezone: z17.string().optional()
2416
2484
  }).optional()
2417
2485
  });
2418
2486
  var webSearchPreview = createProviderDefinedToolFactory2({
2419
2487
  id: "openai.web_search_preview",
2420
2488
  name: "web_search_preview",
2421
- inputSchema: z16.object({
2422
- action: z16.discriminatedUnion("type", [
2423
- z16.object({
2424
- type: z16.literal("search"),
2425
- query: z16.string().nullish()
2489
+ inputSchema: z17.object({
2490
+ action: z17.discriminatedUnion("type", [
2491
+ z17.object({
2492
+ type: z17.literal("search"),
2493
+ query: z17.string().nullish()
2426
2494
  }),
2427
- z16.object({
2428
- type: z16.literal("open_page"),
2429
- url: z16.string()
2495
+ z17.object({
2496
+ type: z17.literal("open_page"),
2497
+ url: z17.string()
2430
2498
  }),
2431
- z16.object({
2432
- type: z16.literal("find"),
2433
- url: z16.string(),
2434
- pattern: z16.string()
2499
+ z17.object({
2500
+ type: z17.literal("find"),
2501
+ url: z17.string(),
2502
+ pattern: z17.string()
2435
2503
  })
2436
2504
  ]).nullish()
2437
2505
  })
2438
2506
  });
2439
2507
 
2440
2508
  // src/tool/image-generation.ts
2441
- import { createProviderDefinedToolFactoryWithOutputSchema as createProviderDefinedToolFactoryWithOutputSchema3 } from "@ai-sdk/provider-utils";
2442
- import { z as z17 } from "zod/v4";
2443
- var imageGenerationArgsSchema = z17.object({
2444
- background: z17.enum(["auto", "opaque", "transparent"]).optional(),
2445
- inputFidelity: z17.enum(["low", "high"]).optional(),
2446
- inputImageMask: z17.object({
2447
- fileId: z17.string().optional(),
2448
- imageUrl: z17.string().optional()
2509
+ import { createProviderDefinedToolFactoryWithOutputSchema as createProviderDefinedToolFactoryWithOutputSchema4 } from "@ai-sdk/provider-utils";
2510
+ import { z as z18 } from "zod/v4";
2511
+ var imageGenerationArgsSchema = z18.object({
2512
+ background: z18.enum(["auto", "opaque", "transparent"]).optional(),
2513
+ inputFidelity: z18.enum(["low", "high"]).optional(),
2514
+ inputImageMask: z18.object({
2515
+ fileId: z18.string().optional(),
2516
+ imageUrl: z18.string().optional()
2449
2517
  }).optional(),
2450
- model: z17.string().optional(),
2451
- moderation: z17.enum(["auto"]).optional(),
2452
- outputCompression: z17.number().int().min(0).max(100).optional(),
2453
- outputFormat: z17.enum(["png", "jpeg", "webp"]).optional(),
2454
- quality: z17.enum(["auto", "low", "medium", "high"]).optional(),
2455
- size: z17.enum(["1024x1024", "1024x1536", "1536x1024", "auto"]).optional()
2518
+ model: z18.string().optional(),
2519
+ moderation: z18.enum(["auto"]).optional(),
2520
+ outputCompression: z18.number().int().min(0).max(100).optional(),
2521
+ outputFormat: z18.enum(["png", "jpeg", "webp"]).optional(),
2522
+ quality: z18.enum(["auto", "low", "medium", "high"]).optional(),
2523
+ size: z18.enum(["1024x1024", "1024x1536", "1536x1024", "auto"]).optional()
2456
2524
  }).strict();
2457
- var imageGenerationOutputSchema = z17.object({
2458
- result: z17.string()
2525
+ var imageGenerationOutputSchema = z18.object({
2526
+ result: z18.string()
2459
2527
  });
2460
- var imageGenerationToolFactory = createProviderDefinedToolFactoryWithOutputSchema3({
2528
+ var imageGenerationToolFactory = createProviderDefinedToolFactoryWithOutputSchema4({
2461
2529
  id: "openai.image_generation",
2462
2530
  name: "image_generation",
2463
- inputSchema: z17.object({}),
2531
+ inputSchema: z18.object({}),
2464
2532
  outputSchema: imageGenerationOutputSchema
2465
2533
  });
2534
+ var imageGeneration = (args = {}) => {
2535
+ return imageGenerationToolFactory(args);
2536
+ };
2466
2537
 
2467
2538
  // src/responses/openai-responses-prepare-tools.ts
2468
2539
  function prepareResponsesTools({
@@ -2503,6 +2574,12 @@ function prepareResponsesTools({
2503
2574
  });
2504
2575
  break;
2505
2576
  }
2577
+ case "openai.local_shell": {
2578
+ openaiTools.push({
2579
+ type: "local_shell"
2580
+ });
2581
+ break;
2582
+ }
2506
2583
  case "openai.web_search_preview": {
2507
2584
  const args = webSearchPreviewArgsSchema.parse(tool.args);
2508
2585
  openaiTools.push({
@@ -2582,73 +2659,86 @@ function prepareResponsesTools({
2582
2659
  }
2583
2660
 
2584
2661
  // src/responses/openai-responses-language-model.ts
2585
- var webSearchCallItem = z18.object({
2586
- type: z18.literal("web_search_call"),
2587
- id: z18.string(),
2588
- status: z18.string(),
2589
- action: z18.discriminatedUnion("type", [
2590
- z18.object({
2591
- type: z18.literal("search"),
2592
- query: z18.string().nullish()
2662
+ var webSearchCallItem = z19.object({
2663
+ type: z19.literal("web_search_call"),
2664
+ id: z19.string(),
2665
+ status: z19.string(),
2666
+ action: z19.discriminatedUnion("type", [
2667
+ z19.object({
2668
+ type: z19.literal("search"),
2669
+ query: z19.string().nullish()
2593
2670
  }),
2594
- z18.object({
2595
- type: z18.literal("open_page"),
2596
- url: z18.string()
2671
+ z19.object({
2672
+ type: z19.literal("open_page"),
2673
+ url: z19.string()
2597
2674
  }),
2598
- z18.object({
2599
- type: z18.literal("find"),
2600
- url: z18.string(),
2601
- pattern: z18.string()
2675
+ z19.object({
2676
+ type: z19.literal("find"),
2677
+ url: z19.string(),
2678
+ pattern: z19.string()
2602
2679
  })
2603
2680
  ]).nullish()
2604
2681
  });
2605
- var fileSearchCallItem = z18.object({
2606
- type: z18.literal("file_search_call"),
2607
- id: z18.string(),
2608
- queries: z18.array(z18.string()),
2609
- results: z18.array(
2610
- z18.object({
2611
- attributes: z18.record(z18.string(), z18.unknown()),
2612
- file_id: z18.string(),
2613
- filename: z18.string(),
2614
- score: z18.number(),
2615
- text: z18.string()
2682
+ var fileSearchCallItem = z19.object({
2683
+ type: z19.literal("file_search_call"),
2684
+ id: z19.string(),
2685
+ queries: z19.array(z19.string()),
2686
+ results: z19.array(
2687
+ z19.object({
2688
+ attributes: z19.record(z19.string(), z19.unknown()),
2689
+ file_id: z19.string(),
2690
+ filename: z19.string(),
2691
+ score: z19.number(),
2692
+ text: z19.string()
2616
2693
  })
2617
2694
  ).nullish()
2618
2695
  });
2619
- var codeInterpreterCallItem = z18.object({
2620
- type: z18.literal("code_interpreter_call"),
2621
- id: z18.string(),
2622
- code: z18.string().nullable(),
2623
- container_id: z18.string(),
2624
- outputs: z18.array(
2625
- z18.discriminatedUnion("type", [
2626
- z18.object({ type: z18.literal("logs"), logs: z18.string() }),
2627
- z18.object({ type: z18.literal("image"), url: z18.string() })
2696
+ var codeInterpreterCallItem = z19.object({
2697
+ type: z19.literal("code_interpreter_call"),
2698
+ id: z19.string(),
2699
+ code: z19.string().nullable(),
2700
+ container_id: z19.string(),
2701
+ outputs: z19.array(
2702
+ z19.discriminatedUnion("type", [
2703
+ z19.object({ type: z19.literal("logs"), logs: z19.string() }),
2704
+ z19.object({ type: z19.literal("image"), url: z19.string() })
2628
2705
  ])
2629
2706
  ).nullable()
2630
2707
  });
2631
- var imageGenerationCallItem = z18.object({
2632
- type: z18.literal("image_generation_call"),
2633
- id: z18.string(),
2634
- result: z18.string()
2708
+ var localShellCallItem = z19.object({
2709
+ type: z19.literal("local_shell_call"),
2710
+ id: z19.string(),
2711
+ call_id: z19.string(),
2712
+ action: z19.object({
2713
+ type: z19.literal("exec"),
2714
+ command: z19.array(z19.string()),
2715
+ timeout_ms: z19.number().optional(),
2716
+ user: z19.string().optional(),
2717
+ working_directory: z19.string().optional(),
2718
+ env: z19.record(z19.string(), z19.string()).optional()
2719
+ })
2720
+ });
2721
+ var imageGenerationCallItem = z19.object({
2722
+ type: z19.literal("image_generation_call"),
2723
+ id: z19.string(),
2724
+ result: z19.string()
2635
2725
  });
2636
2726
  var TOP_LOGPROBS_MAX = 20;
2637
- var LOGPROBS_SCHEMA = z18.array(
2638
- z18.object({
2639
- token: z18.string(),
2640
- logprob: z18.number(),
2641
- top_logprobs: z18.array(
2642
- z18.object({
2643
- token: z18.string(),
2644
- logprob: z18.number()
2727
+ var LOGPROBS_SCHEMA = z19.array(
2728
+ z19.object({
2729
+ token: z19.string(),
2730
+ logprob: z19.number(),
2731
+ top_logprobs: z19.array(
2732
+ z19.object({
2733
+ token: z19.string(),
2734
+ logprob: z19.number()
2645
2735
  })
2646
2736
  )
2647
2737
  })
2648
2738
  );
2649
2739
  var OpenAIResponsesLanguageModel = class {
2650
2740
  constructor(modelId, config) {
2651
- this.specificationVersion = "v2";
2741
+ this.specificationVersion = "v3";
2652
2742
  this.supportedUrls = {
2653
2743
  "image/*": [/^https?:\/\/.*$/],
2654
2744
  "application/pdf": [/^https?:\/\/.*$/]
@@ -2707,7 +2797,8 @@ var OpenAIResponsesLanguageModel = class {
2707
2797
  prompt,
2708
2798
  systemMessageMode: modelConfig.systemMessageMode,
2709
2799
  fileIdPrefixes: this.config.fileIdPrefixes,
2710
- store: (_a = openaiOptions == null ? void 0 : openaiOptions.store) != null ? _a : true
2800
+ store: (_a = openaiOptions == null ? void 0 : openaiOptions.store) != null ? _a : true,
2801
+ hasLocalShellTool: hasOpenAITool("openai.local_shell")
2711
2802
  });
2712
2803
  warnings.push(...inputWarnings);
2713
2804
  const strictJsonSchema = (_b = openaiOptions == null ? void 0 : openaiOptions.strictJsonSchema) != null ? _b : false;
@@ -2872,45 +2963,45 @@ var OpenAIResponsesLanguageModel = class {
2872
2963
  body,
2873
2964
  failedResponseHandler: openaiFailedResponseHandler,
2874
2965
  successfulResponseHandler: createJsonResponseHandler6(
2875
- z18.object({
2876
- id: z18.string(),
2877
- created_at: z18.number(),
2878
- error: z18.object({
2879
- code: z18.string(),
2880
- message: z18.string()
2966
+ z19.object({
2967
+ id: z19.string(),
2968
+ created_at: z19.number(),
2969
+ error: z19.object({
2970
+ code: z19.string(),
2971
+ message: z19.string()
2881
2972
  }).nullish(),
2882
- model: z18.string(),
2883
- output: z18.array(
2884
- z18.discriminatedUnion("type", [
2885
- z18.object({
2886
- type: z18.literal("message"),
2887
- role: z18.literal("assistant"),
2888
- id: z18.string(),
2889
- content: z18.array(
2890
- z18.object({
2891
- type: z18.literal("output_text"),
2892
- text: z18.string(),
2973
+ model: z19.string(),
2974
+ output: z19.array(
2975
+ z19.discriminatedUnion("type", [
2976
+ z19.object({
2977
+ type: z19.literal("message"),
2978
+ role: z19.literal("assistant"),
2979
+ id: z19.string(),
2980
+ content: z19.array(
2981
+ z19.object({
2982
+ type: z19.literal("output_text"),
2983
+ text: z19.string(),
2893
2984
  logprobs: LOGPROBS_SCHEMA.nullish(),
2894
- annotations: z18.array(
2895
- z18.discriminatedUnion("type", [
2896
- z18.object({
2897
- type: z18.literal("url_citation"),
2898
- start_index: z18.number(),
2899
- end_index: z18.number(),
2900
- url: z18.string(),
2901
- title: z18.string()
2985
+ annotations: z19.array(
2986
+ z19.discriminatedUnion("type", [
2987
+ z19.object({
2988
+ type: z19.literal("url_citation"),
2989
+ start_index: z19.number(),
2990
+ end_index: z19.number(),
2991
+ url: z19.string(),
2992
+ title: z19.string()
2902
2993
  }),
2903
- z18.object({
2904
- type: z18.literal("file_citation"),
2905
- file_id: z18.string(),
2906
- filename: z18.string().nullish(),
2907
- index: z18.number().nullish(),
2908
- start_index: z18.number().nullish(),
2909
- end_index: z18.number().nullish(),
2910
- quote: z18.string().nullish()
2994
+ z19.object({
2995
+ type: z19.literal("file_citation"),
2996
+ file_id: z19.string(),
2997
+ filename: z19.string().nullish(),
2998
+ index: z19.number().nullish(),
2999
+ start_index: z19.number().nullish(),
3000
+ end_index: z19.number().nullish(),
3001
+ quote: z19.string().nullish()
2911
3002
  }),
2912
- z18.object({
2913
- type: z18.literal("container_file_citation")
3003
+ z19.object({
3004
+ type: z19.literal("container_file_citation")
2914
3005
  })
2915
3006
  ])
2916
3007
  )
@@ -2921,33 +3012,34 @@ var OpenAIResponsesLanguageModel = class {
2921
3012
  fileSearchCallItem,
2922
3013
  codeInterpreterCallItem,
2923
3014
  imageGenerationCallItem,
2924
- z18.object({
2925
- type: z18.literal("function_call"),
2926
- call_id: z18.string(),
2927
- name: z18.string(),
2928
- arguments: z18.string(),
2929
- id: z18.string()
3015
+ localShellCallItem,
3016
+ z19.object({
3017
+ type: z19.literal("function_call"),
3018
+ call_id: z19.string(),
3019
+ name: z19.string(),
3020
+ arguments: z19.string(),
3021
+ id: z19.string()
2930
3022
  }),
2931
- z18.object({
2932
- type: z18.literal("computer_call"),
2933
- id: z18.string(),
2934
- status: z18.string().optional()
3023
+ z19.object({
3024
+ type: z19.literal("computer_call"),
3025
+ id: z19.string(),
3026
+ status: z19.string().optional()
2935
3027
  }),
2936
- z18.object({
2937
- type: z18.literal("reasoning"),
2938
- id: z18.string(),
2939
- encrypted_content: z18.string().nullish(),
2940
- summary: z18.array(
2941
- z18.object({
2942
- type: z18.literal("summary_text"),
2943
- text: z18.string()
3028
+ z19.object({
3029
+ type: z19.literal("reasoning"),
3030
+ id: z19.string(),
3031
+ encrypted_content: z19.string().nullish(),
3032
+ summary: z19.array(
3033
+ z19.object({
3034
+ type: z19.literal("summary_text"),
3035
+ text: z19.string()
2944
3036
  })
2945
3037
  )
2946
3038
  })
2947
3039
  ])
2948
3040
  ),
2949
- service_tier: z18.string().nullish(),
2950
- incomplete_details: z18.object({ reason: z18.string() }).nullable(),
3041
+ service_tier: z19.string().nullish(),
3042
+ incomplete_details: z19.object({ reason: z19.string() }).nullish(),
2951
3043
  usage: usageSchema2
2952
3044
  })
2953
3045
  ),
@@ -3007,6 +3099,20 @@ var OpenAIResponsesLanguageModel = class {
3007
3099
  });
3008
3100
  break;
3009
3101
  }
3102
+ case "local_shell_call": {
3103
+ content.push({
3104
+ type: "tool-call",
3105
+ toolCallId: part.call_id,
3106
+ toolName: "local_shell",
3107
+ input: JSON.stringify({ action: part.action }),
3108
+ providerMetadata: {
3109
+ openai: {
3110
+ itemId: part.id
3111
+ }
3112
+ }
3113
+ });
3114
+ break;
3115
+ }
3010
3116
  case "message": {
3011
3117
  for (const contentPart of part.content) {
3012
3118
  if (((_c = (_b = options.providerOptions) == null ? void 0 : _b.openai) == null ? void 0 : _c.logprobs) && contentPart.logprobs) {
@@ -3264,6 +3370,24 @@ var OpenAIResponsesLanguageModel = class {
3264
3370
  id: value.item.id,
3265
3371
  toolName: "computer_use"
3266
3372
  });
3373
+ } else if (value.item.type === "code_interpreter_call") {
3374
+ ongoingToolCalls[value.output_index] = {
3375
+ toolName: "code_interpreter",
3376
+ toolCallId: value.item.id,
3377
+ codeInterpreter: {
3378
+ containerId: value.item.container_id
3379
+ }
3380
+ };
3381
+ controller.enqueue({
3382
+ type: "tool-input-start",
3383
+ id: value.item.id,
3384
+ toolName: "code_interpreter"
3385
+ });
3386
+ controller.enqueue({
3387
+ type: "tool-input-delta",
3388
+ id: value.item.id,
3389
+ delta: `{"containerId":"${value.item.container_id}","code":"`
3390
+ });
3267
3391
  } else if (value.item.type === "file_search_call") {
3268
3392
  controller.enqueue({
3269
3393
  type: "tool-call",
@@ -3387,16 +3511,7 @@ var OpenAIResponsesLanguageModel = class {
3387
3511
  providerExecuted: true
3388
3512
  });
3389
3513
  } else if (value.item.type === "code_interpreter_call") {
3390
- controller.enqueue({
3391
- type: "tool-call",
3392
- toolCallId: value.item.id,
3393
- toolName: "code_interpreter",
3394
- input: JSON.stringify({
3395
- code: value.item.code,
3396
- containerId: value.item.container_id
3397
- }),
3398
- providerExecuted: true
3399
- });
3514
+ ongoingToolCalls[value.output_index] = void 0;
3400
3515
  controller.enqueue({
3401
3516
  type: "tool-result",
3402
3517
  toolCallId: value.item.id,
@@ -3416,6 +3531,26 @@ var OpenAIResponsesLanguageModel = class {
3416
3531
  },
3417
3532
  providerExecuted: true
3418
3533
  });
3534
+ } else if (value.item.type === "local_shell_call") {
3535
+ ongoingToolCalls[value.output_index] = void 0;
3536
+ controller.enqueue({
3537
+ type: "tool-call",
3538
+ toolCallId: value.item.call_id,
3539
+ toolName: "local_shell",
3540
+ input: JSON.stringify({
3541
+ action: {
3542
+ type: "exec",
3543
+ command: value.item.action.command,
3544
+ timeoutMs: value.item.action.timeout_ms,
3545
+ user: value.item.action.user,
3546
+ workingDirectory: value.item.action.working_directory,
3547
+ env: value.item.action.env
3548
+ }
3549
+ }),
3550
+ providerMetadata: {
3551
+ openai: { itemId: value.item.id }
3552
+ }
3553
+ });
3419
3554
  } else if (value.item.type === "message") {
3420
3555
  controller.enqueue({
3421
3556
  type: "text-end",
@@ -3446,6 +3581,40 @@ var OpenAIResponsesLanguageModel = class {
3446
3581
  delta: value.delta
3447
3582
  });
3448
3583
  }
3584
+ } else if (isResponseCodeInterpreterCallCodeDeltaChunk(value)) {
3585
+ const toolCall = ongoingToolCalls[value.output_index];
3586
+ if (toolCall != null) {
3587
+ controller.enqueue({
3588
+ type: "tool-input-delta",
3589
+ id: toolCall.toolCallId,
3590
+ // The delta is code, which is embedding in a JSON string.
3591
+ // To escape it, we use JSON.stringify and slice to remove the outer quotes.
3592
+ delta: JSON.stringify(value.delta).slice(1, -1)
3593
+ });
3594
+ }
3595
+ } else if (isResponseCodeInterpreterCallCodeDoneChunk(value)) {
3596
+ const toolCall = ongoingToolCalls[value.output_index];
3597
+ if (toolCall != null) {
3598
+ controller.enqueue({
3599
+ type: "tool-input-delta",
3600
+ id: toolCall.toolCallId,
3601
+ delta: '"}'
3602
+ });
3603
+ controller.enqueue({
3604
+ type: "tool-input-end",
3605
+ id: toolCall.toolCallId
3606
+ });
3607
+ controller.enqueue({
3608
+ type: "tool-call",
3609
+ toolCallId: toolCall.toolCallId,
3610
+ toolName: "code_interpreter",
3611
+ input: JSON.stringify({
3612
+ code: value.code,
3613
+ containerId: toolCall.codeInterpreter.containerId
3614
+ }),
3615
+ providerExecuted: true
3616
+ });
3617
+ }
3449
3618
  } else if (isResponseCreatedChunk(value)) {
3450
3619
  responseId = value.response.id;
3451
3620
  controller.enqueue({
@@ -3552,166 +3721,194 @@ var OpenAIResponsesLanguageModel = class {
3552
3721
  };
3553
3722
  }
3554
3723
  };
3555
- var usageSchema2 = z18.object({
3556
- input_tokens: z18.number(),
3557
- input_tokens_details: z18.object({ cached_tokens: z18.number().nullish() }).nullish(),
3558
- output_tokens: z18.number(),
3559
- output_tokens_details: z18.object({ reasoning_tokens: z18.number().nullish() }).nullish()
3724
+ var usageSchema2 = z19.object({
3725
+ input_tokens: z19.number(),
3726
+ input_tokens_details: z19.object({ cached_tokens: z19.number().nullish() }).nullish(),
3727
+ output_tokens: z19.number(),
3728
+ output_tokens_details: z19.object({ reasoning_tokens: z19.number().nullish() }).nullish()
3560
3729
  });
3561
- var textDeltaChunkSchema = z18.object({
3562
- type: z18.literal("response.output_text.delta"),
3563
- item_id: z18.string(),
3564
- delta: z18.string(),
3730
+ var textDeltaChunkSchema = z19.object({
3731
+ type: z19.literal("response.output_text.delta"),
3732
+ item_id: z19.string(),
3733
+ delta: z19.string(),
3565
3734
  logprobs: LOGPROBS_SCHEMA.nullish()
3566
3735
  });
3567
- var errorChunkSchema = z18.object({
3568
- type: z18.literal("error"),
3569
- code: z18.string(),
3570
- message: z18.string(),
3571
- param: z18.string().nullish(),
3572
- sequence_number: z18.number()
3736
+ var errorChunkSchema = z19.object({
3737
+ type: z19.literal("error"),
3738
+ code: z19.string(),
3739
+ message: z19.string(),
3740
+ param: z19.string().nullish(),
3741
+ sequence_number: z19.number()
3573
3742
  });
3574
- var responseFinishedChunkSchema = z18.object({
3575
- type: z18.enum(["response.completed", "response.incomplete"]),
3576
- response: z18.object({
3577
- incomplete_details: z18.object({ reason: z18.string() }).nullish(),
3743
+ var responseFinishedChunkSchema = z19.object({
3744
+ type: z19.enum(["response.completed", "response.incomplete"]),
3745
+ response: z19.object({
3746
+ incomplete_details: z19.object({ reason: z19.string() }).nullish(),
3578
3747
  usage: usageSchema2,
3579
- service_tier: z18.string().nullish()
3748
+ service_tier: z19.string().nullish()
3580
3749
  })
3581
3750
  });
3582
- var responseCreatedChunkSchema = z18.object({
3583
- type: z18.literal("response.created"),
3584
- response: z18.object({
3585
- id: z18.string(),
3586
- created_at: z18.number(),
3587
- model: z18.string(),
3588
- service_tier: z18.string().nullish()
3751
+ var responseCreatedChunkSchema = z19.object({
3752
+ type: z19.literal("response.created"),
3753
+ response: z19.object({
3754
+ id: z19.string(),
3755
+ created_at: z19.number(),
3756
+ model: z19.string(),
3757
+ service_tier: z19.string().nullish()
3589
3758
  })
3590
3759
  });
3591
- var responseOutputItemAddedSchema = z18.object({
3592
- type: z18.literal("response.output_item.added"),
3593
- output_index: z18.number(),
3594
- item: z18.discriminatedUnion("type", [
3595
- z18.object({
3596
- type: z18.literal("message"),
3597
- id: z18.string()
3760
+ var responseOutputItemAddedSchema = z19.object({
3761
+ type: z19.literal("response.output_item.added"),
3762
+ output_index: z19.number(),
3763
+ item: z19.discriminatedUnion("type", [
3764
+ z19.object({
3765
+ type: z19.literal("message"),
3766
+ id: z19.string()
3598
3767
  }),
3599
- z18.object({
3600
- type: z18.literal("reasoning"),
3601
- id: z18.string(),
3602
- encrypted_content: z18.string().nullish()
3768
+ z19.object({
3769
+ type: z19.literal("reasoning"),
3770
+ id: z19.string(),
3771
+ encrypted_content: z19.string().nullish()
3603
3772
  }),
3604
- z18.object({
3605
- type: z18.literal("function_call"),
3606
- id: z18.string(),
3607
- call_id: z18.string(),
3608
- name: z18.string(),
3609
- arguments: z18.string()
3773
+ z19.object({
3774
+ type: z19.literal("function_call"),
3775
+ id: z19.string(),
3776
+ call_id: z19.string(),
3777
+ name: z19.string(),
3778
+ arguments: z19.string()
3610
3779
  }),
3611
- z18.object({
3612
- type: z18.literal("web_search_call"),
3613
- id: z18.string(),
3614
- status: z18.string(),
3615
- action: z18.object({
3616
- type: z18.literal("search"),
3617
- query: z18.string().optional()
3780
+ z19.object({
3781
+ type: z19.literal("web_search_call"),
3782
+ id: z19.string(),
3783
+ status: z19.string(),
3784
+ action: z19.object({
3785
+ type: z19.literal("search"),
3786
+ query: z19.string().optional()
3618
3787
  }).nullish()
3619
3788
  }),
3620
- z18.object({
3621
- type: z18.literal("computer_call"),
3622
- id: z18.string(),
3623
- status: z18.string()
3789
+ z19.object({
3790
+ type: z19.literal("computer_call"),
3791
+ id: z19.string(),
3792
+ status: z19.string()
3624
3793
  }),
3625
- z18.object({
3626
- type: z18.literal("file_search_call"),
3627
- id: z18.string()
3794
+ z19.object({
3795
+ type: z19.literal("file_search_call"),
3796
+ id: z19.string()
3628
3797
  }),
3629
- z18.object({
3630
- type: z18.literal("image_generation_call"),
3631
- id: z18.string()
3798
+ z19.object({
3799
+ type: z19.literal("image_generation_call"),
3800
+ id: z19.string()
3801
+ }),
3802
+ z19.object({
3803
+ type: z19.literal("code_interpreter_call"),
3804
+ id: z19.string(),
3805
+ container_id: z19.string(),
3806
+ code: z19.string().nullable(),
3807
+ outputs: z19.array(
3808
+ z19.discriminatedUnion("type", [
3809
+ z19.object({ type: z19.literal("logs"), logs: z19.string() }),
3810
+ z19.object({ type: z19.literal("image"), url: z19.string() })
3811
+ ])
3812
+ ).nullable(),
3813
+ status: z19.string()
3632
3814
  })
3633
3815
  ])
3634
3816
  });
3635
- var responseOutputItemDoneSchema = z18.object({
3636
- type: z18.literal("response.output_item.done"),
3637
- output_index: z18.number(),
3638
- item: z18.discriminatedUnion("type", [
3639
- z18.object({
3640
- type: z18.literal("message"),
3641
- id: z18.string()
3817
+ var responseOutputItemDoneSchema = z19.object({
3818
+ type: z19.literal("response.output_item.done"),
3819
+ output_index: z19.number(),
3820
+ item: z19.discriminatedUnion("type", [
3821
+ z19.object({
3822
+ type: z19.literal("message"),
3823
+ id: z19.string()
3642
3824
  }),
3643
- z18.object({
3644
- type: z18.literal("reasoning"),
3645
- id: z18.string(),
3646
- encrypted_content: z18.string().nullish()
3825
+ z19.object({
3826
+ type: z19.literal("reasoning"),
3827
+ id: z19.string(),
3828
+ encrypted_content: z19.string().nullish()
3647
3829
  }),
3648
- z18.object({
3649
- type: z18.literal("function_call"),
3650
- id: z18.string(),
3651
- call_id: z18.string(),
3652
- name: z18.string(),
3653
- arguments: z18.string(),
3654
- status: z18.literal("completed")
3830
+ z19.object({
3831
+ type: z19.literal("function_call"),
3832
+ id: z19.string(),
3833
+ call_id: z19.string(),
3834
+ name: z19.string(),
3835
+ arguments: z19.string(),
3836
+ status: z19.literal("completed")
3655
3837
  }),
3656
3838
  codeInterpreterCallItem,
3657
3839
  imageGenerationCallItem,
3658
3840
  webSearchCallItem,
3659
3841
  fileSearchCallItem,
3660
- z18.object({
3661
- type: z18.literal("computer_call"),
3662
- id: z18.string(),
3663
- status: z18.literal("completed")
3842
+ localShellCallItem,
3843
+ z19.object({
3844
+ type: z19.literal("computer_call"),
3845
+ id: z19.string(),
3846
+ status: z19.literal("completed")
3664
3847
  })
3665
3848
  ])
3666
3849
  });
3667
- var responseFunctionCallArgumentsDeltaSchema = z18.object({
3668
- type: z18.literal("response.function_call_arguments.delta"),
3669
- item_id: z18.string(),
3670
- output_index: z18.number(),
3671
- delta: z18.string()
3850
+ var responseFunctionCallArgumentsDeltaSchema = z19.object({
3851
+ type: z19.literal("response.function_call_arguments.delta"),
3852
+ item_id: z19.string(),
3853
+ output_index: z19.number(),
3854
+ delta: z19.string()
3855
+ });
3856
+ var responseCodeInterpreterCallCodeDeltaSchema = z19.object({
3857
+ type: z19.literal("response.code_interpreter_call_code.delta"),
3858
+ item_id: z19.string(),
3859
+ output_index: z19.number(),
3860
+ delta: z19.string()
3861
+ });
3862
+ var responseCodeInterpreterCallCodeDoneSchema = z19.object({
3863
+ type: z19.literal("response.code_interpreter_call_code.done"),
3864
+ item_id: z19.string(),
3865
+ output_index: z19.number(),
3866
+ code: z19.string()
3672
3867
  });
3673
- var responseAnnotationAddedSchema = z18.object({
3674
- type: z18.literal("response.output_text.annotation.added"),
3675
- annotation: z18.discriminatedUnion("type", [
3676
- z18.object({
3677
- type: z18.literal("url_citation"),
3678
- url: z18.string(),
3679
- title: z18.string()
3868
+ var responseAnnotationAddedSchema = z19.object({
3869
+ type: z19.literal("response.output_text.annotation.added"),
3870
+ annotation: z19.discriminatedUnion("type", [
3871
+ z19.object({
3872
+ type: z19.literal("url_citation"),
3873
+ url: z19.string(),
3874
+ title: z19.string()
3680
3875
  }),
3681
- z18.object({
3682
- type: z18.literal("file_citation"),
3683
- file_id: z18.string(),
3684
- filename: z18.string().nullish(),
3685
- index: z18.number().nullish(),
3686
- start_index: z18.number().nullish(),
3687
- end_index: z18.number().nullish(),
3688
- quote: z18.string().nullish()
3876
+ z19.object({
3877
+ type: z19.literal("file_citation"),
3878
+ file_id: z19.string(),
3879
+ filename: z19.string().nullish(),
3880
+ index: z19.number().nullish(),
3881
+ start_index: z19.number().nullish(),
3882
+ end_index: z19.number().nullish(),
3883
+ quote: z19.string().nullish()
3689
3884
  })
3690
3885
  ])
3691
3886
  });
3692
- var responseReasoningSummaryPartAddedSchema = z18.object({
3693
- type: z18.literal("response.reasoning_summary_part.added"),
3694
- item_id: z18.string(),
3695
- summary_index: z18.number()
3887
+ var responseReasoningSummaryPartAddedSchema = z19.object({
3888
+ type: z19.literal("response.reasoning_summary_part.added"),
3889
+ item_id: z19.string(),
3890
+ summary_index: z19.number()
3696
3891
  });
3697
- var responseReasoningSummaryTextDeltaSchema = z18.object({
3698
- type: z18.literal("response.reasoning_summary_text.delta"),
3699
- item_id: z18.string(),
3700
- summary_index: z18.number(),
3701
- delta: z18.string()
3892
+ var responseReasoningSummaryTextDeltaSchema = z19.object({
3893
+ type: z19.literal("response.reasoning_summary_text.delta"),
3894
+ item_id: z19.string(),
3895
+ summary_index: z19.number(),
3896
+ delta: z19.string()
3702
3897
  });
3703
- var openaiResponsesChunkSchema = z18.union([
3898
+ var openaiResponsesChunkSchema = z19.union([
3704
3899
  textDeltaChunkSchema,
3705
3900
  responseFinishedChunkSchema,
3706
3901
  responseCreatedChunkSchema,
3707
3902
  responseOutputItemAddedSchema,
3708
3903
  responseOutputItemDoneSchema,
3709
3904
  responseFunctionCallArgumentsDeltaSchema,
3905
+ responseCodeInterpreterCallCodeDeltaSchema,
3906
+ responseCodeInterpreterCallCodeDoneSchema,
3710
3907
  responseAnnotationAddedSchema,
3711
3908
  responseReasoningSummaryPartAddedSchema,
3712
3909
  responseReasoningSummaryTextDeltaSchema,
3713
3910
  errorChunkSchema,
3714
- z18.object({ type: z18.string() }).loose()
3911
+ z19.object({ type: z19.string() }).loose()
3715
3912
  // fallback for unknown chunks
3716
3913
  ]);
3717
3914
  function isTextDeltaChunk(chunk) {
@@ -3732,6 +3929,12 @@ function isResponseCreatedChunk(chunk) {
3732
3929
  function isResponseFunctionCallArgumentsDeltaChunk(chunk) {
3733
3930
  return chunk.type === "response.function_call_arguments.delta";
3734
3931
  }
3932
+ function isResponseCodeInterpreterCallCodeDeltaChunk(chunk) {
3933
+ return chunk.type === "response.code_interpreter_call_code.delta";
3934
+ }
3935
+ function isResponseCodeInterpreterCallCodeDoneChunk(chunk) {
3936
+ return chunk.type === "response.code_interpreter_call_code.done";
3937
+ }
3735
3938
  function isResponseOutputItemAddedChunk(chunk) {
3736
3939
  return chunk.type === "response.output_item.added";
3737
3940
  }
@@ -3784,15 +3987,15 @@ function getResponsesModelConfig(modelId) {
3784
3987
  isReasoningModel: false
3785
3988
  };
3786
3989
  }
3787
- var openaiResponsesProviderOptionsSchema = z18.object({
3788
- include: z18.array(
3789
- z18.enum([
3990
+ var openaiResponsesProviderOptionsSchema = z19.object({
3991
+ include: z19.array(
3992
+ z19.enum([
3790
3993
  "reasoning.encrypted_content",
3791
3994
  "file_search_call.results",
3792
3995
  "message.output_text.logprobs"
3793
3996
  ])
3794
3997
  ).nullish(),
3795
- instructions: z18.string().nullish(),
3998
+ instructions: z19.string().nullish(),
3796
3999
  /**
3797
4000
  * Return the log probabilities of the tokens.
3798
4001
  *
@@ -3805,25 +4008,25 @@ var openaiResponsesProviderOptionsSchema = z18.object({
3805
4008
  * @see https://platform.openai.com/docs/api-reference/responses/create
3806
4009
  * @see https://cookbook.openai.com/examples/using_logprobs
3807
4010
  */
3808
- logprobs: z18.union([z18.boolean(), z18.number().min(1).max(TOP_LOGPROBS_MAX)]).optional(),
4011
+ logprobs: z19.union([z19.boolean(), z19.number().min(1).max(TOP_LOGPROBS_MAX)]).optional(),
3809
4012
  /**
3810
4013
  * The maximum number of total calls to built-in tools that can be processed in a response.
3811
4014
  * This maximum number applies across all built-in tool calls, not per individual tool.
3812
4015
  * Any further attempts to call a tool by the model will be ignored.
3813
4016
  */
3814
- maxToolCalls: z18.number().nullish(),
3815
- metadata: z18.any().nullish(),
3816
- parallelToolCalls: z18.boolean().nullish(),
3817
- previousResponseId: z18.string().nullish(),
3818
- promptCacheKey: z18.string().nullish(),
3819
- reasoningEffort: z18.string().nullish(),
3820
- reasoningSummary: z18.string().nullish(),
3821
- safetyIdentifier: z18.string().nullish(),
3822
- serviceTier: z18.enum(["auto", "flex", "priority"]).nullish(),
3823
- store: z18.boolean().nullish(),
3824
- strictJsonSchema: z18.boolean().nullish(),
3825
- textVerbosity: z18.enum(["low", "medium", "high"]).nullish(),
3826
- user: z18.string().nullish()
4017
+ maxToolCalls: z19.number().nullish(),
4018
+ metadata: z19.any().nullish(),
4019
+ parallelToolCalls: z19.boolean().nullish(),
4020
+ previousResponseId: z19.string().nullish(),
4021
+ promptCacheKey: z19.string().nullish(),
4022
+ reasoningEffort: z19.string().nullish(),
4023
+ reasoningSummary: z19.string().nullish(),
4024
+ safetyIdentifier: z19.string().nullish(),
4025
+ serviceTier: z19.enum(["auto", "flex", "priority"]).nullish(),
4026
+ store: z19.boolean().nullish(),
4027
+ strictJsonSchema: z19.boolean().nullish(),
4028
+ textVerbosity: z19.enum(["low", "medium", "high"]).nullish(),
4029
+ user: z19.string().nullish()
3827
4030
  });
3828
4031
  export {
3829
4032
  OpenAIChatLanguageModel,
@@ -3833,11 +4036,22 @@ export {
3833
4036
  OpenAIResponsesLanguageModel,
3834
4037
  OpenAISpeechModel,
3835
4038
  OpenAITranscriptionModel,
4039
+ codeInterpreter,
4040
+ codeInterpreterArgsSchema,
4041
+ codeInterpreterInputSchema,
4042
+ codeInterpreterOutputSchema,
4043
+ codeInterpreterToolFactory,
4044
+ fileSearch,
4045
+ fileSearchArgsSchema,
4046
+ fileSearchOutputSchema,
3836
4047
  hasDefaultResponseFormat,
4048
+ imageGeneration,
4049
+ imageGenerationArgsSchema,
4050
+ imageGenerationOutputSchema,
3837
4051
  modelMaxImagesPerCall,
3838
4052
  openAITranscriptionProviderOptions,
4053
+ openaiChatLanguageModelOptions,
3839
4054
  openaiCompletionProviderOptions,
3840
- openaiEmbeddingProviderOptions,
3841
- openaiProviderOptions
4055
+ openaiEmbeddingProviderOptions
3842
4056
  };
3843
4057
  //# sourceMappingURL=index.mjs.map