@node-llm/core 1.17.1 → 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 -11
- package/dist/agent/Agent.d.ts +41 -14
- package/dist/agent/Agent.d.ts.map +1 -1
- package/dist/agent/Agent.js +12 -3
- package/dist/aliases.d.ts +477 -283
- package/dist/aliases.d.ts.map +1 -1
- package/dist/aliases.js +546 -352
- package/dist/chat/Chat.d.ts +23 -13
- package/dist/chat/Chat.d.ts.map +1 -1
- package/dist/chat/Chat.js +59 -16
- package/dist/chat/ChatOptions.d.ts +28 -11
- 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 +52 -8
- package/dist/chat/Tool.d.ts.map +1 -1
- package/dist/chat/Tool.js +53 -5
- package/dist/chat/ToolCallOutcome.d.ts +18 -6
- package/dist/chat/ToolCallOutcome.d.ts.map +1 -1
- package/dist/chat/ToolCallOutcome.js +14 -0
- package/dist/chat/ToolHandler.d.ts +2 -2
- package/dist/chat/ToolHandler.d.ts.map +1 -1
- 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 +42 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +80 -27
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +3 -1
- 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 +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/judge/Judge.d.ts +107 -0
- package/dist/judge/Judge.d.ts.map +1 -0
- package/dist/judge/Judge.js +104 -0
- package/dist/judge/Judgment.d.ts +116 -0
- package/dist/judge/Judgment.d.ts.map +1 -0
- package/dist/judge/Judgment.js +159 -0
- package/dist/judge/Question.d.ts +91 -0
- package/dist/judge/Question.d.ts.map +1 -0
- package/dist/judge/Question.js +180 -0
- package/dist/llm.d.ts +48 -1
- package/dist/llm.d.ts.map +1 -1
- package/dist/llm.js +111 -5
- package/dist/models/ModelRegistry.d.ts +23 -19
- package/dist/models/ModelRegistry.d.ts.map +1 -1
- package/dist/models/ModelRegistry.js +28 -2
- package/dist/models/models.json +15154 -4786
- package/dist/models/types.d.ts +14 -1
- package/dist/models/types.d.ts.map +1 -1
- package/dist/providers/BaseProvider.d.ts +2 -1
- package/dist/providers/BaseProvider.d.ts.map +1 -1
- package/dist/providers/BaseProvider.js +3 -0
- package/dist/providers/Provider.d.ts +60 -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 +3 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +3 -1
- package/dist/providers/typesafe/SystemOne.d.ts +11 -0
- package/dist/providers/typesafe/SystemOne.d.ts.map +1 -0
- package/dist/providers/typesafe/SystemOne.js +171 -0
- package/dist/providers/typesafe/TypeSafeProvider.d.ts +27 -0
- package/dist/providers/typesafe/TypeSafeProvider.d.ts.map +1 -0
- package/dist/providers/typesafe/TypeSafeProvider.js +76 -0
- package/dist/providers/typesafe/index.d.ts +4 -0
- package/dist/providers/typesafe/index.d.ts.map +1 -0
- package/dist/providers/typesafe/index.js +19 -0
- 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/dist/types/Middleware.d.ts +9 -0
- package/dist/types/Middleware.d.ts.map +1 -1
- package/package.json +5 -3
package/dist/chat/Tool.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import { Zod3Schema, Zod4Schema, ZodSchema } from "../schema/zod.js";
|
|
2
3
|
export interface ToolCall {
|
|
3
4
|
id: string;
|
|
4
5
|
type: "function";
|
|
@@ -15,7 +16,7 @@ export interface ToolDefinition {
|
|
|
15
16
|
strict?: boolean;
|
|
16
17
|
parameters: Record<string, unknown>;
|
|
17
18
|
};
|
|
18
|
-
handler?: (args:
|
|
19
|
+
handler?: (args: any) => Promise<string | ToolHalt>;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
22
|
* Stops the agentic tool execution loop and returns the content as the final response.
|
|
@@ -23,8 +24,8 @@ export interface ToolDefinition {
|
|
|
23
24
|
*
|
|
24
25
|
* @example
|
|
25
26
|
* ```typescript
|
|
26
|
-
* class PaymentTool extends Tool {
|
|
27
|
-
* async execute({ amount }) {
|
|
27
|
+
* class PaymentTool extends Tool<{ amount: number }> {
|
|
28
|
+
* async execute({ amount }: { amount: number }) {
|
|
28
29
|
* if (amount > 10000) {
|
|
29
30
|
* return this.halt("Payment requires manager approval. Please contact support.");
|
|
30
31
|
* }
|
|
@@ -50,8 +51,29 @@ export type ToolResolvable = Tool | {
|
|
|
50
51
|
} | ToolDefinition;
|
|
51
52
|
/**
|
|
52
53
|
* Subclass this to create tools with auto-generated schemas and type safety.
|
|
54
|
+
*
|
|
55
|
+
* Pass the argument type for a fully typed `execute`:
|
|
56
|
+
*
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const schema = z.object({ location: z.string() });
|
|
59
|
+
*
|
|
60
|
+
* class WeatherTool extends Tool<z.infer<typeof schema>> {
|
|
61
|
+
* name = "get_weather";
|
|
62
|
+
* description = "Get the current weather for a location";
|
|
63
|
+
* schema = schema;
|
|
64
|
+
*
|
|
65
|
+
* async execute({ location }: z.infer<typeof schema>) {
|
|
66
|
+
* return `Sunny in ${location}`;
|
|
67
|
+
* }
|
|
68
|
+
* }
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
* Without it, the arguments default to `Record<string, any>`, so a subclass can
|
|
72
|
+
* declare `execute` with its own argument shape. (With `Record<string, unknown>`
|
|
73
|
+
* an `execute({ location })` override was not assignable to the base method,
|
|
74
|
+
* and the class was then rejected by `withTool`.)
|
|
53
75
|
*/
|
|
54
|
-
export declare abstract class Tool<T = Record<string,
|
|
76
|
+
export declare abstract class Tool<T = Record<string, any>> {
|
|
55
77
|
/**
|
|
56
78
|
* The name of the tool (must match [a-zA-Z0-9_-]+).
|
|
57
79
|
*/
|
|
@@ -62,9 +84,9 @@ export declare abstract class Tool<T = Record<string, unknown>> {
|
|
|
62
84
|
abstract description: string;
|
|
63
85
|
/**
|
|
64
86
|
* Parameters the tool accepts.
|
|
65
|
-
* Can be a Zod object (for auto-schema + type safety) or a raw JSON Schema.
|
|
87
|
+
* Can be a Zod 4 or Zod 3 object (for auto-schema + type safety) or a raw JSON Schema.
|
|
66
88
|
*/
|
|
67
|
-
abstract schema: z.ZodObject<z.ZodRawShape> | Record<string, unknown>;
|
|
89
|
+
abstract schema: Zod4Schema | Zod3Schema | z.ZodObject<z.ZodRawShape> | Record<string, unknown>;
|
|
68
90
|
/**
|
|
69
91
|
* Whether to enforce strict JSON schema constraints for OpenAI and similar providers.
|
|
70
92
|
* When true, additionalProperties: false and full required arrays are automatically applied.
|
|
@@ -81,7 +103,7 @@ export declare abstract class Tool<T = Record<string, unknown>> {
|
|
|
81
103
|
*
|
|
82
104
|
* @example
|
|
83
105
|
* ```typescript
|
|
84
|
-
* async execute({ amount }) {
|
|
106
|
+
* async execute({ amount }: { amount: number }) {
|
|
85
107
|
* if (amount > 10000) {
|
|
86
108
|
* return this.halt("Payment requires manager approval.");
|
|
87
109
|
* }
|
|
@@ -102,4 +124,26 @@ export declare abstract class Tool<T = Record<string, unknown>> {
|
|
|
102
124
|
*/
|
|
103
125
|
toLLMTool(): ToolDefinition;
|
|
104
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Defines a tool without a class, mirroring `defineAgent`. `execute` receives arguments typed
|
|
129
|
+
* from the Zod schema; return `new ToolHalt(message)` from it to end the turn.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const WeatherTool = defineTool({
|
|
134
|
+
* name: "get_weather",
|
|
135
|
+
* description: "Get the current weather for a location",
|
|
136
|
+
* schema: z.object({ location: z.string() }),
|
|
137
|
+
* execute: async ({ location }) => `Sunny in ${location}`
|
|
138
|
+
* });
|
|
139
|
+
* chat.withTool(WeatherTool);
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
export declare function defineTool<Args extends Record<string, unknown>>(definition: {
|
|
143
|
+
name: string;
|
|
144
|
+
description: string;
|
|
145
|
+
schema: ZodSchema<Args>;
|
|
146
|
+
strict?: boolean;
|
|
147
|
+
execute: (args: Args) => unknown;
|
|
148
|
+
}): new () => Tool<Args>;
|
|
105
149
|
//# sourceMappingURL=Tool.d.ts.map
|
package/dist/chat/Tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../src/chat/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../src/chat/Tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAe,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlF,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;IAIF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,QAAQ;aACS,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM;IAE3C,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAG1C;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG;IAAE,QAAQ,IAAI,CAAA;CAAE,GAAG,cAAc,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,8BAAsB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAChD;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;;OAGG;IACH,SAAgB,MAAM,EAClB,UAAU,GACV,UAAU,GACV,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5B;;;OAGG;IACI,MAAM,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;aACa,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAElD;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ;IAIzC;;;;OAIG;IACU,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;IA0BzD;;;OAGG;IACI,SAAS,IAAI,cAAc;CAwBnC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;CAClC,GAAG,UAAU,IAAI,CAAC,IAAI,CAAC,CAWvB"}
|
package/dist/chat/Tool.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isZodSchema } from "../schema/zod.js";
|
|
2
2
|
import { toJsonSchema } from "../schema/to-json-schema.js";
|
|
3
3
|
/**
|
|
4
4
|
* Stops the agentic tool execution loop and returns the content as the final response.
|
|
@@ -6,8 +6,8 @@ import { toJsonSchema } from "../schema/to-json-schema.js";
|
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
8
|
* ```typescript
|
|
9
|
-
* class PaymentTool extends Tool {
|
|
10
|
-
* async execute({ amount }) {
|
|
9
|
+
* class PaymentTool extends Tool<{ amount: number }> {
|
|
10
|
+
* async execute({ amount }: { amount: number }) {
|
|
11
11
|
* if (amount > 10000) {
|
|
12
12
|
* return this.halt("Payment requires manager approval. Please contact support.");
|
|
13
13
|
* }
|
|
@@ -30,7 +30,29 @@ export class ToolHalt {
|
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Subclass this to create tools with auto-generated schemas and type safety.
|
|
33
|
+
*
|
|
34
|
+
* Pass the argument type for a fully typed `execute`:
|
|
35
|
+
*
|
|
36
|
+
* ```typescript
|
|
37
|
+
* const schema = z.object({ location: z.string() });
|
|
38
|
+
*
|
|
39
|
+
* class WeatherTool extends Tool<z.infer<typeof schema>> {
|
|
40
|
+
* name = "get_weather";
|
|
41
|
+
* description = "Get the current weather for a location";
|
|
42
|
+
* schema = schema;
|
|
43
|
+
*
|
|
44
|
+
* async execute({ location }: z.infer<typeof schema>) {
|
|
45
|
+
* return `Sunny in ${location}`;
|
|
46
|
+
* }
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* Without it, the arguments default to `Record<string, any>`, so a subclass can
|
|
51
|
+
* declare `execute` with its own argument shape. (With `Record<string, unknown>`
|
|
52
|
+
* an `execute({ location })` override was not assignable to the base method,
|
|
53
|
+
* and the class was then rejected by `withTool`.)
|
|
33
54
|
*/
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- see the note above
|
|
34
56
|
export class Tool {
|
|
35
57
|
/**
|
|
36
58
|
* Whether to enforce strict JSON schema constraints for OpenAI and similar providers.
|
|
@@ -43,7 +65,7 @@ export class Tool {
|
|
|
43
65
|
*
|
|
44
66
|
* @example
|
|
45
67
|
* ```typescript
|
|
46
|
-
* async execute({ amount }) {
|
|
68
|
+
* async execute({ amount }: { amount: number }) {
|
|
47
69
|
* if (amount > 10000) {
|
|
48
70
|
* return this.halt("Payment requires manager approval.");
|
|
49
71
|
* }
|
|
@@ -63,7 +85,7 @@ export class Tool {
|
|
|
63
85
|
try {
|
|
64
86
|
// 1. Runtime validation if Zod schema is provided
|
|
65
87
|
let validatedArgs = args;
|
|
66
|
-
if (this.schema
|
|
88
|
+
if (isZodSchema(this.schema)) {
|
|
67
89
|
try {
|
|
68
90
|
validatedArgs = this.schema.parse(args);
|
|
69
91
|
}
|
|
@@ -110,3 +132,29 @@ export class Tool {
|
|
|
110
132
|
};
|
|
111
133
|
}
|
|
112
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Defines a tool without a class, mirroring `defineAgent`. `execute` receives arguments typed
|
|
137
|
+
* from the Zod schema; return `new ToolHalt(message)` from it to end the turn.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const WeatherTool = defineTool({
|
|
142
|
+
* name: "get_weather",
|
|
143
|
+
* description: "Get the current weather for a location",
|
|
144
|
+
* schema: z.object({ location: z.string() }),
|
|
145
|
+
* execute: async ({ location }) => `Sunny in ${location}`
|
|
146
|
+
* });
|
|
147
|
+
* chat.withTool(WeatherTool);
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
export function defineTool(definition) {
|
|
151
|
+
return class extends Tool {
|
|
152
|
+
name = definition.name;
|
|
153
|
+
description = definition.description;
|
|
154
|
+
schema = definition.schema;
|
|
155
|
+
strict = definition.strict;
|
|
156
|
+
async execute(args) {
|
|
157
|
+
return definition.execute(args);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ToolCall, ToolDefinition } from "./Tool.js";
|
|
2
|
-
import {
|
|
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;
|
|
@@ -16,15 +18,25 @@ export type ToolCallOutcome = {
|
|
|
16
18
|
};
|
|
17
19
|
export interface ToolCallExecutionOptions {
|
|
18
20
|
tools?: ToolDefinition[];
|
|
19
|
-
toolExecution?:
|
|
20
|
-
onConfirmToolCall?: (toolCall:
|
|
21
|
-
onToolCallStart?: (toolCall:
|
|
22
|
-
onToolCallEnd?: (toolCall:
|
|
21
|
+
toolExecution?: ToolExecutionModeInput;
|
|
22
|
+
onConfirmToolCall?: (toolCall: ToolCall) => Promise<boolean> | boolean;
|
|
23
|
+
onToolCallStart?: (toolCall: ToolCall) => void;
|
|
24
|
+
onToolCallEnd?: (toolCall: ToolCall, result: unknown) => void;
|
|
23
25
|
}
|
|
24
26
|
/**
|
|
25
27
|
* Confirm mode stays sequential since approval is interactive; concurrency
|
|
26
28
|
* only kicks in for AUTO/DRY_RUN turns with more than one independent call.
|
|
27
29
|
*/
|
|
28
|
-
export declare function shouldRunToolCallsConcurrently(toolConcurrency: boolean | undefined, toolExecution:
|
|
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,
|
|
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
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ToolExecutionModeInput } from "../constants.js";
|
|
2
2
|
import { ToolCall, ToolDefinition } from "./Tool.js";
|
|
3
3
|
/**
|
|
4
4
|
* Result of a tool execution, including halt status
|
|
@@ -10,7 +10,7 @@ export interface ToolExecutionResult {
|
|
|
10
10
|
halted: boolean;
|
|
11
11
|
}
|
|
12
12
|
export declare class ToolHandler {
|
|
13
|
-
static shouldExecuteTools(toolCalls: ToolCall[] | undefined, mode?:
|
|
13
|
+
static shouldExecuteTools(toolCalls: ToolCall[] | undefined, mode?: ToolExecutionModeInput): boolean;
|
|
14
14
|
static requestToolConfirmation(toolCall: ToolCall, onConfirm?: (call: ToolCall) => Promise<boolean> | boolean): Promise<boolean>;
|
|
15
15
|
static execute(toolCall: ToolCall, tools: ToolDefinition[] | undefined, onStart?: (call: ToolCall) => void, onEnd?: (call: ToolCall, result: unknown) => void): Promise<ToolExecutionResult>;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolHandler.d.ts","sourceRoot":"","sources":["../../src/chat/ToolHandler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ToolHandler.d.ts","sourceRoot":"","sources":["../../src/chat/ToolHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAY,MAAM,WAAW,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,kBAAkB,CACvB,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EACjC,IAAI,CAAC,EAAE,sBAAsB,GAC5B,OAAO;WAMG,uBAAuB,CAClC,QAAQ,EAAE,QAAQ,EAClB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GACzD,OAAO,CAAC,OAAO,CAAC;WAMN,OAAO,CAClB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,EAAE,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,EAClC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAChD,OAAO,CAAC,mBAAmB,CAAC;CAmDhC"}
|
|
@@ -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,17 @@ 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>;
|
|
28
|
+
/** TypeSafe (System One / Jev) key for judgments. */
|
|
29
|
+
typesafeApiKey?: string;
|
|
30
|
+
/** System One endpoint; point it at any Jev-compatible server. */
|
|
31
|
+
typesafeApiBase?: string;
|
|
21
32
|
bedrockApiKey?: string;
|
|
22
33
|
bedrockAccessKeyId?: string;
|
|
23
34
|
bedrockSecretAccessKey?: string;
|
|
@@ -31,7 +42,7 @@ export interface NodeLLMConfig {
|
|
|
31
42
|
maxRetries?: number;
|
|
32
43
|
requestTimeout?: number;
|
|
33
44
|
maxTokens?: number;
|
|
34
|
-
toolExecution?:
|
|
45
|
+
toolExecution?: ToolExecutionModeInput;
|
|
35
46
|
/**
|
|
36
47
|
* When true, independent tool calls returned in the same turn are executed
|
|
37
48
|
* concurrently instead of one at a time. Opt-in, overridable per-chat via
|
|
@@ -39,8 +50,14 @@ export interface NodeLLMConfig {
|
|
|
39
50
|
*/
|
|
40
51
|
toolConcurrency?: boolean;
|
|
41
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;
|
|
42
59
|
}
|
|
43
|
-
import { ToolExecutionMode } from "./constants.js";
|
|
60
|
+
import { ToolExecutionMode, ToolExecutionModeInput } from "./constants.js";
|
|
44
61
|
export declare class Configuration implements NodeLLMConfig {
|
|
45
62
|
private _openaiApiKey?;
|
|
46
63
|
private _openaiApiBase?;
|
|
@@ -57,6 +74,12 @@ export declare class Configuration implements NodeLLMConfig {
|
|
|
57
74
|
private _xaiApiBase?;
|
|
58
75
|
private _mistralApiKey?;
|
|
59
76
|
private _mistralApiBase?;
|
|
77
|
+
private _azureApiKey?;
|
|
78
|
+
private _azureApiBase?;
|
|
79
|
+
private _azureAuthToken?;
|
|
80
|
+
private _azureDeployments?;
|
|
81
|
+
private _typesafeApiKey?;
|
|
82
|
+
private _typesafeApiBase?;
|
|
60
83
|
private _bedrockApiKey?;
|
|
61
84
|
private _bedrockAccessKeyId?;
|
|
62
85
|
private _bedrockSecretAccessKey?;
|
|
@@ -67,6 +90,7 @@ export declare class Configuration implements NodeLLMConfig {
|
|
|
67
90
|
private _bedrockGuardrailVersion?;
|
|
68
91
|
private _debug?;
|
|
69
92
|
private _provider?;
|
|
93
|
+
private _envFallback?;
|
|
70
94
|
get openaiApiKey(): string | undefined;
|
|
71
95
|
set openaiApiKey(v: string | undefined);
|
|
72
96
|
get openaiApiBase(): string | undefined;
|
|
@@ -97,6 +121,18 @@ export declare class Configuration implements NodeLLMConfig {
|
|
|
97
121
|
set mistralApiKey(v: string | undefined);
|
|
98
122
|
get mistralApiBase(): string | undefined;
|
|
99
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);
|
|
132
|
+
get typesafeApiKey(): string | undefined;
|
|
133
|
+
set typesafeApiKey(v: string | undefined);
|
|
134
|
+
get typesafeApiBase(): string | undefined;
|
|
135
|
+
set typesafeApiBase(v: string | undefined);
|
|
100
136
|
get bedrockApiKey(): string | undefined;
|
|
101
137
|
set bedrockApiKey(v: string | undefined);
|
|
102
138
|
get bedrockAccessKeyId(): string | undefined;
|
|
@@ -113,6 +149,10 @@ export declare class Configuration implements NodeLLMConfig {
|
|
|
113
149
|
set bedrockGuardrailIdentifier(v: string | undefined);
|
|
114
150
|
get bedrockGuardrailVersion(): string | undefined;
|
|
115
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;
|
|
116
156
|
get debug(): boolean | undefined;
|
|
117
157
|
set debug(v: boolean | undefined);
|
|
118
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;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|