@ai-sdk/openai 2.0.36 → 2.0.38

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.
@@ -1,4 +1,5 @@
1
1
  import { LanguageModelV2, EmbeddingModelV2, ImageModelV2, TranscriptionModelV2CallOptions, TranscriptionModelV2, SpeechModelV2 } from '@ai-sdk/provider';
2
+ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
2
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
3
4
  import { z } from 'zod/v4';
4
5
 
@@ -247,4 +248,214 @@ declare const openaiResponsesProviderOptionsSchema: z.ZodObject<{
247
248
  }, z.core.$strip>;
248
249
  type OpenAIResponsesProviderOptions = z.infer<typeof openaiResponsesProviderOptionsSchema>;
249
250
 
250
- export { OpenAIChatLanguageModel, type OpenAIChatLanguageModelOptions, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, type OpenAICompletionProviderOptions, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingProviderOptions, OpenAIImageModel, type OpenAIImageModelId, OpenAIResponsesLanguageModel, type OpenAIResponsesProviderOptions, type OpenAISpeechCallOptions, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionProviderOptions, hasDefaultResponseFormat, modelMaxImagesPerCall, openAITranscriptionProviderOptions, openaiChatLanguageModelOptions, openaiCompletionProviderOptions, openaiEmbeddingProviderOptions };
251
+ declare const codeInterpreterInputSchema: z.ZodObject<{
252
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
253
+ containerId: z.ZodString;
254
+ }, z.core.$strip>;
255
+ declare const codeInterpreterOutputSchema: z.ZodObject<{
256
+ outputs: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
257
+ type: z.ZodLiteral<"logs">;
258
+ logs: z.ZodString;
259
+ }, z.core.$strip>, z.ZodObject<{
260
+ type: z.ZodLiteral<"image">;
261
+ url: z.ZodString;
262
+ }, z.core.$strip>]>>>>;
263
+ }, z.core.$strip>;
264
+ declare const codeInterpreterArgsSchema: z.ZodObject<{
265
+ container: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
266
+ fileIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
267
+ }, z.core.$strip>]>>;
268
+ }, z.core.$strip>;
269
+ type CodeInterpreterArgs = {
270
+ /**
271
+ * The code interpreter container.
272
+ * Can be a container ID
273
+ * or an object that specifies uploaded file IDs to make available to your code.
274
+ */
275
+ container?: string | {
276
+ fileIds?: string[];
277
+ };
278
+ };
279
+ declare const codeInterpreterToolFactory: _ai_sdk_provider_utils.ProviderDefinedToolFactoryWithOutputSchema<{
280
+ /**
281
+ * The code to run, or null if not available.
282
+ */
283
+ code?: string | null;
284
+ /**
285
+ * The ID of the container used to run the code.
286
+ */
287
+ containerId: string;
288
+ }, {
289
+ /**
290
+ * The outputs generated by the code interpreter, such as logs or images.
291
+ * Can be null if no outputs are available.
292
+ */
293
+ outputs?: Array<{
294
+ type: "logs";
295
+ /**
296
+ * The logs output from the code interpreter.
297
+ */
298
+ logs: string;
299
+ } | {
300
+ type: "image";
301
+ /**
302
+ * The URL of the image output from the code interpreter.
303
+ */
304
+ url: string;
305
+ }> | null;
306
+ }, CodeInterpreterArgs>;
307
+ declare const codeInterpreter: (args?: CodeInterpreterArgs) => _ai_sdk_provider_utils.Tool<{
308
+ /**
309
+ * The code to run, or null if not available.
310
+ */
311
+ code?: string | null;
312
+ /**
313
+ * The ID of the container used to run the code.
314
+ */
315
+ containerId: string;
316
+ }, {
317
+ /**
318
+ * The outputs generated by the code interpreter, such as logs or images.
319
+ * Can be null if no outputs are available.
320
+ */
321
+ outputs?: Array<{
322
+ type: "logs";
323
+ /**
324
+ * The logs output from the code interpreter.
325
+ */
326
+ logs: string;
327
+ } | {
328
+ type: "image";
329
+ /**
330
+ * The URL of the image output from the code interpreter.
331
+ */
332
+ url: string;
333
+ }> | null;
334
+ }>;
335
+
336
+ /**
337
+ * A filter used to compare a specified attribute key to a given value using a defined comparison operation.
338
+ */
339
+ type OpenAIResponsesFileSearchToolComparisonFilter = {
340
+ /**
341
+ * The key to compare against the value.
342
+ */
343
+ key: string;
344
+ /**
345
+ * Specifies the comparison operator: eq, ne, gt, gte, lt, lte.
346
+ */
347
+ type: 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte';
348
+ /**
349
+ * The value to compare against the attribute key; supports string, number, or boolean types.
350
+ */
351
+ value: string | number | boolean;
352
+ };
353
+ /**
354
+ * Combine multiple filters using and or or.
355
+ */
356
+ type OpenAIResponsesFileSearchToolCompoundFilter = {
357
+ /**
358
+ * Type of operation: and or or.
359
+ */
360
+ type: 'and' | 'or';
361
+ /**
362
+ * Array of filters to combine. Items can be ComparisonFilter or CompoundFilter.
363
+ */
364
+ filters: Array<OpenAIResponsesFileSearchToolComparisonFilter | OpenAIResponsesFileSearchToolCompoundFilter>;
365
+ };
366
+
367
+ declare const fileSearchArgsSchema: z.ZodObject<{
368
+ vectorStoreIds: z.ZodArray<z.ZodString>;
369
+ maxNumResults: z.ZodOptional<z.ZodNumber>;
370
+ ranking: z.ZodOptional<z.ZodObject<{
371
+ ranker: z.ZodOptional<z.ZodString>;
372
+ scoreThreshold: z.ZodOptional<z.ZodNumber>;
373
+ }, z.core.$strip>>;
374
+ filters: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
375
+ key: z.ZodString;
376
+ type: z.ZodEnum<{
377
+ lt: "lt";
378
+ ne: "ne";
379
+ eq: "eq";
380
+ gt: "gt";
381
+ gte: "gte";
382
+ lte: "lte";
383
+ }>;
384
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
385
+ }, z.core.$strip>, z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>]>>;
386
+ }, z.core.$strip>;
387
+ declare const fileSearchOutputSchema: z.ZodObject<{
388
+ queries: z.ZodArray<z.ZodString>;
389
+ results: z.ZodNullable<z.ZodArray<z.ZodObject<{
390
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
391
+ fileId: z.ZodString;
392
+ filename: z.ZodString;
393
+ score: z.ZodNumber;
394
+ text: z.ZodString;
395
+ }, z.core.$strip>>>;
396
+ }, z.core.$strip>;
397
+ declare const fileSearch: _ai_sdk_provider_utils.ProviderDefinedToolFactoryWithOutputSchema<{}, {
398
+ /**
399
+ * The search query to execute.
400
+ */
401
+ queries: string[];
402
+ /**
403
+ * The results of the file search tool call.
404
+ */
405
+ results: null | {
406
+ /**
407
+ * Set of 16 key-value pairs that can be attached to an object.
408
+ * This can be useful for storing additional information about the object
409
+ * in a structured format, and querying for objects via API or the dashboard.
410
+ * Keys are strings with a maximum length of 64 characters.
411
+ * Values are strings with a maximum length of 512 characters, booleans, or numbers.
412
+ */
413
+ attributes: Record<string, unknown>;
414
+ /**
415
+ * The unique ID of the file.
416
+ */
417
+ fileId: string;
418
+ /**
419
+ * The name of the file.
420
+ */
421
+ filename: string;
422
+ /**
423
+ * The relevance score of the file - a value between 0 and 1.
424
+ */
425
+ score: number;
426
+ /**
427
+ * The text that was retrieved from the file.
428
+ */
429
+ text: string;
430
+ }[];
431
+ }, {
432
+ /**
433
+ * List of vector store IDs to search through.
434
+ */
435
+ vectorStoreIds: string[];
436
+ /**
437
+ * Maximum number of search results to return. Defaults to 10.
438
+ */
439
+ maxNumResults?: number;
440
+ /**
441
+ * Ranking options for the search.
442
+ */
443
+ ranking?: {
444
+ /**
445
+ * The ranker to use for the file search.
446
+ */
447
+ ranker?: string;
448
+ /**
449
+ * The score threshold for the file search, a number between 0 and 1.
450
+ * Numbers closer to 1 will attempt to return only the most relevant results,
451
+ * but may return fewer results.
452
+ */
453
+ scoreThreshold?: number;
454
+ };
455
+ /**
456
+ * A filter to apply.
457
+ */
458
+ filters?: OpenAIResponsesFileSearchToolComparisonFilter | OpenAIResponsesFileSearchToolCompoundFilter;
459
+ }>;
460
+
461
+ export { OpenAIChatLanguageModel, type OpenAIChatLanguageModelOptions, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, type OpenAICompletionProviderOptions, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingProviderOptions, OpenAIImageModel, type OpenAIImageModelId, OpenAIResponsesLanguageModel, type OpenAIResponsesProviderOptions, type OpenAISpeechCallOptions, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionProviderOptions, codeInterpreter, codeInterpreterArgsSchema, codeInterpreterInputSchema, codeInterpreterOutputSchema, codeInterpreterToolFactory, fileSearch, fileSearchArgsSchema, fileSearchOutputSchema, hasDefaultResponseFormat, modelMaxImagesPerCall, openAITranscriptionProviderOptions, openaiChatLanguageModelOptions, openaiCompletionProviderOptions, openaiEmbeddingProviderOptions };
@@ -1,4 +1,5 @@
1
1
  import { LanguageModelV2, EmbeddingModelV2, ImageModelV2, TranscriptionModelV2CallOptions, TranscriptionModelV2, SpeechModelV2 } from '@ai-sdk/provider';
2
+ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
2
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
3
4
  import { z } from 'zod/v4';
4
5
 
@@ -247,4 +248,214 @@ declare const openaiResponsesProviderOptionsSchema: z.ZodObject<{
247
248
  }, z.core.$strip>;
248
249
  type OpenAIResponsesProviderOptions = z.infer<typeof openaiResponsesProviderOptionsSchema>;
249
250
 
250
- export { OpenAIChatLanguageModel, type OpenAIChatLanguageModelOptions, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, type OpenAICompletionProviderOptions, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingProviderOptions, OpenAIImageModel, type OpenAIImageModelId, OpenAIResponsesLanguageModel, type OpenAIResponsesProviderOptions, type OpenAISpeechCallOptions, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionProviderOptions, hasDefaultResponseFormat, modelMaxImagesPerCall, openAITranscriptionProviderOptions, openaiChatLanguageModelOptions, openaiCompletionProviderOptions, openaiEmbeddingProviderOptions };
251
+ declare const codeInterpreterInputSchema: z.ZodObject<{
252
+ code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
253
+ containerId: z.ZodString;
254
+ }, z.core.$strip>;
255
+ declare const codeInterpreterOutputSchema: z.ZodObject<{
256
+ outputs: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
257
+ type: z.ZodLiteral<"logs">;
258
+ logs: z.ZodString;
259
+ }, z.core.$strip>, z.ZodObject<{
260
+ type: z.ZodLiteral<"image">;
261
+ url: z.ZodString;
262
+ }, z.core.$strip>]>>>>;
263
+ }, z.core.$strip>;
264
+ declare const codeInterpreterArgsSchema: z.ZodObject<{
265
+ container: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
266
+ fileIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
267
+ }, z.core.$strip>]>>;
268
+ }, z.core.$strip>;
269
+ type CodeInterpreterArgs = {
270
+ /**
271
+ * The code interpreter container.
272
+ * Can be a container ID
273
+ * or an object that specifies uploaded file IDs to make available to your code.
274
+ */
275
+ container?: string | {
276
+ fileIds?: string[];
277
+ };
278
+ };
279
+ declare const codeInterpreterToolFactory: _ai_sdk_provider_utils.ProviderDefinedToolFactoryWithOutputSchema<{
280
+ /**
281
+ * The code to run, or null if not available.
282
+ */
283
+ code?: string | null;
284
+ /**
285
+ * The ID of the container used to run the code.
286
+ */
287
+ containerId: string;
288
+ }, {
289
+ /**
290
+ * The outputs generated by the code interpreter, such as logs or images.
291
+ * Can be null if no outputs are available.
292
+ */
293
+ outputs?: Array<{
294
+ type: "logs";
295
+ /**
296
+ * The logs output from the code interpreter.
297
+ */
298
+ logs: string;
299
+ } | {
300
+ type: "image";
301
+ /**
302
+ * The URL of the image output from the code interpreter.
303
+ */
304
+ url: string;
305
+ }> | null;
306
+ }, CodeInterpreterArgs>;
307
+ declare const codeInterpreter: (args?: CodeInterpreterArgs) => _ai_sdk_provider_utils.Tool<{
308
+ /**
309
+ * The code to run, or null if not available.
310
+ */
311
+ code?: string | null;
312
+ /**
313
+ * The ID of the container used to run the code.
314
+ */
315
+ containerId: string;
316
+ }, {
317
+ /**
318
+ * The outputs generated by the code interpreter, such as logs or images.
319
+ * Can be null if no outputs are available.
320
+ */
321
+ outputs?: Array<{
322
+ type: "logs";
323
+ /**
324
+ * The logs output from the code interpreter.
325
+ */
326
+ logs: string;
327
+ } | {
328
+ type: "image";
329
+ /**
330
+ * The URL of the image output from the code interpreter.
331
+ */
332
+ url: string;
333
+ }> | null;
334
+ }>;
335
+
336
+ /**
337
+ * A filter used to compare a specified attribute key to a given value using a defined comparison operation.
338
+ */
339
+ type OpenAIResponsesFileSearchToolComparisonFilter = {
340
+ /**
341
+ * The key to compare against the value.
342
+ */
343
+ key: string;
344
+ /**
345
+ * Specifies the comparison operator: eq, ne, gt, gte, lt, lte.
346
+ */
347
+ type: 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte';
348
+ /**
349
+ * The value to compare against the attribute key; supports string, number, or boolean types.
350
+ */
351
+ value: string | number | boolean;
352
+ };
353
+ /**
354
+ * Combine multiple filters using and or or.
355
+ */
356
+ type OpenAIResponsesFileSearchToolCompoundFilter = {
357
+ /**
358
+ * Type of operation: and or or.
359
+ */
360
+ type: 'and' | 'or';
361
+ /**
362
+ * Array of filters to combine. Items can be ComparisonFilter or CompoundFilter.
363
+ */
364
+ filters: Array<OpenAIResponsesFileSearchToolComparisonFilter | OpenAIResponsesFileSearchToolCompoundFilter>;
365
+ };
366
+
367
+ declare const fileSearchArgsSchema: z.ZodObject<{
368
+ vectorStoreIds: z.ZodArray<z.ZodString>;
369
+ maxNumResults: z.ZodOptional<z.ZodNumber>;
370
+ ranking: z.ZodOptional<z.ZodObject<{
371
+ ranker: z.ZodOptional<z.ZodString>;
372
+ scoreThreshold: z.ZodOptional<z.ZodNumber>;
373
+ }, z.core.$strip>>;
374
+ filters: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
375
+ key: z.ZodString;
376
+ type: z.ZodEnum<{
377
+ lt: "lt";
378
+ ne: "ne";
379
+ eq: "eq";
380
+ gt: "gt";
381
+ gte: "gte";
382
+ lte: "lte";
383
+ }>;
384
+ value: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>;
385
+ }, z.core.$strip>, z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>]>>;
386
+ }, z.core.$strip>;
387
+ declare const fileSearchOutputSchema: z.ZodObject<{
388
+ queries: z.ZodArray<z.ZodString>;
389
+ results: z.ZodNullable<z.ZodArray<z.ZodObject<{
390
+ attributes: z.ZodRecord<z.ZodString, z.ZodUnknown>;
391
+ fileId: z.ZodString;
392
+ filename: z.ZodString;
393
+ score: z.ZodNumber;
394
+ text: z.ZodString;
395
+ }, z.core.$strip>>>;
396
+ }, z.core.$strip>;
397
+ declare const fileSearch: _ai_sdk_provider_utils.ProviderDefinedToolFactoryWithOutputSchema<{}, {
398
+ /**
399
+ * The search query to execute.
400
+ */
401
+ queries: string[];
402
+ /**
403
+ * The results of the file search tool call.
404
+ */
405
+ results: null | {
406
+ /**
407
+ * Set of 16 key-value pairs that can be attached to an object.
408
+ * This can be useful for storing additional information about the object
409
+ * in a structured format, and querying for objects via API or the dashboard.
410
+ * Keys are strings with a maximum length of 64 characters.
411
+ * Values are strings with a maximum length of 512 characters, booleans, or numbers.
412
+ */
413
+ attributes: Record<string, unknown>;
414
+ /**
415
+ * The unique ID of the file.
416
+ */
417
+ fileId: string;
418
+ /**
419
+ * The name of the file.
420
+ */
421
+ filename: string;
422
+ /**
423
+ * The relevance score of the file - a value between 0 and 1.
424
+ */
425
+ score: number;
426
+ /**
427
+ * The text that was retrieved from the file.
428
+ */
429
+ text: string;
430
+ }[];
431
+ }, {
432
+ /**
433
+ * List of vector store IDs to search through.
434
+ */
435
+ vectorStoreIds: string[];
436
+ /**
437
+ * Maximum number of search results to return. Defaults to 10.
438
+ */
439
+ maxNumResults?: number;
440
+ /**
441
+ * Ranking options for the search.
442
+ */
443
+ ranking?: {
444
+ /**
445
+ * The ranker to use for the file search.
446
+ */
447
+ ranker?: string;
448
+ /**
449
+ * The score threshold for the file search, a number between 0 and 1.
450
+ * Numbers closer to 1 will attempt to return only the most relevant results,
451
+ * but may return fewer results.
452
+ */
453
+ scoreThreshold?: number;
454
+ };
455
+ /**
456
+ * A filter to apply.
457
+ */
458
+ filters?: OpenAIResponsesFileSearchToolComparisonFilter | OpenAIResponsesFileSearchToolCompoundFilter;
459
+ }>;
460
+
461
+ export { OpenAIChatLanguageModel, type OpenAIChatLanguageModelOptions, type OpenAIChatModelId, OpenAICompletionLanguageModel, type OpenAICompletionModelId, type OpenAICompletionProviderOptions, OpenAIEmbeddingModel, type OpenAIEmbeddingModelId, type OpenAIEmbeddingProviderOptions, OpenAIImageModel, type OpenAIImageModelId, OpenAIResponsesLanguageModel, type OpenAIResponsesProviderOptions, type OpenAISpeechCallOptions, OpenAISpeechModel, type OpenAISpeechModelId, type OpenAITranscriptionCallOptions, OpenAITranscriptionModel, type OpenAITranscriptionModelId, type OpenAITranscriptionProviderOptions, codeInterpreter, codeInterpreterArgsSchema, codeInterpreterInputSchema, codeInterpreterOutputSchema, codeInterpreterToolFactory, fileSearch, fileSearchArgsSchema, fileSearchOutputSchema, hasDefaultResponseFormat, modelMaxImagesPerCall, openAITranscriptionProviderOptions, openaiChatLanguageModelOptions, openaiCompletionProviderOptions, openaiEmbeddingProviderOptions };
@@ -27,6 +27,14 @@ __export(internal_exports, {
27
27
  OpenAIResponsesLanguageModel: () => OpenAIResponsesLanguageModel,
28
28
  OpenAISpeechModel: () => OpenAISpeechModel,
29
29
  OpenAITranscriptionModel: () => OpenAITranscriptionModel,
30
+ codeInterpreter: () => codeInterpreter,
31
+ codeInterpreterArgsSchema: () => codeInterpreterArgsSchema,
32
+ codeInterpreterInputSchema: () => codeInterpreterInputSchema,
33
+ codeInterpreterOutputSchema: () => codeInterpreterOutputSchema,
34
+ codeInterpreterToolFactory: () => codeInterpreterToolFactory,
35
+ fileSearch: () => fileSearch,
36
+ fileSearchArgsSchema: () => fileSearchArgsSchema,
37
+ fileSearchOutputSchema: () => fileSearchOutputSchema,
30
38
  hasDefaultResponseFormat: () => hasDefaultResponseFormat,
31
39
  modelMaxImagesPerCall: () => modelMaxImagesPerCall,
32
40
  openAITranscriptionProviderOptions: () => openAITranscriptionProviderOptions,
@@ -2156,26 +2164,40 @@ async function convertToOpenAIResponsesInput({
2156
2164
  });
2157
2165
  const reasoningId = providerOptions == null ? void 0 : providerOptions.itemId;
2158
2166
  if (reasoningId != null) {
2159
- const existingReasoningMessage = reasoningMessages[reasoningId];
2160
- const summaryParts = [];
2161
- if (part.text.length > 0) {
2162
- summaryParts.push({ type: "summary_text", text: part.text });
2163
- } else if (existingReasoningMessage !== void 0) {
2164
- warnings.push({
2165
- type: "other",
2166
- message: `Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(part)}.`
2167
- });
2168
- }
2169
- if (existingReasoningMessage === void 0) {
2170
- reasoningMessages[reasoningId] = {
2171
- type: "reasoning",
2172
- id: reasoningId,
2173
- encrypted_content: providerOptions == null ? void 0 : providerOptions.reasoningEncryptedContent,
2174
- summary: summaryParts
2175
- };
2176
- input.push(reasoningMessages[reasoningId]);
2167
+ const reasoningMessage = reasoningMessages[reasoningId];
2168
+ if (store) {
2169
+ if (reasoningMessage === void 0) {
2170
+ input.push({ type: "item_reference", id: reasoningId });
2171
+ reasoningMessages[reasoningId] = {
2172
+ type: "reasoning",
2173
+ id: reasoningId,
2174
+ summary: []
2175
+ };
2176
+ }
2177
2177
  } else {
2178
- existingReasoningMessage.summary.push(...summaryParts);
2178
+ const summaryParts = [];
2179
+ if (part.text.length > 0) {
2180
+ summaryParts.push({
2181
+ type: "summary_text",
2182
+ text: part.text
2183
+ });
2184
+ } else if (reasoningMessage !== void 0) {
2185
+ warnings.push({
2186
+ type: "other",
2187
+ message: `Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(part)}.`
2188
+ });
2189
+ }
2190
+ if (reasoningMessage === void 0) {
2191
+ reasoningMessages[reasoningId] = {
2192
+ type: "reasoning",
2193
+ id: reasoningId,
2194
+ encrypted_content: providerOptions == null ? void 0 : providerOptions.reasoningEncryptedContent,
2195
+ summary: summaryParts
2196
+ };
2197
+ input.push(reasoningMessages[reasoningId]);
2198
+ } else {
2199
+ reasoningMessage.summary.push(...summaryParts);
2200
+ }
2179
2201
  }
2180
2202
  } else {
2181
2203
  warnings.push({
@@ -2275,6 +2297,9 @@ var codeInterpreterToolFactory = (0, import_provider_utils10.createProviderDefin
2275
2297
  inputSchema: codeInterpreterInputSchema,
2276
2298
  outputSchema: codeInterpreterOutputSchema
2277
2299
  });
2300
+ var codeInterpreter = (args = {}) => {
2301
+ return codeInterpreterToolFactory(args);
2302
+ };
2278
2303
 
2279
2304
  // src/tool/file-search.ts
2280
2305
  var import_provider_utils11 = require("@ai-sdk/provider-utils");
@@ -3812,6 +3837,14 @@ var openaiResponsesProviderOptionsSchema = import_v418.z.object({
3812
3837
  OpenAIResponsesLanguageModel,
3813
3838
  OpenAISpeechModel,
3814
3839
  OpenAITranscriptionModel,
3840
+ codeInterpreter,
3841
+ codeInterpreterArgsSchema,
3842
+ codeInterpreterInputSchema,
3843
+ codeInterpreterOutputSchema,
3844
+ codeInterpreterToolFactory,
3845
+ fileSearch,
3846
+ fileSearchArgsSchema,
3847
+ fileSearchOutputSchema,
3815
3848
  hasDefaultResponseFormat,
3816
3849
  modelMaxImagesPerCall,
3817
3850
  openAITranscriptionProviderOptions,