@falai/agent 0.9.0-alpha-2 → 0.9.2

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 (179) hide show
  1. package/README.md +42 -34
  2. package/dist/cjs/src/core/Agent.d.ts +48 -44
  3. package/dist/cjs/src/core/Agent.d.ts.map +1 -1
  4. package/dist/cjs/src/core/Agent.js +151 -1110
  5. package/dist/cjs/src/core/Agent.js.map +1 -1
  6. package/dist/cjs/src/core/ResponseModal.d.ts +211 -0
  7. package/dist/cjs/src/core/ResponseModal.d.ts.map +1 -0
  8. package/dist/cjs/src/core/ResponseModal.js +1394 -0
  9. package/dist/cjs/src/core/ResponseModal.js.map +1 -0
  10. package/dist/cjs/src/core/ResponsePipeline.d.ts +8 -4
  11. package/dist/cjs/src/core/ResponsePipeline.d.ts.map +1 -1
  12. package/dist/cjs/src/core/ResponsePipeline.js +48 -20
  13. package/dist/cjs/src/core/ResponsePipeline.js.map +1 -1
  14. package/dist/cjs/src/core/Route.d.ts +12 -5
  15. package/dist/cjs/src/core/Route.d.ts.map +1 -1
  16. package/dist/cjs/src/core/Route.js +26 -5
  17. package/dist/cjs/src/core/Route.js.map +1 -1
  18. package/dist/cjs/src/core/RoutingEngine.d.ts +5 -0
  19. package/dist/cjs/src/core/RoutingEngine.d.ts.map +1 -1
  20. package/dist/cjs/src/core/RoutingEngine.js +37 -25
  21. package/dist/cjs/src/core/RoutingEngine.js.map +1 -1
  22. package/dist/cjs/src/core/SessionManager.d.ts +9 -1
  23. package/dist/cjs/src/core/SessionManager.d.ts.map +1 -1
  24. package/dist/cjs/src/core/SessionManager.js +27 -5
  25. package/dist/cjs/src/core/SessionManager.js.map +1 -1
  26. package/dist/cjs/src/core/Step.d.ts +60 -7
  27. package/dist/cjs/src/core/Step.d.ts.map +1 -1
  28. package/dist/cjs/src/core/Step.js +151 -4
  29. package/dist/cjs/src/core/Step.js.map +1 -1
  30. package/dist/cjs/src/core/ToolManager.d.ts +234 -0
  31. package/dist/cjs/src/core/ToolManager.d.ts.map +1 -0
  32. package/dist/cjs/src/core/ToolManager.js +1117 -0
  33. package/dist/cjs/src/core/ToolManager.js.map +1 -0
  34. package/dist/cjs/src/index.d.ts +5 -4
  35. package/dist/cjs/src/index.d.ts.map +1 -1
  36. package/dist/cjs/src/index.js +11 -3
  37. package/dist/cjs/src/index.js.map +1 -1
  38. package/dist/cjs/src/types/agent.d.ts +2 -1
  39. package/dist/cjs/src/types/agent.d.ts.map +1 -1
  40. package/dist/cjs/src/types/ai.d.ts +1 -1
  41. package/dist/cjs/src/types/ai.d.ts.map +1 -1
  42. package/dist/cjs/src/types/index.d.ts +3 -2
  43. package/dist/cjs/src/types/index.d.ts.map +1 -1
  44. package/dist/cjs/src/types/index.js +3 -1
  45. package/dist/cjs/src/types/index.js.map +1 -1
  46. package/dist/cjs/src/types/route.d.ts +6 -4
  47. package/dist/cjs/src/types/route.d.ts.map +1 -1
  48. package/dist/cjs/src/types/tool.d.ts +84 -14
  49. package/dist/cjs/src/types/tool.d.ts.map +1 -1
  50. package/dist/cjs/src/types/tool.js +13 -0
  51. package/dist/cjs/src/types/tool.js.map +1 -1
  52. package/dist/cjs/src/utils/clone.d.ts.map +1 -1
  53. package/dist/cjs/src/utils/clone.js +0 -4
  54. package/dist/cjs/src/utils/clone.js.map +1 -1
  55. package/dist/cjs/src/utils/history.d.ts +30 -1
  56. package/dist/cjs/src/utils/history.d.ts.map +1 -1
  57. package/dist/cjs/src/utils/history.js +169 -23
  58. package/dist/cjs/src/utils/history.js.map +1 -1
  59. package/dist/cjs/src/utils/index.d.ts +1 -1
  60. package/dist/cjs/src/utils/index.d.ts.map +1 -1
  61. package/dist/cjs/src/utils/index.js +5 -1
  62. package/dist/cjs/src/utils/index.js.map +1 -1
  63. package/dist/src/core/Agent.d.ts +48 -44
  64. package/dist/src/core/Agent.d.ts.map +1 -1
  65. package/dist/src/core/Agent.js +152 -1111
  66. package/dist/src/core/Agent.js.map +1 -1
  67. package/dist/src/core/ResponseModal.d.ts +211 -0
  68. package/dist/src/core/ResponseModal.d.ts.map +1 -0
  69. package/dist/src/core/ResponseModal.js +1389 -0
  70. package/dist/src/core/ResponseModal.js.map +1 -0
  71. package/dist/src/core/ResponsePipeline.d.ts +8 -4
  72. package/dist/src/core/ResponsePipeline.d.ts.map +1 -1
  73. package/dist/src/core/ResponsePipeline.js +48 -20
  74. package/dist/src/core/ResponsePipeline.js.map +1 -1
  75. package/dist/src/core/Route.d.ts +12 -5
  76. package/dist/src/core/Route.d.ts.map +1 -1
  77. package/dist/src/core/Route.js +26 -5
  78. package/dist/src/core/Route.js.map +1 -1
  79. package/dist/src/core/RoutingEngine.d.ts +5 -0
  80. package/dist/src/core/RoutingEngine.d.ts.map +1 -1
  81. package/dist/src/core/RoutingEngine.js +37 -25
  82. package/dist/src/core/RoutingEngine.js.map +1 -1
  83. package/dist/src/core/SessionManager.d.ts +9 -1
  84. package/dist/src/core/SessionManager.d.ts.map +1 -1
  85. package/dist/src/core/SessionManager.js +27 -5
  86. package/dist/src/core/SessionManager.js.map +1 -1
  87. package/dist/src/core/Step.d.ts +60 -7
  88. package/dist/src/core/Step.d.ts.map +1 -1
  89. package/dist/src/core/Step.js +151 -4
  90. package/dist/src/core/Step.js.map +1 -1
  91. package/dist/src/core/ToolManager.d.ts +234 -0
  92. package/dist/src/core/ToolManager.d.ts.map +1 -0
  93. package/dist/src/core/ToolManager.js +1111 -0
  94. package/dist/src/core/ToolManager.js.map +1 -0
  95. package/dist/src/index.d.ts +5 -4
  96. package/dist/src/index.d.ts.map +1 -1
  97. package/dist/src/index.js +3 -2
  98. package/dist/src/index.js.map +1 -1
  99. package/dist/src/types/agent.d.ts +2 -1
  100. package/dist/src/types/agent.d.ts.map +1 -1
  101. package/dist/src/types/ai.d.ts +1 -1
  102. package/dist/src/types/ai.d.ts.map +1 -1
  103. package/dist/src/types/index.d.ts +3 -2
  104. package/dist/src/types/index.d.ts.map +1 -1
  105. package/dist/src/types/index.js +1 -0
  106. package/dist/src/types/index.js.map +1 -1
  107. package/dist/src/types/route.d.ts +6 -4
  108. package/dist/src/types/route.d.ts.map +1 -1
  109. package/dist/src/types/tool.d.ts +84 -14
  110. package/dist/src/types/tool.d.ts.map +1 -1
  111. package/dist/src/types/tool.js +12 -1
  112. package/dist/src/types/tool.js.map +1 -1
  113. package/dist/src/utils/clone.d.ts.map +1 -1
  114. package/dist/src/utils/clone.js +0 -4
  115. package/dist/src/utils/clone.js.map +1 -1
  116. package/dist/src/utils/history.d.ts +30 -1
  117. package/dist/src/utils/history.d.ts.map +1 -1
  118. package/dist/src/utils/history.js +165 -23
  119. package/dist/src/utils/history.js.map +1 -1
  120. package/dist/src/utils/index.d.ts +1 -1
  121. package/dist/src/utils/index.d.ts.map +1 -1
  122. package/dist/src/utils/index.js +1 -1
  123. package/dist/src/utils/index.js.map +1 -1
  124. package/docs/CONTRIBUTING.md +40 -0
  125. package/docs/README.md +14 -6
  126. package/docs/api/README.md +235 -45
  127. package/docs/api/overview.md +140 -33
  128. package/docs/core/agent/session-management.md +152 -5
  129. package/docs/core/ai-integration/response-processing.md +115 -4
  130. package/docs/core/conversation-flows/routes.md +130 -0
  131. package/docs/core/error-handling.md +638 -0
  132. package/docs/core/tools/tool-definition.md +684 -60
  133. package/docs/core/tools/tool-scoping.md +244 -53
  134. package/docs/guides/error-handling-patterns.md +578 -0
  135. package/docs/guides/getting-started/README.md +139 -28
  136. package/docs/guides/migration/README.md +72 -0
  137. package/docs/guides/migration/response-modal-refactor.md +518 -0
  138. package/examples/advanced-patterns/knowledge-based-agent.ts +6 -6
  139. package/examples/advanced-patterns/persistent-onboarding.ts +30 -43
  140. package/examples/advanced-patterns/streaming-responses.ts +169 -96
  141. package/examples/ai-providers/anthropic-integration.ts +9 -5
  142. package/examples/ai-providers/openai-integration.ts +11 -7
  143. package/examples/core-concepts/basic-agent.ts +106 -67
  144. package/examples/core-concepts/modern-streaming-api.ts +309 -0
  145. package/examples/core-concepts/schema-driven-extraction.ts +10 -7
  146. package/examples/core-concepts/session-management.ts +71 -18
  147. package/examples/integrations/healthcare-integration.ts +15 -29
  148. package/examples/integrations/server-session-management.ts +3 -3
  149. package/examples/persistence/memory-sessions.ts +3 -3
  150. package/examples/tools/basic-tools.ts +293 -89
  151. package/examples/tools/data-enrichment-tools.ts +185 -75
  152. package/package.json +1 -1
  153. package/src/core/Agent.ts +190 -1529
  154. package/src/core/ResponseModal.ts +1798 -0
  155. package/src/core/ResponsePipeline.ts +83 -57
  156. package/src/core/Route.ts +39 -12
  157. package/src/core/RoutingEngine.ts +46 -42
  158. package/src/core/SessionManager.ts +39 -7
  159. package/src/core/Step.ts +198 -20
  160. package/src/core/ToolManager.ts +1394 -0
  161. package/src/index.ts +19 -3
  162. package/src/types/agent.ts +2 -1
  163. package/src/types/ai.ts +1 -1
  164. package/src/types/index.ts +13 -2
  165. package/src/types/route.ts +6 -4
  166. package/src/types/tool.ts +116 -25
  167. package/src/utils/clone.ts +6 -8
  168. package/src/utils/history.ts +190 -27
  169. package/src/utils/index.ts +4 -0
  170. package/dist/cjs/src/core/ToolExecutor.d.ts +0 -45
  171. package/dist/cjs/src/core/ToolExecutor.d.ts.map +0 -1
  172. package/dist/cjs/src/core/ToolExecutor.js +0 -84
  173. package/dist/cjs/src/core/ToolExecutor.js.map +0 -1
  174. package/dist/src/core/ToolExecutor.d.ts +0 -45
  175. package/dist/src/core/ToolExecutor.d.ts.map +0 -1
  176. package/dist/src/core/ToolExecutor.js +0 -80
  177. package/dist/src/core/ToolExecutor.js.map +0 -1
  178. package/docs/core/tools/tool-execution.md +0 -815
  179. package/src/core/ToolExecutor.ts +0 -126
package/README.md CHANGED
@@ -185,7 +185,7 @@ const agent = new Agent({
185
185
  name: "Assistant",
186
186
  description: "A helpful assistant",
187
187
  provider: new GeminiProvider({
188
- apiKey: process.env.GEMINI_API_KEY,
188
+ apiKey: process.env.GEMINI_API_KEY!,
189
189
  model: "models/gemini-2.5-flash",
190
190
  }),
191
191
  });
@@ -216,44 +216,41 @@ console.log(response.message);
216
216
 
217
217
  ## 🔧 Advanced Step Configuration
218
218
 
219
- ### Using Tools as Prepare/Finalize Hooks
219
+ ### Simple Tool Creation
220
220
 
221
- Steps can use tools for `prepare` and `finalize` lifecycle hooks, enabling powerful data processing and side effects:
221
+ Create tools with minimal boilerplate using the unified Tool interface:
222
222
 
223
223
  ```typescript
224
- // Define a preparation tool
225
- const validateUser = {
224
+ // Create a simple tool with the unified interface
225
+ agent.addTool({
226
226
  id: "validate_user",
227
+ name: "User Data Validator",
227
228
  description: "Validate user data before processing",
228
229
  parameters: { type: "object", properties: {} },
229
- handler: ({ context, data }) => {
230
- // Validation logic
230
+ handler: async ({ context, data, updateData }) => {
231
+ // Validation logic with helper methods
231
232
  if (!data.email?.includes("@")) {
232
233
  throw new Error("Invalid email address");
233
234
  }
234
- return { data: "User validated" };
235
+
236
+ // Mark as validated using helper method
237
+ await updateData({ emailValidated: true });
238
+
239
+ return "User validation completed successfully";
235
240
  },
236
- };
241
+ });
237
242
 
238
- // Use tools in step lifecycle
243
+ // Use tools in conversation flows and step lifecycle
239
244
  agent.createRoute({
240
245
  title: "User Registration",
241
- schema: {
242
- /* ... */
243
- },
244
246
  steps: [
245
247
  {
246
248
  id: "collect_info",
247
249
  description: "Collect user information",
248
250
  collect: ["name", "email"],
249
251
  prompt: "Please provide your name and email.",
250
- finalize: validateUser, // Tool validates data after collection
251
- },
252
- {
253
- id: "send_welcome",
254
- description: "Send welcome email",
255
- prompt: "Welcome! Check your email for confirmation.",
256
- prepare: "send_welcome_email", // Tool ID string - sends email before AI responds
252
+ prepare: "validate_user", // Tool executes before AI response
253
+ tools: ["validate_user"], // Tool available during conversation
257
254
  },
258
255
  ],
259
256
  });
@@ -261,10 +258,11 @@ agent.createRoute({
261
258
 
262
259
  **Benefits:**
263
260
 
264
- - ✅ **Reusable Logic** - Tools can be shared across steps and routes
265
- - ✅ **Error Handling** - Tool execution includes automatic error handling
266
- - ✅ **Context Access** - Tools receive full context and collected data
267
- - ✅ **Data Updates** - Tools can modify collected data or agent context
261
+ - ✅ **Simple API** - Unified Tool interface with minimal complexity
262
+ - ✅ **Type Safety** - Full TypeScript support with automatic inference
263
+ - ✅ **Flexible Returns** - Return simple values or complex ToolResult objects
264
+ - ✅ **Helper Methods** - Built-in context and data update utilities
265
+ - ✅ **Lifecycle Integration** - Use tools as prepare/finalize hooks in steps
268
266
 
269
267
  ---
270
268
 
@@ -278,7 +276,6 @@ import {
278
276
  OpenAIProvider,
279
277
  createMessageEvent,
280
278
  EventSource,
281
- type Tool,
282
279
  } from "@falai/agent";
283
280
 
284
281
  // 1️⃣ Define the data you want to collect
@@ -320,18 +317,29 @@ const agent = new Agent<{}, HotelBookingData>({
320
317
  }
321
318
  });
322
319
 
323
- // 3️⃣ Define a tool that uses the agent-level collected data
324
- const bookHotel: Tool<unknown, [], string, HotelBookingData> = {
320
+ // 3️⃣ Define a tool using the unified Tool interface
321
+ agent.addTool({
325
322
  id: "book_hotel",
323
+ name: "Hotel Booking System",
326
324
  description: "Books a hotel once all information is collected.",
327
325
  parameters: { type: "object", properties: {} },
328
- handler: ({ data }) => {
329
- // Tool receives complete agent data
330
- return {
331
- data: `Booking confirmed for ${data.guests} guests at ${data.hotelName} on ${data.date}!`,
332
- };
326
+ handler: async ({ context, data, updateContext }) => {
327
+ // Tool receives complete agent data with simplified context and helper methods
328
+ const bookingId = await hotelAPI.createBooking({
329
+ hotel: data.hotelName,
330
+ date: data.date,
331
+ guests: data.guests,
332
+ });
333
+
334
+ // Use helper method to update context
335
+ await updateContext({
336
+ lastBookingId: bookingId,
337
+ lastBookingDate: new Date().toISOString(),
338
+ });
339
+
340
+ return `Booking confirmed! Confirmation #${bookingId} for ${data.guests} guests at ${data.hotelName} on ${data.date}`;
333
341
  },
334
- };
342
+ });
335
343
 
336
344
  // 4️⃣ Create a route with required fields specification
337
345
  agent.createRoute({
@@ -369,7 +377,7 @@ agent.createRoute({
369
377
  id: "confirm_booking",
370
378
  description: "Confirm and book the hotel",
371
379
  prompt: "Let me confirm your booking details.",
372
- tools: [bookHotel], // Tool accesses complete agent data
380
+ tools: ["book_hotel"], // Reference tool by ID
373
381
  requires: ["hotelName", "date", "guests"],
374
382
  },
375
383
  ],
@@ -1,10 +1,14 @@
1
1
  /**
2
2
  * Core Agent implementation
3
3
  */
4
- import type { AgentOptions, Term, Guideline, Tool, Event, RouteOptions, SessionState, Template, StepRef, History, AgentResponseStreamChunk, AgentResponse, StructuredSchema, ValidationResult } from "../types";
4
+ import type { AgentOptions, Term, Guideline, Tool, Event, RouteOptions, SessionState, Template, AgentResponseStreamChunk, AgentResponse, StructuredSchema, ValidationResult } from "../types";
5
+ import type { StreamOptions, GenerateOptions, RespondParams } from "./ResponseModal";
5
6
  import { Route } from "./Route";
7
+ import { Step } from "./Step";
6
8
  import { PersistenceManager } from "./PersistenceManager";
7
9
  import { SessionManager } from "./SessionManager";
10
+ import { RoutingEngine } from "./RoutingEngine";
11
+ import { ToolManager } from "./ToolManager";
8
12
  /**
9
13
  * Main Agent class with generic context and data support
10
14
  */
@@ -17,14 +21,15 @@ export declare class Agent<TContext = any, TData = any> {
17
21
  private context;
18
22
  private persistenceManager;
19
23
  private routingEngine;
20
- private responseEngine;
21
- private responsePipeline;
24
+ private responseModal;
22
25
  private currentSession?;
23
26
  private knowledgeBase;
24
27
  private schema?;
25
28
  private collectedData;
26
29
  /** Public session manager for easy session management */
27
30
  session: SessionManager<TData>;
31
+ /** Public tool manager for simplified tool creation and management */
32
+ tool: ToolManager<TContext, TData>;
28
33
  constructor(options: AgentOptions<TContext, TData>);
29
34
  /**
30
35
  * Validate the agent-level schema structure
@@ -78,13 +83,19 @@ export declare class Agent<TContext = any, TData = any> {
78
83
  */
79
84
  createGuideline(guideline: Guideline<TContext, TData>): this;
80
85
  /**
81
- * Register a tool at the agent level
86
+ * Add a tool to the agent using the unified Tool interface
87
+ * Creates and adds the tool to agent scope in one operation (BREAKING CHANGE: replaces createTool)
82
88
  */
83
- createTool(tool: Tool<TContext, TData, unknown[], unknown>): this;
89
+ addTool<TResult = any>(tool: Tool<TContext, TData, TResult>): this;
90
+ /**
91
+ * Register a tool at the agent level (legacy method for backward compatibility)
92
+ * @deprecated Use addTool() with Tool interface instead
93
+ */
94
+ createTool<TResult = any>(tool: Tool<TContext, TData, TResult>): this;
84
95
  /**
85
96
  * Register multiple tools at the agent level
86
97
  */
87
- registerTools(tools: Tool<TContext, TData, unknown[], unknown>[]): this;
98
+ registerTools<TResult = any>(tools: Tool<TContext, TData, TResult>[]): this;
88
99
  /**
89
100
  * Update the agent's context
90
101
  * Triggers both agent-level and route-specific onContextUpdate lifecycle hooks if configured
@@ -107,51 +118,38 @@ export declare class Agent<TContext = any, TData = any> {
107
118
  /**
108
119
  * Generate a response based on history and context as a stream
109
120
  */
110
- respondStream(params: {
111
- history: History;
112
- step?: StepRef;
113
- session?: SessionState<TData>;
114
- contextOverride?: Partial<TContext>;
115
- signal?: AbortSignal;
116
- }): AsyncGenerator<AgentResponseStreamChunk<TData>>;
121
+ respondStream(params: RespondParams<TContext, TData>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
117
122
  /**
118
123
  * Generate a response based on history and context
119
124
  */
120
- respond(params: {
121
- history: History;
122
- step?: StepRef;
123
- session?: SessionState<TData>;
124
- contextOverride?: Partial<TContext>;
125
- signal?: AbortSignal;
126
- }): Promise<AgentResponse<TData>>;
125
+ respond(params: RespondParams<TContext, TData>): Promise<AgentResponse<TData>>;
127
126
  /**
128
127
  * Get all routes
129
128
  */
130
129
  getRoutes(): Route<TContext, TData>[];
131
130
  /**
132
- * Get all terms
131
+ * Get agent options
132
+ * @internal Used by ResponseModal
133
133
  */
134
- getTerms(): Term<TContext, TData>[];
134
+ getAgentOptions(): AgentOptions<TContext, TData>;
135
135
  /**
136
- * Get all tools
136
+ * Get routing engine
137
+ * @internal Used by ResponseModal
137
138
  */
138
- getTools(): Tool<TContext, TData, unknown[], unknown>[];
139
+ getRoutingEngine(): RoutingEngine<TContext, TData>;
139
140
  /**
140
- * Find an available tool by name for the given route
141
- * Route-level tools take precedence over agent-level tools
142
- * @private
141
+ * Get the updateData method bound to this agent
142
+ * @internal Used by ResponseModal
143
143
  */
144
- private findAvailableTool;
144
+ getUpdateDataMethod(): (session: SessionState<TData>, dataUpdate: Partial<TData>) => Promise<SessionState<TData>>;
145
145
  /**
146
- * Collect all available tools for the given route and step context
147
- * @private
146
+ * Get all terms
148
147
  */
149
- private collectAvailableTools;
148
+ getTerms(): Term<TContext, TData>[];
150
149
  /**
151
- * Execute a prepare or finalize function/tool
152
- * @private
150
+ * Get all tools
153
151
  */
154
- private executePrepareFinalize;
152
+ getTools(): Tool<TContext, TData>[];
155
153
  /**
156
154
  * Get all guidelines
157
155
  */
@@ -160,11 +158,6 @@ export declare class Agent<TContext = any, TData = any> {
160
158
  * Get the agent's knowledge base
161
159
  */
162
160
  getKnowledgeBase(): Record<string, unknown>;
163
- /**
164
- * Merge terms with route-specific taking precedence on conflicts
165
- * @private
166
- */
167
- private mergeTerms;
168
161
  /**
169
162
  * Get the persistence manager (if configured)
170
163
  */
@@ -182,10 +175,20 @@ export declare class Agent<TContext = any, TData = any> {
182
175
  * Get the current session (if set)
183
176
  */
184
177
  getCurrentSession(): SessionState | undefined;
178
+ /**
179
+ * Execute a prepare or finalize function/tool
180
+ * @internal Used by ResponseModal
181
+ */
182
+ executePrepareFinalize(prepareOrFinalize: string | Tool<TContext, TData> | ((context: TContext, data?: Partial<TData>) => void | Promise<void>) | undefined, context: TContext, data?: Partial<TData>, route?: Route<TContext, TData>, step?: Step<TContext, TData>): Promise<void>;
185
183
  /**
186
184
  * Clear the current session
187
185
  */
188
186
  clearCurrentSession(): void;
187
+ /**
188
+ * Sync session data to agent collected data
189
+ * @internal Used to keep agent and session data in sync
190
+ */
191
+ private syncSessionDataToCollectedData;
189
192
  /**
190
193
  * Get collected data from current session or agent-level collected data
191
194
  * @param routeId - Optional route ID to get data for (uses current route if not provided)
@@ -214,10 +217,11 @@ export declare class Agent<TContext = any, TData = any> {
214
217
  * Simplified respond method using SessionManager
215
218
  * Automatically manages conversation history through the session
216
219
  */
217
- chat(message?: string, options?: {
218
- history?: History;
219
- contextOverride?: Partial<TContext>;
220
- signal?: AbortSignal;
221
- }): Promise<AgentResponse<TData>>;
220
+ chat(message?: string, options?: GenerateOptions<TContext>): Promise<AgentResponse<TData>>;
221
+ /**
222
+ * Modern streaming API - simple interface like chat() but returns a stream
223
+ * Automatically manages conversation history through the session
224
+ */
225
+ stream(message?: string, options?: StreamOptions<TContext>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
222
226
  }
223
227
  //# sourceMappingURL=Agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../../src/core/Agent.ts"],"names":[],"mappings":"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"}