@lleverage-ai/agent-sdk 0.0.1
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 +2321 -0
- package/dist/agent.d.ts +52 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +2122 -0
- package/dist/agent.js.map +1 -0
- package/dist/backend.d.ts +378 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +71 -0
- package/dist/backend.js.map +1 -0
- package/dist/backends/composite.d.ts +258 -0
- package/dist/backends/composite.d.ts.map +1 -0
- package/dist/backends/composite.js +437 -0
- package/dist/backends/composite.js.map +1 -0
- package/dist/backends/filesystem.d.ts +268 -0
- package/dist/backends/filesystem.d.ts.map +1 -0
- package/dist/backends/filesystem.js +623 -0
- package/dist/backends/filesystem.js.map +1 -0
- package/dist/backends/index.d.ts +14 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +14 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/persistent.d.ts +312 -0
- package/dist/backends/persistent.d.ts.map +1 -0
- package/dist/backends/persistent.js +519 -0
- package/dist/backends/persistent.js.map +1 -0
- package/dist/backends/sandbox.d.ts +315 -0
- package/dist/backends/sandbox.d.ts.map +1 -0
- package/dist/backends/sandbox.js +490 -0
- package/dist/backends/sandbox.js.map +1 -0
- package/dist/backends/state.d.ts +225 -0
- package/dist/backends/state.d.ts.map +1 -0
- package/dist/backends/state.js +396 -0
- package/dist/backends/state.js.map +1 -0
- package/dist/checkpointer/file-saver.d.ts +182 -0
- package/dist/checkpointer/file-saver.d.ts.map +1 -0
- package/dist/checkpointer/file-saver.js +298 -0
- package/dist/checkpointer/file-saver.js.map +1 -0
- package/dist/checkpointer/index.d.ts +40 -0
- package/dist/checkpointer/index.d.ts.map +1 -0
- package/dist/checkpointer/index.js +40 -0
- package/dist/checkpointer/index.js.map +1 -0
- package/dist/checkpointer/kv-saver.d.ts +142 -0
- package/dist/checkpointer/kv-saver.d.ts.map +1 -0
- package/dist/checkpointer/kv-saver.js +176 -0
- package/dist/checkpointer/kv-saver.js.map +1 -0
- package/dist/checkpointer/memory-saver.d.ts +158 -0
- package/dist/checkpointer/memory-saver.d.ts.map +1 -0
- package/dist/checkpointer/memory-saver.js +222 -0
- package/dist/checkpointer/memory-saver.js.map +1 -0
- package/dist/checkpointer/types.d.ts +353 -0
- package/dist/checkpointer/types.d.ts.map +1 -0
- package/dist/checkpointer/types.js +159 -0
- package/dist/checkpointer/types.js.map +1 -0
- package/dist/context-manager.d.ts +627 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +1039 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/context.d.ts +57 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +76 -0
- package/dist/context.js.map +1 -0
- package/dist/errors/index.d.ts +611 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1023 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/generation-helpers.d.ts +126 -0
- package/dist/generation-helpers.d.ts.map +1 -0
- package/dist/generation-helpers.js +181 -0
- package/dist/generation-helpers.js.map +1 -0
- package/dist/hooks/audit.d.ts +210 -0
- package/dist/hooks/audit.d.ts.map +1 -0
- package/dist/hooks/audit.js +305 -0
- package/dist/hooks/audit.js.map +1 -0
- package/dist/hooks/cache.d.ts +180 -0
- package/dist/hooks/cache.d.ts.map +1 -0
- package/dist/hooks/cache.js +273 -0
- package/dist/hooks/cache.js.map +1 -0
- package/dist/hooks/guardrails.d.ts +145 -0
- package/dist/hooks/guardrails.d.ts.map +1 -0
- package/dist/hooks/guardrails.js +326 -0
- package/dist/hooks/guardrails.js.map +1 -0
- package/dist/hooks/index.d.ts +18 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +32 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/logging.d.ts +193 -0
- package/dist/hooks/logging.d.ts.map +1 -0
- package/dist/hooks/logging.js +345 -0
- package/dist/hooks/logging.js.map +1 -0
- package/dist/hooks/parallel-guardrails.d.ts +268 -0
- package/dist/hooks/parallel-guardrails.d.ts.map +1 -0
- package/dist/hooks/parallel-guardrails.js +416 -0
- package/dist/hooks/parallel-guardrails.js.map +1 -0
- package/dist/hooks/rate-limit.d.ts +305 -0
- package/dist/hooks/rate-limit.d.ts.map +1 -0
- package/dist/hooks/rate-limit.js +372 -0
- package/dist/hooks/rate-limit.js.map +1 -0
- package/dist/hooks/retry.d.ts +144 -0
- package/dist/hooks/retry.d.ts.map +1 -0
- package/dist/hooks/retry.js +210 -0
- package/dist/hooks/retry.js.map +1 -0
- package/dist/hooks/secrets.d.ts +174 -0
- package/dist/hooks/secrets.d.ts.map +1 -0
- package/dist/hooks/secrets.js +306 -0
- package/dist/hooks/secrets.js.map +1 -0
- package/dist/hooks.d.ts +229 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +352 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +182 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/env.d.ts +25 -0
- package/dist/mcp/env.d.ts.map +1 -0
- package/dist/mcp/env.js +18 -0
- package/dist/mcp/env.js.map +1 -0
- package/dist/mcp/index.d.ts +16 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +17 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/manager.d.ts +184 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +446 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/types.d.ts +58 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +7 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp/validation.d.ts +119 -0
- package/dist/mcp/validation.d.ts.map +1 -0
- package/dist/mcp/validation.js +407 -0
- package/dist/mcp/validation.js.map +1 -0
- package/dist/mcp/virtual-server.d.ts +78 -0
- package/dist/mcp/virtual-server.d.ts.map +1 -0
- package/dist/mcp/virtual-server.js +137 -0
- package/dist/mcp/virtual-server.js.map +1 -0
- package/dist/memory/filesystem-store.d.ts +217 -0
- package/dist/memory/filesystem-store.d.ts.map +1 -0
- package/dist/memory/filesystem-store.js +343 -0
- package/dist/memory/filesystem-store.js.map +1 -0
- package/dist/memory/index.d.ts +46 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +46 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/loader.d.ts +396 -0
- package/dist/memory/loader.d.ts.map +1 -0
- package/dist/memory/loader.js +419 -0
- package/dist/memory/loader.js.map +1 -0
- package/dist/memory/permissions.d.ts +282 -0
- package/dist/memory/permissions.d.ts.map +1 -0
- package/dist/memory/permissions.js +297 -0
- package/dist/memory/permissions.js.map +1 -0
- package/dist/memory/rules.d.ts +249 -0
- package/dist/memory/rules.d.ts.map +1 -0
- package/dist/memory/rules.js +362 -0
- package/dist/memory/rules.js.map +1 -0
- package/dist/memory/store.d.ts +286 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +263 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/middleware/apply.d.ts +73 -0
- package/dist/middleware/apply.d.ts.map +1 -0
- package/dist/middleware/apply.js +219 -0
- package/dist/middleware/apply.js.map +1 -0
- package/dist/middleware/context.d.ts +33 -0
- package/dist/middleware/context.d.ts.map +1 -0
- package/dist/middleware/context.js +176 -0
- package/dist/middleware/context.js.map +1 -0
- package/dist/middleware/index.d.ts +31 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +32 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/logging.d.ts +137 -0
- package/dist/middleware/logging.d.ts.map +1 -0
- package/dist/middleware/logging.js +374 -0
- package/dist/middleware/logging.js.map +1 -0
- package/dist/middleware/types.d.ts +183 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +11 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/observability/events.d.ts +183 -0
- package/dist/observability/events.d.ts.map +1 -0
- package/dist/observability/events.js +305 -0
- package/dist/observability/events.js.map +1 -0
- package/dist/observability/index.d.ts +55 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +87 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/logger.d.ts +318 -0
- package/dist/observability/logger.d.ts.map +1 -0
- package/dist/observability/logger.js +436 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/metrics.d.ts +341 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +490 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/observability/preset.d.ts +161 -0
- package/dist/observability/preset.d.ts.map +1 -0
- package/dist/observability/preset.js +133 -0
- package/dist/observability/preset.js.map +1 -0
- package/dist/observability/streaming.d.ts +113 -0
- package/dist/observability/streaming.d.ts.map +1 -0
- package/dist/observability/streaming.js +114 -0
- package/dist/observability/streaming.js.map +1 -0
- package/dist/observability/tracing.d.ts +378 -0
- package/dist/observability/tracing.d.ts.map +1 -0
- package/dist/observability/tracing.js +539 -0
- package/dist/observability/tracing.js.map +1 -0
- package/dist/plugins.d.ts +55 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +63 -0
- package/dist/plugins.js.map +1 -0
- package/dist/presets/index.d.ts +7 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +7 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/production.d.ts +262 -0
- package/dist/presets/production.d.ts.map +1 -0
- package/dist/presets/production.js +295 -0
- package/dist/presets/production.js.map +1 -0
- package/dist/security/index.d.ts +179 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +323 -0
- package/dist/security/index.js.map +1 -0
- package/dist/subagents/advanced.d.ts +413 -0
- package/dist/subagents/advanced.d.ts.map +1 -0
- package/dist/subagents/advanced.js +396 -0
- package/dist/subagents/advanced.js.map +1 -0
- package/dist/subagents/index.d.ts +14 -0
- package/dist/subagents/index.d.ts.map +1 -0
- package/dist/subagents/index.js +15 -0
- package/dist/subagents/index.js.map +1 -0
- package/dist/subagents.d.ts +73 -0
- package/dist/subagents.d.ts.map +1 -0
- package/dist/subagents.js +213 -0
- package/dist/subagents.js.map +1 -0
- package/dist/task-store/file-store.d.ts +76 -0
- package/dist/task-store/file-store.d.ts.map +1 -0
- package/dist/task-store/file-store.js +190 -0
- package/dist/task-store/file-store.js.map +1 -0
- package/dist/task-store/index.d.ts +11 -0
- package/dist/task-store/index.d.ts.map +1 -0
- package/dist/task-store/index.js +10 -0
- package/dist/task-store/index.js.map +1 -0
- package/dist/task-store/kv-store.d.ts +140 -0
- package/dist/task-store/kv-store.d.ts.map +1 -0
- package/dist/task-store/kv-store.js +169 -0
- package/dist/task-store/kv-store.js.map +1 -0
- package/dist/task-store/memory-store.d.ts +66 -0
- package/dist/task-store/memory-store.d.ts.map +1 -0
- package/dist/task-store/memory-store.js +125 -0
- package/dist/task-store/memory-store.js.map +1 -0
- package/dist/task-store/types.d.ts +235 -0
- package/dist/task-store/types.d.ts.map +1 -0
- package/dist/task-store/types.js +110 -0
- package/dist/task-store/types.js.map +1 -0
- package/dist/testing/assertions.d.ts +401 -0
- package/dist/testing/assertions.d.ts.map +1 -0
- package/dist/testing/assertions.js +630 -0
- package/dist/testing/assertions.js.map +1 -0
- package/dist/testing/index.d.ts +343 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +360 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-agent.d.ts +214 -0
- package/dist/testing/mock-agent.d.ts.map +1 -0
- package/dist/testing/mock-agent.js +448 -0
- package/dist/testing/mock-agent.js.map +1 -0
- package/dist/testing/recorder.d.ts +288 -0
- package/dist/testing/recorder.d.ts.map +1 -0
- package/dist/testing/recorder.js +499 -0
- package/dist/testing/recorder.js.map +1 -0
- package/dist/tools/execute.d.ts +104 -0
- package/dist/tools/execute.d.ts.map +1 -0
- package/dist/tools/execute.js +191 -0
- package/dist/tools/execute.js.map +1 -0
- package/dist/tools/factory.d.ts +260 -0
- package/dist/tools/factory.d.ts.map +1 -0
- package/dist/tools/factory.js +241 -0
- package/dist/tools/factory.js.map +1 -0
- package/dist/tools/filesystem.d.ts +215 -0
- package/dist/tools/filesystem.d.ts.map +1 -0
- package/dist/tools/filesystem.js +311 -0
- package/dist/tools/filesystem.js.map +1 -0
- package/dist/tools/index.d.ts +33 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +33 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/search.d.ts +59 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +94 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/skills.d.ts +354 -0
- package/dist/tools/skills.d.ts.map +1 -0
- package/dist/tools/skills.js +413 -0
- package/dist/tools/skills.js.map +1 -0
- package/dist/tools/task.d.ts +272 -0
- package/dist/tools/task.d.ts.map +1 -0
- package/dist/tools/task.js +521 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/todos.d.ts +131 -0
- package/dist/tools/todos.d.ts.map +1 -0
- package/dist/tools/todos.js +120 -0
- package/dist/tools/todos.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +424 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +607 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/user-interaction.d.ts +116 -0
- package/dist/tools/user-interaction.d.ts.map +1 -0
- package/dist/tools/user-interaction.js +147 -0
- package/dist/tools/user-interaction.js.map +1 -0
- package/dist/tools/utils.d.ts +124 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +189 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools.d.ts +74 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +73 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +2421 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +55 -0
- package/dist/types.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics Collection System.
|
|
3
|
+
*
|
|
4
|
+
* Provides a flexible metrics system for tracking:
|
|
5
|
+
* - Token usage (input/output tokens)
|
|
6
|
+
* - Latency (request duration)
|
|
7
|
+
* - Error rates
|
|
8
|
+
* - Custom counters, gauges, and histograms
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Metric types supported by the system.
|
|
14
|
+
*
|
|
15
|
+
* @category Observability
|
|
16
|
+
*/
|
|
17
|
+
export type MetricType = "counter" | "gauge" | "histogram";
|
|
18
|
+
/**
|
|
19
|
+
* Labels/tags for metrics.
|
|
20
|
+
*
|
|
21
|
+
* @category Observability
|
|
22
|
+
*/
|
|
23
|
+
export type MetricLabels = Record<string, string>;
|
|
24
|
+
/**
|
|
25
|
+
* A single metric data point.
|
|
26
|
+
*
|
|
27
|
+
* @category Observability
|
|
28
|
+
*/
|
|
29
|
+
export interface MetricPoint {
|
|
30
|
+
/** Metric name */
|
|
31
|
+
name: string;
|
|
32
|
+
/** Metric type */
|
|
33
|
+
type: MetricType;
|
|
34
|
+
/** Metric value */
|
|
35
|
+
value: number;
|
|
36
|
+
/** Labels/tags */
|
|
37
|
+
labels: MetricLabels;
|
|
38
|
+
/** ISO timestamp */
|
|
39
|
+
timestamp: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Histogram bucket definition.
|
|
43
|
+
*
|
|
44
|
+
* @category Observability
|
|
45
|
+
*/
|
|
46
|
+
export interface HistogramBucket {
|
|
47
|
+
/** Upper bound */
|
|
48
|
+
le: number;
|
|
49
|
+
/** Count of observations <= le */
|
|
50
|
+
count: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Histogram metric data.
|
|
54
|
+
*
|
|
55
|
+
* @category Observability
|
|
56
|
+
*/
|
|
57
|
+
export interface HistogramData {
|
|
58
|
+
/** Bucket counts */
|
|
59
|
+
buckets: HistogramBucket[];
|
|
60
|
+
/** Total sum of all observations */
|
|
61
|
+
sum: number;
|
|
62
|
+
/** Total count of observations */
|
|
63
|
+
count: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A counter metric that can only increase.
|
|
67
|
+
*
|
|
68
|
+
* @category Observability
|
|
69
|
+
*/
|
|
70
|
+
export interface Counter {
|
|
71
|
+
/** Increment the counter */
|
|
72
|
+
inc(value?: number, labels?: MetricLabels): void;
|
|
73
|
+
/** Get current value */
|
|
74
|
+
get(labels?: MetricLabels): number;
|
|
75
|
+
/** Reset to zero */
|
|
76
|
+
reset(labels?: MetricLabels): void;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A gauge metric that can go up and down.
|
|
80
|
+
*
|
|
81
|
+
* @category Observability
|
|
82
|
+
*/
|
|
83
|
+
export interface Gauge {
|
|
84
|
+
/** Set the gauge value */
|
|
85
|
+
set(value: number, labels?: MetricLabels): void;
|
|
86
|
+
/** Increment the gauge */
|
|
87
|
+
inc(value?: number, labels?: MetricLabels): void;
|
|
88
|
+
/** Decrement the gauge */
|
|
89
|
+
dec(value?: number, labels?: MetricLabels): void;
|
|
90
|
+
/** Get current value */
|
|
91
|
+
get(labels?: MetricLabels): number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A histogram metric for measuring distributions.
|
|
95
|
+
*
|
|
96
|
+
* @category Observability
|
|
97
|
+
*/
|
|
98
|
+
export interface Histogram {
|
|
99
|
+
/** Observe a value */
|
|
100
|
+
observe(value: number, labels?: MetricLabels): void;
|
|
101
|
+
/** Get histogram data */
|
|
102
|
+
get(labels?: MetricLabels): HistogramData;
|
|
103
|
+
/** Start a timer that observes duration when stopped */
|
|
104
|
+
startTimer(labels?: MetricLabels): () => number;
|
|
105
|
+
/** Reset the histogram */
|
|
106
|
+
reset(labels?: MetricLabels): void;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* A metrics exporter sends metrics to an external system.
|
|
110
|
+
*
|
|
111
|
+
* @category Observability
|
|
112
|
+
*/
|
|
113
|
+
export interface MetricsExporter {
|
|
114
|
+
/** Exporter name */
|
|
115
|
+
name: string;
|
|
116
|
+
/** Export metrics */
|
|
117
|
+
export(metrics: MetricPoint[]): void | Promise<void>;
|
|
118
|
+
/** Optional flush for batch exporters */
|
|
119
|
+
flush?(): void | Promise<void>;
|
|
120
|
+
/** Optional close for cleanup */
|
|
121
|
+
close?(): void | Promise<void>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Options for creating a metrics registry.
|
|
125
|
+
*
|
|
126
|
+
* @category Observability
|
|
127
|
+
*/
|
|
128
|
+
export interface MetricsRegistryOptions {
|
|
129
|
+
/** Default labels for all metrics */
|
|
130
|
+
defaultLabels?: MetricLabels;
|
|
131
|
+
/** Exporters to send metrics to */
|
|
132
|
+
exporters?: MetricsExporter[];
|
|
133
|
+
/** Export interval in milliseconds (0 = manual only) */
|
|
134
|
+
exportInterval?: number;
|
|
135
|
+
/** Prefix for all metric names */
|
|
136
|
+
prefix?: string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A registry for managing metrics.
|
|
140
|
+
*
|
|
141
|
+
* @category Observability
|
|
142
|
+
*/
|
|
143
|
+
export interface MetricsRegistry {
|
|
144
|
+
/** Create or get a counter */
|
|
145
|
+
counter(name: string, description?: string): Counter;
|
|
146
|
+
/** Create or get a gauge */
|
|
147
|
+
gauge(name: string, description?: string): Gauge;
|
|
148
|
+
/** Create or get a histogram */
|
|
149
|
+
histogram(name: string, buckets?: number[], description?: string): Histogram;
|
|
150
|
+
/** Get all current metric values */
|
|
151
|
+
getMetrics(): MetricPoint[];
|
|
152
|
+
/** Export metrics to all exporters */
|
|
153
|
+
export(): Promise<void>;
|
|
154
|
+
/** Close the registry and exporters */
|
|
155
|
+
close(): Promise<void>;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Default histogram buckets (latency in ms).
|
|
159
|
+
*/
|
|
160
|
+
export declare const DEFAULT_LATENCY_BUCKETS: number[];
|
|
161
|
+
/**
|
|
162
|
+
* Default histogram buckets for token counts.
|
|
163
|
+
*/
|
|
164
|
+
export declare const DEFAULT_TOKEN_BUCKETS: number[];
|
|
165
|
+
/**
|
|
166
|
+
* Creates a metrics registry.
|
|
167
|
+
*
|
|
168
|
+
* @param options - Registry options
|
|
169
|
+
* @returns A metrics registry
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* const registry = createMetricsRegistry({
|
|
174
|
+
* defaultLabels: { service: "my-agent" },
|
|
175
|
+
* });
|
|
176
|
+
*
|
|
177
|
+
* const requestCounter = registry.counter("requests_total");
|
|
178
|
+
* const latencyHistogram = registry.histogram("request_duration_ms");
|
|
179
|
+
*
|
|
180
|
+
* requestCounter.inc();
|
|
181
|
+
* latencyHistogram.observe(150);
|
|
182
|
+
* ```
|
|
183
|
+
*
|
|
184
|
+
* @category Observability
|
|
185
|
+
*/
|
|
186
|
+
export declare function createMetricsRegistry(options?: MetricsRegistryOptions): MetricsRegistry;
|
|
187
|
+
/**
|
|
188
|
+
* Creates a console exporter for debugging.
|
|
189
|
+
*
|
|
190
|
+
* @returns A console exporter
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* const registry = createMetricsRegistry({
|
|
195
|
+
* exporters: [createConsoleMetricsExporter()],
|
|
196
|
+
* });
|
|
197
|
+
* ```
|
|
198
|
+
*
|
|
199
|
+
* @category Observability
|
|
200
|
+
*/
|
|
201
|
+
export declare function createConsoleMetricsExporter(): MetricsExporter;
|
|
202
|
+
/**
|
|
203
|
+
* Creates a memory exporter that stores metrics.
|
|
204
|
+
*
|
|
205
|
+
* @returns A memory exporter with access to stored metrics
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```typescript
|
|
209
|
+
* const exporter = createMemoryMetricsExporter();
|
|
210
|
+
* const registry = createMetricsRegistry({ exporters: [exporter] });
|
|
211
|
+
*
|
|
212
|
+
* registry.counter("test").inc();
|
|
213
|
+
* await registry.export();
|
|
214
|
+
*
|
|
215
|
+
* console.log(exporter.metrics);
|
|
216
|
+
* ```
|
|
217
|
+
*
|
|
218
|
+
* @category Observability
|
|
219
|
+
*/
|
|
220
|
+
export declare function createMemoryMetricsExporter(): MetricsExporter & {
|
|
221
|
+
metrics: MetricPoint[];
|
|
222
|
+
clear(): void;
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* Creates a callback exporter that invokes a function for each export.
|
|
226
|
+
*
|
|
227
|
+
* @param callback - Function to call with metrics
|
|
228
|
+
* @returns A callback exporter
|
|
229
|
+
*
|
|
230
|
+
* @example
|
|
231
|
+
* ```typescript
|
|
232
|
+
* const exporter = createCallbackMetricsExporter((metrics) => {
|
|
233
|
+
* sendToPrometheus(metrics);
|
|
234
|
+
* });
|
|
235
|
+
* ```
|
|
236
|
+
*
|
|
237
|
+
* @category Observability
|
|
238
|
+
*/
|
|
239
|
+
export declare function createCallbackMetricsExporter(callback: (metrics: MetricPoint[]) => void | Promise<void>): MetricsExporter;
|
|
240
|
+
/**
|
|
241
|
+
* Pre-defined metrics for agent SDK.
|
|
242
|
+
*
|
|
243
|
+
* @category Observability
|
|
244
|
+
*/
|
|
245
|
+
export interface AgentMetrics {
|
|
246
|
+
/** Total requests made */
|
|
247
|
+
requestsTotal: Counter;
|
|
248
|
+
/** Requests in progress */
|
|
249
|
+
requestsInProgress: Gauge;
|
|
250
|
+
/** Request duration in milliseconds */
|
|
251
|
+
requestDurationMs: Histogram;
|
|
252
|
+
/** Input tokens used */
|
|
253
|
+
inputTokensTotal: Counter;
|
|
254
|
+
/** Output tokens used */
|
|
255
|
+
outputTokensTotal: Counter;
|
|
256
|
+
/** Total tokens used */
|
|
257
|
+
tokensTotal: Counter;
|
|
258
|
+
/** Tool calls made */
|
|
259
|
+
toolCallsTotal: Counter;
|
|
260
|
+
/** Tool call errors */
|
|
261
|
+
toolErrorsTotal: Counter;
|
|
262
|
+
/** Subagent spawns */
|
|
263
|
+
subagentSpawnsTotal: Counter;
|
|
264
|
+
/** Errors by type */
|
|
265
|
+
errorsTotal: Counter;
|
|
266
|
+
/** Context compactions */
|
|
267
|
+
compactionsTotal: Counter;
|
|
268
|
+
/** Checkpoint operations */
|
|
269
|
+
checkpointsTotal: Counter;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Creates pre-defined agent metrics.
|
|
273
|
+
*
|
|
274
|
+
* @param registry - The metrics registry to use
|
|
275
|
+
* @returns Agent metrics object
|
|
276
|
+
*
|
|
277
|
+
* @example
|
|
278
|
+
* ```typescript
|
|
279
|
+
* const registry = createMetricsRegistry();
|
|
280
|
+
* const metrics = createAgentMetrics(registry);
|
|
281
|
+
*
|
|
282
|
+
* // Use in agent hooks
|
|
283
|
+
* hooks.on("PostGenerate", (ctx) => {
|
|
284
|
+
* metrics.requestsTotal.inc({ model: "claude-3" });
|
|
285
|
+
* if (ctx.data.type === "PostGenerate" && ctx.data.result.usage) {
|
|
286
|
+
* metrics.inputTokensTotal.inc(ctx.data.result.usage.inputTokens);
|
|
287
|
+
* metrics.outputTokensTotal.inc(ctx.data.result.usage.outputTokens);
|
|
288
|
+
* }
|
|
289
|
+
* });
|
|
290
|
+
* ```
|
|
291
|
+
*
|
|
292
|
+
* @category Observability
|
|
293
|
+
*/
|
|
294
|
+
export declare function createAgentMetrics(registry: MetricsRegistry): AgentMetrics;
|
|
295
|
+
import type { HookCallback } from "../types.js";
|
|
296
|
+
/**
|
|
297
|
+
* Creates hooks that automatically update agent metrics.
|
|
298
|
+
*
|
|
299
|
+
* @param metrics - The agent metrics to update
|
|
300
|
+
* @returns Hook callbacks for metrics collection
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* const registry = createMetricsRegistry();
|
|
305
|
+
* const metrics = createAgentMetrics(registry);
|
|
306
|
+
* const metricsHooks = createMetricsHooks(metrics);
|
|
307
|
+
*
|
|
308
|
+
* const agent = createAgent({
|
|
309
|
+
* model,
|
|
310
|
+
* hooks: {
|
|
311
|
+
* PostGenerate: [metricsHooks.PostGenerate],
|
|
312
|
+
* PostToolUse: [metricsHooks.PostToolUse],
|
|
313
|
+
* PostToolUseFailure: [metricsHooks.PostToolUseFailure],
|
|
314
|
+
* PostCompact: [metricsHooks.PostCompact],
|
|
315
|
+
* },
|
|
316
|
+
* });
|
|
317
|
+
* ```
|
|
318
|
+
*
|
|
319
|
+
* @category Observability
|
|
320
|
+
*/
|
|
321
|
+
export declare function createMetricsHooks(metrics: AgentMetrics): {
|
|
322
|
+
PostGenerate: HookCallback;
|
|
323
|
+
PostToolUse: HookCallback;
|
|
324
|
+
PostToolUseFailure: HookCallback;
|
|
325
|
+
PostCompact: HookCallback;
|
|
326
|
+
};
|
|
327
|
+
/**
|
|
328
|
+
* The default global metrics registry.
|
|
329
|
+
*
|
|
330
|
+
* @category Observability
|
|
331
|
+
*/
|
|
332
|
+
export declare let defaultMetricsRegistry: MetricsRegistry;
|
|
333
|
+
/**
|
|
334
|
+
* Sets the default global metrics registry.
|
|
335
|
+
*
|
|
336
|
+
* @param registry - The registry to use as default
|
|
337
|
+
*
|
|
338
|
+
* @category Observability
|
|
339
|
+
*/
|
|
340
|
+
export declare function setDefaultMetricsRegistry(registry: MetricsRegistry): void;
|
|
341
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/observability/metrics.ts"],"names":[],"mappings":"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"}
|