@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.
- package/LICENSE +21 -0
- package/README.md +422 -0
- package/dist/config/index.d.ts +72 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +329 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/agent-manager.d.ts +116 -0
- package/dist/core/agent-manager.d.ts.map +1 -0
- package/dist/core/agent-manager.js +460 -0
- package/dist/core/agent-manager.js.map +1 -0
- package/dist/core/context-manager.d.ts +107 -0
- package/dist/core/context-manager.d.ts.map +1 -0
- package/dist/core/context-manager.js +467 -0
- package/dist/core/context-manager.js.map +1 -0
- package/dist/core/database.d.ts +82 -0
- package/dist/core/database.d.ts.map +1 -0
- package/dist/core/database.js +751 -0
- package/dist/core/database.js.map +1 -0
- package/dist/core/event-emitter.d.ts +110 -0
- package/dist/core/event-emitter.d.ts.map +1 -0
- package/dist/core/event-emitter.js +240 -0
- package/dist/core/event-emitter.js.map +1 -0
- package/dist/core/metrics.d.ts +108 -0
- package/dist/core/metrics.d.ts.map +1 -0
- package/dist/core/metrics.js +281 -0
- package/dist/core/metrics.js.map +1 -0
- package/dist/core/middleware.d.ts +63 -0
- package/dist/core/middleware.d.ts.map +1 -0
- package/dist/core/middleware.js +194 -0
- package/dist/core/middleware.js.map +1 -0
- package/dist/core/plugin-system.d.ts +86 -0
- package/dist/core/plugin-system.d.ts.map +1 -0
- package/dist/core/plugin-system.js +251 -0
- package/dist/core/plugin-system.js.map +1 -0
- package/dist/core/task-scheduler.d.ts +130 -0
- package/dist/core/task-scheduler.d.ts.map +1 -0
- package/dist/core/task-scheduler.js +401 -0
- package/dist/core/task-scheduler.js.map +1 -0
- package/dist/engines/auto-router.d.ts +76 -0
- package/dist/engines/auto-router.d.ts.map +1 -0
- package/dist/engines/auto-router.js +445 -0
- package/dist/engines/auto-router.js.map +1 -0
- package/dist/engines/parallel-execution.d.ts +104 -0
- package/dist/engines/parallel-execution.d.ts.map +1 -0
- package/dist/engines/parallel-execution.js +591 -0
- package/dist/engines/parallel-execution.js.map +1 -0
- package/dist/engines/sequential-thinking.d.ts +88 -0
- package/dist/engines/sequential-thinking.d.ts.map +1 -0
- package/dist/engines/sequential-thinking.js +406 -0
- package/dist/engines/sequential-thinking.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1101 -0
- package/dist/index.js.map +1 -0
- package/dist/security/validation.d.ts +87 -0
- package/dist/security/validation.d.ts.map +1 -0
- package/dist/security/validation.js +465 -0
- package/dist/security/validation.js.map +1 -0
- package/dist/tools/filesystem.d.ts +90 -0
- package/dist/tools/filesystem.d.ts.map +1 -0
- package/dist/tools/filesystem.js +292 -0
- package/dist/tools/filesystem.js.map +1 -0
- package/dist/tools/terminal.d.ts +99 -0
- package/dist/tools/terminal.d.ts.map +1 -0
- package/dist/tools/terminal.js +363 -0
- package/dist/tools/terminal.js.map +1 -0
- package/dist/types/index.d.ts +306 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +54 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/logger.d.ts +22 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +189 -0
- package/dist/utils/logger.js.map +1 -0
- 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"}
|