@ai.ntellect/core 0.8.1 → 0.8.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.
- package/README.md +190 -118
- package/dist/graph/index.d.ts +3 -4
- package/dist/graph/index.d.ts.map +1 -1
- package/dist/graph/index.js +6 -6
- package/dist/graph/index.js.map +1 -1
- package/dist/modules/agent/agent.d.ts.map +1 -1
- package/dist/modules/agent/agent.js +2 -5
- package/dist/modules/agent/agent.js.map +1 -1
- package/dist/modules/agent/generic-assistant.d.ts.map +1 -1
- package/dist/modules/agent/generic-assistant.js +2 -2
- package/dist/modules/agent/generic-assistant.js.map +1 -1
- package/dist/modules/agent/generic-executor.d.ts +1 -0
- package/dist/modules/agent/generic-executor.d.ts.map +1 -1
- package/dist/modules/agent/generic-executor.js +23 -34
- package/dist/modules/agent/generic-executor.js.map +1 -1
- package/dist/types/index.d.ts +89 -24
- package/dist/types/index.d.ts.map +1 -1
- package/graph/index.ts +8 -10
- package/modules/agent/agent.ts +6 -7
- package/modules/agent/generic-assistant.ts +6 -4
- package/modules/agent/generic-executor.ts +32 -39
- package/package.json +1 -1
- package/test/graph/controller.test.ts +2 -2
- package/test/graph/index.test.ts +27 -27
- package/test/graph/observer.test.ts +18 -23
- package/types/index.ts +91 -27
package/README.md
CHANGED
@@ -1,59 +1,208 @@
|
|
1
1
|
# @ai.ntellect/core
|
2
2
|
|
3
|
-
|
3
|
+
A TypeScript framework for building workflow automation with event-driven architecture.
|
4
4
|
|
5
5
|
## Features
|
6
6
|
|
7
|
-
-
|
8
|
-
-
|
9
|
-
-
|
10
|
-
-
|
11
|
-
-
|
12
|
-
-
|
13
|
-
-
|
14
|
-
- **Schema Validation** – Integrated Zod schema validation
|
15
|
-
- **Retry Mechanisms** – Built-in retry strategies for resilient workflows
|
16
|
-
- **Event Correlation** – Advanced event handling with correlation strategies
|
7
|
+
- Graph-based workflow execution
|
8
|
+
- Event-driven node processing
|
9
|
+
- TypeScript type safety
|
10
|
+
- Zod schema validation
|
11
|
+
- Retry mechanisms
|
12
|
+
- State observation
|
13
|
+
- AI Agent integration
|
17
14
|
|
18
15
|
## Installation
|
19
16
|
|
20
|
-
|
17
|
+
```sh
|
18
|
+
npm install @ai.ntellect/core zod
|
19
|
+
```
|
21
20
|
|
22
|
-
|
23
|
-
- TypeScript
|
24
|
-
- Zod (for data validation)
|
21
|
+
## Basic Usage
|
25
22
|
|
26
|
-
|
23
|
+
### Building a simple workflow
|
27
24
|
|
28
|
-
```
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
```typescript
|
26
|
+
import { z } from "zod";
|
27
|
+
import { GraphFlow } from "@ai.ntellect/core";
|
28
|
+
import { GraphContext, GraphNodeConfig } from "@ai.ntellect/core/types";
|
32
29
|
|
33
|
-
|
30
|
+
// Define the schema
|
31
|
+
const Schema = z.object({
|
32
|
+
message: z.string(),
|
33
|
+
});
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
// Define a node
|
36
|
+
const greetNode = {
|
37
|
+
name: "greet",
|
38
|
+
execute: async (context: GraphContext<typeof Schema>) => {
|
39
|
+
context.message = "Hello, World!";
|
40
|
+
},
|
41
|
+
};
|
42
|
+
|
43
|
+
// Create workflow
|
44
|
+
const workflow = new GraphFlow({
|
45
|
+
name: "hello",
|
46
|
+
schema: Schema,
|
47
|
+
context: { message: "" },
|
48
|
+
nodes: [greetNode],
|
49
|
+
});
|
38
50
|
|
39
|
-
|
51
|
+
// Execute and observe
|
52
|
+
const main = async () => {
|
53
|
+
// Observe state changes
|
54
|
+
workflow
|
55
|
+
.observe()
|
56
|
+
.state()
|
57
|
+
.subscribe((context) => {
|
58
|
+
console.log(context);
|
59
|
+
});
|
60
|
+
|
61
|
+
// Execute workflow
|
62
|
+
await workflow.execute("greet");
|
63
|
+
};
|
64
|
+
|
65
|
+
main();
|
66
|
+
```
|
40
67
|
|
41
|
-
###
|
68
|
+
### Handling events in a workflow
|
42
69
|
|
43
70
|
```typescript
|
44
|
-
import { GraphFlow } from "@ai.ntellect/core";
|
45
71
|
import { z } from "zod";
|
72
|
+
import { GraphFlow } from "@ai.ntellect/core";
|
73
|
+
import { GraphContext } from "@ai.ntellect/core/types";
|
46
74
|
|
47
75
|
// Define schema
|
76
|
+
const OrderSchema = z.object({
|
77
|
+
orderId: z.string(),
|
78
|
+
status: z.string(),
|
79
|
+
amount: z.number(),
|
80
|
+
});
|
81
|
+
|
82
|
+
// Define nodes
|
83
|
+
const paymentNode: GraphNodeConfig<typeof OrderSchema> = {
|
84
|
+
name: "payment",
|
85
|
+
when: {
|
86
|
+
events: ["payment.received"],
|
87
|
+
timeout: 30000,
|
88
|
+
strategy: { type: "single" },
|
89
|
+
},
|
90
|
+
execute: async (context: GraphContext<typeof OrderSchema>) => {
|
91
|
+
context.status = "processing";
|
92
|
+
},
|
93
|
+
next: ["validation"],
|
94
|
+
};
|
95
|
+
|
96
|
+
const validationNode: GraphNodeConfig<typeof OrderSchema> = {
|
97
|
+
name: "validation",
|
98
|
+
when: {
|
99
|
+
events: ["payment.validated", "inventory.checked"],
|
100
|
+
timeout: 5000,
|
101
|
+
strategy: {
|
102
|
+
type: "correlate",
|
103
|
+
correlation: (events) => {
|
104
|
+
return events.every(
|
105
|
+
(e) => e.payload.orderId === events[0].payload.orderId
|
106
|
+
);
|
107
|
+
},
|
108
|
+
},
|
109
|
+
},
|
110
|
+
execute: async (context: GraphContext<typeof OrderSchema>) => {
|
111
|
+
context.status = "validated";
|
112
|
+
},
|
113
|
+
};
|
114
|
+
|
115
|
+
// Create workflow
|
116
|
+
const orderWorkflow = new GraphFlow({
|
117
|
+
name: "order",
|
118
|
+
schema: OrderSchema,
|
119
|
+
context: {
|
120
|
+
orderId: "",
|
121
|
+
status: "pending",
|
122
|
+
amount: 0,
|
123
|
+
},
|
124
|
+
nodes: [paymentNode, validationNode],
|
125
|
+
});
|
126
|
+
|
127
|
+
// Usage
|
128
|
+
const main = async () => {
|
129
|
+
// Observe state
|
130
|
+
orderWorkflow
|
131
|
+
.observe()
|
132
|
+
.property("status")
|
133
|
+
.subscribe((status) => {
|
134
|
+
console.log("Status:", status);
|
135
|
+
});
|
136
|
+
|
137
|
+
// Start listening for events
|
138
|
+
orderWorkflow.execute("payment");
|
139
|
+
|
140
|
+
// Emit event after a short delay
|
141
|
+
setTimeout(async () => {
|
142
|
+
await orderWorkflow.emit("payment.received", {
|
143
|
+
orderId: "123",
|
144
|
+
amount: 100,
|
145
|
+
});
|
146
|
+
}, 100);
|
147
|
+
|
148
|
+
// Observe payment received event
|
149
|
+
orderWorkflow
|
150
|
+
.observe()
|
151
|
+
.event("payment.received")
|
152
|
+
.subscribe((event) => {
|
153
|
+
console.log("Payment received:", event);
|
154
|
+
orderWorkflow.emit("inventory.checked", {
|
155
|
+
orderId: event.payload.orderId,
|
156
|
+
});
|
157
|
+
});
|
158
|
+
|
159
|
+
// Observe inventory checked event
|
160
|
+
orderWorkflow
|
161
|
+
.observe()
|
162
|
+
.event("inventory.checked")
|
163
|
+
.subscribe((event) => {
|
164
|
+
console.log("Inventory checked:", event);
|
165
|
+
orderWorkflow.emit("payment.validated", {
|
166
|
+
orderId: event.payload.orderId,
|
167
|
+
});
|
168
|
+
});
|
169
|
+
|
170
|
+
// Observe payment validated event
|
171
|
+
orderWorkflow
|
172
|
+
.observe()
|
173
|
+
.event("payment.validated")
|
174
|
+
.subscribe((event) => {
|
175
|
+
console.log("Payment validated:", event);
|
176
|
+
});
|
177
|
+
};
|
178
|
+
|
179
|
+
main();
|
180
|
+
```
|
181
|
+
|
182
|
+
### Creating a workflow with Agent
|
183
|
+
|
184
|
+
```typescript
|
185
|
+
import { z } from "zod";
|
186
|
+
import { GraphFlow, Agent } from "@ai.ntellect/core";
|
187
|
+
import { GraphContext } from "@ai.ntellect/core/types";
|
188
|
+
|
48
189
|
const EmailSchema = z.object({
|
49
190
|
to: z.string(),
|
50
191
|
subject: z.string(),
|
51
192
|
content: z.string(),
|
52
|
-
status: z.string()
|
193
|
+
status: z.string(),
|
53
194
|
});
|
54
195
|
|
55
|
-
|
56
|
-
|
196
|
+
const sendNode = {
|
197
|
+
name: "send",
|
198
|
+
execute: async (context: GraphContext<typeof EmailSchema>) => {
|
199
|
+
context.status = "sending";
|
200
|
+
// Email sending implementation
|
201
|
+
context.status = "sent";
|
202
|
+
},
|
203
|
+
};
|
204
|
+
|
205
|
+
const emailFlow = new GraphFlow({
|
57
206
|
name: "email",
|
58
207
|
schema: EmailSchema,
|
59
208
|
context: {
|
@@ -62,114 +211,37 @@ const emailFlow = new GraphFlow("email", {
|
|
62
211
|
content: "",
|
63
212
|
status: "pending",
|
64
213
|
},
|
65
|
-
nodes: [
|
66
|
-
{
|
67
|
-
name: "send",
|
68
|
-
execute: async (context) => {
|
69
|
-
console.log(`Sending email to ${context.to}`);
|
70
|
-
// Logic to send email
|
71
|
-
context.status = "sent";
|
72
|
-
},
|
73
|
-
},
|
74
|
-
],
|
214
|
+
nodes: [sendNode],
|
75
215
|
});
|
76
|
-
```
|
77
|
-
|
78
|
-
### 2. AI-Powered Assistant
|
79
|
-
|
80
|
-
```typescript
|
81
|
-
import { Agent } from "@ai.ntellect/core";
|
82
216
|
|
83
217
|
const assistant = new Agent({
|
84
218
|
role: "Email Assistant",
|
85
|
-
goal: "Help users send emails
|
86
|
-
backstory: "I am an AI assistant specialized in email communications",
|
219
|
+
goal: "Help users send emails",
|
87
220
|
tools: [emailFlow],
|
88
221
|
llmConfig: {
|
89
222
|
provider: "openai",
|
90
223
|
model: "gpt-4",
|
91
|
-
apiKey:
|
224
|
+
apiKey: process.env.OPENAI_API_KEY,
|
92
225
|
},
|
93
226
|
});
|
94
227
|
|
95
|
-
|
96
|
-
const result = await assistant.process(
|
97
|
-
|
98
|
-
);
|
99
|
-
|
100
|
-
|
101
|
-
## Advanced Features
|
102
|
-
|
103
|
-
### Event Handling
|
104
|
-
|
105
|
-
```typescript
|
106
|
-
const workflow = new GraphFlow("notification", {
|
107
|
-
nodes: [
|
108
|
-
{
|
109
|
-
name: "waitForEvent",
|
110
|
-
events: ["emailSent"],
|
111
|
-
execute: async (context, event) => {
|
112
|
-
console.log(`Email sent to ${event.payload.recipient}`);
|
113
|
-
},
|
114
|
-
},
|
115
|
-
],
|
116
|
-
});
|
117
|
-
|
118
|
-
// Emit events
|
119
|
-
workflow.emit("emailSent", { recipient: "john@example.com" });
|
120
|
-
```
|
121
|
-
|
122
|
-
### Retry Mechanisms
|
123
|
-
|
124
|
-
```typescript
|
125
|
-
const node = {
|
126
|
-
name: "sendEmail",
|
127
|
-
execute: async (context) => {
|
128
|
-
// Email sending logic
|
129
|
-
},
|
130
|
-
retry: {
|
131
|
-
maxAttempts: 3,
|
132
|
-
delay: 1000,
|
133
|
-
onRetryFailed: async (error, context) => {
|
134
|
-
console.error(`Failed to send email to ${context.to}`);
|
135
|
-
},
|
136
|
-
},
|
228
|
+
const main = async () => {
|
229
|
+
const result = await assistant.process(
|
230
|
+
"Send an email to john@example.com about the project update"
|
231
|
+
);
|
232
|
+
console.log(result);
|
137
233
|
};
|
138
|
-
```
|
139
234
|
|
140
|
-
|
141
|
-
|
142
|
-
```typescript
|
143
|
-
// Observe specific properties
|
144
|
-
workflow
|
145
|
-
.observe()
|
146
|
-
.property("status")
|
147
|
-
.subscribe((status) => {
|
148
|
-
console.log(`Email status changed to: ${status}`);
|
149
|
-
});
|
150
|
-
|
151
|
-
// Observe specific nodes
|
152
|
-
workflow
|
153
|
-
.observe()
|
154
|
-
.node("sendEmail")
|
155
|
-
.subscribe((state) => {
|
156
|
-
console.log(`Send email node state:`, state);
|
157
|
-
});
|
235
|
+
main();
|
158
236
|
```
|
159
237
|
|
160
238
|
## Documentation
|
161
239
|
|
162
|
-
|
240
|
+
See the [documentation](https://ai-ntellect.gitbook.io/core) for detailed usage examples.
|
163
241
|
|
164
242
|
## Contributing
|
165
243
|
|
166
|
-
|
167
|
-
|
168
|
-
1. Fork the repository
|
169
|
-
2. Create a feature branch
|
170
|
-
3. Submit a pull request
|
171
|
-
|
172
|
-
Join our [Discord community](https://discord.gg/kEc5gWXJ) for discussions and support.
|
244
|
+
Contributions are welcome. Please submit pull requests with tests.
|
173
245
|
|
174
246
|
## License
|
175
247
|
|
package/dist/graph/index.d.ts
CHANGED
@@ -18,7 +18,6 @@ import { GraphVisualizer } from "./visualizer";
|
|
18
18
|
* @template T - Extends ZodSchema for type validation
|
19
19
|
*/
|
20
20
|
export declare class GraphFlow<T extends ZodSchema> {
|
21
|
-
name: string;
|
22
21
|
private context;
|
23
22
|
validator?: T;
|
24
23
|
private eventEmitter;
|
@@ -27,6 +26,7 @@ export declare class GraphFlow<T extends ZodSchema> {
|
|
27
26
|
private entryNode?;
|
28
27
|
private verbose;
|
29
28
|
nodes: Map<string, GraphNodeConfig<T, any>>;
|
29
|
+
name: string;
|
30
30
|
private eventSubject;
|
31
31
|
private stateSubject;
|
32
32
|
private destroySubject;
|
@@ -37,11 +37,10 @@ export declare class GraphFlow<T extends ZodSchema> {
|
|
37
37
|
private nlpNodes;
|
38
38
|
/**
|
39
39
|
* Creates a new instance of GraphFlow
|
40
|
-
* @param {
|
41
|
-
* @param {GraphConfig<T>} config - Configuration object containing nodes, schema, context, and error handlers
|
40
|
+
* @param {GraphConfig<T>} config - Configuration object containing name, nodes, schema, context, and error handlers
|
42
41
|
* @param {Object} options - Optional options for the graph flow
|
43
42
|
*/
|
44
|
-
constructor(
|
43
|
+
constructor(config: GraphConfig<T>, options?: {
|
45
44
|
verbose?: boolean;
|
46
45
|
});
|
47
46
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,eAAe,EAAiB,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,EACL,WAAW,EACX,YAAY,EAEZ,eAAe,EAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAa,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"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"}
|
package/dist/graph/index.js
CHANGED
@@ -34,17 +34,16 @@ const visualizer_1 = require("./visualizer");
|
|
34
34
|
class GraphFlow {
|
35
35
|
/**
|
36
36
|
* Creates a new instance of GraphFlow
|
37
|
-
* @param {
|
38
|
-
* @param {GraphConfig<T>} config - Configuration object containing nodes, schema, context, and error handlers
|
37
|
+
* @param {GraphConfig<T>} config - Configuration object containing name, nodes, schema, context, and error handlers
|
39
38
|
* @param {Object} options - Optional options for the graph flow
|
40
39
|
*/
|
41
|
-
constructor(
|
40
|
+
constructor(config, options = {}) {
|
42
41
|
var _a;
|
43
|
-
this.name = name;
|
44
42
|
this.verbose = false;
|
45
43
|
this.eventSubject = new rxjs_1.Subject();
|
46
44
|
this.destroySubject = new rxjs_1.Subject();
|
47
45
|
this.nlpNodes = new Map();
|
46
|
+
this.name = config.name;
|
48
47
|
this.nodes = new Map(config.nodes.map((node) => [node.name, node]));
|
49
48
|
this.validator = config.schema;
|
50
49
|
this.context = config.schema.parse(config.context);
|
@@ -52,10 +51,11 @@ class GraphFlow {
|
|
52
51
|
this.eventEmitter =
|
53
52
|
config.eventEmitter || new events_1.EventEmitter();
|
54
53
|
this.graphEvents = config.events;
|
54
|
+
this.entryNode = config.entryNode;
|
55
55
|
this.verbose = (_a = options.verbose) !== null && _a !== void 0 ? _a : false;
|
56
56
|
this.stateSubject = new rxjs_1.BehaviorSubject(this.context);
|
57
|
-
this.logger = new logger_1.GraphLogger(name, options.verbose);
|
58
|
-
this.eventManager = new event_manager_1.GraphEventManager(this.eventEmitter, this.nodes, name, this.context, config.events, config.entryNode, config.onError);
|
57
|
+
this.logger = new logger_1.GraphLogger(this.name, options.verbose);
|
58
|
+
this.eventManager = new event_manager_1.GraphEventManager(this.eventEmitter, this.nodes, this.name, this.context, config.events, config.entryNode, config.onError);
|
59
59
|
this.nodeExecutor = new node_1.GraphNode(this.nodes, this.logger, this.eventManager, this.eventSubject, this.stateSubject);
|
60
60
|
this.setupEventStreams();
|
61
61
|
this.setupEventListeners();
|
package/dist/graph/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAsC;AACtC,+BAAgD;AAGhD,wCAAyC;AAOzC,mDAAoD;AACpD,qCAAuC;AACvC,iCAA+C;AAC/C,yCAA2C;AAC3C,6CAA+C;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAa,SAAS;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../graph/index.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../modules/agent/agent.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../modules/agent/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;;GAWG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAuC;IAEvD;;;OAGG;gBACS,MAAM,EAAE,WAAW;IAkB/B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAuCrB;;;;OAIG;IACU,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAS3D"}
|
@@ -52,14 +52,13 @@ class Agent {
|
|
52
52
|
* @returns {GraphFlow<typeof AgentContextSchema>} The configured workflow
|
53
53
|
*/
|
54
54
|
setupWorkflow() {
|
55
|
-
return new index_1.GraphFlow(
|
55
|
+
return new index_1.GraphFlow({
|
56
56
|
name: "assistant",
|
57
57
|
schema: agent_1.AgentContextSchema,
|
58
58
|
context: {
|
59
59
|
input: { raw: "" },
|
60
60
|
actions: [],
|
61
61
|
response: "",
|
62
|
-
executedActions: [],
|
63
62
|
},
|
64
63
|
nodes: [
|
65
64
|
{
|
@@ -70,13 +69,11 @@ class Agent {
|
|
70
69
|
context.actions = decision.actions;
|
71
70
|
context.response = decision.response;
|
72
71
|
}),
|
73
|
-
next: (context) =>
|
72
|
+
next: (context) => context.actions.length > 0 ? ["execute"] : [],
|
74
73
|
},
|
75
74
|
{
|
76
75
|
name: "execute",
|
77
76
|
execute: (context) => __awaiter(this, void 0, void 0, function* () {
|
78
|
-
console.log(`Executing actions:`);
|
79
|
-
console.log(context.actions);
|
80
77
|
const timestamp = new Date().toISOString();
|
81
78
|
context.knowledge = `Date: ${timestamp}\n${JSON.stringify(context.actions)}`;
|
82
79
|
yield this.executor.executeActions(context.actions, context);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../modules/agent/agent.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../modules/agent/agent.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAA8C;AAC9C,6CAI2B;AAC3B,iCAAmC;AACnC,yDAAqD;AAErD;;;;;;;;;;;GAWG;AACH,MAAa,KAAK;IAIhB;;;OAGG;IACH,YAAY,MAAmB;QAC7B,MAAM,KAAK,GAAG,IAAI,gBAAS,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAe,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;YACvD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACK,aAAa;QACnB,OAAO,IAAI,iBAAS,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,0BAAkB;YAC1B,OAAO,EAAE;gBACP,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;aACb;YACD,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAO,OAAgD,EAAE,EAAE;wBAClE,MAAM,YAAY,GAAG,OAAkC,CAAC;wBACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBAChE,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;wBACnC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAA;oBACD,IAAI,EAAE,CAAC,OAAgD,EAAE,EAAE,CACzD,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChD;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAO,OAAgD,EAAE,EAAE;wBAClE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;wBAC3C,OAAO,CAAC,SAAS,GAAG,SAAS,SAAS,KAAK,IAAI,CAAC,SAAS,CACvD,OAAO,CAAC,OAAO,CAChB,EAAE,CAAC;wBACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAChC,OAAO,CAAC,OAAO,EACf,OAAkC,CACnC,CAAC;oBACJ,CAAC,CAAA;oBACD,IAAI,EAAE,CAAC,SAAS,CAAC;iBAClB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACU,OAAO,CAAC,KAAa;;YAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;gBACrB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAA6B,CAAC;QAC/D,CAAC;KAAA;CACF;AApFD,sBAoFC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generic-assistant.d.ts","sourceRoot":"","sources":["../../../modules/agent/generic-assistant.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"generic-assistant.d.ts","sourceRoot":"","sources":["../../../modules/agent/generic-assistant.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;GAUG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,QAAQ,CAAuC;gBAE3C,MAAM,EAAE,WAAW;IAkB/B,OAAO,CAAC,aAAa;IAuCR,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAS3D"}
|
@@ -42,7 +42,7 @@ class Agent {
|
|
42
42
|
this.workflow = this.setupWorkflow();
|
43
43
|
}
|
44
44
|
setupWorkflow() {
|
45
|
-
return new index_1.GraphFlow(
|
45
|
+
return new index_1.GraphFlow({
|
46
46
|
name: "assistant",
|
47
47
|
schema: agent_1.AgentContextSchema,
|
48
48
|
context: {
|
@@ -60,7 +60,7 @@ class Agent {
|
|
60
60
|
context.actions = decision.actions;
|
61
61
|
context.response = decision.response;
|
62
62
|
}),
|
63
|
-
next: (context) =>
|
63
|
+
next: (context) => context.actions.length > 0 ? ["execute"] : [],
|
64
64
|
},
|
65
65
|
{
|
66
66
|
name: "execute",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generic-assistant.js","sourceRoot":"","sources":["../../../modules/agent/generic-assistant.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"generic-assistant.js","sourceRoot":"","sources":["../../../modules/agent/generic-assistant.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6CAA8C;AAC9C,6CAI2B;AAC3B,iCAAmC;AACnC,yDAAqD;AAErD;;;;;;;;;;GAUG;AACH,MAAa,KAAK;IAIhB,YAAY,MAAmB;QAC7B,MAAM,KAAK,GAAG,IAAI,gBAAS,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,kCAAe,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;YACvD,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAEO,aAAa;QACnB,OAAO,IAAI,iBAAS,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,0BAAkB;YAC1B,OAAO,EAAE;gBACP,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBAClB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;gBACZ,eAAe,EAAE,EAAE;aACpB;YACD,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAO,OAAgD,EAAE,EAAE;wBAClE,MAAM,YAAY,GAAG,OAAkC,CAAC;wBACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBAChE,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;wBACnC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACvC,CAAC,CAAA;oBACD,IAAI,EAAE,CAAC,OAAgD,EAAE,EAAE,CACzD,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;iBAChD;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAO,OAAgD,EAAE,EAAE;wBAClE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;wBAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAE7B,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAChC,OAAO,CAAC,OAAO,EACf,OAAkC,CACnC,CAAC;oBACJ,CAAC,CAAA;oBACD,IAAI,EAAE,CAAC,SAAS,CAAC;iBAClB;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEY,OAAO,CAAC,KAAa;;YAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;gBAChD,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;gBACrB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAA6B,CAAC;QAC/D,CAAC;KAAA;CACF;AAtED,sBAsEC"}
|
@@ -37,6 +37,7 @@ export declare class GenericExecutor extends AgentExecutor {
|
|
37
37
|
* @returns {string} Formatted string containing all available actions and their parameters
|
38
38
|
*/
|
39
39
|
protected generateActionSchema(): string;
|
40
|
+
private buildSystemPrompt;
|
40
41
|
/**
|
41
42
|
* Makes a decision based on the current context using the LLM
|
42
43
|
* @param {AgentContext} context - The context to base the decision on
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generic-executor.d.ts","sourceRoot":"","sources":["../../../modules/agent/generic-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAEL,YAAY,EACZ,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"generic-executor.d.ts","sourceRoot":"","sources":["../../../modules/agent/generic-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAEL,YAAY,EACZ,cAAc,EACd,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,GAAG,CAA0C;IAErD;;;;;OAKG;gBAED,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,MAAM,EAAE,cAAc;IAOxB;;;;;OAKG;IACH,OAAO,CAAC,GAAG;IAiBX;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM;YAyB1B,iBAAiB;IA2B/B;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IA6DlE;;;;;;;;OAQG;cACa,gBAAgB,CAC9B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,EAC3B,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,GAAG,EAAE,EACb,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC;CA6CjB"}
|