@ai.ntellect/core 0.7.8 → 1.0.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 +158 -81
- package/index.ts +462 -22
- package/package copy.json +21 -0
- package/package.json +9 -44
- package/tsconfig.json +108 -22
- package/types.ts +62 -0
- package/utils/executor.ts +42 -0
- package/.mocharc.json +0 -5
- package/dist/graph/controller.d.ts +0 -31
- package/dist/graph/controller.d.ts.map +0 -1
- package/dist/graph/controller.js +0 -71
- package/dist/graph/controller.js.map +0 -1
- package/dist/graph/event-manager.d.ts +0 -93
- package/dist/graph/event-manager.d.ts.map +0 -1
- package/dist/graph/event-manager.js +0 -296
- package/dist/graph/event-manager.js.map +0 -1
- package/dist/graph/index.d.ts +0 -159
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js +0 -303
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/logger.d.ts +0 -46
- package/dist/graph/logger.d.ts.map +0 -1
- package/dist/graph/logger.js +0 -69
- package/dist/graph/logger.js.map +0 -1
- package/dist/graph/node.d.ts +0 -93
- package/dist/graph/node.d.ts.map +0 -1
- package/dist/graph/node.js +0 -259
- package/dist/graph/node.js.map +0 -1
- package/dist/graph/observer.d.ts +0 -115
- package/dist/graph/observer.d.ts.map +0 -1
- package/dist/graph/observer.js +0 -198
- package/dist/graph/observer.js.map +0 -1
- package/dist/index.d.ts +0 -26
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -42
- package/dist/index.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -447
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js +0 -75
- package/dist/interfaces/index.js.map +0 -1
- package/dist/modules/agenda/adapters/node-cron/index.d.ts +0 -17
- package/dist/modules/agenda/adapters/node-cron/index.d.ts.map +0 -1
- package/dist/modules/agenda/adapters/node-cron/index.js +0 -30
- package/dist/modules/agenda/adapters/node-cron/index.js.map +0 -1
- package/dist/modules/agenda/index.d.ts +0 -63
- package/dist/modules/agenda/index.d.ts.map +0 -1
- package/dist/modules/agenda/index.js +0 -141
- package/dist/modules/agenda/index.js.map +0 -1
- package/dist/modules/embedding/adapters/ai/index.d.ts +0 -29
- package/dist/modules/embedding/adapters/ai/index.d.ts.map +0 -1
- package/dist/modules/embedding/adapters/ai/index.js +0 -58
- package/dist/modules/embedding/adapters/ai/index.js.map +0 -1
- package/dist/modules/embedding/index.d.ts +0 -36
- package/dist/modules/embedding/index.d.ts.map +0 -1
- package/dist/modules/embedding/index.js +0 -60
- package/dist/modules/embedding/index.js.map +0 -1
- package/dist/modules/memory/adapters/in-memory/index.d.ts +0 -120
- package/dist/modules/memory/adapters/in-memory/index.d.ts.map +0 -1
- package/dist/modules/memory/adapters/in-memory/index.js +0 -211
- package/dist/modules/memory/adapters/in-memory/index.js.map +0 -1
- package/dist/modules/memory/adapters/meilisearch/index.d.ts +0 -110
- package/dist/modules/memory/adapters/meilisearch/index.d.ts.map +0 -1
- package/dist/modules/memory/adapters/meilisearch/index.js +0 -321
- package/dist/modules/memory/adapters/meilisearch/index.js.map +0 -1
- package/dist/modules/memory/adapters/redis/index.d.ts +0 -82
- package/dist/modules/memory/adapters/redis/index.d.ts.map +0 -1
- package/dist/modules/memory/adapters/redis/index.js +0 -159
- package/dist/modules/memory/adapters/redis/index.js.map +0 -1
- package/dist/modules/memory/index.d.ts +0 -67
- package/dist/modules/memory/index.d.ts.map +0 -1
- package/dist/modules/memory/index.js +0 -104
- package/dist/modules/memory/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -170
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/utils/generate-action-schema.d.ts +0 -5
- package/dist/utils/generate-action-schema.d.ts.map +0 -1
- package/dist/utils/generate-action-schema.js +0 -44
- package/dist/utils/generate-action-schema.js.map +0 -1
- package/dist/utils/header-builder.d.ts +0 -12
- package/dist/utils/header-builder.d.ts.map +0 -1
- package/dist/utils/header-builder.js +0 -35
- package/dist/utils/header-builder.js.map +0 -1
- package/graph/controller.ts +0 -74
- package/graph/event-manager.ts +0 -363
- package/graph/index.ts +0 -395
- package/graph/logger.ts +0 -70
- package/graph/node.ts +0 -327
- package/graph/observer.ts +0 -368
- package/interfaces/index.ts +0 -548
- package/modules/agenda/adapters/node-cron/index.ts +0 -25
- package/modules/agenda/index.ts +0 -146
- package/modules/embedding/adapters/ai/index.ts +0 -42
- package/modules/embedding/index.ts +0 -45
- package/modules/memory/adapters/in-memory/index.ts +0 -207
- package/modules/memory/adapters/meilisearch/index.ts +0 -361
- package/modules/memory/adapters/redis/index.ts +0 -164
- package/modules/memory/index.ts +0 -93
- package/test/graph/controller.test.ts +0 -187
- package/test/graph/event-manager.test.ts +0 -118
- package/test/graph/index.test.ts +0 -684
- package/test/graph/node.test.ts +0 -655
- package/test/graph/observer.test.ts +0 -398
- package/test/modules/agenda/node-cron.test.ts +0 -307
- package/test/modules/memory/adapters/in-memory.test.ts +0 -153
- package/test/modules/memory/adapters/meilisearch.test.ts +0 -287
- package/test/modules/memory/base.test.ts +0 -230
- package/types/index.ts +0 -190
- package/utils/generate-action-schema.ts +0 -46
- package/utils/header-builder.ts +0 -40
package/dist/graph/node.js
DELETED
@@ -1,259 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.GraphNode = void 0;
|
13
|
-
class GraphNode {
|
14
|
-
/**
|
15
|
-
* Creates a new GraphNode instance
|
16
|
-
* @param nodes - Map of all nodes in the graph
|
17
|
-
* @param logger - Logger instance for tracking node operations
|
18
|
-
* @param eventManager - Manager for handling graph events
|
19
|
-
* @param eventSubject - Subject for emitting events
|
20
|
-
* @param stateSubject - Subject for managing graph state
|
21
|
-
*/
|
22
|
-
constructor(nodes, logger, eventManager, eventSubject, stateSubject) {
|
23
|
-
this.nodes = nodes;
|
24
|
-
this.logger = logger;
|
25
|
-
this.eventManager = eventManager;
|
26
|
-
this.eventSubject = eventSubject;
|
27
|
-
this.stateSubject = stateSubject;
|
28
|
-
this.lastStateEvent = null;
|
29
|
-
this.eventEmitter = eventManager["eventEmitter"];
|
30
|
-
}
|
31
|
-
/**
|
32
|
-
* Emits an event with the specified type and payload
|
33
|
-
* @param type - The type of event to emit
|
34
|
-
* @param payload - The data associated with the event
|
35
|
-
* @private
|
36
|
-
*/
|
37
|
-
emitEvent(type, payload) {
|
38
|
-
var _a;
|
39
|
-
if (type === "nodeStateChanged") {
|
40
|
-
if (((_a = this.lastStateEvent) === null || _a === void 0 ? void 0 : _a.type) === type &&
|
41
|
-
this.lastStateEvent.payload.property === payload.property &&
|
42
|
-
this.lastStateEvent.payload.newValue === payload.newValue &&
|
43
|
-
this.lastStateEvent.payload.nodeName === payload.nodeName) {
|
44
|
-
return;
|
45
|
-
}
|
46
|
-
}
|
47
|
-
const event = {
|
48
|
-
type,
|
49
|
-
payload: Object.assign(Object.assign({}, payload), { name: type === "nodeStateChanged" ? payload.nodeName : payload.name, context: Object.assign({}, payload.context) }),
|
50
|
-
timestamp: Date.now(),
|
51
|
-
};
|
52
|
-
this.eventSubject.next(event);
|
53
|
-
this.eventManager.emitEvent(type, event);
|
54
|
-
if (type === "nodeStateChanged") {
|
55
|
-
this.lastStateEvent = event;
|
56
|
-
this.stateSubject.next(Object.assign({}, payload.context));
|
57
|
-
}
|
58
|
-
}
|
59
|
-
/**
|
60
|
-
* Executes a node with the given name and context
|
61
|
-
* @param nodeName - The name of the node to execute
|
62
|
-
* @param context - The current graph context
|
63
|
-
* @param params - Input data for the node
|
64
|
-
* @param triggeredByEvent - Whether the execution was triggered by an event
|
65
|
-
* @throws Error if the node is not found or execution fails
|
66
|
-
*/
|
67
|
-
executeNode(nodeName_1, context_1, params_1) {
|
68
|
-
return __awaiter(this, arguments, void 0, function* (nodeName, context, params, triggeredByEvent = false) {
|
69
|
-
const node = this.nodes.get(nodeName);
|
70
|
-
if (!node)
|
71
|
-
throw new Error(`Node "${nodeName}" not found.`);
|
72
|
-
const nodeContext = Object.assign({}, context);
|
73
|
-
this.emitEvent("nodeStarted", { name: nodeName, context: nodeContext });
|
74
|
-
try {
|
75
|
-
if (node.correlateEvents) {
|
76
|
-
yield this.eventManager.waitForCorrelatedEvents(node.correlateEvents.events, node.correlateEvents.timeout || 30000, (events) => {
|
77
|
-
return node.correlateEvents.correlation(events);
|
78
|
-
});
|
79
|
-
}
|
80
|
-
// Ensuite, attendre les événements si waitForEvents est défini
|
81
|
-
if (node.waitForEvents) {
|
82
|
-
yield this.eventManager.waitForEvents(node.waitForEvents.events, node.waitForEvents.timeout);
|
83
|
-
}
|
84
|
-
const contextProxy = new Proxy(nodeContext, {
|
85
|
-
set: (target, prop, value) => {
|
86
|
-
const oldValue = target[prop.toString()];
|
87
|
-
if (oldValue === value)
|
88
|
-
return true;
|
89
|
-
target[prop.toString()] = value;
|
90
|
-
// Mettre à jour le contexte global
|
91
|
-
context[prop.toString()] = value;
|
92
|
-
this.emitEvent("nodeStateChanged", {
|
93
|
-
nodeName,
|
94
|
-
property: prop.toString(),
|
95
|
-
oldValue,
|
96
|
-
newValue: value,
|
97
|
-
context: Object.assign({}, target),
|
98
|
-
});
|
99
|
-
return true;
|
100
|
-
},
|
101
|
-
});
|
102
|
-
if (node.condition && !node.condition(contextProxy, params)) {
|
103
|
-
return;
|
104
|
-
}
|
105
|
-
yield this.executeWithRetry(node, contextProxy, nodeName, params);
|
106
|
-
this.emitEvent("nodeCompleted", { name: nodeName, context: nodeContext });
|
107
|
-
if (!triggeredByEvent && node.next) {
|
108
|
-
const nextNodes = typeof node.next === "function" ? node.next(contextProxy) : node.next;
|
109
|
-
for (const nextNodeName of nextNodes) {
|
110
|
-
yield this.executeNode(nextNodeName, context, undefined, false);
|
111
|
-
}
|
112
|
-
}
|
113
|
-
}
|
114
|
-
catch (error) {
|
115
|
-
this.emitEvent("nodeError", {
|
116
|
-
name: nodeName,
|
117
|
-
error,
|
118
|
-
context: nodeContext,
|
119
|
-
});
|
120
|
-
throw error;
|
121
|
-
}
|
122
|
-
});
|
123
|
-
}
|
124
|
-
/**
|
125
|
-
* Validates the params for a node using its schema
|
126
|
-
* @param node - The node whose params need validation
|
127
|
-
* @param params - The input data to validate
|
128
|
-
* @param nodeName - The name of the node (for error messages)
|
129
|
-
* @throws Error if validation fails
|
130
|
-
* @private
|
131
|
-
*/
|
132
|
-
validateParams(node, params, nodeName) {
|
133
|
-
return __awaiter(this, void 0, void 0, function* () {
|
134
|
-
var _a, _b;
|
135
|
-
// Si pas de schéma de validation ou si le schéma est optionnel, accepter n'importe quels params
|
136
|
-
if (!node.params || ((_b = (_a = node.params).isOptional) === null || _b === void 0 ? void 0 : _b.call(_a)))
|
137
|
-
return;
|
138
|
-
// Vérifier les params uniquement si un schéma est défini et non optionnel
|
139
|
-
if (!params) {
|
140
|
-
throw new Error(`Params required for node "${nodeName}"`);
|
141
|
-
}
|
142
|
-
try {
|
143
|
-
return node.params.parse(params);
|
144
|
-
}
|
145
|
-
catch (error) {
|
146
|
-
throw error;
|
147
|
-
}
|
148
|
-
});
|
149
|
-
}
|
150
|
-
/**
|
151
|
-
* Handles event-related operations for a node
|
152
|
-
* @param node - The node whose events need handling
|
153
|
-
* @param nodeName - The name of the node
|
154
|
-
* @param context - The current graph context
|
155
|
-
* @private
|
156
|
-
*/
|
157
|
-
handleEvents(node, nodeName, context) {
|
158
|
-
return __awaiter(this, void 0, void 0, function* () {
|
159
|
-
if (node.correlateEvents) {
|
160
|
-
yield this.handleCorrelatedEvents(node, nodeName);
|
161
|
-
}
|
162
|
-
if (node.waitForEvents) {
|
163
|
-
yield this.handleWaitForEvents(node, nodeName);
|
164
|
-
}
|
165
|
-
});
|
166
|
-
}
|
167
|
-
/**
|
168
|
-
* Executes a node with retry logic
|
169
|
-
* @param node - The node to execute
|
170
|
-
* @param contextProxy - The proxied graph context
|
171
|
-
* @param params - Input data for the node
|
172
|
-
* @param nodeName - The name of the node
|
173
|
-
* @param params - Parameters for the node
|
174
|
-
* @throws Error if all retry attempts fail
|
175
|
-
* @private
|
176
|
-
*/
|
177
|
-
executeWithRetry(node, contextProxy, nodeName, params) {
|
178
|
-
return __awaiter(this, void 0, void 0, function* () {
|
179
|
-
var _a, _b, _c;
|
180
|
-
let attempts = 0;
|
181
|
-
let lastError = new Error("Unknown error");
|
182
|
-
while (attempts < (((_a = node.retry) === null || _a === void 0 ? void 0 : _a.maxAttempts) || 1)) {
|
183
|
-
try {
|
184
|
-
if (node.params) {
|
185
|
-
yield this.validateParams(node, params, nodeName);
|
186
|
-
}
|
187
|
-
yield node.execute(contextProxy, params, {
|
188
|
-
eventEmitter: this.eventEmitter,
|
189
|
-
});
|
190
|
-
return;
|
191
|
-
}
|
192
|
-
catch (error) {
|
193
|
-
lastError =
|
194
|
-
error instanceof Error
|
195
|
-
? error
|
196
|
-
: new Error((error === null || error === void 0 ? void 0 : error.message) || "Unknown error");
|
197
|
-
attempts++;
|
198
|
-
if (attempts === (((_b = node.retry) === null || _b === void 0 ? void 0 : _b.maxAttempts) || 1)) {
|
199
|
-
if ((_c = node.retry) === null || _c === void 0 ? void 0 : _c.onRetryFailed) {
|
200
|
-
yield node.retry.onRetryFailed(lastError, contextProxy);
|
201
|
-
if (node.retry.continueOnFailed)
|
202
|
-
return;
|
203
|
-
}
|
204
|
-
throw lastError;
|
205
|
-
}
|
206
|
-
yield new Promise((resolve) => { var _a; return setTimeout(resolve, ((_a = node.retry) === null || _a === void 0 ? void 0 : _a.delay) || 0); });
|
207
|
-
}
|
208
|
-
}
|
209
|
-
});
|
210
|
-
}
|
211
|
-
/**
|
212
|
-
* Handles correlated events for a node
|
213
|
-
* @param node - The node with correlated events
|
214
|
-
* @param nodeName - The name of the node
|
215
|
-
* @throws Error if correlation fails or timeout occurs
|
216
|
-
* @private
|
217
|
-
*/
|
218
|
-
handleCorrelatedEvents(node, nodeName) {
|
219
|
-
return __awaiter(this, void 0, void 0, function* () {
|
220
|
-
if (node.correlateEvents) {
|
221
|
-
const { events, timeout, correlation } = node.correlateEvents;
|
222
|
-
this.logger.addLog(`⏳ Node "${nodeName}" waiting for correlated events: ${events.join(", ")}`);
|
223
|
-
try {
|
224
|
-
// Attendre les événements
|
225
|
-
const receivedEvents = yield this.eventManager.waitForEvents(events, timeout);
|
226
|
-
// Vérifier la corrélation
|
227
|
-
if (!correlation(receivedEvents)) {
|
228
|
-
this.logger.addLog(`❌ Event correlation failed for node "${nodeName}"`);
|
229
|
-
throw new Error(`Event correlation failed for node "${nodeName}"`);
|
230
|
-
}
|
231
|
-
this.logger.addLog(`✅ Event correlation succeeded for node "${nodeName}"`);
|
232
|
-
}
|
233
|
-
catch (error) {
|
234
|
-
this.logger.addLog(`❌ Error waiting for events: ${error.message}`);
|
235
|
-
throw error;
|
236
|
-
}
|
237
|
-
}
|
238
|
-
});
|
239
|
-
}
|
240
|
-
/**
|
241
|
-
* Handles waiting for events
|
242
|
-
* @param node - The node waiting for events
|
243
|
-
* @param nodeName - The name of the node
|
244
|
-
* @throws Error if timeout occurs
|
245
|
-
* @private
|
246
|
-
*/
|
247
|
-
handleWaitForEvents(node, nodeName) {
|
248
|
-
return __awaiter(this, void 0, void 0, function* () {
|
249
|
-
if (node.waitForEvents) {
|
250
|
-
const { events, timeout } = node.waitForEvents;
|
251
|
-
this.logger.addLog(`⏳ Node "${nodeName}" waiting for events: ${events.join(", ")}`);
|
252
|
-
yield this.eventManager.waitForEvents(events, timeout);
|
253
|
-
this.logger.addLog(`✅ All events received for node "${nodeName}"`);
|
254
|
-
}
|
255
|
-
});
|
256
|
-
}
|
257
|
-
}
|
258
|
-
exports.GraphNode = GraphNode;
|
259
|
-
//# sourceMappingURL=node.js.map
|
package/dist/graph/node.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../graph/node.ts"],"names":[],"mappings":"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"}
|
package/dist/graph/observer.d.ts
DELETED
@@ -1,115 +0,0 @@
|
|
1
|
-
import { BehaviorSubject, Observable, Subject } from "rxjs";
|
2
|
-
import { ZodSchema } from "zod";
|
3
|
-
import { GraphObservable } from "../interfaces";
|
4
|
-
import { GraphContext, GraphEvent } from "../types";
|
5
|
-
import { GraphFlow } from "./index";
|
6
|
-
interface ObserverOptions {
|
7
|
-
debounce?: number;
|
8
|
-
delay?: number;
|
9
|
-
stream?: boolean;
|
10
|
-
properties?: (string | number)[];
|
11
|
-
onStreamLetter?: (data: {
|
12
|
-
letter: string;
|
13
|
-
property: string;
|
14
|
-
}) => void;
|
15
|
-
onStreamComplete?: () => void;
|
16
|
-
}
|
17
|
-
/**
|
18
|
-
* GraphObserver class provides reactive observation capabilities for a GraphFlow instance
|
19
|
-
* It allows monitoring state changes, node updates, and specific events in the graph
|
20
|
-
* @template T - The Zod schema type that defines the structure of the graph data
|
21
|
-
*/
|
22
|
-
export declare class GraphObserver<T extends ZodSchema> {
|
23
|
-
private graph;
|
24
|
-
private eventSubject;
|
25
|
-
private stateSubject;
|
26
|
-
private destroySubject;
|
27
|
-
constructor(graph: GraphFlow<T>, eventSubject: Subject<GraphEvent<T>>, stateSubject: BehaviorSubject<GraphContext<T>>, destroySubject: Subject<void>);
|
28
|
-
/**
|
29
|
-
* Observes the entire graph state changes
|
30
|
-
* @param options Configuration options for the observation
|
31
|
-
* @param options.debounce Debounce time in milliseconds
|
32
|
-
* @param options.delay Delay between emissions in milliseconds
|
33
|
-
* @param options.stream If true, streams the specified properties letter by letter
|
34
|
-
* @param options.properties List of properties to stream
|
35
|
-
* @param options.onStreamLetter Callback for each letter emitted during streaming
|
36
|
-
* @param options.onStreamComplete Callback when streaming is complete
|
37
|
-
* @returns An Observable that emits the complete graph context whenever it changes
|
38
|
-
*/
|
39
|
-
state(options?: ObserverOptions): GraphObservable<T>;
|
40
|
-
/**
|
41
|
-
* Observes state changes for a specific node
|
42
|
-
* @param name - The name of the node to observe
|
43
|
-
* @returns An Observable that emits the graph context when the specified node changes
|
44
|
-
*/
|
45
|
-
node(name: string): Observable<GraphContext<T>>;
|
46
|
-
/**
|
47
|
-
* Observes state changes for multiple nodes
|
48
|
-
* @param names - Array of node names to observe
|
49
|
-
* @returns An Observable that emits the graph context when any of the specified nodes change
|
50
|
-
*/
|
51
|
-
nodes(names: string[]): Observable<GraphContext<T>>;
|
52
|
-
/**
|
53
|
-
* Observes specific properties of the graph context
|
54
|
-
* @param keys - Single or multiple property keys to observe
|
55
|
-
* @returns An Observable that emits an object containing only the specified properties
|
56
|
-
* @template K - The key of the property to observe from GraphContext<T>
|
57
|
-
*/
|
58
|
-
property<K extends keyof GraphContext<T>>(keys: K | K[]): Observable<{
|
59
|
-
[P in K]: GraphContext<T>[P];
|
60
|
-
} & {
|
61
|
-
name: string;
|
62
|
-
}>;
|
63
|
-
/**
|
64
|
-
* Observes specific events in the graph
|
65
|
-
* @param type - The type of event to observe
|
66
|
-
* @returns An Observable that emits events of the specified type
|
67
|
-
*/
|
68
|
-
event(type: string): Observable<GraphEvent<T>>;
|
69
|
-
/**
|
70
|
-
* Waits for a specific condition to be met on an observable
|
71
|
-
* @param observable - The Observable to watch
|
72
|
-
* @param predicate - A function that returns true when the desired condition is met
|
73
|
-
* @returns A Promise that resolves with the value when the predicate returns true
|
74
|
-
* @template R - The type of value emitted by the observable
|
75
|
-
*/
|
76
|
-
until<R>(observable: Observable<R>, predicate: (value: R) => boolean): Promise<R>;
|
77
|
-
/**
|
78
|
-
* Waits for correlated events to occur and validates them using a correlation function
|
79
|
-
* @param eventTypes - Array of event types to wait for
|
80
|
-
* @param timeoutMs - Timeout duration in milliseconds
|
81
|
-
* @param correlationFn - Function to validate the correlation between events
|
82
|
-
* @returns Promise that resolves when all correlated events are received
|
83
|
-
*/
|
84
|
-
waitForCorrelatedEvents(eventTypes: string[], timeoutMs: number, correlationFn: (events: GraphEvent<T>[]) => boolean): Promise<GraphEvent<T>[]>;
|
85
|
-
/**
|
86
|
-
* Observes the current state of the graph
|
87
|
-
* @returns Observable that emits the current graph context
|
88
|
-
*/
|
89
|
-
observeState(): Observable<GraphContext<T>>;
|
90
|
-
/**
|
91
|
-
* Observes specific event types in the graph
|
92
|
-
* @param eventType - The type of event to observe
|
93
|
-
* @returns Observable that emits events of the specified type
|
94
|
-
*/
|
95
|
-
observeEvents(eventType: string): Observable<GraphEvent<T>>;
|
96
|
-
/**
|
97
|
-
* Observes state changes for a specific node
|
98
|
-
* @param nodeName - The name of the node to observe
|
99
|
-
* @returns Observable that emits the graph context when the specified node changes
|
100
|
-
*/
|
101
|
-
observeNodeState(nodeName: string): Observable<GraphContext<T>>;
|
102
|
-
/**
|
103
|
-
* Streams a message letter by letter with a specified delay
|
104
|
-
* @param message - The message to stream
|
105
|
-
* @param delayMs - The delay in milliseconds between each letter
|
106
|
-
* @param property - The property name being streamed
|
107
|
-
* @returns An Observable that emits each letter of the message along with its property
|
108
|
-
*/
|
109
|
-
streamMessage(message: string, delayMs: number, property: string): Observable<{
|
110
|
-
letter: string;
|
111
|
-
property: string;
|
112
|
-
}>;
|
113
|
-
}
|
114
|
-
export {};
|
115
|
-
//# sourceMappingURL=observer.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../graph/observer.ts"],"names":[],"mappings":"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"}
|
package/dist/graph/observer.js
DELETED
@@ -1,198 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.GraphObserver = void 0;
|
4
|
-
const rxjs_1 = require("rxjs");
|
5
|
-
const operators_1 = require("rxjs/operators");
|
6
|
-
/**
|
7
|
-
* GraphObserver class provides reactive observation capabilities for a GraphFlow instance
|
8
|
-
* It allows monitoring state changes, node updates, and specific events in the graph
|
9
|
-
* @template T - The Zod schema type that defines the structure of the graph data
|
10
|
-
*/
|
11
|
-
class GraphObserver {
|
12
|
-
constructor(graph, eventSubject, stateSubject, destroySubject) {
|
13
|
-
this.graph = graph;
|
14
|
-
this.eventSubject = eventSubject;
|
15
|
-
this.stateSubject = stateSubject;
|
16
|
-
this.destroySubject = destroySubject;
|
17
|
-
}
|
18
|
-
/**
|
19
|
-
* Observes the entire graph state changes
|
20
|
-
* @param options Configuration options for the observation
|
21
|
-
* @param options.debounce Debounce time in milliseconds
|
22
|
-
* @param options.delay Delay between emissions in milliseconds
|
23
|
-
* @param options.stream If true, streams the specified properties letter by letter
|
24
|
-
* @param options.properties List of properties to stream
|
25
|
-
* @param options.onStreamLetter Callback for each letter emitted during streaming
|
26
|
-
* @param options.onStreamComplete Callback when streaming is complete
|
27
|
-
* @returns An Observable that emits the complete graph context whenever it changes
|
28
|
-
*/
|
29
|
-
state(options = {}) {
|
30
|
-
const baseObservable = new rxjs_1.Observable((subscriber) => {
|
31
|
-
const subscription = (0, rxjs_1.combineLatest)([
|
32
|
-
this.eventSubject.pipe((0, operators_1.filter)((event) => event.type === "nodeStateChanged"), (0, operators_1.map)((event) => event.payload.context), (0, operators_1.distinctUntilChanged)((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)), (0, operators_1.debounceTime)(options.debounce || 100)),
|
33
|
-
this.stateSubject,
|
34
|
-
])
|
35
|
-
.pipe((0, operators_1.map)(([eventContext, stateContext]) => (Object.assign(Object.assign({}, stateContext), eventContext))), (0, operators_1.distinctUntilChanged)((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)))
|
36
|
-
.subscribe(subscriber);
|
37
|
-
// Stream the specified properties if specified
|
38
|
-
if (options.stream && options.properties) {
|
39
|
-
const context = this.stateSubject.getValue();
|
40
|
-
options.properties.forEach((property) => {
|
41
|
-
const message = context[property];
|
42
|
-
if (message) {
|
43
|
-
this.streamMessage(message.toString(), 500, property).subscribe({
|
44
|
-
next: (data) => { var _a; return (_a = options.onStreamLetter) === null || _a === void 0 ? void 0 : _a.call(options, data); },
|
45
|
-
complete: () => { var _a; return (_a = options.onStreamComplete) === null || _a === void 0 ? void 0 : _a.call(options); },
|
46
|
-
});
|
47
|
-
}
|
48
|
-
});
|
49
|
-
}
|
50
|
-
return () => subscription.unsubscribe();
|
51
|
-
});
|
52
|
-
// Extend the observable with our custom methods
|
53
|
-
return Object.assign(baseObservable, {
|
54
|
-
state: () => this.stateSubject.asObservable(),
|
55
|
-
node: (nodeName) => this.stateSubject.pipe((0, operators_1.map)((state) => (Object.assign(Object.assign({}, state), { nodeName })))),
|
56
|
-
nodes: (nodeNames) => this.eventSubject.pipe((0, operators_1.filter)((event) => {
|
57
|
-
var _a, _b;
|
58
|
-
return event.type === "nodeStateChanged" &&
|
59
|
-
nodeNames.includes((_b = (_a = event.payload) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "");
|
60
|
-
}), (0, operators_1.map)((event) => event.payload.context), (0, operators_1.distinctUntilChanged)((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)), (0, operators_1.takeUntil)(this.destroySubject), (0, operators_1.share)()),
|
61
|
-
property: (props) => this.stateSubject.pipe((0, operators_1.map)((state) => {
|
62
|
-
const properties = Array.isArray(props) ? props : [props];
|
63
|
-
return properties.reduce((acc, prop) => (Object.assign(Object.assign({}, acc), { [prop]: state[prop] })), {});
|
64
|
-
})),
|
65
|
-
event: (eventName) => this.eventSubject.pipe((0, operators_1.filter)((event) => event.type === eventName)),
|
66
|
-
until: (observable, predicate) => (0, rxjs_1.firstValueFrom)(observable.pipe((0, operators_1.filter)(predicate), (0, operators_1.take)(1))),
|
67
|
-
});
|
68
|
-
}
|
69
|
-
/**
|
70
|
-
* Observes state changes for a specific node
|
71
|
-
* @param name - The name of the node to observe
|
72
|
-
* @returns An Observable that emits the graph context when the specified node changes
|
73
|
-
*/
|
74
|
-
node(name) {
|
75
|
-
return this.eventSubject.pipe((0, operators_1.filter)((event) => { var _a; return event.type === "nodeStateChanged" && ((_a = event.payload) === null || _a === void 0 ? void 0 : _a.name) === name; }), (0, operators_1.map)((event) => event.payload.context), (0, operators_1.distinctUntilChanged)((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)), (0, operators_1.takeUntil)(this.destroySubject), (0, operators_1.share)());
|
76
|
-
}
|
77
|
-
/**
|
78
|
-
* Observes state changes for multiple nodes
|
79
|
-
* @param names - Array of node names to observe
|
80
|
-
* @returns An Observable that emits the graph context when any of the specified nodes change
|
81
|
-
*/
|
82
|
-
nodes(names) {
|
83
|
-
return this.eventSubject.pipe((0, operators_1.filter)((event) => {
|
84
|
-
var _a, _b;
|
85
|
-
return names.includes((_b = (_a = event.payload) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : "") &&
|
86
|
-
event.type === "nodeStateChanged";
|
87
|
-
}), (0, operators_1.map)(() => this.graph.getContext()), (0, operators_1.distinctUntilChanged)((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)), (0, operators_1.takeUntil)(this.destroySubject), (0, operators_1.share)());
|
88
|
-
}
|
89
|
-
/**
|
90
|
-
* Observes specific properties of the graph context
|
91
|
-
* @param keys - Single or multiple property keys to observe
|
92
|
-
* @returns An Observable that emits an object containing only the specified properties
|
93
|
-
* @template K - The key of the property to observe from GraphContext<T>
|
94
|
-
*/
|
95
|
-
property(keys) {
|
96
|
-
const properties = Array.isArray(keys) ? keys : [keys];
|
97
|
-
return this.eventSubject.pipe((0, operators_1.filter)((event) => event.type === "nodeStateChanged" &&
|
98
|
-
properties.some((key) => { var _a; return ((_a = event.payload) === null || _a === void 0 ? void 0 : _a.property) === key; })), (0, operators_1.map)((event) => (Object.assign(Object.assign({}, properties.reduce((obj, key) => (Object.assign(Object.assign({}, obj), { [key]: event.payload.context[key] })), {})), { name: event.payload.name }))), (0, operators_1.startWith)(Object.assign(Object.assign({}, properties.reduce((obj, key) => (Object.assign(Object.assign({}, obj), { [key]: this.stateSubject.value[key] })), {})), { name: "initial" })), (0, operators_1.distinctUntilChanged)((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)), (0, operators_1.share)());
|
99
|
-
}
|
100
|
-
/**
|
101
|
-
* Observes specific events in the graph
|
102
|
-
* @param type - The type of event to observe
|
103
|
-
* @returns An Observable that emits events of the specified type
|
104
|
-
*/
|
105
|
-
event(type) {
|
106
|
-
return this.eventSubject.pipe((0, operators_1.filter)((event) => event.type === type), (0, operators_1.map)((event) => event), (0, operators_1.takeUntil)(this.destroySubject), (0, operators_1.share)());
|
107
|
-
}
|
108
|
-
/**
|
109
|
-
* Waits for a specific condition to be met on an observable
|
110
|
-
* @param observable - The Observable to watch
|
111
|
-
* @param predicate - A function that returns true when the desired condition is met
|
112
|
-
* @returns A Promise that resolves with the value when the predicate returns true
|
113
|
-
* @template R - The type of value emitted by the observable
|
114
|
-
*/
|
115
|
-
until(observable, predicate) {
|
116
|
-
return new Promise((resolve) => {
|
117
|
-
const subscription = observable.subscribe({
|
118
|
-
next: (value) => {
|
119
|
-
if (predicate(value)) {
|
120
|
-
subscription.unsubscribe();
|
121
|
-
resolve(value);
|
122
|
-
}
|
123
|
-
},
|
124
|
-
});
|
125
|
-
});
|
126
|
-
}
|
127
|
-
/**
|
128
|
-
* Waits for correlated events to occur and validates them using a correlation function
|
129
|
-
* @param eventTypes - Array of event types to wait for
|
130
|
-
* @param timeoutMs - Timeout duration in milliseconds
|
131
|
-
* @param correlationFn - Function to validate the correlation between events
|
132
|
-
* @returns Promise that resolves when all correlated events are received
|
133
|
-
*/
|
134
|
-
waitForCorrelatedEvents(eventTypes, timeoutMs, correlationFn) {
|
135
|
-
return new Promise((resolve, reject) => {
|
136
|
-
const eventObservables = eventTypes.map((eventType) => this.eventSubject.pipe((0, operators_1.filter)((event) => {
|
137
|
-
return event.type === eventType && "timestamp" in event;
|
138
|
-
}), (0, operators_1.take)(1)));
|
139
|
-
(0, rxjs_1.combineLatest)(eventObservables)
|
140
|
-
.pipe((0, operators_1.timeout)(timeoutMs), (0, operators_1.take)(1))
|
141
|
-
.subscribe({
|
142
|
-
next: (events) => {
|
143
|
-
if (correlationFn(events)) {
|
144
|
-
resolve(events);
|
145
|
-
}
|
146
|
-
else {
|
147
|
-
reject(new Error(`Correlation validation failed`));
|
148
|
-
}
|
149
|
-
},
|
150
|
-
error: (error) => reject(error),
|
151
|
-
});
|
152
|
-
});
|
153
|
-
}
|
154
|
-
/**
|
155
|
-
* Observes the current state of the graph
|
156
|
-
* @returns Observable that emits the current graph context
|
157
|
-
*/
|
158
|
-
observeState() {
|
159
|
-
return this.stateSubject.asObservable().pipe((0, operators_1.takeUntil)(this.destroySubject), (0, operators_1.distinctUntilChanged)((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)));
|
160
|
-
}
|
161
|
-
/**
|
162
|
-
* Observes specific event types in the graph
|
163
|
-
* @param eventType - The type of event to observe
|
164
|
-
* @returns Observable that emits events of the specified type
|
165
|
-
*/
|
166
|
-
observeEvents(eventType) {
|
167
|
-
return this.eventSubject.asObservable().pipe((0, operators_1.takeUntil)(this.destroySubject), (0, operators_1.filter)((event) => event.type === eventType));
|
168
|
-
}
|
169
|
-
/**
|
170
|
-
* Observes state changes for a specific node
|
171
|
-
* @param nodeName - The name of the node to observe
|
172
|
-
* @returns Observable that emits the graph context when the specified node changes
|
173
|
-
*/
|
174
|
-
observeNodeState(nodeName) {
|
175
|
-
return this.eventSubject.asObservable().pipe((0, operators_1.takeUntil)(this.destroySubject), (0, operators_1.filter)((event) => { var _a; return event.type === "nodeStateChanged" && ((_a = event.payload) === null || _a === void 0 ? void 0 : _a.name) === nodeName; }), (0, operators_1.map)(() => this.stateSubject.value));
|
176
|
-
}
|
177
|
-
/**
|
178
|
-
* Streams a message letter by letter with a specified delay
|
179
|
-
* @param message - The message to stream
|
180
|
-
* @param delayMs - The delay in milliseconds between each letter
|
181
|
-
* @param property - The property name being streamed
|
182
|
-
* @returns An Observable that emits each letter of the message along with its property
|
183
|
-
*/
|
184
|
-
streamMessage(message, delayMs, property) {
|
185
|
-
return new rxjs_1.Observable((subscriber) => {
|
186
|
-
for (let i = 0; i < message.length; i++) {
|
187
|
-
setTimeout(() => {
|
188
|
-
subscriber.next({ letter: message[i], property });
|
189
|
-
if (i === message.length - 1) {
|
190
|
-
subscriber.complete();
|
191
|
-
}
|
192
|
-
}, i * delayMs);
|
193
|
-
}
|
194
|
-
});
|
195
|
-
}
|
196
|
-
}
|
197
|
-
exports.GraphObserver = GraphObserver;
|
198
|
-
//# sourceMappingURL=observer.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"observer.js","sourceRoot":"","sources":["../../graph/observer.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @module @ai.ntellect/core
|
3
|
-
* @description Core module with workflow functionality, providing graph management,
|
4
|
-
* memory storage, agenda scheduling, and embedding capabilities.
|
5
|
-
*
|
6
|
-
* This module exports various components:
|
7
|
-
* - Graph management and controller
|
8
|
-
* - Memory storage adapters (Meilisearch, Redis)
|
9
|
-
* - Agenda scheduling with node-cron adapter
|
10
|
-
* - Embedding functionality with AI adapter
|
11
|
-
* - Utility functions for action schema generation and header building
|
12
|
-
*/
|
13
|
-
export * from "./graph/controller";
|
14
|
-
export * from "./graph/index";
|
15
|
-
export * from "./modules/memory";
|
16
|
-
export * from "./modules/memory/adapters/meilisearch";
|
17
|
-
export * from "./modules/memory/adapters/redis";
|
18
|
-
export * from "./interfaces";
|
19
|
-
export * from "./modules/agenda";
|
20
|
-
export * from "./modules/agenda/adapters/node-cron";
|
21
|
-
export * from "./modules/embedding";
|
22
|
-
export * from "./modules/embedding/adapters/ai";
|
23
|
-
export * from "./types";
|
24
|
-
export * from "./utils/generate-action-schema";
|
25
|
-
export * from "./utils/header-builder";
|
26
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAEhD,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,SAAS,CAAC;AAExB,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC"}
|