@ramtinj95/opencode-tokenscope 1.5.2 → 1.6.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 +38 -12
- package/dist/tokenscope-lib/analyzer.d.ts +2 -0
- package/dist/tokenscope-lib/analyzer.d.ts.map +1 -1
- package/dist/tokenscope-lib/analyzer.js +68 -23
- package/dist/tokenscope-lib/analyzer.js.map +1 -1
- package/dist/tokenscope-lib/config.d.ts.map +1 -1
- package/dist/tokenscope-lib/config.js +21 -11
- package/dist/tokenscope-lib/config.js.map +1 -1
- package/dist/tokenscope-lib/context.d.ts +4 -1
- package/dist/tokenscope-lib/context.d.ts.map +1 -1
- package/dist/tokenscope-lib/context.js +47 -25
- package/dist/tokenscope-lib/context.js.map +1 -1
- package/dist/tokenscope-lib/cost.d.ts +4 -0
- package/dist/tokenscope-lib/cost.d.ts.map +1 -1
- package/dist/tokenscope-lib/cost.js +38 -8
- package/dist/tokenscope-lib/cost.js.map +1 -1
- package/dist/tokenscope-lib/formatter.d.ts +3 -0
- package/dist/tokenscope-lib/formatter.d.ts.map +1 -1
- package/dist/tokenscope-lib/formatter.js +91 -21
- package/dist/tokenscope-lib/formatter.js.map +1 -1
- package/dist/tokenscope-lib/opencode.d.ts +4 -0
- package/dist/tokenscope-lib/opencode.d.ts.map +1 -0
- package/dist/tokenscope-lib/opencode.js +25 -0
- package/dist/tokenscope-lib/opencode.js.map +1 -0
- package/dist/tokenscope-lib/skill.d.ts +43 -5
- package/dist/tokenscope-lib/skill.d.ts.map +1 -1
- package/dist/tokenscope-lib/skill.js +435 -50
- package/dist/tokenscope-lib/skill.js.map +1 -1
- package/dist/tokenscope-lib/subagent.d.ts +3 -1
- package/dist/tokenscope-lib/subagent.d.ts.map +1 -1
- package/dist/tokenscope-lib/subagent.js +29 -11
- package/dist/tokenscope-lib/subagent.js.map +1 -1
- package/dist/tokenscope-lib/tokenizer.d.ts +3 -0
- package/dist/tokenscope-lib/tokenizer.d.ts.map +1 -1
- package/dist/tokenscope-lib/tokenizer.js +8 -2
- package/dist/tokenscope-lib/tokenizer.js.map +1 -1
- package/dist/tokenscope-lib/types.d.ts +30 -2
- package/dist/tokenscope-lib/types.d.ts.map +1 -1
- package/dist/tokenscope-lib/types.js.map +1 -1
- package/dist/tokenscope-lib/warnings.d.ts +8 -0
- package/dist/tokenscope-lib/warnings.d.ts.map +1 -0
- package/dist/tokenscope-lib/warnings.js +31 -0
- package/dist/tokenscope-lib/warnings.js.map +1 -0
- package/dist/tokenscope.d.ts.map +1 -1
- package/dist/tokenscope.js +125 -57
- package/dist/tokenscope.js.map +1 -1
- package/models.json +30922 -232
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ Then restart OpenCode and run `/tokenscope`
|
|
|
62
62
|
|---------------------------|----------|
|
|
63
63
|
| `"@ramtinj95/opencode-tokenscope"` | Uses the version installed at install time. **Never auto-updates.** |
|
|
64
64
|
| `"@ramtinj95/opencode-tokenscope@latest"` | Fetches latest version **every time OpenCode starts**. |
|
|
65
|
-
| `"@ramtinj95/opencode-tokenscope@1.
|
|
65
|
+
| `"@ramtinj95/opencode-tokenscope@1.6.0"` | Pins to exact version 1.6.0. Never updates. |
|
|
66
66
|
|
|
67
67
|
To manually update:
|
|
68
68
|
```bash
|
|
@@ -134,7 +134,7 @@ cat token-usage-output.txt
|
|
|
134
134
|
- **Effective Rate**: Shows what you're actually paying per token vs standard rates
|
|
135
135
|
|
|
136
136
|
### Accurate Cost Tracking
|
|
137
|
-
- **
|
|
137
|
+
- **Models.dev Pricing Database**: Pricing data synced from models.dev across thousands of provider/model entries
|
|
138
138
|
- **Cache-Aware Pricing**: Properly handles cache read/write tokens with discounted rates
|
|
139
139
|
- **Session-Wide Billing**: Aggregates costs across all API calls in your session
|
|
140
140
|
|
|
@@ -153,7 +153,8 @@ cat token-usage-output.txt
|
|
|
153
153
|
- **Configurable Sections**: Enable/disable analysis features via `tokenscope-config.json`
|
|
154
154
|
|
|
155
155
|
### Skill Analysis
|
|
156
|
-
- **Available Skills**: Shows
|
|
156
|
+
- **Available Skills**: Shows the always-available skill catalog token cost (including the verbose system-prompt catalog OpenCode injects on every API call)
|
|
157
|
+
- **Available Subagents**: Shows all subagents listed in the Task tool definition with their token cost
|
|
157
158
|
- **Loaded Skills**: Tracks skills loaded during the session with call counts
|
|
158
159
|
- **Cumulative Token Tracking**: Accurately counts token cost when skills are called multiple times
|
|
159
160
|
|
|
@@ -163,11 +164,13 @@ This section explains how OpenCode handles skills and why the token counting wor
|
|
|
163
164
|
|
|
164
165
|
### How Skills Work
|
|
165
166
|
|
|
166
|
-
Skills are on-demand instructions that agents can load via the `skill` tool. They have
|
|
167
|
+
Skills are on-demand instructions that agents can load via the `skill` tool. They have multiple token consumption points:
|
|
167
168
|
|
|
168
|
-
1. **Available
|
|
169
|
+
1. **Always-Available Skill Catalog**: Current OpenCode versions inject a verbose XML skill catalog into the system prompt on **every API call**.
|
|
169
170
|
|
|
170
|
-
2. **
|
|
171
|
+
2. **Skill Tool Description**: The `skill` tool also includes a compact markdown list of available skills in its tool description, which also consumes tokens on every API call.
|
|
172
|
+
|
|
173
|
+
3. **Loaded Skill Content**: When an agent calls `skill({ name: "my-skill" })`, the full SKILL.md content is loaded and returned as a tool result.
|
|
171
174
|
|
|
172
175
|
### Why Multiple Skill Calls Multiply Token Cost
|
|
173
176
|
|
|
@@ -180,13 +183,13 @@ This behavior is by design in OpenCode. You can verify this in the source code:
|
|
|
180
183
|
|
|
181
184
|
| Component | Source Link |
|
|
182
185
|
|-----------|-------------|
|
|
183
|
-
| Skill tool execution | [packages/opencode/src/tool/skill.ts](https://github.com/
|
|
184
|
-
| Tool result handling | [packages/opencode/src/session/message-v2.ts](https://github.com/
|
|
185
|
-
| Skill pruning protection | [packages/opencode/src/session/compaction.ts](https://github.com/
|
|
186
|
+
| Skill tool execution | [packages/opencode/src/tool/skill.ts](https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/tool/skill.ts) |
|
|
187
|
+
| Tool result handling | [packages/opencode/src/session/message-v2.ts](https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/session/message-v2.ts) |
|
|
188
|
+
| Skill pruning protection | [packages/opencode/src/session/compaction.ts](https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/session/compaction.ts) |
|
|
186
189
|
|
|
187
190
|
### Skill Content is Protected from Pruning
|
|
188
191
|
|
|
189
|
-
OpenCode protects skill tool results from being pruned during context management. From the [compaction.ts source](https://github.com/
|
|
192
|
+
OpenCode protects skill tool results from being pruned during context management. From the [compaction.ts source](https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/session/compaction.ts):
|
|
190
193
|
|
|
191
194
|
```typescript
|
|
192
195
|
const PRUNE_PROTECTED_TOOLS = ["skill"]
|
|
@@ -359,7 +362,7 @@ SUMMARY
|
|
|
359
362
|
|
|
360
363
|
## Supported Models
|
|
361
364
|
|
|
362
|
-
**
|
|
365
|
+
**Pricing data is synced from models.dev across thousands of provider/model entries:**
|
|
363
366
|
|
|
364
367
|
### Claude Models
|
|
365
368
|
- Claude Opus 4.5, 4.1, 4
|
|
@@ -382,7 +385,21 @@ SUMMARY
|
|
|
382
385
|
|
|
383
386
|
## Configuration
|
|
384
387
|
|
|
385
|
-
|
|
388
|
+
TokenScope now supports a stable user override file at:
|
|
389
|
+
|
|
390
|
+
```bash
|
|
391
|
+
~/.config/opencode/tokenscope-config.json
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
On startup, the plugin loads config in this order:
|
|
395
|
+
1. `~/.config/opencode/tokenscope-config.json`
|
|
396
|
+
2. bundled package config: `tokenscope-config.json`
|
|
397
|
+
3. in-code defaults
|
|
398
|
+
|
|
399
|
+
Any missing keys are filled from the built-in defaults, so you can override only the flags you care about.
|
|
400
|
+
This is safer than editing the file inside the global npm package directory, because `npm update -g` can replace that installed package and overwrite local changes.
|
|
401
|
+
|
|
402
|
+
Default flags:
|
|
386
403
|
|
|
387
404
|
```json
|
|
388
405
|
{
|
|
@@ -394,6 +411,15 @@ The plugin includes a `tokenscope-config.json` file with these defaults:
|
|
|
394
411
|
}
|
|
395
412
|
```
|
|
396
413
|
|
|
414
|
+
Example user override:
|
|
415
|
+
|
|
416
|
+
```json
|
|
417
|
+
{
|
|
418
|
+
"enableSubagentAnalysis": false,
|
|
419
|
+
"enableSkillAnalysis": false
|
|
420
|
+
}
|
|
421
|
+
```
|
|
422
|
+
|
|
397
423
|
Set any option to `false` to hide that section from the output.
|
|
398
424
|
|
|
399
425
|
## Troubleshooting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../tokenscope-lib/analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAEd,UAAU,EACV,aAAa,EACb,mBAAmB,EAMpB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI9C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,aAAa;IACxB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,gBAAgB;
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../tokenscope-lib/analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAEd,UAAU,EACV,aAAa,EACb,mBAAmB,EAMpB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI9C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,aAAa;IACxB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,gBAAgB;IA4BrE,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,UAAU;IAezD,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,wBAAwB;IAgChC,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;CAGrB;AAID,qBAAa,gBAAgB;IAC3B,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;IAmCvE,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,mBAAmB,EAAE;IAgBlG,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;IA0BrE,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBtE,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE;IAI3D,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;IAmBxE,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,UAAU;CAInB;AAID,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,gBAAgB;gBADhB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB;IAGtC,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,EAAE,EAC1B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;YA+CX,aAAa;IAsB3B,OAAO,CAAC,yBAAyB;CAiHlC"}
|
|
@@ -6,13 +6,15 @@ export class ModelResolver {
|
|
|
6
6
|
let detectedProviderID = "anthropic";
|
|
7
7
|
let detectedModelID = "claude-sonnet-4-20250514";
|
|
8
8
|
for (const message of [...messages].reverse()) {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const providerID = this.getProviderID(message);
|
|
10
|
+
const modelID = this.getModelID(message);
|
|
11
|
+
if (providerID) {
|
|
12
|
+
detectedProviderID = this.canonicalize(providerID) || detectedProviderID;
|
|
11
13
|
}
|
|
12
|
-
if (
|
|
13
|
-
detectedModelID =
|
|
14
|
+
if (modelID) {
|
|
15
|
+
detectedModelID = modelID;
|
|
14
16
|
}
|
|
15
|
-
if (
|
|
17
|
+
if (providerID && modelID) {
|
|
16
18
|
break;
|
|
17
19
|
}
|
|
18
20
|
}
|
|
@@ -25,8 +27,8 @@ export class ModelResolver {
|
|
|
25
27
|
}
|
|
26
28
|
resolveTokenModel(messages) {
|
|
27
29
|
for (const message of [...messages].reverse()) {
|
|
28
|
-
const modelID = this.canonicalize(message
|
|
29
|
-
const providerID = this.canonicalize(message
|
|
30
|
+
const modelID = this.canonicalize(this.getModelID(message));
|
|
31
|
+
const providerID = this.canonicalize(this.getProviderID(message));
|
|
30
32
|
const openaiModel = this.resolveOpenAIModel(modelID, providerID);
|
|
31
33
|
if (openaiModel)
|
|
32
34
|
return openaiModel;
|
|
@@ -76,6 +78,12 @@ export class ModelResolver {
|
|
|
76
78
|
return "cl100k_base";
|
|
77
79
|
return OPENAI_MODEL_MAP[modelID] ?? modelID;
|
|
78
80
|
}
|
|
81
|
+
getProviderID(message) {
|
|
82
|
+
return message.info.providerID ?? message.info.model?.providerID;
|
|
83
|
+
}
|
|
84
|
+
getModelID(message) {
|
|
85
|
+
return message.info.modelID ?? message.info.model?.modelID;
|
|
86
|
+
}
|
|
79
87
|
canonicalize(value) {
|
|
80
88
|
return value?.split("/").pop()?.toLowerCase().trim();
|
|
81
89
|
}
|
|
@@ -84,19 +92,31 @@ export class ModelResolver {
|
|
|
84
92
|
export class ContentCollector {
|
|
85
93
|
collectSystemPrompts(messages) {
|
|
86
94
|
const prompts = new Map();
|
|
95
|
+
const addPrompt = (value) => {
|
|
96
|
+
if (Array.isArray(value)) {
|
|
97
|
+
for (const item of value) {
|
|
98
|
+
const trimmed = (item ?? "").trim();
|
|
99
|
+
if (trimmed)
|
|
100
|
+
prompts.set(trimmed, trimmed);
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const trimmed = (value ?? "").trim();
|
|
105
|
+
if (trimmed)
|
|
106
|
+
prompts.set(trimmed, trimmed);
|
|
107
|
+
};
|
|
87
108
|
for (const message of messages) {
|
|
109
|
+
// Current upstream model stores optional system override on user messages.
|
|
110
|
+
// Keep broader compatibility by accepting either string or string[].
|
|
111
|
+
if (message.info.role === "user" || message.info.role === "assistant") {
|
|
112
|
+
addPrompt(message.info.system);
|
|
113
|
+
}
|
|
114
|
+
// Backward compatibility for older exports that had explicit system role content.
|
|
88
115
|
if (message.info.role === "system") {
|
|
89
116
|
const content = this.extractText(message.parts);
|
|
90
117
|
if (content)
|
|
91
118
|
prompts.set(content, content);
|
|
92
119
|
}
|
|
93
|
-
if (message.info.role === "assistant") {
|
|
94
|
-
for (const prompt of message.info.system ?? []) {
|
|
95
|
-
const trimmed = (prompt ?? "").trim();
|
|
96
|
-
if (trimmed)
|
|
97
|
-
prompts.set(trimmed, trimmed);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
120
|
}
|
|
101
121
|
return Array.from(prompts.values()).map((content, index) => ({
|
|
102
122
|
label: this.identifySystemPrompt(content, index + 1),
|
|
@@ -119,13 +139,15 @@ export class ContentCollector {
|
|
|
119
139
|
}
|
|
120
140
|
collectToolOutputs(messages) {
|
|
121
141
|
const toolOutputs = new Map();
|
|
142
|
+
const compactedPlaceholder = "[Old tool result content cleared]";
|
|
122
143
|
for (const message of messages) {
|
|
123
144
|
for (const part of message.parts) {
|
|
124
145
|
if (!toolGuard(part))
|
|
125
146
|
continue;
|
|
126
147
|
if (part.state.status !== "completed")
|
|
127
148
|
continue;
|
|
128
|
-
const
|
|
149
|
+
const rawOutput = part.state.time?.compacted ? compactedPlaceholder : part.state.output;
|
|
150
|
+
const output = (rawOutput ?? "").toString().trim();
|
|
129
151
|
if (!output)
|
|
130
152
|
continue;
|
|
131
153
|
const toolName = part.tool || "tool";
|
|
@@ -245,6 +267,7 @@ export class TokenAnalysisEngine {
|
|
|
245
267
|
cacheReadTokens: 0,
|
|
246
268
|
cacheWriteTokens: 0,
|
|
247
269
|
assistantMessageCount: 0,
|
|
270
|
+
apiCallCount: 0,
|
|
248
271
|
mostRecentInput: 0,
|
|
249
272
|
mostRecentOutput: 0,
|
|
250
273
|
mostRecentReasoning: 0,
|
|
@@ -254,6 +277,7 @@ export class TokenAnalysisEngine {
|
|
|
254
277
|
mostRecentCost: 0,
|
|
255
278
|
allToolsCalled,
|
|
256
279
|
toolCallCounts,
|
|
280
|
+
warnings: [],
|
|
257
281
|
};
|
|
258
282
|
this.applyTelemetryAdjustments(analysis, messages);
|
|
259
283
|
return analysis;
|
|
@@ -272,9 +296,22 @@ export class TokenAnalysisEngine {
|
|
|
272
296
|
return { label, totalTokens, entries: limited, allEntries: entries };
|
|
273
297
|
}
|
|
274
298
|
applyTelemetryAdjustments(analysis, messages) {
|
|
275
|
-
const
|
|
276
|
-
|
|
277
|
-
|
|
299
|
+
const assistantMessages = messages.filter((message) => message.info.role === "assistant");
|
|
300
|
+
const assistants = assistantMessages.map((msg) => ({ msg, tokens: msg.info.tokens, cost: msg.info.cost ?? 0 }));
|
|
301
|
+
const stepFinishCount = messages.reduce((count, message) => {
|
|
302
|
+
return count + message.parts.filter((part) => part.type === "step-finish").length;
|
|
303
|
+
}, 0);
|
|
304
|
+
const hasApiTelemetry = (message) => {
|
|
305
|
+
const tokens = message.info.tokens;
|
|
306
|
+
const tokenTotal = (Number(tokens?.input) || 0) +
|
|
307
|
+
(Number(tokens?.output) || 0) +
|
|
308
|
+
(Number(tokens?.reasoning) || 0) +
|
|
309
|
+
(Number(tokens?.cache?.read) || 0) +
|
|
310
|
+
(Number(tokens?.cache?.write) || 0);
|
|
311
|
+
return tokenTotal > 0 || (Number(message.info.cost) || 0) > 0;
|
|
312
|
+
};
|
|
313
|
+
const telemetryApiCalls = assistantMessages.filter(hasApiTelemetry).length;
|
|
314
|
+
const apiCallCount = stepFinishCount > 0 ? stepFinishCount : telemetryApiCalls;
|
|
278
315
|
let totalInput = 0, totalOutput = 0, totalReasoning = 0;
|
|
279
316
|
let totalCacheRead = 0, totalCacheWrite = 0, totalCost = 0;
|
|
280
317
|
for (const { tokens, cost } of assistants) {
|
|
@@ -314,7 +351,8 @@ export class TokenAnalysisEngine {
|
|
|
314
351
|
analysis.reasoningTokens = totalReasoning;
|
|
315
352
|
analysis.cacheReadTokens = totalCacheRead;
|
|
316
353
|
analysis.cacheWriteTokens = totalCacheWrite;
|
|
317
|
-
analysis.assistantMessageCount =
|
|
354
|
+
analysis.assistantMessageCount = assistantMessages.length;
|
|
355
|
+
analysis.apiCallCount = apiCallCount;
|
|
318
356
|
analysis.sessionCost = totalCost;
|
|
319
357
|
analysis.mostRecentCost = mostRecentCost;
|
|
320
358
|
analysis.mostRecentInput = mostRecentInput;
|
|
@@ -324,10 +362,17 @@ export class TokenAnalysisEngine {
|
|
|
324
362
|
analysis.mostRecentCacheWrite = mostRecentCacheWrite;
|
|
325
363
|
const recentApiInputTotal = mostRecentInput + mostRecentCacheRead;
|
|
326
364
|
const localUserAndTools = analysis.categories.user.totalTokens + analysis.categories.tools.totalTokens;
|
|
327
|
-
const
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
365
|
+
const inferredPromptOverheadTokens = Math.max(0, recentApiInputTotal - localUserAndTools);
|
|
366
|
+
const hasExplicitSystem = analysis.categories.system.totalTokens > 0;
|
|
367
|
+
const strongInferenceSignal = inferredPromptOverheadTokens >= 300 &&
|
|
368
|
+
inferredPromptOverheadTokens >= recentApiInputTotal * 0.15 &&
|
|
369
|
+
inferredPromptOverheadTokens >= localUserAndTools * 0.1;
|
|
370
|
+
if (inferredPromptOverheadTokens >= 50 && !hasExplicitSystem) {
|
|
371
|
+
const inferredLabel = strongInferenceSignal
|
|
372
|
+
? "System (inferred from API telemetry)"
|
|
373
|
+
: "Unattributed prompt overhead (inferred)";
|
|
374
|
+
analysis.categories.system.totalTokens = inferredPromptOverheadTokens;
|
|
375
|
+
analysis.categories.system.entries = [{ label: inferredLabel, tokens: inferredPromptOverheadTokens }];
|
|
331
376
|
analysis.categories.system.allEntries = analysis.categories.system.entries;
|
|
332
377
|
}
|
|
333
378
|
analysis.totalTokens =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../tokenscope-lib/analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../tokenscope-lib/analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../tokenscope-lib/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../tokenscope-lib/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE5E,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAKpC,eAAO,MAAM,WAAW,QAAoD,CAAA;AAK5E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAY9E;AAID,eAAO,MAAM,yBAAyB,EAAE,gBAMvC,CAAA;AAaD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAatE;AAGD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiBnD,CAAA;AAGD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2BzD,CAAA;AAGD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAM3D,CAAA"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
// Configuration constants, model maps, and pricing loader
|
|
2
2
|
import path from "path";
|
|
3
3
|
import fs from "fs/promises";
|
|
4
|
+
import { homedir } from "os";
|
|
4
5
|
import { fileURLToPath } from "url";
|
|
5
6
|
export const DEFAULT_ENTRY_LIMIT = 3;
|
|
6
|
-
|
|
7
|
+
const PACKAGE_ROOT = path.join(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
8
|
+
const BUNDLED_TOKENSCOPE_CONFIG_PATH = path.join(PACKAGE_ROOT, "tokenscope-config.json");
|
|
9
|
+
const USER_TOKENSCOPE_CONFIG_PATH = path.join(homedir(), ".config", "opencode", "tokenscope-config.json");
|
|
10
|
+
export const VENDOR_ROOT = path.join(PACKAGE_ROOT, "vendor", "node_modules");
|
|
7
11
|
// Pricing cache
|
|
8
12
|
let PRICING_CACHE = null;
|
|
9
13
|
export async function loadModelPricing() {
|
|
10
14
|
if (PRICING_CACHE)
|
|
11
15
|
return PRICING_CACHE;
|
|
12
16
|
try {
|
|
13
|
-
const modelsPath = path.join(
|
|
17
|
+
const modelsPath = path.join(PACKAGE_ROOT, "models.json");
|
|
14
18
|
const data = await fs.readFile(modelsPath, "utf8");
|
|
15
19
|
PRICING_CACHE = JSON.parse(data);
|
|
16
20
|
return PRICING_CACHE;
|
|
@@ -29,21 +33,27 @@ export const DEFAULT_TOKENSCOPE_CONFIG = {
|
|
|
29
33
|
enableSkillAnalysis: true,
|
|
30
34
|
};
|
|
31
35
|
let TOKENSCOPE_CONFIG_CACHE = null;
|
|
32
|
-
|
|
33
|
-
if (TOKENSCOPE_CONFIG_CACHE)
|
|
34
|
-
return TOKENSCOPE_CONFIG_CACHE;
|
|
36
|
+
async function readTokenscopeConfigFile(configPath) {
|
|
35
37
|
try {
|
|
36
|
-
const configPath = path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "tokenscope-config.json");
|
|
37
38
|
const data = await fs.readFile(configPath, "utf8");
|
|
38
|
-
|
|
39
|
-
TOKENSCOPE_CONFIG_CACHE = config;
|
|
40
|
-
return config;
|
|
39
|
+
return JSON.parse(data);
|
|
41
40
|
}
|
|
42
41
|
catch {
|
|
43
|
-
|
|
44
|
-
return DEFAULT_TOKENSCOPE_CONFIG;
|
|
42
|
+
return null;
|
|
45
43
|
}
|
|
46
44
|
}
|
|
45
|
+
export async function loadTokenscopeConfig() {
|
|
46
|
+
if (TOKENSCOPE_CONFIG_CACHE)
|
|
47
|
+
return TOKENSCOPE_CONFIG_CACHE;
|
|
48
|
+
const userConfig = await readTokenscopeConfigFile(USER_TOKENSCOPE_CONFIG_PATH);
|
|
49
|
+
const bundledConfig = userConfig ? null : await readTokenscopeConfigFile(BUNDLED_TOKENSCOPE_CONFIG_PATH);
|
|
50
|
+
TOKENSCOPE_CONFIG_CACHE = {
|
|
51
|
+
...DEFAULT_TOKENSCOPE_CONFIG,
|
|
52
|
+
...(bundledConfig ?? {}),
|
|
53
|
+
...(userConfig ?? {}),
|
|
54
|
+
};
|
|
55
|
+
return TOKENSCOPE_CONFIG_CACHE;
|
|
56
|
+
}
|
|
47
57
|
// OpenAI model mapping for tiktoken
|
|
48
58
|
export const OPENAI_MODEL_MAP = {
|
|
49
59
|
"gpt-5": "gpt-4o",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../tokenscope-lib/config.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,aAAa,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAGnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AACpC,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../tokenscope-lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { TokenscopeConfig, ModelPricing, TokenModel, ContextAnalysisResult } from "./types";
|
|
2
2
|
import { TokenizerManager } from "./tokenizer";
|
|
3
|
+
import { WarningCollector } from "./warnings";
|
|
3
4
|
export declare class ContextAnalyzer {
|
|
5
|
+
private warnings?;
|
|
4
6
|
private tokenizerManager;
|
|
5
|
-
constructor(tokenizerManager: TokenizerManager);
|
|
7
|
+
constructor(tokenizerManager: TokenizerManager, warnings?: WarningCollector | undefined);
|
|
6
8
|
/**
|
|
7
9
|
* Main entry point - analyzes a session using opencode export
|
|
8
10
|
*/
|
|
@@ -30,6 +32,7 @@ export declare class ContextAnalyzer {
|
|
|
30
32
|
* Extract system prompts from exported session
|
|
31
33
|
*/
|
|
32
34
|
private extractSystemPrompts;
|
|
35
|
+
private countProjectTreeEntries;
|
|
33
36
|
/**
|
|
34
37
|
* Estimate context breakdown from cache token counts when system prompts aren't available.
|
|
35
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../tokenscope-lib/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAQV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../tokenscope-lib/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAQV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAsB,MAAM,YAAY,CAAA;AAEjE,qBAAa,eAAe;IAKxB,OAAO,CAAC,QAAQ,CAAC;IAJnB,OAAO,CAAC,gBAAgB,CAAkB;gBAGxC,gBAAgB,EAAE,gBAAgB,EAC1B,QAAQ,CAAC,EAAE,gBAAgB,YAAA;IAKrC;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,qBAAqB,CAAC;IA4BjC;;OAEG;YACW,SAAS;IAuBvB;;;;;;;;;OASG;YACW,uBAAuB;IAyBrC;;OAEG;YACW,0BAA0B;IAsIxC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,uBAAuB;IAQ/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,8BAA8B;IAgDtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IA6C1B;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAgDjC"}
|