@ai-sdk/openai 2.0.62 → 2.0.64

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
+ ## 2.0.64
4
+
5
+ ### Patch Changes
6
+
7
+ - d251e53: feat(openai): add `o3-deep-research` and `o4-mini-deep-research` models
8
+
9
+ ## 2.0.63
10
+
11
+ ### Patch Changes
12
+
13
+ - 3b62c49: fix(openai): extract meta data from first chunk that contains any
14
+
3
15
  ## 2.0.62
4
16
 
5
17
  ### Patch Changes
package/dist/index.js CHANGED
@@ -239,7 +239,7 @@ function getResponseMetadata({
239
239
  return {
240
240
  id: id != null ? id : void 0,
241
241
  modelId: model != null ? model : void 0,
242
- timestamp: created != null ? new Date(created * 1e3) : void 0
242
+ timestamp: created ? new Date(created * 1e3) : void 0
243
243
  };
244
244
  }
245
245
 
@@ -864,7 +864,7 @@ var OpenAIChatLanguageModel = class {
864
864
  outputTokens: void 0,
865
865
  totalTokens: void 0
866
866
  };
867
- let isFirstChunk = true;
867
+ let metadataExtracted = false;
868
868
  let isActiveText = false;
869
869
  const providerMetadata = { openai: {} };
870
870
  return {
@@ -889,12 +889,15 @@ var OpenAIChatLanguageModel = class {
889
889
  controller.enqueue({ type: "error", error: value.error });
890
890
  return;
891
891
  }
892
- if (isFirstChunk) {
893
- isFirstChunk = false;
894
- controller.enqueue({
895
- type: "response-metadata",
896
- ...getResponseMetadata(value)
897
- });
892
+ if (!metadataExtracted) {
893
+ const metadata = getResponseMetadata(value);
894
+ if (Object.values(metadata).some(Boolean)) {
895
+ metadataExtracted = true;
896
+ controller.enqueue({
897
+ type: "response-metadata",
898
+ ...getResponseMetadata(value)
899
+ });
900
+ }
898
901
  }
899
902
  if (value.usage != null) {
900
903
  usage.inputTokens = (_a = value.usage.prompt_tokens) != null ? _a : void 0;
@@ -2820,12 +2823,16 @@ var TOP_LOGPROBS_MAX = 20;
2820
2823
  var openaiResponsesReasoningModelIds = [
2821
2824
  "o1",
2822
2825
  "o1-2024-12-17",
2823
- "o3-mini",
2824
- "o3-mini-2025-01-31",
2825
2826
  "o3",
2826
2827
  "o3-2025-04-16",
2828
+ "o3-deep-research",
2829
+ "o3-deep-research-2025-06-26",
2830
+ "o3-mini",
2831
+ "o3-mini-2025-01-31",
2827
2832
  "o4-mini",
2828
2833
  "o4-mini-2025-04-16",
2834
+ "o4-mini-deep-research",
2835
+ "o4-mini-deep-research-2025-06-26",
2829
2836
  "codex-mini-latest",
2830
2837
  "computer-use-preview",
2831
2838
  "gpt-5",
@@ -4453,7 +4460,7 @@ var OpenAITranscriptionModel = class {
4453
4460
  };
4454
4461
 
4455
4462
  // src/version.ts
4456
- var VERSION = true ? "2.0.62" : "0.0.0-test";
4463
+ var VERSION = true ? "2.0.64" : "0.0.0-test";
4457
4464
 
4458
4465
  // src/openai-provider.ts
4459
4466
  function createOpenAI(options = {}) {