@langchain/openai 1.2.13 → 1.3.0-dev-1773709997654

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 (247) hide show
  1. package/dist/azure/chat_models/common.cjs +2 -3
  2. package/dist/azure/chat_models/common.cjs.map +1 -1
  3. package/dist/azure/chat_models/common.d.ts +0 -1
  4. package/dist/azure/chat_models/common.d.ts.map +1 -1
  5. package/dist/azure/chat_models/common.js +1 -2
  6. package/dist/azure/chat_models/common.js.map +1 -1
  7. package/dist/azure/chat_models/completions.cjs +3 -4
  8. package/dist/azure/chat_models/completions.cjs.map +1 -1
  9. package/dist/azure/chat_models/completions.js +1 -2
  10. package/dist/azure/chat_models/completions.js.map +1 -1
  11. package/dist/azure/chat_models/index.cjs +5 -6
  12. package/dist/azure/chat_models/index.cjs.map +1 -1
  13. package/dist/azure/chat_models/index.js +1 -2
  14. package/dist/azure/chat_models/index.js.map +1 -1
  15. package/dist/azure/chat_models/responses.cjs +3 -4
  16. package/dist/azure/chat_models/responses.cjs.map +1 -1
  17. package/dist/azure/chat_models/responses.js +1 -2
  18. package/dist/azure/chat_models/responses.js.map +1 -1
  19. package/dist/azure/embeddings.cjs +4 -5
  20. package/dist/azure/embeddings.cjs.map +1 -1
  21. package/dist/azure/embeddings.d.cts +2 -2
  22. package/dist/azure/embeddings.d.cts.map +1 -1
  23. package/dist/azure/embeddings.d.ts +2 -2
  24. package/dist/azure/embeddings.d.ts.map +1 -1
  25. package/dist/azure/embeddings.js +1 -2
  26. package/dist/azure/embeddings.js.map +1 -1
  27. package/dist/azure/llms.cjs +3 -4
  28. package/dist/azure/llms.cjs.map +1 -1
  29. package/dist/azure/llms.js +1 -2
  30. package/dist/azure/llms.js.map +1 -1
  31. package/dist/chat_models/base.cjs +15 -10
  32. package/dist/chat_models/base.cjs.map +1 -1
  33. package/dist/chat_models/base.d.cts +20 -20
  34. package/dist/chat_models/base.d.cts.map +1 -1
  35. package/dist/chat_models/base.d.ts +20 -20
  36. package/dist/chat_models/base.d.ts.map +1 -1
  37. package/dist/chat_models/base.js +11 -6
  38. package/dist/chat_models/base.js.map +1 -1
  39. package/dist/chat_models/completions.cjs +6 -7
  40. package/dist/chat_models/completions.cjs.map +1 -1
  41. package/dist/chat_models/completions.d.cts +6 -6
  42. package/dist/chat_models/completions.d.cts.map +1 -1
  43. package/dist/chat_models/completions.d.ts +6 -6
  44. package/dist/chat_models/completions.d.ts.map +1 -1
  45. package/dist/chat_models/completions.js +1 -2
  46. package/dist/chat_models/completions.js.map +1 -1
  47. package/dist/chat_models/index.cjs +6 -7
  48. package/dist/chat_models/index.cjs.map +1 -1
  49. package/dist/chat_models/index.js +1 -2
  50. package/dist/chat_models/index.js.map +1 -1
  51. package/dist/chat_models/profiles.cjs +1 -2
  52. package/dist/chat_models/profiles.cjs.map +1 -1
  53. package/dist/chat_models/profiles.js +1 -1
  54. package/dist/chat_models/responses.cjs +17 -14
  55. package/dist/chat_models/responses.cjs.map +1 -1
  56. package/dist/chat_models/responses.d.cts +8 -8
  57. package/dist/chat_models/responses.d.cts.map +1 -1
  58. package/dist/chat_models/responses.d.ts +8 -8
  59. package/dist/chat_models/responses.d.ts.map +1 -1
  60. package/dist/chat_models/responses.js +13 -10
  61. package/dist/chat_models/responses.js.map +1 -1
  62. package/dist/converters/completions.cjs +3 -4
  63. package/dist/converters/completions.cjs.map +1 -1
  64. package/dist/converters/completions.d.cts +8 -8
  65. package/dist/converters/completions.d.cts.map +1 -1
  66. package/dist/converters/completions.d.ts +8 -8
  67. package/dist/converters/completions.d.ts.map +1 -1
  68. package/dist/converters/completions.js +1 -2
  69. package/dist/converters/completions.js.map +1 -1
  70. package/dist/converters/index.cjs +2 -2
  71. package/dist/converters/index.js +3 -4
  72. package/dist/converters/responses.cjs +15 -11
  73. package/dist/converters/responses.cjs.map +1 -1
  74. package/dist/converters/responses.d.cts +8 -8
  75. package/dist/converters/responses.d.cts.map +1 -1
  76. package/dist/converters/responses.d.ts +8 -8
  77. package/dist/converters/responses.d.ts.map +1 -1
  78. package/dist/converters/responses.js +12 -8
  79. package/dist/converters/responses.js.map +1 -1
  80. package/dist/embeddings.cjs +3 -4
  81. package/dist/embeddings.cjs.map +1 -1
  82. package/dist/embeddings.d.cts +4 -4
  83. package/dist/embeddings.d.cts.map +1 -1
  84. package/dist/embeddings.d.ts +4 -4
  85. package/dist/embeddings.d.ts.map +1 -1
  86. package/dist/embeddings.js +3 -4
  87. package/dist/embeddings.js.map +1 -1
  88. package/dist/index.cjs +33 -34
  89. package/dist/index.d.cts +2 -1
  90. package/dist/index.d.ts +2 -2
  91. package/dist/index.js +1 -2
  92. package/dist/llms.cjs +4 -5
  93. package/dist/llms.cjs.map +1 -1
  94. package/dist/llms.d.cts +7 -7
  95. package/dist/llms.d.cts.map +1 -1
  96. package/dist/llms.d.ts +7 -7
  97. package/dist/llms.d.ts.map +1 -1
  98. package/dist/llms.js +4 -5
  99. package/dist/llms.js.map +1 -1
  100. package/dist/tools/applyPatch.cjs +1 -2
  101. package/dist/tools/applyPatch.cjs.map +1 -1
  102. package/dist/tools/applyPatch.d.cts +6 -6
  103. package/dist/tools/applyPatch.d.cts.map +1 -1
  104. package/dist/tools/applyPatch.d.ts +6 -6
  105. package/dist/tools/applyPatch.d.ts.map +1 -1
  106. package/dist/tools/applyPatch.js +1 -2
  107. package/dist/tools/applyPatch.js.map +1 -1
  108. package/dist/tools/codeInterpreter.cjs +1 -2
  109. package/dist/tools/codeInterpreter.cjs.map +1 -1
  110. package/dist/tools/codeInterpreter.d.cts +2 -2
  111. package/dist/tools/codeInterpreter.d.cts.map +1 -1
  112. package/dist/tools/codeInterpreter.d.ts +2 -2
  113. package/dist/tools/codeInterpreter.d.ts.map +1 -1
  114. package/dist/tools/codeInterpreter.js +1 -1
  115. package/dist/tools/computerUse.cjs +1 -2
  116. package/dist/tools/computerUse.cjs.map +1 -1
  117. package/dist/tools/computerUse.d.cts +12 -12
  118. package/dist/tools/computerUse.d.cts.map +1 -1
  119. package/dist/tools/computerUse.d.ts +12 -12
  120. package/dist/tools/computerUse.d.ts.map +1 -1
  121. package/dist/tools/computerUse.js +1 -2
  122. package/dist/tools/computerUse.js.map +1 -1
  123. package/dist/tools/custom.cjs +1 -2
  124. package/dist/tools/custom.cjs.map +1 -1
  125. package/dist/tools/custom.d.cts +2 -2
  126. package/dist/tools/custom.d.cts.map +1 -1
  127. package/dist/tools/custom.d.ts +2 -2
  128. package/dist/tools/custom.d.ts.map +1 -1
  129. package/dist/tools/custom.js +1 -2
  130. package/dist/tools/custom.js.map +1 -1
  131. package/dist/tools/dalle.cjs +1 -2
  132. package/dist/tools/dalle.cjs.map +1 -1
  133. package/dist/tools/dalle.d.cts +3 -3
  134. package/dist/tools/dalle.d.cts.map +1 -1
  135. package/dist/tools/dalle.d.ts +3 -3
  136. package/dist/tools/dalle.d.ts.map +1 -1
  137. package/dist/tools/dalle.js +3 -4
  138. package/dist/tools/dalle.js.map +1 -1
  139. package/dist/tools/fileSearch.cjs +1 -2
  140. package/dist/tools/fileSearch.cjs.map +1 -1
  141. package/dist/tools/fileSearch.d.cts +2 -2
  142. package/dist/tools/fileSearch.d.cts.map +1 -1
  143. package/dist/tools/fileSearch.d.ts +2 -2
  144. package/dist/tools/fileSearch.d.ts.map +1 -1
  145. package/dist/tools/fileSearch.js +1 -1
  146. package/dist/tools/fileSearch.js.map +1 -1
  147. package/dist/tools/imageGeneration.cjs +1 -2
  148. package/dist/tools/imageGeneration.cjs.map +1 -1
  149. package/dist/tools/imageGeneration.d.cts +2 -2
  150. package/dist/tools/imageGeneration.d.cts.map +1 -1
  151. package/dist/tools/imageGeneration.d.ts +2 -2
  152. package/dist/tools/imageGeneration.d.ts.map +1 -1
  153. package/dist/tools/imageGeneration.js +1 -1
  154. package/dist/tools/imageGeneration.js.map +1 -1
  155. package/dist/tools/index.cjs +14 -13
  156. package/dist/tools/index.cjs.map +1 -1
  157. package/dist/tools/index.d.cts +2 -0
  158. package/dist/tools/index.d.cts.map +1 -1
  159. package/dist/tools/index.d.ts +2 -0
  160. package/dist/tools/index.d.ts.map +1 -1
  161. package/dist/tools/index.js +5 -4
  162. package/dist/tools/index.js.map +1 -1
  163. package/dist/tools/localShell.cjs +1 -2
  164. package/dist/tools/localShell.cjs.map +1 -1
  165. package/dist/tools/localShell.d.cts +4 -4
  166. package/dist/tools/localShell.d.cts.map +1 -1
  167. package/dist/tools/localShell.d.ts +4 -4
  168. package/dist/tools/localShell.d.ts.map +1 -1
  169. package/dist/tools/localShell.js +1 -2
  170. package/dist/tools/localShell.js.map +1 -1
  171. package/dist/tools/mcp.cjs +1 -2
  172. package/dist/tools/mcp.cjs.map +1 -1
  173. package/dist/tools/mcp.d.cts +2 -2
  174. package/dist/tools/mcp.d.cts.map +1 -1
  175. package/dist/tools/mcp.d.ts +2 -2
  176. package/dist/tools/mcp.d.ts.map +1 -1
  177. package/dist/tools/mcp.js +1 -1
  178. package/dist/tools/mcp.js.map +1 -1
  179. package/dist/tools/shell.cjs +1 -2
  180. package/dist/tools/shell.cjs.map +1 -1
  181. package/dist/tools/shell.d.cts +5 -5
  182. package/dist/tools/shell.d.cts.map +1 -1
  183. package/dist/tools/shell.d.ts +5 -5
  184. package/dist/tools/shell.d.ts.map +1 -1
  185. package/dist/tools/shell.js +1 -2
  186. package/dist/tools/shell.js.map +1 -1
  187. package/dist/tools/toolSearch.cjs +67 -0
  188. package/dist/tools/toolSearch.cjs.map +1 -0
  189. package/dist/tools/toolSearch.d.cts +79 -0
  190. package/dist/tools/toolSearch.d.cts.map +1 -0
  191. package/dist/tools/toolSearch.d.ts +79 -0
  192. package/dist/tools/toolSearch.d.ts.map +1 -0
  193. package/dist/tools/toolSearch.js +67 -0
  194. package/dist/tools/toolSearch.js.map +1 -0
  195. package/dist/tools/webSearch.cjs +1 -2
  196. package/dist/tools/webSearch.cjs.map +1 -1
  197. package/dist/tools/webSearch.d.cts +2 -2
  198. package/dist/tools/webSearch.d.cts.map +1 -1
  199. package/dist/tools/webSearch.d.ts +2 -2
  200. package/dist/tools/webSearch.d.ts.map +1 -1
  201. package/dist/tools/webSearch.js +1 -1
  202. package/dist/tools/webSearch.js.map +1 -1
  203. package/dist/types.d.cts +10 -10
  204. package/dist/types.d.cts.map +1 -1
  205. package/dist/types.d.ts +10 -10
  206. package/dist/types.d.ts.map +1 -1
  207. package/dist/utils/azure.cjs +2 -3
  208. package/dist/utils/azure.cjs.map +1 -1
  209. package/dist/utils/azure.js +1 -2
  210. package/dist/utils/azure.js.map +1 -1
  211. package/dist/utils/client.cjs +2 -3
  212. package/dist/utils/client.cjs.map +1 -1
  213. package/dist/utils/client.js +1 -2
  214. package/dist/utils/client.js.map +1 -1
  215. package/dist/utils/errors.cjs +1 -2
  216. package/dist/utils/errors.cjs.map +1 -1
  217. package/dist/utils/errors.js +1 -1
  218. package/dist/utils/errors.js.map +1 -1
  219. package/dist/utils/misc.cjs +1 -2
  220. package/dist/utils/misc.cjs.map +1 -1
  221. package/dist/utils/misc.d.cts +2 -2
  222. package/dist/utils/misc.d.cts.map +1 -1
  223. package/dist/utils/misc.d.ts +2 -2
  224. package/dist/utils/misc.d.ts.map +1 -1
  225. package/dist/utils/misc.js +1 -2
  226. package/dist/utils/misc.js.map +1 -1
  227. package/dist/utils/output.cjs +1 -2
  228. package/dist/utils/output.cjs.map +1 -1
  229. package/dist/utils/output.js +1 -2
  230. package/dist/utils/output.js.map +1 -1
  231. package/dist/utils/prompts.cjs +2 -3
  232. package/dist/utils/prompts.cjs.map +1 -1
  233. package/dist/utils/prompts.d.cts +2 -2
  234. package/dist/utils/prompts.d.cts.map +1 -1
  235. package/dist/utils/prompts.d.ts +2 -2
  236. package/dist/utils/prompts.d.ts.map +1 -1
  237. package/dist/utils/prompts.js +1 -2
  238. package/dist/utils/prompts.js.map +1 -1
  239. package/dist/utils/tools.cjs +3 -4
  240. package/dist/utils/tools.cjs.map +1 -1
  241. package/dist/utils/tools.d.cts +5 -5
  242. package/dist/utils/tools.d.cts.map +1 -1
  243. package/dist/utils/tools.d.ts +5 -6
  244. package/dist/utils/tools.d.ts.map +1 -1
  245. package/dist/utils/tools.js +3 -4
  246. package/dist/utils/tools.js.map +1 -1
  247. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"webSearch.js","names":[],"sources":["../../src/tools/webSearch.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport type { ServerTool } from \"@langchain/core/tools\";\n\n/**\n * User location configuration for geographic search refinement.\n */\nexport interface WebSearchUserLocation {\n /**\n * The type of location. Currently only \"approximate\" is supported.\n */\n type: \"approximate\";\n /**\n * Two-letter ISO country code (e.g., \"US\", \"GB\").\n * @see https://en.wikipedia.org/wiki/ISO_3166-1\n */\n country?: string;\n /**\n * City name (e.g., \"San Francisco\", \"London\").\n */\n city?: string;\n /**\n * Region or state name (e.g., \"California\", \"London\").\n */\n region?: string;\n /**\n * IANA timezone (e.g., \"America/Los_Angeles\", \"Europe/London\").\n * @see https://timeapi.io/documentation/iana-timezones\n */\n timezone?: string;\n}\n\n/**\n * Domain filtering configuration for web search.\n */\nexport interface WebSearchFilters {\n /**\n * Allow-list of up to 100 domains to limit search results.\n * Omit the HTTP/HTTPS prefix (e.g., \"openai.com\" instead of \"https://openai.com/\").\n * Includes subdomains automatically.\n */\n allowedDomains?: string[];\n}\n\n/**\n * Options for the OpenAI web search tool.\n */\nexport interface WebSearchOptions {\n /**\n * Domain filtering configuration.\n * Limit results to a specific set of up to 100 domains.\n */\n filters?: WebSearchFilters;\n /**\n * Approximate user location for geographic search refinement.\n * Not supported for deep research models.\n */\n userLocation?: WebSearchUserLocation;\n /**\n * High level guidance for the amount of context window space to use for the\n * search. One of `low`, `medium`, or `high`. `medium` is the default.\n */\n search_context_size?: \"low\" | \"medium\" | \"high\";\n}\n\n/**\n * OpenAI web search tool type for the Responses API.\n */\nexport type WebSearchTool = OpenAIClient.Responses.WebSearchTool;\n\n/**\n * Creates a web search tool that allows OpenAI models to search the web\n * for up-to-date information before generating a response.\n *\n * Web search supports three main types:\n * 1. **Non-reasoning web search**: Quick lookups where the model passes queries\n * directly to the search tool.\n * 2. **Agentic search with reasoning models**: The model actively manages the\n * search process, analyzing results and deciding whether to keep searching.\n * 3. **Deep research**: Extended investigations using models like `o3-deep-research`\n * or `gpt-5` with high reasoning effort.\n *\n * @see {@link https://platform.openai.com/docs/guides/tools-web-search | OpenAI Web Search Documentation}\n * @param options - Configuration options for the web search tool\n * @returns A web search tool definition to be passed to the OpenAI Responses API\n *\n * @example\n * ```typescript\n * import { ChatOpenAI, tools } from \"@langchain/openai\";\n *\n * const model = new ChatOpenAI({\n * model: \"gpt-4o\",\n * });\n *\n * // Basic usage\n * const response = await model.invoke(\"What was a positive news story from today?\", {\n * tools: [tools.webSearch()],\n * });\n *\n * // With domain filtering\n * const filteredResponse = await model.invoke(\"Latest AI research news\", {\n * tools: [tools.webSearch({\n * filters: {\n * allowedDomains: [\"arxiv.org\", \"nature.com\", \"science.org\"],\n * },\n * })],\n * });\n *\n * // With user location for geographic relevance\n * const localResponse = await model.invoke(\"What are the best restaurants near me?\", {\n * tools: [tools.webSearch({\n * userLocation: {\n * type: \"approximate\",\n * country: \"US\",\n * city: \"San Francisco\",\n * region: \"California\",\n * timezone: \"America/Los_Angeles\",\n * },\n * })],\n * });\n *\n * // Cache-only mode (no live internet access)\n * const cachedResponse = await model.invoke(\"Find information about OpenAI\", {\n * tools: [tools.webSearch({\n * externalWebAccess: false,\n * })],\n * });\n * ```\n */\nexport function webSearch(options?: WebSearchOptions): ServerTool {\n return {\n type: \"web_search\",\n filters: options?.filters?.allowedDomains\n ? { allowed_domains: options.filters.allowedDomains }\n : undefined,\n user_location: options?.userLocation,\n search_context_size: options?.search_context_size,\n } satisfies WebSearchTool;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgIA,SAAgB,UAAU,SAAwC;AAChE,QAAO;EACL,MAAM;EACN,SAAS,SAAS,SAAS,iBACvB,EAAE,iBAAiB,QAAQ,QAAQ,gBAAgB,GACnD;EACJ,eAAe,SAAS;EACxB,qBAAqB,SAAS;EAC/B"}
1
+ {"version":3,"file":"webSearch.js","names":[],"sources":["../../src/tools/webSearch.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport type { ServerTool } from \"@langchain/core/tools\";\n\n/**\n * User location configuration for geographic search refinement.\n */\nexport interface WebSearchUserLocation {\n /**\n * The type of location. Currently only \"approximate\" is supported.\n */\n type: \"approximate\";\n /**\n * Two-letter ISO country code (e.g., \"US\", \"GB\").\n * @see https://en.wikipedia.org/wiki/ISO_3166-1\n */\n country?: string;\n /**\n * City name (e.g., \"San Francisco\", \"London\").\n */\n city?: string;\n /**\n * Region or state name (e.g., \"California\", \"London\").\n */\n region?: string;\n /**\n * IANA timezone (e.g., \"America/Los_Angeles\", \"Europe/London\").\n * @see https://timeapi.io/documentation/iana-timezones\n */\n timezone?: string;\n}\n\n/**\n * Domain filtering configuration for web search.\n */\nexport interface WebSearchFilters {\n /**\n * Allow-list of up to 100 domains to limit search results.\n * Omit the HTTP/HTTPS prefix (e.g., \"openai.com\" instead of \"https://openai.com/\").\n * Includes subdomains automatically.\n */\n allowedDomains?: string[];\n}\n\n/**\n * Options for the OpenAI web search tool.\n */\nexport interface WebSearchOptions {\n /**\n * Domain filtering configuration.\n * Limit results to a specific set of up to 100 domains.\n */\n filters?: WebSearchFilters;\n /**\n * Approximate user location for geographic search refinement.\n * Not supported for deep research models.\n */\n userLocation?: WebSearchUserLocation;\n /**\n * High level guidance for the amount of context window space to use for the\n * search. One of `low`, `medium`, or `high`. `medium` is the default.\n */\n search_context_size?: \"low\" | \"medium\" | \"high\";\n}\n\n/**\n * OpenAI web search tool type for the Responses API.\n */\nexport type WebSearchTool = OpenAIClient.Responses.WebSearchTool;\n\n/**\n * Creates a web search tool that allows OpenAI models to search the web\n * for up-to-date information before generating a response.\n *\n * Web search supports three main types:\n * 1. **Non-reasoning web search**: Quick lookups where the model passes queries\n * directly to the search tool.\n * 2. **Agentic search with reasoning models**: The model actively manages the\n * search process, analyzing results and deciding whether to keep searching.\n * 3. **Deep research**: Extended investigations using models like `o3-deep-research`\n * or `gpt-5` with high reasoning effort.\n *\n * @see {@link https://platform.openai.com/docs/guides/tools-web-search | OpenAI Web Search Documentation}\n * @param options - Configuration options for the web search tool\n * @returns A web search tool definition to be passed to the OpenAI Responses API\n *\n * @example\n * ```typescript\n * import { ChatOpenAI, tools } from \"@langchain/openai\";\n *\n * const model = new ChatOpenAI({\n * model: \"gpt-4o\",\n * });\n *\n * // Basic usage\n * const response = await model.invoke(\"What was a positive news story from today?\", {\n * tools: [tools.webSearch()],\n * });\n *\n * // With domain filtering\n * const filteredResponse = await model.invoke(\"Latest AI research news\", {\n * tools: [tools.webSearch({\n * filters: {\n * allowedDomains: [\"arxiv.org\", \"nature.com\", \"science.org\"],\n * },\n * })],\n * });\n *\n * // With user location for geographic relevance\n * const localResponse = await model.invoke(\"What are the best restaurants near me?\", {\n * tools: [tools.webSearch({\n * userLocation: {\n * type: \"approximate\",\n * country: \"US\",\n * city: \"San Francisco\",\n * region: \"California\",\n * timezone: \"America/Los_Angeles\",\n * },\n * })],\n * });\n *\n * // Cache-only mode (no live internet access)\n * const cachedResponse = await model.invoke(\"Find information about OpenAI\", {\n * tools: [tools.webSearch({\n * externalWebAccess: false,\n * })],\n * });\n * ```\n */\nexport function webSearch(options?: WebSearchOptions): ServerTool {\n return {\n type: \"web_search\",\n filters: options?.filters?.allowedDomains\n ? { allowed_domains: options.filters.allowedDomains }\n : undefined,\n user_location: options?.userLocation,\n search_context_size: options?.search_context_size,\n } satisfies WebSearchTool;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgIA,SAAgB,UAAU,SAAwC;AAChE,QAAO;EACL,MAAM;EACN,SAAS,SAAS,SAAS,iBACvB,EAAE,iBAAiB,QAAQ,QAAQ,gBAAgB,GACnD,KAAA;EACJ,eAAe,SAAS;EACxB,qBAAqB,SAAS;EAC/B"}
package/dist/types.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { ClientOptions, OpenAI as OpenAI$1 } from "openai";
1
+ import { ClientOptions, OpenAI } from "openai";
2
2
  import { BaseLanguageModelCallOptions } from "@langchain/core/language_models/base";
3
3
  import { InteropZodObject } from "@langchain/core/utils/types";
4
4
  import { ResponseFormatJSONObject, ResponseFormatJSONSchema, ResponseFormatText, ResponseFormatTextGrammar, ResponseFormatTextPython } from "openai/resources/shared";
@@ -8,7 +8,7 @@ import { TiktokenModel } from "js-tiktoken/lite";
8
8
  /**
9
9
  * @see https://platform.openai.com/docs/models
10
10
  */
11
- type OpenAIChatModelId = OpenAI$1.ChatModel | (string & NonNullable<unknown>);
11
+ type OpenAIChatModelId = OpenAI.ChatModel | (string & NonNullable<unknown>);
12
12
  type OpenAIVerbosityParam = "low" | "medium" | "high" | null;
13
13
  type OpenAICacheRetentionParam = "in-memory" | "24h" | null;
14
14
  type OpenAIApiKey = ClientOptions["apiKey"];
@@ -85,7 +85,7 @@ declare interface OpenAIBaseInput {
85
85
  */
86
86
  verbosity?: OpenAIVerbosityParam;
87
87
  }
88
- type OpenAICoreRequestOptions = OpenAI$1.RequestOptions;
88
+ type OpenAICoreRequestOptions = OpenAI.RequestOptions;
89
89
  interface OpenAICallOptions extends BaseLanguageModelCallOptions {
90
90
  /**
91
91
  * Additional options to pass to the underlying axios request.
@@ -113,7 +113,7 @@ interface OpenAIChatInput extends OpenAIBaseInput {
113
113
  */
114
114
  topLogprobs?: number;
115
115
  /** ChatGPT messages to pass as a prefix to the prompt */
116
- prefixMessages?: OpenAI$1.Chat.ChatCompletionMessageParam[];
116
+ prefixMessages?: OpenAI.Chat.ChatCompletionMessageParam[];
117
117
  /**
118
118
  * Whether to include the raw OpenAI response in the output message's "additional_kwargs" field.
119
119
  * Currently in experimental beta.
@@ -136,20 +136,20 @@ interface OpenAIChatInput extends OpenAIBaseInput {
136
136
  *
137
137
  * `["text", "audio"]`
138
138
  */
139
- modalities?: Array<OpenAI$1.Chat.ChatCompletionModality>;
139
+ modalities?: Array<OpenAI.Chat.ChatCompletionModality>;
140
140
  /**
141
141
  * Parameters for audio output. Required when audio output is requested with
142
142
  * `modalities: ["audio"]`.
143
143
  * [Learn more](https://platform.openai.com/docs/guides/audio).
144
144
  */
145
- audio?: OpenAI$1.Chat.ChatCompletionAudioParam;
145
+ audio?: OpenAI.Chat.ChatCompletionAudioParam;
146
146
  /**
147
147
  * Options for reasoning models.
148
148
  *
149
149
  * Note that some options, like reasoning summaries, are only available when using the responses
150
150
  * API. This option is ignored when not using a reasoning model.
151
151
  */
152
- reasoning?: OpenAI$1.Reasoning;
152
+ reasoning?: OpenAI.Reasoning;
153
153
  /**
154
154
  * Should be set to `true` in tenancies with Zero Data Retention
155
155
  * @see https://platform.openai.com/docs/guides/your-data
@@ -161,7 +161,7 @@ interface OpenAIChatInput extends OpenAIBaseInput {
161
161
  * Service tier to use for this request. Can be "auto", "default", or "flex" or "priority".
162
162
  * Specifies the service tier for prioritization and latency optimization.
163
163
  */
164
- service_tier?: OpenAI$1.Responses.ResponseCreateParams["service_tier"];
164
+ service_tier?: OpenAI.Responses.ResponseCreateParams["service_tier"];
165
165
  /**
166
166
  * Used by OpenAI to cache responses for similar requests to optimize your cache
167
167
  * hit rates. Replaces the `user` field.
@@ -248,13 +248,13 @@ type ChatOpenAIResponseFormatJSONSchema = Omit<ResponseFormatJSONSchema, "json_s
248
248
  /**
249
249
  * The summary of a model's reasoning step.
250
250
  */
251
- type ChatOpenAIReasoningSummary = Omit<OpenAI$1.Responses.ResponseReasoningItem, "summary"> & {
251
+ type ChatOpenAIReasoningSummary = Omit<OpenAI.Responses.ResponseReasoningItem, "summary"> & {
252
252
  /**
253
253
  * The summary of the reasoning step. The index field will be populated if the response was
254
254
  * streamed. This allows LangChain to recompose the reasoning summary output correctly when the
255
255
  * AIMessage is used as an input for future generation requests.
256
256
  */
257
- summary: Array<OpenAI$1.Responses.ResponseReasoningItem.Summary & {
257
+ summary: Array<OpenAI.Responses.ResponseReasoningItem.Summary & {
258
258
  index?: number;
259
259
  }>;
260
260
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;AAoBA;;KAAY,iBAAA,GACR,QAAA,CAAa,SAAA,aACH,WAAA;AAAA,KAEF,oBAAA;AAAA,KACA,yBAAA;AAAA,KAEA,YAAA,GAAe,aAAA;AAAA,kBAEF,eAAA;EAPA;EASvB,WAAA;EAPU;;;;EAaV,SAAA;EAZU;;;;;EAmBV,mBAAA;EAjBsB;EAoBtB,IAAA;EApByB;EAuBzB,gBAAA;EArBuB;EAwBvB,eAAA;;EAGA,CAAA;EAyBO;EAtBP,SAAA,GAAY,MAAA;EAiDG;EA9Cf,IAAA;EAwDY;EArDZ,SAAA;EAqDgC;;;;EA/ChC,WAAA;EArBA;;;;;EA4BA,SAAA;EAbA;EAgBA,KAAA,EAAO,iBAAA;EAHP;;;;EAUA,WAAA,GAAc,MAAA;EAMd;;;;EAAA,IAAA;EAmBA;EAjBA,aAAA;EAsBA;;;EAjBA,OAAA;EAoBU;;;;;EAbV,YAAA,GAAe,YAAA;EAekB;;;;EAVjC,MAAA,GAAS,YAAA;EAcC;;;EATV,SAAA,GAAY,oBAAA;AAAA;AAAA,KAGF,wBAAA,GAA2B,QAAA,CAAa,cAAA;AAAA,UAEnC,iBAAA,SAA0B,4BAAA;EAUE;;;EAN3C,OAAA,GAAU,wBAAA;AAAA;AAcZ;;;AAAA,kBARyB,WAAA,SAAoB,eAAA;EAgDxB;EA9CnB,MAAA;EAqDQ;EAlDR,SAAA;AAAA;AAAA,UAGe,eAAA,SAAwB,eAAA;EAAA;;;;EAKvC,QAAA;EAMA;;;;EAAA,WAAA;EASA;EANA,cAAA,GAAiB,QAAA,CAAa,IAAA,CAAK,0BAAA;EA0BnC;;;;EApBA,oBAAA;EA2BA;;;;EArBA,yBAAA;EA6BY;;;;;;;;;;;;EAfZ,UAAA,GAAa,KAAA,CAAM,QAAA,CAAa,IAAA,CAAK,sBAAA;EA4CN;;;;;EArC/B,KAAA,GAAQ,QAAA,CAAa,IAAA,CAAK,wBAAA;EA8D1B;;;;;;EAtDA,SAAA,GAAY,QAAA,CAAa,SAAA;EA6FW;;AAGtC;;;;EAxFE,UAAA;EAyFyB;;;;EAnFzB,YAAA,GAAe,QAAA,CAAa,SAAA,CAAU,oBAAA;EAsFxB;AACf;;;;EAhFC,cAAA;EAsFkB;;;EAjFlB,oBAAA,GAAuB,yBAAA;AAAA;AAAA,UAGR,gBAAA;EA0EyB;;;EAtExC,qBAAA;EA0EkB;;;EArElB,iBAAA;EA2EgD;;AAOlD;;;;EA1EE,0BAAA;EAoFE;;;;;;EA5EF,4BAAA;EAmEuB;;;;;;;EA1DvB,sCAAA;EAmEgE;;AAIlE;;;;;;EA7DE,uCAAA;EAkEE;;;;;EA3DF,mBAAA;EA0DE;;;;AAGJ;EAtDE,mBAAA;;;;;EAMA,oBAAA,SAA6B,OAAA;AAAA;AAAA,UAGd,oBAAA,SACP,eAAA,EAAiB,gBAAA;EACzB,gBAAA;EACA,cAAA;EACA,cAAA;AAAA;AAAA,KAGG,kCAAA,GAAqC,IAAA,CACxC,wBAAA;EAGA,WAAA,EAAa,IAAA,CAAK,wBAAA;;;;;IAMhB,MAAA,EAAQ,MAAA,gBAAsB,gBAAA;EAAA;AAAA;;;;KAOtB,0BAAA,GAA6B,IAAA,CACvC,QAAA,CAAa,SAAA,CAAU,qBAAA;;;;;;EAQvB,OAAA,EAAS,KAAA,CACP,QAAA,CAAa,SAAA,CAAU,qBAAA,CAAsB,OAAA;IAAY,KAAA;EAAA;AAAA;AAAA,KAIjD,wBAAA,GACR,kBAAA,GACA,wBAAA,GACA,yBAAA,GACA,wBAAA,GACA,kCAAA;AAAA,KAEQ,2BAAA,GACR,kBAAA,GACA,wBAAA,GACA,wBAAA"}
1
+ {"version":3,"file":"types.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;AAoBA;;KAAY,iBAAA,GACR,MAAA,CAAa,SAAA,aACH,WAAA;AAAA,KAEF,oBAAA;AAAA,KACA,yBAAA;AAAA,KAEA,YAAA,GAAe,aAAA;AAAA,kBAEF,eAAA;EAPA;EASvB,WAAA;EAPU;;;;EAaV,SAAA;EAZU;;;;;EAmBV,mBAAA;EAjBsB;EAoBtB,IAAA;EApByB;EAuBzB,gBAAA;EArBuB;EAwBvB,eAAA;;EAGA,CAAA;EAyBO;EAtBP,SAAA,GAAY,MAAA;EAiDG;EA9Cf,IAAA;EAwDY;EArDZ,SAAA;EAqDgC;;;;EA/ChC,WAAA;EArBA;;;;;EA4BA,SAAA;EAbA;EAgBA,KAAA,EAAO,iBAAA;EAHP;;;;EAUA,WAAA,GAAc,MAAA;EAMd;;;;EAAA,IAAA;EAmBA;EAjBA,aAAA;EAsBA;;;EAjBA,OAAA;EAoBU;;;;;EAbV,YAAA,GAAe,YAAA;EAekB;;;;EAVjC,MAAA,GAAS,YAAA;EAcC;;;EATV,SAAA,GAAY,oBAAA;AAAA;AAAA,KAGF,wBAAA,GAA2B,MAAA,CAAa,cAAA;AAAA,UAEnC,iBAAA,SAA0B,4BAAA;EAUE;;;EAN3C,OAAA,GAAU,wBAAA;AAAA;AAcZ;;;AAAA,kBARyB,WAAA,SAAoB,eAAA;EAgDxB;EA9CnB,MAAA;EAqDQ;EAlDR,SAAA;AAAA;AAAA,UAGe,eAAA,SAAwB,eAAA;EAAA;;;;EAKvC,QAAA;EAMA;;;;EAAA,WAAA;EASA;EANA,cAAA,GAAiB,MAAA,CAAa,IAAA,CAAK,0BAAA;EA0BnC;;;;EApBA,oBAAA;EA2BA;;;;EArBA,yBAAA;EA6BY;;;;;;;;;;;;EAfZ,UAAA,GAAa,KAAA,CAAM,MAAA,CAAa,IAAA,CAAK,sBAAA;EA4CN;;;;;EArC/B,KAAA,GAAQ,MAAA,CAAa,IAAA,CAAK,wBAAA;EA8D1B;;;;;;EAtDA,SAAA,GAAY,MAAA,CAAa,SAAA;EA6FW;;AAGtC;;;;EAxFE,UAAA;EAyFyB;;;;EAnFzB,YAAA,GAAe,MAAA,CAAa,SAAA,CAAU,oBAAA;EAsFxB;AACf;;;;EAhFC,cAAA;EAsFkB;;;EAjFlB,oBAAA,GAAuB,yBAAA;AAAA;AAAA,UAGR,gBAAA;EA0EyB;;;EAtExC,qBAAA;EA0EkB;;;EArElB,iBAAA;EA2EgD;;AAOlD;;;;EA1EE,0BAAA;EAoFE;;;;;;EA5EF,4BAAA;EAmEuB;;;;;;;EA1DvB,sCAAA;EAmEgE;;AAIlE;;;;;;EA7DE,uCAAA;EAkEE;;;;;EA3DF,mBAAA;EA0DE;;;;AAGJ;EAtDE,mBAAA;;;;;EAMA,oBAAA,SAA6B,OAAA;AAAA;AAAA,UAGd,oBAAA,SACP,eAAA,EAAiB,gBAAA;EACzB,gBAAA;EACA,cAAA;EACA,cAAA;AAAA;AAAA,KAGG,kCAAA,GAAqC,IAAA,CACxC,wBAAA;EAGA,WAAA,EAAa,IAAA,CAAK,wBAAA;;;;;IAMhB,MAAA,EAAQ,MAAA,gBAAsB,gBAAA;EAAA;AAAA;;;;KAOtB,0BAAA,GAA6B,IAAA,CACvC,MAAA,CAAa,SAAA,CAAU,qBAAA;;;;;;EAQvB,OAAA,EAAS,KAAA,CACP,MAAA,CAAa,SAAA,CAAU,qBAAA,CAAsB,OAAA;IAAY,KAAA;EAAA;AAAA;AAAA,KAIjD,wBAAA,GACR,kBAAA,GACA,wBAAA,GACA,yBAAA,GACA,wBAAA,GACA,kCAAA;AAAA,KAEQ,2BAAA,GACR,kBAAA,GACA,wBAAA,GACA,wBAAA"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ClientOptions, OpenAI as OpenAI$1 } from "openai";
1
+ import { ClientOptions, OpenAI } from "openai";
2
2
  import { InteropZodObject } from "@langchain/core/utils/types";
3
3
  import { BaseLanguageModelCallOptions } from "@langchain/core/language_models/base";
4
4
  import { ResponseFormatJSONObject, ResponseFormatJSONSchema, ResponseFormatText, ResponseFormatTextGrammar, ResponseFormatTextPython } from "openai/resources/shared";
@@ -8,7 +8,7 @@ import { TiktokenModel } from "js-tiktoken/lite";
8
8
  /**
9
9
  * @see https://platform.openai.com/docs/models
10
10
  */
11
- type OpenAIChatModelId = OpenAI$1.ChatModel | (string & NonNullable<unknown>);
11
+ type OpenAIChatModelId = OpenAI.ChatModel | (string & NonNullable<unknown>);
12
12
  type OpenAIVerbosityParam = "low" | "medium" | "high" | null;
13
13
  type OpenAICacheRetentionParam = "in-memory" | "24h" | null;
14
14
  type OpenAIApiKey = ClientOptions["apiKey"];
@@ -85,7 +85,7 @@ declare interface OpenAIBaseInput {
85
85
  */
86
86
  verbosity?: OpenAIVerbosityParam;
87
87
  }
88
- type OpenAICoreRequestOptions = OpenAI$1.RequestOptions;
88
+ type OpenAICoreRequestOptions = OpenAI.RequestOptions;
89
89
  interface OpenAICallOptions extends BaseLanguageModelCallOptions {
90
90
  /**
91
91
  * Additional options to pass to the underlying axios request.
@@ -113,7 +113,7 @@ interface OpenAIChatInput extends OpenAIBaseInput {
113
113
  */
114
114
  topLogprobs?: number;
115
115
  /** ChatGPT messages to pass as a prefix to the prompt */
116
- prefixMessages?: OpenAI$1.Chat.ChatCompletionMessageParam[];
116
+ prefixMessages?: OpenAI.Chat.ChatCompletionMessageParam[];
117
117
  /**
118
118
  * Whether to include the raw OpenAI response in the output message's "additional_kwargs" field.
119
119
  * Currently in experimental beta.
@@ -136,20 +136,20 @@ interface OpenAIChatInput extends OpenAIBaseInput {
136
136
  *
137
137
  * `["text", "audio"]`
138
138
  */
139
- modalities?: Array<OpenAI$1.Chat.ChatCompletionModality>;
139
+ modalities?: Array<OpenAI.Chat.ChatCompletionModality>;
140
140
  /**
141
141
  * Parameters for audio output. Required when audio output is requested with
142
142
  * `modalities: ["audio"]`.
143
143
  * [Learn more](https://platform.openai.com/docs/guides/audio).
144
144
  */
145
- audio?: OpenAI$1.Chat.ChatCompletionAudioParam;
145
+ audio?: OpenAI.Chat.ChatCompletionAudioParam;
146
146
  /**
147
147
  * Options for reasoning models.
148
148
  *
149
149
  * Note that some options, like reasoning summaries, are only available when using the responses
150
150
  * API. This option is ignored when not using a reasoning model.
151
151
  */
152
- reasoning?: OpenAI$1.Reasoning;
152
+ reasoning?: OpenAI.Reasoning;
153
153
  /**
154
154
  * Should be set to `true` in tenancies with Zero Data Retention
155
155
  * @see https://platform.openai.com/docs/guides/your-data
@@ -161,7 +161,7 @@ interface OpenAIChatInput extends OpenAIBaseInput {
161
161
  * Service tier to use for this request. Can be "auto", "default", or "flex" or "priority".
162
162
  * Specifies the service tier for prioritization and latency optimization.
163
163
  */
164
- service_tier?: OpenAI$1.Responses.ResponseCreateParams["service_tier"];
164
+ service_tier?: OpenAI.Responses.ResponseCreateParams["service_tier"];
165
165
  /**
166
166
  * Used by OpenAI to cache responses for similar requests to optimize your cache
167
167
  * hit rates. Replaces the `user` field.
@@ -248,13 +248,13 @@ type ChatOpenAIResponseFormatJSONSchema = Omit<ResponseFormatJSONSchema, "json_s
248
248
  /**
249
249
  * The summary of a model's reasoning step.
250
250
  */
251
- type ChatOpenAIReasoningSummary = Omit<OpenAI$1.Responses.ResponseReasoningItem, "summary"> & {
251
+ type ChatOpenAIReasoningSummary = Omit<OpenAI.Responses.ResponseReasoningItem, "summary"> & {
252
252
  /**
253
253
  * The summary of the reasoning step. The index field will be populated if the response was
254
254
  * streamed. This allows LangChain to recompose the reasoning summary output correctly when the
255
255
  * AIMessage is used as an input for future generation requests.
256
256
  */
257
- summary: Array<OpenAI$1.Responses.ResponseReasoningItem.Summary & {
257
+ summary: Array<OpenAI.Responses.ResponseReasoningItem.Summary & {
258
258
  index?: number;
259
259
  }>;
260
260
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;AAoBA;;KAAY,iBAAA,GACR,QAAA,CAAa,SAAA,aACH,WAAA;AAAA,KAEF,oBAAA;AAAA,KACA,yBAAA;AAAA,KAEA,YAAA,GAAe,aAAA;AAAA,kBAEF,eAAA;EAPA;EASvB,WAAA;EAPU;;;;EAaV,SAAA;EAZU;;;;;EAmBV,mBAAA;EAjBsB;EAoBtB,IAAA;EApByB;EAuBzB,gBAAA;EArBuB;EAwBvB,eAAA;;EAGA,CAAA;EAyBO;EAtBP,SAAA,GAAY,MAAA;EAiDG;EA9Cf,IAAA;EAwDY;EArDZ,SAAA;EAqDgC;;;;EA/ChC,WAAA;EArBA;;;;;EA4BA,SAAA;EAbA;EAgBA,KAAA,EAAO,iBAAA;EAHP;;;;EAUA,WAAA,GAAc,MAAA;EAMd;;;;EAAA,IAAA;EAmBA;EAjBA,aAAA;EAsBA;;;EAjBA,OAAA;EAoBU;;;;;EAbV,YAAA,GAAe,YAAA;EAekB;;;;EAVjC,MAAA,GAAS,YAAA;EAcC;;;EATV,SAAA,GAAY,oBAAA;AAAA;AAAA,KAGF,wBAAA,GAA2B,QAAA,CAAa,cAAA;AAAA,UAEnC,iBAAA,SAA0B,4BAAA;EAUE;;;EAN3C,OAAA,GAAU,wBAAA;AAAA;AAcZ;;;AAAA,kBARyB,WAAA,SAAoB,eAAA;EAgDxB;EA9CnB,MAAA;EAqDQ;EAlDR,SAAA;AAAA;AAAA,UAGe,eAAA,SAAwB,eAAA;EAAA;;;;EAKvC,QAAA;EAMA;;;;EAAA,WAAA;EASA;EANA,cAAA,GAAiB,QAAA,CAAa,IAAA,CAAK,0BAAA;EA0BnC;;;;EApBA,oBAAA;EA2BA;;;;EArBA,yBAAA;EA6BY;;;;;;;;;;;;EAfZ,UAAA,GAAa,KAAA,CAAM,QAAA,CAAa,IAAA,CAAK,sBAAA;EA4CN;;;;;EArC/B,KAAA,GAAQ,QAAA,CAAa,IAAA,CAAK,wBAAA;EA8D1B;;;;;;EAtDA,SAAA,GAAY,QAAA,CAAa,SAAA;EA6FW;;AAGtC;;;;EAxFE,UAAA;EAyFyB;;;;EAnFzB,YAAA,GAAe,QAAA,CAAa,SAAA,CAAU,oBAAA;EAsFxB;AACf;;;;EAhFC,cAAA;EAsFkB;;;EAjFlB,oBAAA,GAAuB,yBAAA;AAAA;AAAA,UAGR,gBAAA;EA0EyB;;;EAtExC,qBAAA;EA0EkB;;;EArElB,iBAAA;EA2EgD;;AAOlD;;;;EA1EE,0BAAA;EAoFE;;;;;;EA5EF,4BAAA;EAmEuB;;;;;;;EA1DvB,sCAAA;EAmEgE;;AAIlE;;;;;;EA7DE,uCAAA;EAkEE;;;;;EA3DF,mBAAA;EA0DE;;;;AAGJ;EAtDE,mBAAA;;;;;EAMA,oBAAA,SAA6B,OAAA;AAAA;AAAA,UAGd,oBAAA,SACP,eAAA,EAAiB,gBAAA;EACzB,gBAAA;EACA,cAAA;EACA,cAAA;AAAA;AAAA,KAGG,kCAAA,GAAqC,IAAA,CACxC,wBAAA;EAGA,WAAA,EAAa,IAAA,CAAK,wBAAA;;;;;IAMhB,MAAA,EAAQ,MAAA,gBAAsB,gBAAA;EAAA;AAAA;;;;KAOtB,0BAAA,GAA6B,IAAA,CACvC,QAAA,CAAa,SAAA,CAAU,qBAAA;;;;;;EAQvB,OAAA,EAAS,KAAA,CACP,QAAA,CAAa,SAAA,CAAU,qBAAA,CAAsB,OAAA;IAAY,KAAA;EAAA;AAAA;AAAA,KAIjD,wBAAA,GACR,kBAAA,GACA,wBAAA,GACA,yBAAA,GACA,wBAAA,GACA,kCAAA;AAAA,KAEQ,2BAAA,GACR,kBAAA,GACA,wBAAA,GACA,wBAAA"}
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;;;;;;AAoBA;;KAAY,iBAAA,GACR,MAAA,CAAa,SAAA,aACH,WAAA;AAAA,KAEF,oBAAA;AAAA,KACA,yBAAA;AAAA,KAEA,YAAA,GAAe,aAAA;AAAA,kBAEF,eAAA;EAPA;EASvB,WAAA;EAPU;;;;EAaV,SAAA;EAZU;;;;;EAmBV,mBAAA;EAjBsB;EAoBtB,IAAA;EApByB;EAuBzB,gBAAA;EArBuB;EAwBvB,eAAA;;EAGA,CAAA;EAyBO;EAtBP,SAAA,GAAY,MAAA;EAiDG;EA9Cf,IAAA;EAwDY;EArDZ,SAAA;EAqDgC;;;;EA/ChC,WAAA;EArBA;;;;;EA4BA,SAAA;EAbA;EAgBA,KAAA,EAAO,iBAAA;EAHP;;;;EAUA,WAAA,GAAc,MAAA;EAMd;;;;EAAA,IAAA;EAmBA;EAjBA,aAAA;EAsBA;;;EAjBA,OAAA;EAoBU;;;;;EAbV,YAAA,GAAe,YAAA;EAekB;;;;EAVjC,MAAA,GAAS,YAAA;EAcC;;;EATV,SAAA,GAAY,oBAAA;AAAA;AAAA,KAGF,wBAAA,GAA2B,MAAA,CAAa,cAAA;AAAA,UAEnC,iBAAA,SAA0B,4BAAA;EAUE;;;EAN3C,OAAA,GAAU,wBAAA;AAAA;AAcZ;;;AAAA,kBARyB,WAAA,SAAoB,eAAA;EAgDxB;EA9CnB,MAAA;EAqDQ;EAlDR,SAAA;AAAA;AAAA,UAGe,eAAA,SAAwB,eAAA;EAAA;;;;EAKvC,QAAA;EAMA;;;;EAAA,WAAA;EASA;EANA,cAAA,GAAiB,MAAA,CAAa,IAAA,CAAK,0BAAA;EA0BnC;;;;EApBA,oBAAA;EA2BA;;;;EArBA,yBAAA;EA6BY;;;;;;;;;;;;EAfZ,UAAA,GAAa,KAAA,CAAM,MAAA,CAAa,IAAA,CAAK,sBAAA;EA4CN;;;;;EArC/B,KAAA,GAAQ,MAAA,CAAa,IAAA,CAAK,wBAAA;EA8D1B;;;;;;EAtDA,SAAA,GAAY,MAAA,CAAa,SAAA;EA6FW;;AAGtC;;;;EAxFE,UAAA;EAyFyB;;;;EAnFzB,YAAA,GAAe,MAAA,CAAa,SAAA,CAAU,oBAAA;EAsFxB;AACf;;;;EAhFC,cAAA;EAsFkB;;;EAjFlB,oBAAA,GAAuB,yBAAA;AAAA;AAAA,UAGR,gBAAA;EA0EyB;;;EAtExC,qBAAA;EA0EkB;;;EArElB,iBAAA;EA2EgD;;AAOlD;;;;EA1EE,0BAAA;EAoFE;;;;;;EA5EF,4BAAA;EAmEuB;;;;;;;EA1DvB,sCAAA;EAmEgE;;AAIlE;;;;;;EA7DE,uCAAA;EAkEE;;;;;EA3DF,mBAAA;EA0DE;;;;AAGJ;EAtDE,mBAAA;;;;;EAMA,oBAAA,SAA6B,OAAA;AAAA;AAAA,UAGd,oBAAA,SACP,eAAA,EAAiB,gBAAA;EACzB,gBAAA;EACA,cAAA;EACA,cAAA;AAAA;AAAA,KAGG,kCAAA,GAAqC,IAAA,CACxC,wBAAA;EAGA,WAAA,EAAa,IAAA,CAAK,wBAAA;;;;;IAMhB,MAAA,EAAQ,MAAA,gBAAsB,gBAAA;EAAA;AAAA;;;;KAOtB,0BAAA,GAA6B,IAAA,CACvC,MAAA,CAAa,SAAA,CAAU,qBAAA;;;;;;EAQvB,OAAA,EAAS,KAAA,CACP,MAAA,CAAa,SAAA,CAAU,qBAAA,CAAsB,OAAA;IAAY,KAAA;EAAA;AAAA;AAAA,KAIjD,wBAAA,GACR,kBAAA,GACA,wBAAA,GACA,yBAAA,GACA,wBAAA,GACA,kCAAA;AAAA,KAEQ,2BAAA,GACR,kBAAA,GACA,wBAAA,GACA,wBAAA"}
@@ -1,6 +1,5 @@
1
- const require_misc = require('./misc.cjs');
1
+ const require_misc = require("./misc.cjs");
2
2
  let _langchain_core_utils_env = require("@langchain/core/utils/env");
3
-
4
3
  //#region src/utils/azure.ts
5
4
  /**
6
5
  * This function generates an endpoint URL for (Azure) OpenAI
@@ -96,11 +95,11 @@ function getHeadersWithUserAgent(headers, isAzure = false, version = "1.0.0") {
96
95
  "User-Agent": normalizedHeaders["User-Agent"] ? `${library}/${version} (${env})${normalizedHeaders["User-Agent"]}` : `${library}/${version} (${env})`
97
96
  };
98
97
  }
99
-
100
98
  //#endregion
101
99
  exports.getEndpoint = getEndpoint;
102
100
  exports.getFormattedEnv = getFormattedEnv;
103
101
  exports.getHeadersWithUserAgent = getHeadersWithUserAgent;
104
102
  exports.isHeaders = isHeaders;
105
103
  exports.normalizeHeaders = normalizeHeaders;
104
+
106
105
  //# sourceMappingURL=azure.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure.cjs","names":["iife"],"sources":["../../src/utils/azure.ts"],"sourcesContent":["import { getEnv } from \"@langchain/core/utils/env\";\nimport { iife } from \"./misc.js\";\n\nexport interface OpenAIEndpointConfig {\n azureOpenAIApiDeploymentName?: string;\n azureOpenAIApiInstanceName?: string;\n azureOpenAIApiKey?: string;\n azureADTokenProvider?: () => Promise<string>;\n azureOpenAIBasePath?: string;\n baseURL?: string | null;\n azureOpenAIEndpoint?: string;\n}\n\n/**\n * This function generates an endpoint URL for (Azure) OpenAI\n * based on the configuration parameters provided.\n *\n * @param {OpenAIEndpointConfig} config - The configuration object for the (Azure) endpoint.\n *\n * @property {string} config.azureOpenAIApiDeploymentName - The deployment name of Azure OpenAI.\n * @property {string} config.azureOpenAIApiInstanceName - The instance name of Azure OpenAI, e.g. `example-resource`.\n * @property {string} config.azureOpenAIApiKey - The API Key for Azure OpenAI.\n * @property {string} config.azureOpenAIBasePath - The base path for Azure OpenAI, e.g. `https://example-resource.azure.openai.com/openai/deployments/`.\n * @property {string} config.baseURL - Some other custom base path URL.\n * @property {string} config.azureOpenAIEndpoint - The endpoint for the Azure OpenAI instance, e.g. `https://example-resource.azure.openai.com/`.\n *\n * The function operates as follows:\n * - If both `azureOpenAIBasePath` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`).\n * - If both `azureOpenAIEndpoint` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`).\n * - If `azureOpenAIApiKey` is provided, it checks for `azureOpenAIApiInstanceName` and `azureOpenAIApiDeploymentName` and throws an error if any of these is missing. If both are provided, it generates an URL incorporating these parameters.\n * - If none of the above conditions are met, return any custom `baseURL`.\n * - The function returns the generated URL as a string, or undefined if no custom paths are specified.\n *\n * @throws Will throw an error if the necessary parameters for generating the URL are missing.\n *\n * @returns {string | undefined} The generated (Azure) OpenAI endpoint URL.\n */\nexport function getEndpoint(config: OpenAIEndpointConfig) {\n const {\n azureOpenAIApiDeploymentName,\n azureOpenAIApiInstanceName,\n azureOpenAIApiKey,\n azureOpenAIBasePath,\n baseURL,\n azureADTokenProvider,\n azureOpenAIEndpoint,\n } = config;\n\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIBasePath &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`;\n }\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIEndpoint &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n if (azureOpenAIApiKey || azureADTokenProvider) {\n if (!azureOpenAIApiInstanceName) {\n throw new Error(\n \"azureOpenAIApiInstanceName is required when using azureOpenAIApiKey\"\n );\n }\n if (!azureOpenAIApiDeploymentName) {\n throw new Error(\n \"azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey\"\n );\n }\n return `https://${azureOpenAIApiInstanceName}.openai.azure.com/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n return baseURL;\n}\n\ntype HeaderValue = string | undefined | null;\nexport type HeadersLike =\n | Headers\n | readonly HeaderValue[][]\n | Record<string, HeaderValue | readonly HeaderValue[]>\n | undefined\n | null\n // NullableHeaders\n | { values: Headers; [key: string]: unknown };\n\nexport function isHeaders(headers: unknown): headers is Headers {\n return (\n typeof Headers !== \"undefined\" &&\n headers !== null &&\n typeof headers === \"object\" &&\n Object.prototype.toString.call(headers) === \"[object Headers]\"\n );\n}\n\n/**\n * Normalizes various header formats into a consistent Record format.\n *\n * This function accepts headers in multiple formats and converts them to a\n * Record<string, HeaderValue | readonly HeaderValue[]> for consistent handling.\n *\n * @param headers - The headers to normalize. Can be:\n * - A Headers instance\n * - An array of [key, value] pairs\n * - A plain object with string keys\n * - A NullableHeaders-like object with a 'values' property containing Headers\n * - null or undefined\n * @returns A normalized Record containing the header key-value pairs\n *\n * @example\n * ```ts\n * // With Headers instance\n * const headers1 = new Headers([['content-type', 'application/json']]);\n * const normalized1 = normalizeHeaders(headers1);\n *\n * // With plain object\n * const headers2 = { 'content-type': 'application/json' };\n * const normalized2 = normalizeHeaders(headers2);\n *\n * // With array of pairs\n * const headers3 = [['content-type', 'application/json']];\n * const normalized3 = normalizeHeaders(headers3);\n * ```\n */\nexport function normalizeHeaders(\n headers: HeadersLike\n): Record<string, HeaderValue | readonly HeaderValue[]> {\n const output = iife(() => {\n // If headers is a Headers instance\n if (isHeaders(headers)) {\n return headers;\n }\n // If headers is an array of [key, value] pairs\n else if (Array.isArray(headers)) {\n return new Headers(headers);\n }\n // If headers is a NullableHeaders-like object (has 'values' property that is a Headers)\n else if (\n typeof headers === \"object\" &&\n headers !== null &&\n \"values\" in headers &&\n isHeaders(headers.values)\n ) {\n return headers.values;\n }\n // If headers is a plain object\n else if (typeof headers === \"object\" && headers !== null) {\n const entries: [string, string][] = Object.entries(headers)\n .filter(([, v]) => typeof v === \"string\")\n .map(([k, v]) => [k, v as string]);\n return new Headers(entries);\n }\n return new Headers();\n });\n\n return Object.fromEntries(output.entries());\n}\n\nexport function getFormattedEnv() {\n let env = getEnv();\n if (env === \"node\" || env === \"deno\") {\n env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;\n }\n return env;\n}\n\n// Note: ideally version would be imported from package.json, but there's\n// currently no good way to do that for all supported environments (Node, Deno, Browser).\nexport function getHeadersWithUserAgent(\n headers: HeadersLike,\n isAzure = false,\n version = \"1.0.0\"\n): Record<string, string> {\n const normalizedHeaders = normalizeHeaders(headers);\n const env = getFormattedEnv();\n const library = `langchainjs${isAzure ? \"-azure\" : \"\"}-openai`;\n return {\n ...normalizedHeaders,\n \"User-Agent\": normalizedHeaders[\"User-Agent\"]\n ? `${library}/${version} (${env})${normalizedHeaders[\"User-Agent\"]}`\n : `${library}/${version} (${env})`,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAgB,YAAY,QAA8B;CACxD,MAAM,EACJ,8BACA,4BACA,mBACA,qBACA,SACA,sBACA,wBACE;AAEJ,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,GAAG;AAEnC,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,sBAAsB;AAGtD,KAAI,qBAAqB,sBAAsB;AAC7C,MAAI,CAAC,2BACH,OAAM,IAAI,MACR,sEACD;AAEH,MAAI,CAAC,6BACH,OAAM,IAAI,MACR,oFACD;AAEH,SAAO,WAAW,2BAA2B,uCAAuC;;AAGtF,QAAO;;AAaT,SAAgB,UAAU,SAAsC;AAC9D,QACE,OAAO,YAAY,eACnB,YAAY,QACZ,OAAO,YAAY,YACnB,OAAO,UAAU,SAAS,KAAK,QAAQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiChD,SAAgB,iBACd,SACsD;CACtD,MAAM,SAASA,wBAAW;AAExB,MAAI,UAAU,QAAQ,CACpB,QAAO;WAGA,MAAM,QAAQ,QAAQ,CAC7B,QAAO,IAAI,QAAQ,QAAQ;WAI3B,OAAO,YAAY,YACnB,YAAY,QACZ,YAAY,WACZ,UAAU,QAAQ,OAAO,CAEzB,QAAO,QAAQ;WAGR,OAAO,YAAY,YAAY,YAAY,MAAM;GACxD,MAAM,UAA8B,OAAO,QAAQ,QAAQ,CACxD,QAAQ,GAAG,OAAO,OAAO,MAAM,SAAS,CACxC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAY,CAAC;AACpC,UAAO,IAAI,QAAQ,QAAQ;;AAE7B,SAAO,IAAI,SAAS;GACpB;AAEF,QAAO,OAAO,YAAY,OAAO,SAAS,CAAC;;AAG7C,SAAgB,kBAAkB;CAChC,IAAI,6CAAc;AAClB,KAAI,QAAQ,UAAU,QAAQ,OAC5B,OAAM,IAAI,IAAI,GAAG,QAAQ,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ,KAAK;AAEzE,QAAO;;AAKT,SAAgB,wBACd,SACA,UAAU,OACV,UAAU,SACc;CACxB,MAAM,oBAAoB,iBAAiB,QAAQ;CACnD,MAAM,MAAM,iBAAiB;CAC7B,MAAM,UAAU,cAAc,UAAU,WAAW,GAAG;AACtD,QAAO;EACL,GAAG;EACH,cAAc,kBAAkB,gBAC5B,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI,GAAG,kBAAkB,kBACnD,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI;EACnC"}
1
+ {"version":3,"file":"azure.cjs","names":["iife"],"sources":["../../src/utils/azure.ts"],"sourcesContent":["import { getEnv } from \"@langchain/core/utils/env\";\nimport { iife } from \"./misc.js\";\n\nexport interface OpenAIEndpointConfig {\n azureOpenAIApiDeploymentName?: string;\n azureOpenAIApiInstanceName?: string;\n azureOpenAIApiKey?: string;\n azureADTokenProvider?: () => Promise<string>;\n azureOpenAIBasePath?: string;\n baseURL?: string | null;\n azureOpenAIEndpoint?: string;\n}\n\n/**\n * This function generates an endpoint URL for (Azure) OpenAI\n * based on the configuration parameters provided.\n *\n * @param {OpenAIEndpointConfig} config - The configuration object for the (Azure) endpoint.\n *\n * @property {string} config.azureOpenAIApiDeploymentName - The deployment name of Azure OpenAI.\n * @property {string} config.azureOpenAIApiInstanceName - The instance name of Azure OpenAI, e.g. `example-resource`.\n * @property {string} config.azureOpenAIApiKey - The API Key for Azure OpenAI.\n * @property {string} config.azureOpenAIBasePath - The base path for Azure OpenAI, e.g. `https://example-resource.azure.openai.com/openai/deployments/`.\n * @property {string} config.baseURL - Some other custom base path URL.\n * @property {string} config.azureOpenAIEndpoint - The endpoint for the Azure OpenAI instance, e.g. `https://example-resource.azure.openai.com/`.\n *\n * The function operates as follows:\n * - If both `azureOpenAIBasePath` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`).\n * - If both `azureOpenAIEndpoint` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`).\n * - If `azureOpenAIApiKey` is provided, it checks for `azureOpenAIApiInstanceName` and `azureOpenAIApiDeploymentName` and throws an error if any of these is missing. If both are provided, it generates an URL incorporating these parameters.\n * - If none of the above conditions are met, return any custom `baseURL`.\n * - The function returns the generated URL as a string, or undefined if no custom paths are specified.\n *\n * @throws Will throw an error if the necessary parameters for generating the URL are missing.\n *\n * @returns {string | undefined} The generated (Azure) OpenAI endpoint URL.\n */\nexport function getEndpoint(config: OpenAIEndpointConfig) {\n const {\n azureOpenAIApiDeploymentName,\n azureOpenAIApiInstanceName,\n azureOpenAIApiKey,\n azureOpenAIBasePath,\n baseURL,\n azureADTokenProvider,\n azureOpenAIEndpoint,\n } = config;\n\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIBasePath &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`;\n }\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIEndpoint &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n if (azureOpenAIApiKey || azureADTokenProvider) {\n if (!azureOpenAIApiInstanceName) {\n throw new Error(\n \"azureOpenAIApiInstanceName is required when using azureOpenAIApiKey\"\n );\n }\n if (!azureOpenAIApiDeploymentName) {\n throw new Error(\n \"azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey\"\n );\n }\n return `https://${azureOpenAIApiInstanceName}.openai.azure.com/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n return baseURL;\n}\n\ntype HeaderValue = string | undefined | null;\nexport type HeadersLike =\n | Headers\n | readonly HeaderValue[][]\n | Record<string, HeaderValue | readonly HeaderValue[]>\n | undefined\n | null\n // NullableHeaders\n | { values: Headers; [key: string]: unknown };\n\nexport function isHeaders(headers: unknown): headers is Headers {\n return (\n typeof Headers !== \"undefined\" &&\n headers !== null &&\n typeof headers === \"object\" &&\n Object.prototype.toString.call(headers) === \"[object Headers]\"\n );\n}\n\n/**\n * Normalizes various header formats into a consistent Record format.\n *\n * This function accepts headers in multiple formats and converts them to a\n * Record<string, HeaderValue | readonly HeaderValue[]> for consistent handling.\n *\n * @param headers - The headers to normalize. Can be:\n * - A Headers instance\n * - An array of [key, value] pairs\n * - A plain object with string keys\n * - A NullableHeaders-like object with a 'values' property containing Headers\n * - null or undefined\n * @returns A normalized Record containing the header key-value pairs\n *\n * @example\n * ```ts\n * // With Headers instance\n * const headers1 = new Headers([['content-type', 'application/json']]);\n * const normalized1 = normalizeHeaders(headers1);\n *\n * // With plain object\n * const headers2 = { 'content-type': 'application/json' };\n * const normalized2 = normalizeHeaders(headers2);\n *\n * // With array of pairs\n * const headers3 = [['content-type', 'application/json']];\n * const normalized3 = normalizeHeaders(headers3);\n * ```\n */\nexport function normalizeHeaders(\n headers: HeadersLike\n): Record<string, HeaderValue | readonly HeaderValue[]> {\n const output = iife(() => {\n // If headers is a Headers instance\n if (isHeaders(headers)) {\n return headers;\n }\n // If headers is an array of [key, value] pairs\n else if (Array.isArray(headers)) {\n return new Headers(headers);\n }\n // If headers is a NullableHeaders-like object (has 'values' property that is a Headers)\n else if (\n typeof headers === \"object\" &&\n headers !== null &&\n \"values\" in headers &&\n isHeaders(headers.values)\n ) {\n return headers.values;\n }\n // If headers is a plain object\n else if (typeof headers === \"object\" && headers !== null) {\n const entries: [string, string][] = Object.entries(headers)\n .filter(([, v]) => typeof v === \"string\")\n .map(([k, v]) => [k, v as string]);\n return new Headers(entries);\n }\n return new Headers();\n });\n\n return Object.fromEntries(output.entries());\n}\n\nexport function getFormattedEnv() {\n let env = getEnv();\n if (env === \"node\" || env === \"deno\") {\n env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;\n }\n return env;\n}\n\n// Note: ideally version would be imported from package.json, but there's\n// currently no good way to do that for all supported environments (Node, Deno, Browser).\nexport function getHeadersWithUserAgent(\n headers: HeadersLike,\n isAzure = false,\n version = \"1.0.0\"\n): Record<string, string> {\n const normalizedHeaders = normalizeHeaders(headers);\n const env = getFormattedEnv();\n const library = `langchainjs${isAzure ? \"-azure\" : \"\"}-openai`;\n return {\n ...normalizedHeaders,\n \"User-Agent\": normalizedHeaders[\"User-Agent\"]\n ? `${library}/${version} (${env})${normalizedHeaders[\"User-Agent\"]}`\n : `${library}/${version} (${env})`,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAgB,YAAY,QAA8B;CACxD,MAAM,EACJ,8BACA,4BACA,mBACA,qBACA,SACA,sBACA,wBACE;AAEJ,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,GAAG;AAEnC,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,sBAAsB;AAGtD,KAAI,qBAAqB,sBAAsB;AAC7C,MAAI,CAAC,2BACH,OAAM,IAAI,MACR,sEACD;AAEH,MAAI,CAAC,6BACH,OAAM,IAAI,MACR,oFACD;AAEH,SAAO,WAAW,2BAA2B,uCAAuC;;AAGtF,QAAO;;AAaT,SAAgB,UAAU,SAAsC;AAC9D,QACE,OAAO,YAAY,eACnB,YAAY,QACZ,OAAO,YAAY,YACnB,OAAO,UAAU,SAAS,KAAK,QAAQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiChD,SAAgB,iBACd,SACsD;CACtD,MAAM,SAASA,aAAAA,WAAW;AAExB,MAAI,UAAU,QAAQ,CACpB,QAAO;WAGA,MAAM,QAAQ,QAAQ,CAC7B,QAAO,IAAI,QAAQ,QAAQ;WAI3B,OAAO,YAAY,YACnB,YAAY,QACZ,YAAY,WACZ,UAAU,QAAQ,OAAO,CAEzB,QAAO,QAAQ;WAGR,OAAO,YAAY,YAAY,YAAY,MAAM;GACxD,MAAM,UAA8B,OAAO,QAAQ,QAAQ,CACxD,QAAQ,GAAG,OAAO,OAAO,MAAM,SAAS,CACxC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAY,CAAC;AACpC,UAAO,IAAI,QAAQ,QAAQ;;AAE7B,SAAO,IAAI,SAAS;GACpB;AAEF,QAAO,OAAO,YAAY,OAAO,SAAS,CAAC;;AAG7C,SAAgB,kBAAkB;CAChC,IAAI,OAAA,GAAA,0BAAA,SAAc;AAClB,KAAI,QAAQ,UAAU,QAAQ,OAC5B,OAAM,IAAI,IAAI,GAAG,QAAQ,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ,KAAK;AAEzE,QAAO;;AAKT,SAAgB,wBACd,SACA,UAAU,OACV,UAAU,SACc;CACxB,MAAM,oBAAoB,iBAAiB,QAAQ;CACnD,MAAM,MAAM,iBAAiB;CAC7B,MAAM,UAAU,cAAc,UAAU,WAAW,GAAG;AACtD,QAAO;EACL,GAAG;EACH,cAAc,kBAAkB,gBAC5B,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI,GAAG,kBAAkB,kBACnD,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI;EACnC"}
@@ -1,6 +1,5 @@
1
1
  import { iife } from "./misc.js";
2
2
  import { getEnv } from "@langchain/core/utils/env";
3
-
4
3
  //#region src/utils/azure.ts
5
4
  /**
6
5
  * This function generates an endpoint URL for (Azure) OpenAI
@@ -96,7 +95,7 @@ function getHeadersWithUserAgent(headers, isAzure = false, version = "1.0.0") {
96
95
  "User-Agent": normalizedHeaders["User-Agent"] ? `${library}/${version} (${env})${normalizedHeaders["User-Agent"]}` : `${library}/${version} (${env})`
97
96
  };
98
97
  }
99
-
100
98
  //#endregion
101
99
  export { getEndpoint, getFormattedEnv, getHeadersWithUserAgent, isHeaders, normalizeHeaders };
100
+
102
101
  //# sourceMappingURL=azure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"azure.js","names":[],"sources":["../../src/utils/azure.ts"],"sourcesContent":["import { getEnv } from \"@langchain/core/utils/env\";\nimport { iife } from \"./misc.js\";\n\nexport interface OpenAIEndpointConfig {\n azureOpenAIApiDeploymentName?: string;\n azureOpenAIApiInstanceName?: string;\n azureOpenAIApiKey?: string;\n azureADTokenProvider?: () => Promise<string>;\n azureOpenAIBasePath?: string;\n baseURL?: string | null;\n azureOpenAIEndpoint?: string;\n}\n\n/**\n * This function generates an endpoint URL for (Azure) OpenAI\n * based on the configuration parameters provided.\n *\n * @param {OpenAIEndpointConfig} config - The configuration object for the (Azure) endpoint.\n *\n * @property {string} config.azureOpenAIApiDeploymentName - The deployment name of Azure OpenAI.\n * @property {string} config.azureOpenAIApiInstanceName - The instance name of Azure OpenAI, e.g. `example-resource`.\n * @property {string} config.azureOpenAIApiKey - The API Key for Azure OpenAI.\n * @property {string} config.azureOpenAIBasePath - The base path for Azure OpenAI, e.g. `https://example-resource.azure.openai.com/openai/deployments/`.\n * @property {string} config.baseURL - Some other custom base path URL.\n * @property {string} config.azureOpenAIEndpoint - The endpoint for the Azure OpenAI instance, e.g. `https://example-resource.azure.openai.com/`.\n *\n * The function operates as follows:\n * - If both `azureOpenAIBasePath` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`).\n * - If both `azureOpenAIEndpoint` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`).\n * - If `azureOpenAIApiKey` is provided, it checks for `azureOpenAIApiInstanceName` and `azureOpenAIApiDeploymentName` and throws an error if any of these is missing. If both are provided, it generates an URL incorporating these parameters.\n * - If none of the above conditions are met, return any custom `baseURL`.\n * - The function returns the generated URL as a string, or undefined if no custom paths are specified.\n *\n * @throws Will throw an error if the necessary parameters for generating the URL are missing.\n *\n * @returns {string | undefined} The generated (Azure) OpenAI endpoint URL.\n */\nexport function getEndpoint(config: OpenAIEndpointConfig) {\n const {\n azureOpenAIApiDeploymentName,\n azureOpenAIApiInstanceName,\n azureOpenAIApiKey,\n azureOpenAIBasePath,\n baseURL,\n azureADTokenProvider,\n azureOpenAIEndpoint,\n } = config;\n\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIBasePath &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`;\n }\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIEndpoint &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n if (azureOpenAIApiKey || azureADTokenProvider) {\n if (!azureOpenAIApiInstanceName) {\n throw new Error(\n \"azureOpenAIApiInstanceName is required when using azureOpenAIApiKey\"\n );\n }\n if (!azureOpenAIApiDeploymentName) {\n throw new Error(\n \"azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey\"\n );\n }\n return `https://${azureOpenAIApiInstanceName}.openai.azure.com/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n return baseURL;\n}\n\ntype HeaderValue = string | undefined | null;\nexport type HeadersLike =\n | Headers\n | readonly HeaderValue[][]\n | Record<string, HeaderValue | readonly HeaderValue[]>\n | undefined\n | null\n // NullableHeaders\n | { values: Headers; [key: string]: unknown };\n\nexport function isHeaders(headers: unknown): headers is Headers {\n return (\n typeof Headers !== \"undefined\" &&\n headers !== null &&\n typeof headers === \"object\" &&\n Object.prototype.toString.call(headers) === \"[object Headers]\"\n );\n}\n\n/**\n * Normalizes various header formats into a consistent Record format.\n *\n * This function accepts headers in multiple formats and converts them to a\n * Record<string, HeaderValue | readonly HeaderValue[]> for consistent handling.\n *\n * @param headers - The headers to normalize. Can be:\n * - A Headers instance\n * - An array of [key, value] pairs\n * - A plain object with string keys\n * - A NullableHeaders-like object with a 'values' property containing Headers\n * - null or undefined\n * @returns A normalized Record containing the header key-value pairs\n *\n * @example\n * ```ts\n * // With Headers instance\n * const headers1 = new Headers([['content-type', 'application/json']]);\n * const normalized1 = normalizeHeaders(headers1);\n *\n * // With plain object\n * const headers2 = { 'content-type': 'application/json' };\n * const normalized2 = normalizeHeaders(headers2);\n *\n * // With array of pairs\n * const headers3 = [['content-type', 'application/json']];\n * const normalized3 = normalizeHeaders(headers3);\n * ```\n */\nexport function normalizeHeaders(\n headers: HeadersLike\n): Record<string, HeaderValue | readonly HeaderValue[]> {\n const output = iife(() => {\n // If headers is a Headers instance\n if (isHeaders(headers)) {\n return headers;\n }\n // If headers is an array of [key, value] pairs\n else if (Array.isArray(headers)) {\n return new Headers(headers);\n }\n // If headers is a NullableHeaders-like object (has 'values' property that is a Headers)\n else if (\n typeof headers === \"object\" &&\n headers !== null &&\n \"values\" in headers &&\n isHeaders(headers.values)\n ) {\n return headers.values;\n }\n // If headers is a plain object\n else if (typeof headers === \"object\" && headers !== null) {\n const entries: [string, string][] = Object.entries(headers)\n .filter(([, v]) => typeof v === \"string\")\n .map(([k, v]) => [k, v as string]);\n return new Headers(entries);\n }\n return new Headers();\n });\n\n return Object.fromEntries(output.entries());\n}\n\nexport function getFormattedEnv() {\n let env = getEnv();\n if (env === \"node\" || env === \"deno\") {\n env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;\n }\n return env;\n}\n\n// Note: ideally version would be imported from package.json, but there's\n// currently no good way to do that for all supported environments (Node, Deno, Browser).\nexport function getHeadersWithUserAgent(\n headers: HeadersLike,\n isAzure = false,\n version = \"1.0.0\"\n): Record<string, string> {\n const normalizedHeaders = normalizeHeaders(headers);\n const env = getFormattedEnv();\n const library = `langchainjs${isAzure ? \"-azure\" : \"\"}-openai`;\n return {\n ...normalizedHeaders,\n \"User-Agent\": normalizedHeaders[\"User-Agent\"]\n ? `${library}/${version} (${env})${normalizedHeaders[\"User-Agent\"]}`\n : `${library}/${version} (${env})`,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAgB,YAAY,QAA8B;CACxD,MAAM,EACJ,8BACA,4BACA,mBACA,qBACA,SACA,sBACA,wBACE;AAEJ,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,GAAG;AAEnC,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,sBAAsB;AAGtD,KAAI,qBAAqB,sBAAsB;AAC7C,MAAI,CAAC,2BACH,OAAM,IAAI,MACR,sEACD;AAEH,MAAI,CAAC,6BACH,OAAM,IAAI,MACR,oFACD;AAEH,SAAO,WAAW,2BAA2B,uCAAuC;;AAGtF,QAAO;;AAaT,SAAgB,UAAU,SAAsC;AAC9D,QACE,OAAO,YAAY,eACnB,YAAY,QACZ,OAAO,YAAY,YACnB,OAAO,UAAU,SAAS,KAAK,QAAQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiChD,SAAgB,iBACd,SACsD;CACtD,MAAM,SAAS,WAAW;AAExB,MAAI,UAAU,QAAQ,CACpB,QAAO;WAGA,MAAM,QAAQ,QAAQ,CAC7B,QAAO,IAAI,QAAQ,QAAQ;WAI3B,OAAO,YAAY,YACnB,YAAY,QACZ,YAAY,WACZ,UAAU,QAAQ,OAAO,CAEzB,QAAO,QAAQ;WAGR,OAAO,YAAY,YAAY,YAAY,MAAM;GACxD,MAAM,UAA8B,OAAO,QAAQ,QAAQ,CACxD,QAAQ,GAAG,OAAO,OAAO,MAAM,SAAS,CACxC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAY,CAAC;AACpC,UAAO,IAAI,QAAQ,QAAQ;;AAE7B,SAAO,IAAI,SAAS;GACpB;AAEF,QAAO,OAAO,YAAY,OAAO,SAAS,CAAC;;AAG7C,SAAgB,kBAAkB;CAChC,IAAI,MAAM,QAAQ;AAClB,KAAI,QAAQ,UAAU,QAAQ,OAC5B,OAAM,IAAI,IAAI,GAAG,QAAQ,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ,KAAK;AAEzE,QAAO;;AAKT,SAAgB,wBACd,SACA,UAAU,OACV,UAAU,SACc;CACxB,MAAM,oBAAoB,iBAAiB,QAAQ;CACnD,MAAM,MAAM,iBAAiB;CAC7B,MAAM,UAAU,cAAc,UAAU,WAAW,GAAG;AACtD,QAAO;EACL,GAAG;EACH,cAAc,kBAAkB,gBAC5B,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI,GAAG,kBAAkB,kBACnD,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI;EACnC"}
1
+ {"version":3,"file":"azure.js","names":[],"sources":["../../src/utils/azure.ts"],"sourcesContent":["import { getEnv } from \"@langchain/core/utils/env\";\nimport { iife } from \"./misc.js\";\n\nexport interface OpenAIEndpointConfig {\n azureOpenAIApiDeploymentName?: string;\n azureOpenAIApiInstanceName?: string;\n azureOpenAIApiKey?: string;\n azureADTokenProvider?: () => Promise<string>;\n azureOpenAIBasePath?: string;\n baseURL?: string | null;\n azureOpenAIEndpoint?: string;\n}\n\n/**\n * This function generates an endpoint URL for (Azure) OpenAI\n * based on the configuration parameters provided.\n *\n * @param {OpenAIEndpointConfig} config - The configuration object for the (Azure) endpoint.\n *\n * @property {string} config.azureOpenAIApiDeploymentName - The deployment name of Azure OpenAI.\n * @property {string} config.azureOpenAIApiInstanceName - The instance name of Azure OpenAI, e.g. `example-resource`.\n * @property {string} config.azureOpenAIApiKey - The API Key for Azure OpenAI.\n * @property {string} config.azureOpenAIBasePath - The base path for Azure OpenAI, e.g. `https://example-resource.azure.openai.com/openai/deployments/`.\n * @property {string} config.baseURL - Some other custom base path URL.\n * @property {string} config.azureOpenAIEndpoint - The endpoint for the Azure OpenAI instance, e.g. `https://example-resource.azure.openai.com/`.\n *\n * The function operates as follows:\n * - If both `azureOpenAIBasePath` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`).\n * - If both `azureOpenAIEndpoint` and `azureOpenAIApiDeploymentName` (plus `azureOpenAIApiKey`) are provided, it returns an URL combining these two parameters (`${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`).\n * - If `azureOpenAIApiKey` is provided, it checks for `azureOpenAIApiInstanceName` and `azureOpenAIApiDeploymentName` and throws an error if any of these is missing. If both are provided, it generates an URL incorporating these parameters.\n * - If none of the above conditions are met, return any custom `baseURL`.\n * - The function returns the generated URL as a string, or undefined if no custom paths are specified.\n *\n * @throws Will throw an error if the necessary parameters for generating the URL are missing.\n *\n * @returns {string | undefined} The generated (Azure) OpenAI endpoint URL.\n */\nexport function getEndpoint(config: OpenAIEndpointConfig) {\n const {\n azureOpenAIApiDeploymentName,\n azureOpenAIApiInstanceName,\n azureOpenAIApiKey,\n azureOpenAIBasePath,\n baseURL,\n azureADTokenProvider,\n azureOpenAIEndpoint,\n } = config;\n\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIBasePath &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIBasePath}/${azureOpenAIApiDeploymentName}`;\n }\n if (\n (azureOpenAIApiKey || azureADTokenProvider) &&\n azureOpenAIEndpoint &&\n azureOpenAIApiDeploymentName\n ) {\n return `${azureOpenAIEndpoint}/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n if (azureOpenAIApiKey || azureADTokenProvider) {\n if (!azureOpenAIApiInstanceName) {\n throw new Error(\n \"azureOpenAIApiInstanceName is required when using azureOpenAIApiKey\"\n );\n }\n if (!azureOpenAIApiDeploymentName) {\n throw new Error(\n \"azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey\"\n );\n }\n return `https://${azureOpenAIApiInstanceName}.openai.azure.com/openai/deployments/${azureOpenAIApiDeploymentName}`;\n }\n\n return baseURL;\n}\n\ntype HeaderValue = string | undefined | null;\nexport type HeadersLike =\n | Headers\n | readonly HeaderValue[][]\n | Record<string, HeaderValue | readonly HeaderValue[]>\n | undefined\n | null\n // NullableHeaders\n | { values: Headers; [key: string]: unknown };\n\nexport function isHeaders(headers: unknown): headers is Headers {\n return (\n typeof Headers !== \"undefined\" &&\n headers !== null &&\n typeof headers === \"object\" &&\n Object.prototype.toString.call(headers) === \"[object Headers]\"\n );\n}\n\n/**\n * Normalizes various header formats into a consistent Record format.\n *\n * This function accepts headers in multiple formats and converts them to a\n * Record<string, HeaderValue | readonly HeaderValue[]> for consistent handling.\n *\n * @param headers - The headers to normalize. Can be:\n * - A Headers instance\n * - An array of [key, value] pairs\n * - A plain object with string keys\n * - A NullableHeaders-like object with a 'values' property containing Headers\n * - null or undefined\n * @returns A normalized Record containing the header key-value pairs\n *\n * @example\n * ```ts\n * // With Headers instance\n * const headers1 = new Headers([['content-type', 'application/json']]);\n * const normalized1 = normalizeHeaders(headers1);\n *\n * // With plain object\n * const headers2 = { 'content-type': 'application/json' };\n * const normalized2 = normalizeHeaders(headers2);\n *\n * // With array of pairs\n * const headers3 = [['content-type', 'application/json']];\n * const normalized3 = normalizeHeaders(headers3);\n * ```\n */\nexport function normalizeHeaders(\n headers: HeadersLike\n): Record<string, HeaderValue | readonly HeaderValue[]> {\n const output = iife(() => {\n // If headers is a Headers instance\n if (isHeaders(headers)) {\n return headers;\n }\n // If headers is an array of [key, value] pairs\n else if (Array.isArray(headers)) {\n return new Headers(headers);\n }\n // If headers is a NullableHeaders-like object (has 'values' property that is a Headers)\n else if (\n typeof headers === \"object\" &&\n headers !== null &&\n \"values\" in headers &&\n isHeaders(headers.values)\n ) {\n return headers.values;\n }\n // If headers is a plain object\n else if (typeof headers === \"object\" && headers !== null) {\n const entries: [string, string][] = Object.entries(headers)\n .filter(([, v]) => typeof v === \"string\")\n .map(([k, v]) => [k, v as string]);\n return new Headers(entries);\n }\n return new Headers();\n });\n\n return Object.fromEntries(output.entries());\n}\n\nexport function getFormattedEnv() {\n let env = getEnv();\n if (env === \"node\" || env === \"deno\") {\n env = `(${env}/${process.version}; ${process.platform}; ${process.arch})`;\n }\n return env;\n}\n\n// Note: ideally version would be imported from package.json, but there's\n// currently no good way to do that for all supported environments (Node, Deno, Browser).\nexport function getHeadersWithUserAgent(\n headers: HeadersLike,\n isAzure = false,\n version = \"1.0.0\"\n): Record<string, string> {\n const normalizedHeaders = normalizeHeaders(headers);\n const env = getFormattedEnv();\n const library = `langchainjs${isAzure ? \"-azure\" : \"\"}-openai`;\n return {\n ...normalizedHeaders,\n \"User-Agent\": normalizedHeaders[\"User-Agent\"]\n ? `${library}/${version} (${env})${normalizedHeaders[\"User-Agent\"]}`\n : `${library}/${version} (${env})`,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,SAAgB,YAAY,QAA8B;CACxD,MAAM,EACJ,8BACA,4BACA,mBACA,qBACA,SACA,sBACA,wBACE;AAEJ,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,GAAG;AAEnC,MACG,qBAAqB,yBACtB,uBACA,6BAEA,QAAO,GAAG,oBAAoB,sBAAsB;AAGtD,KAAI,qBAAqB,sBAAsB;AAC7C,MAAI,CAAC,2BACH,OAAM,IAAI,MACR,sEACD;AAEH,MAAI,CAAC,6BACH,OAAM,IAAI,MACR,oFACD;AAEH,SAAO,WAAW,2BAA2B,uCAAuC;;AAGtF,QAAO;;AAaT,SAAgB,UAAU,SAAsC;AAC9D,QACE,OAAO,YAAY,eACnB,YAAY,QACZ,OAAO,YAAY,YACnB,OAAO,UAAU,SAAS,KAAK,QAAQ,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiChD,SAAgB,iBACd,SACsD;CACtD,MAAM,SAAS,WAAW;AAExB,MAAI,UAAU,QAAQ,CACpB,QAAO;WAGA,MAAM,QAAQ,QAAQ,CAC7B,QAAO,IAAI,QAAQ,QAAQ;WAI3B,OAAO,YAAY,YACnB,YAAY,QACZ,YAAY,WACZ,UAAU,QAAQ,OAAO,CAEzB,QAAO,QAAQ;WAGR,OAAO,YAAY,YAAY,YAAY,MAAM;GACxD,MAAM,UAA8B,OAAO,QAAQ,QAAQ,CACxD,QAAQ,GAAG,OAAO,OAAO,MAAM,SAAS,CACxC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAY,CAAC;AACpC,UAAO,IAAI,QAAQ,QAAQ;;AAE7B,SAAO,IAAI,SAAS;GACpB;AAEF,QAAO,OAAO,YAAY,OAAO,SAAS,CAAC;;AAG7C,SAAgB,kBAAkB;CAChC,IAAI,MAAM,QAAQ;AAClB,KAAI,QAAQ,UAAU,QAAQ,OAC5B,OAAM,IAAI,IAAI,GAAG,QAAQ,QAAQ,IAAI,QAAQ,SAAS,IAAI,QAAQ,KAAK;AAEzE,QAAO;;AAKT,SAAgB,wBACd,SACA,UAAU,OACV,UAAU,SACc;CACxB,MAAM,oBAAoB,iBAAiB,QAAQ;CACnD,MAAM,MAAM,iBAAiB;CAC7B,MAAM,UAAU,cAAc,UAAU,WAAW,GAAG;AACtD,QAAO;EACL,GAAG;EACH,cAAc,kBAAkB,gBAC5B,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI,GAAG,kBAAkB,kBACnD,GAAG,QAAQ,GAAG,QAAQ,IAAI,IAAI;EACnC"}
@@ -1,7 +1,6 @@
1
- const require_errors = require('./errors.cjs');
1
+ const require_errors = require("./errors.cjs");
2
2
  let openai = require("openai");
3
3
  let _langchain_core_errors = require("@langchain/core/errors");
4
-
5
4
  //#region src/utils/client.ts
6
5
  function _isOpenAIContextOverflowError(e) {
7
6
  if (String(e).includes("context_length_exceeded")) return true;
@@ -25,7 +24,7 @@ function wrapOpenAIClientError(e) {
25
24
  else error = e;
26
25
  return error;
27
26
  }
28
-
29
27
  //#endregion
30
28
  exports.wrapOpenAIClientError = wrapOpenAIClientError;
29
+
31
30
  //# sourceMappingURL=client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.cjs","names":["APIConnectionTimeoutError","APIUserAbortError","ContextOverflowError","addLangChainErrorFields"],"sources":["../../src/utils/client.ts"],"sourcesContent":["import { APIConnectionTimeoutError, APIUserAbortError } from \"openai\";\nimport { ContextOverflowError } from \"@langchain/core/errors\";\nimport { addLangChainErrorFields } from \"./errors.js\";\n\nfunction _isOpenAIContextOverflowError(e: object): boolean {\n const errorStr = String(e);\n if (errorStr.includes(\"context_length_exceeded\")) {\n return true;\n }\n if (\n \"message\" in e &&\n typeof e.message === \"string\" &&\n (e.message.includes(\"Input tokens exceed the configured limit\") ||\n e.message.includes(\"exceeds the context window\"))\n ) {\n return true;\n }\n return false;\n}\n\nexport function wrapOpenAIClientError(e: unknown) {\n if (!e || typeof e !== \"object\") {\n return e;\n }\n\n let error;\n if (\n e.constructor.name === APIConnectionTimeoutError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"TimeoutError\";\n } else if (\n e.constructor.name === APIUserAbortError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"AbortError\";\n } else if (_isOpenAIContextOverflowError(e)) {\n error = ContextOverflowError.fromError(e as Error);\n } else if (\n \"status\" in e &&\n e.status === 400 &&\n \"message\" in e &&\n typeof e.message === \"string\" &&\n e.message.includes(\"tool_calls\")\n ) {\n error = addLangChainErrorFields(e, \"INVALID_TOOL_RESULTS\");\n } else if (\"status\" in e && e.status === 401) {\n error = addLangChainErrorFields(e, \"MODEL_AUTHENTICATION\");\n } else if (\"status\" in e && e.status === 429) {\n error = addLangChainErrorFields(e, \"MODEL_RATE_LIMIT\");\n } else if (\"status\" in e && e.status === 404) {\n error = addLangChainErrorFields(e, \"MODEL_NOT_FOUND\");\n } else {\n error = e;\n }\n return error;\n}\n"],"mappings":";;;;;AAIA,SAAS,8BAA8B,GAAoB;AAEzD,KADiB,OAAO,EAAE,CACb,SAAS,0BAA0B,CAC9C,QAAO;AAET,KACE,aAAa,KACb,OAAO,EAAE,YAAY,aACpB,EAAE,QAAQ,SAAS,2CAA2C,IAC7D,EAAE,QAAQ,SAAS,6BAA6B,EAElD,QAAO;AAET,QAAO;;AAGT,SAAgB,sBAAsB,GAAY;AAChD,KAAI,CAAC,KAAK,OAAO,MAAM,SACrB,QAAO;CAGT,IAAI;AACJ,KACE,EAAE,YAAY,SAASA,iCAA0B,QACjD,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YAEb,EAAE,YAAY,SAASC,yBAAkB,QACzC,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YACJ,8BAA8B,EAAE,CACzC,SAAQC,4CAAqB,UAAU,EAAW;UAElD,YAAY,KACZ,EAAE,WAAW,OACb,aAAa,KACb,OAAO,EAAE,YAAY,YACrB,EAAE,QAAQ,SAAS,aAAa,CAEhC,SAAQC,uCAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQA,uCAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQA,uCAAwB,GAAG,mBAAmB;UAC7C,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQA,uCAAwB,GAAG,kBAAkB;KAErD,SAAQ;AAEV,QAAO"}
1
+ {"version":3,"file":"client.cjs","names":["APIConnectionTimeoutError","APIUserAbortError","ContextOverflowError","addLangChainErrorFields"],"sources":["../../src/utils/client.ts"],"sourcesContent":["import { APIConnectionTimeoutError, APIUserAbortError } from \"openai\";\nimport { ContextOverflowError } from \"@langchain/core/errors\";\nimport { addLangChainErrorFields } from \"./errors.js\";\n\nfunction _isOpenAIContextOverflowError(e: object): boolean {\n const errorStr = String(e);\n if (errorStr.includes(\"context_length_exceeded\")) {\n return true;\n }\n if (\n \"message\" in e &&\n typeof e.message === \"string\" &&\n (e.message.includes(\"Input tokens exceed the configured limit\") ||\n e.message.includes(\"exceeds the context window\"))\n ) {\n return true;\n }\n return false;\n}\n\nexport function wrapOpenAIClientError(e: unknown) {\n if (!e || typeof e !== \"object\") {\n return e;\n }\n\n let error;\n if (\n e.constructor.name === APIConnectionTimeoutError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"TimeoutError\";\n } else if (\n e.constructor.name === APIUserAbortError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"AbortError\";\n } else if (_isOpenAIContextOverflowError(e)) {\n error = ContextOverflowError.fromError(e as Error);\n } else if (\n \"status\" in e &&\n e.status === 400 &&\n \"message\" in e &&\n typeof e.message === \"string\" &&\n e.message.includes(\"tool_calls\")\n ) {\n error = addLangChainErrorFields(e, \"INVALID_TOOL_RESULTS\");\n } else if (\"status\" in e && e.status === 401) {\n error = addLangChainErrorFields(e, \"MODEL_AUTHENTICATION\");\n } else if (\"status\" in e && e.status === 429) {\n error = addLangChainErrorFields(e, \"MODEL_RATE_LIMIT\");\n } else if (\"status\" in e && e.status === 404) {\n error = addLangChainErrorFields(e, \"MODEL_NOT_FOUND\");\n } else {\n error = e;\n }\n return error;\n}\n"],"mappings":";;;;AAIA,SAAS,8BAA8B,GAAoB;AAEzD,KADiB,OAAO,EAAE,CACb,SAAS,0BAA0B,CAC9C,QAAO;AAET,KACE,aAAa,KACb,OAAO,EAAE,YAAY,aACpB,EAAE,QAAQ,SAAS,2CAA2C,IAC7D,EAAE,QAAQ,SAAS,6BAA6B,EAElD,QAAO;AAET,QAAO;;AAGT,SAAgB,sBAAsB,GAAY;AAChD,KAAI,CAAC,KAAK,OAAO,MAAM,SACrB,QAAO;CAGT,IAAI;AACJ,KACE,EAAE,YAAY,SAASA,OAAAA,0BAA0B,QACjD,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YAEb,EAAE,YAAY,SAASC,OAAAA,kBAAkB,QACzC,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YACJ,8BAA8B,EAAE,CACzC,SAAQC,uBAAAA,qBAAqB,UAAU,EAAW;UAElD,YAAY,KACZ,EAAE,WAAW,OACb,aAAa,KACb,OAAO,EAAE,YAAY,YACrB,EAAE,QAAQ,SAAS,aAAa,CAEhC,SAAQC,eAAAA,wBAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQA,eAAAA,wBAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQA,eAAAA,wBAAwB,GAAG,mBAAmB;UAC7C,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQA,eAAAA,wBAAwB,GAAG,kBAAkB;KAErD,SAAQ;AAEV,QAAO"}
@@ -1,7 +1,6 @@
1
1
  import { addLangChainErrorFields } from "./errors.js";
2
2
  import { APIConnectionTimeoutError, APIUserAbortError } from "openai";
3
3
  import { ContextOverflowError } from "@langchain/core/errors";
4
-
5
4
  //#region src/utils/client.ts
6
5
  function _isOpenAIContextOverflowError(e) {
7
6
  if (String(e).includes("context_length_exceeded")) return true;
@@ -25,7 +24,7 @@ function wrapOpenAIClientError(e) {
25
24
  else error = e;
26
25
  return error;
27
26
  }
28
-
29
27
  //#endregion
30
28
  export { wrapOpenAIClientError };
29
+
31
30
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":[],"sources":["../../src/utils/client.ts"],"sourcesContent":["import { APIConnectionTimeoutError, APIUserAbortError } from \"openai\";\nimport { ContextOverflowError } from \"@langchain/core/errors\";\nimport { addLangChainErrorFields } from \"./errors.js\";\n\nfunction _isOpenAIContextOverflowError(e: object): boolean {\n const errorStr = String(e);\n if (errorStr.includes(\"context_length_exceeded\")) {\n return true;\n }\n if (\n \"message\" in e &&\n typeof e.message === \"string\" &&\n (e.message.includes(\"Input tokens exceed the configured limit\") ||\n e.message.includes(\"exceeds the context window\"))\n ) {\n return true;\n }\n return false;\n}\n\nexport function wrapOpenAIClientError(e: unknown) {\n if (!e || typeof e !== \"object\") {\n return e;\n }\n\n let error;\n if (\n e.constructor.name === APIConnectionTimeoutError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"TimeoutError\";\n } else if (\n e.constructor.name === APIUserAbortError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"AbortError\";\n } else if (_isOpenAIContextOverflowError(e)) {\n error = ContextOverflowError.fromError(e as Error);\n } else if (\n \"status\" in e &&\n e.status === 400 &&\n \"message\" in e &&\n typeof e.message === \"string\" &&\n e.message.includes(\"tool_calls\")\n ) {\n error = addLangChainErrorFields(e, \"INVALID_TOOL_RESULTS\");\n } else if (\"status\" in e && e.status === 401) {\n error = addLangChainErrorFields(e, \"MODEL_AUTHENTICATION\");\n } else if (\"status\" in e && e.status === 429) {\n error = addLangChainErrorFields(e, \"MODEL_RATE_LIMIT\");\n } else if (\"status\" in e && e.status === 404) {\n error = addLangChainErrorFields(e, \"MODEL_NOT_FOUND\");\n } else {\n error = e;\n }\n return error;\n}\n"],"mappings":";;;;;AAIA,SAAS,8BAA8B,GAAoB;AAEzD,KADiB,OAAO,EAAE,CACb,SAAS,0BAA0B,CAC9C,QAAO;AAET,KACE,aAAa,KACb,OAAO,EAAE,YAAY,aACpB,EAAE,QAAQ,SAAS,2CAA2C,IAC7D,EAAE,QAAQ,SAAS,6BAA6B,EAElD,QAAO;AAET,QAAO;;AAGT,SAAgB,sBAAsB,GAAY;AAChD,KAAI,CAAC,KAAK,OAAO,MAAM,SACrB,QAAO;CAGT,IAAI;AACJ,KACE,EAAE,YAAY,SAAS,0BAA0B,QACjD,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YAEb,EAAE,YAAY,SAAS,kBAAkB,QACzC,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YACJ,8BAA8B,EAAE,CACzC,SAAQ,qBAAqB,UAAU,EAAW;UAElD,YAAY,KACZ,EAAE,WAAW,OACb,aAAa,KACb,OAAO,EAAE,YAAY,YACrB,EAAE,QAAQ,SAAS,aAAa,CAEhC,SAAQ,wBAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQ,wBAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQ,wBAAwB,GAAG,mBAAmB;UAC7C,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQ,wBAAwB,GAAG,kBAAkB;KAErD,SAAQ;AAEV,QAAO"}
1
+ {"version":3,"file":"client.js","names":[],"sources":["../../src/utils/client.ts"],"sourcesContent":["import { APIConnectionTimeoutError, APIUserAbortError } from \"openai\";\nimport { ContextOverflowError } from \"@langchain/core/errors\";\nimport { addLangChainErrorFields } from \"./errors.js\";\n\nfunction _isOpenAIContextOverflowError(e: object): boolean {\n const errorStr = String(e);\n if (errorStr.includes(\"context_length_exceeded\")) {\n return true;\n }\n if (\n \"message\" in e &&\n typeof e.message === \"string\" &&\n (e.message.includes(\"Input tokens exceed the configured limit\") ||\n e.message.includes(\"exceeds the context window\"))\n ) {\n return true;\n }\n return false;\n}\n\nexport function wrapOpenAIClientError(e: unknown) {\n if (!e || typeof e !== \"object\") {\n return e;\n }\n\n let error;\n if (\n e.constructor.name === APIConnectionTimeoutError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"TimeoutError\";\n } else if (\n e.constructor.name === APIUserAbortError.name &&\n \"message\" in e &&\n typeof e.message === \"string\"\n ) {\n error = new Error(e.message);\n error.name = \"AbortError\";\n } else if (_isOpenAIContextOverflowError(e)) {\n error = ContextOverflowError.fromError(e as Error);\n } else if (\n \"status\" in e &&\n e.status === 400 &&\n \"message\" in e &&\n typeof e.message === \"string\" &&\n e.message.includes(\"tool_calls\")\n ) {\n error = addLangChainErrorFields(e, \"INVALID_TOOL_RESULTS\");\n } else if (\"status\" in e && e.status === 401) {\n error = addLangChainErrorFields(e, \"MODEL_AUTHENTICATION\");\n } else if (\"status\" in e && e.status === 429) {\n error = addLangChainErrorFields(e, \"MODEL_RATE_LIMIT\");\n } else if (\"status\" in e && e.status === 404) {\n error = addLangChainErrorFields(e, \"MODEL_NOT_FOUND\");\n } else {\n error = e;\n }\n return error;\n}\n"],"mappings":";;;;AAIA,SAAS,8BAA8B,GAAoB;AAEzD,KADiB,OAAO,EAAE,CACb,SAAS,0BAA0B,CAC9C,QAAO;AAET,KACE,aAAa,KACb,OAAO,EAAE,YAAY,aACpB,EAAE,QAAQ,SAAS,2CAA2C,IAC7D,EAAE,QAAQ,SAAS,6BAA6B,EAElD,QAAO;AAET,QAAO;;AAGT,SAAgB,sBAAsB,GAAY;AAChD,KAAI,CAAC,KAAK,OAAO,MAAM,SACrB,QAAO;CAGT,IAAI;AACJ,KACE,EAAE,YAAY,SAAS,0BAA0B,QACjD,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YAEb,EAAE,YAAY,SAAS,kBAAkB,QACzC,aAAa,KACb,OAAO,EAAE,YAAY,UACrB;AACA,UAAQ,IAAI,MAAM,EAAE,QAAQ;AAC5B,QAAM,OAAO;YACJ,8BAA8B,EAAE,CACzC,SAAQ,qBAAqB,UAAU,EAAW;UAElD,YAAY,KACZ,EAAE,WAAW,OACb,aAAa,KACb,OAAO,EAAE,YAAY,YACrB,EAAE,QAAQ,SAAS,aAAa,CAEhC,SAAQ,wBAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQ,wBAAwB,GAAG,uBAAuB;UACjD,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQ,wBAAwB,GAAG,mBAAmB;UAC7C,YAAY,KAAK,EAAE,WAAW,IACvC,SAAQ,wBAAwB,GAAG,kBAAkB;KAErD,SAAQ;AAEV,QAAO"}
@@ -1,11 +1,10 @@
1
-
2
1
  //#region src/utils/errors.ts
3
2
  function addLangChainErrorFields(error, lc_error_code) {
4
3
  error.lc_error_code = lc_error_code;
5
4
  error.message = `${error.message}\n\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${lc_error_code}/\n`;
6
5
  return error;
7
6
  }
8
-
9
7
  //#endregion
10
8
  exports.addLangChainErrorFields = addLangChainErrorFields;
9
+
11
10
  //# sourceMappingURL=errors.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.cjs","names":[],"sources":["../../src/utils/errors.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// Duplicate of core\n// TODO: Remove once we stop supporting 0.2.x core versions\nexport type LangChainErrorCodes =\n | \"CONTEXT_OVERFLOW\"\n | \"INVALID_PROMPT_INPUT\"\n | \"INVALID_TOOL_RESULTS\"\n | \"MESSAGE_COERCION_FAILURE\"\n | \"MODEL_AUTHENTICATION\"\n | \"MODEL_NOT_FOUND\"\n | \"MODEL_RATE_LIMIT\"\n | \"OUTPUT_PARSING_FAILURE\";\n\nexport function addLangChainErrorFields(\n error: any,\n lc_error_code: LangChainErrorCodes\n) {\n (error as any).lc_error_code = lc_error_code;\n error.message = `${error.message}\\n\\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${lc_error_code}/\\n`;\n return error;\n}\n"],"mappings":";;AAcA,SAAgB,wBACd,OACA,eACA;AACA,CAAC,MAAc,gBAAgB;AAC/B,OAAM,UAAU,GAAG,MAAM,QAAQ,sFAAsF,cAAc;AACrI,QAAO"}
1
+ {"version":3,"file":"errors.cjs","names":[],"sources":["../../src/utils/errors.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// Duplicate of core\n// TODO: Remove once we stop supporting 0.2.x core versions\nexport type LangChainErrorCodes =\n | \"CONTEXT_OVERFLOW\"\n | \"INVALID_PROMPT_INPUT\"\n | \"INVALID_TOOL_RESULTS\"\n | \"MESSAGE_COERCION_FAILURE\"\n | \"MODEL_AUTHENTICATION\"\n | \"MODEL_NOT_FOUND\"\n | \"MODEL_RATE_LIMIT\"\n | \"OUTPUT_PARSING_FAILURE\";\n\nexport function addLangChainErrorFields(\n error: any,\n lc_error_code: LangChainErrorCodes\n) {\n (error as any).lc_error_code = lc_error_code;\n error.message = `${error.message}\\n\\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${lc_error_code}/\\n`;\n return error;\n}\n"],"mappings":";AAcA,SAAgB,wBACd,OACA,eACA;AACC,OAAc,gBAAgB;AAC/B,OAAM,UAAU,GAAG,MAAM,QAAQ,sFAAsF,cAAc;AACrI,QAAO"}
@@ -4,7 +4,7 @@ function addLangChainErrorFields(error, lc_error_code) {
4
4
  error.message = `${error.message}\n\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${lc_error_code}/\n`;
5
5
  return error;
6
6
  }
7
-
8
7
  //#endregion
9
8
  export { addLangChainErrorFields };
9
+
10
10
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","names":[],"sources":["../../src/utils/errors.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// Duplicate of core\n// TODO: Remove once we stop supporting 0.2.x core versions\nexport type LangChainErrorCodes =\n | \"CONTEXT_OVERFLOW\"\n | \"INVALID_PROMPT_INPUT\"\n | \"INVALID_TOOL_RESULTS\"\n | \"MESSAGE_COERCION_FAILURE\"\n | \"MODEL_AUTHENTICATION\"\n | \"MODEL_NOT_FOUND\"\n | \"MODEL_RATE_LIMIT\"\n | \"OUTPUT_PARSING_FAILURE\";\n\nexport function addLangChainErrorFields(\n error: any,\n lc_error_code: LangChainErrorCodes\n) {\n (error as any).lc_error_code = lc_error_code;\n error.message = `${error.message}\\n\\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${lc_error_code}/\\n`;\n return error;\n}\n"],"mappings":";AAcA,SAAgB,wBACd,OACA,eACA;AACA,CAAC,MAAc,gBAAgB;AAC/B,OAAM,UAAU,GAAG,MAAM,QAAQ,sFAAsF,cAAc;AACrI,QAAO"}
1
+ {"version":3,"file":"errors.js","names":[],"sources":["../../src/utils/errors.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// Duplicate of core\n// TODO: Remove once we stop supporting 0.2.x core versions\nexport type LangChainErrorCodes =\n | \"CONTEXT_OVERFLOW\"\n | \"INVALID_PROMPT_INPUT\"\n | \"INVALID_TOOL_RESULTS\"\n | \"MESSAGE_COERCION_FAILURE\"\n | \"MODEL_AUTHENTICATION\"\n | \"MODEL_NOT_FOUND\"\n | \"MODEL_RATE_LIMIT\"\n | \"OUTPUT_PARSING_FAILURE\";\n\nexport function addLangChainErrorFields(\n error: any,\n lc_error_code: LangChainErrorCodes\n) {\n (error as any).lc_error_code = lc_error_code;\n error.message = `${error.message}\\n\\nTroubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${lc_error_code}/\\n`;\n return error;\n}\n"],"mappings":";AAcA,SAAgB,wBACd,OACA,eACA;AACC,OAAc,gBAAgB;AAC/B,OAAM,UAAU,GAAG,MAAM,QAAQ,sFAAsF,cAAc;AACrI,QAAO"}
@@ -1,5 +1,4 @@
1
1
  let _langchain_core_messages = require("@langchain/core/messages");
2
-
3
2
  //#region src/utils/misc.ts
4
3
  const iife = (fn) => fn();
5
4
  function isReasoningModel(model) {
@@ -40,7 +39,6 @@ function _modelPrefersResponsesAPI(model) {
40
39
  if (model.includes("codex")) return true;
41
40
  return false;
42
41
  }
43
-
44
42
  //#endregion
45
43
  exports._modelPrefersResponsesAPI = _modelPrefersResponsesAPI;
46
44
  exports.getFilenameFromMetadata = getFilenameFromMetadata;
@@ -48,4 +46,5 @@ exports.getRequiredFilenameFromMetadata = getRequiredFilenameFromMetadata;
48
46
  exports.iife = iife;
49
47
  exports.isReasoningModel = isReasoningModel;
50
48
  exports.messageToOpenAIRole = messageToOpenAIRole;
49
+
51
50
  //# sourceMappingURL=misc.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.cjs","names":["ChatMessage"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport {\n BaseMessage,\n ChatMessage,\n ContentBlock,\n Data,\n} from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n if (!model) return false;\n if (/^o\\d/.test(model ?? \"\")) return true;\n if (model.startsWith(\"gpt-5\") && !model.startsWith(\"gpt-5-chat\")) return true;\n return false;\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function getFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string | undefined {\n return (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n}\n\nexport function getRequiredFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string {\n const filename = (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n\n if (!filename) {\n throw new Error(\n \"a filename or name or title is needed via meta-data for OpenAI when working with multimodal blocks\"\n );\n }\n\n return filename;\n}\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n\nexport function _modelPrefersResponsesAPI(model: string): boolean {\n if (model.includes(\"gpt-5.2-pro\")) return true;\n if (model.includes(\"gpt-5.4-pro\")) return true;\n // Codex models are Responses API only\n if (model.includes(\"codex\")) return true;\n return false;\n}\n"],"mappings":";;;AAQA,MAAa,QAAW,OAAgB,IAAI;AAE5C,SAAgB,iBAAiB,OAAgB;AAC/C,KAAI,CAAC,MAAO,QAAO;AACnB,KAAI,OAAO,KAAK,SAAS,GAAG,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,QAAQ,IAAI,CAAC,MAAM,WAAW,aAAa,CAAE,QAAO;AACzE,QAAO;;AAGT,SAAgB,gCAAgC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,OAEjB,SAAQ,KAAK,yBAAyB,QAAQ,OAAO;AAGvD,QAAO,QAAQ;;AAGjB,SAAgB,wBACd,OAIoB;AACpB,QAAQ,MAAM,UAAU,YACtB,MAAM,UAAU,QAChB,MAAM,UAAU;;AAGpB,SAAgB,gCACd,OAIQ;CACR,MAAM,WAAY,MAAM,UAAU,YAChC,MAAM,UAAU,QAChB,MAAM,UAAU;AAElB,KAAI,CAAC,SACH,OAAM,IAAI,MACR,qGACD;AAGH,QAAO;;AAET,SAAgB,oBACd,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAACA,qCAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM,+BAA+B;AACjD,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,yBAAyB,OAAO;;;AAItD,SAAgB,0BAA0B,OAAwB;AAChE,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAC1C,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAE1C,KAAI,MAAM,SAAS,QAAQ,CAAE,QAAO;AACpC,QAAO"}
1
+ {"version":3,"file":"misc.cjs","names":["ChatMessage"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport {\n BaseMessage,\n ChatMessage,\n ContentBlock,\n Data,\n} from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n if (!model) return false;\n if (/^o\\d/.test(model ?? \"\")) return true;\n if (model.startsWith(\"gpt-5\") && !model.startsWith(\"gpt-5-chat\")) return true;\n return false;\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function getFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string | undefined {\n return (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n}\n\nexport function getRequiredFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string {\n const filename = (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n\n if (!filename) {\n throw new Error(\n \"a filename or name or title is needed via meta-data for OpenAI when working with multimodal blocks\"\n );\n }\n\n return filename;\n}\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n\nexport function _modelPrefersResponsesAPI(model: string): boolean {\n if (model.includes(\"gpt-5.2-pro\")) return true;\n if (model.includes(\"gpt-5.4-pro\")) return true;\n // Codex models are Responses API only\n if (model.includes(\"codex\")) return true;\n return false;\n}\n"],"mappings":";;AAQA,MAAa,QAAW,OAAgB,IAAI;AAE5C,SAAgB,iBAAiB,OAAgB;AAC/C,KAAI,CAAC,MAAO,QAAO;AACnB,KAAI,OAAO,KAAK,SAAS,GAAG,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,QAAQ,IAAI,CAAC,MAAM,WAAW,aAAa,CAAE,QAAO;AACzE,QAAO;;AAGT,SAAgB,gCAAgC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,OAEjB,SAAQ,KAAK,yBAAyB,QAAQ,OAAO;AAGvD,QAAO,QAAQ;;AAGjB,SAAgB,wBACd,OAIoB;AACpB,QAAQ,MAAM,UAAU,YACtB,MAAM,UAAU,QAChB,MAAM,UAAU;;AAGpB,SAAgB,gCACd,OAIQ;CACR,MAAM,WAAY,MAAM,UAAU,YAChC,MAAM,UAAU,QAChB,MAAM,UAAU;AAElB,KAAI,CAAC,SACH,OAAM,IAAI,MACR,qGACD;AAGH,QAAO;;AAET,SAAgB,oBACd,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAACA,yBAAAA,YAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM,+BAA+B;AACjD,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,yBAAyB,OAAO;;;AAItD,SAAgB,0BAA0B,OAAwB;AAChE,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAC1C,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAE1C,KAAI,MAAM,SAAS,QAAQ,CAAE,QAAO;AACpC,QAAO"}
@@ -1,8 +1,8 @@
1
- import { OpenAI as OpenAI$1 } from "openai";
1
+ import { OpenAI } from "openai";
2
2
  import { BaseMessage, ContentBlock } from "@langchain/core/messages";
3
3
 
4
4
  //#region src/utils/misc.d.ts
5
- declare function messageToOpenAIRole(message: BaseMessage): OpenAI$1.ChatCompletionRole;
5
+ declare function messageToOpenAIRole(message: BaseMessage): OpenAI.ChatCompletionRole;
6
6
  //#endregion
7
7
  export { messageToOpenAIRole };
8
8
  //# sourceMappingURL=misc.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.cts","names":[],"sources":["../../src/utils/misc.ts"],"mappings":";;;;iBA6DgB,mBAAA,CACd,OAAA,EAAS,WAAA,GACR,QAAA,CAAa,kBAAA"}
1
+ {"version":3,"file":"misc.d.cts","names":[],"sources":["../../src/utils/misc.ts"],"mappings":";;;;iBA6DgB,mBAAA,CACd,OAAA,EAAS,WAAA,GACR,MAAA,CAAa,kBAAA"}
@@ -1,8 +1,8 @@
1
- import { OpenAI as OpenAI$1 } from "openai";
1
+ import { OpenAI } from "openai";
2
2
  import { BaseMessage, ChatMessage, ContentBlock } from "@langchain/core/messages";
3
3
 
4
4
  //#region src/utils/misc.d.ts
5
- declare function messageToOpenAIRole(message: BaseMessage): OpenAI$1.ChatCompletionRole;
5
+ declare function messageToOpenAIRole(message: BaseMessage): OpenAI.ChatCompletionRole;
6
6
  //#endregion
7
7
  export { messageToOpenAIRole };
8
8
  //# sourceMappingURL=misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","names":[],"sources":["../../src/utils/misc.ts"],"mappings":";;;;iBA6DgB,mBAAA,CACd,OAAA,EAAS,WAAA,GACR,QAAA,CAAa,kBAAA"}
1
+ {"version":3,"file":"misc.d.ts","names":[],"sources":["../../src/utils/misc.ts"],"mappings":";;;;iBA6DgB,mBAAA,CACd,OAAA,EAAS,WAAA,GACR,MAAA,CAAa,kBAAA"}
@@ -1,5 +1,4 @@
1
1
  import { ChatMessage } from "@langchain/core/messages";
2
-
3
2
  //#region src/utils/misc.ts
4
3
  const iife$1 = (fn) => fn();
5
4
  function isReasoningModel(model) {
@@ -40,7 +39,7 @@ function _modelPrefersResponsesAPI(model) {
40
39
  if (model.includes("codex")) return true;
41
40
  return false;
42
41
  }
43
-
44
42
  //#endregion
45
43
  export { _modelPrefersResponsesAPI, getFilenameFromMetadata, getRequiredFilenameFromMetadata, iife$1 as iife, isReasoningModel, messageToOpenAIRole };
44
+
46
45
  //# sourceMappingURL=misc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","names":["iife"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport {\n BaseMessage,\n ChatMessage,\n ContentBlock,\n Data,\n} from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n if (!model) return false;\n if (/^o\\d/.test(model ?? \"\")) return true;\n if (model.startsWith(\"gpt-5\") && !model.startsWith(\"gpt-5-chat\")) return true;\n return false;\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function getFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string | undefined {\n return (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n}\n\nexport function getRequiredFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string {\n const filename = (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n\n if (!filename) {\n throw new Error(\n \"a filename or name or title is needed via meta-data for OpenAI when working with multimodal blocks\"\n );\n }\n\n return filename;\n}\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n\nexport function _modelPrefersResponsesAPI(model: string): boolean {\n if (model.includes(\"gpt-5.2-pro\")) return true;\n if (model.includes(\"gpt-5.4-pro\")) return true;\n // Codex models are Responses API only\n if (model.includes(\"codex\")) return true;\n return false;\n}\n"],"mappings":";;;AAQA,MAAaA,UAAW,OAAgB,IAAI;AAE5C,SAAgB,iBAAiB,OAAgB;AAC/C,KAAI,CAAC,MAAO,QAAO;AACnB,KAAI,OAAO,KAAK,SAAS,GAAG,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,QAAQ,IAAI,CAAC,MAAM,WAAW,aAAa,CAAE,QAAO;AACzE,QAAO;;AAGT,SAAgB,gCAAgC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,OAEjB,SAAQ,KAAK,yBAAyB,QAAQ,OAAO;AAGvD,QAAO,QAAQ;;AAGjB,SAAgB,wBACd,OAIoB;AACpB,QAAQ,MAAM,UAAU,YACtB,MAAM,UAAU,QAChB,MAAM,UAAU;;AAGpB,SAAgB,gCACd,OAIQ;CACR,MAAM,WAAY,MAAM,UAAU,YAChC,MAAM,UAAU,QAChB,MAAM,UAAU;AAElB,KAAI,CAAC,SACH,OAAM,IAAI,MACR,qGACD;AAGH,QAAO;;AAET,SAAgB,oBACd,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAAC,YAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM,+BAA+B;AACjD,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,yBAAyB,OAAO;;;AAItD,SAAgB,0BAA0B,OAAwB;AAChE,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAC1C,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAE1C,KAAI,MAAM,SAAS,QAAQ,CAAE,QAAO;AACpC,QAAO"}
1
+ {"version":3,"file":"misc.js","names":["iife"],"sources":["../../src/utils/misc.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport {\n BaseMessage,\n ChatMessage,\n ContentBlock,\n Data,\n} from \"@langchain/core/messages\";\n\nexport const iife = <T>(fn: () => T) => fn();\n\nexport function isReasoningModel(model?: string) {\n if (!model) return false;\n if (/^o\\d/.test(model ?? \"\")) return true;\n if (model.startsWith(\"gpt-5\") && !model.startsWith(\"gpt-5-chat\")) return true;\n return false;\n}\n\nexport function extractGenericMessageCustomRole(message: ChatMessage) {\n if (\n message.role !== \"system\" &&\n message.role !== \"developer\" &&\n message.role !== \"assistant\" &&\n message.role !== \"user\" &&\n message.role !== \"function\" &&\n message.role !== \"tool\"\n ) {\n console.warn(`Unknown message role: ${message.role}`);\n }\n\n return message.role as OpenAIClient.ChatCompletionRole;\n}\n\nexport function getFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string | undefined {\n return (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n}\n\nexport function getRequiredFilenameFromMetadata(\n block:\n | ContentBlock.Multimodal.File\n | ContentBlock.Multimodal.Video\n | Data.StandardFileBlock\n): string {\n const filename = (block.metadata?.filename ??\n block.metadata?.name ??\n block.metadata?.title) as string;\n\n if (!filename) {\n throw new Error(\n \"a filename or name or title is needed via meta-data for OpenAI when working with multimodal blocks\"\n );\n }\n\n return filename;\n}\nexport function messageToOpenAIRole(\n message: BaseMessage\n): OpenAIClient.ChatCompletionRole {\n const type = message._getType();\n switch (type) {\n case \"system\":\n return \"system\";\n case \"ai\":\n return \"assistant\";\n case \"human\":\n return \"user\";\n case \"function\":\n return \"function\";\n case \"tool\":\n return \"tool\";\n case \"generic\": {\n if (!ChatMessage.isInstance(message))\n throw new Error(\"Invalid generic chat message\");\n return extractGenericMessageCustomRole(message);\n }\n default:\n throw new Error(`Unknown message type: ${type}`);\n }\n}\n\nexport function _modelPrefersResponsesAPI(model: string): boolean {\n if (model.includes(\"gpt-5.2-pro\")) return true;\n if (model.includes(\"gpt-5.4-pro\")) return true;\n // Codex models are Responses API only\n if (model.includes(\"codex\")) return true;\n return false;\n}\n"],"mappings":";;AAQA,MAAaA,UAAW,OAAgB,IAAI;AAE5C,SAAgB,iBAAiB,OAAgB;AAC/C,KAAI,CAAC,MAAO,QAAO;AACnB,KAAI,OAAO,KAAK,SAAS,GAAG,CAAE,QAAO;AACrC,KAAI,MAAM,WAAW,QAAQ,IAAI,CAAC,MAAM,WAAW,aAAa,CAAE,QAAO;AACzE,QAAO;;AAGT,SAAgB,gCAAgC,SAAsB;AACpE,KACE,QAAQ,SAAS,YACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,eACjB,QAAQ,SAAS,UACjB,QAAQ,SAAS,cACjB,QAAQ,SAAS,OAEjB,SAAQ,KAAK,yBAAyB,QAAQ,OAAO;AAGvD,QAAO,QAAQ;;AAGjB,SAAgB,wBACd,OAIoB;AACpB,QAAQ,MAAM,UAAU,YACtB,MAAM,UAAU,QAChB,MAAM,UAAU;;AAGpB,SAAgB,gCACd,OAIQ;CACR,MAAM,WAAY,MAAM,UAAU,YAChC,MAAM,UAAU,QAChB,MAAM,UAAU;AAElB,KAAI,CAAC,SACH,OAAM,IAAI,MACR,qGACD;AAGH,QAAO;;AAET,SAAgB,oBACd,SACiC;CACjC,MAAM,OAAO,QAAQ,UAAU;AAC/B,SAAQ,MAAR;EACE,KAAK,SACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,KAAK,OACH,QAAO;EACT,KAAK;AACH,OAAI,CAAC,YAAY,WAAW,QAAQ,CAClC,OAAM,IAAI,MAAM,+BAA+B;AACjD,UAAO,gCAAgC,QAAQ;EAEjD,QACE,OAAM,IAAI,MAAM,yBAAyB,OAAO;;;AAItD,SAAgB,0BAA0B,OAAwB;AAChE,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAC1C,KAAI,MAAM,SAAS,cAAc,CAAE,QAAO;AAE1C,KAAI,MAAM,SAAS,QAAQ,CAAE,QAAO;AACpC,QAAO"}
@@ -2,7 +2,6 @@ let _langchain_core_utils_types = require("@langchain/core/utils/types");
2
2
  let _langchain_core_utils_json_schema = require("@langchain/core/utils/json_schema");
3
3
  let zod_v4_core = require("zod/v4/core");
4
4
  let openai_helpers_zod = require("openai/helpers/zod");
5
-
6
5
  //#region src/utils/output.ts
7
6
  const SUPPORTED_METHODS = [
8
7
  "jsonSchema",
@@ -91,9 +90,9 @@ function handleMultiModalOutput(content, messages) {
91
90
  }
92
91
  return content;
93
92
  }
94
-
95
93
  //#endregion
96
94
  exports.getStructuredOutputMethod = getStructuredOutputMethod;
97
95
  exports.handleMultiModalOutput = handleMultiModalOutput;
98
96
  exports.interopZodResponseFormat = interopZodResponseFormat;
97
+
99
98
  //# sourceMappingURL=output.cjs.map