@zhin.js/agent 0.2.1 → 0.3.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 (152) hide show
  1. package/lib/agent-prompt/resolver.d.ts.map +1 -1
  2. package/lib/agent-prompt/resolver.js.map +1 -1
  3. package/lib/assistant/home-mcp-bridge.d.ts +1 -1
  4. package/lib/assistant/home-mcp-bridge.d.ts.map +1 -1
  5. package/lib/builtin/knowledge-search-tool.d.ts +6 -0
  6. package/lib/builtin/knowledge-search-tool.d.ts.map +1 -0
  7. package/lib/builtin/knowledge-search-tool.js +184 -0
  8. package/lib/builtin/knowledge-search-tool.js.map +1 -0
  9. package/lib/builtin/orchestration-tools.d.ts +2 -1
  10. package/lib/builtin/orchestration-tools.d.ts.map +1 -1
  11. package/lib/builtin/orchestration-tools.js.map +1 -1
  12. package/lib/builtin/run-spec-dry-run-tool.d.ts +1 -4
  13. package/lib/builtin/run-spec-dry-run-tool.d.ts.map +1 -1
  14. package/lib/builtin/run-spec-dry-run-tool.js.map +1 -1
  15. package/lib/builtin/run-validation-spec-tool.d.ts +1 -4
  16. package/lib/builtin/run-validation-spec-tool.d.ts.map +1 -1
  17. package/lib/builtin/run-validation-spec-tool.js.map +1 -1
  18. package/lib/builtin/spawn-task-tool.d.ts +2 -1
  19. package/lib/builtin/spawn-task-tool.d.ts.map +1 -1
  20. package/lib/builtin/spawn-task-tool.js.map +1 -1
  21. package/lib/builtin/web-fetch-tool.d.ts +2 -0
  22. package/lib/builtin/web-fetch-tool.d.ts.map +1 -1
  23. package/lib/builtin/web-fetch-tool.js +53 -8
  24. package/lib/builtin/web-fetch-tool.js.map +1 -1
  25. package/lib/builtin-tools.d.ts +2 -0
  26. package/lib/builtin-tools.d.ts.map +1 -1
  27. package/lib/builtin-tools.js +4 -0
  28. package/lib/builtin-tools.js.map +1 -1
  29. package/lib/config/fix-ai-config.d.ts +1 -1
  30. package/lib/config/fix-ai-config.d.ts.map +1 -1
  31. package/lib/config/normalize-ai-config.d.ts +1 -1
  32. package/lib/config/normalize-ai-config.d.ts.map +1 -1
  33. package/lib/config/provider-instance.d.ts +1 -1
  34. package/lib/config/provider-instance.d.ts.map +1 -1
  35. package/lib/config/provider-instance.js +1 -1
  36. package/lib/config/provider-instance.js.map +1 -1
  37. package/lib/config/types.d.ts +1 -1
  38. package/lib/config/types.d.ts.map +1 -1
  39. package/lib/create-agent-session.d.ts +1 -1
  40. package/lib/create-agent-session.d.ts.map +1 -1
  41. package/lib/deferred-worker-runner.d.ts +1 -1
  42. package/lib/deferred-worker-runner.d.ts.map +1 -1
  43. package/lib/index.d.ts +0 -18
  44. package/lib/index.d.ts.map +1 -1
  45. package/lib/index.js +0 -9
  46. package/lib/index.js.map +1 -1
  47. package/lib/init/activate-ai-database-storage.d.ts +1 -1
  48. package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
  49. package/lib/init/activate-ai-database-storage.js +12 -8
  50. package/lib/init/activate-ai-database-storage.js.map +1 -1
  51. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  52. package/lib/init/create-zhin-agent.js +18 -6
  53. package/lib/init/create-zhin-agent.js.map +1 -1
  54. package/lib/init/message-media.d.ts +2 -1
  55. package/lib/init/message-media.d.ts.map +1 -1
  56. package/lib/init/message-media.js.map +1 -1
  57. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  58. package/lib/init/register-builtin-tools.js +6 -3
  59. package/lib/init/register-builtin-tools.js.map +1 -1
  60. package/lib/init/register-db-upgrade.js.map +1 -1
  61. package/lib/mcp-client/connection.d.ts.map +1 -1
  62. package/lib/mcp-client/connection.js +37 -1
  63. package/lib/mcp-client/connection.js.map +1 -1
  64. package/lib/orchestrator/agent-dispatcher.d.ts +1 -1
  65. package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -1
  66. package/lib/orchestrator/remote-agent-registry.d.ts +1 -1
  67. package/lib/orchestrator/remote-agent-registry.d.ts.map +1 -1
  68. package/lib/routing/runtime-binding.d.ts +1 -1
  69. package/lib/routing/runtime-binding.d.ts.map +1 -1
  70. package/lib/security/audit-logger.d.ts +1 -0
  71. package/lib/security/audit-logger.d.ts.map +1 -1
  72. package/lib/security/audit-logger.js +12 -2
  73. package/lib/security/audit-logger.js.map +1 -1
  74. package/lib/security/dangerous-tool-policy.d.ts.map +1 -1
  75. package/lib/security/dangerous-tool-policy.js +4 -2
  76. package/lib/security/dangerous-tool-policy.js.map +1 -1
  77. package/lib/security/exec-policy.d.ts +1 -1
  78. package/lib/security/exec-policy.d.ts.map +1 -1
  79. package/lib/security/exec-policy.js +47 -0
  80. package/lib/security/exec-policy.js.map +1 -1
  81. package/lib/security/file-role-policy.js +1 -1
  82. package/lib/security/file-role-policy.js.map +1 -1
  83. package/lib/security/index.d.ts +2 -46
  84. package/lib/security/index.d.ts.map +1 -1
  85. package/lib/security/index.js +2 -67
  86. package/lib/security/index.js.map +1 -1
  87. package/lib/security/owner-approve-always-store.js +0 -1
  88. package/lib/security/owner-approve-always-store.js.map +1 -1
  89. package/lib/security/sandbox-docker.d.ts +28 -0
  90. package/lib/security/sandbox-docker.d.ts.map +1 -0
  91. package/lib/security/sandbox-docker.js +177 -0
  92. package/lib/security/sandbox-docker.js.map +1 -0
  93. package/lib/security/sandbox.d.ts +9 -0
  94. package/lib/security/sandbox.d.ts.map +1 -1
  95. package/lib/security/sandbox.js +215 -14
  96. package/lib/security/sandbox.js.map +1 -1
  97. package/lib/service.d.ts +4 -5
  98. package/lib/service.d.ts.map +1 -1
  99. package/lib/service.js +1 -8
  100. package/lib/service.js.map +1 -1
  101. package/lib/subagent.d.ts +7 -3
  102. package/lib/subagent.d.ts.map +1 -1
  103. package/lib/subagent.js +2 -2
  104. package/lib/subagent.js.map +1 -1
  105. package/lib/zhin-agent/builtin-tools.d.ts +1 -1
  106. package/lib/zhin-agent/builtin-tools.d.ts.map +1 -1
  107. package/lib/zhin-agent/config.d.ts +25 -0
  108. package/lib/zhin-agent/config.d.ts.map +1 -1
  109. package/lib/zhin-agent/config.js.map +1 -1
  110. package/lib/zhin-agent/index.d.ts +17 -16
  111. package/lib/zhin-agent/index.d.ts.map +1 -1
  112. package/lib/zhin-agent/index.js +76 -70
  113. package/lib/zhin-agent/index.js.map +1 -1
  114. package/lib/zhin-agent/interfaces.d.ts +63 -0
  115. package/lib/zhin-agent/interfaces.d.ts.map +1 -0
  116. package/lib/zhin-agent/interfaces.js +8 -0
  117. package/lib/zhin-agent/interfaces.js.map +1 -0
  118. package/lib/zhin-agent/prompt-assembly.d.ts +2 -2
  119. package/lib/zhin-agent/prompt-assembly.d.ts.map +1 -1
  120. package/lib/zhin-agent/prompt-assembly.js.map +1 -1
  121. package/lib/zhin-agent/prompt.d.ts +2 -2
  122. package/lib/zhin-agent/prompt.d.ts.map +1 -1
  123. package/lib/zhin-agent/prompt.js +22 -2
  124. package/lib/zhin-agent/prompt.js.map +1 -1
  125. package/lib/zhin-agent/session-io.d.ts +2 -2
  126. package/lib/zhin-agent/session-io.d.ts.map +1 -1
  127. package/lib/zhin-agent/session-io.js +2 -3
  128. package/lib/zhin-agent/session-io.js.map +1 -1
  129. package/lib/zhin-agent/task-continuation.d.ts +4 -4
  130. package/lib/zhin-agent/task-continuation.d.ts.map +1 -1
  131. package/lib/zhin-agent/task-continuation.js.map +1 -1
  132. package/package.json +4 -4
  133. package/lib/monitoring/index.d.ts +0 -79
  134. package/lib/monitoring/index.d.ts.map +0 -1
  135. package/lib/monitoring/index.js +0 -197
  136. package/lib/monitoring/index.js.map +0 -1
  137. package/lib/monitoring/metrics.d.ts +0 -260
  138. package/lib/monitoring/metrics.d.ts.map +0 -1
  139. package/lib/monitoring/metrics.js +0 -550
  140. package/lib/monitoring/metrics.js.map +0 -1
  141. package/lib/security/budget-limiter.d.ts +0 -161
  142. package/lib/security/budget-limiter.d.ts.map +0 -1
  143. package/lib/security/budget-limiter.js +0 -392
  144. package/lib/security/budget-limiter.js.map +0 -1
  145. package/lib/security/network-policy.d.ts +0 -98
  146. package/lib/security/network-policy.d.ts.map +0 -1
  147. package/lib/security/network-policy.js +0 -305
  148. package/lib/security/network-policy.js.map +0 -1
  149. package/lib/security/security-config.example.d.ts +0 -33
  150. package/lib/security/security-config.example.d.ts.map +0 -1
  151. package/lib/security/security-config.example.js +0 -166
  152. package/lib/security/security-config.example.js.map +0 -1
@@ -1,197 +0,0 @@
1
- /**
2
- * Agent 监控和可观测性模块
3
- *
4
- * 提供:
5
- * - 性能指标收集(Prometheus 格式)
6
- * - 分布式追踪(OpenTelemetry 格式)
7
- * - 实时监控仪表板数据
8
- * - 告警规则配置
9
- */
10
- export * from './metrics.js';
11
- import { getMetricsCollector, getAlertManager, getTraceCollector } from './metrics.js';
12
- /**
13
- * 生成监控仪表板数据
14
- */
15
- export function generateDashboardData() {
16
- const metrics = getMetricsCollector();
17
- const alerts = getAlertManager();
18
- const traces = getTraceCollector();
19
- // 获取工具执行统计
20
- const toolExecutions = metrics.getValues('agent_tool_executions_total');
21
- const toolDurations = metrics.getValues('agent_tool_execution_duration_seconds');
22
- const totalExecutions = toolExecutions.reduce((sum, v) => sum + v.value, 0);
23
- const successExecutions = toolExecutions
24
- .filter(v => v.labels.status === 'success')
25
- .reduce((sum, v) => sum + v.value, 0);
26
- const failedExecutions = toolExecutions
27
- .filter(v => v.labels.status === 'error')
28
- .reduce((sum, v) => sum + v.value, 0);
29
- const averageDuration = toolDurations.length > 0
30
- ? toolDurations.reduce((sum, v) => sum + v.value, 0) / toolDurations.length
31
- : 0;
32
- // 获取会话统计
33
- const sessions = metrics.getValues('agent_sessions_total');
34
- const sessionDurations = metrics.getValues('agent_session_duration_seconds');
35
- const totalSessions = sessions.reduce((sum, v) => sum + v.value, 0);
36
- const activeSessions = sessions
37
- .filter(v => v.labels.status === 'active')
38
- .reduce((sum, v) => sum + v.value, 0);
39
- const averageSessionDuration = sessionDurations.length > 0
40
- ? sessionDurations.reduce((sum, v) => sum + v.value, 0) / sessionDurations.length
41
- : 0;
42
- // 获取 Token 使用统计
43
- const tokenUsage = metrics.getValues('agent_token_usage_total');
44
- const totalTokens = tokenUsage.reduce((sum, v) => sum + v.value, 0);
45
- const inputTokens = tokenUsage
46
- .filter(v => v.labels.type === 'input')
47
- .reduce((sum, v) => sum + v.value, 0);
48
- const outputTokens = tokenUsage
49
- .filter(v => v.labels.type === 'output')
50
- .reduce((sum, v) => sum + v.value, 0);
51
- // 获取安全事件统计
52
- const securityEvents = metrics.getValues('agent_security_events_total');
53
- const totalSecurityEvents = securityEvents.reduce((sum, v) => sum + v.value, 0);
54
- const violations = securityEvents
55
- .filter(v => v.labels.type === 'violation')
56
- .reduce((sum, v) => sum + v.value, 0);
57
- const warnings = securityEvents
58
- .filter(v => v.labels.severity === 'warning')
59
- .reduce((sum, v) => sum + v.value, 0);
60
- // 获取资源使用
61
- const resourceUsage = metrics.getValues('agent_resource_usage');
62
- const cpuUsage = resourceUsage.find(v => v.labels.type === 'cpu')?.value || 0;
63
- const memoryUsage = resourceUsage.find(v => v.labels.type === 'memory')?.value || 0;
64
- const activeConnections = resourceUsage.find(v => v.labels.type === 'connections')?.value || 0;
65
- // 获取告警
66
- const activeAlerts = alerts.getAlerts().map(alert => ({
67
- id: alert.ruleId,
68
- severity: alert.severity,
69
- message: alert.message,
70
- timestamp: alert.timestamp,
71
- }));
72
- // 获取追踪数据
73
- const allTraces = traces.getAllSpans();
74
- const traceMap = new Map();
75
- for (const span of allTraces) {
76
- if (!traceMap.has(span.traceId)) {
77
- traceMap.set(span.traceId, []);
78
- }
79
- traceMap.get(span.traceId).push(span);
80
- }
81
- const traceSummaries = Array.from(traceMap.entries()).map(([traceId, spans]) => {
82
- const startTime = Math.min(...spans.map(s => s.startTime));
83
- const endTime = Math.max(...spans.map(s => s.endTime || s.startTime));
84
- const duration = endTime - startTime;
85
- const hasError = spans.some(s => s.status.code === 'ERROR');
86
- return {
87
- traceId,
88
- spans: spans.length,
89
- duration,
90
- status: hasError ? 'ERROR' : 'OK',
91
- };
92
- });
93
- return {
94
- timestamp: Date.now(),
95
- metrics: {
96
- toolExecutions: {
97
- total: totalExecutions,
98
- success: successExecutions,
99
- failed: failedExecutions,
100
- averageDuration,
101
- },
102
- sessions: {
103
- total: totalSessions,
104
- active: activeSessions,
105
- averageDuration: averageSessionDuration,
106
- },
107
- tokenUsage: {
108
- total: totalTokens,
109
- input: inputTokens,
110
- output: outputTokens,
111
- estimatedCost: totalTokens * 0.000002, // 简化的成本估算
112
- },
113
- securityEvents: {
114
- total: totalSecurityEvents,
115
- violations,
116
- warnings,
117
- },
118
- resourceUsage: {
119
- cpu: cpuUsage,
120
- memory: memoryUsage,
121
- activeConnections,
122
- },
123
- },
124
- alerts: activeAlerts,
125
- traces: traceSummaries.slice(0, 10), // 只返回最近 10 个追踪
126
- };
127
- }
128
- /**
129
- * 监控系统健康检查
130
- */
131
- export function healthCheck() {
132
- const checks = [];
133
- // 检查指标收集器
134
- try {
135
- const metrics = getMetricsCollector();
136
- const allMetrics = metrics.getAllMetrics();
137
- checks.push({
138
- name: 'metrics_collector',
139
- status: allMetrics.size > 0 ? 'pass' : 'warn',
140
- message: `${allMetrics.size} metrics registered`,
141
- });
142
- }
143
- catch (error) {
144
- checks.push({
145
- name: 'metrics_collector',
146
- status: 'fail',
147
- message: `Failed to initialize: ${error}`,
148
- });
149
- }
150
- // 检查追踪收集器
151
- try {
152
- const traces = getTraceCollector();
153
- const allSpans = traces.getAllSpans();
154
- checks.push({
155
- name: 'trace_collector',
156
- status: 'pass',
157
- message: `${allSpans.length} spans collected`,
158
- });
159
- }
160
- catch (error) {
161
- checks.push({
162
- name: 'trace_collector',
163
- status: 'fail',
164
- message: `Failed to initialize: ${error}`,
165
- });
166
- }
167
- // 检查告警管理器
168
- try {
169
- const alerts = getAlertManager();
170
- const allAlerts = alerts.getAlerts();
171
- const criticalAlerts = allAlerts.filter(a => a.severity === 'critical');
172
- checks.push({
173
- name: 'alert_manager',
174
- status: criticalAlerts.length > 0 ? 'warn' : 'pass',
175
- message: `${allAlerts.length} alerts (${criticalAlerts.length} critical)`,
176
- });
177
- }
178
- catch (error) {
179
- checks.push({
180
- name: 'alert_manager',
181
- status: 'fail',
182
- message: `Failed to initialize: ${error}`,
183
- });
184
- }
185
- // 确定总体状态
186
- const hasFail = checks.some(c => c.status === 'fail');
187
- const hasWarn = checks.some(c => c.status === 'warn');
188
- let status = 'healthy';
189
- if (hasFail) {
190
- status = 'unhealthy';
191
- }
192
- else if (hasWarn) {
193
- status = 'degraded';
194
- }
195
- return { status, checks };
196
- }
197
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/monitoring/index.ts"],"names":[],"mappings":"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"}
@@ -1,260 +0,0 @@
1
- /**
2
- * Agent 监控和可观测性模块
3
- *
4
- * 提供:
5
- * - 性能指标收集(Prometheus 格式)
6
- * - 分布式追踪(OpenTelemetry 格式)
7
- * - 实时监控仪表板数据
8
- * - 告警规则配置
9
- */
10
- export type MetricType = 'counter' | 'gauge' | 'histogram' | 'summary';
11
- export interface MetricLabels {
12
- [key: string]: string;
13
- }
14
- export interface MetricValue {
15
- value: number;
16
- labels: MetricLabels;
17
- timestamp?: number;
18
- }
19
- export interface MetricDefinition {
20
- name: string;
21
- type: MetricType;
22
- help: string;
23
- labels?: string[];
24
- }
25
- export declare class MetricsCollector {
26
- private metrics;
27
- private values;
28
- private static readonly MAX_HISTOGRAM_SAMPLES;
29
- private static readonly MAX_LABEL_COMBOS;
30
- private static readonly MAX_COUNTER_VALUES;
31
- /**
32
- * 注册指标
33
- */
34
- register(definition: MetricDefinition): void;
35
- /**
36
- * 增加计数器
37
- */
38
- increment(name: string, labels?: MetricLabels, value?: number): void;
39
- /**
40
- * 设置仪表盘值
41
- */
42
- set(name: string, value: number, labels?: MetricLabels): void;
43
- /**
44
- * 记录直方图值
45
- */
46
- observe(name: string, value: number, labels?: MetricLabels): void;
47
- private trimHistogramSamples;
48
- /**
49
- * 获取指标值
50
- */
51
- getValues(name: string): MetricValue[];
52
- /**
53
- * 获取所有指标
54
- */
55
- getAllMetrics(): Map<string, MetricDefinition>;
56
- /**
57
- * 导出 Prometheus 格式
58
- */
59
- toPrometheus(): string;
60
- /**
61
- * 构建指标键
62
- */
63
- private buildKey;
64
- /**
65
- * 释放所有指标数据
66
- */
67
- dispose(): void;
68
- }
69
- export declare const AGENT_METRICS: {
70
- TOOL_EXECUTIONS: {
71
- name: string;
72
- type: MetricType;
73
- help: string;
74
- labels: string[];
75
- };
76
- TOOL_EXECUTION_DURATION: {
77
- name: string;
78
- type: MetricType;
79
- help: string;
80
- labels: string[];
81
- };
82
- AGENT_SESSIONS: {
83
- name: string;
84
- type: MetricType;
85
- help: string;
86
- labels: string[];
87
- };
88
- AGENT_SESSION_DURATION: {
89
- name: string;
90
- type: MetricType;
91
- help: string;
92
- labels: string[];
93
- };
94
- TOKEN_USAGE: {
95
- name: string;
96
- type: MetricType;
97
- help: string;
98
- labels: string[];
99
- };
100
- SECURITY_EVENTS: {
101
- name: string;
102
- type: MetricType;
103
- help: string;
104
- labels: string[];
105
- };
106
- RESOURCE_USAGE: {
107
- name: string;
108
- type: MetricType;
109
- help: string;
110
- labels: string[];
111
- };
112
- ERRORS: {
113
- name: string;
114
- type: MetricType;
115
- help: string;
116
- labels: string[];
117
- };
118
- };
119
- export interface TraceSpan {
120
- traceId: string;
121
- spanId: string;
122
- parentSpanId?: string;
123
- name: string;
124
- startTime: number;
125
- endTime?: number;
126
- attributes: Record<string, unknown>;
127
- events: Array<{
128
- name: string;
129
- timestamp: number;
130
- attributes: Record<string, unknown>;
131
- }>;
132
- status: {
133
- code: 'OK' | 'ERROR' | 'UNSET';
134
- message?: string;
135
- };
136
- }
137
- export declare class TraceCollector {
138
- private spans;
139
- private activeSpans;
140
- private static readonly MAX_SPANS;
141
- /**
142
- * 开始一个新的 Span
143
- */
144
- startSpan(name: string, parentSpanId?: string, attributes?: Record<string, unknown>): TraceSpan;
145
- /**
146
- * 结束 Span
147
- */
148
- endSpan(spanId: string, status?: {
149
- code: 'OK' | 'ERROR' | 'UNSET';
150
- message?: string;
151
- }): void;
152
- private pruneFinishedSpans;
153
- /**
154
- * 添加事件到 Span
155
- */
156
- addEvent(spanId: string, name: string, attributes?: Record<string, unknown>): void;
157
- /**
158
- * 设置 Span 属性
159
- */
160
- setAttributes(spanId: string, attributes: Record<string, unknown>): void;
161
- /**
162
- * 获取 Span
163
- */
164
- getSpan(spanId: string): TraceSpan | undefined;
165
- /**
166
- * 获取所有 Span
167
- */
168
- getAllSpans(): TraceSpan[];
169
- /**
170
- * 获取追踪
171
- */
172
- getTrace(traceId: string): TraceSpan[];
173
- /**
174
- * 导出 OpenTelemetry 格式
175
- */
176
- toOpenTelemetry(): object;
177
- /**
178
- * 生成 Trace ID
179
- */
180
- private generateTraceId;
181
- /**
182
- * 生成 Span ID
183
- */
184
- private generateSpanId;
185
- dispose(): void;
186
- }
187
- export interface AlertRule {
188
- id: string;
189
- name: string;
190
- description: string;
191
- condition: (metrics: MetricsCollector) => boolean;
192
- severity: 'info' | 'warning' | 'error' | 'critical';
193
- message: string;
194
- enabled: boolean;
195
- }
196
- export declare class AlertManager {
197
- private rules;
198
- private alerts;
199
- private static readonly MAX_ALERTS;
200
- /**
201
- * 添加告警规则
202
- */
203
- addRule(rule: AlertRule): void;
204
- /**
205
- * 移除告警规则
206
- */
207
- removeRule(ruleId: string): void;
208
- /**
209
- * 检查告警
210
- */
211
- checkAlerts(metrics: MetricsCollector): Array<{
212
- ruleId: string;
213
- timestamp: number;
214
- message: string;
215
- severity: string;
216
- }>;
217
- /**
218
- * 获取所有告警
219
- */
220
- getAlerts(): Array<{
221
- ruleId: string;
222
- timestamp: number;
223
- message: string;
224
- severity: string;
225
- }>;
226
- /**
227
- * 清除告警
228
- */
229
- clearAlerts(): void;
230
- /**
231
- * 释放所有规则和告警
232
- */
233
- dispose(): void;
234
- }
235
- export declare const DEFAULT_ALERT_RULES: AlertRule[];
236
- /**
237
- * 获取全局指标收集器
238
- */
239
- export declare function getMetricsCollector(): MetricsCollector;
240
- /**
241
- * 获取全局追踪收集器
242
- */
243
- export declare function getTraceCollector(): TraceCollector;
244
- /**
245
- * 获取全局告警管理器
246
- */
247
- export declare function getAlertManager(): AlertManager;
248
- /**
249
- * 初始化监控系统
250
- */
251
- export declare function initMonitoring(): {
252
- metrics: MetricsCollector;
253
- traces: TraceCollector;
254
- alerts: AlertManager;
255
- };
256
- /**
257
- * 释放所有全局监控实例
258
- */
259
- export declare function disposeMonitoring(): void;
260
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/monitoring/metrics.ts"],"names":[],"mappings":"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"}