@langchain/openai 1.2.7 → 1.2.8

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 (220) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/azure/chat_models/common.cjs +9 -10
  3. package/dist/azure/chat_models/common.cjs.map +1 -1
  4. package/dist/azure/chat_models/common.d.cts +0 -1
  5. package/dist/azure/chat_models/common.d.cts.map +1 -1
  6. package/dist/azure/chat_models/common.d.ts +0 -1
  7. package/dist/azure/chat_models/common.d.ts.map +1 -1
  8. package/dist/azure/chat_models/common.js +1 -1
  9. package/dist/azure/chat_models/common.js.map +1 -1
  10. package/dist/azure/chat_models/completions.cjs.map +1 -1
  11. package/dist/azure/chat_models/completions.d.cts.map +1 -1
  12. package/dist/azure/chat_models/completions.d.ts.map +1 -1
  13. package/dist/azure/chat_models/completions.js.map +1 -1
  14. package/dist/azure/chat_models/index.cjs.map +1 -1
  15. package/dist/azure/chat_models/index.d.cts +0 -1
  16. package/dist/azure/chat_models/index.d.cts.map +1 -1
  17. package/dist/azure/chat_models/index.d.ts +0 -1
  18. package/dist/azure/chat_models/index.d.ts.map +1 -1
  19. package/dist/azure/chat_models/index.js.map +1 -1
  20. package/dist/azure/chat_models/responses.cjs.map +1 -1
  21. package/dist/azure/chat_models/responses.d.cts.map +1 -1
  22. package/dist/azure/chat_models/responses.d.ts.map +1 -1
  23. package/dist/azure/chat_models/responses.js.map +1 -1
  24. package/dist/azure/embeddings.cjs +10 -13
  25. package/dist/azure/embeddings.cjs.map +1 -1
  26. package/dist/azure/embeddings.d.cts +1 -2
  27. package/dist/azure/embeddings.d.cts.map +1 -1
  28. package/dist/azure/embeddings.d.ts +1 -2
  29. package/dist/azure/embeddings.d.ts.map +1 -1
  30. package/dist/azure/embeddings.js +3 -5
  31. package/dist/azure/embeddings.js.map +1 -1
  32. package/dist/azure/llms.cjs +9 -10
  33. package/dist/azure/llms.cjs.map +1 -1
  34. package/dist/azure/llms.d.cts +2 -2
  35. package/dist/azure/llms.d.cts.map +1 -1
  36. package/dist/azure/llms.d.ts +2 -2
  37. package/dist/azure/llms.d.ts.map +1 -1
  38. package/dist/azure/llms.js +3 -3
  39. package/dist/azure/llms.js.map +1 -1
  40. package/dist/chat_models/base.cjs +38 -45
  41. package/dist/chat_models/base.cjs.map +1 -1
  42. package/dist/chat_models/base.d.cts.map +1 -1
  43. package/dist/chat_models/base.d.ts.map +1 -1
  44. package/dist/chat_models/base.js +10 -16
  45. package/dist/chat_models/base.js.map +1 -1
  46. package/dist/chat_models/completions.cjs +9 -13
  47. package/dist/chat_models/completions.cjs.map +1 -1
  48. package/dist/chat_models/completions.d.cts.map +1 -1
  49. package/dist/chat_models/completions.d.ts.map +1 -1
  50. package/dist/chat_models/completions.js +3 -6
  51. package/dist/chat_models/completions.js.map +1 -1
  52. package/dist/chat_models/index.cjs.map +1 -1
  53. package/dist/chat_models/index.d.cts.map +1 -1
  54. package/dist/chat_models/index.d.ts.map +1 -1
  55. package/dist/chat_models/index.js.map +1 -1
  56. package/dist/chat_models/profiles.cjs +291 -94
  57. package/dist/chat_models/profiles.cjs.map +1 -1
  58. package/dist/chat_models/profiles.js +291 -94
  59. package/dist/chat_models/profiles.js.map +1 -1
  60. package/dist/chat_models/responses.cjs +4 -7
  61. package/dist/chat_models/responses.cjs.map +1 -1
  62. package/dist/chat_models/responses.d.cts.map +1 -1
  63. package/dist/chat_models/responses.d.ts.map +1 -1
  64. package/dist/chat_models/responses.js +2 -4
  65. package/dist/chat_models/responses.js.map +1 -1
  66. package/dist/converters/completions.cjs +36 -45
  67. package/dist/converters/completions.cjs.map +1 -1
  68. package/dist/converters/completions.d.cts +0 -1
  69. package/dist/converters/completions.d.cts.map +1 -1
  70. package/dist/converters/completions.d.ts +0 -1
  71. package/dist/converters/completions.d.ts.map +1 -1
  72. package/dist/converters/completions.js +14 -22
  73. package/dist/converters/completions.js.map +1 -1
  74. package/dist/converters/index.js +2 -0
  75. package/dist/converters/responses.cjs +39 -54
  76. package/dist/converters/responses.cjs.map +1 -1
  77. package/dist/converters/responses.d.cts.map +1 -1
  78. package/dist/converters/responses.d.ts.map +1 -1
  79. package/dist/converters/responses.js +31 -45
  80. package/dist/converters/responses.js.map +1 -1
  81. package/dist/embeddings.cjs +11 -15
  82. package/dist/embeddings.cjs.map +1 -1
  83. package/dist/embeddings.d.cts +1 -3
  84. package/dist/embeddings.d.cts.map +1 -1
  85. package/dist/embeddings.d.ts +1 -3
  86. package/dist/embeddings.d.ts.map +1 -1
  87. package/dist/embeddings.js +3 -6
  88. package/dist/embeddings.js.map +1 -1
  89. package/dist/index.cjs +2 -2
  90. package/dist/llms.cjs +27 -33
  91. package/dist/llms.cjs.map +1 -1
  92. package/dist/llms.d.cts +0 -1
  93. package/dist/llms.d.cts.map +1 -1
  94. package/dist/llms.d.ts +0 -1
  95. package/dist/llms.d.ts.map +1 -1
  96. package/dist/llms.js +15 -20
  97. package/dist/llms.js.map +1 -1
  98. package/dist/tools/applyPatch.cjs +3 -4
  99. package/dist/tools/applyPatch.cjs.map +1 -1
  100. package/dist/tools/applyPatch.d.cts +0 -1
  101. package/dist/tools/applyPatch.d.cts.map +1 -1
  102. package/dist/tools/applyPatch.d.ts +0 -1
  103. package/dist/tools/applyPatch.d.ts.map +1 -1
  104. package/dist/tools/applyPatch.js.map +1 -1
  105. package/dist/tools/codeInterpreter.cjs.map +1 -1
  106. package/dist/tools/codeInterpreter.d.cts +0 -1
  107. package/dist/tools/codeInterpreter.d.cts.map +1 -1
  108. package/dist/tools/codeInterpreter.d.ts +0 -1
  109. package/dist/tools/codeInterpreter.d.ts.map +1 -1
  110. package/dist/tools/codeInterpreter.js.map +1 -1
  111. package/dist/tools/computerUse.cjs +7 -13
  112. package/dist/tools/computerUse.cjs.map +1 -1
  113. package/dist/tools/computerUse.d.cts +0 -1
  114. package/dist/tools/computerUse.d.cts.map +1 -1
  115. package/dist/tools/computerUse.d.ts +0 -1
  116. package/dist/tools/computerUse.d.ts.map +1 -1
  117. package/dist/tools/computerUse.js +1 -6
  118. package/dist/tools/computerUse.js.map +1 -1
  119. package/dist/tools/custom.cjs +6 -7
  120. package/dist/tools/custom.cjs.map +1 -1
  121. package/dist/tools/custom.d.cts.map +1 -1
  122. package/dist/tools/custom.d.ts.map +1 -1
  123. package/dist/tools/custom.js.map +1 -1
  124. package/dist/tools/dalle.cjs +10 -16
  125. package/dist/tools/dalle.cjs.map +1 -1
  126. package/dist/tools/dalle.d.cts +0 -1
  127. package/dist/tools/dalle.d.cts.map +1 -1
  128. package/dist/tools/dalle.d.ts +0 -1
  129. package/dist/tools/dalle.d.ts.map +1 -1
  130. package/dist/tools/dalle.js +6 -11
  131. package/dist/tools/dalle.js.map +1 -1
  132. package/dist/tools/fileSearch.cjs.map +1 -1
  133. package/dist/tools/fileSearch.d.cts +0 -1
  134. package/dist/tools/fileSearch.d.cts.map +1 -1
  135. package/dist/tools/fileSearch.d.ts +0 -1
  136. package/dist/tools/fileSearch.d.ts.map +1 -1
  137. package/dist/tools/fileSearch.js.map +1 -1
  138. package/dist/tools/imageGeneration.cjs.map +1 -1
  139. package/dist/tools/imageGeneration.d.cts +0 -1
  140. package/dist/tools/imageGeneration.d.cts.map +1 -1
  141. package/dist/tools/imageGeneration.d.ts +0 -1
  142. package/dist/tools/imageGeneration.d.ts.map +1 -1
  143. package/dist/tools/imageGeneration.js.map +1 -1
  144. package/dist/tools/index.cjs.map +1 -1
  145. package/dist/tools/index.d.cts +0 -1
  146. package/dist/tools/index.d.cts.map +1 -1
  147. package/dist/tools/index.d.ts +0 -1
  148. package/dist/tools/index.d.ts.map +1 -1
  149. package/dist/tools/index.js.map +1 -1
  150. package/dist/tools/localShell.cjs +3 -4
  151. package/dist/tools/localShell.cjs.map +1 -1
  152. package/dist/tools/localShell.d.cts +0 -1
  153. package/dist/tools/localShell.d.cts.map +1 -1
  154. package/dist/tools/localShell.d.ts +0 -1
  155. package/dist/tools/localShell.d.ts.map +1 -1
  156. package/dist/tools/localShell.js.map +1 -1
  157. package/dist/tools/mcp.cjs.map +1 -1
  158. package/dist/tools/mcp.d.cts +0 -1
  159. package/dist/tools/mcp.d.cts.map +1 -1
  160. package/dist/tools/mcp.d.ts +0 -1
  161. package/dist/tools/mcp.d.ts.map +1 -1
  162. package/dist/tools/mcp.js.map +1 -1
  163. package/dist/tools/shell.cjs +3 -4
  164. package/dist/tools/shell.cjs.map +1 -1
  165. package/dist/tools/shell.d.cts +0 -1
  166. package/dist/tools/shell.d.cts.map +1 -1
  167. package/dist/tools/shell.d.ts +0 -1
  168. package/dist/tools/shell.d.ts.map +1 -1
  169. package/dist/tools/shell.js.map +1 -1
  170. package/dist/tools/webSearch.cjs.map +1 -1
  171. package/dist/tools/webSearch.d.cts +0 -1
  172. package/dist/tools/webSearch.d.cts.map +1 -1
  173. package/dist/tools/webSearch.d.ts +0 -1
  174. package/dist/tools/webSearch.d.ts.map +1 -1
  175. package/dist/tools/webSearch.js.map +1 -1
  176. package/dist/types.d.cts +0 -1
  177. package/dist/types.d.cts.map +1 -1
  178. package/dist/types.d.ts +0 -1
  179. package/dist/types.d.ts.map +1 -1
  180. package/dist/utils/azure.cjs +2 -3
  181. package/dist/utils/azure.cjs.map +1 -1
  182. package/dist/utils/azure.d.cts.map +1 -1
  183. package/dist/utils/azure.d.ts.map +1 -1
  184. package/dist/utils/azure.js.map +1 -1
  185. package/dist/utils/client.cjs +9 -3
  186. package/dist/utils/client.cjs.map +1 -1
  187. package/dist/utils/client.d.cts.map +1 -1
  188. package/dist/utils/client.d.ts.map +1 -1
  189. package/dist/utils/client.js +8 -1
  190. package/dist/utils/client.js.map +1 -1
  191. package/dist/utils/errors.cjs.map +1 -1
  192. package/dist/utils/errors.js.map +1 -1
  193. package/dist/utils/misc.cjs +2 -3
  194. package/dist/utils/misc.cjs.map +1 -1
  195. package/dist/utils/misc.d.cts +0 -1
  196. package/dist/utils/misc.d.cts.map +1 -1
  197. package/dist/utils/misc.d.ts +0 -1
  198. package/dist/utils/misc.d.ts.map +1 -1
  199. package/dist/utils/misc.js.map +1 -1
  200. package/dist/utils/output.cjs +7 -8
  201. package/dist/utils/output.cjs.map +1 -1
  202. package/dist/utils/output.js.map +1 -1
  203. package/dist/utils/prompts.cjs +1 -2
  204. package/dist/utils/prompts.cjs.map +1 -1
  205. package/dist/utils/prompts.d.cts +0 -1
  206. package/dist/utils/prompts.d.cts.map +1 -1
  207. package/dist/utils/prompts.d.ts +0 -1
  208. package/dist/utils/prompts.d.ts.map +1 -1
  209. package/dist/utils/prompts.js +1 -2
  210. package/dist/utils/prompts.js.map +1 -1
  211. package/dist/utils/tools.cjs +9 -12
  212. package/dist/utils/tools.cjs.map +1 -1
  213. package/dist/utils/tools.d.cts +0 -1
  214. package/dist/utils/tools.d.cts.map +1 -1
  215. package/dist/utils/tools.d.ts +0 -1
  216. package/dist/utils/tools.d.ts.map +1 -1
  217. package/dist/utils/tools.js +5 -7
  218. package/dist/utils/tools.js.map +1 -1
  219. package/package.json +4 -4
  220. package/dist/_virtual/rolldown_runtime.cjs +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","names":["PROFILES: Record<string, ModelProfile>"],"sources":["../../src/chat_models/profiles.ts"],"sourcesContent":["/**\n * This file was automatically generated by an automated script. Do not edit manually.\n */\nimport type { ModelProfile } from \"@langchain/core/language_models/profile\";\nconst PROFILES: Record<string, ModelProfile> = {\n \"gpt-4.1-nano\": {\n maxInputTokens: 1047576,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"text-embedding-3-small\": {\n maxInputTokens: 8191,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 1536,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4\": {\n maxInputTokens: 8192,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 8192,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o1-pro\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o-2024-05-13\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 4096,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o-2024-08-06\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4.1-mini\": {\n maxInputTokens: 1047576,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o3-deep-research\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-3.5-turbo\": {\n maxInputTokens: 16385,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: false,\n videoInputs: false,\n maxOutputTokens: 4096,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: false,\n imageUrlInputs: false,\n pdfToolMessage: false,\n imageToolMessage: false,\n toolChoice: true,\n },\n \"text-embedding-3-large\": {\n maxInputTokens: 8191,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 3072,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4-turbo\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 4096,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o1-preview\": {\n maxInputTokens: 128000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o3-mini\": {\n maxInputTokens: 200000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"codex-mini-latest\": {\n maxInputTokens: 200000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-nano\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-codex\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4.1\": {\n maxInputTokens: 1047576,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o4-mini\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n o1: {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-mini\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o1-mini\": {\n maxInputTokens: 128000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 65536,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"text-embedding-ada-002\": {\n maxInputTokens: 8192,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 1536,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o3-pro\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o-2024-11-20\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n o3: {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o4-mini-deep-research\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-chat-latest\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o-mini\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-pro\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 272000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n};\nexport default PROFILES;\n"],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","names":[],"sources":["../../src/chat_models/profiles.ts"],"sourcesContent":["/**\n * This file was automatically generated by an automated script. Do not edit manually.\n */\nimport type { ModelProfile } from \"@langchain/core/language_models/profile\";\nconst PROFILES: Record<string, ModelProfile> = {\n \"gpt-4o-2024-11-20\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.3-codex\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-codex\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-pro\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 272000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o-mini\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"text-embedding-ada-002\": {\n maxInputTokens: 8192,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 1536,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-chat-latest\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"codex-mini-latest\": {\n maxInputTokens: 200000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.1-codex-max\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o-2024-05-13\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 4096,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.2-chat-latest\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.2-codex\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o3-deep-research\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n o1: {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.1\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o4-mini-deep-research\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.3-codex-spark\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n o3: {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"text-embedding-3-small\": {\n maxInputTokens: 8191,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 1536,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4.1-nano\": {\n maxInputTokens: 1047576,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"text-embedding-3-large\": {\n maxInputTokens: 8191,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 3072,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-3.5-turbo\": {\n maxInputTokens: 16385,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: false,\n videoInputs: false,\n maxOutputTokens: 4096,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: false,\n imageUrlInputs: false,\n pdfToolMessage: false,\n imageToolMessage: false,\n toolChoice: true,\n },\n \"gpt-5.1-codex-mini\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.2\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4.1\": {\n maxInputTokens: 1047576,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o3-pro\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4-turbo\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 4096,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o4-mini\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4.1-mini\": {\n maxInputTokens: 1047576,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o1-preview\": {\n maxInputTokens: 128000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 32768,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o1-pro\": {\n maxInputTokens: 200000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.1-codex\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.2-pro\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o3-mini\": {\n maxInputTokens: 200000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 100000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o-2024-08-06\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-mini\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5.1-chat-latest\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4\": {\n maxInputTokens: 8192,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 8192,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-5-nano\": {\n maxInputTokens: 400000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 128000,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"o1-mini\": {\n maxInputTokens: 128000,\n imageInputs: false,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 65536,\n reasoningOutput: true,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: false,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n \"gpt-4o\": {\n maxInputTokens: 128000,\n imageInputs: true,\n audioInputs: false,\n pdfInputs: true,\n videoInputs: false,\n maxOutputTokens: 16384,\n reasoningOutput: false,\n imageOutputs: false,\n audioOutputs: false,\n videoOutputs: false,\n toolCalling: true,\n structuredOutput: true,\n imageUrlInputs: true,\n pdfToolMessage: true,\n imageToolMessage: true,\n toolChoice: true,\n },\n};\nexport default PROFILES;\n"],"mappings":"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iB;EACjB,iBAAiB;EACjB,cAAc;EACd,cAAc;EACd,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACb;CACD,uBAAuB;EACrB,gBAAgB;EAChB,aAAa;EACb,aAAa;EACb,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,cAAc;EACd,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACb;CACD,SAAS;EACP,gBAAgB;EAChB,aAAa;EACb,aAAa;EACb,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,cAAc;EACd,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACb;CACD,cAAc;EACZ,gBAAgB;EAChB,aAAa;EACb,aAAa;EACb,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,cAAc;EACd,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACb;CACD,WAAW;EACT,gBAAgB;EAChB,aAAa;EACb,aAAa;EACb,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,cAAc;EACd,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACb;CACD,UAAU;EACR,gBAAgB;EAChB,aAAa;EACb,aAAa;EACb,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;EACd,cAAc;EACd,cAAc;EACd,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACb;CACF"}
@@ -1,9 +1,8 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
1
  const require_client = require('../utils/client.cjs');
3
2
  const require_tools = require('../utils/tools.cjs');
4
3
  const require_base = require('./base.cjs');
5
4
  const require_responses = require('../converters/responses.cjs');
6
- const __langchain_core_language_models_base = require_rolldown_runtime.__toESM(require("@langchain/core/language_models/base"));
5
+ let _langchain_core_language_models_base = require("@langchain/core/language_models/base");
7
6
 
8
7
  //#region src/chat_models/responses.ts
9
8
  /**
@@ -49,7 +48,6 @@ var ChatOpenAIResponses = class extends require_base.BaseChatOpenAI {
49
48
  name: formatted.custom.name
50
49
  };
51
50
  }
52
- return void 0;
53
51
  })(),
54
52
  text: (() => {
55
53
  if (options?.text) return options.text;
@@ -65,7 +63,7 @@ var ChatOpenAIResponses = class extends require_base.BaseChatOpenAI {
65
63
  },
66
64
  verbosity: options?.verbosity
67
65
  };
68
- return void 0;
66
+ return;
69
67
  }
70
68
  return {
71
69
  format,
@@ -157,8 +155,7 @@ var ChatOpenAIResponses = class extends require_base.BaseChatOpenAI {
157
155
  if (request.text?.format?.type === "json_schema" && !request.stream) return await this.client.responses.parse(request, clientOptions);
158
156
  return await this.client.responses.create(request, clientOptions);
159
157
  } catch (e) {
160
- const error = require_client.wrapOpenAIClientError(e);
161
- throw error;
158
+ throw require_client.wrapOpenAIClientError(e);
162
159
  }
163
160
  });
164
161
  }
@@ -176,7 +173,7 @@ var ChatOpenAIResponses = class extends require_base.BaseChatOpenAI {
176
173
  description: customToolData.description,
177
174
  format: customToolData.format
178
175
  });
179
- } else if ((0, __langchain_core_language_models_base.isOpenAITool)(tool)) reducedTools.push({
176
+ } else if ((0, _langchain_core_language_models_base.isOpenAITool)(tool)) reducedTools.push({
180
177
  type: "function",
181
178
  name: tool.function.name,
182
179
  parameters: tool.function.parameters,
@@ -1 +1 @@
1
- {"version":3,"file":"responses.cjs","names":["BaseChatOpenAI","options?: this[\"ParsedCallOptions\"]","strict: boolean | undefined","params: ChatResponsesInvocationParams","isBuiltInToolChoice","formatToOpenAIToolChoice","messages: BaseMessage[]","options: this[\"ParsedCallOptions\"]","runManager?: CallbackManagerForLLMRun","finalChunk: ChatGenerationChunk | undefined","convertMessagesToResponsesInput","convertResponsesMessageToAIMessage","convertResponsesDeltaToChatGenerationChunk","request: OpenAIClient.Responses.ResponseCreateParams","requestOptions?: OpenAIClient.RequestOptions","wrapOpenAIClientError","tools: ChatOpenAIToolType[]","fields: { stream?: boolean; strict?: boolean }","reducedTools: ResponsesTool[]","isBuiltInTool","isCustomTool","isOpenAICustomTool","convertCompletionsCustomTool"],"sources":["../../src/chat_models/responses.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { AIMessage, type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { isOpenAITool as isOpenAIFunctionTool } from \"@langchain/core/language_models/base\";\nimport { wrapOpenAIClientError } from \"../utils/client.js\";\nimport {\n ChatOpenAIToolType,\n convertCompletionsCustomTool,\n formatToOpenAIToolChoice,\n isBuiltInTool,\n isBuiltInToolChoice,\n isCustomTool,\n isOpenAICustomTool,\n ResponsesTool,\n} from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport {\n convertMessagesToResponsesInput,\n convertResponsesDeltaToChatGenerationChunk,\n convertResponsesMessageToAIMessage,\n} from \"../converters/responses.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\n\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\n\nexport type ChatResponsesInvocationParams = Omit<\n OpenAIClient.Responses.ResponseCreateParams,\n \"input\"\n>;\n\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport class ChatOpenAIResponses<\n CallOptions extends ChatOpenAIResponsesCallOptions =\n ChatOpenAIResponsesCallOptions,\n> extends BaseChatOpenAI<CallOptions> {\n override invocationParams(\n options?: this[\"ParsedCallOptions\"]\n ): ChatResponsesInvocationParams {\n let strict: boolean | undefined;\n if (options?.strict !== undefined) {\n strict = options.strict;\n }\n if (strict === undefined && this.supportsStrictToolCalling !== undefined) {\n strict = this.supportsStrictToolCalling;\n }\n\n const params: ChatResponsesInvocationParams = {\n model: this.model,\n temperature: this.temperature,\n top_p: this.topP,\n user: this.user,\n service_tier: this.service_tier,\n\n // if include_usage is set or streamUsage then stream must be set to true.\n stream: this.streaming,\n previous_response_id: options?.previous_response_id,\n truncation: options?.truncation,\n include: options?.include,\n tools: options?.tools?.length\n ? this._reduceChatOpenAITools(options.tools, {\n stream: this.streaming,\n strict,\n })\n : undefined,\n tool_choice: isBuiltInToolChoice(options?.tool_choice)\n ? options?.tool_choice\n : (() => {\n const formatted = formatToOpenAIToolChoice(options?.tool_choice);\n if (typeof formatted === \"object\" && \"type\" in formatted) {\n if (formatted.type === \"function\") {\n return { type: \"function\", name: formatted.function.name };\n } else if (formatted.type === \"allowed_tools\") {\n return {\n type: \"allowed_tools\",\n mode: formatted.allowed_tools.mode,\n tools: formatted.allowed_tools.tools,\n };\n } else if (formatted.type === \"custom\") {\n return {\n type: \"custom\",\n name: formatted.custom.name,\n };\n }\n }\n return undefined;\n })(),\n text: (() => {\n if (options?.text) return options.text;\n const format = this._getResponseFormat(options?.response_format);\n if (format?.type === \"json_schema\") {\n if (format.json_schema.schema != null) {\n return {\n format: {\n type: \"json_schema\",\n schema: format.json_schema.schema,\n description: format.json_schema.description,\n name: format.json_schema.name,\n strict: format.json_schema.strict,\n },\n verbosity: options?.verbosity,\n };\n }\n return undefined;\n }\n return { format, verbosity: options?.verbosity };\n })(),\n parallel_tool_calls: options?.parallel_tool_calls,\n max_output_tokens: this.maxTokens === -1 ? undefined : this.maxTokens,\n prompt_cache_key: options?.promptCacheKey ?? this.promptCacheKey,\n prompt_cache_retention:\n options?.promptCacheRetention ?? this.promptCacheRetention,\n ...(this.zdrEnabled ? { store: false } : {}),\n ...this.modelKwargs,\n };\n\n const reasoning = this._getReasoningParams(options);\n\n if (reasoning !== undefined) {\n params.reasoning = reasoning;\n }\n\n return params;\n }\n\n async _generate(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): Promise<ChatResult> {\n options.signal?.throwIfAborted();\n const invocationParams = this.invocationParams(options);\n if (invocationParams.stream) {\n const stream = this._streamResponseChunks(messages, options, runManager);\n let finalChunk: ChatGenerationChunk | undefined;\n for await (const chunk of stream) {\n chunk.message.response_metadata = {\n ...chunk.generationInfo,\n ...chunk.message.response_metadata,\n };\n finalChunk = finalChunk?.concat(chunk) ?? chunk;\n }\n\n return {\n generations: finalChunk ? [finalChunk] : [],\n llmOutput: {\n estimatedTokenUsage: (finalChunk?.message as AIMessage | undefined)\n ?.usage_metadata,\n },\n };\n } else {\n const data = await this.completionWithRetry(\n {\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n ...invocationParams,\n stream: false,\n },\n { signal: options?.signal, ...options?.options }\n );\n\n return {\n generations: [\n {\n text: data.output_text,\n message: convertResponsesMessageToAIMessage(data),\n },\n ],\n llmOutput: {\n id: data.id,\n estimatedTokenUsage: data.usage\n ? {\n promptTokens: data.usage.input_tokens,\n completionTokens: data.usage.output_tokens,\n totalTokens: data.usage.total_tokens,\n }\n : undefined,\n },\n };\n }\n }\n\n async *_streamResponseChunks(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatGenerationChunk> {\n const streamIterable = await this.completionWithRetry(\n {\n ...this.invocationParams(options),\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n stream: true,\n },\n options\n );\n\n for await (const data of streamIterable) {\n if (options.signal?.aborted) {\n return;\n }\n const chunk = convertResponsesDeltaToChatGenerationChunk(data);\n if (chunk == null) continue;\n yield chunk;\n await runManager?.handleLLMNewToken(\n chunk.text || \"\",\n {\n prompt: options.promptIndex ?? 0,\n completion: 0,\n },\n undefined,\n undefined,\n undefined,\n { chunk }\n );\n }\n }\n\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<OpenAIClient.Responses.Response>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParams,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<\n | AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>\n | OpenAIClient.Responses.Response\n > {\n return this.caller.call(async () => {\n const clientOptions = this._getClientOptions(requestOptions);\n try {\n // use parse if dealing with json_schema\n if (request.text?.format?.type === \"json_schema\" && !request.stream) {\n return await this.client.responses.parse(request, clientOptions);\n }\n return await this.client.responses.create(request, clientOptions);\n } catch (e) {\n const error = wrapOpenAIClientError(e);\n throw error;\n }\n });\n }\n\n /** @internal */\n protected _reduceChatOpenAITools(\n tools: ChatOpenAIToolType[],\n fields: { stream?: boolean; strict?: boolean }\n ): ResponsesTool[] {\n const reducedTools: ResponsesTool[] = [];\n for (const tool of tools) {\n if (isBuiltInTool(tool)) {\n if (tool.type === \"image_generation\" && fields?.stream) {\n // OpenAI sends a 400 error if partial_images is not set and we want to stream.\n // We also set it to 1 since we don't support partial images yet.\n tool.partial_images = 1;\n }\n reducedTools.push(tool);\n } else if (isCustomTool(tool)) {\n const customToolData = tool.metadata.customTool;\n reducedTools.push({\n type: \"custom\",\n name: customToolData.name,\n description: customToolData.description,\n format: customToolData.format,\n } as ResponsesTool);\n } else if (isOpenAIFunctionTool(tool)) {\n reducedTools.push({\n type: \"function\",\n name: tool.function.name,\n parameters: tool.function.parameters,\n description: tool.function.description,\n strict: fields?.strict ?? null,\n });\n } else if (isOpenAICustomTool(tool)) {\n reducedTools.push(convertCompletionsCustomTool(tool));\n }\n }\n return reducedTools;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"responses.cjs","names":["BaseChatOpenAI","isBuiltInToolChoice","formatToOpenAIToolChoice","convertMessagesToResponsesInput","convertResponsesMessageToAIMessage","convertResponsesDeltaToChatGenerationChunk","wrapOpenAIClientError","isBuiltInTool","isCustomTool","isOpenAICustomTool","convertCompletionsCustomTool"],"sources":["../../src/chat_models/responses.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { AIMessage, type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { isOpenAITool as isOpenAIFunctionTool } from \"@langchain/core/language_models/base\";\nimport { wrapOpenAIClientError } from \"../utils/client.js\";\nimport {\n ChatOpenAIToolType,\n convertCompletionsCustomTool,\n formatToOpenAIToolChoice,\n isBuiltInTool,\n isBuiltInToolChoice,\n isCustomTool,\n isOpenAICustomTool,\n ResponsesTool,\n} from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport {\n convertMessagesToResponsesInput,\n convertResponsesDeltaToChatGenerationChunk,\n convertResponsesMessageToAIMessage,\n} from \"../converters/responses.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\n\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\n\nexport type ChatResponsesInvocationParams = Omit<\n OpenAIClient.Responses.ResponseCreateParams,\n \"input\"\n>;\n\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport class ChatOpenAIResponses<\n CallOptions extends ChatOpenAIResponsesCallOptions =\n ChatOpenAIResponsesCallOptions,\n> extends BaseChatOpenAI<CallOptions> {\n override invocationParams(\n options?: this[\"ParsedCallOptions\"]\n ): ChatResponsesInvocationParams {\n let strict: boolean | undefined;\n if (options?.strict !== undefined) {\n strict = options.strict;\n }\n if (strict === undefined && this.supportsStrictToolCalling !== undefined) {\n strict = this.supportsStrictToolCalling;\n }\n\n const params: ChatResponsesInvocationParams = {\n model: this.model,\n temperature: this.temperature,\n top_p: this.topP,\n user: this.user,\n service_tier: this.service_tier,\n\n // if include_usage is set or streamUsage then stream must be set to true.\n stream: this.streaming,\n previous_response_id: options?.previous_response_id,\n truncation: options?.truncation,\n include: options?.include,\n tools: options?.tools?.length\n ? this._reduceChatOpenAITools(options.tools, {\n stream: this.streaming,\n strict,\n })\n : undefined,\n tool_choice: isBuiltInToolChoice(options?.tool_choice)\n ? options?.tool_choice\n : (() => {\n const formatted = formatToOpenAIToolChoice(options?.tool_choice);\n if (typeof formatted === \"object\" && \"type\" in formatted) {\n if (formatted.type === \"function\") {\n return { type: \"function\", name: formatted.function.name };\n } else if (formatted.type === \"allowed_tools\") {\n return {\n type: \"allowed_tools\",\n mode: formatted.allowed_tools.mode,\n tools: formatted.allowed_tools.tools,\n };\n } else if (formatted.type === \"custom\") {\n return {\n type: \"custom\",\n name: formatted.custom.name,\n };\n }\n }\n return undefined;\n })(),\n text: (() => {\n if (options?.text) return options.text;\n const format = this._getResponseFormat(options?.response_format);\n if (format?.type === \"json_schema\") {\n if (format.json_schema.schema != null) {\n return {\n format: {\n type: \"json_schema\",\n schema: format.json_schema.schema,\n description: format.json_schema.description,\n name: format.json_schema.name,\n strict: format.json_schema.strict,\n },\n verbosity: options?.verbosity,\n };\n }\n return undefined;\n }\n return { format, verbosity: options?.verbosity };\n })(),\n parallel_tool_calls: options?.parallel_tool_calls,\n max_output_tokens: this.maxTokens === -1 ? undefined : this.maxTokens,\n prompt_cache_key: options?.promptCacheKey ?? this.promptCacheKey,\n prompt_cache_retention:\n options?.promptCacheRetention ?? this.promptCacheRetention,\n ...(this.zdrEnabled ? { store: false } : {}),\n ...this.modelKwargs,\n };\n\n const reasoning = this._getReasoningParams(options);\n\n if (reasoning !== undefined) {\n params.reasoning = reasoning;\n }\n\n return params;\n }\n\n async _generate(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): Promise<ChatResult> {\n options.signal?.throwIfAborted();\n const invocationParams = this.invocationParams(options);\n if (invocationParams.stream) {\n const stream = this._streamResponseChunks(messages, options, runManager);\n let finalChunk: ChatGenerationChunk | undefined;\n for await (const chunk of stream) {\n chunk.message.response_metadata = {\n ...chunk.generationInfo,\n ...chunk.message.response_metadata,\n };\n finalChunk = finalChunk?.concat(chunk) ?? chunk;\n }\n\n return {\n generations: finalChunk ? [finalChunk] : [],\n llmOutput: {\n estimatedTokenUsage: (finalChunk?.message as AIMessage | undefined)\n ?.usage_metadata,\n },\n };\n } else {\n const data = await this.completionWithRetry(\n {\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n ...invocationParams,\n stream: false,\n },\n { signal: options?.signal, ...options?.options }\n );\n\n return {\n generations: [\n {\n text: data.output_text,\n message: convertResponsesMessageToAIMessage(data),\n },\n ],\n llmOutput: {\n id: data.id,\n estimatedTokenUsage: data.usage\n ? {\n promptTokens: data.usage.input_tokens,\n completionTokens: data.usage.output_tokens,\n totalTokens: data.usage.total_tokens,\n }\n : undefined,\n },\n };\n }\n }\n\n async *_streamResponseChunks(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatGenerationChunk> {\n const streamIterable = await this.completionWithRetry(\n {\n ...this.invocationParams(options),\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n stream: true,\n },\n options\n );\n\n for await (const data of streamIterable) {\n if (options.signal?.aborted) {\n return;\n }\n const chunk = convertResponsesDeltaToChatGenerationChunk(data);\n if (chunk == null) continue;\n yield chunk;\n await runManager?.handleLLMNewToken(\n chunk.text || \"\",\n {\n prompt: options.promptIndex ?? 0,\n completion: 0,\n },\n undefined,\n undefined,\n undefined,\n { chunk }\n );\n }\n }\n\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<OpenAIClient.Responses.Response>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParams,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<\n | AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>\n | OpenAIClient.Responses.Response\n > {\n return this.caller.call(async () => {\n const clientOptions = this._getClientOptions(requestOptions);\n try {\n // use parse if dealing with json_schema\n if (request.text?.format?.type === \"json_schema\" && !request.stream) {\n return await this.client.responses.parse(request, clientOptions);\n }\n return await this.client.responses.create(request, clientOptions);\n } catch (e) {\n const error = wrapOpenAIClientError(e);\n throw error;\n }\n });\n }\n\n /** @internal */\n protected _reduceChatOpenAITools(\n tools: ChatOpenAIToolType[],\n fields: { stream?: boolean; strict?: boolean }\n ): ResponsesTool[] {\n const reducedTools: ResponsesTool[] = [];\n for (const tool of tools) {\n if (isBuiltInTool(tool)) {\n if (tool.type === \"image_generation\" && fields?.stream) {\n // OpenAI sends a 400 error if partial_images is not set and we want to stream.\n // We also set it to 1 since we don't support partial images yet.\n tool.partial_images = 1;\n }\n reducedTools.push(tool);\n } else if (isCustomTool(tool)) {\n const customToolData = tool.metadata.customTool;\n reducedTools.push({\n type: \"custom\",\n name: customToolData.name,\n description: customToolData.description,\n format: customToolData.format,\n } as ResponsesTool);\n } else if (isOpenAIFunctionTool(tool)) {\n reducedTools.push({\n type: \"function\",\n name: tool.function.name,\n parameters: tool.function.parameters,\n description: tool.function.description,\n strict: fields?.strict ?? null,\n });\n } else if (isOpenAICustomTool(tool)) {\n reducedTools.push(convertCompletionsCustomTool(tool));\n }\n }\n return reducedTools;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.cts","names":["OpenAI","OpenAIClient","CallbackManagerForLLMRun","BaseMessage","ChatGenerationChunk","ChatResult","ChatOpenAIToolType","ResponsesTool","BaseChatOpenAI","BaseChatOpenAICallOptions","OpenAIVerbosityParam","ChatOpenAIResponsesCallOptions","Responses","ResponseCreateParams","ChatResponsesInvocationParams","Omit","ChatOpenAIResponses","CallOptions","Promise","AsyncGenerator","ResponseCreateParamsStreaming","RequestOptions","ResponseStreamEvent","AsyncIterable","ResponseCreateParamsNonStreaming","Response"],"sources":["../../src/chat_models/responses.d.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { ChatOpenAIToolType, ResponsesTool } from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\nexport type ChatResponsesInvocationParams = Omit<OpenAIClient.Responses.ResponseCreateParams, \"input\">;\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport declare class ChatOpenAIResponses<CallOptions extends ChatOpenAIResponsesCallOptions = ChatOpenAIResponsesCallOptions> extends BaseChatOpenAI<CallOptions> {\n invocationParams(options?: this[\"ParsedCallOptions\"]): ChatResponsesInvocationParams;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;\n _streamResponseChunks(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<OpenAIClient.Responses.Response>;\n /** @internal */\n protected _reduceChatOpenAITools(tools: ChatOpenAIToolType[], fields: {\n stream?: boolean;\n strict?: boolean;\n }): ResponsesTool[];\n}\n//# sourceMappingURL=responses.d.ts.map"],"mappings":";;;;;;;;;UAOiBW,8BAAAA,SAAuCF;;AAAxD;;;EAacR,IAAAA,CAAAA,EARHA,QAAAA,CAAaW,SAAAA,CAAUC,oBAQGA,CAAAA,MAAAA,CAAAA;EAKVZ;;;EAlBsD,UAAA,CAAA,EAShEA,QAAAA,CAAaW,SAAAA,CAAUC,oBATyC,CAAA,YAAA,CAAA;EAwBrEC;AAQZ;;EAA8FH,OAAAA,CAAAA,EAnBhFV,QAAAA,CAAaW,SAAAA,CAAUC,oBAmByDF,CAAAA,SAAAA,CAAAA;EAAuDM;;;;EAE1BZ,oBAAAA,CAAAA,EAhBhGJ,QAAAA,CAAaW,SAAAA,CAAUC,oBAgByER,CAAAA,sBAAAA,CAAAA;EAARa;;;EAC2Bd,SAAAA,CAAAA,EAb9HM,oBAa8HN;;AAO7GH,KAlBrBa,6BAAAA,GAAgCC,IAkBYK,CAlBPnB,QAAAA,CAAaW,SAAAA,CAAUC,oBAkBhBO,EAAAA,OAAAA,CAAAA;;;;;;;;AACiFF,cAXpHF,mBAWoHE,CAAAA,oBAX5EP,8BAW4EO,GAX3CP,8BAW2CO,CAAAA,SAXHV,cAWGU,CAXYD,WAWZC,CAAAA,CAAAA;EAE7FZ,gBAAAA,CAAAA,OAAAA,CAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAZeQ,6BAYfR;EAGpCC,SAAAA,CAAAA,QAAAA,EAdgBJ,WAchBI,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,EAAAA,UAAAA,CAAAA,EAdgFL,wBAchFK,CAAAA,EAd2GW,OAc3GX,CAdmHF,UAcnHE,CAAAA;EAhB8HC,qBAAAA,CAAAA,QAAAA,EAGlGL,WAHkGK,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,EAAAA,UAAAA,CAAAA,EAGlCN,wBAHkCM,CAAAA,EAGPW,cAHOX,CAGQJ,mBAHRI,CAAAA;EAAc;;;;;;+BAUnHP,QAAAA,CAAaW,SAAAA,CAAUQ,gDAAgDnB,QAAAA,CAAaoB,iBAAiBH,QAAQK,cAActB,QAAAA,CAAaW,SAAAA,CAAUU;+BAClJrB,QAAAA,CAAaW,SAAAA,CAAUY,mDAAmDvB,QAAAA,CAAaoB,iBAAiBH,QAAQjB,QAAAA,CAAaW,SAAAA,CAAUa;;0CAE5HnB;;;MAGpCC"}
1
+ {"version":3,"file":"responses.d.cts","names":[],"sources":["../../src/chat_models/responses.ts"],"mappings":";;;;;;;;;UAwBiB,8BAAA,SAAuC,yBAAA;;AAAxD;;;EAKE,IAAA,GAAO,QAAA,CAAa,SAAA,CAAU,oBAAA;EAKjB;;;EAAb,UAAA,GAAa,QAAA,CAAa,SAAA,CAAU,oBAAA;EAVkB;;;EAetD,OAAA,GAAU,QAAA,CAAa,SAAA,CAAU,oBAAA;EAVjC;;;;EAgBA,oBAAA,GAAuB,QAAA,CAAa,SAAA,CAAU,oBAAA;EAXjC;;;EAgBb,SAAA,GAAY,oBAAA;AAAA;AAAA,KAGF,6BAAA,GAAgC,IAAA,CAC1C,QAAA,CAAa,SAAA,CAAU,oBAAA;;;;;;;;cAWZ,mBAAA,qBACS,8BAAA,GAClB,8BAAA,UACM,cAAA,CAAe,WAAA;EACd,gBAAA,CACP,OAAA,+BACC,6BAAA;EAuFG,SAAA,CACJ,QAAA,EAAU,WAAA,IACV,OAAA,6BACA,UAAA,GAAa,wBAAA,GACZ,OAAA,CAAQ,UAAA;EAwDJ,qBAAA,CACL,QAAA,EAAU,WAAA,IACV,OAAA,6BACA,UAAA,GAAa,wBAAA,GACZ,cAAA,CAAe,mBAAA;;;;;;;EAyCZ,mBAAA,CACJ,OAAA,EAAS,QAAA,CAAa,SAAA,CAAU,6BAAA,EAChC,cAAA,GAAiB,QAAA,CAAa,cAAA,GAC7B,OAAA,CAAQ,aAAA,CAAc,QAAA,CAAa,SAAA,CAAU,mBAAA;EAE1C,mBAAA,CACJ,OAAA,EAAS,QAAA,CAAa,SAAA,CAAU,gCAAA,EAChC,cAAA,GAAiB,QAAA,CAAa,cAAA,GAC7B,OAAA,CAAQ,QAAA,CAAa,SAAA,CAAU,QAAA;EA9MvB;EAAA,UAuOD,sBAAA,CACR,KAAA,EAAO,kBAAA,IACP,MAAA;IAAU,MAAA;IAAkB,MAAA;EAAA,IAC3B,aAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.ts","names":["OpenAI","OpenAIClient","CallbackManagerForLLMRun","BaseMessage","ChatGenerationChunk","ChatResult","ChatOpenAIToolType","ResponsesTool","BaseChatOpenAI","BaseChatOpenAICallOptions","OpenAIVerbosityParam","ChatOpenAIResponsesCallOptions","Responses","ResponseCreateParams","ChatResponsesInvocationParams","Omit","ChatOpenAIResponses","CallOptions","Promise","AsyncGenerator","ResponseCreateParamsStreaming","RequestOptions","ResponseStreamEvent","AsyncIterable","ResponseCreateParamsNonStreaming","Response"],"sources":["../../src/chat_models/responses.d.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { ChatOpenAIToolType, ResponsesTool } from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\nexport type ChatResponsesInvocationParams = Omit<OpenAIClient.Responses.ResponseCreateParams, \"input\">;\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport declare class ChatOpenAIResponses<CallOptions extends ChatOpenAIResponsesCallOptions = ChatOpenAIResponsesCallOptions> extends BaseChatOpenAI<CallOptions> {\n invocationParams(options?: this[\"ParsedCallOptions\"]): ChatResponsesInvocationParams;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): Promise<ChatResult>;\n _streamResponseChunks(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<OpenAIClient.Responses.Response>;\n /** @internal */\n protected _reduceChatOpenAITools(tools: ChatOpenAIToolType[], fields: {\n stream?: boolean;\n strict?: boolean;\n }): ResponsesTool[];\n}\n//# sourceMappingURL=responses.d.ts.map"],"mappings":";;;;;;;;;UAOiBW,8BAAAA,SAAuCF;;AAAxD;;;EAacR,IAAAA,CAAAA,EARHA,QAAAA,CAAaW,SAAAA,CAAUC,oBAQGA,CAAAA,MAAAA,CAAAA;EAKVZ;;;EAlBsD,UAAA,CAAA,EAShEA,QAAAA,CAAaW,SAAAA,CAAUC,oBATyC,CAAA,YAAA,CAAA;EAwBrEC;AAQZ;;EAA8FH,OAAAA,CAAAA,EAnBhFV,QAAAA,CAAaW,SAAAA,CAAUC,oBAmByDF,CAAAA,SAAAA,CAAAA;EAAuDM;;;;EAE1BZ,oBAAAA,CAAAA,EAhBhGJ,QAAAA,CAAaW,SAAAA,CAAUC,oBAgByER,CAAAA,sBAAAA,CAAAA;EAARa;;;EAC2Bd,SAAAA,CAAAA,EAb9HM,oBAa8HN;;AAO7GH,KAlBrBa,6BAAAA,GAAgCC,IAkBYK,CAlBPnB,QAAAA,CAAaW,SAAAA,CAAUC,oBAkBhBO,EAAAA,OAAAA,CAAAA;;;;;;;;AACiFF,cAXpHF,mBAWoHE,CAAAA,oBAX5EP,8BAW4EO,GAX3CP,8BAW2CO,CAAAA,SAXHV,cAWGU,CAXYD,WAWZC,CAAAA,CAAAA;EAE7FZ,gBAAAA,CAAAA,OAAAA,CAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAZeQ,6BAYfR;EAGpCC,SAAAA,CAAAA,QAAAA,EAdgBJ,WAchBI,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,EAAAA,UAAAA,CAAAA,EAdgFL,wBAchFK,CAAAA,EAd2GW,OAc3GX,CAdmHF,UAcnHE,CAAAA;EAhB8HC,qBAAAA,CAAAA,QAAAA,EAGlGL,WAHkGK,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,EAAAA,UAAAA,CAAAA,EAGlCN,wBAHkCM,CAAAA,EAGPW,cAHOX,CAGQJ,mBAHRI,CAAAA;EAAc;;;;;;+BAUnHP,QAAAA,CAAaW,SAAAA,CAAUQ,gDAAgDnB,QAAAA,CAAaoB,iBAAiBH,QAAQK,cAActB,QAAAA,CAAaW,SAAAA,CAAUU;+BAClJrB,QAAAA,CAAaW,SAAAA,CAAUY,mDAAmDvB,QAAAA,CAAaoB,iBAAiBH,QAAQjB,QAAAA,CAAaW,SAAAA,CAAUa;;0CAE5HnB;;;MAGpCC"}
1
+ {"version":3,"file":"responses.d.ts","names":[],"sources":["../../src/chat_models/responses.ts"],"mappings":";;;;;;;;;UAwBiB,8BAAA,SAAuC,yBAAA;;AAAxD;;;EAKE,IAAA,GAAO,QAAA,CAAa,SAAA,CAAU,oBAAA;EAKjB;;;EAAb,UAAA,GAAa,QAAA,CAAa,SAAA,CAAU,oBAAA;EAVkB;;;EAetD,OAAA,GAAU,QAAA,CAAa,SAAA,CAAU,oBAAA;EAVjC;;;;EAgBA,oBAAA,GAAuB,QAAA,CAAa,SAAA,CAAU,oBAAA;EAXjC;;;EAgBb,SAAA,GAAY,oBAAA;AAAA;AAAA,KAGF,6BAAA,GAAgC,IAAA,CAC1C,QAAA,CAAa,SAAA,CAAU,oBAAA;;;;;;;;cAWZ,mBAAA,qBACS,8BAAA,GAClB,8BAAA,UACM,cAAA,CAAe,WAAA;EACd,gBAAA,CACP,OAAA,+BACC,6BAAA;EAuFG,SAAA,CACJ,QAAA,EAAU,WAAA,IACV,OAAA,6BACA,UAAA,GAAa,wBAAA,GACZ,OAAA,CAAQ,UAAA;EAwDJ,qBAAA,CACL,QAAA,EAAU,WAAA,IACV,OAAA,6BACA,UAAA,GAAa,wBAAA,GACZ,cAAA,CAAe,mBAAA;;;;;;;EAyCZ,mBAAA,CACJ,OAAA,EAAS,QAAA,CAAa,SAAA,CAAU,6BAAA,EAChC,cAAA,GAAiB,QAAA,CAAa,cAAA,GAC7B,OAAA,CAAQ,aAAA,CAAc,QAAA,CAAa,SAAA,CAAU,mBAAA;EAE1C,mBAAA,CACJ,OAAA,EAAS,QAAA,CAAa,SAAA,CAAU,gCAAA,EAChC,cAAA,GAAiB,QAAA,CAAa,cAAA,GAC7B,OAAA,CAAQ,QAAA,CAAa,SAAA,CAAU,QAAA;EA9MvB;EAAA,UAuOD,sBAAA,CACR,KAAA,EAAO,kBAAA,IACP,MAAA;IAAU,MAAA;IAAkB,MAAA;EAAA,IAC3B,aAAA;AAAA"}
@@ -48,7 +48,6 @@ var ChatOpenAIResponses = class extends BaseChatOpenAI {
48
48
  name: formatted.custom.name
49
49
  };
50
50
  }
51
- return void 0;
52
51
  })(),
53
52
  text: (() => {
54
53
  if (options?.text) return options.text;
@@ -64,7 +63,7 @@ var ChatOpenAIResponses = class extends BaseChatOpenAI {
64
63
  },
65
64
  verbosity: options?.verbosity
66
65
  };
67
- return void 0;
66
+ return;
68
67
  }
69
68
  return {
70
69
  format,
@@ -156,8 +155,7 @@ var ChatOpenAIResponses = class extends BaseChatOpenAI {
156
155
  if (request.text?.format?.type === "json_schema" && !request.stream) return await this.client.responses.parse(request, clientOptions);
157
156
  return await this.client.responses.create(request, clientOptions);
158
157
  } catch (e) {
159
- const error = wrapOpenAIClientError(e);
160
- throw error;
158
+ throw wrapOpenAIClientError(e);
161
159
  }
162
160
  });
163
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","names":["options?: this[\"ParsedCallOptions\"]","strict: boolean | undefined","params: ChatResponsesInvocationParams","messages: BaseMessage[]","options: this[\"ParsedCallOptions\"]","runManager?: CallbackManagerForLLMRun","finalChunk: ChatGenerationChunk | undefined","request: OpenAIClient.Responses.ResponseCreateParams","requestOptions?: OpenAIClient.RequestOptions","tools: ChatOpenAIToolType[]","fields: { stream?: boolean; strict?: boolean }","reducedTools: ResponsesTool[]","isOpenAIFunctionTool"],"sources":["../../src/chat_models/responses.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { AIMessage, type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { isOpenAITool as isOpenAIFunctionTool } from \"@langchain/core/language_models/base\";\nimport { wrapOpenAIClientError } from \"../utils/client.js\";\nimport {\n ChatOpenAIToolType,\n convertCompletionsCustomTool,\n formatToOpenAIToolChoice,\n isBuiltInTool,\n isBuiltInToolChoice,\n isCustomTool,\n isOpenAICustomTool,\n ResponsesTool,\n} from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport {\n convertMessagesToResponsesInput,\n convertResponsesDeltaToChatGenerationChunk,\n convertResponsesMessageToAIMessage,\n} from \"../converters/responses.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\n\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\n\nexport type ChatResponsesInvocationParams = Omit<\n OpenAIClient.Responses.ResponseCreateParams,\n \"input\"\n>;\n\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport class ChatOpenAIResponses<\n CallOptions extends ChatOpenAIResponsesCallOptions =\n ChatOpenAIResponsesCallOptions,\n> extends BaseChatOpenAI<CallOptions> {\n override invocationParams(\n options?: this[\"ParsedCallOptions\"]\n ): ChatResponsesInvocationParams {\n let strict: boolean | undefined;\n if (options?.strict !== undefined) {\n strict = options.strict;\n }\n if (strict === undefined && this.supportsStrictToolCalling !== undefined) {\n strict = this.supportsStrictToolCalling;\n }\n\n const params: ChatResponsesInvocationParams = {\n model: this.model,\n temperature: this.temperature,\n top_p: this.topP,\n user: this.user,\n service_tier: this.service_tier,\n\n // if include_usage is set or streamUsage then stream must be set to true.\n stream: this.streaming,\n previous_response_id: options?.previous_response_id,\n truncation: options?.truncation,\n include: options?.include,\n tools: options?.tools?.length\n ? this._reduceChatOpenAITools(options.tools, {\n stream: this.streaming,\n strict,\n })\n : undefined,\n tool_choice: isBuiltInToolChoice(options?.tool_choice)\n ? options?.tool_choice\n : (() => {\n const formatted = formatToOpenAIToolChoice(options?.tool_choice);\n if (typeof formatted === \"object\" && \"type\" in formatted) {\n if (formatted.type === \"function\") {\n return { type: \"function\", name: formatted.function.name };\n } else if (formatted.type === \"allowed_tools\") {\n return {\n type: \"allowed_tools\",\n mode: formatted.allowed_tools.mode,\n tools: formatted.allowed_tools.tools,\n };\n } else if (formatted.type === \"custom\") {\n return {\n type: \"custom\",\n name: formatted.custom.name,\n };\n }\n }\n return undefined;\n })(),\n text: (() => {\n if (options?.text) return options.text;\n const format = this._getResponseFormat(options?.response_format);\n if (format?.type === \"json_schema\") {\n if (format.json_schema.schema != null) {\n return {\n format: {\n type: \"json_schema\",\n schema: format.json_schema.schema,\n description: format.json_schema.description,\n name: format.json_schema.name,\n strict: format.json_schema.strict,\n },\n verbosity: options?.verbosity,\n };\n }\n return undefined;\n }\n return { format, verbosity: options?.verbosity };\n })(),\n parallel_tool_calls: options?.parallel_tool_calls,\n max_output_tokens: this.maxTokens === -1 ? undefined : this.maxTokens,\n prompt_cache_key: options?.promptCacheKey ?? this.promptCacheKey,\n prompt_cache_retention:\n options?.promptCacheRetention ?? this.promptCacheRetention,\n ...(this.zdrEnabled ? { store: false } : {}),\n ...this.modelKwargs,\n };\n\n const reasoning = this._getReasoningParams(options);\n\n if (reasoning !== undefined) {\n params.reasoning = reasoning;\n }\n\n return params;\n }\n\n async _generate(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): Promise<ChatResult> {\n options.signal?.throwIfAborted();\n const invocationParams = this.invocationParams(options);\n if (invocationParams.stream) {\n const stream = this._streamResponseChunks(messages, options, runManager);\n let finalChunk: ChatGenerationChunk | undefined;\n for await (const chunk of stream) {\n chunk.message.response_metadata = {\n ...chunk.generationInfo,\n ...chunk.message.response_metadata,\n };\n finalChunk = finalChunk?.concat(chunk) ?? chunk;\n }\n\n return {\n generations: finalChunk ? [finalChunk] : [],\n llmOutput: {\n estimatedTokenUsage: (finalChunk?.message as AIMessage | undefined)\n ?.usage_metadata,\n },\n };\n } else {\n const data = await this.completionWithRetry(\n {\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n ...invocationParams,\n stream: false,\n },\n { signal: options?.signal, ...options?.options }\n );\n\n return {\n generations: [\n {\n text: data.output_text,\n message: convertResponsesMessageToAIMessage(data),\n },\n ],\n llmOutput: {\n id: data.id,\n estimatedTokenUsage: data.usage\n ? {\n promptTokens: data.usage.input_tokens,\n completionTokens: data.usage.output_tokens,\n totalTokens: data.usage.total_tokens,\n }\n : undefined,\n },\n };\n }\n }\n\n async *_streamResponseChunks(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatGenerationChunk> {\n const streamIterable = await this.completionWithRetry(\n {\n ...this.invocationParams(options),\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n stream: true,\n },\n options\n );\n\n for await (const data of streamIterable) {\n if (options.signal?.aborted) {\n return;\n }\n const chunk = convertResponsesDeltaToChatGenerationChunk(data);\n if (chunk == null) continue;\n yield chunk;\n await runManager?.handleLLMNewToken(\n chunk.text || \"\",\n {\n prompt: options.promptIndex ?? 0,\n completion: 0,\n },\n undefined,\n undefined,\n undefined,\n { chunk }\n );\n }\n }\n\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<OpenAIClient.Responses.Response>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParams,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<\n | AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>\n | OpenAIClient.Responses.Response\n > {\n return this.caller.call(async () => {\n const clientOptions = this._getClientOptions(requestOptions);\n try {\n // use parse if dealing with json_schema\n if (request.text?.format?.type === \"json_schema\" && !request.stream) {\n return await this.client.responses.parse(request, clientOptions);\n }\n return await this.client.responses.create(request, clientOptions);\n } catch (e) {\n const error = wrapOpenAIClientError(e);\n throw error;\n }\n });\n }\n\n /** @internal */\n protected _reduceChatOpenAITools(\n tools: ChatOpenAIToolType[],\n fields: { stream?: boolean; strict?: boolean }\n ): ResponsesTool[] {\n const reducedTools: ResponsesTool[] = [];\n for (const tool of tools) {\n if (isBuiltInTool(tool)) {\n if (tool.type === \"image_generation\" && fields?.stream) {\n // OpenAI sends a 400 error if partial_images is not set and we want to stream.\n // We also set it to 1 since we don't support partial images yet.\n tool.partial_images = 1;\n }\n reducedTools.push(tool);\n } else if (isCustomTool(tool)) {\n const customToolData = tool.metadata.customTool;\n reducedTools.push({\n type: \"custom\",\n name: customToolData.name,\n description: customToolData.description,\n format: customToolData.format,\n } as ResponsesTool);\n } else if (isOpenAIFunctionTool(tool)) {\n reducedTools.push({\n type: \"function\",\n name: tool.function.name,\n parameters: tool.function.parameters,\n description: tool.function.description,\n strict: fields?.strict ?? null,\n });\n } else if (isOpenAICustomTool(tool)) {\n reducedTools.push(convertCompletionsCustomTool(tool));\n }\n }\n return reducedTools;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","names":["isOpenAIFunctionTool"],"sources":["../../src/chat_models/responses.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { AIMessage, type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { isOpenAITool as isOpenAIFunctionTool } from \"@langchain/core/language_models/base\";\nimport { wrapOpenAIClientError } from \"../utils/client.js\";\nimport {\n ChatOpenAIToolType,\n convertCompletionsCustomTool,\n formatToOpenAIToolChoice,\n isBuiltInTool,\n isBuiltInToolChoice,\n isCustomTool,\n isOpenAICustomTool,\n ResponsesTool,\n} from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport {\n convertMessagesToResponsesInput,\n convertResponsesDeltaToChatGenerationChunk,\n convertResponsesMessageToAIMessage,\n} from \"../converters/responses.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\n\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\n\nexport type ChatResponsesInvocationParams = Omit<\n OpenAIClient.Responses.ResponseCreateParams,\n \"input\"\n>;\n\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport class ChatOpenAIResponses<\n CallOptions extends ChatOpenAIResponsesCallOptions =\n ChatOpenAIResponsesCallOptions,\n> extends BaseChatOpenAI<CallOptions> {\n override invocationParams(\n options?: this[\"ParsedCallOptions\"]\n ): ChatResponsesInvocationParams {\n let strict: boolean | undefined;\n if (options?.strict !== undefined) {\n strict = options.strict;\n }\n if (strict === undefined && this.supportsStrictToolCalling !== undefined) {\n strict = this.supportsStrictToolCalling;\n }\n\n const params: ChatResponsesInvocationParams = {\n model: this.model,\n temperature: this.temperature,\n top_p: this.topP,\n user: this.user,\n service_tier: this.service_tier,\n\n // if include_usage is set or streamUsage then stream must be set to true.\n stream: this.streaming,\n previous_response_id: options?.previous_response_id,\n truncation: options?.truncation,\n include: options?.include,\n tools: options?.tools?.length\n ? this._reduceChatOpenAITools(options.tools, {\n stream: this.streaming,\n strict,\n })\n : undefined,\n tool_choice: isBuiltInToolChoice(options?.tool_choice)\n ? options?.tool_choice\n : (() => {\n const formatted = formatToOpenAIToolChoice(options?.tool_choice);\n if (typeof formatted === \"object\" && \"type\" in formatted) {\n if (formatted.type === \"function\") {\n return { type: \"function\", name: formatted.function.name };\n } else if (formatted.type === \"allowed_tools\") {\n return {\n type: \"allowed_tools\",\n mode: formatted.allowed_tools.mode,\n tools: formatted.allowed_tools.tools,\n };\n } else if (formatted.type === \"custom\") {\n return {\n type: \"custom\",\n name: formatted.custom.name,\n };\n }\n }\n return undefined;\n })(),\n text: (() => {\n if (options?.text) return options.text;\n const format = this._getResponseFormat(options?.response_format);\n if (format?.type === \"json_schema\") {\n if (format.json_schema.schema != null) {\n return {\n format: {\n type: \"json_schema\",\n schema: format.json_schema.schema,\n description: format.json_schema.description,\n name: format.json_schema.name,\n strict: format.json_schema.strict,\n },\n verbosity: options?.verbosity,\n };\n }\n return undefined;\n }\n return { format, verbosity: options?.verbosity };\n })(),\n parallel_tool_calls: options?.parallel_tool_calls,\n max_output_tokens: this.maxTokens === -1 ? undefined : this.maxTokens,\n prompt_cache_key: options?.promptCacheKey ?? this.promptCacheKey,\n prompt_cache_retention:\n options?.promptCacheRetention ?? this.promptCacheRetention,\n ...(this.zdrEnabled ? { store: false } : {}),\n ...this.modelKwargs,\n };\n\n const reasoning = this._getReasoningParams(options);\n\n if (reasoning !== undefined) {\n params.reasoning = reasoning;\n }\n\n return params;\n }\n\n async _generate(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): Promise<ChatResult> {\n options.signal?.throwIfAborted();\n const invocationParams = this.invocationParams(options);\n if (invocationParams.stream) {\n const stream = this._streamResponseChunks(messages, options, runManager);\n let finalChunk: ChatGenerationChunk | undefined;\n for await (const chunk of stream) {\n chunk.message.response_metadata = {\n ...chunk.generationInfo,\n ...chunk.message.response_metadata,\n };\n finalChunk = finalChunk?.concat(chunk) ?? chunk;\n }\n\n return {\n generations: finalChunk ? [finalChunk] : [],\n llmOutput: {\n estimatedTokenUsage: (finalChunk?.message as AIMessage | undefined)\n ?.usage_metadata,\n },\n };\n } else {\n const data = await this.completionWithRetry(\n {\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n ...invocationParams,\n stream: false,\n },\n { signal: options?.signal, ...options?.options }\n );\n\n return {\n generations: [\n {\n text: data.output_text,\n message: convertResponsesMessageToAIMessage(data),\n },\n ],\n llmOutput: {\n id: data.id,\n estimatedTokenUsage: data.usage\n ? {\n promptTokens: data.usage.input_tokens,\n completionTokens: data.usage.output_tokens,\n totalTokens: data.usage.total_tokens,\n }\n : undefined,\n },\n };\n }\n }\n\n async *_streamResponseChunks(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatGenerationChunk> {\n const streamIterable = await this.completionWithRetry(\n {\n ...this.invocationParams(options),\n input: convertMessagesToResponsesInput({\n messages,\n zdrEnabled: this.zdrEnabled ?? false,\n model: this.model,\n }),\n stream: true,\n },\n options\n );\n\n for await (const data of streamIterable) {\n if (options.signal?.aborted) {\n return;\n }\n const chunk = convertResponsesDeltaToChatGenerationChunk(data);\n if (chunk == null) continue;\n yield chunk;\n await runManager?.handleLLMNewToken(\n chunk.text || \"\",\n {\n prompt: options.promptIndex ?? 0,\n completion: 0,\n },\n undefined,\n undefined,\n undefined,\n { chunk }\n );\n }\n }\n\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<OpenAIClient.Responses.Response>;\n\n async completionWithRetry(\n request: OpenAIClient.Responses.ResponseCreateParams,\n requestOptions?: OpenAIClient.RequestOptions\n ): Promise<\n | AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>\n | OpenAIClient.Responses.Response\n > {\n return this.caller.call(async () => {\n const clientOptions = this._getClientOptions(requestOptions);\n try {\n // use parse if dealing with json_schema\n if (request.text?.format?.type === \"json_schema\" && !request.stream) {\n return await this.client.responses.parse(request, clientOptions);\n }\n return await this.client.responses.create(request, clientOptions);\n } catch (e) {\n const error = wrapOpenAIClientError(e);\n throw error;\n }\n });\n }\n\n /** @internal */\n protected _reduceChatOpenAITools(\n tools: ChatOpenAIToolType[],\n fields: { stream?: boolean; strict?: boolean }\n ): ResponsesTool[] {\n const reducedTools: ResponsesTool[] = [];\n for (const tool of tools) {\n if (isBuiltInTool(tool)) {\n if (tool.type === \"image_generation\" && fields?.stream) {\n // OpenAI sends a 400 error if partial_images is not set and we want to stream.\n // We also set it to 1 since we don't support partial images yet.\n tool.partial_images = 1;\n }\n reducedTools.push(tool);\n } else if (isCustomTool(tool)) {\n const customToolData = tool.metadata.customTool;\n reducedTools.push({\n type: \"custom\",\n name: customToolData.name,\n description: customToolData.description,\n format: customToolData.format,\n } as ResponsesTool);\n } else if (isOpenAIFunctionTool(tool)) {\n reducedTools.push({\n type: \"function\",\n name: tool.function.name,\n parameters: tool.function.parameters,\n description: tool.function.description,\n strict: fields?.strict ?? null,\n });\n } else if (isOpenAICustomTool(tool)) {\n reducedTools.push(convertCompletionsCustomTool(tool));\n }\n }\n return reducedTools;\n }\n}\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
1
  const require_misc = require('../utils/misc.cjs');
3
2
  const require_output = require('../utils/output.cjs');
4
- const __langchain_core_messages = require_rolldown_runtime.__toESM(require("@langchain/core/messages"));
5
- const __langchain_core_output_parsers_openai_tools = require_rolldown_runtime.__toESM(require("@langchain/core/output_parsers/openai_tools"));
3
+ let _langchain_core_messages = require("@langchain/core/messages");
4
+ let _langchain_core_output_parsers_openai_tools = require("@langchain/core/output_parsers/openai_tools");
6
5
 
7
6
  //#region src/converters/completions.ts
8
7
  /**
@@ -24,26 +23,23 @@ const completionsApiContentBlockConverter = {
24
23
  ...block.metadata?.detail ? { detail: block.metadata.detail } : {}
25
24
  }
26
25
  };
27
- if (block.source_type === "base64") {
28
- const url = `data:${block.mime_type ?? ""};base64,${block.data}`;
29
- return {
30
- type: "image_url",
31
- image_url: {
32
- url,
33
- ...block.metadata?.detail ? { detail: block.metadata.detail } : {}
34
- }
35
- };
36
- }
26
+ if (block.source_type === "base64") return {
27
+ type: "image_url",
28
+ image_url: {
29
+ url: `data:${block.mime_type ?? ""};base64,${block.data}`,
30
+ ...block.metadata?.detail ? { detail: block.metadata.detail } : {}
31
+ }
32
+ };
37
33
  throw new Error(`Image content blocks with source_type ${block.source_type} are not supported for ChatOpenAI`);
38
34
  },
39
35
  fromStandardAudioBlock(block) {
40
36
  if (block.source_type === "url") {
41
- const data = (0, __langchain_core_messages.parseBase64DataUrl)({ dataUrl: block.url });
37
+ const data = (0, _langchain_core_messages.parseBase64DataUrl)({ dataUrl: block.url });
42
38
  if (!data) throw new Error(`URL audio blocks with source_type ${block.source_type} must be formatted as a data URL for ChatOpenAI`);
43
39
  const rawMimeType = data.mime_type || block.mime_type || "";
44
40
  let mimeType;
45
41
  try {
46
- mimeType = (0, __langchain_core_messages.parseMimeType)(rawMimeType);
42
+ mimeType = (0, _langchain_core_messages.parseMimeType)(rawMimeType);
47
43
  } catch {
48
44
  throw new Error(`Audio blocks with source_type ${block.source_type} must have mime type of audio/wav or audio/mp3`);
49
45
  }
@@ -59,7 +55,7 @@ const completionsApiContentBlockConverter = {
59
55
  if (block.source_type === "base64") {
60
56
  let mimeType;
61
57
  try {
62
- mimeType = (0, __langchain_core_messages.parseMimeType)(block.mime_type ?? "");
58
+ mimeType = (0, _langchain_core_messages.parseMimeType)(block.mime_type ?? "");
63
59
  } catch {
64
60
  throw new Error(`Audio blocks with source_type ${block.source_type} must have mime type of audio/wav or audio/mp3`);
65
61
  }
@@ -76,7 +72,7 @@ const completionsApiContentBlockConverter = {
76
72
  },
77
73
  fromStandardFileBlock(block) {
78
74
  if (block.source_type === "url") {
79
- const data = (0, __langchain_core_messages.parseBase64DataUrl)({ dataUrl: block.url });
75
+ const data = (0, _langchain_core_messages.parseBase64DataUrl)({ dataUrl: block.url });
80
76
  const filename = require_misc.getRequiredFilenameFromMetadata(block);
81
77
  if (!data) throw new Error(`URL file blocks with source_type ${block.source_type} must be formatted as a data URL for ChatOpenAI`);
82
78
  return {
@@ -167,9 +163,9 @@ const convertCompletionsMessageToBaseMessage = ({ message, rawResponse, includeR
167
163
  const toolCalls = [];
168
164
  const invalidToolCalls = [];
169
165
  for (const rawToolCall of rawToolCalls ?? []) try {
170
- toolCalls.push((0, __langchain_core_output_parsers_openai_tools.parseToolCall)(rawToolCall, { returnId: true }));
166
+ toolCalls.push((0, _langchain_core_output_parsers_openai_tools.parseToolCall)(rawToolCall, { returnId: true }));
171
167
  } catch (e) {
172
- invalidToolCalls.push((0, __langchain_core_output_parsers_openai_tools.makeInvalidToolCall)(rawToolCall, e.message));
168
+ invalidToolCalls.push((0, _langchain_core_output_parsers_openai_tools.makeInvalidToolCall)(rawToolCall, e.message));
173
169
  }
174
170
  const additional_kwargs = {
175
171
  function_call: message.function_call,
@@ -185,9 +181,8 @@ const convertCompletionsMessageToBaseMessage = ({ message, rawResponse, includeR
185
181
  } : {}
186
182
  };
187
183
  if (message.audio) additional_kwargs.audio = message.audio;
188
- const content = require_output.handleMultiModalOutput(message.content || "", rawResponse.choices?.[0]?.message);
189
- return new __langchain_core_messages.AIMessage({
190
- content,
184
+ return new _langchain_core_messages.AIMessage({
185
+ content: require_output.handleMultiModalOutput(message.content || "", rawResponse.choices?.[0]?.message),
191
186
  tool_calls: toolCalls,
192
187
  invalid_tool_calls: invalidToolCalls,
193
188
  additional_kwargs,
@@ -195,7 +190,7 @@ const convertCompletionsMessageToBaseMessage = ({ message, rawResponse, includeR
195
190
  id: rawResponse.id
196
191
  });
197
192
  }
198
- default: return new __langchain_core_messages.ChatMessage(message.content || "", message.role ?? "unknown");
193
+ default: return new _langchain_core_messages.ChatMessage(message.content || "", message.role ?? "unknown");
199
194
  }
200
195
  };
201
196
  /**
@@ -273,7 +268,7 @@ const convertCompletionsDeltaToBaseMessageChunk = ({ delta, rawResponse, include
273
268
  model_provider: "openai",
274
269
  usage: { ...rawResponse.usage }
275
270
  };
276
- if (role === "user") return new __langchain_core_messages.HumanMessageChunk({
271
+ if (role === "user") return new _langchain_core_messages.HumanMessageChunk({
277
272
  content,
278
273
  response_metadata
279
274
  });
@@ -286,35 +281,35 @@ const convertCompletionsDeltaToBaseMessageChunk = ({ delta, rawResponse, include
286
281
  index: rawToolCall.index,
287
282
  type: "tool_call_chunk"
288
283
  });
289
- return new __langchain_core_messages.AIMessageChunk({
284
+ return new _langchain_core_messages.AIMessageChunk({
290
285
  content,
291
286
  tool_call_chunks: toolCallChunks,
292
287
  additional_kwargs,
293
288
  id: rawResponse.id,
294
289
  response_metadata
295
290
  });
296
- } else if (role === "system") return new __langchain_core_messages.SystemMessageChunk({
291
+ } else if (role === "system") return new _langchain_core_messages.SystemMessageChunk({
297
292
  content,
298
293
  response_metadata
299
294
  });
300
- else if (role === "developer") return new __langchain_core_messages.SystemMessageChunk({
295
+ else if (role === "developer") return new _langchain_core_messages.SystemMessageChunk({
301
296
  content,
302
297
  response_metadata,
303
298
  additional_kwargs: { __openai_role__: "developer" }
304
299
  });
305
- else if (role === "function") return new __langchain_core_messages.FunctionMessageChunk({
300
+ else if (role === "function") return new _langchain_core_messages.FunctionMessageChunk({
306
301
  content,
307
302
  additional_kwargs,
308
303
  name: delta.name,
309
304
  response_metadata
310
305
  });
311
- else if (role === "tool") return new __langchain_core_messages.ToolMessageChunk({
306
+ else if (role === "tool") return new _langchain_core_messages.ToolMessageChunk({
312
307
  content,
313
308
  additional_kwargs,
314
309
  tool_call_id: delta.tool_call_id,
315
310
  response_metadata
316
311
  });
317
- else return new __langchain_core_messages.ChatMessageChunk({
312
+ else return new _langchain_core_messages.ChatMessageChunk({
318
313
  content,
319
314
  role,
320
315
  response_metadata
@@ -361,9 +356,9 @@ const convertStandardContentBlockToCompletionsContentPart = (block) => {
361
356
  }
362
357
  if (block.type === "audio") {
363
358
  if (block.data) {
364
- const format = (0, __langchain_core_messages.iife)(() => {
365
- const [, format$1] = block.mimeType.split("/");
366
- if (format$1 === "wav" || format$1 === "mp3") return format$1;
359
+ const format = (0, _langchain_core_messages.iife)(() => {
360
+ const [, format] = block.mimeType.split("/");
361
+ if (format === "wav" || format === "mp3") return format;
367
362
  return "wav";
368
363
  });
369
364
  return {
@@ -391,7 +386,6 @@ const convertStandardContentBlockToCompletionsContentPart = (block) => {
391
386
  file: { file_id: block.fileId }
392
387
  };
393
388
  }
394
- return void 0;
395
389
  };
396
390
  /**
397
391
  * Converts a LangChain BaseMessage with standard content blocks to an OpenAI Chat Completions API message parameter.
@@ -473,7 +467,7 @@ const convertStandardContentMessageToCompletionsMessage = ({ message, model }) =
473
467
  role: "assistant",
474
468
  content: message.contentBlocks.filter((block) => block.type === "text")
475
469
  };
476
- else if (role === "tool" && __langchain_core_messages.ToolMessage.isInstance(message)) return {
470
+ else if (role === "tool" && _langchain_core_messages.ToolMessage.isInstance(message)) return {
477
471
  role: "tool",
478
472
  tool_call_id: message.tool_call_id,
479
473
  content: message.contentBlocks.filter((block) => block.type === "text")
@@ -575,7 +569,7 @@ const convertMessagesToCompletionsMessageParams = ({ messages, model }) => {
575
569
  let role = require_misc.messageToOpenAIRole(message);
576
570
  if (role === "system" && require_misc.isReasoningModel(model)) role = "developer";
577
571
  const content = typeof message.content === "string" ? message.content : message.content.flatMap((m) => {
578
- if ((0, __langchain_core_messages.isDataContentBlock)(m)) return (0, __langchain_core_messages.convertToProviderContentBlock)(m, completionsApiContentBlockConverter);
572
+ if ((0, _langchain_core_messages.isDataContentBlock)(m)) return (0, _langchain_core_messages.convertToProviderContentBlock)(m, completionsApiContentBlockConverter);
579
573
  if (typeof m === "object" && m !== null && "type" in m && m.type === "tool_use") return [];
580
574
  return m;
581
575
  });
@@ -585,18 +579,15 @@ const convertMessagesToCompletionsMessageParams = ({ messages, model }) => {
585
579
  };
586
580
  if (message.name != null) completionParam.name = message.name;
587
581
  if (message.additional_kwargs.function_call != null) completionParam.function_call = message.additional_kwargs.function_call;
588
- if (__langchain_core_messages.AIMessage.isInstance(message) && !!message.tool_calls?.length) completionParam.tool_calls = message.tool_calls.map(__langchain_core_output_parsers_openai_tools.convertLangChainToolCallToOpenAI);
582
+ if (_langchain_core_messages.AIMessage.isInstance(message) && !!message.tool_calls?.length) completionParam.tool_calls = message.tool_calls.map(_langchain_core_output_parsers_openai_tools.convertLangChainToolCallToOpenAI);
589
583
  else {
590
584
  if (message.additional_kwargs.tool_calls != null) completionParam.tool_calls = message.additional_kwargs.tool_calls;
591
- if (__langchain_core_messages.ToolMessage.isInstance(message) && message.tool_call_id != null) completionParam.tool_call_id = message.tool_call_id;
592
- }
593
- if (message.additional_kwargs.audio && typeof message.additional_kwargs.audio === "object" && "id" in message.additional_kwargs.audio) {
594
- const audioMessage = {
595
- role: "assistant",
596
- audio: { id: message.additional_kwargs.audio.id }
597
- };
598
- return [completionParam, audioMessage];
585
+ if (_langchain_core_messages.ToolMessage.isInstance(message) && message.tool_call_id != null) completionParam.tool_call_id = message.tool_call_id;
599
586
  }
587
+ if (message.additional_kwargs.audio && typeof message.additional_kwargs.audio === "object" && "id" in message.additional_kwargs.audio) return [completionParam, {
588
+ role: "assistant",
589
+ audio: { id: message.additional_kwargs.audio.id }
590
+ }];
600
591
  return completionParam;
601
592
  });
602
593
  };