@node-llm/core 1.18.0 → 1.19.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.
- package/README.md +14 -12
- package/dist/agent/Agent.d.ts +17 -3
- package/dist/agent/Agent.d.ts.map +1 -1
- package/dist/agent/Agent.js +11 -0
- package/dist/aliases.d.ts +341 -316
- package/dist/aliases.d.ts.map +1 -1
- package/dist/aliases.js +467 -442
- package/dist/chat/Chat.d.ts +12 -5
- package/dist/chat/Chat.d.ts.map +1 -1
- package/dist/chat/Chat.js +45 -13
- package/dist/chat/ChatOptions.d.ts +17 -0
- package/dist/chat/ChatOptions.d.ts.map +1 -1
- package/dist/chat/ChatResponse.d.ts +5 -0
- package/dist/chat/ChatResponse.d.ts.map +1 -1
- package/dist/chat/ChatResponse.js +12 -4
- package/dist/chat/ChatStream.d.ts.map +1 -1
- package/dist/chat/ChatStream.js +20 -10
- package/dist/chat/PromptCache.d.ts +7 -0
- package/dist/chat/PromptCache.d.ts.map +1 -0
- package/dist/chat/PromptCache.js +7 -0
- package/dist/chat/Temperature.d.ts +7 -0
- package/dist/chat/Temperature.d.ts.map +1 -0
- package/dist/chat/Temperature.js +17 -0
- package/dist/chat/Tool.d.ts +26 -3
- package/dist/chat/Tool.d.ts.map +1 -1
- package/dist/chat/Tool.js +28 -2
- package/dist/chat/ToolCallOutcome.d.ts +12 -0
- package/dist/chat/ToolCallOutcome.d.ts.map +1 -1
- package/dist/chat/ToolCallOutcome.js +14 -0
- package/dist/chat/ToolResultWindow.d.ts +16 -0
- package/dist/chat/ToolResultWindow.d.ts.map +1 -0
- package/dist/chat/ToolResultWindow.js +25 -0
- package/dist/config.d.ts +30 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +66 -30
- package/dist/errors/billing.d.ts +7 -0
- package/dist/errors/billing.d.ts.map +1 -0
- package/dist/errors/billing.js +24 -0
- package/dist/errors/index.d.ts +28 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +32 -0
- package/dist/executor/Executor.d.ts.map +1 -1
- package/dist/executor/Executor.js +5 -3
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/llm.d.ts +2 -1
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +8 -2
- package/dist/models/ModelRegistry.d.ts +12 -1
- package/dist/models/ModelRegistry.d.ts.map +1 -1
- package/dist/models/ModelRegistry.js +22 -2
- package/dist/models/models.json +11900 -4568
- package/dist/models/types.d.ts +14 -1
- package/dist/models/types.d.ts.map +1 -1
- package/dist/providers/Provider.d.ts +23 -1
- package/dist/providers/Provider.d.ts.map +1 -1
- package/dist/providers/anthropic/AnthropicProvider.d.ts +2 -0
- package/dist/providers/anthropic/AnthropicProvider.d.ts.map +1 -1
- package/dist/providers/anthropic/AnthropicProvider.js +2 -0
- package/dist/providers/anthropic/Capabilities.d.ts +1 -0
- package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
- package/dist/providers/anthropic/Capabilities.js +3 -0
- package/dist/providers/anthropic/Chat.d.ts.map +1 -1
- package/dist/providers/anthropic/Chat.js +7 -75
- package/dist/providers/anthropic/Errors.d.ts.map +1 -1
- package/dist/providers/anthropic/Errors.js +4 -3
- package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
- package/dist/providers/anthropic/Streaming.js +4 -66
- package/dist/providers/anthropic/Utils.d.ts +33 -1
- package/dist/providers/anthropic/Utils.d.ts.map +1 -1
- package/dist/providers/anthropic/Utils.js +114 -0
- package/dist/providers/anthropic/types.d.ts +17 -3
- package/dist/providers/anthropic/types.d.ts.map +1 -1
- package/dist/providers/azure/AzureProvider.d.ts +54 -0
- package/dist/providers/azure/AzureProvider.d.ts.map +1 -0
- package/dist/providers/azure/AzureProvider.js +110 -0
- package/dist/providers/azure/Capabilities.d.ts +16 -0
- package/dist/providers/azure/Capabilities.d.ts.map +1 -0
- package/dist/providers/azure/Capabilities.js +36 -0
- package/dist/providers/azure/Embedding.d.ts +11 -0
- package/dist/providers/azure/Embedding.d.ts.map +1 -0
- package/dist/providers/azure/Embedding.js +23 -0
- package/dist/providers/azure/Models.d.ts +18 -0
- package/dist/providers/azure/Models.d.ts.map +1 -0
- package/dist/providers/azure/Models.js +29 -0
- package/dist/providers/azure/index.d.ts +5 -0
- package/dist/providers/azure/index.d.ts.map +1 -0
- package/dist/providers/azure/index.js +28 -0
- package/dist/providers/bedrock/BedrockProvider.d.ts.map +1 -1
- package/dist/providers/bedrock/BedrockProvider.js +1 -0
- package/dist/providers/bedrock/Capabilities.d.ts +1 -0
- package/dist/providers/bedrock/Capabilities.d.ts.map +1 -1
- package/dist/providers/bedrock/Capabilities.js +3 -0
- package/dist/providers/bedrock/Chat.d.ts.map +1 -1
- package/dist/providers/bedrock/Chat.js +6 -2
- package/dist/providers/bedrock/Errors.d.ts.map +1 -1
- package/dist/providers/bedrock/Errors.js +4 -0
- package/dist/providers/bedrock/Streaming.d.ts.map +1 -1
- package/dist/providers/bedrock/Streaming.js +4 -1
- package/dist/providers/deepseek/Capabilities.d.ts +1 -0
- package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
- package/dist/providers/deepseek/Capabilities.js +3 -0
- package/dist/providers/deepseek/Chat.d.ts.map +1 -1
- package/dist/providers/deepseek/Chat.js +3 -2
- package/dist/providers/deepseek/DeepSeekProvider.d.ts +1 -0
- package/dist/providers/deepseek/DeepSeekProvider.d.ts.map +1 -1
- package/dist/providers/deepseek/DeepSeekProvider.js +1 -0
- package/dist/providers/deepseek/Errors.d.ts.map +1 -1
- package/dist/providers/deepseek/Errors.js +5 -4
- package/dist/providers/gemini/Capabilities.d.ts +1 -0
- package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
- package/dist/providers/gemini/Capabilities.js +3 -0
- package/dist/providers/gemini/Chat.d.ts.map +1 -1
- package/dist/providers/gemini/Chat.js +3 -2
- package/dist/providers/gemini/Errors.d.ts.map +1 -1
- package/dist/providers/gemini/Errors.js +4 -3
- package/dist/providers/gemini/GeminiProvider.d.ts +1 -0
- package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -1
- package/dist/providers/gemini/GeminiProvider.js +1 -0
- package/dist/providers/mistral/Capabilities.d.ts +1 -0
- package/dist/providers/mistral/Capabilities.d.ts.map +1 -1
- package/dist/providers/mistral/Capabilities.js +3 -0
- package/dist/providers/mistral/Chat.d.ts.map +1 -1
- package/dist/providers/mistral/Chat.js +3 -2
- package/dist/providers/mistral/Errors.d.ts.map +1 -1
- package/dist/providers/mistral/Errors.js +4 -3
- package/dist/providers/mistral/MistralProvider.d.ts +1 -0
- package/dist/providers/mistral/MistralProvider.d.ts.map +1 -1
- package/dist/providers/mistral/MistralProvider.js +1 -0
- package/dist/providers/ollama/OllamaProvider.d.ts.map +1 -1
- package/dist/providers/ollama/OllamaProvider.js +1 -0
- package/dist/providers/openai/Capabilities.d.ts +6 -0
- package/dist/providers/openai/Capabilities.d.ts.map +1 -1
- package/dist/providers/openai/Capabilities.js +10 -0
- package/dist/providers/openai/Chat.d.ts +3 -0
- package/dist/providers/openai/Chat.d.ts.map +1 -1
- package/dist/providers/openai/Chat.js +26 -7
- package/dist/providers/openai/Embedding.d.ts +2 -0
- package/dist/providers/openai/Embedding.d.ts.map +1 -1
- package/dist/providers/openai/Embedding.js +8 -5
- package/dist/providers/openai/Errors.d.ts.map +1 -1
- package/dist/providers/openai/Errors.js +4 -3
- package/dist/providers/openai/Models.d.ts +10 -0
- package/dist/providers/openai/Models.d.ts.map +1 -1
- package/dist/providers/openai/Models.js +12 -8
- package/dist/providers/openai/OpenAIProvider.d.ts +11 -1
- package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -1
- package/dist/providers/openai/OpenAIProvider.js +36 -0
- package/dist/providers/openai/Responses.d.ts +30 -0
- package/dist/providers/openai/Responses.d.ts.map +1 -0
- package/dist/providers/openai/Responses.js +176 -0
- package/dist/providers/openai/Streaming.d.ts +2 -0
- package/dist/providers/openai/Streaming.d.ts.map +1 -1
- package/dist/providers/openai/Streaming.js +19 -5
- package/dist/providers/openrouter/Capabilities.d.ts +1 -0
- package/dist/providers/openrouter/Capabilities.d.ts.map +1 -1
- package/dist/providers/openrouter/Capabilities.js +3 -0
- package/dist/providers/openrouter/OpenRouterProvider.d.ts +1 -0
- package/dist/providers/openrouter/OpenRouterProvider.d.ts.map +1 -1
- package/dist/providers/openrouter/OpenRouterProvider.js +1 -0
- package/dist/providers/registry.d.ts +2 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +2 -1
- package/dist/providers/xai/Capabilities.d.ts +1 -0
- package/dist/providers/xai/Capabilities.d.ts.map +1 -1
- package/dist/providers/xai/Capabilities.js +3 -0
- package/dist/providers/xai/Chat.d.ts.map +1 -1
- package/dist/providers/xai/Chat.js +3 -2
- package/dist/providers/xai/Errors.d.ts.map +1 -1
- package/dist/providers/xai/Errors.js +5 -2
- package/dist/providers/xai/XAIProvider.d.ts +1 -0
- package/dist/providers/xai/XAIProvider.d.ts.map +1 -1
- package/dist/providers/xai/XAIProvider.js +1 -0
- package/dist/schema/Schema.d.ts +3 -3
- package/dist/schema/Schema.d.ts.map +1 -1
- package/dist/schema/to-json-schema.d.ts +2 -2
- package/dist/schema/to-json-schema.d.ts.map +1 -1
- package/dist/schema/to-json-schema.js +3 -8
- package/dist/schema/zod.d.ts +32 -0
- package/dist/schema/zod.d.ts.map +1 -0
- package/dist/schema/zod.js +31 -0
- package/package.json +14 -15
|
@@ -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;
|
|
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;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,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;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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
|
|
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
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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 ??
|
|
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
|
+
}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/errors/index.js
CHANGED
|
@@ -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;
|
|
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
|
-
//
|
|
21
|
-
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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";
|
package/dist/llm.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ export interface RetryOptions {
|
|
|
16
16
|
attempts?: number;
|
|
17
17
|
delayMs?: number;
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
/** Options for createLLM(): the provider to use and its keys, as well as any NodeLLMConfig setting. */
|
|
20
|
+
export type LLMConfig = {
|
|
20
21
|
provider?: Provider | string;
|
|
21
22
|
retry?: RetryOptions;
|
|
22
23
|
middlewares?: Middleware[];
|