@ai.ntellect/core 0.7.14 → 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 (98) hide show
  1. package/dist/graph/event-manager.d.ts +9 -1
  2. package/dist/graph/event-manager.d.ts.map +1 -1
  3. package/dist/graph/event-manager.js +115 -37
  4. package/dist/graph/event-manager.js.map +1 -1
  5. package/dist/graph/index.d.ts +20 -1
  6. package/dist/graph/index.d.ts.map +1 -1
  7. package/dist/graph/index.js +59 -10
  8. package/dist/graph/index.js.map +1 -1
  9. package/dist/graph/node.d.ts +0 -24
  10. package/dist/graph/node.d.ts.map +1 -1
  11. package/dist/graph/node.js +2 -71
  12. package/dist/graph/node.js.map +1 -1
  13. package/dist/graph/observer.d.ts +6 -87
  14. package/dist/graph/observer.d.ts.map +1 -1
  15. package/dist/graph/observer.js +3 -116
  16. package/dist/graph/observer.js.map +1 -1
  17. package/dist/index.d.ts +1 -6
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -6
  20. package/dist/index.js.map +1 -1
  21. package/dist/interfaces/index.d.ts +10 -1
  22. package/dist/interfaces/index.d.ts.map +1 -1
  23. package/dist/interfaces/index.js.map +1 -1
  24. package/dist/modules/agent/agent.d.ts +35 -0
  25. package/dist/modules/agent/agent.d.ts.map +1 -0
  26. package/dist/modules/agent/agent.js +106 -0
  27. package/dist/modules/agent/agent.js.map +1 -0
  28. package/dist/modules/agent/base/executor.d.ts +51 -0
  29. package/dist/modules/agent/base/executor.d.ts.map +1 -0
  30. package/dist/modules/agent/base/executor.js +66 -0
  31. package/dist/modules/agent/base/executor.js.map +1 -0
  32. package/dist/modules/agent/base/index.d.ts +30 -0
  33. package/dist/modules/agent/base/index.d.ts.map +1 -0
  34. package/dist/modules/agent/base/index.js +100 -0
  35. package/dist/modules/agent/base/index.js.map +1 -0
  36. package/dist/modules/agent/generic-assistant.d.ts +20 -0
  37. package/dist/modules/agent/generic-assistant.d.ts.map +1 -0
  38. package/dist/modules/agent/generic-assistant.js +89 -0
  39. package/dist/modules/agent/generic-assistant.js.map +1 -0
  40. package/dist/modules/agent/generic-executor.d.ts +57 -0
  41. package/dist/modules/agent/generic-executor.d.ts.map +1 -0
  42. package/dist/modules/agent/generic-executor.js +200 -0
  43. package/dist/modules/agent/generic-executor.js.map +1 -0
  44. package/dist/modules/agent/llm-factory.d.ts +19 -0
  45. package/dist/modules/agent/llm-factory.d.ts.map +1 -0
  46. package/dist/modules/agent/llm-factory.js +56 -0
  47. package/dist/modules/agent/llm-factory.js.map +1 -0
  48. package/dist/modules/agent/prompt-builder.d.ts +35 -0
  49. package/dist/modules/agent/prompt-builder.d.ts.map +1 -0
  50. package/dist/modules/agent/prompt-builder.js +76 -0
  51. package/dist/modules/agent/prompt-builder.js.map +1 -0
  52. package/dist/modules/memory/adapters/in-memory/index.d.ts.map +1 -1
  53. package/dist/modules/memory/adapters/in-memory/index.js +4 -3
  54. package/dist/modules/memory/adapters/in-memory/index.js.map +1 -1
  55. package/dist/modules/memory/adapters/meilisearch/index.d.ts.map +1 -1
  56. package/dist/modules/memory/adapters/meilisearch/index.js +7 -4
  57. package/dist/modules/memory/adapters/meilisearch/index.js.map +1 -1
  58. package/dist/modules/memory/adapters/redis/index.d.ts.map +1 -1
  59. package/dist/modules/memory/adapters/redis/index.js +2 -1
  60. package/dist/modules/memory/adapters/redis/index.js.map +1 -1
  61. package/dist/modules/nlp/engine.d.ts +126 -0
  62. package/dist/modules/nlp/engine.d.ts.map +1 -0
  63. package/dist/modules/nlp/engine.js +300 -0
  64. package/dist/modules/nlp/engine.js.map +1 -0
  65. package/dist/modules/nlp/index.d.ts +27 -0
  66. package/dist/modules/nlp/index.d.ts.map +1 -0
  67. package/dist/modules/nlp/index.js +56 -0
  68. package/dist/modules/nlp/index.js.map +1 -0
  69. package/dist/types/agent.d.ts +233 -0
  70. package/dist/types/agent.d.ts.map +1 -0
  71. package/dist/types/agent.js +29 -0
  72. package/dist/types/agent.js.map +1 -0
  73. package/dist/types/index.d.ts +72 -18
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/dist/utils/generate-action-schema.d.ts.map +1 -1
  76. package/graph/event-manager.ts +135 -42
  77. package/graph/index.ts +57 -4
  78. package/graph/node.ts +2 -104
  79. package/graph/observer.ts +9 -215
  80. package/index.ts +2 -7
  81. package/interfaces/index.ts +12 -0
  82. package/modules/agent/agent.ts +108 -0
  83. package/modules/agent/base/executor.ts +100 -0
  84. package/modules/agent/base/index.ts +99 -0
  85. package/modules/agent/generic-assistant.ts +90 -0
  86. package/modules/agent/generic-executor.ts +259 -0
  87. package/modules/agent/llm-factory.ts +47 -0
  88. package/modules/agent/prompt-builder.ts +78 -0
  89. package/modules/memory/adapters/in-memory/index.ts +4 -3
  90. package/modules/memory/adapters/meilisearch/index.ts +7 -4
  91. package/modules/memory/adapters/redis/index.ts +2 -1
  92. package/modules/nlp/engine.ts +325 -0
  93. package/modules/nlp/index.ts +45 -0
  94. package/package.json +5 -2
  95. package/test/graph/index.test.ts +6 -4
  96. package/test/graph/node.test.ts +18 -14
  97. package/types/agent.ts +174 -0
  98. package/types/index.ts +74 -18
package/types/index.ts CHANGED
@@ -14,10 +14,12 @@ import { IEventEmitter } from "../interfaces";
14
14
  */
15
15
  export interface CreateMemoryInput {
16
16
  id?: string;
17
- data: string;
17
+ content: string;
18
+ metadata?: Record<string, any>;
18
19
  embedding?: number[];
19
20
  roomId: string;
20
21
  ttl?: number;
22
+ type?: string;
21
23
  }
22
24
 
23
25
  /**
@@ -32,7 +34,8 @@ export interface CreateMemoryInput {
32
34
  */
33
35
  export interface BaseMemoryType {
34
36
  id: string;
35
- data: string;
37
+ content: string;
38
+ metadata?: Record<string, any>;
36
39
  embedding?: number[];
37
40
  roomId: string;
38
41
  createdAt: Date;
@@ -73,6 +76,22 @@ export type GraphContext<T extends ZodSchema> = {
73
76
  [key: string]: any;
74
77
  };
75
78
 
79
+ /**
80
+ * Configuration for event handling in a node
81
+ */
82
+ export type EventStrategy = {
83
+ type: "single" | "all" | "correlate";
84
+ correlation?: (events: any[]) => boolean;
85
+ };
86
+
87
+ export type EventConfig = {
88
+ events: string[];
89
+ timeout?: number;
90
+ strategy: EventStrategy;
91
+ onSuccess?: (events: any[]) => Promise<void>;
92
+ onTimeout?: () => Promise<void>;
93
+ };
94
+
76
95
  /**
77
96
  * Interface representing a node in the graph
78
97
  * @interface
@@ -80,7 +99,7 @@ export type GraphContext<T extends ZodSchema> = {
80
99
  * @template I - Input schema type
81
100
  * @template O - Output schema type
82
101
  */
83
- export type GraphNodeConfig<T extends ZodSchema, P = any> = {
102
+ export interface GraphNodeConfig<T extends ZodSchema, P = any> {
84
103
  /** Name of the node */
85
104
  name: string;
86
105
  /** Description of the node */
@@ -106,16 +125,8 @@ export type GraphNodeConfig<T extends ZodSchema, P = any> = {
106
125
  | ((context: GraphContext<T>) => string[]);
107
126
  /** Array of event names that trigger this node */
108
127
  events?: string[];
109
- /** Wait for a single event before continuing */
110
- waitForEvent?: boolean;
111
- /** Wait for multiple events configuration */
112
- waitForEvents?: WaitForEvents;
113
- /** Event correlation configuration */
114
- correlateEvents?: {
115
- events: string[];
116
- timeout: number;
117
- correlation: (events: any[]) => boolean;
118
- };
128
+ /** Event handling configuration */
129
+ when?: EventConfig;
119
130
  /** Retry configuration */
120
131
  retry?: {
121
132
  /** Maximum number of retry attempts */
@@ -129,7 +140,8 @@ export type GraphNodeConfig<T extends ZodSchema, P = any> = {
129
140
  };
130
141
  /** Error handler function */
131
142
  onError?: (error: Error) => void;
132
- };
143
+ agent?: string;
144
+ }
133
145
 
134
146
  /**
135
147
  * Interface for graph definition
@@ -193,15 +205,59 @@ export type MeilisearchSettings = {
193
205
  sortableAttributes?: string[];
194
206
  };
195
207
 
196
- export interface GraphEvent<T extends ZodSchema> {
208
+ export type GraphEvent<T extends ZodSchema> = {
197
209
  type: string;
198
210
  payload?: any;
199
211
  timestamp: number;
200
- }
212
+ };
201
213
 
202
- export interface WaitForEvents {
214
+ export type WaitForEvents<T extends ZodSchema> = {
203
215
  events: string[];
204
216
  timeout?: number;
205
217
  strategy: "all" | "any" | "race";
206
218
  onSuccess?: <T extends ZodSchema>(context: GraphContext<T>) => Promise<void>;
207
- }
219
+ };
220
+
221
+ /**
222
+ * Configuration interface for NLP Engine
223
+ * @interface NLPConfig
224
+ * @property {any} [corpus] - Training corpus data
225
+ * @property {Record<string, any>} [responses] - Response templates
226
+ * @property {Record<string, any>} [entities] - Entity definitions
227
+ * @property {string} [language] - Language code (default: 'en')
228
+ * @property {number} [threshold] - Entity recognition threshold (default: 0.5)
229
+ * @property {string} [path] - Path to save/load model
230
+ */
231
+ export type NLPConfig = {
232
+ corpus?: any;
233
+ responses?: Record<string, any>;
234
+ entities?: Record<string, any>;
235
+ language?: string;
236
+ threshold?: number;
237
+ path?: string;
238
+ };
239
+
240
+ /**
241
+ * Type definition for action handlers
242
+ * @callback ActionHandler
243
+ * @param {any} data - Input data for the action
244
+ * @returns {Promise<any>} Result of the action
245
+ */
246
+ export type ActionHandler = (data: any) => Promise<any>;
247
+
248
+ /**
249
+ * Options for the observer
250
+ * @typedef {Object} ObserverOptions
251
+ * @property {number} [debounce] - Debounce time in milliseconds
252
+ * @property {number} [delay] - Delay time in milliseconds
253
+ * @property {boolean} [stream] - Whether to stream the response
254
+ * @property {(string | number)[]} [properties] - Properties to observe
255
+ */
256
+ export type ObserverOptions = {
257
+ debounce?: number;
258
+ delay?: number;
259
+ stream?: boolean;
260
+ properties?: (string | number)[]; // Accepte uniquement string ou number comme clés
261
+ onStreamLetter?: (data: { letter: string; property: string }) => void;
262
+ onStreamComplete?: () => void;
263
+ };