@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/README.md
CHANGED
|
@@ -29,16 +29,19 @@
|
|
|
29
29
|
|
|
30
30
|
## 📋 Supported Providers
|
|
31
31
|
|
|
32
|
-
| Provider
|
|
33
|
-
|
|
|
34
|
-
| <img src="https://
|
|
35
|
-
| <img src="https://
|
|
36
|
-
| <img src="https://
|
|
37
|
-
| <img src="https://
|
|
38
|
-
| <img src="https://
|
|
39
|
-
| <img src="https://
|
|
40
|
-
| <img src="https://
|
|
41
|
-
| <img src="https://
|
|
32
|
+
| Provider | Supported Features |
|
|
33
|
+
| :--------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
34
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/openai.svg" height="18"> **OpenAI** | Chat, Streaming, Tools, Vision, Audio, Images, Transcription, **Reasoning** |
|
|
35
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/anthropic-text.svg" height="12"> **Anthropic** | Chat, Streaming, Tools, Vision, PDF, Structured Output, **Extended Thinking (Claude 3.7)** |
|
|
36
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/gemini-color.svg" height="18"> **Gemini** | Chat, Streaming, Tools, Vision, Audio, Video, Embeddings |
|
|
37
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/deepseek-color.svg" height="18"> **DeepSeek** | Chat (V3), **Extended Thinking (R1)**, Streaming, Tools |
|
|
38
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/bedrock-color.svg" height="18"> **Bedrock** | Chat, Streaming, Tools, Image Gen (Titan/SD), Embeddings, **Prompt Caching** |
|
|
39
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/openrouter.svg" height="18"> **OpenRouter** | 540+ models, Chat, Streaming, Tools, Vision, Embeddings, **Reasoning** |
|
|
40
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/xai.svg" height="18"> **xAI** | Chat, Streaming, Tools, Vision, Images, **Reasoning** |
|
|
41
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/ollama.svg" height="18"> **Ollama** | **Local Inference**, Chat, Streaming, Tools, Vision, Embeddings |
|
|
42
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/mistral-color.svg" height="18"> **Mistral** | Chat, Streaming, Tools, Vision, Embeddings, Transcription, Moderation, **Reasoning (Magistral)** |
|
|
43
|
+
| <img src="https://cdn.jsdelivr.net/npm/@lobehub/icons-static-svg@1.95.1/icons/azureai-color.svg" height="18"> **Azure AI Foundry** | **Every model a resource deploys** (OpenAI, Llama, DeepSeek, Mistral, Grok, Phi), Chat, Streaming, Tools, Vision, Embeddings, **Reasoning** |
|
|
44
|
+
| <img src="https://nodellm.dev/assets/images/providers/typesafe.svg" height="18"> **TypeSafe** | **Judgments**: typed probability, choice and score answers (Jev) |
|
|
42
45
|
|
|
43
46
|
---
|
|
44
47
|
|
|
@@ -74,7 +77,7 @@ for await (const chunk of llm.chat().stream("Tell me a long story")) {
|
|
|
74
77
|
Stop parsing markdown. Get typed objects directly.
|
|
75
78
|
|
|
76
79
|
```ts
|
|
77
|
-
import { z } from "
|
|
80
|
+
import { z } from "zod"; // Zod 4; Zod 3 schemas work too
|
|
78
81
|
|
|
79
82
|
const PlayerSchema = z.object({
|
|
80
83
|
name: z.string(),
|
package/dist/agent/Agent.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
1
|
import { Chat, AskOptions } from "../chat/Chat.js";
|
|
3
2
|
import { ChatOptions } from "../chat/ChatOptions.js";
|
|
4
3
|
import { ChatResponseString } from "../chat/ChatResponse.js";
|
|
5
|
-
import { ToolResolvable } from "../chat/Tool.js";
|
|
4
|
+
import { ToolResolvable, ToolCall } from "../chat/Tool.js";
|
|
6
5
|
import { ThinkingConfig, ThinkingResult } from "../providers/Provider.js";
|
|
7
6
|
import { Schema } from "../schema/Schema.js";
|
|
7
|
+
import type { ZodSchema } from "../schema/zod.js";
|
|
8
8
|
import { NodeLLMCore } from "../llm.js";
|
|
9
9
|
import { Middleware } from "../types/Middleware.js";
|
|
10
10
|
/**
|
|
@@ -28,7 +28,7 @@ export interface AgentConfig<I = Record<string, any>> {
|
|
|
28
28
|
/** Extended thinking configuration */
|
|
29
29
|
thinking?: ThinkingConfig;
|
|
30
30
|
/** Output schema for structured responses */
|
|
31
|
-
schema?:
|
|
31
|
+
schema?: ZodSchema | Schema | Record<string, unknown>;
|
|
32
32
|
/** Provider-specific parameters */
|
|
33
33
|
params?: Record<string, unknown>;
|
|
34
34
|
/** Custom headers for requests */
|
|
@@ -37,8 +37,14 @@ export interface AgentConfig<I = Record<string, any>> {
|
|
|
37
37
|
maxTokens?: number;
|
|
38
38
|
/** Maximum tool call iterations */
|
|
39
39
|
maxToolCalls?: number;
|
|
40
|
+
/** Send only the most recent N tool results in full; see ChatOptions.keepToolResults */
|
|
41
|
+
keepToolResults?: number;
|
|
42
|
+
/** The most an ask may spend, in US dollars; see ChatOptions.maxCost */
|
|
43
|
+
maxCost?: number;
|
|
40
44
|
/** Run independent tool calls within the same turn concurrently */
|
|
41
45
|
toolConcurrency?: boolean;
|
|
46
|
+
/** Cache the repeated start of each request on providers that need asking to */
|
|
47
|
+
promptCache?: boolean;
|
|
42
48
|
/** Assume model exists without validation */
|
|
43
49
|
assumeModelExists?: boolean;
|
|
44
50
|
/** Optional LLM instance to use instead of global NodeLLM */
|
|
@@ -58,12 +64,17 @@ export declare abstract class Agent<I extends Record<string, any> = Record<strin
|
|
|
58
64
|
static tools?: LazyValue<ToolResolvable[], Record<string, any>>;
|
|
59
65
|
static temperature?: number;
|
|
60
66
|
static thinking?: ThinkingConfig;
|
|
61
|
-
static schema?:
|
|
67
|
+
static schema?: ZodSchema | Schema | Record<string, unknown>;
|
|
62
68
|
static params?: Record<string, unknown>;
|
|
63
69
|
static headers?: Record<string, string>;
|
|
64
70
|
static maxTokens?: number;
|
|
65
71
|
static maxToolCalls?: number;
|
|
72
|
+
/** Send only the most recent N tool results in full; see ChatOptions.keepToolResults */
|
|
73
|
+
static keepToolResults?: number;
|
|
74
|
+
/** The most an ask may spend, in US dollars; see ChatOptions.maxCost */
|
|
75
|
+
static maxCost?: number;
|
|
66
76
|
static toolConcurrency?: boolean;
|
|
77
|
+
static promptCache?: boolean;
|
|
67
78
|
static assumeModelExists?: boolean;
|
|
68
79
|
static middlewares?: Middleware[];
|
|
69
80
|
/**
|
|
@@ -78,16 +89,18 @@ export declare abstract class Agent<I extends Record<string, any> = Record<strin
|
|
|
78
89
|
messages: unknown[];
|
|
79
90
|
}): void | Promise<void>;
|
|
80
91
|
static onThinking(_thinking: ThinkingResult, _result: ChatResponseString): void | Promise<void>;
|
|
81
|
-
static onToolStart(_toolCall:
|
|
82
|
-
static onToolEnd(_toolCall:
|
|
83
|
-
static onToolError(_toolCall:
|
|
92
|
+
static onToolStart(_toolCall: ToolCall): void | Promise<void>;
|
|
93
|
+
static onToolEnd(_toolCall: ToolCall, _result: unknown): void | Promise<void>;
|
|
94
|
+
static onToolError(_toolCall: ToolCall, _error: Error): void | Promise<void>;
|
|
84
95
|
static onComplete(_result: ChatResponseString): void | Promise<void>;
|
|
85
96
|
/**
|
|
86
97
|
* Run the agent immediately with a prompt.
|
|
87
98
|
*/
|
|
88
99
|
static ask<I extends Record<string, any>, S extends Record<string, any>>(this: new (overrides?: Partial<AgentConfig<I> & ChatOptions>) => Agent<I, S>, message: string, options?: AskOptions & {
|
|
89
100
|
inputs?: I;
|
|
90
|
-
}): Promise<ChatResponseString
|
|
101
|
+
}): Promise<ChatResponseString & {
|
|
102
|
+
data: S;
|
|
103
|
+
}>;
|
|
91
104
|
/**
|
|
92
105
|
* Stream the agent response immediately.
|
|
93
106
|
*/
|
|
@@ -128,19 +141,21 @@ export declare abstract class Agent<I extends Record<string, any> = Record<strin
|
|
|
128
141
|
*/
|
|
129
142
|
ask(message: string, options?: AskOptions & {
|
|
130
143
|
inputs?: I;
|
|
131
|
-
}): Promise<ChatResponseString
|
|
144
|
+
}): Promise<ChatResponseString & {
|
|
145
|
+
data: S;
|
|
146
|
+
}>;
|
|
132
147
|
/**
|
|
133
148
|
* Hook called when a tool call starts.
|
|
134
149
|
*/
|
|
135
|
-
onToolCallStart(handler: (toolCall:
|
|
150
|
+
onToolCallStart(handler: (toolCall: ToolCall) => void | Promise<void>): this;
|
|
136
151
|
/**
|
|
137
152
|
* Hook called when a tool call ends.
|
|
138
153
|
*/
|
|
139
|
-
onToolCallEnd(handler: (toolCall:
|
|
154
|
+
onToolCallEnd(handler: (toolCall: ToolCall, result: unknown) => void | Promise<void>): this;
|
|
140
155
|
/**
|
|
141
156
|
* Hook called when a tool call errors.
|
|
142
157
|
*/
|
|
143
|
-
onToolCallError(handler: (toolCall:
|
|
158
|
+
onToolCallError(handler: (toolCall: ToolCall, error: Error) => "STOP" | "CONTINUE" | "RETRY" | void | Promise<"STOP" | "CONTINUE" | "RETRY" | void>): this;
|
|
144
159
|
/**
|
|
145
160
|
* Hook called before a request.
|
|
146
161
|
*/
|
|
@@ -154,7 +169,9 @@ export declare abstract class Agent<I extends Record<string, any> = Record<strin
|
|
|
154
169
|
*/
|
|
155
170
|
say(message: string, options?: AskOptions & {
|
|
156
171
|
inputs?: I;
|
|
157
|
-
}): Promise<ChatResponseString
|
|
172
|
+
}): Promise<ChatResponseString & {
|
|
173
|
+
data: S;
|
|
174
|
+
}>;
|
|
158
175
|
/**
|
|
159
176
|
* Stream a response from the agent.
|
|
160
177
|
*/
|
|
@@ -181,5 +198,15 @@ export declare abstract class Agent<I extends Record<string, any> = Record<strin
|
|
|
181
198
|
/**
|
|
182
199
|
* Helper function to define an agent inline without creating a class.
|
|
183
200
|
*/
|
|
184
|
-
|
|
201
|
+
/**
|
|
202
|
+
* The class defineAgent returns: constructible like any agent, and carrying the
|
|
203
|
+
* static configuration and one-liner API (`model`, `instructions`, `ask`,
|
|
204
|
+
* `stream`, ...) that a hand-written subclass has. Previously only the
|
|
205
|
+
* constructor was typed, so `MyAgent.ask(...)` did not compile.
|
|
206
|
+
*/
|
|
207
|
+
export type DefinedAgent<I extends Record<string, any> = Record<string, any>, S extends Record<string, unknown> = Record<string, unknown>> = (new (overrides?: Partial<AgentConfig<I> & ChatOptions>) => Agent<I, S>) & Omit<typeof Agent, "prototype">;
|
|
208
|
+
export declare function defineAgent<I extends Record<string, any> = Record<string, any>, S extends Record<string, unknown> = Record<string, unknown>>(config: AgentConfig<I> & {
|
|
209
|
+
schema: ZodSchema<S>;
|
|
210
|
+
}): DefinedAgent<I, S>;
|
|
211
|
+
export declare function defineAgent<I extends Record<string, any> = Record<string, any>, S extends Record<string, unknown> = Record<string, unknown>>(config: AgentConfig<I>): DefinedAgent<I, S>;
|
|
185
212
|
//# sourceMappingURL=Agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAW,WAAW,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAClD,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,sDAAsD;IACtD,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvC,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtD,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6DAA6D;IAC7D,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,CAAC;IAEX,gDAAgD;IAChD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,8BAAsB,KAAK,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAG3D,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE7B,wFAAwF;IACxF,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEhC,wEAAwE;IACxE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACnC,MAAM,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAElC;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/F,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE;;OAEG;WACU,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3E,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5E,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE,GACpC,OAAO,CAAC,kBAAkB,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAK5C;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxE,IAAI,EAAE,KAAK,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5E,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE;IAMvC,mCAAmC;IACnC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjC,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAE/D;;;OAGG;gBACS,SAAS,GAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAM;IA4FjE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAK7E;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAKzE;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAI/B;;OAEG;IAEG,GAAG,CACP,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE,GACpC,OAAO,CAAC,kBAAkB,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAO5C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAK5E;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAK3F;;OAEG;IACH,eAAe,CACb,OAAO,EAAE,CACP,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,KACT,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,IAAI,CAAC,GACxF,IAAI;IAKP;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI;IAKhF;;OAEG;IACH,aAAa,CACX,OAAO,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAC5E,IAAI;IAKP;;OAEG;IACG,GAAG,CACP,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE,GACpC,OAAO,CAAC,kBAAkB,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAI5C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG;QAAE,MAAM,CAAC,EAAE,CAAC,CAAA;KAAE;IAO7D;;OAEG;IACH,IAAI,OAAO,6CAEV;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;OAEG;IACH,IAAI,UAAU,6CAEb;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,CAE5B;CACF;AAED;;GAEG;AACH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CAEtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACzD,CAAC,KAAK,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC1E,IAAI,CAAC,OAAO,KAAK,EAAE,WAAW,CAAC,CAAC;AAElC,wBAAgB,WAAW,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzE,wBAAgB,WAAW,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
|
package/dist/agent/Agent.js
CHANGED
|
@@ -15,7 +15,12 @@ export class Agent {
|
|
|
15
15
|
static headers;
|
|
16
16
|
static maxTokens;
|
|
17
17
|
static maxToolCalls;
|
|
18
|
+
/** Send only the most recent N tool results in full; see ChatOptions.keepToolResults */
|
|
19
|
+
static keepToolResults;
|
|
20
|
+
/** The most an ask may spend, in US dollars; see ChatOptions.maxCost */
|
|
21
|
+
static maxCost;
|
|
18
22
|
static toolConcurrency;
|
|
23
|
+
static promptCache;
|
|
19
24
|
static assumeModelExists;
|
|
20
25
|
static middlewares;
|
|
21
26
|
/**
|
|
@@ -77,7 +82,10 @@ export class Agent {
|
|
|
77
82
|
temperature: overrides.temperature ?? ctor.temperature,
|
|
78
83
|
maxTokens: overrides.maxTokens ?? ctor.maxTokens,
|
|
79
84
|
maxToolCalls: overrides.maxToolCalls ?? ctor.maxToolCalls,
|
|
85
|
+
keepToolResults: overrides.keepToolResults ?? ctor.keepToolResults,
|
|
86
|
+
maxCost: overrides.maxCost ?? ctor.maxCost,
|
|
80
87
|
toolConcurrency: overrides.toolConcurrency ?? ctor.toolConcurrency,
|
|
88
|
+
promptCache: overrides.promptCache ?? ctor.promptCache,
|
|
81
89
|
headers: { ...ctor.headers, ...overrides.headers },
|
|
82
90
|
params: { ...ctor.params, ...overrides.params },
|
|
83
91
|
thinking: overrides.thinking ?? ctor.thinking,
|
|
@@ -195,6 +203,7 @@ export class Agent {
|
|
|
195
203
|
/**
|
|
196
204
|
* Send a message to the agent and get a response.
|
|
197
205
|
*/
|
|
206
|
+
// Typed by the agent's schema type S, as Chat#ask is by its schema.
|
|
198
207
|
async ask(message, options) {
|
|
199
208
|
if (options?.inputs) {
|
|
200
209
|
this.resolveLazyConfig(options.inputs);
|
|
@@ -276,9 +285,6 @@ export class Agent {
|
|
|
276
285
|
return this.chat;
|
|
277
286
|
}
|
|
278
287
|
}
|
|
279
|
-
/**
|
|
280
|
-
* Helper function to define an agent inline without creating a class.
|
|
281
|
-
*/
|
|
282
288
|
export function defineAgent(config) {
|
|
283
289
|
return class extends Agent {
|
|
284
290
|
static model = config.model;
|
|
@@ -292,7 +298,10 @@ export function defineAgent(config) {
|
|
|
292
298
|
static headers = config.headers;
|
|
293
299
|
static maxTokens = config.maxTokens;
|
|
294
300
|
static maxToolCalls = config.maxToolCalls;
|
|
301
|
+
static keepToolResults = config.keepToolResults;
|
|
302
|
+
static maxCost = config.maxCost;
|
|
295
303
|
static toolConcurrency = config.toolConcurrency;
|
|
304
|
+
static promptCache = config.promptCache;
|
|
296
305
|
static assumeModelExists = config.assumeModelExists;
|
|
297
306
|
static middlewares = config.middlewares;
|
|
298
307
|
};
|