agentic-qe 1.8.3 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
- package/CHANGELOG.md +595 -0
- package/README.md +117 -16
- package/config/constitution.schema.json +423 -0
- package/config/otel-collector.yaml +234 -0
- package/dist/App.d.ts +5 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +15 -0
- package/dist/App.js.map +1 -0
- package/dist/cli/commands/constitution.d.ts +34 -0
- package/dist/cli/commands/constitution.d.ts.map +1 -0
- package/dist/cli/commands/constitution.js +679 -0
- package/dist/cli/commands/constitution.js.map +1 -0
- package/dist/cli/commands/init-claude-md-template.js +3 -3
- package/dist/cli/commands/init.d.ts +8 -75
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +22 -2292
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/telemetry.d.ts +36 -0
- package/dist/cli/commands/telemetry.d.ts.map +1 -0
- package/dist/cli/commands/telemetry.js +364 -0
- package/dist/cli/commands/telemetry.js.map +1 -0
- package/dist/cli/index.js +66 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/agents.d.ts +22 -0
- package/dist/cli/init/agents.d.ts.map +1 -0
- package/dist/cli/init/agents.js +522 -0
- package/dist/cli/init/agents.js.map +1 -0
- package/dist/cli/init/bash-wrapper.d.ts +14 -0
- package/dist/cli/init/bash-wrapper.d.ts.map +1 -0
- package/dist/cli/init/bash-wrapper.js +47 -0
- package/dist/cli/init/bash-wrapper.js.map +1 -0
- package/dist/cli/init/claude-config.d.ts +24 -0
- package/dist/cli/init/claude-config.d.ts.map +1 -0
- package/dist/cli/init/claude-config.js +275 -0
- package/dist/cli/init/claude-config.js.map +1 -0
- package/dist/cli/init/claude-md.d.ts +19 -0
- package/dist/cli/init/claude-md.d.ts.map +1 -0
- package/dist/cli/init/claude-md.js +153 -0
- package/dist/cli/init/claude-md.js.map +1 -0
- package/dist/cli/init/commands.d.ts +6 -0
- package/dist/cli/init/commands.d.ts.map +1 -0
- package/dist/cli/init/commands.js +83 -0
- package/dist/cli/init/commands.js.map +1 -0
- package/dist/cli/init/database-init.d.ts +15 -0
- package/dist/cli/init/database-init.d.ts.map +1 -0
- package/dist/cli/init/database-init.js +203 -0
- package/dist/cli/init/database-init.js.map +1 -0
- package/dist/cli/init/directory-structure.d.ts +14 -0
- package/dist/cli/init/directory-structure.d.ts.map +1 -0
- package/dist/cli/init/directory-structure.js +107 -0
- package/dist/cli/init/directory-structure.js.map +1 -0
- package/dist/cli/init/documentation.d.ts +14 -0
- package/dist/cli/init/documentation.d.ts.map +1 -0
- package/dist/cli/init/documentation.js +195 -0
- package/dist/cli/init/documentation.js.map +1 -0
- package/dist/cli/init/fleet-config.d.ts +34 -0
- package/dist/cli/init/fleet-config.d.ts.map +1 -0
- package/dist/cli/init/fleet-config.js +269 -0
- package/dist/cli/init/fleet-config.js.map +1 -0
- package/dist/cli/init/helpers.d.ts +6 -0
- package/dist/cli/init/helpers.d.ts.map +1 -0
- package/dist/cli/init/helpers.js +94 -0
- package/dist/cli/init/helpers.js.map +1 -0
- package/dist/cli/init/index.d.ts +32 -0
- package/dist/cli/init/index.d.ts.map +1 -0
- package/dist/cli/init/index.js +294 -0
- package/dist/cli/init/index.js.map +1 -0
- package/dist/cli/init/skills.d.ts +6 -0
- package/dist/cli/init/skills.d.ts.map +1 -0
- package/dist/cli/init/skills.js +138 -0
- package/dist/cli/init/skills.js.map +1 -0
- package/dist/cli/init/utils/file-utils.d.ts +74 -0
- package/dist/cli/init/utils/file-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/file-utils.js +187 -0
- package/dist/cli/init/utils/file-utils.js.map +1 -0
- package/dist/cli/init/utils/index.d.ts +18 -0
- package/dist/cli/init/utils/index.d.ts.map +1 -0
- package/dist/cli/init/utils/index.js +48 -0
- package/dist/cli/init/utils/index.js.map +1 -0
- package/dist/cli/init/utils/log-utils.d.ts +47 -0
- package/dist/cli/init/utils/log-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/log-utils.js +68 -0
- package/dist/cli/init/utils/log-utils.js.map +1 -0
- package/dist/cli/init/utils/path-utils.d.ts +91 -0
- package/dist/cli/init/utils/path-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/path-utils.js +208 -0
- package/dist/cli/init/utils/path-utils.js.map +1 -0
- package/dist/cli/init/utils/validation-utils.d.ts +44 -0
- package/dist/cli/init/utils/validation-utils.d.ts.map +1 -0
- package/dist/cli/init/utils/validation-utils.js +68 -0
- package/dist/cli/init/utils/validation-utils.js.map +1 -0
- package/dist/cli/init/utils.d.ts +183 -0
- package/dist/cli/init/utils.d.ts.map +1 -0
- package/dist/cli/init/utils.js +354 -0
- package/dist/cli/init/utils.js.map +1 -0
- package/dist/components/Dashboard/Dashboard.d.ts +4 -0
- package/dist/components/Dashboard/Dashboard.d.ts.map +1 -0
- package/dist/components/Dashboard/Dashboard.js +148 -0
- package/dist/components/Dashboard/Dashboard.js.map +1 -0
- package/dist/components/Dashboard/DashboardHeader.d.ts +4 -0
- package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
- package/dist/components/Dashboard/DashboardHeader.js +138 -0
- package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
- package/dist/constitution/evaluators/ast-evaluator.d.ts +42 -0
- package/dist/constitution/evaluators/ast-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/ast-evaluator.js +303 -0
- package/dist/constitution/evaluators/ast-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/base.d.ts +144 -0
- package/dist/constitution/evaluators/base.d.ts.map +1 -0
- package/dist/constitution/evaluators/base.js +144 -0
- package/dist/constitution/evaluators/base.js.map +1 -0
- package/dist/constitution/evaluators/index.d.ts +19 -0
- package/dist/constitution/evaluators/index.d.ts.map +1 -0
- package/dist/constitution/evaluators/index.js +56 -0
- package/dist/constitution/evaluators/index.js.map +1 -0
- package/dist/constitution/evaluators/metric-evaluator.d.ts +59 -0
- package/dist/constitution/evaluators/metric-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/metric-evaluator.js +195 -0
- package/dist/constitution/evaluators/metric-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/pattern-evaluator.d.ts +66 -0
- package/dist/constitution/evaluators/pattern-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/pattern-evaluator.js +221 -0
- package/dist/constitution/evaluators/pattern-evaluator.js.map +1 -0
- package/dist/constitution/evaluators/semantic-evaluator.d.ts +68 -0
- package/dist/constitution/evaluators/semantic-evaluator.d.ts.map +1 -0
- package/dist/constitution/evaluators/semantic-evaluator.js +250 -0
- package/dist/constitution/evaluators/semantic-evaluator.js.map +1 -0
- package/dist/constitution/index.d.ts +105 -0
- package/dist/constitution/index.d.ts.map +1 -0
- package/dist/constitution/index.js +207 -0
- package/dist/constitution/index.js.map +1 -0
- package/dist/constitution/loader.d.ts +141 -0
- package/dist/constitution/loader.d.ts.map +1 -0
- package/dist/constitution/loader.js +515 -0
- package/dist/constitution/loader.js.map +1 -0
- package/dist/constitution/schema.d.ts +409 -0
- package/dist/constitution/schema.d.ts.map +1 -0
- package/dist/constitution/schema.js +71 -0
- package/dist/constitution/schema.js.map +1 -0
- package/dist/contexts/DashboardContext.d.ts +41 -0
- package/dist/contexts/DashboardContext.d.ts.map +1 -0
- package/dist/contexts/DashboardContext.js +187 -0
- package/dist/contexts/DashboardContext.js.map +1 -0
- package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
- package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
- package/dist/core/memory/MemoryManagerFactory.js +270 -0
- package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +375 -131
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts +1 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +12 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.js +69 -0
- package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/mcp/handlers/memory/memory-backup.js +6 -6
- package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
- package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +4 -38
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +4 -4
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/persistence/event-store.d.ts +162 -0
- package/dist/persistence/event-store.d.ts.map +1 -0
- package/dist/persistence/event-store.js +315 -0
- package/dist/persistence/event-store.js.map +1 -0
- package/dist/persistence/index.d.ts +145 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +227 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/metrics-aggregator.d.ts +187 -0
- package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
- package/dist/persistence/metrics-aggregator.js +495 -0
- package/dist/persistence/metrics-aggregator.js.map +1 -0
- package/dist/persistence/reasoning-store.d.ts +178 -0
- package/dist/persistence/reasoning-store.d.ts.map +1 -0
- package/dist/persistence/reasoning-store.js +440 -0
- package/dist/persistence/reasoning-store.js.map +1 -0
- package/dist/persistence/schema.d.ts +181 -0
- package/dist/persistence/schema.d.ts.map +1 -0
- package/dist/persistence/schema.js +186 -0
- package/dist/persistence/schema.js.map +1 -0
- package/dist/telemetry/bootstrap.d.ts +67 -0
- package/dist/telemetry/bootstrap.d.ts.map +1 -0
- package/dist/telemetry/bootstrap.js +320 -0
- package/dist/telemetry/bootstrap.js.map +1 -0
- package/dist/telemetry/index.d.ts +16 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +84 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/instrumentation/agent.d.ts +158 -0
- package/dist/telemetry/instrumentation/agent.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/agent.js +372 -0
- package/dist/telemetry/instrumentation/agent.js.map +1 -0
- package/dist/telemetry/instrumentation/index.d.ts +24 -0
- package/dist/telemetry/instrumentation/index.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/index.js +54 -0
- package/dist/telemetry/instrumentation/index.js.map +1 -0
- package/dist/telemetry/instrumentation/memory.d.ts +313 -0
- package/dist/telemetry/instrumentation/memory.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/memory.js +552 -0
- package/dist/telemetry/instrumentation/memory.js.map +1 -0
- package/dist/telemetry/instrumentation/task.d.ts +146 -0
- package/dist/telemetry/instrumentation/task.d.ts.map +1 -0
- package/dist/telemetry/instrumentation/task.js +305 -0
- package/dist/telemetry/instrumentation/task.js.map +1 -0
- package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
- package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/agent-metrics.js +213 -0
- package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
- package/dist/telemetry/metrics/collectors/cost.d.ts +246 -0
- package/dist/telemetry/metrics/collectors/cost.d.ts.map +1 -0
- package/dist/telemetry/metrics/collectors/cost.js +526 -0
- package/dist/telemetry/metrics/collectors/cost.js.map +1 -0
- package/dist/telemetry/metrics/collectors/pricing-config.d.ts +87 -0
- package/dist/telemetry/metrics/collectors/pricing-config.d.ts.map +1 -0
- package/dist/telemetry/metrics/collectors/pricing-config.js +207 -0
- package/dist/telemetry/metrics/collectors/pricing-config.js.map +1 -0
- package/dist/telemetry/metrics/index.d.ts +54 -0
- package/dist/telemetry/metrics/index.d.ts.map +1 -0
- package/dist/telemetry/metrics/index.js +116 -0
- package/dist/telemetry/metrics/index.js.map +1 -0
- package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
- package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/quality-metrics.js +259 -0
- package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
- package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
- package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
- package/dist/telemetry/metrics/system-metrics.js +380 -0
- package/dist/telemetry/metrics/system-metrics.js.map +1 -0
- package/dist/telemetry/types.d.ts +195 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +90 -0
- package/dist/telemetry/types.js.map +1 -0
- package/dist/visualization/api/RestEndpoints.d.ts +136 -0
- package/dist/visualization/api/RestEndpoints.d.ts.map +1 -0
- package/dist/visualization/api/RestEndpoints.js +428 -0
- package/dist/visualization/api/RestEndpoints.js.map +1 -0
- package/dist/visualization/api/WebSocketServer.d.ts +165 -0
- package/dist/visualization/api/WebSocketServer.d.ts.map +1 -0
- package/dist/visualization/api/WebSocketServer.js +518 -0
- package/dist/visualization/api/WebSocketServer.js.map +1 -0
- package/dist/visualization/core/DataTransformer.d.ts +89 -0
- package/dist/visualization/core/DataTransformer.d.ts.map +1 -0
- package/dist/visualization/core/DataTransformer.js +478 -0
- package/dist/visualization/core/DataTransformer.js.map +1 -0
- package/dist/visualization/index.d.ts +92 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +121 -0
- package/dist/visualization/index.js.map +1 -0
- package/dist/visualization/types.d.ts +148 -0
- package/dist/visualization/types.d.ts.map +1 -0
- package/dist/visualization/types.js +7 -0
- package/dist/visualization/types.js.map +1 -0
- package/dist/voting/consensus.d.ts +87 -0
- package/dist/voting/consensus.d.ts.map +1 -0
- package/dist/voting/consensus.js +568 -0
- package/dist/voting/consensus.js.map +1 -0
- package/dist/voting/index.d.ts +12 -0
- package/dist/voting/index.d.ts.map +1 -0
- package/dist/voting/index.js +36 -0
- package/dist/voting/index.js.map +1 -0
- package/dist/voting/orchestrator.d.ts +65 -0
- package/dist/voting/orchestrator.d.ts.map +1 -0
- package/dist/voting/orchestrator.js +306 -0
- package/dist/voting/orchestrator.js.map +1 -0
- package/dist/voting/panel-assembly.d.ts +54 -0
- package/dist/voting/panel-assembly.d.ts.map +1 -0
- package/dist/voting/panel-assembly.js +192 -0
- package/dist/voting/panel-assembly.js.map +1 -0
- package/dist/voting/protocol.d.ts +119 -0
- package/dist/voting/protocol.d.ts.map +1 -0
- package/dist/voting/protocol.js +18 -0
- package/dist/voting/protocol.js.map +1 -0
- package/dist/voting/types.d.ts +125 -0
- package/dist/voting/types.d.ts.map +1 -0
- package/dist/voting/types.js +7 -0
- package/dist/voting/types.js.map +1 -0
- package/package.json +43 -2
|
@@ -0,0 +1,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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"}
|