@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,460 @@
1
+ /**
2
+ * Agent Manager
3
+ * Manages agent lifecycle, health checks, and task assignment
4
+ */
5
+ import { v4 as uuidv4 } from "uuid";
6
+ import { database } from "./database.js";
7
+ import { taskScheduler } from "./task-scheduler.js";
8
+ import { configManager } from "../config/index.js";
9
+ import { logger, logAgentEvent, logTaskEvent } from "../utils/logger.js";
10
+ /**
11
+ * Agent Manager
12
+ * Handles agent lifecycle and operations
13
+ */
14
+ export class AgentManager {
15
+ agents = new Map();
16
+ healthCheckTimer = null;
17
+ healthCheckLock = false;
18
+ constructor() {
19
+ this.startHealthChecks();
20
+ }
21
+ /**
22
+ * Spawn a new agent
23
+ */
24
+ async spawnAgent(config) {
25
+ // Check agent limit
26
+ const currentCount = this.agents.size;
27
+ const maxAgents = configManager.get("maxAgents");
28
+ if (currentCount >= maxAgents) {
29
+ throw new Error(`Maximum agent limit (${maxAgents}) reached`);
30
+ }
31
+ const agentId = uuidv4();
32
+ const now = new Date().toISOString();
33
+ const agent = {
34
+ id: agentId,
35
+ type: config.type,
36
+ name: config.name || `${config.type}_${Date.now()}`,
37
+ mode: config.mode || configManager.get("defaultAgentMode"),
38
+ status: "idle",
39
+ capabilities: config.capabilities || this.getDefaultCapabilities(config.type),
40
+ metadata: config.metadata || {},
41
+ createdAt: now,
42
+ lastActiveAt: now,
43
+ };
44
+ // Save to memory
45
+ this.agents.set(agentId, agent);
46
+ // Save to database
47
+ await database.saveAgent(agent);
48
+ logAgentEvent("spawned", agentId, {
49
+ type: agent.type,
50
+ name: agent.name,
51
+ mode: agent.mode,
52
+ });
53
+ return agent;
54
+ }
55
+ /**
56
+ * Spawn multiple agents (broadcast)
57
+ */
58
+ async spawnMultiple(type, count, options = {}) {
59
+ if (count < 1 || count > 10) {
60
+ throw new Error("Count must be between 1 and 10");
61
+ }
62
+ const agents = [];
63
+ for (let i = 0; i < count; i++) {
64
+ const name = options.baseName
65
+ ? `${options.baseName}_${i + 1}`
66
+ : `${type}_${Date.now()}_${i + 1}`;
67
+ const agent = await this.spawnAgent({
68
+ type,
69
+ name,
70
+ mode: options.mode,
71
+ capabilities: options.capabilities,
72
+ metadata: options.metadata,
73
+ });
74
+ agents.push(agent);
75
+ }
76
+ logger.info("Batch agent spawn completed", {
77
+ category: "agent",
78
+ type,
79
+ count: agents.length,
80
+ });
81
+ return agents;
82
+ }
83
+ /**
84
+ * Get agent by ID
85
+ */
86
+ async getAgent(agentId) {
87
+ // Check memory first
88
+ const memoryAgent = this.agents.get(agentId);
89
+ if (memoryAgent)
90
+ return memoryAgent;
91
+ // Fallback to database
92
+ return database.getAgent(agentId);
93
+ }
94
+ /**
95
+ * Get all active agents
96
+ */
97
+ async getAllAgents() {
98
+ // Merge memory and database agents
99
+ const dbAgents = await database.getAllAgents();
100
+ const memoryAgents = Array.from(this.agents.values());
101
+ // Create map to avoid duplicates
102
+ const agentMap = new Map();
103
+ for (const agent of dbAgents) {
104
+ agentMap.set(agent.id, agent);
105
+ }
106
+ for (const agent of memoryAgents) {
107
+ agentMap.set(agent.id, agent);
108
+ }
109
+ return Array.from(agentMap.values());
110
+ }
111
+ /**
112
+ * Get agents by type
113
+ */
114
+ async getAgentsByType(type) {
115
+ const allAgents = await this.getAllAgents();
116
+ return allAgents.filter((a) => a.type === type);
117
+ }
118
+ /**
119
+ * Get agents by status
120
+ */
121
+ async getAgentsByStatus(status) {
122
+ const allAgents = await this.getAllAgents();
123
+ return allAgents.filter((a) => a.status === status);
124
+ }
125
+ /**
126
+ * Update agent status
127
+ */
128
+ async updateAgentStatus(agentId, status, currentTask) {
129
+ const agent = await this.getAgent(agentId);
130
+ if (!agent)
131
+ return null;
132
+ agent.status = status;
133
+ agent.currentTask = currentTask;
134
+ agent.lastActiveAt = new Date().toISOString();
135
+ // Update memory
136
+ this.agents.set(agentId, agent);
137
+ // Update database
138
+ await database.saveAgent(agent);
139
+ logAgentEvent("status_updated", agentId, {
140
+ status,
141
+ currentTask,
142
+ });
143
+ return agent;
144
+ }
145
+ /**
146
+ * Update agent mode
147
+ */
148
+ async updateAgentMode(agentId, mode) {
149
+ const agent = await this.getAgent(agentId);
150
+ if (!agent)
151
+ return null;
152
+ agent.mode = mode;
153
+ agent.lastActiveAt = new Date().toISOString();
154
+ await database.saveAgent(agent);
155
+ logAgentEvent("mode_updated", agentId, { mode });
156
+ return agent;
157
+ }
158
+ /**
159
+ * Terminate an agent and cleanup its tasks
160
+ */
161
+ async terminateAgent(agentId) {
162
+ const agent = await this.getAgent(agentId);
163
+ if (!agent)
164
+ return false;
165
+ // Cancel any pending tasks for this agent
166
+ const pendingTasks = await this.getAgentTasks(agentId);
167
+ for (const task of pendingTasks) {
168
+ if (task.status === "pending" || task.status === "in_progress") {
169
+ try {
170
+ taskScheduler.cancelTask(task.id);
171
+ logTaskEvent("cancelled", task.id, agentId, {
172
+ reason: "agent_terminated",
173
+ });
174
+ }
175
+ catch (error) {
176
+ logger.warn("Failed to cancel task during agent termination", {
177
+ taskId: task.id,
178
+ agentId,
179
+ error: error instanceof Error ? error.message : String(error),
180
+ });
181
+ }
182
+ }
183
+ }
184
+ // Update status
185
+ agent.status = "terminated";
186
+ agent.lastActiveAt = new Date().toISOString();
187
+ agent.currentTask = undefined;
188
+ // Remove from memory
189
+ this.agents.delete(agentId);
190
+ // Update database
191
+ await database.saveAgent(agent);
192
+ logAgentEvent("terminated", agentId, {
193
+ type: agent.type,
194
+ tasksCancelled: pendingTasks.filter(t => t.status === "pending" || t.status === "in_progress").length,
195
+ });
196
+ return true;
197
+ }
198
+ /**
199
+ * Assign task to agent
200
+ */
201
+ async assignTask(agentId, taskConfig) {
202
+ const agent = await this.getAgent(agentId);
203
+ if (!agent)
204
+ return null;
205
+ if (agent.status === "busy") {
206
+ throw new Error(`Agent ${agentId} is already busy with task ${agent.currentTask}`);
207
+ }
208
+ const taskId = uuidv4();
209
+ const now = new Date().toISOString();
210
+ const task = {
211
+ id: taskId,
212
+ agentId,
213
+ type: taskConfig.type,
214
+ description: taskConfig.description,
215
+ context: taskConfig.context || {},
216
+ status: "pending",
217
+ priority: taskConfig.priority || 5,
218
+ timeout: taskConfig.timeout || 60,
219
+ createdAt: now,
220
+ };
221
+ // Update agent status
222
+ await this.updateAgentStatus(agentId, "busy", taskId);
223
+ // Save task
224
+ await database.saveTask(task);
225
+ logTaskEvent("assigned", taskId, agentId, {
226
+ type: task.type,
227
+ priority: task.priority,
228
+ });
229
+ return task;
230
+ }
231
+ /**
232
+ * Start task execution
233
+ */
234
+ async startTask(taskId) {
235
+ const task = await database.getTask(taskId);
236
+ if (!task)
237
+ return null;
238
+ task.status = "in_progress";
239
+ task.startedAt = new Date().toISOString();
240
+ await database.saveTask(task);
241
+ logTaskEvent("started", taskId, task.agentId, { type: task.type });
242
+ return task;
243
+ }
244
+ /**
245
+ * Complete task
246
+ */
247
+ async completeTask(taskId, result) {
248
+ const task = await database.getTask(taskId);
249
+ if (!task)
250
+ return null;
251
+ task.status = "completed";
252
+ task.result = result;
253
+ task.completedAt = new Date().toISOString();
254
+ await database.saveTask(task);
255
+ // Free up agent
256
+ await this.updateAgentStatus(task.agentId, "idle", undefined);
257
+ logTaskEvent("completed", taskId, task.agentId, {
258
+ type: task.type,
259
+ hasResult: !!result,
260
+ });
261
+ return task;
262
+ }
263
+ /**
264
+ * Fail task
265
+ */
266
+ async failTask(taskId, error) {
267
+ const task = await database.getTask(taskId);
268
+ if (!task)
269
+ return null;
270
+ task.status = "failed";
271
+ task.error = error;
272
+ task.completedAt = new Date().toISOString();
273
+ await database.saveTask(task);
274
+ // Mark agent as error
275
+ await this.updateAgentStatus(task.agentId, "error", undefined);
276
+ logTaskEvent("failed", taskId, task.agentId, {
277
+ type: task.type,
278
+ error,
279
+ });
280
+ return task;
281
+ }
282
+ /**
283
+ * Get agent tasks
284
+ */
285
+ async getAgentTasks(agentId) {
286
+ return database.getTasksByAgent(agentId);
287
+ }
288
+ /**
289
+ * Perform health check on all agents
290
+ */
291
+ async performHealthCheck() {
292
+ // Prevent concurrent health check execution
293
+ if (this.healthCheckLock) {
294
+ return { checked: 0, healthy: 0, unhealthy: 0, terminated: 0 };
295
+ }
296
+ this.healthCheckLock = true;
297
+ try {
298
+ return await this.doPerformHealthCheck();
299
+ }
300
+ finally {
301
+ this.healthCheckLock = false;
302
+ }
303
+ }
304
+ /**
305
+ * Internal health check implementation
306
+ */
307
+ async doPerformHealthCheck() {
308
+ const agents = Array.from(this.agents.values());
309
+ const now = Date.now();
310
+ const timeoutMs = configManager.get("agentTimeout") * 1000;
311
+ let healthy = 0;
312
+ let unhealthy = 0;
313
+ let terminated = 0;
314
+ for (const agent of agents) {
315
+ const lastActive = new Date(agent.lastActiveAt).getTime();
316
+ const isTimeout = now - lastActive > timeoutMs;
317
+ if (agent.status === "terminated") {
318
+ terminated++;
319
+ }
320
+ else if (isTimeout && agent.status !== "idle") {
321
+ // Agent timed out
322
+ agent.status = "error";
323
+ agent.healthCheckAt = new Date().toISOString();
324
+ await database.saveAgent(agent);
325
+ unhealthy++;
326
+ logAgentEvent("health_check_failed", agent.id, {
327
+ lastActive: agent.lastActiveAt,
328
+ timeout: configManager.get("agentTimeout"),
329
+ });
330
+ }
331
+ else {
332
+ agent.healthCheckAt = new Date().toISOString();
333
+ healthy++;
334
+ }
335
+ }
336
+ return {
337
+ checked: agents.length,
338
+ healthy,
339
+ unhealthy,
340
+ terminated,
341
+ };
342
+ }
343
+ /**
344
+ * Start periodic health checks
345
+ */
346
+ startHealthChecks() {
347
+ const interval = configManager.get("healthCheckInterval") * 1000;
348
+ this.healthCheckTimer = setInterval(async () => {
349
+ try {
350
+ const result = await this.performHealthCheck();
351
+ logger.debug("Health check completed", {
352
+ category: "agent",
353
+ ...result,
354
+ });
355
+ }
356
+ catch (error) {
357
+ logger.error("Health check failed", {
358
+ category: "agent",
359
+ error: error instanceof Error ? error.message : String(error),
360
+ });
361
+ }
362
+ }, interval);
363
+ logger.info("Health check timer started", {
364
+ category: "agent",
365
+ interval: `${interval}ms`,
366
+ });
367
+ }
368
+ /**
369
+ * Stop health checks
370
+ */
371
+ stopHealthChecks() {
372
+ if (this.healthCheckTimer) {
373
+ clearInterval(this.healthCheckTimer);
374
+ this.healthCheckTimer = null;
375
+ logger.info("Health check timer stopped");
376
+ }
377
+ }
378
+ /**
379
+ * Get default capabilities for agent type
380
+ */
381
+ getDefaultCapabilities(type) {
382
+ const capabilities = {
383
+ product_manager: [
384
+ "requirements",
385
+ "specification",
386
+ "user-stories",
387
+ "acceptance-criteria",
388
+ "roadmap",
389
+ ],
390
+ architect: [
391
+ "system-design",
392
+ "tech-stack",
393
+ "database-design",
394
+ "api-design",
395
+ "patterns",
396
+ ],
397
+ engineer: [
398
+ "implementation",
399
+ "coding",
400
+ "debugging",
401
+ "refactoring",
402
+ "testing",
403
+ ],
404
+ qa: [
405
+ "testing",
406
+ "quality-assurance",
407
+ "bug-reporting",
408
+ "test-automation",
409
+ ],
410
+ reviewer: [
411
+ "code-review",
412
+ "security-audit",
413
+ "performance-review",
414
+ "best-practices",
415
+ ],
416
+ };
417
+ return capabilities[type] || [];
418
+ }
419
+ /**
420
+ * Get agent statistics
421
+ */
422
+ async getAgentStats() {
423
+ const agents = await this.getAllAgents();
424
+ const byType = {};
425
+ const byStatus = {};
426
+ const byMode = {};
427
+ for (const agent of agents) {
428
+ byType[agent.type] = (byType[agent.type] || 0) + 1;
429
+ byStatus[agent.status] = (byStatus[agent.status] || 0) + 1;
430
+ byMode[agent.mode] = (byMode[agent.mode] || 0) + 1;
431
+ }
432
+ return {
433
+ total: agents.length,
434
+ byType: byType,
435
+ byStatus: byStatus,
436
+ byMode: byMode,
437
+ };
438
+ }
439
+ /**
440
+ * Cleanup terminated agents
441
+ */
442
+ async cleanup() {
443
+ const agents = Array.from(this.agents.values());
444
+ let cleaned = 0;
445
+ for (const agent of agents) {
446
+ if (agent.status === "terminated") {
447
+ this.agents.delete(agent.id);
448
+ cleaned++;
449
+ }
450
+ }
451
+ logger.info("Agent cleanup completed", {
452
+ category: "agent",
453
+ cleaned,
454
+ });
455
+ return cleaned;
456
+ }
457
+ }
458
+ // Export singleton
459
+ export const agentManager = new AgentManager();
460
+ //# sourceMappingURL=agent-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/core/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Context Manager
3
+ * Manages context persistence, checkpoints, and handoffs
4
+ */
5
+ import type { Context, ContextMessage, Artifact, Checkpoint, HandoffContext } from "../types/index.js";
6
+ /**
7
+ * Context Manager
8
+ * Handles context lifecycle and persistence
9
+ */
10
+ export declare class ContextManager {
11
+ private contexts;
12
+ private checkpointTimers;
13
+ /**
14
+ * Create a new context for an agent
15
+ */
16
+ createContext(agentId: string, options?: {
17
+ maxTokens?: number;
18
+ initialMessages?: ContextMessage[];
19
+ }): Promise<Context>;
20
+ /**
21
+ * Get context by ID
22
+ */
23
+ getContext(contextId: string): Promise<Context | null>;
24
+ /**
25
+ * Get context by agent ID
26
+ */
27
+ getContextByAgent(agentId: string): Promise<Context | null>;
28
+ /**
29
+ * Add message to context
30
+ */
31
+ addMessage(contextId: string, message: Omit<ContextMessage, "id" | "timestamp">): Promise<Context | null>;
32
+ /**
33
+ * Add artifact to context
34
+ */
35
+ addArtifact(contextId: string, artifact: Omit<Artifact, "id" | "createdAt">): Promise<Context | null>;
36
+ /**
37
+ * Create a checkpoint
38
+ */
39
+ createCheckpoint(contextId: string, options?: {
40
+ thoughtChainId?: string;
41
+ }): Promise<Checkpoint | null>;
42
+ /**
43
+ * Restore to a checkpoint
44
+ */
45
+ restoreCheckpoint(contextId: string, checkpointId: string): Promise<Context | null>;
46
+ /**
47
+ * Get checkpoints for a context
48
+ */
49
+ getCheckpoints(contextId: string): Promise<Checkpoint[]>;
50
+ /**
51
+ * Perform handoff between agents
52
+ */
53
+ handoff(fromAgentId: string, toAgentId: string, taskId: string, options?: {
54
+ notes?: string;
55
+ includeThoughtChain?: boolean;
56
+ thoughtChainId?: string;
57
+ }): Promise<HandoffContext | null>;
58
+ /**
59
+ * Get handoff history for an agent
60
+ */
61
+ getHandoffHistory(agentId: string): Promise<HandoffContext[]>;
62
+ /**
63
+ * Auto-summarize context when it gets too large
64
+ * Uses extractive summarization based on message importance and recency
65
+ */
66
+ private autoSummarize;
67
+ /**
68
+ * Summarize context manually
69
+ */
70
+ summarize(contextId: string, summary: string): Promise<Context | null>;
71
+ /**
72
+ * Export context as JSON
73
+ */
74
+ exportToJSON(contextId: string): Promise<string | null>;
75
+ /**
76
+ * Export context as Markdown
77
+ */
78
+ exportToMarkdown(contextId: string): Promise<string | null>;
79
+ /**
80
+ * Start automatic checkpoint timer
81
+ */
82
+ private startCheckpointTimer;
83
+ /**
84
+ * Stop checkpoint timer
85
+ */
86
+ stopCheckpointTimer(contextId: string): void;
87
+ /**
88
+ * Delete context
89
+ */
90
+ deleteContext(contextId: string): Promise<boolean>;
91
+ /**
92
+ * Cleanup old contexts
93
+ */
94
+ cleanup(maxAgeHours?: number): Promise<number>;
95
+ /**
96
+ * Get context statistics
97
+ */
98
+ getStats(): Promise<{
99
+ totalContexts: number;
100
+ totalMessages: number;
101
+ totalArtifacts: number;
102
+ totalCheckpoints: number;
103
+ averageMessagesPerContext: number;
104
+ }>;
105
+ }
106
+ export declare const contextManager: ContextManager;
107
+ //# sourceMappingURL=context-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../src/core/context-manager.ts"],"names":[],"mappings":"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"}