agentic-qe 1.8.4 → 1.9.1
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/CHANGELOG.md +394 -0
- package/README.md +86 -18
- 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.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/learn/index.d.ts.map +1 -1
- package/dist/cli/commands/learn/index.js +3 -4
- package/dist/cli/commands/learn/index.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 +91 -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/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/SwarmMemoryManager.d.ts +40 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +291 -120
- package/dist/core/memory/SwarmMemoryManager.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/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/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 +4 -1
- package/dist/telemetry/metrics/index.d.ts.map +1 -1
- package/dist/telemetry/metrics/index.js +18 -2
- package/dist/telemetry/metrics/index.js.map +1 -1
- package/dist/telemetry/types.d.ts +1 -1
- package/dist/telemetry/types.d.ts.map +1 -1
- 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 +27 -2
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token and Cost Tracking Collector (Phase 2 - Action A5)
|
|
3
|
+
*
|
|
4
|
+
* Implements middleware for tracking LLM token usage and costs across agents,
|
|
5
|
+
* tasks, and fleet operations. Supports multiple LLM providers with accurate
|
|
6
|
+
* cost calculations based on pricing tables.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Token counting for input/output from all LLM API responses
|
|
10
|
+
* - Per-agent cost tracking with attribution
|
|
11
|
+
* - Fleet-wide cost aggregation
|
|
12
|
+
* - Support for Anthropic, OpenRouter, ONNX (local), OpenAI
|
|
13
|
+
* - Prometheus-compatible metric export
|
|
14
|
+
* - Cache-aware cost calculation (write premium, read discount)
|
|
15
|
+
*
|
|
16
|
+
* @module telemetry/metrics/collectors/cost
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* LLM provider pricing configuration
|
|
20
|
+
*
|
|
21
|
+
* Prices are per million tokens (input/output).
|
|
22
|
+
* Updated: January 2025
|
|
23
|
+
*/
|
|
24
|
+
export interface ProviderPricing {
|
|
25
|
+
/** Provider name */
|
|
26
|
+
provider: 'anthropic' | 'openrouter' | 'openai' | 'onnx';
|
|
27
|
+
/** Model identifier */
|
|
28
|
+
model: string;
|
|
29
|
+
/** Input token cost per million */
|
|
30
|
+
inputCostPerMillion: number;
|
|
31
|
+
/** Output token cost per million */
|
|
32
|
+
outputCostPerMillion: number;
|
|
33
|
+
/** Cache write cost per million (if supported) */
|
|
34
|
+
cacheWriteCostPerMillion?: number;
|
|
35
|
+
/** Cache read cost per million (if supported) */
|
|
36
|
+
cacheReadCostPerMillion?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Pricing table for supported LLM providers
|
|
40
|
+
*
|
|
41
|
+
* Anthropic pricing (January 2025):
|
|
42
|
+
* - Claude Sonnet 4.5: $3.00 input / $15.00 output per 1M tokens
|
|
43
|
+
* - Cache write: 25% premium ($3.75/M)
|
|
44
|
+
* - Cache read: 90% discount ($0.30/M)
|
|
45
|
+
*
|
|
46
|
+
* OpenRouter: ~99% cost savings vs Anthropic
|
|
47
|
+
* ONNX: $0 (local inference)
|
|
48
|
+
*/
|
|
49
|
+
export declare const PRICING_TABLE: ProviderPricing[];
|
|
50
|
+
/**
|
|
51
|
+
* Token usage from LLM API response
|
|
52
|
+
*/
|
|
53
|
+
export interface TokenUsage {
|
|
54
|
+
/** Input tokens (prompt) */
|
|
55
|
+
inputTokens: number;
|
|
56
|
+
/** Output tokens (completion) */
|
|
57
|
+
outputTokens: number;
|
|
58
|
+
/** Cache creation tokens (Anthropic only) */
|
|
59
|
+
cacheCreationTokens?: number;
|
|
60
|
+
/** Cache read tokens (Anthropic only) */
|
|
61
|
+
cacheReadTokens?: number;
|
|
62
|
+
/** Total tokens */
|
|
63
|
+
totalTokens: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Cost breakdown for an LLM call
|
|
67
|
+
*/
|
|
68
|
+
export interface CostBreakdown {
|
|
69
|
+
/** Input cost in USD */
|
|
70
|
+
inputCost: number;
|
|
71
|
+
/** Output cost in USD */
|
|
72
|
+
outputCost: number;
|
|
73
|
+
/** Cache write cost in USD (if applicable) */
|
|
74
|
+
cacheWriteCost?: number;
|
|
75
|
+
/** Cache read cost in USD (if applicable) */
|
|
76
|
+
cacheReadCost?: number;
|
|
77
|
+
/** Total cost in USD */
|
|
78
|
+
totalCost: number;
|
|
79
|
+
/** Cost savings from caching in USD (if applicable) */
|
|
80
|
+
cacheSavings?: number;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Token and cost metrics for an agent or task
|
|
84
|
+
*/
|
|
85
|
+
export interface TokenMetrics {
|
|
86
|
+
/** Agent or task identifier */
|
|
87
|
+
id: string;
|
|
88
|
+
/** Type (agent or task) */
|
|
89
|
+
type: 'agent' | 'task' | 'fleet';
|
|
90
|
+
/** Token usage */
|
|
91
|
+
tokens: TokenUsage;
|
|
92
|
+
/** Cost breakdown */
|
|
93
|
+
cost: CostBreakdown;
|
|
94
|
+
/** Provider and model used */
|
|
95
|
+
provider: string;
|
|
96
|
+
model: string;
|
|
97
|
+
/** Timestamp */
|
|
98
|
+
timestamp: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* CostTracker
|
|
102
|
+
*
|
|
103
|
+
* Middleware for tracking LLM token usage and costs with OpenTelemetry metrics.
|
|
104
|
+
*
|
|
105
|
+
* Usage:
|
|
106
|
+
* 1. Wrap LLM calls with trackTokens()
|
|
107
|
+
* 2. Extract usage from API response
|
|
108
|
+
* 3. Metrics automatically exported to OTEL collector
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const costTracker = new CostTracker();
|
|
113
|
+
*
|
|
114
|
+
* // Track Anthropic call
|
|
115
|
+
* const response = await anthropic.messages.create({...});
|
|
116
|
+
* costTracker.trackTokens({
|
|
117
|
+
* agentId: 'test-gen-001',
|
|
118
|
+
* taskId: 'task-123',
|
|
119
|
+
* provider: 'anthropic',
|
|
120
|
+
* model: 'claude-sonnet-4',
|
|
121
|
+
* usage: {
|
|
122
|
+
* inputTokens: response.usage.input_tokens,
|
|
123
|
+
* outputTokens: response.usage.output_tokens,
|
|
124
|
+
* cacheCreationTokens: response.usage.cache_creation_input_tokens,
|
|
125
|
+
* cacheReadTokens: response.usage.cache_read_input_tokens,
|
|
126
|
+
* totalTokens: response.usage.input_tokens + response.usage.output_tokens,
|
|
127
|
+
* },
|
|
128
|
+
* });
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare class CostTracker {
|
|
132
|
+
private tokenCounter;
|
|
133
|
+
private costCounter;
|
|
134
|
+
private tokenHistogram;
|
|
135
|
+
private costHistogram;
|
|
136
|
+
private activeAgentsGauge;
|
|
137
|
+
private agentMetrics;
|
|
138
|
+
private taskMetrics;
|
|
139
|
+
private fleetMetrics;
|
|
140
|
+
constructor();
|
|
141
|
+
/**
|
|
142
|
+
* Track token usage and costs for an LLM call
|
|
143
|
+
*
|
|
144
|
+
* Extracts token counts from API response, calculates costs using pricing table,
|
|
145
|
+
* and records metrics to OpenTelemetry.
|
|
146
|
+
*
|
|
147
|
+
* @param params - Tracking parameters
|
|
148
|
+
*/
|
|
149
|
+
trackTokens(params: {
|
|
150
|
+
agentId: string;
|
|
151
|
+
taskId?: string;
|
|
152
|
+
provider: string;
|
|
153
|
+
model: string;
|
|
154
|
+
usage: TokenUsage;
|
|
155
|
+
attributes?: Record<string, string | number>;
|
|
156
|
+
}): void;
|
|
157
|
+
/**
|
|
158
|
+
* Get pricing configuration for a provider/model
|
|
159
|
+
*/
|
|
160
|
+
private getPricing;
|
|
161
|
+
/**
|
|
162
|
+
* Calculate cost breakdown from token usage
|
|
163
|
+
*/
|
|
164
|
+
private calculateCost;
|
|
165
|
+
/**
|
|
166
|
+
* Update agent-level metrics (accumulate)
|
|
167
|
+
*/
|
|
168
|
+
private updateAgentMetrics;
|
|
169
|
+
/**
|
|
170
|
+
* Update task-level metrics
|
|
171
|
+
*/
|
|
172
|
+
private updateTaskMetrics;
|
|
173
|
+
/**
|
|
174
|
+
* Update fleet-wide metrics
|
|
175
|
+
*/
|
|
176
|
+
private updateFleetMetrics;
|
|
177
|
+
/**
|
|
178
|
+
* Initialize empty fleet metrics
|
|
179
|
+
*/
|
|
180
|
+
private initializeFleetMetrics;
|
|
181
|
+
/**
|
|
182
|
+
* Record metrics to OpenTelemetry
|
|
183
|
+
*/
|
|
184
|
+
private recordMetrics;
|
|
185
|
+
/**
|
|
186
|
+
* Get metrics for a specific agent
|
|
187
|
+
*/
|
|
188
|
+
getAgentMetrics(agentId: string): TokenMetrics | null;
|
|
189
|
+
/**
|
|
190
|
+
* Get metrics for a specific task
|
|
191
|
+
*/
|
|
192
|
+
getTaskMetrics(taskId: string): TokenMetrics | null;
|
|
193
|
+
/**
|
|
194
|
+
* Get fleet-wide metrics
|
|
195
|
+
*/
|
|
196
|
+
getFleetMetrics(): TokenMetrics | null;
|
|
197
|
+
/**
|
|
198
|
+
* Get all agent metrics
|
|
199
|
+
*/
|
|
200
|
+
getAllAgentMetrics(): Map<string, TokenMetrics>;
|
|
201
|
+
/**
|
|
202
|
+
* Reset all metrics (for testing)
|
|
203
|
+
*/
|
|
204
|
+
reset(): void;
|
|
205
|
+
/**
|
|
206
|
+
* Export metrics in Prometheus format
|
|
207
|
+
*/
|
|
208
|
+
exportPrometheusMetrics(): string;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get or create the global CostTracker instance
|
|
212
|
+
*/
|
|
213
|
+
export declare function getCostTracker(): CostTracker;
|
|
214
|
+
/**
|
|
215
|
+
* Middleware wrapper for LLM calls with automatic token tracking
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```typescript
|
|
219
|
+
* const callLLM = withTokenTracking(
|
|
220
|
+
* async (prompt: string) => {
|
|
221
|
+
* const response = await anthropic.messages.create({
|
|
222
|
+
* model: 'claude-sonnet-4',
|
|
223
|
+
* messages: [{ role: 'user', content: prompt }],
|
|
224
|
+
* });
|
|
225
|
+
* return response;
|
|
226
|
+
* },
|
|
227
|
+
* {
|
|
228
|
+
* agentId: 'test-gen-001',
|
|
229
|
+
* taskId: 'task-123',
|
|
230
|
+
* provider: 'anthropic',
|
|
231
|
+
* model: 'claude-sonnet-4',
|
|
232
|
+
* }
|
|
233
|
+
* );
|
|
234
|
+
*
|
|
235
|
+
* const result = await callLLM('Generate tests for...');
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
export declare function withTokenTracking<T extends {
|
|
239
|
+
usage: any;
|
|
240
|
+
}>(fn: (...args: any[]) => Promise<T>, context: {
|
|
241
|
+
agentId: string;
|
|
242
|
+
taskId?: string;
|
|
243
|
+
provider: string;
|
|
244
|
+
model: string;
|
|
245
|
+
}): (...args: any[]) => Promise<T>;
|
|
246
|
+
//# sourceMappingURL=cost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../../../src/telemetry/metrics/collectors/cost.ts"],"names":[],"mappings":"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"}
|