@simosphere/tokenizer-speedup 0.7.0 → 0.7.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.de.md +173 -0
- package/README.md +173 -0
- 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/index.js.map +1 -1
- package/dist/cli/setup-cmd.js +1 -1
- package/dist/cli/setup-cmd.js.map +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 +32 -32
- 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 +25 -2
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> ·
|
|
25
|
+
<a href="https://github.com/SIMOSphereOS/tokenizer-speedup/wiki">Dokumentation</a> ·
|
|
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> ·
|
|
25
|
+
<a href="https://github.com/SIMOSphereOS/tokenizer-speedup/wiki">Documentation</a> ·
|
|
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>
|
package/dist/cli/analyze.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4cef3d,_0x44c748){const _0x5c1322=_0x3fcf,_0x471941=_0x4cef3d();while(!![]){try{const _0x42d3d7=parseInt(_0x5c1322(0x1d2))/0x1+-parseInt(_0x5c1322(0x1d4))/0x2+parseInt(_0x5c1322(0x1d9))/0x3+-parseInt(_0x5c1322(0x1ca))/0x4+-parseInt(_0x5c1322(0x1d0))/0x5*(parseInt(_0x5c1322(0x1d8))/0x6)+-parseInt(_0x5c1322(0x1cf))/0x7*(-parseInt(_0x5c1322(0x1d1))/0x8)+parseInt(_0x5c1322(0x1d7))/0x9;if(_0x42d3d7===_0x44c748)break;else _0x471941['push'](_0x471941['shift']());}catch(_0x1beaaa){_0x471941['push'](_0x471941['shift']());}}}(_0x468e,0x86356));import{readFileSync}from'node:fs';import'../shared/providers/claude-provider.js';function _0x468e(){const _0x5bd01b=['66gpJtzV','1570260EoGFsY','claude-sonnet-4-20250514','2741344hnYIBY','gpt-4o','PoiJk','filter','utf-8','896KvWZuJ','85835ICxKxB','39728ViZKtj','283135JuIipp','SyYUZ','1450642NWVHFB','WcmWZ','split','6363081hVVATP'];_0x468e=function(){return _0x5bd01b;};return _0x468e();}import'../shared/providers/openai-provider.js';import{createTokenProvider}from'../shared/token-provider.js';export function analyzeText(_0x1589bc,_0x4f4ba6='claude',_0x12307a){const _0x4a4679=_0x3fcf,_0x4ba3b5={'IlQLn':function(_0x1adc0d,_0x14a4da){return _0x1adc0d===_0x14a4da;},'eoDdK':_0x4a4679(0x1cb)},_0x30c1f8=_0x12307a??(_0x4ba3b5['IlQLn']('claude',_0x4f4ba6)?_0x4a4679(0x1c9):_0x4ba3b5['eoDdK']),_0x5897a0=createTokenProvider(_0x4f4ba6,_0x30c1f8),_0x38ecb4=_0x1589bc[_0x4a4679(0x1d6)](/\s+/)[_0x4a4679(0x1cd)](Boolean)['length'];return{'tokens':_0x5897a0['countTokens'](_0x1589bc),'estimate':_0x5897a0['estimateTokens'](_0x1589bc),'provider':_0x4f4ba6,'model':_0x30c1f8,'chars':_0x1589bc['length'],'words':_0x38ecb4};}function _0x3fcf(_0x524373,_0x72f28d){_0x524373=_0x524373-0x1c9;const _0x468ebb=_0x468e();let _0x3fcf12=_0x468ebb[_0x524373];return _0x3fcf12;}export function analyzeFile(_0x321285,_0x5d8390='claude',_0x18f1bf){const _0x526f8c=_0x3fcf,_0x1894a9={'PoiJk':function(_0x31569b,_0x22b355,_0x883d4d,_0x4cc384){return _0x31569b(_0x22b355,_0x883d4d,_0x4cc384);},'WcmWZ':_0x526f8c(0x1ce)};return _0x1894a9[_0x526f8c(0x1cc)](analyzeText,readFileSync(_0x321285,_0x1894a9[_0x526f8c(0x1d5)]),_0x5d8390,_0x18f1bf);}export function compareProviders(_0x3e809e){const _0xd3de7=_0x3fcf,_0x50933d={'SyYUZ':function(_0x176a86,_0x4370db,_0x538d11){return _0x176a86(_0x4370db,_0x538d11);}};return{'claude':analyzeText(_0x3e809e,'claude'),'openai':_0x50933d[_0xd3de7(0x1d3)](analyzeText,_0x3e809e,'openai')};}
|
package/dist/cli/config-cmd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x24f83f,_0x1e4093){const _0x1ae563=_0x2ad0,_0x989172=_0x24f83f();while(!![]){try{const _0x431f20=parseInt(_0x1ae563(0xfa))/0x1+parseInt(_0x1ae563(0xf4))/0x2+-parseInt(_0x1ae563(0xfc))/0x3*(parseInt(_0x1ae563(0xf6))/0x4)+-parseInt(_0x1ae563(0xfd))/0x5*(-parseInt(_0x1ae563(0xfe))/0x6)+parseInt(_0x1ae563(0xf5))/0x7*(-parseInt(_0x1ae563(0xfb))/0x8)+-parseInt(_0x1ae563(0xf2))/0x9+parseInt(_0x1ae563(0xf7))/0xa*(parseInt(_0x1ae563(0xf8))/0xb);if(_0x431f20===_0x1e4093)break;else _0x989172['push'](_0x989172['shift']());}catch(_0x53eded){_0x989172['push'](_0x989172['shift']());}}}(_0x43b2,0x2de02));import'../shared/providers/claude-provider.js';function _0x2ad0(_0x4b08a3,_0x524abe){_0x4b08a3=_0x4b08a3-0xf0;const _0x43b2e5=_0x43b2();let _0x2ad00c=_0x43b2e5[_0x4b08a3];return _0x2ad00c;}import'../shared/providers/openai-provider.js';import{parseConfig}from'../plugin/config-loader.js';export function validateConfigYaml(_0x40a1cb){const _0x1c512c=_0x2ad0,_0x54eb70={'OYSzw':function(_0x636fb7,_0x250bfe){return _0x636fb7(_0x250bfe);}};try{const _0x41c538=_0x54eb70['OYSzw'](parseConfig,_0x40a1cb);return{'valid':!0x0,'provider':_0x41c538[_0x1c512c(0xf3)],'model':_0x41c538['model'],'ruleCount':_0x41c538[_0x1c512c(0xf1)][_0x1c512c(0xf9)]};}catch(_0x1c004c){return{'valid':!0x1,'provider':'','model':'','ruleCount':0x0,'error':_0x1c004c[_0x1c512c(0xf0)]};}}function _0x43b2(){const _0x5371df=['1392251MQWHEv','104saDRWJ','30VsFDcj','334301GaghMQ','length','287363gvkGqz','8ABGxGA','723qBRKXr','1315eWdUcw','7002NQCfbS','message','rules','3146661ISWUqz','provider','114474zZCulh'];_0x43b2=function(){return _0x5371df;};return _0x43b2();}
|
package/dist/cli/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x347ced=_0x1399;(function(_0x787ccb,_0x17d90a){const _0xcb5654=_0x1399,_0x43d726=_0x787ccb();while(!![]){try{const _0x174a93=parseInt(_0xcb5654(0x19f))/0x1+-parseInt(_0xcb5654(0x18e))/0x2+parseInt(_0xcb5654(0x188))/0x3+parseInt(_0xcb5654(0x18c))/0x4*(-parseInt(_0xcb5654(0x192))/0x5)+-parseInt(_0xcb5654(0x198))/0x6*(parseInt(_0xcb5654(0x1a4))/0x7)+parseInt(_0xcb5654(0x196))/0x8*(parseInt(_0xcb5654(0x187))/0x9)+-parseInt(_0xcb5654(0x1a8))/0xa*(parseInt(_0xcb5654(0x190))/0xb);if(_0x174a93===_0x17d90a)break;else _0x43d726['push'](_0x43d726['shift']());}catch(_0x44eecd){_0x43d726['push'](_0x43d726['shift']());}}}(_0x1a73,0x3f2a2));import{Command}from'commander';function _0x1a73(){const _0x177bcc=['command','estimateTokens','Config\x20file\x20path','Model\x20name','QtrIC','requiredOption','azYPD','replace','log','1722438zeLFZm','1305204XZvmZU','stringify','option','message','32924wcLpOT','jEoIQ','414484OiccqJ','Your\x20TokenizerSpeedUp\x20API\x20key','11hWSWtG','utf-8','170BnnCIa','0.7.1','Analyze\x20inline\x20text\x20instead\x20of\x20file','IjNGD','16KjCkeA','config','1062buMHLT','uvSyl','(inline)','YLtqm','includes','description','version','478326GPKIiw','error','model','argument','CPkkY','20419wFvPiI','Configure\x20TokenizerSpeedUp\x20with\x20your\x20API\x20key','rules','action','340310VlTfyl','-m,\x20--model\x20<model>','TokenizerSpeedUp\x20—\x20Multi-LLM\x20Token\x20Optimization\x20CLI','tsu','parse','provider'];_0x1a73=function(){return _0x177bcc;};return _0x1a73();}import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';import{createTokenProvider}from'../shared/token-provider.js';import{readFileSync}from'node:fs';function _0x1399(_0x5af5eb,_0x306cfd){_0x5af5eb=_0x5af5eb-0x17f;const _0x1a7356=_0x1a73();let _0x139999=_0x1a7356[_0x5af5eb];return _0x139999;}import{runSetup}from'./setup-cmd.js';export function buildCLI(){const _0x2d3089=_0x1399,_0x4ecd99={'CPkkY':'claude','YNmSt':'claude-sonnet-4-20250514','rYgcS':'gpt-4o','TZuWM':'Error:\x20provide\x20a\x20file\x20argument\x20or\x20--text\x20option','YLtqm':'utf-8','uvSyl':_0x2d3089(0x19a),'IjNGD':function(_0x396da7,_0x51f150){return _0x396da7(_0x51f150);},'aTDCi':_0x2d3089(0x1aa),'HvxaB':'analyze','OAJWI':'Analyze\x20token\x20count\x20of\x20a\x20file\x20or\x20text','QtrIC':'[file]','oNeOL':_0x2d3089(0x194),'jEoIQ':_0x2d3089(0x197),'azYPD':_0x2d3089(0x180)},_0x3ad2de=new Command();return _0x3ad2de['name'](_0x2d3089(0x1ab))[_0x2d3089(0x19d)](_0x4ecd99['aTDCi'])[_0x2d3089(0x19e)](_0x2d3089(0x193)),_0x3ad2de['command']('setup')['description'](_0x2d3089(0x1a5))[_0x2d3089(0x183)]('--api-key\x20<key>',_0x2d3089(0x18f))[_0x2d3089(0x1a7)](_0x31e90f=>{runSetup(_0x31e90f['apiKey']);}),_0x3ad2de[_0x2d3089(0x1ae)](_0x4ecd99['HvxaB'])[_0x2d3089(0x19d)](_0x4ecd99['OAJWI'])['argument'](_0x4ecd99[_0x2d3089(0x182)],'File\x20to\x20analyze')[_0x2d3089(0x18a)]('-p,\x20--provider\x20<provider>','LLM\x20provider\x20(claude,\x20openai)',_0x4ecd99[_0x2d3089(0x1a3)])['option'](_0x2d3089(0x1a9),_0x2d3089(0x181))[_0x2d3089(0x18a)]('-t,\x20--text\x20<text>',_0x4ecd99['oNeOL'])['action']((_0x5b2097,_0x19c346)=>{const _0x249469=_0x2d3089,_0x5d248e=_0x19c346['model']??(_0x4ecd99[_0x249469(0x1a3)]===_0x19c346['provider']?_0x4ecd99['YNmSt']:_0x4ecd99['rYgcS']),_0xb4204b=createTokenProvider(_0x19c346['provider'],_0x5d248e);let _0x3ec02d;if(_0x19c346['text'])_0x3ec02d=_0x19c346['text'];else{if(!_0x5b2097)return console[_0x249469(0x1a0)](_0x4ecd99['TZuWM']),void(process['exitCode']=0x1);_0x3ec02d=readFileSync(_0x5b2097,_0x4ecd99[_0x249469(0x19b)]);}const _0x407573=_0xb4204b['countTokens'](_0x3ec02d),_0x57d535=_0xb4204b[_0x249469(0x17f)](_0x3ec02d);console['log'](JSON[_0x249469(0x189)]({'file':_0x5b2097??_0x4ecd99[_0x249469(0x199)],'tokens':_0x407573,'estimate':_0x57d535,'provider':_0x19c346[_0x249469(0x1ad)],'model':_0x5d248e}));}),_0x3ad2de[_0x2d3089(0x1ae)](_0x4ecd99[_0x2d3089(0x18d)])['description']('Validate\x20configuration\x20file')[_0x2d3089(0x1a2)](_0x4ecd99['QtrIC'],_0x4ecd99[_0x2d3089(0x184)],'tokenizer-speedup.yaml')[_0x2d3089(0x1a7)](async _0xc34711=>{const _0x5a19c0=_0x2d3089;try{const _0x54aeef=readFileSync(_0xc34711,_0x5a19c0(0x191)),{parseConfig:_0x47558b}=await import('../plugin/config-loader.js'),_0x82c975=_0x4ecd99[_0x5a19c0(0x195)](_0x47558b,_0x54aeef);console[_0x5a19c0(0x186)](JSON[_0x5a19c0(0x189)]({'valid':!0x0,'provider':_0x82c975['provider'],'model':_0x82c975[_0x5a19c0(0x1a1)],'ruleCount':_0x82c975[_0x5a19c0(0x1a6)]['length']}));}catch(_0x68fbdf){console['log'](JSON['stringify']({'valid':!0x1,'error':_0x68fbdf[_0x5a19c0(0x18b)]})),process['exitCode']=0x1;}}),_0x3ad2de;}process['argv'][0x1]?.[_0x347ced(0x185)](/\\/g,'/')[_0x347ced(0x19c)]('cli/index')&&buildCLI()[_0x347ced(0x1ac)]();
|
package/dist/cli/index.js.map
CHANGED
|
@@ -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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"}
|
package/dist/cli/setup-cmd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0xef87b3=_0x426d;(function(_0x45c2c3,_0x5218af){const _0x44075b=_0x426d,_0x47c9da=_0x45c2c3();while(!![]){try{const _0x37a169=parseInt(_0x44075b(0x117))/0x1*(parseInt(_0x44075b(0x126))/0x2)+-parseInt(_0x44075b(0x118))/0x3+-parseInt(_0x44075b(0x125))/0x4+parseInt(_0x44075b(0x11e))/0x5+parseInt(_0x44075b(0x11b))/0x6*(parseInt(_0x44075b(0x10f))/0x7)+parseInt(_0x44075b(0x11d))/0x8*(-parseInt(_0x44075b(0x11c))/0x9)+-parseInt(_0x44075b(0x111))/0xa;if(_0x37a169===_0x5218af)break;else _0x47c9da['push'](_0x47c9da['shift']());}catch(_0x1441fc){_0x47c9da['push'](_0x47c9da['shift']());}}}(_0x24c2,0x2661f));import{readFileSync,writeFileSync,mkdirSync}from'node:fs';import{join}from'node:path';import{homedir}from'node:os';function _0x24c2(){const _0x44c05e=['1THFGbF','585846SpFPCg','parse','error','488364ZCWDFi','693vplMHd','7000MCnBFI','1195455keNjQX','log','tokenizer-speedup','⚠️\x20\x20Claude\x20Code\x20will\x20restart\x20automatically\x20to\x20load\x20the\x20plugin.\x20This\x20is\x20expected\x20behavior.','utf-8','✅\x20API\x20key\x20saved\x20successfully.','YFnmj','1157428KmoCod','560038cAumYD','message','command','21BymQzv','.claude','540630jcKBdl','hooks','apiKey','Stop','❌\x20Setup\x20failed:\x20','✅\x20Hooks\x20registered\x20in\x20Claude\x20Code\x20settings.'];_0x24c2=function(){return _0x44c05e;};return _0x24c2();}const CONFIG_DIR=join(homedir(),'.config',_0xef87b3(0x120)),CONFIG_FILE=join(CONFIG_DIR,'config.json'),CLAUDE_SETTINGS_FILE=join(homedir(),_0xef87b3(0x110),'settings.local.json');export function runSetup(_0x170047){const _0x5742e3=_0xef87b3,_0xcf346b={'cYLzK':_0x5742e3(0x123),'JVjMP':_0x5742e3(0x121)};try{saveApiKey(_0x170047),console['log'](_0xcf346b['cYLzK']),console['log'](_0xcf346b['JVjMP']),registerHooks(),console['log'](_0x5742e3(0x116)),console[_0x5742e3(0x11f)](''),console['log']('Setup\x20complete.\x20Please\x20restart\x20Claude\x20Code\x20to\x20activate\x20the\x20plugin.');}catch(_0x44f377){console[_0x5742e3(0x11a)](_0x5742e3(0x115)+_0x44f377[_0x5742e3(0x127)]),process['exitCode']=0x1;}}function saveApiKey(_0x27f4a5){const _0x47ef00=_0xef87b3,_0x531f02={'yXlTn':function(_0x1f6aee,_0x346af0,_0x399b2d){return _0x1f6aee(_0x346af0,_0x399b2d);},'OwUCP':'utf-8'};_0x531f02['yXlTn'](mkdirSync,CONFIG_DIR,{'recursive':!0x0});let _0x2ca0e6={};try{_0x2ca0e6=JSON[_0x47ef00(0x119)](readFileSync(CONFIG_FILE,_0x531f02['OwUCP']));}catch{}_0x2ca0e6['apiKey']=_0x27f4a5,writeFileSync(CONFIG_FILE,JSON['stringify'](_0x2ca0e6,null,0x2)+'\x0a',_0x47ef00(0x122));}function registerHooks(){const _0xbc9f8d=_0xef87b3,_0x2b5ff3={'XaVTo':function(_0x2e2548,_0xa93848,_0x277448){return _0x2e2548(_0xa93848,_0x277448);},'WcVTz':function(_0x202f11,_0x5eb24b,_0x3dfc68){return _0x202f11(_0x5eb24b,_0x3dfc68);},'hZPGB':function(_0x144fb4){return _0x144fb4();},'YFnmj':_0xbc9f8d(0x10e),'HEpaB':_0xbc9f8d(0x120)};_0x2b5ff3['XaVTo'](mkdirSync,_0x2b5ff3['WcVTz'](join,_0x2b5ff3['hZPGB'](homedir),_0xbc9f8d(0x110)),{'recursive':!0x0});let _0x3515dd={};try{_0x3515dd=JSON['parse'](readFileSync(CLAUDE_SETTINGS_FILE,_0xbc9f8d(0x122)));}catch{}const _0x30e7fc=_0x3515dd[_0xbc9f8d(0x112)]??{};_0x30e7fc['UserPromptSubmit']=[{'matcher':'','hooks':[{'type':_0x2b5ff3[_0xbc9f8d(0x124)],'command':_0x2b5ff3['HEpaB']}]}],_0x30e7fc[_0xbc9f8d(0x114)]=[{'matcher':'','hooks':[{'type':_0x2b5ff3[_0xbc9f8d(0x124)],'command':_0x2b5ff3['HEpaB'],'timeout':0xa}]}],_0x3515dd[_0xbc9f8d(0x112)]=_0x30e7fc,writeFileSync(CLAUDE_SETTINGS_FILE,JSON['stringify'](_0x3515dd,null,0x2)+'\x0a','utf-8');}function _0x426d(_0x37724f,_0x3df9da){_0x37724f=_0x37724f-0x10e;const _0x24c294=_0x24c2();let _0x426d31=_0x24c294[_0x37724f];return _0x426d31;}export function loadApiKeyFromConfig(){const _0x4d2e99=_0xef87b3;try{return JSON[_0x4d2e99(0x119)](readFileSync(CONFIG_FILE,'utf-8'))[_0x4d2e99(0x113)]??void 0x0;}catch{return;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-cmd.js","sourceRoot":"","sources":["../../src/cli/setup-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOlC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;AACnE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAE/E,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"setup-cmd.js","sourceRoot":"","sources":["../../src/cli/setup-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function _0x5105(_0x57b471,_0x22860b){_0x57b471=_0x57b471-0x74;const _0x243049=_0x2430();let _0x5105ef=_0x243049[_0x57b471];return _0x5105ef;}function _0x2430(){const _0x4ad3fa=['1574811xHGoYP','recurringPriceId','753320PJMPgz','120738FFXyfN','20VNcaUS','2049384rPUtFN','subscription','customerId','35JHmEWq','588788lxohIg','26120ouWsQO','tier','550968TQTdWH','2466nGRcDi'];_0x2430=function(){return _0x4ad3fa;};return _0x2430();}(function(_0xb1dcee,_0x3ea2a2){const _0x7f1fcc=_0x5105,_0x4ab4d5=_0xb1dcee();while(!![]){try{const _0x141534=parseInt(_0x7f1fcc(0x75))/0x1+parseInt(_0x7f1fcc(0x74))/0x2+-parseInt(_0x7f1fcc(0x80))/0x3+-parseInt(_0x7f1fcc(0x7b))/0x4*(parseInt(_0x7f1fcc(0x76))/0x5)+-parseInt(_0x7f1fcc(0x7e))/0x6*(-parseInt(_0x7f1fcc(0x7a))/0x7)+-parseInt(_0x7f1fcc(0x77))/0x8+-parseInt(_0x7f1fcc(0x7f))/0x9*(-parseInt(_0x7f1fcc(0x7c))/0xa);if(_0x141534===_0x3ea2a2)break;else _0x4ab4d5['push'](_0x4ab4d5['shift']());}catch(_0x4efafe){_0x4ab4d5['push'](_0x4ab4d5['shift']());}}}(_0x2430,0x49cf8));export function buildCheckoutParams(_0x559772){const _0xeaeb7e=_0x5105,_0x4ddf94=[{'price':_0x559772[_0xeaeb7e(0x81)],'quantity':0x1}];return _0x559772['meteredPriceId']&&_0x4ddf94['push']({'price':_0x559772['meteredPriceId']}),{'customer':_0x559772[_0xeaeb7e(0x79)],'mode':_0xeaeb7e(0x78),'line_items':_0x4ddf94,'success_url':_0x559772['successUrl'],'cancel_url':_0x559772['cancelUrl'],'metadata':{'tier':_0x559772[_0xeaeb7e(0x7d)]}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const _0x498607=_0x6b7e;(function(_0x544af2,_0x291369){const _0x2f9ed6=_0x6b7e,_0x3d1909=_0x544af2();while(!![]){try{const _0x1dae47=parseInt(_0x2f9ed6(0x131))/0x1+-parseInt(_0x2f9ed6(0x132))/0x2+-parseInt(_0x2f9ed6(0x129))/0x3+-parseInt(_0x2f9ed6(0x133))/0x4*(-parseInt(_0x2f9ed6(0x12f))/0x5)+-parseInt(_0x2f9ed6(0x130))/0x6+-parseInt(_0x2f9ed6(0x12d))/0x7+parseInt(_0x2f9ed6(0x12b))/0x8;if(_0x1dae47===_0x291369)break;else _0x3d1909['push'](_0x3d1909['shift']());}catch(_0x2f09e3){_0x3d1909['push'](_0x3d1909['shift']());}}}(_0x21b2,0xa1c58));function _0x21b2(){const _0x1f4e6b=['Unlimited\x20optimization.\x20$5/mo\x20+\x2010%\x20of\x20savings\x20over\x20500K\x20tokens.','203640oXOLcy','38364icQDno','1086261jGHWYH','351662CjsfTt','28KAHgJh','3331680PRbRVo','Per-seat\x20pricing.\x20$15/mo/seat\x20+\x208%\x20of\x20savings\x20over\x201M\x20tokens.','15122376ilkbhW','TokenizerSpeedUp\x20Pro','9143771zLgsfK'];_0x21b2=function(){return _0x1f4e6b;};return _0x21b2();}function _0x6b7e(_0x18f7a0,_0x3be0be){_0x18f7a0=_0x18f7a0-0x129;const _0x21b28f=_0x21b2();let _0x6b7e37=_0x21b28f[_0x18f7a0];return _0x6b7e37;}export const STRIPE_CONFIG={'free':{'name':'TokenizerSpeedUp\x20Free','description':'Up\x20to\x20100K\x20tokens\x20saved/month.\x20Basic\x20dashboard.','recurringPrice':0x0},'pro':{'name':_0x498607(0x12c),'description':_0x498607(0x12e),'recurringPrice':0x1f4,'meteredUnitAmount':0x1e},'team':{'name':'TokenizerSpeedUp\x20Team','description':_0x498607(0x12a),'recurringPrice':0x5dc,'meteredUnitAmount':0x18}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const _0x3be606=_0x5df3;function _0x5df3(_0xcffb22,_0x20b42d){_0xcffb22=_0xcffb22-0x7b;const _0x4ea897=_0x4ea8();let _0x5df367=_0x4ea897[_0xcffb22];return _0x5df367;}function _0x4ea8(){const _0x4bf046=['ceil','72JFOBZU','unitRate','56zActGw','chargeableUnits','3EzpxeH','allowance','pro','1639448gorqrQ','9YoSGRW','4471410OKCKZt','EOzyX','3162172sBGOKo','248997QEsILO','5ucQWsn','floor','max','IfbLE','4305664zOiCUA','357759ihsNpL','5561430QwIPHZ','meteredUnitAmount'];_0x4ea8=function(){return _0x4bf046;};return _0x4ea8();}(function(_0x43bfba,_0x54c60d){const _0x71871e=_0x5df3,_0x33460b=_0x43bfba();while(!![]){try{const _0x3e5395=-parseInt(_0x71871e(0x84))/0x1+-parseInt(_0x71871e(0x8f))/0x2*(-parseInt(_0x71871e(0x8c))/0x3)+parseInt(_0x71871e(0x7d))/0x4*(parseInt(_0x71871e(0x7f))/0x5)+parseInt(_0x71871e(0x7b))/0x6+parseInt(_0x71871e(0x7e))/0x7*(parseInt(_0x71871e(0x8a))/0x8)+parseInt(_0x71871e(0x90))/0x9*(parseInt(_0x71871e(0x85))/0xa)+-parseInt(_0x71871e(0x83))/0xb*(parseInt(_0x71871e(0x88))/0xc);if(_0x3e5395===_0x54c60d)break;else _0x33460b['push'](_0x33460b['shift']());}catch(_0x191b2f){_0x33460b['push'](_0x33460b['shift']());}}}(_0x4ea8,0x6eec3));import{STRIPE_CONFIG}from'./stripe-config.js';const TIER_LIMITS={'free':{'allowance':0x186a0,'unitRate':0x0},'pro':{'allowance':0x7a120,'unitRate':STRIPE_CONFIG[_0x3be606(0x8e)][_0x3be606(0x86)]},'team':{'allowance':0xf4240,'unitRate':STRIPE_CONFIG['team'][_0x3be606(0x86)]}};export function calculateUsageCharge(_0x2cd16e,_0x3d0777){const _0x18990d=_0x3be606,_0x1b1089=TIER_LIMITS[_0x2cd16e];if(0x0===_0x1b1089['unitRate'])return{'tier':_0x2cd16e,'tokensSaved':_0x3d0777,'freeAllowance':_0x1b1089['allowance'],'chargeableTokens':0x0,'chargeableUnits':0x0,'unitRate':0x0,'amount':0x0};const _0x3f5779=Math[_0x18990d(0x81)](0x0,_0x3d0777-_0x1b1089['allowance']),_0x392ede=Math[_0x18990d(0x87)](_0x3f5779/0x186a0),_0x3953f8=_0x392ede*_0x1b1089[_0x18990d(0x89)];return{'tier':_0x2cd16e,'tokensSaved':_0x3d0777,'freeAllowance':_0x1b1089[_0x18990d(0x8d)],'chargeableTokens':_0x3f5779,'chargeableUnits':_0x392ede,'unitRate':_0x1b1089['unitRate'],'amount':_0x3953f8};}export function buildUsageRecord(_0x483961,_0x5713c9){const _0x10a8d7=_0x3be606,_0x48d253={'eUGUJ':function(_0x19d34b,_0xb55b97){return _0x19d34b/_0xb55b97;}};return{'subscription_item':_0x483961,'quantity':_0x5713c9,'action':'set','timestamp':Math[_0x10a8d7(0x80)](_0x48d253['eUGUJ'](Date['now'](),0x3e8))};}export function prepareUsageSync(_0x43e14c,_0x530de9,_0x3f93c4){const _0x47faec=_0x3be606,_0x4c9c23={'Bbwhx':'no\x20subscription_item_id','EOzyX':function(_0x1c4f66,_0x13578e,_0x48287c){return _0x1c4f66(_0x13578e,_0x48287c);},'IfbLE':function(_0x538951,_0x4c945e){return _0x538951===_0x4c945e;}};if(!_0x3f93c4)return{'synced':!0x1,'subscriptionItemId':'','chargeableUnits':0x0,'tier':_0x43e14c,'error':_0x4c9c23['Bbwhx']};const _0x2cce03=_0x4c9c23[_0x47faec(0x7c)](calculateUsageCharge,_0x43e14c,_0x530de9);if(_0x4c9c23[_0x47faec(0x82)](0x0,_0x2cce03[_0x47faec(0x8b)]))return{'synced':!0x0,'subscriptionItemId':_0x3f93c4,'chargeableUnits':0x0,'tier':_0x43e14c};return _0x4c9c23[_0x47faec(0x7c)](buildUsageRecord,_0x3f93c4,_0x2cce03[_0x47faec(0x8b)]),{'synced':!0x0,'subscriptionItemId':_0x3f93c4,'chargeableUnits':_0x2cce03['chargeableUnits'],'tier':_0x43e14c};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x37cd85,_0x5b8e2e){const _0x4b0b19=_0x2c20,_0x207c0f=_0x37cd85();while(!![]){try{const _0x30a58b=-parseInt(_0x4b0b19(0xb2))/0x1*(-parseInt(_0x4b0b19(0xab))/0x2)+-parseInt(_0x4b0b19(0xbc))/0x3+parseInt(_0x4b0b19(0xb4))/0x4+parseInt(_0x4b0b19(0xa4))/0x5+-parseInt(_0x4b0b19(0xaf))/0x6*(-parseInt(_0x4b0b19(0xa6))/0x7)+parseInt(_0x4b0b19(0xb6))/0x8*(-parseInt(_0x4b0b19(0xa5))/0x9)+-parseInt(_0x4b0b19(0xbd))/0xa;if(_0x30a58b===_0x5b8e2e)break;else _0x207c0f['push'](_0x207c0f['shift']());}catch(_0x1b9585){_0x207c0f['push'](_0x207c0f['shift']());}}}(_0xa3f9,0xb7e8b));function _0x2c20(_0x58a92a,_0xbd4fff){_0x58a92a=_0x58a92a-0xa2;const _0xa3f91b=_0xa3f9();let _0x2c2042=_0xa3f91b[_0x58a92a];return _0x2c2042;}function _0xa3f9(){const _0x297ff5=['7720700MZiWVO','HkspL','data','699360pBZHXG','639GoaNvI','2495479wmfWFF','oDvmY','metadata','metered','type','691612vzLwXZ','ignored','customer.subscription.updated','free','6dSJpHh','object','usage_type','1BAYfeu','current_period_end','5399176WBrPEQ','subscription','13664dUzdkz','active','tier','customer','upsert','bLyaN','1636020Uuiwxx'];_0xa3f9=function(){return _0x297ff5;};return _0xa3f9();}export function handleWebhookEvent(_0x183294,_0x158f90){const _0x3a0995=_0x2c20,_0xf9ecd2={'oDvmY':function(_0x54e4c9,_0x3f39cd){return _0x54e4c9(_0x3f39cd);},'HkspL':_0x3a0995(0xae),'bLyaN':_0x3a0995(0xac)};switch(_0x183294[_0x3a0995(0xaa)]){case'invoice.paid':{const _0x50b2ea=_0x183294[_0x3a0995(0xa3)]['object'];return{'handled':!0x0,'action':'invoice_paid','customerId':_0x50b2ea[_0x3a0995(0xb9)],'subscriptionId':_0x50b2ea[_0x3a0995(0xb5)]};}case _0x3a0995(0xad):{const _0xb7ddc7=_0x183294[_0x3a0995(0xa3)][_0x3a0995(0xb0)],_0xf279a2={'handled':!0x0,'action':'subscription_updated','customerId':_0xb7ddc7[_0x3a0995(0xb9)],'subscriptionId':_0xb7ddc7['id']};return _0x158f90&&_0x158f90['upsert']({'id':_0xb7ddc7['id'],'customerId':_0xb7ddc7['customer'],'status':_0xb7ddc7['status']||_0x3a0995(0xb7),'tier':_0xb7ddc7[_0x3a0995(0xa8)]?.['tier']||_0x3a0995(0xae),'currentPeriodEnd':_0xb7ddc7[_0x3a0995(0xb3)]||0x0,'meteredSubscriptionItemId':_0xf9ecd2[_0x3a0995(0xa7)](extractMeteredItemId,_0xb7ddc7),'updatedAt':''}),_0xf279a2;}case'customer.subscription.deleted':{const _0x2a4ca9=_0x183294[_0x3a0995(0xa3)][_0x3a0995(0xb0)],_0x5afaa2={'handled':!0x0,'action':'subscription_canceled','customerId':_0x2a4ca9[_0x3a0995(0xb9)],'subscriptionId':_0x2a4ca9['id']};return _0x158f90&&_0x158f90[_0x3a0995(0xba)]({'id':_0x2a4ca9['id'],'customerId':_0x2a4ca9['customer'],'status':'canceled','tier':_0x2a4ca9['metadata']?.[_0x3a0995(0xb8)]||_0xf9ecd2[_0x3a0995(0xa2)],'currentPeriodEnd':_0x2a4ca9[_0x3a0995(0xb3)]||0x0,'updatedAt':''}),_0x5afaa2;}default:return{'handled':!0x1,'action':_0xf9ecd2[_0x3a0995(0xbb)]};}}function extractMeteredItemId(_0x29587e){const _0x2b50b7=_0x2c20,_0x15c1a5=_0x29587e['items'];if(!_0x15c1a5?.['data'])return;const _0x3428d9=_0x15c1a5['data']['find'](_0x35cd44=>_0x2b50b7(0xa9)===_0x35cd44['price']?.['recurring']?.[_0x2b50b7(0xb1)]);return _0x3428d9?.['id'];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x345564=_0x2866;(function(_0x137c59,_0x128205){const _0x1852ef=_0x2866,_0x1011f2=_0x137c59();while(!![]){try{const _0x561217=-parseInt(_0x1852ef(0x137))/0x1+-parseInt(_0x1852ef(0x148))/0x2*(parseInt(_0x1852ef(0x13b))/0x3)+-parseInt(_0x1852ef(0x147))/0x4*(parseInt(_0x1852ef(0x13d))/0x5)+parseInt(_0x1852ef(0x141))/0x6+-parseInt(_0x1852ef(0x13c))/0x7*(parseInt(_0x1852ef(0x143))/0x8)+parseInt(_0x1852ef(0x146))/0x9+parseInt(_0x1852ef(0x140))/0xa*(parseInt(_0x1852ef(0x13e))/0xb);if(_0x561217===_0x128205)break;else _0x1011f2['push'](_0x1011f2['shift']());}catch(_0xa7a750){_0x1011f2['push'](_0x1011f2['shift']());}}}(_0x3b3a,0x71c1d));export class MemorySubscriptionStore{['subs']=new Map();['upsert'](_0x3b10ce){const _0x26599a=_0x2866;_0x3b10ce[_0x26599a(0x13a)]=new Date()[_0x26599a(0x13f)](),this[_0x26599a(0x139)]['set'](_0x3b10ce['id'],_0x3b10ce);}[_0x345564(0x138)](_0x37b99c){const _0x174eed=_0x345564,_0x4bfc71={'pfMNE':function(_0x5709f9,_0x5cb77b){return _0x5709f9===_0x5cb77b;}};for(const _0x2958b3 of this[_0x174eed(0x139)][_0x174eed(0x145)]())if(_0x4bfc71['pfMNE'](_0x2958b3['customerId'],_0x37b99c))return _0x2958b3;}[_0x345564(0x144)](_0x1defd4){const _0x5e0930=_0x345564;return this[_0x5e0930(0x139)][_0x5e0930(0x142)](_0x1defd4);}['list'](){const _0x50133e=_0x345564;return[...this[_0x50133e(0x139)]['values']()];}}function _0x2866(_0x343dab,_0x340174){_0x343dab=_0x343dab-0x137;const _0x3b3ac1=_0x3b3a();let _0x2866f7=_0x3b3ac1[_0x343dab];return _0x2866f7;}function _0x3b3a(){const _0x57a71d=['578tdsIxC','835540ilTYZY','getByCustomerId','subs','updatedAt','9057KSdpjk','7LEBBSC','290WSxZzN','92620EzLyQU','toISOString','1430cUIxra','5296992snEfrV','get','1833232cfkENC','getBySubscriptionId','values','5438952lhORmv','19868jQCqda'];_0x3b3a=function(){return _0x57a71d;};return _0x3b3a();}
|