@ai-sdk/openai 1.0.17 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ai-sdk/openai
2
2
 
3
+ ## 1.0.19
4
+
5
+ ### Patch Changes
6
+
7
+ - 218d001: feat (provider): Add maxImagesPerCall setting to all image providers.
8
+
9
+ ## 1.0.18
10
+
11
+ ### Patch Changes
12
+
13
+ - fe816e4: fix (provider/openai): streamObject with o1
14
+
3
15
  ## 1.0.17
4
16
 
5
17
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -168,6 +168,13 @@ interface OpenAIEmbeddingSettings {
168
168
  }
169
169
 
170
170
  type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | (string & {});
171
+ interface OpenAIImageSettings {
172
+ /**
173
+ Override the maximum number of images per call (default is dependent on the
174
+ model, or 1 for an unknown model).
175
+ */
176
+ maxImagesPerCall?: number;
177
+ }
171
178
 
172
179
  interface OpenAIProvider extends ProviderV1 {
173
180
  (modelId: 'gpt-3.5-turbo-instruct', settings?: OpenAICompletionSettings): OpenAICompletionLanguageModel;
@@ -202,7 +209,7 @@ interface OpenAIProvider extends ProviderV1 {
202
209
  /**
203
210
  Creates a model for image generation.
204
211
  */
205
- image(modelId: OpenAIImageModelId): ImageModelV1;
212
+ image(modelId: OpenAIImageModelId, settings?: OpenAIImageSettings): ImageModelV1;
206
213
  }
207
214
  interface OpenAIProviderSettings {
208
215
  /**
package/dist/index.d.ts CHANGED
@@ -168,6 +168,13 @@ interface OpenAIEmbeddingSettings {
168
168
  }
169
169
 
170
170
  type OpenAIImageModelId = 'dall-e-3' | 'dall-e-2' | (string & {});
171
+ interface OpenAIImageSettings {
172
+ /**
173
+ Override the maximum number of images per call (default is dependent on the
174
+ model, or 1 for an unknown model).
175
+ */
176
+ maxImagesPerCall?: number;
177
+ }
171
178
 
172
179
  interface OpenAIProvider extends ProviderV1 {
173
180
  (modelId: 'gpt-3.5-turbo-instruct', settings?: OpenAICompletionSettings): OpenAICompletionLanguageModel;
@@ -202,7 +209,7 @@ interface OpenAIProvider extends ProviderV1 {
202
209
  /**
203
210
  Creates a model for image generation.
204
211
  */
205
- image(modelId: OpenAIImageModelId): ImageModelV1;
212
+ image(modelId: OpenAIImageModelId, settings?: OpenAIImageSettings): ImageModelV1;
206
213
  }
207
214
  interface OpenAIProviderSettings {
208
215
  /**
package/dist/index.js CHANGED
@@ -367,7 +367,7 @@ var OpenAIChatLanguageModel = class {
367
367
  }
368
368
  get supportsStructuredOutputs() {
369
369
  var _a;
370
- return (_a = this.settings.structuredOutputs) != null ? _a : false;
370
+ return (_a = this.settings.structuredOutputs) != null ? _a : isReasoningModel(this.modelId);
371
371
  }
372
372
  get defaultObjectGenerationMode() {
373
373
  if (isAudioModel(this.modelId)) {
@@ -686,6 +686,13 @@ var OpenAIChatLanguageModel = class {
686
686
  }
687
687
  if (result.toolCalls) {
688
688
  for (const toolCall of result.toolCalls) {
689
+ controller.enqueue({
690
+ type: "tool-call-delta",
691
+ toolCallType: "function",
692
+ toolCallId: toolCall.toolCallId,
693
+ toolName: toolCall.toolName,
694
+ argsTextDelta: toolCall.args
695
+ });
689
696
  controller.enqueue({
690
697
  type: "tool-call",
691
698
  ...toolCall
@@ -1503,19 +1510,24 @@ var openaiTextEmbeddingResponseSchema = import_zod4.z.object({
1503
1510
  // src/openai-image-model.ts
1504
1511
  var import_provider_utils6 = require("@ai-sdk/provider-utils");
1505
1512
  var import_zod5 = require("zod");
1513
+
1514
+ // src/openai-image-settings.ts
1506
1515
  var modelMaxImagesPerCall = {
1507
1516
  "dall-e-3": 1,
1508
1517
  "dall-e-2": 10
1509
1518
  };
1519
+
1520
+ // src/openai-image-model.ts
1510
1521
  var OpenAIImageModel = class {
1511
- constructor(modelId, config) {
1512
- this.specificationVersion = "v1";
1522
+ constructor(modelId, settings, config) {
1513
1523
  this.modelId = modelId;
1524
+ this.settings = settings;
1514
1525
  this.config = config;
1526
+ this.specificationVersion = "v1";
1515
1527
  }
1516
1528
  get maxImagesPerCall() {
1517
- var _a;
1518
- return (_a = modelMaxImagesPerCall[this.modelId]) != null ? _a : 1;
1529
+ var _a, _b;
1530
+ return (_b = (_a = this.settings.maxImagesPerCall) != null ? _a : modelMaxImagesPerCall[this.modelId]) != null ? _b : 1;
1519
1531
  }
1520
1532
  get provider() {
1521
1533
  return this.config.provider;
@@ -1609,7 +1621,7 @@ function createOpenAI(options = {}) {
1609
1621
  headers: getHeaders,
1610
1622
  fetch: options.fetch
1611
1623
  });
1612
- const createImageModel = (modelId) => new OpenAIImageModel(modelId, {
1624
+ const createImageModel = (modelId, settings = {}) => new OpenAIImageModel(modelId, settings, {
1613
1625
  provider: `${providerName}.image`,
1614
1626
  url: ({ path }) => `${baseURL}${path}`,
1615
1627
  headers: getHeaders,