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.
Files changed (290) hide show
  1. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  2. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
  3. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
  4. package/CHANGELOG.md +595 -0
  5. package/README.md +117 -16
  6. package/config/constitution.schema.json +423 -0
  7. package/config/otel-collector.yaml +234 -0
  8. package/dist/App.d.ts +5 -0
  9. package/dist/App.d.ts.map +1 -0
  10. package/dist/App.js +15 -0
  11. package/dist/App.js.map +1 -0
  12. package/dist/cli/commands/constitution.d.ts +34 -0
  13. package/dist/cli/commands/constitution.d.ts.map +1 -0
  14. package/dist/cli/commands/constitution.js +679 -0
  15. package/dist/cli/commands/constitution.js.map +1 -0
  16. package/dist/cli/commands/init-claude-md-template.js +3 -3
  17. package/dist/cli/commands/init.d.ts +8 -75
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +22 -2292
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/telemetry.d.ts +36 -0
  22. package/dist/cli/commands/telemetry.d.ts.map +1 -0
  23. package/dist/cli/commands/telemetry.js +364 -0
  24. package/dist/cli/commands/telemetry.js.map +1 -0
  25. package/dist/cli/index.js +66 -0
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/init/agents.d.ts +22 -0
  28. package/dist/cli/init/agents.d.ts.map +1 -0
  29. package/dist/cli/init/agents.js +522 -0
  30. package/dist/cli/init/agents.js.map +1 -0
  31. package/dist/cli/init/bash-wrapper.d.ts +14 -0
  32. package/dist/cli/init/bash-wrapper.d.ts.map +1 -0
  33. package/dist/cli/init/bash-wrapper.js +47 -0
  34. package/dist/cli/init/bash-wrapper.js.map +1 -0
  35. package/dist/cli/init/claude-config.d.ts +24 -0
  36. package/dist/cli/init/claude-config.d.ts.map +1 -0
  37. package/dist/cli/init/claude-config.js +275 -0
  38. package/dist/cli/init/claude-config.js.map +1 -0
  39. package/dist/cli/init/claude-md.d.ts +19 -0
  40. package/dist/cli/init/claude-md.d.ts.map +1 -0
  41. package/dist/cli/init/claude-md.js +153 -0
  42. package/dist/cli/init/claude-md.js.map +1 -0
  43. package/dist/cli/init/commands.d.ts +6 -0
  44. package/dist/cli/init/commands.d.ts.map +1 -0
  45. package/dist/cli/init/commands.js +83 -0
  46. package/dist/cli/init/commands.js.map +1 -0
  47. package/dist/cli/init/database-init.d.ts +15 -0
  48. package/dist/cli/init/database-init.d.ts.map +1 -0
  49. package/dist/cli/init/database-init.js +203 -0
  50. package/dist/cli/init/database-init.js.map +1 -0
  51. package/dist/cli/init/directory-structure.d.ts +14 -0
  52. package/dist/cli/init/directory-structure.d.ts.map +1 -0
  53. package/dist/cli/init/directory-structure.js +107 -0
  54. package/dist/cli/init/directory-structure.js.map +1 -0
  55. package/dist/cli/init/documentation.d.ts +14 -0
  56. package/dist/cli/init/documentation.d.ts.map +1 -0
  57. package/dist/cli/init/documentation.js +195 -0
  58. package/dist/cli/init/documentation.js.map +1 -0
  59. package/dist/cli/init/fleet-config.d.ts +34 -0
  60. package/dist/cli/init/fleet-config.d.ts.map +1 -0
  61. package/dist/cli/init/fleet-config.js +269 -0
  62. package/dist/cli/init/fleet-config.js.map +1 -0
  63. package/dist/cli/init/helpers.d.ts +6 -0
  64. package/dist/cli/init/helpers.d.ts.map +1 -0
  65. package/dist/cli/init/helpers.js +94 -0
  66. package/dist/cli/init/helpers.js.map +1 -0
  67. package/dist/cli/init/index.d.ts +32 -0
  68. package/dist/cli/init/index.d.ts.map +1 -0
  69. package/dist/cli/init/index.js +294 -0
  70. package/dist/cli/init/index.js.map +1 -0
  71. package/dist/cli/init/skills.d.ts +6 -0
  72. package/dist/cli/init/skills.d.ts.map +1 -0
  73. package/dist/cli/init/skills.js +138 -0
  74. package/dist/cli/init/skills.js.map +1 -0
  75. package/dist/cli/init/utils/file-utils.d.ts +74 -0
  76. package/dist/cli/init/utils/file-utils.d.ts.map +1 -0
  77. package/dist/cli/init/utils/file-utils.js +187 -0
  78. package/dist/cli/init/utils/file-utils.js.map +1 -0
  79. package/dist/cli/init/utils/index.d.ts +18 -0
  80. package/dist/cli/init/utils/index.d.ts.map +1 -0
  81. package/dist/cli/init/utils/index.js +48 -0
  82. package/dist/cli/init/utils/index.js.map +1 -0
  83. package/dist/cli/init/utils/log-utils.d.ts +47 -0
  84. package/dist/cli/init/utils/log-utils.d.ts.map +1 -0
  85. package/dist/cli/init/utils/log-utils.js +68 -0
  86. package/dist/cli/init/utils/log-utils.js.map +1 -0
  87. package/dist/cli/init/utils/path-utils.d.ts +91 -0
  88. package/dist/cli/init/utils/path-utils.d.ts.map +1 -0
  89. package/dist/cli/init/utils/path-utils.js +208 -0
  90. package/dist/cli/init/utils/path-utils.js.map +1 -0
  91. package/dist/cli/init/utils/validation-utils.d.ts +44 -0
  92. package/dist/cli/init/utils/validation-utils.d.ts.map +1 -0
  93. package/dist/cli/init/utils/validation-utils.js +68 -0
  94. package/dist/cli/init/utils/validation-utils.js.map +1 -0
  95. package/dist/cli/init/utils.d.ts +183 -0
  96. package/dist/cli/init/utils.d.ts.map +1 -0
  97. package/dist/cli/init/utils.js +354 -0
  98. package/dist/cli/init/utils.js.map +1 -0
  99. package/dist/components/Dashboard/Dashboard.d.ts +4 -0
  100. package/dist/components/Dashboard/Dashboard.d.ts.map +1 -0
  101. package/dist/components/Dashboard/Dashboard.js +148 -0
  102. package/dist/components/Dashboard/Dashboard.js.map +1 -0
  103. package/dist/components/Dashboard/DashboardHeader.d.ts +4 -0
  104. package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
  105. package/dist/components/Dashboard/DashboardHeader.js +138 -0
  106. package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
  107. package/dist/constitution/evaluators/ast-evaluator.d.ts +42 -0
  108. package/dist/constitution/evaluators/ast-evaluator.d.ts.map +1 -0
  109. package/dist/constitution/evaluators/ast-evaluator.js +303 -0
  110. package/dist/constitution/evaluators/ast-evaluator.js.map +1 -0
  111. package/dist/constitution/evaluators/base.d.ts +144 -0
  112. package/dist/constitution/evaluators/base.d.ts.map +1 -0
  113. package/dist/constitution/evaluators/base.js +144 -0
  114. package/dist/constitution/evaluators/base.js.map +1 -0
  115. package/dist/constitution/evaluators/index.d.ts +19 -0
  116. package/dist/constitution/evaluators/index.d.ts.map +1 -0
  117. package/dist/constitution/evaluators/index.js +56 -0
  118. package/dist/constitution/evaluators/index.js.map +1 -0
  119. package/dist/constitution/evaluators/metric-evaluator.d.ts +59 -0
  120. package/dist/constitution/evaluators/metric-evaluator.d.ts.map +1 -0
  121. package/dist/constitution/evaluators/metric-evaluator.js +195 -0
  122. package/dist/constitution/evaluators/metric-evaluator.js.map +1 -0
  123. package/dist/constitution/evaluators/pattern-evaluator.d.ts +66 -0
  124. package/dist/constitution/evaluators/pattern-evaluator.d.ts.map +1 -0
  125. package/dist/constitution/evaluators/pattern-evaluator.js +221 -0
  126. package/dist/constitution/evaluators/pattern-evaluator.js.map +1 -0
  127. package/dist/constitution/evaluators/semantic-evaluator.d.ts +68 -0
  128. package/dist/constitution/evaluators/semantic-evaluator.d.ts.map +1 -0
  129. package/dist/constitution/evaluators/semantic-evaluator.js +250 -0
  130. package/dist/constitution/evaluators/semantic-evaluator.js.map +1 -0
  131. package/dist/constitution/index.d.ts +105 -0
  132. package/dist/constitution/index.d.ts.map +1 -0
  133. package/dist/constitution/index.js +207 -0
  134. package/dist/constitution/index.js.map +1 -0
  135. package/dist/constitution/loader.d.ts +141 -0
  136. package/dist/constitution/loader.d.ts.map +1 -0
  137. package/dist/constitution/loader.js +515 -0
  138. package/dist/constitution/loader.js.map +1 -0
  139. package/dist/constitution/schema.d.ts +409 -0
  140. package/dist/constitution/schema.d.ts.map +1 -0
  141. package/dist/constitution/schema.js +71 -0
  142. package/dist/constitution/schema.js.map +1 -0
  143. package/dist/contexts/DashboardContext.d.ts +41 -0
  144. package/dist/contexts/DashboardContext.d.ts.map +1 -0
  145. package/dist/contexts/DashboardContext.js +187 -0
  146. package/dist/contexts/DashboardContext.js.map +1 -0
  147. package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
  148. package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
  149. package/dist/core/memory/MemoryManagerFactory.js +270 -0
  150. package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
  151. package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
  152. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  153. package/dist/core/memory/SwarmMemoryManager.js +375 -131
  154. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  155. package/dist/core/memory/index.d.ts +1 -0
  156. package/dist/core/memory/index.d.ts.map +1 -1
  157. package/dist/core/memory/index.js +12 -1
  158. package/dist/core/memory/index.js.map +1 -1
  159. package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
  160. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  161. package/dist/hooks/useKeyboardShortcuts.js +69 -0
  162. package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
  163. package/dist/mcp/handlers/memory/memory-backup.js +6 -6
  164. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  165. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  166. package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
  167. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  168. package/dist/mcp/server.d.ts.map +1 -1
  169. package/dist/mcp/server.js +4 -38
  170. package/dist/mcp/server.js.map +1 -1
  171. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  172. package/dist/mcp/services/AgentRegistry.js +4 -4
  173. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  174. package/dist/persistence/event-store.d.ts +162 -0
  175. package/dist/persistence/event-store.d.ts.map +1 -0
  176. package/dist/persistence/event-store.js +315 -0
  177. package/dist/persistence/event-store.js.map +1 -0
  178. package/dist/persistence/index.d.ts +145 -0
  179. package/dist/persistence/index.d.ts.map +1 -0
  180. package/dist/persistence/index.js +227 -0
  181. package/dist/persistence/index.js.map +1 -0
  182. package/dist/persistence/metrics-aggregator.d.ts +187 -0
  183. package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
  184. package/dist/persistence/metrics-aggregator.js +495 -0
  185. package/dist/persistence/metrics-aggregator.js.map +1 -0
  186. package/dist/persistence/reasoning-store.d.ts +178 -0
  187. package/dist/persistence/reasoning-store.d.ts.map +1 -0
  188. package/dist/persistence/reasoning-store.js +440 -0
  189. package/dist/persistence/reasoning-store.js.map +1 -0
  190. package/dist/persistence/schema.d.ts +181 -0
  191. package/dist/persistence/schema.d.ts.map +1 -0
  192. package/dist/persistence/schema.js +186 -0
  193. package/dist/persistence/schema.js.map +1 -0
  194. package/dist/telemetry/bootstrap.d.ts +67 -0
  195. package/dist/telemetry/bootstrap.d.ts.map +1 -0
  196. package/dist/telemetry/bootstrap.js +320 -0
  197. package/dist/telemetry/bootstrap.js.map +1 -0
  198. package/dist/telemetry/index.d.ts +16 -0
  199. package/dist/telemetry/index.d.ts.map +1 -0
  200. package/dist/telemetry/index.js +84 -0
  201. package/dist/telemetry/index.js.map +1 -0
  202. package/dist/telemetry/instrumentation/agent.d.ts +158 -0
  203. package/dist/telemetry/instrumentation/agent.d.ts.map +1 -0
  204. package/dist/telemetry/instrumentation/agent.js +372 -0
  205. package/dist/telemetry/instrumentation/agent.js.map +1 -0
  206. package/dist/telemetry/instrumentation/index.d.ts +24 -0
  207. package/dist/telemetry/instrumentation/index.d.ts.map +1 -0
  208. package/dist/telemetry/instrumentation/index.js +54 -0
  209. package/dist/telemetry/instrumentation/index.js.map +1 -0
  210. package/dist/telemetry/instrumentation/memory.d.ts +313 -0
  211. package/dist/telemetry/instrumentation/memory.d.ts.map +1 -0
  212. package/dist/telemetry/instrumentation/memory.js +552 -0
  213. package/dist/telemetry/instrumentation/memory.js.map +1 -0
  214. package/dist/telemetry/instrumentation/task.d.ts +146 -0
  215. package/dist/telemetry/instrumentation/task.d.ts.map +1 -0
  216. package/dist/telemetry/instrumentation/task.js +305 -0
  217. package/dist/telemetry/instrumentation/task.js.map +1 -0
  218. package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
  219. package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
  220. package/dist/telemetry/metrics/agent-metrics.js +213 -0
  221. package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
  222. package/dist/telemetry/metrics/collectors/cost.d.ts +246 -0
  223. package/dist/telemetry/metrics/collectors/cost.d.ts.map +1 -0
  224. package/dist/telemetry/metrics/collectors/cost.js +526 -0
  225. package/dist/telemetry/metrics/collectors/cost.js.map +1 -0
  226. package/dist/telemetry/metrics/collectors/pricing-config.d.ts +87 -0
  227. package/dist/telemetry/metrics/collectors/pricing-config.d.ts.map +1 -0
  228. package/dist/telemetry/metrics/collectors/pricing-config.js +207 -0
  229. package/dist/telemetry/metrics/collectors/pricing-config.js.map +1 -0
  230. package/dist/telemetry/metrics/index.d.ts +54 -0
  231. package/dist/telemetry/metrics/index.d.ts.map +1 -0
  232. package/dist/telemetry/metrics/index.js +116 -0
  233. package/dist/telemetry/metrics/index.js.map +1 -0
  234. package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
  235. package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
  236. package/dist/telemetry/metrics/quality-metrics.js +259 -0
  237. package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
  238. package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
  239. package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
  240. package/dist/telemetry/metrics/system-metrics.js +380 -0
  241. package/dist/telemetry/metrics/system-metrics.js.map +1 -0
  242. package/dist/telemetry/types.d.ts +195 -0
  243. package/dist/telemetry/types.d.ts.map +1 -0
  244. package/dist/telemetry/types.js +90 -0
  245. package/dist/telemetry/types.js.map +1 -0
  246. package/dist/visualization/api/RestEndpoints.d.ts +136 -0
  247. package/dist/visualization/api/RestEndpoints.d.ts.map +1 -0
  248. package/dist/visualization/api/RestEndpoints.js +428 -0
  249. package/dist/visualization/api/RestEndpoints.js.map +1 -0
  250. package/dist/visualization/api/WebSocketServer.d.ts +165 -0
  251. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -0
  252. package/dist/visualization/api/WebSocketServer.js +518 -0
  253. package/dist/visualization/api/WebSocketServer.js.map +1 -0
  254. package/dist/visualization/core/DataTransformer.d.ts +89 -0
  255. package/dist/visualization/core/DataTransformer.d.ts.map +1 -0
  256. package/dist/visualization/core/DataTransformer.js +478 -0
  257. package/dist/visualization/core/DataTransformer.js.map +1 -0
  258. package/dist/visualization/index.d.ts +92 -0
  259. package/dist/visualization/index.d.ts.map +1 -0
  260. package/dist/visualization/index.js +121 -0
  261. package/dist/visualization/index.js.map +1 -0
  262. package/dist/visualization/types.d.ts +148 -0
  263. package/dist/visualization/types.d.ts.map +1 -0
  264. package/dist/visualization/types.js +7 -0
  265. package/dist/visualization/types.js.map +1 -0
  266. package/dist/voting/consensus.d.ts +87 -0
  267. package/dist/voting/consensus.d.ts.map +1 -0
  268. package/dist/voting/consensus.js +568 -0
  269. package/dist/voting/consensus.js.map +1 -0
  270. package/dist/voting/index.d.ts +12 -0
  271. package/dist/voting/index.d.ts.map +1 -0
  272. package/dist/voting/index.js +36 -0
  273. package/dist/voting/index.js.map +1 -0
  274. package/dist/voting/orchestrator.d.ts +65 -0
  275. package/dist/voting/orchestrator.d.ts.map +1 -0
  276. package/dist/voting/orchestrator.js +306 -0
  277. package/dist/voting/orchestrator.js.map +1 -0
  278. package/dist/voting/panel-assembly.d.ts +54 -0
  279. package/dist/voting/panel-assembly.d.ts.map +1 -0
  280. package/dist/voting/panel-assembly.js +192 -0
  281. package/dist/voting/panel-assembly.js.map +1 -0
  282. package/dist/voting/protocol.d.ts +119 -0
  283. package/dist/voting/protocol.d.ts.map +1 -0
  284. package/dist/voting/protocol.js +18 -0
  285. package/dist/voting/protocol.js.map +1 -0
  286. package/dist/voting/types.d.ts +125 -0
  287. package/dist/voting/types.d.ts.map +1 -0
  288. package/dist/voting/types.js +7 -0
  289. package/dist/voting/types.js.map +1 -0
  290. package/package.json +43 -2
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ /**
3
+ * LLM Provider Pricing Configuration
4
+ *
5
+ * Centralized pricing tables for all supported LLM providers.
6
+ * Prices are updated as of January 2025.
7
+ *
8
+ * Storage: This configuration is stored in memory namespace:
9
+ * - `aqe/phase2/instrumentation/token-metrics/pricing`
10
+ *
11
+ * @module telemetry/metrics/collectors/pricing-config
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.PRICING_MEMORY_KEY = exports.PRICING_MEMORY_NAMESPACE = exports.PRICING_CONFIG = void 0;
15
+ exports.getPricing = getPricing;
16
+ exports.getProviderPricing = getProviderPricing;
17
+ exports.calculateSavingsPercentage = calculateSavingsPercentage;
18
+ exports.exportPricingConfig = exportPricingConfig;
19
+ /**
20
+ * Current pricing configuration (January 2025)
21
+ *
22
+ * Sources:
23
+ * - Anthropic: https://docs.anthropic.com/claude/pricing
24
+ * - OpenRouter: https://openrouter.ai/models
25
+ * - OpenAI: https://openai.com/pricing
26
+ */
27
+ exports.PRICING_CONFIG = {
28
+ metadata: {
29
+ lastUpdated: '2025-01-20',
30
+ version: '1.0.0',
31
+ source: 'Provider official documentation',
32
+ },
33
+ providers: [
34
+ // Anthropic Claude Models
35
+ {
36
+ provider: 'anthropic',
37
+ model: 'claude-sonnet-4-5-20250929',
38
+ inputCostPerMillion: 3.0,
39
+ outputCostPerMillion: 15.0,
40
+ cacheWriteCostPerMillion: 3.75, // 25% premium
41
+ cacheReadCostPerMillion: 0.3, // 90% discount
42
+ },
43
+ {
44
+ provider: 'anthropic',
45
+ model: 'claude-sonnet-4',
46
+ inputCostPerMillion: 3.0,
47
+ outputCostPerMillion: 15.0,
48
+ cacheWriteCostPerMillion: 3.75,
49
+ cacheReadCostPerMillion: 0.3,
50
+ },
51
+ {
52
+ provider: 'anthropic',
53
+ model: 'claude-3-5-sonnet-20241022',
54
+ inputCostPerMillion: 3.0,
55
+ outputCostPerMillion: 15.0,
56
+ cacheWriteCostPerMillion: 3.75,
57
+ cacheReadCostPerMillion: 0.3,
58
+ },
59
+ {
60
+ provider: 'anthropic',
61
+ model: 'claude-3-5-haiku-20241022',
62
+ inputCostPerMillion: 1.0,
63
+ outputCostPerMillion: 5.0,
64
+ cacheWriteCostPerMillion: 1.25,
65
+ cacheReadCostPerMillion: 0.1,
66
+ },
67
+ {
68
+ provider: 'anthropic',
69
+ model: 'claude-3-opus-20240229',
70
+ inputCostPerMillion: 15.0,
71
+ outputCostPerMillion: 75.0,
72
+ cacheWriteCostPerMillion: 18.75,
73
+ cacheReadCostPerMillion: 1.5,
74
+ },
75
+ // OpenRouter Models (99% cost savings)
76
+ {
77
+ provider: 'openrouter',
78
+ model: 'meta-llama/llama-3.1-8b-instruct',
79
+ inputCostPerMillion: 0.03, // 99% cheaper than Claude
80
+ outputCostPerMillion: 0.15,
81
+ },
82
+ {
83
+ provider: 'openrouter',
84
+ model: 'meta-llama/llama-3.1-70b-instruct',
85
+ inputCostPerMillion: 0.18,
86
+ outputCostPerMillion: 0.90,
87
+ },
88
+ {
89
+ provider: 'openrouter',
90
+ model: 'openai/gpt-3.5-turbo',
91
+ inputCostPerMillion: 0.5,
92
+ outputCostPerMillion: 1.5,
93
+ },
94
+ {
95
+ provider: 'openrouter',
96
+ model: 'openai/gpt-4',
97
+ inputCostPerMillion: 5.0,
98
+ outputCostPerMillion: 15.0,
99
+ },
100
+ {
101
+ provider: 'openrouter',
102
+ model: 'google/gemini-pro',
103
+ inputCostPerMillion: 0.25,
104
+ outputCostPerMillion: 0.5,
105
+ },
106
+ // OpenAI Models
107
+ {
108
+ provider: 'openai',
109
+ model: 'gpt-4-turbo',
110
+ inputCostPerMillion: 10.0,
111
+ outputCostPerMillion: 30.0,
112
+ },
113
+ {
114
+ provider: 'openai',
115
+ model: 'gpt-4',
116
+ inputCostPerMillion: 30.0,
117
+ outputCostPerMillion: 60.0,
118
+ },
119
+ {
120
+ provider: 'openai',
121
+ model: 'gpt-3.5-turbo',
122
+ inputCostPerMillion: 0.5,
123
+ outputCostPerMillion: 1.5,
124
+ },
125
+ {
126
+ provider: 'openai',
127
+ model: 'gpt-3.5-turbo-16k',
128
+ inputCostPerMillion: 3.0,
129
+ outputCostPerMillion: 4.0,
130
+ },
131
+ // ONNX (local, free)
132
+ {
133
+ provider: 'onnx',
134
+ model: 'Xenova/gpt2',
135
+ inputCostPerMillion: 0,
136
+ outputCostPerMillion: 0,
137
+ },
138
+ {
139
+ provider: 'onnx',
140
+ model: 'Xenova/distilbert-base-uncased',
141
+ inputCostPerMillion: 0,
142
+ outputCostPerMillion: 0,
143
+ },
144
+ {
145
+ provider: 'onnx',
146
+ model: 'Xenova/bert-base-uncased',
147
+ inputCostPerMillion: 0,
148
+ outputCostPerMillion: 0,
149
+ },
150
+ ],
151
+ };
152
+ /**
153
+ * Get pricing for a specific provider and model
154
+ *
155
+ * @param provider - Provider name
156
+ * @param model - Model identifier
157
+ * @returns Pricing configuration or null if not found
158
+ */
159
+ function getPricing(provider, model) {
160
+ return exports.PRICING_CONFIG.providers.find(p => p.provider === provider && p.model === model) || null;
161
+ }
162
+ /**
163
+ * Get all pricing for a provider
164
+ *
165
+ * @param provider - Provider name
166
+ * @returns Array of pricing configurations
167
+ */
168
+ function getProviderPricing(provider) {
169
+ return exports.PRICING_CONFIG.providers.filter(p => p.provider === provider);
170
+ }
171
+ /**
172
+ * Calculate cost savings percentage comparing two models
173
+ *
174
+ * @param baseModel - Base model for comparison (e.g., Claude)
175
+ * @param compareModel - Model to compare against
176
+ * @param tokenCount - Number of tokens to calculate savings for
177
+ * @returns Savings percentage (0-1)
178
+ */
179
+ function calculateSavingsPercentage(baseModel, compareModel, tokenCount) {
180
+ const basePricing = getPricing(baseModel.provider, baseModel.model);
181
+ const comparePricing = getPricing(compareModel.provider, compareModel.model);
182
+ if (!basePricing || !comparePricing) {
183
+ return null;
184
+ }
185
+ const baseCost = (tokenCount.input / 1000000) * basePricing.inputCostPerMillion +
186
+ (tokenCount.output / 1000000) * basePricing.outputCostPerMillion;
187
+ const compareCost = (tokenCount.input / 1000000) * comparePricing.inputCostPerMillion +
188
+ (tokenCount.output / 1000000) * comparePricing.outputCostPerMillion;
189
+ if (baseCost === 0)
190
+ return 0;
191
+ return (baseCost - compareCost) / baseCost;
192
+ }
193
+ /**
194
+ * Export pricing configuration as JSON for memory storage
195
+ */
196
+ function exportPricingConfig() {
197
+ return JSON.stringify(exports.PRICING_CONFIG, null, 2);
198
+ }
199
+ /**
200
+ * Memory namespace for pricing configuration
201
+ */
202
+ exports.PRICING_MEMORY_NAMESPACE = 'aqe/phase2/instrumentation/token-metrics';
203
+ /**
204
+ * Memory key for pricing data
205
+ */
206
+ exports.PRICING_MEMORY_KEY = 'pricing';
207
+ //# sourceMappingURL=pricing-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing-config.js","sourceRoot":"","sources":["../../../../src/telemetry/metrics/collectors/pricing-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Metrics Index for Agentic QE Fleet Telemetry
3
+ *
4
+ * Exports all metric definitions and recording functions.
5
+ */
6
+ export { AgentMetrics, createAgentMetrics, getAgentMetrics, recordAgentTask, recordAgentCount, createModelRoutingMetrics, createLearningMetrics, ModelRoutingRecord, } from './agent-metrics';
7
+ export { QualityMetrics, createQualityMetrics, getQualityMetrics, recordTestExecution, recordCoverage, recordQualityGate, recordSecurityScan, recordFlakyTest, recordDefectDensity, createApiContractMetrics, TestExecutionResult, CoverageReport, QualityGateResult, SecurityScanResult, } from './quality-metrics';
8
+ export { SystemMetrics, createSystemMetrics, getSystemMetrics, recordDatabaseQuery, recordDatabaseConnection, recordQueueOperation, recordEventBusOperation, recordNetworkRequest, recordFileSystemOperation, recordEventLoopLag, createMemoryDetailMetrics, createFleetCoordinationMetrics, } from './system-metrics';
9
+ export { CostTracker, getCostTracker, withTokenTracking, TokenUsage, CostBreakdown, TokenMetrics, ProviderPricing, PRICING_TABLE, } from './collectors/cost';
10
+ export { getPricing, getProviderPricing, calculateSavingsPercentage, exportPricingConfig, PRICING_CONFIG, PRICING_MEMORY_NAMESPACE, PRICING_MEMORY_KEY, } from './collectors/pricing-config';
11
+ export { METRIC_NAMES, HISTOGRAM_BOUNDARIES, MetricRecordOptions } from '../types';
12
+ /**
13
+ * Initialize all metrics including cost tracking
14
+ *
15
+ * @returns Object containing all metric registries
16
+ */
17
+ export declare function initializeAllMetrics(): {
18
+ agent: any;
19
+ quality: any;
20
+ system: any;
21
+ cost: any;
22
+ };
23
+ /**
24
+ * Convenience function to record a complete agent task with all metrics
25
+ */
26
+ export interface CompleteTaskRecord {
27
+ agentType: string;
28
+ agentId?: string;
29
+ taskType: string;
30
+ taskId?: string;
31
+ priority?: string;
32
+ durationMs: number;
33
+ success: boolean;
34
+ tokensUsed?: number;
35
+ cost?: number;
36
+ testResults?: {
37
+ total: number;
38
+ passed: number;
39
+ failed: number;
40
+ skipped: number;
41
+ };
42
+ coverage?: {
43
+ line: number;
44
+ branch: number;
45
+ function: number;
46
+ };
47
+ }
48
+ /**
49
+ * Record a complete agent task with all relevant metrics
50
+ *
51
+ * @param record - Complete task record
52
+ */
53
+ export declare function recordCompleteTask(record: CompleteTaskRecord): void;
54
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/telemetry/metrics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEnF;;;;GAIG;AACH,wBAAgB,oBAAoB;;;;;EAYnC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAEjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IAGjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,WAAW,CAAC,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAmCnE"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Metrics Index for Agentic QE Fleet Telemetry
4
+ *
5
+ * Exports all metric definitions and recording functions.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.HISTOGRAM_BOUNDARIES = exports.METRIC_NAMES = exports.PRICING_MEMORY_KEY = exports.PRICING_MEMORY_NAMESPACE = exports.PRICING_CONFIG = exports.exportPricingConfig = exports.calculateSavingsPercentage = exports.getProviderPricing = exports.getPricing = exports.PRICING_TABLE = exports.withTokenTracking = exports.getCostTracker = exports.CostTracker = exports.createFleetCoordinationMetrics = exports.createMemoryDetailMetrics = exports.recordEventLoopLag = exports.recordFileSystemOperation = exports.recordNetworkRequest = exports.recordEventBusOperation = exports.recordQueueOperation = exports.recordDatabaseConnection = exports.recordDatabaseQuery = exports.getSystemMetrics = exports.createSystemMetrics = exports.createApiContractMetrics = exports.recordDefectDensity = exports.recordFlakyTest = exports.recordSecurityScan = exports.recordQualityGate = exports.recordCoverage = exports.recordTestExecution = exports.getQualityMetrics = exports.createQualityMetrics = exports.createLearningMetrics = exports.createModelRoutingMetrics = exports.recordAgentCount = exports.recordAgentTask = exports.getAgentMetrics = exports.createAgentMetrics = void 0;
9
+ exports.initializeAllMetrics = initializeAllMetrics;
10
+ exports.recordCompleteTask = recordCompleteTask;
11
+ // Agent metrics
12
+ var agent_metrics_1 = require("./agent-metrics");
13
+ Object.defineProperty(exports, "createAgentMetrics", { enumerable: true, get: function () { return agent_metrics_1.createAgentMetrics; } });
14
+ Object.defineProperty(exports, "getAgentMetrics", { enumerable: true, get: function () { return agent_metrics_1.getAgentMetrics; } });
15
+ Object.defineProperty(exports, "recordAgentTask", { enumerable: true, get: function () { return agent_metrics_1.recordAgentTask; } });
16
+ Object.defineProperty(exports, "recordAgentCount", { enumerable: true, get: function () { return agent_metrics_1.recordAgentCount; } });
17
+ Object.defineProperty(exports, "createModelRoutingMetrics", { enumerable: true, get: function () { return agent_metrics_1.createModelRoutingMetrics; } });
18
+ Object.defineProperty(exports, "createLearningMetrics", { enumerable: true, get: function () { return agent_metrics_1.createLearningMetrics; } });
19
+ // Quality metrics
20
+ var quality_metrics_1 = require("./quality-metrics");
21
+ Object.defineProperty(exports, "createQualityMetrics", { enumerable: true, get: function () { return quality_metrics_1.createQualityMetrics; } });
22
+ Object.defineProperty(exports, "getQualityMetrics", { enumerable: true, get: function () { return quality_metrics_1.getQualityMetrics; } });
23
+ Object.defineProperty(exports, "recordTestExecution", { enumerable: true, get: function () { return quality_metrics_1.recordTestExecution; } });
24
+ Object.defineProperty(exports, "recordCoverage", { enumerable: true, get: function () { return quality_metrics_1.recordCoverage; } });
25
+ Object.defineProperty(exports, "recordQualityGate", { enumerable: true, get: function () { return quality_metrics_1.recordQualityGate; } });
26
+ Object.defineProperty(exports, "recordSecurityScan", { enumerable: true, get: function () { return quality_metrics_1.recordSecurityScan; } });
27
+ Object.defineProperty(exports, "recordFlakyTest", { enumerable: true, get: function () { return quality_metrics_1.recordFlakyTest; } });
28
+ Object.defineProperty(exports, "recordDefectDensity", { enumerable: true, get: function () { return quality_metrics_1.recordDefectDensity; } });
29
+ Object.defineProperty(exports, "createApiContractMetrics", { enumerable: true, get: function () { return quality_metrics_1.createApiContractMetrics; } });
30
+ // System metrics
31
+ var system_metrics_1 = require("./system-metrics");
32
+ Object.defineProperty(exports, "createSystemMetrics", { enumerable: true, get: function () { return system_metrics_1.createSystemMetrics; } });
33
+ Object.defineProperty(exports, "getSystemMetrics", { enumerable: true, get: function () { return system_metrics_1.getSystemMetrics; } });
34
+ Object.defineProperty(exports, "recordDatabaseQuery", { enumerable: true, get: function () { return system_metrics_1.recordDatabaseQuery; } });
35
+ Object.defineProperty(exports, "recordDatabaseConnection", { enumerable: true, get: function () { return system_metrics_1.recordDatabaseConnection; } });
36
+ Object.defineProperty(exports, "recordQueueOperation", { enumerable: true, get: function () { return system_metrics_1.recordQueueOperation; } });
37
+ Object.defineProperty(exports, "recordEventBusOperation", { enumerable: true, get: function () { return system_metrics_1.recordEventBusOperation; } });
38
+ Object.defineProperty(exports, "recordNetworkRequest", { enumerable: true, get: function () { return system_metrics_1.recordNetworkRequest; } });
39
+ Object.defineProperty(exports, "recordFileSystemOperation", { enumerable: true, get: function () { return system_metrics_1.recordFileSystemOperation; } });
40
+ Object.defineProperty(exports, "recordEventLoopLag", { enumerable: true, get: function () { return system_metrics_1.recordEventLoopLag; } });
41
+ Object.defineProperty(exports, "createMemoryDetailMetrics", { enumerable: true, get: function () { return system_metrics_1.createMemoryDetailMetrics; } });
42
+ Object.defineProperty(exports, "createFleetCoordinationMetrics", { enumerable: true, get: function () { return system_metrics_1.createFleetCoordinationMetrics; } });
43
+ // Cost tracking (Phase 2 - A5)
44
+ var cost_1 = require("./collectors/cost");
45
+ Object.defineProperty(exports, "CostTracker", { enumerable: true, get: function () { return cost_1.CostTracker; } });
46
+ Object.defineProperty(exports, "getCostTracker", { enumerable: true, get: function () { return cost_1.getCostTracker; } });
47
+ Object.defineProperty(exports, "withTokenTracking", { enumerable: true, get: function () { return cost_1.withTokenTracking; } });
48
+ Object.defineProperty(exports, "PRICING_TABLE", { enumerable: true, get: function () { return cost_1.PRICING_TABLE; } });
49
+ var pricing_config_1 = require("./collectors/pricing-config");
50
+ Object.defineProperty(exports, "getPricing", { enumerable: true, get: function () { return pricing_config_1.getPricing; } });
51
+ Object.defineProperty(exports, "getProviderPricing", { enumerable: true, get: function () { return pricing_config_1.getProviderPricing; } });
52
+ Object.defineProperty(exports, "calculateSavingsPercentage", { enumerable: true, get: function () { return pricing_config_1.calculateSavingsPercentage; } });
53
+ Object.defineProperty(exports, "exportPricingConfig", { enumerable: true, get: function () { return pricing_config_1.exportPricingConfig; } });
54
+ Object.defineProperty(exports, "PRICING_CONFIG", { enumerable: true, get: function () { return pricing_config_1.PRICING_CONFIG; } });
55
+ Object.defineProperty(exports, "PRICING_MEMORY_NAMESPACE", { enumerable: true, get: function () { return pricing_config_1.PRICING_MEMORY_NAMESPACE; } });
56
+ Object.defineProperty(exports, "PRICING_MEMORY_KEY", { enumerable: true, get: function () { return pricing_config_1.PRICING_MEMORY_KEY; } });
57
+ // Re-export types and constants
58
+ var types_1 = require("../types");
59
+ Object.defineProperty(exports, "METRIC_NAMES", { enumerable: true, get: function () { return types_1.METRIC_NAMES; } });
60
+ Object.defineProperty(exports, "HISTOGRAM_BOUNDARIES", { enumerable: true, get: function () { return types_1.HISTOGRAM_BOUNDARIES; } });
61
+ /**
62
+ * Initialize all metrics including cost tracking
63
+ *
64
+ * @returns Object containing all metric registries
65
+ */
66
+ function initializeAllMetrics() {
67
+ const { createAgentMetrics } = require('./agent-metrics');
68
+ const { createQualityMetrics } = require('./quality-metrics');
69
+ const { createSystemMetrics } = require('./system-metrics');
70
+ const { getCostTracker } = require('./collectors/cost');
71
+ return {
72
+ agent: createAgentMetrics(),
73
+ quality: createQualityMetrics(),
74
+ system: createSystemMetrics(),
75
+ cost: getCostTracker(),
76
+ };
77
+ }
78
+ /**
79
+ * Record a complete agent task with all relevant metrics
80
+ *
81
+ * @param record - Complete task record
82
+ */
83
+ function recordCompleteTask(record) {
84
+ const { recordAgentTask } = require('./agent-metrics');
85
+ const { recordTestExecution, recordCoverage } = require('./quality-metrics');
86
+ // Record agent task
87
+ recordAgentTask(record.agentType, record.taskType, record.durationMs, record.success, {
88
+ agentId: record.agentId,
89
+ taskId: record.taskId,
90
+ priority: record.priority,
91
+ tokensUsed: record.tokensUsed,
92
+ cost: record.cost,
93
+ });
94
+ // Record test results if provided
95
+ if (record.testResults) {
96
+ recordTestExecution({
97
+ framework: 'jest', // Default, should be configurable
98
+ suite: record.taskId || 'unknown',
99
+ total: record.testResults.total,
100
+ passed: record.testResults.passed,
101
+ failed: record.testResults.failed,
102
+ skipped: record.testResults.skipped,
103
+ durationMs: record.durationMs,
104
+ });
105
+ }
106
+ // Record coverage if provided
107
+ if (record.coverage) {
108
+ recordCoverage({
109
+ target: record.taskId || 'unknown',
110
+ line: record.coverage.line,
111
+ branch: record.coverage.branch,
112
+ function: record.coverage.function,
113
+ });
114
+ }
115
+ }
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/telemetry/metrics/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Quality Engineering Metrics for Agentic QE Fleet
3
+ *
4
+ * Metrics for tracking test quality, coverage, defects, and quality gates.
5
+ */
6
+ import { Meter, Counter, Histogram, UpDownCounter, Attributes } from '@opentelemetry/api';
7
+ /**
8
+ * Quality metrics registry
9
+ */
10
+ export interface QualityMetrics {
11
+ /** Total number of tests executed */
12
+ testCount: Counter;
13
+ /** Number of passed tests */
14
+ testPassCount: Counter;
15
+ /** Number of failed tests */
16
+ testFailCount: Counter;
17
+ /** Number of skipped tests */
18
+ testSkipCount: Counter;
19
+ /** Test execution duration */
20
+ testDuration: Histogram;
21
+ /** Line coverage percentage */
22
+ coverageLine: Histogram;
23
+ /** Branch coverage percentage */
24
+ coverageBranch: Histogram;
25
+ /** Function coverage percentage */
26
+ coverageFunction: Histogram;
27
+ /** Statement coverage percentage */
28
+ coverageStatement: Histogram;
29
+ /** Number of flaky tests detected */
30
+ flakyTestCount: UpDownCounter;
31
+ /** Defect density per KLOC */
32
+ defectDensity: Histogram;
33
+ /** Number of quality gate evaluations */
34
+ qualityGateCount: Counter;
35
+ /** Security vulnerabilities found */
36
+ securityVulnerabilityCount: Counter;
37
+ }
38
+ /**
39
+ * Initialize quality metrics
40
+ *
41
+ * @param meter - OpenTelemetry Meter instance
42
+ * @returns Quality metrics registry
43
+ */
44
+ export declare function createQualityMetrics(meter?: Meter): QualityMetrics;
45
+ /**
46
+ * Get initialized quality metrics
47
+ *
48
+ * @returns Quality metrics registry
49
+ */
50
+ export declare function getQualityMetrics(): QualityMetrics;
51
+ /**
52
+ * Test execution result for recording
53
+ */
54
+ export interface TestExecutionResult {
55
+ /** Test framework (jest, mocha, pytest) */
56
+ framework: string;
57
+ /** Test suite name */
58
+ suite: string;
59
+ /** Total tests in this execution */
60
+ total: number;
61
+ /** Number of passed tests */
62
+ passed: number;
63
+ /** Number of failed tests */
64
+ failed: number;
65
+ /** Number of skipped tests */
66
+ skipped: number;
67
+ /** Total duration in milliseconds */
68
+ durationMs: number;
69
+ /** Test type (unit, integration, e2e) */
70
+ testType?: string;
71
+ }
72
+ /**
73
+ * Record test execution results
74
+ *
75
+ * @param result - Test execution result
76
+ */
77
+ export declare function recordTestExecution(result: TestExecutionResult): void;
78
+ /**
79
+ * Coverage report for recording
80
+ */
81
+ export interface CoverageReport {
82
+ /** Source file or module */
83
+ target: string;
84
+ /** Line coverage percentage (0-100) */
85
+ line: number;
86
+ /** Branch coverage percentage (0-100) */
87
+ branch: number;
88
+ /** Function coverage percentage (0-100) */
89
+ function: number;
90
+ /** Statement coverage percentage (0-100) */
91
+ statement?: number;
92
+ /** Coverage tool used */
93
+ tool?: string;
94
+ }
95
+ /**
96
+ * Record coverage metrics
97
+ *
98
+ * @param report - Coverage report
99
+ */
100
+ export declare function recordCoverage(report: CoverageReport): void;
101
+ /**
102
+ * Quality gate evaluation result
103
+ */
104
+ export interface QualityGateResult {
105
+ /** Gate name */
106
+ gateName: string;
107
+ /** Whether the gate passed */
108
+ passed: boolean;
109
+ /** Threshold value */
110
+ threshold: number;
111
+ /** Actual value */
112
+ actual: number;
113
+ /** Metric type (coverage, test_pass_rate, etc.) */
114
+ metricType: string;
115
+ /** Severity if failed (warning, error, critical) */
116
+ severity?: string;
117
+ }
118
+ /**
119
+ * Record quality gate evaluation
120
+ *
121
+ * @param result - Quality gate result
122
+ */
123
+ export declare function recordQualityGate(result: QualityGateResult): void;
124
+ /**
125
+ * Security scan result for recording
126
+ */
127
+ export interface SecurityScanResult {
128
+ /** Target scanned (file, package, etc.) */
129
+ target: string;
130
+ /** Scanner tool used */
131
+ scanner: string;
132
+ /** Vulnerabilities by severity */
133
+ vulnerabilities: {
134
+ critical: number;
135
+ high: number;
136
+ medium: number;
137
+ low: number;
138
+ info: number;
139
+ };
140
+ }
141
+ /**
142
+ * Record security scan results
143
+ *
144
+ * @param result - Security scan result
145
+ */
146
+ export declare function recordSecurityScan(result: SecurityScanResult): void;
147
+ /**
148
+ * Record flaky test detection
149
+ *
150
+ * @param testName - Name of the flaky test
151
+ * @param flakinessScore - Flakiness score (0-1)
152
+ * @param isResolved - Whether the flaky test was resolved
153
+ */
154
+ export declare function recordFlakyTest(testName: string, flakinessScore: number, isResolved?: boolean): void;
155
+ /**
156
+ * Record defect density
157
+ *
158
+ * @param module - Module or file name
159
+ * @param defectCount - Number of defects
160
+ * @param linesOfCode - Total lines of code
161
+ */
162
+ export declare function recordDefectDensity(module: string, defectCount: number, linesOfCode: number): void;
163
+ /**
164
+ * API contract validation metrics
165
+ */
166
+ export declare function createApiContractMetrics(meter?: Meter): {
167
+ contractValidationCount: Counter<Attributes>;
168
+ contractViolationCount: Counter<Attributes>;
169
+ schemaValidationDuration: Histogram<Attributes>;
170
+ };
171
+ //# sourceMappingURL=quality-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-metrics.d.ts","sourceRoot":"","sources":["../../../src/telemetry/metrics/quality-metrics.ts"],"names":[],"mappings":"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"}