@gotza02/smartagent 1.2.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 (75) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +422 -0
  3. package/dist/config/index.d.ts +72 -0
  4. package/dist/config/index.d.ts.map +1 -0
  5. package/dist/config/index.js +329 -0
  6. package/dist/config/index.js.map +1 -0
  7. package/dist/core/agent-manager.d.ts +116 -0
  8. package/dist/core/agent-manager.d.ts.map +1 -0
  9. package/dist/core/agent-manager.js +460 -0
  10. package/dist/core/agent-manager.js.map +1 -0
  11. package/dist/core/context-manager.d.ts +107 -0
  12. package/dist/core/context-manager.d.ts.map +1 -0
  13. package/dist/core/context-manager.js +467 -0
  14. package/dist/core/context-manager.js.map +1 -0
  15. package/dist/core/database.d.ts +82 -0
  16. package/dist/core/database.d.ts.map +1 -0
  17. package/dist/core/database.js +751 -0
  18. package/dist/core/database.js.map +1 -0
  19. package/dist/core/event-emitter.d.ts +110 -0
  20. package/dist/core/event-emitter.d.ts.map +1 -0
  21. package/dist/core/event-emitter.js +240 -0
  22. package/dist/core/event-emitter.js.map +1 -0
  23. package/dist/core/metrics.d.ts +108 -0
  24. package/dist/core/metrics.d.ts.map +1 -0
  25. package/dist/core/metrics.js +281 -0
  26. package/dist/core/metrics.js.map +1 -0
  27. package/dist/core/middleware.d.ts +63 -0
  28. package/dist/core/middleware.d.ts.map +1 -0
  29. package/dist/core/middleware.js +194 -0
  30. package/dist/core/middleware.js.map +1 -0
  31. package/dist/core/plugin-system.d.ts +86 -0
  32. package/dist/core/plugin-system.d.ts.map +1 -0
  33. package/dist/core/plugin-system.js +251 -0
  34. package/dist/core/plugin-system.js.map +1 -0
  35. package/dist/core/task-scheduler.d.ts +130 -0
  36. package/dist/core/task-scheduler.d.ts.map +1 -0
  37. package/dist/core/task-scheduler.js +401 -0
  38. package/dist/core/task-scheduler.js.map +1 -0
  39. package/dist/engines/auto-router.d.ts +76 -0
  40. package/dist/engines/auto-router.d.ts.map +1 -0
  41. package/dist/engines/auto-router.js +445 -0
  42. package/dist/engines/auto-router.js.map +1 -0
  43. package/dist/engines/parallel-execution.d.ts +104 -0
  44. package/dist/engines/parallel-execution.d.ts.map +1 -0
  45. package/dist/engines/parallel-execution.js +591 -0
  46. package/dist/engines/parallel-execution.js.map +1 -0
  47. package/dist/engines/sequential-thinking.d.ts +88 -0
  48. package/dist/engines/sequential-thinking.d.ts.map +1 -0
  49. package/dist/engines/sequential-thinking.js +406 -0
  50. package/dist/engines/sequential-thinking.js.map +1 -0
  51. package/dist/index.d.ts +12 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +1101 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/security/validation.d.ts +87 -0
  56. package/dist/security/validation.d.ts.map +1 -0
  57. package/dist/security/validation.js +465 -0
  58. package/dist/security/validation.js.map +1 -0
  59. package/dist/tools/filesystem.d.ts +90 -0
  60. package/dist/tools/filesystem.d.ts.map +1 -0
  61. package/dist/tools/filesystem.js +292 -0
  62. package/dist/tools/filesystem.js.map +1 -0
  63. package/dist/tools/terminal.d.ts +99 -0
  64. package/dist/tools/terminal.d.ts.map +1 -0
  65. package/dist/tools/terminal.js +363 -0
  66. package/dist/tools/terminal.js.map +1 -0
  67. package/dist/types/index.d.ts +306 -0
  68. package/dist/types/index.d.ts.map +1 -0
  69. package/dist/types/index.js +54 -0
  70. package/dist/types/index.js.map +1 -0
  71. package/dist/utils/logger.d.ts +22 -0
  72. package/dist/utils/logger.d.ts.map +1 -0
  73. package/dist/utils/logger.js +189 -0
  74. package/dist/utils/logger.js.map +1 -0
  75. package/package.json +71 -0
@@ -0,0 +1,401 @@
1
+ /**
2
+ * Task Scheduler & Dependencies
3
+ * Advanced task scheduling with dependency management
4
+ */
5
+ import { v4 as uuidv4 } from "uuid";
6
+ import { logger } from "../utils/logger.js";
7
+ import { eventEmitter } from "./event-emitter.js";
8
+ /**
9
+ * Task Scheduler
10
+ * Manages task dependencies and execution order
11
+ */
12
+ export class TaskScheduler {
13
+ graph = {
14
+ tasks: new Map(),
15
+ dependencies: new Map(),
16
+ };
17
+ executionQueue = [];
18
+ runningTasks = new Set();
19
+ maxConcurrentTasks = 5;
20
+ /**
21
+ * Schedule a new task with dependencies
22
+ */
23
+ scheduleTask(agentId, type, description, options = {}) {
24
+ const taskId = uuidv4();
25
+ const now = new Date().toISOString();
26
+ const task = {
27
+ id: taskId,
28
+ agentId,
29
+ type,
30
+ description,
31
+ context: {},
32
+ status: "pending",
33
+ priority: options.priority || 5,
34
+ timeout: 60,
35
+ createdAt: now,
36
+ dependencies: options.dependencies || [],
37
+ dependents: [],
38
+ retryCount: 0,
39
+ maxRetries: options.maxRetries || 3,
40
+ retryDelay: options.retryDelay || 5000,
41
+ };
42
+ // Validate dependencies
43
+ for (const depId of task.dependencies) {
44
+ if (!this.graph.tasks.has(depId)) {
45
+ throw new Error(`Dependency task not found: ${depId}`);
46
+ }
47
+ }
48
+ // Add to graph
49
+ this.graph.tasks.set(taskId, task);
50
+ this.graph.dependencies.set(taskId, {
51
+ taskId,
52
+ dependsOn: task.dependencies,
53
+ dependentTasks: [],
54
+ });
55
+ // Update dependent tasks
56
+ for (const depId of task.dependencies) {
57
+ const dep = this.graph.dependencies.get(depId);
58
+ if (dep) {
59
+ dep.dependentTasks.push(taskId);
60
+ }
61
+ }
62
+ // Check if ready to execute
63
+ if (this.isTaskReady(taskId)) {
64
+ this.addToQueue(taskId);
65
+ }
66
+ logger.info("Task scheduled", {
67
+ taskId,
68
+ agentId,
69
+ type,
70
+ dependencies: task.dependencies,
71
+ });
72
+ eventEmitter.emit("task:scheduled", { taskId, agentId, type });
73
+ return task;
74
+ }
75
+ /**
76
+ * Check if task is ready to execute (all dependencies completed)
77
+ */
78
+ isTaskReady(taskId) {
79
+ const task = this.graph.tasks.get(taskId);
80
+ if (!task)
81
+ return false;
82
+ if (task.status !== "pending")
83
+ return false;
84
+ // Check all dependencies are completed
85
+ for (const depId of task.dependencies) {
86
+ const depTask = this.graph.tasks.get(depId);
87
+ if (!depTask || depTask.status !== "completed") {
88
+ return false;
89
+ }
90
+ }
91
+ return true;
92
+ }
93
+ /**
94
+ * Add task to execution queue
95
+ */
96
+ addToQueue(taskId) {
97
+ const task = this.graph.tasks.get(taskId);
98
+ if (!task)
99
+ return;
100
+ // Insert based on priority
101
+ const insertIndex = this.executionQueue.findIndex((id) => {
102
+ const t = this.graph.tasks.get(id);
103
+ return t && t.priority < task.priority;
104
+ });
105
+ if (insertIndex === -1) {
106
+ this.executionQueue.push(taskId);
107
+ }
108
+ else {
109
+ this.executionQueue.splice(insertIndex, 0, taskId);
110
+ }
111
+ logger.debug("Task added to queue", { taskId, priority: task.priority });
112
+ }
113
+ /**
114
+ * Get next task from queue
115
+ */
116
+ getNextTask() {
117
+ // Check concurrent limit
118
+ if (this.runningTasks.size >= this.maxConcurrentTasks) {
119
+ return null;
120
+ }
121
+ while (this.executionQueue.length > 0) {
122
+ const taskId = this.executionQueue.shift();
123
+ const task = this.graph.tasks.get(taskId);
124
+ if (task && this.isTaskReady(taskId)) {
125
+ return task;
126
+ }
127
+ }
128
+ return null;
129
+ }
130
+ /**
131
+ * Mark task as started
132
+ */
133
+ startTask(taskId) {
134
+ const task = this.graph.tasks.get(taskId);
135
+ if (!task)
136
+ return null;
137
+ task.status = "in_progress";
138
+ task.startedAt = new Date().toISOString();
139
+ this.runningTasks.add(taskId);
140
+ logger.info("Task started", { taskId, agentId: task.agentId });
141
+ eventEmitter.emit("task:started", { taskId, agentId: task.agentId });
142
+ return task;
143
+ }
144
+ /**
145
+ * Mark task as completed
146
+ */
147
+ completeTask(taskId, result) {
148
+ const task = this.graph.tasks.get(taskId);
149
+ if (!task)
150
+ return null;
151
+ task.status = "completed";
152
+ task.result = result;
153
+ task.completedAt = new Date().toISOString();
154
+ this.runningTasks.delete(taskId);
155
+ logger.info("Task completed", { taskId, agentId: task.agentId });
156
+ eventEmitter.emit("task:completed", { taskId, agentId: task.agentId, result });
157
+ // Check dependent tasks
158
+ this.checkDependentTasks(taskId);
159
+ return task;
160
+ }
161
+ /**
162
+ * Mark task as failed
163
+ */
164
+ failTask(taskId, error) {
165
+ const task = this.graph.tasks.get(taskId);
166
+ if (!task)
167
+ return null;
168
+ task.status = "failed";
169
+ task.error = error;
170
+ task.completedAt = new Date().toISOString();
171
+ this.runningTasks.delete(taskId);
172
+ logger.error("Task failed", { taskId, agentId: task.agentId, error });
173
+ eventEmitter.emit("task:failed", { taskId, agentId: task.agentId, error });
174
+ // Check if should retry
175
+ if (task.retryCount < task.maxRetries) {
176
+ this.scheduleRetry(taskId);
177
+ }
178
+ else {
179
+ // Fail dependent tasks
180
+ this.failDependentTasks(taskId, `Dependency task failed: ${taskId}`);
181
+ }
182
+ return task;
183
+ }
184
+ /**
185
+ * Schedule task retry with exponential backoff and jitter
186
+ */
187
+ scheduleRetry(taskId) {
188
+ const task = this.graph.tasks.get(taskId);
189
+ if (!task)
190
+ return;
191
+ task.retryCount++;
192
+ task.status = "pending";
193
+ task.error = undefined;
194
+ task.completedAt = undefined;
195
+ // Exponential backoff with jitter
196
+ const baseDelay = task.retryDelay;
197
+ const exponentialDelay = baseDelay * Math.pow(2, task.retryCount - 1);
198
+ const jitter = Math.random() * 1000; // 0-1000ms random jitter
199
+ const delay = Math.min(exponentialDelay + jitter, 30000); // Max 30s
200
+ setTimeout(() => {
201
+ logger.info("Retrying task", {
202
+ taskId,
203
+ retryCount: task.retryCount,
204
+ delay: Math.round(delay),
205
+ });
206
+ this.addToQueue(taskId);
207
+ }, delay);
208
+ eventEmitter.emit("task:retry-scheduled", {
209
+ taskId,
210
+ retryCount: task.retryCount,
211
+ delay: Math.round(delay),
212
+ });
213
+ }
214
+ /**
215
+ * Check and queue dependent tasks
216
+ */
217
+ checkDependentTasks(completedTaskId) {
218
+ const depInfo = this.graph.dependencies.get(completedTaskId);
219
+ if (!depInfo)
220
+ return;
221
+ for (const dependentId of depInfo.dependentTasks) {
222
+ if (this.isTaskReady(dependentId)) {
223
+ this.addToQueue(dependentId);
224
+ }
225
+ }
226
+ }
227
+ /**
228
+ * Fail all dependent tasks
229
+ */
230
+ failDependentTasks(failedTaskId, error) {
231
+ const depInfo = this.graph.dependencies.get(failedTaskId);
232
+ if (!depInfo)
233
+ return;
234
+ for (const dependentId of depInfo.dependentTasks) {
235
+ const dependentTask = this.graph.tasks.get(dependentId);
236
+ if (dependentTask && dependentTask.status === "pending") {
237
+ this.failTask(dependentId, error);
238
+ }
239
+ }
240
+ }
241
+ /**
242
+ * Get task by ID
243
+ */
244
+ getTask(taskId) {
245
+ return this.graph.tasks.get(taskId) || null;
246
+ }
247
+ /**
248
+ * Get all tasks
249
+ */
250
+ getAllTasks() {
251
+ return Array.from(this.graph.tasks.values());
252
+ }
253
+ /**
254
+ * Get tasks by status
255
+ */
256
+ getTasksByStatus(status) {
257
+ return this.getAllTasks().filter((t) => t.status === status);
258
+ }
259
+ /**
260
+ * Get tasks by agent
261
+ */
262
+ getTasksByAgent(agentId) {
263
+ return this.getAllTasks().filter((t) => t.agentId === agentId);
264
+ }
265
+ /**
266
+ * Get execution order (topological sort)
267
+ */
268
+ getExecutionOrder() {
269
+ const visited = new Set();
270
+ const result = [];
271
+ const visit = (taskId) => {
272
+ if (visited.has(taskId))
273
+ return;
274
+ visited.add(taskId);
275
+ const depInfo = this.graph.dependencies.get(taskId);
276
+ if (depInfo) {
277
+ for (const depId of depInfo.dependsOn) {
278
+ visit(depId);
279
+ }
280
+ }
281
+ result.push(taskId);
282
+ };
283
+ for (const taskId of this.graph.tasks.keys()) {
284
+ visit(taskId);
285
+ }
286
+ return result;
287
+ }
288
+ /**
289
+ * Detect circular dependencies
290
+ */
291
+ detectCircularDependencies() {
292
+ const cycles = [];
293
+ const visited = new Set();
294
+ const recursionStack = new Set();
295
+ const dfs = (taskId, path) => {
296
+ if (recursionStack.has(taskId)) {
297
+ // Found cycle
298
+ const cycleStart = path.indexOf(taskId);
299
+ cycles.push(path.slice(cycleStart));
300
+ return;
301
+ }
302
+ if (visited.has(taskId))
303
+ return;
304
+ visited.add(taskId);
305
+ recursionStack.add(taskId);
306
+ const depInfo = this.graph.dependencies.get(taskId);
307
+ if (depInfo) {
308
+ for (const depId of depInfo.dependsOn) {
309
+ dfs(depId, [...path, taskId]);
310
+ }
311
+ }
312
+ recursionStack.delete(taskId);
313
+ };
314
+ for (const taskId of this.graph.tasks.keys()) {
315
+ if (!visited.has(taskId)) {
316
+ dfs(taskId, []);
317
+ }
318
+ }
319
+ return cycles;
320
+ }
321
+ /**
322
+ * Cancel a task
323
+ */
324
+ cancelTask(taskId) {
325
+ const task = this.graph.tasks.get(taskId);
326
+ if (!task)
327
+ return false;
328
+ if (task.status === "in_progress") {
329
+ this.runningTasks.delete(taskId);
330
+ }
331
+ if (task.status === "pending" || task.status === "in_progress") {
332
+ task.status = "cancelled";
333
+ task.completedAt = new Date().toISOString();
334
+ // Remove from queue
335
+ const queueIndex = this.executionQueue.indexOf(taskId);
336
+ if (queueIndex > -1) {
337
+ this.executionQueue.splice(queueIndex, 1);
338
+ }
339
+ // Cancel dependent tasks
340
+ this.failDependentTasks(taskId, `Dependency task cancelled: ${taskId}`);
341
+ logger.info("Task cancelled", { taskId });
342
+ eventEmitter.emit("task:cancelled", { taskId });
343
+ return true;
344
+ }
345
+ return false;
346
+ }
347
+ /**
348
+ * Get task statistics
349
+ */
350
+ getStats() {
351
+ const tasks = this.getAllTasks();
352
+ return {
353
+ total: tasks.length,
354
+ pending: tasks.filter((t) => t.status === "pending").length,
355
+ inProgress: tasks.filter((t) => t.status === "in_progress").length,
356
+ completed: tasks.filter((t) => t.status === "completed").length,
357
+ failed: tasks.filter((t) => t.status === "failed").length,
358
+ cancelled: tasks.filter((t) => t.status === "cancelled").length,
359
+ queued: this.executionQueue.length,
360
+ running: this.runningTasks.size,
361
+ };
362
+ }
363
+ /**
364
+ * Set max concurrent tasks
365
+ */
366
+ setMaxConcurrentTasks(max) {
367
+ this.maxConcurrentTasks = Math.max(1, max);
368
+ }
369
+ /**
370
+ * Clear completed tasks
371
+ */
372
+ cleanup(maxAgeHours = 24) {
373
+ const now = Date.now();
374
+ const maxAgeMs = maxAgeHours * 60 * 60 * 1000;
375
+ let cleaned = 0;
376
+ for (const [taskId, task] of this.graph.tasks.entries()) {
377
+ const isTerminal = ["completed", "failed", "cancelled"].includes(task.status);
378
+ const age = task.completedAt ? now - new Date(task.completedAt).getTime() : 0;
379
+ if (isTerminal && age > maxAgeMs) {
380
+ this.graph.tasks.delete(taskId);
381
+ this.graph.dependencies.delete(taskId);
382
+ cleaned++;
383
+ }
384
+ }
385
+ logger.info("Task scheduler cleanup completed", { cleaned, maxAgeHours });
386
+ return cleaned;
387
+ }
388
+ /**
389
+ * Reset scheduler
390
+ */
391
+ reset() {
392
+ this.graph.tasks.clear();
393
+ this.graph.dependencies.clear();
394
+ this.executionQueue = [];
395
+ this.runningTasks.clear();
396
+ logger.info("Task scheduler reset");
397
+ }
398
+ }
399
+ // Export singleton instance
400
+ export const taskScheduler = new TaskScheduler();
401
+ //# sourceMappingURL=task-scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-scheduler.js","sourceRoot":"","sources":["../../src/core/task-scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Auto-Routing Engine
3
+ * Intent classification and intelligent agent selection
4
+ */
5
+ import type { AgentType, AgentMode, IntentClassification, RoutingDecision, AutoRouterConfig } from "../types/index.js";
6
+ /**
7
+ * Auto-Routing Engine
8
+ * Classifies intent and routes to appropriate agent
9
+ */
10
+ export declare class AutoRouter {
11
+ private config;
12
+ constructor(config?: Partial<AutoRouterConfig>);
13
+ /**
14
+ * Classify intent from input text
15
+ */
16
+ classifyIntent(input: string): IntentClassification;
17
+ /**
18
+ * Route to appropriate agent based on intent
19
+ */
20
+ route(input: string, context?: {
21
+ preferredAgent?: AgentType;
22
+ availableAgents?: AgentType[];
23
+ currentMode?: AgentMode;
24
+ }): RoutingDecision;
25
+ /**
26
+ * Batch route multiple inputs
27
+ */
28
+ batchRoute(inputs: string[], context?: {
29
+ availableAgents?: AgentType[];
30
+ }): Array<{
31
+ input: string;
32
+ decision: RoutingDecision;
33
+ }>;
34
+ /**
35
+ * Get agent recommendation with explanation
36
+ */
37
+ getRecommendation(input: string, targetAgent: AgentType): {
38
+ suitable: boolean;
39
+ confidence: number;
40
+ explanation: string;
41
+ suggestions: string[];
42
+ };
43
+ /**
44
+ * Assess complexity of input
45
+ */
46
+ private assessComplexity;
47
+ /**
48
+ * Extract required capabilities from input
49
+ */
50
+ private extractCapabilities;
51
+ /**
52
+ * Calculate agent score based on intent and capabilities
53
+ */
54
+ private calculateAgentScore;
55
+ /**
56
+ * Convert intent to primary capability
57
+ */
58
+ private intentToCapability;
59
+ /**
60
+ * Calculate complexity score (0-10)
61
+ */
62
+ private calculateComplexityScore;
63
+ /**
64
+ * Generate reasoning for routing decision
65
+ */
66
+ private generateReasoning;
67
+ /**
68
+ * Update router configuration
69
+ */
70
+ updateConfig(config: Partial<AutoRouterConfig>): void;
71
+ /**
72
+ * Get current configuration
73
+ */
74
+ getConfig(): AutoRouterConfig;
75
+ }
76
+ //# sourceMappingURL=auto-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-router.d.ts","sourceRoot":"","sources":["../../src/engines/auto-router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAgK3B;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,GAAE,OAAO,CAAC,gBAAgB,CAAM;IAIlD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAuDnD;;OAEG;IACH,KAAK,CACH,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,SAAS,CAAC;QAC3B,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;QAC9B,WAAW,CAAC,EAAE,SAAS,CAAC;KACzB,GACA,eAAe;IAuElB;;OAEG;IACH,UAAU,CACR,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;KAC/B,GACA,KAAK,CAAC;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,eAAe,CAAC;KAC3B,CAAC;IAOF;;OAEG;IACH,iBAAiB,CACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,SAAS,GACrB;QACD,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IA8CD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4ChC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKrD;;OAEG;IACH,SAAS,IAAI,gBAAgB;CAG9B"}