@ramtinj95/opencode-tokenscope 1.5.2 → 1.6.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.
Files changed (53) hide show
  1. package/README.md +40 -12
  2. package/dist/tokenscope-lib/analyzer.d.ts +2 -0
  3. package/dist/tokenscope-lib/analyzer.d.ts.map +1 -1
  4. package/dist/tokenscope-lib/analyzer.js +73 -70
  5. package/dist/tokenscope-lib/analyzer.js.map +1 -1
  6. package/dist/tokenscope-lib/config.d.ts +0 -1
  7. package/dist/tokenscope-lib/config.d.ts.map +1 -1
  8. package/dist/tokenscope-lib/config.js +20 -11
  9. package/dist/tokenscope-lib/config.js.map +1 -1
  10. package/dist/tokenscope-lib/context.d.ts +4 -1
  11. package/dist/tokenscope-lib/context.d.ts.map +1 -1
  12. package/dist/tokenscope-lib/context.js +54 -44
  13. package/dist/tokenscope-lib/context.js.map +1 -1
  14. package/dist/tokenscope-lib/cost.d.ts +4 -0
  15. package/dist/tokenscope-lib/cost.d.ts.map +1 -1
  16. package/dist/tokenscope-lib/cost.js +43 -8
  17. package/dist/tokenscope-lib/cost.js.map +1 -1
  18. package/dist/tokenscope-lib/formatter.d.ts +3 -0
  19. package/dist/tokenscope-lib/formatter.d.ts.map +1 -1
  20. package/dist/tokenscope-lib/formatter.js +101 -21
  21. package/dist/tokenscope-lib/formatter.js.map +1 -1
  22. package/dist/tokenscope-lib/opencode.d.ts +4 -0
  23. package/dist/tokenscope-lib/opencode.d.ts.map +1 -0
  24. package/dist/tokenscope-lib/opencode.js +25 -0
  25. package/dist/tokenscope-lib/opencode.js.map +1 -0
  26. package/dist/tokenscope-lib/skill.d.ts +43 -5
  27. package/dist/tokenscope-lib/skill.d.ts.map +1 -1
  28. package/dist/tokenscope-lib/skill.js +435 -50
  29. package/dist/tokenscope-lib/skill.js.map +1 -1
  30. package/dist/tokenscope-lib/subagent.d.ts +3 -1
  31. package/dist/tokenscope-lib/subagent.d.ts.map +1 -1
  32. package/dist/tokenscope-lib/subagent.js +34 -27
  33. package/dist/tokenscope-lib/subagent.js.map +1 -1
  34. package/dist/tokenscope-lib/telemetry.d.ts +47 -0
  35. package/dist/tokenscope-lib/telemetry.d.ts.map +1 -0
  36. package/dist/tokenscope-lib/telemetry.js +105 -0
  37. package/dist/tokenscope-lib/telemetry.js.map +1 -0
  38. package/dist/tokenscope-lib/tokenizer.d.ts +4 -1
  39. package/dist/tokenscope-lib/tokenizer.d.ts.map +1 -1
  40. package/dist/tokenscope-lib/tokenizer.js +16 -20
  41. package/dist/tokenscope-lib/tokenizer.js.map +1 -1
  42. package/dist/tokenscope-lib/types.d.ts +34 -2
  43. package/dist/tokenscope-lib/types.d.ts.map +1 -1
  44. package/dist/tokenscope-lib/types.js.map +1 -1
  45. package/dist/tokenscope-lib/warnings.d.ts +8 -0
  46. package/dist/tokenscope-lib/warnings.d.ts.map +1 -0
  47. package/dist/tokenscope-lib/warnings.js +31 -0
  48. package/dist/tokenscope-lib/warnings.js.map +1 -0
  49. package/dist/tokenscope.d.ts.map +1 -1
  50. package/dist/tokenscope.js +135 -57
  51. package/dist/tokenscope.js.map +1 -1
  52. package/models.json +30922 -232
  53. 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.4.0"` | Pins to exact version 1.4.0. Never updates. |
65
+ | `"@ramtinj95/opencode-tokenscope@1.6.1"` | Pins to exact version 1.6.1. Never updates. |
66
66
 
67
67
  To manually update:
68
68
  ```bash
@@ -134,8 +134,9 @@ 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
- - **41+ Models Supported**: Comprehensive pricing database for Claude, GPT, DeepSeek, Llama, Mistral, and more
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
+ - **Per-Call Step Telemetry**: Reads stored `step-finish` records so multi-step assistant turns and tool loops count every API call, not just the final step saved on the assistant message
139
140
  - **Session-Wide Billing**: Aggregates costs across all API calls in your session
140
141
 
141
142
  ### Subagent Cost Tracking
@@ -153,7 +154,8 @@ cat token-usage-output.txt
153
154
  - **Configurable Sections**: Enable/disable analysis features via `tokenscope-config.json`
154
155
 
155
156
  ### Skill Analysis
156
- - **Available Skills**: Shows all skills listed in the skill tool definition with their token cost
157
+ - **Available Skills**: Shows the always-available skill catalog token cost (including the verbose system-prompt catalog OpenCode injects on every API call)
158
+ - **Available Subagents**: Shows all subagents listed in the Task tool definition with their token cost
157
159
  - **Loaded Skills**: Tracks skills loaded during the session with call counts
158
160
  - **Cumulative Token Tracking**: Accurately counts token cost when skills are called multiple times
159
161
 
@@ -163,11 +165,13 @@ This section explains how OpenCode handles skills and why the token counting wor
163
165
 
164
166
  ### How Skills Work
165
167
 
166
- Skills are on-demand instructions that agents can load via the `skill` tool. They have two token consumption points:
168
+ Skills are on-demand instructions that agents can load via the `skill` tool. They have multiple token consumption points:
167
169
 
168
- 1. **Available Skills List**: Skill names and descriptions are embedded in the `skill` tool's description as XML. This is part of the system prompt and costs tokens on **every API call**.
170
+ 1. **Always-Available Skill Catalog**: Current OpenCode versions inject a verbose XML skill catalog into the system prompt on **every API call**.
169
171
 
170
- 2. **Loaded Skill Content**: When an agent calls `skill({ name: "my-skill" })`, the full SKILL.md content is loaded and returned as a tool result.
172
+ 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.
173
+
174
+ 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
175
 
172
176
  ### Why Multiple Skill Calls Multiply Token Cost
173
177
 
@@ -180,13 +184,13 @@ This behavior is by design in OpenCode. You can verify this in the source code:
180
184
 
181
185
  | Component | Source Link |
182
186
  |-----------|-------------|
183
- | Skill tool execution | [packages/opencode/src/tool/skill.ts](https://github.com/sst/opencode/blob/main/packages/opencode/src/tool/skill.ts) |
184
- | Tool result handling | [packages/opencode/src/session/message-v2.ts](https://github.com/sst/opencode/blob/main/packages/opencode/src/session/message-v2.ts) |
185
- | Skill pruning protection | [packages/opencode/src/session/compaction.ts](https://github.com/sst/opencode/blob/main/packages/opencode/src/session/compaction.ts) |
187
+ | Skill tool execution | [packages/opencode/src/tool/skill.ts](https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/tool/skill.ts) |
188
+ | Tool result handling | [packages/opencode/src/session/message-v2.ts](https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/session/message-v2.ts) |
189
+ | Skill pruning protection | [packages/opencode/src/session/compaction.ts](https://github.com/anomalyco/opencode/blob/dev/packages/opencode/src/session/compaction.ts) |
186
190
 
187
191
  ### Skill Content is Protected from Pruning
188
192
 
189
- OpenCode protects skill tool results from being pruned during context management. From the [compaction.ts source](https://github.com/sst/opencode/blob/main/packages/opencode/src/session/compaction.ts):
193
+ 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
194
 
191
195
  ```typescript
192
196
  const PRUNE_PROTECTED_TOOLS = ["skill"]
@@ -359,7 +363,7 @@ SUMMARY
359
363
 
360
364
  ## Supported Models
361
365
 
362
- **41+ models with accurate pricing:**
366
+ **Pricing data is synced from models.dev across thousands of provider/model entries:**
363
367
 
364
368
  ### Claude Models
365
369
  - Claude Opus 4.5, 4.1, 4
@@ -382,7 +386,21 @@ SUMMARY
382
386
 
383
387
  ## Configuration
384
388
 
385
- The plugin includes a `tokenscope-config.json` file with these defaults:
389
+ TokenScope now supports a stable user override file at:
390
+
391
+ ```bash
392
+ ~/.config/opencode/tokenscope-config.json
393
+ ```
394
+
395
+ On startup, the plugin loads config in this order:
396
+ 1. `~/.config/opencode/tokenscope-config.json`
397
+ 2. bundled package config: `tokenscope-config.json`
398
+ 3. in-code defaults
399
+
400
+ Any missing keys are filled from the built-in defaults, so you can override only the flags you care about.
401
+ 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.
402
+
403
+ Default flags:
386
404
 
387
405
  ```json
388
406
  {
@@ -394,6 +412,15 @@ The plugin includes a `tokenscope-config.json` file with these defaults:
394
412
  }
395
413
  ```
396
414
 
415
+ Example user override:
416
+
417
+ ```json
418
+ {
419
+ "enableSubagentAnalysis": false,
420
+ "enableSkillAnalysis": false
421
+ }
422
+ ```
423
+
397
424
  Set any option to `false` to hide that section from the output.
398
425
 
399
426
  ## Troubleshooting
@@ -411,6 +438,7 @@ Set any option to `false` to hide that section from the output.
411
438
 
412
439
  The plugin uses API telemetry (ground truth). If counts seem off:
413
440
  - **Expected ~2K difference from TUI**: Plugin analyzes before its own response is added
441
+ - **Approximate fallback warning**: If the report says token counting fell back to approximate mode, reinstall the plugin (`npm install -g @ramtinj95/opencode-tokenscope@latest`) or rerun `~/.config/opencode/plugin/install.sh`
414
442
  - **Model detection**: Check that the model name is recognized in the output
415
443
 
416
444
  ## Privacy & Security
@@ -11,6 +11,8 @@ export declare class ModelResolver {
11
11
  private resolveOpenAIModel;
12
12
  private resolveTransformersModel;
13
13
  private mapOpenAI;
14
+ private getProviderID;
15
+ private getModelID;
14
16
  private canonicalize;
15
17
  }
16
18
  export declare class ContentCollector {
@@ -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;IAyBrE,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,UAAU;IAezD,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,wBAAwB;IAgChC,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,YAAY;CAGrB;AAID,qBAAa,gBAAgB;IAC3B,oBAAoB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE;IAuBvE,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;IAwBrE,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;YA6CX,aAAa;IAsB3B,OAAO,CAAC,yBAAyB;CAsFlC"}
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;AAK9C,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;YAkDX,aAAa;IAsB3B,OAAO,CAAC,yBAAyB;CA+ClC"}
@@ -1,18 +1,21 @@
1
1
  // Analysis classes - ModelResolver, ContentCollector, TokenAnalysisEngine
2
2
  import { isToolPart as toolGuard, isReasoningPart as reasoningGuard, isTextPart as textGuard } from "./types";
3
3
  import { OPENAI_MODEL_MAP, TRANSFORMERS_MODEL_MAP, PROVIDER_DEFAULTS } from "./config";
4
+ import { summarizeTelemetry } from "./telemetry";
4
5
  export class ModelResolver {
5
6
  resolveModelAndProvider(messages) {
6
7
  let detectedProviderID = "anthropic";
7
8
  let detectedModelID = "claude-sonnet-4-20250514";
8
9
  for (const message of [...messages].reverse()) {
9
- if (message.info.providerID) {
10
- detectedProviderID = this.canonicalize(message.info.providerID) || detectedProviderID;
10
+ const providerID = this.getProviderID(message);
11
+ const modelID = this.getModelID(message);
12
+ if (providerID) {
13
+ detectedProviderID = this.canonicalize(providerID) || detectedProviderID;
11
14
  }
12
- if (message.info.modelID) {
13
- detectedModelID = message.info.modelID;
15
+ if (modelID) {
16
+ detectedModelID = modelID;
14
17
  }
15
- if (message.info.providerID && message.info.modelID) {
18
+ if (providerID && modelID) {
16
19
  break;
17
20
  }
18
21
  }
@@ -25,8 +28,8 @@ export class ModelResolver {
25
28
  }
26
29
  resolveTokenModel(messages) {
27
30
  for (const message of [...messages].reverse()) {
28
- const modelID = this.canonicalize(message.info.modelID);
29
- const providerID = this.canonicalize(message.info.providerID);
31
+ const modelID = this.canonicalize(this.getModelID(message));
32
+ const providerID = this.canonicalize(this.getProviderID(message));
30
33
  const openaiModel = this.resolveOpenAIModel(modelID, providerID);
31
34
  if (openaiModel)
32
35
  return openaiModel;
@@ -76,6 +79,12 @@ export class ModelResolver {
76
79
  return "cl100k_base";
77
80
  return OPENAI_MODEL_MAP[modelID] ?? modelID;
78
81
  }
82
+ getProviderID(message) {
83
+ return message.info.providerID ?? message.info.model?.providerID;
84
+ }
85
+ getModelID(message) {
86
+ return message.info.modelID ?? message.info.model?.modelID;
87
+ }
79
88
  canonicalize(value) {
80
89
  return value?.split("/").pop()?.toLowerCase().trim();
81
90
  }
@@ -84,19 +93,31 @@ export class ModelResolver {
84
93
  export class ContentCollector {
85
94
  collectSystemPrompts(messages) {
86
95
  const prompts = new Map();
96
+ const addPrompt = (value) => {
97
+ if (Array.isArray(value)) {
98
+ for (const item of value) {
99
+ const trimmed = (item ?? "").trim();
100
+ if (trimmed)
101
+ prompts.set(trimmed, trimmed);
102
+ }
103
+ return;
104
+ }
105
+ const trimmed = (value ?? "").trim();
106
+ if (trimmed)
107
+ prompts.set(trimmed, trimmed);
108
+ };
87
109
  for (const message of messages) {
110
+ // Current upstream model stores optional system override on user messages.
111
+ // Keep broader compatibility by accepting either string or string[].
112
+ if (message.info.role === "user" || message.info.role === "assistant") {
113
+ addPrompt(message.info.system);
114
+ }
115
+ // Backward compatibility for older exports that had explicit system role content.
88
116
  if (message.info.role === "system") {
89
117
  const content = this.extractText(message.parts);
90
118
  if (content)
91
119
  prompts.set(content, content);
92
120
  }
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
121
  }
101
122
  return Array.from(prompts.values()).map((content, index) => ({
102
123
  label: this.identifySystemPrompt(content, index + 1),
@@ -119,13 +140,15 @@ export class ContentCollector {
119
140
  }
120
141
  collectToolOutputs(messages) {
121
142
  const toolOutputs = new Map();
143
+ const compactedPlaceholder = "[Old tool result content cleared]";
122
144
  for (const message of messages) {
123
145
  for (const part of message.parts) {
124
146
  if (!toolGuard(part))
125
147
  continue;
126
148
  if (part.state.status !== "completed")
127
149
  continue;
128
- const output = (part.state.output ?? "").toString().trim();
150
+ const rawOutput = part.state.time?.compacted ? compactedPlaceholder : part.state.output;
151
+ const output = (rawOutput ?? "").toString().trim();
129
152
  if (!output)
130
153
  continue;
131
154
  const toolName = part.tool || "tool";
@@ -245,15 +268,20 @@ export class TokenAnalysisEngine {
245
268
  cacheReadTokens: 0,
246
269
  cacheWriteTokens: 0,
247
270
  assistantMessageCount: 0,
271
+ apiCallCount: 0,
272
+ callsWithCacheRead: 0,
273
+ callsWithCacheWrite: 0,
248
274
  mostRecentInput: 0,
249
275
  mostRecentOutput: 0,
250
276
  mostRecentReasoning: 0,
251
277
  mostRecentCacheRead: 0,
252
278
  mostRecentCacheWrite: 0,
279
+ mostRecentProviderTotalTokens: undefined,
253
280
  sessionCost: 0,
254
281
  mostRecentCost: 0,
255
282
  allToolsCalled,
256
283
  toolCallCounts,
284
+ warnings: [],
257
285
  };
258
286
  this.applyTelemetryAdjustments(analysis, messages);
259
287
  return analysis;
@@ -272,62 +300,37 @@ export class TokenAnalysisEngine {
272
300
  return { label, totalTokens, entries: limited, allEntries: entries };
273
301
  }
274
302
  applyTelemetryAdjustments(analysis, messages) {
275
- const assistants = messages
276
- .filter((m) => m.info.role === "assistant" && (m.info?.tokens || m.info?.cost !== undefined))
277
- .map((m) => ({ msg: m, tokens: m.info.tokens, cost: m.info.cost ?? 0 }));
278
- let totalInput = 0, totalOutput = 0, totalReasoning = 0;
279
- let totalCacheRead = 0, totalCacheWrite = 0, totalCost = 0;
280
- for (const { tokens, cost } of assistants) {
281
- if (tokens) {
282
- totalInput += Number(tokens.input) || 0;
283
- totalOutput += Number(tokens.output) || 0;
284
- totalReasoning += Number(tokens.reasoning) || 0;
285
- totalCacheRead += Number(tokens.cache?.read) || 0;
286
- totalCacheWrite += Number(tokens.cache?.write) || 0;
287
- }
288
- totalCost += Number(cost) || 0;
289
- }
290
- const mostRecentWithUsage = [...assistants]
291
- .reverse()
292
- .find(({ tokens }) => tokens &&
293
- (Number(tokens.input) || 0) +
294
- (Number(tokens.output) || 0) +
295
- (Number(tokens.reasoning) || 0) +
296
- (Number(tokens.cache?.read) || 0) +
297
- (Number(tokens.cache?.write) || 0) >
298
- 0) ?? assistants[assistants.length - 1];
299
- let mostRecentInput = 0, mostRecentOutput = 0, mostRecentReasoning = 0;
300
- let mostRecentCacheRead = 0, mostRecentCacheWrite = 0, mostRecentCost = 0;
301
- if (mostRecentWithUsage) {
302
- const t = mostRecentWithUsage.tokens;
303
- if (t) {
304
- mostRecentInput = Number(t.input) || 0;
305
- mostRecentOutput = Number(t.output) || 0;
306
- mostRecentReasoning = Number(t.reasoning) || 0;
307
- mostRecentCacheRead = Number(t.cache?.read) || 0;
308
- mostRecentCacheWrite = Number(t.cache?.write) || 0;
309
- }
310
- mostRecentCost = Number(mostRecentWithUsage.cost) || 0;
311
- }
312
- analysis.inputTokens = totalInput;
313
- analysis.outputTokens = totalOutput;
314
- analysis.reasoningTokens = totalReasoning;
315
- analysis.cacheReadTokens = totalCacheRead;
316
- analysis.cacheWriteTokens = totalCacheWrite;
317
- analysis.assistantMessageCount = assistants.length;
318
- analysis.sessionCost = totalCost;
319
- analysis.mostRecentCost = mostRecentCost;
320
- analysis.mostRecentInput = mostRecentInput;
321
- analysis.mostRecentOutput = mostRecentOutput;
322
- analysis.mostRecentReasoning = mostRecentReasoning;
323
- analysis.mostRecentCacheRead = mostRecentCacheRead;
324
- analysis.mostRecentCacheWrite = mostRecentCacheWrite;
325
- const recentApiInputTotal = mostRecentInput + mostRecentCacheRead;
303
+ const telemetry = summarizeTelemetry(messages);
304
+ analysis.inputTokens = telemetry.inputTokens;
305
+ analysis.outputTokens = telemetry.outputTokens;
306
+ analysis.reasoningTokens = telemetry.reasoningTokens;
307
+ analysis.cacheReadTokens = telemetry.cacheReadTokens;
308
+ analysis.cacheWriteTokens = telemetry.cacheWriteTokens;
309
+ analysis.assistantMessageCount = telemetry.assistantMessageCount;
310
+ analysis.apiCallCount = telemetry.apiCallCount;
311
+ analysis.callsWithCacheRead = telemetry.callsWithCacheRead;
312
+ analysis.callsWithCacheWrite = telemetry.callsWithCacheWrite;
313
+ analysis.sessionCost = telemetry.sessionCost;
314
+ analysis.mostRecentCost = telemetry.mostRecentCost;
315
+ analysis.mostRecentInput = telemetry.mostRecentInput;
316
+ analysis.mostRecentOutput = telemetry.mostRecentOutput;
317
+ analysis.mostRecentReasoning = telemetry.mostRecentReasoning;
318
+ analysis.mostRecentCacheRead = telemetry.mostRecentCacheRead;
319
+ analysis.mostRecentCacheWrite = telemetry.mostRecentCacheWrite;
320
+ analysis.mostRecentProviderTotalTokens = telemetry.mostRecentProviderTotalTokens;
321
+ const recentApiInputTotal = telemetry.mostRecentInput + telemetry.mostRecentCacheRead;
326
322
  const localUserAndTools = analysis.categories.user.totalTokens + analysis.categories.tools.totalTokens;
327
- const inferredSystemTokens = Math.max(0, recentApiInputTotal - localUserAndTools);
328
- if (inferredSystemTokens > 0 && analysis.categories.system.totalTokens === 0) {
329
- analysis.categories.system.totalTokens = inferredSystemTokens;
330
- analysis.categories.system.entries = [{ label: "System (inferred from API)", tokens: inferredSystemTokens }];
323
+ const inferredPromptOverheadTokens = Math.max(0, recentApiInputTotal - localUserAndTools);
324
+ const hasExplicitSystem = analysis.categories.system.totalTokens > 0;
325
+ const strongInferenceSignal = inferredPromptOverheadTokens >= 300 &&
326
+ inferredPromptOverheadTokens >= recentApiInputTotal * 0.15 &&
327
+ inferredPromptOverheadTokens >= localUserAndTools * 0.1;
328
+ if (inferredPromptOverheadTokens >= 50 && !hasExplicitSystem) {
329
+ const inferredLabel = strongInferenceSignal
330
+ ? "System (inferred from API telemetry)"
331
+ : "Unattributed prompt overhead (inferred)";
332
+ analysis.categories.system.totalTokens = inferredPromptOverheadTokens;
333
+ analysis.categories.system.entries = [{ label: inferredLabel, tokens: inferredPromptOverheadTokens }];
331
334
  analysis.categories.system.allEntries = analysis.categories.system.entries;
332
335
  }
333
336
  analysis.totalTokens =
@@ -1 +1 @@
1
- {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../tokenscope-lib/analyzer.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAc1E,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,eAAe,IAAI,cAAc,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,SAAS,CAAA;AAC7G,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAWtF,MAAM,OAAO,aAAa;IACxB,uBAAuB,CAAC,QAA0B;QAChD,IAAI,kBAAkB,GAAG,WAAW,CAAA;QACpC,IAAI,eAAe,GAAG,0BAA0B,CAAA;QAEhD,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,kBAAkB,CAAA;YACvF,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAA;YACxC,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpD,MAAK;YACP,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAE9C,OAAO;YACL,KAAK;YACL,UAAU,EAAE,kBAAkB;YAC9B,OAAO,EAAE,eAAe;SACzB,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,QAA0B;QAC1C,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAE7D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAChE,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAA;YAEnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAC3E,IAAI,gBAAgB;gBAAE,OAAO,gBAAgB,CAAA;QAC/C,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAA;IACrD,CAAC;IAEO,kBAAkB,CAAC,OAAgB,EAAE,UAAmB;QAC9D,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YACnF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACtC,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;QAC/E,CAAC;QAED,IAAI,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAA;QACxF,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,wBAAwB,CAAC,OAAgB,EAAE,UAAmB;QACpE,IAAI,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAA;QAChG,CAAC;QAED,IAAI,UAAU,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,UAAU,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAA;QAC7E,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,yBAAyB,EAAE,EAAE,CAAA;QAC1F,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,CAAC,OAAO,CAAC,IAAI,iCAAiC,EAAE;aAC1G,CAAA;QACH,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,6BAA6B,EAAE,EAAE,CAAA;QAC9F,CAAC;QAED,IAAI,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,yBAAyB,EAAE,EAAE,CAAA;QAC1F,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,SAAS,CAAC,OAAgB;QAChC,IAAI,CAAC,OAAO;YAAE,OAAO,aAAa,CAAA;QAClC,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAA;IAC7C,CAAC;IAEO,YAAY,CAAC,KAAc;QACjC,OAAO,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IACtD,CAAC;CACF;AAED,qBAAqB;AAErB,MAAM,OAAO,gBAAgB;IAC3B,oBAAoB,CAAC,QAA0B;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC/C,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5C,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBAC/C,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;oBACrC,IAAI,OAAO;wBAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3D,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC;YACpD,OAAO;SACR,CAAC,CAAC,CAAA;IACL,CAAC;IAED,mBAAmB,CAAC,QAA0B,EAAE,IAA0B;QACxE,MAAM,OAAO,GAA0B,EAAE,CAAA;QACzC,IAAI,KAAK,GAAG,CAAC,CAAA;QAEb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAQ;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC/C,IAAI,CAAC,OAAO;gBAAE,SAAQ;YAEtB,KAAK,IAAI,CAAC,CAAA;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,kBAAkB,CAAC,QAA0B;QAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAA;QAE7C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBAE9B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW;oBAAE,SAAQ;gBAE/C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;gBAC1D,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAA;gBACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAChD,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAA;YACzE,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACrE,KAAK,EAAE,QAAQ;YACf,OAAO;SACR,CAAC,CAAC,CAAA;IACL,CAAC;IAED,qBAAqB,CAAC,QAA0B;QAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;QAE5C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAA;gBACpC,IAAI,QAAQ,EAAE,CAAC;oBACb,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,qBAAqB,CAAC,QAA0B;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACvE,CAAC;IAED,qBAAqB,CAAC,QAA0B;QAC9C,MAAM,OAAO,GAA0B,EAAE,CAAA;QACzC,IAAI,KAAK,GAAG,CAAC,CAAA;QAEb,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBAAE,SAAQ;gBAEnC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAA;gBAChD,IAAI,CAAC,IAAI;oBAAE,SAAQ;gBAEnB,KAAK,IAAI,CAAC,CAAA;gBACV,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,WAAW,CAAC,KAA2B;QAC7C,OAAO,KAAK;aACT,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,MAAM,CAAC,CAAA;IACjB,CAAC;IAEO,oBAAoB,CAAC,OAAe,EAAE,KAAa;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAEnC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,mBAAmB,CAAA;QAC3G,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO,oBAAoB,CAAA;QAC7G,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,kBAAkB,CAAA;QAChF,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,oBAAoB,CAAA;QACpH,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAAE,OAAO,kBAAkB,CAAA;QAChH,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,mBAAmB,CAAA;QAChH,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzF,OAAO,uBAAuB,CAAA;QAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,oBAAoB,CAAA;QACnH,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,iBAAiB,CAAA;QAC5G,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,OAAO,iBAAiB,CAAA;QAC3F,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACxF,OAAO,uBAAuB,CAAA;QAEhC,OAAO,UAAU,KAAK,EAAE,CAAA;IAC1B,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QACxB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAChD,CAAC;CACF;AAED,wBAAwB;AAExB,MAAM,OAAO,mBAAmB;IAEpB;IACA;IAFV,YACU,gBAAkC,EAClC,gBAAkC;QADlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,qBAAgB,GAAhB,gBAAgB,CAAkB;IACzC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,SAAiB,EACjB,QAA0B,EAC1B,UAAsB,EACtB,UAAkB;QAElB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QACvF,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QACtE,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAC5E,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAE5E,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC;YACnE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;YAChE,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC;SACzE,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAkB;YAC9B,SAAS;YACT,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;YACzD,WAAW,EACT,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW;YAC3G,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,qBAAqB,EAAE,CAAC;YACxB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC;YACtB,mBAAmB,EAAE,CAAC;YACtB,oBAAoB,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;YACjB,cAAc;YACd,cAAc;SACf,CAAA;QAED,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAElD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,KAAa,EACb,OAA8B,EAC9B,KAAiB,EACjB,UAAkB;QAElB,MAAM,OAAO,GAAoB,EAAE,CAAA;QAEnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC7E,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEzE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;IACtE,CAAC;IAEO,yBAAyB,CAAC,QAAuB,EAAE,QAA0B;QACnF,MAAM,UAAU,GAAG,QAAQ;aACxB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC;aAC5F,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAE1E,IAAI,UAAU,GAAG,CAAC,EAChB,WAAW,GAAG,CAAC,EACf,cAAc,GAAG,CAAC,CAAA;QACpB,IAAI,cAAc,GAAG,CAAC,EACpB,eAAe,GAAG,CAAC,EACnB,SAAS,GAAG,CAAC,CAAA;QAEf,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACvC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACzC,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC/C,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBACjD,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACrD,CAAC;YACD,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAC,GAAG,UAAU,CAAC;aACxC,OAAO,EAAE;aACT,IAAI,CACH,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACb,MAAM;YACN,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC,CACN,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAExC,IAAI,eAAe,GAAG,CAAC,EACrB,gBAAgB,GAAG,CAAC,EACpB,mBAAmB,GAAG,CAAC,CAAA;QACzB,IAAI,mBAAmB,GAAG,CAAC,EACzB,oBAAoB,GAAG,CAAC,EACxB,cAAc,GAAG,CAAC,CAAA;QAEpB,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAA;YACpC,IAAI,CAAC,EAAE,CAAC;gBACN,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACtC,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACxC,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC9C,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAChD,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACpD,CAAC;YACD,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;QAED,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAA;QACjC,QAAQ,CAAC,YAAY,GAAG,WAAW,CAAA;QACnC,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAA;QACzC,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAA;QACzC,QAAQ,CAAC,gBAAgB,GAAG,eAAe,CAAA;QAC3C,QAAQ,CAAC,qBAAqB,GAAG,UAAU,CAAC,MAAM,CAAA;QAClD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAA;QAChC,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAA;QACxC,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAA;QAC1C,QAAQ,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAC5C,QAAQ,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAClD,QAAQ,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAClD,QAAQ,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAEpD,MAAM,mBAAmB,GAAG,eAAe,GAAG,mBAAmB,CAAA;QACjE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAA;QACtG,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,CAAC,CAAA;QAEjF,IAAI,oBAAoB,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC7E,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,GAAG,oBAAoB,CAAA;YAC7D,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAA;YAC5G,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAA;QAC5E,CAAC;QAED,QAAQ,CAAC,WAAW;YAClB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW;gBACtC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW;gBACpC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW;gBACzC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW;gBACrC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAA;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../tokenscope-lib/analyzer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { TokenizerSpec, ModelPricing, TokenscopeConfig } from "./types";
2
2
  export declare const DEFAULT_ENTRY_LIMIT = 3;
3
- export declare const VENDOR_ROOT: string;
4
3
  export declare function loadModelPricing(): Promise<Record<string, ModelPricing>>;
5
4
  export declare const DEFAULT_TOKENSCOPE_CONFIG: TokenscopeConfig;
6
5
  export declare function loadTokenscopeConfig(): Promise<TokenscopeConfig>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../tokenscope-lib/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE5E,eAAO,MAAM,mBAAmB,IAAI,CAAA;AACpC,eAAO,MAAM,WAAW,QAA0F,CAAA;AAKlH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAY9E;AAID,eAAO,MAAM,yBAAyB,EAAE,gBAMvC,CAAA;AAID,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
+ {"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;AAQpC,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,19 @@
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
- export const VENDOR_ROOT = path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "vendor", "node_modules");
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");
7
10
  // Pricing cache
8
11
  let PRICING_CACHE = null;
9
12
  export async function loadModelPricing() {
10
13
  if (PRICING_CACHE)
11
14
  return PRICING_CACHE;
12
15
  try {
13
- const modelsPath = path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "models.json");
16
+ const modelsPath = path.join(PACKAGE_ROOT, "models.json");
14
17
  const data = await fs.readFile(modelsPath, "utf8");
15
18
  PRICING_CACHE = JSON.parse(data);
16
19
  return PRICING_CACHE;
@@ -29,21 +32,27 @@ export const DEFAULT_TOKENSCOPE_CONFIG = {
29
32
  enableSkillAnalysis: true,
30
33
  };
31
34
  let TOKENSCOPE_CONFIG_CACHE = null;
32
- export async function loadTokenscopeConfig() {
33
- if (TOKENSCOPE_CONFIG_CACHE)
34
- return TOKENSCOPE_CONFIG_CACHE;
35
+ async function readTokenscopeConfigFile(configPath) {
35
36
  try {
36
- const configPath = path.join(path.dirname(fileURLToPath(import.meta.url)), "..", "tokenscope-config.json");
37
37
  const data = await fs.readFile(configPath, "utf8");
38
- const config = { ...DEFAULT_TOKENSCOPE_CONFIG, ...JSON.parse(data) };
39
- TOKENSCOPE_CONFIG_CACHE = config;
40
- return config;
38
+ return JSON.parse(data);
41
39
  }
42
40
  catch {
43
- TOKENSCOPE_CONFIG_CACHE = DEFAULT_TOKENSCOPE_CONFIG;
44
- return DEFAULT_TOKENSCOPE_CONFIG;
41
+ return null;
45
42
  }
46
43
  }
44
+ export async function loadTokenscopeConfig() {
45
+ if (TOKENSCOPE_CONFIG_CACHE)
46
+ return TOKENSCOPE_CONFIG_CACHE;
47
+ const userConfig = await readTokenscopeConfigFile(USER_TOKENSCOPE_CONFIG_PATH);
48
+ const bundledConfig = userConfig ? null : await readTokenscopeConfigFile(BUNDLED_TOKENSCOPE_CONFIG_PATH);
49
+ TOKENSCOPE_CONFIG_CACHE = {
50
+ ...DEFAULT_TOKENSCOPE_CONFIG,
51
+ ...(bundledConfig ?? {}),
52
+ ...(userConfig ?? {}),
53
+ };
54
+ return TOKENSCOPE_CONFIG_CACHE;
55
+ }
47
56
  // OpenAI model mapping for tiktoken
48
57
  export const OPENAI_MODEL_MAP = {
49
58
  "gpt-5": "gpt-4o",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../tokenscope-lib/config.ts"],"names":[],"mappings":"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"}
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;AAE9C,qBAAa,eAAe;IAC1B,OAAO,CAAC,gBAAgB,CAAkB;gBAE9B,gBAAgB,EAAE,gBAAgB;IAI9C;;OAEG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,qBAAqB,CAAC;IAyBjC;;OAEG;YACW,SAAS;IAoBvB;;;;;;;;;OASG;YACW,uBAAuB;IAyBrC;;OAEG;YACW,0BAA0B;IAqIxC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;;;;;;;;;;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;CA6CjC"}
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;AAE9C,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;IAyCtC;;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;CAuCjC"}