agentic-qe 1.8.4 → 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.
Files changed (212) hide show
  1. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  2. package/CHANGELOG.md +375 -0
  3. package/README.md +86 -18
  4. package/dist/App.d.ts +5 -0
  5. package/dist/App.d.ts.map +1 -0
  6. package/dist/App.js +15 -0
  7. package/dist/App.js.map +1 -0
  8. package/dist/cli/commands/constitution.d.ts +34 -0
  9. package/dist/cli/commands/constitution.d.ts.map +1 -0
  10. package/dist/cli/commands/constitution.js +679 -0
  11. package/dist/cli/commands/constitution.js.map +1 -0
  12. package/dist/cli/commands/init.d.ts +8 -75
  13. package/dist/cli/commands/init.d.ts.map +1 -1
  14. package/dist/cli/commands/init.js +22 -2292
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/telemetry.d.ts +36 -0
  17. package/dist/cli/commands/telemetry.d.ts.map +1 -0
  18. package/dist/cli/commands/telemetry.js +364 -0
  19. package/dist/cli/commands/telemetry.js.map +1 -0
  20. package/dist/cli/index.js +66 -0
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/init/agents.d.ts +22 -0
  23. package/dist/cli/init/agents.d.ts.map +1 -0
  24. package/dist/cli/init/agents.js +522 -0
  25. package/dist/cli/init/agents.js.map +1 -0
  26. package/dist/cli/init/bash-wrapper.d.ts +14 -0
  27. package/dist/cli/init/bash-wrapper.d.ts.map +1 -0
  28. package/dist/cli/init/bash-wrapper.js +47 -0
  29. package/dist/cli/init/bash-wrapper.js.map +1 -0
  30. package/dist/cli/init/claude-config.d.ts +24 -0
  31. package/dist/cli/init/claude-config.d.ts.map +1 -0
  32. package/dist/cli/init/claude-config.js +275 -0
  33. package/dist/cli/init/claude-config.js.map +1 -0
  34. package/dist/cli/init/claude-md.d.ts +19 -0
  35. package/dist/cli/init/claude-md.d.ts.map +1 -0
  36. package/dist/cli/init/claude-md.js +153 -0
  37. package/dist/cli/init/claude-md.js.map +1 -0
  38. package/dist/cli/init/commands.d.ts +6 -0
  39. package/dist/cli/init/commands.d.ts.map +1 -0
  40. package/dist/cli/init/commands.js +83 -0
  41. package/dist/cli/init/commands.js.map +1 -0
  42. package/dist/cli/init/database-init.d.ts +15 -0
  43. package/dist/cli/init/database-init.d.ts.map +1 -0
  44. package/dist/cli/init/database-init.js +203 -0
  45. package/dist/cli/init/database-init.js.map +1 -0
  46. package/dist/cli/init/directory-structure.d.ts +14 -0
  47. package/dist/cli/init/directory-structure.d.ts.map +1 -0
  48. package/dist/cli/init/directory-structure.js +107 -0
  49. package/dist/cli/init/directory-structure.js.map +1 -0
  50. package/dist/cli/init/documentation.d.ts +14 -0
  51. package/dist/cli/init/documentation.d.ts.map +1 -0
  52. package/dist/cli/init/documentation.js +195 -0
  53. package/dist/cli/init/documentation.js.map +1 -0
  54. package/dist/cli/init/fleet-config.d.ts +34 -0
  55. package/dist/cli/init/fleet-config.d.ts.map +1 -0
  56. package/dist/cli/init/fleet-config.js +269 -0
  57. package/dist/cli/init/fleet-config.js.map +1 -0
  58. package/dist/cli/init/helpers.d.ts +6 -0
  59. package/dist/cli/init/helpers.d.ts.map +1 -0
  60. package/dist/cli/init/helpers.js +94 -0
  61. package/dist/cli/init/helpers.js.map +1 -0
  62. package/dist/cli/init/index.d.ts +32 -0
  63. package/dist/cli/init/index.d.ts.map +1 -0
  64. package/dist/cli/init/index.js +294 -0
  65. package/dist/cli/init/index.js.map +1 -0
  66. package/dist/cli/init/skills.d.ts +6 -0
  67. package/dist/cli/init/skills.d.ts.map +1 -0
  68. package/dist/cli/init/skills.js +138 -0
  69. package/dist/cli/init/skills.js.map +1 -0
  70. package/dist/cli/init/utils/file-utils.d.ts +74 -0
  71. package/dist/cli/init/utils/file-utils.d.ts.map +1 -0
  72. package/dist/cli/init/utils/file-utils.js +187 -0
  73. package/dist/cli/init/utils/file-utils.js.map +1 -0
  74. package/dist/cli/init/utils/index.d.ts +18 -0
  75. package/dist/cli/init/utils/index.d.ts.map +1 -0
  76. package/dist/cli/init/utils/index.js +48 -0
  77. package/dist/cli/init/utils/index.js.map +1 -0
  78. package/dist/cli/init/utils/log-utils.d.ts +47 -0
  79. package/dist/cli/init/utils/log-utils.d.ts.map +1 -0
  80. package/dist/cli/init/utils/log-utils.js +68 -0
  81. package/dist/cli/init/utils/log-utils.js.map +1 -0
  82. package/dist/cli/init/utils/path-utils.d.ts +91 -0
  83. package/dist/cli/init/utils/path-utils.d.ts.map +1 -0
  84. package/dist/cli/init/utils/path-utils.js +208 -0
  85. package/dist/cli/init/utils/path-utils.js.map +1 -0
  86. package/dist/cli/init/utils/validation-utils.d.ts +44 -0
  87. package/dist/cli/init/utils/validation-utils.d.ts.map +1 -0
  88. package/dist/cli/init/utils/validation-utils.js +68 -0
  89. package/dist/cli/init/utils/validation-utils.js.map +1 -0
  90. package/dist/cli/init/utils.d.ts +183 -0
  91. package/dist/cli/init/utils.d.ts.map +1 -0
  92. package/dist/cli/init/utils.js +354 -0
  93. package/dist/cli/init/utils.js.map +1 -0
  94. package/dist/components/Dashboard/Dashboard.d.ts +4 -0
  95. package/dist/components/Dashboard/Dashboard.d.ts.map +1 -0
  96. package/dist/components/Dashboard/Dashboard.js +148 -0
  97. package/dist/components/Dashboard/Dashboard.js.map +1 -0
  98. package/dist/components/Dashboard/DashboardHeader.d.ts +4 -0
  99. package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
  100. package/dist/components/Dashboard/DashboardHeader.js +138 -0
  101. package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
  102. package/dist/constitution/evaluators/ast-evaluator.d.ts +42 -0
  103. package/dist/constitution/evaluators/ast-evaluator.d.ts.map +1 -0
  104. package/dist/constitution/evaluators/ast-evaluator.js +303 -0
  105. package/dist/constitution/evaluators/ast-evaluator.js.map +1 -0
  106. package/dist/constitution/evaluators/base.d.ts +144 -0
  107. package/dist/constitution/evaluators/base.d.ts.map +1 -0
  108. package/dist/constitution/evaluators/base.js +144 -0
  109. package/dist/constitution/evaluators/base.js.map +1 -0
  110. package/dist/constitution/evaluators/index.d.ts +19 -0
  111. package/dist/constitution/evaluators/index.d.ts.map +1 -0
  112. package/dist/constitution/evaluators/index.js +56 -0
  113. package/dist/constitution/evaluators/index.js.map +1 -0
  114. package/dist/constitution/evaluators/metric-evaluator.d.ts +59 -0
  115. package/dist/constitution/evaluators/metric-evaluator.d.ts.map +1 -0
  116. package/dist/constitution/evaluators/metric-evaluator.js +195 -0
  117. package/dist/constitution/evaluators/metric-evaluator.js.map +1 -0
  118. package/dist/constitution/evaluators/pattern-evaluator.d.ts +66 -0
  119. package/dist/constitution/evaluators/pattern-evaluator.d.ts.map +1 -0
  120. package/dist/constitution/evaluators/pattern-evaluator.js +221 -0
  121. package/dist/constitution/evaluators/pattern-evaluator.js.map +1 -0
  122. package/dist/constitution/evaluators/semantic-evaluator.d.ts +68 -0
  123. package/dist/constitution/evaluators/semantic-evaluator.d.ts.map +1 -0
  124. package/dist/constitution/evaluators/semantic-evaluator.js +250 -0
  125. package/dist/constitution/evaluators/semantic-evaluator.js.map +1 -0
  126. package/dist/contexts/DashboardContext.d.ts +41 -0
  127. package/dist/contexts/DashboardContext.d.ts.map +1 -0
  128. package/dist/contexts/DashboardContext.js +187 -0
  129. package/dist/contexts/DashboardContext.js.map +1 -0
  130. package/dist/core/memory/SwarmMemoryManager.d.ts +40 -0
  131. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  132. package/dist/core/memory/SwarmMemoryManager.js +279 -120
  133. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  134. package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
  135. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  136. package/dist/hooks/useKeyboardShortcuts.js +69 -0
  137. package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
  138. package/dist/telemetry/instrumentation/agent.d.ts +158 -0
  139. package/dist/telemetry/instrumentation/agent.d.ts.map +1 -0
  140. package/dist/telemetry/instrumentation/agent.js +372 -0
  141. package/dist/telemetry/instrumentation/agent.js.map +1 -0
  142. package/dist/telemetry/instrumentation/index.d.ts +24 -0
  143. package/dist/telemetry/instrumentation/index.d.ts.map +1 -0
  144. package/dist/telemetry/instrumentation/index.js +54 -0
  145. package/dist/telemetry/instrumentation/index.js.map +1 -0
  146. package/dist/telemetry/instrumentation/memory.d.ts +313 -0
  147. package/dist/telemetry/instrumentation/memory.d.ts.map +1 -0
  148. package/dist/telemetry/instrumentation/memory.js +552 -0
  149. package/dist/telemetry/instrumentation/memory.js.map +1 -0
  150. package/dist/telemetry/instrumentation/task.d.ts +146 -0
  151. package/dist/telemetry/instrumentation/task.d.ts.map +1 -0
  152. package/dist/telemetry/instrumentation/task.js +305 -0
  153. package/dist/telemetry/instrumentation/task.js.map +1 -0
  154. package/dist/telemetry/metrics/collectors/cost.d.ts +246 -0
  155. package/dist/telemetry/metrics/collectors/cost.d.ts.map +1 -0
  156. package/dist/telemetry/metrics/collectors/cost.js +526 -0
  157. package/dist/telemetry/metrics/collectors/cost.js.map +1 -0
  158. package/dist/telemetry/metrics/collectors/pricing-config.d.ts +87 -0
  159. package/dist/telemetry/metrics/collectors/pricing-config.d.ts.map +1 -0
  160. package/dist/telemetry/metrics/collectors/pricing-config.js +207 -0
  161. package/dist/telemetry/metrics/collectors/pricing-config.js.map +1 -0
  162. package/dist/telemetry/metrics/index.d.ts +4 -1
  163. package/dist/telemetry/metrics/index.d.ts.map +1 -1
  164. package/dist/telemetry/metrics/index.js +18 -2
  165. package/dist/telemetry/metrics/index.js.map +1 -1
  166. package/dist/telemetry/types.d.ts +1 -1
  167. package/dist/telemetry/types.d.ts.map +1 -1
  168. package/dist/visualization/api/RestEndpoints.d.ts +136 -0
  169. package/dist/visualization/api/RestEndpoints.d.ts.map +1 -0
  170. package/dist/visualization/api/RestEndpoints.js +428 -0
  171. package/dist/visualization/api/RestEndpoints.js.map +1 -0
  172. package/dist/visualization/api/WebSocketServer.d.ts +165 -0
  173. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -0
  174. package/dist/visualization/api/WebSocketServer.js +518 -0
  175. package/dist/visualization/api/WebSocketServer.js.map +1 -0
  176. package/dist/visualization/core/DataTransformer.d.ts +89 -0
  177. package/dist/visualization/core/DataTransformer.d.ts.map +1 -0
  178. package/dist/visualization/core/DataTransformer.js +478 -0
  179. package/dist/visualization/core/DataTransformer.js.map +1 -0
  180. package/dist/visualization/index.d.ts +92 -0
  181. package/dist/visualization/index.d.ts.map +1 -0
  182. package/dist/visualization/index.js +121 -0
  183. package/dist/visualization/index.js.map +1 -0
  184. package/dist/visualization/types.d.ts +148 -0
  185. package/dist/visualization/types.d.ts.map +1 -0
  186. package/dist/visualization/types.js +7 -0
  187. package/dist/visualization/types.js.map +1 -0
  188. package/dist/voting/consensus.d.ts +87 -0
  189. package/dist/voting/consensus.d.ts.map +1 -0
  190. package/dist/voting/consensus.js +568 -0
  191. package/dist/voting/consensus.js.map +1 -0
  192. package/dist/voting/index.d.ts +12 -0
  193. package/dist/voting/index.d.ts.map +1 -0
  194. package/dist/voting/index.js +36 -0
  195. package/dist/voting/index.js.map +1 -0
  196. package/dist/voting/orchestrator.d.ts +65 -0
  197. package/dist/voting/orchestrator.d.ts.map +1 -0
  198. package/dist/voting/orchestrator.js +306 -0
  199. package/dist/voting/orchestrator.js.map +1 -0
  200. package/dist/voting/panel-assembly.d.ts +54 -0
  201. package/dist/voting/panel-assembly.d.ts.map +1 -0
  202. package/dist/voting/panel-assembly.js +192 -0
  203. package/dist/voting/panel-assembly.js.map +1 -0
  204. package/dist/voting/protocol.d.ts +119 -0
  205. package/dist/voting/protocol.d.ts.map +1 -0
  206. package/dist/voting/protocol.js +18 -0
  207. package/dist/voting/protocol.js.map +1 -0
  208. package/dist/voting/types.d.ts +125 -0
  209. package/dist/voting/types.d.ts.map +1 -0
  210. package/dist/voting/types.js +7 -0
  211. package/dist/voting/types.js.map +1 -0
  212. package/package.json +27 -2
@@ -0,0 +1,372 @@
1
+ "use strict";
2
+ /**
3
+ * Agent Instrumentation - OpenTelemetry spans for agent lifecycle
4
+ *
5
+ * Provides comprehensive tracing for all 18 QE agents with semantic attributes
6
+ * following OpenTelemetry conventions. Automatically instruments agent lifecycle
7
+ * events: spawn, execute, complete, error.
8
+ *
9
+ * @module telemetry/instrumentation/agent
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.agentSpanManager = exports.AgentSpanManager = void 0;
13
+ exports.InstrumentAgent = InstrumentAgent;
14
+ exports.withAgentSpan = withAgentSpan;
15
+ const api_1 = require("@opentelemetry/api");
16
+ const bootstrap_1 = require("../bootstrap");
17
+ const types_1 = require("../types");
18
+ /**
19
+ * Agent lifecycle span manager
20
+ *
21
+ * Manages OpenTelemetry spans for agent operations with automatic
22
+ * context propagation and semantic attribute attachment.
23
+ */
24
+ class AgentSpanManager {
25
+ constructor() {
26
+ this.tracer = (0, bootstrap_1.getTracer)();
27
+ this.activeSpans = new Map();
28
+ }
29
+ /**
30
+ * Start agent spawn span
31
+ *
32
+ * Records agent creation with full metadata including capabilities,
33
+ * fleet topology, and resource allocation.
34
+ *
35
+ * @param config - Agent span configuration
36
+ * @returns Active span
37
+ */
38
+ startSpawnSpan(config) {
39
+ const { agentId, capabilities, fleetId, topology, parentContext } = config;
40
+ const spanContext = parentContext || api_1.context.active();
41
+ const span = this.tracer.startSpan(types_1.SPAN_NAMES.FLEET_SPAWN_AGENT, {
42
+ attributes: this.buildAgentAttributes(agentId, fleetId, topology),
43
+ }, spanContext);
44
+ // Add capability attributes
45
+ if (capabilities && capabilities.length > 0) {
46
+ span.setAttribute('agent.capabilities.count', capabilities.length);
47
+ span.setAttribute('agent.capabilities.names', capabilities.map(c => c.name).join(','));
48
+ }
49
+ // Store span for lifecycle tracking
50
+ this.activeSpans.set(`spawn:${agentId.id}`, span);
51
+ span.addEvent('agent.spawn.started', {
52
+ 'agent.id': agentId.id,
53
+ 'agent.type': agentId.type,
54
+ });
55
+ return span;
56
+ }
57
+ /**
58
+ * Complete agent spawn span
59
+ *
60
+ * @param agentId - Agent identifier
61
+ * @param success - Whether spawn was successful
62
+ * @param error - Error if spawn failed
63
+ */
64
+ completeSpawnSpan(agentId, success, error) {
65
+ const spanKey = `spawn:${agentId.id}`;
66
+ const span = this.activeSpans.get(spanKey);
67
+ if (!span) {
68
+ console.warn(`[AgentSpanManager] No spawn span found for agent ${agentId.id}`);
69
+ return;
70
+ }
71
+ if (success) {
72
+ span.setStatus({ code: api_1.SpanStatusCode.OK });
73
+ span.addEvent('agent.spawn.completed', {
74
+ 'agent.id': agentId.id,
75
+ });
76
+ }
77
+ else {
78
+ span.setStatus({
79
+ code: api_1.SpanStatusCode.ERROR,
80
+ message: error?.message || 'Agent spawn failed',
81
+ });
82
+ if (error) {
83
+ span.recordException(error);
84
+ }
85
+ span.addEvent('agent.spawn.failed', {
86
+ 'agent.id': agentId.id,
87
+ 'error.message': error?.message || 'Unknown error',
88
+ });
89
+ }
90
+ span.end();
91
+ this.activeSpans.delete(spanKey);
92
+ }
93
+ /**
94
+ * Start agent execution span
95
+ *
96
+ * Records agent task execution with semantic attributes for task type,
97
+ * priority, and execution strategy.
98
+ *
99
+ * @param config - Task span configuration
100
+ * @returns Active span with context
101
+ */
102
+ startExecutionSpan(config) {
103
+ const { task, agentId, parentContext } = config;
104
+ const spanContext = parentContext || api_1.context.active();
105
+ const span = this.tracer.startSpan(types_1.SPAN_NAMES.AGENT_EXECUTE_TASK, {
106
+ attributes: {
107
+ ...this.buildAgentAttributes(agentId),
108
+ ...this.buildTaskAttributes(task),
109
+ },
110
+ }, spanContext);
111
+ // Store span for lifecycle tracking
112
+ const spanKey = `execute:${agentId.id}:${task.id}`;
113
+ this.activeSpans.set(spanKey, span);
114
+ // Auto-cleanup orphaned span after 5 minutes
115
+ const cleanupTimeout = setTimeout(() => {
116
+ if (this.activeSpans.has(spanKey)) {
117
+ console.warn(`[AgentSpanManager] Auto-cleaning orphaned span: ${spanKey}`);
118
+ this.completeExecutionSpan(agentId, task.id, false, undefined, new Error('Span timeout - auto-cleanup after 5 minutes'));
119
+ }
120
+ }, 300000); // 5 minutes
121
+ // Store cleanup timeout for cancellation
122
+ if (!this.spanCleanupTimeouts) {
123
+ this.spanCleanupTimeouts = new Map();
124
+ }
125
+ this.spanCleanupTimeouts.set(spanKey, cleanupTimeout);
126
+ span.addEvent('agent.task.started', {
127
+ 'task.id': task.id,
128
+ 'task.type': task.type,
129
+ 'agent.id': agentId.id,
130
+ });
131
+ // Create context with active span
132
+ const spanContext2 = api_1.trace.setSpan(api_1.context.active(), span);
133
+ return { span, context: spanContext2 };
134
+ }
135
+ /**
136
+ * Complete agent execution span
137
+ *
138
+ * @param agentId - Agent identifier
139
+ * @param taskId - Task identifier
140
+ * @param success - Whether execution was successful
141
+ * @param result - Task execution result
142
+ * @param error - Error if execution failed
143
+ */
144
+ completeExecutionSpan(agentId, taskId, success, result, error) {
145
+ const spanKey = `execute:${agentId.id}:${taskId}`;
146
+ const span = this.activeSpans.get(spanKey);
147
+ if (!span) {
148
+ console.warn(`[AgentSpanManager] No execution span found for task ${taskId}`);
149
+ return;
150
+ }
151
+ // Cancel auto-cleanup timeout
152
+ if (this.spanCleanupTimeouts?.has(spanKey)) {
153
+ clearTimeout(this.spanCleanupTimeouts.get(spanKey));
154
+ this.spanCleanupTimeouts.delete(spanKey);
155
+ }
156
+ // Add result metrics if available
157
+ if (result) {
158
+ if (typeof result.executionTime === 'number') {
159
+ span.setAttribute('task.execution_time_ms', result.executionTime);
160
+ }
161
+ if (typeof result.tokensUsed === 'number') {
162
+ span.setAttribute('task.tokens_used', result.tokensUsed);
163
+ }
164
+ if (typeof result.cost === 'number') {
165
+ span.setAttribute('task.cost_usd', result.cost);
166
+ }
167
+ }
168
+ if (success) {
169
+ span.setStatus({ code: api_1.SpanStatusCode.OK });
170
+ span.addEvent('agent.task.completed', {
171
+ 'task.id': taskId,
172
+ 'agent.id': agentId.id,
173
+ });
174
+ }
175
+ else {
176
+ span.setStatus({
177
+ code: api_1.SpanStatusCode.ERROR,
178
+ message: error?.message || 'Task execution failed',
179
+ });
180
+ if (error) {
181
+ span.recordException(error);
182
+ }
183
+ span.addEvent('agent.task.failed', {
184
+ 'task.id': taskId,
185
+ 'agent.id': agentId.id,
186
+ 'error.message': error?.message || 'Unknown error',
187
+ });
188
+ }
189
+ span.end();
190
+ this.activeSpans.delete(spanKey);
191
+ }
192
+ /**
193
+ * Record agent status change
194
+ *
195
+ * @param agentId - Agent identifier
196
+ * @param oldStatus - Previous status
197
+ * @param newStatus - New status
198
+ */
199
+ recordStatusChange(agentId, oldStatus, newStatus) {
200
+ const span = api_1.trace.getActiveSpan();
201
+ if (span) {
202
+ span.addEvent('agent.status.changed', {
203
+ 'agent.id': agentId.id,
204
+ 'agent.status.old': oldStatus,
205
+ 'agent.status.new': newStatus,
206
+ });
207
+ }
208
+ }
209
+ /**
210
+ * Record agent error
211
+ *
212
+ * @param agentId - Agent identifier
213
+ * @param error - Error that occurred
214
+ * @param context - Additional context
215
+ */
216
+ recordError(agentId, error, context) {
217
+ const span = api_1.trace.getActiveSpan();
218
+ if (span) {
219
+ span.recordException(error);
220
+ span.addEvent('agent.error', {
221
+ 'agent.id': agentId.id,
222
+ 'error.message': error.message,
223
+ 'error.stack': error.stack,
224
+ ...context,
225
+ });
226
+ }
227
+ }
228
+ /**
229
+ * Start specialized agent operation span
230
+ *
231
+ * For agent-specific operations like test generation, coverage analysis, etc.
232
+ *
233
+ * @param operationName - Operation name (e.g., 'generate_tests', 'analyze_coverage')
234
+ * @param agentId - Agent identifier
235
+ * @param attributes - Additional attributes
236
+ * @returns Active span
237
+ */
238
+ startOperationSpan(operationName, agentId, attributes) {
239
+ const spanName = `aqe.agent.${operationName}`;
240
+ const span = this.tracer.startSpan(spanName, {
241
+ attributes: {
242
+ ...this.buildAgentAttributes(agentId),
243
+ ...attributes,
244
+ },
245
+ });
246
+ this.activeSpans.set(`operation:${agentId.id}:${operationName}`, span);
247
+ return span;
248
+ }
249
+ /**
250
+ * Complete specialized operation span
251
+ *
252
+ * @param operationName - Operation name
253
+ * @param agentId - Agent identifier
254
+ * @param success - Whether operation was successful
255
+ * @param error - Error if operation failed
256
+ */
257
+ completeOperationSpan(operationName, agentId, success, error) {
258
+ const spanKey = `operation:${agentId.id}:${operationName}`;
259
+ const span = this.activeSpans.get(spanKey);
260
+ if (!span) {
261
+ return;
262
+ }
263
+ if (success) {
264
+ span.setStatus({ code: api_1.SpanStatusCode.OK });
265
+ }
266
+ else {
267
+ span.setStatus({
268
+ code: api_1.SpanStatusCode.ERROR,
269
+ message: error?.message || 'Operation failed',
270
+ });
271
+ if (error) {
272
+ span.recordException(error);
273
+ }
274
+ }
275
+ span.end();
276
+ this.activeSpans.delete(spanKey);
277
+ }
278
+ /**
279
+ * Cleanup all active spans (for graceful shutdown)
280
+ */
281
+ cleanup() {
282
+ for (const [key, span] of this.activeSpans.entries()) {
283
+ console.warn(`[AgentSpanManager] Force-ending orphaned span: ${key}`);
284
+ span.setStatus({
285
+ code: api_1.SpanStatusCode.ERROR,
286
+ message: 'Span ended during cleanup',
287
+ });
288
+ span.end();
289
+ }
290
+ this.activeSpans.clear();
291
+ }
292
+ /**
293
+ * Build agent semantic attributes
294
+ */
295
+ buildAgentAttributes(agentId, fleetId, topology) {
296
+ const attrs = {
297
+ 'agent.id': agentId.id,
298
+ 'agent.type': agentId.type,
299
+ 'agent.name': agentId.id,
300
+ };
301
+ if (fleetId) {
302
+ attrs['fleet.id'] = fleetId;
303
+ }
304
+ if (topology) {
305
+ attrs['fleet.topology'] = topology;
306
+ }
307
+ return attrs;
308
+ }
309
+ /**
310
+ * Build task semantic attributes
311
+ */
312
+ buildTaskAttributes(task) {
313
+ return {
314
+ 'task.id': task.id,
315
+ 'task.type': task.type,
316
+ 'task.status': task.status,
317
+ 'task.priority': task.priority,
318
+ 'task.parent_id': task.parentId || '',
319
+ };
320
+ }
321
+ }
322
+ exports.AgentSpanManager = AgentSpanManager;
323
+ /**
324
+ * Global agent span manager instance
325
+ */
326
+ exports.agentSpanManager = new AgentSpanManager();
327
+ /**
328
+ * Decorator for automatically instrumenting agent methods
329
+ *
330
+ * @param operationName - Operation name for the span
331
+ */
332
+ function InstrumentAgent(operationName) {
333
+ return function (target, propertyKey, descriptor) {
334
+ const originalMethod = descriptor.value;
335
+ descriptor.value = async function (...args) {
336
+ const agentId = this.agentId;
337
+ const span = exports.agentSpanManager.startOperationSpan(operationName, agentId);
338
+ try {
339
+ const result = await originalMethod.apply(this, args);
340
+ exports.agentSpanManager.completeOperationSpan(operationName, agentId, true);
341
+ return result;
342
+ }
343
+ catch (error) {
344
+ exports.agentSpanManager.completeOperationSpan(operationName, agentId, false, error);
345
+ throw error;
346
+ }
347
+ };
348
+ return descriptor;
349
+ };
350
+ }
351
+ /**
352
+ * Execute function within agent span context
353
+ *
354
+ * @param operationName - Operation name
355
+ * @param agentId - Agent identifier
356
+ * @param fn - Function to execute
357
+ * @param attributes - Additional span attributes
358
+ * @returns Function result
359
+ */
360
+ async function withAgentSpan(operationName, agentId, fn, attributes) {
361
+ const span = exports.agentSpanManager.startOperationSpan(operationName, agentId, attributes);
362
+ try {
363
+ const result = await fn();
364
+ exports.agentSpanManager.completeOperationSpan(operationName, agentId, true);
365
+ return result;
366
+ }
367
+ catch (error) {
368
+ exports.agentSpanManager.completeOperationSpan(operationName, agentId, false, error);
369
+ throw error;
370
+ }
371
+ }
372
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/telemetry/instrumentation/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Telemetry Instrumentation - Agent and Task Tracing
3
+ *
4
+ * Comprehensive OpenTelemetry instrumentation for all 18 QE agents
5
+ * with automatic span management, context propagation, and semantic attributes.
6
+ *
7
+ * @module telemetry/instrumentation
8
+ */
9
+ export { AgentSpanManager, agentSpanManager, AgentSpanConfig, TaskSpanConfig, InstrumentAgent, withAgentSpan, } from './agent';
10
+ export { TaskSpanManager, taskSpanManager, TaskSpanConfig as TaskExecutionSpanConfig, TaskResult, withTaskSpan, } from './task';
11
+ export { MemorySpanManager, memorySpanManager, MemoryStoreConfig, MemoryRetrieveConfig, MemorySearchConfig, MemoryDeleteConfig, MemoryStoreResult, MemoryRetrieveResult, MemorySearchResult, MemoryDeleteResult, withMemoryStore, withMemoryRetrieve, withMemorySearch, withMemoryDelete, } from './memory';
12
+ /**
13
+ * Initialize all instrumentation managers
14
+ *
15
+ * Call this during application startup to ensure proper cleanup on shutdown.
16
+ */
17
+ export declare function initializeInstrumentation(): void;
18
+ /**
19
+ * Cleanup all active instrumentation spans
20
+ *
21
+ * Ensures all spans are properly ended during graceful shutdown.
22
+ */
23
+ export declare function cleanupInstrumentation(): void;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telemetry/instrumentation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,IAAI,uBAAuB,EACzC,UAAU,EACV,YAAY,GACb,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAQ7C"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /**
3
+ * Telemetry Instrumentation - Agent and Task Tracing
4
+ *
5
+ * Comprehensive OpenTelemetry instrumentation for all 18 QE agents
6
+ * with automatic span management, context propagation, and semantic attributes.
7
+ *
8
+ * @module telemetry/instrumentation
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.withMemoryDelete = exports.withMemorySearch = exports.withMemoryRetrieve = exports.withMemoryStore = exports.memorySpanManager = exports.MemorySpanManager = exports.withTaskSpan = exports.taskSpanManager = exports.TaskSpanManager = exports.withAgentSpan = exports.InstrumentAgent = exports.agentSpanManager = exports.AgentSpanManager = void 0;
12
+ exports.initializeInstrumentation = initializeInstrumentation;
13
+ exports.cleanupInstrumentation = cleanupInstrumentation;
14
+ var agent_1 = require("./agent");
15
+ Object.defineProperty(exports, "AgentSpanManager", { enumerable: true, get: function () { return agent_1.AgentSpanManager; } });
16
+ Object.defineProperty(exports, "agentSpanManager", { enumerable: true, get: function () { return agent_1.agentSpanManager; } });
17
+ Object.defineProperty(exports, "InstrumentAgent", { enumerable: true, get: function () { return agent_1.InstrumentAgent; } });
18
+ Object.defineProperty(exports, "withAgentSpan", { enumerable: true, get: function () { return agent_1.withAgentSpan; } });
19
+ var task_1 = require("./task");
20
+ Object.defineProperty(exports, "TaskSpanManager", { enumerable: true, get: function () { return task_1.TaskSpanManager; } });
21
+ Object.defineProperty(exports, "taskSpanManager", { enumerable: true, get: function () { return task_1.taskSpanManager; } });
22
+ Object.defineProperty(exports, "withTaskSpan", { enumerable: true, get: function () { return task_1.withTaskSpan; } });
23
+ var memory_1 = require("./memory");
24
+ Object.defineProperty(exports, "MemorySpanManager", { enumerable: true, get: function () { return memory_1.MemorySpanManager; } });
25
+ Object.defineProperty(exports, "memorySpanManager", { enumerable: true, get: function () { return memory_1.memorySpanManager; } });
26
+ Object.defineProperty(exports, "withMemoryStore", { enumerable: true, get: function () { return memory_1.withMemoryStore; } });
27
+ Object.defineProperty(exports, "withMemoryRetrieve", { enumerable: true, get: function () { return memory_1.withMemoryRetrieve; } });
28
+ Object.defineProperty(exports, "withMemorySearch", { enumerable: true, get: function () { return memory_1.withMemorySearch; } });
29
+ Object.defineProperty(exports, "withMemoryDelete", { enumerable: true, get: function () { return memory_1.withMemoryDelete; } });
30
+ /**
31
+ * Initialize all instrumentation managers
32
+ *
33
+ * Call this during application startup to ensure proper cleanup on shutdown.
34
+ */
35
+ function initializeInstrumentation() {
36
+ // Register cleanup handlers
37
+ process.on('SIGTERM', cleanupInstrumentation);
38
+ process.on('SIGINT', cleanupInstrumentation);
39
+ process.on('beforeExit', cleanupInstrumentation);
40
+ }
41
+ /**
42
+ * Cleanup all active instrumentation spans
43
+ *
44
+ * Ensures all spans are properly ended during graceful shutdown.
45
+ */
46
+ function cleanupInstrumentation() {
47
+ const { agentSpanManager } = require('./agent');
48
+ const { taskSpanManager } = require('./task');
49
+ const { memorySpanManager } = require('./memory');
50
+ agentSpanManager.cleanup();
51
+ taskSpanManager.cleanup();
52
+ memorySpanManager.cleanup();
53
+ }
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/instrumentation/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAyCH,8DAKC;AAOD,wDAQC;AA3DD,iCAOiB;AANf,yGAAA,gBAAgB,OAAA;AAChB,yGAAA,gBAAgB,OAAA;AAGhB,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AAGf,+BAMgB;AALd,uGAAA,eAAe,OAAA;AACf,uGAAA,eAAe,OAAA;AAGf,oGAAA,YAAY,OAAA;AAGd,mCAekB;AAdhB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AASjB,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAGlB;;;;GAIG;AACH,SAAgB,yBAAyB;IACvC,4BAA4B;IAC5B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB;IACpC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElD,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAC3B,eAAe,CAAC,OAAO,EAAE,CAAC;IAC1B,iBAAiB,CAAC,OAAO,EAAE,CAAC;AAC9B,CAAC"}