@simosphere/tokenizer-speedup 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/README-plugin.md +17 -1
- package/README.de.md +41 -1
- package/README.md +41 -1
- package/dist/cli/analyze.js +1 -1
- package/dist/cli/config-cmd.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/init-cmd.js +1 -1
- package/dist/cli/setup-cmd.js +1 -1
- package/dist/cloud/stripe-checkout.js +1 -1
- package/dist/cloud/stripe-config.js +1 -1
- package/dist/cloud/stripe-usage.js +1 -1
- package/dist/cloud/stripe-webhooks.js +1 -1
- package/dist/cloud/subscription-store.js +1 -1
- package/dist/manifest.json +37 -37
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/resources.js +1 -1
- package/dist/mcp/session.js +1 -1
- package/dist/mcp/tools.js +1 -1
- package/dist/plugin/cli.js +1 -1
- package/dist/plugin/config-loader.js +1 -1
- package/dist/plugin/context-compressor.js +1 -1
- package/dist/plugin/hook-dispatcher.js +1 -1
- package/dist/plugin/metering-client.js +1 -1
- package/dist/plugin/metrics-collector.js +1 -1
- package/dist/plugin/onboarding.js +1 -1
- package/dist/plugin/precompact-handler.js +1 -1
- package/dist/plugin/report.js +1 -1
- package/dist/plugin/rule-analytics-store.js +1 -1
- package/dist/plugin/rule-analytics.js +1 -1
- package/dist/plugin/rule-engine.js +1 -1
- package/dist/plugin/rule-sharing.js +1 -1
- package/dist/plugin/rule-suggest.js +1 -1
- package/dist/plugin/session-start.js +1 -1
- package/dist/plugin/smart-context.js +1 -1
- package/dist/shared/license.js +1 -1
- package/dist/shared/providers/claude-provider.js +1 -1
- package/dist/shared/providers/openai-provider.js +1 -1
- package/dist/shared/token-counter.js +1 -1
- package/dist/shared/token-provider.js +1 -1
- package/package.json +1 -1
package/README-plugin.md
CHANGED
|
@@ -16,6 +16,22 @@ tsu setup --api-key YOUR_KEY
|
|
|
16
16
|
|
|
17
17
|
The `tsu setup` command configures Claude Code hooks automatically and stores your API key. Restart Claude Code after setup.
|
|
18
18
|
|
|
19
|
+
## Claude Desktop (MCP)
|
|
20
|
+
|
|
21
|
+
Since v0.8.0, an MCP server (`tsu-mcp`) is included. Add to `claude_desktop_config.json`:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"mcpServers": {
|
|
26
|
+
"tokenizer-speedup": {
|
|
27
|
+
"command": "tsu-mcp"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Tools: `optimize-context`, `analyze-tokens`, `get-savings`
|
|
34
|
+
|
|
19
35
|
## How It Works
|
|
20
36
|
|
|
21
37
|
1. **Context Gating** — YAML rules detect what you're working on and load only relevant context
|
|
@@ -60,7 +76,7 @@ metering:
|
|
|
60
76
|
## Requirements
|
|
61
77
|
|
|
62
78
|
- Node.js 20+
|
|
63
|
-
- Claude Code
|
|
79
|
+
- Claude Code or Claude Desktop
|
|
64
80
|
|
|
65
81
|
## Links
|
|
66
82
|
|
package/README.de.md
CHANGED
|
@@ -72,6 +72,45 @@ Claude Code neu starten. Fertig.
|
|
|
72
72
|
|
|
73
73
|
API-Schlüssel erhalten Sie auf [tokenizer-speedup.simosphereai.com](https://tokenizer-speedup.simosphereai.com).
|
|
74
74
|
|
|
75
|
+
## Claude Desktop (MCP)
|
|
76
|
+
|
|
77
|
+
Seit v0.8.0 enthält TokenizerSpeedUp einen MCP-Server für Claude Desktop.
|
|
78
|
+
|
|
79
|
+
### Einrichtung
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npm install -g @simosphere/tokenizer-speedup
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Fügen Sie folgendes in Ihre `claude_desktop_config.json` ein:
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"mcpServers": {
|
|
90
|
+
"tokenizer-speedup": {
|
|
91
|
+
"command": "tsu-mcp"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Claude Desktop neu starten.
|
|
98
|
+
|
|
99
|
+
### Verfügbare Tools
|
|
100
|
+
|
|
101
|
+
| Tool | Beschreibung |
|
|
102
|
+
|---|---|
|
|
103
|
+
| `optimize-context` | LLM-Kontext für einen gegebenen Prompt optimieren |
|
|
104
|
+
| `analyze-tokens` | Tokens für Text oder Dateien zählen und schätzen |
|
|
105
|
+
| `get-savings` | Kumulative Session-Einsparungen zurückgeben |
|
|
106
|
+
|
|
107
|
+
### Verfügbare Ressourcen
|
|
108
|
+
|
|
109
|
+
| Ressource | Beschreibung |
|
|
110
|
+
|---|---|
|
|
111
|
+
| `config://current` | Aktuelle YAML-Konfiguration |
|
|
112
|
+
| `report://savings` | Session-Einsparungsbericht |
|
|
113
|
+
|
|
75
114
|
## Ergebnisse
|
|
76
115
|
|
|
77
116
|
Reale Daten der SIMO GmbH (2 Wochen):
|
|
@@ -147,11 +186,12 @@ Claude Code
|
|
|
147
186
|
- **Rule Engine** — YAML-Konfiguration, Node.js Parser
|
|
148
187
|
- **Token Meter** — gpt-tokenizer (lokal)
|
|
149
188
|
- **Cloud** — Metering API + Dashboard + Stripe Billing
|
|
189
|
+
- **MCP Server** — JSON-RPC über stdio, für Claude Desktop
|
|
150
190
|
|
|
151
191
|
## Voraussetzungen
|
|
152
192
|
|
|
153
193
|
- Node.js 20+
|
|
154
|
-
- Claude Code
|
|
194
|
+
- Claude Code oder Claude Desktop
|
|
155
195
|
|
|
156
196
|
## Links
|
|
157
197
|
|
package/README.md
CHANGED
|
@@ -72,6 +72,45 @@ Restart Claude Code. Done.
|
|
|
72
72
|
|
|
73
73
|
Get your API key at [tokenizer-speedup.simosphereai.com](https://tokenizer-speedup.simosphereai.com).
|
|
74
74
|
|
|
75
|
+
## Claude Desktop (MCP)
|
|
76
|
+
|
|
77
|
+
Since v0.8.0, TokenizerSpeedUp includes an MCP server for Claude Desktop.
|
|
78
|
+
|
|
79
|
+
### Setup
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npm install -g @simosphere/tokenizer-speedup
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Add to your `claude_desktop_config.json`:
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"mcpServers": {
|
|
90
|
+
"tokenizer-speedup": {
|
|
91
|
+
"command": "tsu-mcp"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Restart Claude Desktop.
|
|
98
|
+
|
|
99
|
+
### Available Tools
|
|
100
|
+
|
|
101
|
+
| Tool | Description |
|
|
102
|
+
|---|---|
|
|
103
|
+
| `optimize-context` | Optimize LLM context for a given prompt |
|
|
104
|
+
| `analyze-tokens` | Count and estimate tokens for text or files |
|
|
105
|
+
| `get-savings` | Return cumulative session savings metrics |
|
|
106
|
+
|
|
107
|
+
### Available Resources
|
|
108
|
+
|
|
109
|
+
| Resource | Description |
|
|
110
|
+
|---|---|
|
|
111
|
+
| `config://current` | Current YAML configuration |
|
|
112
|
+
| `report://savings` | Session savings report |
|
|
113
|
+
|
|
75
114
|
## Results
|
|
76
115
|
|
|
77
116
|
Real-world data from SIMO GmbH (2 weeks):
|
|
@@ -147,11 +186,12 @@ Claude Code
|
|
|
147
186
|
- **Rule Engine** — YAML config, Node.js parser
|
|
148
187
|
- **Token Meter** — gpt-tokenizer (local)
|
|
149
188
|
- **Cloud** — Metering API + Dashboard + Stripe Billing
|
|
189
|
+
- **MCP Server** — JSON-RPC over stdio, for Claude Desktop
|
|
150
190
|
|
|
151
191
|
## Requirements
|
|
152
192
|
|
|
153
193
|
- Node.js 20+
|
|
154
|
-
- Claude Code
|
|
194
|
+
- Claude Code or Claude Desktop
|
|
155
195
|
|
|
156
196
|
## Links
|
|
157
197
|
|
package/dist/cli/analyze.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const _0x3e2d52=_0x7acd;function _0x1828(){const _0x15e84f=['162RDKleY','CmORl','192130IxQHIK','5384460xcgUHy','4617277SDJPmu','6293432IcgASF','jWTrm','9rneTum','249NyDJra','estimateTokens','1243882FGcalo','2HVrqIK','uXpJf','11OtGSkN','1108IvFXlt','gpt-4o','split','16874830osDekM','claude','countTokens','openai','length'];_0x1828=function(){return _0x15e84f;};return _0x1828();}(function(_0x52e083,_0x57cfb0){const _0x3f28d7=_0x7acd,_0x3f5ea6=_0x52e083();while(!![]){try{const _0x1c324b=parseInt(_0x3f28d7(0x176))/0x1*(parseInt(_0x3f28d7(0x175))/0x2)+parseInt(_0x3f28d7(0x173))/0x3*(parseInt(_0x3f28d7(0x179))/0x4)+parseInt(_0x3f28d7(0x16d))/0x5*(parseInt(_0x3f28d7(0x16b))/0x6)+parseInt(_0x3f28d7(0x16f))/0x7+-parseInt(_0x3f28d7(0x170))/0x8*(parseInt(_0x3f28d7(0x172))/0x9)+-parseInt(_0x3f28d7(0x17c))/0xa+-parseInt(_0x3f28d7(0x178))/0xb*(-parseInt(_0x3f28d7(0x16e))/0xc);if(_0x1c324b===_0x57cfb0)break;else _0x3f5ea6['push'](_0x3f5ea6['shift']());}catch(_0x3ac803){_0x3f5ea6['push'](_0x3f5ea6['shift']());}}}(_0x1828,0xe5221));import{readFileSync}from'node:fs';import'../shared/providers/claude-provider.js';function _0x7acd(_0x15fd48,_0x5196e7){_0x15fd48=_0x15fd48-0x16b;const _0x1828f2=_0x1828();let _0x7acdd2=_0x1828f2[_0x15fd48];return _0x7acdd2;}import'../shared/providers/openai-provider.js';import{createTokenProvider}from'../shared/token-provider.js';export function analyzeText(_0x22cfdc,_0x1c72dc=_0x3e2d52(0x17d),_0x1f1908){const _0x44eca8=_0x3e2d52,_0xc33abf={'rqSaR':'claude','CmORl':_0x44eca8(0x17a),'WQxbx':function(_0xc130e3,_0x53bab9,_0x1f5562){return _0xc130e3(_0x53bab9,_0x1f5562);}},_0x5ad55e=_0x1f1908??(_0xc33abf['rqSaR']===_0x1c72dc?'claude-sonnet-4-20250514':_0xc33abf[_0x44eca8(0x16c)]),_0x567a35=_0xc33abf['WQxbx'](createTokenProvider,_0x1c72dc,_0x5ad55e),_0x21fba9=_0x22cfdc[_0x44eca8(0x17b)](/\s+/)['filter'](Boolean)['length'];return{'tokens':_0x567a35[_0x44eca8(0x17e)](_0x22cfdc),'estimate':_0x567a35[_0x44eca8(0x174)](_0x22cfdc),'provider':_0x1c72dc,'model':_0x5ad55e,'chars':_0x22cfdc[_0x44eca8(0x180)],'words':_0x21fba9};}export function analyzeFile(_0x3e956f,_0x1aecba=_0x3e2d52(0x17d),_0x355183){const _0x5ef5b1=_0x3e2d52,_0x58fdec={'mCtNB':function(_0x165867,_0x3f562e,_0x85f7ab,_0x1434ca){return _0x165867(_0x3f562e,_0x85f7ab,_0x1434ca);},'jWTrm':'utf-8'};return _0x58fdec['mCtNB'](analyzeText,readFileSync(_0x3e956f,_0x58fdec[_0x5ef5b1(0x171)]),_0x1aecba,_0x355183);}export function compareProviders(_0x2b65b7){const _0x1430e0=_0x3e2d52,_0x27424c={'NOAMP':function(_0x357af6,_0x599dc8,_0x2082a9){return _0x357af6(_0x599dc8,_0x2082a9);},'uXpJf':_0x1430e0(0x17f)};return{'claude':_0x27424c['NOAMP'](analyzeText,_0x2b65b7,_0x1430e0(0x17d)),'openai':analyzeText(_0x2b65b7,_0x27424c[_0x1430e0(0x177)])};}
|
package/dist/cli/config-cmd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x523b16,_0x546548){const _0x34e4bc=_0xc4c4,_0x244a56=_0x523b16();while(!![]){try{const _0x1720f1=parseInt(_0x34e4bc(0x7f))/0x1+parseInt(_0x34e4bc(0x7a))/0x2+parseInt(_0x34e4bc(0x80))/0x3*(parseInt(_0x34e4bc(0x85))/0x4)+parseInt(_0x34e4bc(0x7e))/0x5*(-parseInt(_0x34e4bc(0x84))/0x6)+parseInt(_0x34e4bc(0x79))/0x7*(parseInt(_0x34e4bc(0x78))/0x8)+parseInt(_0x34e4bc(0x83))/0x9*(-parseInt(_0x34e4bc(0x7d))/0xa)+parseInt(_0x34e4bc(0x86))/0xb;if(_0x1720f1===_0x546548)break;else _0x244a56['push'](_0x244a56['shift']());}catch(_0x41da88){_0x244a56['push'](_0x244a56['shift']());}}}(_0x1a33,0x3a623));function _0xc4c4(_0x5f2532,_0x23b635){_0x5f2532=_0x5f2532-0x78;const _0x1a33f3=_0x1a33();let _0xc4c495=_0x1a33f3[_0x5f2532];return _0xc4c495;}import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';import{parseConfig}from'../plugin/config-loader.js';function _0x1a33(){const _0x288133=['model','provider','230tNWJZt','5hGlaXN','214767rEezLh','131190pxXSMb','IoEcc','rules','166599eRcypW','987402OpejjH','8ojxrwj','1124860HtcTaz','538528wcqoNg','35dcjGid','176784bWevRp'];_0x1a33=function(){return _0x288133;};return _0x1a33();}export function validateConfigYaml(_0x1a51c1){const _0xd2b3a5=_0xc4c4,_0x17d4a6={'IoEcc':function(_0x5412ee,_0x41f2c1){return _0x5412ee(_0x41f2c1);}};try{const _0x297c29=_0x17d4a6[_0xd2b3a5(0x81)](parseConfig,_0x1a51c1);return{'valid':!0x0,'provider':_0x297c29[_0xd2b3a5(0x7c)],'model':_0x297c29[_0xd2b3a5(0x7b)],'ruleCount':_0x297c29[_0xd2b3a5(0x82)]['length']};}catch(_0x4f641e){return{'valid':!0x1,'provider':'','model':'','ruleCount':0x0,'error':_0x4f641e['message']};}}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
(function(_0x32a066,_0x18e508){const _0x33b292=_0x15d8,_0x625718=_0x32a066();while(!![]){try{const _0x281826=parseInt(_0x33b292(0x194))/0x1+parseInt(_0x33b292(0x19f))/0x2+parseInt(_0x33b292(0x18e))/0x3*(-parseInt(_0x33b292(0x1aa))/0x4)+-parseInt(_0x33b292(0x197))/0x5*(parseInt(_0x33b292(0x187))/0x6)+parseInt(_0x33b292(0x184))/0x7*(parseInt(_0x33b292(0x19b))/0x8)+-parseInt(_0x33b292(0x1a7))/0x9*(-parseInt(_0x33b292(0x1a2))/0xa)+parseInt(_0x33b292(0x1ad))/0xb*(-parseInt(_0x33b292(0x1a8))/0xc);if(_0x281826===_0x18e508)break;else _0x625718['push'](_0x625718['shift']());}catch(_0x4204e9){_0x625718['push'](_0x625718['shift']());}}}(_0x2b9a,0x7b157));import{Command}from'commander';import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';import{createTokenProvider}from'../shared/token-provider.js';import{readFileSync,realpathSync}from'node:fs';import{runSetup}from'./setup-cmd.js';function _0x2b9a(){const _0x3ae18b=['-m,\x20--model\x20<model>','claude-sonnet-4-20250514','Model\x20name','VVIbp','8523zKbVgM','474972gfsHRU','lghRF','58184VLIrFS','IDgUw','Wqopq','451RuaCZG','K\x20chars)\x20—\x20processing\x20may\x20be\x20slow.','\x0aExamples:\x0a\x20\x20$\x20tsu\x20setup\x20--api-key\x20YOUR_KEY\x20\x20\x20Configure\x20and\x20register\x20Claude\x20Code\x20hooks\x0a\x20\x20$\x20tsu\x20init\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Create\x20starter\x20tokenizer-speedup.yaml\x0a\x20\x20$\x20tsu\x20analyze\x20src/index.ts\x20\x20\x20\x20\x20\x20\x20Count\x20tokens\x20in\x20a\x20file\x0a\x20\x20$\x20tsu\x20analyze\x20--text\x20\x22Hello\x22\x20\x20\x20\x20\x20Count\x20tokens\x20in\x20inline\x20text\x0a\x20\x20$\x20tsu\x20config\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Validate\x20tokenizer-speedup.yaml\x0a\x0aQuick\x20Start:\x0a\x20\x201.\x20Get\x20your\x20free\x20API\x20key\x20at\x20https://tokenizer-speedup.simosphereai.com\x0a\x20\x202.\x20Run:\x20tsu\x20setup\x20--api-key\x20YOUR_KEY\x0a\x20\x203.\x20Optional:\x20tsu\x20init\x20(creates\x20project-level\x20config)\x0a\x20\x204.\x20Restart\x20Claude\x20Code\x20—\x20the\x20plugin\x20activates\x20automatically\x0a\x0aConfiguration\x20(tokenizer-speedup.yaml):\x0a\x20\x20Place\x20in\x20your\x20project\x20root.\x20Defines\x20keyword\x20triggers,\x20file\x20patterns,\x0a\x20\x20and\x20token\x20limits.\x20Run\x20\x27tsu\x20init\x27\x20to\x20generate\x20a\x20starter\x20config.\x0a\x20\x20Docs:\x20https://tokenizer-speedup.simosphereai.com/#integration\x0a','LLM\x20provider\x20(claude,\x20openai)','replace','message','requiredOption','after','LEnHs','argument','wEFEL','length','claude','Analyze\x20token\x20count\x20of\x20a\x20file\x20or\x20text','description','stringify','rules','utf-8','-p,\x20--provider\x20<provider>','[file]','3954734SljSpz','version','0.8.1','12zqnuNZ','1.4','toFixed','argv','GDgXM','error','1.3','54vgmsmj','aJBGU','hEMVG','apiKey','-t,\x20--text\x20<text>','action','954868bsnRzZ','analyze','tsu','1816985xQaaRM','iCxkP','Config\x20file\x20path','option','8zWgmWS','command','provider','Configure\x20TokenizerSpeedUp\x20with\x20your\x20API\x20key\x20and\x20register\x20Claude\x20Code\x20hooks','1920654DaBSoA','Create\x20a\x20starter\x20tokenizer-speedup.yaml\x20in\x20the\x20current\x20directory','setup','6710qzsaDr'];_0x2b9a=function(){return _0x3ae18b;};return _0x2b9a();}function _0x15d8(_0x1881e9,_0x207245){_0x1881e9=_0x1881e9-0x17e;const _0x2b9af9=_0x2b9a();let _0x15d857=_0x2b9af9[_0x1881e9];return _0x15d857;}import{runInit}from'./init-cmd.js';export function buildCLI(){const _0x57f048=_0x15d8,_0x3fa04a={'bMrRa':_0x57f048(0x1b9),'RbjIw':_0x57f048(0x1a4),'SSVzh':'gpt-4o','IDgUw':'Error:\x20provide\x20a\x20file\x20argument\x20or\x20--text\x20option','iCxkP':function(_0x49f6ba,_0x51f172){return _0x49f6ba>_0x51f172;},'QYFvR':function(_0x201654,_0x3297a0){return _0x201654===_0x3297a0;},'IKArJ':'openai','TDpdh':_0x57f048(0x18d),'vAGGs':_0x57f048(0x188),'CsdQP':function(_0x502482,_0x26e811,_0x5e7220){return _0x502482(_0x26e811,_0x5e7220);},'gSxAV':_0x57f048(0x181),'wEFEL':'TokenizerSpeedUp\x20—\x20Multi-LLM\x20Token\x20Optimization\x20CLI','Wqopq':_0x57f048(0x186),'HkYlG':_0x57f048(0x1b4),'dngpB':_0x57f048(0x1af),'LEnHs':_0x57f048(0x1a1),'aJBGU':'--api-key\x20<key>','ApKQz':_0x57f048(0x195),'VVIbp':_0x57f048(0x1ba),'hEMVG':_0x57f048(0x183),'GDgXM':_0x57f048(0x182),'lghRF':_0x57f048(0x1b0),'urRWO':'config'},_0x21bc71=new Command();return _0x21bc71['name'](_0x57f048(0x196))[_0x57f048(0x17e)](_0x3fa04a[_0x57f048(0x1b7)])[_0x57f048(0x185)](_0x3fa04a[_0x57f048(0x1ac)])['addHelpText'](_0x3fa04a['HkYlG'],_0x3fa04a['dngpB']),_0x21bc71[_0x57f048(0x19c)](_0x3fa04a[_0x57f048(0x1b5)])['description'](_0x57f048(0x19e))[_0x57f048(0x1b3)](_0x3fa04a[_0x57f048(0x18f)],'Your\x20TokenizerSpeedUp\x20API\x20key\x20(get\x20one\x20at\x20https://tokenizer-speedup.simosphereai.com)')['action'](_0x106960=>{const _0x407adb=_0x57f048;runSetup(_0x106960[_0x407adb(0x191)]);}),_0x21bc71['command'](_0x3fa04a['ApKQz'])['description'](_0x3fa04a[_0x57f048(0x1a6)])[_0x57f048(0x1b6)](_0x3fa04a[_0x57f048(0x190)],'File\x20to\x20analyze')[_0x57f048(0x19a)](_0x3fa04a[_0x57f048(0x18b)],_0x3fa04a[_0x57f048(0x1a9)],_0x3fa04a['bMrRa'])['option'](_0x57f048(0x1a3),_0x57f048(0x1a5))['option'](_0x57f048(0x192),'Analyze\x20inline\x20text\x20instead\x20of\x20file')['action']((_0xd53d9a,_0x4f9c68)=>{const _0x4bd8eb=_0x57f048,_0x1e9126=_0x4f9c68['model']??(_0x3fa04a['bMrRa']===_0x4f9c68[_0x4bd8eb(0x19d)]?_0x3fa04a['RbjIw']:_0x3fa04a['SSVzh']);let _0x494566,_0xfb6153;try{_0x494566=createTokenProvider(_0x4f9c68['provider'],_0x1e9126);}catch(_0x2241ee){return console[_0x4bd8eb(0x18c)]('Error:\x20'+_0x2241ee[_0x4bd8eb(0x1b2)]),void(process['exitCode']=0x1);}if(void 0x0!==_0x4f9c68['text'])_0xfb6153=_0x4f9c68['text'];else{if(!_0xd53d9a)return console['error'](_0x3fa04a[_0x4bd8eb(0x1ab)]),void(process['exitCode']=0x1);_0xfb6153=readFileSync(_0xd53d9a,_0x4bd8eb(0x181));}_0x3fa04a[_0x4bd8eb(0x198)](_0xfb6153['length'],0x7a120)&&console['error']('Warning:\x20large\x20input\x20('+(_0xfb6153[_0x4bd8eb(0x1b8)]/0x3e8)[_0x4bd8eb(0x189)](0x0)+_0x4bd8eb(0x1ae));const _0xc246cb=_0x494566['countTokens'](_0xfb6153),_0x4ec280=_0x494566['estimateTokens'](_0xfb6153);console['log'](JSON['stringify']({'file':_0xd53d9a??'(inline)','tokens':_0xc246cb,'tokens_method':'BPE\x20tokenizer\x20(accurate)','estimate':_0x4ec280,'estimate_method':'word\x20heuristic\x20(words\x20×\x20'+(_0x3fa04a['QYFvR'](_0x3fa04a['IKArJ'],_0x4f9c68[_0x4bd8eb(0x19d)])?_0x3fa04a['TDpdh']:_0x3fa04a['vAGGs'])+')','provider':_0x4f9c68['provider'],'model':_0x1e9126}));}),_0x21bc71[_0x57f048(0x19c)](_0x3fa04a['urRWO'])['description']('Validate\x20configuration\x20file')['argument'](_0x3fa04a['hEMVG'],_0x57f048(0x199),'tokenizer-speedup.yaml')['action'](async _0x25e4f1=>{const _0x13c26b=_0x57f048;try{const _0x56a5b2=_0x3fa04a['CsdQP'](readFileSync,_0x25e4f1,_0x3fa04a['gSxAV']),{parseConfig:_0x183187}=await import('../plugin/config-loader.js'),_0x3a9775=_0x183187(_0x56a5b2);console['log'](JSON['stringify']({'valid':!0x0,'provider':_0x3a9775[_0x13c26b(0x19d)],'model':_0x3a9775['model'],'ruleCount':_0x3a9775[_0x13c26b(0x180)][_0x13c26b(0x1b8)]}));}catch(_0x4f9c93){console['log'](JSON[_0x13c26b(0x17f)]({'valid':!0x1,'error':_0x4f9c93['message']})),process['exitCode']=0x1;}}),_0x21bc71['command']('init')[_0x57f048(0x17e)](_0x57f048(0x1a0))[_0x57f048(0x193)](()=>{runInit();}),_0x21bc71;}const resolvedArgv1=((()=>{const _0x451b3b=_0x15d8;try{return realpathSync(process[_0x451b3b(0x18a)][0x1]??'')['replace'](/\\/g,'/');}catch{return process['argv'][0x1]?.[_0x451b3b(0x1b1)](/\\/g,'/')??'';}})());resolvedArgv1['includes']('cli/index')&&buildCLI()['parse']();
|
package/dist/cli/init-cmd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x340214=_0x398f;(function(_0xc6b7d4,_0x23b794){const _0x348504=_0x398f,_0xb03cbd=_0xc6b7d4();while(!![]){try{const _0xbbc43f=parseInt(_0x348504(0x11f))/0x1+-parseInt(_0x348504(0x128))/0x2+parseInt(_0x348504(0x11e))/0x3*(-parseInt(_0x348504(0x120))/0x4)+-parseInt(_0x348504(0x11c))/0x5+-parseInt(_0x348504(0x125))/0x6*(parseInt(_0x348504(0x129))/0x7)+-parseInt(_0x348504(0x121))/0x8+-parseInt(_0x348504(0x119))/0x9*(-parseInt(_0x348504(0x127))/0xa);if(_0xbbc43f===_0x23b794)break;else _0xb03cbd['push'](_0xb03cbd['shift']());}catch(_0x5c9863){_0xb03cbd['push'](_0xb03cbd['shift']());}}}(_0x24fb,0x3a555));import{writeFileSync,existsSync}from'node:fs';import{join}from'node:path';const STARTER_CONFIG=_0x340214(0x12c);function _0x24fb(){const _0x31801e=['208387wHQROJ','24UVlLhF','1731624UXSRFz','DngtI','Next\x20steps:','sUIxS','12NansIU','\x20\x201.\x20Edit\x20the\x20rules\x20to\x20match\x20your\x20project\x20structure','3020170AaHHoW','853036xurpsY','929894VhJRak','utf-8','LyMxD','#\x20tokenizer-speedup.yaml\x20—\x20Project\x20Configuration\x0a#\x20Docs:\x20https://tokenizer-speedup.simosphereai.com/#integration\x0aversion:\x201\x0a\x0arules:\x0a\x20\x20-\x20trigger:\x20[\x22fix\x22,\x20\x22bug\x22,\x20\x22error\x22,\x20\x22crash\x22]\x0a\x20\x20\x20\x20load:\x20\x22docs/lessons-learned/*.md\x22\x0a\x20\x20\x20\x20max_tokens:\x202000\x0a\x0a\x20\x20-\x20trigger:\x20[\x22design\x22,\x20\x22brand\x22,\x20\x22theme\x22]\x0a\x20\x20\x20\x20load:\x20\x22docs/design/*.md\x22\x0a\x20\x20\x20\x20summary_only:\x20true\x0a\x0acontext_limits:\x0a\x20\x20max_injected_tokens:\x204000\x0a\x20\x20max_file_tokens:\x201500\x0a\x20\x20compress_above:\x20800\x0a\x0ametering:\x0a\x20\x20endpoint:\x20\x22https://api.simosphere.ai/v1/meter\x22\x0a\x20\x20batch_interval:\x2060\x0a\x20\x20send_content:\x20false\x0a','cwd','tokenizer-speedup.yaml\x20already\x20exists\x20in\x20this\x20directory.','45liRApt','sMRqt','NlqmI','1811290qTyEUN','log','104313nvlgfC'];_0x24fb=function(){return _0x31801e;};return _0x24fb();}function _0x398f(_0x156a6f,_0x17b7a8){_0x156a6f=_0x156a6f-0x118;const _0x24fb73=_0x24fb();let _0x398f82=_0x24fb73[_0x156a6f];return _0x398f82;}export function runInit(){const _0x28bc03=_0x340214,_0x89ede7={'LyMxD':function(_0x106e3f,_0x2f126d,_0x4c6ea4){return _0x106e3f(_0x2f126d,_0x4c6ea4);},'sMRqt':'tokenizer-speedup.yaml','PsWsk':_0x28bc03(0x118),'sUIxS':_0x28bc03(0x12a),'yJXlK':_0x28bc03(0x123),'NlqmI':_0x28bc03(0x126),'DngtI':'\x20\x202.\x20Run:\x20tsu\x20config\x20tokenizer-speedup.yaml\x20\x20(to\x20validate)'},_0x4fa5cf=_0x89ede7[_0x28bc03(0x12b)](join,process[_0x28bc03(0x12d)](),_0x89ede7[_0x28bc03(0x11a)]);if(existsSync(_0x4fa5cf))return console['error'](_0x89ede7['PsWsk']),void(process['exitCode']=0x1);writeFileSync(_0x4fa5cf,STARTER_CONFIG,_0x89ede7[_0x28bc03(0x124)]),console[_0x28bc03(0x11d)]('Created\x20tokenizer-speedup.yaml'),console['log'](''),console[_0x28bc03(0x11d)](_0x89ede7['yJXlK']),console['log'](_0x89ede7[_0x28bc03(0x11b)]),console['log'](_0x89ede7[_0x28bc03(0x122)]),console[_0x28bc03(0x11d)]('\x20\x203.\x20Restart\x20Claude\x20Code\x20to\x20pick\x20up\x20the\x20new\x20config');}
|
package/dist/cli/setup-cmd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x2ea414=_0x47ca;(function(_0x180775,_0x2a7616){const _0x3d7547=_0x47ca,_0xc36563=_0x180775();while(!![]){try{const _0xd2aa14=-parseInt(_0x3d7547(0xaa))/0x1+-parseInt(_0x3d7547(0xb1))/0x2+parseInt(_0x3d7547(0xa8))/0x3*(parseInt(_0x3d7547(0xba))/0x4)+parseInt(_0x3d7547(0xc5))/0x5*(parseInt(_0x3d7547(0xc0))/0x6)+parseInt(_0x3d7547(0xae))/0x7*(parseInt(_0x3d7547(0xc1))/0x8)+-parseInt(_0x3d7547(0xb8))/0x9+parseInt(_0x3d7547(0xb2))/0xa*(parseInt(_0x3d7547(0xaf))/0xb);if(_0xd2aa14===_0x2a7616)break;else _0xc36563['push'](_0xc36563['shift']());}catch(_0x4db728){_0xc36563['push'](_0xc36563['shift']());}}}(_0x214b,0x2b139));function _0x47ca(_0x33a50b,_0x2bb688){_0x33a50b=_0x33a50b-0xa1;const _0x214b91=_0x214b();let _0x47ca82=_0x214b91[_0x33a50b];return _0x47ca82;}import{readFileSync,writeFileSync,mkdirSync}from'node:fs';import{join}from'node:path';import{homedir}from'node:os';const CONFIG_DIR=join(homedir(),_0x2ea414(0xa1),_0x2ea414(0xa7)),CONFIG_FILE=join(CONFIG_DIR,_0x2ea414(0xad)),CLAUDE_SETTINGS_FILE=join(homedir(),_0x2ea414(0xbc),'settings.local.json');export function runSetup(_0x5cf9f0){const _0x2144f4=_0x2ea414,_0x1677de={'hZFIw':'❌\x20API\x20key\x20is\x20too\x20short\x20(minimum\x208\x20characters).','izOBA':_0x2144f4(0xb5),'SXyXC':'⚠️\x20\x20Claude\x20Code\x20will\x20restart\x20automatically\x20to\x20load\x20the\x20plugin.\x20This\x20is\x20expected\x20behavior.','LQtIo':function(_0xc5b71b){return _0xc5b71b();},'wqAjZ':'✅\x20Hooks\x20registered\x20in\x20Claude\x20Code\x20settings.'};try{if(!_0x5cf9f0||0x0===_0x5cf9f0[_0x2144f4(0xa2)]()['length'])return console['error'](_0x2144f4(0xbe)),void(process[_0x2144f4(0xac)]=0x1);if(_0x5cf9f0[_0x2144f4(0xa2)]()['length']<0x8)return console['error'](_0x1677de[_0x2144f4(0xa4)]),void(process['exitCode']=0x1);saveApiKey(_0x5cf9f0[_0x2144f4(0xa2)]()),console['log'](_0x1677de[_0x2144f4(0xc3)]),console[_0x2144f4(0xa9)](_0x1677de[_0x2144f4(0xb9)]),_0x1677de['LQtIo'](registerHooks),console['log'](_0x1677de['wqAjZ']),console['log'](''),console['log'](_0x2144f4(0xab));}catch(_0x222f3d){console['error'](_0x2144f4(0xbb)+_0x222f3d[_0x2144f4(0xc4)]),process[_0x2144f4(0xac)]=0x1;}}function saveApiKey(_0x2eb432){const _0x4c8fc1=_0x2ea414;mkdirSync(CONFIG_DIR,{'recursive':!0x0});let _0x4808fc={};try{_0x4808fc=JSON[_0x4c8fc1(0xa6)](readFileSync(CONFIG_FILE,'utf-8'));}catch{}_0x4808fc['apiKey']=_0x2eb432,writeFileSync(CONFIG_FILE,JSON[_0x4c8fc1(0xc6)](_0x4808fc,null,0x2)+'\x0a','utf-8');}function _0x214b(){const _0x3eff36=['parse','tokenizer-speedup','24234vmUFXl','log','336689NenDFY','Setup\x20complete.\x20Please\x20restart\x20Claude\x20Code\x20to\x20activate\x20the\x20plugin.','exitCode','config.json','112XIxRYs','2310913tTEjFS','utf-8','668224ijSjmg','20kACeym','wedbJ','UiBHI','✅\x20API\x20key\x20saved\x20successfully.','hooks','ItWRu','1368504CZkxFr','SXyXC','96hTITKB','❌\x20Setup\x20failed:\x20','.claude','SessionStart','❌\x20API\x20key\x20cannot\x20be\x20empty.','UserPromptSubmit','12FwfccS','130064jSIpzk','dlKbB','izOBA','message','312830USurzX','stringify','cAnsm','.config','trim','command','hZFIw','vdaSM'];_0x214b=function(){return _0x3eff36;};return _0x214b();}function registerHooks(){const _0xbc515e=_0x2ea414,_0xcaa7a8={'BcciB':function(_0x2c914e,_0x269ceb,_0x113551){return _0x2c914e(_0x269ceb,_0x113551);},'VbkkG':_0xbc515e(0xbc),'cAnsm':function(_0x2d0951,_0x419e40,_0x1274a7){return _0x2d0951(_0x419e40,_0x1274a7);},'ItWRu':'startup|resume|clear|compact','dlKbB':_0xbc515e(0xa7),'UiBHI':'command','XupBB':function(_0x344a45,_0x1cb2d8,_0x3b9b29,_0x5c9d3b){return _0x344a45(_0x1cb2d8,_0x3b9b29,_0x5c9d3b);},'wedbJ':function(_0x23aedb,_0x3a5031){return _0x23aedb+_0x3a5031;},'zCLjc':'utf-8'};_0xcaa7a8['BcciB'](mkdirSync,join(homedir(),_0xcaa7a8['VbkkG']),{'recursive':!0x0});let _0x313bc1={};try{_0x313bc1=JSON['parse'](_0xcaa7a8[_0xbc515e(0xc7)](readFileSync,CLAUDE_SETTINGS_FILE,_0xbc515e(0xb0)));}catch{}const _0x367c4d=_0x313bc1[_0xbc515e(0xb6)]??{};_0x367c4d[_0xbc515e(0xbd)]=[{'matcher':_0xcaa7a8[_0xbc515e(0xb7)],'hooks':[{'type':_0xbc515e(0xa3),'command':_0xcaa7a8[_0xbc515e(0xc2)],'timeout':0x5}]}],_0x367c4d[_0xbc515e(0xbf)]=[{'matcher':'','hooks':[{'type':_0xcaa7a8['UiBHI'],'command':_0xcaa7a8[_0xbc515e(0xc2)]}]}],_0x367c4d['PreCompact']=[{'matcher':'','hooks':[{'type':_0xbc515e(0xa3),'command':_0xcaa7a8['dlKbB'],'timeout':0xa}]}],_0x367c4d['Stop']=[{'matcher':'','hooks':[{'type':_0xcaa7a8[_0xbc515e(0xb4)],'command':'tokenizer-speedup','timeout':0xa}]}],_0x313bc1[_0xbc515e(0xb6)]=_0x367c4d,_0xcaa7a8['XupBB'](writeFileSync,CLAUDE_SETTINGS_FILE,_0xcaa7a8[_0xbc515e(0xb3)](JSON['stringify'](_0x313bc1,null,0x2),'\x0a'),_0xcaa7a8['zCLjc']);}export function loadApiKeyFromConfig(){const _0x519a57=_0x2ea414,_0x5bf6f1={'vdaSM':_0x519a57(0xb0)};try{return JSON[_0x519a57(0xa6)](readFileSync(CONFIG_FILE,_0x5bf6f1[_0x519a57(0xa5)]))['apiKey']??void 0x0;}catch{return;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2010ff,_0x314fbb){const _0x4956fe=_0x5801,_0x402593=_0x2010ff();while(!![]){try{const _0x12e1f5=-parseInt(_0x4956fe(0xd7))/0x1+parseInt(_0x4956fe(0xdf))/0x2*(parseInt(_0x4956fe(0xd6))/0x3)+parseInt(_0x4956fe(0xe0))/0x4+parseInt(_0x4956fe(0xd9))/0x5+-parseInt(_0x4956fe(0xd5))/0x6+parseInt(_0x4956fe(0xdd))/0x7*(-parseInt(_0x4956fe(0xdc))/0x8)+-parseInt(_0x4956fe(0xd8))/0x9*(-parseInt(_0x4956fe(0xdb))/0xa);if(_0x12e1f5===_0x314fbb)break;else _0x402593['push'](_0x402593['shift']());}catch(_0x154cbf){_0x402593['push'](_0x402593['shift']());}}}(_0x1964,0x2bd8f));export function buildCheckoutParams(_0x3bdd60){const _0xfc5318=_0x5801,_0xdac372=[{'price':_0x3bdd60['recurringPriceId'],'quantity':0x1}];return _0x3bdd60['meteredPriceId']&&_0xdac372['push']({'price':_0x3bdd60[_0xfc5318(0xda)]}),{'customer':_0x3bdd60[_0xfc5318(0xe2)],'mode':_0xfc5318(0xe3),'line_items':_0xdac372,'success_url':_0x3bdd60[_0xfc5318(0xe1)],'cancel_url':_0x3bdd60[_0xfc5318(0xde)],'metadata':{'tier':_0x3bdd60['tier']}};}function _0x5801(_0xa598e3,_0x143a5b){_0xa598e3=_0xa598e3-0xd5;const _0x19642f=_0x1964();let _0x580188=_0x19642f[_0xa598e3];return _0x580188;}function _0x1964(){const _0x3ca468=['customerId','subscription','1015668QJwvRy','144123DsVwLB','42607qIzaVY','9uFsJnn','211400hqUWvO','meteredPriceId','4313020vtqVhS','2780440Iceylc','7TbKyPi','cancelUrl','6HqtKqp','485336FUqAbH','successUrl'];_0x1964=function(){return _0x3ca468;};return _0x1964();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x5e3a(){const _0x866b5c=['Unlimited\x20optimization.\x20$5/mo\x20+\x2010%\x20of\x20savings\x20over\x20500K\x20tokens.','2870GvfLzE','Up\x20to\x20100K\x20tokens\x20saved/month.\x20Basic\x20dashboard.','50EdgACB','489408UwRaFN','65532YveqoN','98340RyPdRT','7734noHmNW','9DIckPw','240VQjkft','7516460YfsnES','460176BpWRVz','468689JPiEDV','Per-seat\x20pricing.\x20$15/mo/seat\x20+\x208%\x20of\x20savings\x20over\x201M\x20tokens.','99TtovGq','TokenizerSpeedUp\x20Team'];_0x5e3a=function(){return _0x866b5c;};return _0x5e3a();}const _0x44231c=_0x5613;(function(_0x5858b5,_0x3dcb58){const _0x2ea4c7=_0x5613,_0x40bfd2=_0x5858b5();while(!![]){try{const _0x32f0f8=parseInt(_0x2ea4c7(0x140))/0x1+-parseInt(_0x2ea4c7(0x138))/0x2*(parseInt(_0x2ea4c7(0x13c))/0x3)+parseInt(_0x2ea4c7(0x139))/0x4*(parseInt(_0x2ea4c7(0x137))/0x5)+parseInt(_0x2ea4c7(0x13b))/0x6*(parseInt(_0x2ea4c7(0x135))/0x7)+parseInt(_0x2ea4c7(0x13f))/0x8*(parseInt(_0x2ea4c7(0x142))/0x9)+-parseInt(_0x2ea4c7(0x13e))/0xa+parseInt(_0x2ea4c7(0x13a))/0xb*(parseInt(_0x2ea4c7(0x13d))/0xc);if(_0x32f0f8===_0x3dcb58)break;else _0x40bfd2['push'](_0x40bfd2['shift']());}catch(_0x2680ea){_0x40bfd2['push'](_0x40bfd2['shift']());}}}(_0x5e3a,0x76d89));function _0x5613(_0x5bf38d,_0xf7c750){_0x5bf38d=_0x5bf38d-0x135;const _0x5e3a75=_0x5e3a();let _0x561319=_0x5e3a75[_0x5bf38d];return _0x561319;}export const STRIPE_CONFIG={'free':{'name':'TokenizerSpeedUp\x20Free','description':_0x44231c(0x136),'recurringPrice':0x0},'pro':{'name':'TokenizerSpeedUp\x20Pro','description':_0x44231c(0x144),'recurringPrice':0x1f4,'meteredUnitAmount':0x1e},'team':{'name':_0x44231c(0x143),'description':_0x44231c(0x141),'recurringPrice':0x5dc,'meteredUnitAmount':0x18}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x4912a7=_0x38bf;(function(_0x22c0a0,_0x1aa283){const _0x23071b=_0x38bf,_0x32c4b0=_0x22c0a0();while(!![]){try{const _0x543269=parseInt(_0x23071b(0xec))/0x1+-parseInt(_0x23071b(0xeb))/0x2*(parseInt(_0x23071b(0xf2))/0x3)+parseInt(_0x23071b(0xf4))/0x4*(parseInt(_0x23071b(0xf0))/0x5)+parseInt(_0x23071b(0xf3))/0x6+parseInt(_0x23071b(0xe6))/0x7+-parseInt(_0x23071b(0xed))/0x8+-parseInt(_0x23071b(0xe5))/0x9*(parseInt(_0x23071b(0xe7))/0xa);if(_0x543269===_0x1aa283)break;else _0x32c4b0['push'](_0x32c4b0['shift']());}catch(_0x2a0d57){_0x32c4b0['push'](_0x32c4b0['shift']());}}}(_0x20a5,0x67809));import{STRIPE_CONFIG}from'./stripe-config.js';function _0x38bf(_0x129dd4,_0x58ef43){_0x129dd4=_0x129dd4-0xe4;const _0x20a58b=_0x20a5();let _0x38bffe=_0x20a58b[_0x129dd4];return _0x38bffe;}const TIER_LIMITS={'free':{'allowance':0x186a0,'unitRate':0x0},'pro':{'allowance':0x7a120,'unitRate':STRIPE_CONFIG['pro']['meteredUnitAmount']},'team':{'allowance':0xf4240,'unitRate':STRIPE_CONFIG['team'][_0x4912a7(0xe8)]}};function _0x20a5(){const _0x2b60c7=['3595392zNAxqZ','2145036FDIKjz','allowance','1269CEmnsW','2152892iQhPyE','66650TOvnFk','meteredUnitAmount','now','Cmwhe','1528gAGYjg','349063wgcRPK','2094784ilGXVq','set','ceil','5vSTtEN','chargeableUnits','654ejnDKE'];_0x20a5=function(){return _0x2b60c7;};return _0x20a5();}export function calculateUsageCharge(_0x5cebd6,_0x5ef848){const _0x14071f=_0x4912a7,_0x54279d={'Cmwhe':function(_0x5cb03a,_0x1fe888){return _0x5cb03a/_0x1fe888;}},_0x46a1c5=TIER_LIMITS[_0x5cebd6];if(0x0===_0x46a1c5['unitRate'])return{'tier':_0x5cebd6,'tokensSaved':_0x5ef848,'freeAllowance':_0x46a1c5[_0x14071f(0xe4)],'chargeableTokens':0x0,'chargeableUnits':0x0,'unitRate':0x0,'amount':0x0};const _0x31ba00=Math['max'](0x0,_0x5ef848-_0x46a1c5['allowance']),_0x144bfd=Math[_0x14071f(0xef)](_0x54279d[_0x14071f(0xea)](_0x31ba00,0x186a0)),_0x1c0b1c=_0x144bfd*_0x46a1c5['unitRate'];return{'tier':_0x5cebd6,'tokensSaved':_0x5ef848,'freeAllowance':_0x46a1c5['allowance'],'chargeableTokens':_0x31ba00,'chargeableUnits':_0x144bfd,'unitRate':_0x46a1c5['unitRate'],'amount':_0x1c0b1c};}export function buildUsageRecord(_0x43a86d,_0x3b27fa){const _0x214672=_0x4912a7;return{'subscription_item':_0x43a86d,'quantity':_0x3b27fa,'action':_0x214672(0xee),'timestamp':Math['floor'](Date[_0x214672(0xe9)]()/0x3e8)};}export function prepareUsageSync(_0x3cf6ea,_0x5fcb98,_0xc39621){const _0x3535be=_0x4912a7,_0x525385={'riSwQ':function(_0x2af171,_0x1aece1){return _0x2af171===_0x1aece1;}};if(!_0xc39621)return{'synced':!0x1,'subscriptionItemId':'','chargeableUnits':0x0,'tier':_0x3cf6ea,'error':'no\x20subscription_item_id'};const _0x5d91f5=calculateUsageCharge(_0x3cf6ea,_0x5fcb98);if(_0x525385['riSwQ'](0x0,_0x5d91f5['chargeableUnits']))return{'synced':!0x0,'subscriptionItemId':_0xc39621,'chargeableUnits':0x0,'tier':_0x3cf6ea};return buildUsageRecord(_0xc39621,_0x5d91f5['chargeableUnits']),{'synced':!0x0,'subscriptionItemId':_0xc39621,'chargeableUnits':_0x5d91f5[_0x3535be(0xf1)],'tier':_0x3cf6ea};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4a53f,_0x1764b7){const _0x364d7b=_0x5aae,_0x5d8759=_0x4a53f();while(!![]){try{const _0x2a2a80=parseInt(_0x364d7b(0x17a))/0x1*(-parseInt(_0x364d7b(0x174))/0x2)+-parseInt(_0x364d7b(0x186))/0x3+-parseInt(_0x364d7b(0x16d))/0x4*(parseInt(_0x364d7b(0x16e))/0x5)+-parseInt(_0x364d7b(0x184))/0x6+parseInt(_0x364d7b(0x17e))/0x7*(parseInt(_0x364d7b(0x175))/0x8)+-parseInt(_0x364d7b(0x16c))/0x9*(parseInt(_0x364d7b(0x185))/0xa)+parseInt(_0x364d7b(0x181))/0xb;if(_0x2a2a80===_0x1764b7)break;else _0x5d8759['push'](_0x5d8759['shift']());}catch(_0x500178){_0x5d8759['push'](_0x5d8759['shift']());}}}(_0x5386,0x69b93));export function handleWebhookEvent(_0x3ca04f,_0x23a3e1){const _0x39cb3f=_0x5aae,_0x414fd8={'ozEJA':_0x39cb3f(0x172),'XHpMc':_0x39cb3f(0x183),'rqBaG':function(_0x3a96d0,_0x3bd892){return _0x3a96d0(_0x3bd892);},'AwrmF':_0x39cb3f(0x17f),'WzHAL':_0x39cb3f(0x179)};switch(_0x3ca04f['type']){case _0x39cb3f(0x17b):{const _0x454f56=_0x3ca04f['data'][_0x39cb3f(0x17c)];return{'handled':!0x0,'action':_0x39cb3f(0x180),'customerId':_0x454f56['customer'],'subscriptionId':_0x454f56[_0x39cb3f(0x178)]};}case _0x414fd8[_0x39cb3f(0x168)]:{const _0x47065a=_0x3ca04f[_0x39cb3f(0x170)][_0x39cb3f(0x17c)],_0x28052a={'handled':!0x0,'action':_0x39cb3f(0x169),'customerId':_0x47065a[_0x39cb3f(0x16a)],'subscriptionId':_0x47065a['id']};return _0x23a3e1&&_0x23a3e1[_0x39cb3f(0x16f)]({'id':_0x47065a['id'],'customerId':_0x47065a['customer'],'status':_0x47065a[_0x39cb3f(0x171)]||_0x414fd8[_0x39cb3f(0x16b)],'tier':_0x47065a['metadata']?.[_0x39cb3f(0x17d)]||'free','currentPeriodEnd':_0x47065a[_0x39cb3f(0x177)]||0x0,'meteredSubscriptionItemId':_0x414fd8['rqBaG'](extractMeteredItemId,_0x47065a),'updatedAt':''}),_0x28052a;}case'customer.subscription.deleted':{const _0x26e0e7=_0x3ca04f['data']['object'],_0x53b098={'handled':!0x0,'action':'subscription_canceled','customerId':_0x26e0e7[_0x39cb3f(0x16a)],'subscriptionId':_0x26e0e7['id']};return _0x23a3e1&&_0x23a3e1['upsert']({'id':_0x26e0e7['id'],'customerId':_0x26e0e7[_0x39cb3f(0x16a)],'status':_0x414fd8[_0x39cb3f(0x173)],'tier':_0x26e0e7['metadata']?.[_0x39cb3f(0x17d)]||_0x414fd8['WzHAL'],'currentPeriodEnd':_0x26e0e7[_0x39cb3f(0x177)]||0x0,'updatedAt':''}),_0x53b098;}default:return{'handled':!0x1,'action':'ignored'};}}function _0x5386(){const _0x2e7ba9=['115270MNkbDp','3370784IFeYoY','items','current_period_end','subscription','free','9QOsNlO','invoice.paid','object','tier','14peeFZU','canceled','invoice_paid','27583787nloXaU','recurring','active','3005694AIXhZb','1521160hhjgse','2491902PIfuYZ','ozEJA','subscription_updated','customer','XHpMc','45QINUVK','4DuVjri','1531960hicnZX','upsert','data','status','customer.subscription.updated','AwrmF'];_0x5386=function(){return _0x2e7ba9;};return _0x5386();}function _0x5aae(_0x42bb77,_0x55493d){_0x42bb77=_0x42bb77-0x168;const _0x53864f=_0x5386();let _0x5aae53=_0x53864f[_0x42bb77];return _0x5aae53;}function extractMeteredItemId(_0x531a45){const _0x54ac2b=_0x5aae,_0x3a7565=_0x531a45[_0x54ac2b(0x176)];if(!_0x3a7565?.[_0x54ac2b(0x170)])return;const _0x779d5f=_0x3a7565[_0x54ac2b(0x170)]['find'](_0xd2b2ca=>'metered'===_0xd2b2ca['price']?.[_0x54ac2b(0x182)]?.['usage_type']);return _0x779d5f?.['id'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x4705b1=_0x35ab;(function(_0x4a4aa2,_0x4a5e51){const _0x33f67b=_0x35ab,_0x548d78=_0x4a4aa2();while(!![]){try{const _0x31821c=parseInt(_0x33f67b(0xf3))/0x1+parseInt(_0x33f67b(0xfd))/0x2*(parseInt(_0x33f67b(0x100))/0x3)+parseInt(_0x33f67b(0xf2))/0x4*(-parseInt(_0x33f67b(0xfc))/0x5)+parseInt(_0x33f67b(0xff))/0x6*(-parseInt(_0x33f67b(0x101))/0x7)+-parseInt(_0x33f67b(0xf4))/0x8*(parseInt(_0x33f67b(0xfb))/0x9)+-parseInt(_0x33f67b(0xfa))/0xa+parseInt(_0x33f67b(0xf5))/0xb;if(_0x31821c===_0x4a5e51)break;else _0x548d78['push'](_0x548d78['shift']());}catch(_0x36469d){_0x548d78['push'](_0x548d78['shift']());}}}(_0x2e0f,0x19514));export class MemorySubscriptionStore{[_0x4705b1(0xf9)]=new Map();[_0x4705b1(0xf6)](_0x53a104){_0x53a104['updatedAt']=new Date()['toISOString'](),this['subs']['set'](_0x53a104['id'],_0x53a104);}['getByCustomerId'](_0x793d73){const _0x2908d2=_0x4705b1,_0x1c8a8a={'uEDOg':function(_0x2729ef,_0x34cdaa){return _0x2729ef===_0x34cdaa;}};for(const _0x38e9d8 of this['subs'][_0x2908d2(0xf8)]())if(_0x1c8a8a[_0x2908d2(0xfe)](_0x38e9d8['customerId'],_0x793d73))return _0x38e9d8;}[_0x4705b1(0xf7)](_0x2be55d){return this['subs']['get'](_0x2be55d);}['list'](){return[...this['subs']['values']()];}}function _0x35ab(_0x5b02f9,_0x54de49){_0x5b02f9=_0x5b02f9-0xf2;const _0x2e0fd7=_0x2e0f();let _0x35ab08=_0x2e0fd7[_0x5b02f9];return _0x35ab08;}function _0x2e0f(){const _0x36cd6d=['14744VSwNdo','6273960uZItRb','upsert','getBySubscriptionId','values','subs','1339270bPtNvU','594aqurPI','147020glshCU','3458DOerRn','uEDOg','36582iZtxJd','21yYyvtN','175GnNpUq','24jzMshf','105651owrdyX'];_0x2e0f=function(){return _0x36cd6d;};return _0x2e0f();}
|
package/dist/manifest.json
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.8.
|
|
3
|
-
"build": "2026-03-
|
|
2
|
+
"version": "0.8.1",
|
|
3
|
+
"build": "2026-03-06T08:02:05.507Z",
|
|
4
4
|
"files": {
|
|
5
|
-
"cli/analyze.js": "sha256:
|
|
6
|
-
"cli/config-cmd.js": "sha256:
|
|
7
|
-
"cli/index.js": "sha256:
|
|
8
|
-
"cli/init-cmd.js": "sha256:
|
|
9
|
-
"cli/setup-cmd.js": "sha256:
|
|
10
|
-
"cloud/stripe-checkout.js": "sha256:
|
|
11
|
-
"cloud/stripe-config.js": "sha256:
|
|
12
|
-
"cloud/stripe-usage.js": "sha256:
|
|
13
|
-
"cloud/stripe-webhooks.js": "sha256:
|
|
14
|
-
"cloud/subscription-store.js": "sha256:
|
|
15
|
-
"mcp/index.js": "sha256:
|
|
16
|
-
"mcp/resources.js": "sha256:
|
|
17
|
-
"mcp/session.js": "sha256:
|
|
18
|
-
"mcp/tools.js": "sha256:
|
|
19
|
-
"plugin/cli.js": "sha256:
|
|
20
|
-
"plugin/config-loader.js": "sha256:
|
|
21
|
-
"plugin/context-compressor.js": "sha256:
|
|
22
|
-
"plugin/hook-dispatcher.js": "sha256:
|
|
23
|
-
"plugin/metering-client.js": "sha256:
|
|
24
|
-
"plugin/metrics-collector.js": "sha256:
|
|
25
|
-
"plugin/onboarding.js": "sha256:
|
|
26
|
-
"plugin/precompact-handler.js": "sha256:
|
|
27
|
-
"plugin/report.js": "sha256:
|
|
28
|
-
"plugin/rule-analytics-store.js": "sha256:
|
|
29
|
-
"plugin/rule-analytics.js": "sha256:
|
|
30
|
-
"plugin/rule-engine.js": "sha256:
|
|
31
|
-
"plugin/rule-sharing.js": "sha256:
|
|
32
|
-
"plugin/rule-suggest.js": "sha256:
|
|
33
|
-
"plugin/session-start.js": "sha256:
|
|
34
|
-
"plugin/smart-context.js": "sha256:
|
|
35
|
-
"shared/license.js": "sha256:
|
|
36
|
-
"shared/providers/claude-provider.js": "sha256:
|
|
37
|
-
"shared/providers/openai-provider.js": "sha256:
|
|
38
|
-
"shared/token-counter.js": "sha256:
|
|
39
|
-
"shared/token-provider.js": "sha256:
|
|
5
|
+
"cli/analyze.js": "sha256:a6da07b9f07ca3bf6d56d6ca605b7e53a8b4dc99002e93b16643be9ef7b8cd46",
|
|
6
|
+
"cli/config-cmd.js": "sha256:6751758f20479858ad4788a2fbd5093591f48f060558dd0d7d02166da3d0f8c0",
|
|
7
|
+
"cli/index.js": "sha256:45c708613f0d81c908be0d23035b536552206ac57ff58513f8a6bda451163b57",
|
|
8
|
+
"cli/init-cmd.js": "sha256:0b7cbe89847db71df46f00a9581f801070b3ef259cf816bb463543c76ceaf17c",
|
|
9
|
+
"cli/setup-cmd.js": "sha256:c4fae763e73d12cd01171d9a820e6f7ecce0862dc8aaed80ddad692c92b60100",
|
|
10
|
+
"cloud/stripe-checkout.js": "sha256:932ee0d2025c8cb170cc9b6fe86def9929eef6be613619db4bbdd5ab622e809e",
|
|
11
|
+
"cloud/stripe-config.js": "sha256:35f6ef8518f77c416886d95695abc58b56d1c7ed5b0e5c255b8795b882c59603",
|
|
12
|
+
"cloud/stripe-usage.js": "sha256:704d58ceab47b44adf02ca55cd223a455c5c659b0b1e5569409e34065567a86b",
|
|
13
|
+
"cloud/stripe-webhooks.js": "sha256:c70b0ceeb9b705ae8176d45585dff063e33bf957f97a02ae48815222bd15aac8",
|
|
14
|
+
"cloud/subscription-store.js": "sha256:5a4cc951ca16499f0e91219439a31d243f2b105ee5cea5721706fdd21e42a6be",
|
|
15
|
+
"mcp/index.js": "sha256:d3959c17b2cba73c29e588e34b83abfdc115767d13b0fe2c671c24b7c774823c",
|
|
16
|
+
"mcp/resources.js": "sha256:5f5e36ad6d20d2219fd335e4ee5b49a732daccf3b3907da3025ace0bcad1663f",
|
|
17
|
+
"mcp/session.js": "sha256:7aa976c1e4df4a092c68c415fb42dda4294d97e348d007edac5042646862f4ed",
|
|
18
|
+
"mcp/tools.js": "sha256:aa815f5f807d0ba3f3eb2c6bcf85b578d727fd6e35aa96c849795c28d12863dd",
|
|
19
|
+
"plugin/cli.js": "sha256:14f75597ad5638c4336a5b6c40429e83caacce17cb4c84804d748c7a7f44a7d2",
|
|
20
|
+
"plugin/config-loader.js": "sha256:2cf1b0c7dcf25b7b5323342080932da807b6c23f5314949a9176dc38fe86fd4b",
|
|
21
|
+
"plugin/context-compressor.js": "sha256:546503e95e6627da78d17c1bad15b416ae8f72e4d5f0b51a4c41ba2a1ca482f8",
|
|
22
|
+
"plugin/hook-dispatcher.js": "sha256:8dc48ee8fe77d6df320fbe7ffd2c4bb4ef1a68eed155db71896e389737b2d518",
|
|
23
|
+
"plugin/metering-client.js": "sha256:e3021425b8652173a82efd4c80c5806743833ca251c6b96ce342fbdb17bc0114",
|
|
24
|
+
"plugin/metrics-collector.js": "sha256:e5f76e59fca916a20cf96d3a90dd69261bf616853c7deb2240a15d3cf2dfc849",
|
|
25
|
+
"plugin/onboarding.js": "sha256:b7b8820c54bdb95d5b5f974fb1cd2e12d5991a7b8b7a7469aec354a7a4e2ec06",
|
|
26
|
+
"plugin/precompact-handler.js": "sha256:17d16a5f59df46ef267b27d0b4fc20e38be5bcc6941cee5eabb0c1daaae64894",
|
|
27
|
+
"plugin/report.js": "sha256:9daff0042b8e9fe2bd0fc6f913256f60992c91316bf9301f5dd01e2fc38269c2",
|
|
28
|
+
"plugin/rule-analytics-store.js": "sha256:dc43b03800d54f92203d0708bd7f8b274b0c34b63244591a39495c001eb926c2",
|
|
29
|
+
"plugin/rule-analytics.js": "sha256:8cbe6c33ba85b73e04e4c7ac70d7ce518105a449d9cc8600d3a52981dbd34474",
|
|
30
|
+
"plugin/rule-engine.js": "sha256:5bd06e650c4d44ab51fd8d30c07138d6a24d6d042e417e44075a13fada4ed5f4",
|
|
31
|
+
"plugin/rule-sharing.js": "sha256:56334e01c285cb431ae7308f8e36a4f7869d18dce5e6627fc8f332784ccefeda",
|
|
32
|
+
"plugin/rule-suggest.js": "sha256:35376afd45b087ad07eae5bc093b0998c80cd840fc3bb4984ae0309ff3e321e2",
|
|
33
|
+
"plugin/session-start.js": "sha256:623284ca5a09970cce4d326dae243f0bccf8791c99dd24e68765eec72ecb67ed",
|
|
34
|
+
"plugin/smart-context.js": "sha256:fceb4e17d91974590a8751663cb6e5cda77f6bf878375cd89a54fe798a3a4400",
|
|
35
|
+
"shared/license.js": "sha256:cbd16f82da7040f5690b5b4da909bc642b0dee0d730cb917c8fc462a296315b5",
|
|
36
|
+
"shared/providers/claude-provider.js": "sha256:9a3ba3b59eb631db5f4eed86788233f9f5294d9bb9f143ce9f9439f51640b142",
|
|
37
|
+
"shared/providers/openai-provider.js": "sha256:9186756e6ed2020e376ea07cbf45c00afe072fa841015974fb33393a62ffb8cb",
|
|
38
|
+
"shared/token-counter.js": "sha256:2eeb8c67c99c42a2d888b51da6a5691247d7d8207b150245be2f81080cb9daae",
|
|
39
|
+
"shared/token-provider.js": "sha256:48c9e51680eabfbfd5527f0e477f03ea3ef42977c9f176eb79a0ed64aebf5e03",
|
|
40
40
|
"shared/types.js": "sha256:56e1b0c10087ee6ff7f949b15d1ef63cb11228ff93a159a52f9ad7ef851e4e02"
|
|
41
41
|
}
|
|
42
42
|
}
|
package/dist/mcp/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
const _0x316ca5=_0x5668;(function(_0x4bc693,_0x37765f){const _0x1d65db=_0x5668,_0x51f485=_0x4bc693();while(!![]){try{const _0x544e6d=parseInt(_0x1d65db(0xe2))/0x1+-parseInt(_0x1d65db(0xe5))/0x2*(-parseInt(_0x1d65db(0xf0))/0x3)+parseInt(_0x1d65db(0xeb))/0x4*(parseInt(_0x1d65db(0xe8))/0x5)+parseInt(_0x1d65db(0xed))/0x6+-parseInt(_0x1d65db(0xef))/0x7*(parseInt(_0x1d65db(0xe3))/0x8)+-parseInt(_0x1d65db(0xea))/0x9*(parseInt(_0x1d65db(0xee))/0xa)+-parseInt(_0x1d65db(0xec))/0xb;if(_0x544e6d===_0x37765f)break;else _0x51f485['push'](_0x51f485['shift']());}catch(_0x4534f1){_0x51f485['push'](_0x51f485['shift']());}}}(_0x3fb5,0x94a06));import'../shared/providers/claude-provider.js';function _0x5668(_0x33bec0,_0x1d612a){_0x33bec0=_0x33bec0-0xe2;const _0x3fb53e=_0x3fb5();let _0x566812=_0x3fb53e[_0x33bec0];return _0x566812;}import'../shared/providers/openai-provider.js';import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{createSession}from'./session.js';import{registerTools}from'./tools.js';function _0x3fb5(){const _0x36aa59=['763574kFrxEv','tokenizer-speedup\x20MCP\x20server\x20running','fsYZO','775iXAepN','connect','9558414gvvKHU','23628IWJhXi','14952553OuwKjk','4513110aqjQzd','10qsEuPZ','1442ifBWNT','9oZvHpw','lsCja','0.8.1','exit','SIGINT','666710EJYvZQ','17464xjWBDf','catch'];_0x3fb5=function(){return _0x36aa59;};return _0x3fb5();}import{registerResources}from'./resources.js';async function main(){const _0x152f97=_0x5668,_0x1d1e30={'lsCja':'tokenizer-speedup','fsYZO':function(_0x397d4d,_0x46cef7,_0xc233a3){return _0x397d4d(_0x46cef7,_0xc233a3);}},_0x3f1026=new McpServer({'name':_0x1d1e30[_0x152f97(0xf1)],'version':_0x152f97(0xf2)}),_0xb37286=createSession();_0x1d1e30[_0x152f97(0xe7)](registerTools,_0x3f1026,_0xb37286),_0x1d1e30[_0x152f97(0xe7)](registerResources,_0x3f1026,_0xb37286),process['on'](_0x152f97(0xf4),()=>{const _0x2436e3=_0x152f97;try{_0xb37286['getDispatcher']()['handleSessionStop']();}catch{}process[_0x2436e3(0xf3)](0x0);});const _0x58c338=new StdioServerTransport();await _0x3f1026[_0x152f97(0xe9)](_0x58c338),console['error'](_0x152f97(0xe6));}main()[_0x316ca5(0xe4)](_0x1628b1=>{const _0x1b6e1d=_0x316ca5;console['error']('tokenizer-speedup\x20MCP\x20server\x20failed\x20to\x20start:',_0x1628b1),process[_0x1b6e1d(0xf3)](0x1);});
|
package/dist/mcp/resources.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function _0x1c0c(){const _0x172400=['Returns\x20an\x20aggregated\x20report\x20of\x20token\x20savings\x20across\x20all\x20recorded\x20sessions,\x20including\x20baseline\x20vs.\x20optimized\x20counts,\x20cost\x20estimates,\x20and\x20rule\x20trigger\x20statistics.','report','application/json','tokenizer-speedup://report','4706552zHOhuU','95196LUFhYC','stringify','29160261klrVNY','108717iWqIaS','16vtzbTg','6ScCSKe','registerResource','5331720KrGFmb','hkfEQ','3422487tYlHfu','href','5706480jmCtWa','tokenizer-speedup://config'];_0x1c0c=function(){return _0x172400;};return _0x1c0c();}(function(_0x31043f,_0x3f41c8){const _0x44b61b=_0x5ba5,_0x54d404=_0x31043f();while(!![]){try{const _0x543d86=-parseInt(_0x44b61b(0x12f))/0x1*(parseInt(_0x44b61b(0x13d))/0x2)+parseInt(_0x44b61b(0x134))/0x3+-parseInt(_0x44b61b(0x13c))/0x4+-parseInt(_0x44b61b(0x136))/0x5+-parseInt(_0x44b61b(0x130))/0x6*(parseInt(_0x44b61b(0x140))/0x7)+-parseInt(_0x44b61b(0x132))/0x8+parseInt(_0x44b61b(0x13f))/0x9;if(_0x543d86===_0x3f41c8)break;else _0x54d404['push'](_0x54d404['shift']());}catch(_0xf8076d){_0x54d404['push'](_0x54d404['shift']());}}}(_0x1c0c,0x97360));import{generateReport}from'../plugin/report.js';function _0x5ba5(_0x33b6cc,_0x4b6442){_0x33b6cc=_0x33b6cc-0x12f;const _0x1c0c96=_0x1c0c();let _0x5ba58d=_0x1c0c96[_0x33b6cc];return _0x5ba58d;}export function registerResources(_0x498949,_0x21cbfd){const _0x5bbf47=_0x5ba5,_0x11262a={'YdyFl':_0x5bbf47(0x13a),'hkfEQ':_0x5bbf47(0x139),'HDMeh':_0x5bbf47(0x13b),'MCScJ':_0x5bbf47(0x138)};_0x498949['registerResource']('config',_0x5bbf47(0x137),{'title':'TokenizerSpeedUp\x20Configuration','description':'Returns\x20the\x20current\x20YAML-based\x20plugin\x20configuration\x20as\x20JSON,\x20including\x20rules,\x20context\x20limits,\x20and\x20metering\x20settings.','mimeType':_0x11262a['YdyFl']},async _0xf9d2b=>{const _0x1e0381=_0x5bbf47,_0x380f73=_0x21cbfd['getConfig']();return{'contents':[{'uri':_0xf9d2b[_0x1e0381(0x135)],'text':JSON['stringify'](_0x380f73,null,0x2)}]};}),_0x498949[_0x5bbf47(0x131)](_0x11262a[_0x5bbf47(0x133)],_0x11262a['HDMeh'],{'title':'TokenizerSpeedUp\x20Savings\x20Report','description':_0x11262a['MCScJ'],'mimeType':_0x11262a['YdyFl']},async _0x4815a=>{const _0x4cfeb4=_0x5bbf47;try{const _0x1fa0e7=generateReport(_0x21cbfd['projectRoot']);return{'contents':[{'uri':_0x4815a['href'],'text':JSON['stringify'](_0x1fa0e7,null,0x2)}]};}catch{return{'contents':[{'uri':_0x4815a[_0x4cfeb4(0x135)],'text':JSON[_0x4cfeb4(0x13e)]({'message':'No\x20metrics\x20data\x20available\x20yet.\x20Run\x20at\x20least\x20one\x20optimized\x20session\x20to\x20generate\x20a\x20report.','sessions_count':0x0,'total_baseline':0x0,'total_optimized':0x0,'total_delta':0x0,'savings_percent':0x0,'total_prompts':0x0,'rules_triggered':{},'estimated_cost_saved_usd':0x0,'period_start':'','period_end':''},null,0x2)}]};}});}
|