agentic-qe 1.8.3 → 1.9.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/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
- package/CHANGELOG.md +595 -0
- package/README.md +117 -16
- package/config/constitution.schema.json +423 -0
- package/config/otel-collector.yaml +234 -0
- package/dist/App.d.ts +5 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +15 -0
- package/dist/App.js.map +1 -0
- package/dist/cli/commands/constitution.d.ts +34 -0
- package/dist/cli/commands/constitution.d.ts.map +1 -0
- package/dist/cli/commands/constitution.js +679 -0
- package/dist/cli/commands/constitution.js.map +1 -0
- package/dist/cli/commands/init-claude-md-template.js +3 -3
- package/dist/cli/commands/init.d.ts +8 -75
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +22 -2292
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/telemetry.d.ts +36 -0
- package/dist/cli/commands/telemetry.d.ts.map +1 -0
- package/dist/cli/commands/telemetry.js +364 -0
- package/dist/cli/commands/telemetry.js.map +1 -0
- package/dist/cli/index.js +66 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/agents.d.ts +22 -0
- package/dist/cli/init/agents.d.ts.map +1 -0
- package/dist/cli/init/agents.js +522 -0
- package/dist/cli/init/agents.js.map +1 -0
- package/dist/cli/init/bash-wrapper.d.ts +14 -0
- package/dist/cli/init/bash-wrapper.d.ts.map +1 -0
- package/dist/cli/init/bash-wrapper.js +47 -0
- package/dist/cli/init/bash-wrapper.js.map +1 -0
- package/dist/cli/init/claude-config.d.ts +24 -0
- package/dist/cli/init/claude-config.d.ts.map +1 -0
- package/dist/cli/init/claude-config.js +275 -0
- package/dist/cli/init/claude-config.js.map +1 -0
- package/dist/cli/init/claude-md.d.ts +19 -0
- package/dist/cli/init/claude-md.d.ts.map +1 -0
- package/dist/cli/init/claude-md.js +153 -0
- package/dist/cli/init/claude-md.js.map +1 -0
- package/dist/cli/init/commands.d.ts +6 -0
- package/dist/cli/init/commands.d.ts.map +1 -0
- package/dist/cli/init/commands.js +83 -0
- package/dist/cli/init/commands.js.map +1 -0
- package/dist/cli/init/database-init.d.ts +15 -0
- package/dist/cli/init/database-init.d.ts.map +1 -0
- package/dist/cli/init/database-init.js +203 -0
- package/dist/cli/init/database-init.js.map +1 -0
- package/dist/cli/init/directory-structure.d.ts +14 -0
- package/dist/cli/init/directory-structure.d.ts.map +1 -0
- package/dist/cli/init/directory-structure.js +107 -0
- package/dist/cli/init/directory-structure.js.map +1 -0
- package/dist/cli/init/documentation.d.ts +14 -0
- package/dist/cli/init/documentation.d.ts.map +1 -0
- package/dist/cli/init/documentation.js +195 -0
- package/dist/cli/init/documentation.js.map +1 -0
- package/dist/cli/init/fleet-config.d.ts +34 -0
- package/dist/cli/init/fleet-config.d.ts.map +1 -0
- package/dist/cli/init/fleet-config.js +269 -0
- package/dist/cli/init/fleet-config.js.map +1 -0
- package/dist/cli/init/helpers.d.ts +6 -0
- package/dist/cli/init/helpers.d.ts.map +1 -0
- package/dist/cli/init/helpers.js +94 -0
- package/dist/cli/init/helpers.js.map +1 -0
- package/dist/cli/init/index.d.ts +32 -0
- package/dist/cli/init/index.d.ts.map +1 -0
- package/dist/cli/init/index.js +294 -0
- package/dist/cli/init/index.js.map +1 -0
- package/dist/cli/init/skills.d.ts +6 -0
- package/dist/cli/init/skills.d.ts.map +1 -0
- package/dist/cli/init/skills.js +138 -0
- package/dist/cli/init/skills.js.map +1 -0
- package/dist/cli/init/utils/file-utils.d.ts +74 -0
- package/dist/cli/init/utils/file-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/file-utils.js +187 -0
- package/dist/cli/init/utils/file-utils.js.map +1 -0
- package/dist/cli/init/utils/index.d.ts +18 -0
- package/dist/cli/init/utils/index.d.ts.map +1 -0
- package/dist/cli/init/utils/index.js +48 -0
- package/dist/cli/init/utils/index.js.map +1 -0
- package/dist/cli/init/utils/log-utils.d.ts +47 -0
- package/dist/cli/init/utils/log-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/log-utils.js +68 -0
- package/dist/cli/init/utils/log-utils.js.map +1 -0
- package/dist/cli/init/utils/path-utils.d.ts +91 -0
- package/dist/cli/init/utils/path-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/path-utils.js +208 -0
- package/dist/cli/init/utils/path-utils.js.map +1 -0
- package/dist/cli/init/utils/validation-utils.d.ts +44 -0
- package/dist/cli/init/utils/validation-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/validation-utils.js +68 -0
- package/dist/cli/init/utils/validation-utils.js.map +1 -0
- package/dist/cli/init/utils.d.ts +183 -0
- package/dist/cli/init/utils.d.ts.map +1 -0
- package/dist/cli/init/utils.js +354 -0
- package/dist/cli/init/utils.js.map +1 -0
- package/dist/components/Dashboard/Dashboard.d.ts +4 -0
- package/dist/components/Dashboard/Dashboard.d.ts.map +1 -0
- package/dist/components/Dashboard/Dashboard.js +148 -0
- package/dist/components/Dashboard/Dashboard.js.map +1 -0
- package/dist/components/Dashboard/DashboardHeader.d.ts +4 -0
- package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
- package/dist/components/Dashboard/DashboardHeader.js +138 -0
- package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
- package/dist/constitution/evaluators/ast-evaluator.d.ts +42 -0
- package/dist/constitution/evaluators/ast-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/ast-evaluator.js +303 -0
- package/dist/constitution/evaluators/ast-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/base.d.ts +144 -0
- package/dist/constitution/evaluators/base.d.ts.map +1 -0
- package/dist/constitution/evaluators/base.js +144 -0
- package/dist/constitution/evaluators/base.js.map +1 -0
- package/dist/constitution/evaluators/index.d.ts +19 -0
- package/dist/constitution/evaluators/index.d.ts.map +1 -0
- package/dist/constitution/evaluators/index.js +56 -0
- package/dist/constitution/evaluators/index.js.map +1 -0
- package/dist/constitution/evaluators/metric-evaluator.d.ts +59 -0
- package/dist/constitution/evaluators/metric-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/metric-evaluator.js +195 -0
- package/dist/constitution/evaluators/metric-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/pattern-evaluator.d.ts +66 -0
- package/dist/constitution/evaluators/pattern-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/pattern-evaluator.js +221 -0
- package/dist/constitution/evaluators/pattern-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/semantic-evaluator.d.ts +68 -0
- package/dist/constitution/evaluators/semantic-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/semantic-evaluator.js +250 -0
- package/dist/constitution/evaluators/semantic-evaluator.js.map +1 -0
- package/dist/constitution/index.d.ts +105 -0
- package/dist/constitution/index.d.ts.map +1 -0
- package/dist/constitution/index.js +207 -0
- package/dist/constitution/index.js.map +1 -0
- package/dist/constitution/loader.d.ts +141 -0
- package/dist/constitution/loader.d.ts.map +1 -0
- package/dist/constitution/loader.js +515 -0
- package/dist/constitution/loader.js.map +1 -0
- package/dist/constitution/schema.d.ts +409 -0
- package/dist/constitution/schema.d.ts.map +1 -0
- package/dist/constitution/schema.js +71 -0
- package/dist/constitution/schema.js.map +1 -0
- package/dist/contexts/DashboardContext.d.ts +41 -0
- package/dist/contexts/DashboardContext.d.ts.map +1 -0
- package/dist/contexts/DashboardContext.js +187 -0
- package/dist/contexts/DashboardContext.js.map +1 -0
- package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
- package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
- package/dist/core/memory/MemoryManagerFactory.js +270 -0
- package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +375 -131
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts +1 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +12 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.js +69 -0
- package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/mcp/handlers/memory/memory-backup.js +6 -6
- package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
- package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +4 -38
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +4 -4
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/persistence/event-store.d.ts +162 -0
- package/dist/persistence/event-store.d.ts.map +1 -0
- package/dist/persistence/event-store.js +315 -0
- package/dist/persistence/event-store.js.map +1 -0
- package/dist/persistence/index.d.ts +145 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +227 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/metrics-aggregator.d.ts +187 -0
- package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
- package/dist/persistence/metrics-aggregator.js +495 -0
- package/dist/persistence/metrics-aggregator.js.map +1 -0
- package/dist/persistence/reasoning-store.d.ts +178 -0
- package/dist/persistence/reasoning-store.d.ts.map +1 -0
- package/dist/persistence/reasoning-store.js +440 -0
- package/dist/persistence/reasoning-store.js.map +1 -0
- package/dist/persistence/schema.d.ts +181 -0
- package/dist/persistence/schema.d.ts.map +1 -0
- package/dist/persistence/schema.js +186 -0
- package/dist/persistence/schema.js.map +1 -0
- package/dist/telemetry/bootstrap.d.ts +67 -0
- package/dist/telemetry/bootstrap.d.ts.map +1 -0
- package/dist/telemetry/bootstrap.js +320 -0
- package/dist/telemetry/bootstrap.js.map +1 -0
- package/dist/telemetry/index.d.ts +16 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +84 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/instrumentation/agent.d.ts +158 -0
- package/dist/telemetry/instrumentation/agent.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/agent.js +372 -0
- package/dist/telemetry/instrumentation/agent.js.map +1 -0
- package/dist/telemetry/instrumentation/index.d.ts +24 -0
- package/dist/telemetry/instrumentation/index.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/index.js +54 -0
- package/dist/telemetry/instrumentation/index.js.map +1 -0
- package/dist/telemetry/instrumentation/memory.d.ts +313 -0
- package/dist/telemetry/instrumentation/memory.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/memory.js +552 -0
- package/dist/telemetry/instrumentation/memory.js.map +1 -0
- package/dist/telemetry/instrumentation/task.d.ts +146 -0
- package/dist/telemetry/instrumentation/task.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/task.js +305 -0
- package/dist/telemetry/instrumentation/task.js.map +1 -0
- package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
- package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/agent-metrics.js +213 -0
- package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
- package/dist/telemetry/metrics/collectors/cost.d.ts +246 -0
- package/dist/telemetry/metrics/collectors/cost.d.ts.map +1 -0
- package/dist/telemetry/metrics/collectors/cost.js +526 -0
- package/dist/telemetry/metrics/collectors/cost.js.map +1 -0
- package/dist/telemetry/metrics/collectors/pricing-config.d.ts +87 -0
- package/dist/telemetry/metrics/collectors/pricing-config.d.ts.map +1 -0
- package/dist/telemetry/metrics/collectors/pricing-config.js +207 -0
- package/dist/telemetry/metrics/collectors/pricing-config.js.map +1 -0
- package/dist/telemetry/metrics/index.d.ts +54 -0
- package/dist/telemetry/metrics/index.d.ts.map +1 -0
- package/dist/telemetry/metrics/index.js +116 -0
- package/dist/telemetry/metrics/index.js.map +1 -0
- package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
- package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/quality-metrics.js +259 -0
- package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
- package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
- package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/system-metrics.js +380 -0
- package/dist/telemetry/metrics/system-metrics.js.map +1 -0
- package/dist/telemetry/types.d.ts +195 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +90 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/visualization/api/RestEndpoints.d.ts +136 -0
- package/dist/visualization/api/RestEndpoints.d.ts.map +1 -0
- package/dist/visualization/api/RestEndpoints.js +428 -0
- package/dist/visualization/api/RestEndpoints.js.map +1 -0
- package/dist/visualization/api/WebSocketServer.d.ts +165 -0
- package/dist/visualization/api/WebSocketServer.d.ts.map +1 -0
- package/dist/visualization/api/WebSocketServer.js +518 -0
- package/dist/visualization/api/WebSocketServer.js.map +1 -0
- package/dist/visualization/core/DataTransformer.d.ts +89 -0
- package/dist/visualization/core/DataTransformer.d.ts.map +1 -0
- package/dist/visualization/core/DataTransformer.js +478 -0
- package/dist/visualization/core/DataTransformer.js.map +1 -0
- package/dist/visualization/index.d.ts +92 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +121 -0
- package/dist/visualization/index.js.map +1 -0
- package/dist/visualization/types.d.ts +148 -0
- package/dist/visualization/types.d.ts.map +1 -0
- package/dist/visualization/types.js +7 -0
- package/dist/visualization/types.js.map +1 -0
- package/dist/voting/consensus.d.ts +87 -0
- package/dist/voting/consensus.d.ts.map +1 -0
- package/dist/voting/consensus.js +568 -0
- package/dist/voting/consensus.js.map +1 -0
- package/dist/voting/index.d.ts +12 -0
- package/dist/voting/index.d.ts.map +1 -0
- package/dist/voting/index.js +36 -0
- package/dist/voting/index.js.map +1 -0
- package/dist/voting/orchestrator.d.ts +65 -0
- package/dist/voting/orchestrator.d.ts.map +1 -0
- package/dist/voting/orchestrator.js +306 -0
- package/dist/voting/orchestrator.js.map +1 -0
- package/dist/voting/panel-assembly.d.ts +54 -0
- package/dist/voting/panel-assembly.d.ts.map +1 -0
- package/dist/voting/panel-assembly.js +192 -0
- package/dist/voting/panel-assembly.js.map +1 -0
- package/dist/voting/protocol.d.ts +119 -0
- package/dist/voting/protocol.d.ts.map +1 -0
- package/dist/voting/protocol.js +18 -0
- package/dist/voting/protocol.js.map +1 -0
- package/dist/voting/types.d.ts +125 -0
- package/dist/voting/types.d.ts.map +1 -0
- package/dist/voting/types.js +7 -0
- package/dist/voting/types.js.map +1 -0
- package/package.json +43 -2
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Database schema types and migration logic for AQE persistence layer
|
|
4
|
+
* @module persistence/schema
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.CURRENT_SCHEMA_VERSION = exports.DEFAULT_PERSISTENCE_CONFIG = void 0;
|
|
11
|
+
exports.initializeSchema = initializeSchema;
|
|
12
|
+
exports.createDatabase = createDatabase;
|
|
13
|
+
exports.closeDatabase = closeDatabase;
|
|
14
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
15
|
+
/**
|
|
16
|
+
* Default persistence configuration
|
|
17
|
+
*/
|
|
18
|
+
exports.DEFAULT_PERSISTENCE_CONFIG = {
|
|
19
|
+
dbPath: './data/aqe-telemetry.db',
|
|
20
|
+
enableWAL: true,
|
|
21
|
+
busyTimeout: 5000,
|
|
22
|
+
maxRetries: 3,
|
|
23
|
+
};
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// Schema Migration
|
|
26
|
+
// ============================================================================
|
|
27
|
+
/**
|
|
28
|
+
* SQL statements for creating database schema
|
|
29
|
+
*/
|
|
30
|
+
const SCHEMA_SQL = `
|
|
31
|
+
-- Events table for telemetry
|
|
32
|
+
CREATE TABLE IF NOT EXISTS events (
|
|
33
|
+
id TEXT PRIMARY KEY,
|
|
34
|
+
timestamp TEXT NOT NULL,
|
|
35
|
+
agent_id TEXT NOT NULL,
|
|
36
|
+
event_type TEXT NOT NULL,
|
|
37
|
+
payload TEXT NOT NULL,
|
|
38
|
+
correlation_id TEXT,
|
|
39
|
+
session_id TEXT NOT NULL
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
-- Indexes for events table
|
|
43
|
+
CREATE INDEX IF NOT EXISTS idx_events_agent_id ON events(agent_id);
|
|
44
|
+
CREATE INDEX IF NOT EXISTS idx_events_event_type ON events(event_type);
|
|
45
|
+
CREATE INDEX IF NOT EXISTS idx_events_timestamp ON events(timestamp);
|
|
46
|
+
CREATE INDEX IF NOT EXISTS idx_events_session_id ON events(session_id);
|
|
47
|
+
CREATE INDEX IF NOT EXISTS idx_events_correlation_id ON events(correlation_id);
|
|
48
|
+
CREATE INDEX IF NOT EXISTS idx_events_agent_time ON events(agent_id, timestamp);
|
|
49
|
+
|
|
50
|
+
-- Reasoning chains table
|
|
51
|
+
CREATE TABLE IF NOT EXISTS reasoning_chains (
|
|
52
|
+
id TEXT PRIMARY KEY,
|
|
53
|
+
session_id TEXT NOT NULL,
|
|
54
|
+
agent_id TEXT NOT NULL,
|
|
55
|
+
created_at TEXT NOT NULL,
|
|
56
|
+
completed_at TEXT,
|
|
57
|
+
status TEXT NOT NULL DEFAULT 'in_progress',
|
|
58
|
+
context TEXT NOT NULL DEFAULT '{}'
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
-- Indexes for reasoning chains
|
|
62
|
+
CREATE INDEX IF NOT EXISTS idx_chains_session_id ON reasoning_chains(session_id);
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_chains_agent_id ON reasoning_chains(agent_id);
|
|
64
|
+
CREATE INDEX IF NOT EXISTS idx_chains_status ON reasoning_chains(status);
|
|
65
|
+
CREATE INDEX IF NOT EXISTS idx_chains_created_at ON reasoning_chains(created_at);
|
|
66
|
+
|
|
67
|
+
-- Reasoning steps table
|
|
68
|
+
CREATE TABLE IF NOT EXISTS reasoning_steps (
|
|
69
|
+
id TEXT PRIMARY KEY,
|
|
70
|
+
chain_id TEXT NOT NULL,
|
|
71
|
+
step_order INTEGER NOT NULL,
|
|
72
|
+
thought_type TEXT NOT NULL,
|
|
73
|
+
content TEXT NOT NULL,
|
|
74
|
+
confidence REAL NOT NULL,
|
|
75
|
+
token_count INTEGER NOT NULL,
|
|
76
|
+
created_at TEXT NOT NULL,
|
|
77
|
+
metadata TEXT NOT NULL DEFAULT '{}',
|
|
78
|
+
FOREIGN KEY (chain_id) REFERENCES reasoning_chains(id) ON DELETE CASCADE
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
-- Indexes for reasoning steps
|
|
82
|
+
CREATE INDEX IF NOT EXISTS idx_steps_chain_id ON reasoning_steps(chain_id);
|
|
83
|
+
CREATE INDEX IF NOT EXISTS idx_steps_thought_type ON reasoning_steps(thought_type);
|
|
84
|
+
CREATE INDEX IF NOT EXISTS idx_steps_chain_order ON reasoning_steps(chain_id, step_order);
|
|
85
|
+
|
|
86
|
+
-- Quality metrics table
|
|
87
|
+
CREATE TABLE IF NOT EXISTS quality_metrics (
|
|
88
|
+
id TEXT PRIMARY KEY,
|
|
89
|
+
timestamp TEXT NOT NULL,
|
|
90
|
+
agent_id TEXT NOT NULL,
|
|
91
|
+
metric_name TEXT NOT NULL,
|
|
92
|
+
metric_value REAL NOT NULL,
|
|
93
|
+
dimensions TEXT NOT NULL DEFAULT '{}'
|
|
94
|
+
);
|
|
95
|
+
|
|
96
|
+
-- Indexes for quality metrics
|
|
97
|
+
CREATE INDEX IF NOT EXISTS idx_metrics_agent_id ON quality_metrics(agent_id);
|
|
98
|
+
CREATE INDEX IF NOT EXISTS idx_metrics_name ON quality_metrics(metric_name);
|
|
99
|
+
CREATE INDEX IF NOT EXISTS idx_metrics_timestamp ON quality_metrics(timestamp);
|
|
100
|
+
CREATE INDEX IF NOT EXISTS idx_metrics_agent_name ON quality_metrics(agent_id, metric_name);
|
|
101
|
+
CREATE INDEX IF NOT EXISTS idx_metrics_name_time ON quality_metrics(metric_name, timestamp);
|
|
102
|
+
|
|
103
|
+
-- Aggregated metrics table
|
|
104
|
+
CREATE TABLE IF NOT EXISTS aggregated_metrics (
|
|
105
|
+
id TEXT PRIMARY KEY,
|
|
106
|
+
period_start TEXT NOT NULL,
|
|
107
|
+
period_end TEXT NOT NULL,
|
|
108
|
+
agent_id TEXT NOT NULL,
|
|
109
|
+
metric_name TEXT NOT NULL,
|
|
110
|
+
count INTEGER NOT NULL,
|
|
111
|
+
sum REAL NOT NULL,
|
|
112
|
+
min REAL NOT NULL,
|
|
113
|
+
max REAL NOT NULL,
|
|
114
|
+
avg REAL NOT NULL
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
-- Indexes for aggregated metrics
|
|
118
|
+
CREATE INDEX IF NOT EXISTS idx_agg_agent_id ON aggregated_metrics(agent_id);
|
|
119
|
+
CREATE INDEX IF NOT EXISTS idx_agg_name ON aggregated_metrics(metric_name);
|
|
120
|
+
CREATE INDEX IF NOT EXISTS idx_agg_period ON aggregated_metrics(period_start, period_end);
|
|
121
|
+
CREATE INDEX IF NOT EXISTS idx_agg_agent_name_period ON aggregated_metrics(agent_id, metric_name, period_start);
|
|
122
|
+
|
|
123
|
+
-- Schema version tracking
|
|
124
|
+
CREATE TABLE IF NOT EXISTS schema_version (
|
|
125
|
+
version INTEGER PRIMARY KEY,
|
|
126
|
+
applied_at TEXT NOT NULL
|
|
127
|
+
);
|
|
128
|
+
`;
|
|
129
|
+
/**
|
|
130
|
+
* Current schema version
|
|
131
|
+
*/
|
|
132
|
+
exports.CURRENT_SCHEMA_VERSION = 1;
|
|
133
|
+
/**
|
|
134
|
+
* Initialize database schema
|
|
135
|
+
* @param db - Database instance
|
|
136
|
+
*/
|
|
137
|
+
function initializeSchema(db) {
|
|
138
|
+
// Enable foreign keys
|
|
139
|
+
db.pragma('foreign_keys = ON');
|
|
140
|
+
// Run schema creation
|
|
141
|
+
db.exec(SCHEMA_SQL);
|
|
142
|
+
// Check and update schema version
|
|
143
|
+
const versionRow = db.prepare('SELECT version FROM schema_version ORDER BY version DESC LIMIT 1').get();
|
|
144
|
+
if (!versionRow) {
|
|
145
|
+
db.prepare('INSERT INTO schema_version (version, applied_at) VALUES (?, ?)').run(exports.CURRENT_SCHEMA_VERSION, new Date().toISOString());
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Create database connection with configuration
|
|
150
|
+
* @param config - Persistence configuration
|
|
151
|
+
* @returns Configured database instance
|
|
152
|
+
*/
|
|
153
|
+
function createDatabase(config = {}) {
|
|
154
|
+
const fullConfig = { ...exports.DEFAULT_PERSISTENCE_CONFIG, ...config };
|
|
155
|
+
// Ensure directory exists
|
|
156
|
+
const path = require('path');
|
|
157
|
+
const fs = require('fs');
|
|
158
|
+
const dir = path.dirname(fullConfig.dbPath);
|
|
159
|
+
if (!fs.existsSync(dir)) {
|
|
160
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
161
|
+
}
|
|
162
|
+
const db = new better_sqlite3_1.default(fullConfig.dbPath);
|
|
163
|
+
// Configure database
|
|
164
|
+
if (fullConfig.enableWAL) {
|
|
165
|
+
db.pragma('journal_mode = WAL');
|
|
166
|
+
}
|
|
167
|
+
if (fullConfig.busyTimeout) {
|
|
168
|
+
db.pragma(`busy_timeout = ${fullConfig.busyTimeout}`);
|
|
169
|
+
}
|
|
170
|
+
// Initialize schema
|
|
171
|
+
initializeSchema(db);
|
|
172
|
+
return db;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Close database connection safely
|
|
176
|
+
* @param db - Database instance to close
|
|
177
|
+
*/
|
|
178
|
+
function closeDatabase(db) {
|
|
179
|
+
try {
|
|
180
|
+
db.close();
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
// Database may already be closed
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/persistence/schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AA2UH,4CAiBC;AAOD,wCAyBC;AAMD,sCAMC;AAtYD,oEAAsC;AA2MtC;;GAEG;AACU,QAAA,0BAA0B,GAAsB;IAC3D,MAAM,EAAE,yBAAyB;IACjC,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,CAAC;CACd,CAAC;AAEF,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGlB,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,EAAqB;IACpD,sBAAsB;IACtB,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,sBAAsB;IACtB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEpB,kCAAkC;IAClC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAC3B,kEAAkE,CACnE,CAAC,GAAG,EAAqC,CAAC;IAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,EAAE,CAAC,OAAO,CACR,gEAAgE,CACjE,CAAC,GAAG,CAAC,8BAAsB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,SAAqC,EAAE;IACpE,MAAM,UAAU,GAAG,EAAE,GAAG,kCAA0B,EAAE,GAAG,MAAM,EAAE,CAAC;IAEhE,0BAA0B;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE3C,qBAAqB;IACrB,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,EAAE,CAAC,MAAM,CAAC,kBAAkB,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAErB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,EAAqB;IACjD,IAAI,CAAC;QACH,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iCAAiC;IACnC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry Bootstrap Module for Agentic QE Fleet
|
|
3
|
+
*
|
|
4
|
+
* Initializes OpenTelemetry SDK with auto-instrumentations, exporters,
|
|
5
|
+
* and resource configuration for comprehensive observability.
|
|
6
|
+
*/
|
|
7
|
+
import { Tracer, Meter } from '@opentelemetry/api';
|
|
8
|
+
import { TelemetryConfig, TelemetryInitResult, TelemetryShutdownResult } from './types';
|
|
9
|
+
declare const DEFAULT_CONFIG: TelemetryConfig;
|
|
10
|
+
/**
|
|
11
|
+
* Initialize OpenTelemetry SDK with configuration
|
|
12
|
+
*
|
|
13
|
+
* @param config - Telemetry configuration options
|
|
14
|
+
* @returns Initialization result with status and metadata
|
|
15
|
+
*/
|
|
16
|
+
export declare function initTelemetry(config?: Partial<TelemetryConfig>): Promise<TelemetryInitResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Gracefully shutdown OpenTelemetry SDK
|
|
19
|
+
*
|
|
20
|
+
* @returns Shutdown result with status
|
|
21
|
+
*/
|
|
22
|
+
export declare function shutdownTelemetry(): Promise<TelemetryShutdownResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Get a tracer instance for creating spans
|
|
25
|
+
*
|
|
26
|
+
* @param name - Tracer name (defaults to service name)
|
|
27
|
+
* @param version - Tracer version (defaults to service version)
|
|
28
|
+
* @returns Tracer instance
|
|
29
|
+
*/
|
|
30
|
+
export declare function getTracer(name?: string, version?: string): Tracer;
|
|
31
|
+
/**
|
|
32
|
+
* Get a meter instance for creating metrics
|
|
33
|
+
*
|
|
34
|
+
* @param name - Meter name (defaults to service name)
|
|
35
|
+
* @param version - Meter version (defaults to service version)
|
|
36
|
+
* @returns Meter instance
|
|
37
|
+
*/
|
|
38
|
+
export declare function getMeter(name?: string, version?: string): Meter;
|
|
39
|
+
/**
|
|
40
|
+
* Check if telemetry is initialized
|
|
41
|
+
*
|
|
42
|
+
* @returns Whether telemetry has been initialized
|
|
43
|
+
*/
|
|
44
|
+
export declare function isTelemetryInitialized(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Create a child span within the current context
|
|
47
|
+
*
|
|
48
|
+
* @param name - Span name
|
|
49
|
+
* @param fn - Function to execute within the span
|
|
50
|
+
* @returns Result of the function
|
|
51
|
+
*/
|
|
52
|
+
export declare function withSpan<T>(name: string, fn: () => Promise<T>): Promise<T>;
|
|
53
|
+
/**
|
|
54
|
+
* Record an event on the current span
|
|
55
|
+
*
|
|
56
|
+
* @param name - Event name
|
|
57
|
+
* @param attributes - Event attributes
|
|
58
|
+
*/
|
|
59
|
+
export declare function recordSpanEvent(name: string, attributes?: Record<string, string | number | boolean>): void;
|
|
60
|
+
/**
|
|
61
|
+
* Set attributes on the current span
|
|
62
|
+
*
|
|
63
|
+
* @param attributes - Attributes to set
|
|
64
|
+
*/
|
|
65
|
+
export declare function setSpanAttributes(attributes: Record<string, string | number | boolean>): void;
|
|
66
|
+
export { DEFAULT_CONFIG as defaultTelemetryConfig };
|
|
67
|
+
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/telemetry/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,EAAyD,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE1G,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAMjB,QAAA,MAAM,cAAc,EAAE,eAYrB,CAAC;AAMF;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACpC,OAAO,CAAC,mBAAmB,CAAC,CA4I9B;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CA2B1E;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,IAAI,GAAE,MAAmC,EACzC,OAAO,GAAE,MAAsC,GAC9C,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,IAAI,GAAE,MAAmC,EACzC,OAAO,GAAE,MAAsC,GAC9C,KAAK,CAEP;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AA8BD;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAkBZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,IAAI,CAKN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACpD,IAAI,CAKN;AAGD,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* OpenTelemetry Bootstrap Module for Agentic QE Fleet
|
|
4
|
+
*
|
|
5
|
+
* Initializes OpenTelemetry SDK with auto-instrumentations, exporters,
|
|
6
|
+
* and resource configuration for comprehensive observability.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.defaultTelemetryConfig = void 0;
|
|
10
|
+
exports.initTelemetry = initTelemetry;
|
|
11
|
+
exports.shutdownTelemetry = shutdownTelemetry;
|
|
12
|
+
exports.getTracer = getTracer;
|
|
13
|
+
exports.getMeter = getMeter;
|
|
14
|
+
exports.isTelemetryInitialized = isTelemetryInitialized;
|
|
15
|
+
exports.withSpan = withSpan;
|
|
16
|
+
exports.recordSpanEvent = recordSpanEvent;
|
|
17
|
+
exports.setSpanAttributes = setSpanAttributes;
|
|
18
|
+
const sdk_node_1 = require("@opentelemetry/sdk-node");
|
|
19
|
+
const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
|
|
20
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
21
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
22
|
+
const exporter_trace_otlp_grpc_1 = require("@opentelemetry/exporter-trace-otlp-grpc");
|
|
23
|
+
const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
|
|
24
|
+
const exporter_metrics_otlp_grpc_1 = require("@opentelemetry/exporter-metrics-otlp-grpc");
|
|
25
|
+
const exporter_metrics_otlp_http_1 = require("@opentelemetry/exporter-metrics-otlp-http");
|
|
26
|
+
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
27
|
+
const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
|
|
28
|
+
const api_1 = require("@opentelemetry/api");
|
|
29
|
+
// Package version - read from package.json at runtime
|
|
30
|
+
const PACKAGE_VERSION = process.env.npm_package_version || '1.8.3';
|
|
31
|
+
// Default configuration
|
|
32
|
+
const DEFAULT_CONFIG = {
|
|
33
|
+
serviceName: 'agentic-qe-fleet',
|
|
34
|
+
serviceVersion: PACKAGE_VERSION,
|
|
35
|
+
environment: process.env.NODE_ENV || 'development',
|
|
36
|
+
otlpEndpoint: process.env.OTEL_EXPORTER_OTLP_ENDPOINT || 'http://localhost:4317',
|
|
37
|
+
metricsEndpoint: process.env.OTEL_EXPORTER_OTLP_METRICS_ENDPOINT,
|
|
38
|
+
logsEndpoint: process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT,
|
|
39
|
+
useGrpc: process.env.OTEL_EXPORTER_OTLP_PROTOCOL !== 'http/protobuf',
|
|
40
|
+
enableConsoleExport: process.env.OTEL_CONSOLE_EXPORT === 'true',
|
|
41
|
+
enableAutoInstrumentation: true,
|
|
42
|
+
traceSampleRate: parseFloat(process.env.OTEL_TRACES_SAMPLER_ARG || '1.0'),
|
|
43
|
+
metricExportInterval: parseInt(process.env.OTEL_METRIC_EXPORT_INTERVAL || '60000', 10),
|
|
44
|
+
};
|
|
45
|
+
exports.defaultTelemetryConfig = DEFAULT_CONFIG;
|
|
46
|
+
// Singleton SDK instance
|
|
47
|
+
let sdk = null;
|
|
48
|
+
let isInitialized = false;
|
|
49
|
+
/**
|
|
50
|
+
* Initialize OpenTelemetry SDK with configuration
|
|
51
|
+
*
|
|
52
|
+
* @param config - Telemetry configuration options
|
|
53
|
+
* @returns Initialization result with status and metadata
|
|
54
|
+
*/
|
|
55
|
+
async function initTelemetry(config = {}) {
|
|
56
|
+
if (isInitialized && sdk) {
|
|
57
|
+
return {
|
|
58
|
+
success: true,
|
|
59
|
+
serviceName: DEFAULT_CONFIG.serviceName,
|
|
60
|
+
environment: DEFAULT_CONFIG.environment,
|
|
61
|
+
exporters: ['already-initialized'],
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const mergedConfig = { ...DEFAULT_CONFIG, ...config };
|
|
65
|
+
const activeExporters = [];
|
|
66
|
+
try {
|
|
67
|
+
// Set up diagnostic logging for debugging
|
|
68
|
+
if (process.env.OTEL_LOG_LEVEL === 'debug') {
|
|
69
|
+
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.DEBUG);
|
|
70
|
+
}
|
|
71
|
+
// Create resource with service identification
|
|
72
|
+
const resource = new resources_1.Resource({
|
|
73
|
+
[semantic_conventions_1.SEMRESATTRS_SERVICE_NAME]: mergedConfig.serviceName,
|
|
74
|
+
[semantic_conventions_1.SEMRESATTRS_SERVICE_VERSION]: mergedConfig.serviceVersion,
|
|
75
|
+
[semantic_conventions_1.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT]: mergedConfig.environment,
|
|
76
|
+
'service.namespace': 'agentic-qe',
|
|
77
|
+
'service.instance.id': process.env.HOSTNAME || `instance-${process.pid}`,
|
|
78
|
+
...mergedConfig.resourceAttributes,
|
|
79
|
+
});
|
|
80
|
+
// Configure trace exporter
|
|
81
|
+
let traceExporter;
|
|
82
|
+
const traceEndpoint = mergedConfig.otlpEndpoint;
|
|
83
|
+
if (mergedConfig.enableConsoleExport) {
|
|
84
|
+
traceExporter = new sdk_trace_base_1.ConsoleSpanExporter();
|
|
85
|
+
activeExporters.push('console-trace');
|
|
86
|
+
}
|
|
87
|
+
else if (traceEndpoint) {
|
|
88
|
+
if (mergedConfig.useGrpc) {
|
|
89
|
+
traceExporter = new exporter_trace_otlp_grpc_1.OTLPTraceExporter({
|
|
90
|
+
url: traceEndpoint,
|
|
91
|
+
});
|
|
92
|
+
activeExporters.push('otlp-grpc-trace');
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
traceExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
|
|
96
|
+
url: `${traceEndpoint}/v1/traces`,
|
|
97
|
+
});
|
|
98
|
+
activeExporters.push('otlp-http-trace');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// Configure metric exporter
|
|
102
|
+
let metricReader;
|
|
103
|
+
const metricsEndpoint = mergedConfig.metricsEndpoint || mergedConfig.otlpEndpoint;
|
|
104
|
+
if (mergedConfig.enableConsoleExport) {
|
|
105
|
+
metricReader = new sdk_metrics_1.PeriodicExportingMetricReader({
|
|
106
|
+
exporter: new sdk_metrics_1.ConsoleMetricExporter(),
|
|
107
|
+
exportIntervalMillis: mergedConfig.metricExportInterval,
|
|
108
|
+
});
|
|
109
|
+
activeExporters.push('console-metrics');
|
|
110
|
+
}
|
|
111
|
+
else if (metricsEndpoint) {
|
|
112
|
+
let metricExporter;
|
|
113
|
+
if (mergedConfig.useGrpc) {
|
|
114
|
+
metricExporter = new exporter_metrics_otlp_grpc_1.OTLPMetricExporter({
|
|
115
|
+
url: metricsEndpoint,
|
|
116
|
+
});
|
|
117
|
+
activeExporters.push('otlp-grpc-metrics');
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
metricExporter = new exporter_metrics_otlp_http_1.OTLPMetricExporter({
|
|
121
|
+
url: `${metricsEndpoint}/v1/metrics`,
|
|
122
|
+
});
|
|
123
|
+
activeExporters.push('otlp-http-metrics');
|
|
124
|
+
}
|
|
125
|
+
metricReader = new sdk_metrics_1.PeriodicExportingMetricReader({
|
|
126
|
+
exporter: metricExporter,
|
|
127
|
+
exportIntervalMillis: mergedConfig.metricExportInterval,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// Build SDK configuration
|
|
131
|
+
const sdkConfig = {
|
|
132
|
+
resource,
|
|
133
|
+
};
|
|
134
|
+
// Add trace exporter if configured
|
|
135
|
+
if (traceExporter) {
|
|
136
|
+
// Type assertion needed due to version mismatch between sdk-node and sdk-trace-base
|
|
137
|
+
sdkConfig.spanProcessors = [new sdk_trace_base_1.BatchSpanProcessor(traceExporter)];
|
|
138
|
+
}
|
|
139
|
+
// Add metric reader if configured
|
|
140
|
+
if (metricReader) {
|
|
141
|
+
// Type assertion needed due to version mismatch between sdk-node and sdk-metrics
|
|
142
|
+
sdkConfig.metricReader = metricReader;
|
|
143
|
+
}
|
|
144
|
+
// Add auto-instrumentations if enabled
|
|
145
|
+
if (mergedConfig.enableAutoInstrumentation) {
|
|
146
|
+
sdkConfig.instrumentations = [
|
|
147
|
+
(0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
|
|
148
|
+
// Disable some noisy instrumentations
|
|
149
|
+
'@opentelemetry/instrumentation-fs': {
|
|
150
|
+
enabled: false,
|
|
151
|
+
},
|
|
152
|
+
'@opentelemetry/instrumentation-net': {
|
|
153
|
+
enabled: false,
|
|
154
|
+
},
|
|
155
|
+
'@opentelemetry/instrumentation-dns': {
|
|
156
|
+
enabled: false,
|
|
157
|
+
},
|
|
158
|
+
}),
|
|
159
|
+
];
|
|
160
|
+
activeExporters.push('auto-instrumentation');
|
|
161
|
+
}
|
|
162
|
+
// Initialize SDK
|
|
163
|
+
sdk = new sdk_node_1.NodeSDK(sdkConfig);
|
|
164
|
+
await sdk.start();
|
|
165
|
+
isInitialized = true;
|
|
166
|
+
// Register shutdown handlers
|
|
167
|
+
registerShutdownHandlers();
|
|
168
|
+
return {
|
|
169
|
+
success: true,
|
|
170
|
+
serviceName: mergedConfig.serviceName,
|
|
171
|
+
environment: mergedConfig.environment,
|
|
172
|
+
exporters: activeExporters,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
catch (error) {
|
|
176
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
177
|
+
return {
|
|
178
|
+
success: false,
|
|
179
|
+
error: errorMessage,
|
|
180
|
+
serviceName: mergedConfig.serviceName,
|
|
181
|
+
environment: mergedConfig.environment,
|
|
182
|
+
exporters: [],
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Gracefully shutdown OpenTelemetry SDK
|
|
188
|
+
*
|
|
189
|
+
* @returns Shutdown result with status
|
|
190
|
+
*/
|
|
191
|
+
async function shutdownTelemetry() {
|
|
192
|
+
const startTime = Date.now();
|
|
193
|
+
if (!sdk || !isInitialized) {
|
|
194
|
+
return {
|
|
195
|
+
success: true,
|
|
196
|
+
shutdownDuration: 0,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
try {
|
|
200
|
+
await sdk.shutdown();
|
|
201
|
+
sdk = null;
|
|
202
|
+
isInitialized = false;
|
|
203
|
+
return {
|
|
204
|
+
success: true,
|
|
205
|
+
shutdownDuration: Date.now() - startTime,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
210
|
+
return {
|
|
211
|
+
success: false,
|
|
212
|
+
error: errorMessage,
|
|
213
|
+
shutdownDuration: Date.now() - startTime,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Get a tracer instance for creating spans
|
|
219
|
+
*
|
|
220
|
+
* @param name - Tracer name (defaults to service name)
|
|
221
|
+
* @param version - Tracer version (defaults to service version)
|
|
222
|
+
* @returns Tracer instance
|
|
223
|
+
*/
|
|
224
|
+
function getTracer(name = DEFAULT_CONFIG.serviceName, version = DEFAULT_CONFIG.serviceVersion) {
|
|
225
|
+
return api_1.trace.getTracer(name, version);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Get a meter instance for creating metrics
|
|
229
|
+
*
|
|
230
|
+
* @param name - Meter name (defaults to service name)
|
|
231
|
+
* @param version - Meter version (defaults to service version)
|
|
232
|
+
* @returns Meter instance
|
|
233
|
+
*/
|
|
234
|
+
function getMeter(name = DEFAULT_CONFIG.serviceName, version = DEFAULT_CONFIG.serviceVersion) {
|
|
235
|
+
return api_1.metrics.getMeter(name, version);
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Check if telemetry is initialized
|
|
239
|
+
*
|
|
240
|
+
* @returns Whether telemetry has been initialized
|
|
241
|
+
*/
|
|
242
|
+
function isTelemetryInitialized() {
|
|
243
|
+
return isInitialized;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Register process shutdown handlers for graceful shutdown
|
|
247
|
+
*/
|
|
248
|
+
function registerShutdownHandlers() {
|
|
249
|
+
const shutdownHandler = async () => {
|
|
250
|
+
await shutdownTelemetry();
|
|
251
|
+
process.exit(0);
|
|
252
|
+
};
|
|
253
|
+
// Handle various shutdown signals
|
|
254
|
+
process.on('SIGTERM', shutdownHandler);
|
|
255
|
+
process.on('SIGINT', shutdownHandler);
|
|
256
|
+
// Handle uncaught exceptions - flush telemetry before exit
|
|
257
|
+
process.on('uncaughtException', async (error) => {
|
|
258
|
+
console.error('Uncaught Exception:', error);
|
|
259
|
+
await shutdownTelemetry();
|
|
260
|
+
process.exit(1);
|
|
261
|
+
});
|
|
262
|
+
// Handle unhandled rejections
|
|
263
|
+
process.on('unhandledRejection', async (reason) => {
|
|
264
|
+
console.error('Unhandled Rejection:', reason);
|
|
265
|
+
await shutdownTelemetry();
|
|
266
|
+
process.exit(1);
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Create a child span within the current context
|
|
271
|
+
*
|
|
272
|
+
* @param name - Span name
|
|
273
|
+
* @param fn - Function to execute within the span
|
|
274
|
+
* @returns Result of the function
|
|
275
|
+
*/
|
|
276
|
+
async function withSpan(name, fn) {
|
|
277
|
+
const tracer = getTracer();
|
|
278
|
+
return tracer.startActiveSpan(name, async (span) => {
|
|
279
|
+
try {
|
|
280
|
+
const result = await fn();
|
|
281
|
+
span.setStatus({ code: 1 }); // OK
|
|
282
|
+
return result;
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
span.setStatus({
|
|
286
|
+
code: 2, // ERROR
|
|
287
|
+
message: error instanceof Error ? error.message : String(error),
|
|
288
|
+
});
|
|
289
|
+
span.recordException(error);
|
|
290
|
+
throw error;
|
|
291
|
+
}
|
|
292
|
+
finally {
|
|
293
|
+
span.end();
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Record an event on the current span
|
|
299
|
+
*
|
|
300
|
+
* @param name - Event name
|
|
301
|
+
* @param attributes - Event attributes
|
|
302
|
+
*/
|
|
303
|
+
function recordSpanEvent(name, attributes) {
|
|
304
|
+
const currentSpan = api_1.trace.getActiveSpan();
|
|
305
|
+
if (currentSpan) {
|
|
306
|
+
currentSpan.addEvent(name, attributes);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Set attributes on the current span
|
|
311
|
+
*
|
|
312
|
+
* @param attributes - Attributes to set
|
|
313
|
+
*/
|
|
314
|
+
function setSpanAttributes(attributes) {
|
|
315
|
+
const currentSpan = api_1.trace.getActiveSpan();
|
|
316
|
+
if (currentSpan) {
|
|
317
|
+
currentSpan.setAttributes(attributes);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/telemetry/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenTelemetry Module for Agentic QE Fleet
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for telemetry functionality.
|
|
5
|
+
*/
|
|
6
|
+
export { initTelemetry, shutdownTelemetry, getTracer, getMeter, isTelemetryInitialized, withSpan, recordSpanEvent, setSpanAttributes, defaultTelemetryConfig, } from './bootstrap';
|
|
7
|
+
export { TelemetryConfig, TelemetryInitResult, TelemetryShutdownResult, AgentAttributes, TaskAttributes, QEAttributes, ModelAttributes, MetricRecordOptions, METRIC_NAMES, HISTOGRAM_BOUNDARIES, SPAN_NAMES, } from './types';
|
|
8
|
+
export * from './metrics';
|
|
9
|
+
/**
|
|
10
|
+
* Quick start function for initializing telemetry with defaults
|
|
11
|
+
*
|
|
12
|
+
* @param serviceName - Optional service name override
|
|
13
|
+
* @returns Initialization result
|
|
14
|
+
*/
|
|
15
|
+
export declare function quickStartTelemetry(serviceName?: string): Promise<import("./types").TelemetryInitResult>;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,cAAc,WAAW,CAAC;AAE1B;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,kDAgB7D"}
|