@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
@@ -2492,6 +2492,7 @@ async function convertToOpenAIResponsesInput({
2492
2492
  providerOptionsName,
2493
2493
  fileIdPrefixes,
2494
2494
  store,
2495
+ hasConversation = false,
2495
2496
  hasLocalShellTool = false,
2496
2497
  hasShellTool = false,
2497
2498
  hasApplyPatchTool = false
@@ -2578,6 +2579,9 @@ async function convertToOpenAIResponsesInput({
2578
2579
  switch (part.type) {
2579
2580
  case "text": {
2580
2581
  const id = (_b = (_a = part.providerOptions) == null ? void 0 : _a[providerOptionsName]) == null ? void 0 : _b.itemId;
2582
+ if (hasConversation && id != null) {
2583
+ break;
2584
+ }
2581
2585
  if (store && id != null) {
2582
2586
  input.push({ type: "item_reference", id });
2583
2587
  break;
@@ -2591,6 +2595,9 @@ async function convertToOpenAIResponsesInput({
2591
2595
  }
2592
2596
  case "tool-call": {
2593
2597
  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;
2598
+ if (hasConversation && id != null) {
2599
+ break;
2600
+ }
2594
2601
  if (part.providerExecuted) {
2595
2602
  if (store && id != null) {
2596
2603
  input.push({ type: "item_reference", id });
@@ -2642,6 +2649,20 @@ async function convertToOpenAIResponsesInput({
2642
2649
  });
2643
2650
  break;
2644
2651
  }
2652
+ if (hasApplyPatchTool && resolvedToolName === "apply_patch") {
2653
+ const parsedInput = await validateTypes({
2654
+ value: part.input,
2655
+ schema: applyPatchInputSchema
2656
+ });
2657
+ input.push({
2658
+ type: "apply_patch_call",
2659
+ call_id: parsedInput.callId,
2660
+ id,
2661
+ status: "completed",
2662
+ operation: parsedInput.operation
2663
+ });
2664
+ break;
2665
+ }
2645
2666
  input.push({
2646
2667
  type: "function_call",
2647
2668
  call_id: part.toolCallId,
@@ -2656,6 +2677,9 @@ async function convertToOpenAIResponsesInput({
2656
2677
  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") {
2657
2678
  break;
2658
2679
  }
2680
+ if (hasConversation) {
2681
+ break;
2682
+ }
2659
2683
  if (store) {
2660
2684
  const itemId = (_j = (_i = (_h = part.providerMetadata) == null ? void 0 : _h[providerOptionsName]) == null ? void 0 : _i.itemId) != null ? _j : part.toolCallId;
2661
2685
  input.push({ type: "item_reference", id: itemId });
@@ -2674,6 +2698,9 @@ async function convertToOpenAIResponsesInput({
2674
2698
  schema: openaiResponsesReasoningProviderOptionsSchema
2675
2699
  });
2676
2700
  const reasoningId = providerOptions == null ? void 0 : providerOptions.itemId;
2701
+ if (hasConversation && reasoningId != null) {
2702
+ break;
2703
+ }
2677
2704
  if (reasoningId != null) {
2678
2705
  const reasoningMessage = reasoningMessages[reasoningId];
2679
2706
  if (store) {
@@ -4400,6 +4427,7 @@ var OpenAIResponsesLanguageModel = class {
4400
4427
  providerOptionsName,
4401
4428
  fileIdPrefixes: this.config.fileIdPrefixes,
4402
4429
  store: (_c = openaiOptions == null ? void 0 : openaiOptions.store) != null ? _c : true,
4430
+ hasConversation: (openaiOptions == null ? void 0 : openaiOptions.conversation) != null,
4403
4431
  hasLocalShellTool: hasOpenAITool("openai.local_shell"),
4404
4432
  hasShellTool: hasOpenAITool("openai.shell"),
4405
4433
  hasApplyPatchTool: hasOpenAITool("openai.apply_patch")