@node-llm/core 1.18.0 → 1.19.1

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 (189) hide show
  1. package/README.md +14 -12
  2. package/dist/agent/Agent.d.ts +17 -3
  3. package/dist/agent/Agent.d.ts.map +1 -1
  4. package/dist/agent/Agent.js +11 -0
  5. package/dist/aliases.d.ts +341 -316
  6. package/dist/aliases.d.ts.map +1 -1
  7. package/dist/aliases.js +467 -442
  8. package/dist/chat/Chat.d.ts +12 -5
  9. package/dist/chat/Chat.d.ts.map +1 -1
  10. package/dist/chat/Chat.js +45 -13
  11. package/dist/chat/ChatOptions.d.ts +17 -0
  12. package/dist/chat/ChatOptions.d.ts.map +1 -1
  13. package/dist/chat/ChatResponse.d.ts +5 -0
  14. package/dist/chat/ChatResponse.d.ts.map +1 -1
  15. package/dist/chat/ChatResponse.js +12 -4
  16. package/dist/chat/ChatStream.d.ts.map +1 -1
  17. package/dist/chat/ChatStream.js +20 -10
  18. package/dist/chat/PromptCache.d.ts +7 -0
  19. package/dist/chat/PromptCache.d.ts.map +1 -0
  20. package/dist/chat/PromptCache.js +7 -0
  21. package/dist/chat/Temperature.d.ts +7 -0
  22. package/dist/chat/Temperature.d.ts.map +1 -0
  23. package/dist/chat/Temperature.js +17 -0
  24. package/dist/chat/Tool.d.ts +28 -3
  25. package/dist/chat/Tool.d.ts.map +1 -1
  26. package/dist/chat/Tool.js +28 -2
  27. package/dist/chat/ToolCallOutcome.d.ts +12 -0
  28. package/dist/chat/ToolCallOutcome.d.ts.map +1 -1
  29. package/dist/chat/ToolCallOutcome.js +14 -0
  30. package/dist/chat/ToolResultWindow.d.ts +16 -0
  31. package/dist/chat/ToolResultWindow.d.ts.map +1 -0
  32. package/dist/chat/ToolResultWindow.js +25 -0
  33. package/dist/config.d.ts +30 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +66 -30
  36. package/dist/errors/billing.d.ts +7 -0
  37. package/dist/errors/billing.d.ts.map +1 -0
  38. package/dist/errors/billing.js +24 -0
  39. package/dist/errors/index.d.ts +28 -0
  40. package/dist/errors/index.d.ts.map +1 -1
  41. package/dist/errors/index.js +32 -0
  42. package/dist/executor/Executor.d.ts.map +1 -1
  43. package/dist/executor/Executor.js +5 -3
  44. package/dist/index.d.ts +4 -2
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/llm.d.ts +2 -1
  48. package/dist/llm.d.ts.map +1 -1
  49. package/dist/llm.js +8 -2
  50. package/dist/models/ModelRegistry.d.ts +12 -1
  51. package/dist/models/ModelRegistry.d.ts.map +1 -1
  52. package/dist/models/ModelRegistry.js +22 -2
  53. package/dist/models/models.json +11900 -4568
  54. package/dist/models/types.d.ts +14 -1
  55. package/dist/models/types.d.ts.map +1 -1
  56. package/dist/providers/Provider.d.ts +23 -1
  57. package/dist/providers/Provider.d.ts.map +1 -1
  58. package/dist/providers/anthropic/AnthropicProvider.d.ts +2 -0
  59. package/dist/providers/anthropic/AnthropicProvider.d.ts.map +1 -1
  60. package/dist/providers/anthropic/AnthropicProvider.js +2 -0
  61. package/dist/providers/anthropic/Capabilities.d.ts +1 -0
  62. package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
  63. package/dist/providers/anthropic/Capabilities.js +3 -0
  64. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  65. package/dist/providers/anthropic/Chat.js +7 -75
  66. package/dist/providers/anthropic/Errors.d.ts.map +1 -1
  67. package/dist/providers/anthropic/Errors.js +4 -3
  68. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  69. package/dist/providers/anthropic/Streaming.js +4 -66
  70. package/dist/providers/anthropic/Utils.d.ts +33 -1
  71. package/dist/providers/anthropic/Utils.d.ts.map +1 -1
  72. package/dist/providers/anthropic/Utils.js +114 -0
  73. package/dist/providers/anthropic/types.d.ts +17 -3
  74. package/dist/providers/anthropic/types.d.ts.map +1 -1
  75. package/dist/providers/azure/AzureProvider.d.ts +54 -0
  76. package/dist/providers/azure/AzureProvider.d.ts.map +1 -0
  77. package/dist/providers/azure/AzureProvider.js +110 -0
  78. package/dist/providers/azure/Capabilities.d.ts +16 -0
  79. package/dist/providers/azure/Capabilities.d.ts.map +1 -0
  80. package/dist/providers/azure/Capabilities.js +36 -0
  81. package/dist/providers/azure/Embedding.d.ts +11 -0
  82. package/dist/providers/azure/Embedding.d.ts.map +1 -0
  83. package/dist/providers/azure/Embedding.js +23 -0
  84. package/dist/providers/azure/Models.d.ts +18 -0
  85. package/dist/providers/azure/Models.d.ts.map +1 -0
  86. package/dist/providers/azure/Models.js +29 -0
  87. package/dist/providers/azure/index.d.ts +5 -0
  88. package/dist/providers/azure/index.d.ts.map +1 -0
  89. package/dist/providers/azure/index.js +28 -0
  90. package/dist/providers/bedrock/BedrockProvider.d.ts.map +1 -1
  91. package/dist/providers/bedrock/BedrockProvider.js +1 -0
  92. package/dist/providers/bedrock/Capabilities.d.ts +1 -0
  93. package/dist/providers/bedrock/Capabilities.d.ts.map +1 -1
  94. package/dist/providers/bedrock/Capabilities.js +3 -0
  95. package/dist/providers/bedrock/Chat.d.ts.map +1 -1
  96. package/dist/providers/bedrock/Chat.js +6 -2
  97. package/dist/providers/bedrock/Errors.d.ts.map +1 -1
  98. package/dist/providers/bedrock/Errors.js +4 -0
  99. package/dist/providers/bedrock/Streaming.d.ts.map +1 -1
  100. package/dist/providers/bedrock/Streaming.js +4 -1
  101. package/dist/providers/deepseek/Capabilities.d.ts +1 -0
  102. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  103. package/dist/providers/deepseek/Capabilities.js +3 -0
  104. package/dist/providers/deepseek/Chat.d.ts.map +1 -1
  105. package/dist/providers/deepseek/Chat.js +3 -2
  106. package/dist/providers/deepseek/DeepSeekProvider.d.ts +1 -0
  107. package/dist/providers/deepseek/DeepSeekProvider.d.ts.map +1 -1
  108. package/dist/providers/deepseek/DeepSeekProvider.js +1 -0
  109. package/dist/providers/deepseek/Errors.d.ts.map +1 -1
  110. package/dist/providers/deepseek/Errors.js +5 -4
  111. package/dist/providers/gemini/Capabilities.d.ts +1 -0
  112. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  113. package/dist/providers/gemini/Capabilities.js +3 -0
  114. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  115. package/dist/providers/gemini/Chat.js +6 -4
  116. package/dist/providers/gemini/ChatUtils.d.ts.map +1 -1
  117. package/dist/providers/gemini/ChatUtils.js +2 -1
  118. package/dist/providers/gemini/Errors.d.ts.map +1 -1
  119. package/dist/providers/gemini/Errors.js +4 -3
  120. package/dist/providers/gemini/GeminiProvider.d.ts +1 -0
  121. package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -1
  122. package/dist/providers/gemini/GeminiProvider.js +1 -0
  123. package/dist/providers/gemini/Streaming.d.ts.map +1 -1
  124. package/dist/providers/gemini/Streaming.js +3 -2
  125. package/dist/providers/gemini/types.d.ts +2 -0
  126. package/dist/providers/gemini/types.d.ts.map +1 -1
  127. package/dist/providers/mistral/Capabilities.d.ts +1 -0
  128. package/dist/providers/mistral/Capabilities.d.ts.map +1 -1
  129. package/dist/providers/mistral/Capabilities.js +3 -0
  130. package/dist/providers/mistral/Chat.d.ts.map +1 -1
  131. package/dist/providers/mistral/Chat.js +3 -2
  132. package/dist/providers/mistral/Errors.d.ts.map +1 -1
  133. package/dist/providers/mistral/Errors.js +4 -3
  134. package/dist/providers/mistral/MistralProvider.d.ts +1 -0
  135. package/dist/providers/mistral/MistralProvider.d.ts.map +1 -1
  136. package/dist/providers/mistral/MistralProvider.js +1 -0
  137. package/dist/providers/ollama/OllamaProvider.d.ts.map +1 -1
  138. package/dist/providers/ollama/OllamaProvider.js +1 -0
  139. package/dist/providers/openai/Capabilities.d.ts +6 -0
  140. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  141. package/dist/providers/openai/Capabilities.js +10 -0
  142. package/dist/providers/openai/Chat.d.ts +3 -0
  143. package/dist/providers/openai/Chat.d.ts.map +1 -1
  144. package/dist/providers/openai/Chat.js +26 -7
  145. package/dist/providers/openai/Embedding.d.ts +2 -0
  146. package/dist/providers/openai/Embedding.d.ts.map +1 -1
  147. package/dist/providers/openai/Embedding.js +8 -5
  148. package/dist/providers/openai/Errors.d.ts.map +1 -1
  149. package/dist/providers/openai/Errors.js +4 -3
  150. package/dist/providers/openai/Models.d.ts +10 -0
  151. package/dist/providers/openai/Models.d.ts.map +1 -1
  152. package/dist/providers/openai/Models.js +12 -8
  153. package/dist/providers/openai/OpenAIProvider.d.ts +11 -1
  154. package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -1
  155. package/dist/providers/openai/OpenAIProvider.js +36 -0
  156. package/dist/providers/openai/Responses.d.ts +30 -0
  157. package/dist/providers/openai/Responses.d.ts.map +1 -0
  158. package/dist/providers/openai/Responses.js +176 -0
  159. package/dist/providers/openai/Streaming.d.ts +2 -0
  160. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  161. package/dist/providers/openai/Streaming.js +19 -5
  162. package/dist/providers/openrouter/Capabilities.d.ts +1 -0
  163. package/dist/providers/openrouter/Capabilities.d.ts.map +1 -1
  164. package/dist/providers/openrouter/Capabilities.js +3 -0
  165. package/dist/providers/openrouter/OpenRouterProvider.d.ts +1 -0
  166. package/dist/providers/openrouter/OpenRouterProvider.d.ts.map +1 -1
  167. package/dist/providers/openrouter/OpenRouterProvider.js +1 -0
  168. package/dist/providers/registry.d.ts +2 -1
  169. package/dist/providers/registry.d.ts.map +1 -1
  170. package/dist/providers/registry.js +2 -1
  171. package/dist/providers/xai/Capabilities.d.ts +1 -0
  172. package/dist/providers/xai/Capabilities.d.ts.map +1 -1
  173. package/dist/providers/xai/Capabilities.js +3 -0
  174. package/dist/providers/xai/Chat.d.ts.map +1 -1
  175. package/dist/providers/xai/Chat.js +3 -2
  176. package/dist/providers/xai/Errors.d.ts.map +1 -1
  177. package/dist/providers/xai/Errors.js +5 -2
  178. package/dist/providers/xai/XAIProvider.d.ts +1 -0
  179. package/dist/providers/xai/XAIProvider.d.ts.map +1 -1
  180. package/dist/providers/xai/XAIProvider.js +1 -0
  181. package/dist/schema/Schema.d.ts +3 -3
  182. package/dist/schema/Schema.d.ts.map +1 -1
  183. package/dist/schema/to-json-schema.d.ts +2 -2
  184. package/dist/schema/to-json-schema.d.ts.map +1 -1
  185. package/dist/schema/to-json-schema.js +3 -8
  186. package/dist/schema/zod.d.ts +33 -0
  187. package/dist/schema/zod.d.ts.map +1 -0
  188. package/dist/schema/zod.js +33 -0
  189. package/package.json +14 -15
@@ -2,6 +2,8 @@ import { ToolCall, ToolDefinition } from "./Tool.js";
2
2
  import { ToolExecutionModeInput } from "../constants.js";
3
3
  import { ToolExecutionResult } from "./ToolHandler.js";
4
4
  import { Middleware, MiddlewareContext } from "../types/Middleware.js";
5
+ import { Provider } from "../providers/Provider.js";
6
+ import { Message } from "./Message.js";
5
7
  export type ToolCallOutcome = {
6
8
  kind: "cancelled";
7
9
  toolCall: ToolCall;
@@ -27,4 +29,14 @@ export interface ToolCallExecutionOptions {
27
29
  */
28
30
  export declare function shouldRunToolCallsConcurrently(toolConcurrency: boolean | undefined, toolExecution: ToolExecutionModeInput | undefined, callCount: number): boolean;
29
31
  export declare function executeToolCallOutcomes(toolCalls: ToolCall[], options: ToolCallExecutionOptions, middlewares: Middleware[], context: MiddlewareContext, concurrent: boolean): Promise<ToolCallOutcome[]>;
32
+ /**
33
+ * Error results for the tool calls a chat stopped before running because it reached
34
+ * `maxToolCalls`, so its history stays valid for the next request.
35
+ */
36
+ export declare function toolCallLimitResults(provider: Provider, toolCalls: ToolCall[], limit: number): Message[];
37
+ /**
38
+ * Answers tool calls a loop stopped before running, so the history stays valid for the next ask:
39
+ * every tool call a model makes needs a result.
40
+ */
41
+ export declare function unrunToolCallResults(provider: Provider, toolCalls: ToolCall[], reason: string): Message[];
30
42
  //# sourceMappingURL=ToolCallOutcome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallOutcome.d.ts","sourceRoot":"","sources":["../../src/chat/ToolCallOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAqB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAe,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGvE,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC/C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/D;AAuCD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,OAAO,GAAG,SAAS,EACpC,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,SAAS,EAAE,MAAM,GAChB,OAAO,CAET;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAY5B"}
1
+ {"version":3,"file":"ToolCallOutcome.d.ts","sourceRoot":"","sources":["../../src/chat/ToolCallOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAqB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAe,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvE,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC/C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/D;AAuCD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,OAAO,GAAG,SAAS,EACpC,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,SAAS,EAAE,MAAM,GAChB,OAAO,CAET;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,QAAQ,EAAE,EACrB,OAAO,EAAE,wBAAwB,EACjC,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAY5B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,QAAQ,EAAE,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,EAAE,CAEX;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,EAAE,MAAM,GACb,OAAO,EAAE,CAIX"}
@@ -41,3 +41,17 @@ export async function executeToolCallOutcomes(toolCalls, options, middlewares, c
41
41
  }
42
42
  return outcomes;
43
43
  }
44
+ /**
45
+ * Error results for the tool calls a chat stopped before running because it reached
46
+ * `maxToolCalls`, so its history stays valid for the next request.
47
+ */
48
+ export function toolCallLimitResults(provider, toolCalls, limit) {
49
+ return unrunToolCallResults(provider, toolCalls, `the tool call limit (${limit}) was reached`);
50
+ }
51
+ /**
52
+ * Answers tool calls a loop stopped before running, so the history stays valid for the next ask:
53
+ * every tool call a model makes needs a result.
54
+ */
55
+ export function unrunToolCallResults(provider, toolCalls, reason) {
56
+ return toolCalls.map((toolCall) => provider.formatToolResultMessage(toolCall.id, `Not run: ${reason}.`, { isError: true }));
57
+ }
@@ -0,0 +1,16 @@
1
+ import type { Message } from "./Message.js";
2
+ /** What a tool result outside the window is replaced with in a request. */
3
+ export declare const OMITTED_TOOL_RESULT = "[Earlier tool result left out to save tokens; only the most recent results are sent in full]";
4
+ /**
5
+ * Keeps the most recent tool results in full in the messages sent to the provider, replacing
6
+ * older ones with a short placeholder. Long tool loops (an agent reading pages, files or search
7
+ * results) otherwise resend every earlier result on every request.
8
+ *
9
+ * Results are left out in blocks of `keep`: between `keep` and twice that stay in full, and once
10
+ * there are twice as many, the oldest `keep` are replaced together. The start of the conversation
11
+ * then changes only every `keep` requests, so prompt caching still works in between. Each result
12
+ * keeps its place and tool call id, so the conversation stays valid, and the chat's own history
13
+ * is left untouched.
14
+ */
15
+ export declare function windowToolResults(messages: Message[], keep: number | undefined): Message[];
16
+ //# sourceMappingURL=ToolResultWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolResultWindow.d.ts","sourceRoot":"","sources":["../../src/chat/ToolResultWindow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,iGACgE,CAAC;AAEjG;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE,CAgB1F"}
@@ -0,0 +1,25 @@
1
+ /** What a tool result outside the window is replaced with in a request. */
2
+ export const OMITTED_TOOL_RESULT = "[Earlier tool result left out to save tokens; only the most recent results are sent in full]";
3
+ /**
4
+ * Keeps the most recent tool results in full in the messages sent to the provider, replacing
5
+ * older ones with a short placeholder. Long tool loops (an agent reading pages, files or search
6
+ * results) otherwise resend every earlier result on every request.
7
+ *
8
+ * Results are left out in blocks of `keep`: between `keep` and twice that stay in full, and once
9
+ * there are twice as many, the oldest `keep` are replaced together. The start of the conversation
10
+ * then changes only every `keep` requests, so prompt caching still works in between. Each result
11
+ * keeps its place and tool call id, so the conversation stays valid, and the chat's own history
12
+ * is left untouched.
13
+ */
14
+ export function windowToolResults(messages, keep) {
15
+ if (keep === undefined || keep < 0)
16
+ return messages;
17
+ const toolResults = messages.flatMap((message, index) => message.role === "tool" ? [index] : []);
18
+ const omittedCount = keep === 0
19
+ ? toolResults.length
20
+ : Math.floor(Math.max(toolResults.length - keep, 0) / keep) * keep;
21
+ const omitted = new Set(toolResults.slice(0, omittedCount));
22
+ if (omitted.size === 0)
23
+ return messages;
24
+ return messages.map((message, index) => omitted.has(index) ? { ...message, content: OMITTED_TOOL_RESULT } : message);
25
+ }
package/dist/config.d.ts CHANGED
@@ -18,6 +18,13 @@ export interface NodeLLMConfig {
18
18
  xaiApiBase?: string;
19
19
  mistralApiKey?: string;
20
20
  mistralApiBase?: string;
21
+ azureApiKey?: string;
22
+ /** The address the Azure portal shows: a deployment's, a model endpoint's, or the resource's */
23
+ azureApiBase?: string;
24
+ /** A Microsoft Entra ID token, for Azure resources that sign in without keys */
25
+ azureAuthToken?: string;
26
+ /** Azure deployment names mapped to the models they run, so capabilities and pricing are known */
27
+ azureDeployments?: Record<string, string>;
21
28
  /** TypeSafe (System One / Jev) key for judgments. */
22
29
  typesafeApiKey?: string;
23
30
  /** System One endpoint; point it at any Jev-compatible server. */
@@ -43,6 +50,12 @@ export interface NodeLLMConfig {
43
50
  */
44
51
  toolConcurrency?: boolean;
45
52
  provider?: string;
53
+ /**
54
+ * When false, keys, base URLs and the provider come only from what is passed in code, never
55
+ * from environment variables such as OPENAI_API_KEY. Apps that call providers for many
56
+ * customers set it, so a missing customer key fails instead of quietly using the machine's own.
57
+ */
58
+ envFallback?: boolean;
46
59
  }
47
60
  import { ToolExecutionMode, ToolExecutionModeInput } from "./constants.js";
48
61
  export declare class Configuration implements NodeLLMConfig {
@@ -61,6 +74,10 @@ export declare class Configuration implements NodeLLMConfig {
61
74
  private _xaiApiBase?;
62
75
  private _mistralApiKey?;
63
76
  private _mistralApiBase?;
77
+ private _azureApiKey?;
78
+ private _azureApiBase?;
79
+ private _azureAuthToken?;
80
+ private _azureDeployments?;
64
81
  private _typesafeApiKey?;
65
82
  private _typesafeApiBase?;
66
83
  private _bedrockApiKey?;
@@ -73,6 +90,7 @@ export declare class Configuration implements NodeLLMConfig {
73
90
  private _bedrockGuardrailVersion?;
74
91
  private _debug?;
75
92
  private _provider?;
93
+ private _envFallback?;
76
94
  get openaiApiKey(): string | undefined;
77
95
  set openaiApiKey(v: string | undefined);
78
96
  get openaiApiBase(): string | undefined;
@@ -103,6 +121,14 @@ export declare class Configuration implements NodeLLMConfig {
103
121
  set mistralApiKey(v: string | undefined);
104
122
  get mistralApiBase(): string | undefined;
105
123
  set mistralApiBase(v: string | undefined);
124
+ get azureApiKey(): string | undefined;
125
+ set azureApiKey(v: string | undefined);
126
+ get azureApiBase(): string | undefined;
127
+ set azureApiBase(v: string | undefined);
128
+ get azureAuthToken(): string | undefined;
129
+ set azureAuthToken(v: string | undefined);
130
+ get azureDeployments(): Record<string, string> | undefined;
131
+ set azureDeployments(v: Record<string, string> | undefined);
106
132
  get typesafeApiKey(): string | undefined;
107
133
  set typesafeApiKey(v: string | undefined);
108
134
  get typesafeApiBase(): string | undefined;
@@ -123,6 +149,10 @@ export declare class Configuration implements NodeLLMConfig {
123
149
  set bedrockGuardrailIdentifier(v: string | undefined);
124
150
  get bedrockGuardrailVersion(): string | undefined;
125
151
  set bedrockGuardrailVersion(v: string | undefined);
152
+ get envFallback(): boolean | undefined;
153
+ set envFallback(v: boolean | undefined);
154
+ /** An environment variable, unless envFallback is false. */
155
+ private fromEnv;
126
156
  get debug(): boolean | undefined;
127
157
  set debug(v: boolean | undefined);
128
158
  get provider(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,OAAO,EAiBL,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,iBAAiB,CAAC,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,iBAAiB,CAAC,CAAyB;IACnD,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,mBAAmB,CAAC,CAAS;IACrC,OAAO,CAAC,uBAAuB,CAAC,CAAS;IACzC,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,2BAA2B,CAAC,CAAS;IAC7C,OAAO,CAAC,wBAAwB,CAAC,CAAS;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAU;IAE/B,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAE5C;IACD,IAAW,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE5C;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IACD,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE7C;IAED,IAAW,eAAe,IAAI,MAAM,GAAG,SAAS,CAE/C;IACD,IAAW,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE/C;IAED,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAIhD;IACD,IAAW,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEhD;IAED,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAE5C;IACD,IAAW,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE5C;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IACD,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE7C;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAE9C;IACD,IAAW,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE9C;IAED,IAAW,eAAe,IAAI,MAAM,GAAG,SAAS,CAE/C;IACD,IAAW,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE/C;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IACD,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE7C;IAED,IAAW,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAEhD;IACD,IAAW,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEhD;IAED,IAAW,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAIjD;IACD,IAAW,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEjD;IAED,IAAW,SAAS,IAAI,MAAM,GAAG,SAAS,CAEzC;IACD,IAAW,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEzC;IAED,IAAW,UAAU,IAAI,MAAM,GAAG,SAAS,CAE1C;IACD,IAAW,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE1C;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IACD,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE7C;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAE9C;IACD,IAAW,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE9C;IAED,IAAW,WAAW,IAAI,MAAM,GAAG,SAAS,CAE3C;IACD,IAAW,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE3C;IAGD,IAAW,YAAY,IAAI,MAAM,GAAG,SAAS,CAE5C;IACD,IAAW,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE5C;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAE9C;IACD,IAAW,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE9C;IAED,IAAW,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAEhE;IACD,IAAW,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAEhE;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAG9C;IACD,IAAW,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE9C;IAED,IAAW,eAAe,IAAI,MAAM,GAAG,SAAS,CAE/C;IACD,IAAW,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE/C;IAGD,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IACD,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE7C;IAED,IAAW,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAElD;IACD,IAAW,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAElD;IAED,IAAW,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAEtD;IACD,IAAW,sBAAsB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEtD;IAED,IAAW,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAEnD;IACD,IAAW,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEnD;IAED,IAAW,aAAa,IAAI,MAAM,GAAG,SAAS,CAE7C;IACD,IAAW,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE7C;IAED,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAE9C;IACD,IAAW,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE9C;IAED,IAAW,0BAA0B,IAAI,MAAM,GAAG,SAAS,CAE1D;IACD,IAAW,0BAA0B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAE1D;IAED,IAAW,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAEvD;IACD,IAAW,uBAAuB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAEvD;IAED,IAAW,WAAW,IAAI,OAAO,GAAG,SAAS,CAE5C;IACD,IAAW,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,EAE5C;IAED,4DAA4D;IAC5D,OAAO,CAAC,OAAO;IAIf,IAAW,KAAK,IAAI,OAAO,GAAG,SAAS,CAEtC;IACD,IAAW,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,EAEtC;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IACD,IAAW,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAExC;IAEM,YAAY,EAAE,MAAM,CAA0B;IAC9C,UAAU,EAAE,MAAM,CAAuB;IACzC,cAAc,EAAE,MAAM,CAA2B;IACjD,SAAS,EAAE,MAAM,CAAsB;IACvC,aAAa,EAAE,iBAAiB,CAA0B;IAC1D,eAAe,EAAE,OAAO,CAA4B;IAE3D;;;;OAIG;IACI,aAAa,IAAI,aAAa;CAmBtC;AAED,eAAO,MAAM,MAAM,eAAsB,CAAC"}
package/dist/config.js CHANGED
@@ -15,6 +15,10 @@ export class Configuration {
15
15
  _xaiApiBase;
16
16
  _mistralApiKey;
17
17
  _mistralApiBase;
18
+ _azureApiKey;
19
+ _azureApiBase;
20
+ _azureAuthToken;
21
+ _azureDeployments;
18
22
  _typesafeApiKey;
19
23
  _typesafeApiBase;
20
24
  _bedrockApiKey;
@@ -27,162 +31,194 @@ export class Configuration {
27
31
  _bedrockGuardrailVersion;
28
32
  _debug;
29
33
  _provider;
34
+ _envFallback;
30
35
  get openaiApiKey() {
31
- return this._openaiApiKey ?? process.env.OPENAI_API_KEY?.trim();
36
+ return this._openaiApiKey ?? this.fromEnv("OPENAI_API_KEY");
32
37
  }
33
38
  set openaiApiKey(v) {
34
39
  this._openaiApiKey = v;
35
40
  }
36
41
  get openaiApiBase() {
37
- return this._openaiApiBase ?? process.env.OPENAI_API_BASE?.trim() ?? DEFAULT_OPENAI_BASE_URL;
42
+ return this._openaiApiBase ?? this.fromEnv("OPENAI_API_BASE") ?? DEFAULT_OPENAI_BASE_URL;
38
43
  }
39
44
  set openaiApiBase(v) {
40
45
  this._openaiApiBase = v;
41
46
  }
42
47
  get anthropicApiKey() {
43
- return this._anthropicApiKey ?? process.env.ANTHROPIC_API_KEY?.trim();
48
+ return this._anthropicApiKey ?? this.fromEnv("ANTHROPIC_API_KEY");
44
49
  }
45
50
  set anthropicApiKey(v) {
46
51
  this._anthropicApiKey = v;
47
52
  }
48
53
  get anthropicApiBase() {
49
- return (this._anthropicApiBase ?? process.env.ANTHROPIC_API_BASE?.trim() ?? DEFAULT_ANTHROPIC_BASE_URL);
54
+ return (this._anthropicApiBase ?? this.fromEnv("ANTHROPIC_API_BASE") ?? DEFAULT_ANTHROPIC_BASE_URL);
50
55
  }
51
56
  set anthropicApiBase(v) {
52
57
  this._anthropicApiBase = v;
53
58
  }
54
59
  get geminiApiKey() {
55
- return this._geminiApiKey ?? process.env.GEMINI_API_KEY?.trim();
60
+ return this._geminiApiKey ?? this.fromEnv("GEMINI_API_KEY");
56
61
  }
57
62
  set geminiApiKey(v) {
58
63
  this._geminiApiKey = v;
59
64
  }
60
65
  get geminiApiBase() {
61
- return this._geminiApiBase ?? process.env.GEMINI_API_BASE?.trim() ?? DEFAULT_GEMINI_BASE_URL;
66
+ return this._geminiApiBase ?? this.fromEnv("GEMINI_API_BASE") ?? DEFAULT_GEMINI_BASE_URL;
62
67
  }
63
68
  set geminiApiBase(v) {
64
69
  this._geminiApiBase = v;
65
70
  }
66
71
  get deepseekApiKey() {
67
- return this._deepseekApiKey ?? process.env.DEEPSEEK_API_KEY?.trim();
72
+ return this._deepseekApiKey ?? this.fromEnv("DEEPSEEK_API_KEY");
68
73
  }
69
74
  set deepseekApiKey(v) {
70
75
  this._deepseekApiKey = v;
71
76
  }
72
77
  get deepseekApiBase() {
73
- return (this._deepseekApiBase ?? process.env.DEEPSEEK_API_BASE?.trim() ?? DEFAULT_DEEPSEEK_BASE_URL);
78
+ return this._deepseekApiBase ?? this.fromEnv("DEEPSEEK_API_BASE") ?? DEFAULT_DEEPSEEK_BASE_URL;
74
79
  }
75
80
  set deepseekApiBase(v) {
76
81
  this._deepseekApiBase = v;
77
82
  }
78
83
  get ollamaApiBase() {
79
- return this._ollamaApiBase ?? process.env.OLLAMA_API_BASE?.trim() ?? DEFAULT_OLLAMA_BASE_URL;
84
+ return this._ollamaApiBase ?? this.fromEnv("OLLAMA_API_BASE") ?? DEFAULT_OLLAMA_BASE_URL;
80
85
  }
81
86
  set ollamaApiBase(v) {
82
87
  this._ollamaApiBase = v;
83
88
  }
84
89
  get openrouterApiKey() {
85
- return this._openrouterApiKey ?? process.env.OPENROUTER_API_KEY?.trim();
90
+ return this._openrouterApiKey ?? this.fromEnv("OPENROUTER_API_KEY");
86
91
  }
87
92
  set openrouterApiKey(v) {
88
93
  this._openrouterApiKey = v;
89
94
  }
90
95
  get openrouterApiBase() {
91
- return (this._openrouterApiBase ??
92
- process.env.OPENROUTER_API_BASE?.trim() ??
93
- DEFAULT_OPENROUTER_BASE_URL);
96
+ return (this._openrouterApiBase ?? this.fromEnv("OPENROUTER_API_BASE") ?? DEFAULT_OPENROUTER_BASE_URL);
94
97
  }
95
98
  set openrouterApiBase(v) {
96
99
  this._openrouterApiBase = v;
97
100
  }
98
101
  get xaiApiKey() {
99
- return this._xaiApiKey ?? process.env.XAI_API_KEY?.trim();
102
+ return this._xaiApiKey ?? this.fromEnv("XAI_API_KEY");
100
103
  }
101
104
  set xaiApiKey(v) {
102
105
  this._xaiApiKey = v;
103
106
  }
104
107
  get xaiApiBase() {
105
- return this._xaiApiBase ?? process.env.XAI_API_BASE?.trim() ?? DEFAULT_XAI_BASE_URL;
108
+ return this._xaiApiBase ?? this.fromEnv("XAI_API_BASE") ?? DEFAULT_XAI_BASE_URL;
106
109
  }
107
110
  set xaiApiBase(v) {
108
111
  this._xaiApiBase = v;
109
112
  }
110
113
  get mistralApiKey() {
111
- return this._mistralApiKey ?? process.env.MISTRAL_API_KEY?.trim();
114
+ return this._mistralApiKey ?? this.fromEnv("MISTRAL_API_KEY");
112
115
  }
113
116
  set mistralApiKey(v) {
114
117
  this._mistralApiKey = v;
115
118
  }
116
119
  get mistralApiBase() {
117
- return this._mistralApiBase ?? process.env.MISTRAL_API_BASE?.trim() ?? DEFAULT_MISTRAL_BASE_URL;
120
+ return this._mistralApiBase ?? this.fromEnv("MISTRAL_API_BASE") ?? DEFAULT_MISTRAL_BASE_URL;
118
121
  }
119
122
  set mistralApiBase(v) {
120
123
  this._mistralApiBase = v;
121
124
  }
125
+ get azureApiKey() {
126
+ return this._azureApiKey ?? this.fromEnv("AZURE_API_KEY");
127
+ }
128
+ set azureApiKey(v) {
129
+ this._azureApiKey = v;
130
+ }
131
+ // No default: every Azure resource has its own address.
132
+ get azureApiBase() {
133
+ return this._azureApiBase ?? this.fromEnv("AZURE_API_BASE");
134
+ }
135
+ set azureApiBase(v) {
136
+ this._azureApiBase = v;
137
+ }
138
+ get azureAuthToken() {
139
+ return this._azureAuthToken ?? this.fromEnv("AZURE_AUTH_TOKEN");
140
+ }
141
+ set azureAuthToken(v) {
142
+ this._azureAuthToken = v;
143
+ }
144
+ get azureDeployments() {
145
+ return this._azureDeployments;
146
+ }
147
+ set azureDeployments(v) {
148
+ this._azureDeployments = v;
149
+ }
122
150
  get typesafeApiKey() {
123
151
  // TYPESAFE_API_KEY matches the provider's name; JEV_API_KEY is accepted too.
124
- return (this._typesafeApiKey ??
125
- process.env.TYPESAFE_API_KEY?.trim() ??
126
- process.env.JEV_API_KEY?.trim());
152
+ return this._typesafeApiKey ?? this.fromEnv("TYPESAFE_API_KEY") ?? this.fromEnv("JEV_API_KEY");
127
153
  }
128
154
  set typesafeApiKey(v) {
129
155
  this._typesafeApiKey = v;
130
156
  }
131
157
  get typesafeApiBase() {
132
- return (this._typesafeApiBase ?? process.env.TYPESAFE_API_BASE?.trim() ?? DEFAULT_TYPESAFE_BASE_URL);
158
+ return this._typesafeApiBase ?? this.fromEnv("TYPESAFE_API_BASE") ?? DEFAULT_TYPESAFE_BASE_URL;
133
159
  }
134
160
  set typesafeApiBase(v) {
135
161
  this._typesafeApiBase = v;
136
162
  }
137
163
  // AWS Bedrock configuration
138
164
  get bedrockApiKey() {
139
- return this._bedrockApiKey ?? process.env.AWS_BEARER_TOKEN_BEDROCK?.trim();
165
+ return this._bedrockApiKey ?? this.fromEnv("AWS_BEARER_TOKEN_BEDROCK");
140
166
  }
141
167
  set bedrockApiKey(v) {
142
168
  this._bedrockApiKey = v;
143
169
  }
144
170
  get bedrockAccessKeyId() {
145
- return this._bedrockAccessKeyId ?? process.env.AWS_ACCESS_KEY_ID?.trim();
171
+ return this._bedrockAccessKeyId ?? this.fromEnv("AWS_ACCESS_KEY_ID");
146
172
  }
147
173
  set bedrockAccessKeyId(v) {
148
174
  this._bedrockAccessKeyId = v;
149
175
  }
150
176
  get bedrockSecretAccessKey() {
151
- return this._bedrockSecretAccessKey ?? process.env.AWS_SECRET_ACCESS_KEY?.trim();
177
+ return this._bedrockSecretAccessKey ?? this.fromEnv("AWS_SECRET_ACCESS_KEY");
152
178
  }
153
179
  set bedrockSecretAccessKey(v) {
154
180
  this._bedrockSecretAccessKey = v;
155
181
  }
156
182
  get bedrockSessionToken() {
157
- return this._bedrockSessionToken ?? process.env.AWS_SESSION_TOKEN?.trim();
183
+ return this._bedrockSessionToken ?? this.fromEnv("AWS_SESSION_TOKEN");
158
184
  }
159
185
  set bedrockSessionToken(v) {
160
186
  this._bedrockSessionToken = v;
161
187
  }
162
188
  get bedrockRegion() {
163
- return this._bedrockRegion ?? process.env.AWS_REGION?.trim() ?? DEFAULT_BEDROCK_REGION;
189
+ return this._bedrockRegion ?? this.fromEnv("AWS_REGION") ?? DEFAULT_BEDROCK_REGION;
164
190
  }
165
191
  set bedrockRegion(v) {
166
192
  this._bedrockRegion = v;
167
193
  }
168
194
  get bedrockApiBase() {
169
- return this._bedrockApiBase ?? process.env.BEDROCK_API_BASE?.trim();
195
+ return this._bedrockApiBase ?? this.fromEnv("BEDROCK_API_BASE");
170
196
  }
171
197
  set bedrockApiBase(v) {
172
198
  this._bedrockApiBase = v;
173
199
  }
174
200
  get bedrockGuardrailIdentifier() {
175
- return this._bedrockGuardrailIdentifier ?? process.env.AWS_GUARDRAIL_ID?.trim();
201
+ return this._bedrockGuardrailIdentifier ?? this.fromEnv("AWS_GUARDRAIL_ID");
176
202
  }
177
203
  set bedrockGuardrailIdentifier(v) {
178
204
  this._bedrockGuardrailIdentifier = v;
179
205
  }
180
206
  get bedrockGuardrailVersion() {
181
- return this._bedrockGuardrailVersion ?? process.env.AWS_GUARDRAIL_VERSION?.trim();
207
+ return this._bedrockGuardrailVersion ?? this.fromEnv("AWS_GUARDRAIL_VERSION");
182
208
  }
183
209
  set bedrockGuardrailVersion(v) {
184
210
  this._bedrockGuardrailVersion = v;
185
211
  }
212
+ get envFallback() {
213
+ return this._envFallback;
214
+ }
215
+ set envFallback(v) {
216
+ this._envFallback = v;
217
+ }
218
+ /** An environment variable, unless envFallback is false. */
219
+ fromEnv(name) {
220
+ return this._envFallback === false ? undefined : process.env[name]?.trim();
221
+ }
186
222
  get debug() {
187
223
  return this._debug ?? process.env.NODELLM_DEBUG === "true";
188
224
  }
@@ -190,7 +226,7 @@ export class Configuration {
190
226
  this._debug = v;
191
227
  }
192
228
  get provider() {
193
- return this._provider ?? process.env.NODELLM_PROVIDER?.trim();
229
+ return this._provider ?? this.fromEnv("NODELLM_PROVIDER");
194
230
  }
195
231
  set provider(v) {
196
232
  this._provider = v;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Whether a provider's error means the account can't pay for the request, whatever status it
3
+ * arrived with: providers report this as 402, 400, 403 or 429. Every provider's error handler
4
+ * asks this first, so the same problem is an InsufficientQuotaError everywhere.
5
+ */
6
+ export declare function isBillingProblem(status: number, message: string, code?: string): boolean;
7
+ //# sourceMappingURL=billing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.d.ts","sourceRoot":"","sources":["../../src/errors/billing.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAKxF"}
@@ -0,0 +1,24 @@
1
+ // Phrases providers use when an account is out of credit or its billing isn't set up. A plain
2
+ // "quota" isn't one of them: providers also use it for per-minute rate limits, which pass on their
3
+ // own and are worth retrying.
4
+ const BILLING_PHRASES = [
5
+ "credit balance",
6
+ "insufficient balance",
7
+ "insufficient credit",
8
+ "insufficient funds",
9
+ "out of credits",
10
+ "exceeded your current quota",
11
+ "billing",
12
+ "payment required"
13
+ ];
14
+ /**
15
+ * Whether a provider's error means the account can't pay for the request, whatever status it
16
+ * arrived with: providers report this as 402, 400, 403 or 429. Every provider's error handler
17
+ * asks this first, so the same problem is an InsufficientQuotaError everywhere.
18
+ */
19
+ export function isBillingProblem(status, message, code) {
20
+ if (status === 402 || code === "insufficient_quota")
21
+ return true;
22
+ const text = message.toLowerCase();
23
+ return BILLING_PHRASES.some((phrase) => text.includes(phrase));
24
+ }
@@ -12,6 +12,7 @@
12
12
  *
13
13
  * @see ARCHITECTURE.md for error contract details
14
14
  */
15
+ import type { Usage } from "../providers/Provider.js";
15
16
  /**
16
17
  * Base class for all NodeLLM errors
17
18
  */
@@ -146,4 +147,31 @@ export declare class ToolError extends LLMError {
146
147
  readonly fatal: boolean;
147
148
  constructor(message: string, toolName?: string | undefined, fatal?: boolean);
148
149
  }
150
+ /**
151
+ * Thrown when the model still wants to call tools after `maxToolCalls` rounds of tool calls.
152
+ * Its pending calls are answered with an error result, so the chat can be asked again.
153
+ */
154
+ /**
155
+ * An ask spent its `maxCost` before finishing its tool loop. The tool calls it stopped before
156
+ * running are answered in the history, so the chat can be asked again.
157
+ */
158
+ export declare class CostLimitError extends LLMError {
159
+ /** The limit, in US dollars */
160
+ readonly limit: number;
161
+ /** Usage of every request in the ask that reached the limit */
162
+ readonly usage: Usage;
163
+ constructor(
164
+ /** The limit, in US dollars */
165
+ limit: number,
166
+ /** Usage of every request in the ask that reached the limit */
167
+ usage: Usage);
168
+ }
169
+ export declare class ToolCallLimitError extends LLMError {
170
+ readonly limit: number;
171
+ /** Usage of every request in the ask that reached the limit */
172
+ readonly usage: Usage;
173
+ constructor(limit: number,
174
+ /** Usage of every request in the ask that reached the limit */
175
+ usage: Usage);
176
+ }
149
177
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -213,3 +213,35 @@ export class ToolError extends LLMError {
213
213
  this.name = "ToolError";
214
214
  }
215
215
  }
216
+ /**
217
+ * Thrown when the model still wants to call tools after `maxToolCalls` rounds of tool calls.
218
+ * Its pending calls are answered with an error result, so the chat can be asked again.
219
+ */
220
+ /**
221
+ * An ask spent its `maxCost` before finishing its tool loop. The tool calls it stopped before
222
+ * running are answered in the history, so the chat can be asked again.
223
+ */
224
+ export class CostLimitError extends LLMError {
225
+ limit;
226
+ usage;
227
+ constructor(
228
+ /** The limit, in US dollars */
229
+ limit,
230
+ /** Usage of every request in the ask that reached the limit */
231
+ usage) {
232
+ super(`[NodeLLM] Cost limit ($${limit}) reached.`, "COST_LIMIT");
233
+ this.limit = limit;
234
+ this.usage = usage;
235
+ }
236
+ }
237
+ export class ToolCallLimitError extends LLMError {
238
+ limit;
239
+ usage;
240
+ constructor(limit,
241
+ /** Usage of every request in the ask that reached the limit */
242
+ usage) {
243
+ super(`[NodeLLM] Maximum tool execution calls (${limit}) exceeded.`, "TOOL_CALL_LIMIT");
244
+ this.limit = limit;
245
+ this.usage = usage;
246
+ }
247
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG/E,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAGzD,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8B9D;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAYrB"}
1
+ {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG/E,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAGzD,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAiC9D;;;;OAIG;IACH,OAAO,CAAC,YAAY;CAYrB"}
@@ -1,4 +1,4 @@
1
- import { RateLimitError, ServerError } from "../errors/index.js";
1
+ import { InsufficientQuotaError, RateLimitError, ServerError } from "../errors/index.js";
2
2
  export class Executor {
3
3
  provider;
4
4
  retry;
@@ -17,8 +17,10 @@ export class Executor {
17
17
  }
18
18
  catch (error) {
19
19
  lastError = error;
20
- // If it's a fatal error (BadRequest, Authentication), don't retry
21
- const isRetryable = error instanceof RateLimitError || error instanceof ServerError;
20
+ // Fatal errors (bad request, authentication, an account out of credit) fail straight away:
21
+ // trying again can't help.
22
+ const isRetryable = (error instanceof RateLimitError && !(error instanceof InsufficientQuotaError)) ||
23
+ error instanceof ServerError;
22
24
  if (!isRetryable || attempt >= this.retry.attempts) {
23
25
  throw error;
24
26
  }
package/dist/index.d.ts CHANGED
@@ -17,14 +17,16 @@ export type { Answer, AnswerFor, AnswersOf, JudgmentResult } from "./judge/Judgm
17
17
  export type { AgentConfig, DefinedAgent } from "./agent/Agent.js";
18
18
  export type { Middleware, MiddlewareContext } from "./types/Middleware.js";
19
19
  export * from "./middlewares/index.js";
20
- export { z } from "zod";
20
+ export { z } from "zod/v3";
21
21
  export { NodeLLM, LegacyNodeLLM, createLLM, NodeLLMCore, Transcription, Moderation, Embedding, ModelRegistry, PricingRegistry } from "./llm.js";
22
+ export type { LLMConfig } from "./llm.js";
22
23
  export { config } from "./config.js";
23
24
  export type { NodeLLMConfig } from "./config.js";
24
25
  export { providerRegistry, ProviderInterceptor } from "./providers/registry.js";
25
26
  export { Schema } from "./schema/Schema.js";
27
+ export type { ZodSchema } from "./schema/zod.js";
26
28
  export { BaseProvider } from "./providers/BaseProvider.js";
27
- export { Provider, ProviderCapabilities, ChatRequest, ChatResponse, ChatChunk, ThinkingConfig, ThinkingResult, Usage, ImageRequest, ImageResponse, TranscriptionRequest, TranscriptionResponse, TranscriptionSegment, TranscriptionWord, ModerationRequest, ModerationResponse, ModerationResult, EmbeddingRequest, EmbeddingResponse, JudgmentRequest, JudgmentResponse, JudgmentInput, JudgmentAnswerData, ToolChoice } from "./providers/Provider.js";
29
+ export { Provider, ProviderCapabilities, ChatRequest, ChatResponse, ChatChunk, ThinkingConfig, ThinkingEffort, ThinkingResult, Usage, ImageRequest, ImageResponse, TranscriptionRequest, TranscriptionResponse, TranscriptionSegment, TranscriptionWord, ModerationRequest, ModerationResponse, ModerationResult, EmbeddingRequest, EmbeddingResponse, JudgmentRequest, JudgmentResponse, JudgmentInput, JudgmentAnswerData, ToolChoice } from "./providers/Provider.js";
28
30
  export { resolveModelAlias } from "./model_aliases.js";
29
31
  export { default as MODEL_ALIASES } from "./aliases.js";
30
32
  export type { ToolExecutionModeInput } from "./constants.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7F,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,KAAK,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EACV,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7F,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EACL,OAAO,EACP,aAAa,EACb,SAAS,EACT,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,EACd,KAAK,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ export { Judge, defineJudge } from "./judge/Judge.js";
12
12
  export { probability, choice, score } from "./judge/Question.js";
13
13
  export { Judgment, ProbabilityAnswer, ChoiceAnswer, ScoreAnswer } from "./judge/Judgment.js";
14
14
  export * from "./middlewares/index.js";
15
- export { z } from "zod";
15
+ export { z } from "zod/v3";
16
16
  export { NodeLLM, LegacyNodeLLM, createLLM, NodeLLMCore, Transcription, Moderation, Embedding, ModelRegistry, PricingRegistry } from "./llm.js";
17
17
  export { config } from "./config.js";
18
18
  export { providerRegistry } from "./providers/registry.js";