@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 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/core/database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Event System
3
+ * Centralized event management for agent communication and system events
4
+ */
5
+ type EventCallback<T = unknown> = (data: T) => void | Promise<void>;
6
+ interface EventSubscription {
7
+ id: string;
8
+ event: string;
9
+ callback: EventCallback;
10
+ once: boolean;
11
+ }
12
+ interface AgentMessage {
13
+ fromAgentId: string;
14
+ toAgentId: string;
15
+ type: string;
16
+ content: unknown;
17
+ timestamp: string;
18
+ }
19
+ interface SystemEvent {
20
+ type: string;
21
+ source: string;
22
+ data: unknown;
23
+ timestamp: string;
24
+ }
25
+ /**
26
+ * Event Emitter System
27
+ * Handles all events within the swarm system
28
+ */
29
+ export declare class EventEmitter {
30
+ private subscriptions;
31
+ private agentMailboxes;
32
+ private systemEvents;
33
+ private maxSystemEvents;
34
+ private maxListeners;
35
+ private listenerCount;
36
+ /**
37
+ * Subscribe to an event
38
+ */
39
+ on<T>(event: string, callback: EventCallback<T>): string;
40
+ /**
41
+ * Subscribe to an event once
42
+ */
43
+ once<T>(event: string, callback: EventCallback<T>): string;
44
+ /**
45
+ * Unsubscribe from an event
46
+ */
47
+ off(event: string, subscriptionId: string): boolean;
48
+ /**
49
+ * Emit an event
50
+ */
51
+ emit<T>(event: string, data: T): Promise<void>;
52
+ /**
53
+ * Send message between agents
54
+ */
55
+ sendMessage(message: Omit<AgentMessage, "timestamp">): boolean;
56
+ /**
57
+ * Get messages for an agent
58
+ */
59
+ getMessages(agentId: string, options?: {
60
+ unreadOnly?: boolean;
61
+ limit?: number;
62
+ }): AgentMessage[];
63
+ /**
64
+ * Clear messages for an agent
65
+ */
66
+ clearMessages(agentId: string): void;
67
+ /**
68
+ * Mark messages as read
69
+ */
70
+ markMessagesAsRead(agentId: string, messageIds?: string[]): void;
71
+ /**
72
+ * Broadcast message to all agents
73
+ */
74
+ broadcast(fromAgentId: string, type: string, content: unknown, excludeAgentIds?: string[]): void;
75
+ /**
76
+ * Store system event
77
+ */
78
+ private storeSystemEvent;
79
+ /**
80
+ * Get system events
81
+ */
82
+ getSystemEvents(options?: {
83
+ type?: string;
84
+ limit?: number;
85
+ since?: Date;
86
+ }): SystemEvent[];
87
+ /**
88
+ * Clear system events
89
+ */
90
+ clearSystemEvents(): void;
91
+ /**
92
+ * Get active subscriptions
93
+ */
94
+ getSubscriptions(): Map<string, EventSubscription[]>;
95
+ /**
96
+ * Get subscription count
97
+ */
98
+ getSubscriptionCount(event?: string): number;
99
+ /**
100
+ * Remove all subscriptions
101
+ */
102
+ removeAllSubscriptions(): void;
103
+ /**
104
+ * Generate unique ID
105
+ */
106
+ private generateId;
107
+ }
108
+ export declare const eventEmitter: EventEmitter;
109
+ export type { AgentMessage, SystemEvent, EventCallback };
110
+ //# sourceMappingURL=event-emitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../src/core/event-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ /**
2
+ * Event System
3
+ * Centralized event management for agent communication and system events
4
+ */
5
+ import { logger } from "../utils/logger.js";
6
+ /**
7
+ * Event Emitter System
8
+ * Handles all events within the swarm system
9
+ */
10
+ export class EventEmitter {
11
+ subscriptions = new Map();
12
+ agentMailboxes = new Map();
13
+ systemEvents = [];
14
+ maxSystemEvents = 1000;
15
+ maxListeners = 100;
16
+ listenerCount = new Map();
17
+ /**
18
+ * Subscribe to an event
19
+ */
20
+ on(event, callback) {
21
+ const currentCount = this.listenerCount.get(event) || 0;
22
+ if (currentCount >= this.maxListeners) {
23
+ logger.warn(`Max listeners (${this.maxListeners}) reached for event: ${event}`);
24
+ return "";
25
+ }
26
+ const id = this.generateId();
27
+ const subscription = {
28
+ id,
29
+ event,
30
+ callback: callback,
31
+ once: false,
32
+ };
33
+ const subs = this.subscriptions.get(event) || [];
34
+ subs.push(subscription);
35
+ this.subscriptions.set(event, subs);
36
+ this.listenerCount.set(event, currentCount + 1);
37
+ return id;
38
+ }
39
+ /**
40
+ * Subscribe to an event once
41
+ */
42
+ once(event, callback) {
43
+ const id = this.generateId();
44
+ const subscription = {
45
+ id,
46
+ event,
47
+ callback: callback,
48
+ once: true,
49
+ };
50
+ const subs = this.subscriptions.get(event) || [];
51
+ subs.push(subscription);
52
+ this.subscriptions.set(event, subs);
53
+ return id;
54
+ }
55
+ /**
56
+ * Unsubscribe from an event
57
+ */
58
+ off(event, subscriptionId) {
59
+ const subs = this.subscriptions.get(event);
60
+ if (!subs)
61
+ return false;
62
+ const index = subs.findIndex((s) => s.id === subscriptionId);
63
+ if (index === -1)
64
+ return false;
65
+ subs.splice(index, 1);
66
+ if (subs.length === 0) {
67
+ this.subscriptions.delete(event);
68
+ this.listenerCount.delete(event);
69
+ }
70
+ else {
71
+ this.listenerCount.set(event, subs.length);
72
+ }
73
+ return true;
74
+ }
75
+ /**
76
+ * Emit an event
77
+ */
78
+ async emit(event, data) {
79
+ const subs = this.subscriptions.get(event);
80
+ if (!subs || subs.length === 0)
81
+ return;
82
+ const toRemove = [];
83
+ for (const sub of subs) {
84
+ try {
85
+ await sub.callback(data);
86
+ if (sub.once) {
87
+ toRemove.push(sub.id);
88
+ }
89
+ }
90
+ catch (error) {
91
+ logger.error("Event callback error", {
92
+ event,
93
+ subscriptionId: sub.id,
94
+ error: error instanceof Error ? error.message : String(error),
95
+ });
96
+ }
97
+ }
98
+ // Remove once subscriptions
99
+ for (const id of toRemove) {
100
+ this.off(event, id);
101
+ }
102
+ // Store system event
103
+ this.storeSystemEvent({
104
+ type: event,
105
+ source: "event-emitter",
106
+ data,
107
+ timestamp: new Date().toISOString(),
108
+ });
109
+ }
110
+ /**
111
+ * Send message between agents
112
+ */
113
+ sendMessage(message) {
114
+ const fullMessage = {
115
+ ...message,
116
+ timestamp: new Date().toISOString(),
117
+ };
118
+ // Add to recipient's mailbox
119
+ const mailbox = this.agentMailboxes.get(message.toAgentId) || [];
120
+ mailbox.push(fullMessage);
121
+ this.agentMailboxes.set(message.toAgentId, mailbox);
122
+ // Emit event for real-time notification
123
+ this.emit("agent:message", fullMessage);
124
+ logger.debug("Agent message sent", {
125
+ from: message.fromAgentId,
126
+ to: message.toAgentId,
127
+ type: message.type,
128
+ });
129
+ return true;
130
+ }
131
+ /**
132
+ * Get messages for an agent
133
+ */
134
+ getMessages(agentId, options = {}) {
135
+ const mailbox = this.agentMailboxes.get(agentId) || [];
136
+ let messages = [...mailbox];
137
+ if (options.limit) {
138
+ messages = messages.slice(-options.limit);
139
+ }
140
+ return messages;
141
+ }
142
+ /**
143
+ * Clear messages for an agent
144
+ */
145
+ clearMessages(agentId) {
146
+ this.agentMailboxes.delete(agentId);
147
+ }
148
+ /**
149
+ * Mark messages as read
150
+ */
151
+ markMessagesAsRead(agentId, messageIds) {
152
+ // In a real implementation, we'd track read status
153
+ // For now, we'll just emit an event
154
+ this.emit("agent:messages-read", {
155
+ agentId,
156
+ messageIds,
157
+ timestamp: new Date().toISOString(),
158
+ });
159
+ }
160
+ /**
161
+ * Broadcast message to all agents
162
+ */
163
+ broadcast(fromAgentId, type, content, excludeAgentIds) {
164
+ this.emit("agent:broadcast", {
165
+ fromAgentId,
166
+ type,
167
+ content,
168
+ excludeAgentIds,
169
+ timestamp: new Date().toISOString(),
170
+ });
171
+ }
172
+ /**
173
+ * Store system event
174
+ */
175
+ storeSystemEvent(event) {
176
+ this.systemEvents.push(event);
177
+ // Keep only recent events
178
+ if (this.systemEvents.length > this.maxSystemEvents) {
179
+ this.systemEvents = this.systemEvents.slice(-this.maxSystemEvents);
180
+ }
181
+ }
182
+ /**
183
+ * Get system events
184
+ */
185
+ getSystemEvents(options = {}) {
186
+ let events = [...this.systemEvents];
187
+ if (options.type) {
188
+ events = events.filter((e) => e.type === options.type);
189
+ }
190
+ if (options.since) {
191
+ events = events.filter((e) => new Date(e.timestamp) >= options.since);
192
+ }
193
+ if (options.limit) {
194
+ events = events.slice(-options.limit);
195
+ }
196
+ return events;
197
+ }
198
+ /**
199
+ * Clear system events
200
+ */
201
+ clearSystemEvents() {
202
+ this.systemEvents = [];
203
+ }
204
+ /**
205
+ * Get active subscriptions
206
+ */
207
+ getSubscriptions() {
208
+ return new Map(this.subscriptions);
209
+ }
210
+ /**
211
+ * Get subscription count
212
+ */
213
+ getSubscriptionCount(event) {
214
+ if (event) {
215
+ return this.subscriptions.get(event)?.length || 0;
216
+ }
217
+ let count = 0;
218
+ for (const subs of this.subscriptions.values()) {
219
+ count += subs.length;
220
+ }
221
+ return count;
222
+ }
223
+ /**
224
+ * Remove all subscriptions
225
+ */
226
+ removeAllSubscriptions() {
227
+ this.subscriptions.clear();
228
+ this.listenerCount.clear();
229
+ logger.info("All event subscriptions removed");
230
+ }
231
+ /**
232
+ * Generate unique ID
233
+ */
234
+ generateId() {
235
+ return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
236
+ }
237
+ }
238
+ // Export singleton instance
239
+ export const eventEmitter = new EventEmitter();
240
+ //# sourceMappingURL=event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../../src/core/event-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Metrics & Monitoring System
3
+ * Performance metrics collection and reporting
4
+ */
5
+ interface MetricValue {
6
+ value: number;
7
+ timestamp: number;
8
+ labels?: Record<string, string>;
9
+ }
10
+ interface Metric {
11
+ name: string;
12
+ type: "counter" | "gauge" | "histogram";
13
+ description: string;
14
+ values: MetricValue[];
15
+ }
16
+ interface HistogramBucket {
17
+ le: number;
18
+ count: number;
19
+ }
20
+ interface PerformanceSnapshot {
21
+ timestamp: number;
22
+ metrics: Record<string, number>;
23
+ }
24
+ /**
25
+ * Metrics Manager
26
+ * Collects and manages performance metrics
27
+ */
28
+ export declare class MetricsManager {
29
+ private metrics;
30
+ private snapshots;
31
+ private maxSnapshots;
32
+ /**
33
+ * Register a counter metric
34
+ */
35
+ registerCounter(name: string, description: string): void;
36
+ /**
37
+ * Register a gauge metric
38
+ */
39
+ registerGauge(name: string, description: string): void;
40
+ /**
41
+ * Register a histogram metric
42
+ */
43
+ registerHistogram(name: string, description: string, buckets?: number[]): void;
44
+ /**
45
+ * Increment counter
46
+ */
47
+ increment(name: string, value?: number, labels?: Record<string, string>): void;
48
+ /**
49
+ * Set gauge value
50
+ */
51
+ setGauge(name: string, value: number, labels?: Record<string, string>): void;
52
+ /**
53
+ * Observe histogram value
54
+ */
55
+ observe(name: string, value: number, labels?: Record<string, string>): void;
56
+ /**
57
+ * Get metric value
58
+ */
59
+ getValue(name: string): number | null;
60
+ /**
61
+ * Get metric summary
62
+ */
63
+ getSummary(name: string): {
64
+ count: number;
65
+ sum: number;
66
+ avg: number;
67
+ min: number;
68
+ max: number;
69
+ } | null;
70
+ /**
71
+ * Get histogram buckets
72
+ */
73
+ getHistogramBuckets(name: string): HistogramBucket[] | null;
74
+ /**
75
+ * Get all metrics
76
+ */
77
+ getAllMetrics(): Metric[];
78
+ /**
79
+ * Export metrics in Prometheus format
80
+ */
81
+ exportPrometheus(): string;
82
+ /**
83
+ * Export metrics in JSON format
84
+ */
85
+ exportJSON(): string;
86
+ /**
87
+ * Take performance snapshot
88
+ */
89
+ takeSnapshot(): PerformanceSnapshot;
90
+ /**
91
+ * Get snapshots
92
+ */
93
+ getSnapshots(options?: {
94
+ since?: Date;
95
+ limit?: number;
96
+ }): PerformanceSnapshot[];
97
+ /**
98
+ * Clear all metrics
99
+ */
100
+ clear(): void;
101
+ /**
102
+ * Register default metrics
103
+ */
104
+ registerDefaultMetrics(): void;
105
+ }
106
+ export declare const metricsManager: MetricsManager;
107
+ export type { Metric, MetricValue, HistogramBucket, PerformanceSnapshot };
108
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/core/metrics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,MAAM;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAQD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,YAAY,CAAQ;IAE5B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IASxD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAStD;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAA4B,GAAG,IAAI;IAiBvG;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAmBjF;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAmB5E;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IA2B3E;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQrC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,GAAG,IAAI;IAgBR;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI;IAU3D;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAmC1B;;OAEG;IACH,UAAU,IAAI,MAAM;IAqBpB;;OAEG;IACH,YAAY,IAAI,mBAAmB;IAuBnC;;OAEG;IACH,YAAY,CAAC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,mBAAmB,EAAE;IAcnF;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,sBAAsB,IAAI,IAAI;CAqB/B;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC;AAGnD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC"}