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
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.throttleOff = void 0;
4
+ /**
5
+ * The `throttleOff` strategy does not limit parallel API calls.
6
+ */
7
+ const throttleOff = () => (fn) => fn();
8
+ exports.throttleOff = throttleOff;
@@ -0,0 +1,5 @@
1
+ import { ThrottleFunction } from "./ThrottleFunction.js";
2
+ /**
3
+ * The `throttleOff` strategy does not limit parallel API calls.
4
+ */
5
+ export declare const throttleOff: () => ThrottleFunction;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * The `throttleOff` strategy does not limit parallel API calls.
3
+ */
4
+ export const throttleOff = () => (fn) => fn();
@@ -14,19 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.parseEventSourceStream = exports.AbstractModel = exports.executeFunctionCall = exports.postToApi = exports.postJsonToApi = exports.createTextResponseHandler = exports.createJsonResponseHandler = exports.createJsonErrorResponseHandler = exports.createAudioMpegResponseHandler = exports.loadApiKey = exports.callWithRetryAndThrottle = void 0;
17
+ exports.parseEventSourceStream = exports.AbstractModel = exports.executeFunctionCall = exports.loadApiKey = exports.callWithRetryAndThrottle = void 0;
18
18
  __exportStar(require("../core/ExtensionFunctionEvent.cjs"), exports);
19
19
  var callWithRetryAndThrottle_js_1 = require("../core/api/callWithRetryAndThrottle.cjs");
20
20
  Object.defineProperty(exports, "callWithRetryAndThrottle", { enumerable: true, get: function () { return callWithRetryAndThrottle_js_1.callWithRetryAndThrottle; } });
21
21
  var loadApiKey_js_1 = require("../core/api/loadApiKey.cjs");
22
22
  Object.defineProperty(exports, "loadApiKey", { enumerable: true, get: function () { return loadApiKey_js_1.loadApiKey; } });
23
- var postToApi_js_1 = require("../core/api/postToApi.cjs");
24
- Object.defineProperty(exports, "createAudioMpegResponseHandler", { enumerable: true, get: function () { return postToApi_js_1.createAudioMpegResponseHandler; } });
25
- Object.defineProperty(exports, "createJsonErrorResponseHandler", { enumerable: true, get: function () { return postToApi_js_1.createJsonErrorResponseHandler; } });
26
- Object.defineProperty(exports, "createJsonResponseHandler", { enumerable: true, get: function () { return postToApi_js_1.createJsonResponseHandler; } });
27
- Object.defineProperty(exports, "createTextResponseHandler", { enumerable: true, get: function () { return postToApi_js_1.createTextResponseHandler; } });
28
- Object.defineProperty(exports, "postJsonToApi", { enumerable: true, get: function () { return postToApi_js_1.postJsonToApi; } });
29
- Object.defineProperty(exports, "postToApi", { enumerable: true, get: function () { return postToApi_js_1.postToApi; } });
23
+ __exportStar(require("../core/api/postToApi.cjs"), exports);
30
24
  var executeFunctionCall_js_1 = require("../core/executeFunctionCall.cjs");
31
25
  Object.defineProperty(exports, "executeFunctionCall", { enumerable: true, get: function () { return executeFunctionCall_js_1.executeFunctionCall; } });
32
26
  var AbstractModel_js_1 = require("../model-function/AbstractModel.cjs");
@@ -1,7 +1,7 @@
1
1
  export * from "../core/ExtensionFunctionEvent.js";
2
2
  export { callWithRetryAndThrottle } from "../core/api/callWithRetryAndThrottle.js";
3
3
  export { loadApiKey } from "../core/api/loadApiKey.js";
4
- export { ResponseHandler, createAudioMpegResponseHandler, createJsonErrorResponseHandler, createJsonResponseHandler, createTextResponseHandler, postJsonToApi, postToApi, } from "../core/api/postToApi.js";
4
+ export * from "../core/api/postToApi.js";
5
5
  export { executeFunctionCall } from "../core/executeFunctionCall.js";
6
6
  export { AbstractModel } from "../model-function/AbstractModel.js";
7
7
  export { ErrorHandler } from "../util/ErrorHandler.js";
package/internal/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export * from "../core/ExtensionFunctionEvent.js";
2
2
  export { callWithRetryAndThrottle } from "../core/api/callWithRetryAndThrottle.js";
3
3
  export { loadApiKey } from "../core/api/loadApiKey.js";
4
- export { createAudioMpegResponseHandler, createJsonErrorResponseHandler, createJsonResponseHandler, createTextResponseHandler, postJsonToApi, postToApi, } from "../core/api/postToApi.js";
4
+ export * from "../core/api/postToApi.js";
5
5
  export { executeFunctionCall } from "../core/executeFunctionCall.js";
6
6
  export { AbstractModel } from "../model-function/AbstractModel.js";
7
7
  export { parseEventSourceStream } from "../util/streaming/parseEventSourceStream.js";
@@ -1,6 +1,6 @@
1
1
  import { BaseFunctionFinishedEvent, BaseFunctionStartedEvent } from "../core/FunctionEvent.js";
2
2
  import { ToolCallGenerationFinishedEvent, ToolCallGenerationStartedEvent } from "../tool/generate-tool-call/ToolCallGenerationEvent.js";
3
- import { ToolCallsOrTextGenerationFinishedEvent, ToolCallsOrTextGenerationStartedEvent } from "../tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationEvent.js";
3
+ import { ToolCallsGenerationFinishedEvent, ToolCallsGenerationStartedEvent } from "../tool/generate-tool-calls/ToolCallsGenerationEvent.js";
4
4
  import { ModelInformation } from "./ModelInformation.js";
5
5
  import { EmbeddingFinishedEvent, EmbeddingStartedEvent } from "./embed/EmbeddingEvent.js";
6
6
  import { ImageGenerationFinishedEvent, ImageGenerationStartedEvent } from "./generate-image/ImageGenerationEvent.js";
@@ -49,5 +49,5 @@ export interface BaseModelCallFinishedEvent extends BaseFunctionFinishedEvent {
49
49
  */
50
50
  result: BaseModelCallFinishedEventResult;
51
51
  }
52
- export type ModelCallStartedEvent = EmbeddingStartedEvent | ImageGenerationStartedEvent | SpeechGenerationStartedEvent | SpeechStreamingStartedEvent | StructureGenerationStartedEvent | StructureStreamingStartedEvent | TextGenerationStartedEvent | TextStreamingStartedEvent | ToolCallGenerationStartedEvent | ToolCallsOrTextGenerationStartedEvent | TranscriptionStartedEvent;
53
- export type ModelCallFinishedEvent = EmbeddingFinishedEvent | ImageGenerationFinishedEvent | SpeechGenerationFinishedEvent | SpeechStreamingFinishedEvent | StructureGenerationFinishedEvent | StructureStreamingFinishedEvent | TextGenerationFinishedEvent | TextStreamingFinishedEvent | ToolCallGenerationFinishedEvent | ToolCallsOrTextGenerationFinishedEvent | TranscriptionFinishedEvent;
52
+ export type ModelCallStartedEvent = EmbeddingStartedEvent | ImageGenerationStartedEvent | SpeechGenerationStartedEvent | SpeechStreamingStartedEvent | StructureGenerationStartedEvent | StructureStreamingStartedEvent | TextGenerationStartedEvent | TextStreamingStartedEvent | ToolCallGenerationStartedEvent | ToolCallsGenerationStartedEvent | TranscriptionStartedEvent;
53
+ export type ModelCallFinishedEvent = EmbeddingFinishedEvent | ImageGenerationFinishedEvent | SpeechGenerationFinishedEvent | SpeechStreamingFinishedEvent | StructureGenerationFinishedEvent | StructureStreamingFinishedEvent | TextGenerationFinishedEvent | TextStreamingFinishedEvent | ToolCallGenerationFinishedEvent | ToolCallsGenerationFinishedEvent | TranscriptionFinishedEvent;
@@ -11,7 +11,7 @@ import { StructureGenerationModel, StructureGenerationModelSettings } from "./St
11
11
  * @example
12
12
  * const sentiment = await generateStructure(
13
13
  * openai.ChatTextGenerator(...).asFunctionCallStructureGenerationModel(...),
14
- * new ZodSchema(z.object({
14
+ * zodSchema(z.object({
15
15
  * sentiment: z
16
16
  * .enum(["positive", "neutral", "negative"])
17
17
  * .describe("Sentiment."),
@@ -10,9 +10,9 @@ class PromptTemplateFullTextModel extends PromptTemplateTextStreamingModel_js_1.
10
10
  const mappedPrompt = this.promptTemplate.format(prompt);
11
11
  return this.model.doGenerateToolCall(tool, mappedPrompt, options);
12
12
  }
13
- doGenerateToolCallsOrText(tools, prompt, options) {
13
+ doGenerateToolCalls(tools, prompt, options) {
14
14
  const mappedPrompt = this.promptTemplate.format(prompt);
15
- return this.model.doGenerateToolCallsOrText(tools, mappedPrompt, options);
15
+ return this.model.doGenerateToolCalls(tools, mappedPrompt, options);
16
16
  }
17
17
  withPromptTemplate(promptTemplate) {
18
18
  return new PromptTemplateFullTextModel({
@@ -1,11 +1,11 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { ToolDefinition } from "../../tool/ToolDefinition.js";
3
3
  import { ToolCallGenerationModel } from "../../tool/generate-tool-call/ToolCallGenerationModel.js";
4
- import { ToolCallsOrTextGenerationModel } from "../../tool/generate-tool-calls-or-text/ToolCallsOrTextGenerationModel.js";
4
+ import { ToolCallsGenerationModel } from "../../tool/generate-tool-calls/ToolCallsGenerationModel.js";
5
5
  import { PromptTemplateTextStreamingModel } from "./PromptTemplateTextStreamingModel.js";
6
6
  import { TextGenerationModelSettings, TextStreamingModel } from "./TextGenerationModel.js";
7
7
  import { TextGenerationPromptTemplate } from "./TextGenerationPromptTemplate.js";
8
- export declare class PromptTemplateFullTextModel<PROMPT, MODEL_PROMPT, SETTINGS extends TextGenerationModelSettings, MODEL extends TextStreamingModel<MODEL_PROMPT, SETTINGS> & ToolCallGenerationModel<MODEL_PROMPT, SETTINGS> & ToolCallsOrTextGenerationModel<MODEL_PROMPT, SETTINGS>> extends PromptTemplateTextStreamingModel<PROMPT, MODEL_PROMPT, SETTINGS, MODEL> implements TextStreamingModel<PROMPT, SETTINGS>, ToolCallGenerationModel<PROMPT, SETTINGS>, ToolCallsOrTextGenerationModel<PROMPT, SETTINGS> {
8
+ export declare class PromptTemplateFullTextModel<PROMPT, MODEL_PROMPT, SETTINGS extends TextGenerationModelSettings, MODEL extends TextStreamingModel<MODEL_PROMPT, SETTINGS> & ToolCallGenerationModel<MODEL_PROMPT, SETTINGS> & ToolCallsGenerationModel<MODEL_PROMPT, SETTINGS>> extends PromptTemplateTextStreamingModel<PROMPT, MODEL_PROMPT, SETTINGS, MODEL> implements TextStreamingModel<PROMPT, SETTINGS>, ToolCallGenerationModel<PROMPT, SETTINGS>, ToolCallsGenerationModel<PROMPT, SETTINGS> {
9
9
  constructor(options: {
10
10
  model: MODEL;
11
11
  promptTemplate: TextGenerationPromptTemplate<PROMPT, MODEL_PROMPT>;
@@ -22,7 +22,7 @@ export declare class PromptTemplateFullTextModel<PROMPT, MODEL_PROMPT, SETTINGS
22
22
  totalTokens: number;
23
23
  } | undefined;
24
24
  }>;
25
- doGenerateToolCallsOrText(tools: ToolDefinition<string, unknown>[], prompt: PROMPT, options?: FunctionOptions | undefined): PromiseLike<{
25
+ doGenerateToolCalls(tools: ToolDefinition<string, unknown>[], prompt: PROMPT, options?: FunctionOptions | undefined): PromiseLike<{
26
26
  response: unknown;
27
27
  text: string | null;
28
28
  toolCalls: {
@@ -7,9 +7,9 @@ export class PromptTemplateFullTextModel extends PromptTemplateTextStreamingMode
7
7
  const mappedPrompt = this.promptTemplate.format(prompt);
8
8
  return this.model.doGenerateToolCall(tool, mappedPrompt, options);
9
9
  }
10
- doGenerateToolCallsOrText(tools, prompt, options) {
10
+ doGenerateToolCalls(tools, prompt, options) {
11
11
  const mappedPrompt = this.promptTemplate.format(prompt);
12
- return this.model.doGenerateToolCallsOrText(tools, mappedPrompt, options);
12
+ return this.model.doGenerateToolCalls(tools, mappedPrompt, options);
13
13
  }
14
14
  withPromptTemplate(promptTemplate) {
15
15
  return new PromptTemplateFullTextModel({
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PromptTemplateTextGenerationModel = void 0;
4
4
  const TextGenerationToolCallModel_js_1 = require("../../tool/generate-tool-call/TextGenerationToolCallModel.cjs");
5
- const TextGenerationToolCallsOrGenerateTextModel_js_1 = require("../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.cjs");
5
+ const TextGenerationToolCallsModel_js_1 = require("../../tool/generate-tool-calls/TextGenerationToolCallsModel.cjs");
6
6
  const StructureFromTextGenerationModel_js_1 = require("../generate-structure/StructureFromTextGenerationModel.cjs");
7
7
  class PromptTemplateTextGenerationModel {
8
8
  constructor({ model, promptTemplate, }) {
@@ -54,7 +54,7 @@ class PromptTemplateTextGenerationModel {
54
54
  });
55
55
  }
56
56
  asToolCallsOrTextGenerationModel(promptTemplate) {
57
- return new TextGenerationToolCallsOrGenerateTextModel_js_1.TextGenerationToolCallsOrGenerateTextModel({
57
+ return new TextGenerationToolCallsModel_js_1.TextGenerationToolCallsModel({
58
58
  model: this,
59
59
  template: promptTemplate,
60
60
  });
@@ -1,7 +1,7 @@
1
1
  import { FunctionOptions } from "../../core/FunctionOptions.js";
2
2
  import { TextGenerationToolCallModel, ToolCallPromptTemplate } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
3
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
4
- import { ToolCallsOrGenerateTextPromptTemplate } from "../../tool/generate-tool-calls-or-text/ToolCallsOrGenerateTextPromptTemplate.js";
3
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
4
+ import { ToolCallsPromptTemplate } from "../../tool/generate-tool-calls/ToolCallsPromptTemplate.js";
5
5
  import { StructureFromTextGenerationModel } from "../generate-structure/StructureFromTextGenerationModel.js";
6
6
  import { StructureFromTextPromptTemplate } from "../generate-structure/StructureFromTextPromptTemplate.js";
7
7
  import { TextGenerationModel, TextGenerationModelSettings } from "./TextGenerationModel.js";
@@ -29,7 +29,7 @@ export declare class PromptTemplateTextGenerationModel<PROMPT, MODEL_PROMPT, SET
29
29
  }>;
30
30
  get settingsForEvent(): Partial<SETTINGS>;
31
31
  asToolCallGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallPromptTemplate<INPUT_PROMPT, PROMPT>): TextGenerationToolCallModel<INPUT_PROMPT, PROMPT, this>;
32
- asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsOrGenerateTextPromptTemplate<INPUT_PROMPT, PROMPT>): TextGenerationToolCallsOrGenerateTextModel<INPUT_PROMPT, PROMPT, this>;
32
+ asToolCallsOrTextGenerationModel<INPUT_PROMPT>(promptTemplate: ToolCallsPromptTemplate<INPUT_PROMPT, PROMPT>): TextGenerationToolCallsModel<INPUT_PROMPT, PROMPT, this>;
33
33
  asStructureGenerationModel<INPUT_PROMPT>(promptTemplate: StructureFromTextPromptTemplate<INPUT_PROMPT, PROMPT>): StructureFromTextGenerationModel<INPUT_PROMPT, PROMPT, this>;
34
34
  withPromptTemplate<INPUT_PROMPT>(promptTemplate: TextGenerationPromptTemplate<INPUT_PROMPT, PROMPT>): PromptTemplateTextGenerationModel<INPUT_PROMPT, PROMPT, SETTINGS, this>;
35
35
  withSettings(additionalSettings: Partial<SETTINGS>): this;
@@ -1,5 +1,5 @@
1
1
  import { TextGenerationToolCallModel, } from "../../tool/generate-tool-call/TextGenerationToolCallModel.js";
2
- import { TextGenerationToolCallsOrGenerateTextModel } from "../../tool/generate-tool-calls-or-text/TextGenerationToolCallsOrGenerateTextModel.js";
2
+ import { TextGenerationToolCallsModel } from "../../tool/generate-tool-calls/TextGenerationToolCallsModel.js";
3
3
  import { StructureFromTextGenerationModel } from "../generate-structure/StructureFromTextGenerationModel.js";
4
4
  export class PromptTemplateTextGenerationModel {
5
5
  constructor({ model, promptTemplate, }) {
@@ -51,7 +51,7 @@ export class PromptTemplateTextGenerationModel {
51
51
  });
52
52
  }
53
53
  asToolCallsOrTextGenerationModel(promptTemplate) {
54
- return new TextGenerationToolCallsOrGenerateTextModel({
54
+ return new TextGenerationToolCallsModel({
55
55
  model: this,
56
56
  template: promptTemplate,
57
57
  });
@@ -3,20 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AnthropicApiConfiguration = 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 AnthropicApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfiguration {
7
- constructor({ baseUrl = "https://api.anthropic.com/v1", apiKey, retry, throttle, } = {}) {
6
+ /**
7
+ * Creates an API configuration for the Anthropic API.
8
+ * It calls the API at https://api.anthropic.com/v1 and uses the `ANTHROPIC_API_KEY` env variable by default.
9
+ */
10
+ class AnthropicApiConfiguration extends BaseUrlApiConfiguration_js_1.BaseUrlApiConfigurationWithDefaults {
11
+ constructor(settings = {}) {
8
12
  super({
9
- baseUrl,
13
+ ...settings,
10
14
  headers: {
11
15
  "x-api-key": (0, loadApiKey_js_1.loadApiKey)({
12
- apiKey,
16
+ apiKey: settings.apiKey,
13
17
  environmentVariableName: "ANTHROPIC_API_KEY",
14
18
  description: "Anthropic",
15
19
  }),
16
20
  "anthropic-version": "2023-06-01",
17
21
  },
18
- retry,
19
- throttle,
22
+ baseUrlDefaults: {
23
+ protocol: "https",
24
+ host: "api.anthropic.com",
25
+ port: "443",
26
+ path: "/v1",
27
+ },
20
28
  });
21
29
  }
22
30
  }
@@ -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 AnthropicApiConfiguration 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 Anthropic API.
4
+ * It calls the API at https://api.anthropic.com/v1 and uses the `ANTHROPIC_API_KEY` env variable by default.
5
+ */
6
+ export declare class AnthropicApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
7
+ constructor(settings?: PartialBaseUrlPartsApiConfigurationOptions & {
7
8
  apiKey?: string;
8
- retry?: RetryFunction;
9
- throttle?: ThrottleFunction;
10
9
  });
11
10
  }
@@ -1,19 +1,27 @@
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 AnthropicApiConfiguration extends BaseUrlApiConfiguration {
4
- constructor({ baseUrl = "https://api.anthropic.com/v1", apiKey, retry, throttle, } = {}) {
3
+ /**
4
+ * Creates an API configuration for the Anthropic API.
5
+ * It calls the API at https://api.anthropic.com/v1 and uses the `ANTHROPIC_API_KEY` env variable by default.
6
+ */
7
+ export class AnthropicApiConfiguration extends BaseUrlApiConfigurationWithDefaults {
8
+ constructor(settings = {}) {
5
9
  super({
6
- baseUrl,
10
+ ...settings,
7
11
  headers: {
8
12
  "x-api-key": loadApiKey({
9
- apiKey,
13
+ apiKey: settings.apiKey,
10
14
  environmentVariableName: "ANTHROPIC_API_KEY",
11
15
  description: "Anthropic",
12
16
  }),
13
17
  "anthropic-version": "2023-06-01",
14
18
  },
15
- retry,
16
- throttle,
19
+ baseUrlDefaults: {
20
+ protocol: "https",
21
+ host: "api.anthropic.com",
22
+ port: "443",
23
+ path: "/v1",
24
+ },
17
25
  });
18
26
  }
19
27
  }
@@ -1,36 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.failedAnthropicCallResponseHandler = exports.AnthropicError = exports.anthropicErrorDataSchema = void 0;
3
+ exports.failedAnthropicCallResponseHandler = void 0;
4
4
  const zod_1 = require("zod");
5
- const ApiCallError_js_1 = require("../../core/api/ApiCallError.cjs");
5
+ const postToApi_js_1 = require("../../core/api/postToApi.cjs");
6
6
  const ZodSchema_js_1 = require("../../core/schema/ZodSchema.cjs");
7
- const parseJSON_js_1 = require("../../core/schema/parseJSON.cjs");
8
- exports.anthropicErrorDataSchema = new ZodSchema_js_1.ZodSchema(zod_1.z.object({
7
+ const anthropicErrorDataSchema = zod_1.z.object({
9
8
  error: zod_1.z.object({
10
9
  type: zod_1.z.string(),
11
10
  message: zod_1.z.string(),
12
11
  }),
13
- }));
14
- class AnthropicError extends ApiCallError_js_1.ApiCallError {
15
- constructor({ data, statusCode, url, requestBodyValues, message = data.error.message, }) {
16
- super({ message, statusCode, requestBodyValues, url });
17
- Object.defineProperty(this, "data", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: void 0
22
- });
23
- this.data = data;
24
- }
25
- }
26
- exports.AnthropicError = AnthropicError;
27
- const failedAnthropicCallResponseHandler = async ({ response, url, requestBodyValues }) => new AnthropicError({
28
- url,
29
- requestBodyValues,
30
- statusCode: response.status,
31
- data: (0, parseJSON_js_1.parseJSON)({
32
- text: await response.text(),
33
- schema: exports.anthropicErrorDataSchema,
34
- }),
35
12
  });
36
- exports.failedAnthropicCallResponseHandler = failedAnthropicCallResponseHandler;
13
+ exports.failedAnthropicCallResponseHandler = (0, postToApi_js_1.createJsonErrorResponseHandler)({
14
+ errorSchema: (0, ZodSchema_js_1.zodSchema)(anthropicErrorDataSchema),
15
+ errorToMessage: (error) => error.error.message,
16
+ });
@@ -1,21 +1,26 @@
1
- import { ApiCallError } from "../../core/api/ApiCallError.js";
2
- import { ResponseHandler } from "../../core/api/postToApi.js";
3
- import { ZodSchema } from "../../core/schema/ZodSchema.js";
4
- export declare const anthropicErrorDataSchema: ZodSchema<{
1
+ import { z } from "zod";
2
+ declare const anthropicErrorDataSchema: z.ZodObject<{
3
+ error: z.ZodObject<{
4
+ type: z.ZodString;
5
+ message: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ message: string;
8
+ type: string;
9
+ }, {
10
+ message: string;
11
+ type: string;
12
+ }>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ error: {
15
+ message: string;
16
+ type: string;
17
+ };
18
+ }, {
5
19
  error: {
6
20
  message: string;
7
21
  type: string;
8
22
  };
9
23
  }>;
10
- export type AnthropicErrorData = (typeof anthropicErrorDataSchema)["_type"];
11
- export declare class AnthropicError extends ApiCallError {
12
- readonly data: AnthropicErrorData;
13
- constructor({ data, statusCode, url, requestBodyValues, message, }: {
14
- message?: string;
15
- statusCode: number;
16
- url: string;
17
- requestBodyValues: unknown;
18
- data: AnthropicErrorData;
19
- });
20
- }
21
- export declare const failedAnthropicCallResponseHandler: ResponseHandler<ApiCallError>;
24
+ export type AnthropicErrorData = z.infer<typeof anthropicErrorDataSchema>;
25
+ export declare const failedAnthropicCallResponseHandler: import("../../core/api/postToApi.js").ResponseHandler<import("../../index.js").ApiCallError>;
26
+ export {};
@@ -1,31 +1,13 @@
1
1
  import { z } from "zod";
2
- import { ApiCallError } from "../../core/api/ApiCallError.js";
3
- import { ZodSchema } from "../../core/schema/ZodSchema.js";
4
- import { parseJSON } from "../../core/schema/parseJSON.js";
5
- export const anthropicErrorDataSchema = new ZodSchema(z.object({
2
+ import { createJsonErrorResponseHandler } from "../../core/api/postToApi.js";
3
+ import { zodSchema } from "../../core/schema/ZodSchema.js";
4
+ const anthropicErrorDataSchema = z.object({
6
5
  error: z.object({
7
6
  type: z.string(),
8
7
  message: z.string(),
9
8
  }),
10
- }));
11
- export class AnthropicError extends ApiCallError {
12
- constructor({ data, statusCode, url, requestBodyValues, message = data.error.message, }) {
13
- super({ message, statusCode, requestBodyValues, url });
14
- Object.defineProperty(this, "data", {
15
- enumerable: true,
16
- configurable: true,
17
- writable: true,
18
- value: void 0
19
- });
20
- this.data = data;
21
- }
22
- }
23
- export const failedAnthropicCallResponseHandler = async ({ response, url, requestBodyValues }) => new AnthropicError({
24
- url,
25
- requestBodyValues,
26
- statusCode: response.status,
27
- data: parseJSON({
28
- text: await response.text(),
29
- schema: anthropicErrorDataSchema,
30
- }),
9
+ });
10
+ export const failedAnthropicCallResponseHandler = createJsonErrorResponseHandler({
11
+ errorSchema: zodSchema(anthropicErrorDataSchema),
12
+ errorToMessage: (error) => error.error.message,
31
13
  });
@@ -1,7 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TextGenerator = void 0;
3
+ exports.TextGenerator = exports.Api = void 0;
4
+ const AnthropicApiConfiguration_js_1 = require("./AnthropicApiConfiguration.cjs");
4
5
  const AnthropicTextGenerationModel_js_1 = require("./AnthropicTextGenerationModel.cjs");
6
+ /**
7
+ * Creates an API configuration for the Anthropic API.
8
+ * It calls the API at https://api.anthropic.com/v1 and uses the `ANTHROPIC_API_KEY` env variable by default.
9
+ */
10
+ function Api(settings) {
11
+ return new AnthropicApiConfiguration_js_1.AnthropicApiConfiguration(settings);
12
+ }
13
+ exports.Api = Api;
5
14
  /**
6
15
  * Create a text generation model that calls the Anthropic API.
7
16
  *
@@ -1,4 +1,13 @@
1
+ import { PartialBaseUrlPartsApiConfigurationOptions } from "../../core/api/BaseUrlApiConfiguration.js";
2
+ import { AnthropicApiConfiguration } from "./AnthropicApiConfiguration.js";
1
3
  import { AnthropicTextGenerationModel, AnthropicTextGenerationModelSettings } from "./AnthropicTextGenerationModel.js";
4
+ /**
5
+ * Creates an API configuration for the Anthropic API.
6
+ * It calls the API at https://api.anthropic.com/v1 and uses the `ANTHROPIC_API_KEY` env variable by default.
7
+ */
8
+ export declare function Api(settings: PartialBaseUrlPartsApiConfigurationOptions & {
9
+ apiKey?: string;
10
+ }): AnthropicApiConfiguration;
2
11
  /**
3
12
  * Create a text generation model that calls the Anthropic API.
4
13
  *
@@ -1,4 +1,12 @@
1
+ import { AnthropicApiConfiguration } from "./AnthropicApiConfiguration.js";
1
2
  import { AnthropicTextGenerationModel, } from "./AnthropicTextGenerationModel.js";
3
+ /**
4
+ * Creates an API configuration for the Anthropic API.
5
+ * It calls the API at https://api.anthropic.com/v1 and uses the `ANTHROPIC_API_KEY` env variable by default.
6
+ */
7
+ export function Api(settings) {
8
+ return new AnthropicApiConfiguration(settings);
9
+ }
2
10
  /**
3
11
  * Create a text generation model that calls the Anthropic API.
4
12
  *
@@ -77,26 +77,24 @@ class AnthropicTextGenerationModel extends AbstractModel_js_1.AbstractModel {
77
77
  return (0, callWithRetryAndThrottle_js_1.callWithRetryAndThrottle)({
78
78
  retry: api.retry,
79
79
  throttle: api.throttle,
80
- call: async () => {
81
- return (0, postToApi_js_1.postJsonToApi)({
82
- url: api.assembleUrl(`/complete`),
83
- headers: api.headers,
84
- body: {
85
- model: this.settings.model,
86
- prompt,
87
- stream: responseFormat.stream,
88
- max_tokens_to_sample: this.settings.maxGenerationTokens ?? 100,
89
- temperature: this.settings.temperature,
90
- top_k: this.settings.topK,
91
- top_p: this.settings.topP,
92
- stop_sequences: this.settings.stopSequences,
93
- metadata: userId != null ? { user_id: userId } : undefined,
94
- },
95
- failedResponseHandler: AnthropicError_js_1.failedAnthropicCallResponseHandler,
96
- successfulResponseHandler: responseFormat.handler,
97
- abortSignal,
98
- });
99
- },
80
+ call: async () => (0, postToApi_js_1.postJsonToApi)({
81
+ url: api.assembleUrl(`/complete`),
82
+ headers: api.headers,
83
+ body: {
84
+ model: this.settings.model,
85
+ prompt,
86
+ stream: responseFormat.stream,
87
+ max_tokens_to_sample: this.settings.maxGenerationTokens ?? 100,
88
+ temperature: this.settings.temperature,
89
+ top_k: this.settings.topK,
90
+ top_p: this.settings.topP,
91
+ stop_sequences: this.settings.stopSequences,
92
+ metadata: userId != null ? { user_id: userId } : undefined,
93
+ },
94
+ failedResponseHandler: AnthropicError_js_1.failedAnthropicCallResponseHandler,
95
+ successfulResponseHandler: responseFormat.handler,
96
+ abortSignal,
97
+ }),
100
98
  });
101
99
  }
102
100
  get settingsForEvent() {
@@ -183,11 +181,11 @@ const anthropicTextGenerationResponseSchema = zod_1.z.object({
183
181
  stop_reason: zod_1.z.string(),
184
182
  model: zod_1.z.string(),
185
183
  });
186
- const anthropicTextStreamChunkSchema = new ZodSchema_js_1.ZodSchema(zod_1.z.object({
184
+ const anthropicTextStreamChunkSchema = zod_1.z.object({
187
185
  completion: zod_1.z.string(),
188
186
  stop_reason: zod_1.z.string().nullable(),
189
187
  model: zod_1.z.string(),
190
- }));
188
+ });
191
189
  async function createAnthropicFullDeltaIterableQueue(stream) {
192
190
  const queue = new AsyncQueue_js_1.AsyncQueue();
193
191
  // process the stream asynchonously (no 'await' on purpose):
@@ -206,7 +204,7 @@ async function createAnthropicFullDeltaIterableQueue(stream) {
206
204
  const data = event.data;
207
205
  const eventData = (0, parseJSON_js_1.parseJSON)({
208
206
  text: data,
209
- schema: anthropicTextStreamChunkSchema,
207
+ schema: (0, ZodSchema_js_1.zodSchema)(anthropicTextStreamChunkSchema),
210
208
  });
211
209
  queue.push({ type: "delta", deltaValue: eventData });
212
210
  if (eventData.stop_reason != null) {
@@ -231,7 +229,7 @@ exports.AnthropicTextGenerationResponseFormat = {
231
229
  */
232
230
  json: {
233
231
  stream: false,
234
- handler: (0, postToApi_js_1.createJsonResponseHandler)(anthropicTextGenerationResponseSchema),
232
+ handler: (0, postToApi_js_1.createJsonResponseHandler)((0, ZodSchema_js_1.zodSchema)(anthropicTextGenerationResponseSchema)),
235
233
  },
236
234
  /**
237
235
  * Returns an async iterable over the full deltas (all choices, including full current state at time of event)