modelfusion 0.110.0 → 0.112.0

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 (283) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +41 -65
  3. package/core/FunctionEvent.d.ts +3 -3
  4. package/core/api/ApiFacade.cjs +20 -0
  5. package/core/api/ApiFacade.d.ts +4 -0
  6. package/core/api/ApiFacade.js +4 -0
  7. package/core/api/BaseUrlApiConfiguration.cjs +47 -5
  8. package/core/api/BaseUrlApiConfiguration.d.ts +23 -6
  9. package/core/api/BaseUrlApiConfiguration.js +45 -4
  10. package/core/api/BaseUrlApiConfiguration.test.cjs +11 -0
  11. package/core/api/BaseUrlApiConfiguration.test.js +9 -0
  12. package/core/api/callWithRetryAndThrottle.cjs +3 -3
  13. package/core/api/callWithRetryAndThrottle.js +3 -3
  14. package/core/api/index.cjs +15 -2
  15. package/core/api/index.d.ts +2 -2
  16. package/core/api/index.js +2 -2
  17. package/core/api/postToApi.cjs +28 -5
  18. package/core/api/postToApi.d.ts +5 -4
  19. package/core/api/postToApi.js +26 -4
  20. package/core/api/throttleOff.cjs +8 -0
  21. package/core/api/throttleOff.d.ts +5 -0
  22. package/core/api/throttleOff.js +4 -0
  23. package/internal/index.cjs +2 -8
  24. package/internal/index.d.ts +1 -1
  25. package/internal/index.js +1 -1
  26. package/model-function/ModelCallEvent.d.ts +3 -3
  27. package/model-function/generate-structure/generateStructure.d.ts +1 -1
  28. package/model-function/generate-text/PromptTemplateFullTextModel.cjs +2 -2
  29. package/model-function/generate-text/PromptTemplateFullTextModel.d.ts +3 -3
  30. package/model-function/generate-text/PromptTemplateFullTextModel.js +2 -2
  31. package/model-function/generate-text/PromptTemplateTextGenerationModel.cjs +2 -2
  32. package/model-function/generate-text/PromptTemplateTextGenerationModel.d.ts +3 -3
  33. package/model-function/generate-text/PromptTemplateTextGenerationModel.js +2 -2
  34. package/model-provider/anthropic/AnthropicApiConfiguration.cjs +14 -6
  35. package/model-provider/anthropic/AnthropicApiConfiguration.d.ts +7 -8
  36. package/model-provider/anthropic/AnthropicApiConfiguration.js +15 -7
  37. package/model-provider/anthropic/AnthropicError.cjs +7 -27
  38. package/model-provider/anthropic/AnthropicError.d.ts +21 -16
  39. package/model-provider/anthropic/AnthropicError.js +7 -25
  40. package/model-provider/anthropic/AnthropicFacade.cjs +10 -1
  41. package/model-provider/anthropic/AnthropicFacade.d.ts +9 -0
  42. package/model-provider/anthropic/AnthropicFacade.js +8 -0
  43. package/model-provider/anthropic/AnthropicTextGenerationModel.cjs +22 -24
  44. package/model-provider/anthropic/AnthropicTextGenerationModel.js +23 -25
  45. package/model-provider/anthropic/index.cjs +1 -4
  46. package/model-provider/anthropic/index.d.ts +1 -1
  47. package/model-provider/anthropic/index.js +0 -1
  48. package/model-provider/automatic1111/Automatic1111ApiConfiguration.cjs +12 -4
  49. package/model-provider/automatic1111/Automatic1111ApiConfiguration.d.ts +3 -3
  50. package/model-provider/automatic1111/Automatic1111ApiConfiguration.js +12 -4
  51. package/model-provider/automatic1111/Automatic1111Error.cjs +3 -3
  52. package/model-provider/automatic1111/Automatic1111Error.d.ts +13 -3
  53. package/model-provider/automatic1111/Automatic1111Error.js +4 -4
  54. package/model-provider/automatic1111/Automatic1111Facade.cjs +9 -9
  55. package/model-provider/automatic1111/Automatic1111Facade.d.ts +6 -6
  56. package/model-provider/automatic1111/Automatic1111Facade.js +7 -7
  57. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.cjs +11 -7
  58. package/model-provider/automatic1111/Automatic1111ImageGenerationModel.js +11 -7
  59. package/model-provider/cohere/CohereApiConfiguration.cjs +14 -6
  60. package/model-provider/cohere/CohereApiConfiguration.d.ts +7 -8
  61. package/model-provider/cohere/CohereApiConfiguration.js +15 -7
  62. package/model-provider/cohere/CohereError.cjs +8 -43
  63. package/model-provider/cohere/CohereError.d.ts +9 -16
  64. package/model-provider/cohere/CohereError.js +8 -41
  65. package/model-provider/cohere/CohereFacade.cjs +12 -3
  66. package/model-provider/cohere/CohereFacade.d.ts +11 -2
  67. package/model-provider/cohere/CohereFacade.js +10 -2
  68. package/model-provider/cohere/CohereTextEmbeddingModel.cjs +18 -22
  69. package/model-provider/cohere/CohereTextEmbeddingModel.js +18 -22
  70. package/model-provider/cohere/CohereTextGenerationModel.cjs +31 -39
  71. package/model-provider/cohere/CohereTextGenerationModel.d.ts +110 -8
  72. package/model-provider/cohere/CohereTextGenerationModel.js +31 -39
  73. package/model-provider/cohere/CohereTokenizer.cjs +32 -41
  74. package/model-provider/cohere/CohereTokenizer.d.ts +2 -2
  75. package/model-provider/cohere/CohereTokenizer.js +32 -41
  76. package/model-provider/cohere/index.cjs +1 -3
  77. package/model-provider/cohere/index.d.ts +1 -1
  78. package/model-provider/cohere/index.js +0 -1
  79. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.cjs +14 -6
  80. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.d.ts +7 -8
  81. package/model-provider/elevenlabs/ElevenLabsApiConfiguration.js +15 -7
  82. package/model-provider/elevenlabs/ElevenLabsFacade.cjs +10 -1
  83. package/model-provider/elevenlabs/ElevenLabsFacade.d.ts +9 -0
  84. package/model-provider/elevenlabs/ElevenLabsFacade.js +8 -0
  85. package/model-provider/elevenlabs/ElevenLabsSpeechModel.cjs +42 -53
  86. package/model-provider/elevenlabs/ElevenLabsSpeechModel.js +44 -55
  87. package/model-provider/huggingface/HuggingFaceApiConfiguration.cjs +14 -6
  88. package/model-provider/huggingface/HuggingFaceApiConfiguration.d.ts +7 -8
  89. package/model-provider/huggingface/HuggingFaceApiConfiguration.js +15 -7
  90. package/model-provider/huggingface/HuggingFaceError.cjs +7 -29
  91. package/model-provider/huggingface/HuggingFaceError.d.ts +9 -16
  92. package/model-provider/huggingface/HuggingFaceError.js +7 -27
  93. package/model-provider/huggingface/HuggingFaceFacade.cjs +10 -1
  94. package/model-provider/huggingface/HuggingFaceFacade.d.ts +9 -0
  95. package/model-provider/huggingface/HuggingFaceFacade.js +8 -0
  96. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.cjs +17 -27
  97. package/model-provider/huggingface/HuggingFaceTextEmbeddingModel.js +17 -27
  98. package/model-provider/huggingface/HuggingFaceTextGenerationModel.cjs +22 -23
  99. package/model-provider/huggingface/HuggingFaceTextGenerationModel.js +22 -23
  100. package/model-provider/huggingface/index.cjs +1 -3
  101. package/model-provider/huggingface/index.d.ts +1 -1
  102. package/model-provider/huggingface/index.js +0 -1
  103. package/model-provider/llamacpp/LlamaCppApiConfiguration.cjs +13 -6
  104. package/model-provider/llamacpp/LlamaCppApiConfiguration.d.ts +7 -9
  105. package/model-provider/llamacpp/LlamaCppApiConfiguration.js +14 -7
  106. package/model-provider/llamacpp/LlamaCppCompletionModel.cjs +4 -4
  107. package/model-provider/llamacpp/LlamaCppCompletionModel.d.ts +173 -5
  108. package/model-provider/llamacpp/LlamaCppCompletionModel.js +4 -4
  109. package/model-provider/llamacpp/LlamaCppError.cjs +7 -27
  110. package/model-provider/llamacpp/LlamaCppError.d.ts +9 -16
  111. package/model-provider/llamacpp/LlamaCppError.js +7 -25
  112. package/model-provider/llamacpp/LlamaCppFacade.cjs +10 -2
  113. package/model-provider/llamacpp/LlamaCppFacade.d.ts +8 -1
  114. package/model-provider/llamacpp/LlamaCppFacade.js +8 -1
  115. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.cjs +10 -14
  116. package/model-provider/llamacpp/LlamaCppTextEmbeddingModel.js +10 -14
  117. package/model-provider/llamacpp/LlamaCppTokenizer.cjs +14 -18
  118. package/model-provider/llamacpp/LlamaCppTokenizer.js +14 -18
  119. package/model-provider/llamacpp/index.cjs +1 -3
  120. package/model-provider/llamacpp/index.d.ts +1 -1
  121. package/model-provider/llamacpp/index.js +0 -1
  122. package/model-provider/lmnt/LmntApiConfiguration.cjs +14 -6
  123. package/model-provider/lmnt/LmntApiConfiguration.d.ts +7 -8
  124. package/model-provider/lmnt/LmntApiConfiguration.js +15 -7
  125. package/model-provider/lmnt/LmntFacade.cjs +11 -2
  126. package/model-provider/lmnt/LmntFacade.d.ts +10 -1
  127. package/model-provider/lmnt/LmntFacade.js +9 -1
  128. package/model-provider/lmnt/LmntSpeechModel.cjs +53 -41
  129. package/model-provider/lmnt/LmntSpeechModel.d.ts +51 -3
  130. package/model-provider/lmnt/LmntSpeechModel.js +54 -42
  131. package/model-provider/mistral/MistralApiConfiguration.cjs +14 -6
  132. package/model-provider/mistral/MistralApiConfiguration.d.ts +9 -11
  133. package/model-provider/mistral/MistralApiConfiguration.js +15 -7
  134. package/model-provider/mistral/MistralChatModel.cjs +4 -4
  135. package/model-provider/mistral/MistralChatModel.d.ts +52 -7
  136. package/model-provider/mistral/MistralChatModel.js +5 -5
  137. package/model-provider/mistral/MistralError.cjs +3 -3
  138. package/model-provider/mistral/MistralError.d.ts +15 -3
  139. package/model-provider/mistral/MistralError.js +4 -4
  140. package/model-provider/mistral/MistralFacade.cjs +5 -1
  141. package/model-provider/mistral/MistralFacade.d.ts +10 -3
  142. package/model-provider/mistral/MistralFacade.js +6 -2
  143. package/model-provider/mistral/MistralTextEmbeddingModel.cjs +2 -1
  144. package/model-provider/mistral/MistralTextEmbeddingModel.d.ts +3 -3
  145. package/model-provider/mistral/MistralTextEmbeddingModel.js +2 -1
  146. package/model-provider/ollama/OllamaApiConfiguration.cjs +13 -6
  147. package/model-provider/ollama/OllamaApiConfiguration.d.ts +7 -10
  148. package/model-provider/ollama/OllamaApiConfiguration.js +14 -7
  149. package/model-provider/ollama/OllamaChatModel.cjs +6 -6
  150. package/model-provider/ollama/OllamaChatModel.d.ts +49 -8
  151. package/model-provider/ollama/OllamaChatModel.js +7 -7
  152. package/model-provider/ollama/OllamaCompletionModel.cjs +6 -6
  153. package/model-provider/ollama/OllamaCompletionModel.d.ts +43 -8
  154. package/model-provider/ollama/OllamaCompletionModel.js +7 -7
  155. package/model-provider/ollama/OllamaError.cjs +3 -3
  156. package/model-provider/ollama/OllamaError.d.ts +7 -3
  157. package/model-provider/ollama/OllamaError.js +4 -4
  158. package/model-provider/ollama/OllamaFacade.cjs +6 -2
  159. package/model-provider/ollama/OllamaFacade.d.ts +8 -3
  160. package/model-provider/ollama/OllamaFacade.js +6 -2
  161. package/model-provider/ollama/OllamaTextEmbeddingModel.cjs +15 -16
  162. package/model-provider/ollama/OllamaTextEmbeddingModel.js +15 -16
  163. package/model-provider/openai/AbstractOpenAIChatModel.cjs +5 -5
  164. package/model-provider/openai/AbstractOpenAIChatModel.d.ts +155 -9
  165. package/model-provider/openai/AbstractOpenAIChatModel.js +5 -5
  166. package/model-provider/openai/AbstractOpenAICompletionModel.cjs +30 -32
  167. package/model-provider/openai/AbstractOpenAICompletionModel.d.ts +4 -4
  168. package/model-provider/openai/AbstractOpenAICompletionModel.js +30 -32
  169. package/model-provider/openai/AzureOpenAIApiConfiguration.d.ts +9 -8
  170. package/model-provider/openai/OpenAIApiConfiguration.cjs +14 -6
  171. package/model-provider/openai/OpenAIApiConfiguration.d.ts +7 -8
  172. package/model-provider/openai/OpenAIApiConfiguration.js +15 -7
  173. package/model-provider/openai/OpenAIChatFunctionCallStructureGenerationModel.d.ts +1 -1
  174. package/model-provider/openai/OpenAIChatModel.d.ts +2 -2
  175. package/model-provider/openai/OpenAIError.cjs +8 -8
  176. package/model-provider/openai/OpenAIError.d.ts +27 -3
  177. package/model-provider/openai/OpenAIError.js +9 -9
  178. package/model-provider/openai/OpenAIFacade.cjs +23 -2
  179. package/model-provider/openai/OpenAIFacade.d.ts +20 -2
  180. package/model-provider/openai/OpenAIFacade.js +20 -1
  181. package/model-provider/openai/OpenAIImageGenerationModel.cjs +20 -21
  182. package/model-provider/openai/OpenAIImageGenerationModel.js +20 -21
  183. package/model-provider/openai/OpenAISpeechModel.cjs +17 -22
  184. package/model-provider/openai/OpenAISpeechModel.js +17 -22
  185. package/model-provider/openai/OpenAITextEmbeddingModel.cjs +18 -23
  186. package/model-provider/openai/OpenAITextEmbeddingModel.d.ts +3 -3
  187. package/model-provider/openai/OpenAITextEmbeddingModel.js +18 -23
  188. package/model-provider/openai/OpenAITranscriptionModel.cjs +42 -48
  189. package/model-provider/openai/OpenAITranscriptionModel.d.ts +14 -10
  190. package/model-provider/openai/OpenAITranscriptionModel.js +42 -48
  191. package/model-provider/openai-compatible/FireworksAIApiConfiguration.cjs +11 -7
  192. package/model-provider/openai-compatible/FireworksAIApiConfiguration.d.ts +4 -9
  193. package/model-provider/openai-compatible/FireworksAIApiConfiguration.js +12 -8
  194. package/model-provider/openai-compatible/OpenAICompatibleChatModel.d.ts +2 -2
  195. package/model-provider/openai-compatible/OpenAICompatibleFacade.cjs +25 -1
  196. package/model-provider/openai-compatible/OpenAICompatibleFacade.d.ts +23 -0
  197. package/model-provider/openai-compatible/OpenAICompatibleFacade.js +22 -0
  198. package/model-provider/openai-compatible/TogetherAIApiConfiguration.cjs +11 -7
  199. package/model-provider/openai-compatible/TogetherAIApiConfiguration.d.ts +4 -9
  200. package/model-provider/openai-compatible/TogetherAIApiConfiguration.js +12 -8
  201. package/model-provider/stability/StabilityApiConfiguration.cjs +13 -12
  202. package/model-provider/stability/StabilityApiConfiguration.d.ts +4 -4
  203. package/model-provider/stability/StabilityApiConfiguration.js +13 -12
  204. package/model-provider/stability/StabilityError.cjs +3 -3
  205. package/model-provider/stability/StabilityError.d.ts +7 -3
  206. package/model-provider/stability/StabilityError.js +4 -4
  207. package/model-provider/stability/StabilityFacade.cjs +9 -9
  208. package/model-provider/stability/StabilityFacade.d.ts +8 -8
  209. package/model-provider/stability/StabilityFacade.js +7 -7
  210. package/model-provider/stability/StabilityImageGenerationModel.cjs +2 -1
  211. package/model-provider/stability/StabilityImageGenerationModel.js +2 -1
  212. package/model-provider/whispercpp/WhisperCppApiConfiguration.cjs +13 -6
  213. package/model-provider/whispercpp/WhisperCppApiConfiguration.d.ts +7 -10
  214. package/model-provider/whispercpp/WhisperCppApiConfiguration.js +14 -7
  215. package/model-provider/whispercpp/WhisperCppFacade.cjs +9 -5
  216. package/model-provider/whispercpp/WhisperCppFacade.d.ts +7 -2
  217. package/model-provider/whispercpp/WhisperCppFacade.js +8 -4
  218. package/model-provider/whispercpp/WhisperCppTranscriptionModel.cjs +5 -2
  219. package/model-provider/whispercpp/WhisperCppTranscriptionModel.js +6 -3
  220. package/package.json +1 -1
  221. package/tool/Tool.cjs +0 -10
  222. package/tool/Tool.d.ts +0 -1
  223. package/tool/Tool.js +0 -10
  224. package/tool/WebSearchTool.cjs +2 -2
  225. package/tool/WebSearchTool.d.ts +1 -2
  226. package/tool/WebSearchTool.js +3 -3
  227. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs → generate-tool-calls/TextGenerationToolCallsModel.cjs} +7 -7
  228. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.d.ts → generate-tool-calls/TextGenerationToolCallsModel.d.ts} +6 -6
  229. package/tool/{generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js → generate-tool-calls/TextGenerationToolCallsModel.js} +5 -5
  230. package/tool/generate-tool-calls/ToolCallsGenerationEvent.d.ts +23 -0
  231. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.d.ts → generate-tool-calls/ToolCallsGenerationModel.d.ts} +3 -3
  232. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.cjs → generate-tool-calls/ToolCallsParseError.cjs} +5 -5
  233. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.d.ts → generate-tool-calls/ToolCallsParseError.d.ts} +1 -1
  234. package/tool/{generate-tool-calls-or-text/ToolCallsOrTextParseError.js → generate-tool-calls/ToolCallsParseError.js} +3 -3
  235. package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.d.ts → generate-tool-calls/ToolCallsPromptTemplate.d.ts} +1 -1
  236. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.cjs → generate-tool-calls/generateToolCalls.cjs} +5 -5
  237. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.d.ts → generate-tool-calls/generateToolCalls.d.ts} +3 -3
  238. package/tool/{generate-tool-calls-or-text/generateToolCallsOrText.js → generate-tool-calls/generateToolCalls.js} +3 -3
  239. package/tool/{generate-tool-calls-or-text → generate-tool-calls}/index.cjs +6 -6
  240. package/tool/generate-tool-calls/index.d.ts +6 -0
  241. package/tool/generate-tool-calls/index.js +6 -0
  242. package/tool/index.cjs +2 -3
  243. package/tool/index.d.ts +2 -3
  244. package/tool/index.js +2 -3
  245. package/tool/use-tools/UseToolsEvent.d.ts +7 -0
  246. package/tool/use-tools/UseToolsEvent.js +1 -0
  247. package/tool/{use-tools-or-generate-text → use-tools}/index.cjs +2 -2
  248. package/tool/use-tools/index.d.ts +2 -0
  249. package/tool/use-tools/index.js +2 -0
  250. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.cjs → use-tools/useTools.cjs} +6 -6
  251. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.d.ts → use-tools/useTools.d.ts} +2 -2
  252. package/tool/{use-tools-or-generate-text/useToolsOrGenerateText.js → use-tools/useTools.js} +4 -4
  253. package/vector-index/memory/MemoryVectorIndex.cjs +2 -2
  254. package/vector-index/memory/MemoryVectorIndex.js +3 -3
  255. package/core/api/BaseUrlPartsApiConfiguration.cjs +0 -53
  256. package/core/api/BaseUrlPartsApiConfiguration.d.ts +0 -26
  257. package/core/api/BaseUrlPartsApiConfiguration.js +0 -49
  258. package/core/api/throttleUnlimitedConcurrency.cjs +0 -8
  259. package/core/api/throttleUnlimitedConcurrency.d.ts +0 -5
  260. package/core/api/throttleUnlimitedConcurrency.js +0 -4
  261. package/model-provider/elevenlabs/ElevenLabsError.cjs +0 -30
  262. package/model-provider/elevenlabs/ElevenLabsError.d.ts +0 -3
  263. package/model-provider/elevenlabs/ElevenLabsError.js +0 -26
  264. package/model-provider/lmnt/LmntError.cjs +0 -30
  265. package/model-provider/lmnt/LmntError.d.ts +0 -3
  266. package/model-provider/lmnt/LmntError.js +0 -26
  267. package/tool/InvalidToolNameError.cjs +0 -17
  268. package/tool/InvalidToolNameError.d.ts +0 -7
  269. package/tool/InvalidToolNameError.js +0 -13
  270. package/tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.d.ts +0 -23
  271. package/tool/generate-tool-calls-or-text/index.d.ts +0 -6
  272. package/tool/generate-tool-calls-or-text/index.js +0 -6
  273. package/tool/use-tools-or-generate-text/UseToolsOrGenerateTextEvent.d.ts +0 -7
  274. package/tool/use-tools-or-generate-text/index.d.ts +0 -2
  275. package/tool/use-tools-or-generate-text/index.js +0 -2
  276. /package/{tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js → core/api/BaseUrlApiConfiguration.test.d.ts} +0 -0
  277. /package/tool/{generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.cjs → generate-tool-calls/ToolCallsGenerationEvent.cjs} +0 -0
  278. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.js → generate-tool-calls/ToolCallsGenerationEvent.js} +0 -0
  279. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.cjs → generate-tool-calls/ToolCallsGenerationModel.cjs} +0 -0
  280. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js → generate-tool-calls/ToolCallsGenerationModel.js} +0 -0
  281. /package/tool/{generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.cjs → generate-tool-calls/ToolCallsPromptTemplate.cjs} +0 -0
  282. /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.js → generate-tool-calls/ToolCallsPromptTemplate.js} +0 -0
  283. /package/tool/{use-tools-or-generate-text/UseToolsOrGenerateTextEvent.cjs → use-tools/UseToolsEvent.cjs} +0 -0
@@ -93,12 +93,12 @@ export declare abstract class AbstractOpenAIChatModel<SETTINGS extends AbstractO
93
93
  doGenerateTexts(prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
94
94
  response: {
95
95
  object: "chat.completion";
96
+ model: string;
96
97
  usage: {
97
98
  prompt_tokens: number;
98
99
  completion_tokens: number;
99
100
  total_tokens: number;
100
101
  };
101
- model: string;
102
102
  id: string;
103
103
  created: number;
104
104
  choices: {
@@ -166,12 +166,12 @@ export declare abstract class AbstractOpenAIChatModel<SETTINGS extends AbstractO
166
166
  doGenerateToolCall(tool: ToolDefinition<string, unknown>, prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
167
167
  response: {
168
168
  object: "chat.completion";
169
+ model: string;
169
170
  usage: {
170
171
  prompt_tokens: number;
171
172
  completion_tokens: number;
172
173
  total_tokens: number;
173
174
  };
174
- model: string;
175
175
  id: string;
176
176
  created: number;
177
177
  choices: {
@@ -207,15 +207,15 @@ export declare abstract class AbstractOpenAIChatModel<SETTINGS extends AbstractO
207
207
  totalTokens: number;
208
208
  };
209
209
  }>;
210
- doGenerateToolCallsOrText(tools: Array<ToolDefinition<string, unknown>>, prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
210
+ doGenerateToolCalls(tools: Array<ToolDefinition<string, unknown>>, prompt: OpenAIChatPrompt, options?: FunctionOptions): Promise<{
211
211
  response: {
212
212
  object: "chat.completion";
213
+ model: string;
213
214
  usage: {
214
215
  prompt_tokens: number;
215
216
  completion_tokens: number;
216
217
  total_tokens: number;
217
218
  };
218
- model: string;
219
219
  id: string;
220
220
  created: number;
221
221
  choices: {
@@ -397,12 +397,12 @@ declare const openAIChatResponseSchema: z.ZodObject<{
397
397
  }>;
398
398
  }, "strip", z.ZodTypeAny, {
399
399
  object: "chat.completion";
400
+ model: string;
400
401
  usage: {
401
402
  prompt_tokens: number;
402
403
  completion_tokens: number;
403
404
  total_tokens: number;
404
405
  };
405
- model: string;
406
406
  id: string;
407
407
  created: number;
408
408
  choices: {
@@ -429,12 +429,12 @@ declare const openAIChatResponseSchema: z.ZodObject<{
429
429
  system_fingerprint?: string | null | undefined;
430
430
  }, {
431
431
  object: "chat.completion";
432
+ model: string;
432
433
  usage: {
433
434
  prompt_tokens: number;
434
435
  completion_tokens: number;
435
436
  total_tokens: number;
436
437
  };
437
- model: string;
438
438
  id: string;
439
439
  created: number;
440
440
  choices: {
@@ -461,7 +461,153 @@ declare const openAIChatResponseSchema: z.ZodObject<{
461
461
  system_fingerprint?: string | null | undefined;
462
462
  }>;
463
463
  export type OpenAIChatResponse = z.infer<typeof openAIChatResponseSchema>;
464
- declare const openaiChatChunkSchema: import("../../core/schema/ZodSchema.js").ZodSchema<{
464
+ declare const openaiChatChunkSchema: z.ZodObject<{
465
+ object: z.ZodLiteral<"chat.completion.chunk">;
466
+ id: z.ZodString;
467
+ choices: z.ZodArray<z.ZodObject<{
468
+ delta: z.ZodObject<{
469
+ role: z.ZodOptional<z.ZodEnum<["assistant", "user"]>>;
470
+ content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
471
+ function_call: z.ZodOptional<z.ZodObject<{
472
+ name: z.ZodOptional<z.ZodString>;
473
+ arguments: z.ZodOptional<z.ZodString>;
474
+ }, "strip", z.ZodTypeAny, {
475
+ name?: string | undefined;
476
+ arguments?: string | undefined;
477
+ }, {
478
+ name?: string | undefined;
479
+ arguments?: string | undefined;
480
+ }>>;
481
+ tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
482
+ id: z.ZodString;
483
+ type: z.ZodLiteral<"function">;
484
+ function: z.ZodObject<{
485
+ name: z.ZodString;
486
+ arguments: z.ZodString;
487
+ }, "strip", z.ZodTypeAny, {
488
+ name: string;
489
+ arguments: string;
490
+ }, {
491
+ name: string;
492
+ arguments: string;
493
+ }>;
494
+ }, "strip", z.ZodTypeAny, {
495
+ function: {
496
+ name: string;
497
+ arguments: string;
498
+ };
499
+ type: "function";
500
+ id: string;
501
+ }, {
502
+ function: {
503
+ name: string;
504
+ arguments: string;
505
+ };
506
+ type: "function";
507
+ id: string;
508
+ }>, "many">>;
509
+ }, "strip", z.ZodTypeAny, {
510
+ role?: "user" | "assistant" | undefined;
511
+ content?: string | null | undefined;
512
+ function_call?: {
513
+ name?: string | undefined;
514
+ arguments?: string | undefined;
515
+ } | undefined;
516
+ tool_calls?: {
517
+ function: {
518
+ name: string;
519
+ arguments: string;
520
+ };
521
+ type: "function";
522
+ id: string;
523
+ }[] | undefined;
524
+ }, {
525
+ role?: "user" | "assistant" | undefined;
526
+ content?: string | null | undefined;
527
+ function_call?: {
528
+ name?: string | undefined;
529
+ arguments?: string | undefined;
530
+ } | undefined;
531
+ tool_calls?: {
532
+ function: {
533
+ name: string;
534
+ arguments: string;
535
+ };
536
+ type: "function";
537
+ id: string;
538
+ }[] | undefined;
539
+ }>;
540
+ finish_reason: z.ZodOptional<z.ZodNullable<z.ZodEnum<["stop", "length", "tool_calls", "content_filter", "function_call"]>>>;
541
+ index: z.ZodNumber;
542
+ }, "strip", z.ZodTypeAny, {
543
+ delta: {
544
+ role?: "user" | "assistant" | undefined;
545
+ content?: string | null | undefined;
546
+ function_call?: {
547
+ name?: string | undefined;
548
+ arguments?: string | undefined;
549
+ } | undefined;
550
+ tool_calls?: {
551
+ function: {
552
+ name: string;
553
+ arguments: string;
554
+ };
555
+ type: "function";
556
+ id: string;
557
+ }[] | undefined;
558
+ };
559
+ index: number;
560
+ finish_reason?: "length" | "stop" | "function_call" | "tool_calls" | "content_filter" | null | undefined;
561
+ }, {
562
+ delta: {
563
+ role?: "user" | "assistant" | undefined;
564
+ content?: string | null | undefined;
565
+ function_call?: {
566
+ name?: string | undefined;
567
+ arguments?: string | undefined;
568
+ } | undefined;
569
+ tool_calls?: {
570
+ function: {
571
+ name: string;
572
+ arguments: string;
573
+ };
574
+ type: "function";
575
+ id: string;
576
+ }[] | undefined;
577
+ };
578
+ index: number;
579
+ finish_reason?: "length" | "stop" | "function_call" | "tool_calls" | "content_filter" | null | undefined;
580
+ }>, "many">;
581
+ created: z.ZodNumber;
582
+ model: z.ZodString;
583
+ system_fingerprint: z.ZodNullable<z.ZodOptional<z.ZodString>>;
584
+ }, "strip", z.ZodTypeAny, {
585
+ object: "chat.completion.chunk";
586
+ model: string;
587
+ id: string;
588
+ created: number;
589
+ choices: {
590
+ delta: {
591
+ role?: "user" | "assistant" | undefined;
592
+ content?: string | null | undefined;
593
+ function_call?: {
594
+ name?: string | undefined;
595
+ arguments?: string | undefined;
596
+ } | undefined;
597
+ tool_calls?: {
598
+ function: {
599
+ name: string;
600
+ arguments: string;
601
+ };
602
+ type: "function";
603
+ id: string;
604
+ }[] | undefined;
605
+ };
606
+ index: number;
607
+ finish_reason?: "length" | "stop" | "function_call" | "tool_calls" | "content_filter" | null | undefined;
608
+ }[];
609
+ system_fingerprint?: string | null | undefined;
610
+ }, {
465
611
  object: "chat.completion.chunk";
466
612
  model: string;
467
613
  id: string;
@@ -488,7 +634,7 @@ declare const openaiChatChunkSchema: import("../../core/schema/ZodSchema.js").Zo
488
634
  }[];
489
635
  system_fingerprint?: string | null | undefined;
490
636
  }>;
491
- export type OpenAIChatChunk = (typeof openaiChatChunkSchema)["_type"];
637
+ export type OpenAIChatChunk = z.infer<typeof openaiChatChunkSchema>;
492
638
  export type OpenAIChatResponseFormatType<T> = {
493
639
  stream: boolean;
494
640
  handler: ResponseHandler<T>;
@@ -501,12 +647,12 @@ export declare const OpenAIChatResponseFormat: {
501
647
  stream: boolean;
502
648
  handler: ResponseHandler<{
503
649
  object: "chat.completion";
650
+ model: string;
504
651
  usage: {
505
652
  prompt_tokens: number;
506
653
  completion_tokens: number;
507
654
  total_tokens: number;
508
655
  };
509
- model: string;
510
656
  id: string;
511
657
  created: number;
512
658
  choices: {
@@ -148,7 +148,7 @@ export class AbstractOpenAIChatModel extends AbstractModel {
148
148
  usage: this.extractUsage(response),
149
149
  };
150
150
  }
151
- async doGenerateToolCallsOrText(tools, prompt, options) {
151
+ async doGenerateToolCalls(tools, prompt, options) {
152
152
  const response = await this.callAPI(prompt, {
153
153
  ...options,
154
154
  responseFormat: OpenAIChatResponseFormat.json,
@@ -228,7 +228,7 @@ const openAIChatResponseSchema = z.object({
228
228
  total_tokens: z.number(),
229
229
  }),
230
230
  });
231
- const openaiChatChunkSchema = zodSchema(z.object({
231
+ const openaiChatChunkSchema = z.object({
232
232
  object: z.literal("chat.completion.chunk"),
233
233
  id: z.string(),
234
234
  choices: z.array(z.object({
@@ -267,20 +267,20 @@ const openaiChatChunkSchema = zodSchema(z.object({
267
267
  created: z.number(),
268
268
  model: z.string(),
269
269
  system_fingerprint: z.string().optional().nullable(),
270
- }));
270
+ });
271
271
  export const OpenAIChatResponseFormat = {
272
272
  /**
273
273
  * Returns the response as a JSON object.
274
274
  */
275
275
  json: {
276
276
  stream: false,
277
- handler: createJsonResponseHandler(openAIChatResponseSchema),
277
+ handler: createJsonResponseHandler(zodSchema(openAIChatResponseSchema)),
278
278
  },
279
279
  /**
280
280
  * Returns an async iterable over the text deltas (only the tex different of the first choice).
281
281
  */
282
282
  deltaIterable: {
283
283
  stream: true,
284
- handler: createEventSourceResponseHandler(openaiChatChunkSchema),
284
+ handler: createEventSourceResponseHandler(zodSchema(openaiChatChunkSchema)),
285
285
  },
286
286
  };
@@ -34,34 +34,32 @@ class AbstractOpenAICompletionModel extends AbstractModel_js_1.AbstractModel {
34
34
  return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
35
35
  retry: api.retry,
36
36
  throttle: api.throttle,
37
- call: async () => {
38
- return (0, postToApi_js_1.postJsonToApi)({
39
- url: api.assembleUrl("/completions"),
40
- headers: api.headers,
41
- body: {
42
- stream: openaiResponseFormat.stream,
43
- model: this.settings.model,
44
- prompt,
45
- suffix: this.settings.suffix,
46
- max_tokens: this.settings.maxGenerationTokens,
47
- temperature: this.settings.temperature,
48
- top_p: this.settings.topP,
49
- n: this.settings.numberOfGenerations,
50
- logprobs: this.settings.logprobs,
51
- echo: this.settings.echo,
52
- stop: stopSequences,
53
- seed: this.settings.seed,
54
- presence_penalty: this.settings.presencePenalty,
55
- frequency_penalty: this.settings.frequencyPenalty,
56
- best_of: this.settings.bestOf,
57
- logit_bias: this.settings.logitBias,
58
- user,
59
- },
60
- failedResponseHandler: OpenAIError_js_1.failedOpenAICallResponseHandler,
61
- successfulResponseHandler: openaiResponseFormat.handler,
62
- abortSignal,
63
- });
64
- },
37
+ call: async () => (0, postToApi_js_1.postJsonToApi)({
38
+ url: api.assembleUrl("/completions"),
39
+ headers: api.headers,
40
+ body: {
41
+ stream: openaiResponseFormat.stream,
42
+ model: this.settings.model,
43
+ prompt,
44
+ suffix: this.settings.suffix,
45
+ max_tokens: this.settings.maxGenerationTokens,
46
+ temperature: this.settings.temperature,
47
+ top_p: this.settings.topP,
48
+ n: this.settings.numberOfGenerations,
49
+ logprobs: this.settings.logprobs,
50
+ echo: this.settings.echo,
51
+ stop: stopSequences,
52
+ seed: this.settings.seed,
53
+ presence_penalty: this.settings.presencePenalty,
54
+ frequency_penalty: this.settings.frequencyPenalty,
55
+ best_of: this.settings.bestOf,
56
+ logit_bias: this.settings.logitBias,
57
+ user,
58
+ },
59
+ failedResponseHandler: OpenAIError_js_1.failedOpenAICallResponseHandler,
60
+ successfulResponseHandler: openaiResponseFormat.handler,
61
+ abortSignal,
62
+ }),
65
63
  });
66
64
  }
67
65
  async doGenerateTexts(prompt, options) {
@@ -133,7 +131,7 @@ const OpenAICompletionResponseSchema = zod_1.z.object({
133
131
  total_tokens: zod_1.z.number(),
134
132
  }),
135
133
  });
136
- const openaiCompletionStreamChunkSchema = (0, ZodSchema_js_1.zodSchema)(zod_1.z.object({
134
+ const openaiCompletionStreamChunkSchema = zod_1.z.object({
137
135
  choices: zod_1.z.array(zod_1.z.object({
138
136
  text: zod_1.z.string(),
139
137
  finish_reason: zod_1.z
@@ -147,14 +145,14 @@ const openaiCompletionStreamChunkSchema = (0, ZodSchema_js_1.zodSchema)(zod_1.z.
147
145
  model: zod_1.z.string(),
148
146
  system_fingerprint: zod_1.z.string().optional(),
149
147
  object: zod_1.z.literal("text_completion"),
150
- }));
148
+ });
151
149
  exports.OpenAITextResponseFormat = {
152
150
  /**
153
151
  * Returns the response as a JSON object.
154
152
  */
155
153
  json: {
156
154
  stream: false,
157
- handler: (0, postToApi_js_1.createJsonResponseHandler)(OpenAICompletionResponseSchema),
155
+ handler: (0, postToApi_js_1.createJsonResponseHandler)((0, ZodSchema_js_1.zodSchema)(OpenAICompletionResponseSchema)),
158
156
  },
159
157
  /**
160
158
  * Returns an async iterable over the full deltas (all choices, including full current state at time of event)
@@ -162,6 +160,6 @@ exports.OpenAITextResponseFormat = {
162
160
  */
163
161
  deltaIterable: {
164
162
  stream: true,
165
- handler: (0, createEventSourceResponseHandler_js_1.createEventSourceResponseHandler)(openaiCompletionStreamChunkSchema),
163
+ handler: (0, createEventSourceResponseHandler_js_1.createEventSourceResponseHandler)((0, ZodSchema_js_1.zodSchema)(openaiCompletionStreamChunkSchema)),
166
164
  },
167
165
  };
@@ -33,12 +33,12 @@ export declare abstract class AbstractOpenAICompletionModel<SETTINGS extends Abs
33
33
  doGenerateTexts(prompt: string, options?: FunctionOptions): Promise<{
34
34
  response: {
35
35
  object: "text_completion";
36
+ model: string;
36
37
  usage: {
37
38
  prompt_tokens: number;
38
39
  completion_tokens: number;
39
40
  total_tokens: number;
40
41
  };
41
- model: string;
42
42
  id: string;
43
43
  created: number;
44
44
  choices: {
@@ -111,12 +111,12 @@ declare const OpenAICompletionResponseSchema: z.ZodObject<{
111
111
  }>;
112
112
  }, "strip", z.ZodTypeAny, {
113
113
  object: "text_completion";
114
+ model: string;
114
115
  usage: {
115
116
  prompt_tokens: number;
116
117
  completion_tokens: number;
117
118
  total_tokens: number;
118
119
  };
119
- model: string;
120
120
  id: string;
121
121
  created: number;
122
122
  choices: {
@@ -128,12 +128,12 @@ declare const OpenAICompletionResponseSchema: z.ZodObject<{
128
128
  system_fingerprint?: string | undefined;
129
129
  }, {
130
130
  object: "text_completion";
131
+ model: string;
131
132
  usage: {
132
133
  prompt_tokens: number;
133
134
  completion_tokens: number;
134
135
  total_tokens: number;
135
136
  };
136
- model: string;
137
137
  id: string;
138
138
  created: number;
139
139
  choices: {
@@ -157,12 +157,12 @@ export declare const OpenAITextResponseFormat: {
157
157
  stream: boolean;
158
158
  handler: ResponseHandler<{
159
159
  object: "text_completion";
160
+ model: string;
160
161
  usage: {
161
162
  prompt_tokens: number;
162
163
  completion_tokens: number;
163
164
  total_tokens: number;
164
165
  };
165
- model: string;
166
166
  id: string;
167
167
  created: number;
168
168
  choices: {
@@ -31,34 +31,32 @@ export class AbstractOpenAICompletionModel extends AbstractModel {
31
31
  return callWithRetryAndThrottle({
32
32
  retry: api.retry,
33
33
  throttle: api.throttle,
34
- call: async () => {
35
- return postJsonToApi({
36
- url: api.assembleUrl("/completions"),
37
- headers: api.headers,
38
- body: {
39
- stream: openaiResponseFormat.stream,
40
- model: this.settings.model,
41
- prompt,
42
- suffix: this.settings.suffix,
43
- max_tokens: this.settings.maxGenerationTokens,
44
- temperature: this.settings.temperature,
45
- top_p: this.settings.topP,
46
- n: this.settings.numberOfGenerations,
47
- logprobs: this.settings.logprobs,
48
- echo: this.settings.echo,
49
- stop: stopSequences,
50
- seed: this.settings.seed,
51
- presence_penalty: this.settings.presencePenalty,
52
- frequency_penalty: this.settings.frequencyPenalty,
53
- best_of: this.settings.bestOf,
54
- logit_bias: this.settings.logitBias,
55
- user,
56
- },
57
- failedResponseHandler: failedOpenAICallResponseHandler,
58
- successfulResponseHandler: openaiResponseFormat.handler,
59
- abortSignal,
60
- });
61
- },
34
+ call: async () => postJsonToApi({
35
+ url: api.assembleUrl("/completions"),
36
+ headers: api.headers,
37
+ body: {
38
+ stream: openaiResponseFormat.stream,
39
+ model: this.settings.model,
40
+ prompt,
41
+ suffix: this.settings.suffix,
42
+ max_tokens: this.settings.maxGenerationTokens,
43
+ temperature: this.settings.temperature,
44
+ top_p: this.settings.topP,
45
+ n: this.settings.numberOfGenerations,
46
+ logprobs: this.settings.logprobs,
47
+ echo: this.settings.echo,
48
+ stop: stopSequences,
49
+ seed: this.settings.seed,
50
+ presence_penalty: this.settings.presencePenalty,
51
+ frequency_penalty: this.settings.frequencyPenalty,
52
+ best_of: this.settings.bestOf,
53
+ logit_bias: this.settings.logitBias,
54
+ user,
55
+ },
56
+ failedResponseHandler: failedOpenAICallResponseHandler,
57
+ successfulResponseHandler: openaiResponseFormat.handler,
58
+ abortSignal,
59
+ }),
62
60
  });
63
61
  }
64
62
  async doGenerateTexts(prompt, options) {
@@ -129,7 +127,7 @@ const OpenAICompletionResponseSchema = z.object({
129
127
  total_tokens: z.number(),
130
128
  }),
131
129
  });
132
- const openaiCompletionStreamChunkSchema = zodSchema(z.object({
130
+ const openaiCompletionStreamChunkSchema = z.object({
133
131
  choices: z.array(z.object({
134
132
  text: z.string(),
135
133
  finish_reason: z
@@ -143,14 +141,14 @@ const openaiCompletionStreamChunkSchema = zodSchema(z.object({
143
141
  model: z.string(),
144
142
  system_fingerprint: z.string().optional(),
145
143
  object: z.literal("text_completion"),
146
- }));
144
+ });
147
145
  export const OpenAITextResponseFormat = {
148
146
  /**
149
147
  * Returns the response as a JSON object.
150
148
  */
151
149
  json: {
152
150
  stream: false,
153
- handler: createJsonResponseHandler(OpenAICompletionResponseSchema),
151
+ handler: createJsonResponseHandler(zodSchema(OpenAICompletionResponseSchema)),
154
152
  },
155
153
  /**
156
154
  * Returns an async iterable over the full deltas (all choices, including full current state at time of event)
@@ -158,6 +156,6 @@ export const OpenAITextResponseFormat = {
158
156
  */
159
157
  deltaIterable: {
160
158
  stream: true,
161
- handler: createEventSourceResponseHandler(openaiCompletionStreamChunkSchema),
159
+ handler: createEventSourceResponseHandler(zodSchema(openaiCompletionStreamChunkSchema)),
162
160
  },
163
161
  };
@@ -1,6 +1,14 @@
1
1
  import { AbstractApiConfiguration } from "../../core/api/AbstractApiConfiguration.js";
2
2
  import { RetryFunction } from "../../core/api/RetryFunction.js";
3
3
  import { ThrottleFunction } from "../../core/api/ThrottleFunction.js";
4
+ export type AzureOpenAIApiConfigurationOptions = {
5
+ resourceName: string;
6
+ deploymentId: string;
7
+ apiVersion: string;
8
+ apiKey?: string;
9
+ retry?: RetryFunction;
10
+ throttle?: ThrottleFunction;
11
+ };
4
12
  /**
5
13
  * Configuration for the Azure OpenAI API. This class is responsible for constructing URLs specific to the Azure OpenAI deployment.
6
14
  * It creates URLs of the form
@@ -13,13 +21,6 @@ export declare class AzureOpenAIApiConfiguration extends AbstractApiConfiguratio
13
21
  readonly deploymentId: string;
14
22
  readonly apiVersion: string;
15
23
  readonly headers: Record<string, string>;
16
- constructor({ resourceName, deploymentId, apiVersion, apiKey, retry, throttle, }: {
17
- resourceName: string;
18
- deploymentId: string;
19
- apiVersion: string;
20
- apiKey?: string;
21
- retry?: RetryFunction;
22
- throttle?: ThrottleFunction;
23
- });
24
+ constructor({ resourceName, deploymentId, apiVersion, apiKey, retry, throttle, }: AzureOpenAIApiConfigurationOptions);
24
25
  assembleUrl(path: string): string;
25
26
  }
@@ -3,19 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OpenAIApiConfiguration = void 0;
4
4
  const BaseUrlApiConfiguration_js_1 = require("../../core/api/BaseUrlApiConfiguration.cjs");
5
5
  const loadApiKey_js_1 = require("../../core/api/loadApiKey.cjs");
6
- class OpenAIApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfiguration {
7
- constructor({ baseUrl = "https://api.openai.com/v1", apiKey, retry, throttle, } = {}) {
6
+ /**
7
+ * Creates an API configuration for the OpenAI API.
8
+ * It calls the API at https://api.openai.com/v1 and uses the `OPENAI_API_KEY` env variable by default.
9
+ */
10
+ class OpenAIApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfigurationWithDefaults {
11
+ constructor(settings = {}) {
8
12
  super({
9
- baseUrl,
13
+ ...settings,
10
14
  headers: {
11
15
  Authorization: `Bearer ${(0, loadApiKey_js_1.loadApiKey)({
12
- apiKey,
16
+ apiKey: settings.apiKey,
13
17
  environmentVariableName: "OPENAI_API_KEY",
14
18
  description: "OpenAI",
15
19
  })}`,
16
20
  },
17
- retry,
18
- throttle,
21
+ baseUrlDefaults: {
22
+ protocol: "https",
23
+ host: "api.openai.com",
24
+ port: "443",
25
+ path: "/v1",
26
+ },
19
27
  });
20
28
  }
21
29
  }
@@ -1,11 +1,10 @@
1
- import { BaseUrlApiConfiguration } from "../../core/api/BaseUrlApiConfiguration.js";
2
- import { RetryFunction } from "../../core/api/RetryFunction.js";
3
- import { ThrottleFunction } from "../../core/api/ThrottleFunction.js";
4
- export declare class OpenAIApiConfiguration extends BaseUrlApiConfiguration {
5
- constructor({ baseUrl, apiKey, retry, throttle, }?: {
6
- baseUrl?: string;
1
+ import { BaseUrlApiConfigurationWithDefaults, PartialBaseUrlPartsApiConfigurationOptions } from "../../core/api/BaseUrlApiConfiguration.js";
2
+ /**
3
+ * Creates an API configuration for the OpenAI API.
4
+ * It calls the API at https://api.openai.com/v1 and uses the `OPENAI_API_KEY` env variable by default.
5
+ */
6
+ export declare class OpenAIApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
7
+ constructor(settings?: PartialBaseUrlPartsApiConfigurationOptions & {
7
8
  apiKey?: string;
8
- retry?: RetryFunction;
9
- throttle?: ThrottleFunction;
10
9
  });
11
10
  }
@@ -1,18 +1,26 @@
1
- import { BaseUrlApiConfiguration } from "../../core/api/BaseUrlApiConfiguration.js";
1
+ import { BaseUrlApiConfigurationWithDefaults, } from "../../core/api/BaseUrlApiConfiguration.js";
2
2
  import { loadApiKey } from "../../core/api/loadApiKey.js";
3
- export class OpenAIApiConfiguration extends BaseUrlApiConfiguration {
4
- constructor({ baseUrl = "https://api.openai.com/v1", apiKey, retry, throttle, } = {}) {
3
+ /**
4
+ * Creates an API configuration for the OpenAI API.
5
+ * It calls the API at https://api.openai.com/v1 and uses the `OPENAI_API_KEY` env variable by default.
6
+ */
7
+ export class OpenAIApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
8
+ constructor(settings = {}) {
5
9
  super({
6
- baseUrl,
10
+ ...settings,
7
11
  headers: {
8
12
  Authorization: `Bearer ${loadApiKey({
9
- apiKey,
13
+ apiKey: settings.apiKey,
10
14
  environmentVariableName: "OPENAI_API_KEY",
11
15
  description: "OpenAI",
12
16
  })}`,
13
17
  },
14
- retry,
15
- throttle,
18
+ baseUrlDefaults: {
19
+ protocol: "https",
20
+ host: "api.openai.com",
21
+ port: "443",
22
+ path: "/v1",
23
+ },
16
24
  });
17
25
  }
18
26
  }
@@ -45,12 +45,12 @@ OpenAIChatSettings> {
45
45
  options?: FunctionOptions): Promise<{
46
46
  response: {
47
47
  object: "chat.completion";
48
+ model: string;
48
49
  usage: {
49
50
  prompt_tokens: number;
50
51
  completion_tokens: number;
51
52
  total_tokens: number;
52
53
  };
53
- model: string;
54
54
  id: string;
55
55
  created: number;
56
56
  choices: {