@falai/agent 0.6.9 → 0.7.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 +62 -59
- package/dist/adapters/MemoryAdapter.js +2 -2
- package/dist/adapters/MemoryAdapter.js.map +1 -1
- package/dist/adapters/MongoAdapter.js +2 -2
- package/dist/adapters/MongoAdapter.js.map +1 -1
- package/dist/adapters/OpenSearchAdapter.js +7 -7
- package/dist/adapters/OpenSearchAdapter.js.map +1 -1
- package/dist/adapters/PostgreSQLAdapter.js +9 -9
- package/dist/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/adapters/PrismaAdapter.js +3 -3
- package/dist/adapters/PrismaAdapter.js.map +1 -1
- package/dist/adapters/RedisAdapter.js +2 -2
- package/dist/adapters/RedisAdapter.js.map +1 -1
- package/dist/adapters/SQLiteAdapter.d.ts +3 -3
- package/dist/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/adapters/SQLiteAdapter.js +11 -11
- package/dist/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/cjs/adapters/MemoryAdapter.js +2 -2
- package/dist/cjs/adapters/MemoryAdapter.js.map +1 -1
- package/dist/cjs/adapters/MongoAdapter.js +2 -2
- package/dist/cjs/adapters/MongoAdapter.js.map +1 -1
- package/dist/cjs/adapters/OpenSearchAdapter.js +7 -7
- package/dist/cjs/adapters/OpenSearchAdapter.js.map +1 -1
- package/dist/cjs/adapters/PostgreSQLAdapter.js +9 -9
- package/dist/cjs/adapters/PostgreSQLAdapter.js.map +1 -1
- package/dist/cjs/adapters/PrismaAdapter.js +3 -3
- package/dist/cjs/adapters/PrismaAdapter.js.map +1 -1
- package/dist/cjs/adapters/RedisAdapter.js +2 -2
- package/dist/cjs/adapters/RedisAdapter.js.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.d.ts +3 -3
- package/dist/cjs/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/dist/cjs/adapters/SQLiteAdapter.js +11 -11
- package/dist/cjs/adapters/SQLiteAdapter.js.map +1 -1
- package/dist/cjs/adapters/index.d.ts +1 -1
- package/dist/cjs/adapters/index.d.ts.map +1 -1
- package/dist/cjs/constants/index.d.ts +4 -4
- package/dist/cjs/constants/index.js +5 -5
- package/dist/cjs/core/Agent.d.ts +22 -22
- package/dist/cjs/core/Agent.d.ts.map +1 -1
- package/dist/cjs/core/Agent.js +160 -152
- package/dist/cjs/core/Agent.js.map +1 -1
- package/dist/cjs/core/Events.d.ts +6 -6
- package/dist/cjs/core/Events.d.ts.map +1 -1
- package/dist/cjs/core/PersistenceManager.d.ts +13 -13
- package/dist/cjs/core/PersistenceManager.d.ts.map +1 -1
- package/dist/cjs/core/PersistenceManager.js +24 -24
- package/dist/cjs/core/PersistenceManager.js.map +1 -1
- package/dist/cjs/core/ResponseEngine.d.ts +3 -8
- package/dist/cjs/core/ResponseEngine.d.ts.map +1 -1
- package/dist/cjs/core/ResponseEngine.js +8 -8
- package/dist/cjs/core/ResponseEngine.js.map +1 -1
- package/dist/cjs/core/Route.d.ts +17 -17
- package/dist/cjs/core/Route.d.ts.map +1 -1
- package/dist/cjs/core/Route.js +33 -33
- package/dist/cjs/core/Route.js.map +1 -1
- package/dist/cjs/core/RoutingEngine.d.ts +30 -30
- package/dist/cjs/core/RoutingEngine.d.ts.map +1 -1
- package/dist/cjs/core/RoutingEngine.js +192 -192
- package/dist/cjs/core/RoutingEngine.js.map +1 -1
- package/dist/cjs/core/Step.d.ts +72 -0
- package/dist/cjs/core/Step.d.ts.map +1 -0
- package/dist/cjs/core/Step.js +150 -0
- package/dist/cjs/core/Step.js.map +1 -0
- package/dist/cjs/core/ToolExecutor.d.ts +5 -5
- package/dist/cjs/core/ToolExecutor.d.ts.map +1 -1
- package/dist/cjs/core/ToolExecutor.js +8 -8
- package/dist/cjs/core/ToolExecutor.js.map +1 -1
- package/dist/cjs/core/Transition.d.ts +14 -14
- package/dist/cjs/core/Transition.d.ts.map +1 -1
- package/dist/cjs/core/Transition.js +48 -19
- package/dist/cjs/core/Transition.js.map +1 -1
- package/dist/cjs/index.d.ts +7 -7
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/agent.d.ts +8 -8
- package/dist/cjs/types/agent.d.ts.map +1 -1
- package/dist/cjs/types/ai.d.ts +2 -2
- package/dist/cjs/types/ai.d.ts.map +1 -1
- package/dist/cjs/types/history.d.ts +3 -3
- package/dist/cjs/types/history.d.ts.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -1
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/persistence.d.ts +5 -5
- package/dist/cjs/types/persistence.d.ts.map +1 -1
- package/dist/cjs/types/route.d.ts +57 -52
- package/dist/cjs/types/route.d.ts.map +1 -1
- package/dist/cjs/types/session.d.ts +27 -27
- package/dist/cjs/types/session.d.ts.map +1 -1
- package/dist/cjs/types/session.js +48 -50
- package/dist/cjs/types/session.js.map +1 -1
- package/dist/cjs/types/tool.d.ts +13 -13
- package/dist/cjs/types/tool.d.ts.map +1 -1
- package/dist/cjs/utils/id.d.ts +8 -3
- package/dist/cjs/utils/id.d.ts.map +1 -1
- package/dist/cjs/utils/id.js +16 -7
- package/dist/cjs/utils/id.js.map +1 -1
- package/dist/constants/index.d.ts +4 -4
- package/dist/constants/index.js +4 -4
- package/dist/core/Agent.d.ts +22 -22
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +162 -154
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/Events.d.ts +6 -6
- package/dist/core/Events.d.ts.map +1 -1
- package/dist/core/PersistenceManager.d.ts +13 -13
- package/dist/core/PersistenceManager.d.ts.map +1 -1
- package/dist/core/PersistenceManager.js +25 -25
- package/dist/core/PersistenceManager.js.map +1 -1
- package/dist/core/ResponseEngine.d.ts +3 -8
- package/dist/core/ResponseEngine.d.ts.map +1 -1
- package/dist/core/ResponseEngine.js +8 -8
- package/dist/core/ResponseEngine.js.map +1 -1
- package/dist/core/Route.d.ts +17 -17
- package/dist/core/Route.d.ts.map +1 -1
- package/dist/core/Route.js +33 -33
- package/dist/core/Route.js.map +1 -1
- package/dist/core/RoutingEngine.d.ts +30 -30
- package/dist/core/RoutingEngine.d.ts.map +1 -1
- package/dist/core/RoutingEngine.js +193 -193
- package/dist/core/RoutingEngine.js.map +1 -1
- package/dist/core/Step.d.ts +72 -0
- package/dist/core/Step.d.ts.map +1 -0
- package/dist/core/Step.js +146 -0
- package/dist/core/Step.js.map +1 -0
- package/dist/core/ToolExecutor.d.ts +5 -5
- package/dist/core/ToolExecutor.d.ts.map +1 -1
- package/dist/core/ToolExecutor.js +8 -8
- package/dist/core/ToolExecutor.js.map +1 -1
- package/dist/core/Transition.d.ts +14 -14
- package/dist/core/Transition.d.ts.map +1 -1
- package/dist/core/Transition.js +48 -19
- package/dist/core/Transition.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/types/agent.d.ts +8 -8
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/ai.d.ts +2 -2
- package/dist/types/ai.d.ts.map +1 -1
- package/dist/types/history.d.ts +3 -3
- package/dist/types/history.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/persistence.d.ts +5 -5
- package/dist/types/persistence.d.ts.map +1 -1
- package/dist/types/route.d.ts +57 -52
- package/dist/types/route.d.ts.map +1 -1
- package/dist/types/session.d.ts +27 -27
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js +44 -46
- package/dist/types/session.js.map +1 -1
- package/dist/types/tool.d.ts +13 -13
- package/dist/types/tool.d.ts.map +1 -1
- package/dist/utils/id.d.ts +8 -3
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +14 -6
- package/dist/utils/id.js.map +1 -1
- package/docs/ADAPTERS.md +21 -21
- package/docs/AGENT.md +57 -55
- package/docs/API_REFERENCE.md +218 -220
- package/docs/ARCHITECTURE.md +99 -104
- package/docs/CONTEXT_MANAGEMENT.md +81 -88
- package/docs/DOCS.md +18 -18
- package/docs/DOMAINS.md +16 -16
- package/docs/EXAMPLES.md +43 -43
- package/docs/GETTING_STARTED.md +60 -63
- package/docs/PERSISTENCE.md +66 -70
- package/docs/PROVIDERS.md +2 -2
- package/docs/README.md +6 -6
- package/docs/ROUTES.md +218 -220
- package/docs/STEPS.md +883 -0
- package/examples/business-onboarding.ts +84 -81
- package/examples/company-qna-agent.ts +68 -67
- package/examples/custom-database-persistence.ts +87 -89
- package/examples/declarative-agent.ts +32 -32
- package/examples/domain-scoping.ts +18 -18
- package/examples/extracted-data-modification.ts +92 -97
- package/examples/healthcare-agent.ts +89 -91
- package/examples/openai-agent.ts +29 -32
- package/examples/opensearch-persistence.ts +43 -45
- package/examples/persistent-onboarding.ts +65 -66
- package/examples/prisma-persistence.ts +108 -112
- package/examples/prisma-schema.example.prisma +3 -3
- package/examples/redis-persistence.ts +67 -73
- package/examples/route-transitions.ts +71 -47
- package/examples/rules-prohibitions.ts +28 -28
- package/examples/streaming-agent.ts +24 -24
- package/examples/travel-agent.ts +94 -109
- package/package.json +1 -1
- package/src/adapters/MemoryAdapter.ts +3 -3
- package/src/adapters/MongoAdapter.ts +3 -3
- package/src/adapters/OpenSearchAdapter.ts +8 -8
- package/src/adapters/PostgreSQLAdapter.ts +10 -10
- package/src/adapters/PrismaAdapter.ts +4 -4
- package/src/adapters/RedisAdapter.ts +3 -3
- package/src/adapters/SQLiteAdapter.ts +15 -15
- package/src/adapters/index.ts +1 -1
- package/src/constants/index.ts +4 -4
- package/src/core/Agent.ts +210 -206
- package/src/core/Events.ts +12 -12
- package/src/core/PersistenceManager.ts +32 -36
- package/src/core/ResponseEngine.ts +11 -17
- package/src/core/Route.ts +55 -49
- package/src/core/RoutingEngine.ts +244 -252
- package/src/core/Step.ts +197 -0
- package/src/core/ToolExecutor.ts +11 -11
- package/src/core/Transition.ts +72 -26
- package/src/index.ts +8 -8
- package/src/types/agent.ts +8 -8
- package/src/types/ai.ts +2 -2
- package/src/types/history.ts +3 -3
- package/src/types/index.ts +1 -1
- package/src/types/persistence.ts +6 -6
- package/src/types/route.ts +77 -61
- package/src/types/session.ts +75 -78
- package/src/types/tool.ts +17 -17
- package/src/utils/id.ts +15 -6
- package/dist/cjs/core/State.d.ts +0 -72
- package/dist/cjs/core/State.d.ts.map +0 -1
- package/dist/cjs/core/State.js +0 -148
- package/dist/cjs/core/State.js.map +0 -1
- package/dist/core/State.d.ts +0 -72
- package/dist/core/State.d.ts.map +0 -1
- package/dist/core/State.js +0 -144
- package/dist/core/State.js.map +0 -1
- package/docs/STATES.md +0 -888
- package/src/core/State.ts +0 -212
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Session
|
|
3
|
+
* Session step types for tracking conversation progress
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createSession = createSession;
|
|
7
7
|
exports.enterRoute = enterRoute;
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
8
|
+
exports.enterStep = enterStep;
|
|
9
|
+
exports.mergeCollected = mergeCollected;
|
|
10
|
+
exports.sessionStepToData = sessionStepToData;
|
|
11
|
+
exports.sessionDataToStep = sessionDataToStep;
|
|
12
12
|
/**
|
|
13
13
|
* Helper to create a new session
|
|
14
14
|
* @param sessionId - Optional session ID (e.g., from database)
|
|
@@ -17,8 +17,8 @@ exports.sessionDataToState = sessionDataToState;
|
|
|
17
17
|
function createSession(sessionId, metadata) {
|
|
18
18
|
return {
|
|
19
19
|
id: sessionId,
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
data: {},
|
|
21
|
+
dataByRoute: {},
|
|
22
22
|
routeHistory: [],
|
|
23
23
|
metadata: {
|
|
24
24
|
...metadata,
|
|
@@ -29,15 +29,15 @@ function createSession(sessionId, metadata) {
|
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* Helper to update session with new route
|
|
32
|
-
* Preserves
|
|
32
|
+
* Preserves collected data per route in dataByRoute map
|
|
33
33
|
*/
|
|
34
34
|
function enterRoute(session, routeId, routeTitle) {
|
|
35
|
-
// Save current route's
|
|
36
|
-
const
|
|
35
|
+
// Save current route's collected data before switching
|
|
36
|
+
const dataByRoute = { ...session.dataByRoute };
|
|
37
37
|
if (session.currentRoute &&
|
|
38
|
-
session.
|
|
39
|
-
Object.keys(session.
|
|
40
|
-
|
|
38
|
+
session.data &&
|
|
39
|
+
Object.keys(session.data).length > 0) {
|
|
40
|
+
dataByRoute[session.currentRoute.id] = session.data;
|
|
41
41
|
}
|
|
42
42
|
// Exit current route if exists
|
|
43
43
|
const routeHistory = [...session.routeHistory];
|
|
@@ -47,8 +47,8 @@ function enterRoute(session, routeId, routeTitle) {
|
|
|
47
47
|
routeHistory[lastRouteIndex].exitedAt = new Date();
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
// Load
|
|
51
|
-
const
|
|
50
|
+
// Load collected data for new route (if resuming) or start fresh
|
|
51
|
+
const newCollected = dataByRoute[routeId] || {};
|
|
52
52
|
// Enter new route
|
|
53
53
|
const now = new Date();
|
|
54
54
|
return {
|
|
@@ -58,9 +58,9 @@ function enterRoute(session, routeId, routeTitle) {
|
|
|
58
58
|
title: routeTitle,
|
|
59
59
|
enteredAt: now,
|
|
60
60
|
},
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
currentStep: undefined,
|
|
62
|
+
data: newCollected, // Load route's data or start fresh
|
|
63
|
+
dataByRoute,
|
|
64
64
|
routeHistory: [
|
|
65
65
|
...routeHistory,
|
|
66
66
|
{
|
|
@@ -76,14 +76,14 @@ function enterRoute(session, routeId, routeTitle) {
|
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
* Helper to update session with new
|
|
79
|
+
* Helper to update session with new step
|
|
80
80
|
*/
|
|
81
|
-
function
|
|
81
|
+
function enterStep(session, stepId, stepDescription) {
|
|
82
82
|
return {
|
|
83
83
|
...session,
|
|
84
|
-
|
|
85
|
-
id:
|
|
86
|
-
description:
|
|
84
|
+
currentStep: {
|
|
85
|
+
id: stepId,
|
|
86
|
+
description: stepDescription,
|
|
87
87
|
enteredAt: new Date(),
|
|
88
88
|
},
|
|
89
89
|
metadata: {
|
|
@@ -93,23 +93,23 @@ function enterState(session, stateId, stateDescription) {
|
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
|
-
* Helper to merge
|
|
97
|
-
* Updates both the
|
|
96
|
+
* Helper to merge collected data into session
|
|
97
|
+
* Updates both the data field and the dataByRoute map
|
|
98
98
|
*/
|
|
99
|
-
function
|
|
100
|
-
const
|
|
101
|
-
...session.
|
|
102
|
-
...
|
|
99
|
+
function mergeCollected(session, data) {
|
|
100
|
+
const newCollected = {
|
|
101
|
+
...session.data,
|
|
102
|
+
...data,
|
|
103
103
|
};
|
|
104
|
-
// Also update the
|
|
105
|
-
const
|
|
104
|
+
// Also update the dataByRoute map for the current route
|
|
105
|
+
const dataByRoute = { ...session.dataByRoute };
|
|
106
106
|
if (session.currentRoute) {
|
|
107
|
-
|
|
107
|
+
dataByRoute[session.currentRoute.id] = newCollected;
|
|
108
108
|
}
|
|
109
109
|
return {
|
|
110
110
|
...session,
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
data: newCollected,
|
|
112
|
+
dataByRoute,
|
|
113
113
|
metadata: {
|
|
114
114
|
...session.metadata,
|
|
115
115
|
lastUpdatedAt: new Date(),
|
|
@@ -117,30 +117,30 @@ function mergeExtracted(session, extracted) {
|
|
|
117
117
|
};
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
|
-
* Helper to convert
|
|
120
|
+
* Helper to convert SessionStep to persistence-friendly format
|
|
121
121
|
* Used when saving to database
|
|
122
122
|
*/
|
|
123
|
-
function
|
|
123
|
+
function sessionStepToData(session) {
|
|
124
124
|
return {
|
|
125
125
|
currentRoute: session.currentRoute?.id,
|
|
126
|
-
|
|
126
|
+
currentStep: session.currentStep?.id,
|
|
127
127
|
collectedData: {
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
data: session.data,
|
|
129
|
+
dataByRoute: session.dataByRoute, // Include per-route data
|
|
130
130
|
routeHistory: session.routeHistory,
|
|
131
131
|
currentRouteTitle: session.currentRoute?.title,
|
|
132
|
-
|
|
132
|
+
currentStepDescription: session.currentStep?.description,
|
|
133
133
|
metadata: session.metadata,
|
|
134
134
|
},
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
137
|
/**
|
|
138
|
-
* Helper to convert database SessionData back to
|
|
138
|
+
* Helper to convert database SessionData back to SessionStep
|
|
139
139
|
* Used when loading from database
|
|
140
140
|
* @param sessionId - The database session ID
|
|
141
141
|
* @param data - The database session data
|
|
142
142
|
*/
|
|
143
|
-
function
|
|
143
|
+
function sessionDataToStep(sessionId, data) {
|
|
144
144
|
const collectedData = data.collectedData || {};
|
|
145
145
|
return {
|
|
146
146
|
id: sessionId,
|
|
@@ -151,18 +151,16 @@ function sessionDataToState(sessionId, data) {
|
|
|
151
151
|
enteredAt: new Date(),
|
|
152
152
|
}
|
|
153
153
|
: undefined,
|
|
154
|
-
|
|
154
|
+
currentStep: data.currentStep
|
|
155
155
|
? {
|
|
156
|
-
id: data.
|
|
157
|
-
description: collectedData.
|
|
156
|
+
id: data.currentStep,
|
|
157
|
+
description: collectedData.currentStepDescription || undefined,
|
|
158
158
|
enteredAt: new Date(),
|
|
159
159
|
}
|
|
160
160
|
: undefined,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
routeHistory: collectedData.routeHistory ||
|
|
165
|
-
[],
|
|
161
|
+
data: collectedData.data || {},
|
|
162
|
+
dataByRoute: collectedData.dataByRoute || {}, // Restore per-route data
|
|
163
|
+
routeHistory: collectedData.routeHistory || [],
|
|
166
164
|
metadata: collectedData.metadata || {},
|
|
167
165
|
};
|
|
168
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/types/session.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA4EH,sCAeC;AAMD,gCAsDC;AAKD,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/types/session.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types/tool.d.ts
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tool system type definitions
|
|
3
3
|
*/
|
|
4
|
-
import type { Event,
|
|
4
|
+
import type { Event, StepRef } from "./index";
|
|
5
5
|
/**
|
|
6
6
|
* Context provided to tool handlers
|
|
7
7
|
*/
|
|
8
|
-
export interface ToolContext<TContext = unknown,
|
|
8
|
+
export interface ToolContext<TContext = unknown, TData = unknown> {
|
|
9
9
|
/** The agent's context data */
|
|
10
10
|
context: TContext;
|
|
11
11
|
/** Update the agent's context (triggers lifecycle hooks if configured) */
|
|
12
12
|
updateContext: (updates: Partial<TContext>) => Promise<void>;
|
|
13
|
-
/** Current
|
|
14
|
-
|
|
13
|
+
/** Current step reference (if in a route) */
|
|
14
|
+
step?: StepRef;
|
|
15
15
|
/** Interaction history */
|
|
16
16
|
history: Event[];
|
|
17
|
-
/** Data
|
|
18
|
-
|
|
17
|
+
/** Data collected so far in the current route */
|
|
18
|
+
data?: Partial<TData>;
|
|
19
19
|
/** Additional metadata */
|
|
20
20
|
metadata?: Record<string, unknown>;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Result returned by a tool
|
|
24
24
|
*/
|
|
25
|
-
export interface ToolResult<
|
|
25
|
+
export interface ToolResult<TResultData = unknown, TContext = unknown, TData = unknown> {
|
|
26
26
|
/** The result data */
|
|
27
|
-
data:
|
|
27
|
+
data: TResultData;
|
|
28
28
|
/** Optional context update to be merged with current context */
|
|
29
29
|
contextUpdate?: Partial<TContext>;
|
|
30
|
-
/** Optional
|
|
31
|
-
|
|
30
|
+
/** Optional collected data update to be merged with session step */
|
|
31
|
+
collectedUpdate?: Partial<TData>;
|
|
32
32
|
/** Optional metadata about the execution */
|
|
33
33
|
meta?: Record<string, unknown>;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Handler function for a tool
|
|
37
37
|
*/
|
|
38
|
-
export type ToolHandler<TContext, TArgs extends unknown[], TResult,
|
|
38
|
+
export type ToolHandler<TContext, TArgs extends unknown[], TResult, TData = unknown> = (context: ToolContext<TContext, TData>, ...args: TArgs) => Promise<ToolResult<TResult, TContext, TData>> | ToolResult<TResult, TContext, TData>;
|
|
39
39
|
/**
|
|
40
40
|
* Reference to a defined tool
|
|
41
41
|
*/
|
|
42
|
-
export interface ToolRef<TContext, TArgs extends unknown[], TResult,
|
|
42
|
+
export interface ToolRef<TContext, TArgs extends unknown[], TResult, TData = unknown> {
|
|
43
43
|
/** Tool identifier */
|
|
44
44
|
id: string;
|
|
45
45
|
/** Tool name */
|
|
46
46
|
name: string;
|
|
47
47
|
/** Tool handler function */
|
|
48
|
-
handler: ToolHandler<TContext, TArgs, TResult,
|
|
48
|
+
handler: ToolHandler<TContext, TArgs, TResult, TData>;
|
|
49
49
|
/** Description of what the tool does */
|
|
50
50
|
description?: string;
|
|
51
51
|
/** Parameter schema or description */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/types/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/types/tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,QAAQ,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO;IAC9D,+BAA+B;IAC/B,OAAO,EAAE,QAAQ,CAAC;IAClB,0EAA0E;IAC1E,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,6CAA6C;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,KAAK,EAAE,CAAC;IACjB,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CACzB,WAAW,GAAG,OAAO,EACrB,QAAQ,GAAG,OAAO,EAClB,KAAK,GAAG,OAAO;IAEf,sBAAsB;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,CACrB,QAAQ,EACR,KAAK,SAAS,OAAO,EAAE,EACvB,OAAO,EACP,KAAK,GAAG,OAAO,IACb,CACF,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EACrC,GAAG,IAAI,EAAE,KAAK,KAEZ,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,GAC7C,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,OAAO,CACtB,QAAQ,EACR,KAAK,SAAS,OAAO,EAAE,EACvB,OAAO,EACP,KAAK,GAAG,OAAO;IAEf,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/cjs/utils/id.d.ts
CHANGED
|
@@ -8,13 +8,18 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function generateRouteId(title: string): string;
|
|
10
10
|
/**
|
|
11
|
-
* Generate a deterministic
|
|
12
|
-
* Format:
|
|
11
|
+
* Generate a deterministic step ID
|
|
12
|
+
* Format: step_{sanitized_description}_{hash} or step_{routeId}_{index}
|
|
13
13
|
*/
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function generateStepId(routeId: string, description?: string, index?: number): string;
|
|
15
15
|
/**
|
|
16
16
|
* Generate a deterministic tool ID
|
|
17
17
|
* Format: tool_{sanitized_name}_{hash}
|
|
18
18
|
*/
|
|
19
19
|
export declare function generateToolId(name: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Generate a deterministic tool ID for inline tool handlers
|
|
22
|
+
* Format: tool_inline_{stepId}_{hash}
|
|
23
|
+
*/
|
|
24
|
+
export declare function generateInlineToolId(stepId: string): string;
|
|
20
25
|
//# sourceMappingURL=id.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;;GAGG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CASR;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG3D"}
|
package/dist/cjs/utils/id.js
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.generateRouteId = generateRouteId;
|
|
8
|
-
exports.
|
|
8
|
+
exports.generateStepId = generateStepId;
|
|
9
9
|
exports.generateToolId = generateToolId;
|
|
10
|
+
exports.generateInlineToolId = generateInlineToolId;
|
|
10
11
|
/**
|
|
11
12
|
* Generate a deterministic ID from a string by creating a simple hash
|
|
12
13
|
* This ensures the same input always produces the same ID
|
|
@@ -36,18 +37,18 @@ function generateRouteId(title) {
|
|
|
36
37
|
return `route_${sanitized}_${hash}`;
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
|
-
* Generate a deterministic
|
|
40
|
-
* Format:
|
|
40
|
+
* Generate a deterministic step ID
|
|
41
|
+
* Format: step_{sanitized_description}_{hash} or step_{routeId}_{index}
|
|
41
42
|
*/
|
|
42
|
-
function
|
|
43
|
+
function generateStepId(routeId, description, index) {
|
|
43
44
|
if (description) {
|
|
44
45
|
const sanitized = sanitize(description);
|
|
45
46
|
const hash = simpleHash(`${routeId}_${description}`);
|
|
46
|
-
return `
|
|
47
|
+
return `step_${sanitized}_${hash}`;
|
|
47
48
|
}
|
|
48
|
-
// Fallback for
|
|
49
|
+
// Fallback for steps without descriptions
|
|
49
50
|
const suffix = index !== undefined ? index : simpleHash(routeId);
|
|
50
|
-
return `
|
|
51
|
+
return `step_${routeId}_${suffix}`;
|
|
51
52
|
}
|
|
52
53
|
/**
|
|
53
54
|
* Generate a deterministic tool ID
|
|
@@ -58,4 +59,12 @@ function generateToolId(name) {
|
|
|
58
59
|
const hash = simpleHash(name);
|
|
59
60
|
return `tool_${sanitized}_${hash}`;
|
|
60
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Generate a deterministic tool ID for inline tool handlers
|
|
64
|
+
* Format: tool_inline_{stepId}_{hash}
|
|
65
|
+
*/
|
|
66
|
+
function generateInlineToolId(stepId) {
|
|
67
|
+
const hash = simpleHash(`${stepId}_inline_tool`);
|
|
68
|
+
return `tool_inline_${stepId}_${hash}`;
|
|
69
|
+
}
|
|
61
70
|
//# sourceMappingURL=id.js.map
|
package/dist/cjs/utils/id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2BH,0CAIC;AAMD,
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA2BH,0CAIC;AAMD,wCAaC;AAMD,wCAIC;AAMD,oDAGC;AAnED;;;GAGG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;QACjC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,4BAA4B;IAClD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAa;IAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,SAAS,SAAS,IAAI,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAC5B,OAAe,EACf,WAAoB,EACpB,KAAc;IAEd,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;QACrD,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IACD,0CAA0C;IAC1C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO,QAAQ,OAAO,IAAI,MAAM,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,QAAQ,SAAS,IAAI,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,MAAc;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;IACjD,OAAO,eAAe,MAAM,IAAI,IAAI,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Special marker to end a route/journey
|
|
3
3
|
*/
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const END_ROUTE: unique symbol;
|
|
5
5
|
/**
|
|
6
|
-
* String constant for
|
|
7
|
-
* Use this when checking if
|
|
6
|
+
* String constant for END_ROUTE comparisons
|
|
7
|
+
* Use this when checking if currentStep.id has reached END_ROUTE
|
|
8
8
|
*/
|
|
9
|
-
export declare const
|
|
9
|
+
export declare const END_ROUTE_ID = "END_ROUTE";
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/constants/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Special marker to end a route/journey
|
|
3
3
|
*/
|
|
4
|
-
export const
|
|
4
|
+
export const END_ROUTE = Symbol("END_ROUTE");
|
|
5
5
|
/**
|
|
6
|
-
* String constant for
|
|
7
|
-
* Use this when checking if
|
|
6
|
+
* String constant for END_ROUTE comparisons
|
|
7
|
+
* Use this when checking if currentStep.id has reached END_ROUTE
|
|
8
8
|
*/
|
|
9
|
-
export const
|
|
9
|
+
export const END_ROUTE_ID = "END_ROUTE";
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/dist/core/Agent.d.ts
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* Core Agent implementation
|
|
3
3
|
*/
|
|
4
4
|
import type { AgentOptions, Term, Guideline, Capability } from "../types/agent";
|
|
5
|
-
import type { Event,
|
|
5
|
+
import type { Event, StepRef } from "../types/index";
|
|
6
6
|
import type { RouteOptions } from "../types/route";
|
|
7
|
-
import type {
|
|
7
|
+
import type { SessionStep } from "../types/session";
|
|
8
8
|
import { Route } from "./Route";
|
|
9
9
|
import { DomainRegistry } from "./DomainRegistry";
|
|
10
10
|
import { PersistenceManager } from "./PersistenceManager";
|
|
@@ -42,9 +42,9 @@ export declare class Agent<TContext = unknown> {
|
|
|
42
42
|
get goal(): string | undefined;
|
|
43
43
|
/**
|
|
44
44
|
* Create a new route (journey)
|
|
45
|
-
* @template
|
|
45
|
+
* @template TData - Type of data collected throughout the route
|
|
46
46
|
*/
|
|
47
|
-
createRoute<
|
|
47
|
+
createRoute<TData = unknown>(options: RouteOptions<TContext, TData>): Route<TContext, TData>;
|
|
48
48
|
/**
|
|
49
49
|
* Create a domain term for the glossary
|
|
50
50
|
*/
|
|
@@ -68,11 +68,11 @@ export declare class Agent<TContext = unknown> {
|
|
|
68
68
|
*/
|
|
69
69
|
updateContext(updates: Partial<TContext>): Promise<void>;
|
|
70
70
|
/**
|
|
71
|
-
* Update
|
|
72
|
-
* Triggers the
|
|
71
|
+
* Update collected data in session with lifecycle hook support
|
|
72
|
+
* Triggers the onDataUpdate lifecycle hook if configured
|
|
73
73
|
* @internal
|
|
74
74
|
*/
|
|
75
|
-
private
|
|
75
|
+
private updateData;
|
|
76
76
|
/**
|
|
77
77
|
* Get current context (fetches from provider if configured)
|
|
78
78
|
* @internal
|
|
@@ -83,15 +83,15 @@ export declare class Agent<TContext = unknown> {
|
|
|
83
83
|
*/
|
|
84
84
|
respondStream(params: {
|
|
85
85
|
history: Event[];
|
|
86
|
-
|
|
87
|
-
session?:
|
|
86
|
+
step?: StepRef;
|
|
87
|
+
session?: SessionStep;
|
|
88
88
|
contextOverride?: Partial<TContext>;
|
|
89
89
|
signal?: AbortSignal;
|
|
90
90
|
}): AsyncGenerator<{
|
|
91
91
|
delta: string;
|
|
92
92
|
accumulated: string;
|
|
93
93
|
done: boolean;
|
|
94
|
-
session?:
|
|
94
|
+
session?: SessionStep;
|
|
95
95
|
toolCalls?: Array<{
|
|
96
96
|
toolName: string;
|
|
97
97
|
arguments: Record<string, unknown>;
|
|
@@ -103,13 +103,13 @@ export declare class Agent<TContext = unknown> {
|
|
|
103
103
|
*/
|
|
104
104
|
respond(params: {
|
|
105
105
|
history: Event[];
|
|
106
|
-
|
|
107
|
-
session?:
|
|
106
|
+
step?: StepRef;
|
|
107
|
+
session?: SessionStep;
|
|
108
108
|
contextOverride?: Partial<TContext>;
|
|
109
109
|
signal?: AbortSignal;
|
|
110
110
|
}): Promise<{
|
|
111
111
|
message: string;
|
|
112
|
-
session?:
|
|
112
|
+
session?: SessionStep;
|
|
113
113
|
toolCalls?: Array<{
|
|
114
114
|
toolName: string;
|
|
115
115
|
arguments: Record<string, unknown>;
|
|
@@ -158,40 +158,40 @@ export declare class Agent<TContext = unknown> {
|
|
|
158
158
|
getDomainsForRouteByTitle(routeTitle: string): Record<string, Record<string, unknown>>;
|
|
159
159
|
/**
|
|
160
160
|
* Set the current session for convenience methods
|
|
161
|
-
* @param session - Session
|
|
161
|
+
* @param session - Session step to use for subsequent calls
|
|
162
162
|
*/
|
|
163
|
-
setCurrentSession(session:
|
|
163
|
+
setCurrentSession(session: SessionStep): void;
|
|
164
164
|
/**
|
|
165
165
|
* Get the current session (if set)
|
|
166
166
|
*/
|
|
167
|
-
getCurrentSession():
|
|
167
|
+
getCurrentSession(): SessionStep | undefined;
|
|
168
168
|
/**
|
|
169
169
|
* Clear the current session
|
|
170
170
|
*/
|
|
171
171
|
clearCurrentSession(): void;
|
|
172
172
|
/**
|
|
173
|
-
* Get
|
|
173
|
+
* Get collected data from current session
|
|
174
174
|
* @param routeId - Optional route ID to get data for (uses current route if not provided)
|
|
175
|
-
* @returns The
|
|
175
|
+
* @returns The collected data from the current session
|
|
176
176
|
*/
|
|
177
|
-
|
|
177
|
+
getData<TData = unknown>(routeId?: string): Partial<TData>;
|
|
178
178
|
/**
|
|
179
179
|
* Manually transition to a different route
|
|
180
180
|
* Sets a pending transition that will be executed on the next respond() call
|
|
181
181
|
*
|
|
182
182
|
* @param routeIdOrTitle - Route ID or title to transition to
|
|
183
|
-
* @param session - Session
|
|
183
|
+
* @param session - Session step to update (uses current session if not provided)
|
|
184
184
|
* @param condition - Optional AI-evaluated condition for the transition
|
|
185
185
|
* @returns Updated session with pending transition
|
|
186
186
|
*
|
|
187
187
|
* @example
|
|
188
188
|
* // After route completes
|
|
189
189
|
* if (response.isRouteComplete && response.session) {
|
|
190
|
-
* const updatedSession = agent.
|
|
190
|
+
* const updatedSession = agent.nextStepRoute("feedback-collection", response.session);
|
|
191
191
|
* // Next respond() call will automatically transition to feedback route
|
|
192
192
|
* const nextResponse = await agent.respond({ history, session: updatedSession });
|
|
193
193
|
* }
|
|
194
194
|
*/
|
|
195
|
-
|
|
195
|
+
nextStepRoute(routeIdOrTitle: string, session?: SessionStep, condition?: string): SessionStep;
|
|
196
196
|
}
|
|
197
197
|
//# sourceMappingURL=Agent.d.ts.map
|
package/dist/core/Agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../src/core/Agent.ts"],"names":[],"mappings":"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"}
|