@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.
Files changed (211) hide show
  1. package/README.md +14 -11
  2. package/dist/agent/Agent.d.ts +41 -14
  3. package/dist/agent/Agent.d.ts.map +1 -1
  4. package/dist/agent/Agent.js +12 -3
  5. package/dist/aliases.d.ts +477 -283
  6. package/dist/aliases.d.ts.map +1 -1
  7. package/dist/aliases.js +546 -352
  8. package/dist/chat/Chat.d.ts +23 -13
  9. package/dist/chat/Chat.d.ts.map +1 -1
  10. package/dist/chat/Chat.js +59 -16
  11. package/dist/chat/ChatOptions.d.ts +28 -11
  12. package/dist/chat/ChatOptions.d.ts.map +1 -1
  13. package/dist/chat/ChatResponse.d.ts +5 -0
  14. package/dist/chat/ChatResponse.d.ts.map +1 -1
  15. package/dist/chat/ChatResponse.js +12 -4
  16. package/dist/chat/ChatStream.d.ts.map +1 -1
  17. package/dist/chat/ChatStream.js +20 -10
  18. package/dist/chat/PromptCache.d.ts +7 -0
  19. package/dist/chat/PromptCache.d.ts.map +1 -0
  20. package/dist/chat/PromptCache.js +7 -0
  21. package/dist/chat/Temperature.d.ts +7 -0
  22. package/dist/chat/Temperature.d.ts.map +1 -0
  23. package/dist/chat/Temperature.js +17 -0
  24. package/dist/chat/Tool.d.ts +52 -8
  25. package/dist/chat/Tool.d.ts.map +1 -1
  26. package/dist/chat/Tool.js +53 -5
  27. package/dist/chat/ToolCallOutcome.d.ts +18 -6
  28. package/dist/chat/ToolCallOutcome.d.ts.map +1 -1
  29. package/dist/chat/ToolCallOutcome.js +14 -0
  30. package/dist/chat/ToolHandler.d.ts +2 -2
  31. package/dist/chat/ToolHandler.d.ts.map +1 -1
  32. package/dist/chat/ToolResultWindow.d.ts +16 -0
  33. package/dist/chat/ToolResultWindow.d.ts.map +1 -0
  34. package/dist/chat/ToolResultWindow.js +25 -0
  35. package/dist/config.d.ts +42 -2
  36. package/dist/config.d.ts.map +1 -1
  37. package/dist/config.js +80 -27
  38. package/dist/constants.d.ts +7 -0
  39. package/dist/constants.d.ts.map +1 -1
  40. package/dist/constants.js +3 -1
  41. package/dist/errors/billing.d.ts +7 -0
  42. package/dist/errors/billing.d.ts.map +1 -0
  43. package/dist/errors/billing.js +24 -0
  44. package/dist/errors/index.d.ts +28 -0
  45. package/dist/errors/index.d.ts.map +1 -1
  46. package/dist/errors/index.js +32 -0
  47. package/dist/executor/Executor.d.ts.map +1 -1
  48. package/dist/executor/Executor.js +5 -3
  49. package/dist/index.d.ts +12 -3
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +4 -1
  52. package/dist/judge/Judge.d.ts +107 -0
  53. package/dist/judge/Judge.d.ts.map +1 -0
  54. package/dist/judge/Judge.js +104 -0
  55. package/dist/judge/Judgment.d.ts +116 -0
  56. package/dist/judge/Judgment.d.ts.map +1 -0
  57. package/dist/judge/Judgment.js +159 -0
  58. package/dist/judge/Question.d.ts +91 -0
  59. package/dist/judge/Question.d.ts.map +1 -0
  60. package/dist/judge/Question.js +180 -0
  61. package/dist/llm.d.ts +48 -1
  62. package/dist/llm.d.ts.map +1 -1
  63. package/dist/llm.js +111 -5
  64. package/dist/models/ModelRegistry.d.ts +23 -19
  65. package/dist/models/ModelRegistry.d.ts.map +1 -1
  66. package/dist/models/ModelRegistry.js +28 -2
  67. package/dist/models/models.json +15154 -4786
  68. package/dist/models/types.d.ts +14 -1
  69. package/dist/models/types.d.ts.map +1 -1
  70. package/dist/providers/BaseProvider.d.ts +2 -1
  71. package/dist/providers/BaseProvider.d.ts.map +1 -1
  72. package/dist/providers/BaseProvider.js +3 -0
  73. package/dist/providers/Provider.d.ts +60 -1
  74. package/dist/providers/Provider.d.ts.map +1 -1
  75. package/dist/providers/anthropic/AnthropicProvider.d.ts +2 -0
  76. package/dist/providers/anthropic/AnthropicProvider.d.ts.map +1 -1
  77. package/dist/providers/anthropic/AnthropicProvider.js +2 -0
  78. package/dist/providers/anthropic/Capabilities.d.ts +1 -0
  79. package/dist/providers/anthropic/Capabilities.d.ts.map +1 -1
  80. package/dist/providers/anthropic/Capabilities.js +3 -0
  81. package/dist/providers/anthropic/Chat.d.ts.map +1 -1
  82. package/dist/providers/anthropic/Chat.js +7 -75
  83. package/dist/providers/anthropic/Errors.d.ts.map +1 -1
  84. package/dist/providers/anthropic/Errors.js +4 -3
  85. package/dist/providers/anthropic/Streaming.d.ts.map +1 -1
  86. package/dist/providers/anthropic/Streaming.js +4 -66
  87. package/dist/providers/anthropic/Utils.d.ts +33 -1
  88. package/dist/providers/anthropic/Utils.d.ts.map +1 -1
  89. package/dist/providers/anthropic/Utils.js +114 -0
  90. package/dist/providers/anthropic/types.d.ts +17 -3
  91. package/dist/providers/anthropic/types.d.ts.map +1 -1
  92. package/dist/providers/azure/AzureProvider.d.ts +54 -0
  93. package/dist/providers/azure/AzureProvider.d.ts.map +1 -0
  94. package/dist/providers/azure/AzureProvider.js +110 -0
  95. package/dist/providers/azure/Capabilities.d.ts +16 -0
  96. package/dist/providers/azure/Capabilities.d.ts.map +1 -0
  97. package/dist/providers/azure/Capabilities.js +36 -0
  98. package/dist/providers/azure/Embedding.d.ts +11 -0
  99. package/dist/providers/azure/Embedding.d.ts.map +1 -0
  100. package/dist/providers/azure/Embedding.js +23 -0
  101. package/dist/providers/azure/Models.d.ts +18 -0
  102. package/dist/providers/azure/Models.d.ts.map +1 -0
  103. package/dist/providers/azure/Models.js +29 -0
  104. package/dist/providers/azure/index.d.ts +5 -0
  105. package/dist/providers/azure/index.d.ts.map +1 -0
  106. package/dist/providers/azure/index.js +28 -0
  107. package/dist/providers/bedrock/BedrockProvider.d.ts.map +1 -1
  108. package/dist/providers/bedrock/BedrockProvider.js +1 -0
  109. package/dist/providers/bedrock/Capabilities.d.ts +1 -0
  110. package/dist/providers/bedrock/Capabilities.d.ts.map +1 -1
  111. package/dist/providers/bedrock/Capabilities.js +3 -0
  112. package/dist/providers/bedrock/Chat.d.ts.map +1 -1
  113. package/dist/providers/bedrock/Chat.js +6 -2
  114. package/dist/providers/bedrock/Errors.d.ts.map +1 -1
  115. package/dist/providers/bedrock/Errors.js +4 -0
  116. package/dist/providers/bedrock/Streaming.d.ts.map +1 -1
  117. package/dist/providers/bedrock/Streaming.js +4 -1
  118. package/dist/providers/deepseek/Capabilities.d.ts +1 -0
  119. package/dist/providers/deepseek/Capabilities.d.ts.map +1 -1
  120. package/dist/providers/deepseek/Capabilities.js +3 -0
  121. package/dist/providers/deepseek/Chat.d.ts.map +1 -1
  122. package/dist/providers/deepseek/Chat.js +3 -2
  123. package/dist/providers/deepseek/DeepSeekProvider.d.ts +1 -0
  124. package/dist/providers/deepseek/DeepSeekProvider.d.ts.map +1 -1
  125. package/dist/providers/deepseek/DeepSeekProvider.js +1 -0
  126. package/dist/providers/deepseek/Errors.d.ts.map +1 -1
  127. package/dist/providers/deepseek/Errors.js +5 -4
  128. package/dist/providers/gemini/Capabilities.d.ts +1 -0
  129. package/dist/providers/gemini/Capabilities.d.ts.map +1 -1
  130. package/dist/providers/gemini/Capabilities.js +3 -0
  131. package/dist/providers/gemini/Chat.d.ts.map +1 -1
  132. package/dist/providers/gemini/Chat.js +3 -2
  133. package/dist/providers/gemini/Errors.d.ts.map +1 -1
  134. package/dist/providers/gemini/Errors.js +4 -3
  135. package/dist/providers/gemini/GeminiProvider.d.ts +1 -0
  136. package/dist/providers/gemini/GeminiProvider.d.ts.map +1 -1
  137. package/dist/providers/gemini/GeminiProvider.js +1 -0
  138. package/dist/providers/mistral/Capabilities.d.ts +1 -0
  139. package/dist/providers/mistral/Capabilities.d.ts.map +1 -1
  140. package/dist/providers/mistral/Capabilities.js +3 -0
  141. package/dist/providers/mistral/Chat.d.ts.map +1 -1
  142. package/dist/providers/mistral/Chat.js +3 -2
  143. package/dist/providers/mistral/Errors.d.ts.map +1 -1
  144. package/dist/providers/mistral/Errors.js +4 -3
  145. package/dist/providers/mistral/MistralProvider.d.ts +1 -0
  146. package/dist/providers/mistral/MistralProvider.d.ts.map +1 -1
  147. package/dist/providers/mistral/MistralProvider.js +1 -0
  148. package/dist/providers/ollama/OllamaProvider.d.ts.map +1 -1
  149. package/dist/providers/ollama/OllamaProvider.js +1 -0
  150. package/dist/providers/openai/Capabilities.d.ts +6 -0
  151. package/dist/providers/openai/Capabilities.d.ts.map +1 -1
  152. package/dist/providers/openai/Capabilities.js +10 -0
  153. package/dist/providers/openai/Chat.d.ts +3 -0
  154. package/dist/providers/openai/Chat.d.ts.map +1 -1
  155. package/dist/providers/openai/Chat.js +26 -7
  156. package/dist/providers/openai/Embedding.d.ts +2 -0
  157. package/dist/providers/openai/Embedding.d.ts.map +1 -1
  158. package/dist/providers/openai/Embedding.js +8 -5
  159. package/dist/providers/openai/Errors.d.ts.map +1 -1
  160. package/dist/providers/openai/Errors.js +4 -3
  161. package/dist/providers/openai/Models.d.ts +10 -0
  162. package/dist/providers/openai/Models.d.ts.map +1 -1
  163. package/dist/providers/openai/Models.js +12 -8
  164. package/dist/providers/openai/OpenAIProvider.d.ts +11 -1
  165. package/dist/providers/openai/OpenAIProvider.d.ts.map +1 -1
  166. package/dist/providers/openai/OpenAIProvider.js +36 -0
  167. package/dist/providers/openai/Responses.d.ts +30 -0
  168. package/dist/providers/openai/Responses.d.ts.map +1 -0
  169. package/dist/providers/openai/Responses.js +176 -0
  170. package/dist/providers/openai/Streaming.d.ts +2 -0
  171. package/dist/providers/openai/Streaming.d.ts.map +1 -1
  172. package/dist/providers/openai/Streaming.js +19 -5
  173. package/dist/providers/openrouter/Capabilities.d.ts +1 -0
  174. package/dist/providers/openrouter/Capabilities.d.ts.map +1 -1
  175. package/dist/providers/openrouter/Capabilities.js +3 -0
  176. package/dist/providers/openrouter/OpenRouterProvider.d.ts +1 -0
  177. package/dist/providers/openrouter/OpenRouterProvider.d.ts.map +1 -1
  178. package/dist/providers/openrouter/OpenRouterProvider.js +1 -0
  179. package/dist/providers/registry.d.ts +3 -1
  180. package/dist/providers/registry.d.ts.map +1 -1
  181. package/dist/providers/registry.js +3 -1
  182. package/dist/providers/typesafe/SystemOne.d.ts +11 -0
  183. package/dist/providers/typesafe/SystemOne.d.ts.map +1 -0
  184. package/dist/providers/typesafe/SystemOne.js +171 -0
  185. package/dist/providers/typesafe/TypeSafeProvider.d.ts +27 -0
  186. package/dist/providers/typesafe/TypeSafeProvider.d.ts.map +1 -0
  187. package/dist/providers/typesafe/TypeSafeProvider.js +76 -0
  188. package/dist/providers/typesafe/index.d.ts +4 -0
  189. package/dist/providers/typesafe/index.d.ts.map +1 -0
  190. package/dist/providers/typesafe/index.js +19 -0
  191. package/dist/providers/xai/Capabilities.d.ts +1 -0
  192. package/dist/providers/xai/Capabilities.d.ts.map +1 -1
  193. package/dist/providers/xai/Capabilities.js +3 -0
  194. package/dist/providers/xai/Chat.d.ts.map +1 -1
  195. package/dist/providers/xai/Chat.js +3 -2
  196. package/dist/providers/xai/Errors.d.ts.map +1 -1
  197. package/dist/providers/xai/Errors.js +5 -2
  198. package/dist/providers/xai/XAIProvider.d.ts +1 -0
  199. package/dist/providers/xai/XAIProvider.d.ts.map +1 -1
  200. package/dist/providers/xai/XAIProvider.js +1 -0
  201. package/dist/schema/Schema.d.ts +3 -3
  202. package/dist/schema/Schema.d.ts.map +1 -1
  203. package/dist/schema/to-json-schema.d.ts +2 -2
  204. package/dist/schema/to-json-schema.d.ts.map +1 -1
  205. package/dist/schema/to-json-schema.js +3 -8
  206. package/dist/schema/zod.d.ts +32 -0
  207. package/dist/schema/zod.d.ts.map +1 -0
  208. package/dist/schema/zod.js +31 -0
  209. package/dist/types/Middleware.d.ts +9 -0
  210. package/dist/types/Middleware.d.ts.map +1 -1
  211. package/package.json +5 -3
package/README.md CHANGED
@@ -29,16 +29,19 @@
29
29
 
30
30
  ## 📋 Supported Providers
31
31
 
32
- | Provider | Supported Features |
33
- | :----------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------- |
34
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openai.svg" height="18"> **OpenAI** | Chat, Streaming, Tools, Vision, Audio, Images, Transcription, **Reasoning** |
35
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/anthropic-text.svg" height="12"> **Anthropic** | Chat, Streaming, Tools, Vision, PDF, Structured Output, **Extended Thinking (Claude 3.7)** |
36
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/gemini-color.svg" height="18"> **Gemini** | Chat, Streaming, Tools, Vision, Audio, Video, Embeddings |
37
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/deepseek-color.svg" height="18"> **DeepSeek** | Chat (V3), **Extended Thinking (R1)**, Streaming, Tools |
38
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/bedrock-color.svg" height="18"> **Bedrock** | Chat, Streaming, Tools, Image Gen (Titan/SD), Embeddings, **Prompt Caching** |
39
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/openrouter.svg" height="18"> **OpenRouter** | 540+ models, Chat, Streaming, Tools, Vision, Embeddings, **Reasoning** |
40
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/ollama.svg" height="18"> **Ollama** | **Local Inference**, Chat, Streaming, Tools, Vision, Embeddings |
41
- | <img src="https://registry.npmmirror.com/@lobehub/icons-static-svg/latest/files/icons/mistral-color.svg" height="18"> **Mistral** | Chat, Streaming, Tools, Vision, Embeddings, Transcription, Moderation, **Reasoning (Magistral)** |
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 "@node-llm/core";
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(),
@@ -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?: z.ZodType | Schema | Record<string, unknown>;
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?: z.ZodType | Schema | Record<string, unknown>;
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: unknown): void | Promise<void>;
82
- static onToolEnd(_toolCall: unknown, _result: unknown): void | Promise<void>;
83
- static onToolError(_toolCall: unknown, _error: Error): void | Promise<void>;
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: unknown) => void | Promise<void>): this;
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: unknown, result: unknown) => void | Promise<void>): this;
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: unknown, error: Error) => "STOP" | "CONTINUE" | "RETRY" | void | Promise<"STOP" | "CONTINUE" | "RETRY" | void>): this;
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
- export declare function defineAgent<I extends Record<string, any> = Record<string, any>, S extends Record<string, unknown> = Record<string, unknown>>(config: AgentConfig<I>): new (overrides?: Partial<AgentConfig<I> & ChatOptions>) => Agent<I, S>;
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":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/agent/Agent.ts"],"names":[],"mappings":"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"}
@@ -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
  };