@semboja/opencode-claude 0.1.0 → 0.2.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/README.md CHANGED
@@ -1,6 +1,18 @@
1
- # opencode-plugin-claude-tracker
1
+ # @semboja/opencode-claude
2
2
 
3
- Claude usage tracking plugin for OpenCode - monitor tokens, costs, sessions, and API performance.
3
+ <p align="center">
4
+ <img src="assets/logo.svg" alt="opencode-claude logo" width="400">
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="https://www.npmjs.com/package/@semboja/opencode-claude"><img src="https://img.shields.io/npm/v/@semboja/opencode-claude.svg" alt="npm version"></a>
9
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
10
+ <a href="https://github.com/SembojaTech/opencode-claude/actions"><img src="https://github.com/SembojaTech/opencode-claude/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ Claude usage tracking plugin for OpenCode - monitor tokens, costs, sessions, and API performance.
15
+ </p>
4
16
 
5
17
  ## Features
6
18
 
@@ -17,9 +29,9 @@ Claude usage tracking plugin for OpenCode - monitor tokens, costs, sessions, and
17
29
  ## Installation
18
30
 
19
31
  ```bash
20
- npm install opencode-plugin-claude-tracker
32
+ npm install @semboja/opencode-claude
21
33
  # or
22
- bun add opencode-plugin-claude-tracker
34
+ bun add @semboja/opencode-claude
23
35
  ```
24
36
 
25
37
  ## Configuration
@@ -33,7 +45,7 @@ Add to your `.opencode/opencode.json`:
33
45
  "experimental": {
34
46
  "openTelemetry": true
35
47
  },
36
- "plugin": ["opencode-plugin-claude-tracker"]
48
+ "plugin": ["@semboja/opencode-claude"]
37
49
  }
38
50
  ```
39
51
 
@@ -66,16 +78,16 @@ Use the CLI to view your usage:
66
78
 
67
79
  ```bash
68
80
  # Show usage report
69
- npx opencode-plugin-claude-tracker report
81
+ npx claude-tracker report
70
82
 
71
83
  # List recent sessions
72
- npx opencode-plugin-claude-tracker sessions 20
84
+ npx claude-tracker sessions 20
73
85
 
74
86
  # Export as JSON
75
- npx opencode-plugin-claude-tracker export json > usage.json
87
+ npx claude-tracker export json > usage.json
76
88
 
77
89
  # Export as CSV
78
- npx opencode-plugin-claude-tracker export csv > usage.csv
90
+ npx claude-tracker export csv > usage.csv
79
91
  ```
80
92
 
81
93
  ### Example Report Output
@@ -113,7 +125,7 @@ Top Tools:
113
125
  You can also use the plugin programmatically:
114
126
 
115
127
  ```typescript
116
- import { getUsageStats, printUsageReport, FileStorage } from 'opencode-plugin-claude-tracker';
128
+ import { getUsageStats, printUsageReport, FileStorage } from '@semboja/opencode-claude';
117
129
 
118
130
  // Get usage statistics
119
131
  const stats = await getUsageStats();
@@ -209,16 +221,17 @@ Before starting, make sure you have:
209
221
 
210
222
  3. **The plugin installed** in your OpenCode project
211
223
  ```bash
212
- npm install opencode-plugin-claude-tracker
224
+ npm install @semboja/opencode-claude
213
225
  ```
214
226
 
215
227
  ### Step 1: Start the Monitoring Stack
216
228
 
217
- First, navigate to the plugin directory (or copy the docker-compose.yml to your project):
229
+ First, clone the repository (or copy the docker-compose.yml to your project):
218
230
 
219
231
  ```bash
220
- # Clone or navigate to the plugin directory
221
- cd opencode-plugin-claude-tracker
232
+ # Clone the repository
233
+ git clone https://github.com/SembojaTech/opencode-claude.git
234
+ cd opencode-claude
222
235
 
223
236
  # Start all services in the background
224
237
  docker compose up -d
package/dist/index.d.ts CHANGED
@@ -1,9 +1,5 @@
1
1
  import type { Plugin } from '@opencode-ai/plugin';
2
- import type { UsageStats } from './types.js';
3
2
  export type { ClaudeTrackerConfig, UsageStats, SessionUsage, TokenUsage, ApiRequestMetrics, ToolMetrics } from './types.js';
4
- export { FileStorage, MemoryStorage } from './storage.js';
5
- export { ClaudeUsageProcessor } from './processor.js';
6
- export { PrometheusRegistry, ClaudeMetrics, PrometheusServer, PushgatewayClient } from './prometheus.js';
7
3
  /**
8
4
  * Claude Usage Tracker Plugin for OpenCode
9
5
  *
@@ -27,15 +23,6 @@ export { PrometheusRegistry, ClaudeMetrics, PrometheusServer, PushgatewayClient
27
23
  * - CLAUDE_TRACKER_PUSHGATEWAY_JOB: Job name for Pushgateway (default: 'claude_tracker')
28
24
  * - CLAUDE_TRACKER_PUSHGATEWAY_INTERVAL: Push interval in ms (default: 15000)
29
25
  */
30
- export declare const ClaudeTrackerPlugin: Plugin;
26
+ declare const ClaudeTrackerPlugin: Plugin;
31
27
  export default ClaudeTrackerPlugin;
32
- /**
33
- * Utility function to get usage statistics
34
- * Can be used outside the plugin context
35
- */
36
- export declare function getUsageStats(storagePath?: string): Promise<UsageStats>;
37
- /**
38
- * Utility function to print a usage report to console
39
- */
40
- export declare function printUsageReport(storagePath?: string): Promise<void>;
41
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAKlD,OAAO,KAAK,EAAuC,UAAU,EAAE,MAAM,YAAY,CAAC;AAElF,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5H,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAyHjC,CAAC;AAGF,eAAe,mBAAmB,CAAC;AAEnC;;;GAGG;AACH,wBAAsB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAG7E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQlD,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5H;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,mBAAmB,EAAE,MAyH1B,CAAC;AAGF,eAAe,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -2,9 +2,6 @@ import { NodeSDK } from '@opentelemetry/sdk-node';
2
2
  import { ClaudeUsageProcessor } from './processor.js';
3
3
  import { FileStorage, MemoryStorage } from './storage.js';
4
4
  import { PrometheusRegistry, ClaudeMetrics, PrometheusServer, PushgatewayClient } from './prometheus.js';
5
- export { FileStorage, MemoryStorage } from './storage.js';
6
- export { ClaudeUsageProcessor } from './processor.js';
7
- export { PrometheusRegistry, ClaudeMetrics, PrometheusServer, PushgatewayClient } from './prometheus.js';
8
5
  /**
9
6
  * Claude Usage Tracker Plugin for OpenCode
10
7
  *
@@ -28,7 +25,7 @@ export { PrometheusRegistry, ClaudeMetrics, PrometheusServer, PushgatewayClient
28
25
  * - CLAUDE_TRACKER_PUSHGATEWAY_JOB: Job name for Pushgateway (default: 'claude_tracker')
29
26
  * - CLAUDE_TRACKER_PUSHGATEWAY_INTERVAL: Push interval in ms (default: 15000)
30
27
  */
31
- export const ClaudeTrackerPlugin = async ({ client }) => {
28
+ const ClaudeTrackerPlugin = async ({ client }) => {
32
29
  // Read configuration from environment
33
30
  const storageType = (process.env.CLAUDE_TRACKER_STORAGE ?? 'file');
34
31
  const storagePath = process.env.CLAUDE_TRACKER_PATH;
@@ -137,46 +134,6 @@ export const ClaudeTrackerPlugin = async ({ client }) => {
137
134
  },
138
135
  };
139
136
  };
140
- // Default export for easy importing
137
+ // Default export - this is the only callable export for OpenCode plugin system
141
138
  export default ClaudeTrackerPlugin;
142
- /**
143
- * Utility function to get usage statistics
144
- * Can be used outside the plugin context
145
- */
146
- export async function getUsageStats(storagePath) {
147
- const storage = new FileStorage(storagePath);
148
- return storage.getUsageStats();
149
- }
150
- /**
151
- * Utility function to print a usage report to console
152
- */
153
- export async function printUsageReport(storagePath) {
154
- const stats = await getUsageStats(storagePath);
155
- console.log('\n=== Claude Usage Report ===\n');
156
- console.log(`Total Sessions: ${stats.totalSessions}`);
157
- console.log(`Total API Requests: ${stats.totalApiRequests}`);
158
- console.log(`Total Cost: $${stats.totalCostUsd.toFixed(4)}`);
159
- console.log('\nToken Usage:');
160
- console.log(` Input: ${stats.totalTokens.input.toLocaleString()}`);
161
- console.log(` Output: ${stats.totalTokens.output.toLocaleString()}`);
162
- console.log(` Cache Read: ${stats.totalTokens.cacheRead.toLocaleString()}`);
163
- console.log(` Cache Creation: ${stats.totalTokens.cacheCreation.toLocaleString()}`);
164
- console.log(` Total: ${stats.totalTokens.total.toLocaleString()}`);
165
- if (stats.byModel.size > 0) {
166
- console.log('\nBy Model:');
167
- for (const [model, data] of stats.byModel) {
168
- console.log(` ${model}: ${data.requests} requests, ${data.tokens.total.toLocaleString()} tokens, $${data.costUsd.toFixed(4)}`);
169
- }
170
- }
171
- if (stats.topTools.length > 0) {
172
- console.log('\nTop Tools:');
173
- for (const tool of stats.topTools) {
174
- const successRate = tool.invocations > 0
175
- ? ((tool.successCount / tool.invocations) * 100).toFixed(1)
176
- : '0';
177
- console.log(` ${tool.name}: ${tool.invocations} calls, ${successRate}% success, avg ${tool.avgDurationMs.toFixed(0)}ms`);
178
- }
179
- }
180
- console.log('\n===========================\n');
181
- }
182
139
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Claude model pricing (USD per million tokens)
3
+ * Prices as of January 2025 - update as needed
4
+ *
5
+ * Source: https://www.anthropic.com/pricing
6
+ */
7
+ export interface ModelPricing {
8
+ inputPerMillion: number;
9
+ outputPerMillion: number;
10
+ cacheReadPerMillion: number;
11
+ cacheCreationPerMillion: number;
12
+ }
13
+ /**
14
+ * Get pricing for a model
15
+ */
16
+ export declare function getModelPricing(model: string): ModelPricing;
17
+ /**
18
+ * Calculate cost for token usage
19
+ */
20
+ export declare function calculateCost(model: string, inputTokens: number, outputTokens: number, cacheReadTokens?: number, cacheCreationTokens?: number): number;
21
+ /**
22
+ * Get all supported model patterns (for documentation)
23
+ */
24
+ export declare function getSupportedModels(): string[];
25
+ //# sourceMappingURL=pricing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAkGD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAG3D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,MAAU,EAC3B,mBAAmB,GAAE,MAAU,GAC9B,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Claude model pricing (USD per million tokens)
3
+ * Prices as of January 2025 - update as needed
4
+ *
5
+ * Source: https://www.anthropic.com/pricing
6
+ */
7
+ /**
8
+ * Pricing table for Claude models
9
+ * Keys are matched against model names (case-insensitive, partial match)
10
+ */
11
+ const PRICING_TABLE = {
12
+ // Claude 4 models
13
+ 'opus-4': {
14
+ inputPerMillion: 15,
15
+ outputPerMillion: 75,
16
+ cacheReadPerMillion: 1.5, // 10% of input
17
+ cacheCreationPerMillion: 18.75, // 25% more than input
18
+ },
19
+ 'sonnet-4': {
20
+ inputPerMillion: 3,
21
+ outputPerMillion: 15,
22
+ cacheReadPerMillion: 0.3,
23
+ cacheCreationPerMillion: 3.75,
24
+ },
25
+ 'haiku-4': {
26
+ inputPerMillion: 0.80,
27
+ outputPerMillion: 4,
28
+ cacheReadPerMillion: 0.08,
29
+ cacheCreationPerMillion: 1,
30
+ },
31
+ // Claude 3.5 models
32
+ 'sonnet-3-5': {
33
+ inputPerMillion: 3,
34
+ outputPerMillion: 15,
35
+ cacheReadPerMillion: 0.3,
36
+ cacheCreationPerMillion: 3.75,
37
+ },
38
+ 'haiku-3-5': {
39
+ inputPerMillion: 0.80,
40
+ outputPerMillion: 4,
41
+ cacheReadPerMillion: 0.08,
42
+ cacheCreationPerMillion: 1,
43
+ },
44
+ // Claude 3 models
45
+ 'opus-3': {
46
+ inputPerMillion: 15,
47
+ outputPerMillion: 75,
48
+ cacheReadPerMillion: 1.5,
49
+ cacheCreationPerMillion: 18.75,
50
+ },
51
+ 'sonnet-3': {
52
+ inputPerMillion: 3,
53
+ outputPerMillion: 15,
54
+ cacheReadPerMillion: 0.3,
55
+ cacheCreationPerMillion: 3.75,
56
+ },
57
+ 'haiku-3': {
58
+ inputPerMillion: 0.25,
59
+ outputPerMillion: 1.25,
60
+ cacheReadPerMillion: 0.025,
61
+ cacheCreationPerMillion: 0.3125,
62
+ },
63
+ };
64
+ // Default pricing for unknown models (use Sonnet pricing as reasonable default)
65
+ const DEFAULT_PRICING = {
66
+ inputPerMillion: 3,
67
+ outputPerMillion: 15,
68
+ cacheReadPerMillion: 0.3,
69
+ cacheCreationPerMillion: 3.75,
70
+ };
71
+ /**
72
+ * Normalize model name for pricing lookup
73
+ * Examples:
74
+ * "claude-opus-4-5" -> "opus-4"
75
+ * "claude-3-5-sonnet-20241022" -> "sonnet-3-5"
76
+ * "claude-3-haiku-20240307" -> "haiku-3"
77
+ */
78
+ function normalizeModelName(model) {
79
+ const lower = model.toLowerCase();
80
+ // Extract model family (opus, sonnet, haiku)
81
+ let family = '';
82
+ if (lower.includes('opus'))
83
+ family = 'opus';
84
+ else if (lower.includes('sonnet'))
85
+ family = 'sonnet';
86
+ else if (lower.includes('haiku'))
87
+ family = 'haiku';
88
+ else
89
+ return 'unknown';
90
+ // Extract version
91
+ let version = '';
92
+ if (lower.includes('4-5') || lower.includes('4.5'))
93
+ version = '4';
94
+ else if (lower.includes('-4') || lower.includes('_4'))
95
+ version = '4';
96
+ else if (lower.includes('3-5') || lower.includes('3.5'))
97
+ version = '3-5';
98
+ else if (lower.includes('-3') || lower.includes('_3'))
99
+ version = '3';
100
+ else
101
+ version = '4'; // Default to latest
102
+ return `${family}-${version}`;
103
+ }
104
+ /**
105
+ * Get pricing for a model
106
+ */
107
+ export function getModelPricing(model) {
108
+ const normalized = normalizeModelName(model);
109
+ return PRICING_TABLE[normalized] ?? DEFAULT_PRICING;
110
+ }
111
+ /**
112
+ * Calculate cost for token usage
113
+ */
114
+ export function calculateCost(model, inputTokens, outputTokens, cacheReadTokens = 0, cacheCreationTokens = 0) {
115
+ const pricing = getModelPricing(model);
116
+ const inputCost = (inputTokens / 1_000_000) * pricing.inputPerMillion;
117
+ const outputCost = (outputTokens / 1_000_000) * pricing.outputPerMillion;
118
+ const cacheReadCost = (cacheReadTokens / 1_000_000) * pricing.cacheReadPerMillion;
119
+ const cacheCreationCost = (cacheCreationTokens / 1_000_000) * pricing.cacheCreationPerMillion;
120
+ return inputCost + outputCost + cacheReadCost + cacheCreationCost;
121
+ }
122
+ /**
123
+ * Get all supported model patterns (for documentation)
124
+ */
125
+ export function getSupportedModels() {
126
+ return Object.keys(PRICING_TABLE);
127
+ }
128
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;GAGG;AACH,MAAM,aAAa,GAAiC;IAClD,kBAAkB;IAClB,QAAQ,EAAE;QACR,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,GAAG,EAAK,eAAe;QAC5C,uBAAuB,EAAE,KAAK,EAAE,sBAAsB;KACvD;IACD,UAAU,EAAE;QACV,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,GAAG;QACxB,uBAAuB,EAAE,IAAI;KAC9B;IACD,SAAS,EAAE;QACT,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,IAAI;QACzB,uBAAuB,EAAE,CAAC;KAC3B;IAED,oBAAoB;IACpB,YAAY,EAAE;QACZ,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,GAAG;QACxB,uBAAuB,EAAE,IAAI;KAC9B;IACD,WAAW,EAAE;QACX,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,IAAI;QACzB,uBAAuB,EAAE,CAAC;KAC3B;IAED,kBAAkB;IAClB,QAAQ,EAAE;QACR,eAAe,EAAE,EAAE;QACnB,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,GAAG;QACxB,uBAAuB,EAAE,KAAK;KAC/B;IACD,UAAU,EAAE;QACV,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,GAAG;QACxB,uBAAuB,EAAE,IAAI;KAC9B;IACD,SAAS,EAAE;QACT,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,KAAK;QAC1B,uBAAuB,EAAE,MAAM;KAChC;CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,eAAe,GAAiB;IACpC,eAAe,EAAE,CAAC;IAClB,gBAAgB,EAAE,EAAE;IACpB,mBAAmB,EAAE,GAAG;IACxB,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAElC,6CAA6C;IAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,GAAG,MAAM,CAAC;SACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,MAAM,GAAG,QAAQ,CAAC;SAChD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,MAAM,GAAG,OAAO,CAAC;;QAC9C,OAAO,SAAS,CAAC;IAEtB,kBAAkB;IAClB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,GAAG,CAAC;SAC7D,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,GAAG,CAAC;SAChE,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,KAAK,CAAC;SACpE,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,GAAG,CAAC;;QAChE,OAAO,GAAG,GAAG,CAAC,CAAC,oBAAoB;IAExC,OAAO,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,aAAa,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,WAAmB,EACnB,YAAoB,EACpB,kBAA0B,CAAC,EAC3B,sBAA8B,CAAC;IAE/B,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IACtE,MAAM,UAAU,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;IACzE,MAAM,aAAa,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAClF,MAAM,iBAAiB,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAE9F,OAAO,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,iBAAiB,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AASzE;;GAEG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAA8B;gBAGrD,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,KAAK,EACV,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,iBAAiB,CAAC,EAAE,aAAa,CAAC;KAC9B;IAkBR,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAInD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IA6B/B,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,iBAAiB;IAwEzB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,cAAc;IAoBhB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAInB,KAAK;IAsBb,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAYhC"}
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AASzE;;GAEG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,iBAAiB,CAA8B;gBAGrD,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,KAAK,EACV,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,iBAAiB,CAAC,EAAE,aAAa,CAAC;KAC9B;IAkBR,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAInD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IA2D/B,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,iBAAiB;IA6EzB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,cAAc;IAoBhB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAInB,KAAK;IAsBb,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAYhC"}
package/dist/processor.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { SpanAttributes, EventNames } from './types.js';
2
+ import { calculateCost } from './pricing.js';
2
3
  /**
3
4
  * Creates an empty token usage object
4
5
  */
@@ -40,9 +41,25 @@ export class ClaudeUsageProcessor {
40
41
  const attrs = span.attributes;
41
42
  const eventName = attrs[SpanAttributes.EVENT_NAME];
42
43
  const sessionId = attrs[SpanAttributes.SESSION_ID];
43
- // Initialize session if needed
44
- if (sessionId && !this.currentSession) {
45
- this.initSession(sessionId);
44
+ // Debug: log all spans when verbose
45
+ if (this.verbose) {
46
+ this.log('info', `[DEBUG] Span received: name="${span.name}" attrs=${JSON.stringify(attrs)}`);
47
+ }
48
+ // Initialize session if needed - try multiple attribute names
49
+ const resolvedSessionId = sessionId
50
+ ?? attrs['session_id']
51
+ ?? attrs['opencode.session_id'];
52
+ if (resolvedSessionId && !this.currentSession) {
53
+ this.initSession(resolvedSessionId);
54
+ }
55
+ // Auto-create session if we see LLM spans but no session yet
56
+ if (!this.currentSession && (span.name.includes('llm') ||
57
+ span.name.includes('claude') ||
58
+ span.name.includes('anthropic') ||
59
+ span.name.includes('chat') ||
60
+ attrs['gen_ai.system'] ||
61
+ attrs['gen_ai.request.model'])) {
62
+ this.initSession(`auto-${Date.now()}`);
46
63
  }
47
64
  if (!this.currentSession) {
48
65
  return;
@@ -57,8 +74,15 @@ export class ClaudeUsageProcessor {
57
74
  else if (eventName === EventNames.TOOL_RESULT || span.name.includes('tool_result')) {
58
75
  this.processToolResult(span);
59
76
  }
60
- // Also check for LLM-related spans by name
61
- if (span.name.includes('llm') || span.name.includes('claude') || span.name.includes('anthropic')) {
77
+ // Also check for LLM-related spans by name or attributes
78
+ if (span.name.includes('llm') ||
79
+ span.name.includes('claude') ||
80
+ span.name.includes('anthropic') ||
81
+ span.name.includes('chat') ||
82
+ span.name.includes('completion') ||
83
+ attrs['gen_ai.system'] ||
84
+ attrs['gen_ai.request.model'] ||
85
+ attrs['llm.request.type']) {
62
86
  this.processLlmSpan(span);
63
87
  }
64
88
  }
@@ -94,8 +118,12 @@ export class ClaudeUsageProcessor {
94
118
  total: inputTokens + outputTokens + cacheReadTokens + cacheCreationTokens,
95
119
  };
96
120
  const model = String(attrs[SpanAttributes.MODEL] ?? attrs['gen_ai.request.model'] ?? attrs['gen_ai.response.model'] ?? 'unknown');
97
- const costUsd = Number(attrs[SpanAttributes.COST_USD] ?? 0);
98
121
  const durationMs = Number(attrs[SpanAttributes.DURATION_MS] ?? span.duration[0] * 1000 + span.duration[1] / 1e6);
122
+ // Calculate cost - use provided value or calculate from tokens
123
+ let costUsd = Number(attrs[SpanAttributes.COST_USD] ?? 0);
124
+ if (costUsd === 0 && tokens.total > 0) {
125
+ costUsd = calculateCost(model, tokens.input, tokens.output, tokens.cacheRead, tokens.cacheCreation);
126
+ }
99
127
  const request = {
100
128
  timestamp: new Date().toISOString(),
101
129
  model,
@@ -1 +1 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../src/processor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@semboja/opencode-claude",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Claude usage tracking plugin for OpenCode - monitor tokens, costs, sessions, and API performance",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -55,6 +55,10 @@
55
55
  },
56
56
  "repository": {
57
57
  "type": "git",
58
- "url": ""
58
+ "url": "git+https://github.com/SembojaTech/opencode-claude.git"
59
+ },
60
+ "homepage": "https://github.com/SembojaTech/opencode-claude#readme",
61
+ "bugs": {
62
+ "url": "https://github.com/SembojaTech/opencode-claude/issues"
59
63
  }
60
- }
64
+ }