@ai.ntellect/core 0.7.13 → 0.8.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.
Files changed (104) hide show
  1. package/dist/graph/controller.d.ts +3 -3
  2. package/dist/graph/controller.d.ts.map +1 -1
  3. package/dist/graph/controller.js +14 -5
  4. package/dist/graph/controller.js.map +1 -1
  5. package/dist/graph/event-manager.d.ts +9 -1
  6. package/dist/graph/event-manager.d.ts.map +1 -1
  7. package/dist/graph/event-manager.js +115 -37
  8. package/dist/graph/event-manager.js.map +1 -1
  9. package/dist/graph/index.d.ts +21 -2
  10. package/dist/graph/index.d.ts.map +1 -1
  11. package/dist/graph/index.js +60 -11
  12. package/dist/graph/index.js.map +1 -1
  13. package/dist/graph/node.d.ts +0 -24
  14. package/dist/graph/node.d.ts.map +1 -1
  15. package/dist/graph/node.js +2 -71
  16. package/dist/graph/node.js.map +1 -1
  17. package/dist/graph/observer.d.ts +6 -87
  18. package/dist/graph/observer.d.ts.map +1 -1
  19. package/dist/graph/observer.js +3 -116
  20. package/dist/graph/observer.js.map +1 -1
  21. package/dist/index.d.ts +1 -6
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -6
  24. package/dist/index.js.map +1 -1
  25. package/dist/interfaces/index.d.ts +10 -1
  26. package/dist/interfaces/index.d.ts.map +1 -1
  27. package/dist/interfaces/index.js.map +1 -1
  28. package/dist/modules/agent/agent.d.ts +35 -0
  29. package/dist/modules/agent/agent.d.ts.map +1 -0
  30. package/dist/modules/agent/agent.js +106 -0
  31. package/dist/modules/agent/agent.js.map +1 -0
  32. package/dist/modules/agent/base/executor.d.ts +51 -0
  33. package/dist/modules/agent/base/executor.d.ts.map +1 -0
  34. package/dist/modules/agent/base/executor.js +66 -0
  35. package/dist/modules/agent/base/executor.js.map +1 -0
  36. package/dist/modules/agent/base/index.d.ts +30 -0
  37. package/dist/modules/agent/base/index.d.ts.map +1 -0
  38. package/dist/modules/agent/base/index.js +100 -0
  39. package/dist/modules/agent/base/index.js.map +1 -0
  40. package/dist/modules/agent/generic-assistant.d.ts +20 -0
  41. package/dist/modules/agent/generic-assistant.d.ts.map +1 -0
  42. package/dist/modules/agent/generic-assistant.js +89 -0
  43. package/dist/modules/agent/generic-assistant.js.map +1 -0
  44. package/dist/modules/agent/generic-executor.d.ts +57 -0
  45. package/dist/modules/agent/generic-executor.d.ts.map +1 -0
  46. package/dist/modules/agent/generic-executor.js +200 -0
  47. package/dist/modules/agent/generic-executor.js.map +1 -0
  48. package/dist/modules/agent/llm-factory.d.ts +19 -0
  49. package/dist/modules/agent/llm-factory.d.ts.map +1 -0
  50. package/dist/modules/agent/llm-factory.js +56 -0
  51. package/dist/modules/agent/llm-factory.js.map +1 -0
  52. package/dist/modules/agent/prompt-builder.d.ts +35 -0
  53. package/dist/modules/agent/prompt-builder.d.ts.map +1 -0
  54. package/dist/modules/agent/prompt-builder.js +76 -0
  55. package/dist/modules/agent/prompt-builder.js.map +1 -0
  56. package/dist/modules/memory/adapters/in-memory/index.d.ts.map +1 -1
  57. package/dist/modules/memory/adapters/in-memory/index.js +4 -3
  58. package/dist/modules/memory/adapters/in-memory/index.js.map +1 -1
  59. package/dist/modules/memory/adapters/meilisearch/index.d.ts.map +1 -1
  60. package/dist/modules/memory/adapters/meilisearch/index.js +7 -4
  61. package/dist/modules/memory/adapters/meilisearch/index.js.map +1 -1
  62. package/dist/modules/memory/adapters/redis/index.d.ts.map +1 -1
  63. package/dist/modules/memory/adapters/redis/index.js +2 -1
  64. package/dist/modules/memory/adapters/redis/index.js.map +1 -1
  65. package/dist/modules/nlp/engine.d.ts +126 -0
  66. package/dist/modules/nlp/engine.d.ts.map +1 -0
  67. package/dist/modules/nlp/engine.js +300 -0
  68. package/dist/modules/nlp/engine.js.map +1 -0
  69. package/dist/modules/nlp/index.d.ts +27 -0
  70. package/dist/modules/nlp/index.d.ts.map +1 -0
  71. package/dist/modules/nlp/index.js +56 -0
  72. package/dist/modules/nlp/index.js.map +1 -0
  73. package/dist/types/agent.d.ts +233 -0
  74. package/dist/types/agent.d.ts.map +1 -0
  75. package/dist/types/agent.js +29 -0
  76. package/dist/types/agent.js.map +1 -0
  77. package/dist/types/index.d.ts +81 -18
  78. package/dist/types/index.d.ts.map +1 -1
  79. package/dist/utils/generate-action-schema.d.ts.map +1 -1
  80. package/graph/controller.ts +21 -10
  81. package/graph/event-manager.ts +135 -42
  82. package/graph/index.ts +58 -5
  83. package/graph/node.ts +2 -104
  84. package/graph/observer.ts +9 -215
  85. package/index.ts +2 -7
  86. package/interfaces/index.ts +12 -0
  87. package/modules/agent/agent.ts +108 -0
  88. package/modules/agent/base/executor.ts +100 -0
  89. package/modules/agent/base/index.ts +99 -0
  90. package/modules/agent/generic-assistant.ts +90 -0
  91. package/modules/agent/generic-executor.ts +259 -0
  92. package/modules/agent/llm-factory.ts +47 -0
  93. package/modules/agent/prompt-builder.ts +78 -0
  94. package/modules/memory/adapters/in-memory/index.ts +4 -3
  95. package/modules/memory/adapters/meilisearch/index.ts +7 -4
  96. package/modules/memory/adapters/redis/index.ts +2 -1
  97. package/modules/nlp/engine.ts +325 -0
  98. package/modules/nlp/index.ts +45 -0
  99. package/package.json +5 -2
  100. package/test/graph/controller.test.ts +18 -14
  101. package/test/graph/index.test.ts +10 -8
  102. package/test/graph/node.test.ts +18 -14
  103. package/types/agent.ts +174 -0
  104. package/types/index.ts +84 -18
@@ -0,0 +1,233 @@
1
+ import { GraphFlow } from "@/graph";
2
+ import { z } from "zod";
3
+ /**
4
+ * Represents an action that has been executed by the agent
5
+ * @interface ExecutedAction
6
+ * @property {string} name - The name of the executed action
7
+ * @property {boolean} isExecuted - Whether the action was successfully executed
8
+ * @property {string | null} [error] - Optional error message if the action failed
9
+ * @property {any} result - The result of the action execution
10
+ * @property {string} timestamp - When the action was executed
11
+ */
12
+ export type ExecutedAction = {
13
+ name: string;
14
+ isExecuted: boolean;
15
+ error?: string | null;
16
+ result: any;
17
+ timestamp: string;
18
+ };
19
+ /**
20
+ * Represents the context in which an agent operates
21
+ * @interface AgentContext
22
+ * @property {Object} input - The input provided to the agent
23
+ * @property {string} input.raw - The raw input text
24
+ * @property {number[]} [input.embedding] - Optional vector embedding of the input
25
+ * @property {ActionSchema[]} actions - List of actions available to the agent
26
+ * @property {string} response - The agent's response
27
+ * @property {string} [knowledge] - Optional knowledge base or context
28
+ * @property {ExecutedAction[]} executedActions - History of executed actions
29
+ */
30
+ export type AgentContext = {
31
+ input: {
32
+ raw: string;
33
+ embedding?: number[];
34
+ };
35
+ actions: ActionSchema[];
36
+ response: string;
37
+ knowledge?: string;
38
+ executedActions: ExecutedAction[];
39
+ };
40
+ export declare const AgentContextSchema: z.ZodObject<{
41
+ input: z.ZodObject<{
42
+ raw: z.ZodString;
43
+ embedding: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ raw: string;
46
+ embedding?: number[] | undefined;
47
+ }, {
48
+ raw: string;
49
+ embedding?: number[] | undefined;
50
+ }>;
51
+ actions: z.ZodArray<z.ZodObject<{
52
+ name: z.ZodString;
53
+ parameters: z.ZodArray<z.ZodObject<{
54
+ name: z.ZodString;
55
+ value: z.ZodAny;
56
+ }, "strip", z.ZodTypeAny, {
57
+ name: string;
58
+ value?: any;
59
+ }, {
60
+ name: string;
61
+ value?: any;
62
+ }>, "many">;
63
+ isExecuted: z.ZodOptional<z.ZodBoolean>;
64
+ result: z.ZodOptional<z.ZodAny>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ name: string;
67
+ parameters: {
68
+ name: string;
69
+ value?: any;
70
+ }[];
71
+ isExecuted?: boolean | undefined;
72
+ result?: any;
73
+ }, {
74
+ name: string;
75
+ parameters: {
76
+ name: string;
77
+ value?: any;
78
+ }[];
79
+ isExecuted?: boolean | undefined;
80
+ result?: any;
81
+ }>, "many">;
82
+ knowledge: z.ZodOptional<z.ZodString>;
83
+ response: z.ZodString;
84
+ executedActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
+ name: z.ZodString;
86
+ result: z.ZodAny;
87
+ timestamp: z.ZodString;
88
+ }, "strip", z.ZodTypeAny, {
89
+ name: string;
90
+ timestamp: string;
91
+ result?: any;
92
+ }, {
93
+ name: string;
94
+ timestamp: string;
95
+ result?: any;
96
+ }>, "many">>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ input: {
99
+ raw: string;
100
+ embedding?: number[] | undefined;
101
+ };
102
+ actions: {
103
+ name: string;
104
+ parameters: {
105
+ name: string;
106
+ value?: any;
107
+ }[];
108
+ isExecuted?: boolean | undefined;
109
+ result?: any;
110
+ }[];
111
+ response: string;
112
+ knowledge?: string | undefined;
113
+ executedActions?: {
114
+ name: string;
115
+ timestamp: string;
116
+ result?: any;
117
+ }[] | undefined;
118
+ }, {
119
+ input: {
120
+ raw: string;
121
+ embedding?: number[] | undefined;
122
+ };
123
+ actions: {
124
+ name: string;
125
+ parameters: {
126
+ name: string;
127
+ value?: any;
128
+ }[];
129
+ isExecuted?: boolean | undefined;
130
+ result?: any;
131
+ }[];
132
+ response: string;
133
+ knowledge?: string | undefined;
134
+ executedActions?: {
135
+ name: string;
136
+ timestamp: string;
137
+ result?: any;
138
+ }[] | undefined;
139
+ }>;
140
+ /**
141
+ * Represents a section of the prompt with a title and content
142
+ * @interface PromptSection
143
+ * @property {string} title - The title of the prompt section
144
+ * @property {string | ((context: AgentContext) => string | Promise<string>)} content - The content or a function to generate content
145
+ */
146
+ export type PromptSection = {
147
+ title: string;
148
+ content: string | ((context: AgentContext) => string | Promise<string>);
149
+ };
150
+ /**
151
+ * Supported LLM providers
152
+ */
153
+ export type LLMProvider = "openai" | "anthropic" | "custom";
154
+ /**
155
+ * Supported LLM models
156
+ */
157
+ export type LLMModel = "gpt-4" | "gpt-3.5-turbo" | "claude-2" | string;
158
+ export type ExecutorConfig = {
159
+ llmConfig: LLMConfig;
160
+ verbose?: boolean;
161
+ };
162
+ /**
163
+ * Configuration for the Agent
164
+ * @type AssistantConfig
165
+ * @extends {Omit<ExecutorConfig, "verbose">}
166
+ * @property {string} role - The function/job of the assistant (e.g., "Email Assistant")
167
+ * @property {string} goal - The specific objective the assistant tries to achieve
168
+ * @property {string} backstory - The personality and behavioral traits of the assistant
169
+ * @property {any[]} [tools] - Optional tools the assistant can use
170
+ * @property {any} [memory] - Optional memory system
171
+ * @property {boolean} [verbose] - Whether to log detailed information
172
+ */
173
+ export type AgentConfig = {
174
+ role: string;
175
+ goal: string;
176
+ backstory: string;
177
+ tools: GraphFlow<any>[];
178
+ memory?: any;
179
+ verbose?: boolean;
180
+ llmConfig: ExecutorConfig["llmConfig"];
181
+ };
182
+ /**
183
+ * Represents the schema of an action that can be performed by the agent
184
+ * @interface ActionSchema
185
+ * @property {string} name - The name of the action
186
+ * @property {Array<{name: string, value: any}>} parameters - The parameters required for the action
187
+ */
188
+ export type ActionSchema = {
189
+ name: string;
190
+ parameters: Array<{
191
+ name: string;
192
+ value: any;
193
+ }>;
194
+ };
195
+ /**
196
+ * Represents the output of the agent's decision-making process
197
+ * @interface DecisionOutput
198
+ * @property {ActionSchema[]} actions - The actions to be executed
199
+ * @property {string} response - The agent's response message
200
+ */
201
+ export type DecisionOutput = {
202
+ actions: ActionSchema[];
203
+ response: string;
204
+ };
205
+ /**
206
+ * Configuration for the Language Model
207
+ * @interface LLMConfig
208
+ * @property {LLMProvider} provider - The LLM provider to use
209
+ * @property {string} apiKey - API key for the provider
210
+ * @property {LLMModel} model - The specific model to use
211
+ * @property {number} [temperature] - Optional temperature parameter for response randomness
212
+ * @property {number} [maxTokens] - Optional maximum tokens for the response
213
+ * @property {Function} [customCall] - Optional custom implementation for API calls
214
+ */
215
+ export type LLMConfig = {
216
+ provider: LLMProvider;
217
+ apiKey: string;
218
+ model: LLMModel;
219
+ temperature?: number;
220
+ maxTokens?: number;
221
+ customCall?: (prompt: string | PromptInput, schema: z.ZodType<any>) => Promise<any>;
222
+ };
223
+ /**
224
+ * Structure for prompt input to the LLM
225
+ * @interface PromptInput
226
+ * @property {string} system - The system message/context
227
+ * @property {string} user - The user's input message
228
+ */
229
+ export type PromptInput = {
230
+ system: string;
231
+ user: string;
232
+ };
233
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../types/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentContextSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.AgentContextSchema = zod_1.z.object({
6
+ input: zod_1.z.object({
7
+ raw: zod_1.z.string(),
8
+ embedding: zod_1.z.array(zod_1.z.number()).optional(),
9
+ }),
10
+ actions: zod_1.z.array(zod_1.z.object({
11
+ name: zod_1.z.string(),
12
+ parameters: zod_1.z.array(zod_1.z.object({
13
+ name: zod_1.z.string(),
14
+ value: zod_1.z.any(),
15
+ })),
16
+ isExecuted: zod_1.z.boolean().optional(),
17
+ result: zod_1.z.any().optional(),
18
+ })),
19
+ knowledge: zod_1.z.string().optional(),
20
+ response: zod_1.z.string(),
21
+ executedActions: zod_1.z
22
+ .array(zod_1.z.object({
23
+ name: zod_1.z.string(),
24
+ result: zod_1.z.any(),
25
+ timestamp: zod_1.z.string(),
26
+ }))
27
+ .optional(),
28
+ });
29
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../types/agent.ts"],"names":[],"mappings":";;;AACA,6BAAwB;AAyCX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;QACf,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1C,CAAC;IACF,OAAO,EAAE,OAAC,CAAC,KAAK,CACd,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,UAAU,EAAE,OAAC,CAAC,KAAK,CACjB,OAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,KAAK,EAAE,OAAC,CAAC,GAAG,EAAE;SACf,CAAC,CACH;QACD,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KAC3B,CAAC,CACH;IACD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,eAAe,EAAE,OAAC;SACf,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,OAAC,CAAC,GAAG,EAAE;QACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC"}
@@ -11,10 +11,12 @@ import { IEventEmitter } from "../interfaces";
11
11
  */
12
12
  export interface CreateMemoryInput {
13
13
  id?: string;
14
- data: string;
14
+ content: string;
15
+ metadata?: Record<string, any>;
15
16
  embedding?: number[];
16
17
  roomId: string;
17
18
  ttl?: number;
19
+ type?: string;
18
20
  }
19
21
  /**
20
22
  * Represents a stored memory entry.
@@ -28,7 +30,8 @@ export interface CreateMemoryInput {
28
30
  */
29
31
  export interface BaseMemoryType {
30
32
  id: string;
31
- data: string;
33
+ content: string;
34
+ metadata?: Record<string, any>;
32
35
  embedding?: number[];
33
36
  roomId: string;
34
37
  createdAt: Date;
@@ -61,6 +64,20 @@ export type SchemaType<T> = T extends ZodSchema<infer U> ? U : never;
61
64
  export type GraphContext<T extends ZodSchema> = {
62
65
  [key: string]: any;
63
66
  };
67
+ /**
68
+ * Configuration for event handling in a node
69
+ */
70
+ export type EventStrategy = {
71
+ type: "single" | "all" | "correlate";
72
+ correlation?: (events: any[]) => boolean;
73
+ };
74
+ export type EventConfig = {
75
+ events: string[];
76
+ timeout?: number;
77
+ strategy: EventStrategy;
78
+ onSuccess?: (events: any[]) => Promise<void>;
79
+ onTimeout?: () => Promise<void>;
80
+ };
64
81
  /**
65
82
  * Interface representing a node in the graph
66
83
  * @interface
@@ -68,7 +85,7 @@ export type GraphContext<T extends ZodSchema> = {
68
85
  * @template I - Input schema type
69
86
  * @template O - Output schema type
70
87
  */
71
- export type GraphNodeConfig<T extends ZodSchema, P = any> = {
88
+ export interface GraphNodeConfig<T extends ZodSchema, P = any> {
72
89
  /** Name of the node */
73
90
  name: string;
74
91
  /** Description of the node */
@@ -88,16 +105,8 @@ export type GraphNodeConfig<T extends ZodSchema, P = any> = {
88
105
  }> | string | ((context: GraphContext<T>) => string[]);
89
106
  /** Array of event names that trigger this node */
90
107
  events?: string[];
91
- /** Wait for a single event before continuing */
92
- waitForEvent?: boolean;
93
- /** Wait for multiple events configuration */
94
- waitForEvents?: WaitForEvents;
95
- /** Event correlation configuration */
96
- correlateEvents?: {
97
- events: string[];
98
- timeout: number;
99
- correlation: (events: any[]) => boolean;
100
- };
108
+ /** Event handling configuration */
109
+ when?: EventConfig;
101
110
  /** Retry configuration */
102
111
  retry?: {
103
112
  /** Maximum number of retry attempts */
@@ -111,7 +120,8 @@ export type GraphNodeConfig<T extends ZodSchema, P = any> = {
111
120
  };
112
121
  /** Error handler function */
113
122
  onError?: (error: Error) => void;
114
- };
123
+ agent?: string;
124
+ }
115
125
  /**
116
126
  * Interface for graph definition
117
127
  * @interface
@@ -135,6 +145,15 @@ export type GraphConfig<T extends ZodSchema> = {
135
145
  /** Array of events */
136
146
  events?: string[];
137
147
  };
148
+ /**
149
+ * Type for graph execution result
150
+ * @template T - Schema type
151
+ */
152
+ export type GraphExecutionResult<T extends ZodSchema> = {
153
+ graphName: string;
154
+ nodeName: string;
155
+ context: GraphContext<T>;
156
+ };
138
157
  /**
139
158
  * Configuration type for Meilisearch
140
159
  * @typedef {Object} MeilisearchConfig
@@ -159,15 +178,59 @@ export type MeilisearchSettings = {
159
178
  /** Array of sortable attributes */
160
179
  sortableAttributes?: string[];
161
180
  };
162
- export interface GraphEvent<T extends ZodSchema> {
181
+ export type GraphEvent<T extends ZodSchema> = {
163
182
  type: string;
164
183
  payload?: any;
165
184
  timestamp: number;
166
- }
167
- export interface WaitForEvents {
185
+ };
186
+ export type WaitForEvents<T extends ZodSchema> = {
168
187
  events: string[];
169
188
  timeout?: number;
170
189
  strategy: "all" | "any" | "race";
171
190
  onSuccess?: <T extends ZodSchema>(context: GraphContext<T>) => Promise<void>;
172
- }
191
+ };
192
+ /**
193
+ * Configuration interface for NLP Engine
194
+ * @interface NLPConfig
195
+ * @property {any} [corpus] - Training corpus data
196
+ * @property {Record<string, any>} [responses] - Response templates
197
+ * @property {Record<string, any>} [entities] - Entity definitions
198
+ * @property {string} [language] - Language code (default: 'en')
199
+ * @property {number} [threshold] - Entity recognition threshold (default: 0.5)
200
+ * @property {string} [path] - Path to save/load model
201
+ */
202
+ export type NLPConfig = {
203
+ corpus?: any;
204
+ responses?: Record<string, any>;
205
+ entities?: Record<string, any>;
206
+ language?: string;
207
+ threshold?: number;
208
+ path?: string;
209
+ };
210
+ /**
211
+ * Type definition for action handlers
212
+ * @callback ActionHandler
213
+ * @param {any} data - Input data for the action
214
+ * @returns {Promise<any>} Result of the action
215
+ */
216
+ export type ActionHandler = (data: any) => Promise<any>;
217
+ /**
218
+ * Options for the observer
219
+ * @typedef {Object} ObserverOptions
220
+ * @property {number} [debounce] - Debounce time in milliseconds
221
+ * @property {number} [delay] - Delay time in milliseconds
222
+ * @property {boolean} [stream] - Whether to stream the response
223
+ * @property {(string | number)[]} [properties] - Properties to observe
224
+ */
225
+ export type ObserverOptions = {
226
+ debounce?: number;
227
+ delay?: number;
228
+ stream?: boolean;
229
+ properties?: (string | number)[];
230
+ onStreamLetter?: (data: {
231
+ letter: string;
232
+ property: string;
233
+ }) => void;
234
+ onStreamComplete?: () => void;
235
+ };
173
236
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-action-schema.d.ts","sourceRoot":"","sources":["../../utils/generate-action-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,oBAAoB,WAAY,SAAS,CAAC,GAAG,CAAC,EAAE,WAU5D,CAAC;AAEF,eAAO,MAAM,eAAe,WAAY,CAAC,CAAC,OAAO,KAAG,MA8BnD,CAAC"}
1
+ {"version":3,"file":"generate-action-schema.d.ts","sourceRoot":"","sources":["../../utils/generate-action-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,eAAO,MAAM,oBAAoB,GAAI,QAAQ,SAAS,CAAC,GAAG,CAAC,EAAE,WAU5D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,CAAC,CAAC,OAAO,KAAG,MA8BnD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ZodSchema } from "zod";
2
- import { GraphContext } from "../types";
2
+ import { GraphExecutionResult } from "../types";
3
3
  import { GraphFlow } from "./index";
4
4
  import { NodeParams } from "./node";
5
5
 
@@ -20,22 +20,33 @@ export class GraphController {
20
20
  graphs: GraphFlow<T>[],
21
21
  startNodes: string[],
22
22
  params?: NodeParams[]
23
- ): Promise<any[]> {
24
- const results = new Map<string, GraphContext<T>>();
23
+ ): Promise<GraphExecutionResult<T>[]> {
24
+ const results: GraphExecutionResult<T>[] = [];
25
+
25
26
  for (let i = 0; i < graphs.length; i++) {
26
- const result = await graphs[i].execute(startNodes[i], params?.[i]);
27
- results.set(`${graphs[i].name}-${i}`, result);
27
+ const context = await graphs[i].execute(startNodes[i], params?.[i]);
28
+ results.push({
29
+ graphName: graphs[i].name,
30
+ nodeName: startNodes[i],
31
+ context,
32
+ });
28
33
  }
29
- return Array.from(results.values());
34
+
35
+ return results;
30
36
  }
31
37
 
32
38
  private static async executeGraph<T extends ZodSchema>(
33
39
  graph: GraphFlow<T>,
34
40
  startNode: string,
35
41
  params?: NodeParams
36
- ): Promise<GraphContext<T>> {
42
+ ): Promise<GraphExecutionResult<T>> {
37
43
  try {
38
- return await graph.execute(startNode, params);
44
+ const context = await graph.execute(startNode, params);
45
+ return {
46
+ graphName: graph.name,
47
+ nodeName: startNode,
48
+ context,
49
+ };
39
50
  } catch (error) {
40
51
  throw error;
41
52
  }
@@ -55,8 +66,8 @@ export class GraphController {
55
66
  startNodes: string[],
56
67
  concurrency: number,
57
68
  params?: NodeParams[]
58
- ): Promise<GraphContext<T>[]> {
59
- const results: GraphContext<T>[] = [];
69
+ ): Promise<GraphExecutionResult<T>[]> {
70
+ const results: GraphExecutionResult<T>[] = [];
60
71
 
61
72
  for (let i = 0; i < graphs.length; i += concurrency) {
62
73
  const batch = graphs.slice(i, i + concurrency);