gl-life-claude-zen 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +1 -0
  3. package/bin/create-gl-life-claude.js +56 -1
  4. package/dist/hooks/auto-format.js +1 -1
  5. package/dist/hooks/complete-task.js +1 -1
  6. package/dist/hooks/enforce-migration-workflow.js +1 -1
  7. package/dist/hooks/enforce-structured-development.js +1 -1
  8. package/dist/hooks/enforce-test-pyramid.js +1 -1
  9. package/dist/hooks/init-task-tracker.js +1 -1
  10. package/dist/hooks/start-task.js +1 -1
  11. package/dist/hooks/task-status.js +1 -1
  12. package/dist/hooks/validate-database-changes.js +1 -1
  13. package/dist/hooks/validate-e2e-coverage.js +1 -1
  14. package/dist/hooks/validate-git-workflow.js +1 -1
  15. package/dist/hooks/validate-integration-site.js +1 -1
  16. package/dist/hooks/validate-migration-impact.js +1 -1
  17. package/dist/hooks/validate-task-completion.js +1 -1
  18. package/dist/hooks/validate-test-quality.js +1 -1
  19. package/dist/hooks/validate-test-results.js +1 -1
  20. package/dist/hooks/validate-ui-integration.js +1 -1
  21. package/dist/scripts/help.js +1 -1
  22. package/dist/scripts/plan-amend.js +1 -1
  23. package/dist/scripts/plan-create.js +1 -1
  24. package/dist/scripts/plan-help.js +1 -1
  25. package/dist/scripts/plan-init.js +1 -1
  26. package/dist/scripts/plan-manager.js +1 -1
  27. package/dist/scripts/setup-git-hooks.js +1 -1
  28. package/dist/scripts/task-done.js +1 -1
  29. package/dist/scripts/task-merge.js +1 -1
  30. package/dist/scripts/task-next.js +1 -1
  31. package/dist/scripts/task-start.js +1 -1
  32. package/dist/scripts/task-status.js +1 -1
  33. package/lib/init.js +6 -6
  34. package/package.json +2 -1
  35. package/templates/.gitignore +14 -0
  36. package/templates/README.md +4 -0
package/CHANGELOG.md CHANGED
@@ -242,6 +242,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
242
242
  - Visual validation: 5-15 seconds (screenshot + AI analysis)
243
243
  - Contract validation: <1 second (static analysis)
244
244
 
245
+ ## [1.3.1] - 2025-12-20
246
+
247
+ ### Fixed
248
+ - **CRITICAL: .gitignore Template Handling**
249
+ - Fixed npm renaming `.gitignore` to `.npmignore` during package extraction
250
+ - Added dynamic source resolution in lib/init.js to handle both filenames
251
+ - Added missing `existsSync` import
252
+
253
+ - **CLI Version/Help Flags on Windows**
254
+ - Fixed Windows path handling in getVersion() function
255
+ - Changed from dynamic ESM import to readFileSync for cross-platform compatibility
256
+ - Resolved ERR_UNSUPPORTED_ESM_URL_SCHEME and ERR_IMPORT_ATTRIBUTE_MISSING errors
257
+
258
+ ### Technical Details
259
+ - Package now works correctly on Windows, macOS, and Linux
260
+ - All project creation scenarios tested and verified
261
+ - Task management scripts verified working with bundled hooks
262
+
245
263
  ## [1.3.0] - 2025-12-20
246
264
 
247
265
  ### Changed
@@ -262,11 +280,35 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
262
280
  - Updated README.md with "Hard Requirements" section
263
281
  - Updated settings.json template with warning comment
264
282
 
283
+ ### Added
284
+ - **CLI Help and Version Flags**
285
+ - Added `--help` and `-h` flags to display usage information
286
+ - Added `--version` and `-v` flags to show package version
287
+ - Prevents accidental project creation with invalid names like `--help`
288
+ - Self-documenting CLI with comprehensive usage examples
289
+
290
+ ### Fixed
291
+ - **CRITICAL: Missing .gitignore Template File in Published Package**
292
+ - Fixed npm excluding `.gitignore` template during package publish
293
+ - Added explicit `templates/.gitignore` entry to package.json files array
294
+ - Without this fix, all project creation attempts fail with ENOENT error
295
+ - Impact: Package is now usable via npm install and npx
296
+
297
+ - **CRITICAL: Task Management Scripts Hook Path Resolution**
298
+ - Fixed incorrect hook paths in bundled scripts that prevented task management
299
+ - Scripts were looking for hooks at `node_modules/.gl-life-claude/.claude/hooks/` (wrong)
300
+ - Now correctly resolve to `node_modules/.gl-life-claude/hooks/` (bundled location)
301
+ - Added dynamic path resolution with fallback to dev workspace location
302
+ - Affected scripts: task-status.js, task-start.js, task-done.js, plan-init.js
303
+ - Impact: Task management commands (npm run task:*) now work correctly
304
+ - Error message now shows both attempted paths for easier debugging
305
+
265
306
  ### Technical Details
266
307
  - Updated hook: validate-ui-integration.js (16KB bundled)
267
308
  - All 10 requirements enforced in shouldBlock() function
268
309
  - No configuration options to disable requirements
269
310
  - Breaking change for projects relying on soft requirement warnings
311
+ - Fixed scripts: 4 task management scripts with dynamic hook resolution
270
312
 
271
313
  ## [Unreleased]
272
314
 
package/README.md CHANGED
@@ -233,6 +233,7 @@ The framework includes automated UI component validation with four validation st
233
233
  - [UI Verification Guide](./docs/UI-VERIFICATION-GUIDE.md) - Complete validation system guide
234
234
  - [Port Management](./docs/PORT-MANAGEMENT.md) - Fixed port allocation and auto-cleanup
235
235
  - [Component Contracts](./docs/COMPONENT-CONTRACTS.md) - Contract schema reference
236
+ - [CHANGELOG](./CHANGELOG.md) - Version history and breaking changes
236
237
 
237
238
  ### UI Testing Configuration
238
239
 
@@ -10,12 +10,54 @@
10
10
 
11
11
  import { fileURLToPath } from 'url';
12
12
  import { dirname, join } from 'path';
13
- import { existsSync } from 'fs';
13
+ import { existsSync, readFileSync } from 'fs';
14
14
  import { createInterface } from 'readline';
15
15
 
16
16
  const __filename = fileURLToPath(import.meta.url);
17
17
  const __dirname = dirname(__filename);
18
18
 
19
+ // Get package version
20
+ function getVersion() {
21
+ const pkgPath = join(__dirname, '..', 'package.json');
22
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
23
+ return pkg.version;
24
+ }
25
+
26
+ // Show help message
27
+ function showHelp() {
28
+ const version = getVersion();
29
+ console.log(`
30
+ GL.Life Claude Project Generator v${version}
31
+
32
+ Usage:
33
+ npm create gl-life-claude [project-name] [options]
34
+ npx gl-life-claude-zen [project-name] [options]
35
+
36
+ Options:
37
+ --help, -h Show this help message
38
+ --version, -v Show version number
39
+
40
+ Examples:
41
+ npm create gl-life-claude my-project Create project with defaults
42
+ npx gl-life-claude-zen Interactive mode with prompts
43
+
44
+ Interactive Mode:
45
+ When run without a project name, you will be prompted for:
46
+ - Project name (lowercase, numbers, hyphens, underscores)
47
+ - Git initialization (Y/n)
48
+ - Install dependencies (Y/n)
49
+
50
+ Project Structure:
51
+ - Structured task-based development workflow
52
+ - Git workflow enforcement with hooks
53
+ - Pre-commit validation and auto-formatting
54
+ - Task tracking with dependencies
55
+ - Project plan management
56
+
57
+ For more information: https://github.com/ajayhanda/gl-life-claude
58
+ `);
59
+ }
60
+
19
61
  // Helper: Create readline interface
20
62
  function createPrompt() {
21
63
  return createInterface({
@@ -37,6 +79,19 @@ function isValidProjectName(name) {
37
79
  // Main execution
38
80
  async function main() {
39
81
  const args = process.argv.slice(2);
82
+
83
+ // Handle --help flag
84
+ if (args.includes('--help') || args.includes('-h')) {
85
+ showHelp();
86
+ process.exit(0);
87
+ }
88
+
89
+ // Handle --version flag
90
+ if (args.includes('--version') || args.includes('-v')) {
91
+ console.log(getVersion());
92
+ process.exit(0);
93
+ }
94
+
40
95
  let projectName = args[0];
41
96
  let initGit = true;
42
97
  let installDeps = true;
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x1e448f=_0x5f4d;function _0x47be(){var _0x1bd032=['Mwshs','match','stdio','Warning:\x20Could\x20not\x20format\x20','ZaVrf','(((.+)+)+)+$','1931800hcNVwA','parse','fELwD','Formatted:\x20','MLheR','NyLcs','npx\x20prettier\x20--write\x20\x22','python\x20-m\x20black\x20--version','237885tqchVf','constructor','131684zPhEhu','XOIaf','vhlIe','WzQFD','TDHXS','log','apply','183494wVSXRf','file_path','PQvPx','taNPm','existsSync','ignore','wpOet','6qCGEfN','search','python\x20-m\x20black\x20\x22','child_process','8LEOPvQ','2764629SyZzeV','TfOQP','56553vYLgDK','WDQgB','842820yTLYLB','warn','fklKo','exit','npx\x20prettier\x20--version','NPheL','4QRvQtT','\x22\x20is\x20not\x20supported'];_0x47be=function(){return _0x1bd032;};return _0x47be();}function _0x5f4d(_0x3ba3af,_0x2d8d7e){_0x3ba3af=_0x3ba3af-0x12f;var _0x2b7ef6=_0x47be();var _0x27dac2=_0x2b7ef6[_0x3ba3af];return _0x27dac2;}(function(_0x3b4e4a,_0x2e76cf){var _0x5de888=_0x5f4d,_0x2e2a26=_0x3b4e4a();while(!![]){try{var _0x15a58c=parseInt(_0x5de888(0x143))/0x1+-parseInt(_0x5de888(0x13c))/0x2+-parseInt(_0x5de888(0x13a))/0x3*(parseInt(_0x5de888(0x159))/0x4)+parseInt(_0x5de888(0x132))/0x5*(parseInt(_0x5de888(0x14a))/0x6)+-parseInt(_0x5de888(0x151))/0x7+parseInt(_0x5de888(0x14e))/0x8*(-parseInt(_0x5de888(0x14f))/0x9)+parseInt(_0x5de888(0x153))/0xa;if(_0x15a58c===_0x2e76cf)break;else _0x2e2a26['push'](_0x2e2a26['shift']());}catch(_0x54c63c){_0x2e2a26['push'](_0x2e2a26['shift']());}}}(_0x47be,0x2f4cb));var _0x54df33=(function(){var _0x5db676=_0x5f4d,_0x579104={};_0x579104[_0x5db676(0x137)]='npx\x20prettier\x20--version',_0x579104[_0x5db676(0x13e)]=_0x5db676(0x148),_0x579104[_0x5db676(0x158)]=_0x5db676(0x145),_0x579104['WDQgB']=function(_0x4f0598,_0x33d7a9){return _0x4f0598!==_0x33d7a9;},_0x579104['MLheR']='wxndk';var _0x53e3c2=_0x579104,_0x46e6c2=!![];return function(_0x207acd,_0x1e252f){var _0xe6027=_0x5db676,_0x2dd66b={};_0x2dd66b[_0xe6027(0x134)]=_0x53e3c2[_0xe6027(0x137)],_0x2dd66b[_0xe6027(0x149)]=_0x53e3c2[_0xe6027(0x13e)],_0x2dd66b['TfOQP']=function(_0x58d375,_0x161e73){return _0x58d375!==_0x161e73;},_0x2dd66b['ZaVrf']=_0x53e3c2[_0xe6027(0x158)];var _0x459a26=_0x2dd66b;if(_0x53e3c2[_0xe6027(0x152)](_0x53e3c2['MLheR'],_0x53e3c2[_0xe6027(0x136)])){var _0xd40d78=_0x9b5412[_0xe6027(0x142)](_0x1e7f6a,arguments);return _0x18207e=null,_0xd40d78;}else{var _0x43e010=_0x46e6c2?function(){var _0xc99660=_0xe6027,_0x31b078={'WzQFD':_0x459a26['fELwD'],'Mwshs':_0x459a26['wpOet'],'taNPm':function(_0x2babe5,_0x49c8b1,_0x238cfc){return _0x2babe5(_0x49c8b1,_0x238cfc);}};if(_0x1e252f){if(_0x459a26[_0xc99660(0x150)](_0xc99660(0x145),_0x459a26[_0xc99660(0x130)]))_0x14ab71(_0x31b078[_0xc99660(0x13f)],{'stdio':_0x31b078['Mwshs']}),_0x31b078[_0xc99660(0x146)](_0xb4f8db,'npx\x20prettier\x20--write\x20\x22'+_0x3a7e05+'\x22',{'stdio':_0x31b078[_0xc99660(0x15b)]}),_0x1c8d4[_0xc99660(0x141)](_0xc99660(0x135)+_0xcc2758);else{var _0x3c6610=_0x1e252f[_0xc99660(0x142)](_0x207acd,arguments);return _0x1e252f=null,_0x3c6610;}}}:function(){};return _0x46e6c2=![],_0x43e010;}};}()),_0x27dac2=_0x54df33(this,function(){var _0x31cd9e=_0x5f4d,_0x43ba21={};_0x43ba21[_0x31cd9e(0x13d)]=_0x31cd9e(0x131);var _0x2a63c7=_0x43ba21;return _0x27dac2['toString']()[_0x31cd9e(0x14b)]('(((.+)+)+)+$')['toString']()[_0x31cd9e(0x13b)](_0x27dac2)[_0x31cd9e(0x14b)](_0x2a63c7['XOIaf']);});_0x27dac2();var r=(_0x2f17d2=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2f17d2,{'get':(_0x2167e8,_0x228e44)=>(typeof require<'u'?require:_0x2167e8)[_0x228e44]}):_0x2f17d2)(function(_0x3ba5fa){var _0x3b85ba=_0x5f4d,_0x5e4b05={};_0x5e4b05[_0x3b85ba(0x155)]=function(_0x7c9779,_0xa0643d){return _0x7c9779<_0xa0643d;},_0x5e4b05[_0x3b85ba(0x140)]=function(_0x4e1811,_0x4cdd07){return _0x4e1811+_0x4cdd07;};var _0x5c241b=_0x5e4b05;if(_0x5c241b[_0x3b85ba(0x155)](typeof require,'u'))return require[_0x3b85ba(0x142)](this,arguments);throw Error(_0x5c241b['TDHXS'](_0x5c241b[_0x3b85ba(0x140)]('Dynamic\x20require\x20of\x20\x22',_0x3ba5fa),_0x3b85ba(0x15a)));}),{execSync:e}=r(_0x1e448f(0x14d)),i=r('fs'),c=process['argv'][0x2]||'{}',a=JSON[_0x1e448f(0x133)](c),t=a['tool_input']?.[_0x1e448f(0x144)];(!t||!i[_0x1e448f(0x147)](t))&&process[_0x1e448f(0x156)](0x0);try{if(t[_0x1e448f(0x15c)](/\.(ts|tsx|js|jsx|json)$/))try{var _0x135ef9={};_0x135ef9[_0x1e448f(0x15d)]=_0x1e448f(0x148);var _0x4489d0={};_0x4489d0['stdio']=_0x1e448f(0x148),(e(_0x1e448f(0x157),_0x135ef9),e(_0x1e448f(0x138)+t+'\x22',_0x4489d0),console[_0x1e448f(0x141)](_0x1e448f(0x135)+t));}catch{}else{if(t[_0x1e448f(0x15c)](/\.py$/))try{var _0x4aa679={};_0x4aa679[_0x1e448f(0x15d)]='ignore';var _0x1e4de5={};_0x1e4de5[_0x1e448f(0x15d)]=_0x1e448f(0x148),(e(_0x1e448f(0x139),_0x4aa679),e(_0x1e448f(0x14c)+t+'\x22',_0x1e4de5),console[_0x1e448f(0x141)](_0x1e448f(0x135)+t));}catch{}}}catch{console[_0x1e448f(0x154)](_0x1e448f(0x12f)+t);}process['exit'](0x0);
2
+ var _0x44463e=_0x4ada;(function(_0xec130b,_0x50e4d4){var _0x2b88a6=_0x4ada,_0x46cba6=_0xec130b();while(!![]){try{var _0x4302d3=-parseInt(_0x2b88a6(0xe0))/0x1+-parseInt(_0x2b88a6(0xd3))/0x2*(-parseInt(_0x2b88a6(0xc7))/0x3)+-parseInt(_0x2b88a6(0xe3))/0x4+-parseInt(_0x2b88a6(0xdb))/0x5+-parseInt(_0x2b88a6(0xdc))/0x6*(parseInt(_0x2b88a6(0xcd))/0x7)+-parseInt(_0x2b88a6(0xdd))/0x8+-parseInt(_0x2b88a6(0xd8))/0x9*(-parseInt(_0x2b88a6(0xdf))/0xa);if(_0x4302d3===_0x50e4d4)break;else _0x46cba6['push'](_0x46cba6['shift']());}catch(_0x189f7a){_0x46cba6['push'](_0x46cba6['shift']());}}}(_0x4b38,0x629a4));var _0x2a8bec=(function(){var _0x3a4e3c=!![];return function(_0x10eb2e,_0x30fa00){var _0x3a140d=_0x3a4e3c?function(){var _0x209df1=_0x4ada;if(_0x30fa00){var _0x152b53=_0x30fa00[_0x209df1(0xde)](_0x10eb2e,arguments);return _0x30fa00=null,_0x152b53;}}:function(){};return _0x3a4e3c=![],_0x3a140d;};}()),_0x3b4698=_0x2a8bec(this,function(){var _0x469e73=_0x4ada,_0x3c5f28={};_0x3c5f28[_0x469e73(0xe6)]=_0x469e73(0xda);var _0x47ac53=_0x3c5f28;return _0x3b4698[_0x469e73(0xc6)]()[_0x469e73(0xcb)](_0x47ac53[_0x469e73(0xe6)])[_0x469e73(0xc6)]()['constructor'](_0x3b4698)[_0x469e73(0xcb)](_0x47ac53[_0x469e73(0xe6)]);});_0x3b4698();function _0x4b38(){var _0x523572=['tool_input','python\x20-m\x20black\x20\x22','search','exit','287QaKuIp','stdio','log','eZfhT','wCeZa','Formatted:\x20','4268hsjjTY','child_process','\x22\x20is\x20not\x20supported','ignore','match','18183321NFSqtH','parse','(((.+)+)+)+$','1913955TfKzjl','26934ovbCAw','5891848goIMdZ','apply','10AcVdmM','433565NbvdAF','file_path','warn','1771932TAYroH','existsSync','npx\x20prettier\x20--version','GZAle','toString','792dyEVkf','Dynamic\x20require\x20of\x20\x22'];_0x4b38=function(){return _0x523572;};return _0x4b38();}var r=(_0x262417=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x262417,{'get':(_0xc9894,_0x24bd60)=>(typeof require<'u'?require:_0xc9894)[_0x24bd60]}):_0x262417)(function(_0x1db36b){var _0x30d5d5=_0x4ada,_0x49c1ce={'eZfhT':function(_0x50b902,_0x3d45cf){return _0x50b902<_0x3d45cf;},'vUHvS':function(_0xfb21cb,_0xa1cb05){return _0xfb21cb(_0xa1cb05);},'LjxFV':function(_0x112641,_0xe23eb6){return _0x112641+_0xe23eb6;},'wCeZa':_0x30d5d5(0xc8)};if(_0x49c1ce[_0x30d5d5(0xd0)](typeof require,'u'))return require[_0x30d5d5(0xde)](this,arguments);throw _0x49c1ce['vUHvS'](Error,_0x49c1ce['LjxFV'](_0x49c1ce[_0x30d5d5(0xd1)],_0x1db36b)+_0x30d5d5(0xd5));}),{execSync:e}=r(_0x44463e(0xd4)),i=r('fs'),c=process['argv'][0x2]||'{}',a=JSON[_0x44463e(0xd9)](c),t=a[_0x44463e(0xc9)]?.[_0x44463e(0xe1)];(!t||!i[_0x44463e(0xe4)](t))&&process[_0x44463e(0xcc)](0x0);try{if(t[_0x44463e(0xd7)](/\.(ts|tsx|js|jsx|json)$/))try{var _0x207431={};_0x207431[_0x44463e(0xce)]=_0x44463e(0xd6);var _0x2dae03={};_0x2dae03['stdio']=_0x44463e(0xd6),(e(_0x44463e(0xe5),_0x207431),e('npx\x20prettier\x20--write\x20\x22'+t+'\x22',_0x2dae03),console['log'](_0x44463e(0xd2)+t));}catch{}else{if(t[_0x44463e(0xd7)](/\.py$/))try{var _0x56d2a0={};_0x56d2a0['stdio']=_0x44463e(0xd6);var _0x213fd7={};_0x213fd7[_0x44463e(0xce)]=_0x44463e(0xd6),(e('python\x20-m\x20black\x20--version',_0x56d2a0),e(_0x44463e(0xca)+t+'\x22',_0x213fd7),console[_0x44463e(0xcf)](_0x44463e(0xd2)+t));}catch{}}}catch{console[_0x44463e(0xe2)]('Warning:\x20Could\x20not\x20format\x20'+t);}function _0x4ada(_0x20f30c,_0x274eca){_0x20f30c=_0x20f30c-0xc6;var _0x34a68e=_0x4b38();var _0x3b4698=_0x34a68e[_0x20f30c];return _0x3b4698;}process[_0x44463e(0xcc)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x5e04e6=_0x4bbd;function _0x4bbd(_0x30e729,_0x29a3d6){_0x30e729=_0x30e729-0x198;var _0x23e92d=_0x34a5();var _0x55579e=_0x23e92d[_0x30e729];return _0x55579e;}(function(_0x2ba039,_0x5d2a85){var _0x15eafd=_0x4bbd,_0x591ddf=_0x2ba039();while(!![]){try{var _0x1a0979=-parseInt(_0x15eafd(0x1e0))/0x1*(parseInt(_0x15eafd(0x1c1))/0x2)+parseInt(_0x15eafd(0x1d2))/0x3+-parseInt(_0x15eafd(0x1a3))/0x4+parseInt(_0x15eafd(0x1cf))/0x5+-parseInt(_0x15eafd(0x1d4))/0x6+parseInt(_0x15eafd(0x1e9))/0x7+parseInt(_0x15eafd(0x1b3))/0x8;if(_0x1a0979===_0x5d2a85)break;else _0x591ddf['push'](_0x591ddf['shift']());}catch(_0x20b35e){_0x591ddf['push'](_0x591ddf['shift']());}}}(_0x34a5,0xd3dd6));var _0x6dbc9b=(function(){var _0x142815=_0x4bbd,_0x5ee09f={};_0x5ee09f[_0x142815(0x19e)]=_0x142815(0x1ae),_0x5ee09f[_0x142815(0x19d)]=_0x142815(0x1af),_0x5ee09f[_0x142815(0x19f)]='utf8',_0x5ee09f['FDGWZ']=_0x142815(0x1df);var _0x5bef35=_0x5ee09f,_0x37d2ad=!![];return function(_0x343246,_0x3d70fc){var _0x4be59d=_0x142815,_0x10e063={'YEqOV':function(_0x4612ae,_0xe969f4,_0x490385){return _0x4612ae(_0xe969f4,_0x490385);},'PLYVR':_0x5bef35['Cqsub'],'Vhtwv':_0x5bef35[_0x4be59d(0x19f)],'QtblS':_0x5bef35['FDGWZ']},_0x143490=_0x37d2ad?function(){var _0x5f4de3=_0x4be59d;if(_0x3d70fc){if(_0x5bef35['YtZfc']!==_0x5bef35[_0x5f4de3(0x19e)]){let _0x513613=_0x10e063['YEqOV'](_0x31cb54,_0x10e063['PLYVR'],{'encoding':_0x10e063[_0x5f4de3(0x1e1)]});_0x513613[_0x5f4de3(0x1f2)]()&&(_0x5ac9e3['error']('\x0a❌\x20ERROR:\x20You\x20have\x20uncommitted\x20changes'),_0x158c4b[_0x5f4de3(0x1bb)](_0x5f4de3(0x1ea)),_0x48cc50[_0x5f4de3(0x1bb)](_0x513613),_0x34cbca['error'](_0x5f4de3(0x1b4)),_0x214f6d[_0x5f4de3(0x1bb)](_0x10e063[_0x5f4de3(0x1db)]),_0x165349[_0x5f4de3(0x1bb)](_0x5f4de3(0x1a4)+_0x44a21e+_0x5f4de3(0x1b2)),_0x580569[_0x5f4de3(0x1bb)](''),_0x1783b9[_0x5f4de3(0x1ef)](0x1));}else{var _0x4dec73=_0x3d70fc[_0x5f4de3(0x1ec)](_0x343246,arguments);return _0x3d70fc=null,_0x4dec73;}}}:function(){};return _0x37d2ad=![],_0x143490;};}()),_0x55579e=_0x6dbc9b(this,function(){var _0x522834=_0x4bbd,_0x1eafb1={};_0x1eafb1[_0x522834(0x1c7)]=_0x522834(0x1cb);var _0x5243a1=_0x1eafb1;return _0x55579e['toString']()['search'](_0x5243a1[_0x522834(0x1c7)])[_0x522834(0x1c5)]()[_0x522834(0x1d6)](_0x55579e)[_0x522834(0x1ce)](_0x5243a1[_0x522834(0x1c7)]);});_0x55579e();var i=(_0x103d1a=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x103d1a,{'get':(_0x52719b,_0x470757)=>(typeof require<'u'?require:_0x52719b)[_0x470757]}):_0x103d1a)(function(_0x2e8211){var _0x3141ae=_0x4bbd,_0x522d3b={'iQaQi':function(_0x4fde4a,_0x31a666){return _0x4fde4a<_0x31a666;},'cUMVd':function(_0x552a3a,_0x4c2d10){return _0x552a3a(_0x4c2d10);},'FdhGc':function(_0x575232,_0x425827){return _0x575232+_0x425827;},'RtMOl':_0x3141ae(0x1f0),'BRyfW':_0x3141ae(0x1ed)};if(_0x522d3b[_0x3141ae(0x1be)](typeof require,'u'))return require[_0x3141ae(0x1ec)](this,arguments);throw _0x522d3b[_0x3141ae(0x1e4)](Error,_0x522d3b[_0x3141ae(0x1a8)](_0x522d3b[_0x3141ae(0x1f3)],_0x2e8211)+_0x522d3b['BRyfW']);}),n=i('fs'),d=i(_0x5e04e6(0x19c)),a=process[_0x5e04e6(0x1a7)][0x2];a||(console[_0x5e04e6(0x1bb)](_0x5e04e6(0x1ad)),console['error'](_0x5e04e6(0x1e3)),process[_0x5e04e6(0x1ef)](0x1));var p=_0x5e04e6(0x1bf);n[_0x5e04e6(0x198)](p)||(console[_0x5e04e6(0x1bb)]('\x0a❌\x20ERROR:\x20No\x20active\x20plan\x20found'),console[_0x5e04e6(0x1bb)]('Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager\x0a'),process[_0x5e04e6(0x1ef)](0x1));var u=n[_0x5e04e6(0x1d7)](p,_0x5e04e6(0x1c2))['trim'](),k=d[_0x5e04e6(0x1ab)](_0x5e04e6(0x1bd),u),r=d[_0x5e04e6(0x1ab)](k,_0x5e04e6(0x1c8)),l=d[_0x5e04e6(0x1ab)](k,'tasks',a+_0x5e04e6(0x1b5));n[_0x5e04e6(0x198)](r)||(console[_0x5e04e6(0x1bb)](_0x5e04e6(0x1c4)),console[_0x5e04e6(0x1bb)](_0x5e04e6(0x1b0)+u),console[_0x5e04e6(0x1bb)](_0x5e04e6(0x19a)),process['exit'](0x1)),n[_0x5e04e6(0x198)](l)||(console[_0x5e04e6(0x1bb)]('\x0a❌\x20ERROR:\x20Task\x20file\x20not\x20found:\x20'+l+'\x0a'),process[_0x5e04e6(0x1ef)](0x1));var e=JSON[_0x5e04e6(0x1c9)](n[_0x5e04e6(0x1d7)](r,_0x5e04e6(0x1c2))),s=JSON[_0x5e04e6(0x1c9)](n[_0x5e04e6(0x1d7)](l,_0x5e04e6(0x1c2))),f=s[_0x5e04e6(0x1c3)]==='completed';if(f){console['log'](_0x5e04e6(0x1a5)+a+_0x5e04e6(0x1eb)),console[_0x5e04e6(0x1d9)]('Syncing\x20tracker\x20status...\x0a');let t=e[_0x5e04e6(0x1cc)][_0x5e04e6(0x1d0)](_0x2aeafb=>_0x2aeafb['id']===a);t&&t[_0x5e04e6(0x1c3)]!==_0x5e04e6(0x1e5)?(t[_0x5e04e6(0x1c3)]='completed',e[_0x5e04e6(0x1b8)]={'totalTasks':e[_0x5e04e6(0x1cc)]['length'],'pending':e[_0x5e04e6(0x1cc)][_0x5e04e6(0x1d3)](_0x19deec=>_0x19deec[_0x5e04e6(0x1c3)]===_0x5e04e6(0x1e2))[_0x5e04e6(0x1c0)],'inProgress':e['taskFiles'][_0x5e04e6(0x1d3)](_0x1acf1c=>_0x1acf1c['status']==='in_progress')[_0x5e04e6(0x1c0)],'completed':e[_0x5e04e6(0x1cc)][_0x5e04e6(0x1d3)](_0x129968=>_0x129968['status']===_0x5e04e6(0x1e5))[_0x5e04e6(0x1c0)],'blocked':e[_0x5e04e6(0x1cc)]['filter'](_0x55b73b=>_0x55b73b[_0x5e04e6(0x1c3)]===_0x5e04e6(0x1e8))[_0x5e04e6(0x1c0)]},e[_0x5e04e6(0x1ac)]=null,e['lastUpdated']=new Date()[_0x5e04e6(0x1e6)](),n[_0x5e04e6(0x1a0)](r,JSON['stringify'](e,null,0x2)),console[_0x5e04e6(0x1d9)](_0x5e04e6(0x1b1))):console[_0x5e04e6(0x1d9)](_0x5e04e6(0x1aa)),process[_0x5e04e6(0x1ef)](0x0);}var {execSync:S}=i('child_process');try{var _0x1f0d37={};_0x1f0d37[_0x5e04e6(0x1a2)]=_0x5e04e6(0x1c2);let t=S('git\x20status\x20--porcelain',_0x1f0d37);t[_0x5e04e6(0x1f2)]()&&(console[_0x5e04e6(0x1bb)](_0x5e04e6(0x1ee)),console[_0x5e04e6(0x1bb)]('\x0aUncommitted\x20files:'),console['error'](t),console[_0x5e04e6(0x1bb)](_0x5e04e6(0x1b4)),console[_0x5e04e6(0x1bb)](_0x5e04e6(0x1df)),console[_0x5e04e6(0x1bb)](_0x5e04e6(0x1a4)+a+_0x5e04e6(0x1b2)),console[_0x5e04e6(0x1bb)](''),process[_0x5e04e6(0x1ef)](0x1));}catch{console['warn'](_0x5e04e6(0x1a9)),console[_0x5e04e6(0x1d5)]('Make\x20sure\x20all\x20changes\x20are\x20committed!\x0a');}s[_0x5e04e6(0x1c3)]=_0x5e04e6(0x1e5),s[_0x5e04e6(0x199)]=new Date()['toISOString']();if(s['startedAt']){let t=new Date(s[_0x5e04e6(0x1b9)]),o=new Date(s[_0x5e04e6(0x199)]);s[_0x5e04e6(0x1d1)]=Math[_0x5e04e6(0x1ba)]((o-t)/(0x3e8*0x3c*0x3c)*0xa)/0xa;}n[_0x5e04e6(0x1a0)](l,JSON['stringify'](s,null,0x2)),e[_0x5e04e6(0x1ac)]=null,e['lastUpdated']=new Date()[_0x5e04e6(0x1e6)]();var g=e[_0x5e04e6(0x1cc)]['find'](_0x22a4e7=>_0x22a4e7['id']===a);g&&(g['status']=_0x5e04e6(0x1e5)),e[_0x5e04e6(0x1b8)]={'totalTasks':e['taskFiles'][_0x5e04e6(0x1c0)],'pending':e[_0x5e04e6(0x1cc)][_0x5e04e6(0x1d3)](_0x5509a7=>_0x5509a7[_0x5e04e6(0x1c3)]===_0x5e04e6(0x1e2))[_0x5e04e6(0x1c0)],'inProgress':e[_0x5e04e6(0x1cc)]['filter'](_0x4de949=>_0x4de949['status']===_0x5e04e6(0x1d8))[_0x5e04e6(0x1c0)],'completed':e['taskFiles'][_0x5e04e6(0x1d3)](_0xe8ec46=>_0xe8ec46['status']===_0x5e04e6(0x1e5))[_0x5e04e6(0x1c0)],'blocked':e[_0x5e04e6(0x1cc)]['filter'](_0x110c82=>_0x110c82['status']===_0x5e04e6(0x1e8))[_0x5e04e6(0x1c0)]},n[_0x5e04e6(0x1a0)](r,JSON[_0x5e04e6(0x1f1)](e,null,0x2)),console[_0x5e04e6(0x1d9)](_0x5e04e6(0x1b6)+a),console[_0x5e04e6(0x1d9)](_0x5e04e6(0x1ca)+u+'\x0a'),console[_0x5e04e6(0x1d9)](_0x5e04e6(0x1a1)+s[_0x5e04e6(0x1cd)]),s[_0x5e04e6(0x1d1)]&&console[_0x5e04e6(0x1d9)](_0x5e04e6(0x19b)+s['actualHours']+_0x5e04e6(0x1da));if(s[_0x5e04e6(0x1de)]&&s[_0x5e04e6(0x1d1)]){let t=((s[_0x5e04e6(0x1d1)]-s[_0x5e04e6(0x1de)])/s['estimatedHours']*0x64)[_0x5e04e6(0x1b7)](0x1);console[_0x5e04e6(0x1d9)](_0x5e04e6(0x1dc)+s['estimatedHours']+_0x5e04e6(0x1bc)+t+'%');}var h=(e[_0x5e04e6(0x1b8)]['completed']/e[_0x5e04e6(0x1b8)][_0x5e04e6(0x1dd)]*0x64)[_0x5e04e6(0x1b7)](0x1);console[_0x5e04e6(0x1d9)]('\x0a📈\x20Project\x20progress:\x20'+e[_0x5e04e6(0x1b8)][_0x5e04e6(0x1e5)]+'/'+e[_0x5e04e6(0x1b8)][_0x5e04e6(0x1dd)]+_0x5e04e6(0x1e7)+h+_0x5e04e6(0x1a6));var c=e[_0x5e04e6(0x1cc)]['find'](_0x2adfc1=>_0x2adfc1['status']===_0x5e04e6(0x1e2));function _0x34a5(){var _0x5283c7=['2251855kwdpec','find','actualHours','34809NUGpdJ','filter','9987042cOqPQN','warn','constructor','readFileSync','in_progress','log','\x20hours','QtblS','📊\x20Estimated:\x20','totalTasks','estimatedHours','\x20\x20git\x20add\x20.','14lEGdGe','Vhtwv','pending','Usage:\x20npm\x20run\x20task:done\x20TASK-001\x0a','cUMVd','completed','toISOString','\x20tasks\x20(','blocked','448980XbJbXY','\x0aUncommitted\x20files:','\x20is\x20already\x20completed','apply','\x22\x20is\x20not\x20supported','\x0a❌\x20ERROR:\x20You\x20have\x20uncommitted\x20changes','exit','Dynamic\x20require\x20of\x20\x22','stringify','trim','RtMOl','existsSync','completedAt','Initialize\x20first:\x20npm\x20run\x20plan:init\x0a','⏱️\x20\x20Time\x20taken:\x20','path','Cqsub','YtZfc','WfjJh','writeFileSync','📌\x20','encoding','6690988pMKTjZ','\x20\x20git\x20commit\x20-m\x20\x22[','\x0a✅\x20Task\x20','%)\x0a','argv','FdhGc','\x0a⚠️\x20\x20WARNING:\x20Could\x20not\x20check\x20git\x20status','✅\x20Tracker\x20already\x20synchronized\x0a','join','activeTask','\x0a❌\x20ERROR:\x20Task\x20ID\x20required','wKRID','git\x20status\x20--porcelain','Plan:\x20','✅\x20Tracker\x20synchronized\x0a',']\x20Description\x20of\x20changes\x22','30813584UZIWSx','\x0aCommit\x20all\x20changes\x20before\x20completing\x20task:','.json','\x0a✅\x20Completed\x20task:\x20','toFixed','statistics','startedAt','round','error','h\x20|\x20Variance:\x20','.claude/plans','iQaQi','.claude/ACTIVE-PLAN','length','24680GrJYgh','utf8','status','\x0a❌\x20ERROR:\x20Task\x20tracker\x20not\x20found','toString','🎉\x20ALL\x20TASKS\x20COMPLETED!\x20Project\x20finished.\x0a','iTzQS','TASK-TRACKER.json','parse','📋\x20Plan:\x20','(((.+)+)+)+$','taskFiles','title','search'];_0x34a5=function(){return _0x5283c7;};return _0x34a5();}c?(console['log']('📌\x20Next\x20task\x20available:'),console[_0x5e04e6(0x1d9)]('\x20\x20'+c['id']+':\x20'+c[_0x5e04e6(0x1cd)]),console[_0x5e04e6(0x1d9)]('\x20\x20Start:\x20npm\x20run\x20task:next\x0a')):e[_0x5e04e6(0x1b8)][_0x5e04e6(0x1e5)]===e['statistics'][_0x5e04e6(0x1dd)]&&console[_0x5e04e6(0x1d9)](_0x5e04e6(0x1c6)),process[_0x5e04e6(0x1ef)](0x0);
2
+ var _0x581323=_0x193b;(function(_0x11ee6a,_0x2b4585){var _0x32ee12=_0x193b,_0x2bacb8=_0x11ee6a();while(!![]){try{var _0x1f94f4=parseInt(_0x32ee12(0x155))/0x1+-parseInt(_0x32ee12(0x170))/0x2*(parseInt(_0x32ee12(0x146))/0x3)+parseInt(_0x32ee12(0x147))/0x4*(parseInt(_0x32ee12(0x161))/0x5)+-parseInt(_0x32ee12(0x13a))/0x6+-parseInt(_0x32ee12(0x14c))/0x7*(-parseInt(_0x32ee12(0x12c))/0x8)+-parseInt(_0x32ee12(0x15b))/0x9*(-parseInt(_0x32ee12(0x15c))/0xa)+-parseInt(_0x32ee12(0x174))/0xb*(-parseInt(_0x32ee12(0x153))/0xc);if(_0x1f94f4===_0x2b4585)break;else _0x2bacb8['push'](_0x2bacb8['shift']());}catch(_0x6e662){_0x2bacb8['push'](_0x2bacb8['shift']());}}}(_0x2ad4,0x639c7));var _0x1cb99a=(function(){var _0x2697b6=_0x193b,_0x341cd8={};_0x341cd8[_0x2697b6(0x17a)]=function(_0x17d659,_0x3ee894){return _0x17d659!==_0x3ee894;},_0x341cd8['sstSE']='LDdYf',_0x341cd8[_0x2697b6(0x16b)]=function(_0x39e42d,_0x422efa){return _0x39e42d!==_0x422efa;},_0x341cd8['iofTp']=_0x2697b6(0x162);var _0x7cf14e=_0x341cd8,_0x345b32=!![];return function(_0x427321,_0x5eb729){var _0x556a9f=_0x2697b6;if(_0x7cf14e[_0x556a9f(0x16b)](_0x7cf14e['iofTp'],_0x7cf14e[_0x556a9f(0x12b)])){var _0x1b86f7=_0x4e8349[_0x556a9f(0x12f)](_0xc8a1e4,arguments);return _0x3e0914=null,_0x1b86f7;}else{var _0x41a635=_0x345b32?function(){var _0x193499=_0x556a9f;if(_0x5eb729){if(_0x7cf14e[_0x193499(0x17a)](_0x7cf14e[_0x193499(0x127)],_0x7cf14e[_0x193499(0x127)])){var _0x3c1eca=_0x3dec05?function(){if(_0x3e46fb){var _0x482db5=_0x3a5b57['apply'](_0x5685b6,arguments);return _0x3d881f=null,_0x482db5;}}:function(){};return _0x43e723=![],_0x3c1eca;}else{var _0x1a61f0=_0x5eb729['apply'](_0x427321,arguments);return _0x5eb729=null,_0x1a61f0;}}}:function(){};return _0x345b32=![],_0x41a635;}};}()),_0x13b14c=_0x1cb99a(this,function(){var _0x27465e=_0x193b,_0x283cd1={};_0x283cd1['RvVep']=_0x27465e(0x13b);var _0xbc117b=_0x283cd1;return _0x13b14c[_0x27465e(0x166)]()[_0x27465e(0x140)](_0xbc117b[_0x27465e(0x137)])[_0x27465e(0x166)]()[_0x27465e(0x179)](_0x13b14c)['search'](_0xbc117b[_0x27465e(0x137)]);});_0x13b14c();var i=(_0x14856d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x14856d,{'get':(_0x267d74,_0x1acd04)=>(typeof require<'u'?require:_0x267d74)[_0x1acd04]}):_0x14856d)(function(_0x1a157d){var _0x2a81c9=_0x193b,_0x104f95={'RpaMk':function(_0x4896d0,_0x16dbe3){return _0x4896d0<_0x16dbe3;},'iNnUs':function(_0x162167,_0x4c3fa3){return _0x162167(_0x4c3fa3);},'oVchj':function(_0xe34c4f,_0x5e8c7c){return _0xe34c4f+_0x5e8c7c;},'SWGfo':_0x2a81c9(0x175),'oqIZN':_0x2a81c9(0x142)};if(_0x104f95[_0x2a81c9(0x15e)](typeof require,'u'))return require['apply'](this,arguments);throw _0x104f95[_0x2a81c9(0x148)](Error,_0x104f95[_0x2a81c9(0x171)](_0x104f95[_0x2a81c9(0x171)](_0x104f95[_0x2a81c9(0x16e)],_0x1a157d),_0x104f95[_0x2a81c9(0x158)]));}),n=i('fs'),d=i('path'),a=process[_0x581323(0x136)][0x2];function _0x193b(_0x4ea56c,_0x4709b4){_0x4ea56c=_0x4ea56c-0x121;var _0x385623=_0x2ad4();var _0x13b14c=_0x385623[_0x4ea56c];return _0x13b14c;}a||(console[_0x581323(0x172)]('\x0a❌\x20ERROR:\x20Task\x20ID\x20required'),console['error']('Usage:\x20npm\x20run\x20task:done\x20TASK-001\x0a'),process[_0x581323(0x178)](0x1));var p=_0x581323(0x13d);n[_0x581323(0x169)](p)||(console[_0x581323(0x172)]('\x0a❌\x20ERROR:\x20No\x20active\x20plan\x20found'),console[_0x581323(0x172)](_0x581323(0x167)),process[_0x581323(0x178)](0x1));var u=n[_0x581323(0x16a)](p,_0x581323(0x143))[_0x581323(0x151)](),k=d[_0x581323(0x125)](_0x581323(0x16d),u),r=d['join'](k,'TASK-TRACKER.json'),l=d['join'](k,'tasks',a+'.json');n[_0x581323(0x169)](r)||(console[_0x581323(0x172)]('\x0a❌\x20ERROR:\x20Task\x20tracker\x20not\x20found'),console[_0x581323(0x172)](_0x581323(0x163)+u),console[_0x581323(0x172)](_0x581323(0x14a)),process[_0x581323(0x178)](0x1)),n[_0x581323(0x169)](l)||(console['error'](_0x581323(0x14f)+l+'\x0a'),process[_0x581323(0x178)](0x1));var e=JSON[_0x581323(0x12a)](n[_0x581323(0x16a)](r,_0x581323(0x143))),s=JSON[_0x581323(0x12a)](n[_0x581323(0x16a)](l,_0x581323(0x143))),f=s['status']===_0x581323(0x152);if(f){console[_0x581323(0x15a)](_0x581323(0x157)+a+_0x581323(0x14b)),console[_0x581323(0x15a)](_0x581323(0x16f));let t=e[_0x581323(0x13c)]['find'](_0x2acdf5=>_0x2acdf5['id']===a);t&&t['status']!==_0x581323(0x152)?(t[_0x581323(0x154)]='completed',e[_0x581323(0x14e)]={'totalTasks':e[_0x581323(0x13c)][_0x581323(0x134)],'pending':e['taskFiles']['filter'](_0x5f5cb6=>_0x5f5cb6[_0x581323(0x154)]===_0x581323(0x122))[_0x581323(0x134)],'inProgress':e[_0x581323(0x13c)][_0x581323(0x177)](_0x2af0b3=>_0x2af0b3[_0x581323(0x154)]===_0x581323(0x159))['length'],'completed':e[_0x581323(0x13c)][_0x581323(0x177)](_0x90bec6=>_0x90bec6[_0x581323(0x154)]===_0x581323(0x152))['length'],'blocked':e[_0x581323(0x13c)][_0x581323(0x177)](_0x13c800=>_0x13c800[_0x581323(0x154)]==='blocked')['length']},e[_0x581323(0x12d)]=null,e[_0x581323(0x145)]=new Date()[_0x581323(0x135)](),n[_0x581323(0x173)](r,JSON[_0x581323(0x168)](e,null,0x2)),console[_0x581323(0x15a)](_0x581323(0x138))):console['log']('✅\x20Tracker\x20already\x20synchronized\x0a'),process[_0x581323(0x178)](0x0);}var {execSync:S}=i(_0x581323(0x121));try{var _0x4206db={};_0x4206db[_0x581323(0x14d)]=_0x581323(0x143);let t=S('git\x20status\x20--porcelain',_0x4206db);t[_0x581323(0x151)]()&&(console[_0x581323(0x172)](_0x581323(0x144)),console['error']('\x0aUncommitted\x20files:'),console[_0x581323(0x172)](t),console['error'](_0x581323(0x139)),console[_0x581323(0x172)](_0x581323(0x126)),console['error'](_0x581323(0x156)+a+_0x581323(0x165)),console[_0x581323(0x172)](''),process[_0x581323(0x178)](0x1));}catch{console[_0x581323(0x130)](_0x581323(0x132)),console[_0x581323(0x130)](_0x581323(0x128));}s[_0x581323(0x154)]=_0x581323(0x152),s[_0x581323(0x149)]=new Date()[_0x581323(0x135)]();if(s[_0x581323(0x123)]){let t=new Date(s[_0x581323(0x123)]),o=new Date(s[_0x581323(0x149)]);s['actualHours']=Math['round']((o-t)/(0x3e8*0x3c*0x3c)*0xa)/0xa;}n['writeFileSync'](l,JSON['stringify'](s,null,0x2)),e[_0x581323(0x12d)]=null,e[_0x581323(0x145)]=new Date()[_0x581323(0x135)]();var g=e[_0x581323(0x13c)]['find'](_0x131e4a=>_0x131e4a['id']===a);function _0x2ad4(){var _0x46df88=['3183649VgXdDn','encoding','statistics','\x0a❌\x20ERROR:\x20Task\x20file\x20not\x20found:\x20','totalTasks','trim','completed','240oOdvlE','status','510123KyikJQ','\x20\x20git\x20commit\x20-m\x20\x22[','\x0a✅\x20Task\x20','oqIZN','in_progress','log','74403TVWsfg','110jNJmox','title','RpaMk','h\x20|\x20Variance:\x20','actualHours','495aZCmOE','cNjsq','Plan:\x20','estimatedHours',']\x20Description\x20of\x20changes\x22','toString','Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager\x0a','stringify','existsSync','readFileSync','llVvS','find','.claude/plans','SWGfo','Syncing\x20tracker\x20status...\x0a','2PyxdPF','oVchj','error','writeFileSync','213697QoHVOH','Dynamic\x20require\x20of\x20\x22','blocked','filter','exit','constructor','fyOYc','child_process','pending','startedAt','📋\x20Plan:\x20','join','\x20\x20git\x20add\x20.','sstSE','Make\x20sure\x20all\x20changes\x20are\x20committed!\x0a','\x20\x20Start:\x20npm\x20run\x20task:next\x0a','parse','iofTp','8YywbvZ','activeTask','%)\x0a','apply','warn','📌\x20Next\x20task\x20available:','\x0a⚠️\x20\x20WARNING:\x20Could\x20not\x20check\x20git\x20status','📊\x20Estimated:\x20','length','toISOString','argv','RvVep','✅\x20Tracker\x20synchronized\x0a','\x0aCommit\x20all\x20changes\x20before\x20completing\x20task:','3679596WuMHfC','(((.+)+)+)+$','taskFiles','.claude/ACTIVE-PLAN','toFixed','\x0a✅\x20Completed\x20task:\x20','search','\x0a📈\x20Project\x20progress:\x20','\x22\x20is\x20not\x20supported','utf8','\x0a❌\x20ERROR:\x20You\x20have\x20uncommitted\x20changes','lastUpdated','2438691XTNNsm','15748fPxody','iNnUs','completedAt','Initialize\x20first:\x20npm\x20run\x20plan:init\x0a','\x20is\x20already\x20completed'];_0x2ad4=function(){return _0x46df88;};return _0x2ad4();}g&&(g[_0x581323(0x154)]=_0x581323(0x152)),e[_0x581323(0x14e)]={'totalTasks':e[_0x581323(0x13c)][_0x581323(0x134)],'pending':e[_0x581323(0x13c)][_0x581323(0x177)](_0x1287dc=>_0x1287dc['status']===_0x581323(0x122))[_0x581323(0x134)],'inProgress':e['taskFiles'][_0x581323(0x177)](_0x3b9769=>_0x3b9769[_0x581323(0x154)]==='in_progress')[_0x581323(0x134)],'completed':e[_0x581323(0x13c)]['filter'](_0x4447ec=>_0x4447ec[_0x581323(0x154)]===_0x581323(0x152))['length'],'blocked':e[_0x581323(0x13c)][_0x581323(0x177)](_0x549beb=>_0x549beb['status']===_0x581323(0x176))[_0x581323(0x134)]},n['writeFileSync'](r,JSON[_0x581323(0x168)](e,null,0x2)),console['log'](_0x581323(0x13f)+a),console[_0x581323(0x15a)](_0x581323(0x124)+u+'\x0a'),console[_0x581323(0x15a)]('📌\x20'+s[_0x581323(0x15d)]),s[_0x581323(0x160)]&&console[_0x581323(0x15a)]('⏱️\x20\x20Time\x20taken:\x20'+s[_0x581323(0x160)]+'\x20hours');if(s[_0x581323(0x164)]&&s['actualHours']){let t=((s[_0x581323(0x160)]-s['estimatedHours'])/s[_0x581323(0x164)]*0x64)['toFixed'](0x1);console[_0x581323(0x15a)](_0x581323(0x133)+s[_0x581323(0x164)]+_0x581323(0x15f)+t+'%');}var h=(e[_0x581323(0x14e)][_0x581323(0x152)]/e[_0x581323(0x14e)][_0x581323(0x150)]*0x64)[_0x581323(0x13e)](0x1);console[_0x581323(0x15a)](_0x581323(0x141)+e['statistics'][_0x581323(0x152)]+'/'+e[_0x581323(0x14e)][_0x581323(0x150)]+'\x20tasks\x20('+h+_0x581323(0x12e));var c=e[_0x581323(0x13c)][_0x581323(0x16c)](_0x515a20=>_0x515a20['status']==='pending');c?(console[_0x581323(0x15a)](_0x581323(0x131)),console[_0x581323(0x15a)]('\x20\x20'+c['id']+':\x20'+c[_0x581323(0x15d)]),console[_0x581323(0x15a)](_0x581323(0x129))):e['statistics'][_0x581323(0x152)]===e['statistics'][_0x581323(0x150)]&&console['log']('🎉\x20ALL\x20TASKS\x20COMPLETED!\x20Project\x20finished.\x0a'),process[_0x581323(0x178)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x1bcf99=_0x287a;(function(_0x4ee6e1,_0x7da514){var _0x410bb9=_0x287a,_0x181bef=_0x4ee6e1();while(!![]){try{var _0x3fb984=parseInt(_0x410bb9(0x229))/0x1*(-parseInt(_0x410bb9(0x200))/0x2)+parseInt(_0x410bb9(0x1f7))/0x3*(-parseInt(_0x410bb9(0x233))/0x4)+-parseInt(_0x410bb9(0x21d))/0x5*(parseInt(_0x410bb9(0x20a))/0x6)+-parseInt(_0x410bb9(0x21c))/0x7*(parseInt(_0x410bb9(0x22b))/0x8)+parseInt(_0x410bb9(0x231))/0x9*(-parseInt(_0x410bb9(0x210))/0xa)+-parseInt(_0x410bb9(0x236))/0xb+parseInt(_0x410bb9(0x232))/0xc;if(_0x3fb984===_0x7da514)break;else _0x181bef['push'](_0x181bef['shift']());}catch(_0x116e68){_0x181bef['push'](_0x181bef['shift']());}}}(_0x278d,0xd442b));var _0x33deb4=(function(){var _0x7db972=_0x287a,_0x5c6417={'aanSK':function(_0x159343,_0x26f21c){return _0x159343<_0x26f21c;},'dgpEv':function(_0x1d1ba1,_0x1a9ea4){return _0x1d1ba1(_0x1a9ea4);},'wxHgK':function(_0x578e27,_0x5cad56){return _0x578e27+_0x5cad56;},'JyPTO':_0x7db972(0x1f0),'BwpNj':'\x22\x20is\x20not\x20supported','Lxiak':function(_0x4392f6,_0x568c6d){return _0x4392f6===_0x568c6d;},'jCBLE':_0x7db972(0x223),'wJiYE':'Migrations\x20must\x20be\x20tested\x20in\x20development/staging\x20first','JHZwu':_0x7db972(0x21a),'BMaKk':'BbELI','oKvry':_0x7db972(0x20f),'ErjOz':_0x7db972(0x1ff),'IykRH':_0x7db972(0x201)},_0xb073ba=!![];return function(_0x1661cc,_0x4f5d80){var _0x832593=_0x7db972,_0x4f0e5f={'wxMfl':function(_0x1bb361,_0x4f4358){return _0x5c6417['Lxiak'](_0x1bb361,_0x4f4358);},'TVyKX':_0x5c6417['jCBLE'],'zEePa':_0x832593(0x230),'lvRzJ':_0x5c6417['wJiYE'],'MVqYD':_0x5c6417[_0x832593(0x206)],'Wszrn':function(_0x2a796c,_0x5c1e40){return _0x2a796c===_0x5c1e40;},'IweYn':_0x5c6417[_0x832593(0x212)],'IJyVF':_0x5c6417[_0x832593(0x228)]};if(_0x5c6417['ErjOz']===_0x5c6417['IykRH']){if(_0x5c6417[_0x832593(0x20e)](typeof _0x483672,'u'))return _0x26785c['apply'](this,arguments);throw _0x5c6417[_0x832593(0x23a)](_0x5cd4a7,_0x5c6417[_0x832593(0x21f)](_0x5c6417[_0x832593(0x21f)](_0x5c6417[_0x832593(0x224)],_0x1210dd),_0x5c6417[_0x832593(0x21e)]));}else{var _0x54b973=_0xb073ba?function(){var _0x3fb457=_0x832593;if(_0x4f0e5f['wxMfl'](_0x3fb457(0x22d),_0x4f0e5f[_0x3fb457(0x1ed)])){var _0x2aefcb=_0x576c59?function(){var _0x5149f1=_0x3fb457;if(_0x3f3bf5){var _0x423e3f=_0x7418df[_0x5149f1(0x1fb)](_0x3ac63a,arguments);return _0x4a8f8f=null,_0x423e3f;}}:function(){};return _0x35fe4e=![],_0x2aefcb;}else{if(_0x4f5d80){if(_0x4f0e5f[_0x3fb457(0x1eb)](_0x4f0e5f[_0x3fb457(0x222)],_0x4f0e5f[_0x3fb457(0x203)])){let _0x41e73e=_0x2c440c[_0x3fb457(0x208)]['NODE_ENV']||_0x3fb457(0x213);_0x2369d4[_0x3fb457(0x239)]('\x20\x20Environment:\x20'+_0x41e73e),_0x4f0e5f[_0x3fb457(0x22a)](_0x41e73e,_0x4f0e5f['TVyKX'])&&(_0x5719e1['push'](_0x4f0e5f[_0x3fb457(0x1f3)]),_0xc410d0[_0x3fb457(0x214)](_0x4f0e5f[_0x3fb457(0x237)]),_0xfd1901[_0x3fb457(0x214)](_0x3fb457(0x20d)));}else{var _0x51aa4a=_0x4f5d80[_0x3fb457(0x1fb)](_0x1661cc,arguments);return _0x4f5d80=null,_0x51aa4a;}}}}:function(){};return _0xb073ba=![],_0x54b973;}};}()),_0x55206c=_0x33deb4(this,function(){var _0x24b3d3=_0x287a,_0x5a5d44={};_0x5a5d44['Alagz']=_0x24b3d3(0x1fd);var _0x53e8b9=_0x5a5d44;return _0x55206c[_0x24b3d3(0x225)]()[_0x24b3d3(0x20b)](_0x53e8b9[_0x24b3d3(0x220)])['toString']()[_0x24b3d3(0x1fe)](_0x55206c)[_0x24b3d3(0x20b)](_0x53e8b9[_0x24b3d3(0x220)]);});_0x55206c();var e=(_0x496356=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x496356,{'get':(_0x2fd53a,_0x442392)=>(typeof require<'u'?require:_0x2fd53a)[_0x442392]}):_0x496356)(function(_0x2a87d6){var _0x167e6f=_0x287a,_0x526ce9={'kvPbK':function(_0x19ec8f,_0x5435e8){return _0x19ec8f<_0x5435e8;},'cISTZ':function(_0x499b07,_0x1cc35f){return _0x499b07(_0x1cc35f);},'clDSN':function(_0xbe7a22,_0x5508d0){return _0xbe7a22+_0x5508d0;},'WjJbk':_0x167e6f(0x1f1)};if(_0x526ce9[_0x167e6f(0x1fc)](typeof require,'u'))return require[_0x167e6f(0x1fb)](this,arguments);throw _0x526ce9[_0x167e6f(0x1ee)](Error,_0x526ce9['clDSN'](_0x526ce9[_0x167e6f(0x1f4)](_0x167e6f(0x1f0),_0x2a87d6),_0x526ce9[_0x167e6f(0x235)]));}),p=e('fs'),h=e(_0x1bcf99(0x1ea)),{execSync:l}=e('child_process'),u=process[_0x1bcf99(0x22c)][0x2]||'{}',s=JSON['parse'](u),i=s[_0x1bcf99(0x1f6)]?.[_0x1bcf99(0x23b)]||'';i['match'](/migrate|migration/i)||process[_0x1bcf99(0x211)](0x0);function _0x287a(_0x161874,_0x227417){_0x161874=_0x161874-0x1ea;var _0x4573d7=_0x278d();var _0x55206c=_0x4573d7[_0x161874];return _0x55206c;}var n=[],t=[],a=s[_0x1bcf99(0x238)]||'';console[_0x1bcf99(0x239)](_0x1bcf99(0x227));try{let o=process['env'][_0x1bcf99(0x226)]||'development';console[_0x1bcf99(0x239)](_0x1bcf99(0x207)+o),o==='production'&&(n[_0x1bcf99(0x214)]('BLOCKED:\x20Cannot\x20run\x20migrations\x20directly\x20in\x20production'),n[_0x1bcf99(0x214)](_0x1bcf99(0x23c)),n[_0x1bcf99(0x214)](_0x1bcf99(0x20d)));}catch{}try{var _0x2202b9={};_0x2202b9[_0x1bcf99(0x217)]='utf8',l('git\x20status\x20--short',_0x2202b9)[_0x1bcf99(0x1f9)](/migrations?\//)&&(t['push'](_0x1bcf99(0x216)),t[_0x1bcf99(0x214)](_0x1bcf99(0x20c)));}catch{}function _0x278d(){var _0x485d15=['oKSZR','\x20\x20🔙\x20Rolling\x20back\x20migration...\x0a','42SrtoIe','1146135wIWkgh','BwpNj','wxHgK','Alagz','BLOCKED:\x20Migration\x20rollback\x20failed','IweYn','production','JyPTO','toString','NODE_ENV','\x0a🔄\x20MIGRATION\x20WORKFLOW\x20VALIDATION\x0a','oKvry','187970njQLfh','wxMfl','1893352YCrQLE','argv','JyzuF','Check\x20database\x20logs\x20for\x20details','\x20\x20\x20\x20\x203.\x20Check\x20for\x20type\x20errors:\x20npm\x20run\x20build','BLOCKED:\x20Cannot\x20run\x20migrations\x20directly\x20in\x20production','106560fWdJtq','89157180LAkBwK','1431992HmqAdQ','Fix\x20migration\x20errors\x20before\x20proceeding','WjJbk','15298646jvlxDi','lvRzJ','tool_output','log','dgpEv','command','Migrations\x20must\x20be\x20tested\x20in\x20development/staging\x20first','path','Wszrn','BLOCKED:\x20Migration\x20execution\x20failed','MVqYD','cISTZ','\x20\x20⚠️\x20\x20After\x20running\x20migrations,\x20you\x20MUST:\x0a','Dynamic\x20require\x20of\x20\x22','\x22\x20is\x20not\x20supported','forEach','zEePa','clDSN','length','tool_input','3AkxlPW','\x0a⚠️\x20\x20MIGRATION\x20WORKFLOW\x20WARNINGS\x0a','match','Manual\x20intervention\x20required','apply','kvPbK','(((.+)+)+)+$','constructor','XFYVG','16JIarTI','VatfY','\x20\x20\x20\x20\x202.\x20Verify\x20all\x20tests\x20pass\x20with\x20new\x20schema','IJyVF','\x0a❌\x20MIGRATION\x20WORKFLOW\x20FAILED\x0a','error','JHZwu','\x20\x20Environment:\x20','env','\x20\x20\x20\x20\x204.\x20Test\x20rollback:\x20npm\x20run\x20migrate:down\x20(or\x20equivalent)\x0a','24nTDfxY','search','Commit\x20migrations\x20to\x20version\x20control\x20before\x20running\x20them','Use\x20deployment\x20pipeline\x20to\x20run\x20production\x20migrations','aanSK','GAvqr','820ysTJSP','exit','BMaKk','development','push','After\x20migration,\x20run\x20npm\x20test\x20to\x20verify\x20schema\x20compatibility','Uncommitted\x20migration\x20files\x20detected','encoding','test','warn'];_0x278d=function(){return _0x485d15;};return _0x278d();}var g=[/error/i,/failed/i,/exception/i,/syntax error/i,/constraint/i];for(let o of g)if(o[_0x1bcf99(0x218)](a)){n[_0x1bcf99(0x214)](_0x1bcf99(0x1ec)),n[_0x1bcf99(0x214)](_0x1bcf99(0x234)),n[_0x1bcf99(0x214)](_0x1bcf99(0x22e));break;}i[_0x1bcf99(0x1f9)](/migrate.*up|migration.*run/i)&&(console[_0x1bcf99(0x239)](_0x1bcf99(0x1ef)),console[_0x1bcf99(0x239)]('\x20\x20\x20\x20\x201.\x20Run:\x20npm\x20test'),console[_0x1bcf99(0x239)](_0x1bcf99(0x202)),console[_0x1bcf99(0x239)](_0x1bcf99(0x22f)),console[_0x1bcf99(0x239)](_0x1bcf99(0x209)),t[_0x1bcf99(0x214)](_0x1bcf99(0x215))),i['match'](/migrate.*down|migration.*rollback/i)&&(console[_0x1bcf99(0x239)](_0x1bcf99(0x21b)),a[_0x1bcf99(0x1f9)](/error|failed/i)?(n[_0x1bcf99(0x214)](_0x1bcf99(0x221)),n['push']('Database\x20may\x20be\x20in\x20inconsistent\x20state'),n[_0x1bcf99(0x214)](_0x1bcf99(0x1fa))):console['log']('\x20\x20✅\x20Migration\x20rollback\x20successful\x0a')),n['length']>0x0&&(console[_0x1bcf99(0x205)](_0x1bcf99(0x204)),n[_0x1bcf99(0x1f2)](_0x4992b0=>console['error']('\x20\x20'+_0x4992b0)),console[_0x1bcf99(0x205)]('\x0a'),process[_0x1bcf99(0x211)](0x2)),t[_0x1bcf99(0x1f5)]>0x0&&(console[_0x1bcf99(0x219)](_0x1bcf99(0x1f8)),t['forEach'](_0x2da80e=>console[_0x1bcf99(0x219)]('\x20\x20'+_0x2da80e)),console[_0x1bcf99(0x219)]('\x0a')),process['exit'](0x0);
2
+ var _0x530604=_0x34ee;(function(_0x31c42a,_0x255cce){var _0x4137f1=_0x34ee,_0x19041b=_0x31c42a();while(!![]){try{var _0x50bb20=-parseInt(_0x4137f1(0x152))/0x1*(parseInt(_0x4137f1(0x12f))/0x2)+parseInt(_0x4137f1(0x13b))/0x3*(-parseInt(_0x4137f1(0x143))/0x4)+-parseInt(_0x4137f1(0x144))/0x5+-parseInt(_0x4137f1(0x12d))/0x6*(-parseInt(_0x4137f1(0x14e))/0x7)+parseInt(_0x4137f1(0x162))/0x8+parseInt(_0x4137f1(0x156))/0x9+-parseInt(_0x4137f1(0x138))/0xa*(parseInt(_0x4137f1(0x15e))/0xb);if(_0x50bb20===_0x255cce)break;else _0x19041b['push'](_0x19041b['shift']());}catch(_0x5e32cb){_0x19041b['push'](_0x19041b['shift']());}}}(_0x31b2,0x51229));var _0x140090=(function(){var _0x56370e=!![];return function(_0x3f9545,_0x492b2c){var _0x22fa23=_0x56370e?function(){var _0x103f39=_0x34ee;if(_0x492b2c){var _0xe85ebb=_0x492b2c[_0x103f39(0x14f)](_0x3f9545,arguments);return _0x492b2c=null,_0xe85ebb;}}:function(){};return _0x56370e=![],_0x22fa23;};}()),_0x8c9015=_0x140090(this,function(){var _0x31a2cb=_0x34ee,_0x2ae8ee={};_0x2ae8ee['BbyvU']=_0x31a2cb(0x13a);var _0x31000f=_0x2ae8ee;return _0x8c9015[_0x31a2cb(0x15c)]()[_0x31a2cb(0x141)](_0x31000f[_0x31a2cb(0x147)])['toString']()[_0x31a2cb(0x155)](_0x8c9015)[_0x31a2cb(0x141)]('(((.+)+)+)+$');});_0x8c9015();var e=(_0x503e76=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x503e76,{'get':(_0x4ca568,_0x43e638)=>(typeof require<'u'?require:_0x4ca568)[_0x43e638]}):_0x503e76)(function(_0x4abfa3){var _0x585581=_0x34ee,_0x300dee={'ijaBO':function(_0x4c1b81,_0x28368d){return _0x4c1b81<_0x28368d;},'BFxbw':function(_0x443224,_0x137c83){return _0x443224(_0x137c83);},'NClsF':function(_0x37c345,_0x515002){return _0x37c345+_0x515002;},'dXHKj':_0x585581(0x132),'gWBSY':_0x585581(0x163)};if(_0x300dee[_0x585581(0x140)](typeof require,'u'))return require[_0x585581(0x14f)](this,arguments);throw _0x300dee[_0x585581(0x148)](Error,_0x300dee['NClsF'](_0x300dee[_0x585581(0x160)]+_0x4abfa3,_0x300dee[_0x585581(0x137)]));}),p=e('fs'),h=e(_0x530604(0x13e)),{execSync:l}=e('child_process'),u=process[_0x530604(0x15d)][0x2]||'{}',s=JSON[_0x530604(0x14a)](u),i=s['tool_input']?.['command']||'';i['match'](/migrate|migration/i)||process[_0x530604(0x13c)](0x0);function _0x31b2(){var _0x372a82=['error','(((.+)+)+)+$','3756JhrZYB','exit','length','path','push','ijaBO','search','env','1076HDHtBn','590685vDsdwh','BLOCKED:\x20Cannot\x20run\x20migrations\x20directly\x20in\x20production','Use\x20deployment\x20pipeline\x20to\x20run\x20production\x20migrations','BbyvU','BFxbw','production','parse','Database\x20may\x20be\x20in\x20inconsistent\x20state','Fix\x20migration\x20errors\x20before\x20proceeding','tool_output','1840279DxeJid','apply','Uncommitted\x20migration\x20files\x20detected','NODE_ENV','54PNmYZG','test','git\x20status\x20--short','constructor','4359384RYUmEu','log','\x0a❌\x20MIGRATION\x20WORKFLOW\x20FAILED\x0a','\x20\x20\x20\x20\x202.\x20Verify\x20all\x20tests\x20pass\x20with\x20new\x20schema','BLOCKED:\x20Migration\x20execution\x20failed','\x20\x20\x20\x20\x203.\x20Check\x20for\x20type\x20errors:\x20npm\x20run\x20build','toString','argv','36454nWdWOT','match','dXHKj','\x20\x20Environment:\x20','739208ydfVqe','\x22\x20is\x20not\x20supported','\x20\x20🔙\x20Rolling\x20back\x20migration...\x0a','development','\x20\x20\x20\x20\x204.\x20Test\x20rollback:\x20npm\x20run\x20migrate:down\x20(or\x20equivalent)\x0a','encoding','warn','\x0a⚠️\x20\x20MIGRATION\x20WORKFLOW\x20WARNINGS\x0a','6SLqlWx','forEach','1696PyLzoQ','After\x20migration,\x20run\x20npm\x20test\x20to\x20verify\x20schema\x20compatibility','Manual\x20intervention\x20required','Dynamic\x20require\x20of\x20\x22','\x20\x20⚠️\x20\x20After\x20running\x20migrations,\x20you\x20MUST:\x0a','\x0a🔄\x20MIGRATION\x20WORKFLOW\x20VALIDATION\x0a','\x20\x20✅\x20Migration\x20rollback\x20successful\x0a','Migrations\x20must\x20be\x20tested\x20in\x20development/staging\x20first','gWBSY','20pKzQnK'];_0x31b2=function(){return _0x372a82;};return _0x31b2();}var n=[],t=[],a=s[_0x530604(0x14d)]||'';console['log'](_0x530604(0x134));function _0x34ee(_0x1fd619,_0x255f2e){_0x1fd619=_0x1fd619-0x12d;var _0x23954a=_0x31b2();var _0x8c9015=_0x23954a[_0x1fd619];return _0x8c9015;}try{let o=process[_0x530604(0x142)][_0x530604(0x151)]||_0x530604(0x165);console[_0x530604(0x157)](_0x530604(0x161)+o),o===_0x530604(0x149)&&(n[_0x530604(0x13f)](_0x530604(0x145)),n[_0x530604(0x13f)](_0x530604(0x136)),n[_0x530604(0x13f)](_0x530604(0x146)));}catch{}try{var _0xc71f56={};_0xc71f56[_0x530604(0x167)]='utf8',l(_0x530604(0x154),_0xc71f56)[_0x530604(0x15f)](/migrations?\//)&&(t[_0x530604(0x13f)](_0x530604(0x150)),t[_0x530604(0x13f)]('Commit\x20migrations\x20to\x20version\x20control\x20before\x20running\x20them'));}catch{}var g=[/error/i,/failed/i,/exception/i,/syntax error/i,/constraint/i];for(let o of g)if(o[_0x530604(0x153)](a)){n[_0x530604(0x13f)](_0x530604(0x15a)),n[_0x530604(0x13f)](_0x530604(0x14c)),n[_0x530604(0x13f)]('Check\x20database\x20logs\x20for\x20details');break;}i[_0x530604(0x15f)](/migrate.*up|migration.*run/i)&&(console[_0x530604(0x157)](_0x530604(0x133)),console[_0x530604(0x157)]('\x20\x20\x20\x20\x201.\x20Run:\x20npm\x20test'),console[_0x530604(0x157)](_0x530604(0x159)),console[_0x530604(0x157)](_0x530604(0x15b)),console[_0x530604(0x157)](_0x530604(0x166)),t['push'](_0x530604(0x130))),i[_0x530604(0x15f)](/migrate.*down|migration.*rollback/i)&&(console[_0x530604(0x157)](_0x530604(0x164)),a[_0x530604(0x15f)](/error|failed/i)?(n[_0x530604(0x13f)]('BLOCKED:\x20Migration\x20rollback\x20failed'),n[_0x530604(0x13f)](_0x530604(0x14b)),n[_0x530604(0x13f)](_0x530604(0x131))):console[_0x530604(0x157)](_0x530604(0x135))),n[_0x530604(0x13d)]>0x0&&(console[_0x530604(0x139)](_0x530604(0x158)),n[_0x530604(0x12e)](_0x3d6f7d=>console[_0x530604(0x139)]('\x20\x20'+_0x3d6f7d)),console['error']('\x0a'),process['exit'](0x2)),t['length']>0x0&&(console[_0x530604(0x168)](_0x530604(0x169)),t[_0x530604(0x12e)](_0x113d59=>console[_0x530604(0x168)]('\x20\x20'+_0x113d59)),console[_0x530604(0x168)]('\x0a')),process[_0x530604(0x13c)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x125b51=_0x222a;(function(_0x5a1241,_0x52298d){const _0x203303=_0x222a,_0x1ab7b7=_0x5a1241();while(!![]){try{const _0x1f00b6=parseInt(_0x203303(0x1b3))/0x1+parseInt(_0x203303(0x1a1))/0x2*(-parseInt(_0x203303(0x187))/0x3)+parseInt(_0x203303(0x177))/0x4*(parseInt(_0x203303(0x17c))/0x5)+-parseInt(_0x203303(0x166))/0x6*(parseInt(_0x203303(0x1a6))/0x7)+-parseInt(_0x203303(0x1b1))/0x8+-parseInt(_0x203303(0x1ad))/0x9*(parseInt(_0x203303(0x1b9))/0xa)+parseInt(_0x203303(0x1a7))/0xb;if(_0x1f00b6===_0x52298d)break;else _0x1ab7b7['push'](_0x1ab7b7['shift']());}catch(_0x3d9e6d){_0x1ab7b7['push'](_0x1ab7b7['shift']());}}}(_0x3045,0xe671d));const _0x52c388=(function(){const _0x3dca38=_0x222a,_0x420e9c={};_0x420e9c[_0x3dca38(0x1b0)]=function(_0x351294,_0x1da302){return _0x351294===_0x1da302;},_0x420e9c[_0x3dca38(0x178)]=_0x3dca38(0x1ba),_0x420e9c[_0x3dca38(0x186)]=_0x3dca38(0x174),_0x420e9c[_0x3dca38(0x1a9)]=_0x3dca38(0x18b),_0x420e9c[_0x3dca38(0x183)]='utf8',_0x420e9c[_0x3dca38(0x172)]=_0x3dca38(0x181),_0x420e9c[_0x3dca38(0x194)]=function(_0x32b90e,_0x1eb524){return _0x32b90e!==_0x1eb524;},_0x420e9c[_0x3dca38(0x193)]='in_progress',_0x420e9c[_0x3dca38(0x17f)]=_0x3dca38(0x196),_0x420e9c['THDIT']=_0x3dca38(0x185);const _0x59881d=_0x420e9c;let _0x2fc7cb=!![];return function(_0x4833d3,_0x4e99e4){const _0x3dcc6b=_0x3dca38,_0x3e4c9d={'qBHYr':_0x59881d['pjKEg'],'wCXiL':_0x59881d[_0x3dcc6b(0x172)],'vjzFE':function(_0x2b7db0,_0x49c770){const _0x20e995=_0x3dcc6b;return _0x59881d[_0x20e995(0x194)](_0x2b7db0,_0x49c770);},'GNvRA':_0x59881d['AbLir'],'qfmeM':_0x59881d['zuLHv']};if(_0x59881d['THDIT']===_0x59881d[_0x3dcc6b(0x165)]){const _0x14a00e=_0x2fc7cb?function(){const _0x10a029=_0x3dcc6b;if(_0x59881d['QvenF'](_0x59881d['wKwxv'],_0x59881d[_0x10a029(0x186)])){let _0xb88cf8=_0x4e2764[_0x10a029(0x198)](_0x438b68['readFileSync'](_0x59c256,_0x3e4c9d['qBHYr']));if(!_0xb88cf8[_0x10a029(0x16f)])_0x1b9b30[_0x10a029(0x16b)](_0x3e4c9d[_0x10a029(0x169)]),_0x36df71[_0x10a029(0x16b)](_0x10a029(0x184)+_0x1f8ccb),_0x33cb30[_0x10a029(0x16b)](_0x10a029(0x191)+_0x37988e[_0x10a029(0x19f)](_0x2576df)),_0x339315[_0x10a029(0x16b)](_0x10a029(0x1aa)),_0x3f4583[_0x10a029(0x16b)](_0x10a029(0x1ac));else{let _0x4489f=_0x497071[_0x10a029(0x195)](_0x30721c,_0x10a029(0x182),_0xb88cf8[_0x10a029(0x16f)]+'.json');if(_0x562dae[_0x10a029(0x1a5)](_0x4489f)){let _0x343b76=_0x173a87[_0x10a029(0x198)](_0xd78774[_0x10a029(0x1a3)](_0x4489f,_0x3e4c9d[_0x10a029(0x1a8)]));_0x3e4c9d['vjzFE'](_0x343b76[_0x10a029(0x19d)],_0x3e4c9d['GNvRA'])&&(_0x402516[_0x10a029(0x16b)](_0x3e4c9d[_0x10a029(0x17a)]),_0x221e8d['push'](_0x10a029(0x184)+_0x2f272d),_0x15b039[_0x10a029(0x16b)](_0x10a029(0x16d)+_0xb88cf8[_0x10a029(0x16f)]+'\x20['+_0x343b76[_0x10a029(0x19d)]+']'),_0x4ec107[_0x10a029(0x16b)](_0x10a029(0x16c)),_0x19af23[_0x10a029(0x16b)](_0x10a029(0x173)+_0xb88cf8['activeTask']));}}}else{if(_0x4e99e4){const _0x48cc71=_0x4e99e4[_0x10a029(0x175)](_0x4833d3,arguments);return _0x4e99e4=null,_0x48cc71;}}}:function(){};return _0x2fc7cb=![],_0x14a00e;}else return _0x52a249[_0x3dcc6b(0x19c)]()[_0x3dcc6b(0x1b8)](_0x59881d[_0x3dcc6b(0x1a9)])['toString']()['constructor'](_0x25244d)[_0x3dcc6b(0x1b8)](_0x59881d[_0x3dcc6b(0x1a9)]);};}()),_0x100076=_0x52c388(this,function(){const _0x220f64=_0x222a,_0x572a5e={};_0x572a5e[_0x220f64(0x18c)]='(((.+)+)+)+$';const _0x38e5a1=_0x572a5e;return _0x100076[_0x220f64(0x19c)]()[_0x220f64(0x1b8)](_0x220f64(0x18b))[_0x220f64(0x19c)]()[_0x220f64(0x1a0)](_0x100076)[_0x220f64(0x1b8)](_0x38e5a1['xhGjV']);});_0x100076();var h=(_0x41297f=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x41297f,{'get':(_0x353616,_0x1e5aa4)=>(typeof require<'u'?require:_0x353616)[_0x1e5aa4]}):_0x41297f)(function(_0x3035c9){const _0x497640=_0x222a,_0xf51691={};_0xf51691[_0x497640(0x170)]=function(_0x1b333c,_0x27302d){return _0x1b333c<_0x27302d;},_0xf51691[_0x497640(0x19a)]=function(_0x359ba3,_0x23e0cf){return _0x359ba3+_0x23e0cf;},_0xf51691[_0x497640(0x18f)]=function(_0x3581b0,_0x3d975d){return _0x3581b0+_0x3d975d;},_0xf51691[_0x497640(0x17d)]=_0x497640(0x1ae);const _0xf35cd=_0xf51691;if(_0xf35cd[_0x497640(0x170)](typeof require,'u'))return require[_0x497640(0x175)](this,arguments);throw Error(_0xf35cd[_0x497640(0x19a)](_0xf35cd[_0x497640(0x18f)](_0xf35cd['GKXDl'],_0x3035c9),'\x22\x20is\x20not\x20supported'));}),a=h('fs'),e=h(_0x125b51(0x1a4)),E=process[_0x125b51(0x18d)][0x2]||'{}',m=JSON[_0x125b51(0x198)](E),t=m[_0x125b51(0x1a2)]?.[_0x125b51(0x192)],i=m[_0x125b51(0x1b5)],s=[],f=[],k=_0x125b51(0x188),c=null,o=null;a[_0x125b51(0x1a5)](k)&&(c=a[_0x125b51(0x1a3)](k,'utf8')['trim'](),o=e[_0x125b51(0x195)](_0x125b51(0x19b),c)),t&&t[_0x125b51(0x18e)](_0x125b51(0x1af))&&i===_0x125b51(0x176)&&o&&a[_0x125b51(0x1a5)](e['join'](o,_0x125b51(0x171)))&&(s[_0x125b51(0x16b)]('BLOCKED:\x20Project\x20plan\x20is\x20LOCKED\x20and\x20immutable'),s[_0x125b51(0x16b)]('File:\x20'+e[_0x125b51(0x19f)](t)),s[_0x125b51(0x16b)](_0x125b51(0x167)),s[_0x125b51(0x16b)](_0x125b51(0x17e)));if(c&&o){let n=e[_0x125b51(0x195)](o,_0x125b51(0x199)),l=e['join'](o,_0x125b51(0x171));if(a['existsSync'](l)&&!a[_0x125b51(0x1a5)](n)&&(s[_0x125b51(0x16b)](_0x125b51(0x168)),s[_0x125b51(0x16b)](_0x125b51(0x184)+c),s['push'](_0x125b51(0x1b6)),s[_0x125b51(0x16b)]('\x20\x20npm\x20run\x20plan:init')),t&&(t[_0x125b51(0x16a)](/^\.\/Agent\//)||t['match'](/^Agent\//))&&(i===_0x125b51(0x1b7)||i==='Edit')&&a[_0x125b51(0x1a5)](n)){let r=JSON[_0x125b51(0x198)](a['readFileSync'](n,_0x125b51(0x1b2)));if(!r[_0x125b51(0x16f)])s[_0x125b51(0x16b)]('BLOCKED:\x20No\x20active\x20task'),s[_0x125b51(0x16b)](_0x125b51(0x184)+c),s[_0x125b51(0x16b)](_0x125b51(0x191)+e['basename'](t)),s[_0x125b51(0x16b)]('Start\x20a\x20task\x20first:'),s[_0x125b51(0x16b)]('\x20\x20npm\x20run\x20task:start\x20TASK-XXX');else{let p=e['join'](o,_0x125b51(0x182),r[_0x125b51(0x16f)]+_0x125b51(0x189));if(a['existsSync'](p)){let u=JSON[_0x125b51(0x198)](a[_0x125b51(0x1a3)](p,'utf8'));u['status']!==_0x125b51(0x1ab)&&(s['push'](_0x125b51(0x196)),s[_0x125b51(0x16b)]('Plan:\x20'+c),s[_0x125b51(0x16b)](_0x125b51(0x16d)+r[_0x125b51(0x16f)]+'\x20['+u[_0x125b51(0x19d)]+']'),s['push'](_0x125b51(0x16c)),s['push'](_0x125b51(0x173)+r[_0x125b51(0x16f)]));}}}t&&t[_0x125b51(0x16a)](/\.claude\/plans\/[^/]+\/tasks\/TASK-\d{3}\.json$/)&&(i===_0x125b51(0x176)||i===_0x125b51(0x1b7))&&(s[_0x125b51(0x16b)](_0x125b51(0x180)),s[_0x125b51(0x16b)]('File:\x20'+e[_0x125b51(0x19f)](t)),s['push'](_0x125b51(0x190)),s[_0x125b51(0x16b)](_0x125b51(0x1ac)),s[_0x125b51(0x16b)]('\x20\x20npm\x20run\x20task:done\x20TASK-XXX'));}else t&&(t[_0x125b51(0x16a)](/^\.\/Agent\//)||t[_0x125b51(0x16a)](/^Agent\//))&&(i==='Write'||i===_0x125b51(0x176))&&(s[_0x125b51(0x16b)](_0x125b51(0x16e)),s['push'](_0x125b51(0x191)+e[_0x125b51(0x19f)](t)),s['push']('Set\x20active\x20plan\x20first:'),s[_0x125b51(0x16b)](_0x125b51(0x197)));s[_0x125b51(0x179)]>0x0&&(console[_0x125b51(0x18a)]('\x0a❌\x20STRUCTURED\x20DEVELOPMENT\x20ENFORCEMENT\x20FAILED\x0a'),s[_0x125b51(0x1b4)](_0x9c6cc3=>console[_0x125b51(0x18a)]('\x20\x20'+_0x9c6cc3)),console[_0x125b51(0x18a)]('\x0a'),process[_0x125b51(0x17b)](0x2)),f[_0x125b51(0x179)]>0x0&&(console[_0x125b51(0x19e)](_0x125b51(0x1bb)),f[_0x125b51(0x1b4)](_0x35a716=>console[_0x125b51(0x19e)]('\x20\x20'+_0x35a716)),console['warn']('\x0a')),process['exit'](0x0);function _0x222a(_0x340df6,_0x35e2df){_0x340df6=_0x340df6-0x165;const _0x3ac85a=_0x3045();let _0x100076=_0x3ac85a[_0x340df6];return _0x100076;}function _0x3045(){const _0x17ea4c=['xhGjV','argv','includes','RGAFk','Use\x20task\x20management\x20commands:','Modifying:\x20','file_path','AbLir','EvYum','join','BLOCKED:\x20Active\x20task\x20is\x20not\x20in_progress\x20state','\x20\x20npm\x20run\x20plan:manager','parse','TASK-TRACKER.json','IVMcR','.claude/plans','toString','status','warn','basename','constructor','23350gjSrAj','tool_input','readFileSync','path','existsSync','14urKkjT','28286005CQisAk','qBHYr','Tckqx','Start\x20a\x20task\x20first:','in_progress','\x20\x20npm\x20run\x20task:start\x20TASK-XXX','6606jToVOK','Dynamic\x20require\x20of\x20\x22','PROJECT-PLAN.json','QvenF','5318704ssoOXj','utf8','1031090nxIRoK','forEach','tool','Initialize\x20task\x20tracker\x20first:','Write','search','1690JYKyLv','GpIat','\x0a⚠️\x20\x20STRUCTURED\x20DEVELOPMENT\x20WARNINGS\x0a','THDIT','4904748bbCWUB','To\x20make\x20changes,\x20use\x20the\x20amendment\x20tool:','BLOCKED:\x20Project\x20plan\x20is\x20locked\x20but\x20task\x20tracker\x20is\x20missing','wCXiL','match','push','Start\x20the\x20task:','Task:\x20','BLOCKED:\x20No\x20active\x20plan\x20found','activeTask','UESYb','.plan-locked','ZtNZp','\x20\x20npm\x20run\x20task:start\x20','SDfuc','apply','Edit','6065624mCTozS','wKwxv','length','qfmeM','exit','5gZVDIj','GKXDl','\x20\x20npm\x20run\x20plan:amend','zuLHv','BLOCKED:\x20Task\x20files\x20are\x20read-only','BLOCKED:\x20No\x20active\x20task','tasks','pjKEg','Plan:\x20','anZyb','cHbpB','450OkOkiT','.claude/ACTIVE-PLAN','.json','error','(((.+)+)+)+$'];_0x3045=function(){return _0x17ea4c;};return _0x3045();}
2
+ const _0x36e287=_0x2494;(function(_0xc880d4,_0x539d82){const _0x4ba0bb=_0x2494,_0x303304=_0xc880d4();while(!![]){try{const _0x596c2d=parseInt(_0x4ba0bb(0xf7))/0x1*(parseInt(_0x4ba0bb(0xb3))/0x2)+parseInt(_0x4ba0bb(0xdb))/0x3+parseInt(_0x4ba0bb(0x103))/0x4+-parseInt(_0x4ba0bb(0xba))/0x5*(-parseInt(_0x4ba0bb(0xfe))/0x6)+parseInt(_0x4ba0bb(0xb7))/0x7*(-parseInt(_0x4ba0bb(0x104))/0x8)+parseInt(_0x4ba0bb(0xc7))/0x9+-parseInt(_0x4ba0bb(0xef))/0xa;if(_0x596c2d===_0x539d82)break;else _0x303304['push'](_0x303304['shift']());}catch(_0x55cacb){_0x303304['push'](_0x303304['shift']());}}}(_0x43c2,0xcabe3));const _0x50c0cf=(function(){const _0x24bdc9=_0x2494,_0x4f5c35={};_0x4f5c35[_0x24bdc9(0xc3)]=_0x24bdc9(0xc0),_0x4f5c35[_0x24bdc9(0xcd)]=_0x24bdc9(0xbc),_0x4f5c35['ejTMD']=function(_0x1f1d4b,_0x20cb2e){return _0x1f1d4b!==_0x20cb2e;},_0x4f5c35[_0x24bdc9(0xfc)]=function(_0x4bf914,_0x433aed){return _0x4bf914===_0x433aed;};const _0x229786=_0x4f5c35;let _0x3c520b=!![];return function(_0x204931,_0x444da4){const _0x5caa5c=_0x24bdc9,_0x59c0c1={'JWckG':_0x229786[_0x5caa5c(0xc3)],'hyMJA':_0x229786[_0x5caa5c(0xcd)],'fqsvy':_0x5caa5c(0xb2),'aCevt':'tasks','UlOXQ':function(_0x53fe56,_0x20a001){return _0x229786['ejTMD'](_0x53fe56,_0x20a001);},'vCQFS':_0x5caa5c(0x101),'svhUw':function(_0x3e8c08,_0x58f523){const _0xff5cfa=_0x5caa5c;return _0x229786[_0xff5cfa(0xfc)](_0x3e8c08,_0x58f523);}},_0x4a2822=_0x3c520b?function(){const _0x3d6d22=_0x5caa5c,_0x4cb09c={'xglpL':_0x59c0c1[_0x3d6d22(0xfb)],'CBIhs':_0x59c0c1['hyMJA'],'UCwqY':_0x3d6d22(0xc2),'Hdqev':_0x59c0c1[_0x3d6d22(0xe4)],'MODTm':_0x59c0c1[_0x3d6d22(0xc6)],'pQumg':function(_0x289413,_0x3d2fa3){const _0x430beb=_0x3d6d22;return _0x59c0c1[_0x430beb(0xdf)](_0x289413,_0x3d2fa3);},'kgheU':_0x59c0c1[_0x3d6d22(0xe9)],'lGarQ':_0x3d6d22(0xe8),'ssRBu':_0x3d6d22(0xc9)};if(_0x444da4){if(_0x59c0c1[_0x3d6d22(0xb6)]('xJpuc',_0x3d6d22(0xb0))){let _0x38ae16=_0x1c1c0e['parse'](_0x1fcd70[_0x3d6d22(0xd3)](_0x452f1b,_0x4cb09c[_0x3d6d22(0xf1)]));if(!_0x38ae16['activeTask'])_0x10a7a8[_0x3d6d22(0xf6)](_0x4cb09c[_0x3d6d22(0xed)]),_0x428228[_0x3d6d22(0xf6)](_0x3d6d22(0xb5)+_0x18ca9e),_0x274603[_0x3d6d22(0xf6)](_0x3d6d22(0xcb)+_0x29ebe1['basename'](_0x5f1cfc)),_0x47edbe[_0x3d6d22(0xf6)](_0x4cb09c[_0x3d6d22(0x102)]),_0x21fdb6[_0x3d6d22(0xf6)](_0x4cb09c[_0x3d6d22(0xd8)]);else{let _0x4a01e5=_0x5beb11[_0x3d6d22(0xff)](_0x4353cf,_0x4cb09c[_0x3d6d22(0xce)],_0x38ae16[_0x3d6d22(0xe7)]+'.json');if(_0x59c96a[_0x3d6d22(0xcc)](_0x4a01e5)){let _0x570000=_0x51671f['parse'](_0x2f7fba[_0x3d6d22(0xd3)](_0x4a01e5,_0x4cb09c[_0x3d6d22(0xf1)]));_0x4cb09c[_0x3d6d22(0xd2)](_0x570000[_0x3d6d22(0xf9)],_0x4cb09c[_0x3d6d22(0xfd)])&&(_0x1cd1c7['push'](_0x4cb09c[_0x3d6d22(0xde)]),_0x36f846[_0x3d6d22(0xf6)](_0x3d6d22(0xb5)+_0x3572dc),_0x44576d['push'](_0x3d6d22(0xdd)+_0x38ae16[_0x3d6d22(0xe7)]+'\x20['+_0x570000[_0x3d6d22(0xf9)]+']'),_0x51b8f7[_0x3d6d22(0xf6)](_0x4cb09c['ssRBu']),_0x16767e[_0x3d6d22(0xf6)](_0x3d6d22(0xe6)+_0x38ae16['activeTask']));}}}else{const _0x109c15=_0x444da4[_0x3d6d22(0xca)](_0x204931,arguments);return _0x444da4=null,_0x109c15;}}}:function(){};return _0x3c520b=![],_0x4a2822;};}()),_0x21a0c3=_0x50c0cf(this,function(){const _0x2e5d0e=_0x2494,_0x5e711d={};_0x5e711d[_0x2e5d0e(0xd0)]='(((.+)+)+)+$';const _0x2a6653=_0x5e711d;return _0x21a0c3['toString']()[_0x2e5d0e(0xd5)](_0x2a6653['JKbbi'])['toString']()[_0x2e5d0e(0xc5)](_0x21a0c3)['search'](_0x2a6653[_0x2e5d0e(0xd0)]);});_0x21a0c3();var h=(_0x3bce4a=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3bce4a,{'get':(_0x428caf,_0x2a882)=>(typeof require<'u'?require:_0x428caf)[_0x2a882]}):_0x3bce4a)(function(_0xcfd96){const _0x47eea7=_0x2494,_0x201142={'kcVHS':function(_0x541f51,_0x3d4778){return _0x541f51<_0x3d4778;},'AqauO':function(_0x4ea730,_0x46d4e3){return _0x4ea730(_0x46d4e3);},'kUnvy':function(_0x24ee90,_0x57494d){return _0x24ee90+_0x57494d;},'haFyr':function(_0x516883,_0x340108){return _0x516883+_0x340108;},'DCsHs':_0x47eea7(0x100)};if(_0x201142[_0x47eea7(0xf0)](typeof require,'u'))return require['apply'](this,arguments);throw _0x201142[_0x47eea7(0xd1)](Error,_0x201142[_0x47eea7(0xfa)](_0x201142[_0x47eea7(0xdc)](_0x201142['DCsHs'],_0xcfd96),_0x47eea7(0xf3)));}),a=h('fs'),e=h(_0x36e287(0xea)),E=process['argv'][0x2]||'{}',m=JSON['parse'](E),t=m[_0x36e287(0xeb)]?.[_0x36e287(0xc4)],i=m[_0x36e287(0xbe)],s=[],f=[],k=_0x36e287(0xf8),c=null,o=null;a['existsSync'](k)&&(c=a[_0x36e287(0xd3)](k,_0x36e287(0xc0))[_0x36e287(0xe0)](),o=e[_0x36e287(0xff)](_0x36e287(0xe3),c)),t&&t[_0x36e287(0xc1)](_0x36e287(0xb1))&&i===_0x36e287(0xb8)&&o&&a[_0x36e287(0xcc)](e['join'](o,_0x36e287(0xee)))&&(s[_0x36e287(0xf6)](_0x36e287(0xda)),s[_0x36e287(0xf6)](_0x36e287(0xb9)+e[_0x36e287(0xd4)](t)),s[_0x36e287(0xf6)](_0x36e287(0xd9)),s[_0x36e287(0xf6)](_0x36e287(0xf2)));function _0x43c2(){const _0x30a83e=['11418489MxSjJi','Use\x20task\x20management\x20commands:','Start\x20the\x20task:','apply','Modifying:\x20','existsSync','iQxxd','MODTm','match','JKbbi','AqauO','pQumg','readFileSync','basename','search','forEach','warn','Hdqev','To\x20make\x20changes,\x20use\x20the\x20amendment\x20tool:','BLOCKED:\x20Project\x20plan\x20is\x20LOCKED\x20and\x20immutable','565458DFNuvJ','haFyr','Task:\x20','lGarQ','UlOXQ','trim','.json','Write','.claude/plans','fqsvy','BLOCKED:\x20No\x20active\x20plan\x20found','\x20\x20npm\x20run\x20task:start\x20','activeTask','BLOCKED:\x20Active\x20task\x20is\x20not\x20in_progress\x20state','vCQFS','path','tool_input','error','CBIhs','.plan-locked','19730930hSFdMs','kcVHS','xglpL','\x20\x20npm\x20run\x20plan:amend','\x22\x20is\x20not\x20supported','exit','parse','push','165howgmT','.claude/ACTIVE-PLAN','status','kUnvy','JWckG','TXDTQ','kgheU','5652qUmhpb','join','Dynamic\x20require\x20of\x20\x22','in_progress','UCwqY','1764136jJwclx','33376KbVRGo','length','\x0a⚠️\x20\x20STRUCTURED\x20DEVELOPMENT\x20WARNINGS\x0a','HSDpI','PROJECT-PLAN.json','\x20\x20npm\x20run\x20task:start\x20TASK-XXX','2170WdkOCf','tasks','Plan:\x20','svhUw','490PkQfZR','Edit','File:\x20','5405PEMfWI','TASK-TRACKER.json','BLOCKED:\x20No\x20active\x20task','\x20\x20npm\x20run\x20task:done\x20TASK-XXX','tool','\x0a❌\x20STRUCTURED\x20DEVELOPMENT\x20ENFORCEMENT\x20FAILED\x0a','utf8','includes','Start\x20a\x20task\x20first:','ZOZHM','file_path','constructor','aCevt'];_0x43c2=function(){return _0x30a83e;};return _0x43c2();}function _0x2494(_0x194805,_0x5ee5df){_0x194805=_0x194805-0xae;const _0x3baf34=_0x43c2();let _0x21a0c3=_0x3baf34[_0x194805];return _0x21a0c3;}if(c&&o){let n=e[_0x36e287(0xff)](o,_0x36e287(0xbb)),l=e[_0x36e287(0xff)](o,_0x36e287(0xee));if(a['existsSync'](l)&&!a[_0x36e287(0xcc)](n)&&(s[_0x36e287(0xf6)]('BLOCKED:\x20Project\x20plan\x20is\x20locked\x20but\x20task\x20tracker\x20is\x20missing'),s[_0x36e287(0xf6)](_0x36e287(0xb5)+c),s[_0x36e287(0xf6)]('Initialize\x20task\x20tracker\x20first:'),s[_0x36e287(0xf6)]('\x20\x20npm\x20run\x20plan:init')),t&&(t[_0x36e287(0xcf)](/^\.\/Agent\//)||t[_0x36e287(0xcf)](/^Agent\//))&&(i==='Write'||i===_0x36e287(0xb8))&&a[_0x36e287(0xcc)](n)){let r=JSON['parse'](a[_0x36e287(0xd3)](n,_0x36e287(0xc0)));if(!r[_0x36e287(0xe7)])s[_0x36e287(0xf6)](_0x36e287(0xbc)),s[_0x36e287(0xf6)](_0x36e287(0xb5)+c),s['push']('Modifying:\x20'+e[_0x36e287(0xd4)](t)),s[_0x36e287(0xf6)](_0x36e287(0xc2)),s['push'](_0x36e287(0xb2));else{let p=e[_0x36e287(0xff)](o,_0x36e287(0xb4),r[_0x36e287(0xe7)]+_0x36e287(0xe1));if(a['existsSync'](p)){let u=JSON[_0x36e287(0xf5)](a[_0x36e287(0xd3)](p,_0x36e287(0xc0)));u[_0x36e287(0xf9)]!=='in_progress'&&(s[_0x36e287(0xf6)]('BLOCKED:\x20Active\x20task\x20is\x20not\x20in_progress\x20state'),s[_0x36e287(0xf6)](_0x36e287(0xb5)+c),s['push'](_0x36e287(0xdd)+r[_0x36e287(0xe7)]+'\x20['+u[_0x36e287(0xf9)]+']'),s[_0x36e287(0xf6)](_0x36e287(0xc9)),s[_0x36e287(0xf6)](_0x36e287(0xe6)+r[_0x36e287(0xe7)]));}}}t&&t[_0x36e287(0xcf)](/\.claude\/plans\/[^/]+\/tasks\/TASK-\d{3}\.json$/)&&(i==='Edit'||i===_0x36e287(0xe2))&&(s[_0x36e287(0xf6)]('BLOCKED:\x20Task\x20files\x20are\x20read-only'),s[_0x36e287(0xf6)](_0x36e287(0xb9)+e[_0x36e287(0xd4)](t)),s[_0x36e287(0xf6)](_0x36e287(0xc8)),s[_0x36e287(0xf6)](_0x36e287(0xb2)),s[_0x36e287(0xf6)](_0x36e287(0xbd)));}else t&&(t[_0x36e287(0xcf)](/^\.\/Agent\//)||t[_0x36e287(0xcf)](/^Agent\//))&&(i===_0x36e287(0xe2)||i==='Edit')&&(s[_0x36e287(0xf6)](_0x36e287(0xe5)),s[_0x36e287(0xf6)]('Modifying:\x20'+e[_0x36e287(0xd4)](t)),s['push']('Set\x20active\x20plan\x20first:'),s[_0x36e287(0xf6)]('\x20\x20npm\x20run\x20plan:manager'));s[_0x36e287(0xae)]>0x0&&(console[_0x36e287(0xec)](_0x36e287(0xbf)),s[_0x36e287(0xd6)](_0x6a339c=>console[_0x36e287(0xec)]('\x20\x20'+_0x6a339c)),console[_0x36e287(0xec)]('\x0a'),process[_0x36e287(0xf4)](0x2)),f[_0x36e287(0xae)]>0x0&&(console[_0x36e287(0xd7)](_0x36e287(0xaf)),f['forEach'](_0x5af1fb=>console['warn']('\x20\x20'+_0x5af1fb)),console[_0x36e287(0xd7)]('\x0a')),process[_0x36e287(0xf4)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function _0x5b3b(_0x5c479f,_0x31219d){_0x5c479f=_0x5c479f-0x101;const _0x8a9242=_0x2bcd();let _0x5e1035=_0x8a9242[_0x5c479f];return _0x5e1035;}const _0x1a6fc0=_0x5b3b;(function(_0x5ca247,_0x527b57){const _0x474a3e=_0x5b3b,_0x1205b9=_0x5ca247();while(!![]){try{const _0x21185f=-parseInt(_0x474a3e(0x15a))/0x1*(-parseInt(_0x474a3e(0x169))/0x2)+parseInt(_0x474a3e(0x128))/0x3*(parseInt(_0x474a3e(0x112))/0x4)+parseInt(_0x474a3e(0x110))/0x5*(-parseInt(_0x474a3e(0x11c))/0x6)+parseInt(_0x474a3e(0x125))/0x7*(parseInt(_0x474a3e(0x107))/0x8)+parseInt(_0x474a3e(0x10e))/0x9+parseInt(_0x474a3e(0x159))/0xa*(parseInt(_0x474a3e(0x146))/0xb)+parseInt(_0x474a3e(0x122))/0xc*(-parseInt(_0x474a3e(0x101))/0xd);if(_0x21185f===_0x527b57)break;else _0x1205b9['push'](_0x1205b9['shift']());}catch(_0x2f79d4){_0x1205b9['push'](_0x1205b9['shift']());}}}(_0x2bcd,0xec757));const _0x1b0009=(function(){const _0x4f874b=_0x5b3b,_0x4086d2={'XaRfh':_0x4f874b(0x104),'wvmqr':function(_0x353b11,_0x36d78f){return _0x353b11*_0x36d78f;},'qszLX':function(_0x8eeee0,_0x292c7f){return _0x8eeee0/_0x292c7f;},'OZptc':function(_0x37262f,_0x134723){return _0x37262f+_0x134723;},'AzCmU':function(_0x974aba,_0x5d94d5){return _0x974aba*_0x5d94d5;},'RgfVq':_0x4f874b(0x14b),'TKsFX':_0x4f874b(0x113),'YWckZ':'WARNING:\x20Inverted\x20test\x20pyramid\x20detected','xpobH':function(_0x451f16,_0x44eefc){return _0x451f16*_0x44eefc;},'gAmQO':function(_0x52201c,_0x111d9e,_0x24c778){return _0x52201c(_0x111d9e,_0x24c778);},'oWLPr':_0x4f874b(0x114),'zRSff':_0x4f874b(0x13c),'HIxNM':'CRITICAL:\x20UI\x20bugs\x20are\x20slipping\x20through!','gtBzk':_0x4f874b(0x14c),'AkJNQ':_0x4f874b(0x136),'iiZJR':_0x4f874b(0x12b),'DCRgH':function(_0xeb6421,_0x215960){return _0xeb6421!==_0x215960;},'BgfUz':_0x4f874b(0x106),'grjDM':function(_0xf9a49c,_0x150a99){return _0xf9a49c===_0x150a99;},'FXRup':_0x4f874b(0x16a),'bzKXB':_0x4f874b(0x156)};let _0x400d94=!![];return function(_0x5bd123,_0x4e5167){const _0x53e019=_0x400d94?function(){const _0x4b83ea=_0x5b3b,_0x28267c={'HPHhO':_0x4086d2[_0x4b83ea(0x121)],'JfpVR':function(_0x2f9cd7,_0x4bcb1f){const _0x1bf61b=_0x4b83ea;return _0x4086d2[_0x1bf61b(0x105)](_0x2f9cd7,_0x4bcb1f);},'dLhXR':function(_0x46f635,_0x15919f){return _0x4086d2['qszLX'](_0x46f635,_0x15919f);},'tXrpg':function(_0x2e97f7,_0x508fae){return _0x4086d2['OZptc'](_0x2e97f7,_0x508fae);},'vlHKZ':function(_0x4841fa,_0x2985f8){return _0x4841fa*_0x2985f8;},'zjThS':function(_0x1d1f56,_0x33af1f){const _0x4a5fc0=_0x4b83ea;return _0x4086d2[_0x4a5fc0(0x168)](_0x1d1f56,_0x33af1f);},'yYONm':function(_0x21bd52,_0x285833){return _0x21bd52===_0x285833;},'VXvRy':function(_0x14fb4b,_0x123b29){return _0x14fb4b>_0x123b29;},'gdvej':_0x4086d2[_0x4b83ea(0x150)],'UDwUf':_0x4086d2[_0x4b83ea(0x141)],'canbU':_0x4086d2[_0x4b83ea(0x152)],'VmwQm':function(_0x53e68b,_0x401b18){const _0x49f243=_0x4b83ea;return _0x4086d2[_0x49f243(0x162)](_0x53e68b,_0x401b18);},'epfWf':_0x4b83ea(0x124),'MvlmB':_0x4b83ea(0x102),'BbPTm':function(_0x5091d9,_0x134fa0,_0x62beba){return _0x4086d2['gAmQO'](_0x5091d9,_0x134fa0,_0x62beba);},'YVZOo':_0x4086d2[_0x4b83ea(0x16f)],'wrFzc':_0x4086d2['zRSff'],'rFWrl':function(_0x58bc83,_0x39e38e){return _0x58bc83(_0x39e38e);},'HTRfM':function(_0x1b6454,_0x14b872){return _0x1b6454>_0x14b872;},'tMCUJ':function(_0xee448f,_0x1facc7){const _0x154427=_0x4b83ea;return _0x4086d2[_0x154427(0x132)](_0xee448f,_0x1facc7);},'dvCzV':_0x4086d2[_0x4b83ea(0x10c)],'RwsPv':_0x4086d2[_0x4b83ea(0x142)],'jBanv':function(_0x13c350,_0x41ab92){return _0x13c350===_0x41ab92;},'INVft':_0x4086d2[_0x4b83ea(0x151)],'AjTUy':_0x4086d2[_0x4b83ea(0x115)]};if(_0x4086d2[_0x4b83ea(0x163)](_0x4086d2[_0x4b83ea(0x172)],_0x4086d2[_0x4b83ea(0x172)])){let _0x1ab690=_0x590093[_0x4b83ea(0x127)](_0x2adc4e,_0x28267c[_0x4b83ea(0x166)]);_0x5f4854+=(_0x1ab690['match'](/\b(it|test)\s*\(/g)||[])[_0x4b83ea(0x155)];}else{if(_0x4e5167){if(_0x4086d2[_0x4b83ea(0x170)](_0x4086d2[_0x4b83ea(0x15c)],_0x4086d2[_0x4b83ea(0x139)])){let _0x230402=_0x28267c[_0x4b83ea(0x10b)](_0x28267c[_0x4b83ea(0x10d)](_0x28267c['tXrpg'](_0x47899a,_0x41807d),_0x49b725),0x64),_0x2d5c58=_0x28267c[_0x4b83ea(0x129)](_0x2aa17a/_0x4244bd,0x64),_0x188aaf=_0x28267c[_0x4b83ea(0x126)](_0x28267c['dLhXR'](_0x2205dc,_0xcc66f),0x64);_0x4c946d['log']('\x0a📊\x20TEST\x20PYRAMID\x20ANALYSIS\x0a'),_0x2a7567[_0x4b83ea(0x116)](_0x4b83ea(0x145)+_0x28267c['tXrpg'](_0x1d2d1c,_0x4e0fc2)+'\x20('+_0x230402[_0x4b83ea(0x108)](0x1)+'%)'),_0x3a3ee1['log'](_0x4b83ea(0x14e)+_0x7c0880+'\x20('+_0x2d5c58[_0x4b83ea(0x108)](0x1)+'%)'),_0x10fb45[_0x4b83ea(0x116)](_0x4b83ea(0x12e)+_0x4bb1f2+'\x20('+_0x188aaf[_0x4b83ea(0x108)](0x1)+'%)'),_0x9f948[_0x4b83ea(0x116)](_0x4b83ea(0x12c)+_0x51020b+'\x0a'),_0x28267c[_0x4b83ea(0x15e)](_0x539f20,0x0)&&_0x28267c['VXvRy'](_0x16996e,0x0)&&(_0x38736c[_0x4b83ea(0x13e)](_0x28267c['gdvej']),_0x26939b['push'](_0x28267c[_0x4b83ea(0x16c)]),_0x413026[_0x4b83ea(0x13e)](_0x4b83ea(0x123))),_0x28267c[_0x4b83ea(0x154)](_0x3f685c,_0x366458)<_0x28267c[_0x4b83ea(0x10b)](_0x235dc3,0.5)&&(_0xb603e4[_0x4b83ea(0x13e)](_0x28267c[_0x4b83ea(0x138)]),_0x1876d2[_0x4b83ea(0x13e)](_0x4b83ea(0x171)+_0x230402[_0x4b83ea(0x108)](0x1)+'%'),_0x460a9c[_0x4b83ea(0x13e)](_0x4b83ea(0x11d))),_0x28267c[_0x4b83ea(0x11a)](_0x5235ca,_0x28267c['VmwQm'](_0x203184,0.3))&&(_0x4c1014[_0x4b83ea(0x13e)](_0x28267c[_0x4b83ea(0x164)]),_0x3af128[_0x4b83ea(0x13e)](_0x28267c['MvlmB']));try{let _0x185cf8=_0x28267c['BbPTm'](_0x587423,_0x28267c[_0x4b83ea(0x161)],{'encoding':_0x28267c['HPHhO'],'stdio':[_0x28267c[_0x4b83ea(0x15b)],_0x4b83ea(0x13c),_0x4b83ea(0x103)]})[_0x4b83ea(0x165)](),_0xf969d7=_0x28267c[_0x4b83ea(0x119)](_0x722c69,_0x185cf8)||0x0;if(_0x28267c[_0x4b83ea(0x131)](_0xf969d7,0x0)){let _0x1d03f5=_0x28267c[_0x4b83ea(0x137)](_0x32973d,_0xf969d7);_0x1d03f5<0.5&&(_0x4a6542[_0x4b83ea(0x13e)]('WARNING:\x20'+_0xf969d7+_0x4b83ea(0x157)+_0x29dd66+'\x20component\x20tests'),_0xf8a5fe['push'](_0x4b83ea(0x14f)+_0x28267c['JfpVR'](_0x1d03f5,0x64)[_0x4b83ea(0x108)](0x1)+'%'),_0xa169f8[_0x4b83ea(0x13e)](_0x28267c[_0x4b83ea(0x144)]),_0x7e249a[_0x4b83ea(0x13e)](_0x28267c['RwsPv'])),_0x28267c[_0x4b83ea(0x158)](_0x4c67e9,0x0)&&_0x28267c[_0x4b83ea(0x131)](_0xf969d7,0x5)&&(_0x55433d[_0x4b83ea(0x13e)](_0x28267c[_0x4b83ea(0x14a)]),_0x12c6eb['push'](_0x28267c[_0x4b83ea(0x11b)]));}}catch{}}else{const _0x37a5a7=_0x4e5167[_0x4b83ea(0x149)](_0x5bd123,arguments);return _0x4e5167=null,_0x37a5a7;}}}}:function(){};return _0x400d94=![],_0x53e019;};}()),_0x5e1035=_0x1b0009(this,function(){const _0x456175=_0x5b3b,_0x48728c={};_0x48728c[_0x456175(0x130)]='(((.+)+)+)+$';const _0x1db732=_0x48728c;return _0x5e1035[_0x456175(0x143)]()[_0x456175(0x109)](_0x1db732[_0x456175(0x130)])[_0x456175(0x143)]()[_0x456175(0x120)](_0x5e1035)[_0x456175(0x109)](_0x456175(0x140));});_0x5e1035();var g=(_0x2f8bc9=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2f8bc9,{'get':(_0x1f76a9,_0x502afd)=>(typeof require<'u'?require:_0x1f76a9)[_0x502afd]}):_0x2f8bc9)(function(_0x5b40b1){const _0x4034da=_0x5b3b,_0xdfcc1f={'nkJAr':function(_0x39e0fb,_0x1f70af){return _0x39e0fb<_0x1f70af;},'ciWKX':function(_0x3593c8,_0x22808c){return _0x3593c8(_0x22808c);},'eRAZx':function(_0x4a732d,_0x1fe11d){return _0x4a732d+_0x1fe11d;},'GNkTP':_0x4034da(0x15d),'BAHJg':'\x22\x20is\x20not\x20supported'};if(_0xdfcc1f[_0x4034da(0x16e)](typeof require,'u'))return require['apply'](this,arguments);throw _0xdfcc1f['ciWKX'](Error,_0xdfcc1f[_0x4034da(0x12a)](_0xdfcc1f['GNkTP'],_0x5b40b1)+_0xdfcc1f['BAHJg']);}),c=g('fs'),E=g('path'),{execSync:f}=g(_0x1a6fc0(0x13f)),h=process['argv'][0x2]||'{}',I=JSON[_0x1a6fc0(0x15f)](h),T=I[_0x1a6fc0(0x111)]?.[_0x1a6fc0(0x11f)]||'';T[_0x1a6fc0(0x11e)](/npm\s+(run\s+)?test|jest|vitest/)||process[_0x1a6fc0(0x13a)](0x0);var d=[],t=[],r=0x0,m=0x0,p=0x0,i=0x0;try{const _0x53a0c6={};_0x53a0c6[_0x1a6fc0(0x135)]=_0x1a6fc0(0x104),_0x53a0c6[_0x1a6fc0(0x13b)]=[_0x1a6fc0(0x13c),_0x1a6fc0(0x13c),_0x1a6fc0(0x103)];let e=f(_0x1a6fc0(0x10a),_0x53a0c6)['trim']()[_0x1a6fc0(0x16b)]('\x0a')[_0x1a6fc0(0x148)](Boolean);for(let n of e)if(c[_0x1a6fc0(0x153)](n)){let o=c['readFileSync'](n,_0x1a6fc0(0x104)),u=(o[_0x1a6fc0(0x11e)](/\b(it|test)\s*\(/g)||[])['length'];o[_0x1a6fc0(0x11e)](/render\(|mount\(|screen\.|fireEvent\./)?i+=u:r+=u;}const _0x3131d1={};_0x3131d1[_0x1a6fc0(0x135)]=_0x1a6fc0(0x104),_0x3131d1[_0x1a6fc0(0x13b)]=['pipe',_0x1a6fc0(0x13c),_0x1a6fc0(0x103)];let l=f(_0x1a6fc0(0x16d),_0x3131d1)['trim']()[_0x1a6fc0(0x16b)]('\x0a')[_0x1a6fc0(0x148)](Boolean);for(let n of l)if(c[_0x1a6fc0(0x153)](n)){let o=c[_0x1a6fc0(0x127)](n,_0x1a6fc0(0x104));m+=(o[_0x1a6fc0(0x11e)](/\b(it|test)\s*\(/g)||[])[_0x1a6fc0(0x155)];}const _0x5c65bf={};_0x5c65bf[_0x1a6fc0(0x135)]='utf8',_0x5c65bf['stdio']=[_0x1a6fc0(0x13c),_0x1a6fc0(0x13c),_0x1a6fc0(0x103)];let a=f(_0x1a6fc0(0x13d),_0x5c65bf)[_0x1a6fc0(0x165)]()[_0x1a6fc0(0x16b)]('\x0a')[_0x1a6fc0(0x148)](Boolean);for(let n of a)if(c[_0x1a6fc0(0x153)](n)){let o=c[_0x1a6fc0(0x127)](n,_0x1a6fc0(0x104));p+=(o['match'](/\b(it|test)\s*\(/g)||[])['length'];}}catch{process[_0x1a6fc0(0x13a)](0x0);}function _0x2bcd(){const _0x150e25=['Dynamic\x20require\x20of\x20\x22','yYONm','parse','WARNING:\x20','YVZOo','xpobH','DCRgH','epfWf','trim','HPHhO','error','AzCmU','160vhzuIK','bxYqw','split','UDwUf','find\x20./tests\x20-path\x20\x22*/integration/*\x22\x20-name\x20\x22*.test.*\x22\x20-o\x20-path\x20\x22*/integration/*\x22\x20-name\x20\x22*.spec.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','nkJAr','oWLPr','grjDM','Unit/Component\x20tests\x20should\x20be\x2060-80%\x20of\x20total,\x20currently\x20','BgfUz','13elLpAW','E2E\x20tests\x20are\x20slow\x20and\x20brittle,\x20use\x20integration\x20tests\x20instead','ignore','utf8','wvmqr','mdAJN','14865512UFjIIc','toFixed','search','find\x20./tests\x20-name\x20\x22*.test.*\x22\x20-o\x20-name\x20\x22*.spec.*\x22\x202>/dev/null\x20|\x20grep\x20-v\x20-E\x20\x22(integration|e2e|component)\x22\x20||\x20echo\x20\x22\x22','JfpVR','HIxNM','dLhXR','17254584EKwHKu','\x20component\x20tests','2793415vQyEFu','tool_input','6095236IsAdDG','Add\x20component\x20tests\x20for\x20React/Vue/etc.\x20components','find\x20./src\x20-name\x20\x22*.tsx\x22\x20-o\x20-name\x20\x22*.jsx\x22\x202>/dev/null\x20|\x20wc\x20-l','iiZJR','log','forEach','\x0a❌\x20TEST\x20PYRAMID\x20VALIDATION\x20FAILED\x0a','rFWrl','VXvRy','AjTUy','6EFLDZi','Add\x20more\x20unit\x20and\x20component\x20tests','match','command','constructor','XaRfh','70566972mzYtES','UI\x20bugs\x20are\x20not\x20caught\x20by\x20API-only\x20tests!','WARNING:\x20Too\x20many\x20E2E\x20tests\x20(>30%\x20of\x20total)','7hGcfbm','zjThS','readFileSync','3BoNZzy','vlHKZ','eRAZx','Add\x20E2E\x20tests\x20to\x20validate\x20complete\x20user\x20flows','\x20\x20Total:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x0a📊\x20TEST\x20PYRAMID\x20ANALYSIS\x0a','\x20\x20E2E\x20Tests:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','warn','XvkwD','HTRfM','qszLX','CRITICAL:\x20UI\x20bugs\x20are\x20slipping\x20through!','\x0a⚠️\x20\x20TEST\x20PYRAMID\x20WARNINGS\x0a','encoding','WARNING:\x20Multiple\x20UI\x20components\x20but\x20NO\x20E2E\x20integration\x20tests','tMCUJ','canbU','bzKXB','exit','stdio','pipe','find\x20./e2e\x20-name\x20\x22*.spec.*\x22\x20-o\x20find\x20./cypress\x20-name\x20\x22*.cy.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','push','child_process','(((.+)+)+)+$','TKsFX','gtBzk','toString','dvCzV','\x20\x20Unit/Component\x20Tests:\x20','32263qoEphz','Create\x20tests\x20before\x20claiming\x20functionality\x20works','filter','apply','INVft','WARNING:\x20Only\x20backend\x20unit\x20tests\x20found,\x20NO\x20UI\x20component\x20tests','Every\x20UI\x20component\x20should\x20have\x20component\x20tests','WARNING:\x20Inverted\x20test\x20pyramid\x20detected','\x20\x20Integration\x20Tests:\x20\x20\x20\x20','Component\x20test\x20coverage:\x20','RgfVq','AkJNQ','YWckZ','existsSync','tXrpg','length','PcUkz','\x20UI\x20components\x20but\x20only\x20','jBanv','2050bRNppn','18842kaodgQ','wrFzc','FXRup'];_0x2bcd=function(){return _0x150e25;};return _0x2bcd();}var s=r+m+p+i;s===0x0&&(d['push']('BLOCKED:\x20No\x20tests\x20found\x20in\x20the\x20project'),d[_0x1a6fc0(0x13e)](_0x1a6fc0(0x147)));if(s>0x0){let e=(r+i)/s*0x64,l=m/s*0x64,a=p/s*0x64;console['log'](_0x1a6fc0(0x12d)),console[_0x1a6fc0(0x116)](_0x1a6fc0(0x145)+(r+i)+'\x20('+e[_0x1a6fc0(0x108)](0x1)+'%)'),console[_0x1a6fc0(0x116)]('\x20\x20Integration\x20Tests:\x20\x20\x20\x20'+m+'\x20('+l[_0x1a6fc0(0x108)](0x1)+'%)'),console['log'](_0x1a6fc0(0x12e)+p+'\x20('+a[_0x1a6fc0(0x108)](0x1)+'%)'),console['log']('\x20\x20Total:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+s+'\x0a'),i===0x0&&r>0x0&&(t[_0x1a6fc0(0x13e)]('WARNING:\x20Only\x20backend\x20unit\x20tests\x20found,\x20NO\x20UI\x20component\x20tests'),t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x113)),t['push'](_0x1a6fc0(0x123))),r+i<s*0.5&&(t['push'](_0x1a6fc0(0x14d)),t[_0x1a6fc0(0x13e)]('Unit/Component\x20tests\x20should\x20be\x2060-80%\x20of\x20total,\x20currently\x20'+e['toFixed'](0x1)+'%'),t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x11d))),p>s*0.3&&(t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x124)),t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x102)));try{const _0x30a6fe={};_0x30a6fe['encoding']='utf8',_0x30a6fe[_0x1a6fc0(0x13b)]=[_0x1a6fc0(0x13c),'pipe',_0x1a6fc0(0x103)];let n=f(_0x1a6fc0(0x114),_0x30a6fe)['trim'](),o=parseInt(n)||0x0;if(o>0x0){let u=i/o;u<0.5&&(t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x160)+o+_0x1a6fc0(0x157)+i+_0x1a6fc0(0x10f)),t['push']('Component\x20test\x20coverage:\x20'+(u*0x64)[_0x1a6fc0(0x108)](0x1)+'%'),t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x133)),t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x14c))),p===0x0&&o>0x5&&(t[_0x1a6fc0(0x13e)]('WARNING:\x20Multiple\x20UI\x20components\x20but\x20NO\x20E2E\x20integration\x20tests'),t[_0x1a6fc0(0x13e)](_0x1a6fc0(0x12b)));}}catch{}}d[_0x1a6fc0(0x155)]>0x0&&(console[_0x1a6fc0(0x167)](_0x1a6fc0(0x118)),d[_0x1a6fc0(0x117)](_0x52e80f=>console[_0x1a6fc0(0x167)]('\x20\x20'+_0x52e80f)),console['error']('\x0a'),process[_0x1a6fc0(0x13a)](0x2)),t[_0x1a6fc0(0x155)]>0x0&&(console[_0x1a6fc0(0x12f)](_0x1a6fc0(0x134)),t[_0x1a6fc0(0x117)](_0x3b1f77=>console[_0x1a6fc0(0x12f)]('\x20\x20'+_0x3b1f77)),console['warn']('\x0a')),process[_0x1a6fc0(0x13a)](0x0);
2
+ function _0x56eb(){const _0x553e3a=['utf8','rszyj','CUHUS','split','\x20component\x20tests','pipe','filter','RXZHO','(((.+)+)+)+$','RraaF','log','Unit/Component\x20tests\x20should\x20be\x2060-80%\x20of\x20total,\x20currently\x20','length','Add\x20more\x20unit\x20and\x20component\x20tests','MYnnZ','forEach','PVhRv','4590erLPKg','JNrLE','814112GiQdUx','push','dmSnx','\x0a❌\x20TEST\x20PYRAMID\x20VALIDATION\x20FAILED\x0a','ggKgy','Dynamic\x20require\x20of\x20\x22','trim','PYAak','60mpHhdX','2955435vzkEWZ','search','\x20\x20E2E\x20Tests:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','\x0a⚠️\x20\x20TEST\x20PYRAMID\x20WARNINGS\x0a','WARNING:\x20Inverted\x20test\x20pyramid\x20detected','nyOJA','WARNING:\x20Too\x20many\x20E2E\x20tests\x20(>30%\x20of\x20total)','toString','tOqJG','10Hklsib','encoding','1421799JRxhZM','14832603tblXKq','Create\x20tests\x20before\x20claiming\x20functionality\x20works','warn','UI\x20bugs\x20are\x20not\x20caught\x20by\x20API-only\x20tests!','Component\x20test\x20coverage:\x20','exit','find\x20./tests\x20-name\x20\x22*.test.*\x22\x20-o\x20-name\x20\x22*.spec.*\x22\x202>/dev/null\x20|\x20grep\x20-v\x20-E\x20\x22(integration|e2e|component)\x22\x20||\x20echo\x20\x22\x22','gaDes','apply','3711336cTICLR','\x0a📊\x20TEST\x20PYRAMID\x20ANALYSIS\x0a','toFixed','FDLvV','Every\x20UI\x20component\x20should\x20have\x20component\x20tests','readFileSync','WARNING:\x20','YbCrg','dqPVS','JIRir','\x20\x20Integration\x20Tests:\x20\x20\x20\x20','error','match','existsSync','find\x20./e2e\x20-name\x20\x22*.spec.*\x22\x20-o\x20find\x20./cypress\x20-name\x20\x22*.cy.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','\x20\x20Unit/Component\x20Tests:\x20','FDcqk','LoniX','lCRzu','stdio','CZuxx','path','WARNING:\x20Only\x20backend\x20unit\x20tests\x20found,\x20NO\x20UI\x20component\x20tests','BLOCKED:\x20No\x20tests\x20found\x20in\x20the\x20project','ignore','constructor','1259352CBTVGK'];_0x56eb=function(){return _0x553e3a;};return _0x56eb();}const _0x2a40c0=_0x1f01;(function(_0x544f61,_0x22ff52){const _0x3c023d=_0x1f01,_0x916372=_0x544f61();while(!![]){try{const _0x4d564d=-parseInt(_0x3c023d(0x171))/0x1*(-parseInt(_0x3c023d(0x167))/0x2)+-parseInt(_0x3c023d(0x17d))/0x3+parseInt(_0x3c023d(0x155))/0x4*(-parseInt(_0x3c023d(0x17b))/0x5)+-parseInt(_0x3c023d(0x187))/0x6+parseInt(_0x3c023d(0x172))/0x7+-parseInt(_0x3c023d(0x169))/0x8+parseInt(_0x3c023d(0x17e))/0x9;if(_0x4d564d===_0x22ff52)break;else _0x916372['push'](_0x916372['shift']());}catch(_0x40f299){_0x916372['push'](_0x916372['shift']());}}}(_0x56eb,0x5dc2b));const _0x5e9c15=(function(){const _0x17fb8d=_0x1f01,_0x5ea36f={};_0x5ea36f[_0x17fb8d(0x166)]=function(_0x3e4784,_0x4c003e){return _0x3e4784+_0x4c003e;},_0x5ea36f[_0x17fb8d(0x15f)]=function(_0x6afc1e,_0x1ac696){return _0x6afc1e+_0x1ac696;},_0x5ea36f[_0x17fb8d(0x197)]=_0x17fb8d(0x16e),_0x5ea36f['NoecD']='\x22\x20is\x20not\x20supported',_0x5ea36f[_0x17fb8d(0x190)]=function(_0x3a5010,_0x4f8dc9){return _0x3a5010!==_0x4f8dc9;},_0x5ea36f[_0x17fb8d(0x18f)]=_0x17fb8d(0x164),_0x5ea36f[_0x17fb8d(0x18a)]=function(_0xed11b2,_0xb0f86e){return _0xed11b2===_0xb0f86e;},_0x5ea36f[_0x17fb8d(0x199)]=_0x17fb8d(0x17a),_0x5ea36f[_0x17fb8d(0x15d)]=_0x17fb8d(0x16d);const _0x9fb931=_0x5ea36f;let _0x1410ad=!![];return function(_0x5b4dc7,_0xb00ffd){const _0x4fd3bd=_0x17fb8d,_0x6dc933={};_0x6dc933[_0x4fd3bd(0x198)]='(((.+)+)+)+$';const _0x4b55ef=_0x6dc933;if(_0x9fb931['FDLvV'](_0x9fb931[_0x4fd3bd(0x199)],_0x9fb931[_0x4fd3bd(0x15d)]))return _0x6e9a2b[_0x4fd3bd(0x179)]()[_0x4fd3bd(0x173)]('(((.+)+)+)+$')[_0x4fd3bd(0x179)]()[_0x4fd3bd(0x154)](_0x2d23d0)[_0x4fd3bd(0x173)](_0x4b55ef[_0x4fd3bd(0x198)]);else{const _0x36e756=_0x1410ad?function(){const _0x1249d6=_0x4fd3bd,_0x4b65e1={'gaDes':function(_0x5a9fd2,_0x5a1667){return _0x5a9fd2<_0x5a1667;},'PYAak':function(_0x51e82a,_0x53b528){return _0x51e82a(_0x53b528);},'wpxSt':function(_0x2fce5c,_0x497001){const _0x26ad4b=_0x1f01;return _0x9fb931[_0x26ad4b(0x166)](_0x2fce5c,_0x497001);},'nyOJA':function(_0x320d87,_0x35d2ee){const _0x5b4a88=_0x1f01;return _0x9fb931[_0x5b4a88(0x15f)](_0x320d87,_0x35d2ee);},'xeokt':_0x9fb931[_0x1249d6(0x197)],'JNrLE':_0x9fb931['NoecD']};if(_0xb00ffd){if(_0x9fb931[_0x1249d6(0x190)](_0x9fb931[_0x1249d6(0x18f)],_0x1249d6(0x164))){if(_0x4b65e1[_0x1249d6(0x185)](typeof _0x31f3c6,'u'))return _0x16ce69[_0x1249d6(0x186)](this,arguments);throw _0x4b65e1[_0x1249d6(0x170)](_0x310868,_0x4b65e1['wpxSt'](_0x4b65e1[_0x1249d6(0x177)](_0x4b65e1['xeokt'],_0x2fa764),_0x4b65e1[_0x1249d6(0x168)]));}else{const _0x20dcb9=_0xb00ffd[_0x1249d6(0x186)](_0x5b4dc7,arguments);return _0xb00ffd=null,_0x20dcb9;}}}:function(){};return _0x1410ad=![],_0x36e756;}};}()),_0x2a8289=_0x5e9c15(this,function(){const _0x7bdcf6=_0x1f01,_0x662f26={};_0x662f26[_0x7bdcf6(0x18e)]=_0x7bdcf6(0x15e);const _0x734a8a=_0x662f26;return _0x2a8289[_0x7bdcf6(0x179)]()[_0x7bdcf6(0x173)](_0x734a8a['YbCrg'])['toString']()[_0x7bdcf6(0x154)](_0x2a8289)[_0x7bdcf6(0x173)](_0x734a8a[_0x7bdcf6(0x18e)]);});function _0x1f01(_0x3fc4ee,_0x5b517b){_0x3fc4ee=_0x3fc4ee-0x150;const _0x428caa=_0x56eb();let _0x2a8289=_0x428caa[_0x3fc4ee];return _0x2a8289;}_0x2a8289();var g=(_0x1317e1=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1317e1,{'get':(_0x2c44de,_0x33dfb9)=>(typeof require<'u'?require:_0x2c44de)[_0x33dfb9]}):_0x1317e1)(function(_0x48c1bd){const _0x40900f=_0x1f01,_0x4c40a2={'CUHUS':function(_0x97f9c5,_0x1cee3e){return _0x97f9c5<_0x1cee3e;},'CZuxx':function(_0xdd7de3,_0x46f892){return _0xdd7de3(_0x46f892);},'dmSnx':_0x40900f(0x16e),'rszyj':'\x22\x20is\x20not\x20supported'};if(_0x4c40a2[_0x40900f(0x158)](typeof require,'u'))return require['apply'](this,arguments);throw _0x4c40a2[_0x40900f(0x19b)](Error,_0x4c40a2[_0x40900f(0x16b)]+_0x48c1bd+_0x4c40a2[_0x40900f(0x157)]);}),c=g('fs'),E=g(_0x2a40c0(0x150)),{execSync:f}=g('child_process'),h=process['argv'][0x2]||'{}',I=JSON['parse'](h),T=I['tool_input']?.['command']||'';T[_0x2a40c0(0x193)](/npm\s+(run\s+)?test|jest|vitest/)||process['exit'](0x0);var d=[],t=[],r=0x0,m=0x0,p=0x0,i=0x0;try{const _0x33d6ec={};_0x33d6ec[_0x2a40c0(0x17c)]=_0x2a40c0(0x156),_0x33d6ec['stdio']=['pipe','pipe',_0x2a40c0(0x153)];let e=f(_0x2a40c0(0x184),_0x33d6ec)[_0x2a40c0(0x16f)]()[_0x2a40c0(0x159)]('\x0a')['filter'](Boolean);for(let n of e)if(c[_0x2a40c0(0x194)](n)){let o=c[_0x2a40c0(0x18c)](n,_0x2a40c0(0x156)),u=(o[_0x2a40c0(0x193)](/\b(it|test)\s*\(/g)||[])['length'];o[_0x2a40c0(0x193)](/render\(|mount\(|screen\.|fireEvent\./)?i+=u:r+=u;}const _0x4c6382={};_0x4c6382[_0x2a40c0(0x17c)]=_0x2a40c0(0x156),_0x4c6382[_0x2a40c0(0x19a)]=['pipe','pipe',_0x2a40c0(0x153)];let l=f('find\x20./tests\x20-path\x20\x22*/integration/*\x22\x20-name\x20\x22*.test.*\x22\x20-o\x20-path\x20\x22*/integration/*\x22\x20-name\x20\x22*.spec.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22',_0x4c6382)[_0x2a40c0(0x16f)]()[_0x2a40c0(0x159)]('\x0a')[_0x2a40c0(0x15c)](Boolean);for(let n of l)if(c[_0x2a40c0(0x194)](n)){let o=c[_0x2a40c0(0x18c)](n,'utf8');m+=(o[_0x2a40c0(0x193)](/\b(it|test)\s*\(/g)||[])[_0x2a40c0(0x162)];}const _0x1c5202={};_0x1c5202[_0x2a40c0(0x17c)]=_0x2a40c0(0x156),_0x1c5202['stdio']=[_0x2a40c0(0x15b),'pipe',_0x2a40c0(0x153)];let a=f(_0x2a40c0(0x195),_0x1c5202)[_0x2a40c0(0x16f)]()[_0x2a40c0(0x159)]('\x0a')[_0x2a40c0(0x15c)](Boolean);for(let n of a)if(c[_0x2a40c0(0x194)](n)){let o=c['readFileSync'](n,'utf8');p+=(o['match'](/\b(it|test)\s*\(/g)||[])[_0x2a40c0(0x162)];}}catch{process['exit'](0x0);}var s=r+m+p+i;s===0x0&&(d[_0x2a40c0(0x16a)](_0x2a40c0(0x152)),d[_0x2a40c0(0x16a)](_0x2a40c0(0x17f)));if(s>0x0){let e=(r+i)/s*0x64,l=m/s*0x64,a=p/s*0x64;console[_0x2a40c0(0x160)](_0x2a40c0(0x188)),console[_0x2a40c0(0x160)](_0x2a40c0(0x196)+(r+i)+'\x20('+e['toFixed'](0x1)+'%)'),console[_0x2a40c0(0x160)](_0x2a40c0(0x191)+m+'\x20('+l[_0x2a40c0(0x189)](0x1)+'%)'),console[_0x2a40c0(0x160)](_0x2a40c0(0x174)+p+'\x20('+a[_0x2a40c0(0x189)](0x1)+'%)'),console[_0x2a40c0(0x160)]('\x20\x20Total:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+s+'\x0a'),i===0x0&&r>0x0&&(t[_0x2a40c0(0x16a)](_0x2a40c0(0x151)),t[_0x2a40c0(0x16a)]('Add\x20component\x20tests\x20for\x20React/Vue/etc.\x20components'),t[_0x2a40c0(0x16a)](_0x2a40c0(0x181))),r+i<s*0.5&&(t[_0x2a40c0(0x16a)](_0x2a40c0(0x176)),t[_0x2a40c0(0x16a)](_0x2a40c0(0x161)+e[_0x2a40c0(0x189)](0x1)+'%'),t['push'](_0x2a40c0(0x163))),p>s*0.3&&(t[_0x2a40c0(0x16a)](_0x2a40c0(0x178)),t[_0x2a40c0(0x16a)]('E2E\x20tests\x20are\x20slow\x20and\x20brittle,\x20use\x20integration\x20tests\x20instead'));try{const _0x229208={};_0x229208[_0x2a40c0(0x17c)]='utf8',_0x229208[_0x2a40c0(0x19a)]=['pipe','pipe',_0x2a40c0(0x153)];let n=f('find\x20./src\x20-name\x20\x22*.tsx\x22\x20-o\x20-name\x20\x22*.jsx\x22\x202>/dev/null\x20|\x20wc\x20-l',_0x229208)[_0x2a40c0(0x16f)](),o=parseInt(n)||0x0;if(o>0x0){let u=i/o;u<0.5&&(t[_0x2a40c0(0x16a)](_0x2a40c0(0x18d)+o+'\x20UI\x20components\x20but\x20only\x20'+i+_0x2a40c0(0x15a)),t[_0x2a40c0(0x16a)](_0x2a40c0(0x182)+(u*0x64)[_0x2a40c0(0x189)](0x1)+'%'),t[_0x2a40c0(0x16a)]('CRITICAL:\x20UI\x20bugs\x20are\x20slipping\x20through!'),t[_0x2a40c0(0x16a)](_0x2a40c0(0x18b))),p===0x0&&o>0x5&&(t[_0x2a40c0(0x16a)]('WARNING:\x20Multiple\x20UI\x20components\x20but\x20NO\x20E2E\x20integration\x20tests'),t[_0x2a40c0(0x16a)]('Add\x20E2E\x20tests\x20to\x20validate\x20complete\x20user\x20flows'));}}catch{}}d[_0x2a40c0(0x162)]>0x0&&(console[_0x2a40c0(0x192)](_0x2a40c0(0x16c)),d[_0x2a40c0(0x165)](_0x29c0b0=>console[_0x2a40c0(0x192)]('\x20\x20'+_0x29c0b0)),console['error']('\x0a'),process[_0x2a40c0(0x183)](0x2)),t[_0x2a40c0(0x162)]>0x0&&(console[_0x2a40c0(0x180)](_0x2a40c0(0x175)),t['forEach'](_0x2d39c7=>console['warn']('\x20\x20'+_0x2d39c7)),console[_0x2a40c0(0x180)]('\x0a')),process[_0x2a40c0(0x183)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x376bcf=_0x1703;(function(_0x36f66e,_0x5ba83b){var _0x32ba21=_0x1703,_0x48a79c=_0x36f66e();while(!![]){try{var _0x2ab836=-parseInt(_0x32ba21(0x223))/0x1*(parseInt(_0x32ba21(0x211))/0x2)+parseInt(_0x32ba21(0x21e))/0x3*(-parseInt(_0x32ba21(0x233))/0x4)+-parseInt(_0x32ba21(0x21b))/0x5*(parseInt(_0x32ba21(0x215))/0x6)+parseInt(_0x32ba21(0x1d4))/0x7*(parseInt(_0x32ba21(0x219))/0x8)+parseInt(_0x32ba21(0x1f6))/0x9*(-parseInt(_0x32ba21(0x1db))/0xa)+parseInt(_0x32ba21(0x1ef))/0xb*(-parseInt(_0x32ba21(0x1d2))/0xc)+parseInt(_0x32ba21(0x1cf))/0xd*(parseInt(_0x32ba21(0x201))/0xe);if(_0x2ab836===_0x5ba83b)break;else _0x48a79c['push'](_0x48a79c['shift']());}catch(_0x4c03c9){_0x48a79c['push'](_0x48a79c['shift']());}}}(_0x18e8,0x9013d));var _0x37306c=(function(){var _0x22db80=!![];return function(_0x1b3b0e,_0x183d73){var _0x2be188=_0x1703,_0x5671fa={};_0x5671fa[_0x2be188(0x22f)]=_0x2be188(0x1df);var _0x2c7a00=_0x5671fa,_0x2a0aa4=_0x22db80?function(){var _0x513cd9=_0x2be188,_0x5d2e5d={};_0x5d2e5d[_0x513cd9(0x1ee)]=_0x513cd9(0x22a);var _0x13c415=_0x5d2e5d;if(_0x2c7a00[_0x513cd9(0x22f)]===_0x513cd9(0x1df)){if(_0x183d73){var _0x519548=_0x183d73[_0x513cd9(0x20a)](_0x1b3b0e,arguments);return _0x183d73=null,_0x519548;}}else _0x265ff6['error'](_0x13c415['KtbzW']),_0x4892ae[_0x513cd9(0x224)](_0x361ba5[_0x513cd9(0x1f4)]),_0x258250['exit'](0x1);}:function(){};return _0x22db80=![],_0x2a0aa4;};}()),_0x2b751b=_0x37306c(this,function(){var _0x287449=_0x1703,_0x3e6ef3={};_0x3e6ef3['oNSId']=_0x287449(0x22b);var _0x23d356=_0x3e6ef3;return _0x2b751b['toString']()[_0x287449(0x20f)](_0x23d356[_0x287449(0x1e9)])[_0x287449(0x1e1)]()[_0x287449(0x1dc)](_0x2b751b)['search'](_0x23d356[_0x287449(0x1e9)]);});_0x2b751b();var u=(_0x11d63f=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x11d63f,{'get':(_0x219c4b,_0x420150)=>(typeof require<'u'?require:_0x219c4b)[_0x420150]}):_0x11d63f)(function(_0x4ca12d){var _0x273bf0=_0x1703,_0x4f1f86={'kcVjR':function(_0x48c011,_0x1f97cf){return _0x48c011<_0x1f97cf;},'WgSQH':function(_0x3ff6a3,_0x574bab){return _0x3ff6a3(_0x574bab);},'vLsaa':function(_0x393076,_0xd75041){return _0x393076+_0xd75041;},'DyMbF':function(_0x533fd6,_0x1797af){return _0x533fd6+_0x1797af;},'XWmpQ':_0x273bf0(0x228),'EjyCl':_0x273bf0(0x20b)};if(_0x4f1f86[_0x273bf0(0x1f9)](typeof require,'u'))return require['apply'](this,arguments);throw _0x4f1f86[_0x273bf0(0x214)](Error,_0x4f1f86[_0x273bf0(0x1d6)](_0x4f1f86['DyMbF'](_0x4f1f86[_0x273bf0(0x1dd)],_0x4ca12d),_0x4f1f86[_0x273bf0(0x225)]));}),t=u('fs'),i=u(_0x376bcf(0x20d));console[_0x376bcf(0x222)](_0x376bcf(0x1cd));var g=process[_0x376bcf(0x1d3)][0x2],p=_0x376bcf(0x1fd),l;g?l=g:t['existsSync'](p)?l=t[_0x376bcf(0x230)](p,_0x376bcf(0x1ea))[_0x376bcf(0x1f8)]():(console['error'](_0x376bcf(0x1f2)),console[_0x376bcf(0x224)]('Usage:'),console[_0x376bcf(0x224)](_0x376bcf(0x1c6)),console[_0x376bcf(0x224)](_0x376bcf(0x1fe)),console[_0x376bcf(0x224)]('\x20\x20npm\x20run\x20plan:manager\x0a'),process[_0x376bcf(0x21d)](0x1));var r=i[_0x376bcf(0x1f3)](_0x376bcf(0x1e5),l);t[_0x376bcf(0x218)](r)||(console['error'](_0x376bcf(0x22e)+r),console['error'](_0x376bcf(0x1c7)),process[_0x376bcf(0x21d)](0x1));var d=i['join'](r,_0x376bcf(0x1c9));t[_0x376bcf(0x218)](d)||(console[_0x376bcf(0x224)]('❌\x20ERROR:\x20PROJECT-PLAN.json\x20not\x20found\x20in\x20'+r),process[_0x376bcf(0x21d)](0x1));var n;try{n=JSON['parse'](t[_0x376bcf(0x230)](d,_0x376bcf(0x1ea)));}catch(_0x322c41){console[_0x376bcf(0x224)](_0x376bcf(0x22a)),console[_0x376bcf(0x224)](_0x322c41[_0x376bcf(0x1f4)]),process['exit'](0x1);}var o=[];n['project']&&n['project'][_0x376bcf(0x1f5)]?(console['log']('📦\x20Detected\x20hierarchical\x20plan\x20structure'),console[_0x376bcf(0x222)](_0x376bcf(0x1ed)),n[_0x376bcf(0x1cb)][_0x376bcf(0x1f5)][_0x376bcf(0x1e7)](_0x4e282a=>{var _0x17efce=_0x376bcf,_0x378851={};_0x378851[_0x17efce(0x1fb)]=_0x17efce(0x212);var _0x1d0ef7=_0x378851;_0x4e282a['milestones'][_0x17efce(0x1e7)](_0x49c9fb=>{var _0x5c4e9c=_0x17efce;'BqHcZ'===_0x1d0ef7[_0x5c4e9c(0x1fb)]?_0x49c9fb[_0x5c4e9c(0x232)][_0x5c4e9c(0x1e7)](_0x2d1fa5=>{var _0x2fc0c6=_0x5c4e9c,_0x55a89={..._0x2d1fa5};_0x55a89[_0x2fc0c6(0x217)]=_0x4e282a['id'],_0x55a89[_0x2fc0c6(0x1e0)]=_0x4e282a[_0x2fc0c6(0x207)],_0x55a89[_0x2fc0c6(0x226)]=_0x49c9fb['id'],_0x55a89[_0x2fc0c6(0x1d0)]=_0x49c9fb[_0x2fc0c6(0x207)],o['push'](_0x55a89);}):_0x23aa07[_0x5c4e9c(0x220)][_0x5c4e9c(0x1e7)](_0x1f3fac=>{var _0x3ed326=_0x5c4e9c;_0x1f3fac[_0x3ed326(0x232)][_0x3ed326(0x1e7)](_0x5e2fea=>{var _0x1970e8=_0x3ed326,_0x38799d={..._0x5e2fea};_0x38799d[_0x1970e8(0x217)]=_0x1a068['id'],_0x38799d[_0x1970e8(0x1e0)]=_0x655abf[_0x1970e8(0x207)],_0x38799d[_0x1970e8(0x226)]=_0x1f3fac['id'],_0x38799d[_0x1970e8(0x1d0)]=_0x1f3fac[_0x1970e8(0x207)],_0x403c1a[_0x1970e8(0x1e2)](_0x38799d);});});});})):n['tasks']&&Array['isArray'](n[_0x376bcf(0x232)])?(console[_0x376bcf(0x222)]('📋\x20Detected\x20flat\x20plan\x20structure'),o['push'](...n[_0x376bcf(0x232)])):(console['error']('❌\x20ERROR:\x20Invalid\x20plan\x20structure'),console[_0x376bcf(0x224)]('Expected\x20either:'),console[_0x376bcf(0x224)](_0x376bcf(0x1cc)),console[_0x376bcf(0x224)](_0x376bcf(0x1e4)),process[_0x376bcf(0x21d)](0x1)),o[_0x376bcf(0x1ec)]===0x0&&(console[_0x376bcf(0x224)](_0x376bcf(0x1f7)),process[_0x376bcf(0x21d)](0x1)),console[_0x376bcf(0x222)](_0x376bcf(0x234)+o[_0x376bcf(0x1ec)]+'\x20tasks\x0a');function _0x1703(_0x55a028,_0x342e64){_0x55a028=_0x55a028-0x1c6;var _0x223f91=_0x18e8();var _0x2b751b=_0x223f91[_0x55a028];return _0x2b751b;}var a=i[_0x376bcf(0x1f3)](r,_0x376bcf(0x232)),_0x5ac963={};_0x5ac963[_0x376bcf(0x1d1)]=!0x0,t[_0x376bcf(0x218)](a)||t['mkdirSync'](a,_0x5ac963),o[_0x376bcf(0x1e7)](_0x4e59fe=>{var _0x39b04c=_0x376bcf,_0x4e8c0a={};_0x4e8c0a[_0x39b04c(0x1c8)]='pending',_0x4e8c0a['CrKUq']=_0x39b04c(0x1f1);var _0x45e456=_0x4e8c0a,_0x2f1330={};_0x2f1330[_0x39b04c(0x1da)]=[],_0x2f1330[_0x39b04c(0x1e6)]=[],_0x2f1330[_0x39b04c(0x208)]=[],_0x2f1330[_0x39b04c(0x1ca)]=[];var _0xb8a106={};_0xb8a106['id']=_0x4e59fe['id'],_0xb8a106[_0x39b04c(0x1de)]=_0x4e59fe[_0x39b04c(0x1de)],_0xb8a106[_0x39b04c(0x1e3)]=_0x4e59fe[_0x39b04c(0x1e3)]||'',_0xb8a106[_0x39b04c(0x22c)]=_0x4e59fe['status']||_0x45e456[_0x39b04c(0x1c8)],_0xb8a106[_0x39b04c(0x22d)]=_0x4e59fe[_0x39b04c(0x22d)]||_0x45e456[_0x39b04c(0x1d7)],_0xb8a106[_0x39b04c(0x217)]=_0x4e59fe[_0x39b04c(0x217)]||null,_0xb8a106[_0x39b04c(0x1e0)]=_0x4e59fe[_0x39b04c(0x1e0)]||null,_0xb8a106[_0x39b04c(0x226)]=_0x4e59fe[_0x39b04c(0x226)]||null,_0xb8a106[_0x39b04c(0x1d0)]=_0x4e59fe[_0x39b04c(0x1d0)]||null,_0xb8a106[_0x39b04c(0x206)]=_0x4e59fe[_0x39b04c(0x206)]||[],_0xb8a106[_0x39b04c(0x231)]=_0x4e59fe[_0x39b04c(0x231)]||[],_0xb8a106[_0x39b04c(0x1f0)]=_0x4e59fe['testCases']||[],_0xb8a106['estimatedHours']=_0x4e59fe[_0x39b04c(0x216)]||null,_0xb8a106[_0x39b04c(0x213)]=null,_0xb8a106[_0x39b04c(0x20c)]=null,_0xb8a106[_0x39b04c(0x1fa)]=null,_0xb8a106['blockedReason']=null,_0xb8a106[_0x39b04c(0x1d5)]=_0x4e59fe[_0x39b04c(0x1d5)]||_0x2f1330,_0xb8a106[_0x39b04c(0x210)]=[];let _0x35b2a7=_0xb8a106,_0x366603=i[_0x39b04c(0x1f3)](a,_0x4e59fe['id']+_0x39b04c(0x221));t[_0x39b04c(0x1e8)](_0x366603,JSON[_0x39b04c(0x1d8)](_0x35b2a7,null,0x2)),console['log']('\x20\x20✓\x20'+_0x4e59fe['id']+':\x20'+_0x4e59fe[_0x39b04c(0x1de)]);}),console[_0x376bcf(0x222)](_0x376bcf(0x227)+o['length']+_0x376bcf(0x1eb)+a+'/');var S={'version':_0x376bcf(0x204),'planId':l,'projectName':n['projectName']||n[_0x376bcf(0x1cb)]?.[_0x376bcf(0x207)]||_0x376bcf(0x21f),'description':n[_0x376bcf(0x1e3)]||n[_0x376bcf(0x1cb)]?.[_0x376bcf(0x1e3)]||'','createdAt':new Date()[_0x376bcf(0x21a)](),'planLockedAt':new Date()[_0x376bcf(0x21a)](),'lastUpdated':new Date()[_0x376bcf(0x21a)](),'activeTask':null,'taskFiles':o[_0x376bcf(0x20e)](_0x4f659e=>({'id':_0x4f659e['id'],'title':_0x4f659e[_0x376bcf(0x1de)],'status':_0x376bcf(0x1ff),'file':a+'/'+_0x4f659e['id']+_0x376bcf(0x221)})),'statistics':{'totalTasks':o[_0x376bcf(0x1ec)],'pending':o['length'],'inProgress':0x0,'completed':0x0,'blocked':0x0}},m=i[_0x376bcf(0x1f3)](r,'TASK-TRACKER.json');t['writeFileSync'](m,JSON[_0x376bcf(0x1d8)](S,null,0x2)),console[_0x376bcf(0x222)](_0x376bcf(0x1ce)+m),console['log'](_0x376bcf(0x1fc)+o[_0x376bcf(0x1ec)]+'\x20tasks\x0a'),console[_0x376bcf(0x222)](_0x376bcf(0x1d9)),console[_0x376bcf(0x222)]('\x20\x201.\x20Set\x20as\x20active\x20plan:\x20npm\x20run\x20plan:manager'),console['log'](_0x376bcf(0x200)),console[_0x376bcf(0x222)](_0x376bcf(0x229)),n[_0x376bcf(0x205)]=!0x0,n[_0x376bcf(0x21c)]=new Date()[_0x376bcf(0x21a)](),t[_0x376bcf(0x1e8)](d,JSON['stringify'](n,null,0x2));var f=i[_0x376bcf(0x1f3)](r,_0x376bcf(0x203));function _0x18e8(){var _0x481e83=['exit','686121WYsrPC','Structured\x20Coding\x20Project','milestones','.json','log','151qKkleX','error','EjyCl','milestone','\x0a✅\x20Created\x20','Dynamic\x20require\x20of\x20\x22','\x20\x203.\x20View\x20status:\x20npm\x20run\x20task:status\x0a','❌\x20ERROR:\x20Invalid\x20JSON\x20in\x20PROJECT-PLAN.json','(((.+)+)+)+$','status','phase','❌\x20ERROR:\x20Plan\x20directory\x20not\x20found:\x20','mHNyz','readFileSync','completionCriteria','tasks','20aybgcs','✅\x20Found\x20','\x20\x20npm\x20run\x20plan:init\x20<plan-id>','Create\x20plan\x20first\x20with:\x20npm\x20run\x20plan:create\x0a','OVvAb','PROJECT-PLAN.json','documentation','project','\x20\x20-\x20Hierarchical:\x20{\x20project:\x20{\x20subprojects:\x20[...]\x20}\x20}','\x0a🚀\x20INITIALIZING\x20TASK\x20TRACKER\x0a','\x0a✅\x20Task\x20tracker\x20created:\x20','1728142tZeEpx','milestoneName','recursive','294708MZSkhH','argv','7nAFGwR','artifacts','vLsaa','CrKUq','stringify','📋\x20Next\x20steps:','design','360wXnGUC','constructor','XWmpQ','title','oDMlL','subprojectName','toString','push','description','\x20\x20-\x20Flat:\x20{\x20tasks:\x20[...]\x20}','.claude/plans','code','forEach','writeFileSync','oNSId','utf8','\x20task\x20files\x20in\x20','length','🔄\x20Flattening\x20hierarchy\x20into\x20individual\x20task\x20files...\x0a','KtbzW','275bwCfXW','testCases','implementation','❌\x20ERROR:\x20No\x20plan\x20specified\x20and\x20no\x20active\x20plan\x20found','join','message','subprojects','225063vfHxaR','❌\x20ERROR:\x20No\x20tasks\x20found\x20in\x20PROJECT-PLAN.json','trim','kcVjR','completedAt','yMTjm','📊\x20Total:\x20','.claude/ACTIVE-PLAN','Or\x20set\x20active\x20plan\x20first:','pending','\x20\x202.\x20Start\x20first\x20task:\x20npm\x20run\x20task:start\x20TASK-001','322JAriRV','\x20is\x20now\x20LOCKED\x20and\x20ACTIVE\x0a','.plan-locked','2.0','locked','dependencies','name','tests','🔒\x20Plan\x20','apply','\x22\x20is\x20not\x20supported','startedAt','path','map','search','notes','1160UlShMe','BqHcZ','actualHours','WgSQH','6RSPTcZ','estimatedHours','subproject','existsSync','6049784JluGQr','toISOString','2391110SFvhnK','lockedAt'];_0x18e8=function(){return _0x481e83;};return _0x18e8();}t[_0x376bcf(0x1e8)](f,new Date()['toISOString']()),t[_0x376bcf(0x1e8)](p,l),console[_0x376bcf(0x222)](_0x376bcf(0x209)+l+_0x376bcf(0x202)),process[_0x376bcf(0x21d)](0x0);
2
+ var _0x43b2dc=_0x2ad5;(function(_0xbeb05f,_0x39721c){var _0x101b15=_0x2ad5,_0x20bbfa=_0xbeb05f();while(!![]){try{var _0x579131=parseInt(_0x101b15(0x1da))/0x1+parseInt(_0x101b15(0x208))/0x2*(parseInt(_0x101b15(0x239))/0x3)+-parseInt(_0x101b15(0x21d))/0x4+parseInt(_0x101b15(0x240))/0x5*(parseInt(_0x101b15(0x21e))/0x6)+-parseInt(_0x101b15(0x1d4))/0x7+parseInt(_0x101b15(0x236))/0x8+-parseInt(_0x101b15(0x233))/0x9;if(_0x579131===_0x39721c)break;else _0x20bbfa['push'](_0x20bbfa['shift']());}catch(_0x47344a){_0x20bbfa['push'](_0x20bbfa['shift']());}}}(_0x72c3,0x3d7e9));var _0xa8739c=(function(){var _0x3f61a4=_0x2ad5,_0x47d4be={};_0x47d4be[_0x3f61a4(0x22c)]=_0x3f61a4(0x22d),_0x47d4be[_0x3f61a4(0x21f)]=function(_0x2a03eb,_0x30e549){return _0x2a03eb!==_0x30e549;},_0x47d4be['WatUW']=_0x3f61a4(0x228);var _0x114f8d=_0x47d4be,_0x5833b3=!![];return function(_0x2d796e,_0x1493e0){var _0x13f6d4=_0x3f61a4,_0x3bee50={'evLGF':_0x114f8d[_0x13f6d4(0x22c)],'GwaYm':function(_0x23e13b,_0x223bbc){var _0x14cc3c=_0x13f6d4;return _0x114f8d[_0x14cc3c(0x21f)](_0x23e13b,_0x223bbc);},'VeqoX':_0x114f8d['WatUW']},_0x4b8b6b=_0x5833b3?function(){var _0x3f4d7a=_0x13f6d4;if(_0x1493e0){if(_0x3bee50[_0x3f4d7a(0x1fd)](_0x3bee50['VeqoX'],_0x3bee50['VeqoX']))return _0x4b14cd[_0x3f4d7a(0x219)]()['search'](_0x3bee50[_0x3f4d7a(0x1eb)])[_0x3f4d7a(0x219)]()['constructor'](_0x451b80)[_0x3f4d7a(0x1e3)](_0x3f4d7a(0x22d));else{var _0x379dca=_0x1493e0[_0x3f4d7a(0x232)](_0x2d796e,arguments);return _0x1493e0=null,_0x379dca;}}}:function(){};return _0x5833b3=![],_0x4b8b6b;};}()),_0x42c8b6=_0xa8739c(this,function(){var _0x323e54=_0x2ad5,_0x25628c={};_0x25628c['QkEJe']=_0x323e54(0x22d);var _0x4c98ac=_0x25628c;return _0x42c8b6[_0x323e54(0x219)]()[_0x323e54(0x1e3)](_0x4c98ac[_0x323e54(0x1f4)])[_0x323e54(0x219)]()[_0x323e54(0x227)](_0x42c8b6)[_0x323e54(0x1e3)](_0x4c98ac[_0x323e54(0x1f4)]);});function _0x2ad5(_0xdaa9d6,_0x4381db){_0xdaa9d6=_0xdaa9d6-0x1d1;var _0x5b2c75=_0x72c3();var _0x42c8b6=_0x5b2c75[_0xdaa9d6];return _0x42c8b6;}_0x42c8b6();var u=(_0x5167e1=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x5167e1,{'get':(_0x505a71,_0x47e06b)=>(typeof require<'u'?require:_0x505a71)[_0x47e06b]}):_0x5167e1)(function(_0x3cc765){var _0x454d2e=_0x2ad5,_0x3937b7={'Iptgn':function(_0x3d12dc,_0x1d081e){return _0x3d12dc<_0x1d081e;},'wtqWF':function(_0x102603,_0x20a8b9){return _0x102603(_0x20a8b9);},'MhVvu':function(_0x128e7f,_0x2196c7){return _0x128e7f+_0x2196c7;},'YmRrh':function(_0x51bf4d,_0x835a24){return _0x51bf4d+_0x835a24;},'AIMnu':'Dynamic\x20require\x20of\x20\x22','GRxZo':_0x454d2e(0x209)};if(_0x3937b7[_0x454d2e(0x1e5)](typeof require,'u'))return require['apply'](this,arguments);throw _0x3937b7[_0x454d2e(0x1f6)](Error,_0x3937b7['MhVvu'](_0x3937b7[_0x454d2e(0x238)](_0x3937b7['AIMnu'],_0x3cc765),_0x3937b7[_0x454d2e(0x23e)]));}),t=u('fs'),i=u(_0x43b2dc(0x1f3));console[_0x43b2dc(0x216)](_0x43b2dc(0x203));function _0x72c3(){var _0x59f89a=['project','utf8','estimatedHours','pending','zqMHH','search','push','Iptgn','tasks','isArray','\x20\x20npm\x20run\x20plan:init\x20<plan-id>','Xnsgm','.plan-locked','evLGF','\x20\x201.\x20Set\x20as\x20active\x20plan:\x20npm\x20run\x20plan:manager','argv','milestone','forEach','readFileSync','exit','trim','path','QkEJe','join','wtqWF','documentation','artifacts','subprojects','parse','Usage:','📦\x20Detected\x20hierarchical\x20plan\x20structure','GwaYm','Structured\x20Coding\x20Project','code','\x20\x20-\x20Hierarchical:\x20{\x20project:\x20{\x20subprojects:\x20[...]\x20}\x20}','\x20\x20npm\x20run\x20plan:manager\x0a','ucgsO','\x0a🚀\x20INITIALIZING\x20TASK\x20TRACKER\x0a','mkdirSync','actualHours','stringify','❌\x20ERROR:\x20Invalid\x20JSON\x20in\x20PROJECT-PLAN.json','23266ICCtmA','\x22\x20is\x20not\x20supported','\x20task\x20files\x20in\x20','tests','.json','completionCriteria','blockedReason','dependencies','\x20\x203.\x20View\x20status:\x20npm\x20run\x20task:status\x0a','Or\x20set\x20active\x20plan\x20first:','implementation','description','\x20is\x20now\x20LOCKED\x20and\x20ACTIVE\x0a','toISOString','log','map','\x20tasks\x0a','toString','status','❌\x20ERROR:\x20No\x20tasks\x20found\x20in\x20PROJECT-PLAN.json','title','908096XaMPzV','6cIocQP','EdQsr','lockedAt','existsSync','jLPaY','milestones','iybWP','.claude/ACTIVE-PLAN','notes','constructor','oQtUJ','Create\x20plan\x20first\x20with:\x20npm\x20run\x20plan:create\x0a','TASK-TRACKER.json','2.0','fNGWF','(((.+)+)+)+$','Mqxoy','name','\x0a✅\x20Task\x20tracker\x20created:\x20','writeFileSync','apply','424674zXCTFR','error','phase','810880LmRnhh','testCases','YmRrh','15wVLRJH','Expected\x20either:','\x20\x20✓\x20','.claude/plans','\x0a✅\x20Created\x20','GRxZo','📊\x20Total:\x20','1571375mxoRnV','📋\x20Next\x20steps:','✅\x20Found\x20','length','1777426dweKMT','milestoneName','completedAt','projectName','❌\x20ERROR:\x20PROJECT-PLAN.json\x20not\x20found\x20in\x20','\x20\x202.\x20Start\x20first\x20task:\x20npm\x20run\x20task:start\x20TASK-001','306209UZSXXQ','subprojectName','subproject','❌\x20ERROR:\x20No\x20plan\x20specified\x20and\x20no\x20active\x20plan\x20found'];_0x72c3=function(){return _0x59f89a;};return _0x72c3();}var g=process[_0x43b2dc(0x1ed)][0x2],p=_0x43b2dc(0x225),l;g?l=g:t['existsSync'](p)?l=t[_0x43b2dc(0x1f0)](p,_0x43b2dc(0x1df))[_0x43b2dc(0x1f2)]():(console[_0x43b2dc(0x234)](_0x43b2dc(0x1dd)),console[_0x43b2dc(0x234)](_0x43b2dc(0x1fb)),console['error'](_0x43b2dc(0x1e8)),console[_0x43b2dc(0x234)](_0x43b2dc(0x211)),console[_0x43b2dc(0x234)](_0x43b2dc(0x201)),process[_0x43b2dc(0x1f1)](0x1));var r=i[_0x43b2dc(0x1f5)](_0x43b2dc(0x23c),l);t[_0x43b2dc(0x221)](r)||(console[_0x43b2dc(0x234)]('❌\x20ERROR:\x20Plan\x20directory\x20not\x20found:\x20'+r),console[_0x43b2dc(0x234)](_0x43b2dc(0x229)),process[_0x43b2dc(0x1f1)](0x1));var d=i['join'](r,'PROJECT-PLAN.json');t[_0x43b2dc(0x221)](d)||(console['error'](_0x43b2dc(0x1d8)+r),process[_0x43b2dc(0x1f1)](0x1));var n;try{n=JSON[_0x43b2dc(0x1fa)](t[_0x43b2dc(0x1f0)](d,_0x43b2dc(0x1df)));}catch(_0x45fb5c){console[_0x43b2dc(0x234)](_0x43b2dc(0x207)),console[_0x43b2dc(0x234)](_0x45fb5c['message']),process[_0x43b2dc(0x1f1)](0x1);}var o=[];n[_0x43b2dc(0x1de)]&&n['project'][_0x43b2dc(0x1f9)]?(console['log'](_0x43b2dc(0x1fc)),console[_0x43b2dc(0x216)]('🔄\x20Flattening\x20hierarchy\x20into\x20individual\x20task\x20files...\x0a'),n['project'][_0x43b2dc(0x1f9)][_0x43b2dc(0x1ef)](_0x2b21f1=>{var _0x2ad3b9=_0x43b2dc,_0xe7f3f6={};_0xe7f3f6[_0x2ad3b9(0x202)]=_0x2ad3b9(0x1df),_0xe7f3f6[_0x2ad3b9(0x1e2)]=function(_0x18aee3,_0x2f6a21){return _0x18aee3!==_0x2f6a21;},_0xe7f3f6[_0x2ad3b9(0x222)]=_0x2ad3b9(0x224);var _0x3cca2c=_0xe7f3f6;_0x2b21f1[_0x2ad3b9(0x223)]['forEach'](_0x5b7d7f=>{var _0x225e12=_0x2ad3b9,_0x1c9420={};_0x1c9420[_0x225e12(0x22e)]=_0x3cca2c[_0x225e12(0x202)];var _0xbd6dec=_0x1c9420;_0x3cca2c[_0x225e12(0x1e2)](_0x3cca2c['jLPaY'],'urDvW')?_0x5b7d7f[_0x225e12(0x1e6)][_0x225e12(0x1ef)](_0x38985e=>{var _0xc6e879=_0x225e12,_0x135751={..._0x38985e};_0x135751['subproject']=_0x2b21f1['id'],_0x135751[_0xc6e879(0x1db)]=_0x2b21f1[_0xc6e879(0x22f)],_0x135751[_0xc6e879(0x1ee)]=_0x5b7d7f['id'],_0x135751[_0xc6e879(0x1d5)]=_0x5b7d7f[_0xc6e879(0x22f)],o[_0xc6e879(0x1e4)](_0x135751);}):_0x38e072=_0x4f8f55[_0x225e12(0x1fa)](_0x17ed98[_0x225e12(0x1f0)](_0x4c726b,_0xbd6dec['Mqxoy']));});})):n[_0x43b2dc(0x1e6)]&&Array[_0x43b2dc(0x1e7)](n[_0x43b2dc(0x1e6)])?(console[_0x43b2dc(0x216)]('📋\x20Detected\x20flat\x20plan\x20structure'),o[_0x43b2dc(0x1e4)](...n[_0x43b2dc(0x1e6)])):(console[_0x43b2dc(0x234)]('❌\x20ERROR:\x20Invalid\x20plan\x20structure'),console[_0x43b2dc(0x234)](_0x43b2dc(0x23a)),console[_0x43b2dc(0x234)](_0x43b2dc(0x200)),console[_0x43b2dc(0x234)]('\x20\x20-\x20Flat:\x20{\x20tasks:\x20[...]\x20}'),process[_0x43b2dc(0x1f1)](0x1)),o['length']===0x0&&(console[_0x43b2dc(0x234)](_0x43b2dc(0x21b)),process[_0x43b2dc(0x1f1)](0x1)),console[_0x43b2dc(0x216)](_0x43b2dc(0x1d2)+o[_0x43b2dc(0x1d3)]+'\x20tasks\x0a');var a=i[_0x43b2dc(0x1f5)](r,_0x43b2dc(0x1e6)),_0x37f055={};_0x37f055['recursive']=!0x0,t[_0x43b2dc(0x221)](a)||t[_0x43b2dc(0x204)](a,_0x37f055),o[_0x43b2dc(0x1ef)](_0x17e3ea=>{var _0x4af837=_0x43b2dc,_0x217fae={};_0x217fae[_0x4af837(0x1e9)]=_0x4af837(0x1e1);var _0x13bd87=_0x217fae,_0x2e3a6f={};_0x2e3a6f['design']=[],_0x2e3a6f[_0x4af837(0x1ff)]=[],_0x2e3a6f[_0x4af837(0x20b)]=[],_0x2e3a6f[_0x4af837(0x1f7)]=[];var _0x3008a2={};_0x3008a2['id']=_0x17e3ea['id'],_0x3008a2[_0x4af837(0x21c)]=_0x17e3ea[_0x4af837(0x21c)],_0x3008a2['description']=_0x17e3ea['description']||'',_0x3008a2[_0x4af837(0x21a)]=_0x17e3ea[_0x4af837(0x21a)]||_0x13bd87[_0x4af837(0x1e9)],_0x3008a2[_0x4af837(0x235)]=_0x17e3ea['phase']||_0x4af837(0x212),_0x3008a2[_0x4af837(0x1dc)]=_0x17e3ea['subproject']||null,_0x3008a2[_0x4af837(0x1db)]=_0x17e3ea[_0x4af837(0x1db)]||null,_0x3008a2[_0x4af837(0x1ee)]=_0x17e3ea[_0x4af837(0x1ee)]||null,_0x3008a2[_0x4af837(0x1d5)]=_0x17e3ea[_0x4af837(0x1d5)]||null,_0x3008a2[_0x4af837(0x20f)]=_0x17e3ea['dependencies']||[],_0x3008a2[_0x4af837(0x20d)]=_0x17e3ea['completionCriteria']||[],_0x3008a2[_0x4af837(0x237)]=_0x17e3ea[_0x4af837(0x237)]||[],_0x3008a2['estimatedHours']=_0x17e3ea[_0x4af837(0x1e0)]||null,_0x3008a2[_0x4af837(0x205)]=null,_0x3008a2['startedAt']=null,_0x3008a2[_0x4af837(0x1d6)]=null,_0x3008a2[_0x4af837(0x20e)]=null,_0x3008a2[_0x4af837(0x1f8)]=_0x17e3ea['artifacts']||_0x2e3a6f,_0x3008a2[_0x4af837(0x226)]=[];let _0x2f5902=_0x3008a2,_0x19e3d3=i[_0x4af837(0x1f5)](a,_0x17e3ea['id']+_0x4af837(0x20c));t[_0x4af837(0x231)](_0x19e3d3,JSON[_0x4af837(0x206)](_0x2f5902,null,0x2)),console[_0x4af837(0x216)](_0x4af837(0x23b)+_0x17e3ea['id']+':\x20'+_0x17e3ea[_0x4af837(0x21c)]);}),console[_0x43b2dc(0x216)](_0x43b2dc(0x23d)+o[_0x43b2dc(0x1d3)]+_0x43b2dc(0x20a)+a+'/');var S={'version':_0x43b2dc(0x22b),'planId':l,'projectName':n[_0x43b2dc(0x1d7)]||n[_0x43b2dc(0x1de)]?.[_0x43b2dc(0x22f)]||_0x43b2dc(0x1fe),'description':n[_0x43b2dc(0x213)]||n[_0x43b2dc(0x1de)]?.[_0x43b2dc(0x213)]||'','createdAt':new Date()[_0x43b2dc(0x215)](),'planLockedAt':new Date()[_0x43b2dc(0x215)](),'lastUpdated':new Date()['toISOString'](),'activeTask':null,'taskFiles':o[_0x43b2dc(0x217)](_0x574994=>({'id':_0x574994['id'],'title':_0x574994['title'],'status':'pending','file':a+'/'+_0x574994['id']+'.json'})),'statistics':{'totalTasks':o[_0x43b2dc(0x1d3)],'pending':o[_0x43b2dc(0x1d3)],'inProgress':0x0,'completed':0x0,'blocked':0x0}},m=i[_0x43b2dc(0x1f5)](r,_0x43b2dc(0x22a));t[_0x43b2dc(0x231)](m,JSON[_0x43b2dc(0x206)](S,null,0x2)),console['log'](_0x43b2dc(0x230)+m),console[_0x43b2dc(0x216)](_0x43b2dc(0x23f)+o[_0x43b2dc(0x1d3)]+_0x43b2dc(0x218)),console['log'](_0x43b2dc(0x1d1)),console[_0x43b2dc(0x216)](_0x43b2dc(0x1ec)),console[_0x43b2dc(0x216)](_0x43b2dc(0x1d9)),console[_0x43b2dc(0x216)](_0x43b2dc(0x210)),n['locked']=!0x0,n[_0x43b2dc(0x220)]=new Date()[_0x43b2dc(0x215)](),t[_0x43b2dc(0x231)](d,JSON['stringify'](n,null,0x2));var f=i[_0x43b2dc(0x1f5)](r,_0x43b2dc(0x1ea));t[_0x43b2dc(0x231)](f,new Date()[_0x43b2dc(0x215)]()),t[_0x43b2dc(0x231)](p,l),console['log']('🔒\x20Plan\x20'+l+_0x43b2dc(0x214)),process['exit'](0x0);