@simosphere/tokenizer-speedup 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/.claude-plugin/plugin.json +15 -0
  2. package/README-plugin.md +75 -0
  3. package/dist/cli/analyze.d.ts +13 -0
  4. package/dist/cli/analyze.js +1 -0
  5. package/dist/cli/analyze.js.map +1 -0
  6. package/dist/cli/config-cmd.d.ts +10 -0
  7. package/dist/cli/config-cmd.js +1 -0
  8. package/dist/cli/config-cmd.js.map +1 -0
  9. package/dist/cli/index.d.ts +4 -0
  10. package/dist/cli/index.js +1 -0
  11. package/dist/cli/index.js.map +1 -0
  12. package/dist/cli/setup-cmd.d.ts +2 -0
  13. package/dist/cli/setup-cmd.js +1 -0
  14. package/dist/cli/setup-cmd.js.map +1 -0
  15. package/dist/cloud/stripe-checkout.d.ts +11 -0
  16. package/dist/cloud/stripe-checkout.js +1 -0
  17. package/dist/cloud/stripe-checkout.js.map +1 -0
  18. package/dist/cloud/stripe-config.d.ts +35 -0
  19. package/dist/cloud/stripe-config.js +1 -0
  20. package/dist/cloud/stripe-config.js.map +1 -0
  21. package/dist/cloud/stripe-usage.d.ts +30 -0
  22. package/dist/cloud/stripe-usage.js +1 -0
  23. package/dist/cloud/stripe-usage.js.map +1 -0
  24. package/dist/cloud/stripe-webhooks.d.ts +15 -0
  25. package/dist/cloud/stripe-webhooks.js +1 -0
  26. package/dist/cloud/stripe-webhooks.js.map +1 -0
  27. package/dist/cloud/subscription-store.d.ts +23 -0
  28. package/dist/cloud/subscription-store.js +1 -0
  29. package/dist/cloud/subscription-store.js.map +1 -0
  30. package/dist/manifest.json +68 -0
  31. package/dist/plugin/cli.d.ts +1 -0
  32. package/dist/plugin/cli.js +1 -0
  33. package/dist/plugin/cli.js.map +1 -0
  34. package/dist/plugin/config-loader.d.ts +6 -0
  35. package/dist/plugin/config-loader.js +1 -0
  36. package/dist/plugin/config-loader.js.map +1 -0
  37. package/dist/plugin/context-compressor.d.ts +22 -0
  38. package/dist/plugin/context-compressor.js +1 -0
  39. package/dist/plugin/context-compressor.js.map +1 -0
  40. package/dist/plugin/hook-dispatcher.d.ts +11 -0
  41. package/dist/plugin/hook-dispatcher.js +1 -0
  42. package/dist/plugin/hook-dispatcher.js.map +1 -0
  43. package/dist/plugin/metering-client.d.ts +26 -0
  44. package/dist/plugin/metering-client.js +1 -0
  45. package/dist/plugin/metering-client.js.map +1 -0
  46. package/dist/plugin/metrics-collector.d.ts +19 -0
  47. package/dist/plugin/metrics-collector.js +1 -0
  48. package/dist/plugin/metrics-collector.js.map +1 -0
  49. package/dist/plugin/onboarding.d.ts +13 -0
  50. package/dist/plugin/onboarding.js +1 -0
  51. package/dist/plugin/onboarding.js.map +1 -0
  52. package/dist/plugin/precompact-handler.d.ts +26 -0
  53. package/dist/plugin/precompact-handler.js +1 -0
  54. package/dist/plugin/precompact-handler.js.map +1 -0
  55. package/dist/plugin/report.d.ts +13 -0
  56. package/dist/plugin/report.js +1 -0
  57. package/dist/plugin/report.js.map +1 -0
  58. package/dist/plugin/rule-analytics-store.d.ts +3 -0
  59. package/dist/plugin/rule-analytics-store.js +1 -0
  60. package/dist/plugin/rule-analytics-store.js.map +1 -0
  61. package/dist/plugin/rule-analytics.d.ts +12 -0
  62. package/dist/plugin/rule-analytics.js +1 -0
  63. package/dist/plugin/rule-analytics.js.map +1 -0
  64. package/dist/plugin/rule-engine.d.ts +9 -0
  65. package/dist/plugin/rule-engine.js +1 -0
  66. package/dist/plugin/rule-engine.js.map +1 -0
  67. package/dist/plugin/rule-sharing.d.ts +19 -0
  68. package/dist/plugin/rule-sharing.js +1 -0
  69. package/dist/plugin/rule-sharing.js.map +1 -0
  70. package/dist/plugin/rule-suggest.d.ts +7 -0
  71. package/dist/plugin/rule-suggest.js +1 -0
  72. package/dist/plugin/rule-suggest.js.map +1 -0
  73. package/dist/plugin/session-start.d.ts +6 -0
  74. package/dist/plugin/session-start.js +1 -0
  75. package/dist/plugin/session-start.js.map +1 -0
  76. package/dist/plugin/smart-context.d.ts +7 -0
  77. package/dist/plugin/smart-context.js +1 -0
  78. package/dist/plugin/smart-context.js.map +1 -0
  79. package/dist/shared/license.d.ts +7 -0
  80. package/dist/shared/license.js +1 -0
  81. package/dist/shared/license.js.map +1 -0
  82. package/dist/shared/providers/claude-provider.d.ts +2 -0
  83. package/dist/shared/providers/claude-provider.js +1 -0
  84. package/dist/shared/providers/claude-provider.js.map +1 -0
  85. package/dist/shared/providers/openai-provider.d.ts +2 -0
  86. package/dist/shared/providers/openai-provider.js +1 -0
  87. package/dist/shared/providers/openai-provider.js.map +1 -0
  88. package/dist/shared/token-counter.d.ts +10 -0
  89. package/dist/shared/token-counter.js +1 -0
  90. package/dist/shared/token-counter.js.map +1 -0
  91. package/dist/shared/token-provider.d.ts +10 -0
  92. package/dist/shared/token-provider.js +1 -0
  93. package/dist/shared/token-provider.js.map +1 -0
  94. package/dist/shared/types.d.ts +62 -0
  95. package/dist/shared/types.js +1 -0
  96. package/dist/shared/types.js.map +1 -0
  97. package/hooks/hooks.json +52 -0
  98. package/package.json +48 -0
  99. package/tokenizer-speedup.yaml +37 -0
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "tokenizer-speedup",
3
+ "version": "0.7.0",
4
+ "description": "Intelligent context optimization for LLM sessions — save 30-60% on tokens",
5
+ "author": {
6
+ "name": "SIMO GmbH",
7
+ "email": "info@simo-online.com",
8
+ "url": "https://simo-online.com"
9
+ },
10
+ "homepage": "https://tokenizer-speedup.simosphereai.com",
11
+ "repository": "https://github.com/AndreasSchwan-SIMO/tokenizer-speedup",
12
+ "license": "BSL-1.1",
13
+ "engines": { "node": ">=20.0.0" },
14
+ "keywords": ["claude", "token-optimization", "context-management", "cost-reduction", "llm"]
15
+ }
@@ -0,0 +1,75 @@
1
+ # TokenizerSpeedUp
2
+
3
+ **Pay less. Get more.** Intelligent context optimization for Claude sessions.
4
+
5
+ Reduces token consumption by 30-60% through keyword-based context gating, compression, and session intelligence.
6
+
7
+ ## Quick Start
8
+
9
+ ```bash
10
+ # Step 1: Install globally
11
+ npm install -g @simosphere/tokenizer-speedup
12
+
13
+ # Step 2: Setup with your API key
14
+ tsu setup --api-key YOUR_KEY
15
+ ```
16
+
17
+ The `tsu setup` command configures Claude Code hooks automatically and stores your API key. Restart Claude Code after setup.
18
+
19
+ ## How It Works
20
+
21
+ 1. **Context Gating** — YAML rules detect what you're working on and load only relevant context
22
+ 2. **Context Compression** — Summaries instead of full files when appropriate
23
+ 3. **Session Intelligence** — Proactive context management to avoid compacting
24
+
25
+ ## Configuration
26
+
27
+ Create a `tokenizer-speedup.yaml` in your project root, or run the onboarding wizard:
28
+
29
+ ```yaml
30
+ version: 1
31
+ rules:
32
+ - trigger: [fix, bug, error]
33
+ load: docs/lessons-learned/*.md
34
+ max_tokens: 2000
35
+ - trigger: [design, architecture]
36
+ load: docs/decisions/*.md
37
+ summary_only: true
38
+ context_limits:
39
+ max_injected_tokens: 8000
40
+ max_file_tokens: 4000
41
+ metering:
42
+ endpoint: https://api.simosphereai.com/v1/meter
43
+ send_content: false
44
+ ```
45
+
46
+ ## Pricing
47
+
48
+ | Tier | Price | Includes |
49
+ |------|-------|----------|
50
+ | Free | $0/month | Up to 100K tokens saved |
51
+ | Pro | $5/month + usage | Unlimited optimization |
52
+ | Team | $15/seat/month + usage | Per-seat, team-wide rules |
53
+
54
+ ## Privacy
55
+
56
+ - Your prompts **never leave your machine**
57
+ - Only anonymous token counts are sent for metering
58
+ - Open-source core — inspect and audit anytime
59
+
60
+ ## Requirements
61
+
62
+ - Node.js 20+
63
+ - Claude Code
64
+
65
+ ## Links
66
+
67
+ - [Landing Page](https://tokenizer-speedup.simosphereai.com)
68
+ - [Privacy Policy](https://tokenizer-speedup.simosphereai.com/privacy)
69
+ - [Terms of Service](https://tokenizer-speedup.simosphereai.com/terms)
70
+
71
+ ## License
72
+
73
+ Business Source License 1.1 (BSL-1.1)
74
+
75
+ Made by [SIMO GmbH](https://simo-online.com), Aschaffenburg, Germany.
@@ -0,0 +1,13 @@
1
+ import '../shared/providers/claude-provider.js';
2
+ import '../shared/providers/openai-provider.js';
3
+ export interface AnalyzeResult {
4
+ tokens: number;
5
+ estimate: number;
6
+ provider: string;
7
+ model: string;
8
+ chars: number;
9
+ words: number;
10
+ }
11
+ export declare function analyzeText(text: string, provider?: string, model?: string): AnalyzeResult;
12
+ export declare function analyzeFile(filePath: string, provider?: string, model?: string): AnalyzeResult;
13
+ export declare function compareProviders(text: string): Record<string, AnalyzeResult>;
@@ -0,0 +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')};}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/cli/analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAWlE,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAc;IAC3E,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/F,MAAM,EAAE,GAAG,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACvD,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;QAC5B,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;QACjC,QAAQ;QACR,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAc;IAC/E,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO;QACL,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;QACnC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import '../shared/providers/claude-provider.js';
2
+ import '../shared/providers/openai-provider.js';
3
+ export interface ConfigValidation {
4
+ valid: boolean;
5
+ provider: string;
6
+ model: string;
7
+ ruleCount: number;
8
+ error?: string;
9
+ }
10
+ export declare function validateConfigYaml(yamlStr: string): ConfigValidation;
@@ -0,0 +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();}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-cmd.js","sourceRoot":"","sources":["../../src/cli/config-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAUzD,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;SAC/B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,GAAG,CAAC,OAAO;SACnB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ import '../shared/providers/claude-provider.js';
3
+ import '../shared/providers/openai-provider.js';
4
+ export declare function buildCLI(): Command;
@@ -0,0 +1 @@
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)]();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runSetup(apiKey: string): void;
2
+ export declare function loadApiKeyFromConfig(): string | undefined;
@@ -0,0 +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;}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-cmd.js","sourceRoot":"","sources":["../../src/cli/setup-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type Stripe from 'stripe';
2
+ interface CheckoutInput {
3
+ tier: 'free' | 'pro' | 'team';
4
+ customerId: string;
5
+ successUrl: string;
6
+ cancelUrl: string;
7
+ recurringPriceId: string;
8
+ meteredPriceId?: string;
9
+ }
10
+ export declare function buildCheckoutParams(input: CheckoutInput): Stripe.Checkout.SessionCreateParams;
11
+ export {};
@@ -0,0 +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)]}};}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-checkout.js","sourceRoot":"","sources":["../../src/cloud/stripe-checkout.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,MAAM,SAAS,GAAmD;QAChE,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE;KAC/C,CAAC;IAEF,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;KAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ export interface StripeProducts {
2
+ free: {
3
+ productId: string;
4
+ priceId: string;
5
+ };
6
+ pro: {
7
+ productId: string;
8
+ recurringPriceId: string;
9
+ meteredPriceId: string;
10
+ };
11
+ team: {
12
+ productId: string;
13
+ recurringPriceId: string;
14
+ meteredPriceId: string;
15
+ };
16
+ }
17
+ export declare const STRIPE_CONFIG: {
18
+ readonly free: {
19
+ readonly name: "TokenizerSpeedUp Free";
20
+ readonly description: "Up to 100K tokens saved/month. Basic dashboard.";
21
+ readonly recurringPrice: 0;
22
+ };
23
+ readonly pro: {
24
+ readonly name: "TokenizerSpeedUp Pro";
25
+ readonly description: "Unlimited optimization. $5/mo + 10% of savings over 500K tokens.";
26
+ readonly recurringPrice: 500;
27
+ readonly meteredUnitAmount: 30;
28
+ };
29
+ readonly team: {
30
+ readonly name: "TokenizerSpeedUp Team";
31
+ readonly description: "Per-seat pricing. $15/mo/seat + 8% of savings over 1M tokens.";
32
+ readonly recurringPrice: 1500;
33
+ readonly meteredUnitAmount: 24;
34
+ };
35
+ };
@@ -0,0 +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}};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-config.js","sourceRoot":"","sources":["../../src/cloud/stripe-config.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,iDAAiD;QAC9D,cAAc,EAAE,CAAC,EAAE,QAAQ;KAC5B;IACD,GAAG,EAAE;QACH,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,kEAAkE;QAC/E,cAAc,EAAE,GAAG,EAAE,iBAAiB;QACtC,iBAAiB,EAAE,EAAE,EAAE,uCAAuC;KAC/D;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,+DAA+D;QAC5E,cAAc,EAAE,IAAI,EAAE,kBAAkB;QACxC,iBAAiB,EAAE,EAAE,EAAE,uCAAuC;KAC/D;CACO,CAAC"}
@@ -0,0 +1,30 @@
1
+ interface UsageCharge {
2
+ tier: string;
3
+ tokensSaved: number;
4
+ freeAllowance: number;
5
+ chargeableTokens: number;
6
+ chargeableUnits: number;
7
+ unitRate: number;
8
+ amount: number;
9
+ }
10
+ export declare function calculateUsageCharge(tier: 'free' | 'pro' | 'team', tokensSaved: number): UsageCharge;
11
+ interface UsageRecordParams {
12
+ subscription_item: string;
13
+ quantity: number;
14
+ action: 'set';
15
+ timestamp: number;
16
+ }
17
+ export declare function buildUsageRecord(subscriptionItemId: string, units: number): UsageRecordParams;
18
+ export interface UsageSyncResult {
19
+ synced: boolean;
20
+ subscriptionItemId: string;
21
+ chargeableUnits: number;
22
+ tier: string;
23
+ error?: string;
24
+ }
25
+ /**
26
+ * Berechnet die Gebuehr und erstellt den Usage Record fuer Stripe.
27
+ * Gibt das Ergebnis zurueck ohne Stripe direkt aufzurufen (testbar).
28
+ */
29
+ export declare function prepareUsageSync(tier: 'free' | 'pro' | 'team', tokensSaved: number, subscriptionItemId: string): UsageSyncResult;
30
+ export {};
@@ -0,0 +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();}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-usage.js","sourceRoot":"","sources":["../../src/cloud/stripe-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYnD,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE;IACzC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,iBAAiB,EAAE;IAC1E,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE;CACtE,CAAC;AAEX,MAAM,UAAU,oBAAoB,CAAC,IAA6B,EAAE,WAAmB;IACrF,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjC,8CAA8C;IAC9C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACjI,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEjD,OAAO;QACL,IAAI;QACJ,WAAW;QACX,aAAa,EAAE,MAAM,CAAC,SAAS;QAC/B,gBAAgB;QAChB,eAAe;QACf,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM;KACP,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,gBAAgB,CAAC,kBAA0B,EAAE,KAAa;IACxE,OAAO;QACL,iBAAiB,EAAE,kBAAkB;QACrC,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;KACzC,CAAC;AACJ,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAA6B,EAC7B,WAAmB,EACnB,kBAA0B;IAE1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;IAC/G,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEvD,IAAI,MAAM,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAE7E,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,kBAAkB;QAClB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { SubscriptionStore } from './subscription-store.js';
2
+ interface WebhookEvent {
3
+ type: string;
4
+ data: {
5
+ object: Record<string, unknown>;
6
+ };
7
+ }
8
+ interface WebhookResult {
9
+ handled: boolean;
10
+ action: string;
11
+ customerId?: string;
12
+ subscriptionId?: string;
13
+ }
14
+ export declare function handleWebhookEvent(event: WebhookEvent, store?: SubscriptionStore): WebhookResult;
15
+ export {};
@@ -0,0 +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();}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe-webhooks.js","sourceRoot":"","sources":["../../src/cloud/stripe-webhooks.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,kBAAkB,CAAC,KAAmB,EAAE,KAAyB;IAC/E,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,OAAO,CAAC,QAAkB;gBACtC,cAAc,EAAE,OAAO,CAAC,YAAsB;aAC/C,CAAC;QACJ,CAAC;QACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,MAAM,MAAM,GAAkB;gBAC5B,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,sBAAsB;gBAC9B,UAAU,EAAE,GAAG,CAAC,QAAkB;gBAClC,cAAc,EAAE,GAAG,CAAC,EAAY;aACjC,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,MAAM,CAAC;oBACX,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,UAAU,EAAE,GAAG,CAAC,QAAkB;oBAClC,MAAM,EAAG,GAAG,CAAC,MAA6B,IAAI,QAAQ;oBACtD,IAAI,EAAI,GAAG,CAAC,QAAmC,EAAE,IAAgC,IAAI,MAAM;oBAC3F,gBAAgB,EAAG,GAAG,CAAC,kBAA6B,IAAI,CAAC;oBACzD,yBAAyB,EAAE,oBAAoB,CAAC,GAAG,CAAC;oBACpD,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,+BAA+B,CAAC,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,MAAM,MAAM,GAAkB;gBAC5B,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,uBAAuB;gBAC/B,UAAU,EAAE,GAAG,CAAC,QAAkB;gBAClC,cAAc,EAAE,GAAG,CAAC,EAAY;aACjC,CAAC;YACF,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,MAAM,CAAC;oBACX,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,UAAU,EAAE,GAAG,CAAC,QAAkB;oBAClC,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAI,GAAG,CAAC,QAAmC,EAAE,IAAgC,IAAI,MAAM;oBAC3F,gBAAgB,EAAG,GAAG,CAAC,kBAA6B,IAAI,CAAC;oBACzD,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD;YACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,GAA4B;IACxD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAsG,CAAC;IACzH,IAAI,CAAC,KAAK,EAAE,IAAI;QAAE,OAAO,SAAS,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC;IACzF,OAAO,OAAO,EAAE,EAAE,CAAC;AACrB,CAAC"}
@@ -0,0 +1,23 @@
1
+ export type SubscriptionStatus = 'active' | 'past_due' | 'canceled' | 'unpaid' | 'trialing';
2
+ export interface Subscription {
3
+ id: string;
4
+ customerId: string;
5
+ status: SubscriptionStatus;
6
+ tier: 'free' | 'pro' | 'team';
7
+ currentPeriodEnd: number;
8
+ meteredSubscriptionItemId?: string;
9
+ updatedAt: string;
10
+ }
11
+ export interface SubscriptionStore {
12
+ upsert(sub: Subscription): void;
13
+ getByCustomerId(customerId: string): Subscription | undefined;
14
+ getBySubscriptionId(subscriptionId: string): Subscription | undefined;
15
+ list(): Subscription[];
16
+ }
17
+ export declare class MemorySubscriptionStore implements SubscriptionStore {
18
+ private subs;
19
+ upsert(sub: Subscription): void;
20
+ getByCustomerId(customerId: string): Subscription | undefined;
21
+ getBySubscriptionId(subscriptionId: string): Subscription | undefined;
22
+ list(): Subscription[];
23
+ }
@@ -0,0 +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();}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-store.js","sourceRoot":"","sources":["../../src/cloud/subscription-store.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,uBAAuB;IAC1B,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE/C,MAAM,CAAC,GAAiB;QACtB,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,UAAU,KAAK,UAAU;gBAAE,OAAO,GAAG,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB,CAAC,cAAsB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,68 @@
1
+ {
2
+ "version": "0.7.0",
3
+ "build": "2026-03-04T07:34:45.236Z",
4
+ "files": {
5
+ "cli/analyze.d.ts": "sha256:520ab064dfdf8a4fa95f73d74d4f96add4d60d8a22a32f622f68c4ffbf8e9785",
6
+ "cli/analyze.js": "sha256:52abd3a4e4542989481daa3cc9ca24aed33cb8620c18178e365ec9cbb9b0687d",
7
+ "cli/config-cmd.d.ts": "sha256:eeae10f481e1ef2f3c6573d52bbbe1bc6994895a34c5dfc9a7c4e9f89db3460d",
8
+ "cli/config-cmd.js": "sha256:79f46c14827d0eac4f52cf9afe7420e6cd483a74020210934b42d7bb3d629cd3",
9
+ "cli/index.d.ts": "sha256:2f026c68dce905b6217e5f7fab5bfed185feeed431944a8dc60c178052f24f7d",
10
+ "cli/index.js": "sha256:2b4f7b940e0dfeed23d303da45f64155a65b835b2544b67d967e0d1b0541eefb",
11
+ "cli/setup-cmd.d.ts": "sha256:5fb0b00fd2b57e681e590153ad8ec33b9619179bfbed635c5ed01c94b232852d",
12
+ "cli/setup-cmd.js": "sha256:4530ba995c12285fd46096db61c09014ea0bb6eb849cd1e7e7b11dc55b4618cf",
13
+ "cloud/stripe-checkout.d.ts": "sha256:ce58292aa395baf9068d819c4feb5cd29781a05a5f6977024f27b8ac0c839d1e",
14
+ "cloud/stripe-checkout.js": "sha256:030145b51b34a4255ec32d51b9eb03589f2b49ef3cc47f612497e6756555f665",
15
+ "cloud/stripe-config.d.ts": "sha256:b5e4ef4c8d722b239ef13008bd216d3c56291e12ff82e3e9b9c494cd2303d656",
16
+ "cloud/stripe-config.js": "sha256:3337771d6fba33ed3f28b4691aef1bdedb7bf60c9cf33c7ac4d549cb6af487a3",
17
+ "cloud/stripe-usage.d.ts": "sha256:134415ce475007c2ed196305ab91489b688d852dda3cbf2f240d1d860d24bd2c",
18
+ "cloud/stripe-usage.js": "sha256:e532428e4958e55be40941672b95b743c7af96d0381a66b393ce3ae720e8cc88",
19
+ "cloud/stripe-webhooks.d.ts": "sha256:cca005cebcc8f1e916e975d6adef5ad15d09df4249facbb718cbc3f831ff84ab",
20
+ "cloud/stripe-webhooks.js": "sha256:0a77ab225adbe0b7521ade7c9c8207790b8bc8d1b8a7a4eed35654764c2ef098",
21
+ "cloud/subscription-store.d.ts": "sha256:6e6ba1b28d7b58131aeebd96051dae42a1e9fb5069e48a7e5d042268d5b417ec",
22
+ "cloud/subscription-store.js": "sha256:9f63b8310cfdc9036341a82e8f4ffb4824d8dd2ae73331f89c00bcd2925fa68b",
23
+ "plugin/cli.d.ts": "sha256:8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
24
+ "plugin/cli.js": "sha256:15a0e5c84452bbeeaa431b4c2cc1d89a0c5db1aaa4f55720b449e9baed46586d",
25
+ "plugin/config-loader.d.ts": "sha256:d55c9c53c9df25188abd6af71c217bb4a3feee89960ea411e174b10c456177da",
26
+ "plugin/config-loader.js": "sha256:734fcbb6a56eb473196da95c6d9b35ac315a25542d0627eab3a50641e8489a2c",
27
+ "plugin/context-compressor.d.ts": "sha256:c14912ec73df27f3c49abc84edc510edee126956eb197c446863309348a03412",
28
+ "plugin/context-compressor.js": "sha256:8287a64a06e13c9ce9f5e3588daf15a7ede14e5e4664014def524f698795ed6a",
29
+ "plugin/hook-dispatcher.d.ts": "sha256:ee5a5e5ac92dd5ca872b76611a4531fa074cb077e417f8bc9f97cf750e87aced",
30
+ "plugin/hook-dispatcher.js": "sha256:4203fe439f91b8dea1893d79691d558ed6ae6dca2b3609ed1550eb1a1e7f5a3c",
31
+ "plugin/metering-client.d.ts": "sha256:f0be7100119afdfdb557fdfd4bab872e53d2d472205d8f85fa7241e457c59c19",
32
+ "plugin/metering-client.js": "sha256:823f3e4a885a174fbe0dcb0e1fceb949bee3bfbcc8abcb1d4b7899784f9c092b",
33
+ "plugin/metrics-collector.d.ts": "sha256:91a0b593ff1f9dfbc7f02473ac250e2e875c5ac774000811490c1c1e46987c09",
34
+ "plugin/metrics-collector.js": "sha256:8f53371a2e84bb3140a1aef0c779d43995135cff50097a69df9d3927ff97a8ab",
35
+ "plugin/onboarding.d.ts": "sha256:b907ca6fc63a732f28a3c173c4a79e42e84971a0efe7cde39c2d9767376a97b6",
36
+ "plugin/onboarding.js": "sha256:d2d57223137febd4650fd862f338fff7c39837649ebd69d6e8f5721911c5515b",
37
+ "plugin/precompact-handler.d.ts": "sha256:52b1570601955ed1aa26541f651e3f45fde21ec6ce8042001dd0ac2fab253ccd",
38
+ "plugin/precompact-handler.js": "sha256:f08c247c92ec21acd4d43b6749392dae7c21ce2b1b7cf6f9009781b013f776c3",
39
+ "plugin/report.d.ts": "sha256:8027321ede260c9302dfd19c73cf48e334595350fee14485475e50008f74645f",
40
+ "plugin/report.js": "sha256:e54404cf775f2e4d1f559318110ba3ba9e9b67c077ddc28035521526c6e0c26b",
41
+ "plugin/rule-analytics-store.d.ts": "sha256:710a52c82dc6e4b2998cdd10a51083be8103b39b15b6d6d37ac8272a58e854ec",
42
+ "plugin/rule-analytics-store.js": "sha256:37ec03bfaac8dcaa4ab6ef7033e73568e813d7d3ca17113adac0a1f08b37eb2c",
43
+ "plugin/rule-analytics.d.ts": "sha256:cdeffbbc424b5452f57ca697b9c5e5ed0264efc0d56342ce476bd591b564aff3",
44
+ "plugin/rule-analytics.js": "sha256:dd369fd119425f648778854c57149df9fdaa08178c7e75a2d4ce19c9d2840985",
45
+ "plugin/rule-engine.d.ts": "sha256:e9e9e0c8af47ecf1c039a6db15a656ef3cd28e4a7521204d4eaf076a15ee2cc8",
46
+ "plugin/rule-engine.js": "sha256:9a0848e27c0882ba858f83538327ec17b754d3259345e7a58243fea7cc838ff6",
47
+ "plugin/rule-sharing.d.ts": "sha256:8fc87926ec3752c2e0d21274c98ef3bb21f2a10665eb5536b726ea8d94479a79",
48
+ "plugin/rule-sharing.js": "sha256:6ac96825b9bfc2d8bf42305b4c0f2ab4c1f765df5315377365af0dd95b384878",
49
+ "plugin/rule-suggest.d.ts": "sha256:4d12dac9df44bb3adf5b5e9456e683a42625e8b28712c80aa62292a5b3d40be9",
50
+ "plugin/rule-suggest.js": "sha256:2d19e4b45d8f82f28e1bfaf0b7b557cf5dd24044128972f58e542553694238b3",
51
+ "plugin/session-start.d.ts": "sha256:36cb2cc2a7e09195e650aa7a96b8ae420b612c23907fa35723501d27600d4ff1",
52
+ "plugin/session-start.js": "sha256:7f1ff0362cf41fc7424253d0e3e48f65aad495692fcd56a39d6f9c8521a6da55",
53
+ "plugin/smart-context.d.ts": "sha256:cace6c764ef3cf1a18f87f09ad4650abe69322b7629cd8383a7cc775f7f81be1",
54
+ "plugin/smart-context.js": "sha256:8a4ae74425122fdc9c37c6fa5b68560bc8a4a0838a7bb0c03c77399e95522b1d",
55
+ "shared/license.d.ts": "sha256:4778f87bbd80b5033479e03556a7e755aa7787707f3b875aa8795c4f1e97ee96",
56
+ "shared/license.js": "sha256:07edab0be9ad43b0df823261df9d9b39ead2584dd85ade33f3f0622621cf4d04",
57
+ "shared/providers/claude-provider.d.ts": "sha256:58d95cac3a61871425760a3ad7cd4b7749737841d49f84f70e933c52ed297f32",
58
+ "shared/providers/claude-provider.js": "sha256:aa21801b1ce3b31cb06e6a6a6a784165e86bdf152b3633a1086342de3b020e78",
59
+ "shared/providers/openai-provider.d.ts": "sha256:2114b5a1dcc4c03c5c26094d941189ffe4d6cb26a9ecc7e102830eb8bcab3cf7",
60
+ "shared/providers/openai-provider.js": "sha256:4c12cb140df8069dce4b063214d94a64d244da40eef6b5cb80f23a99e14ee925",
61
+ "shared/token-counter.d.ts": "sha256:d7e1bfe11fb4893dd936057db98fb4c9e1ee95c3d13b2bc24309fc471512f3b5",
62
+ "shared/token-counter.js": "sha256:34c0fee949afe36d58bce478e5a4ce5ba91ec3dcafc9f994010a9defea390886",
63
+ "shared/token-provider.d.ts": "sha256:f3728d375158e79fef3055f56dc247395101ecee4c21911997668de3607aea0e",
64
+ "shared/token-provider.js": "sha256:5c3471e0a45794b47b15c794176a74f3c9b9d696fed40e45c9b24b1f9f5aa7a9",
65
+ "shared/types.d.ts": "sha256:20600b79ba665bdd2200ab8390784c37a508f29b23f1967a4662b86de8baa122",
66
+ "shared/types.js": "sha256:56e1b0c10087ee6ff7f949b15d1ef63cb11228ff93a159a52f9ad7ef851e4e02"
67
+ }
68
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ const _0x26c233=_0x132f;(function(_0x46ea33,_0x2c85a0){const _0x206b3f=_0x132f,_0x77fb9d=_0x46ea33();while(!![]){try{const _0x5e8521=-parseInt(_0x206b3f(0x11f))/0x1+-parseInt(_0x206b3f(0x106))/0x2*(parseInt(_0x206b3f(0x121))/0x3)+parseInt(_0x206b3f(0x124))/0x4*(-parseInt(_0x206b3f(0x10e))/0x5)+-parseInt(_0x206b3f(0x125))/0x6*(parseInt(_0x206b3f(0x11c))/0x7)+-parseInt(_0x206b3f(0x112))/0x8*(-parseInt(_0x206b3f(0x11e))/0x9)+-parseInt(_0x206b3f(0x118))/0xa+parseInt(_0x206b3f(0x11b))/0xb;if(_0x5e8521===_0x2c85a0)break;else _0x77fb9d['push'](_0x77fb9d['shift']());}catch(_0xc0e8ed){_0x77fb9d['push'](_0x77fb9d['shift']());}}}(_0x2adf,0xddcaa));import{resolve}from'node:path';import{loadConfig}from'./config-loader.js';import{HookDispatcher}from'./hook-dispatcher.js';import{buildSessionStartContext}from'./session-start.js';import{buildSmartContext}from'./smart-context.js';import{MeteringClient,buildMeterPayload}from'./metering-client.js';function _0x2adf(){const _0x338399=['join','niujC','6413276dTSFsN','30882meoqmj','1094MvufDx','hook_event_name','metering','DcYFD','push','SessionStart','cwd','IJPCS','5wVRMfd','toString','concat','handleSessionStop','8JpQNyV','lSssn','endpoint','handlePreCompact','model','catch','4599880cfGqij','exit','xmBET','73039659eJFQEP','1372bJfgug','additionalContext','4777155DAYHZI','1725868SJzUBM','pcRgv','8031HzMMIQ'];_0x2adf=function(){return _0x338399;};return _0x2adf();}import{loadApiKeyFromConfig}from'../cli/setup-cmd.js';if(!process.env.TOKENIZER_API_KEY){const t=loadApiKeyFromConfig();t&&(process.env.TOKENIZER_API_KEY=t);}function _0x132f(_0x5f04bd,_0x1d7b22){_0x5f04bd=_0x5f04bd-0x106;const _0x2adf74=_0x2adf();let _0x132fb0=_0x2adf74[_0x5f04bd];return _0x132fb0;}async function main(){const _0x13a15f=_0x132f,_0x4c15c1={'IJPCS':function(_0x114ee8,_0x5a75d4){return _0x114ee8(_0x5a75d4);},'dVRwg':function(_0x149f57,_0x55c498,_0x42d372){return _0x149f57(_0x55c498,_0x42d372);},'DcYFD':function(_0x2579e7,_0x35f274){return _0x2579e7(_0x35f274);},'pcRgv':function(_0x1d58a9,_0xcb20b9){return _0x1d58a9(_0xcb20b9);},'xmBET':'UserPromptSubmit','lSssn':function(_0x17cced,_0x5312a8){return _0x17cced>_0x5312a8;},'niujC':'PreCompact','MsjZp':'Stop','CPWNQ':function(_0x5c0c95,_0xd1a17c,_0x1582f4){return _0x5c0c95(_0xd1a17c,_0x1582f4);}},_0x23a95d=[];for await(const _0x22f0c8 of process['stdin'])_0x23a95d[_0x13a15f(0x10a)](_0x22f0c8);const _0x372c16=Buffer[_0x13a15f(0x110)](_0x23a95d)[_0x13a15f(0x10f)]('utf-8');let _0x13ba69;try{_0x13ba69=JSON['parse'](_0x372c16);}catch{process[_0x13a15f(0x119)](0x0);}const _0xba9ab2=_0x13ba69['cwd']||process[_0x13a15f(0x10c)](),_0x48d8cc=_0x13ba69[_0x13a15f(0x107)];let _0xaed0e1;try{_0xaed0e1=_0x4c15c1[_0x13a15f(0x10d)](loadConfig,_0xba9ab2);}catch{const _0x3a393e=process.env.CLAUDE_PLUGIN_ROOT||_0x4c15c1['dVRwg'](resolve,import.meta.dirname,'../..');_0xaed0e1=_0x4c15c1[_0x13a15f(0x109)](loadConfig,_0x3a393e);}const _0x2301e7=new HookDispatcher(_0xaed0e1,_0xba9ab2,_0x13ba69['session_id']);let _0x119930={};switch(_0x48d8cc){case _0x13a15f(0x10b):_0x119930=_0x4c15c1[_0x13a15f(0x120)](buildSessionStartContext,{'cwd':_0xba9ab2});break;case _0x4c15c1[_0x13a15f(0x11a)]:{const _0x5118d7=_0x2301e7['handleUserPromptSubmit'](_0x13ba69),_0x595f9c=buildSmartContext({'prompt':_0x13ba69['prompt']||'','cwd':_0xba9ab2}),_0x46e7e4=[_0x5118d7['additionalContext'],_0x595f9c[_0x13a15f(0x11d)]]['filter'](Boolean);_0x119930=_0x4c15c1[_0x13a15f(0x113)](_0x46e7e4['length'],0x0)?{'additionalContext':_0x46e7e4[_0x13a15f(0x122)]('\x0a')}:{};break;}case _0x4c15c1[_0x13a15f(0x123)]:_0x119930=_0x2301e7[_0x13a15f(0x115)](_0x13ba69);break;case _0x4c15c1['MsjZp']:{const _0x185bcc=_0x2301e7[_0x13a15f(0x111)](),_0x5478c9=new MeteringClient(_0xaed0e1[_0x13a15f(0x108)][_0x13a15f(0x114)]),_0x20e1ea=_0x4c15c1['CPWNQ'](buildMeterPayload,_0x185bcc,{'provider':_0xaed0e1['provider'],'model':_0xaed0e1[_0x13a15f(0x116)]});await _0x5478c9['send'](_0x20e1ea);break;}}process['stdout']['write'](JSON['stringify'](_0x119930)),process[_0x13a15f(0x119)](0x0);}main()[_0x26c233(0x117)](()=>process['exit'](0x0));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/plugin/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { PluginConfig } from '../shared/types.js';
2
+ import '../shared/providers/claude-provider.js';
3
+ import '../shared/providers/openai-provider.js';
4
+ export declare function parseConfig(yamlStr: string): PluginConfig;
5
+ export declare function loadConfigFromString(content: string): PluginConfig;
6
+ export declare function loadConfig(projectRoot: string): PluginConfig;
@@ -0,0 +1 @@
1
+ function _0xfc32(){const _0x1a2016=['metering','56oVqzUW','model','.\x20Known:\x20','403446HwjLGi','number','228916PjLEqK','6849864WVDsvy','lHpbZ','Qvgjm','version','525HAwalW','claude','mCGqz','9440eNmxHN','claude-sonnet-4-20250514','Zonkv','join','3372276HhwWAk','rules','load','Invalid\x20config:\x20missing\x20or\x20invalid\x20\x22version\x22\x20field','1191369mirqOo','16145OGfACf'];_0xfc32=function(){return _0x1a2016;};return _0xfc32();}(function(_0x3ce92a,_0x1f7de7){const _0x4bde3b=_0x5e24,_0x4b7787=_0x3ce92a();while(!![]){try{const _0x5b8977=-parseInt(_0x4bde3b(0x1bc))/0x1+-parseInt(_0x4bde3b(0x1ba))/0x2+parseInt(_0x4bde3b(0x1b4))/0x3+-parseInt(_0x4bde3b(0x1b7))/0x4*(-parseInt(_0x4bde3b(0x1b5))/0x5)+-parseInt(_0x4bde3b(0x1c8))/0x6+-parseInt(_0x4bde3b(0x1c1))/0x7*(-parseInt(_0x4bde3b(0x1c4))/0x8)+parseInt(_0x4bde3b(0x1bd))/0x9;if(_0x5b8977===_0x1f7de7)break;else _0x4b7787['push'](_0x4b7787['shift']());}catch(_0x358ec9){_0x4b7787['push'](_0x4b7787['shift']());}}}(_0xfc32,0x490e8));function _0x5e24(_0x294752,_0x4870d3){_0x294752=_0x294752-0x1b3;const _0xfc32b=_0xfc32();let _0x5e24ff=_0xfc32b[_0x294752];return _0x5e24ff;}import{readFileSync}from'node:fs';import{join}from'node:path';import _0xd8ebd5 from'js-yaml';import'../shared/providers/claude-provider.js';import'../shared/providers/openai-provider.js';import{listProviders}from'../shared/token-provider.js';const CONFIG_FILENAME='tokenizer-speedup.yaml',DEFAULT_LIMITS={'max_injected_tokens':0xfa0,'max_file_tokens':0x5dc,'compress_above':0x320},DEFAULT_METERING={'endpoint':'https://api.simosphere.ai/v1/meter','batch_interval':0x3c,'send_content':!0x1};export function parseConfig(_0x51789c){const _0x58238d=_0x5e24,_0x40757d={'Qvgjm':function(_0xf35c7a,_0x378631){return _0xf35c7a!=_0x378631;},'Zonkv':_0x58238d(0x1c2)},_0x5902ff=_0xd8ebd5[_0x58238d(0x1ca)](_0x51789c);if(!_0x5902ff||_0x40757d[_0x58238d(0x1bf)](_0x58238d(0x1bb),typeof _0x5902ff['version']))throw new Error(_0x58238d(0x1b3));const _0x3e4774=_0x5902ff['provider']??'claude',_0x3ef517=_0x5902ff[_0x58238d(0x1b8)]??(_0x40757d[_0x58238d(0x1c6)]===_0x3e4774?_0x58238d(0x1c5):'gpt-4o'),_0x215d38=listProviders();if(!_0x215d38['includes'](_0x3e4774))throw new Error('Unknown\x20provider:\x20'+_0x3e4774+_0x58238d(0x1b9)+_0x215d38[_0x58238d(0x1c7)](',\x20'));const _0x5992be=Array['isArray'](_0x5902ff[_0x58238d(0x1c9)])?_0x5902ff[_0x58238d(0x1c9)]:[],_0x450570=_0x5902ff['context_limits']??DEFAULT_LIMITS,_0xf9fbac=_0x5902ff[_0x58238d(0x1b6)]??DEFAULT_METERING;return{'version':_0x5902ff[_0x58238d(0x1c0)],'provider':_0x3e4774,'model':_0x3ef517,'rules':_0x5992be,'context_limits':_0x450570,'metering':_0xf9fbac};}export function loadConfigFromString(_0x4d3b49){return parseConfig(_0x4d3b49);}export function loadConfig(_0x2c1ce9){const _0x221831=_0x5e24,_0x1dd5c4={'mCGqz':function(_0x1f45d6,_0x1bfedc,_0x2f2de0){return _0x1f45d6(_0x1bfedc,_0x2f2de0);},'EvpbF':function(_0x222b40,_0x5a2ef3){return _0x222b40(_0x5a2ef3);},'lHpbZ':'utf-8'},_0x33f3a1=_0x1dd5c4[_0x221831(0x1c3)](join,_0x2c1ce9,CONFIG_FILENAME);return _0x1dd5c4['EvpbF'](parseConfig,readFileSync(_0x33f3a1,_0x1dd5c4[_0x221831(0x1be)]));}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/plugin/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,wCAAwC,CAAC;AAChD,OAAO,wCAAwC,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD,MAAM,cAAc,GAAG;IACrB,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,GAAG;CACpB,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,QAAQ,EAAE,oCAAoC;IAC9C,cAAc,EAAE,EAAE;IAClB,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAA4B,CAAC;IAE1D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,QAAQ,GAAI,GAAG,CAAC,QAAmB,IAAI,QAAQ,CAAC;IACtD,MAAM,KAAK,GAAI,GAAG,CAAC,KAAgB,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEvG,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,aAAa,GAAI,GAAG,CAAC,cAAiD,IAAI,cAAc,CAAC;IAC/F,MAAM,QAAQ,GAAI,GAAG,CAAC,QAAqC,IAAI,gBAAgB,CAAC;IAEhF,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAiB;QAC9B,QAAQ;QACR,KAAK;QACL,KAAK;QACL,cAAc,EAAE,aAAa;QAC7B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface CompressResult {
2
+ text: string;
3
+ originalTokens: number;
4
+ compressedTokens: number;
5
+ wasTruncated: boolean;
6
+ }
7
+ /**
8
+ * Komprimiert Text wenn er ueber dem Token-Limit liegt.
9
+ * Strategie: Truncate auf maxTokens mit "..." Marker.
10
+ * Zukuentig: LLM-basierte Zusammenfassung.
11
+ */
12
+ export declare function compressContext(text: string, maxTokens: number): CompressResult;
13
+ /**
14
+ * Komprimiert mehrere Kontext-Teile unter ein Gesamt-Budget.
15
+ */
16
+ export declare function compressContextBudget(parts: {
17
+ label: string;
18
+ text: string;
19
+ }[], totalBudget: number): {
20
+ label: string;
21
+ result: CompressResult;
22
+ }[];
@@ -0,0 +1 @@
1
+ function _0x3502(_0x2b3fbc,_0x3508f7){_0x2b3fbc=_0x2b3fbc-0x19d;const _0xaae2e8=_0xaae2();let _0x350260=_0xaae2e8[_0x2b3fbc];return _0x350260;}(function(_0x4dd84b,_0x2a16b3){const _0x3a68d1=_0x3502,_0x5321aa=_0x4dd84b();while(!![]){try{const _0x55be1f=parseInt(_0x3a68d1(0x1ab))/0x1*(parseInt(_0x3a68d1(0x1a4))/0x2)+parseInt(_0x3a68d1(0x1af))/0x3*(-parseInt(_0x3a68d1(0x1a5))/0x4)+parseInt(_0x3a68d1(0x1b3))/0x5*(-parseInt(_0x3a68d1(0x1a2))/0x6)+-parseInt(_0x3a68d1(0x1a7))/0x7*(parseInt(_0x3a68d1(0x1b1))/0x8)+parseInt(_0x3a68d1(0x1a0))/0x9+-parseInt(_0x3a68d1(0x1aa))/0xa*(-parseInt(_0x3a68d1(0x1b4))/0xb)+parseInt(_0x3a68d1(0x1a9))/0xc*(parseInt(_0x3a68d1(0x1ae))/0xd);if(_0x55be1f===_0x2a16b3)break;else _0x5321aa['push'](_0x5321aa['shift']());}catch(_0x748e21){_0x5321aa['push'](_0x5321aa['shift']());}}}(_0xaae2,0x5c7ba));import{countTokens}from'../shared/token-counter.js';function _0xaae2(){const _0x330bbc=['354441sbiDVh','map','352zDiIkY','\x20Token]','5VmcKtY','22QgSSdP','wIGEu','length','LtVVd','floor','2541726fGDivA','Lvied','1610814cHftlE','\x20→\x20','7322AlqfgB','20Tmpxjk','oSrWC','10654EpPnKr','IyHtY','204ppPuwh','2490470BTVRgj','55StyetL','split','\x0a\x0a[...\x20gekuerzt,\x20','247091QwShtP'];_0xaae2=function(){return _0x330bbc;};return _0xaae2();}export function compressContext(_0x18cff0,_0x4da674){const _0x24fb46=_0x3502,_0x3f9fa1={'IyHtY':function(_0x2784df,_0x3845f5){return _0x2784df+_0x3845f5;},'Lvied':function(_0x41d79b,_0x33ef58){return _0x41d79b(_0x33ef58);},'NMLMp':function(_0x21808d,_0x40ca0e){return _0x21808d>_0x40ca0e;},'qPgZb':function(_0x22dff4,_0x4c8add){return _0x22dff4-_0x4c8add;},'LtVVd':function(_0x118bfc,_0x530dbd){return _0x118bfc+_0x530dbd;},'wIGEu':_0x24fb46(0x1ad),'oSrWC':_0x24fb46(0x1a3),'AqyRA':_0x24fb46(0x1b2)};if(!_0x18cff0)return{'text':'','originalTokens':0x0,'compressedTokens':0x0,'wasTruncated':!0x1};const _0x512f2d=countTokens(_0x18cff0);if(_0x512f2d<=_0x4da674)return{'text':_0x18cff0,'originalTokens':_0x512f2d,'compressedTokens':_0x512f2d,'wasTruncated':!0x1};const _0x2a50b6=_0x18cff0[_0x24fb46(0x1ac)]('\x0a\x0a');let _0x254d4f='',_0x272026=0x0;for(const _0x3f7db8 of _0x2a50b6){const _0x21d484=_0x254d4f?_0x3f9fa1['IyHtY'](_0x254d4f+'\x0a\x0a',_0x3f7db8):_0x3f7db8,_0x282ae0=_0x3f9fa1[_0x24fb46(0x1a1)](countTokens,_0x21d484);if(_0x282ae0>_0x4da674)break;_0x254d4f=_0x21d484,_0x272026=_0x282ae0;}if(!_0x254d4f&&_0x2a50b6['length']>0x0){const _0x2ad82b=_0x2a50b6[0x0][_0x24fb46(0x1ac)](/\s+/);let _0x14782d='';for(const _0x52f952 of _0x2ad82b){const _0x3f519e=_0x14782d?_0x3f9fa1['IyHtY'](_0x3f9fa1['IyHtY'](_0x14782d,'\x20'),_0x52f952):_0x52f952;if(_0x3f9fa1['NMLMp'](_0x3f9fa1['Lvied'](countTokens,_0x3f519e),_0x3f9fa1['qPgZb'](_0x4da674,0x5)))break;_0x14782d=_0x3f519e;}_0x254d4f=_0x14782d,_0x272026=countTokens(_0x254d4f);}const _0x449d37=_0x3f9fa1[_0x24fb46(0x1a8)](_0x3f9fa1[_0x24fb46(0x19e)](_0x254d4f+_0x3f9fa1[_0x24fb46(0x1b5)],_0x512f2d),_0x3f9fa1[_0x24fb46(0x1a6)])+_0x272026+_0x3f9fa1['AqyRA'];return{'text':_0x449d37,'originalTokens':_0x512f2d,'compressedTokens':_0x3f9fa1['Lvied'](countTokens,_0x449d37),'wasTruncated':!0x0};}export function compressContextBudget(_0x298a99,_0x5f26be){const _0x29cd59=_0x3502,_0x2bb520=Math[_0x29cd59(0x19f)](_0x5f26be/Math['max'](_0x298a99[_0x29cd59(0x19d)],0x1));return _0x298a99[_0x29cd59(0x1b0)](({label:_0x1b850d,text:_0x292d28})=>({'label':_0x1b850d,'result':compressContext(_0x292d28,_0x2bb520)}));}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-compressor.js","sourceRoot":"","sources":["../../src/plugin/context-compressor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AASzD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,SAAiB;IAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACnF,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEzC,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACzF,CAAC;IAED,mDAAmD;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,MAAM,eAAe,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,eAAe,GAAG,SAAS,EAAE,CAAC;YAChC,MAAM;QACR,CAAC;QACD,WAAW,GAAG,SAAS,CAAC;QACxB,MAAM,GAAG,eAAe,CAAC;IAC3B,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxD,IAAI,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,CAAC;gBAAE,MAAM,CAAC,qBAAqB;YACxE,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC;QACD,WAAW,GAAG,OAAO,CAAC;QACtB,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,GAAG,qBAAqB,GAAG,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IACrG,MAAM,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAEjD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,cAAc;QACd,gBAAgB;QAChB,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAwC,EACxC,WAAmB;IAEnB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK;QACL,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC;KAC7C,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { PluginConfig, HookInput, HookOutput, SessionSummary } from '../shared/types.js';
2
+ export declare class HookDispatcher {
3
+ private engine;
4
+ private collector;
5
+ private projectRoot;
6
+ constructor(config: PluginConfig, projectRoot: string, sessionId?: string);
7
+ handleUserPromptSubmit(input: HookInput): HookOutput;
8
+ handlePreCompact(input: HookInput): HookOutput;
9
+ handleSessionStop(): SessionSummary;
10
+ getSessionSummary(): SessionSummary;
11
+ }
@@ -0,0 +1 @@
1
+ const _0x578dec=_0x469e;function _0x5bae(){const _0x3983b9=['1356330AVOQEY','24WgAyGW','7RwcaBv','\x20(max\x20','prioritized','map','SwcWT','engine','length','112606qsIWbc','179080jalgwS','prompt','max_tokens','4BOwimz','max_file_tokens','compress_above','text',']\x20Relevanter\x20Kontext:\x20','136850KAHKfI','push','content','\x20laden.','join','117nqFDKJ','collector','944984nNYuyS','totalOriginalTokens','hook_event_name','12FxdENG','load','3640428AkDbro','handleSessionStop','limits','773868oGBRdI','projectRoot','handlePreCompact','record','min','trigger'];_0x5bae=function(){return _0x3983b9;};return _0x5bae();}(function(_0xb7c967,_0x38feaa){const _0x4ccae5=_0x469e,_0x1fdc15=_0xb7c967();while(!![]){try{const _0x4f256b=parseInt(_0x4ccae5(0xd4))/0x1+-parseInt(_0x4ccae5(0xd3))/0x2*(-parseInt(_0x4ccae5(0xe6))/0x3)+parseInt(_0x4ccae5(0xd7))/0x4*(parseInt(_0x4ccae5(0xf1))/0x5)+parseInt(_0x4ccae5(0xeb))/0x6+parseInt(_0x4ccae5(0xf3))/0x7*(-parseInt(_0x4ccae5(0xe3))/0x8)+-parseInt(_0x4ccae5(0xe1))/0x9*(-parseInt(_0x4ccae5(0xdc))/0xa)+parseInt(_0x4ccae5(0xe8))/0xb*(-parseInt(_0x4ccae5(0xf2))/0xc);if(_0x4f256b===_0x38feaa)break;else _0x1fdc15['push'](_0x1fdc15['shift']());}catch(_0x2173c1){_0x1fdc15['push'](_0x1fdc15['shift']());}}}(_0x5bae,0x316b6));import{RuleEngine}from'./rule-engine.js';function _0x469e(_0x5c385f,_0x288b36){_0x5c385f=_0x5c385f-0xcd;const _0x5baecd=_0x5bae();let _0x469e27=_0x5baecd[_0x5c385f];return _0x469e27;}import{MetricsCollector}from'./metrics-collector.js';import{compressContext}from'./context-compressor.js';import{prioritizeContext}from'./precompact-handler.js';import{countTokens}from'../shared/token-counter.js';export class HookDispatcher{['engine'];['collector'];[_0x578dec(0xec)];constructor(_0x4c0494,_0x4665c6,_0x324807){const _0x693592=_0x578dec;this['engine']=new RuleEngine(_0x4c0494),this[_0x693592(0xec)]=_0x4665c6,this['collector']=new MetricsCollector(_0x4665c6,_0x324807||'session-'+Date['now']());}['handleUserPromptSubmit'](_0xaba273){const _0x58f3bc=_0x578dec,_0x1c6fc2={'FSatV':function(_0xfd57b,_0x1388fc,_0x238d34){return _0xfd57b(_0x1388fc,_0x238d34);},'SwcWT':function(_0x5468f0,_0x2e600c){return _0x5468f0(_0x2e600c);},'klusM':function(_0x5c8635,_0x3f6c7a){return _0x5c8635+_0x3f6c7a;}},_0x47ad9e=_0xaba273['prompt']||'',_0x4cca37=this['engine']['match'](_0x47ad9e);if(0x0===_0x4cca37[_0x58f3bc(0xd2)]){const _0x13a4b3=countTokens(_0x47ad9e);return this[_0x58f3bc(0xe2)]['record']({'hook_event':_0xaba273[_0x58f3bc(0xe5)],'baseline_tokens':_0x13a4b3,'optimized_tokens':_0x13a4b3,'rule_matched':null}),{};}const _0x37ff3f=[],_0x498279=[];for(const _0x2779b7 of _0x4cca37)_0x498279[_0x58f3bc(0xdd)](_0x2779b7['trigger'][0x0]),_0x2779b7['summary_only']?_0x37ff3f['push']('['+_0x2779b7['trigger'][0x0]+']\x20Fuer\x20Details:\x20'+_0x2779b7[_0x58f3bc(0xe7)]+_0x58f3bc(0xdf)):_0x37ff3f[_0x58f3bc(0xdd)]('['+_0x2779b7[_0x58f3bc(0xf0)][0x0]+_0x58f3bc(0xdb)+_0x2779b7[_0x58f3bc(0xe7)]+_0x58f3bc(0xcd)+(_0x2779b7[_0x58f3bc(0xd6)]||this['engine']['limits'][_0x58f3bc(0xd8)])+'\x20Token)');let _0xb16b5=_0x37ff3f['join']('\x0a');const _0x29c050=this[_0x58f3bc(0xd1)]['limits'][_0x58f3bc(0xd9)];_0x29c050>0x0&&(_0xb16b5=_0x1c6fc2['FSatV'](compressContext,_0xb16b5,_0x29c050)[_0x58f3bc(0xda)]);const _0x960b5b=_0x1c6fc2[_0x58f3bc(0xd0)](countTokens,_0x47ad9e),_0x4316df=countTokens(_0xb16b5),_0x296db2=_0x960b5b+this[_0x58f3bc(0xd1)][_0x58f3bc(0xea)]['max_injected_tokens'],_0x5e48bf=_0x1c6fc2['klusM'](_0x960b5b,Math[_0x58f3bc(0xef)](_0x4316df,this[_0x58f3bc(0xd1)]['limits']['max_injected_tokens']));return this[_0x58f3bc(0xe2)]['record']({'hook_event':_0xaba273['hook_event_name'],'baseline_tokens':_0x296db2,'optimized_tokens':_0x5e48bf,'rule_matched':_0x498279[_0x58f3bc(0xe0)]('+')}),{'additionalContext':_0xb16b5};}[_0x578dec(0xed)](_0x5b0193){const _0x262fa0=_0x578dec,_0x322be9={'kXXbU':function(_0x14e18a,_0x4001e1){return _0x14e18a===_0x4001e1;}},_0x5d9101=[];if(_0x5b0193['prompt']&&_0x5d9101[_0x262fa0(0xdd)]({'role':'user','content':_0x5b0193[_0x262fa0(0xd5)],'turnIndex':0x0}),_0x322be9['kXXbU'](0x0,_0x5d9101['length']))return{};const _0x351b48=prioritizeContext(_0x5d9101,this[_0x262fa0(0xd1)]['limits']),_0x35a974=_0x351b48[_0x262fa0(0xce)][_0x262fa0(0xcf)](_0x4055df=>_0x4055df[_0x262fa0(0xde)])['join']('\x0a\x0a');return this['collector'][_0x262fa0(0xee)]({'hook_event':_0x5b0193['hook_event_name'],'baseline_tokens':_0x351b48[_0x262fa0(0xe4)],'optimized_tokens':_0x351b48['totalCompressedTokens'],'rule_matched':null}),{'additionalContext':_0x35a974};}[_0x578dec(0xe9)](){const _0x4cbe8c=_0x578dec;return this[_0x4cbe8c(0xe2)]['flush'](),this[_0x4cbe8c(0xe2)]['getSummary']();}['getSessionSummary'](){const _0x11b409=_0x578dec;return this[_0x11b409(0xe2)]['getSummary']();}}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-dispatcher.js","sourceRoot":"","sources":["../../src/plugin/hook-dispatcher.ts"],"names":[],"mappings":"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"}