@falai/agent 0.9.0-alpha-1 → 0.9.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 +34 -22
- package/dist/cjs/src/core/Agent.d.ts +77 -59
- package/dist/cjs/src/core/Agent.d.ts.map +1 -1
- package/dist/cjs/src/core/Agent.js +284 -1060
- package/dist/cjs/src/core/Agent.js.map +1 -1
- package/dist/cjs/src/core/PersistenceManager.d.ts.map +1 -1
- package/dist/cjs/src/core/PersistenceManager.js +48 -25
- package/dist/cjs/src/core/PersistenceManager.js.map +1 -1
- package/dist/cjs/src/core/PromptComposer.d.ts +1 -1
- package/dist/cjs/src/core/PromptComposer.d.ts.map +1 -1
- package/dist/cjs/src/core/PromptComposer.js.map +1 -1
- package/dist/cjs/src/core/ResponseEngine.d.ts +13 -12
- package/dist/cjs/src/core/ResponseEngine.d.ts.map +1 -1
- package/dist/cjs/src/core/ResponseEngine.js +4 -4
- package/dist/cjs/src/core/ResponseEngine.js.map +1 -1
- package/dist/cjs/src/core/ResponseModal.d.ts +205 -0
- package/dist/cjs/src/core/ResponseModal.d.ts.map +1 -0
- package/dist/cjs/src/core/ResponseModal.js +1328 -0
- package/dist/cjs/src/core/ResponseModal.js.map +1 -0
- package/dist/cjs/src/core/ResponsePipeline.d.ts +66 -38
- package/dist/cjs/src/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/cjs/src/core/ResponsePipeline.js +72 -4
- package/dist/cjs/src/core/ResponsePipeline.js.map +1 -1
- package/dist/cjs/src/core/Route.d.ts +24 -5
- package/dist/cjs/src/core/Route.d.ts.map +1 -1
- package/dist/cjs/src/core/Route.js +45 -1
- package/dist/cjs/src/core/Route.js.map +1 -1
- package/dist/cjs/src/core/RoutingEngine.d.ts +31 -6
- package/dist/cjs/src/core/RoutingEngine.d.ts.map +1 -1
- package/dist/cjs/src/core/RoutingEngine.js +113 -9
- package/dist/cjs/src/core/RoutingEngine.js.map +1 -1
- package/dist/cjs/src/core/SessionManager.d.ts +14 -4
- package/dist/cjs/src/core/SessionManager.d.ts.map +1 -1
- package/dist/cjs/src/core/SessionManager.js +25 -5
- package/dist/cjs/src/core/SessionManager.js.map +1 -1
- package/dist/cjs/src/core/Step.d.ts +10 -10
- package/dist/cjs/src/core/Step.d.ts.map +1 -1
- package/dist/cjs/src/core/Step.js.map +1 -1
- package/dist/cjs/src/core/ToolExecutor.d.ts +4 -2
- package/dist/cjs/src/core/ToolExecutor.d.ts.map +1 -1
- package/dist/cjs/src/core/ToolExecutor.js +13 -3
- package/dist/cjs/src/core/ToolExecutor.js.map +1 -1
- package/dist/cjs/src/index.d.ts +3 -1
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +7 -1
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/types/agent.d.ts +42 -21
- package/dist/cjs/src/types/agent.d.ts.map +1 -1
- package/dist/cjs/src/types/agent.js.map +1 -1
- package/dist/cjs/src/types/ai.d.ts +1 -1
- package/dist/cjs/src/types/ai.d.ts.map +1 -1
- package/dist/cjs/src/types/index.d.ts +1 -1
- package/dist/cjs/src/types/index.d.ts.map +1 -1
- package/dist/cjs/src/types/index.js.map +1 -1
- package/dist/cjs/src/types/persistence.d.ts +0 -1
- package/dist/cjs/src/types/persistence.d.ts.map +1 -1
- package/dist/cjs/src/types/route.d.ts +22 -16
- package/dist/cjs/src/types/route.d.ts.map +1 -1
- package/dist/cjs/src/types/session.d.ts +6 -11
- package/dist/cjs/src/types/session.d.ts.map +1 -1
- package/dist/cjs/src/types/tool.d.ts +12 -6
- package/dist/cjs/src/types/tool.d.ts.map +1 -1
- package/dist/cjs/src/utils/clone.d.ts.map +1 -1
- package/dist/cjs/src/utils/clone.js +0 -4
- package/dist/cjs/src/utils/clone.js.map +1 -1
- package/dist/cjs/src/utils/history.d.ts +30 -1
- package/dist/cjs/src/utils/history.d.ts.map +1 -1
- package/dist/cjs/src/utils/history.js +169 -23
- package/dist/cjs/src/utils/history.js.map +1 -1
- package/dist/cjs/src/utils/index.d.ts +1 -1
- package/dist/cjs/src/utils/index.d.ts.map +1 -1
- package/dist/cjs/src/utils/index.js +5 -1
- package/dist/cjs/src/utils/index.js.map +1 -1
- package/dist/cjs/src/utils/session.d.ts +2 -2
- package/dist/cjs/src/utils/session.d.ts.map +1 -1
- package/dist/cjs/src/utils/session.js +6 -26
- package/dist/cjs/src/utils/session.js.map +1 -1
- package/dist/src/core/Agent.d.ts +77 -59
- package/dist/src/core/Agent.d.ts.map +1 -1
- package/dist/src/core/Agent.js +285 -1061
- package/dist/src/core/Agent.js.map +1 -1
- package/dist/src/core/PersistenceManager.d.ts.map +1 -1
- package/dist/src/core/PersistenceManager.js +48 -25
- package/dist/src/core/PersistenceManager.js.map +1 -1
- package/dist/src/core/PromptComposer.d.ts +1 -1
- package/dist/src/core/PromptComposer.d.ts.map +1 -1
- package/dist/src/core/PromptComposer.js.map +1 -1
- package/dist/src/core/ResponseEngine.d.ts +13 -12
- package/dist/src/core/ResponseEngine.d.ts.map +1 -1
- package/dist/src/core/ResponseEngine.js +4 -4
- package/dist/src/core/ResponseEngine.js.map +1 -1
- package/dist/src/core/ResponseModal.d.ts +205 -0
- package/dist/src/core/ResponseModal.d.ts.map +1 -0
- package/dist/src/core/ResponseModal.js +1323 -0
- package/dist/src/core/ResponseModal.js.map +1 -0
- package/dist/src/core/ResponsePipeline.d.ts +66 -38
- package/dist/src/core/ResponsePipeline.d.ts.map +1 -1
- package/dist/src/core/ResponsePipeline.js +72 -4
- package/dist/src/core/ResponsePipeline.js.map +1 -1
- package/dist/src/core/Route.d.ts +24 -5
- package/dist/src/core/Route.d.ts.map +1 -1
- package/dist/src/core/Route.js +45 -1
- package/dist/src/core/Route.js.map +1 -1
- package/dist/src/core/RoutingEngine.d.ts +31 -6
- package/dist/src/core/RoutingEngine.d.ts.map +1 -1
- package/dist/src/core/RoutingEngine.js +113 -9
- package/dist/src/core/RoutingEngine.js.map +1 -1
- package/dist/src/core/SessionManager.d.ts +14 -4
- package/dist/src/core/SessionManager.d.ts.map +1 -1
- package/dist/src/core/SessionManager.js +25 -5
- package/dist/src/core/SessionManager.js.map +1 -1
- package/dist/src/core/Step.d.ts +10 -10
- package/dist/src/core/Step.d.ts.map +1 -1
- package/dist/src/core/Step.js.map +1 -1
- package/dist/src/core/ToolExecutor.d.ts +4 -2
- package/dist/src/core/ToolExecutor.d.ts.map +1 -1
- package/dist/src/core/ToolExecutor.js +13 -3
- package/dist/src/core/ToolExecutor.js.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types/agent.d.ts +42 -21
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/ai.d.ts +1 -1
- package/dist/src/types/ai.d.ts.map +1 -1
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/persistence.d.ts +0 -1
- package/dist/src/types/persistence.d.ts.map +1 -1
- package/dist/src/types/route.d.ts +22 -16
- package/dist/src/types/route.d.ts.map +1 -1
- package/dist/src/types/session.d.ts +6 -11
- package/dist/src/types/session.d.ts.map +1 -1
- package/dist/src/types/tool.d.ts +12 -6
- package/dist/src/types/tool.d.ts.map +1 -1
- package/dist/src/utils/clone.d.ts.map +1 -1
- package/dist/src/utils/clone.js +0 -4
- package/dist/src/utils/clone.js.map +1 -1
- package/dist/src/utils/history.d.ts +30 -1
- package/dist/src/utils/history.d.ts.map +1 -1
- package/dist/src/utils/history.js +165 -23
- package/dist/src/utils/history.js.map +1 -1
- package/dist/src/utils/index.d.ts +1 -1
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -1
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/session.d.ts +2 -2
- package/dist/src/utils/session.d.ts.map +1 -1
- package/dist/src/utils/session.js +6 -26
- package/dist/src/utils/session.js.map +1 -1
- package/docs/README.md +5 -4
- package/docs/api/README.md +195 -4
- package/docs/api/overview.md +232 -13
- package/docs/core/agent/README.md +162 -17
- package/docs/core/agent/context-management.md +39 -15
- package/docs/core/agent/session-management.md +49 -16
- package/docs/core/ai-integration/prompt-composition.md +38 -14
- package/docs/core/ai-integration/response-processing.md +28 -17
- package/docs/core/conversation-flows/data-collection.md +103 -25
- package/docs/core/conversation-flows/route-dsl.md +45 -22
- package/docs/core/conversation-flows/routes.md +74 -18
- package/docs/core/conversation-flows/step-transitions.md +3 -3
- package/docs/core/conversation-flows/steps.md +39 -15
- package/docs/core/routing/intelligent-routing.md +18 -9
- package/docs/core/tools/tool-definition.md +8 -8
- package/docs/core/tools/tool-execution.md +26 -26
- package/docs/core/tools/tool-scoping.md +5 -5
- package/docs/guides/getting-started/README.md +54 -32
- package/docs/guides/migration/README.md +72 -0
- package/docs/guides/migration/response-modal-refactor.md +518 -0
- package/examples/advanced-patterns/knowledge-based-agent.ts +37 -28
- package/examples/advanced-patterns/persistent-onboarding.ts +70 -41
- package/examples/advanced-patterns/route-lifecycle-hooks.ts +28 -2
- package/examples/advanced-patterns/streaming-responses.ts +197 -119
- package/examples/ai-providers/anthropic-integration.ts +40 -33
- package/examples/ai-providers/openai-integration.ts +25 -25
- package/examples/conversation-flows/completion-transitions.ts +36 -32
- package/examples/core-concepts/basic-agent.ts +76 -78
- package/examples/core-concepts/modern-streaming-api.ts +309 -0
- package/examples/core-concepts/schema-driven-extraction.ts +20 -16
- package/examples/core-concepts/session-management.ts +65 -53
- package/examples/integrations/database-integration.ts +49 -34
- package/examples/integrations/healthcare-integration.ts +96 -91
- package/examples/integrations/search-integration.ts +79 -82
- package/examples/integrations/server-session-management.ts +25 -17
- package/examples/persistence/database-persistence.ts +61 -45
- package/examples/persistence/memory-sessions.ts +52 -63
- package/examples/persistence/redis-persistence.ts +81 -95
- package/examples/tools/basic-tools.ts +73 -62
- package/examples/tools/data-enrichment-tools.ts +52 -44
- package/package.json +1 -1
- package/src/core/Agent.ts +396 -1499
- package/src/core/PersistenceManager.ts +51 -27
- package/src/core/PromptComposer.ts +1 -1
- package/src/core/ResponseEngine.ts +21 -19
- package/src/core/ResponseModal.ts +1722 -0
- package/src/core/ResponsePipeline.ts +175 -60
- package/src/core/Route.ts +58 -6
- package/src/core/RoutingEngine.ts +174 -27
- package/src/core/SessionManager.ts +32 -8
- package/src/core/Step.ts +20 -12
- package/src/core/ToolExecutor.ts +19 -5
- package/src/index.ts +11 -0
- package/src/types/agent.ts +47 -23
- package/src/types/ai.ts +1 -1
- package/src/types/index.ts +2 -0
- package/src/types/persistence.ts +0 -1
- package/src/types/route.ts +22 -16
- package/src/types/session.ts +6 -12
- package/src/types/tool.ts +15 -9
- package/src/utils/clone.ts +6 -8
- package/src/utils/history.ts +190 -27
- package/src/utils/index.ts +4 -0
- package/src/utils/session.ts +6 -31
|
@@ -18,8 +18,7 @@ function createSession(sessionId, metadata) {
|
|
|
18
18
|
const id = sessionId || `session_${Date.now()}_${Math.random().toString(36).slice(2)}`;
|
|
19
19
|
return {
|
|
20
20
|
id,
|
|
21
|
-
data: {},
|
|
22
|
-
dataByRoute: {},
|
|
21
|
+
data: {}, // Agent-level data structure
|
|
23
22
|
routeHistory: [],
|
|
24
23
|
metadata: {
|
|
25
24
|
...metadata,
|
|
@@ -42,16 +41,9 @@ function cloneSession(session) {
|
|
|
42
41
|
}
|
|
43
42
|
/**
|
|
44
43
|
* Helper to update session with new route
|
|
45
|
-
*
|
|
44
|
+
* With agent-level data, routes share the same data structure
|
|
46
45
|
*/
|
|
47
46
|
function enterRoute(session, routeId, routeTitle) {
|
|
48
|
-
// Save current route's collected data before switching (if any)
|
|
49
|
-
const dataByRoute = { ...session.dataByRoute };
|
|
50
|
-
if (session.currentRoute &&
|
|
51
|
-
session.data &&
|
|
52
|
-
Object.keys(session.data).length > 0) {
|
|
53
|
-
dataByRoute[session.currentRoute.id] = session.data;
|
|
54
|
-
}
|
|
55
47
|
// Exit current route if exists
|
|
56
48
|
const routeHistory = [...(session.routeHistory || [])];
|
|
57
49
|
if (session.currentRoute) {
|
|
@@ -60,9 +52,7 @@ function enterRoute(session, routeId, routeTitle) {
|
|
|
60
52
|
routeHistory[lastRouteIndex].exitedAt = new Date();
|
|
61
53
|
}
|
|
62
54
|
}
|
|
63
|
-
//
|
|
64
|
-
const newCollected = dataByRoute[routeId] || {};
|
|
65
|
-
// Enter new route
|
|
55
|
+
// Enter new route - data persists across routes at agent level
|
|
66
56
|
const now = new Date();
|
|
67
57
|
return {
|
|
68
58
|
...session,
|
|
@@ -72,8 +62,7 @@ function enterRoute(session, routeId, routeTitle) {
|
|
|
72
62
|
enteredAt: now,
|
|
73
63
|
},
|
|
74
64
|
currentStep: undefined,
|
|
75
|
-
data
|
|
76
|
-
dataByRoute,
|
|
65
|
+
// data remains the same - shared across all routes
|
|
77
66
|
routeHistory: [
|
|
78
67
|
...routeHistory,
|
|
79
68
|
{
|
|
@@ -107,22 +96,16 @@ function enterStep(session, stepId, stepDescription) {
|
|
|
107
96
|
}
|
|
108
97
|
/**
|
|
109
98
|
* Helper to merge collected data into session
|
|
110
|
-
* Updates
|
|
99
|
+
* Updates agent-level data structure
|
|
111
100
|
*/
|
|
112
101
|
function mergeCollected(session, data) {
|
|
113
102
|
const newCollected = {
|
|
114
103
|
...session.data,
|
|
115
104
|
...data,
|
|
116
105
|
};
|
|
117
|
-
// Also update the dataByRoute map for the current route
|
|
118
|
-
const dataByRoute = { ...session.dataByRoute };
|
|
119
|
-
if (session.currentRoute) {
|
|
120
|
-
dataByRoute[session.currentRoute.id] = newCollected;
|
|
121
|
-
}
|
|
122
106
|
return {
|
|
123
107
|
...session,
|
|
124
|
-
data: newCollected,
|
|
125
|
-
dataByRoute,
|
|
108
|
+
data: newCollected, // Agent-level data update
|
|
126
109
|
metadata: {
|
|
127
110
|
...session.metadata,
|
|
128
111
|
lastUpdatedAt: new Date(),
|
|
@@ -139,7 +122,6 @@ function sessionStepToData(session) {
|
|
|
139
122
|
currentStep: session.currentStep?.id,
|
|
140
123
|
collectedData: {
|
|
141
124
|
data: session.data || {},
|
|
142
|
-
dataByRoute: session.dataByRoute || {}, // Include per-route data
|
|
143
125
|
routeHistory: session.routeHistory,
|
|
144
126
|
history: session.history, // Include conversation history
|
|
145
127
|
currentRouteTitle: session.currentRoute?.title,
|
|
@@ -157,7 +139,6 @@ function sessionStepToData(session) {
|
|
|
157
139
|
function sessionDataToStep(sessionId, data) {
|
|
158
140
|
const collectedData = data.collectedData || {
|
|
159
141
|
data: {},
|
|
160
|
-
dataByRoute: {},
|
|
161
142
|
routeHistory: [],
|
|
162
143
|
history: [],
|
|
163
144
|
metadata: {},
|
|
@@ -181,7 +162,6 @@ function sessionDataToStep(sessionId, data) {
|
|
|
181
162
|
}
|
|
182
163
|
: undefined,
|
|
183
164
|
data: collectedData.data || {},
|
|
184
|
-
dataByRoute: collectedData.dataByRoute || {},
|
|
185
165
|
routeHistory: collectedData.routeHistory || [],
|
|
186
166
|
history: collectedData.history || [],
|
|
187
167
|
metadata: collectedData.metadata || {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/utils/session.ts"],"names":[],"mappings":";;AASA,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/utils/session.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/Agent.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core Agent implementation
|
|
3
3
|
*/
|
|
4
|
-
import type { AgentOptions, Term, Guideline, Tool, Event, RouteOptions, SessionState, Template,
|
|
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";
|
|
8
11
|
/**
|
|
9
|
-
* Main Agent class with generic context support
|
|
12
|
+
* Main Agent class with generic context and data support
|
|
10
13
|
*/
|
|
11
|
-
export declare class Agent<TContext =
|
|
14
|
+
export declare class Agent<TContext = any, TData = any> {
|
|
12
15
|
private readonly options;
|
|
13
16
|
private terms;
|
|
14
17
|
private guidelines;
|
|
@@ -17,13 +20,37 @@ export declare class Agent<TContext = unknown> {
|
|
|
17
20
|
private context;
|
|
18
21
|
private persistenceManager;
|
|
19
22
|
private routingEngine;
|
|
20
|
-
private
|
|
21
|
-
private responsePipeline;
|
|
23
|
+
private responseModal;
|
|
22
24
|
private currentSession?;
|
|
23
25
|
private knowledgeBase;
|
|
26
|
+
private schema?;
|
|
27
|
+
private collectedData;
|
|
24
28
|
/** Public session manager for easy session management */
|
|
25
|
-
session: SessionManager<
|
|
26
|
-
constructor(options: AgentOptions<TContext>);
|
|
29
|
+
session: SessionManager<TData>;
|
|
30
|
+
constructor(options: AgentOptions<TContext, TData>);
|
|
31
|
+
/**
|
|
32
|
+
* Validate the agent-level schema structure
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
private validateSchema;
|
|
36
|
+
/**
|
|
37
|
+
* Validate data against the agent-level schema
|
|
38
|
+
*/
|
|
39
|
+
validateData(data: Partial<TData>): ValidationResult;
|
|
40
|
+
/**
|
|
41
|
+
* Check if a field is valid according to the agent schema
|
|
42
|
+
* @param field - The field key to validate
|
|
43
|
+
* @returns true if field exists in schema or no schema is defined, false otherwise
|
|
44
|
+
*/
|
|
45
|
+
isValidSchemaField(field: keyof TData): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get the current collected data
|
|
48
|
+
*/
|
|
49
|
+
getCollectedData(): Partial<TData>;
|
|
50
|
+
/**
|
|
51
|
+
* Update collected data with validation
|
|
52
|
+
*/
|
|
53
|
+
updateCollectedData(updates: Partial<TData>): Promise<void>;
|
|
27
54
|
/**
|
|
28
55
|
* Get agent name
|
|
29
56
|
*/
|
|
@@ -41,26 +68,25 @@ export declare class Agent<TContext = unknown> {
|
|
|
41
68
|
*/
|
|
42
69
|
get identity(): Template<TContext> | undefined;
|
|
43
70
|
/**
|
|
44
|
-
* Create a new route (journey)
|
|
45
|
-
* @template TData - Type of data collected throughout the route
|
|
71
|
+
* Create a new route (journey) using agent-level data type
|
|
46
72
|
*/
|
|
47
|
-
createRoute
|
|
73
|
+
createRoute(options: RouteOptions<TContext, TData>): Route<TContext, TData>;
|
|
48
74
|
/**
|
|
49
75
|
* Create a domain term for the glossary
|
|
50
76
|
*/
|
|
51
|
-
createTerm(term: Term<TContext>): this;
|
|
77
|
+
createTerm(term: Term<TContext, TData>): this;
|
|
52
78
|
/**
|
|
53
79
|
* Create a behavioral guideline
|
|
54
80
|
*/
|
|
55
|
-
createGuideline(guideline: Guideline<TContext>): this;
|
|
81
|
+
createGuideline(guideline: Guideline<TContext, TData>): this;
|
|
56
82
|
/**
|
|
57
83
|
* Register a tool at the agent level
|
|
58
84
|
*/
|
|
59
|
-
createTool(tool: Tool<TContext, unknown[], unknown
|
|
85
|
+
createTool(tool: Tool<TContext, TData, unknown[], unknown>): this;
|
|
60
86
|
/**
|
|
61
87
|
* Register multiple tools at the agent level
|
|
62
88
|
*/
|
|
63
|
-
registerTools(tools: Tool<TContext, unknown[], unknown
|
|
89
|
+
registerTools(tools: Tool<TContext, TData, unknown[], unknown>[]): this;
|
|
64
90
|
/**
|
|
65
91
|
* Update the agent's context
|
|
66
92
|
* Triggers both agent-level and route-specific onContextUpdate lifecycle hooks if configured
|
|
@@ -76,71 +102,57 @@ export declare class Agent<TContext = unknown> {
|
|
|
76
102
|
* Get current context (fetches from provider if configured)
|
|
77
103
|
*/
|
|
78
104
|
getContext(): Promise<TContext | undefined>;
|
|
105
|
+
/**
|
|
106
|
+
* Get current schema
|
|
107
|
+
*/
|
|
108
|
+
getSchema(): StructuredSchema | undefined;
|
|
79
109
|
/**
|
|
80
110
|
* Generate a response based on history and context as a stream
|
|
81
111
|
*/
|
|
82
|
-
respondStream
|
|
83
|
-
history: History;
|
|
84
|
-
step?: StepRef;
|
|
85
|
-
session?: SessionState<TData>;
|
|
86
|
-
contextOverride?: Partial<TContext>;
|
|
87
|
-
signal?: AbortSignal;
|
|
88
|
-
}): AsyncGenerator<AgentResponseStreamChunk<TData>>;
|
|
112
|
+
respondStream(params: RespondParams<TContext, TData>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
|
|
89
113
|
/**
|
|
90
114
|
* Generate a response based on history and context
|
|
91
115
|
*/
|
|
92
|
-
respond
|
|
93
|
-
history: History;
|
|
94
|
-
step?: StepRef;
|
|
95
|
-
session?: SessionState<TData>;
|
|
96
|
-
contextOverride?: Partial<TContext>;
|
|
97
|
-
signal?: AbortSignal;
|
|
98
|
-
}): Promise<AgentResponse<TData>>;
|
|
116
|
+
respond(params: RespondParams<TContext, TData>): Promise<AgentResponse<TData>>;
|
|
99
117
|
/**
|
|
100
118
|
* Get all routes
|
|
101
119
|
*/
|
|
102
|
-
getRoutes(): Route<TContext,
|
|
120
|
+
getRoutes(): Route<TContext, TData>[];
|
|
103
121
|
/**
|
|
104
|
-
* Get
|
|
122
|
+
* Get agent options
|
|
123
|
+
* @internal Used by ResponseModal
|
|
105
124
|
*/
|
|
106
|
-
|
|
125
|
+
getAgentOptions(): AgentOptions<TContext, TData>;
|
|
107
126
|
/**
|
|
108
|
-
* Get
|
|
127
|
+
* Get routing engine
|
|
128
|
+
* @internal Used by ResponseModal
|
|
109
129
|
*/
|
|
110
|
-
|
|
130
|
+
getRoutingEngine(): RoutingEngine<TContext, TData>;
|
|
111
131
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
* @private
|
|
132
|
+
* Get the updateData method bound to this agent
|
|
133
|
+
* @internal Used by ResponseModal
|
|
115
134
|
*/
|
|
116
|
-
|
|
135
|
+
getUpdateDataMethod(): (session: SessionState<TData>, dataUpdate: Partial<TData>) => Promise<SessionState<TData>>;
|
|
117
136
|
/**
|
|
118
|
-
*
|
|
119
|
-
* @private
|
|
137
|
+
* Get all terms
|
|
120
138
|
*/
|
|
121
|
-
|
|
139
|
+
getTerms(): Term<TContext, TData>[];
|
|
122
140
|
/**
|
|
123
|
-
*
|
|
124
|
-
* @private
|
|
141
|
+
* Get all tools
|
|
125
142
|
*/
|
|
126
|
-
|
|
143
|
+
getTools(): Tool<TContext, TData, unknown[], unknown>[];
|
|
127
144
|
/**
|
|
128
145
|
* Get all guidelines
|
|
129
146
|
*/
|
|
130
|
-
getGuidelines(): Guideline<TContext>[];
|
|
147
|
+
getGuidelines(): Guideline<TContext, TData>[];
|
|
131
148
|
/**
|
|
132
149
|
* Get the agent's knowledge base
|
|
133
150
|
*/
|
|
134
151
|
getKnowledgeBase(): Record<string, unknown>;
|
|
135
|
-
/**
|
|
136
|
-
* Merge terms with route-specific taking precedence on conflicts
|
|
137
|
-
* @private
|
|
138
|
-
*/
|
|
139
|
-
private mergeTerms;
|
|
140
152
|
/**
|
|
141
153
|
* Get the persistence manager (if configured)
|
|
142
154
|
*/
|
|
143
|
-
getPersistenceManager(): PersistenceManager | undefined;
|
|
155
|
+
getPersistenceManager(): PersistenceManager<TData> | undefined;
|
|
144
156
|
/**
|
|
145
157
|
* Check if persistence is enabled
|
|
146
158
|
*/
|
|
@@ -154,16 +166,21 @@ export declare class Agent<TContext = unknown> {
|
|
|
154
166
|
* Get the current session (if set)
|
|
155
167
|
*/
|
|
156
168
|
getCurrentSession(): SessionState | undefined;
|
|
169
|
+
/**
|
|
170
|
+
* Execute a prepare or finalize function/tool
|
|
171
|
+
* @internal Used by ResponseModal
|
|
172
|
+
*/
|
|
173
|
+
executePrepareFinalize(prepareOrFinalize: string | Tool<TContext, TData, unknown[], unknown> | ((context: TContext, data?: Partial<TData>) => void | Promise<void>) | undefined, context: TContext, data?: Partial<TData>, route?: Route<TContext, TData>, step?: Step<TContext, TData>): Promise<void>;
|
|
157
174
|
/**
|
|
158
175
|
* Clear the current session
|
|
159
176
|
*/
|
|
160
177
|
clearCurrentSession(): void;
|
|
161
178
|
/**
|
|
162
|
-
* Get collected data from current session
|
|
179
|
+
* Get collected data from current session or agent-level collected data
|
|
163
180
|
* @param routeId - Optional route ID to get data for (uses current route if not provided)
|
|
164
|
-
* @returns The collected data from the current session
|
|
181
|
+
* @returns The collected data from the current session or agent-level data
|
|
165
182
|
*/
|
|
166
|
-
getData
|
|
183
|
+
getData(): Partial<TData>;
|
|
167
184
|
/**
|
|
168
185
|
* Manually transition to a different route
|
|
169
186
|
* Sets a pending transition that will be executed on the next respond() call
|
|
@@ -181,15 +198,16 @@ export declare class Agent<TContext = unknown> {
|
|
|
181
198
|
* const nextResponse = await agent.respond({ history, session: updatedSession });
|
|
182
199
|
* }
|
|
183
200
|
*/
|
|
184
|
-
nextStepRoute(routeIdOrTitle: string, session?: SessionState
|
|
201
|
+
nextStepRoute(routeIdOrTitle: string, session?: SessionState<TData>, condition?: Template<TContext, TData>, history?: Event[]): Promise<SessionState<TData>>;
|
|
185
202
|
/**
|
|
186
203
|
* Simplified respond method using SessionManager
|
|
187
204
|
* Automatically manages conversation history through the session
|
|
188
205
|
*/
|
|
189
|
-
chat
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
206
|
+
chat(message?: string, options?: GenerateOptions<TContext>): Promise<AgentResponse<TData>>;
|
|
207
|
+
/**
|
|
208
|
+
* Modern streaming API - simple interface like chat() but returns a stream
|
|
209
|
+
* Automatically manages conversation history through the session
|
|
210
|
+
*/
|
|
211
|
+
stream(message?: string, options?: StreamOptions<TContext>): AsyncGenerator<AgentResponseStreamChunk<TData>>;
|
|
194
212
|
}
|
|
195
213
|
//# sourceMappingURL=Agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|