@ai-sdk/openai 0.0.0-1c33ba03-20260114162300 → 0.0.0-4115c213-20260122152721

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 (69) hide show
  1. package/CHANGELOG.md +50 -3
  2. package/dist/index.d.mts +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +29 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.mjs +29 -1
  7. package/dist/index.mjs.map +1 -1
  8. package/dist/internal/index.d.mts +1 -1
  9. package/dist/internal/index.d.ts +1 -1
  10. package/dist/internal/index.js +28 -0
  11. package/dist/internal/index.js.map +1 -1
  12. package/dist/internal/index.mjs +28 -0
  13. package/dist/internal/index.mjs.map +1 -1
  14. package/docs/03-openai.mdx +2018 -0
  15. package/package.json +14 -5
  16. package/src/chat/convert-openai-chat-usage.ts +57 -0
  17. package/src/chat/convert-to-openai-chat-messages.ts +225 -0
  18. package/src/chat/get-response-metadata.ts +15 -0
  19. package/src/chat/map-openai-finish-reason.ts +19 -0
  20. package/src/chat/openai-chat-api.ts +198 -0
  21. package/src/chat/openai-chat-language-model.ts +700 -0
  22. package/src/chat/openai-chat-options.ts +186 -0
  23. package/src/chat/openai-chat-prepare-tools.ts +84 -0
  24. package/src/chat/openai-chat-prompt.ts +70 -0
  25. package/src/completion/convert-openai-completion-usage.ts +46 -0
  26. package/src/completion/convert-to-openai-completion-prompt.ts +93 -0
  27. package/src/completion/get-response-metadata.ts +15 -0
  28. package/src/completion/map-openai-finish-reason.ts +19 -0
  29. package/src/completion/openai-completion-api.ts +81 -0
  30. package/src/completion/openai-completion-language-model.ts +336 -0
  31. package/src/completion/openai-completion-options.ts +58 -0
  32. package/src/embedding/openai-embedding-api.ts +13 -0
  33. package/src/embedding/openai-embedding-model.ts +95 -0
  34. package/src/embedding/openai-embedding-options.ts +30 -0
  35. package/src/image/openai-image-api.ts +35 -0
  36. package/src/image/openai-image-model.ts +305 -0
  37. package/src/image/openai-image-options.ts +28 -0
  38. package/src/index.ts +9 -0
  39. package/src/internal/index.ts +19 -0
  40. package/src/openai-config.ts +18 -0
  41. package/src/openai-error.ts +22 -0
  42. package/src/openai-language-model-capabilities.ts +54 -0
  43. package/src/openai-provider.ts +270 -0
  44. package/src/openai-tools.ts +114 -0
  45. package/src/responses/convert-openai-responses-usage.ts +53 -0
  46. package/src/responses/convert-to-openai-responses-input.ts +597 -0
  47. package/src/responses/map-openai-responses-finish-reason.ts +22 -0
  48. package/src/responses/openai-responses-api.ts +1086 -0
  49. package/src/responses/openai-responses-language-model.ts +1932 -0
  50. package/src/responses/openai-responses-options.ts +312 -0
  51. package/src/responses/openai-responses-prepare-tools.ts +264 -0
  52. package/src/responses/openai-responses-provider-metadata.ts +39 -0
  53. package/src/speech/openai-speech-api.ts +38 -0
  54. package/src/speech/openai-speech-model.ts +137 -0
  55. package/src/speech/openai-speech-options.ts +22 -0
  56. package/src/tool/apply-patch.ts +141 -0
  57. package/src/tool/code-interpreter.ts +104 -0
  58. package/src/tool/file-search.ts +145 -0
  59. package/src/tool/image-generation.ts +126 -0
  60. package/src/tool/local-shell.ts +72 -0
  61. package/src/tool/mcp.ts +125 -0
  62. package/src/tool/shell.ts +85 -0
  63. package/src/tool/web-search-preview.ts +139 -0
  64. package/src/tool/web-search.ts +179 -0
  65. package/src/transcription/openai-transcription-api.ts +37 -0
  66. package/src/transcription/openai-transcription-model.ts +232 -0
  67. package/src/transcription/openai-transcription-options.ts +50 -0
  68. package/src/transcription/transcription-test.mp3 +0 -0
  69. package/src/version.ts +6 -0
package/dist/index.mjs CHANGED
@@ -2548,6 +2548,7 @@ async function convertToOpenAIResponsesInput({
2548
2548
  providerOptionsName,
2549
2549
  fileIdPrefixes,
2550
2550
  store,
2551
+ hasConversation = false,
2551
2552
  hasLocalShellTool = false,
2552
2553
  hasShellTool = false,
2553
2554
  hasApplyPatchTool = false
@@ -2634,6 +2635,9 @@ async function convertToOpenAIResponsesInput({
2634
2635
  switch (part.type) {
2635
2636
  case "text": {
2636
2637
  const id = (_b = (_a = part.providerOptions) == null ? void 0 : _a[providerOptionsName]) == null ? void 0 : _b.itemId;
2638
+ if (hasConversation && id != null) {
2639
+ break;
2640
+ }
2637
2641
  if (store && id != null) {
2638
2642
  input.push({ type: "item_reference", id });
2639
2643
  break;
@@ -2647,6 +2651,9 @@ async function convertToOpenAIResponsesInput({
2647
2651
  }
2648
2652
  case "tool-call": {
2649
2653
  const id = (_g = (_d = (_c = part.providerOptions) == null ? void 0 : _c[providerOptionsName]) == null ? void 0 : _d.itemId) != null ? _g : (_f = (_e = part.providerMetadata) == null ? void 0 : _e[providerOptionsName]) == null ? void 0 : _f.itemId;
2654
+ if (hasConversation && id != null) {
2655
+ break;
2656
+ }
2650
2657
  if (part.providerExecuted) {
2651
2658
  if (store && id != null) {
2652
2659
  input.push({ type: "item_reference", id });
@@ -2698,6 +2705,20 @@ async function convertToOpenAIResponsesInput({
2698
2705
  });
2699
2706
  break;
2700
2707
  }
2708
+ if (hasApplyPatchTool && resolvedToolName === "apply_patch") {
2709
+ const parsedInput = await validateTypes({
2710
+ value: part.input,
2711
+ schema: applyPatchInputSchema
2712
+ });
2713
+ input.push({
2714
+ type: "apply_patch_call",
2715
+ call_id: parsedInput.callId,
2716
+ id,
2717
+ status: "completed",
2718
+ operation: parsedInput.operation
2719
+ });
2720
+ break;
2721
+ }
2701
2722
  input.push({
2702
2723
  type: "function_call",
2703
2724
  call_id: part.toolCallId,
@@ -2712,6 +2733,9 @@ async function convertToOpenAIResponsesInput({
2712
2733
  if (part.output.type === "execution-denied" || part.output.type === "json" && typeof part.output.value === "object" && part.output.value != null && "type" in part.output.value && part.output.value.type === "execution-denied") {
2713
2734
  break;
2714
2735
  }
2736
+ if (hasConversation) {
2737
+ break;
2738
+ }
2715
2739
  if (store) {
2716
2740
  const itemId = (_j = (_i = (_h = part.providerMetadata) == null ? void 0 : _h[providerOptionsName]) == null ? void 0 : _i.itemId) != null ? _j : part.toolCallId;
2717
2741
  input.push({ type: "item_reference", id: itemId });
@@ -2730,6 +2754,9 @@ async function convertToOpenAIResponsesInput({
2730
2754
  schema: openaiResponsesReasoningProviderOptionsSchema
2731
2755
  });
2732
2756
  const reasoningId = providerOptions == null ? void 0 : providerOptions.itemId;
2757
+ if (hasConversation && reasoningId != null) {
2758
+ break;
2759
+ }
2733
2760
  if (reasoningId != null) {
2734
2761
  const reasoningMessage = reasoningMessages[reasoningId];
2735
2762
  if (store) {
@@ -4140,6 +4167,7 @@ var OpenAIResponsesLanguageModel = class {
4140
4167
  providerOptionsName,
4141
4168
  fileIdPrefixes: this.config.fileIdPrefixes,
4142
4169
  store: (_c = openaiOptions == null ? void 0 : openaiOptions.store) != null ? _c : true,
4170
+ hasConversation: (openaiOptions == null ? void 0 : openaiOptions.conversation) != null,
4143
4171
  hasLocalShellTool: hasOpenAITool("openai.local_shell"),
4144
4172
  hasShellTool: hasOpenAITool("openai.shell"),
4145
4173
  hasApplyPatchTool: hasOpenAITool("openai.apply_patch")
@@ -5842,7 +5870,7 @@ var OpenAITranscriptionModel = class {
5842
5870
  };
5843
5871
 
5844
5872
  // src/version.ts
5845
- var VERSION = true ? "0.0.0-1c33ba03-20260114162300" : "0.0.0-test";
5873
+ var VERSION = true ? "0.0.0-4115c213-20260122152721" : "0.0.0-test";
5846
5874
 
5847
5875
  // src/openai-provider.ts
5848
5876
  function createOpenAI(options = {}) {