agentic-qe 1.8.3 → 1.8.4

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 (91) hide show
  1. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
  2. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
  3. package/CHANGELOG.md +220 -0
  4. package/README.md +36 -3
  5. package/config/constitution.schema.json +423 -0
  6. package/config/otel-collector.yaml +234 -0
  7. package/dist/cli/commands/init-claude-md-template.js +3 -3
  8. package/dist/constitution/index.d.ts +105 -0
  9. package/dist/constitution/index.d.ts.map +1 -0
  10. package/dist/constitution/index.js +207 -0
  11. package/dist/constitution/index.js.map +1 -0
  12. package/dist/constitution/loader.d.ts +141 -0
  13. package/dist/constitution/loader.d.ts.map +1 -0
  14. package/dist/constitution/loader.js +515 -0
  15. package/dist/constitution/loader.js.map +1 -0
  16. package/dist/constitution/schema.d.ts +409 -0
  17. package/dist/constitution/schema.d.ts.map +1 -0
  18. package/dist/constitution/schema.js +71 -0
  19. package/dist/constitution/schema.js.map +1 -0
  20. package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
  21. package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
  22. package/dist/core/memory/MemoryManagerFactory.js +270 -0
  23. package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
  24. package/dist/core/memory/SwarmMemoryManager.d.ts +18 -0
  25. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  26. package/dist/core/memory/SwarmMemoryManager.js +96 -11
  27. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  28. package/dist/core/memory/index.d.ts +1 -0
  29. package/dist/core/memory/index.d.ts.map +1 -1
  30. package/dist/core/memory/index.js +12 -1
  31. package/dist/core/memory/index.js.map +1 -1
  32. package/dist/mcp/handlers/memory/memory-backup.js +6 -6
  33. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  34. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  35. package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
  36. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  37. package/dist/mcp/server.d.ts.map +1 -1
  38. package/dist/mcp/server.js +4 -38
  39. package/dist/mcp/server.js.map +1 -1
  40. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  41. package/dist/mcp/services/AgentRegistry.js +4 -4
  42. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  43. package/dist/persistence/event-store.d.ts +162 -0
  44. package/dist/persistence/event-store.d.ts.map +1 -0
  45. package/dist/persistence/event-store.js +315 -0
  46. package/dist/persistence/event-store.js.map +1 -0
  47. package/dist/persistence/index.d.ts +145 -0
  48. package/dist/persistence/index.d.ts.map +1 -0
  49. package/dist/persistence/index.js +227 -0
  50. package/dist/persistence/index.js.map +1 -0
  51. package/dist/persistence/metrics-aggregator.d.ts +187 -0
  52. package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
  53. package/dist/persistence/metrics-aggregator.js +495 -0
  54. package/dist/persistence/metrics-aggregator.js.map +1 -0
  55. package/dist/persistence/reasoning-store.d.ts +178 -0
  56. package/dist/persistence/reasoning-store.d.ts.map +1 -0
  57. package/dist/persistence/reasoning-store.js +440 -0
  58. package/dist/persistence/reasoning-store.js.map +1 -0
  59. package/dist/persistence/schema.d.ts +181 -0
  60. package/dist/persistence/schema.d.ts.map +1 -0
  61. package/dist/persistence/schema.js +186 -0
  62. package/dist/persistence/schema.js.map +1 -0
  63. package/dist/telemetry/bootstrap.d.ts +67 -0
  64. package/dist/telemetry/bootstrap.d.ts.map +1 -0
  65. package/dist/telemetry/bootstrap.js +320 -0
  66. package/dist/telemetry/bootstrap.js.map +1 -0
  67. package/dist/telemetry/index.d.ts +16 -0
  68. package/dist/telemetry/index.d.ts.map +1 -0
  69. package/dist/telemetry/index.js +84 -0
  70. package/dist/telemetry/index.js.map +1 -0
  71. package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
  72. package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
  73. package/dist/telemetry/metrics/agent-metrics.js +213 -0
  74. package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
  75. package/dist/telemetry/metrics/index.d.ts +51 -0
  76. package/dist/telemetry/metrics/index.d.ts.map +1 -0
  77. package/dist/telemetry/metrics/index.js +100 -0
  78. package/dist/telemetry/metrics/index.js.map +1 -0
  79. package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
  80. package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
  81. package/dist/telemetry/metrics/quality-metrics.js +259 -0
  82. package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
  83. package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
  84. package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
  85. package/dist/telemetry/metrics/system-metrics.js +380 -0
  86. package/dist/telemetry/metrics/system-metrics.js.map +1 -0
  87. package/dist/telemetry/types.d.ts +195 -0
  88. package/dist/telemetry/types.d.ts.map +1 -0
  89. package/dist/telemetry/types.js +90 -0
  90. package/dist/telemetry/types.js.map +1 -0
  91. package/package.json +18 -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"}