@simosphere/tokenizer-speedup 0.7.0 → 0.7.2

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 (40) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/README.de.md +173 -0
  3. package/README.md +173 -0
  4. package/dist/cli/analyze.js +1 -1
  5. package/dist/cli/config-cmd.js +1 -1
  6. package/dist/cli/index.d.ts +1 -0
  7. package/dist/cli/index.js +2 -1
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/setup-cmd.js +1 -1
  10. package/dist/cli/setup-cmd.js.map +1 -1
  11. package/dist/cloud/stripe-checkout.js +1 -1
  12. package/dist/cloud/stripe-config.js +1 -1
  13. package/dist/cloud/stripe-usage.js +1 -1
  14. package/dist/cloud/stripe-webhooks.js +1 -1
  15. package/dist/cloud/subscription-store.js +1 -1
  16. package/dist/manifest.json +34 -34
  17. package/dist/plugin/cli.d.ts +1 -0
  18. package/dist/plugin/cli.js +2 -1
  19. package/dist/plugin/cli.js.map +1 -1
  20. package/dist/plugin/config-loader.js +1 -1
  21. package/dist/plugin/context-compressor.js +1 -1
  22. package/dist/plugin/hook-dispatcher.js +1 -1
  23. package/dist/plugin/metering-client.js +1 -1
  24. package/dist/plugin/metrics-collector.js +1 -1
  25. package/dist/plugin/onboarding.js +1 -1
  26. package/dist/plugin/precompact-handler.js +1 -1
  27. package/dist/plugin/report.js +1 -1
  28. package/dist/plugin/rule-analytics-store.js +1 -1
  29. package/dist/plugin/rule-analytics.js +1 -1
  30. package/dist/plugin/rule-engine.js +1 -1
  31. package/dist/plugin/rule-sharing.js +1 -1
  32. package/dist/plugin/rule-suggest.js +1 -1
  33. package/dist/plugin/session-start.js +1 -1
  34. package/dist/plugin/smart-context.js +1 -1
  35. package/dist/shared/license.js +1 -1
  36. package/dist/shared/providers/claude-provider.js +1 -1
  37. package/dist/shared/providers/openai-provider.js +1 -1
  38. package/dist/shared/token-counter.js +1 -1
  39. package/dist/shared/token-provider.js +1 -1
  40. package/package.json +25 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tokenizer-speedup",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "Intelligent context optimization for LLM sessions — save 30-60% on tokens",
5
5
  "author": {
6
6
  "name": "SIMO GmbH",
package/README.de.md ADDED
@@ -0,0 +1,173 @@
1
+ <p align="center">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset=".github/simosphere-logo.svg">
4
+ <source media="(prefers-color-scheme: light)" srcset=".github/simosphere-logo-dark.svg">
5
+ <img src=".github/simosphere-logo-dark.svg" alt="SIMOSphere AI" width="280">
6
+ </picture>
7
+ </p>
8
+
9
+ <h1 align="center">TokenizerSpeedUp</h1>
10
+
11
+ <p align="center">
12
+ <strong>Weniger zahlen. Mehr bekommen.</strong><br>
13
+ Intelligente Kontext-Optimierung für Claude Code Sessions.
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="https://www.npmjs.com/package/@simosphere/tokenizer-speedup"><img src="https://img.shields.io/npm/v/@simosphere/tokenizer-speedup?color=5EBFBF&label=npm" alt="npm Version"></a>
18
+ <a href="https://github.com/SIMOSphereOS/tokenizer-speedup/actions"><img src="https://img.shields.io/github/actions/workflow/status/SIMOSphereOS/tokenizer-speedup/ci.yml?branch=main&color=5EBFBF&label=CI" alt="CI"></a>
19
+ <img src="https://img.shields.io/badge/node-%3E%3D20-5EBFBF" alt="Node.js >=20">
20
+ <img src="https://img.shields.io/badge/Lizenz-BSL--1.1-5EBFBF" alt="Lizenz BSL-1.1">
21
+ </p>
22
+
23
+ <p align="center">
24
+ <a href="https://tokenizer-speedup.simosphereai.com">Website</a> &middot;
25
+ <a href="https://github.com/SIMOSphereOS/tokenizer-speedup/wiki">Dokumentation</a> &middot;
26
+ <a href="./README.md">English</a>
27
+ </p>
28
+
29
+ ---
30
+
31
+ ## Das Problem
32
+
33
+ Jede Claude Code Session lädt Kontext — `CLAUDE.md`, Projekt-Docs, Feature-Spezifikationen, Lessons Learned. Das meiste davon wird für die aktuelle Aufgabe nicht gebraucht, verbraucht aber jedes Mal Tausende Tokens.
34
+
35
+ **TokenizerSpeedUp** erkennt, woran Sie arbeiten, und lädt nur den relevanten Kontext. Das Ergebnis: **30-60% weniger Tokens** pro Session.
36
+
37
+ ## So funktioniert's
38
+
39
+ ```
40
+ Prompt: "Fix den Authentifizierungs-Bug"
41
+ |
42
+ Keyword-Erkennung
43
+ [fix] [bug] erkannt
44
+ |
45
+ Rule Engine lädt nur:
46
+ docs/lessons-learned/*.md
47
+ |
48
+ Kontext-Kompression
49
+ (Zusammenfassungen bei Bedarf)
50
+ |
51
+ Optimierter Kontext injiziert
52
+ 2.300 Tokens statt 5.000
53
+ ```
54
+
55
+ | Schicht | Funktion |
56
+ |---|---|
57
+ | **Context Gating** | YAML-Regeln erkennen Keywords und laden nur passende Docs |
58
+ | **Context Compression** | Zusammenfassungen statt voller Dateien wo sinnvoll |
59
+ | **Session Intelligence** | Proaktives Kontext-Management gegen Compacting |
60
+
61
+ ## Schnellstart
62
+
63
+ ```bash
64
+ # Global installieren
65
+ npm install -g @simosphere/tokenizer-speedup
66
+
67
+ # Setup mit API-Schlüssel
68
+ tsu setup --api-key IHR_KEY
69
+ ```
70
+
71
+ Claude Code neu starten. Fertig.
72
+
73
+ API-Schlüssel erhalten Sie auf [tokenizer-speedup.simosphereai.com](https://tokenizer-speedup.simosphereai.com).
74
+
75
+ ## Ergebnisse
76
+
77
+ Reale Daten der SIMO GmbH (2 Wochen):
78
+
79
+ | Metrik | Wert |
80
+ |---|---|
81
+ | Token-Reduktion | **54%** |
82
+ | Vorher | 550 Zeilen / ~5.000 Tokens |
83
+ | Nachher | 251 Zeilen / ~2.300 Tokens |
84
+ | Monatliche Ersparnis | **$36** |
85
+ | ROI | **1:6,7** |
86
+
87
+ ## Konfiguration
88
+
89
+ Erstellen Sie eine `tokenizer-speedup.yaml` im Projekt-Root:
90
+
91
+ ```yaml
92
+ version: 1
93
+ rules:
94
+ - trigger: [fix, bug, error]
95
+ load: docs/lessons-learned/*.md
96
+ max_tokens: 2000
97
+
98
+ - trigger: [design, architecture]
99
+ load: docs/decisions/*.md
100
+ summary_only: true
101
+
102
+ - trigger: [feature, implement]
103
+ load: docs/features/*.md
104
+ max_tokens: 4000
105
+
106
+ context_limits:
107
+ max_injected_tokens: 8000
108
+ max_file_tokens: 4000
109
+ ```
110
+
111
+ Details in der [Konfiguration](https://github.com/SIMOSphereOS/tokenizer-speedup/wiki/Configuration) im Wiki.
112
+
113
+ ## CLI
114
+
115
+ ```bash
116
+ tsu setup --api-key KEY # Plugin + Hooks konfigurieren
117
+ tsu analyze datei.md # Tokens in einer Datei zählen
118
+ tsu config # YAML-Config validieren
119
+ ```
120
+
121
+ ## Preise
122
+
123
+ | Free | Pro | Team |
124
+ |---|---|---|
125
+ | $0/Monat | $5/Monat | $15/Seat/Monat |
126
+ | 100K Tokens gespart | Unbegrenzt | Unbegrenzt |
127
+ | Basis-Dashboard | Volles Analytics | Admin-Dashboard |
128
+ | Standard-Regeln | Eigene Regeln | Team-weite Synchronisation |
129
+
130
+ ## Datenschutz
131
+
132
+ - Ihre Prompts **verlassen nie Ihren Rechner**
133
+ - Nur anonyme Token-Zähler werden übermittelt
134
+ - Kein Tracking, keine Analytics-Cookies
135
+ - Open-Source-Kern — jederzeit prüf- und auditierbar
136
+
137
+ ## Architektur
138
+
139
+ ```
140
+ Claude Code
141
+ |
142
+ |-- UserPromptSubmit --> Rule Engine --> Kontext-Injektion
143
+ |-- Stop --> Metering Client --> Cloud API
144
+ ```
145
+
146
+ - **Plugin** — Bash/Node.js, Claude Code Hooks API
147
+ - **Rule Engine** — YAML-Konfiguration, Node.js Parser
148
+ - **Token Meter** — gpt-tokenizer (lokal)
149
+ - **Cloud** — Metering API + Dashboard + Stripe Billing
150
+
151
+ ## Voraussetzungen
152
+
153
+ - Node.js 20+
154
+ - Claude Code
155
+
156
+ ## Links
157
+
158
+ - [Website](https://tokenizer-speedup.simosphereai.com)
159
+ - [npm-Paket](https://www.npmjs.com/package/@simosphere/tokenizer-speedup)
160
+ - [Wiki / Dokumentation](https://github.com/SIMOSphereOS/tokenizer-speedup/wiki)
161
+ - [Datenschutzerklärung](https://tokenizer-speedup.simosphereai.com/privacy)
162
+ - [AGB](https://tokenizer-speedup.simosphereai.com/terms)
163
+
164
+ ## Lizenz
165
+
166
+ Business Source License 1.1 (BSL-1.1)
167
+
168
+ ---
169
+
170
+ <p align="center">
171
+ Mit Präzision entwickelt von <a href="https://simo-online.com"><strong>SIMO GmbH</strong></a><br>
172
+ Aschaffenburg, Deutschland
173
+ </p>
package/README.md ADDED
@@ -0,0 +1,173 @@
1
+ <p align="center">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset=".github/simosphere-logo.svg">
4
+ <source media="(prefers-color-scheme: light)" srcset=".github/simosphere-logo-dark.svg">
5
+ <img src=".github/simosphere-logo-dark.svg" alt="SIMOSphere AI" width="280">
6
+ </picture>
7
+ </p>
8
+
9
+ <h1 align="center">TokenizerSpeedUp</h1>
10
+
11
+ <p align="center">
12
+ <strong>Pay less. Get more.</strong><br>
13
+ Intelligent context optimization for Claude Code sessions.
14
+ </p>
15
+
16
+ <p align="center">
17
+ <a href="https://www.npmjs.com/package/@simosphere/tokenizer-speedup"><img src="https://img.shields.io/npm/v/@simosphere/tokenizer-speedup?color=5EBFBF&label=npm" alt="npm version"></a>
18
+ <a href="https://github.com/SIMOSphereOS/tokenizer-speedup/actions"><img src="https://img.shields.io/github/actions/workflow/status/SIMOSphereOS/tokenizer-speedup/ci.yml?branch=main&color=5EBFBF&label=CI" alt="CI"></a>
19
+ <img src="https://img.shields.io/badge/node-%3E%3D20-5EBFBF" alt="Node.js >=20">
20
+ <img src="https://img.shields.io/badge/license-BSL--1.1-5EBFBF" alt="License BSL-1.1">
21
+ </p>
22
+
23
+ <p align="center">
24
+ <a href="https://tokenizer-speedup.simosphereai.com">Website</a> &middot;
25
+ <a href="https://github.com/SIMOSphereOS/tokenizer-speedup/wiki">Documentation</a> &middot;
26
+ <a href="./README.de.md">Deutsch</a>
27
+ </p>
28
+
29
+ ---
30
+
31
+ ## The Problem
32
+
33
+ Every Claude Code session loads context — `CLAUDE.md`, project docs, feature specs, lessons learned. Most of it isn't needed for the current task, yet it consumes thousands of tokens every time.
34
+
35
+ **TokenizerSpeedUp** detects what you're working on and loads only the relevant context. The result: **30-60% fewer tokens** per session.
36
+
37
+ ## How It Works
38
+
39
+ ```
40
+ Prompt: "fix the authentication bug"
41
+ |
42
+ Keyword Detection
43
+ [fix] [bug] matched
44
+ |
45
+ Rule Engine loads only:
46
+ docs/lessons-learned/*.md
47
+ |
48
+ Context Compression
49
+ (summaries if needed)
50
+ |
51
+ Optimized context injected
52
+ 2,300 tokens instead of 5,000
53
+ ```
54
+
55
+ | Layer | Function |
56
+ |---|---|
57
+ | **Context Gating** | YAML rules detect keywords and load only matching docs |
58
+ | **Context Compression** | Summaries instead of full files when appropriate |
59
+ | **Session Intelligence** | Proactive context management to avoid compacting |
60
+
61
+ ## Quick Start
62
+
63
+ ```bash
64
+ # Install globally
65
+ npm install -g @simosphere/tokenizer-speedup
66
+
67
+ # Setup with your API key
68
+ tsu setup --api-key YOUR_KEY
69
+ ```
70
+
71
+ Restart Claude Code. Done.
72
+
73
+ Get your API key at [tokenizer-speedup.simosphereai.com](https://tokenizer-speedup.simosphereai.com).
74
+
75
+ ## Results
76
+
77
+ Real-world data from SIMO GmbH (2 weeks):
78
+
79
+ | Metric | Value |
80
+ |---|---|
81
+ | Token reduction | **54%** |
82
+ | Before | 550 lines / ~5,000 tokens |
83
+ | After | 251 lines / ~2,300 tokens |
84
+ | Monthly savings | **$36** |
85
+ | ROI | **1:6.7** |
86
+
87
+ ## Configuration
88
+
89
+ Create a `tokenizer-speedup.yaml` in your project root:
90
+
91
+ ```yaml
92
+ version: 1
93
+ rules:
94
+ - trigger: [fix, bug, error]
95
+ load: docs/lessons-learned/*.md
96
+ max_tokens: 2000
97
+
98
+ - trigger: [design, architecture]
99
+ load: docs/decisions/*.md
100
+ summary_only: true
101
+
102
+ - trigger: [feature, implement]
103
+ load: docs/features/*.md
104
+ max_tokens: 4000
105
+
106
+ context_limits:
107
+ max_injected_tokens: 8000
108
+ max_file_tokens: 4000
109
+ ```
110
+
111
+ See [Configuration](https://github.com/SIMOSphereOS/tokenizer-speedup/wiki/Configuration) in the wiki for details.
112
+
113
+ ## CLI
114
+
115
+ ```bash
116
+ tsu setup --api-key KEY # Configure plugin + hooks
117
+ tsu analyze file.md # Count tokens in a file
118
+ tsu config # Validate YAML config
119
+ ```
120
+
121
+ ## Pricing
122
+
123
+ | Free | Pro | Team |
124
+ |---|---|---|
125
+ | $0/month | $5/month | $15/seat/month |
126
+ | 100K tokens saved | Unlimited | Unlimited |
127
+ | Basic dashboard | Full analytics | Admin dashboard |
128
+ | Default rules | Custom rules | Team-wide sync |
129
+
130
+ ## Privacy
131
+
132
+ - Your prompts **never leave your machine**
133
+ - Only anonymous token counters are transmitted
134
+ - No tracking, no analytics cookies
135
+ - Open source core — inspect and audit anytime
136
+
137
+ ## Architecture
138
+
139
+ ```
140
+ Claude Code
141
+ |
142
+ |-- UserPromptSubmit --> Rule Engine --> Context Injection
143
+ |-- Stop --> Metering Client --> Cloud API
144
+ ```
145
+
146
+ - **Plugin** — Bash/Node.js, Claude Code Hooks API
147
+ - **Rule Engine** — YAML config, Node.js parser
148
+ - **Token Meter** — gpt-tokenizer (local)
149
+ - **Cloud** — Metering API + Dashboard + Stripe Billing
150
+
151
+ ## Requirements
152
+
153
+ - Node.js 20+
154
+ - Claude Code
155
+
156
+ ## Links
157
+
158
+ - [Website](https://tokenizer-speedup.simosphereai.com)
159
+ - [npm Package](https://www.npmjs.com/package/@simosphere/tokenizer-speedup)
160
+ - [Wiki / Documentation](https://github.com/SIMOSphereOS/tokenizer-speedup/wiki)
161
+ - [Privacy Policy](https://tokenizer-speedup.simosphereai.com/privacy)
162
+ - [Terms of Service](https://tokenizer-speedup.simosphereai.com/terms)
163
+
164
+ ## License
165
+
166
+ Business Source License 1.1 (BSL-1.1)
167
+
168
+ ---
169
+
170
+ <p align="center">
171
+ Made with precision by <a href="https://simo-online.com"><strong>SIMO GmbH</strong></a><br>
172
+ Aschaffenburg, Germany
173
+ </p>
@@ -1 +1 @@
1
- const _0xf24040=_0x47ea;function _0x4557(){const _0x409118=['10Rdukya','266134CHvUGr','623888XJrmYC','zvPtD','59253xYOQxG','1772955NRTucG','KZYnS','18xcNYXC','claude-sonnet-4-20250514','84DlBgLM','6QSLzdq','257026MorIEr','length','1393909TPtKRG','claude','filter','261310LVZpYl','split','gpt-4o'];_0x4557=function(){return _0x409118;};return _0x4557();}(function(_0x572c71,_0x480658){const _0x19bf11=_0x47ea,_0x410b84=_0x572c71();while(!![]){try{const _0xc81c39=-parseInt(_0x19bf11(0x1c5))/0x1+parseInt(_0x19bf11(0x1c1))/0x2+parseInt(_0x19bf11(0x1c8))/0x3*(parseInt(_0x19bf11(0x1cd))/0x4)+parseInt(_0x19bf11(0x1c9))/0x5*(parseInt(_0x19bf11(0x1ce))/0x6)+-parseInt(_0x19bf11(0x1cf))/0x7+-parseInt(_0x19bf11(0x1c6))/0x8*(parseInt(_0x19bf11(0x1cb))/0x9)+parseInt(_0x19bf11(0x1c4))/0xa*(-parseInt(_0x19bf11(0x1be))/0xb);if(_0xc81c39===_0x480658)break;else _0x410b84['push'](_0x410b84['shift']());}catch(_0x28b4c5){_0x410b84['push'](_0x410b84['shift']());}}}(_0x4557,0x4cc6a));function _0x47ea(_0x39b290,_0x372733){_0x39b290=_0x39b290-0x1be;const _0x455776=_0x4557();let _0x47ea58=_0x455776[_0x39b290];return _0x47ea58;}import{readFileSync}from'node:fs';import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';import{createTokenProvider}from'../shared/token-provider.js';export function analyzeText(_0x2ec43,_0x4c3140='claude',_0x554e79){const _0x5d26b0=_0x47ea,_0x1f2d46={'QmlaJ':_0x5d26b0(0x1c3),'yxHFO':function(_0x44b13d,_0x187a4e,_0x4ef8e7){return _0x44b13d(_0x187a4e,_0x4ef8e7);}},_0x5c67a1=_0x554e79??(_0x5d26b0(0x1bf)===_0x4c3140?_0x5d26b0(0x1cc):_0x1f2d46['QmlaJ']),_0x2444e1=_0x1f2d46['yxHFO'](createTokenProvider,_0x4c3140,_0x5c67a1),_0x422692=_0x2ec43[_0x5d26b0(0x1c2)](/\s+/)[_0x5d26b0(0x1c0)](Boolean)[_0x5d26b0(0x1d0)];return{'tokens':_0x2444e1['countTokens'](_0x2ec43),'estimate':_0x2444e1['estimateTokens'](_0x2ec43),'provider':_0x4c3140,'model':_0x5c67a1,'chars':_0x2ec43['length'],'words':_0x422692};}export function analyzeFile(_0x2664e0,_0x1d2773=_0xf24040(0x1bf),_0x27bc22){const _0x129322=_0xf24040,_0x1937ea={'KZYnS':function(_0x158b04,_0x1d2e5c,_0x44a7a0,_0x511d81){return _0x158b04(_0x1d2e5c,_0x44a7a0,_0x511d81);}};return _0x1937ea[_0x129322(0x1ca)](analyzeText,readFileSync(_0x2664e0,'utf-8'),_0x1d2773,_0x27bc22);}export function compareProviders(_0x19f0ad){const _0xa022df=_0xf24040,_0xd94379={'zvPtD':function(_0x4cd923,_0x23d050,_0x1c3e6a){return _0x4cd923(_0x23d050,_0x1c3e6a);}};return{'claude':_0xd94379[_0xa022df(0x1c7)](analyzeText,_0x19f0ad,'claude'),'openai':analyzeText(_0x19f0ad,'openai')};}
1
+ const _0x324465=_0x342d;function _0x3bca(){const _0x2fb572=['LQUHh','397246lYmdax','3255483TZTbJW','8pcuVrr','102FerhLg','xZulD','9QvTpSI','14119hEYsTO','1GCGDZV','estimateTokens','1382530wyDAsu','GQgiD','utf-8','437525leHWWn','954IohRmD','length','claude','2362120sShGdG','BgLGY'];_0x3bca=function(){return _0x2fb572;};return _0x3bca();}(function(_0x272f77,_0xe41205){const _0x428edb=_0x342d,_0x3f5c4f=_0x272f77();while(!![]){try{const _0x12fb45=-parseInt(_0x428edb(0x1af))/0x1*(-parseInt(_0x428edb(0x1a8))/0x2)+-parseInt(_0x428edb(0x1b5))/0x3*(-parseInt(_0x428edb(0x1aa))/0x4)+parseInt(_0x428edb(0x1b4))/0x5+parseInt(_0x428edb(0x1ab))/0x6*(parseInt(_0x428edb(0x1ae))/0x7)+parseInt(_0x428edb(0x1b8))/0x8*(parseInt(_0x428edb(0x1ad))/0x9)+-parseInt(_0x428edb(0x1b1))/0xa+-parseInt(_0x428edb(0x1a9))/0xb;if(_0x12fb45===_0xe41205)break;else _0x3f5c4f['push'](_0x3f5c4f['shift']());}catch(_0x32dd75){_0x3f5c4f['push'](_0x3f5c4f['shift']());}}}(_0x3bca,0x2c760));import{readFileSync}from'node:fs';import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';function _0x342d(_0x3351dd,_0x2328d3){_0x3351dd=_0x3351dd-0x1a6;const _0x3bcac6=_0x3bca();let _0x342d8b=_0x3bcac6[_0x3351dd];return _0x342d8b;}import{createTokenProvider}from'../shared/token-provider.js';export function analyzeText(_0x33560e,_0x3ef345='claude',_0x1ff1de){const _0x1e5edf=_0x342d,_0x550842={'GQgiD':function(_0x5f3e9e,_0x3c3271){return _0x5f3e9e===_0x3c3271;},'odimT':'claude','BgLGY':'claude-sonnet-4-20250514','LQUHh':function(_0x4ee392,_0x285143,_0x3892e6){return _0x4ee392(_0x285143,_0x3892e6);}},_0x275b62=_0x1ff1de??(_0x550842[_0x1e5edf(0x1b2)](_0x550842['odimT'],_0x3ef345)?_0x550842[_0x1e5edf(0x1a6)]:'gpt-4o'),_0x7d9cff=_0x550842[_0x1e5edf(0x1a7)](createTokenProvider,_0x3ef345,_0x275b62),_0x2b4099=_0x33560e['split'](/\s+/)['filter'](Boolean)[_0x1e5edf(0x1b6)];return{'tokens':_0x7d9cff['countTokens'](_0x33560e),'estimate':_0x7d9cff[_0x1e5edf(0x1b0)](_0x33560e),'provider':_0x3ef345,'model':_0x275b62,'chars':_0x33560e[_0x1e5edf(0x1b6)],'words':_0x2b4099};}export function analyzeFile(_0x384e75,_0x3e469c=_0x324465(0x1b7),_0x293977){const _0x62ded6=_0x324465,_0x2ed158={'qlhkH':function(_0x42f7a3,_0x55e533,_0x1c174c,_0x54a44a){return _0x42f7a3(_0x55e533,_0x1c174c,_0x54a44a);},'xZulD':_0x62ded6(0x1b3)};return _0x2ed158['qlhkH'](analyzeText,readFileSync(_0x384e75,_0x2ed158[_0x62ded6(0x1ac)]),_0x3e469c,_0x293977);}export function compareProviders(_0x5e7bda){const _0x186be8={'QAZEX':'openai'};return{'claude':analyzeText(_0x5e7bda,'claude'),'openai':analyzeText(_0x5e7bda,_0x186be8['QAZEX'])};}
@@ -1 +1 @@
1
- function _0x1329(_0x4b2f00,_0xcf5b4){_0x4b2f00=_0x4b2f00-0x101;const _0xc60df4=_0xc60d();let _0x132942=_0xc60df4[_0x4b2f00];return _0x132942;}(function(_0x28d23e,_0x1aac67){const _0xb4eaa6=_0x1329,_0x3a29d9=_0x28d23e();while(!![]){try{const _0x14a947=-parseInt(_0xb4eaa6(0x102))/0x1*(parseInt(_0xb4eaa6(0x10c))/0x2)+-parseInt(_0xb4eaa6(0x105))/0x3*(-parseInt(_0xb4eaa6(0x10f))/0x4)+parseInt(_0xb4eaa6(0x108))/0x5*(-parseInt(_0xb4eaa6(0x104))/0x6)+parseInt(_0xb4eaa6(0x103))/0x7+-parseInt(_0xb4eaa6(0x10b))/0x8*(-parseInt(_0xb4eaa6(0x107))/0x9)+parseInt(_0xb4eaa6(0x110))/0xa*(parseInt(_0xb4eaa6(0x101))/0xb)+parseInt(_0xb4eaa6(0x106))/0xc*(-parseInt(_0xb4eaa6(0x109))/0xd);if(_0x14a947===_0x1aac67)break;else _0x3a29d9['push'](_0x3a29d9['shift']());}catch(_0x17bfb9){_0x3a29d9['push'](_0x3a29d9['shift']());}}}(_0xc60d,0x456cb));import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';import{parseConfig}from'../plugin/config-loader.js';export function validateConfigYaml(_0x29ae78){const _0x5e3d60=_0x1329,_0x444fd8={'LCoDf':function(_0x55e2e9,_0x268223){return _0x55e2e9(_0x268223);}};try{const _0x560fa6=_0x444fd8[_0x5e3d60(0x10d)](parseConfig,_0x29ae78);return{'valid':!0x0,'provider':_0x560fa6['provider'],'model':_0x560fa6['model'],'ruleCount':_0x560fa6['rules'][_0x5e3d60(0x10e)]};}catch(_0x399d44){return{'valid':!0x1,'provider':'','model':'','ruleCount':0x0,'error':_0x399d44[_0x5e3d60(0x10a)]};}}function _0xc60d(){const _0x136593=['321810sudQaY','2421684NQUDWP','2315394EVqLkK','15bneBAh','13fCjQCX','message','16XrRgde','180YeOjMV','LCoDf','length','16KUmpFo','790OxWjVr','33363LbxIrz','5770vIWESw','557956TUWCdL','514914uSbjgY'];_0xc60d=function(){return _0x136593;};return _0xc60d();}
1
+ (function(_0x15cfaa,_0x1ddf1b){const _0x290e5b=_0x4293,_0x223855=_0x15cfaa();while(!![]){try{const _0x32599b=parseInt(_0x290e5b(0x1e3))/0x1*(-parseInt(_0x290e5b(0x1df))/0x2)+parseInt(_0x290e5b(0x1e5))/0x3*(-parseInt(_0x290e5b(0x1e4))/0x4)+-parseInt(_0x290e5b(0x1e0))/0x5+-parseInt(_0x290e5b(0x1e6))/0x6*(parseInt(_0x290e5b(0x1de))/0x7)+parseInt(_0x290e5b(0x1e2))/0x8+-parseInt(_0x290e5b(0x1e1))/0x9+parseInt(_0x290e5b(0x1dd))/0xa;if(_0x32599b===_0x1ddf1b)break;else _0x223855['push'](_0x223855['shift']());}catch(_0x4f404b){_0x223855['push'](_0x223855['shift']());}}}(_0x5959,0x8dee7));function _0x4293(_0x43fa59,_0x507bc9){_0x43fa59=_0x43fa59-0x1dc;const _0x595964=_0x5959();let _0x429311=_0x595964[_0x43fa59];return _0x429311;}import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';import{parseConfig}from'../plugin/config-loader.js';export function validateConfigYaml(_0x59745f){const _0x1ae43f=_0x4293,_0xd213bc={'JBbbc':function(_0x33e3ec,_0x1871b0){return _0x33e3ec(_0x1871b0);}};try{const _0x206771=_0xd213bc['JBbbc'](parseConfig,_0x59745f);return{'valid':!0x0,'provider':_0x206771['provider'],'model':_0x206771['model'],'ruleCount':_0x206771[_0x1ae43f(0x1e7)]['length']};}catch(_0x33db3){return{'valid':!0x1,'provider':'','model':'','ruleCount':0x0,'error':_0x33db3[_0x1ae43f(0x1dc)]};}}function _0x5959(){const _0x1ddcbe=['89712GCJTuN','8612880iZpRiq','40trQjBl','12qjeZoW','745383FiXhqj','1584TFTbIt','rules','message','13298780mAXEDP','20552hZTdRu','8974lzAtLy','576010sUPABE'];_0x5959=function(){return _0x1ddcbe;};return _0x5959();}
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { Command } from 'commander';
2
3
  import '../shared/providers/claude-provider.js';
3
4
  import '../shared/providers/openai-provider.js';
package/dist/cli/index.js CHANGED
@@ -1 +1,2 @@
1
- const _0x3f2527=_0x18b2;function _0x40cb(){const _0x378fb2=['log','estimateTokens','280QLyQiw','DVTqW','error','claude','1488956spQkva','description','WqxlG','-m,\x20--model\x20<model>','length','OtSwT','ZJfCx','../plugin/config-loader.js','1835852BqxGmS','countTokens','action','name','text','File\x20to\x20analyze','requiredOption','RxlnG','version','28963840yMzHry','tsu','Model\x20name','9JAnVbz','gpt-4o','exitCode','3786342IxqbtP','option','PHTPr','eRxeV','parse','tokenizer-speedup.yaml','-p,\x20--provider\x20<provider>','analyze','2742145hkWFdX','114NjStAN','provider','10867riLrFu','Analyze\x20token\x20count\x20of\x20a\x20file\x20or\x20text','Configure\x20TokenizerSpeedUp\x20with\x20your\x20API\x20key','Tqumm','argument','includes','18387mYAfuz','utf-8','command','Analyze\x20inline\x20text\x20instead\x20of\x20file','message','model'];_0x40cb=function(){return _0x378fb2;};return _0x40cb();}(function(_0x3e3925,_0x566402){const _0xae1433=_0x18b2,_0x391240=_0x3e3925();while(!![]){try{const _0x50b371=parseInt(_0xae1433(0x143))/0x1*(-parseInt(_0xae1433(0x141))/0x2)+-parseInt(_0xae1433(0x135))/0x3*(parseInt(_0xae1433(0x15d))/0x4)+-parseInt(_0xae1433(0x140))/0x5+parseInt(_0xae1433(0x138))/0x6+-parseInt(_0xae1433(0x155))/0x7+parseInt(_0xae1433(0x151))/0x8*(-parseInt(_0xae1433(0x149))/0x9)+parseInt(_0xae1433(0x132))/0xa;if(_0x50b371===_0x566402)break;else _0x391240['push'](_0x391240['shift']());}catch(_0x51ba6b){_0x391240['push'](_0x391240['shift']());}}}(_0x40cb,0xaa87b));function _0x18b2(_0x123349,_0x299b05){_0x123349=_0x123349-0x12d;const _0x40cb37=_0x40cb();let _0x18b27f=_0x40cb37[_0x123349];return _0x18b27f;}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}from'node:fs';import{runSetup}from'./setup-cmd.js';export function buildCLI(){const _0x5a4d7c=_0x18b2,_0x1bbca5={'OtSwT':function(_0x15af90,_0x2d3fc4){return _0x15af90(_0x2d3fc4);},'WqxlG':'claude-sonnet-4-20250514','RxlnG':function(_0x5566aa,_0x2dde9b,_0x48b3c5){return _0x5566aa(_0x2dde9b,_0x48b3c5);},'Tqumm':_0x5a4d7c(0x14a),'hNdkM':_0x5a4d7c(0x15c),'eRxeV':'setup','uPDXg':_0x5a4d7c(0x145),'DVTqW':'--api-key\x20<key>','xklrb':'Your\x20TokenizerSpeedUp\x20API\x20key','PHTPr':_0x5a4d7c(0x13e),'hPyPP':'LLM\x20provider\x20(claude,\x20openai)','XZwgR':'claude','ZJfCx':'-t,\x20--text\x20<text>','eOQQM':_0x5a4d7c(0x14c),'hZHxf':'Config\x20file\x20path'},_0x544bde=new Command();return _0x544bde[_0x5a4d7c(0x160)](_0x5a4d7c(0x133))[_0x5a4d7c(0x156)]('TokenizerSpeedUp\x20—\x20Multi-LLM\x20Token\x20Optimization\x20CLI')[_0x5a4d7c(0x131)]('0.7.0'),_0x544bde[_0x5a4d7c(0x14b)](_0x1bbca5[_0x5a4d7c(0x13b)])['description'](_0x1bbca5['uPDXg'])[_0x5a4d7c(0x12f)](_0x1bbca5[_0x5a4d7c(0x152)],_0x1bbca5['xklrb'])['action'](_0x4b2f65=>{const _0x1b9758=_0x5a4d7c;_0x1bbca5[_0x1b9758(0x15a)](runSetup,_0x4b2f65['apiKey']);}),_0x544bde[_0x5a4d7c(0x14b)](_0x5a4d7c(0x13f))[_0x5a4d7c(0x156)](_0x5a4d7c(0x144))['argument']('[file]',_0x5a4d7c(0x12e))['option'](_0x1bbca5[_0x5a4d7c(0x13a)],_0x1bbca5['hPyPP'],_0x1bbca5['XZwgR'])['option'](_0x5a4d7c(0x158),_0x5a4d7c(0x134))[_0x5a4d7c(0x139)](_0x1bbca5[_0x5a4d7c(0x15b)],_0x1bbca5['eOQQM'])['action']((_0x28a3e7,_0xe5bc80)=>{const _0x4665dc=_0x5a4d7c,_0x4dac7e=_0xe5bc80['model']??(_0x4665dc(0x154)===_0xe5bc80[_0x4665dc(0x142)]?_0x1bbca5[_0x4665dc(0x157)]:_0x4665dc(0x136)),_0x33ce4e=_0x1bbca5[_0x4665dc(0x130)](createTokenProvider,_0xe5bc80['provider'],_0x4dac7e);let _0xcffb85;if(_0xe5bc80['text'])_0xcffb85=_0xe5bc80[_0x4665dc(0x12d)];else{if(!_0x28a3e7)return console[_0x4665dc(0x153)]('Error:\x20provide\x20a\x20file\x20argument\x20or\x20--text\x20option'),void(process[_0x4665dc(0x137)]=0x1);_0xcffb85=_0x1bbca5['RxlnG'](readFileSync,_0x28a3e7,_0x1bbca5[_0x4665dc(0x146)]);}const _0x991f3e=_0x33ce4e[_0x4665dc(0x15e)](_0xcffb85),_0x2b379b=_0x33ce4e[_0x4665dc(0x150)](_0xcffb85);console[_0x4665dc(0x14f)](JSON['stringify']({'file':_0x28a3e7??'(inline)','tokens':_0x991f3e,'estimate':_0x2b379b,'provider':_0xe5bc80['provider'],'model':_0x4dac7e}));}),_0x544bde[_0x5a4d7c(0x14b)]('config')[_0x5a4d7c(0x156)]('Validate\x20configuration\x20file')[_0x5a4d7c(0x147)]('[file]',_0x1bbca5['hZHxf'],_0x5a4d7c(0x13d))[_0x5a4d7c(0x15f)](async _0x4b58fb=>{const _0x5d311a=_0x5a4d7c;try{const _0x4ffc03=_0x1bbca5['RxlnG'](readFileSync,_0x4b58fb,_0x1bbca5['Tqumm']),{parseConfig:_0x26a25c}=await import(_0x1bbca5['hNdkM']),_0x2f34e0=_0x1bbca5[_0x5d311a(0x15a)](_0x26a25c,_0x4ffc03);console['log'](JSON['stringify']({'valid':!0x0,'provider':_0x2f34e0[_0x5d311a(0x142)],'model':_0x2f34e0[_0x5d311a(0x14e)],'ruleCount':_0x2f34e0['rules'][_0x5d311a(0x159)]}));}catch(_0x5c88bc){console['log'](JSON['stringify']({'valid':!0x1,'error':_0x5c88bc[_0x5d311a(0x14d)]})),process[_0x5d311a(0x137)]=0x1;}}),_0x544bde;}process['argv'][0x1]?.[_0x3f2527(0x148)]('cli/index')&&buildCLI()[_0x3f2527(0x13c)]();
1
+ #!/usr/bin/env node
2
+ function _0x3b59(){const _0x32ff3c=['UStZC','XpCjw','TokenizerSpeedUp\x20—\x20Multi-LLM\x20Token\x20Optimization\x20CLI','324472IxfmBX','321063BaKFSg','2570616IKWVOv','0.7.2','NHaJo','config','action','claude-sonnet-4-20250514','hiEqK','argument','--api-key\x20<key>','stringify','../plugin/config-loader.js','provider','after','2YohggL','WkHju','includes','Analyze\x20inline\x20text\x20instead\x20of\x20file','text','Configure\x20TokenizerSpeedUp\x20with\x20your\x20API\x20key\x20and\x20register\x20Claude\x20Code\x20hooks','20WKDdIh','547579uyJeeJ','MUonJ','yEYFV','rules','claude','YTJHq','-p,\x20--provider\x20<provider>','Config\x20file\x20path','zbeqQ','model','1020CvMMcL','argv','requiredOption','\x0aExamples:\x0a\x20\x20$\x20tsu\x20setup\x20--api-key\x20YOUR_KEY\x20\x20\x20Configure\x20with\x20your\x20API\x20key\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.\x20Restart\x20Claude\x20Code\x20—\x20the\x20plugin\x20activates\x20automatically\x0a\x0aDocs:\x20https://tokenizer-speedup.simosphereai.com\x0a','cli/index','jZdVJ','log','wsetC','20wKGbrL','command','setup','length','Nhquh','utf-8','naBuy','description','Your\x20TokenizerSpeedUp\x20API\x20key\x20(get\x20one\x20at\x20https://tokenizer-speedup.simosphereai.com)','4700509stJwFL','message','gpt-4o','8345ZhSfAk','Model\x20name','2816289TdWmzX'];_0x3b59=function(){return _0x32ff3c;};return _0x3b59();}function _0x57c3(_0x1ce0f9,_0x6c98de){_0x1ce0f9=_0x1ce0f9-0x132;const _0x3b59dd=_0x3b59();let _0x57c38a=_0x3b59dd[_0x1ce0f9];return _0x57c38a;}const _0x5801d5=_0x57c3;(function(_0x6556d8,_0x7402b1){const _0x2675be=_0x57c3,_0x96631e=_0x6556d8();while(!![]){try{const _0x441279=-parseInt(_0x2675be(0x169))/0x1*(parseInt(_0x2675be(0x162))/0x2)+parseInt(_0x2675be(0x154))/0x3*(parseInt(_0x2675be(0x141))/0x4)+parseInt(_0x2675be(0x14d))/0x5*(-parseInt(_0x2675be(0x139))/0x6)+-parseInt(_0x2675be(0x14f))/0x7+-parseInt(_0x2675be(0x153))/0x8+parseInt(_0x2675be(0x155))/0x9+-parseInt(_0x2675be(0x168))/0xa*(-parseInt(_0x2675be(0x14a))/0xb);if(_0x441279===_0x7402b1)break;else _0x96631e['push'](_0x96631e['shift']());}catch(_0x29ad1d){_0x96631e['push'](_0x96631e['shift']());}}}(_0x3b59,0x61f14));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}from'node:fs';import{runSetup}from'./setup-cmd.js';export function buildCLI(){const _0x3a421f=_0x57c3,_0x5cf02d={'jBXaU':function(_0x570c8d,_0x533240){return _0x570c8d(_0x533240);},'aWuTU':function(_0x8d85e1,_0x2df72d){return _0x8d85e1===_0x2df72d;},'eRLKP':_0x3a421f(0x15a),'WkHju':_0x3a421f(0x14c),'YTJHq':function(_0x5795dd,_0x17642f,_0x521dc9){return _0x5795dd(_0x17642f,_0x521dc9);},'KgDdA':'Error:\x20provide\x20a\x20file\x20argument\x20or\x20--text\x20option','naBuy':_0x3a421f(0x15f),'KVsbM':function(_0x268368,_0x207ce8){return _0x268368(_0x207ce8);},'Nhquh':_0x3a421f(0x156),'NHaJo':_0x3a421f(0x167),'cRWKF':'analyze','hiEqK':'File\x20to\x20analyze','UStZC':_0x3a421f(0x135),'fuqEV':'LLM\x20provider\x20(claude,\x20openai)','MUonJ':_0x3a421f(0x133),'XpCjw':'-m,\x20--model\x20<model>','yEYFV':_0x3a421f(0x165),'jZdVJ':'Validate\x20configuration\x20file','zbeqQ':_0x3a421f(0x136),'wsetC':'tokenizer-speedup.yaml'},_0x46bc01=new Command();return _0x46bc01['name']('tsu')['description'](_0x3a421f(0x152))['version'](_0x5cf02d[_0x3a421f(0x145)])['addHelpText'](_0x3a421f(0x161),_0x3a421f(0x13c)),_0x46bc01['command'](_0x3a421f(0x143))[_0x3a421f(0x148)](_0x5cf02d[_0x3a421f(0x157)])[_0x3a421f(0x13b)](_0x3a421f(0x15d),_0x3a421f(0x149))[_0x3a421f(0x159)](_0x149316=>{_0x5cf02d['jBXaU'](runSetup,_0x149316['apiKey']);}),_0x46bc01['command'](_0x5cf02d['cRWKF'])['description']('Analyze\x20token\x20count\x20of\x20a\x20file\x20or\x20text')[_0x3a421f(0x15c)]('[file]',_0x5cf02d[_0x3a421f(0x15b)])['option'](_0x5cf02d[_0x3a421f(0x150)],_0x5cf02d['fuqEV'],_0x5cf02d[_0x3a421f(0x16a)])['option'](_0x5cf02d[_0x3a421f(0x151)],_0x3a421f(0x14e))['option']('-t,\x20--text\x20<text>',_0x5cf02d[_0x3a421f(0x16b)])['action']((_0x4963fe,_0xb0561d)=>{const _0x41dc9e=_0x3a421f,_0x51e795=_0xb0561d[_0x41dc9e(0x138)]??(_0x5cf02d['aWuTU'](_0x41dc9e(0x133),_0xb0561d['provider'])?_0x5cf02d['eRLKP']:_0x5cf02d[_0x41dc9e(0x163)]),_0x5997ca=_0x5cf02d[_0x41dc9e(0x134)](createTokenProvider,_0xb0561d[_0x41dc9e(0x160)],_0x51e795);let _0x2bd429;if(_0xb0561d[_0x41dc9e(0x166)])_0x2bd429=_0xb0561d[_0x41dc9e(0x166)];else{if(!_0x4963fe)return console['error'](_0x5cf02d['KgDdA']),void(process['exitCode']=0x1);_0x2bd429=readFileSync(_0x4963fe,_0x41dc9e(0x146));}const _0x4b3c88=_0x5997ca['countTokens'](_0x2bd429),_0x2daa7a=_0x5997ca['estimateTokens'](_0x2bd429);console[_0x41dc9e(0x13f)](JSON[_0x41dc9e(0x15e)]({'file':_0x4963fe??'(inline)','tokens':_0x4b3c88,'estimate':_0x2daa7a,'provider':_0xb0561d['provider'],'model':_0x51e795}));}),_0x46bc01[_0x3a421f(0x142)](_0x3a421f(0x158))['description'](_0x5cf02d[_0x3a421f(0x13e)])[_0x3a421f(0x15c)]('[file]',_0x5cf02d[_0x3a421f(0x137)],_0x5cf02d[_0x3a421f(0x140)])['action'](async _0x2062f3=>{const _0xad7096=_0x3a421f;try{const _0x7a6047=_0x5cf02d['YTJHq'](readFileSync,_0x2062f3,'utf-8'),{parseConfig:_0x3ac976}=await import(_0x5cf02d[_0xad7096(0x147)]),_0x5683ec=_0x5cf02d['KVsbM'](_0x3ac976,_0x7a6047);console['log'](JSON[_0xad7096(0x15e)]({'valid':!0x0,'provider':_0x5683ec[_0xad7096(0x160)],'model':_0x5683ec['model'],'ruleCount':_0x5683ec[_0xad7096(0x132)][_0xad7096(0x144)]}));}catch(_0xd292a5){console[_0xad7096(0x13f)](JSON['stringify']({'valid':!0x1,'error':_0xd292a5[_0xad7096(0x14b)]})),process['exitCode']=0x1;}}),_0x46bc01;}process[_0x5801d5(0x13a)][0x1]?.['replace'](/\\/g,'/')[_0x5801d5(0x164)](_0x5801d5(0x13d))&&buildCLI()['parse']();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- const _0x37de59=_0x450e;(function(_0x1c31a8,_0x5b5db7){const _0x5d7aff=_0x450e,_0x2405b1=_0x1c31a8();while(!![]){try{const _0x163b2c=-parseInt(_0x5d7aff(0x1f1))/0x1+parseInt(_0x5d7aff(0x1e9))/0x2*(-parseInt(_0x5d7aff(0x1ed))/0x3)+-parseInt(_0x5d7aff(0x1fe))/0x4+-parseInt(_0x5d7aff(0x1f4))/0x5*(-parseInt(_0x5d7aff(0x1f9))/0x6)+parseInt(_0x5d7aff(0x1fd))/0x7+parseInt(_0x5d7aff(0x1f2))/0x8*(parseInt(_0x5d7aff(0x1eb))/0x9)+parseInt(_0x5d7aff(0x1ec))/0xa;if(_0x163b2c===_0x5b5db7)break;else _0x2405b1['push'](_0x2405b1['shift']());}catch(_0x962560){_0x2405b1['push'](_0x2405b1['shift']());}}}(_0x56a1,0x81234));import{readFileSync,writeFileSync,mkdirSync}from'node:fs';import{join}from'node:path';import{homedir}from'node:os';const CONFIG_DIR=join(homedir(),_0x37de59(0x1fc),'tokenizer-speedup'),CONFIG_FILE=join(CONFIG_DIR,'config.json'),CLAUDE_SETTINGS_FILE=join(homedir(),_0x37de59(0x1f5),_0x37de59(0x1ef));function _0x450e(_0x5d982a,_0x5bf8e9){_0x5d982a=_0x5d982a-0x1e8;const _0x56a151=_0x56a1();let _0x450e21=_0x56a151[_0x5d982a];return _0x450e21;}export function runSetup(_0x4ef6db){const _0x19db3c=_0x37de59;saveApiKey(_0x4ef6db),registerHooks(),console['log'](_0x19db3c(0x1fa)),console[_0x19db3c(0x1f6)]('API\x20key\x20saved\x20to\x20'+CONFIG_FILE),console['log'](_0x19db3c(0x1ee)+CLAUDE_SETTINGS_FILE),console[_0x19db3c(0x1f6)](''),console[_0x19db3c(0x1f6)]('Restart\x20Claude\x20Code\x20to\x20activate\x20the\x20plugin.');}function saveApiKey(_0x41f5b1){const _0x38159a=_0x37de59,_0x254b77={'hXqru':function(_0x390a45,_0x2ed23e,_0x36fa3a){return _0x390a45(_0x2ed23e,_0x36fa3a);},'TrXqU':'utf-8'};_0x254b77[_0x38159a(0x1f8)](mkdirSync,CONFIG_DIR,{'recursive':!0x0});let _0x15bc42={};try{_0x15bc42=JSON['parse'](readFileSync(CONFIG_FILE,_0x254b77[_0x38159a(0x1fb)]));}catch{}_0x15bc42['apiKey']=_0x41f5b1,writeFileSync(CONFIG_FILE,JSON['stringify'](_0x15bc42,null,0x2)+'\x0a',_0x254b77['TrXqU']);}function registerHooks(){const _0x45a5b5=_0x37de59,_0x113dba={'pBmiO':function(_0x458601,_0x1bde4b,_0x189a78){return _0x458601(_0x1bde4b,_0x189a78);},'HQawd':function(_0x478e9d){return _0x478e9d();},'tIycg':'tokenizer-speedup','QDVLR':'command','kGZwz':function(_0x4b964c,_0xeb7fb7,_0x15f233,_0x2c1758){return _0x4b964c(_0xeb7fb7,_0x15f233,_0x2c1758);}};_0x113dba['pBmiO'](mkdirSync,join(_0x113dba['HQawd'](homedir),'.claude'),{'recursive':!0x0});let _0x39b278={};try{_0x39b278=JSON['parse'](readFileSync(CLAUDE_SETTINGS_FILE,'utf-8'));}catch{}const _0x527992=_0x39b278['hooks']??{};_0x527992[_0x45a5b5(0x1f0)]=[{'matcher':'','hooks':[{'type':_0x45a5b5(0x1f7),'command':_0x113dba['tIycg']}]}],_0x527992[_0x45a5b5(0x1f3)]=[{'matcher':'','hooks':[{'type':_0x113dba[_0x45a5b5(0x1ea)],'command':'tokenizer-speedup','timeout':0xa}]}],_0x39b278['hooks']=_0x527992,_0x113dba['kGZwz'](writeFileSync,CLAUDE_SETTINGS_FILE,JSON['stringify'](_0x39b278,null,0x2)+'\x0a',_0x45a5b5(0x1e8));}function _0x56a1(){const _0x4cf8d2=['814785YaaPCC','.claude','log','command','hXqru','36xIolue','TokenizerSpeedUp\x20setup\x20complete.','TrXqU','.config','3488156ikUbfI','2720688maIWCN','utf-8','58nIZacl','QDVLR','665631yKUMUm','5741440OIPJgW','87828IXaaAZ','Hooks\x20registered\x20in\x20','settings.local.json','UserPromptSubmit','213947oWOXIr','24QZuyOJ','Stop'];_0x56a1=function(){return _0x4cf8d2;};return _0x56a1();}export function loadApiKeyFromConfig(){const _0xb9afa1={'chEpC':'utf-8'};try{return JSON['parse'](readFileSync(CONFIG_FILE,_0xb9afa1['chEpC']))['apiKey']??void 0x0;}catch{return;}}
1
+ const _0x1a0665=_0x2f24;(function(_0x185a2e,_0x31a24b){const _0x5e4349=_0x2f24,_0x48f23b=_0x185a2e();while(!![]){try{const _0x2801de=-parseInt(_0x5e4349(0xd5))/0x1+parseInt(_0x5e4349(0xe1))/0x2+-parseInt(_0x5e4349(0xdd))/0x3*(-parseInt(_0x5e4349(0xd6))/0x4)+-parseInt(_0x5e4349(0xda))/0x5+parseInt(_0x5e4349(0xed))/0x6+-parseInt(_0x5e4349(0xe2))/0x7*(parseInt(_0x5e4349(0xe0))/0x8)+-parseInt(_0x5e4349(0xea))/0x9*(-parseInt(_0x5e4349(0xe4))/0xa);if(_0x2801de===_0x31a24b)break;else _0x48f23b['push'](_0x48f23b['shift']());}catch(_0xbfd017){_0x48f23b['push'](_0x48f23b['shift']());}}}(_0x16db,0x58a76));import{readFileSync,writeFileSync,mkdirSync}from'node:fs';import{join}from'node:path';import{homedir}from'node:os';const CONFIG_DIR=join(homedir(),'.config',_0x1a0665(0xe9)),CONFIG_FILE=join(CONFIG_DIR,'config.json'),CLAUDE_SETTINGS_FILE=join(homedir(),_0x1a0665(0xdb),'settings.local.json');export function runSetup(_0x36a5dd){const _0x27aa30=_0x1a0665,_0x2a5734={'jNHUf':_0x27aa30(0xd9)};try{saveApiKey(_0x36a5dd),console['log'](_0x27aa30(0xe8)),console[_0x27aa30(0xeb)](_0x2a5734['jNHUf']),registerHooks(),console[_0x27aa30(0xeb)]('✅\x20Hooks\x20registered\x20in\x20Claude\x20Code\x20settings.'),console['log'](''),console[_0x27aa30(0xeb)](_0x27aa30(0xe5));}catch(_0x3ab640){console[_0x27aa30(0xd7)](_0x27aa30(0xe6)+_0x3ab640['message']),process['exitCode']=0x1;}}function _0x2f24(_0x418df6,_0xd161c5){_0x418df6=_0x418df6-0xd5;const _0x16db4e=_0x16db();let _0x2f2421=_0x16db4e[_0x418df6];return _0x2f2421;}function saveApiKey(_0x1f00e0){const _0x4db8b4=_0x1a0665,_0x1e1bbf={'WYVMV':_0x4db8b4(0xe3)};mkdirSync(CONFIG_DIR,{'recursive':!0x0});let _0x5352cb={};try{_0x5352cb=JSON['parse'](readFileSync(CONFIG_FILE,_0x1e1bbf[_0x4db8b4(0xd8)]));}catch{}_0x5352cb['apiKey']=_0x1f00e0,writeFileSync(CONFIG_FILE,JSON[_0x4db8b4(0xde)](_0x5352cb,null,0x2)+'\x0a',_0x1e1bbf['WYVMV']);}function registerHooks(){const _0xfaa54=_0x1a0665,_0x58ea21={'BVJgr':_0xfaa54(0xec),'BvLPs':_0xfaa54(0xe9)};mkdirSync(join(homedir(),_0xfaa54(0xdb)),{'recursive':!0x0});let _0x46af5c={};try{_0x46af5c=JSON['parse'](readFileSync(CLAUDE_SETTINGS_FILE,'utf-8'));}catch{}const _0x5e5ed6=_0x46af5c[_0xfaa54(0xdc)]??{};_0x5e5ed6['UserPromptSubmit']=[{'matcher':'','hooks':[{'type':'command','command':_0xfaa54(0xe9)}]}],_0x5e5ed6[_0xfaa54(0xdf)]=[{'matcher':'','hooks':[{'type':_0x58ea21['BVJgr'],'command':_0x58ea21['BvLPs'],'timeout':0xa}]}],_0x46af5c['hooks']=_0x5e5ed6,writeFileSync(CLAUDE_SETTINGS_FILE,JSON[_0xfaa54(0xde)](_0x46af5c,null,0x2)+'\x0a','utf-8');}export function loadApiKeyFromConfig(){const _0x1dacf5=_0x1a0665;try{return JSON[_0x1dacf5(0xe7)](readFileSync(CONFIG_FILE,_0x1dacf5(0xe3)))['apiKey']??void 0x0;}catch{return;}}function _0x16db(){const _0x38e0eb=['command','3301770dromEO','25150dSYNPL','4136QIPahU','error','WYVMV','⚠️\x20\x20Claude\x20Code\x20will\x20restart\x20automatically\x20to\x20load\x20the\x20plugin.\x20This\x20is\x20expected\x20behavior.','3374900hvuyTD','.claude','hooks','1335kexqPl','stringify','Stop','16hiBLDs','994248gGAqUn','1662052AVRsgc','utf-8','30ucbMBl','Setup\x20complete.\x20Please\x20restart\x20Claude\x20Code\x20to\x20activate\x20the\x20plugin.','❌\x20Setup\x20failed:\x20','parse','✅\x20API\x20key\x20saved\x20successfully.','tokenizer-speedup','91737BXqvfL','log'];_0x16db=function(){return _0x38e0eb;};return _0x16db();}
@@ -1 +1 @@
1
- {"version":3,"file":"setup-cmd.js","sourceRoot":"","sources":["../../src/cli/setup-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-cmd.js","sourceRoot":"","sources":["../../src/cli/setup-cmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- function _0x1f9f(_0x2545bb,_0x29434b){_0x2545bb=_0x2545bb-0xdd;const _0x53d7f6=_0x53d7();let _0x1f9f86=_0x53d7f6[_0x2545bb];return _0x1f9f86;}(function(_0x957f89,_0x3845d0){const _0x5573e5=_0x1f9f,_0x56e50a=_0x957f89();while(!![]){try{const _0x4aa942=parseInt(_0x5573e5(0xde))/0x1+-parseInt(_0x5573e5(0xea))/0x2*(-parseInt(_0x5573e5(0xeb))/0x3)+-parseInt(_0x5573e5(0xdf))/0x4*(parseInt(_0x5573e5(0xe9))/0x5)+parseInt(_0x5573e5(0xe2))/0x6+-parseInt(_0x5573e5(0xec))/0x7*(-parseInt(_0x5573e5(0xe0))/0x8)+parseInt(_0x5573e5(0xe3))/0x9+parseInt(_0x5573e5(0xe5))/0xa*(-parseInt(_0x5573e5(0xe7))/0xb);if(_0x4aa942===_0x3845d0)break;else _0x56e50a['push'](_0x56e50a['shift']());}catch(_0x251d9b){_0x56e50a['push'](_0x56e50a['shift']());}}}(_0x53d7,0x8097a));function _0x53d7(){const _0x143b42=['692676seevpm','1018544CuKwlF','6186784rKlwXE','cancelUrl','900012CDxXVS','6081624kottcU','push','345230wyvcnH','meteredPriceId','451YZXbqM','tier','10WWRfvV','319334XaSiVN','3XgkvtP','7xIutMo','customerId'];_0x53d7=function(){return _0x143b42;};return _0x53d7();}export function buildCheckoutParams(_0x344a97){const _0xd4fb83=_0x1f9f,_0x6dc7e6={'XGZRM':'subscription'},_0x2774de=[{'price':_0x344a97['recurringPriceId'],'quantity':0x1}];return _0x344a97[_0xd4fb83(0xe6)]&&_0x2774de[_0xd4fb83(0xe4)]({'price':_0x344a97[_0xd4fb83(0xe6)]}),{'customer':_0x344a97[_0xd4fb83(0xdd)],'mode':_0x6dc7e6['XGZRM'],'line_items':_0x2774de,'success_url':_0x344a97['successUrl'],'cancel_url':_0x344a97[_0xd4fb83(0xe1)],'metadata':{'tier':_0x344a97[_0xd4fb83(0xe8)]}};}
1
+ (function(_0x326b6e,_0x128189){const _0x1c5619=_0x3385,_0xd1a0a5=_0x326b6e();while(!![]){try{const _0x3dc82e=parseInt(_0x1c5619(0x16a))/0x1+-parseInt(_0x1c5619(0x162))/0x2+parseInt(_0x1c5619(0x164))/0x3+-parseInt(_0x1c5619(0x169))/0x4+-parseInt(_0x1c5619(0x167))/0x5*(parseInt(_0x1c5619(0x16c))/0x6)+parseInt(_0x1c5619(0x163))/0x7+-parseInt(_0x1c5619(0x168))/0x8;if(_0x3dc82e===_0x128189)break;else _0xd1a0a5['push'](_0xd1a0a5['shift']());}catch(_0x2773e7){_0xd1a0a5['push'](_0xd1a0a5['shift']());}}}(_0x2205,0x3ea9a));function _0x3385(_0x49285e,_0x2c858b){_0x49285e=_0x49285e-0x161;const _0x220505=_0x2205();let _0x338519=_0x220505[_0x49285e];return _0x338519;}export function buildCheckoutParams(_0x375ee5){const _0x45ff54=_0x3385,_0x17c13f={'CZOhJ':_0x45ff54(0x161)},_0x3c6e27=[{'price':_0x375ee5['recurringPriceId'],'quantity':0x1}];return _0x375ee5[_0x45ff54(0x166)]&&_0x3c6e27['push']({'price':_0x375ee5[_0x45ff54(0x166)]}),{'customer':_0x375ee5['customerId'],'mode':_0x17c13f['CZOhJ'],'line_items':_0x3c6e27,'success_url':_0x375ee5[_0x45ff54(0x165)],'cancel_url':_0x375ee5[_0x45ff54(0x16b)],'metadata':{'tier':_0x375ee5[_0x45ff54(0x16d)]}};}function _0x2205(){const _0x2699a6=['54491lYnDAO','cancelUrl','12tsHbQY','tier','subscription','188948EttNyq','2591470HFPRQr','1496652PrqZer','successUrl','meteredPriceId','123780YGkUgB','590256qCaQOI','1796604xWmFzp'];_0x2205=function(){return _0x2699a6;};return _0x2205();}
@@ -1 +1 @@
1
- function _0x4ff9(_0x2759fa,_0x38b811){_0x2759fa=_0x2759fa-0x158;const _0x30ab5f=_0x30ab();let _0x4ff9b=_0x30ab5f[_0x2759fa];return _0x4ff9b;}const _0xd442d6=_0x4ff9;(function(_0x1030f8,_0x20d1a6){const _0x4e2e71=_0x4ff9,_0x4eb7ec=_0x1030f8();while(!![]){try{const _0x3a9990=parseInt(_0x4e2e71(0x163))/0x1*(-parseInt(_0x4e2e71(0x15d))/0x2)+parseInt(_0x4e2e71(0x162))/0x3+parseInt(_0x4e2e71(0x15f))/0x4+parseInt(_0x4e2e71(0x158))/0x5+-parseInt(_0x4e2e71(0x15a))/0x6+-parseInt(_0x4e2e71(0x161))/0x7*(-parseInt(_0x4e2e71(0x160))/0x8)+-parseInt(_0x4e2e71(0x15c))/0x9;if(_0x3a9990===_0x20d1a6)break;else _0x4eb7ec['push'](_0x4eb7ec['shift']());}catch(_0x59aeef){_0x4eb7ec['push'](_0x4eb7ec['shift']());}}}(_0x30ab,0xb1cf1));function _0x30ab(){const _0x5b52ff=['5351464nXdyWv','498808rdMqtK','14MpMUMs','2772114GuHEJx','197pLFKOu','4380755Cbpqtx','Per-seat\x20pricing.\x20$15/mo/seat\x20+\x208%\x20of\x20savings\x20over\x201M\x20tokens.','96156NUJjsq','Up\x20to\x20100K\x20tokens\x20saved/month.\x20Basic\x20dashboard.','13043763YXHWOp','10854KKtQcR','TokenizerSpeedUp\x20Pro'];_0x30ab=function(){return _0x5b52ff;};return _0x30ab();}export const STRIPE_CONFIG={'free':{'name':'TokenizerSpeedUp\x20Free','description':_0xd442d6(0x15b),'recurringPrice':0x0},'pro':{'name':_0xd442d6(0x15e),'description':'Unlimited\x20optimization.\x20$5/mo\x20+\x2010%\x20of\x20savings\x20over\x20500K\x20tokens.','recurringPrice':0x1f4,'meteredUnitAmount':0x1e},'team':{'name':'TokenizerSpeedUp\x20Team','description':_0xd442d6(0x159),'recurringPrice':0x5dc,'meteredUnitAmount':0x18}};
1
+ const _0x1a9d39=_0xa590;(function(_0x2ef087,_0x4bd6f8){const _0x4bd8c8=_0xa590,_0x4f7483=_0x2ef087();while(!![]){try{const _0x54112f=parseInt(_0x4bd8c8(0xab))/0x1*(-parseInt(_0x4bd8c8(0xb3))/0x2)+parseInt(_0x4bd8c8(0xb4))/0x3*(-parseInt(_0x4bd8c8(0xac))/0x4)+parseInt(_0x4bd8c8(0xb1))/0x5*(parseInt(_0x4bd8c8(0xb2))/0x6)+-parseInt(_0x4bd8c8(0xa7))/0x7*(parseInt(_0x4bd8c8(0xaa))/0x8)+parseInt(_0x4bd8c8(0xa8))/0x9+parseInt(_0x4bd8c8(0xa6))/0xa+-parseInt(_0x4bd8c8(0xa9))/0xb*(-parseInt(_0x4bd8c8(0xae))/0xc);if(_0x54112f===_0x4bd6f8)break;else _0x4f7483['push'](_0x4f7483['shift']());}catch(_0x1a1309){_0x4f7483['push'](_0x4f7483['shift']());}}}(_0x4956,0x6be5e));export const STRIPE_CONFIG={'free':{'name':_0x1a9d39(0xad),'description':'Up\x20to\x20100K\x20tokens\x20saved/month.\x20Basic\x20dashboard.','recurringPrice':0x0},'pro':{'name':'TokenizerSpeedUp\x20Pro','description':_0x1a9d39(0xb0),'recurringPrice':0x1f4,'meteredUnitAmount':0x1e},'team':{'name':_0x1a9d39(0xaf),'description':'Per-seat\x20pricing.\x20$15/mo/seat\x20+\x208%\x20of\x20savings\x20over\x201M\x20tokens.','recurringPrice':0x5dc,'meteredUnitAmount':0x18}};function _0xa590(_0x210041,_0x76a9f7){_0x210041=_0x210041-0xa6;const _0x495664=_0x4956();let _0xa59041=_0x495664[_0x210041];return _0xa59041;}function _0x4956(){const _0x5c4f67=['354lhRyxP','4178jdSbOQ','1353gLoYgy','6816100PubIPb','21izWBhN','1239561CwBLjC','22KcyrPT','1175192NCuIzb','265LGwAUX','4468wApMBb','TokenizerSpeedUp\x20Free','6406068sxrDpR','TokenizerSpeedUp\x20Team','Unlimited\x20optimization.\x20$5/mo\x20+\x2010%\x20of\x20savings\x20over\x20500K\x20tokens.','4490nMEcKk'];_0x4956=function(){return _0x5c4f67;};return _0x4956();}
@@ -1 +1 @@
1
- function _0x192d(_0x52cf8d,_0x19f7dd){_0x52cf8d=_0x52cf8d-0x1ee;const _0x5a4033=_0x5a40();let _0x192d3b=_0x5a4033[_0x52cf8d];return _0x192d3b;}const _0x1c098d=_0x192d;(function(_0x556a4d,_0x99e6c8){const _0x20f297=_0x192d,_0x2b4773=_0x556a4d();while(!![]){try{const _0x385218=-parseInt(_0x20f297(0x202))/0x1*(-parseInt(_0x20f297(0x1f0))/0x2)+-parseInt(_0x20f297(0x1f1))/0x3*(-parseInt(_0x20f297(0x201))/0x4)+parseInt(_0x20f297(0x1ff))/0x5*(parseInt(_0x20f297(0x1f2))/0x6)+parseInt(_0x20f297(0x1f3))/0x7+parseInt(_0x20f297(0x1f9))/0x8+-parseInt(_0x20f297(0x1fd))/0x9*(parseInt(_0x20f297(0x1f5))/0xa)+parseInt(_0x20f297(0x1fb))/0xb*(-parseInt(_0x20f297(0x200))/0xc);if(_0x385218===_0x99e6c8)break;else _0x2b4773['push'](_0x2b4773['shift']());}catch(_0x2c3001){_0x2b4773['push'](_0x2b4773['shift']());}}}(_0x5a40,0xd194a));import{STRIPE_CONFIG}from'./stripe-config.js';const TIER_LIMITS={'free':{'allowance':0x186a0,'unitRate':0x0},'pro':{'allowance':0x7a120,'unitRate':STRIPE_CONFIG['pro']['meteredUnitAmount']},'team':{'allowance':0xf4240,'unitRate':STRIPE_CONFIG[_0x1c098d(0x1f4)][_0x1c098d(0x1fc)]}};export function calculateUsageCharge(_0x3d07dc,_0x2fd2fd){const _0x2b3e2b=_0x1c098d,_0x2ea279={'raiqu':function(_0x421fb3,_0x1ae698){return _0x421fb3===_0x1ae698;},'hzfWD':function(_0x20453e,_0x444a12){return _0x20453e*_0x444a12;}},_0x2d04f4=TIER_LIMITS[_0x3d07dc];if(_0x2ea279[_0x2b3e2b(0x1ef)](0x0,_0x2d04f4['unitRate']))return{'tier':_0x3d07dc,'tokensSaved':_0x2fd2fd,'freeAllowance':_0x2d04f4['allowance'],'chargeableTokens':0x0,'chargeableUnits':0x0,'unitRate':0x0,'amount':0x0};const _0x529348=Math['max'](0x0,_0x2fd2fd-_0x2d04f4[_0x2b3e2b(0x1f8)]),_0xb3da2a=Math[_0x2b3e2b(0x1ee)](_0x529348/0x186a0),_0x3eecab=_0x2ea279['hzfWD'](_0xb3da2a,_0x2d04f4[_0x2b3e2b(0x1f6)]);return{'tier':_0x3d07dc,'tokensSaved':_0x2fd2fd,'freeAllowance':_0x2d04f4[_0x2b3e2b(0x1f8)],'chargeableTokens':_0x529348,'chargeableUnits':_0xb3da2a,'unitRate':_0x2d04f4[_0x2b3e2b(0x1f6)],'amount':_0x3eecab};}export function buildUsageRecord(_0x5303d4,_0x2cec6b){const _0x46a70b=_0x1c098d,_0x4069b4={'JuSAh':_0x46a70b(0x1f7),'dDbFd':function(_0x231fa4,_0x2341ad){return _0x231fa4/_0x2341ad;}};return{'subscription_item':_0x5303d4,'quantity':_0x2cec6b,'action':_0x4069b4['JuSAh'],'timestamp':Math['floor'](_0x4069b4['dDbFd'](Date['now'](),0x3e8))};}export function prepareUsageSync(_0x28dac7,_0x5f5b72,_0x5b4607){const _0x2f357a=_0x1c098d,_0x22e7df={'WbqwA':'no\x20subscription_item_id','YhXof':function(_0x508b75,_0x59d1f6){return _0x508b75===_0x59d1f6;},'sSitN':function(_0x43dff8,_0x4b50ff,_0x19b8b5){return _0x43dff8(_0x4b50ff,_0x19b8b5);}};if(!_0x5b4607)return{'synced':!0x1,'subscriptionItemId':'','chargeableUnits':0x0,'tier':_0x28dac7,'error':_0x22e7df['WbqwA']};const _0xa77cee=calculateUsageCharge(_0x28dac7,_0x5f5b72);if(_0x22e7df[_0x2f357a(0x1fe)](0x0,_0xa77cee['chargeableUnits']))return{'synced':!0x0,'subscriptionItemId':_0x5b4607,'chargeableUnits':0x0,'tier':_0x28dac7};return _0x22e7df['sSitN'](buildUsageRecord,_0x5b4607,_0xa77cee[_0x2f357a(0x1fa)]),{'synced':!0x0,'subscriptionItemId':_0x5b4607,'chargeableUnits':_0xa77cee[_0x2f357a(0x1fa)],'tier':_0x28dac7};}function _0x5a40(){const _0x2ae56f=['6yswrWG','2504467SPfDay','team','220DiVSxB','unitRate','set','allowance','12236680ceUGAA','chargeableUnits','154LbEwcp','meteredUnitAmount','143064sKkPcY','YhXof','1090345vLoFbU','2116164LPCXDS','1137908kacDEv','37298gkuUuF','ceil','raiqu','8dogVIk','15iaLxPv'];_0x5a40=function(){return _0x2ae56f;};return _0x5a40();}
1
+ const _0x391ca7=_0x5eb4;(function(_0x2ea063,_0x2010a8){const _0x40dac2=_0x5eb4,_0x14c203=_0x2ea063();while(!![]){try{const _0x7a46ea=parseInt(_0x40dac2(0x164))/0x1*(-parseInt(_0x40dac2(0x169))/0x2)+parseInt(_0x40dac2(0x16f))/0x3*(-parseInt(_0x40dac2(0x16c))/0x4)+-parseInt(_0x40dac2(0x172))/0x5+parseInt(_0x40dac2(0x16a))/0x6+parseInt(_0x40dac2(0x160))/0x7+parseInt(_0x40dac2(0x171))/0x8+parseInt(_0x40dac2(0x16d))/0x9;if(_0x7a46ea===_0x2010a8)break;else _0x14c203['push'](_0x14c203['shift']());}catch(_0x13ad50){_0x14c203['push'](_0x14c203['shift']());}}}(_0x4847,0xad2dc));import{STRIPE_CONFIG}from'./stripe-config.js';const TIER_LIMITS={'free':{'allowance':0x186a0,'unitRate':0x0},'pro':{'allowance':0x7a120,'unitRate':STRIPE_CONFIG['pro']['meteredUnitAmount']},'team':{'allowance':0xf4240,'unitRate':STRIPE_CONFIG[_0x391ca7(0x167)][_0x391ca7(0x163)]}};export function calculateUsageCharge(_0xce62c4,_0x1ee207){const _0x4e21aa=_0x391ca7,_0x2e630c={'RxGMw':function(_0x4dc80d,_0x55c78f){return _0x4dc80d===_0x55c78f;},'ATlMy':function(_0x3e0c2d,_0x545cde){return _0x3e0c2d-_0x545cde;},'BRvsl':function(_0x19c71d,_0x50b53e){return _0x19c71d*_0x50b53e;}},_0x20c48a=TIER_LIMITS[_0xce62c4];if(_0x2e630c['RxGMw'](0x0,_0x20c48a[_0x4e21aa(0x162)]))return{'tier':_0xce62c4,'tokensSaved':_0x1ee207,'freeAllowance':_0x20c48a[_0x4e21aa(0x16b)],'chargeableTokens':0x0,'chargeableUnits':0x0,'unitRate':0x0,'amount':0x0};const _0x41535a=Math['max'](0x0,_0x2e630c[_0x4e21aa(0x16e)](_0x1ee207,_0x20c48a[_0x4e21aa(0x16b)])),_0x5b8520=Math['ceil'](_0x41535a/0x186a0),_0x2916c1=_0x2e630c['BRvsl'](_0x5b8520,_0x20c48a['unitRate']);return{'tier':_0xce62c4,'tokensSaved':_0x1ee207,'freeAllowance':_0x20c48a[_0x4e21aa(0x16b)],'chargeableTokens':_0x41535a,'chargeableUnits':_0x5b8520,'unitRate':_0x20c48a[_0x4e21aa(0x162)],'amount':_0x2916c1};}export function buildUsageRecord(_0x3470e1,_0x3bfa98){const _0x5e5929=_0x391ca7,_0x3b106a={'AuJoQ':function(_0x52883d,_0x5a7523){return _0x52883d/_0x5a7523;}};return{'subscription_item':_0x3470e1,'quantity':_0x3bfa98,'action':'set','timestamp':Math[_0x5e5929(0x168)](_0x3b106a[_0x5e5929(0x165)](Date[_0x5e5929(0x166)](),0x3e8))};}function _0x5eb4(_0x49f49e,_0x58940f){_0x49f49e=_0x49f49e-0x160;const _0x484760=_0x4847();let _0x5eb4c6=_0x484760[_0x49f49e];return _0x5eb4c6;}function _0x4847(){const _0x23339a=['59658DvRzha','chargeableUnits','9627168KvPJCY','5326740VEPWIj','1720187nTOQAE','no\x20subscription_item_id','unitRate','meteredUnitAmount','277227vOoBpl','AuJoQ','now','team','floor','10WkzmGj','4374762mSUUqB','allowance','32ecDekM','10274823XXMQLU','ATlMy'];_0x4847=function(){return _0x23339a;};return _0x4847();}export function prepareUsageSync(_0x48c94e,_0x4f86ad,_0x267d1a){const _0x44cbe9=_0x391ca7,_0x4f69bf={'dEbfV':function(_0x2ed71f,_0x53e75f,_0x1e0cdd){return _0x2ed71f(_0x53e75f,_0x1e0cdd);}};if(!_0x267d1a)return{'synced':!0x1,'subscriptionItemId':'','chargeableUnits':0x0,'tier':_0x48c94e,'error':_0x44cbe9(0x161)};const _0x56c1e5=_0x4f69bf['dEbfV'](calculateUsageCharge,_0x48c94e,_0x4f86ad);if(0x0===_0x56c1e5[_0x44cbe9(0x170)])return{'synced':!0x0,'subscriptionItemId':_0x267d1a,'chargeableUnits':0x0,'tier':_0x48c94e};return buildUsageRecord(_0x267d1a,_0x56c1e5['chargeableUnits']),{'synced':!0x0,'subscriptionItemId':_0x267d1a,'chargeableUnits':_0x56c1e5['chargeableUnits'],'tier':_0x48c94e};}
@@ -1 +1 @@
1
- (function(_0x152ace,_0x571cd4){const _0xd0e7d8=_0x38ca,_0xe0dd40=_0x152ace();while(!![]){try{const _0x2ab705=parseInt(_0xd0e7d8(0x11a))/0x1*(-parseInt(_0xd0e7d8(0x11d))/0x2)+-parseInt(_0xd0e7d8(0x118))/0x3+-parseInt(_0xd0e7d8(0x12d))/0x4+parseInt(_0xd0e7d8(0x124))/0x5*(parseInt(_0xd0e7d8(0x11b))/0x6)+-parseInt(_0xd0e7d8(0x125))/0x7*(-parseInt(_0xd0e7d8(0x117))/0x8)+-parseInt(_0xd0e7d8(0x12c))/0x9+-parseInt(_0xd0e7d8(0x127))/0xa*(-parseInt(_0xd0e7d8(0x11c))/0xb);if(_0x2ab705===_0x571cd4)break;else _0xe0dd40['push'](_0xe0dd40['shift']());}catch(_0x3227ae){_0xe0dd40['push'](_0xe0dd40['shift']());}}}(_0x2402,0x92cdc));function _0x38ca(_0x1ceead,_0x161dd4){_0x1ceead=_0x1ceead-0x117;const _0x2402ac=_0x2402();let _0x38caa9=_0x2402ac[_0x1ceead];return _0x38caa9;}export function handleWebhookEvent(_0x3d67ff,_0x153744){const _0x8fecaa=_0x38ca,_0x3ce1b3={'bVQhB':'invoice_paid','yKkyh':'customer.subscription.updated','Otehh':_0x8fecaa(0x128),'BRVTC':_0x8fecaa(0x12a),'wCALB':_0x8fecaa(0x119),'KWEJH':'ignored'};switch(_0x3d67ff[_0x8fecaa(0x11f)]){case'invoice.paid':{const _0xa0f89e=_0x3d67ff['data']['object'];return{'handled':!0x0,'action':_0x3ce1b3['bVQhB'],'customerId':_0xa0f89e[_0x8fecaa(0x121)],'subscriptionId':_0xa0f89e['subscription']};}case _0x3ce1b3[_0x8fecaa(0x123)]:{const _0x6171ed=_0x3d67ff[_0x8fecaa(0x126)]['object'],_0x18f5d1={'handled':!0x0,'action':_0x8fecaa(0x12e),'customerId':_0x6171ed[_0x8fecaa(0x121)],'subscriptionId':_0x6171ed['id']};return _0x153744&&_0x153744['upsert']({'id':_0x6171ed['id'],'customerId':_0x6171ed[_0x8fecaa(0x121)],'status':_0x6171ed['status']||_0x3ce1b3[_0x8fecaa(0x11e)],'tier':_0x6171ed[_0x8fecaa(0x129)]?.[_0x8fecaa(0x122)]||_0x3ce1b3['BRVTC'],'currentPeriodEnd':_0x6171ed['current_period_end']||0x0,'meteredSubscriptionItemId':extractMeteredItemId(_0x6171ed),'updatedAt':''}),_0x18f5d1;}case'customer.subscription.deleted':{const _0x3a7cac=_0x3d67ff[_0x8fecaa(0x126)][_0x8fecaa(0x12b)],_0x237046={'handled':!0x0,'action':'subscription_canceled','customerId':_0x3a7cac[_0x8fecaa(0x121)],'subscriptionId':_0x3a7cac['id']};return _0x153744&&_0x153744['upsert']({'id':_0x3a7cac['id'],'customerId':_0x3a7cac['customer'],'status':_0x3ce1b3['wCALB'],'tier':_0x3a7cac['metadata']?.['tier']||_0x8fecaa(0x12a),'currentPeriodEnd':_0x3a7cac['current_period_end']||0x0,'updatedAt':''}),_0x237046;}default:return{'handled':!0x1,'action':_0x3ce1b3['KWEJH']};}}function extractMeteredItemId(_0x46f912){const _0xc16c15=_0x38ca,_0x19a474=_0x46f912[_0xc16c15(0x12f)];if(!_0x19a474?.[_0xc16c15(0x126)])return;const _0x3e4d7a=_0x19a474['data']['find'](_0x3803d5=>'metered'===_0x3803d5['price']?.['recurring']?.[_0xc16c15(0x120)]);return _0x3e4d7a?.['id'];}function _0x2402(){const _0x20b112=['type','usage_type','customer','tier','yKkyh','135xdvjGj','7nGvFcm','data','1367690WwQqhW','active','metadata','free','object','10331802MPqxFa','4214644iRiDia','subscription_updated','items','7167576StSKMC','1869123UuUHmB','canceled','5114pDyURz','197832sQPARd','187ZhkLKc','268xravLO','Otehh'];_0x2402=function(){return _0x20b112;};return _0x2402();}
1
+ (function(_0x340f9e,_0x253701){const _0x525076=_0x2808,_0x5cbafd=_0x340f9e();while(!![]){try{const _0x4268d1=-parseInt(_0x525076(0x139))/0x1+-parseInt(_0x525076(0x13c))/0x2*(parseInt(_0x525076(0x138))/0x3)+-parseInt(_0x525076(0x137))/0x4+parseInt(_0x525076(0x13f))/0x5*(-parseInt(_0x525076(0x130))/0x6)+-parseInt(_0x525076(0x133))/0x7+parseInt(_0x525076(0x134))/0x8*(parseInt(_0x525076(0x136))/0x9)+parseInt(_0x525076(0x132))/0xa;if(_0x4268d1===_0x253701)break;else _0x5cbafd['push'](_0x5cbafd['shift']());}catch(_0x459653){_0x5cbafd['push'](_0x5cbafd['shift']());}}}(_0x5c6f,0x86de0));function _0x2808(_0x15b621,_0xfcabf7){_0x15b621=_0x15b621-0x129;const _0x5c6f70=_0x5c6f();let _0x2808fc=_0x5c6f70[_0x15b621];return _0x2808fc;}function _0x5c6f(){const _0x2f1e8f=['subscription','customer','upsert','object','current_period_end','data','FGltW','metadata','3510522XzAMKL','tier','25377950hjupcd','4647223GuJitJ','841200eTuhTW','free','45mBhnvm','354268ZkevPx','3BllzIX','1051716fEmxdt','price','invoice_paid','243740xDnBMc','kPFCo','items','5etTzdl'];_0x5c6f=function(){return _0x2f1e8f;};return _0x5c6f();}export function handleWebhookEvent(_0x2ba340,_0x5176cf){const _0xcfb63f=_0x2808,_0x2131cf={'kPFCo':'invoice.paid','ZsXSN':'customer.subscription.updated','FGltW':'subscription_updated','xaLhi':'active','MBLTi':'customer.subscription.deleted','oOUCt':'subscription_canceled'};switch(_0x2ba340['type']){case _0x2131cf[_0xcfb63f(0x13d)]:{const _0x4dd452=_0x2ba340['data']['object'];return{'handled':!0x0,'action':_0xcfb63f(0x13b),'customerId':_0x4dd452['customer'],'subscriptionId':_0x4dd452[_0xcfb63f(0x140)]};}case _0x2131cf['ZsXSN']:{const _0x5de321=_0x2ba340['data'][_0xcfb63f(0x12b)],_0x4fc443={'handled':!0x0,'action':_0x2131cf[_0xcfb63f(0x12e)],'customerId':_0x5de321[_0xcfb63f(0x129)],'subscriptionId':_0x5de321['id']};return _0x5176cf&&_0x5176cf[_0xcfb63f(0x12a)]({'id':_0x5de321['id'],'customerId':_0x5de321['customer'],'status':_0x5de321['status']||_0x2131cf['xaLhi'],'tier':_0x5de321[_0xcfb63f(0x12f)]?.[_0xcfb63f(0x131)]||_0xcfb63f(0x135),'currentPeriodEnd':_0x5de321[_0xcfb63f(0x12c)]||0x0,'meteredSubscriptionItemId':extractMeteredItemId(_0x5de321),'updatedAt':''}),_0x4fc443;}case _0x2131cf['MBLTi']:{const _0x4627e3=_0x2ba340['data']['object'],_0x46cf6b={'handled':!0x0,'action':_0x2131cf['oOUCt'],'customerId':_0x4627e3['customer'],'subscriptionId':_0x4627e3['id']};return _0x5176cf&&_0x5176cf['upsert']({'id':_0x4627e3['id'],'customerId':_0x4627e3['customer'],'status':'canceled','tier':_0x4627e3['metadata']?.['tier']||'free','currentPeriodEnd':_0x4627e3['current_period_end']||0x0,'updatedAt':''}),_0x46cf6b;}default:return{'handled':!0x1,'action':'ignored'};}}function extractMeteredItemId(_0x14a0c4){const _0x28b193=_0x2808,_0x2a3387=_0x14a0c4[_0x28b193(0x13e)];if(!_0x2a3387?.[_0x28b193(0x12d)])return;const _0x5b1ff3=_0x2a3387['data']['find'](_0x2c0b91=>'metered'===_0x2c0b91[_0x28b193(0x13a)]?.['recurring']?.['usage_type']);return _0x5b1ff3?.['id'];}
@@ -1 +1 @@
1
- const _0x29aa8b=_0x34d8;function _0x34d8(_0xb00e0b,_0xe0b9e){_0xb00e0b=_0xb00e0b-0x1d4;const _0x29bca6=_0x29bc();let _0x34d84d=_0x29bca6[_0xb00e0b];return _0x34d84d;}(function(_0x559196,_0x4738d0){const _0x3590e9=_0x34d8,_0x35ba4a=_0x559196();while(!![]){try{const _0x3cfd05=parseInt(_0x3590e9(0x1e5))/0x1+parseInt(_0x3590e9(0x1d7))/0x2+parseInt(_0x3590e9(0x1e2))/0x3+parseInt(_0x3590e9(0x1d5))/0x4*(parseInt(_0x3590e9(0x1dc))/0x5)+-parseInt(_0x3590e9(0x1d9))/0x6+parseInt(_0x3590e9(0x1d6))/0x7*(parseInt(_0x3590e9(0x1da))/0x8)+-parseInt(_0x3590e9(0x1db))/0x9*(parseInt(_0x3590e9(0x1e0))/0xa);if(_0x3cfd05===_0x4738d0)break;else _0x35ba4a['push'](_0x35ba4a['shift']());}catch(_0x1a16a5){_0x35ba4a['push'](_0x35ba4a['shift']());}}}(_0x29bc,0x7ab08));export class MemorySubscriptionStore{['subs']=new Map();[_0x29aa8b(0x1d8)](_0x244bb8){const _0x401f97=_0x29aa8b;_0x244bb8[_0x401f97(0x1e4)]=new Date()['toISOString'](),this['subs'][_0x401f97(0x1e1)](_0x244bb8['id'],_0x244bb8);}['getByCustomerId'](_0x13cfb6){const _0x46c33a=_0x29aa8b;for(const _0x3824b5 of this['subs'][_0x46c33a(0x1d4)]())if(_0x3824b5['customerId']===_0x13cfb6)return _0x3824b5;}[_0x29aa8b(0x1e3)](_0x3bd0af){const _0x47e2c0=_0x29aa8b;return this[_0x47e2c0(0x1df)][_0x47e2c0(0x1dd)](_0x3bd0af);}[_0x29aa8b(0x1de)](){const _0x32b86b=_0x29aa8b;return[...this[_0x32b86b(0x1df)][_0x32b86b(0x1d4)]()];}}function _0x29bc(){const _0x1512b7=['12bFmtzB','5601995kdxRKB','1641662zgjydT','upsert','3555342jsfgby','8UwjfGN','26454051pZxCKP','752330YCKPTl','get','list','subs','10HXSUxZ','set','2948169ANysKV','getBySubscriptionId','updatedAt','979195mYtltH','values'];_0x29bc=function(){return _0x1512b7;};return _0x29bc();}
1
+ function _0x42ab(_0x262a93,_0x3ecda8){_0x262a93=_0x262a93-0x76;const _0x53a81b=_0x53a8();let _0x42ab4b=_0x53a81b[_0x262a93];return _0x42ab4b;}const _0x5f14b2=_0x42ab;function _0x53a8(){const _0x503ab7=['3574140XcBZLy','2034ohvzXE','getBySubscriptionId','subs','8714748wjycBG','set','4984959KNewny','getByCustomerId','46072ALrKbL','2228248AdPqHK','values','63465XGydgs','655668HisYTi','6xBAXyl'];_0x53a8=function(){return _0x503ab7;};return _0x53a8();}(function(_0x4f65f9,_0x4f970a){const _0x2a2582=_0x42ab,_0x466c03=_0x4f65f9();while(!![]){try{const _0x162008=-parseInt(_0x2a2582(0x7e))/0x1+-parseInt(_0x2a2582(0x7c))/0x2+parseInt(_0x2a2582(0x80))/0x3*(parseInt(_0x2a2582(0x7f))/0x4)+parseInt(_0x2a2582(0x81))/0x5+parseInt(_0x2a2582(0x77))/0x6+parseInt(_0x2a2582(0x79))/0x7+-parseInt(_0x2a2582(0x7b))/0x8*(parseInt(_0x2a2582(0x82))/0x9);if(_0x162008===_0x4f970a)break;else _0x466c03['push'](_0x466c03['shift']());}catch(_0x171519){_0x466c03['push'](_0x466c03['shift']());}}}(_0x53a8,0xb1c46));export class MemorySubscriptionStore{['subs']=new Map();['upsert'](_0x1c2dde){const _0x404d56=_0x42ab;_0x1c2dde['updatedAt']=new Date()['toISOString'](),this['subs'][_0x404d56(0x78)](_0x1c2dde['id'],_0x1c2dde);}[_0x5f14b2(0x7a)](_0xffb945){const _0x1358c4=_0x5f14b2;for(const _0x4d900d of this['subs'][_0x1358c4(0x7d)]())if(_0x4d900d['customerId']===_0xffb945)return _0x4d900d;}[_0x5f14b2(0x83)](_0x551d40){return this['subs']['get'](_0x551d40);}['list'](){const _0x843bbc=_0x5f14b2;return[...this[_0x843bbc(0x76)][_0x843bbc(0x7d)]()];}}