gl-life-claude-zen 1.0.3 → 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 (47) hide show
  1. package/CHANGELOG.md +255 -0
  2. package/README.md +166 -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 +2 -0
  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 +13 -5
  34. package/package.json +7 -2
  35. package/templates/.claude/CLAUDE.md +196 -0
  36. package/templates/.claude/settings.json +40 -0
  37. package/templates/.gitignore +14 -0
  38. package/templates/README.md +4 -0
  39. package/templates/test-site/README.md +271 -0
  40. package/templates/test-site/index.html +13 -0
  41. package/templates/test-site/package.json +25 -0
  42. package/templates/test-site/server.js +125 -0
  43. package/templates/test-site/src/App.css +130 -0
  44. package/templates/test-site/src/App.jsx +78 -0
  45. package/templates/test-site/src/index.css +39 -0
  46. package/templates/test-site/src/main.jsx +10 -0
  47. package/templates/test-site/vite.config.js +12 -0
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x2eb9e2=_0x2443;(function(_0x5c982a,_0x40083e){var _0x3d0182=_0x2443,_0x4bc483=_0x5c982a();while(!![]){try{var _0x1394e9=-parseInt(_0x3d0182(0x1b1))/0x1+-parseInt(_0x3d0182(0x1df))/0x2*(-parseInt(_0x3d0182(0x1c3))/0x3)+parseInt(_0x3d0182(0x1bc))/0x4+parseInt(_0x3d0182(0x1e0))/0x5*(-parseInt(_0x3d0182(0x1b8))/0x6)+parseInt(_0x3d0182(0x1b3))/0x7+parseInt(_0x3d0182(0x1cc))/0x8+parseInt(_0x3d0182(0x1c5))/0x9;if(_0x1394e9===_0x40083e)break;else _0x4bc483['push'](_0x4bc483['shift']());}catch(_0x55a8bd){_0x4bc483['push'](_0x4bc483['shift']());}}}(_0x41b3,0x6f229));var _0x6b04df=(function(){var _0x592e70=!![];return function(_0x92d569,_0x3d570d){if('AHWlH'==='AHWlH'){var _0x1bf39f=_0x592e70?function(){var _0x15a297=_0x2443;if(_0x3d570d){var _0x2aba1f=_0x3d570d[_0x15a297(0x1c1)](_0x92d569,arguments);return _0x3d570d=null,_0x2aba1f;}}:function(){};return _0x592e70=![],_0x1bf39f;}else{var _0x46e5d9=_0x2c90cc?function(){if(_0x3c68b3){var _0x34df99=_0xe36368['apply'](_0x576ba3,arguments);return _0x4ffe71=null,_0x34df99;}}:function(){};return _0x30552b=![],_0x46e5d9;}};}()),_0x21aed7=_0x6b04df(this,function(){var _0x14591a=_0x2443,_0x58e31e={};_0x58e31e[_0x14591a(0x1dc)]='(((.+)+)+)+$';var _0x40bb30=_0x58e31e;return _0x21aed7[_0x14591a(0x1ad)]()[_0x14591a(0x1bb)](_0x40bb30[_0x14591a(0x1dc)])['toString']()['constructor'](_0x21aed7)[_0x14591a(0x1bb)](_0x40bb30[_0x14591a(0x1dc)]);});_0x21aed7();function _0x41b3(){var _0x5e3d58=['NODE_ENV','path','sJwsP','Fix\x20migration\x20errors\x20before\x20proceeding','parse','TfYwH','command','forEach','BLOCKED:\x20Migration\x20execution\x20failed','\x20\x20\x20\x20\x202.\x20Verify\x20all\x20tests\x20pass\x20with\x20new\x20schema','\x20\x20✅\x20Migration\x20rollback\x20successful\x0a','BydCA','error','Database\x20may\x20be\x20in\x20inconsistent\x20state','27248wmEsUH','4580BIIKzG','git\x20status\x20--short','\x0a🔄\x20MIGRATION\x20WORKFLOW\x20VALIDATION\x0a','toString','\x20\x20Environment:\x20','env','\x20\x20\x20\x20\x204.\x20Test\x20rollback:\x20npm\x20run\x20migrate:down\x20(or\x20equivalent)\x0a','543141NepXzz','length','672917PrXwnS','\x20\x20\x20\x20\x201.\x20Run:\x20npm\x20test','child_process','push','Check\x20database\x20logs\x20for\x20details','2634DJaQAt','\x22\x20is\x20not\x20supported','production','search','181800scFSkZ','test','development','warn','argv','apply','tool_output','189RKGbpo','Manual\x20intervention\x20required','3361599LaPfZT','match','Migrations\x20must\x20be\x20tested\x20in\x20development/staging\x20first','vAAlr','log','BLOCKED:\x20Migration\x20rollback\x20failed','After\x20migration,\x20run\x20npm\x20test\x20to\x20verify\x20schema\x20compatibility','216560pTlyGL','\x0a❌\x20MIGRATION\x20WORKFLOW\x20FAILED\x0a','Uncommitted\x20migration\x20files\x20detected','encoding','exit'];_0x41b3=function(){return _0x5e3d58;};return _0x41b3();}var e=(_0x1fca5d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1fca5d,{'get':(_0xba7f54,_0x5abe9b)=>(typeof require<'u'?require:_0xba7f54)[_0x5abe9b]}):_0x1fca5d)(function(_0x58d0ec){var _0x5b4293=_0x2443,_0x138b9a={'IsOVh':function(_0x191be4,_0x1c36e0){return _0x191be4<_0x1c36e0;},'sJwsP':function(_0x2dec64,_0x56f90f){return _0x2dec64(_0x56f90f);},'vAAlr':function(_0x3c8d27,_0x147e71){return _0x3c8d27+_0x147e71;},'TfYwH':'Dynamic\x20require\x20of\x20\x22','CjStu':_0x5b4293(0x1b9)};if(_0x138b9a['IsOVh'](typeof require,'u'))return require[_0x5b4293(0x1c1)](this,arguments);throw _0x138b9a[_0x5b4293(0x1d3)](Error,_0x138b9a[_0x5b4293(0x1c8)](_0x138b9a[_0x5b4293(0x1d6)]+_0x58d0ec,_0x138b9a['CjStu']));}),p=e('fs'),h=e(_0x2eb9e2(0x1d2)),{execSync:l}=e(_0x2eb9e2(0x1b5)),u=process[_0x2eb9e2(0x1c0)][0x2]||'{}',s=JSON[_0x2eb9e2(0x1d5)](u),i=s['tool_input']?.[_0x2eb9e2(0x1d7)]||'';i[_0x2eb9e2(0x1c6)](/migrate|migration/i)||process['exit'](0x0);var n=[],t=[],a=s[_0x2eb9e2(0x1c2)]||'';function _0x2443(_0x48e01f,_0xb6e109){_0x48e01f=_0x48e01f-0x1ac;var _0x9f711a=_0x41b3();var _0x21aed7=_0x9f711a[_0x48e01f];return _0x21aed7;}console['log'](_0x2eb9e2(0x1ac));try{let o=process[_0x2eb9e2(0x1af)][_0x2eb9e2(0x1d1)]||_0x2eb9e2(0x1be);console['log'](_0x2eb9e2(0x1ae)+o),o===_0x2eb9e2(0x1ba)&&(n[_0x2eb9e2(0x1b6)]('BLOCKED:\x20Cannot\x20run\x20migrations\x20directly\x20in\x20production'),n['push'](_0x2eb9e2(0x1c7)),n[_0x2eb9e2(0x1b6)]('Use\x20deployment\x20pipeline\x20to\x20run\x20production\x20migrations'));}catch{}try{var _0x2b7478={};_0x2b7478[_0x2eb9e2(0x1cf)]='utf8',l(_0x2eb9e2(0x1e1),_0x2b7478)[_0x2eb9e2(0x1c6)](/migrations?\//)&&(t['push'](_0x2eb9e2(0x1ce)),t[_0x2eb9e2(0x1b6)]('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[_0x2eb9e2(0x1bd)](a)){n[_0x2eb9e2(0x1b6)](_0x2eb9e2(0x1d9)),n[_0x2eb9e2(0x1b6)](_0x2eb9e2(0x1d4)),n['push'](_0x2eb9e2(0x1b7));break;}i[_0x2eb9e2(0x1c6)](/migrate.*up|migration.*run/i)&&(console[_0x2eb9e2(0x1c9)]('\x20\x20⚠️\x20\x20After\x20running\x20migrations,\x20you\x20MUST:\x0a'),console[_0x2eb9e2(0x1c9)](_0x2eb9e2(0x1b4)),console['log'](_0x2eb9e2(0x1da)),console[_0x2eb9e2(0x1c9)]('\x20\x20\x20\x20\x203.\x20Check\x20for\x20type\x20errors:\x20npm\x20run\x20build'),console[_0x2eb9e2(0x1c9)](_0x2eb9e2(0x1b0)),t[_0x2eb9e2(0x1b6)](_0x2eb9e2(0x1cb))),i[_0x2eb9e2(0x1c6)](/migrate.*down|migration.*rollback/i)&&(console['log']('\x20\x20🔙\x20Rolling\x20back\x20migration...\x0a'),a['match'](/error|failed/i)?(n['push'](_0x2eb9e2(0x1ca)),n['push'](_0x2eb9e2(0x1de)),n['push'](_0x2eb9e2(0x1c4))):console[_0x2eb9e2(0x1c9)](_0x2eb9e2(0x1db))),n[_0x2eb9e2(0x1b2)]>0x0&&(console[_0x2eb9e2(0x1dd)](_0x2eb9e2(0x1cd)),n[_0x2eb9e2(0x1d8)](_0x332a2e=>console[_0x2eb9e2(0x1dd)]('\x20\x20'+_0x332a2e)),console[_0x2eb9e2(0x1dd)]('\x0a'),process[_0x2eb9e2(0x1d0)](0x2)),t[_0x2eb9e2(0x1b2)]>0x0&&(console['warn']('\x0a⚠️\x20\x20MIGRATION\x20WORKFLOW\x20WARNINGS\x0a'),t[_0x2eb9e2(0x1d8)](_0x43ab27=>console[_0x2eb9e2(0x1bf)]('\x20\x20'+_0x43ab27)),console[_0x2eb9e2(0x1bf)]('\x0a')),process[_0x2eb9e2(0x1d0)](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 _0x2ac6b9=_0x1231;(function(_0x10c597,_0x35bc0a){const _0x3af773=_0x1231,_0x202f2c=_0x10c597();while(!![]){try{const _0x429cce=parseInt(_0x3af773(0xff))/0x1*(parseInt(_0x3af773(0xfb))/0x2)+-parseInt(_0x3af773(0x12d))/0x3*(-parseInt(_0x3af773(0x114))/0x4)+parseInt(_0x3af773(0x10a))/0x5*(-parseInt(_0x3af773(0xeb))/0x6)+parseInt(_0x3af773(0x133))/0x7+parseInt(_0x3af773(0x13a))/0x8+parseInt(_0x3af773(0xe5))/0x9+-parseInt(_0x3af773(0x137))/0xa;if(_0x429cce===_0x35bc0a)break;else _0x202f2c['push'](_0x202f2c['shift']());}catch(_0x5dc032){_0x202f2c['push'](_0x202f2c['shift']());}}}(_0x5f40,0xdc035));const _0x57d208=(function(){const _0x55fd8c=_0x1231,_0x586521={};_0x586521[_0x55fd8c(0x12c)]=function(_0x5b8ea7,_0x194810){return _0x5b8ea7===_0x194810;},_0x586521[_0x55fd8c(0x142)]=_0x55fd8c(0xfe),_0x586521[_0x55fd8c(0x115)]=function(_0xd77b71,_0x160a2b){return _0xd77b71===_0x160a2b;},_0x586521[_0x55fd8c(0xfd)]='NmAgC',_0x586521['hbvrx']='Initialize\x20task\x20tracker\x20first:',_0x586521[_0x55fd8c(0x131)]='BLOCKED:\x20No\x20active\x20task',_0x586521[_0x55fd8c(0x13e)]=_0x55fd8c(0x11b),_0x586521[_0x55fd8c(0x13f)]=_0x55fd8c(0x141),_0x586521['lTQWP']=_0x55fd8c(0x11f),_0x586521[_0x55fd8c(0x102)]=_0x55fd8c(0xf4),_0x586521['dsjOF']=function(_0x176159,_0x440311){return _0x176159!==_0x440311;},_0x586521[_0x55fd8c(0x106)]=_0x55fd8c(0x11c),_0x586521[_0x55fd8c(0xf7)]=_0x55fd8c(0xf3),_0x586521['FgOTy']='Start\x20the\x20task:',_0x586521[_0x55fd8c(0xf9)]='Edit',_0x586521[_0x55fd8c(0x11e)]=_0x55fd8c(0x123),_0x586521[_0x55fd8c(0x10b)]=_0x55fd8c(0x120);const _0x2429a6=_0x586521;let _0x50a2ca=!![];return function(_0x38e06a,_0x2dd569){const _0x441c14=_0x55fd8c,_0x58e9f8={'BGHjQ':_0x441c14(0x11a),'CQXKt':_0x2429a6[_0x441c14(0x101)],'CMAWD':function(_0x51ddcc,_0x2978a4){const _0x4031d9=_0x441c14;return _0x2429a6[_0x4031d9(0x12c)](_0x51ddcc,_0x2978a4);},'fTvBz':_0x2429a6['dCbyJ'],'GZGNW':_0x2429a6[_0x441c14(0x13e)],'uOuIq':_0x2429a6[_0x441c14(0x13f)],'AsQPb':_0x2429a6['lTQWP'],'zxlEg':_0x2429a6[_0x441c14(0x102)],'PSzNN':function(_0x565f69,_0x49e994){const _0x1fa24a=_0x441c14;return _0x2429a6[_0x1fa24a(0x12f)](_0x565f69,_0x49e994);},'DspXE':_0x2429a6[_0x441c14(0x106)],'GpdzJ':_0x2429a6[_0x441c14(0xf7)],'IsdDV':_0x2429a6[_0x441c14(0xf1)],'uChbh':function(_0x1c6ac7,_0x2c16c1){return _0x1c6ac7===_0x2c16c1;},'xoyYa':_0x2429a6[_0x441c14(0xf9)],'GUpkl':_0x441c14(0xf6),'MMhQZ':_0x2429a6['bWWGh'],'SsCCE':_0x2429a6[_0x441c14(0x10b)]},_0x146da1=_0x50a2ca?function(){const _0x94ac7c=_0x441c14;if(_0x2429a6['CNXvD'](_0x2429a6['UezAo'],_0x94ac7c(0x105))){let _0x52329c=_0x2b8cfd[_0x94ac7c(0x122)](_0x50a66d,_0x94ac7c(0x124)),_0x43174c=_0x294746[_0x94ac7c(0x122)](_0x3b1fae,_0x94ac7c(0xe0));if(_0xb9d442['existsSync'](_0x43174c)&&!_0x3b2749[_0x94ac7c(0xe9)](_0x52329c)&&(_0xca13e3[_0x94ac7c(0xea)](_0x58e9f8['BGHjQ']),_0x230873[_0x94ac7c(0xea)](_0x94ac7c(0x100)+_0x3368eb),_0x763444[_0x94ac7c(0xea)](_0x58e9f8[_0x94ac7c(0xf2)]),_0x20e77f[_0x94ac7c(0xea)](_0x94ac7c(0x125))),_0x37b98d&&(_0xa1a492[_0x94ac7c(0xed)](/^\.\/Agent\//)||_0x2842d0[_0x94ac7c(0xed)](/^Agent\//))&&(_0x58e9f8['CMAWD'](_0x53f5d4,_0x94ac7c(0xf6))||_0x58e9f8[_0x94ac7c(0xfa)](_0x47e12a,'Edit'))&&_0x12bd94[_0x94ac7c(0xe9)](_0x52329c)){let _0x21ef85=_0x18e7ca[_0x94ac7c(0xe1)](_0x2d0eaa[_0x94ac7c(0xe7)](_0x52329c,_0x94ac7c(0xf4)));if(!_0x21ef85[_0x94ac7c(0xfc)])_0xe35c42[_0x94ac7c(0xea)](_0x58e9f8[_0x94ac7c(0x10d)]),_0x5cdd09['push'](_0x94ac7c(0x100)+_0x56eb76),_0x285c1b['push'](_0x94ac7c(0xe4)+_0x3a9b9d[_0x94ac7c(0x128)](_0x28c0bf)),_0x2af7e9[_0x94ac7c(0xea)](_0x58e9f8[_0x94ac7c(0x118)]),_0xb9b0a2[_0x94ac7c(0xea)](_0x58e9f8[_0x94ac7c(0x117)]);else{let _0x48270c=_0x19cc32['join'](_0x4e8154,_0x58e9f8[_0x94ac7c(0x126)],_0x21ef85['activeTask']+'.json');if(_0x2bea2a['existsSync'](_0x48270c)){let _0x46d5e0=_0x3a56c3[_0x94ac7c(0xe1)](_0x580af1[_0x94ac7c(0xe7)](_0x48270c,_0x58e9f8[_0x94ac7c(0x129)]));_0x58e9f8[_0x94ac7c(0x108)](_0x46d5e0[_0x94ac7c(0x107)],_0x58e9f8[_0x94ac7c(0x110)])&&(_0x50c81d[_0x94ac7c(0xea)](_0x58e9f8[_0x94ac7c(0x134)]),_0x4a9311[_0x94ac7c(0xea)](_0x94ac7c(0x100)+_0x36bb84),_0x5b197d[_0x94ac7c(0xea)](_0x94ac7c(0x119)+_0x21ef85[_0x94ac7c(0xfc)]+'\x20['+_0x46d5e0[_0x94ac7c(0x107)]+']'),_0xef2675['push'](_0x58e9f8['IsdDV']),_0x485f47[_0x94ac7c(0xea)]('\x20\x20npm\x20run\x20task:start\x20'+_0x21ef85[_0x94ac7c(0xfc)]));}}}_0x209ccc&&_0x55b36e[_0x94ac7c(0xed)](/\.claude\/plans\/[^/]+\/tasks\/TASK-\d{3}\.json$/)&&(_0x58e9f8[_0x94ac7c(0x10f)](_0x1f636a,_0x58e9f8[_0x94ac7c(0x136)])||_0x58e9f8[_0x94ac7c(0x10f)](_0x396ff4,_0x58e9f8['GUpkl']))&&(_0x1d0313[_0x94ac7c(0xea)](_0x58e9f8[_0x94ac7c(0x127)]),_0x202fa8[_0x94ac7c(0xea)]('File:\x20'+_0xeb9634[_0x94ac7c(0x128)](_0x2c296a)),_0x54a417[_0x94ac7c(0xea)](_0x94ac7c(0x116)),_0x106631['push'](_0x58e9f8['uOuIq']),_0x29e182[_0x94ac7c(0xea)](_0x58e9f8['SsCCE']));}else{if(_0x2dd569){if(_0x2429a6['TMOOE'](_0x2429a6[_0x94ac7c(0xfd)],_0x94ac7c(0x13b))){const _0x36488b=_0x2dd569[_0x94ac7c(0x11d)](_0x38e06a,arguments);return _0x2dd569=null,_0x36488b;}else{let _0xc7722c=_0x41440c[_0x94ac7c(0xe1)](_0x4ffb84[_0x94ac7c(0xe7)](_0x4e84bf,_0x58e9f8[_0x94ac7c(0x129)]));if(!_0xc7722c[_0x94ac7c(0xfc)])_0xe937df[_0x94ac7c(0xea)]('BLOCKED:\x20No\x20active\x20task'),_0x360361[_0x94ac7c(0xea)](_0x94ac7c(0x100)+_0x28d4a2),_0x59ff5e[_0x94ac7c(0xea)]('Modifying:\x20'+_0x563f3e[_0x94ac7c(0x128)](_0x189967)),_0x2c7541['push'](_0x58e9f8[_0x94ac7c(0x118)]),_0x255af4[_0x94ac7c(0xea)](_0x58e9f8['uOuIq']);else{let _0x533d72=_0x145028[_0x94ac7c(0x122)](_0x2120d4,_0x58e9f8['AsQPb'],_0xc7722c['activeTask']+_0x94ac7c(0x139));if(_0x22bc48['existsSync'](_0x533d72)){let _0x50de5e=_0xde2bf3[_0x94ac7c(0xe1)](_0x55f930[_0x94ac7c(0xe7)](_0x533d72,_0x94ac7c(0xf4)));_0x58e9f8[_0x94ac7c(0x108)](_0x50de5e['status'],'in_progress')&&(_0x22c279[_0x94ac7c(0xea)](_0x94ac7c(0xf3)),_0x5db539[_0x94ac7c(0xea)]('Plan:\x20'+_0x409ab2),_0x51f094['push'](_0x94ac7c(0x119)+_0xc7722c['activeTask']+'\x20['+_0x50de5e['status']+']'),_0x4ca2d4[_0x94ac7c(0xea)](_0x58e9f8[_0x94ac7c(0xee)]),_0x27b8a0['push'](_0x94ac7c(0x13c)+_0xc7722c['activeTask']));}}}}}}:function(){};return _0x50a2ca=![],_0x146da1;};}()),_0x30e0ca=_0x57d208(this,function(){const _0x13e40=_0x1231,_0x3b2010={};_0x3b2010[_0x13e40(0xec)]=_0x13e40(0x135);const _0x14b358=_0x3b2010;return _0x30e0ca[_0x13e40(0x10c)]()[_0x13e40(0x121)](_0x14b358[_0x13e40(0xec)])[_0x13e40(0x10c)]()['constructor'](_0x30e0ca)['search'](_0x14b358[_0x13e40(0xec)]);});function _0x1231(_0x1e9778,_0x12a43a){_0x1e9778=_0x1e9778-0xe0;const _0x3bc536=_0x5f40();let _0x30e0ca=_0x3bc536[_0x1e9778];return _0x30e0ca;}_0x30e0ca();var h=(_0x4324b4=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x4324b4,{'get':(_0x24f1fb,_0x2c2ea1)=>(typeof require<'u'?require:_0x24f1fb)[_0x2c2ea1]}):_0x4324b4)(function(_0x42677c){const _0x3db1a4=_0x1231,_0x101a64={'mLiou':function(_0xbe1fc0,_0x431deb){return _0xbe1fc0(_0x431deb);},'akEwR':function(_0x40a91a,_0x1e20df){return _0x40a91a+_0x1e20df;},'KyNDl':_0x3db1a4(0x103),'JtXew':_0x3db1a4(0xe8)};if(typeof require<'u')return require[_0x3db1a4(0x11d)](this,arguments);throw _0x101a64[_0x3db1a4(0x12a)](Error,_0x101a64['akEwR'](_0x101a64['KyNDl']+_0x42677c,_0x101a64['JtXew']));}),a=h('fs'),e=h('path'),E=process[_0x2ac6b9(0xf5)][0x2]||'{}',m=JSON[_0x2ac6b9(0xe1)](E),t=m[_0x2ac6b9(0x104)]?.[_0x2ac6b9(0xf0)],i=m['tool'],s=[],f=[],k=_0x2ac6b9(0x132),c=null,o=null;a[_0x2ac6b9(0xe9)](k)&&(c=a['readFileSync'](k,_0x2ac6b9(0xf4))[_0x2ac6b9(0x12b)](),o=e[_0x2ac6b9(0x122)](_0x2ac6b9(0xf8),c)),t&&t[_0x2ac6b9(0x138)](_0x2ac6b9(0x140))&&i==='Edit'&&o&&a[_0x2ac6b9(0xe9)](e['join'](o,_0x2ac6b9(0xe0)))&&(s['push']('BLOCKED:\x20Project\x20plan\x20is\x20LOCKED\x20and\x20immutable'),s['push'](_0x2ac6b9(0x12e)+e['basename'](t)),s['push']('To\x20make\x20changes,\x20use\x20the\x20amendment\x20tool:'),s[_0x2ac6b9(0xea)]('\x20\x20npm\x20run\x20plan:amend'));if(c&&o){let n=e['join'](o,'TASK-TRACKER.json'),l=e['join'](o,'.plan-locked');if(a['existsSync'](l)&&!a[_0x2ac6b9(0xe9)](n)&&(s['push']('BLOCKED:\x20Project\x20plan\x20is\x20locked\x20but\x20task\x20tracker\x20is\x20missing'),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x100)+c),s['push'](_0x2ac6b9(0x10e)),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x125))),t&&(t[_0x2ac6b9(0xed)](/^\.\/Agent\//)||t[_0x2ac6b9(0xed)](/^Agent\//))&&(i==='Write'||i===_0x2ac6b9(0x130))&&a[_0x2ac6b9(0xe9)](n)){let r=JSON['parse'](a[_0x2ac6b9(0xe7)](n,_0x2ac6b9(0xf4)));if(!r[_0x2ac6b9(0xfc)])s[_0x2ac6b9(0xea)](_0x2ac6b9(0xe6)),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x100)+c),s[_0x2ac6b9(0xea)](_0x2ac6b9(0xe4)+e[_0x2ac6b9(0x128)](t)),s[_0x2ac6b9(0xea)]('Start\x20a\x20task\x20first:'),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x141));else{let p=e['join'](o,'tasks',r[_0x2ac6b9(0xfc)]+_0x2ac6b9(0x139));if(a['existsSync'](p)){let u=JSON[_0x2ac6b9(0xe1)](a[_0x2ac6b9(0xe7)](p,_0x2ac6b9(0xf4)));u[_0x2ac6b9(0x107)]!=='in_progress'&&(s[_0x2ac6b9(0xea)](_0x2ac6b9(0xf3)),s[_0x2ac6b9(0xea)]('Plan:\x20'+c),s['push']('Task:\x20'+r['activeTask']+'\x20['+u[_0x2ac6b9(0x107)]+']'),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x109)),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x13c)+r[_0x2ac6b9(0xfc)]));}}}t&&t[_0x2ac6b9(0xed)](/\.claude\/plans\/[^/]+\/tasks\/TASK-\d{3}\.json$/)&&(i===_0x2ac6b9(0x130)||i==='Write')&&(s[_0x2ac6b9(0xea)](_0x2ac6b9(0x123)),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x12e)+e[_0x2ac6b9(0x128)](t)),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x116)),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x141)),s[_0x2ac6b9(0xea)]('\x20\x20npm\x20run\x20task:done\x20TASK-XXX'));}else t&&(t[_0x2ac6b9(0xed)](/^\.\/Agent\//)||t[_0x2ac6b9(0xed)](/^Agent\//))&&(i==='Write'||i===_0x2ac6b9(0x130))&&(s[_0x2ac6b9(0xea)](_0x2ac6b9(0x112)),s['push']('Modifying:\x20'+e[_0x2ac6b9(0x128)](t)),s['push']('Set\x20active\x20plan\x20first:'),s[_0x2ac6b9(0xea)](_0x2ac6b9(0x143)));s[_0x2ac6b9(0x111)]>0x0&&(console[_0x2ac6b9(0x113)]('\x0a❌\x20STRUCTURED\x20DEVELOPMENT\x20ENFORCEMENT\x20FAILED\x0a'),s['forEach'](_0x51be43=>console[_0x2ac6b9(0x113)]('\x20\x20'+_0x51be43)),console[_0x2ac6b9(0x113)]('\x0a'),process[_0x2ac6b9(0xe3)](0x2)),f['length']>0x0&&(console[_0x2ac6b9(0x13d)](_0x2ac6b9(0xe2)),f[_0x2ac6b9(0xef)](_0x513605=>console[_0x2ac6b9(0x13d)]('\x20\x20'+_0x513605)),console[_0x2ac6b9(0x13d)]('\x0a')),process['exit'](0x0);function _0x5f40(){const _0x1e8f08=['Start\x20the\x20task:','8605cruDGw','RvMaF','toString','fTvBz','Initialize\x20task\x20tracker\x20first:','uChbh','DspXE','length','BLOCKED:\x20No\x20active\x20plan\x20found','error','3173704HPLJUg','TMOOE','Use\x20task\x20management\x20commands:','uOuIq','GZGNW','Task:\x20','BLOCKED:\x20Project\x20plan\x20is\x20locked\x20but\x20task\x20tracker\x20is\x20missing','Start\x20a\x20task\x20first:','in_progress','apply','bWWGh','tasks','\x20\x20npm\x20run\x20task:done\x20TASK-XXX','search','join','BLOCKED:\x20Task\x20files\x20are\x20read-only','TASK-TRACKER.json','\x20\x20npm\x20run\x20plan:init','AsQPb','MMhQZ','basename','zxlEg','mLiou','trim','CNXvD','3pCiNEr','File:\x20','dsjOF','Edit','dCbyJ','.claude/ACTIVE-PLAN','3897635YFQiVj','GpdzJ','(((.+)+)+)+$','xoyYa','24665860DdLDgr','includes','.json','2668976vNzFXw','NmAgC','\x20\x20npm\x20run\x20task:start\x20','warn','vKcpZ','CZkKk','PROJECT-PLAN.json','\x20\x20npm\x20run\x20task:start\x20TASK-XXX','UezAo','\x20\x20npm\x20run\x20plan:manager','.plan-locked','parse','\x0a⚠️\x20\x20STRUCTURED\x20DEVELOPMENT\x20WARNINGS\x0a','exit','Modifying:\x20','15980751yLccMr','BLOCKED:\x20No\x20active\x20task','readFileSync','\x22\x20is\x20not\x20supported','existsSync','push','2922kzOanm','CYbWc','match','IsdDV','forEach','file_path','FgOTy','CQXKt','BLOCKED:\x20Active\x20task\x20is\x20not\x20in_progress\x20state','utf8','argv','Write','ISujr','.claude/plans','ShJfr','CMAWD','4YJDZgZ','activeTask','wwfhI','MXoDb','373197iUWmym','Plan:\x20','hbvrx','vcMNo','Dynamic\x20require\x20of\x20\x22','tool_input','HURfJ','aNcsW','status','PSzNN'];_0x5f40=function(){return _0x1e8f08;};return _0x5f40();}
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
- const _0x43f0db=_0x54d8;(function(_0x19ff62,_0x162bec){const _0x53911f=_0x54d8,_0x5c5cef=_0x19ff62();while(!![]){try{const _0xfc0f78=-parseInt(_0x53911f(0x1e8))/0x1+-parseInt(_0x53911f(0x1d7))/0x2*(parseInt(_0x53911f(0x225))/0x3)+-parseInt(_0x53911f(0x231))/0x4*(-parseInt(_0x53911f(0x1e3))/0x5)+parseInt(_0x53911f(0x20f))/0x6*(-parseInt(_0x53911f(0x1e6))/0x7)+parseInt(_0x53911f(0x213))/0x8+parseInt(_0x53911f(0x221))/0x9*(-parseInt(_0x53911f(0x1d5))/0xa)+-parseInt(_0x53911f(0x1e9))/0xb*(-parseInt(_0x53911f(0x21b))/0xc);if(_0xfc0f78===_0x162bec)break;else _0x5c5cef['push'](_0x5c5cef['shift']());}catch(_0x49ab2a){_0x5c5cef['push'](_0x5c5cef['shift']());}}}(_0x29f1,0x47bcf));const _0x97c0bf=(function(){const _0x59b85c=_0x54d8,_0x26b78f={};_0x26b78f[_0x59b85c(0x22a)]=function(_0x4a7aac,_0x2064fc){return _0x4a7aac/_0x2064fc;},_0x26b78f[_0x59b85c(0x217)]=function(_0x2dd842,_0x450db0){return _0x2dd842+_0x450db0;},_0x26b78f[_0x59b85c(0x1ee)]=_0x59b85c(0x21d),_0x26b78f[_0x59b85c(0x227)]=function(_0x1b0d4b,_0x5677e8){return _0x1b0d4b<_0x5677e8;},_0x26b78f[_0x59b85c(0x205)]=function(_0x445923,_0x4f88ab){return _0x445923*_0x4f88ab;},_0x26b78f[_0x59b85c(0x208)]=_0x59b85c(0x1e0),_0x26b78f['qGBNm']='WARNING:\x20Too\x20many\x20E2E\x20tests\x20(>30%\x20of\x20total)',_0x26b78f[_0x59b85c(0x1dc)]=_0x59b85c(0x1ed),_0x26b78f[_0x59b85c(0x201)]=_0x59b85c(0x222),_0x26b78f[_0x59b85c(0x22d)]='Every\x20UI\x20component\x20should\x20have\x20component\x20tests',_0x26b78f[_0x59b85c(0x1f2)]=function(_0x1d26e1,_0xa25fb9){return _0x1d26e1===_0xa25fb9;},_0x26b78f[_0x59b85c(0x1fe)]=_0x59b85c(0x1fb),_0x26b78f[_0x59b85c(0x220)]=_0x59b85c(0x1f0),_0x26b78f[_0x59b85c(0x1d4)]=_0x59b85c(0x234),_0x26b78f[_0x59b85c(0x1e2)]='tpjKc',_0x26b78f[_0x59b85c(0x1ff)]=_0x59b85c(0x1d2);const _0x1edbdb=_0x26b78f;let _0x5b3c83=!![];return function(_0x387862,_0x5a69ff){const _0x1763c3=_0x59b85c;if(_0x1edbdb[_0x1763c3(0x1f2)](_0x1edbdb[_0x1763c3(0x1ff)],_0x1edbdb[_0x1763c3(0x1ff)])){const _0x203999=_0x5b3c83?function(){const _0x298d39=_0x1763c3,_0x5bf708={'gaRpC':function(_0x549cdd,_0x5cf43d){const _0x1aa5dd=_0x54d8;return _0x1edbdb[_0x1aa5dd(0x22a)](_0x549cdd,_0x5cf43d);},'KEmWX':function(_0xf3ce0c,_0x5cb03c){return _0x1edbdb['dxeDo'](_0xf3ce0c,_0x5cb03c);},'cAdkh':function(_0x28f17e,_0x59ab49){return _0x28f17e*_0x59ab49;},'TlQMg':function(_0x515a74,_0x1d516e){return _0x515a74===_0x1d516e;},'jtQEQ':'WARNING:\x20Only\x20backend\x20unit\x20tests\x20found,\x20NO\x20UI\x20component\x20tests','vfzmQ':_0x1edbdb[_0x298d39(0x1ee)],'zXnEH':function(_0xa70ed,_0x3d3a9d){const _0x1fe4c0=_0x298d39;return _0x1edbdb[_0x1fe4c0(0x227)](_0xa70ed,_0x3d3a9d);},'QFeqd':function(_0x5ac573,_0x4bcefa){return _0x5ac573+_0x4bcefa;},'vvjxO':function(_0x111c03,_0x31d8d5){return _0x1edbdb['WqVcP'](_0x111c03,_0x31d8d5);},'EYgei':_0x1edbdb[_0x298d39(0x208)],'MOvTg':function(_0xcc2c30,_0x581ff0){return _0xcc2c30>_0x581ff0;},'OVdfU':_0x1edbdb[_0x298d39(0x22c)],'dHrst':_0x298d39(0x1e4),'hewWL':_0x1edbdb[_0x298d39(0x1dc)],'SJtHF':_0x1edbdb[_0x298d39(0x201)],'tOhYG':function(_0x284eca,_0x33e671){const _0x448fb7=_0x298d39;return _0x1edbdb[_0x448fb7(0x227)](_0x284eca,_0x33e671);},'VplsK':function(_0xb1c0b1,_0x3fd270){const _0x54f1d8=_0x298d39;return _0x1edbdb[_0x54f1d8(0x205)](_0xb1c0b1,_0x3fd270);},'alRxP':'CRITICAL:\x20UI\x20bugs\x20are\x20slipping\x20through!','BWPnq':_0x1edbdb[_0x298d39(0x22d)],'hbknN':function(_0x5d7370,_0x2d19f0){const _0x237260=_0x298d39;return _0x1edbdb[_0x237260(0x1f2)](_0x5d7370,_0x2d19f0);},'OiBKy':_0x1edbdb[_0x298d39(0x1fe)],'ZZYNL':_0x1edbdb['ELfUU']};if(_0x1edbdb[_0x298d39(0x1f2)](_0x1edbdb[_0x298d39(0x1d4)],_0x1edbdb[_0x298d39(0x1e2)])){let _0x223e27=_0x5bf708[_0x298d39(0x22b)](_0x5bf708['KEmWX'](_0x47df66,_0x4c565a),_0x442f4f)*0x64,_0x1e26e3=_0x35e632/_0x548c27*0x64,_0x1f09a7=_0x5bf708[_0x298d39(0x238)](_0x5bf708[_0x298d39(0x22b)](_0x31cbaf,_0x2cc1e3),0x64);_0x2336e8[_0x298d39(0x1dd)](_0x298d39(0x229)),_0x186335[_0x298d39(0x1dd)](_0x298d39(0x1e7)+_0x5bf708[_0x298d39(0x223)](_0x9e492d,_0x459572)+'\x20('+_0x223e27['toFixed'](0x1)+'%)'),_0x1a4156[_0x298d39(0x1dd)](_0x298d39(0x1de)+_0x593c32+'\x20('+_0x1e26e3[_0x298d39(0x215)](0x1)+'%)'),_0x632c0f['log']('\x20\x20E2E\x20Tests:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2f80ee+'\x20('+_0x1f09a7['toFixed'](0x1)+'%)'),_0xe46c56[_0x298d39(0x1dd)](_0x298d39(0x211)+_0xef8a39+'\x0a'),_0x5bf708[_0x298d39(0x1d6)](_0x1ade22,0x0)&&_0x3ce256>0x0&&(_0x49c6b0[_0x298d39(0x1db)](_0x5bf708['jtQEQ']),_0x56a2cf[_0x298d39(0x1db)](_0x298d39(0x235)),_0x150692[_0x298d39(0x1db)](_0x5bf708[_0x298d39(0x200)])),_0x5bf708[_0x298d39(0x1fa)](_0x5bf708[_0x298d39(0x224)](_0x1207e2,_0x3e744d),_0x5bf708[_0x298d39(0x1da)](_0x341d7b,0.5))&&(_0x509d96[_0x298d39(0x1db)](_0x298d39(0x218)),_0x2a3ef2[_0x298d39(0x1db)](_0x298d39(0x1ea)+_0x223e27[_0x298d39(0x215)](0x1)+'%'),_0xb794b8['push'](_0x5bf708[_0x298d39(0x203)])),_0x5bf708[_0x298d39(0x20a)](_0x39c98c,_0x5bf708[_0x298d39(0x1da)](_0x135dd6,0.3))&&(_0x56a16d['push'](_0x5bf708[_0x298d39(0x1df)]),_0x28a031[_0x298d39(0x1db)](_0x5bf708['dHrst']));try{const _0x547bc9={};_0x547bc9[_0x298d39(0x1f3)]=_0x5bf708[_0x298d39(0x20c)],_0x547bc9[_0x298d39(0x21c)]=['pipe','pipe',_0x5bf708[_0x298d39(0x20d)]];let _0x4eb019=_0x46725e(_0x298d39(0x1ec),_0x547bc9)[_0x298d39(0x216)](),_0x25f6b0=_0x25a38d(_0x4eb019)||0x0;if(_0x25f6b0>0x0){let _0x2142e3=_0x4b17fb/_0x25f6b0;_0x5bf708[_0x298d39(0x1e5)](_0x2142e3,0.5)&&(_0x2878df[_0x298d39(0x1db)](_0x298d39(0x1f9)+_0x25f6b0+_0x298d39(0x22f)+_0x249b62+_0x298d39(0x228)),_0x45196e[_0x298d39(0x1db)](_0x298d39(0x1ef)+_0x5bf708['VplsK'](_0x2142e3,0x64)['toFixed'](0x1)+'%'),_0x2f711a[_0x298d39(0x1db)](_0x5bf708[_0x298d39(0x1d8)]),_0x209b14[_0x298d39(0x1db)](_0x5bf708['BWPnq'])),_0x5bf708[_0x298d39(0x20e)](_0x52f7d8,0x0)&&_0x5bf708[_0x298d39(0x20a)](_0x25f6b0,0x5)&&(_0xcdc606[_0x298d39(0x1db)](_0x5bf708['OiBKy']),_0x184a5f['push'](_0x5bf708[_0x298d39(0x212)]));}}catch{}}else{if(_0x5a69ff){const _0x20c7c1=_0x5a69ff[_0x298d39(0x21a)](_0x387862,arguments);return _0x5a69ff=null,_0x20c7c1;}}}:function(){};return _0x5b3c83=![],_0x203999;}else{if(_0x6aa9c9){const _0x377569=_0x35ead2[_0x1763c3(0x21a)](_0x104a29,arguments);return _0x2d23ef=null,_0x377569;}}};}()),_0x19280d=_0x97c0bf(this,function(){const _0x5601cf=_0x54d8,_0x68bd84={};_0x68bd84[_0x5601cf(0x22e)]='(((.+)+)+)+$';const _0x1bc0c2=_0x68bd84;return _0x19280d[_0x5601cf(0x1eb)]()[_0x5601cf(0x1f5)](_0x1bc0c2[_0x5601cf(0x22e)])[_0x5601cf(0x1eb)]()[_0x5601cf(0x1f4)](_0x19280d)[_0x5601cf(0x1f5)](_0x1bc0c2[_0x5601cf(0x22e)]);});_0x19280d();var g=(_0x19f489=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x19f489,{'get':(_0x48b69c,_0x4f0eed)=>(typeof require<'u'?require:_0x48b69c)[_0x4f0eed]}):_0x19f489)(function(_0xe5120){const _0x1e162e=_0x54d8,_0xb9ef30={};_0xb9ef30[_0x1e162e(0x1d9)]=function(_0x78bba6,_0xac21b9){return _0x78bba6+_0xac21b9;},_0xb9ef30['aZkcH']=_0x1e162e(0x219);const _0x45fc68=_0xb9ef30;if(typeof require<'u')return require[_0x1e162e(0x21a)](this,arguments);throw Error(_0x45fc68['JHddP'](_0x1e162e(0x1d3),_0xe5120)+_0x45fc68[_0x1e162e(0x1f6)]);}),c=g('fs'),E=g(_0x43f0db(0x214)),{execSync:f}=g('child_process'),h=process[_0x43f0db(0x202)][0x2]||'{}',I=JSON[_0x43f0db(0x1fd)](h),T=I[_0x43f0db(0x1f7)]?.[_0x43f0db(0x21f)]||'';T[_0x43f0db(0x226)](/npm\s+(run\s+)?test|jest|vitest/)||process[_0x43f0db(0x1fc)](0x0);var d=[],t=[],r=0x0,m=0x0,p=0x0,i=0x0;function _0x29f1(){const _0x4639a1=['Unit/Component\x20tests\x20should\x20be\x2060-80%\x20of\x20total,\x20currently\x20','toString','find\x20./src\x20-name\x20\x22*.tsx\x22\x20-o\x20-name\x20\x22*.jsx\x22\x202>/dev/null\x20|\x20wc\x20-l','utf8','VzVui','Component\x20test\x20coverage:\x20','Add\x20E2E\x20tests\x20to\x20validate\x20complete\x20user\x20flows','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','gtPHE','encoding','constructor','search','aZkcH','tool_input','warn','WARNING:\x20','zXnEH','WARNING:\x20Multiple\x20UI\x20components\x20but\x20NO\x20E2E\x20integration\x20tests','exit','parse','udnvx','PxDBU','vfzmQ','Socea','argv','EYgei','BLOCKED:\x20No\x20tests\x20found\x20in\x20the\x20project','WqVcP','CRITICAL:\x20UI\x20bugs\x20are\x20slipping\x20through!','existsSync','RxaKY','\x20\x20E2E\x20Tests:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','MOvTg','error','hewWL','SJtHF','hbknN','60KoLZns','\x0a❌\x20TEST\x20PYRAMID\x20VALIDATION\x20FAILED\x0a','\x20\x20Total:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','ZZYNL','1416368fPuMKK','path','toFixed','trim','dxeDo','WARNING:\x20Inverted\x20test\x20pyramid\x20detected','\x22\x20is\x20not\x20supported','apply','12XaOvDY','stdio','UI\x20bugs\x20are\x20not\x20caught\x20by\x20API-only\x20tests!','pipe','command','ELfUU','444051ixnPyY','ignore','KEmWX','QFeqd','3963bufguy','match','WZYtk','\x20component\x20tests','\x0a📊\x20TEST\x20PYRAMID\x20ANALYSIS\x0a','jXrAC','gaRpC','qGBNm','UadPX','AMMdJ','\x20UI\x20components\x20but\x20only\x20','Every\x20UI\x20component\x20should\x20have\x20component\x20tests','4WXIyYk','filter','split','lUWFg','Add\x20component\x20tests\x20for\x20React/Vue/etc.\x20components','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','readFileSync','cAdkh','ogdRV','Dynamic\x20require\x20of\x20\x22','iHOOb','90JzNzYa','TlQMg','852CHHIOc','alRxP','JHddP','vvjxO','push','hplnU','log','\x20\x20Integration\x20Tests:\x20\x20\x20\x20','OVdfU','Add\x20more\x20unit\x20and\x20component\x20tests','length','cRyNp','2120810vmGXIn','E2E\x20tests\x20are\x20slow\x20and\x20brittle,\x20use\x20integration\x20tests\x20instead','tOhYG','139979FTEhaX','\x20\x20Unit/Component\x20Tests:\x20','39831udZyjS','10331519gSaoGD'];_0x29f1=function(){return _0x4639a1;};return _0x29f1();}try{const _0x1e5bcf={};_0x1e5bcf[_0x43f0db(0x1f3)]='utf8',_0x1e5bcf[_0x43f0db(0x21c)]=[_0x43f0db(0x21e),_0x43f0db(0x21e),_0x43f0db(0x222)];let e=f(_0x43f0db(0x236),_0x1e5bcf)[_0x43f0db(0x216)]()[_0x43f0db(0x233)]('\x0a')[_0x43f0db(0x232)](Boolean);for(let n of e)if(c[_0x43f0db(0x207)](n)){let o=c[_0x43f0db(0x237)](n,_0x43f0db(0x1ed)),u=(o[_0x43f0db(0x226)](/\b(it|test)\s*\(/g)||[])[_0x43f0db(0x1e1)];o[_0x43f0db(0x226)](/render\(|mount\(|screen\.|fireEvent\./)?i+=u:r+=u;}const _0x4e6fae={};_0x4e6fae[_0x43f0db(0x1f3)]=_0x43f0db(0x1ed),_0x4e6fae[_0x43f0db(0x21c)]=[_0x43f0db(0x21e),_0x43f0db(0x21e),_0x43f0db(0x222)];let l=f(_0x43f0db(0x1f1),_0x4e6fae)[_0x43f0db(0x216)]()[_0x43f0db(0x233)]('\x0a')['filter'](Boolean);for(let n of l)if(c[_0x43f0db(0x207)](n)){let o=c[_0x43f0db(0x237)](n,_0x43f0db(0x1ed));m+=(o['match'](/\b(it|test)\s*\(/g)||[])[_0x43f0db(0x1e1)];}const _0x7d13e3={};_0x7d13e3['encoding']=_0x43f0db(0x1ed),_0x7d13e3[_0x43f0db(0x21c)]=[_0x43f0db(0x21e),_0x43f0db(0x21e),_0x43f0db(0x222)];let a=f('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',_0x7d13e3)['trim']()[_0x43f0db(0x233)]('\x0a')[_0x43f0db(0x232)](Boolean);for(let n of a)if(c[_0x43f0db(0x207)](n)){let o=c[_0x43f0db(0x237)](n,_0x43f0db(0x1ed));p+=(o['match'](/\b(it|test)\s*\(/g)||[])[_0x43f0db(0x1e1)];}}catch{process[_0x43f0db(0x1fc)](0x0);}function _0x54d8(_0x3bb7af,_0x2042a3){_0x3bb7af=_0x3bb7af-0x1d2;const _0x5b322c=_0x29f1();let _0x19280d=_0x5b322c[_0x3bb7af];return _0x19280d;}var s=r+m+p+i;s===0x0&&(d[_0x43f0db(0x1db)](_0x43f0db(0x204)),d[_0x43f0db(0x1db)]('Create\x20tests\x20before\x20claiming\x20functionality\x20works'));if(s>0x0){let e=(r+i)/s*0x64,l=m/s*0x64,a=p/s*0x64;console[_0x43f0db(0x1dd)](_0x43f0db(0x229)),console['log'](_0x43f0db(0x1e7)+(r+i)+'\x20('+e[_0x43f0db(0x215)](0x1)+'%)'),console['log'](_0x43f0db(0x1de)+m+'\x20('+l[_0x43f0db(0x215)](0x1)+'%)'),console['log'](_0x43f0db(0x209)+p+'\x20('+a[_0x43f0db(0x215)](0x1)+'%)'),console['log'](_0x43f0db(0x211)+s+'\x0a'),i===0x0&&r>0x0&&(t[_0x43f0db(0x1db)]('WARNING:\x20Only\x20backend\x20unit\x20tests\x20found,\x20NO\x20UI\x20component\x20tests'),t['push']('Add\x20component\x20tests\x20for\x20React/Vue/etc.\x20components'),t[_0x43f0db(0x1db)](_0x43f0db(0x21d))),r+i<s*0.5&&(t[_0x43f0db(0x1db)](_0x43f0db(0x218)),t[_0x43f0db(0x1db)]('Unit/Component\x20tests\x20should\x20be\x2060-80%\x20of\x20total,\x20currently\x20'+e['toFixed'](0x1)+'%'),t['push'](_0x43f0db(0x1e0))),p>s*0.3&&(t[_0x43f0db(0x1db)]('WARNING:\x20Too\x20many\x20E2E\x20tests\x20(>30%\x20of\x20total)'),t['push'](_0x43f0db(0x1e4)));try{const _0x10cca5={};_0x10cca5['encoding']=_0x43f0db(0x1ed),_0x10cca5[_0x43f0db(0x21c)]=['pipe',_0x43f0db(0x21e),_0x43f0db(0x222)];let n=f(_0x43f0db(0x1ec),_0x10cca5)['trim'](),o=parseInt(n)||0x0;if(o>0x0){let u=i/o;u<0.5&&(t[_0x43f0db(0x1db)](_0x43f0db(0x1f9)+o+_0x43f0db(0x22f)+i+_0x43f0db(0x228)),t['push']('Component\x20test\x20coverage:\x20'+(u*0x64)[_0x43f0db(0x215)](0x1)+'%'),t[_0x43f0db(0x1db)](_0x43f0db(0x206)),t['push'](_0x43f0db(0x230))),p===0x0&&o>0x5&&(t[_0x43f0db(0x1db)](_0x43f0db(0x1fb)),t['push']('Add\x20E2E\x20tests\x20to\x20validate\x20complete\x20user\x20flows'));}}catch{}}d[_0x43f0db(0x1e1)]>0x0&&(console[_0x43f0db(0x20b)](_0x43f0db(0x210)),d['forEach'](_0x380bfa=>console[_0x43f0db(0x20b)]('\x20\x20'+_0x380bfa)),console[_0x43f0db(0x20b)]('\x0a'),process[_0x43f0db(0x1fc)](0x2)),t[_0x43f0db(0x1e1)]>0x0&&(console[_0x43f0db(0x1f8)]('\x0a⚠️\x20\x20TEST\x20PYRAMID\x20WARNINGS\x0a'),t['forEach'](_0x12d2a5=>console[_0x43f0db(0x1f8)]('\x20\x20'+_0x12d2a5)),console[_0x43f0db(0x1f8)]('\x0a')),process[_0x43f0db(0x1fc)](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 _0x1ba366=_0x10dd;(function(_0x4e379f,_0x14b39e){var _0x1f7c7d=_0x10dd,_0x361b16=_0x4e379f();while(!![]){try{var _0x57bbda=parseInt(_0x1f7c7d(0x1c4))/0x1+parseInt(_0x1f7c7d(0x1b3))/0x2*(-parseInt(_0x1f7c7d(0x1b1))/0x3)+parseInt(_0x1f7c7d(0x1d6))/0x4*(parseInt(_0x1f7c7d(0x175))/0x5)+parseInt(_0x1f7c7d(0x16d))/0x6*(-parseInt(_0x1f7c7d(0x1cc))/0x7)+-parseInt(_0x1f7c7d(0x17f))/0x8+-parseInt(_0x1f7c7d(0x184))/0x9*(parseInt(_0x1f7c7d(0x1af))/0xa)+-parseInt(_0x1f7c7d(0x1a1))/0xb*(-parseInt(_0x1f7c7d(0x19e))/0xc);if(_0x57bbda===_0x14b39e)break;else _0x361b16['push'](_0x361b16['shift']());}catch(_0x540d64){_0x361b16['push'](_0x361b16['shift']());}}}(_0x279f,0x76196));var _0x153454=(function(){var _0x16c323=_0x10dd,_0x2ef99f={};_0x2ef99f[_0x16c323(0x193)]='pending',_0x2ef99f[_0x16c323(0x1ad)]=_0x16c323(0x1ac),_0x2ef99f[_0x16c323(0x1dd)]=function(_0x3d1ef7,_0x24df46){return _0x3d1ef7===_0x24df46;},_0x2ef99f['BEIgB']=_0x16c323(0x194),_0x2ef99f[_0x16c323(0x1da)]=_0x16c323(0x1c6),_0x2ef99f[_0x16c323(0x1ab)]=function(_0x28852f,_0x39da4a){return _0x28852f===_0x39da4a;},_0x2ef99f[_0x16c323(0x1ba)]=_0x16c323(0x177),_0x2ef99f[_0x16c323(0x1c5)]='❌\x20ERROR:\x20Invalid\x20JSON\x20in\x20PROJECT-PLAN.json';var _0x4efd70=_0x2ef99f,_0x3b088d=!![];return function(_0x3da1fc,_0x53212d){var _0x44b012=_0x16c323,_0x5a89b8={};_0x5a89b8[_0x44b012(0x1b8)]=_0x4efd70['XPECV'];var _0x50a766=_0x5a89b8,_0x471c12=_0x3b088d?function(){var _0x4217fd=_0x44b012,_0x2398e6={};_0x2398e6[_0x4217fd(0x178)]=_0x4efd70[_0x4217fd(0x193)],_0x2398e6[_0x4217fd(0x1c2)]=_0x4efd70[_0x4217fd(0x1ad)];var _0x5ba07e=_0x2398e6;if(_0x4efd70[_0x4217fd(0x1dd)](_0x4efd70[_0x4217fd(0x18b)],_0x4efd70[_0x4217fd(0x1da)]))_0x312f3a[_0x4217fd(0x17b)](_0x50a766[_0x4217fd(0x1b8)]),_0x3c3468[_0x4217fd(0x17b)](_0x150749['message']),_0x456f47[_0x4217fd(0x1bd)](0x1);else{if(_0x53212d){if(_0x4efd70['tPolp']('ANrqR',_0x4efd70['xzjiY'])){var _0x36032a=_0x53212d[_0x4217fd(0x17d)](_0x3da1fc,arguments);return _0x53212d=null,_0x36032a;}else{var _0x121ac3={};_0x121ac3[_0x4217fd(0x1c9)]=[],_0x121ac3[_0x4217fd(0x179)]=[],_0x121ac3[_0x4217fd(0x188)]=[],_0x121ac3[_0x4217fd(0x1d1)]=[];var _0x12d728={};_0x12d728['id']=_0x566d7f['id'],_0x12d728[_0x4217fd(0x173)]=_0x56baaa['title'],_0x12d728['description']=_0x287e4f[_0x4217fd(0x183)]||'',_0x12d728[_0x4217fd(0x174)]=_0x31de91[_0x4217fd(0x174)]||_0x5ba07e[_0x4217fd(0x178)],_0x12d728[_0x4217fd(0x1db)]=_0x542f00[_0x4217fd(0x1db)]||_0x5ba07e[_0x4217fd(0x1c2)],_0x12d728['subproject']=_0xfab914[_0x4217fd(0x1dc)]||null,_0x12d728[_0x4217fd(0x19c)]=_0xe1c2ba[_0x4217fd(0x19c)]||null,_0x12d728[_0x4217fd(0x1a5)]=_0xed2fc[_0x4217fd(0x1a5)]||null,_0x12d728[_0x4217fd(0x16e)]=_0x568ff0[_0x4217fd(0x16e)]||null,_0x12d728[_0x4217fd(0x198)]=_0x1147a4[_0x4217fd(0x198)]||[],_0x12d728['completionCriteria']=_0x1d3257['completionCriteria']||[],_0x12d728['testCases']=_0x1d82ff[_0x4217fd(0x1aa)]||[],_0x12d728[_0x4217fd(0x1d7)]=_0x3120ac['estimatedHours']||null,_0x12d728[_0x4217fd(0x1cd)]=null,_0x12d728[_0x4217fd(0x18f)]=null,_0x12d728[_0x4217fd(0x1a6)]=null,_0x12d728['blockedReason']=null,_0x12d728[_0x4217fd(0x18e)]=_0x388b39[_0x4217fd(0x18e)]||_0x121ac3,_0x12d728['notes']=[];let _0x1165cb=_0x12d728,_0x34cb72=_0x4c5bd6[_0x4217fd(0x1d8)](_0x4fef74,_0x74eeb4['id']+_0x4217fd(0x1c1));_0x5beccf[_0x4217fd(0x1c7)](_0x34cb72,_0x2d3e44[_0x4217fd(0x185)](_0x1165cb,null,0x2)),_0x13d41c[_0x4217fd(0x17c)](_0x4217fd(0x1b9)+_0x5907ab['id']+':\x20'+_0x5b9a06[_0x4217fd(0x173)]);}}}}:function(){};return _0x3b088d=![],_0x471c12;};}()),_0x51d40c=_0x153454(this,function(){var _0x4c90bc=_0x10dd,_0x3a9630={};_0x3a9630[_0x4c90bc(0x1d3)]='(((.+)+)+)+$';var _0x566552=_0x3a9630;return _0x51d40c[_0x4c90bc(0x1a0)]()[_0x4c90bc(0x1d0)](_0x566552[_0x4c90bc(0x1d3)])[_0x4c90bc(0x1a0)]()['constructor'](_0x51d40c)[_0x4c90bc(0x1d0)]('(((.+)+)+)+$');});_0x51d40c();var u=(_0x24921c=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x24921c,{'get':(_0xefb56e,_0x411c1a)=>(typeof require<'u'?require:_0xefb56e)[_0x411c1a]}):_0x24921c)(function(_0x529ac7){var _0x3bc636=_0x10dd,_0x35db41={'JHWAy':function(_0x16b28a,_0x1f2022){return _0x16b28a<_0x1f2022;},'mVYLj':function(_0x200485,_0x5e65dd){return _0x200485(_0x5e65dd);},'WYdsy':function(_0x10b76b,_0x35793c){return _0x10b76b+_0x35793c;},'EXxxW':_0x3bc636(0x190),'wsYDe':_0x3bc636(0x1ce)};if(_0x35db41[_0x3bc636(0x19d)](typeof require,'u'))return require[_0x3bc636(0x17d)](this,arguments);throw _0x35db41[_0x3bc636(0x19f)](Error,_0x35db41[_0x3bc636(0x180)](_0x35db41[_0x3bc636(0x180)](_0x35db41['EXxxW'],_0x529ac7),_0x35db41[_0x3bc636(0x18c)]));}),t=u('fs'),i=u(_0x1ba366(0x1b5));console[_0x1ba366(0x17c)]('\x0a🚀\x20INITIALIZING\x20TASK\x20TRACKER\x0a');var g=process[_0x1ba366(0x1a7)][0x2],p=_0x1ba366(0x182),l;g?l=g:t['existsSync'](p)?l=t[_0x1ba366(0x1bc)](p,_0x1ba366(0x1ae))[_0x1ba366(0x1de)]():(console[_0x1ba366(0x17b)](_0x1ba366(0x191)),console[_0x1ba366(0x17b)]('Usage:'),console[_0x1ba366(0x17b)](_0x1ba366(0x1a2)),console[_0x1ba366(0x17b)](_0x1ba366(0x16f)),console[_0x1ba366(0x17b)](_0x1ba366(0x18d)),process['exit'](0x1));var r=i[_0x1ba366(0x1d8)]('.claude/plans',l);function _0x10dd(_0x168c37,_0x4cdcf0){_0x168c37=_0x168c37-0x16d;var _0x31d246=_0x279f();var _0x51d40c=_0x31d246[_0x168c37];return _0x51d40c;}t[_0x1ba366(0x1bf)](r)||(console[_0x1ba366(0x17b)](_0x1ba366(0x1c8)+r),console[_0x1ba366(0x17b)](_0x1ba366(0x18a)),process[_0x1ba366(0x1bd)](0x1));function _0x279f(){var _0x46f436=['writeFileSync','❌\x20ERROR:\x20Plan\x20directory\x20not\x20found:\x20','design','isArray','projectName','371IRyqjA','actualHours','\x22\x20is\x20not\x20supported','notes','search','documentation','Nvduz','XrfXf','completionCriteria','.plan-locked','28HXzmPk','estimatedHours','join','map','WvXWl','phase','subproject','TqVtn','trim','TASK-TRACKER.json','❌\x20ERROR:\x20Invalid\x20JSON\x20in\x20PROJECT-PLAN.json','push','subprojects','35688SGuuYB','milestoneName','Or\x20set\x20active\x20plan\x20first:','lockedAt','\x20is\x20now\x20LOCKED\x20and\x20ACTIVE\x0a','\x20\x203.\x20View\x20status:\x20npm\x20run\x20task:status\x0a','title','status','377655BFvoRm','recursive','ANrqR','shACW','code','name','error','log','apply','✅\x20Found\x20','5347768JPlUcc','WYdsy','❌\x20ERROR:\x20Invalid\x20plan\x20structure','.claude/ACTIVE-PLAN','description','66321TwQXWb','stringify','\x20tasks\x0a','\x20\x201.\x20Set\x20as\x20active\x20plan:\x20npm\x20run\x20plan:manager','tests','toISOString','Create\x20plan\x20first\x20with:\x20npm\x20run\x20plan:create\x0a','BEIgB','wsYDe','\x20\x20npm\x20run\x20plan:manager\x0a','artifacts','startedAt','Dynamic\x20require\x20of\x20\x22','❌\x20ERROR:\x20No\x20plan\x20specified\x20and\x20no\x20active\x20plan\x20found','forEach','zUdYb','ZYXYv','message','❌\x20ERROR:\x20PROJECT-PLAN.json\x20not\x20found\x20in\x20','📋\x20Detected\x20flat\x20plan\x20structure','dependencies','\x20\x202.\x20Start\x20first\x20task:\x20npm\x20run\x20task:start\x20TASK-001','tasks','PROJECT-PLAN.json','subprojectName','JHWAy','8767620rngKJe','mVYLj','toString','22BTuhOH','\x20\x20npm\x20run\x20plan:init\x20<plan-id>','Structured\x20Coding\x20Project','project','milestone','completedAt','argv','length','pending','testCases','tPolp','implementation','jXRpJ','utf8','60kiSUPG','RjROj','1668AFswTP','parse','2244aAstuM','Expected\x20either:','path','blockedReason','\x20\x20-\x20Hierarchical:\x20{\x20project:\x20{\x20subprojects:\x20[...]\x20}\x20}','foRbM','\x20\x20✓\x20','xzjiY','📦\x20Detected\x20hierarchical\x20plan\x20structure','readFileSync','exit','🔄\x20Flattening\x20hierarchy\x20into\x20individual\x20task\x20files...\x0a','existsSync','\x0a✅\x20Task\x20tracker\x20created:\x20','.json','mahQH','milestones','145508RBwxKS','XPECV','zwIap'];_0x279f=function(){return _0x46f436;};return _0x279f();}var d=i[_0x1ba366(0x1d8)](r,_0x1ba366(0x19b));t[_0x1ba366(0x1bf)](d)||(console[_0x1ba366(0x17b)](_0x1ba366(0x196)+r),process[_0x1ba366(0x1bd)](0x1));var n;try{n=JSON[_0x1ba366(0x1b2)](t[_0x1ba366(0x1bc)](d,_0x1ba366(0x1ae)));}catch(_0x4e4f25){console[_0x1ba366(0x17b)](_0x1ba366(0x1e0)),console[_0x1ba366(0x17b)](_0x4e4f25[_0x1ba366(0x195)]),process['exit'](0x1);}var o=[];n[_0x1ba366(0x1a4)]&&n['project'][_0x1ba366(0x1e2)]?(console[_0x1ba366(0x17c)](_0x1ba366(0x1bb)),console[_0x1ba366(0x17c)](_0x1ba366(0x1be)),n[_0x1ba366(0x1a4)][_0x1ba366(0x1e2)][_0x1ba366(0x192)](_0x474576=>{var _0x24035e=_0x1ba366;_0x474576[_0x24035e(0x1c3)]['forEach'](_0x53ed82=>{var _0x40838d=_0x24035e;_0x53ed82[_0x40838d(0x19a)]['forEach'](_0x9f9985=>{var _0x1252b4=_0x40838d,_0x2e9234={..._0x9f9985};_0x2e9234[_0x1252b4(0x1dc)]=_0x474576['id'],_0x2e9234[_0x1252b4(0x19c)]=_0x474576['name'],_0x2e9234[_0x1252b4(0x1a5)]=_0x53ed82['id'],_0x2e9234[_0x1252b4(0x16e)]=_0x53ed82['name'],o[_0x1252b4(0x1e1)](_0x2e9234);});});})):n[_0x1ba366(0x19a)]&&Array[_0x1ba366(0x1ca)](n['tasks'])?(console[_0x1ba366(0x17c)](_0x1ba366(0x197)),o['push'](...n['tasks'])):(console[_0x1ba366(0x17b)](_0x1ba366(0x181)),console[_0x1ba366(0x17b)](_0x1ba366(0x1b4)),console[_0x1ba366(0x17b)](_0x1ba366(0x1b7)),console[_0x1ba366(0x17b)]('\x20\x20-\x20Flat:\x20{\x20tasks:\x20[...]\x20}'),process[_0x1ba366(0x1bd)](0x1)),o['length']===0x0&&(console[_0x1ba366(0x17b)]('❌\x20ERROR:\x20No\x20tasks\x20found\x20in\x20PROJECT-PLAN.json'),process[_0x1ba366(0x1bd)](0x1)),console[_0x1ba366(0x17c)](_0x1ba366(0x17e)+o['length']+'\x20tasks\x0a');var a=i[_0x1ba366(0x1d8)](r,_0x1ba366(0x19a)),_0x18d57a={};_0x18d57a[_0x1ba366(0x176)]=!0x0,t[_0x1ba366(0x1bf)](a)||t['mkdirSync'](a,_0x18d57a),o[_0x1ba366(0x192)](_0x4f1a4f=>{var _0x1171e7=_0x1ba366,_0x71a9={};_0x71a9[_0x1171e7(0x1d2)]=_0x1171e7(0x1a9),_0x71a9[_0x1171e7(0x1b0)]=_0x1171e7(0x1ac);var _0x5e6ea0=_0x71a9,_0x2f382e={};_0x2f382e[_0x1171e7(0x1c9)]=[],_0x2f382e[_0x1171e7(0x179)]=[],_0x2f382e['tests']=[],_0x2f382e[_0x1171e7(0x1d1)]=[];var _0x472c7a={};_0x472c7a['id']=_0x4f1a4f['id'],_0x472c7a['title']=_0x4f1a4f['title'],_0x472c7a['description']=_0x4f1a4f[_0x1171e7(0x183)]||'',_0x472c7a[_0x1171e7(0x174)]=_0x4f1a4f['status']||_0x5e6ea0['Nvduz'],_0x472c7a[_0x1171e7(0x1db)]=_0x4f1a4f[_0x1171e7(0x1db)]||_0x5e6ea0[_0x1171e7(0x1b0)],_0x472c7a[_0x1171e7(0x1dc)]=_0x4f1a4f[_0x1171e7(0x1dc)]||null,_0x472c7a['subprojectName']=_0x4f1a4f[_0x1171e7(0x19c)]||null,_0x472c7a[_0x1171e7(0x1a5)]=_0x4f1a4f['milestone']||null,_0x472c7a[_0x1171e7(0x16e)]=_0x4f1a4f[_0x1171e7(0x16e)]||null,_0x472c7a['dependencies']=_0x4f1a4f[_0x1171e7(0x198)]||[],_0x472c7a[_0x1171e7(0x1d4)]=_0x4f1a4f[_0x1171e7(0x1d4)]||[],_0x472c7a[_0x1171e7(0x1aa)]=_0x4f1a4f['testCases']||[],_0x472c7a[_0x1171e7(0x1d7)]=_0x4f1a4f[_0x1171e7(0x1d7)]||null,_0x472c7a[_0x1171e7(0x1cd)]=null,_0x472c7a[_0x1171e7(0x18f)]=null,_0x472c7a['completedAt']=null,_0x472c7a[_0x1171e7(0x1b6)]=null,_0x472c7a[_0x1171e7(0x18e)]=_0x4f1a4f['artifacts']||_0x2f382e,_0x472c7a[_0x1171e7(0x1cf)]=[];let _0x41bfc4=_0x472c7a,_0x4bcab6=i[_0x1171e7(0x1d8)](a,_0x4f1a4f['id']+_0x1171e7(0x1c1));t[_0x1171e7(0x1c7)](_0x4bcab6,JSON[_0x1171e7(0x185)](_0x41bfc4,null,0x2)),console[_0x1171e7(0x17c)](_0x1171e7(0x1b9)+_0x4f1a4f['id']+':\x20'+_0x4f1a4f[_0x1171e7(0x173)]);}),console[_0x1ba366(0x17c)]('\x0a✅\x20Created\x20'+o[_0x1ba366(0x1a8)]+'\x20task\x20files\x20in\x20'+a+'/');var S={'version':'2.0','planId':l,'projectName':n[_0x1ba366(0x1cb)]||n[_0x1ba366(0x1a4)]?.[_0x1ba366(0x17a)]||_0x1ba366(0x1a3),'description':n['description']||n['project']?.[_0x1ba366(0x183)]||'','createdAt':new Date()['toISOString'](),'planLockedAt':new Date()['toISOString'](),'lastUpdated':new Date()[_0x1ba366(0x189)](),'activeTask':null,'taskFiles':o[_0x1ba366(0x1d9)](_0x40881f=>({'id':_0x40881f['id'],'title':_0x40881f[_0x1ba366(0x173)],'status':_0x1ba366(0x1a9),'file':a+'/'+_0x40881f['id']+_0x1ba366(0x1c1)})),'statistics':{'totalTasks':o['length'],'pending':o[_0x1ba366(0x1a8)],'inProgress':0x0,'completed':0x0,'blocked':0x0}},m=i[_0x1ba366(0x1d8)](r,_0x1ba366(0x1df));t[_0x1ba366(0x1c7)](m,JSON['stringify'](S,null,0x2)),console[_0x1ba366(0x17c)](_0x1ba366(0x1c0)+m),console[_0x1ba366(0x17c)]('📊\x20Total:\x20'+o[_0x1ba366(0x1a8)]+_0x1ba366(0x186)),console[_0x1ba366(0x17c)]('📋\x20Next\x20steps:'),console[_0x1ba366(0x17c)](_0x1ba366(0x187)),console[_0x1ba366(0x17c)](_0x1ba366(0x199)),console[_0x1ba366(0x17c)](_0x1ba366(0x172)),n['locked']=!0x0,n[_0x1ba366(0x170)]=new Date()[_0x1ba366(0x189)](),t['writeFileSync'](d,JSON[_0x1ba366(0x185)](n,null,0x2));var f=i[_0x1ba366(0x1d8)](r,_0x1ba366(0x1d5));t[_0x1ba366(0x1c7)](f,new Date()['toISOString']()),t[_0x1ba366(0x1c7)](p,l),console[_0x1ba366(0x17c)]('🔒\x20Plan\x20'+l+_0x1ba366(0x171)),process['exit'](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);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x4299c3=_0x1dec;function _0x4fd0(){const _0x47d1bf=['nmLqO','\x20has\x20unmet\x20dependencies:','stringify','title','blocked','HLSin','toISOString','1554940vJzIkV','testCases','lastUpdated','existsSync','statistics','IFpIA','\x0a⚠️\x20\x20WARNING:\x20You\x20are\x20skipping\x20earlier\x20tasks\x20in\x20this\x20phase:','pending','LJNbY','forEach','parse','map','\x20\x20\x20\x20...\x20and\x20','taskFiles','\x20incomplete):','\x0a📝\x20WORKFLOW:','rUheg','\x0a❌\x20ERROR:\x20Task\x20','\x0a⚠️\x20\x20WARNING:\x20Starting\x20','now','223740lMCbcx','uFRrJ','\x0aRecommended:\x20Complete\x20earlier\x20phases\x20before\x20moving\x20to\x20later\x20phases.','apply','FPUiP','status','exit','\x0a\x20\x20','readFileSync','log','xPHSt','2IazdMc','in_progress','.json','\x20phase\x20with\x20incomplete\x20earlier\x20phase\x20tasks:','erqml','gTCJP','trim','completed','slice','\x0a❌\x20ERROR:\x20Task\x20file\x20not\x20found:\x20','\x0a✅\x20Started\x20task:\x20','writeFileSync','(((.+)+)+)+$','\x20\x20\x20\x20','description','Plan:\x20','indexOf','📋\x20Plan:\x20','startedAt','\x0a⚠️\x20\x20Pausing\x20task\x20','\x0a❌\x20ERROR:\x20Task\x20ID\x20required','dependencies','error','mVQXB','zHAqY','504ZBhIPo','filter','\x20\x202.\x20Commit\x20frequently\x20with\x20task\x20reference:','\x20is\x20already\x20completed','UPFdc','phase','\x20\x20\x20\x20\x20npm\x20run\x20task:done\x20','length','Initialize\x20first:\x20npm\x20run\x20plan:init\x0a','implementation','split','EGnJk','\x0aAre\x20you\x20sure\x20you\x20want\x20to\x20start\x20out\x20of\x20sequence?','\x0a✓\x20Completion\x20criteria:',']\x20Description\x20of\x20changes\x22','948588BXIIuT','16859TMqMxX','find','push','join','QLowG','activeTask','🔧\x20Phase:\x20','.claude/ACTIVE-PLAN','bPFTU','\x20\x201.\x20Make\x20your\x20changes\x20on\x20main\x20branch','📌\x20','\x20\x203.\x20When\x20finished:','utf8','testing','3856Vckwwx','keys','.claude/plans','Press\x20Ctrl+C\x20to\x20cancel,\x20or\x20wait\x205\x20seconds\x20to\x20continue...\x0a','adpzy','\x0a❌\x20ERROR:\x20Task\x20tracker\x20not\x20found','tasks','design','\x20more','24800KCfblR','374556ECnTFm','toUpperCase','milestoneName','📦\x20Subproject:\x20','toString','Dynamic\x20require\x20of\x20\x22','\x22\x20is\x20not\x20supported','search','EIrPz','completionCriteria','Cannot\x20restart\x20a\x20completed\x20task\x0a','252fLjKhs'];_0x4fd0=function(){return _0x47d1bf;};return _0x4fd0();}(function(_0x27807a,_0x4517a6){const _0x486bdf=_0x1dec,_0x4d9773=_0x27807a();while(!![]){try{const _0x1569d7=parseInt(_0x486bdf(0x1db))/0x1*(-parseInt(_0x486bdf(0x1b2))/0x2)+-parseInt(_0x486bdf(0x180))/0x3+parseInt(_0x486bdf(0x1da))/0x4+-parseInt(_0x486bdf(0x17f))/0x5*(-parseInt(_0x486bdf(0x18b))/0x6)+parseInt(_0x486bdf(0x1cb))/0x7*(-parseInt(_0x486bdf(0x1e9))/0x8)+parseInt(_0x486bdf(0x1a7))/0x9+-parseInt(_0x486bdf(0x193))/0xa;if(_0x1569d7===_0x4517a6)break;else _0x4d9773['push'](_0x4d9773['shift']());}catch(_0x344905){_0x4d9773['push'](_0x4d9773['shift']());}}}(_0x4fd0,0x21cb2));const _0x24f6f5=(function(){const _0x372f40=_0x1dec,_0xfa748={};_0xfa748[_0x372f40(0x191)]=_0x372f40(0x18c),_0xfa748[_0x372f40(0x1b7)]=_0x372f40(0x1df);const _0x4a8417=_0xfa748;let _0x288871=!![];return function(_0x1b3f51,_0x123864){const _0x3ab2f3=_0x372f40;if(_0x4a8417[_0x3ab2f3(0x191)]===_0x4a8417[_0x3ab2f3(0x1b7)])_0x47e324[_0x3ab2f3(0x1b0)](_0x3ab2f3(0x1bf)+_0x19d8b1['id']+':\x20'+_0x169bdb[_0x3ab2f3(0x18f)]+'\x20['+_0x4f308d[_0x3ab2f3(0x1ac)]+']');else{const _0x4b1dd8=_0x288871?function(){const _0x195705=_0x3ab2f3;if(_0x123864){const _0x2694d4=_0x123864[_0x195705(0x1aa)](_0x1b3f51,arguments);return _0x123864=null,_0x2694d4;}}:function(){};return _0x288871=![],_0x4b1dd8;}};}()),_0x3bcf7f=_0x24f6f5(this,function(){const _0x35b2df=_0x1dec,_0x2e46c9={};_0x2e46c9[_0x35b2df(0x17a)]='(((.+)+)+)+$';const _0x51bf38=_0x2e46c9;return _0x3bcf7f[_0x35b2df(0x184)]()[_0x35b2df(0x187)](_0x35b2df(0x1be))[_0x35b2df(0x184)]()['constructor'](_0x3bcf7f)['search'](_0x51bf38[_0x35b2df(0x17a)]);});_0x3bcf7f();var m=(_0x2a1c6d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2a1c6d,{'get':(_0x17c05e,_0x3659f2)=>(typeof require<'u'?require:_0x17c05e)[_0x3659f2]}):_0x2a1c6d)(function(_0x1b0c0a){const _0x34fca3=_0x1dec,_0x1591b1={'xPHSt':function(_0x39410b,_0x3fb44d){return _0x39410b<_0x3fb44d;},'bPFTU':function(_0x2483bd,_0x1ca28d){return _0x2483bd(_0x1ca28d);},'IyyIk':function(_0x20a1d5,_0x65419f){return _0x20a1d5+_0x65419f;},'Pjzoz':_0x34fca3(0x185),'mVQXB':_0x34fca3(0x186)};if(_0x1591b1[_0x34fca3(0x1b1)](typeof require,'u'))return require[_0x34fca3(0x1aa)](this,arguments);throw _0x1591b1[_0x34fca3(0x1e3)](Error,_0x1591b1['IyyIk'](_0x1591b1['Pjzoz'],_0x1b0c0a)+_0x1591b1[_0x34fca3(0x1c9)]);}),i=m('fs'),d=m('path'),r=process['argv'][0x2];r||(console[_0x4299c3(0x1c8)](_0x4299c3(0x1c6)),console[_0x4299c3(0x1c8)]('Usage:\x20npm\x20run\x20task:start\x20TASK-001\x0a'),process['exit'](0x1));var y=_0x4299c3(0x1e2);i[_0x4299c3(0x196)](y)||(console['error']('\x0a❌\x20ERROR:\x20No\x20active\x20plan\x20found'),console['error']('Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager\x0a'),process[_0x4299c3(0x1ad)](0x1));var h=i[_0x4299c3(0x1af)](y,_0x4299c3(0x1e7))[_0x4299c3(0x1b8)](),f=d[_0x4299c3(0x1de)](_0x4299c3(0x178),h),g=d[_0x4299c3(0x1de)](f,'TASK-TRACKER.json'),u=d[_0x4299c3(0x1de)](f,_0x4299c3(0x17c),r+'.json');i[_0x4299c3(0x196)](g)||(console[_0x4299c3(0x1c8)](_0x4299c3(0x17b)),console[_0x4299c3(0x1c8)](_0x4299c3(0x1c1)+h),console[_0x4299c3(0x1c8)](_0x4299c3(0x1d3)),process[_0x4299c3(0x1ad)](0x1)),i[_0x4299c3(0x196)](u)||(console[_0x4299c3(0x1c8)](_0x4299c3(0x1bb)+u),console['error']('Available\x20tasks:'),JSON['parse'](i['readFileSync'](g,'utf8'))[_0x4299c3(0x1a0)][_0x4299c3(0x19c)](_0x43ea26=>{const _0x57dc54=_0x4299c3;console[_0x57dc54(0x1c8)]('\x20\x20'+_0x43ea26['id']+':\x20'+_0x43ea26['title']+'\x20['+_0x43ea26[_0x57dc54(0x1ac)]+']');}),console[_0x4299c3(0x1c8)](''),process['exit'](0x1));var a=JSON[_0x4299c3(0x19d)](i[_0x4299c3(0x1af)](g,'utf8')),t=JSON[_0x4299c3(0x19d)](i[_0x4299c3(0x1af)](u,_0x4299c3(0x1e7)));t['status']===_0x4299c3(0x1b9)&&(console[_0x4299c3(0x1c8)](_0x4299c3(0x1a4)+r+_0x4299c3(0x1ce)),console['error'](_0x4299c3(0x18a)),process[_0x4299c3(0x1ad)](0x1));if(t['dependencies']&&t[_0x4299c3(0x1c7)]['length']>0x0){let e=[];for(let s of t[_0x4299c3(0x1c7)]){let o=d[_0x4299c3(0x1de)](f,_0x4299c3(0x17c),s+_0x4299c3(0x1b4));if(i[_0x4299c3(0x196)](o)){let n=JSON[_0x4299c3(0x19d)](i[_0x4299c3(0x1af)](o,_0x4299c3(0x1e7)));n[_0x4299c3(0x1ac)]!=='completed'&&e[_0x4299c3(0x1dd)]({'id':s,'title':n[_0x4299c3(0x18f)],'status':n[_0x4299c3(0x1ac)]});}}e[_0x4299c3(0x1d2)]>0x0&&(console[_0x4299c3(0x1c8)](_0x4299c3(0x1a4)+r+_0x4299c3(0x18d)),e['forEach'](_0x1571b5=>{const _0x97aac3=_0x4299c3;console[_0x97aac3(0x1c8)]('\x20\x20'+_0x1571b5['id']+':\x20'+_0x1571b5[_0x97aac3(0x18f)]+'\x20['+_0x1571b5[_0x97aac3(0x1ac)]+']');}),console[_0x4299c3(0x1c8)]('\x0aComplete\x20dependencies\x20first\x0a'),process[_0x4299c3(0x1ad)](0x1));}var $=parseInt(r[_0x4299c3(0x1d5)]('-')[0x1]);if(!isNaN($)){let s=a[_0x4299c3(0x1a0)][_0x4299c3(0x19e)](_0x2f41a1=>{const _0x4108ae=_0x4299c3,_0xa4c6c7={};_0xa4c6c7[_0x4108ae(0x1ab)]=_0x4108ae(0x1e7);const _0xdfb6f6=_0xa4c6c7;let _0x46d85a=d[_0x4108ae(0x1de)](f,_0x4108ae(0x17c),_0x2f41a1['id']+_0x4108ae(0x1b4));return i[_0x4108ae(0x196)](_0x46d85a)?JSON['parse'](i[_0x4108ae(0x1af)](_0x46d85a,_0xdfb6f6[_0x4108ae(0x1ab)])):null;})['filter'](_0x413b4a=>_0x413b4a!==null)['filter'](_0x2c3916=>{const _0x272878=_0x4299c3,_0x28accd={'erqml':function(_0x2ef50a,_0x2aae60){return _0x2ef50a(_0x2aae60);},'zHAqY':function(_0x52902b,_0x170882){return _0x52902b<_0x170882;},'lmVPS':function(_0x325378,_0x1c9f03){return _0x325378!==_0x1c9f03;},'UwowB':function(_0x56dd32,_0x558480){return _0x56dd32===_0x558480;},'IFpIA':function(_0x5f1bdf,_0x96143a){return _0x5f1bdf!==_0x96143a;}};let _0x5e922a=parseInt(_0x2c3916['id'][_0x272878(0x1d5)]('-')[0x1]);return!_0x28accd[_0x272878(0x1b6)](isNaN,_0x5e922a)&&_0x28accd[_0x272878(0x1ca)](_0x5e922a,$)&&_0x28accd['lmVPS'](_0x2c3916[_0x272878(0x1ac)],_0x272878(0x1b9))&&_0x28accd['UwowB'](_0x2c3916[_0x272878(0x1d0)],t[_0x272878(0x1d0)])&&_0x28accd[_0x272878(0x198)](_0x2c3916['id'],r);});if(s[_0x4299c3(0x1d2)]>0x0){console['log'](_0x4299c3(0x199)),s[_0x4299c3(0x19c)](_0x1f4236=>{const _0x48641e=_0x4299c3;console['log']('\x20\x20'+_0x1f4236['id']+':\x20'+_0x1f4236[_0x48641e(0x18f)]+'\x20['+_0x1f4236['status']+']');}),console['log'](_0x4299c3(0x1d7)),console['log'](_0x4299c3(0x179));let o=Date[_0x4299c3(0x1a6)]();for(;Date[_0x4299c3(0x1a6)]()-o<0x1388;);}}function _0x1dec(_0x3143ed,_0x493a5d){_0x3143ed=_0x3143ed-0x177;const _0x1975ac=_0x4fd0();let _0x3bcf7f=_0x1975ac[_0x3143ed];return _0x3bcf7f;}if(t['phase']){let e=[_0x4299c3(0x17d),_0x4299c3(0x1d4),_0x4299c3(0x1e8),'deployment','documentation'],s=e[_0x4299c3(0x1c2)](t[_0x4299c3(0x1d0)]['toLowerCase']());if(s>0x0){let n=a[_0x4299c3(0x1a0)][_0x4299c3(0x19e)](_0x42b78f=>{const _0x1b7255=_0x4299c3,_0x130031={};_0x130031[_0x1b7255(0x1a3)]='tasks';const _0xc5c358=_0x130031;let _0x34f021=d[_0x1b7255(0x1de)](f,_0xc5c358[_0x1b7255(0x1a3)],_0x42b78f['id']+'.json');return i['existsSync'](_0x34f021)?JSON[_0x1b7255(0x19d)](i[_0x1b7255(0x1af)](_0x34f021,'utf8')):null;})[_0x4299c3(0x1cc)](_0x2c6b37=>_0x2c6b37!==null)[_0x4299c3(0x1cc)](_0x324ec6=>{const _0x41cc0f=_0x4299c3,_0x1ba2bd={};_0x1ba2bd[_0x41cc0f(0x188)]=function(_0x113134,_0x31f079){return _0x113134>=_0x31f079;},_0x1ba2bd[_0x41cc0f(0x1a8)]=function(_0x145940,_0x4549bf){return _0x145940!==_0x4549bf;};const _0x5deeab=_0x1ba2bd;let _0x22a5c4=e[_0x41cc0f(0x1c2)]((_0x324ec6[_0x41cc0f(0x1d0)]||'')['toLowerCase']());return _0x5deeab[_0x41cc0f(0x188)](_0x22a5c4,0x0)&&_0x22a5c4<s&&_0x5deeab[_0x41cc0f(0x1a8)](_0x324ec6[_0x41cc0f(0x1ac)],_0x41cc0f(0x1b9));});if(n['length']>0x0){console[_0x4299c3(0x1b0)](_0x4299c3(0x1a5)+t[_0x4299c3(0x1d0)]+_0x4299c3(0x1b5));let l={};n[_0x4299c3(0x19c)](_0x20b7d5=>{const _0x360140=_0x4299c3;l[_0x20b7d5[_0x360140(0x1d0)]]||(l[_0x20b7d5['phase']]=[]),l[_0x20b7d5['phase']]['push'](_0x20b7d5);}),Object[_0x4299c3(0x177)](l)['forEach'](_0x2d629e=>{const _0x27d7e2=_0x4299c3,_0x1b1125={};_0x1b1125['EGnJk']=function(_0x1e54c6,_0xb76c1a){return _0x1e54c6>_0xb76c1a;},_0x1b1125[_0x27d7e2(0x1cf)]=function(_0x5c9cb4,_0x55bef1){return _0x5c9cb4-_0x55bef1;};const _0x47457b=_0x1b1125;console[_0x27d7e2(0x1b0)](_0x27d7e2(0x1ae)+_0x2d629e[_0x27d7e2(0x181)]()+'\x20('+l[_0x2d629e]['length']+_0x27d7e2(0x1a1)),l[_0x2d629e][_0x27d7e2(0x1ba)](0x0,0x3)[_0x27d7e2(0x19c)](_0x2b9b2c=>{const _0x4fb459=_0x27d7e2;console['log'](_0x4fb459(0x1bf)+_0x2b9b2c['id']+':\x20'+_0x2b9b2c['title']+'\x20['+_0x2b9b2c['status']+']');}),_0x47457b[_0x27d7e2(0x1d6)](l[_0x2d629e][_0x27d7e2(0x1d2)],0x3)&&console[_0x27d7e2(0x1b0)](_0x27d7e2(0x19f)+_0x47457b[_0x27d7e2(0x1cf)](l[_0x2d629e][_0x27d7e2(0x1d2)],0x3)+_0x27d7e2(0x17e));}),console[_0x4299c3(0x1b0)](_0x4299c3(0x1a9)),console[_0x4299c3(0x1b0)](_0x4299c3(0x179));let p=Date[_0x4299c3(0x1a6)]();for(;Date[_0x4299c3(0x1a6)]()-p<0x1388;);}}}if(a[_0x4299c3(0x1e0)]&&a[_0x4299c3(0x1e0)]!==r){let e=d['join'](f,_0x4299c3(0x17c),a['activeTask']+'.json');if(i['existsSync'](e)){let s=JSON[_0x4299c3(0x19d)](i[_0x4299c3(0x1af)](e,_0x4299c3(0x1e7)));console[_0x4299c3(0x1b0)](_0x4299c3(0x1c5)+s['id']+':\x20'+s[_0x4299c3(0x18f)]),s[_0x4299c3(0x1ac)]=_0x4299c3(0x19a),i['writeFileSync'](e,JSON[_0x4299c3(0x18e)](s,null,0x2));let o=a['taskFiles'][_0x4299c3(0x1dc)](_0x840633=>_0x840633['id']===a['activeTask']);o&&(o[_0x4299c3(0x1ac)]=_0x4299c3(0x19a));}}t[_0x4299c3(0x1ac)]='in_progress',t[_0x4299c3(0x1c4)]=new Date()[_0x4299c3(0x192)](),i[_0x4299c3(0x1bd)](u,JSON[_0x4299c3(0x18e)](t,null,0x2)),a['activeTask']=r,a[_0x4299c3(0x195)]=new Date()['toISOString']();var S=a[_0x4299c3(0x1a0)][_0x4299c3(0x1dc)](_0x277040=>_0x277040['id']===r);S&&(S[_0x4299c3(0x1ac)]=_0x4299c3(0x1b3)),a[_0x4299c3(0x197)]={'totalTasks':a[_0x4299c3(0x1a0)]['length'],'pending':a[_0x4299c3(0x1a0)][_0x4299c3(0x1cc)](_0x526c97=>_0x526c97['status']==='pending')[_0x4299c3(0x1d2)],'inProgress':a[_0x4299c3(0x1a0)][_0x4299c3(0x1cc)](_0xb32bb3=>_0xb32bb3['status']===_0x4299c3(0x1b3))[_0x4299c3(0x1d2)],'completed':a['taskFiles'][_0x4299c3(0x1cc)](_0x348925=>_0x348925[_0x4299c3(0x1ac)]==='completed')[_0x4299c3(0x1d2)],'blocked':a[_0x4299c3(0x1a0)][_0x4299c3(0x1cc)](_0x551191=>_0x551191[_0x4299c3(0x1ac)]===_0x4299c3(0x190))[_0x4299c3(0x1d2)]},i[_0x4299c3(0x1bd)](g,JSON[_0x4299c3(0x18e)](a,null,0x2)),console['log'](_0x4299c3(0x1bc)+r),console[_0x4299c3(0x1b0)](_0x4299c3(0x1c3)+h+'\x0a'),console[_0x4299c3(0x1b0)](_0x4299c3(0x1e5)+t[_0x4299c3(0x18f)]),t[_0x4299c3(0x1c0)]&&console[_0x4299c3(0x1b0)]('📝\x20'+t[_0x4299c3(0x1c0)]),console['log'](''),t[_0x4299c3(0x1d0)]&&console[_0x4299c3(0x1b0)](_0x4299c3(0x1e1)+t[_0x4299c3(0x1d0)]),t['subprojectName']&&console['log'](_0x4299c3(0x183)+t['subprojectName']),t[_0x4299c3(0x182)]&&console[_0x4299c3(0x1b0)]('🎯\x20Milestone:\x20'+t[_0x4299c3(0x182)]),t[_0x4299c3(0x189)]&&t[_0x4299c3(0x189)][_0x4299c3(0x1d2)]>0x0&&(console[_0x4299c3(0x1b0)](_0x4299c3(0x1d8)),t[_0x4299c3(0x189)][_0x4299c3(0x19c)]((_0x805a2a,_0x9937a5)=>{const _0xfe5470=_0x4299c3;console[_0xfe5470(0x1b0)]('\x20\x20'+(_0x9937a5+0x1)+'.\x20'+_0x805a2a);})),t[_0x4299c3(0x194)]&&t[_0x4299c3(0x194)][_0x4299c3(0x1d2)]>0x0&&(console[_0x4299c3(0x1b0)]('\x0a🧪\x20Test\x20cases:'),t[_0x4299c3(0x194)]['forEach']((_0x298216,_0x1a758f)=>{const _0x303d17=_0x4299c3,_0x5e8827={};_0x5e8827['LJNbY']=function(_0x45e163,_0x329482){return _0x45e163+_0x329482;};const _0x4cda8e=_0x5e8827;console[_0x303d17(0x1b0)]('\x20\x20'+_0x4cda8e[_0x303d17(0x19b)](_0x1a758f,0x1)+'.\x20'+_0x298216);})),console[_0x4299c3(0x1b0)]('\x0a📂\x20Task\x20file:\x20'+u),console[_0x4299c3(0x1b0)](_0x4299c3(0x1a2)),console[_0x4299c3(0x1b0)](_0x4299c3(0x1e4)),console[_0x4299c3(0x1b0)](_0x4299c3(0x1cd)),console['log']('\x20\x20\x20\x20\x20git\x20commit\x20-m\x20\x22['+r+_0x4299c3(0x1d9)),console[_0x4299c3(0x1b0)](_0x4299c3(0x1e6)),console[_0x4299c3(0x1b0)](_0x4299c3(0x1d1)+r),process[_0x4299c3(0x1ad)](0x0);
2
+ const _0xa83ac1=_0x1fb6;(function(_0x4a0d48,_0x4f837d){const _0x2abdea=_0x1fb6,_0x41f9cf=_0x4a0d48();while(!![]){try{const _0x794aee=parseInt(_0x2abdea(0x1bd))/0x1*(parseInt(_0x2abdea(0x1dd))/0x2)+parseInt(_0x2abdea(0x1d1))/0x3*(parseInt(_0x2abdea(0x19b))/0x4)+-parseInt(_0x2abdea(0x1ad))/0x5*(-parseInt(_0x2abdea(0x19d))/0x6)+parseInt(_0x2abdea(0x1b0))/0x7*(-parseInt(_0x2abdea(0x1b9))/0x8)+-parseInt(_0x2abdea(0x191))/0x9+-parseInt(_0x2abdea(0x169))/0xa+-parseInt(_0x2abdea(0x1e2))/0xb*(-parseInt(_0x2abdea(0x184))/0xc);if(_0x794aee===_0x4f837d)break;else _0x41f9cf['push'](_0x41f9cf['shift']());}catch(_0x3daf0d){_0x41f9cf['push'](_0x41f9cf['shift']());}}}(_0x1b16,0x9b3cb));const _0x35f96f=(function(){const _0x2166c4=_0x1fb6,_0x11761f={};_0x11761f[_0x2166c4(0x1c2)]=_0x2166c4(0x1ba),_0x11761f[_0x2166c4(0x1af)]=_0x2166c4(0x1ca),_0x11761f[_0x2166c4(0x16a)]=function(_0x46e07f,_0x1382b0){return _0x46e07f===_0x1382b0;},_0x11761f[_0x2166c4(0x1b8)]=_0x2166c4(0x17f),_0x11761f[_0x2166c4(0x1a1)]=_0x2166c4(0x19f);const _0x2079a6=_0x11761f;let _0x2c0bac=!![];return function(_0x4d8292,_0x4e8651){const _0x309b6a=_0x2c0bac?function(){const _0x416064=_0x1fb6,_0x2a8232={};_0x2a8232[_0x416064(0x18b)]=_0x2079a6['IpKCY'],_0x2a8232[_0x416064(0x1df)]=_0x416064(0x1d3),_0x2a8232['CEdWv']=_0x2079a6[_0x416064(0x1af)];const _0x4ad4a9=_0x2a8232;if(_0x2079a6[_0x416064(0x16a)](_0x2079a6[_0x416064(0x1b8)],_0x2079a6[_0x416064(0x1a1)])){let _0x223437=_0x5b3dfe[_0x416064(0x18a)](_0x164cd6,_0x4ad4a9[_0x416064(0x18b)],_0x4d72b3[_0x416064(0x173)]+_0x416064(0x1a4));if(_0xdfe5d[_0x416064(0x1e4)](_0x223437)){let _0x276ce3=_0x30d4ff[_0x416064(0x1ae)](_0x36cd72[_0x416064(0x1b2)](_0x223437,_0x4ad4a9[_0x416064(0x1df)]));_0x34c82c[_0x416064(0x1a6)](_0x416064(0x168)+_0x276ce3['id']+':\x20'+_0x276ce3['title']),_0x276ce3[_0x416064(0x18c)]=_0x4ad4a9['CEdWv'],_0x158698[_0x416064(0x181)](_0x223437,_0x16e0a4[_0x416064(0x172)](_0x276ce3,null,0x2));let _0x345784=_0xc4101f['taskFiles'][_0x416064(0x1a7)](_0xbd2336=>_0xbd2336['id']===_0x5b94cc[_0x416064(0x173)]);_0x345784&&(_0x345784['status']=_0x4ad4a9[_0x416064(0x1d2)]);}}else{if(_0x4e8651){const _0xebd943=_0x4e8651[_0x416064(0x1a3)](_0x4d8292,arguments);return _0x4e8651=null,_0xebd943;}}}:function(){};return _0x2c0bac=![],_0x309b6a;};}()),_0x2d0eba=_0x35f96f(this,function(){const _0x25c2fb=_0x1fb6,_0x132e4a={};_0x132e4a[_0x25c2fb(0x1b4)]='(((.+)+)+)+$';const _0x1a57b0=_0x132e4a;return _0x2d0eba[_0x25c2fb(0x1a0)]()['search'](_0x1a57b0[_0x25c2fb(0x1b4)])[_0x25c2fb(0x1a0)]()[_0x25c2fb(0x17d)](_0x2d0eba)[_0x25c2fb(0x1ac)](_0x25c2fb(0x18d));});_0x2d0eba();var m=(_0x5a6d31=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x5a6d31,{'get':(_0x28329d,_0x82889f)=>(typeof require<'u'?require:_0x28329d)[_0x82889f]}):_0x5a6d31)(function(_0x247ab9){const _0x4d89f2=_0x1fb6,_0x2e344e={};_0x2e344e[_0x4d89f2(0x185)]=function(_0x2e83b6,_0x16ddbc){return _0x2e83b6<_0x16ddbc;},_0x2e344e[_0x4d89f2(0x1a8)]=_0x4d89f2(0x1da);const _0x13c212=_0x2e344e;if(_0x13c212['fblnq'](typeof require,'u'))return require[_0x4d89f2(0x1a3)](this,arguments);throw Error(_0x4d89f2(0x1cd)+_0x247ab9+_0x13c212[_0x4d89f2(0x1a8)]);}),i=m('fs'),d=m(_0xa83ac1(0x179)),r=process['argv'][0x2];r||(console[_0xa83ac1(0x1c3)](_0xa83ac1(0x183)),console['error'](_0xa83ac1(0x1b1)),process['exit'](0x1));var y=_0xa83ac1(0x188);i[_0xa83ac1(0x1e4)](y)||(console['error'](_0xa83ac1(0x1c0)),console['error'](_0xa83ac1(0x1cf)),process[_0xa83ac1(0x1b6)](0x1));var h=i[_0xa83ac1(0x1b2)](y,_0xa83ac1(0x1d3))['trim'](),f=d['join'](_0xa83ac1(0x1e1),h),g=d['join'](f,_0xa83ac1(0x1c5)),u=d[_0xa83ac1(0x18a)](f,_0xa83ac1(0x1ba),r+_0xa83ac1(0x1a4));function _0x1b16(){const _0x10a636=['\x0aComplete\x20dependencies\x20first\x0a','taskFiles','documentation','in_progress','\x0a\x20\x20','MVaAW','12duBuQE','map','114bnPFJd','🔧\x20Phase:\x20','WwzLa','toString','yerwx','testCases','apply','.json','indexOf','log','find','BQfKJ','Remse','statistics','📝\x20','search','253625pBSlMq','parse','auuND','1703905RJETfb','Usage:\x20npm\x20run\x20task:start\x20TASK-001\x0a','readFileSync','\x0a✅\x20Started\x20task:\x20','fHyWL','toISOString','exit','\x20\x201.\x20Make\x20your\x20changes\x20on\x20main\x20branch','Vnnru','24uoiZGI','tasks','completed','Initialize\x20first:\x20npm\x20run\x20plan:init\x0a','317rEhhuT','\x20\x20\x20\x20\x20npm\x20run\x20task:done\x20','\x20more','\x0a❌\x20ERROR:\x20No\x20active\x20plan\x20found','osZRY','IpKCY','error','Cannot\x20restart\x20a\x20completed\x20task\x0a','TASK-TRACKER.json','\x20\x20\x20\x20\x20git\x20commit\x20-m\x20\x22[','\x0a❌\x20ERROR:\x20Task\x20','Plan:\x20','description','pending','\x0aRecommended:\x20Complete\x20earlier\x20phases\x20before\x20moving\x20to\x20later\x20phases.','forEach','Dynamic\x20require\x20of\x20\x22','yuhWy','Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager\x0a','📌\x20','311802jFpQWU','CEdWv','utf8','toLowerCase','🎯\x20Milestone:\x20','title','sEwhv','subprojectName','oLpCV','\x22\x20is\x20not\x20supported','\x20is\x20already\x20completed','design','2650KKaxYf','blocked','DqfZX','\x0a✓\x20Completion\x20criteria:','.claude/plans','6237TytTSg','completionCriteria','existsSync','\x0a⚠️\x20\x20Pausing\x20task\x20','3469200ttThIw','puzxn','length','\x0a❌\x20ERROR:\x20Task\x20tracker\x20not\x20found','toUpperCase','aoXvC','📦\x20Subproject:\x20','Available\x20tasks:',']\x20Description\x20of\x20changes\x22','stringify','activeTask','dependencies','filter','jeciF','lastUpdated','keys','path','NDjUV','deployment','testing','constructor','hofvf','fGPtt','milestoneName','writeFileSync','FgVCE','\x0a❌\x20ERROR:\x20Task\x20ID\x20required','3960SfXFhG','fblnq','split','VTjsS','.claude/ACTIVE-PLAN','now','join','hCCUX','status','(((.+)+)+)+$','KiQqX','Press\x20Ctrl+C\x20to\x20cancel,\x20or\x20wait\x205\x20seconds\x20to\x20continue...\x0a','BOVNR','1527264WofkHP','push','phase','\x20\x203.\x20When\x20finished:'];_0x1b16=function(){return _0x10a636;};return _0x1b16();}i['existsSync'](g)||(console[_0xa83ac1(0x1c3)](_0xa83ac1(0x16c)),console['error'](_0xa83ac1(0x1c8)+h),console['error'](_0xa83ac1(0x1bc)),process[_0xa83ac1(0x1b6)](0x1)),i[_0xa83ac1(0x1e4)](u)||(console[_0xa83ac1(0x1c3)]('\x0a❌\x20ERROR:\x20Task\x20file\x20not\x20found:\x20'+u),console[_0xa83ac1(0x1c3)](_0xa83ac1(0x170)),JSON[_0xa83ac1(0x1ae)](i[_0xa83ac1(0x1b2)](g,_0xa83ac1(0x1d3)))[_0xa83ac1(0x196)][_0xa83ac1(0x1cc)](_0x42e684=>{const _0x439672=_0xa83ac1;console['error']('\x20\x20'+_0x42e684['id']+':\x20'+_0x42e684[_0x439672(0x1d6)]+'\x20['+_0x42e684[_0x439672(0x18c)]+']');}),console[_0xa83ac1(0x1c3)](''),process[_0xa83ac1(0x1b6)](0x1));var a=JSON['parse'](i[_0xa83ac1(0x1b2)](g,_0xa83ac1(0x1d3))),t=JSON[_0xa83ac1(0x1ae)](i[_0xa83ac1(0x1b2)](u,_0xa83ac1(0x1d3)));t[_0xa83ac1(0x18c)]==='completed'&&(console[_0xa83ac1(0x1c3)](_0xa83ac1(0x1c7)+r+_0xa83ac1(0x1db)),console[_0xa83ac1(0x1c3)](_0xa83ac1(0x1c4)),process['exit'](0x1));if(t['dependencies']&&t[_0xa83ac1(0x174)][_0xa83ac1(0x16b)]>0x0){let e=[];for(let s of t[_0xa83ac1(0x174)]){let o=d[_0xa83ac1(0x18a)](f,_0xa83ac1(0x1ba),s+_0xa83ac1(0x1a4));if(i[_0xa83ac1(0x1e4)](o)){let n=JSON['parse'](i['readFileSync'](o,'utf8'));n['status']!==_0xa83ac1(0x1bb)&&e[_0xa83ac1(0x192)]({'id':s,'title':n[_0xa83ac1(0x1d6)],'status':n[_0xa83ac1(0x18c)]});}}e['length']>0x0&&(console[_0xa83ac1(0x1c3)](_0xa83ac1(0x1c7)+r+'\x20has\x20unmet\x20dependencies:'),e[_0xa83ac1(0x1cc)](_0xa0f66f=>{const _0x28a332=_0xa83ac1;console['error']('\x20\x20'+_0xa0f66f['id']+':\x20'+_0xa0f66f[_0x28a332(0x1d6)]+'\x20['+_0xa0f66f[_0x28a332(0x18c)]+']');}),console[_0xa83ac1(0x1c3)](_0xa83ac1(0x195)),process['exit'](0x1));}var $=parseInt(r[_0xa83ac1(0x186)]('-')[0x1]);function _0x1fb6(_0x558224,_0xc7908a){_0x558224=_0x558224-0x168;const _0x1762e3=_0x1b16();let _0x2d0eba=_0x1762e3[_0x558224];return _0x2d0eba;}if(!isNaN($)){let s=a[_0xa83ac1(0x196)][_0xa83ac1(0x19c)](_0x8b8c1e=>{const _0x4a00b0=_0xa83ac1,_0x4ace6a={};_0x4ace6a[_0x4a00b0(0x17e)]=_0x4a00b0(0x1ba);const _0x238b38=_0x4ace6a;let _0x420f87=d['join'](f,_0x238b38['hofvf'],_0x8b8c1e['id']+_0x4a00b0(0x1a4));return i[_0x4a00b0(0x1e4)](_0x420f87)?JSON[_0x4a00b0(0x1ae)](i['readFileSync'](_0x420f87,_0x4a00b0(0x1d3))):null;})[_0xa83ac1(0x175)](_0x5acc15=>_0x5acc15!==null)['filter'](_0x3b5285=>{const _0x2c969e=_0xa83ac1,_0x440cd6={'oLpCV':function(_0x2bf8d3,_0x5a4eea){return _0x2bf8d3(_0x5a4eea);},'yuhWy':function(_0x3c61c8,_0x3f694b){return _0x3c61c8!==_0x3f694b;},'jeciF':'completed','BOVNR':function(_0x322591,_0x1b87d2){return _0x322591===_0x1b87d2;},'itmci':function(_0x34e416,_0x5d3bcb){return _0x34e416!==_0x5d3bcb;}};let _0x5ee3b9=_0x440cd6['oLpCV'](parseInt,_0x3b5285['id'][_0x2c969e(0x186)]('-')[0x1]);return!_0x440cd6[_0x2c969e(0x1d9)](isNaN,_0x5ee3b9)&&_0x5ee3b9<$&&_0x440cd6[_0x2c969e(0x1ce)](_0x3b5285[_0x2c969e(0x18c)],_0x440cd6[_0x2c969e(0x176)])&&_0x440cd6[_0x2c969e(0x190)](_0x3b5285[_0x2c969e(0x193)],t[_0x2c969e(0x193)])&&_0x440cd6['itmci'](_0x3b5285['id'],r);});if(s['length']>0x0){console[_0xa83ac1(0x1a6)]('\x0a⚠️\x20\x20WARNING:\x20You\x20are\x20skipping\x20earlier\x20tasks\x20in\x20this\x20phase:'),s[_0xa83ac1(0x1cc)](_0x38efc0=>{const _0x2eb53c=_0xa83ac1;console[_0x2eb53c(0x1a6)]('\x20\x20'+_0x38efc0['id']+':\x20'+_0x38efc0['title']+'\x20['+_0x38efc0[_0x2eb53c(0x18c)]+']');}),console[_0xa83ac1(0x1a6)]('\x0aAre\x20you\x20sure\x20you\x20want\x20to\x20start\x20out\x20of\x20sequence?'),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x18f));let o=Date[_0xa83ac1(0x189)]();for(;Date[_0xa83ac1(0x189)]()-o<0x1388;);}}if(t[_0xa83ac1(0x193)]){let e=[_0xa83ac1(0x1dc),'implementation',_0xa83ac1(0x17c),_0xa83ac1(0x17b),_0xa83ac1(0x197)],s=e['indexOf'](t[_0xa83ac1(0x193)][_0xa83ac1(0x1d4)]());if(s>0x0){let n=a[_0xa83ac1(0x196)]['map'](_0x44ca62=>{const _0x20a08c=_0xa83ac1,_0x12e781={};_0x12e781[_0x20a08c(0x182)]='tasks',_0x12e781[_0x20a08c(0x19a)]=_0x20a08c(0x1d3);const _0x144845=_0x12e781;let _0x869d20=d[_0x20a08c(0x18a)](f,_0x144845['FgVCE'],_0x44ca62['id']+_0x20a08c(0x1a4));return i[_0x20a08c(0x1e4)](_0x869d20)?JSON['parse'](i[_0x20a08c(0x1b2)](_0x869d20,_0x144845[_0x20a08c(0x19a)])):null;})[_0xa83ac1(0x175)](_0x43ef79=>_0x43ef79!==null)['filter'](_0x212fe0=>{const _0x24359a=_0xa83ac1,_0x2c5868={};_0x2c5868[_0x24359a(0x17a)]=function(_0x5def4c,_0xcea870){return _0x5def4c>=_0xcea870;},_0x2c5868['aoXvC']=function(_0x2fcfea,_0x13a630){return _0x2fcfea<_0x13a630;},_0x2c5868[_0x24359a(0x18e)]=function(_0x53f0ea,_0x10f970){return _0x53f0ea!==_0x10f970;},_0x2c5868['VTjsS']=_0x24359a(0x1bb);const _0x4b67cf=_0x2c5868;let _0x2bdd11=e[_0x24359a(0x1a5)]((_0x212fe0[_0x24359a(0x193)]||'')[_0x24359a(0x1d4)]());return _0x4b67cf[_0x24359a(0x17a)](_0x2bdd11,0x0)&&_0x4b67cf[_0x24359a(0x16e)](_0x2bdd11,s)&&_0x4b67cf[_0x24359a(0x18e)](_0x212fe0[_0x24359a(0x18c)],_0x4b67cf[_0x24359a(0x187)]);});if(n[_0xa83ac1(0x16b)]>0x0){console[_0xa83ac1(0x1a6)]('\x0a⚠️\x20\x20WARNING:\x20Starting\x20'+t[_0xa83ac1(0x193)]+'\x20phase\x20with\x20incomplete\x20earlier\x20phase\x20tasks:');let l={};n[_0xa83ac1(0x1cc)](_0x217ba9=>{const _0x27f0de=_0xa83ac1;l[_0x217ba9[_0x27f0de(0x193)]]||(l[_0x217ba9['phase']]=[]),l[_0x217ba9[_0x27f0de(0x193)]]['push'](_0x217ba9);}),Object[_0xa83ac1(0x178)](l)[_0xa83ac1(0x1cc)](_0x1afb68=>{const _0x386f22=_0xa83ac1,_0x34e747={};_0x34e747[_0x386f22(0x1c1)]=function(_0x47cd85,_0x297724){return _0x47cd85-_0x297724;};const _0x3d7561=_0x34e747;console[_0x386f22(0x1a6)](_0x386f22(0x199)+_0x1afb68[_0x386f22(0x16d)]()+'\x20('+l[_0x1afb68][_0x386f22(0x16b)]+'\x20incomplete):'),l[_0x1afb68]['slice'](0x0,0x3)[_0x386f22(0x1cc)](_0x2076a9=>{const _0x3b0d18=_0x386f22;console['log']('\x20\x20\x20\x20'+_0x2076a9['id']+':\x20'+_0x2076a9['title']+'\x20['+_0x2076a9[_0x3b0d18(0x18c)]+']');}),l[_0x1afb68][_0x386f22(0x16b)]>0x3&&console['log']('\x20\x20\x20\x20...\x20and\x20'+_0x3d7561[_0x386f22(0x1c1)](l[_0x1afb68][_0x386f22(0x16b)],0x3)+_0x386f22(0x1bf));}),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1cb)),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x18f));let p=Date[_0xa83ac1(0x189)]();for(;Date[_0xa83ac1(0x189)]()-p<0x1388;);}}}if(a['activeTask']&&a[_0xa83ac1(0x173)]!==r){let e=d[_0xa83ac1(0x18a)](f,_0xa83ac1(0x1ba),a[_0xa83ac1(0x173)]+_0xa83ac1(0x1a4));if(i[_0xa83ac1(0x1e4)](e)){let s=JSON['parse'](i[_0xa83ac1(0x1b2)](e,_0xa83ac1(0x1d3)));console[_0xa83ac1(0x1a6)](_0xa83ac1(0x168)+s['id']+':\x20'+s[_0xa83ac1(0x1d6)]),s[_0xa83ac1(0x18c)]='pending',i['writeFileSync'](e,JSON[_0xa83ac1(0x172)](s,null,0x2));let o=a[_0xa83ac1(0x196)]['find'](_0x1d0a2f=>_0x1d0a2f['id']===a[_0xa83ac1(0x173)]);o&&(o['status']=_0xa83ac1(0x1ca));}}t[_0xa83ac1(0x18c)]=_0xa83ac1(0x198),t['startedAt']=new Date()[_0xa83ac1(0x1b5)](),i[_0xa83ac1(0x181)](u,JSON[_0xa83ac1(0x172)](t,null,0x2)),a['activeTask']=r,a[_0xa83ac1(0x177)]=new Date()[_0xa83ac1(0x1b5)]();var S=a[_0xa83ac1(0x196)][_0xa83ac1(0x1a7)](_0x4b319a=>_0x4b319a['id']===r);S&&(S[_0xa83ac1(0x18c)]=_0xa83ac1(0x198)),a[_0xa83ac1(0x1aa)]={'totalTasks':a[_0xa83ac1(0x196)][_0xa83ac1(0x16b)],'pending':a['taskFiles']['filter'](_0x154185=>_0x154185[_0xa83ac1(0x18c)]===_0xa83ac1(0x1ca))[_0xa83ac1(0x16b)],'inProgress':a[_0xa83ac1(0x196)][_0xa83ac1(0x175)](_0x21a88d=>_0x21a88d[_0xa83ac1(0x18c)]===_0xa83ac1(0x198))[_0xa83ac1(0x16b)],'completed':a[_0xa83ac1(0x196)][_0xa83ac1(0x175)](_0x423b6b=>_0x423b6b[_0xa83ac1(0x18c)]===_0xa83ac1(0x1bb))[_0xa83ac1(0x16b)],'blocked':a['taskFiles'][_0xa83ac1(0x175)](_0x3dfd26=>_0x3dfd26[_0xa83ac1(0x18c)]===_0xa83ac1(0x1de))[_0xa83ac1(0x16b)]},i['writeFileSync'](g,JSON['stringify'](a,null,0x2)),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1b3)+r),console[_0xa83ac1(0x1a6)]('📋\x20Plan:\x20'+h+'\x0a'),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1d0)+t[_0xa83ac1(0x1d6)]),t[_0xa83ac1(0x1c9)]&&console['log'](_0xa83ac1(0x1ab)+t[_0xa83ac1(0x1c9)]),console['log'](''),t[_0xa83ac1(0x193)]&&console[_0xa83ac1(0x1a6)](_0xa83ac1(0x19e)+t[_0xa83ac1(0x193)]),t['subprojectName']&&console[_0xa83ac1(0x1a6)](_0xa83ac1(0x16f)+t[_0xa83ac1(0x1d8)]),t[_0xa83ac1(0x180)]&&console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1d5)+t['milestoneName']),t[_0xa83ac1(0x1e3)]&&t[_0xa83ac1(0x1e3)][_0xa83ac1(0x16b)]>0x0&&(console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1e0)),t[_0xa83ac1(0x1e3)][_0xa83ac1(0x1cc)]((_0x122ecd,_0x52ecf8)=>{const _0x2b0bd5=_0xa83ac1,_0xb6e339={};_0xb6e339[_0x2b0bd5(0x1d7)]=function(_0x546d6a,_0x22ebce){return _0x546d6a+_0x22ebce;};const _0x2ef0d8=_0xb6e339;console['log']('\x20\x20'+_0x2ef0d8['sEwhv'](_0x52ecf8,0x1)+'.\x20'+_0x122ecd);})),t[_0xa83ac1(0x1a2)]&&t[_0xa83ac1(0x1a2)][_0xa83ac1(0x16b)]>0x0&&(console[_0xa83ac1(0x1a6)]('\x0a🧪\x20Test\x20cases:'),t[_0xa83ac1(0x1a2)][_0xa83ac1(0x1cc)]((_0x170daa,_0x1d4c8a)=>{const _0x161866=_0xa83ac1,_0xac4de2={};_0xac4de2[_0x161866(0x1a9)]=function(_0x26b197,_0x267298){return _0x26b197+_0x267298;};const _0xc04e02=_0xac4de2;console[_0x161866(0x1a6)]('\x20\x20'+_0xc04e02[_0x161866(0x1a9)](_0x1d4c8a,0x1)+'.\x20'+_0x170daa);})),console[_0xa83ac1(0x1a6)]('\x0a📂\x20Task\x20file:\x20'+u),console[_0xa83ac1(0x1a6)]('\x0a📝\x20WORKFLOW:'),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1b7)),console[_0xa83ac1(0x1a6)]('\x20\x202.\x20Commit\x20frequently\x20with\x20task\x20reference:'),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1c6)+r+_0xa83ac1(0x171)),console['log'](_0xa83ac1(0x194)),console[_0xa83ac1(0x1a6)](_0xa83ac1(0x1be)+r),process[_0xa83ac1(0x1b6)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x4acd1b=_0x47b5;(function(_0x2e307d,_0x3aeebe){var _0x5147b2=_0x47b5,_0xbc5f73=_0x2e307d();while(!![]){try{var _0x48101b=-parseInt(_0x5147b2(0x131))/0x1+parseInt(_0x5147b2(0x188))/0x2+-parseInt(_0x5147b2(0x149))/0x3*(parseInt(_0x5147b2(0x160))/0x4)+-parseInt(_0x5147b2(0x180))/0x5+-parseInt(_0x5147b2(0x140))/0x6+-parseInt(_0x5147b2(0x162))/0x7*(parseInt(_0x5147b2(0x17d))/0x8)+parseInt(_0x5147b2(0x141))/0x9;if(_0x48101b===_0x3aeebe)break;else _0xbc5f73['push'](_0xbc5f73['shift']());}catch(_0xb9bcd4){_0xbc5f73['push'](_0xbc5f73['shift']());}}}(_0x39f6,0x3f9b8));var _0x196fb6=(function(){var _0x4eb67e=_0x47b5,_0x3276da={'XssHf':function(_0x128081,_0x47c031){return _0x128081<_0x47c031;},'VzsAj':function(_0x3f2c98,_0x12cb28){return _0x3f2c98(_0x12cb28);},'cZBMq':function(_0x383d21,_0x2ac0c9){return _0x383d21+_0x2ac0c9;},'LbPKx':function(_0x1510fa,_0x25b5f6){return _0x1510fa===_0x25b5f6;},'KzlDM':_0x4eb67e(0x185)},_0x41b880=!![];return function(_0x49f2b1,_0x5642f1){var _0x111be5=_0x41b880?function(){var _0x42e393=_0x47b5,_0x9a7836={'onGSs':function(_0x447a7c,_0xf5d94){var _0x1b9631=_0x47b5;return _0x3276da[_0x1b9631(0x17f)](_0x447a7c,_0xf5d94);},'xdGug':function(_0x419a5b,_0x4c8c2c){return _0x3276da['VzsAj'](_0x419a5b,_0x4c8c2c);},'QIxWo':function(_0x57e21f,_0x14d55a){return _0x57e21f+_0x14d55a;},'rnluo':function(_0x53e9be,_0x1dbcb2){var _0x2cd896=_0x47b5;return _0x3276da[_0x2cd896(0x15c)](_0x53e9be,_0x1dbcb2);},'BMohl':_0x42e393(0x13b)};if(_0x3276da[_0x42e393(0x13e)](_0x3276da[_0x42e393(0x175)],_0x42e393(0x185))){if(_0x5642f1){var _0x2af1de=_0x5642f1[_0x42e393(0x132)](_0x49f2b1,arguments);return _0x5642f1=null,_0x2af1de;}}else{if(_0x9a7836[_0x42e393(0x148)](typeof _0x3a45ee,'u'))return _0x291c79[_0x42e393(0x132)](this,arguments);throw _0x9a7836[_0x42e393(0x153)](_0x4938e2,_0x9a7836[_0x42e393(0x145)](_0x9a7836['rnluo'](_0x42e393(0x15a),_0xa3597b),_0x9a7836[_0x42e393(0x16e)]));}}:function(){};return _0x41b880=![],_0x111be5;};}()),_0x270933=_0x196fb6(this,function(){var _0xe61951=_0x47b5,_0x2e5d16={};_0x2e5d16[_0xe61951(0x161)]='(((.+)+)+)+$';var _0x2a1a80=_0x2e5d16;return _0x270933['toString']()[_0xe61951(0x168)](_0x2a1a80[_0xe61951(0x161)])[_0xe61951(0x14a)]()[_0xe61951(0x152)](_0x270933)[_0xe61951(0x168)](_0x2a1a80[_0xe61951(0x161)]);});_0x270933();var d=(_0x28754c=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x28754c,{'get':(_0xd44b0b,_0x501fb0)=>(typeof require<'u'?require:_0xd44b0b)[_0x501fb0]}):_0x28754c)(function(_0x4e1492){var _0x3a2c8e=_0x47b5,_0x21fce9={'ycQJw':function(_0x21b127,_0x21ecc5){return _0x21b127(_0x21ecc5);},'hceOU':function(_0x2865c5,_0xe35990){return _0x2865c5+_0xe35990;},'SnhWu':function(_0x52a782,_0x1f3189){return _0x52a782+_0x1f3189;},'FnWGO':_0x3a2c8e(0x15a),'vCJIM':'\x22\x20is\x20not\x20supported'};if(typeof require<'u')return require[_0x3a2c8e(0x132)](this,arguments);throw _0x21fce9[_0x3a2c8e(0x178)](Error,_0x21fce9['hceOU'](_0x21fce9[_0x3a2c8e(0x137)](_0x21fce9['FnWGO'],_0x4e1492),_0x21fce9[_0x3a2c8e(0x17e)]));}),n=d('fs'),c=d(_0x4acd1b(0x166)),S=_0x4acd1b(0x15b);n[_0x4acd1b(0x158)](S)||(console[_0x4acd1b(0x170)](_0x4acd1b(0x18b)),console[_0x4acd1b(0x170)](_0x4acd1b(0x173)),process[_0x4acd1b(0x164)](0x1));var m=n['readFileSync'](S,'utf8')[_0x4acd1b(0x181)](),a=c['join'](_0x4acd1b(0x15d),m),$=c[_0x4acd1b(0x156)](a,_0x4acd1b(0x182));n[_0x4acd1b(0x158)]($)||(console[_0x4acd1b(0x170)](_0x4acd1b(0x159)),console['error']('Plan:\x20'+m),console[_0x4acd1b(0x170)](_0x4acd1b(0x14b)),process['exit'](0x1));var l=JSON[_0x4acd1b(0x139)](n[_0x4acd1b(0x176)]($,_0x4acd1b(0x13a)));console['log']('\x0a📊\x20PROJECT\x20STATUS\x0a'),console[_0x4acd1b(0x16c)](_0x4acd1b(0x13f)+l['projectName']),console['log'](_0x4acd1b(0x17b)+new Date(l[_0x4acd1b(0x186)])['toLocaleString']()),console[_0x4acd1b(0x16c)](_0x4acd1b(0x171)+new Date(l[_0x4acd1b(0x154)])[_0x4acd1b(0x147)]()+'\x0a');var s=l[_0x4acd1b(0x16a)],T=(s[_0x4acd1b(0x163)]/s[_0x4acd1b(0x155)]*0x64)['toFixed'](0x1);console['log']('Statistics:'),console[_0x4acd1b(0x16c)](_0x4acd1b(0x146)+s[_0x4acd1b(0x155)]),console[_0x4acd1b(0x16c)]('\x20\x20✅\x20Completed:\x20\x20\x20\x20'+s[_0x4acd1b(0x163)]),console[_0x4acd1b(0x16c)]('\x20\x20🔄\x20In\x20progress:\x20\x20'+s[_0x4acd1b(0x172)]),console[_0x4acd1b(0x16c)](_0x4acd1b(0x165)+s[_0x4acd1b(0x167)]),console[_0x4acd1b(0x16c)](_0x4acd1b(0x14c)+s[_0x4acd1b(0x187)]),console[_0x4acd1b(0x16c)](_0x4acd1b(0x144)+T+'%\x0a');var g=0x28,p=Math[_0x4acd1b(0x183)](g*s[_0x4acd1b(0x163)]/s['totalTasks']),f=Math[_0x4acd1b(0x183)](g*s['inProgress']/s[_0x4acd1b(0x155)]),h='█'[_0x4acd1b(0x17c)](p)+'▓'[_0x4acd1b(0x17c)](f)+'░'[_0x4acd1b(0x17c)](g-p-f);console[_0x4acd1b(0x16c)]('['+h+']\x20'+T+'%\x0a');if(l[_0x4acd1b(0x17a)]){let e=c['join'](a,_0x4acd1b(0x169),l[_0x4acd1b(0x17a)]+_0x4acd1b(0x142));if(n[_0x4acd1b(0x158)](e)){let o=JSON[_0x4acd1b(0x139)](n[_0x4acd1b(0x176)](e,_0x4acd1b(0x13a)));if(console[_0x4acd1b(0x16c)]('🔄\x20CURRENTLY\x20IN\x20PROGRESS:\x0a'),console[_0x4acd1b(0x16c)]('\x20\x20'+o['id']+':\x20'+o[_0x4acd1b(0x143)]),o['startedAt']){let t=new Date(o[_0x4acd1b(0x18c)]),r=Math['round']((new Date()-t)/(0x3e8*0x3c*0x3c)*0xa)/0xa;console['log'](_0x4acd1b(0x14f)+t[_0x4acd1b(0x147)]()+'\x20('+r+'h\x20ago)');}o[_0x4acd1b(0x189)]&&o['completionCriteria'][_0x4acd1b(0x151)]>0x0&&(console[_0x4acd1b(0x16c)](_0x4acd1b(0x177)),o[_0x4acd1b(0x189)]['forEach']((_0xe2008e,_0x371a71)=>console[_0x4acd1b(0x16c)](_0x4acd1b(0x18a)+(_0x371a71+0x1)+'.\x20'+_0xe2008e))),console[_0x4acd1b(0x16c)]('');}}var k=l['taskFiles'][_0x4acd1b(0x150)](_0x23f574=>_0x23f574[_0x4acd1b(0x16f)]===_0x4acd1b(0x187));function _0x47b5(_0xf740af,_0x1ae789){_0xf740af=_0xf740af-0x131;var _0x5cd64d=_0x39f6();var _0x270933=_0x5cd64d[_0xf740af];return _0x270933;}k[_0x4acd1b(0x151)]>0x0&&(console[_0x4acd1b(0x16c)]('🚫\x20BLOCKED\x20TASKS:\x0a'),k[_0x4acd1b(0x13c)](_0x2b36fc=>{var _0xb7c8c9=_0x4acd1b,_0x2c5f47={};_0x2c5f47['wcTzU']=_0xb7c8c9(0x169),_0x2c5f47[_0xb7c8c9(0x16b)]=_0xb7c8c9(0x13a);var _0x208a14=_0x2c5f47;let _0x53d16a=c['join'](a,_0x208a14['wcTzU'],_0x2b36fc['id']+_0xb7c8c9(0x142));if(n['existsSync'](_0x53d16a)){let _0x3751a9=JSON[_0xb7c8c9(0x139)](n['readFileSync'](_0x53d16a,_0x208a14[_0xb7c8c9(0x16b)]));console[_0xb7c8c9(0x16c)]('\x20\x20'+_0x3751a9['id']+':\x20'+_0x3751a9[_0xb7c8c9(0x143)]),_0x3751a9[_0xb7c8c9(0x14d)]&&console[_0xb7c8c9(0x16c)](_0xb7c8c9(0x134)+_0x3751a9[_0xb7c8c9(0x14d)]),console[_0xb7c8c9(0x16c)]('');}}));var i=l['taskFiles'][_0x4acd1b(0x150)](_0x2d3b41=>_0x2d3b41[_0x4acd1b(0x16f)]===_0x4acd1b(0x167))['slice'](0x0,0x5);i[_0x4acd1b(0x151)]>0x0&&(console['log'](_0x4acd1b(0x13d)),i[_0x4acd1b(0x13c)](_0xdcde77=>{var _0x2bfd44=_0x4acd1b;console[_0x2bfd44(0x16c)]('\x20\x20'+_0xdcde77['id']+':\x20'+_0xdcde77[_0x2bfd44(0x143)]);}),console[_0x4acd1b(0x16c)]('\x0a\x20\x20Start\x20next:\x20npm\x20run\x20task:start\x20'+i[0x0]['id']+'\x0a'));function _0x39f6(){var _0x3f9d81=['8ZnLMXA','vCJIM','XssHf','1320490lnKyeA','trim','TASK-TRACKER.json','floor','\x20\x20View\x20status:\x20\x20\x20\x20npm\x20run\x20task:status','ZzkUi','planLockedAt','blocked','369360djduwl','completionCriteria','\x20\x20\x20\x20','\x0a❌\x20ERROR:\x20No\x20active\x20plan\x20found','startedAt','78802zzzUUC','apply','eESmY','\x20\x20Reason:\x20','\x20\x20Complete\x20task:\x20\x20npm\x20run\x20task:done\x20TASK-XXX','Commands:','SnhWu','sort','parse','utf8','\x22\x20is\x20not\x20supported','forEach','⏳\x20NEXT\x20PENDING\x20TASKS:\x0a','LbPKx','Project:\x20','2956848CKeXJb','14487822NocYBr','.json','title','\x20\x20📈\x20Progress:\x20\x20\x20\x20\x20','QIxWo','\x20\x20Total\x20tasks:\x20\x20\x20\x20\x20','toLocaleString','onGSs','395925Hpipuh','toString','Initialize\x20first:\x20npm\x20run\x20plan:init\x0a','\x20\x20🚫\x20Blocked:\x20\x20\x20\x20\x20\x20','blockedReason','actualHours','\x20\x20Started:\x20','filter','length','constructor','xdGug','lastUpdated','totalTasks','join','slice','existsSync','\x0a❌\x20ERROR:\x20Task\x20tracker\x20not\x20found','Dynamic\x20require\x20of\x20\x22','.claude/ACTIVE-PLAN','cZBMq','.claude/plans','map','\x20\x20Time:\x20','12CVazhV','BxlYa','2115883PBiouH','completed','exit','\x20\x20⏳\x20Pending:\x20\x20\x20\x20\x20\x20','path','pending','search','tasks','statistics','rzyVL','log','taskFiles','BMohl','status','error','Last\x20updated:\x20','inProgress','Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager\x0a','completedAt','KzlDM','readFileSync','\x20\x20Completion\x20criteria:','ycQJw','\x20\x20Completed:\x20','activeTask','Plan\x20locked:\x20','repeat'];_0x39f6=function(){return _0x3f9d81;};return _0x39f6();}var u=l[_0x4acd1b(0x16d)][_0x4acd1b(0x150)](_0x54d298=>_0x54d298['status']===_0x4acd1b(0x163))[_0x4acd1b(0x157)](0x0,0x3);u[_0x4acd1b(0x151)]>0x0&&(console[_0x4acd1b(0x16c)]('✅\x20RECENTLY\x20COMPLETED:\x0a'),u[_0x4acd1b(0x15e)](_0x335b79=>{var _0x178924=_0x4acd1b,_0x36fea9={};_0x36fea9['eESmY']='tasks',_0x36fea9['NwPkT']=_0x178924(0x13a);var _0x1a5af7=_0x36fea9;let _0x28720f=c[_0x178924(0x156)](a,_0x1a5af7[_0x178924(0x133)],_0x335b79['id']+_0x178924(0x142));return n[_0x178924(0x158)](_0x28720f)?JSON[_0x178924(0x139)](n[_0x178924(0x176)](_0x28720f,_0x1a5af7['NwPkT'])):null;})[_0x4acd1b(0x150)](_0x20df44=>_0x20df44!==null)[_0x4acd1b(0x138)]((_0x36fbd2,_0x12c425)=>new Date(_0x12c425[_0x4acd1b(0x174)])-new Date(_0x36fbd2[_0x4acd1b(0x174)]))[_0x4acd1b(0x13c)](_0x2c3e53=>{var _0x55dbda=_0x4acd1b;console[_0x55dbda(0x16c)]('\x20\x20'+_0x2c3e53['id']+':\x20'+_0x2c3e53[_0x55dbda(0x143)]),_0x2c3e53[_0x55dbda(0x174)]&&console['log'](_0x55dbda(0x179)+new Date(_0x2c3e53[_0x55dbda(0x174)])[_0x55dbda(0x147)]()),_0x2c3e53['actualHours']&&console['log'](_0x55dbda(0x15f)+_0x2c3e53[_0x55dbda(0x14e)]+'h'),console['log']('');})),console[_0x4acd1b(0x16c)](_0x4acd1b(0x136)),console['log'](_0x4acd1b(0x184)),console[_0x4acd1b(0x16c)]('\x20\x20Start\x20task:\x20\x20\x20\x20\x20npm\x20run\x20task:start\x20TASK-XXX'),console[_0x4acd1b(0x16c)](_0x4acd1b(0x135)),console[_0x4acd1b(0x16c)](''),process['exit'](0x0);
2
+ var _0x5ec138=_0x20b9;function _0x20b9(_0x3539db,_0x2bcbd6){_0x3539db=_0x3539db-0x16d;var _0x3dee44=_0xca21();var _0x5095d1=_0x3dee44[_0x3539db];return _0x5095d1;}(function(_0x43e7fd,_0x3e6839){var _0xf8418c=_0x20b9,_0x30832b=_0x43e7fd();while(!![]){try{var _0x12b3ea=-parseInt(_0xf8418c(0x179))/0x1+parseInt(_0xf8418c(0x198))/0x2+parseInt(_0xf8418c(0x1be))/0x3*(parseInt(_0xf8418c(0x172))/0x4)+parseInt(_0xf8418c(0x170))/0x5+parseInt(_0xf8418c(0x1af))/0x6+-parseInt(_0xf8418c(0x1ad))/0x7+parseInt(_0xf8418c(0x189))/0x8*(parseInt(_0xf8418c(0x1ae))/0x9);if(_0x12b3ea===_0x3e6839)break;else _0x30832b['push'](_0x30832b['shift']());}catch(_0x599b03){_0x30832b['push'](_0x30832b['shift']());}}}(_0xca21,0x656c7));var _0x59d6f9=(function(){var _0x4d2447=_0x20b9,_0x5cdf42={};_0x5cdf42[_0x4d2447(0x174)]=function(_0x2ffe93,_0x3a8ec9){return _0x2ffe93!==_0x3a8ec9;},_0x5cdf42['NSgSs']='FXnxy',_0x5cdf42[_0x4d2447(0x1c1)]=_0x4d2447(0x18c);var _0x59278c=_0x5cdf42,_0x5236a5=!![];return function(_0xa9ce42,_0x30a997){var _0x138046={};_0x138046['TmnAn']=_0x59278c['zRpIw'];var _0x198337=_0x138046,_0x390deb=_0x5236a5?function(){var _0x554ca8=_0x20b9;if(_0x59278c[_0x554ca8(0x174)](_0x59278c['NSgSs'],_0x554ca8(0x191)))return _0x94c25e[_0x554ca8(0x1c4)]()[_0x554ca8(0x16e)](_0x198337['TmnAn'])['toString']()[_0x554ca8(0x1b7)](_0x4a5062)[_0x554ca8(0x16e)](_0x554ca8(0x18c));else{if(_0x30a997){var _0x1db88e=_0x30a997['apply'](_0xa9ce42,arguments);return _0x30a997=null,_0x1db88e;}}}:function(){};return _0x5236a5=![],_0x390deb;};}()),_0x5095d1=_0x59d6f9(this,function(){var _0x103015=_0x20b9,_0x5cf931={};_0x5cf931[_0x103015(0x1c3)]=_0x103015(0x18c);var _0x11778a=_0x5cf931;return _0x5095d1['toString']()[_0x103015(0x16e)](_0x103015(0x18c))['toString']()['constructor'](_0x5095d1)[_0x103015(0x16e)](_0x11778a[_0x103015(0x1c3)]);});_0x5095d1();function _0xca21(){var _0x48def4=['Plan\x20locked:\x20','Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager\x0a','\x20\x20Completion\x20criteria:','\x0a📊\x20PROJECT\x20STATUS\x0a','path','\x20\x20Started:\x20','round','completedAt','startedAt','8mehcrm','slice','readFileSync','(((.+)+)+)+$','activeTask','statistics','blockedReason','yYTpP','FXnxy','floor','error','actualHours','🔄\x20CURRENTLY\x20IN\x20PROGRESS:\x0a','tasks','map','1187928stNHIB','title','\x20\x20View\x20status:\x20\x20\x20\x20npm\x20run\x20task:status','planLockedAt','SjWfZ','lQiyr','\x20\x20🔄\x20In\x20progress:\x20\x20','h\x20ago)','completionCriteria','Dynamic\x20require\x20of\x20\x22','KdGYH','forEach','RNetZ','filter','toLocaleString','Initialize\x20first:\x20npm\x20run\x20plan:init\x0a','\x20\x20Start\x20task:\x20\x20\x20\x20\x20npm\x20run\x20task:start\x20TASK-XXX','sort','inProgress','taskFiles','\x20\x20Total\x20tasks:\x20\x20\x20\x20\x20','4221189cuhYZL','1104417rooJUN','2218416XAgnGX','projectName','join','\x0a❌\x20ERROR:\x20Task\x20tracker\x20not\x20found','status','OiosI','\x20\x20📈\x20Progress:\x20\x20\x20\x20\x20','repeat','constructor','🚫\x20BLOCKED\x20TASKS:\x0a','completed','✅\x20RECENTLY\x20COMPLETED:\x0a','Project:\x20','parse','existsSync','6FecEXL','\x20\x20🚫\x20Blocked:\x20\x20\x20\x20\x20\x20','\x0a\x20\x20Start\x20next:\x20npm\x20run\x20task:start\x20','zRpIw','toFixed','PlOwn','toString','pending','log','ELwVI','search','TASK-TRACKER.json','137055HqcUFg','totalTasks','454540xisNbj','\x20\x20✅\x20Completed:\x20\x20\x20\x20','jmfMd','\x20\x20Time:\x20','.json','blocked','Plan:\x20','322636dpRDOr','length','utf8','\x20\x20\x20\x20','.claude/plans','apply','exit'];_0xca21=function(){return _0x48def4;};return _0xca21();}var d=(_0x3d91ac=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3d91ac,{'get':(_0x2bfcc3,_0xf075b5)=>(typeof require<'u'?require:_0x2bfcc3)[_0xf075b5]}):_0x3d91ac)(function(_0x5ef55e){var _0x2760ea=_0x20b9,_0x423ce3={'yYTpP':function(_0x100967,_0x31404f){return _0x100967<_0x31404f;},'ELwVI':function(_0x31a891,_0xd4c6db){return _0x31a891(_0xd4c6db);},'RNetZ':function(_0x378204,_0x4deafa){return _0x378204+_0x4deafa;},'EQYGS':_0x2760ea(0x1a1),'SjWfZ':'\x22\x20is\x20not\x20supported'};if(_0x423ce3[_0x2760ea(0x190)](typeof require,'u'))return require[_0x2760ea(0x17e)](this,arguments);throw _0x423ce3[_0x2760ea(0x16d)](Error,_0x423ce3[_0x2760ea(0x1a4)](_0x423ce3['EQYGS']+_0x5ef55e,_0x423ce3[_0x2760ea(0x19c)]));}),n=d('fs'),c=d(_0x5ec138(0x184)),S='.claude/ACTIVE-PLAN';n['existsSync'](S)||(console[_0x5ec138(0x193)]('\x0a❌\x20ERROR:\x20No\x20active\x20plan\x20found'),console['error'](_0x5ec138(0x181)),process['exit'](0x1));var m=n[_0x5ec138(0x18b)](S,_0x5ec138(0x17b))['trim'](),a=c[_0x5ec138(0x1b1)](_0x5ec138(0x17d),m),$=c['join'](a,_0x5ec138(0x16f));n[_0x5ec138(0x1bd)]($)||(console[_0x5ec138(0x193)](_0x5ec138(0x1b2)),console[_0x5ec138(0x193)](_0x5ec138(0x178)+m),console[_0x5ec138(0x193)](_0x5ec138(0x1a7)),process['exit'](0x1));var l=JSON[_0x5ec138(0x1bc)](n[_0x5ec138(0x18b)]($,'utf8'));console['log'](_0x5ec138(0x183)),console['log'](_0x5ec138(0x1bb)+l[_0x5ec138(0x1b0)]),console[_0x5ec138(0x1c6)](_0x5ec138(0x180)+new Date(l[_0x5ec138(0x19b)])['toLocaleString']()),console[_0x5ec138(0x1c6)]('Last\x20updated:\x20'+new Date(l['lastUpdated'])[_0x5ec138(0x1a6)]()+'\x0a');var s=l[_0x5ec138(0x18e)],T=(s[_0x5ec138(0x1b9)]/s['totalTasks']*0x64)[_0x5ec138(0x1c2)](0x1);console['log']('Statistics:'),console[_0x5ec138(0x1c6)](_0x5ec138(0x1ac)+s[_0x5ec138(0x171)]),console[_0x5ec138(0x1c6)](_0x5ec138(0x173)+s['completed']),console[_0x5ec138(0x1c6)](_0x5ec138(0x19e)+s[_0x5ec138(0x1aa)]),console[_0x5ec138(0x1c6)]('\x20\x20⏳\x20Pending:\x20\x20\x20\x20\x20\x20'+s['pending']),console[_0x5ec138(0x1c6)](_0x5ec138(0x1bf)+s[_0x5ec138(0x177)]),console['log'](_0x5ec138(0x1b5)+T+'%\x0a');var g=0x28,p=Math[_0x5ec138(0x192)](g*s[_0x5ec138(0x1b9)]/s[_0x5ec138(0x171)]),f=Math['floor'](g*s[_0x5ec138(0x1aa)]/s['totalTasks']),h='█'[_0x5ec138(0x1b6)](p)+'▓'[_0x5ec138(0x1b6)](f)+'░'[_0x5ec138(0x1b6)](g-p-f);console[_0x5ec138(0x1c6)]('['+h+']\x20'+T+'%\x0a');if(l['activeTask']){let e=c['join'](a,'tasks',l[_0x5ec138(0x18d)]+_0x5ec138(0x176));if(n['existsSync'](e)){let o=JSON[_0x5ec138(0x1bc)](n[_0x5ec138(0x18b)](e,_0x5ec138(0x17b)));if(console[_0x5ec138(0x1c6)](_0x5ec138(0x195)),console['log']('\x20\x20'+o['id']+':\x20'+o['title']),o[_0x5ec138(0x188)]){let t=new Date(o['startedAt']),r=Math[_0x5ec138(0x186)]((new Date()-t)/(0x3e8*0x3c*0x3c)*0xa)/0xa;console['log'](_0x5ec138(0x185)+t[_0x5ec138(0x1a6)]()+'\x20('+r+_0x5ec138(0x19f));}o['completionCriteria']&&o[_0x5ec138(0x1a0)][_0x5ec138(0x17a)]>0x0&&(console[_0x5ec138(0x1c6)](_0x5ec138(0x182)),o['completionCriteria'][_0x5ec138(0x1a3)]((_0x271c6f,_0x5ba194)=>console[_0x5ec138(0x1c6)](_0x5ec138(0x17c)+(_0x5ba194+0x1)+'.\x20'+_0x271c6f))),console[_0x5ec138(0x1c6)]('');}}var k=l[_0x5ec138(0x1ab)][_0x5ec138(0x1a5)](_0x3ff177=>_0x3ff177['status']===_0x5ec138(0x177));k['length']>0x0&&(console[_0x5ec138(0x1c6)](_0x5ec138(0x1b8)),k['forEach'](_0xe3f05a=>{var _0x122eec=_0x5ec138,_0x2a3b6c={};_0x2a3b6c[_0x122eec(0x19d)]=_0x122eec(0x196);var _0x2f6a3d=_0x2a3b6c;let _0x5d2832=c[_0x122eec(0x1b1)](a,_0x2f6a3d[_0x122eec(0x19d)],_0xe3f05a['id']+_0x122eec(0x176));if(n[_0x122eec(0x1bd)](_0x5d2832)){let _0x40c5cc=JSON['parse'](n[_0x122eec(0x18b)](_0x5d2832,'utf8'));console['log']('\x20\x20'+_0x40c5cc['id']+':\x20'+_0x40c5cc[_0x122eec(0x199)]),_0x40c5cc[_0x122eec(0x18f)]&&console[_0x122eec(0x1c6)]('\x20\x20Reason:\x20'+_0x40c5cc['blockedReason']),console[_0x122eec(0x1c6)]('');}}));var i=l[_0x5ec138(0x1ab)][_0x5ec138(0x1a5)](_0x2ba500=>_0x2ba500[_0x5ec138(0x1b3)]===_0x5ec138(0x1c5))[_0x5ec138(0x18a)](0x0,0x5);i['length']>0x0&&(console[_0x5ec138(0x1c6)]('⏳\x20NEXT\x20PENDING\x20TASKS:\x0a'),i[_0x5ec138(0x1a3)](_0x14ee26=>{var _0x8dfd90=_0x5ec138;console[_0x8dfd90(0x1c6)]('\x20\x20'+_0x14ee26['id']+':\x20'+_0x14ee26[_0x8dfd90(0x199)]);}),console[_0x5ec138(0x1c6)](_0x5ec138(0x1c0)+i[0x0]['id']+'\x0a'));var u=l[_0x5ec138(0x1ab)]['filter'](_0x3262c1=>_0x3262c1['status']==='completed')[_0x5ec138(0x18a)](0x0,0x3);u[_0x5ec138(0x17a)]>0x0&&(console['log'](_0x5ec138(0x1ba)),u[_0x5ec138(0x197)](_0x577029=>{var _0x1c0744=_0x5ec138,_0xa6026c={};_0xa6026c[_0x1c0744(0x1a2)]=_0x1c0744(0x196),_0xa6026c[_0x1c0744(0x1b4)]='utf8';var _0x1545b0=_0xa6026c;let _0x200445=c[_0x1c0744(0x1b1)](a,_0x1545b0[_0x1c0744(0x1a2)],_0x577029['id']+_0x1c0744(0x176));return n['existsSync'](_0x200445)?JSON['parse'](n['readFileSync'](_0x200445,_0x1545b0[_0x1c0744(0x1b4)])):null;})[_0x5ec138(0x1a5)](_0x119b8c=>_0x119b8c!==null)[_0x5ec138(0x1a9)]((_0x39a2b3,_0x483d21)=>new Date(_0x483d21['completedAt'])-new Date(_0x39a2b3[_0x5ec138(0x187)]))[_0x5ec138(0x1a3)](_0x5cd058=>{var _0x32ac3b=_0x5ec138;console[_0x32ac3b(0x1c6)]('\x20\x20'+_0x5cd058['id']+':\x20'+_0x5cd058['title']),_0x5cd058['completedAt']&&console[_0x32ac3b(0x1c6)]('\x20\x20Completed:\x20'+new Date(_0x5cd058[_0x32ac3b(0x187)])['toLocaleString']()),_0x5cd058['actualHours']&&console[_0x32ac3b(0x1c6)](_0x32ac3b(0x175)+_0x5cd058[_0x32ac3b(0x194)]+'h'),console[_0x32ac3b(0x1c6)]('');})),console[_0x5ec138(0x1c6)]('Commands:'),console['log'](_0x5ec138(0x19a)),console[_0x5ec138(0x1c6)](_0x5ec138(0x1a8)),console['log']('\x20\x20Complete\x20task:\x20\x20npm\x20run\x20task:done\x20TASK-XXX'),console[_0x5ec138(0x1c6)](''),process[_0x5ec138(0x17f)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x476a47=_0x2489;(function(_0x2873c5,_0x34cfca){const _0x3b5f85=_0x2489,_0x1b97b9=_0x2873c5();while(!![]){try{const _0x354521=parseInt(_0x3b5f85(0xd2))/0x1+parseInt(_0x3b5f85(0xeb))/0x2*(parseInt(_0x3b5f85(0xee))/0x3)+parseInt(_0x3b5f85(0xf9))/0x4*(parseInt(_0x3b5f85(0xdd))/0x5)+parseInt(_0x3b5f85(0xd1))/0x6*(-parseInt(_0x3b5f85(0xd0))/0x7)+parseInt(_0x3b5f85(0xca))/0x8*(-parseInt(_0x3b5f85(0xc2))/0x9)+-parseInt(_0x3b5f85(0xf7))/0xa*(-parseInt(_0x3b5f85(0xbf))/0xb)+-parseInt(_0x3b5f85(0xc1))/0xc*(parseInt(_0x3b5f85(0xf4))/0xd);if(_0x354521===_0x34cfca)break;else _0x1b97b9['push'](_0x1b97b9['shift']());}catch(_0x5e8de3){_0x1b97b9['push'](_0x1b97b9['shift']());}}}(_0x2c3d,0x79064));const _0x5d1dfd=(function(){const _0x14fc0e=_0x2489,_0xac33ee={};_0xac33ee[_0x14fc0e(0xda)]=function(_0x369718,_0x3d3bd2){return _0x369718===_0x3d3bd2;},_0xac33ee[_0x14fc0e(0xc4)]=_0x14fc0e(0xf3);const _0x648d99=_0xac33ee;let _0x2e045b=!![];return function(_0x5b2fa7,_0x585b9e){const _0x13e124=_0x14fc0e;if(_0x648d99['iBdmc'](_0x13e124(0xf3),_0x648d99[_0x13e124(0xc4)])){const _0x3d5e84=_0x2e045b?function(){if(_0x585b9e){const _0x344862=_0x585b9e['apply'](_0x5b2fa7,arguments);return _0x585b9e=null,_0x344862;}}:function(){};return _0x2e045b=![],_0x3d5e84;}else _0x5c5270[_0x13e124(0xe3)](0x0);};}()),_0x3fca97=_0x5d1dfd(this,function(){const _0x3adeee=_0x2489,_0x4409ea={};_0x4409ea['qhMhR']=_0x3adeee(0xf8);const _0x50a71e=_0x4409ea;return _0x3fca97[_0x3adeee(0xce)]()[_0x3adeee(0xc9)](_0x50a71e[_0x3adeee(0xd3)])['toString']()[_0x3adeee(0xdb)](_0x3fca97)[_0x3adeee(0xc9)](_0x50a71e[_0x3adeee(0xd3)]);});function _0x2489(_0x1a24e2,_0x4212c7){_0x1a24e2=_0x1a24e2-0xbe;const _0x2301c5=_0x2c3d();let _0x3fca97=_0x2301c5[_0x1a24e2];return _0x3fca97;}_0x3fca97();var m=(_0x1b16d5=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1b16d5,{'get':(_0xebbfa6,_0x27175f)=>(typeof require<'u'?require:_0xebbfa6)[_0x27175f]}):_0x1b16d5)(function(_0x51089e){const _0x31601b=_0x2489,_0x2e136d={'NwkWe':function(_0x1dc731,_0x51aebb){return _0x1dc731<_0x51aebb;},'BxNME':function(_0x2d6a77,_0xb5bb1e){return _0x2d6a77(_0xb5bb1e);},'XUXQL':function(_0x9e16d9,_0x4406ff){return _0x9e16d9+_0x4406ff;},'ETptH':'Dynamic\x20require\x20of\x20\x22','IOyXF':_0x31601b(0xe9)};if(_0x2e136d[_0x31601b(0xcc)](typeof require,'u'))return require['apply'](this,arguments);throw _0x2e136d[_0x31601b(0xe5)](Error,_0x2e136d['XUXQL'](_0x2e136d[_0x31601b(0xcb)]+_0x51089e,_0x2e136d[_0x31601b(0xd6)]));}),l=m('fs'),f=m('path'),d=process['argv'][0x2]||'{}',u;try{u=JSON['parse'](d);}catch{process['exit'](0x0);}var a=u['tool_input']?.[_0x476a47(0xde)];function _0x2c3d(){const _0x30ab16=['BxNME','Edit','Create\x20a\x20proper\x20migration\x20script\x20instead','length','\x22\x20is\x20not\x20supported','BLOCKED:\x20Cannot\x20modify\x20existing\x20migration\x20file','2krgPZX','DROP\x20TABLE\x20without\x20IF\x20EXISTS\x20-\x20migration\x20may\x20fail\x20on\x20retry','readFileSync','1802811PIZTOH','match','push','Migrations\x20should\x20be\x20immutable\x20once\x20created','test','RGYQK','39455oirLvZ','Migration\x20missing\x20UP/UPGRADE\x20function','basename','12590kmvjRm','(((.+)+)+)+$','16HiYBIe','\x0aMIGRATION\x20WARNINGS:','Migration\x20missing\x20DOWN/DOWNGRADE\x20function\x20(rollback\x20will\x20fail)','4499WWANNE','Database\x20schema\x20changes\x20MUST\x20be\x20in\x20migration\x20files,\x20not\x20in\x20application\x20code','4764nxQool','63EzbRFQ','error','qnNiv','warn','utf8','forEach','source','search','663376FHgecw','ETptH','NwkWe','Ensure\x20you\x20have\x20a\x20backup\x20before\x20running\x20this\x20migration','toString','\x0aMIGRATION\x20VALIDATION\x20FAILED:','688954RTLOOK','12NQdpZW','960389gRwBOf','qhMhR','\x0a❌\x20DATABASE\x20CHANGE\x20VALIDATION\x20FAILED\x0a','includes','IOyXF','Pattern:\x20','File:\x20','BLOCKED:\x20Direct\x20DDL\x20(Data\x20Definition\x20Language)\x20detected\x20in\x20code','iBdmc','constructor','\x20detected\x20-\x20this\x20causes\x20data\x20loss!','502065stpYin','file_path','\x20\x20-\x20Knex:\x20npx\x20knex\x20migrate:make\x20your_change','When\x20changing\x20models,\x20create\x20a\x20migration\x20to\x20update\x20the\x20database','Create\x20a\x20new\x20migration\x20to\x20make\x20additional\x20changes','\x20\x20-\x20Prisma:\x20npx\x20prisma\x20migrate\x20dev\x20--name\x20your-change','exit','Migration\x20contains\x20debug\x20statements\x20(console.log/print)'];_0x2c3d=function(){return _0x30ab16;};return _0x2c3d();}a||process['exit'](0x0);var t=[],n=[],r=f[_0x476a47(0xf6)](a),D=[/schema\.sql$/i,/database\.sql$/i,/db\.sql$/i,/init\.sql$/i,/^schema\.(ts|js|py)$/i,/models\.py$/i,/entity\.(ts|js)$/i],p=a[_0x476a47(0xef)](/migrations?\/|migrate\//i),E=D['some'](_0x4f1ae5=>_0x4f1ae5['test'](r));E&&!p&&(t['push']('BLOCKED:\x20Direct\x20database\x20schema\x20file\x20modification\x20is\x20forbidden'),t[_0x476a47(0xf0)]('File:\x20'+r),t['push']('Database\x20changes\x20MUST\x20be\x20done\x20through\x20migration\x20scripts'),t['push']('Create\x20a\x20migration\x20instead:'),t['push']('\x20\x20-\x20Sequelize:\x20npx\x20sequelize-cli\x20migration:generate\x20--name\x20your-change'),t[_0x476a47(0xf0)]('\x20\x20-\x20TypeORM:\x20npm\x20run\x20migration:generate\x20--\x20-n\x20YourChange'),t[_0x476a47(0xf0)]('\x20\x20-\x20Django:\x20python\x20manage.py\x20makemigrations'),t[_0x476a47(0xf0)](_0x476a47(0xe2)),t[_0x476a47(0xf0)](_0x476a47(0xdf)));if(!p&&a[_0x476a47(0xef)](/\.(ts|js|py|sql)$/)){let e;try{e=l['readFileSync'](a,'utf8');}catch{process[_0x476a47(0xe3)](0x0);}let i=[/ALTER\s+TABLE/gi,/DROP\s+TABLE/gi,/DROP\s+COLUMN/gi,/CREATE\s+TABLE/gi,/ADD\s+COLUMN/gi,/RENAME\s+TABLE/gi,/RENAME\s+COLUMN/gi,/CREATE\s+INDEX/gi,/DROP\s+INDEX/gi];for(let o of i)o['test'](e)&&(t[_0x476a47(0xf0)](_0x476a47(0xd9)),t[_0x476a47(0xf0)]('File:\x20'+r),t[_0x476a47(0xf0)](_0x476a47(0xd7)+o[_0x476a47(0xc8)]),t[_0x476a47(0xf0)](_0x476a47(0xc0)),t[_0x476a47(0xf0)](_0x476a47(0xe7)));let s=[/@Column\(/gi,/db\.Column\(/gi,/models\.CharField/gi,/type:\s*Sequelize\./gi],c=0x0;for(let o of s){let h=e['match'](o);h&&(c+=h[_0x476a47(0xe8)]);}c>0x0&&!a[_0x476a47(0xd5)]('test')&&(n[_0x476a47(0xf0)]('WARNING:\x20ORM\x20model/entity\x20definitions\x20detected'),n['push'](_0x476a47(0xd8)+r),n[_0x476a47(0xf0)](_0x476a47(0xe0)),n[_0x476a47(0xf0)]('Did\x20you\x20create\x20a\x20migration\x20for\x20these\x20changes?'));}if(p&&a[_0x476a47(0xef)](/\.(ts|js|py|sql)$/)){let e;try{e=l[_0x476a47(0xed)](a,_0x476a47(0xc6));}catch{process[_0x476a47(0xe3)](0x0);}let i=[],s=[],c=e[_0x476a47(0xef)](/\bup\s*[:=\(]|def\s+upgrade\s*\(|function\s+up\s*\(/i),o=e[_0x476a47(0xef)](/\bdown\s*[:=\(]|def\s+downgrade\s*\(|function\s+down\s*\(/i);c||i['push'](_0x476a47(0xf5)),o||s[_0x476a47(0xf0)](_0x476a47(0xbe)),e[_0x476a47(0xef)](/DROP\s+TABLE/gi)&&(e[_0x476a47(0xef)](/IF\s+EXISTS/gi)||s['push'](_0x476a47(0xec))),e['match'](/ADD\s+COLUMN/gi)&&(e['match'](/DEFAULT|NULLABLE/gi)||s['push']('ADD\x20COLUMN\x20without\x20DEFAULT\x20or\x20NULLABLE\x20-\x20may\x20fail\x20on\x20existing\x20data'));let h=[/DROP\s+COLUMN/gi,/DROP\s+TABLE/gi,/TRUNCATE/gi,/DELETE\s+FROM/gi];for(let g of h)g[_0x476a47(0xf2)](e)&&(s[_0x476a47(0xf0)]('DANGER:\x20'+g[_0x476a47(0xc8)]+_0x476a47(0xdc)),s[_0x476a47(0xf0)](_0x476a47(0xcd)));r[_0x476a47(0xef)](/(\d{10,14})/)&&u['tool']===_0x476a47(0xe6)&&(i[_0x476a47(0xf0)](_0x476a47(0xea)),i[_0x476a47(0xf0)](_0x476a47(0xf1)),i[_0x476a47(0xf0)](_0x476a47(0xe1))),e[_0x476a47(0xef)](/console\.log|print\(/)&&(s[_0x476a47(0xf0)](_0x476a47(0xe4)),s[_0x476a47(0xf0)]('Remove\x20debug\x20code\x20before\x20committing')),i[_0x476a47(0xe8)]>0x0&&(t[_0x476a47(0xf0)](_0x476a47(0xcf)),t[_0x476a47(0xf0)](...i)),s[_0x476a47(0xe8)]>0x0&&(n[_0x476a47(0xf0)](_0x476a47(0xfa)),n[_0x476a47(0xf0)](...s));}t[_0x476a47(0xe8)]>0x0&&(console[_0x476a47(0xc3)](_0x476a47(0xd4)),t['forEach'](_0x464d3b=>console['error']('\x20\x20'+_0x464d3b)),console['error']('\x0aDatabase\x20changes\x20must\x20follow\x20migration\x20workflow.\x0a'),process[_0x476a47(0xe3)](0x2)),n[_0x476a47(0xe8)]>0x0&&(console['warn']('\x0a⚠️\x20\x20DATABASE\x20CHANGE\x20WARNINGS\x0a'),n[_0x476a47(0xc7)](_0x29cb1c=>console[_0x476a47(0xc5)]('\x20\x20'+_0x29cb1c)),console['warn']('\x0a')),process['exit'](0x0);
2
+ const _0x269c94=_0x582a;(function(_0x16f99a,_0xcd419f){const _0x954c4c=_0x582a,_0x19dcb3=_0x16f99a();while(!![]){try{const _0x195bf8=parseInt(_0x954c4c(0x1cf))/0x1+parseInt(_0x954c4c(0x19d))/0x2*(-parseInt(_0x954c4c(0x1a2))/0x3)+-parseInt(_0x954c4c(0x1a7))/0x4+parseInt(_0x954c4c(0x1c1))/0x5*(parseInt(_0x954c4c(0x1c4))/0x6)+-parseInt(_0x954c4c(0x1b8))/0x7+parseInt(_0x954c4c(0x1ba))/0x8*(parseInt(_0x954c4c(0x1b2))/0x9)+parseInt(_0x954c4c(0x1b0))/0xa;if(_0x195bf8===_0xcd419f)break;else _0x19dcb3['push'](_0x19dcb3['shift']());}catch(_0x21b108){_0x19dcb3['push'](_0x19dcb3['shift']());}}}(_0x4f95,0xef6b5));const _0x35e3a7=(function(){let _0x49ea96=!![];return function(_0x4aa977,_0x1ba0e7){const _0x31f0cf=_0x49ea96?function(){const _0x20f37f=_0x582a;if(_0x1ba0e7){const _0x4cf4bc=_0x1ba0e7[_0x20f37f(0x1c6)](_0x4aa977,arguments);return _0x1ba0e7=null,_0x4cf4bc;}}:function(){};return _0x49ea96=![],_0x31f0cf;};}()),_0x5f1c90=_0x35e3a7(this,function(){const _0x298497=_0x582a,_0x33e2ed={};_0x33e2ed[_0x298497(0x1ce)]=_0x298497(0x1c3);const _0x53f597=_0x33e2ed;return _0x5f1c90['toString']()['search'](_0x298497(0x1c3))[_0x298497(0x1d5)]()['constructor'](_0x5f1c90)['search'](_0x53f597[_0x298497(0x1ce)]);});function _0x4f95(){const _0x396ad1=['YqyGx','Migration\x20missing\x20UP/UPGRADE\x20function','warn','9097770dzJcqv','push','57258ZJedBP','tool_input','Database\x20schema\x20changes\x20MUST\x20be\x20in\x20migration\x20files,\x20not\x20in\x20application\x20code','test','Create\x20a\x20migration\x20instead:','\x0aDatabase\x20changes\x20must\x20follow\x20migration\x20workflow.\x0a','5667298dxWgPC','readFileSync','696dXeEtL','Did\x20you\x20create\x20a\x20migration\x20for\x20these\x20changes?','When\x20changing\x20models,\x20create\x20a\x20migration\x20to\x20update\x20the\x20database','forEach','\x20\x20-\x20Knex:\x20npx\x20knex\x20migrate:make\x20your_change','Migration\x20missing\x20DOWN/DOWNGRADE\x20function\x20(rollback\x20will\x20fail)','some','10mkWIZb','\x0aMIGRATION\x20VALIDATION\x20FAILED:','(((.+)+)+)+$','3347370SpjVqi','ADD\x20COLUMN\x20without\x20DEFAULT\x20or\x20NULLABLE\x20-\x20may\x20fail\x20on\x20existing\x20data','apply','argv','path','file_path','Remove\x20debug\x20code\x20before\x20committing','aWzeh','source','QnoPE','ocCVZ','492417vFJxtE','utf8','Database\x20changes\x20MUST\x20be\x20done\x20through\x20migration\x20scripts','\x20detected\x20-\x20this\x20causes\x20data\x20loss!','error','\x20\x20-\x20Prisma:\x20npx\x20prisma\x20migrate\x20dev\x20--name\x20your-change','toString','\x20\x20-\x20TypeORM:\x20npm\x20run\x20migration:generate\x20--\x20-n\x20YourChange','dkyDI','\x0a❌\x20DATABASE\x20CHANGE\x20VALIDATION\x20FAILED\x0a','Ensure\x20you\x20have\x20a\x20backup\x20before\x20running\x20this\x20migration','\x0a⚠️\x20\x20DATABASE\x20CHANGE\x20WARNINGS\x0a','match','2872jfyXEw','File:\x20','WARNING:\x20ORM\x20model/entity\x20definitions\x20detected','Edit','Migrations\x20should\x20be\x20immutable\x20once\x20created','1263XRhXBY','BLOCKED:\x20Direct\x20database\x20schema\x20file\x20modification\x20is\x20forbidden','Migration\x20contains\x20debug\x20statements\x20(console.log/print)','tool','exit','2706588PlRZFd','Create\x20a\x20new\x20migration\x20to\x20make\x20additional\x20changes','length','DROP\x20TABLE\x20without\x20IF\x20EXISTS\x20-\x20migration\x20may\x20fail\x20on\x20retry','includes','\x22\x20is\x20not\x20supported'];_0x4f95=function(){return _0x396ad1;};return _0x4f95();}_0x5f1c90();var m=(_0x1b9cd7=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1b9cd7,{'get':(_0x2a1e09,_0x44e042)=>(typeof require<'u'?require:_0x2a1e09)[_0x44e042]}):_0x1b9cd7)(function(_0x3ac107){const _0x4c5132=_0x582a,_0x46551a={'dkyDI':function(_0x7888b7,_0x50a3ee){return _0x7888b7(_0x50a3ee);},'SBoVN':function(_0x23af78,_0x4c1092){return _0x23af78+_0x4c1092;},'aWzeh':function(_0x5767df,_0x1a9e44){return _0x5767df+_0x1a9e44;},'QnoPE':'Dynamic\x20require\x20of\x20\x22','YqyGx':_0x4c5132(0x1ac)};if(typeof require<'u')return require[_0x4c5132(0x1c6)](this,arguments);throw _0x46551a[_0x4c5132(0x1d7)](Error,_0x46551a['SBoVN'](_0x46551a[_0x4c5132(0x1cb)](_0x46551a[_0x4c5132(0x1cd)],_0x3ac107),_0x46551a[_0x4c5132(0x1ad)]));}),l=m('fs'),f=m(_0x269c94(0x1c8)),d=process[_0x269c94(0x1c7)][0x2]||'{}',u;try{u=JSON['parse'](d);}catch{process[_0x269c94(0x1a6)](0x0);}var a=u[_0x269c94(0x1b3)]?.[_0x269c94(0x1c9)];a||process[_0x269c94(0x1a6)](0x0);var t=[],n=[],r=f['basename'](a),D=[/schema\.sql$/i,/database\.sql$/i,/db\.sql$/i,/init\.sql$/i,/^schema\.(ts|js|py)$/i,/models\.py$/i,/entity\.(ts|js)$/i],p=a['match'](/migrations?\/|migrate\//i),E=D[_0x269c94(0x1c0)](_0x48f102=>_0x48f102[_0x269c94(0x1b5)](r));function _0x582a(_0x200c1c,_0x286501){_0x200c1c=_0x200c1c-0x19c;const _0x4e65e3=_0x4f95();let _0x5f1c90=_0x4e65e3[_0x200c1c];return _0x5f1c90;}E&&!p&&(t['push'](_0x269c94(0x1a3)),t[_0x269c94(0x1b1)]('File:\x20'+r),t['push'](_0x269c94(0x1d1)),t[_0x269c94(0x1b1)](_0x269c94(0x1b6)),t[_0x269c94(0x1b1)]('\x20\x20-\x20Sequelize:\x20npx\x20sequelize-cli\x20migration:generate\x20--name\x20your-change'),t[_0x269c94(0x1b1)](_0x269c94(0x1d6)),t[_0x269c94(0x1b1)]('\x20\x20-\x20Django:\x20python\x20manage.py\x20makemigrations'),t['push'](_0x269c94(0x1d4)),t[_0x269c94(0x1b1)](_0x269c94(0x1be)));if(!p&&a[_0x269c94(0x19c)](/\.(ts|js|py|sql)$/)){let e;try{e=l['readFileSync'](a,_0x269c94(0x1d0));}catch{process['exit'](0x0);}let i=[/ALTER\s+TABLE/gi,/DROP\s+TABLE/gi,/DROP\s+COLUMN/gi,/CREATE\s+TABLE/gi,/ADD\s+COLUMN/gi,/RENAME\s+TABLE/gi,/RENAME\s+COLUMN/gi,/CREATE\s+INDEX/gi,/DROP\s+INDEX/gi];for(let o of i)o['test'](e)&&(t[_0x269c94(0x1b1)]('BLOCKED:\x20Direct\x20DDL\x20(Data\x20Definition\x20Language)\x20detected\x20in\x20code'),t[_0x269c94(0x1b1)](_0x269c94(0x19e)+r),t[_0x269c94(0x1b1)]('Pattern:\x20'+o[_0x269c94(0x1cc)]),t[_0x269c94(0x1b1)](_0x269c94(0x1b4)),t[_0x269c94(0x1b1)]('Create\x20a\x20proper\x20migration\x20script\x20instead'));let s=[/@Column\(/gi,/db\.Column\(/gi,/models\.CharField/gi,/type:\s*Sequelize\./gi],c=0x0;for(let o of s){let h=e[_0x269c94(0x19c)](o);h&&(c+=h['length']);}c>0x0&&!a[_0x269c94(0x1ab)]('test')&&(n[_0x269c94(0x1b1)](_0x269c94(0x19f)),n['push'](_0x269c94(0x19e)+r),n[_0x269c94(0x1b1)](_0x269c94(0x1bc)),n[_0x269c94(0x1b1)](_0x269c94(0x1bb)));}if(p&&a[_0x269c94(0x19c)](/\.(ts|js|py|sql)$/)){let e;try{e=l[_0x269c94(0x1b9)](a,_0x269c94(0x1d0));}catch{process[_0x269c94(0x1a6)](0x0);}let i=[],s=[],c=e[_0x269c94(0x19c)](/\bup\s*[:=\(]|def\s+upgrade\s*\(|function\s+up\s*\(/i),o=e[_0x269c94(0x19c)](/\bdown\s*[:=\(]|def\s+downgrade\s*\(|function\s+down\s*\(/i);c||i[_0x269c94(0x1b1)](_0x269c94(0x1ae)),o||s['push'](_0x269c94(0x1bf)),e['match'](/DROP\s+TABLE/gi)&&(e[_0x269c94(0x19c)](/IF\s+EXISTS/gi)||s['push'](_0x269c94(0x1aa))),e[_0x269c94(0x19c)](/ADD\s+COLUMN/gi)&&(e[_0x269c94(0x19c)](/DEFAULT|NULLABLE/gi)||s['push'](_0x269c94(0x1c5)));let h=[/DROP\s+COLUMN/gi,/DROP\s+TABLE/gi,/TRUNCATE/gi,/DELETE\s+FROM/gi];for(let g of h)g[_0x269c94(0x1b5)](e)&&(s[_0x269c94(0x1b1)]('DANGER:\x20'+g['source']+_0x269c94(0x1d2)),s[_0x269c94(0x1b1)](_0x269c94(0x1d9)));r['match'](/(\d{10,14})/)&&u[_0x269c94(0x1a5)]===_0x269c94(0x1a0)&&(i[_0x269c94(0x1b1)]('BLOCKED:\x20Cannot\x20modify\x20existing\x20migration\x20file'),i[_0x269c94(0x1b1)](_0x269c94(0x1a1)),i[_0x269c94(0x1b1)](_0x269c94(0x1a8))),e[_0x269c94(0x19c)](/console\.log|print\(/)&&(s[_0x269c94(0x1b1)](_0x269c94(0x1a4)),s['push'](_0x269c94(0x1ca))),i[_0x269c94(0x1a9)]>0x0&&(t[_0x269c94(0x1b1)](_0x269c94(0x1c2)),t[_0x269c94(0x1b1)](...i)),s[_0x269c94(0x1a9)]>0x0&&(n[_0x269c94(0x1b1)]('\x0aMIGRATION\x20WARNINGS:'),n[_0x269c94(0x1b1)](...s));}t['length']>0x0&&(console[_0x269c94(0x1d3)](_0x269c94(0x1d8)),t[_0x269c94(0x1bd)](_0x1be343=>console['error']('\x20\x20'+_0x1be343)),console[_0x269c94(0x1d3)](_0x269c94(0x1b7)),process[_0x269c94(0x1a6)](0x2)),n[_0x269c94(0x1a9)]>0x0&&(console[_0x269c94(0x1af)](_0x269c94(0x1da)),n[_0x269c94(0x1bd)](_0x3904cf=>console['warn']('\x20\x20'+_0x3904cf)),console[_0x269c94(0x1af)]('\x0a')),process[_0x269c94(0x1a6)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function _0xb20d(){var _0x34b0d0=['49652pBlFWL','argv','warn','split','Expected:\x20cypress.config.js\x20or\x20playwright.config.ts','3081Lscdzh','Remove\x20.skip\x20and\x20implement\x20the\x20tests','655926AaJrLA','WARNING:\x20Running\x20E2E\x20tests\x20but\x20no\x20E2E\x20config\x20file\x20found','nwzVf','exit','test','search','jykhq','tool_input','./cypress.config.js','AExLV','forEach','BLOCKED:\x20E2E\x20test\x20ran\x20but\x20NO\x20assertions\x20found\x20in\x20output','find\x20./src\x20-name\x20\x22*.tsx\x22\x20-o\x20-name\x20\x22*.jsx\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','Screenshots\x20alone\x20do\x20not\x20validate\x20functionality','toString','qvEUf','WARNING:\x20E2E\x20test\x20does\x20not\x20show\x20UI\x20interactions','match','Create\x20E2E\x20tests\x20in\x20./e2e/\x20or\x20./cypress/\x20directory','Dynamic\x20require\x20of\x20\x22','dNeHu','Running:','apply','188111VBQDDG','./playwright.config.js','82IlNTWx','Test\x20Suites:','./cypress.config.ts','(((.+)+)+)+$','Are\x20you\x20testing\x20the\x20actual\x20UI\x20flow?','some','\x0a❌\x20E2E\x20TEST\x20VALIDATION\x20FAILED\x0a','length','parse','Add\x20clicks,\x20form\x20fills,\x20or\x20other\x20user\x20interactions','error','push','WCAas','\x22\x20is\x20not\x20supported','WARNING:\x20E2E\x20test\x20took\x20screenshots\x20but\x20has\x20no\x20assertions','includes','utf8','encoding','./playwright.config.ts','5XnImjL','1908918qHTRqj','filter','screenshot','E2E\x20tests\x20must\x20validate\x20UI\x20behavior,\x20not\x20just\x20click\x20around','12HFfbvA','527070BxLbmM','child_process','hDJNN','pipe','trim','524688iohHuI','./e2e/config.js','existsSync'];_0xb20d=function(){return _0x34b0d0;};return _0xb20d();}var _0x50d58f=_0x7473;(function(_0x2a639f,_0x5bfcc9){var _0x6e2210=_0x7473,_0x1c3e08=_0x2a639f();while(!![]){try{var _0x498ce9=-parseInt(_0x6e2210(0xaa))/0x1*(-parseInt(_0x6e2210(0xc5))/0x2)+-parseInt(_0x6e2210(0x9c))/0x3*(-parseInt(_0x6e2210(0xa5))/0x4)+parseInt(_0x6e2210(0x97))/0x5*(parseInt(_0x6e2210(0xac))/0x6)+parseInt(_0x6e2210(0xc3))/0x7+parseInt(_0x6e2210(0xa2))/0x8+-parseInt(_0x6e2210(0x98))/0x9+-parseInt(_0x6e2210(0x9d))/0xa;if(_0x498ce9===_0x5bfcc9)break;else _0x1c3e08['push'](_0x1c3e08['shift']());}catch(_0x35be79){_0x1c3e08['push'](_0x1c3e08['shift']());}}}(_0xb20d,0x1b930));var _0xc2995b=(function(){var _0x4f8a80=_0x7473,_0x27d3e9={};_0x27d3e9['qvEUf']=_0x4f8a80(0xc0),_0x27d3e9[_0x4f8a80(0xb2)]=_0x4f8a80(0xd1);var _0x59985d=_0x27d3e9,_0x519d0d=!![];return function(_0x50be2c,_0x5629ac){var _0x4f1134=_0x4f8a80;if(_0x59985d[_0x4f1134(0xbb)]!==_0x59985d['jykhq']){var _0xf766c1=_0x519d0d?function(){var _0x31524d=_0x4f1134;if(_0x5629ac){var _0x5364fe=_0x5629ac[_0x31524d(0xc2)](_0x50be2c,arguments);return _0x5629ac=null,_0x5364fe;}}:function(){};return _0x519d0d=![],_0xf766c1;}else{if(_0xc3c759){var _0x2c3edc=_0x4b1a09[_0x4f1134(0xc2)](_0x1abc4e,arguments);return _0x2a291f=null,_0x2c3edc;}}};}()),_0x24da9b=_0xc2995b(this,function(){var _0x383995=_0x7473,_0x2d635e={};_0x2d635e[_0x383995(0x9f)]=_0x383995(0xc8);var _0x312f83=_0x2d635e;return _0x24da9b[_0x383995(0xba)]()[_0x383995(0xb1)](_0x312f83['hDJNN'])[_0x383995(0xba)]()['constructor'](_0x24da9b)['search'](_0x312f83[_0x383995(0x9f)]);});_0x24da9b();var i=(_0x27a9fe=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x27a9fe,{'get':(_0x2df81d,_0x38dd84)=>(typeof require<'u'?require:_0x2df81d)[_0x38dd84]}):_0x27a9fe)(function(_0x3a83f5){var _0x517276=_0x7473,_0x4cab14={'nwzVf':function(_0x3c71cb,_0x202ce8){return _0x3c71cb<_0x202ce8;},'GMtXr':function(_0x582b69,_0x555358){return _0x582b69(_0x555358);},'AExLV':function(_0x4788c8,_0x17b9eb){return _0x4788c8+_0x17b9eb;}};if(_0x4cab14[_0x517276(0xae)](typeof require,'u'))return require[_0x517276(0xc2)](this,arguments);throw _0x4cab14['GMtXr'](Error,_0x4cab14[_0x517276(0xb5)](_0x517276(0xbf)+_0x3a83f5,_0x517276(0xd2)));}),l=i('fs'),I=i('path'),{execSync:c}=i(_0x50d58f(0x9e)),u=process[_0x50d58f(0xa6)][0x2]||'{}',r=JSON[_0x50d58f(0xcd)](u),h=r[_0x50d58f(0xb3)]?.['command']||'',s=r['tool_output']||'',a=h['match'](/cypress|playwright|e2e|integration/i);a||process[_0x50d58f(0xaf)](0x0);var n=[],t=[],g=[/cy\.visit\(/,/page\.goto\(/,/browser\.url\(/,/goto\(/],f=g['some'](_0x35ce06=>_0x35ce06[_0x50d58f(0xb0)](s));!f&&s[_0x50d58f(0xcc)]>0x0&&(t[_0x50d58f(0xd0)]('WARNING:\x20E2E\x20test\x20output\x20does\x20not\x20show\x20page\x20navigation'),t[_0x50d58f(0xd0)](_0x50d58f(0xc9)));var d=[/cy\.get\(/,/cy\.click\(/,/page\.click\(/,/page\.fill\(/,/locator\(/,/getByRole\(/,/getByText\(/],E=d[_0x50d58f(0xca)](_0x462eed=>_0x462eed['test'](s));!E&&s[_0x50d58f(0xcc)]>0x0&&(t[_0x50d58f(0xd0)](_0x50d58f(0xbc)),t['push'](_0x50d58f(0xce)));try{var _0x5d481d={};_0x5d481d[_0x50d58f(0xd6)]=_0x50d58f(0xd5),_0x5d481d['stdio']=[_0x50d58f(0xa0),_0x50d58f(0xa0),'ignore'];var _0x2999ad={};_0x2999ad[_0x50d58f(0xd6)]=_0x50d58f(0xd5),_0x2999ad['stdio']=[_0x50d58f(0xa0),_0x50d58f(0xa0),'ignore'];let e=c(_0x50d58f(0xb8),_0x5d481d)['trim']()[_0x50d58f(0xa8)]('\x0a')[_0x50d58f(0x99)](Boolean),o=c('find\x20./e2e\x20-name\x20\x22*.spec.*\x22\x20-o\x20-name\x20\x22*.test.*\x22\x202>/dev/null\x20||\x20find\x20./cypress\x20-name\x20\x22*.spec.*\x22\x20-o\x20-name\x20\x22*.cy.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22',_0x2999ad)[_0x50d58f(0xa1)]()[_0x50d58f(0xa8)]('\x0a')['filter'](Boolean);e[_0x50d58f(0xcc)]>0x5&&o[_0x50d58f(0xcc)]===0x0&&(t['push']('WARNING:\x20Found\x20'+e[_0x50d58f(0xcc)]+'\x20UI\x20components\x20but\x20NO\x20E2E\x20tests'),t[_0x50d58f(0xd0)](_0x50d58f(0xbe)));}catch{}function _0x7473(_0xc05c72,_0x3a9b13){_0xc05c72=_0xc05c72-0x97;var _0x518a69=_0xb20d();var _0x24da9b=_0x518a69[_0xc05c72];return _0x24da9b;}(s['includes'](_0x50d58f(0xc1))||s['includes'](_0x50d58f(0xc6)))&&(s[_0x50d58f(0xbd)](/expect|assert|should/i)||(n[_0x50d58f(0xd0)](_0x50d58f(0xb7)),n[_0x50d58f(0xd0)](_0x50d58f(0x9b))),s[_0x50d58f(0xbd)](/0 passing/)&&s[_0x50d58f(0xbd)](/\d+ pending/)&&(n['push']('BLOCKED:\x20All\x20E2E\x20tests\x20are\x20skipped/pending'),n[_0x50d58f(0xd0)](_0x50d58f(0xab))),s[_0x50d58f(0xd4)](_0x50d58f(0x9a))&&!s['includes']('expect')&&(t[_0x50d58f(0xd0)](_0x50d58f(0xd3)),t[_0x50d58f(0xd0)](_0x50d58f(0xb9))));var m=[_0x50d58f(0xb4),_0x50d58f(0xc7),_0x50d58f(0xc4),_0x50d58f(0xd7),_0x50d58f(0xa3)],y=m['some'](_0x139f35=>l[_0x50d58f(0xa4)](_0x139f35));!y&&a&&(t[_0x50d58f(0xd0)](_0x50d58f(0xad)),t['push'](_0x50d58f(0xa9))),n[_0x50d58f(0xcc)]>0x0&&(console[_0x50d58f(0xcf)](_0x50d58f(0xcb)),n[_0x50d58f(0xb6)](_0x7289f1=>console[_0x50d58f(0xcf)]('\x20\x20'+_0x7289f1)),console[_0x50d58f(0xcf)]('\x0a'),process['exit'](0x2)),t[_0x50d58f(0xcc)]>0x0&&(console[_0x50d58f(0xa7)]('\x0a⚠️\x20\x20E2E\x20TEST\x20WARNINGS\x0a'),t[_0x50d58f(0xb6)](_0x408304=>console[_0x50d58f(0xa7)]('\x20\x20'+_0x408304)),console[_0x50d58f(0xa7)]('\x0a')),process['exit'](0x0);
2
+ var _0xe250e1=_0x45a3;(function(_0x13813b,_0x21f0e4){var _0x2804ca=_0x45a3,_0x5f3aae=_0x13813b();while(!![]){try{var _0x1ff1f0=-parseInt(_0x2804ca(0xde))/0x1+parseInt(_0x2804ca(0xe7))/0x2*(-parseInt(_0x2804ca(0xc4))/0x3)+parseInt(_0x2804ca(0xae))/0x4+-parseInt(_0x2804ca(0xed))/0x5+parseInt(_0x2804ca(0xaf))/0x6*(-parseInt(_0x2804ca(0xe8))/0x7)+-parseInt(_0x2804ca(0xb9))/0x8+parseInt(_0x2804ca(0xbb))/0x9;if(_0x1ff1f0===_0x21f0e4)break;else _0x5f3aae['push'](_0x5f3aae['shift']());}catch(_0xa03aa5){_0x5f3aae['push'](_0x5f3aae['shift']());}}}(_0x1b25,0xd6233));var _0xe8ece2=(function(){var _0x25ba59=!![];return function(_0xe0e641,_0x416aab){var _0x21e14c=_0x25ba59?function(){var _0x7092f3=_0x45a3;if(_0x416aab){var _0x434803=_0x416aab[_0x7092f3(0xe6)](_0xe0e641,arguments);return _0x416aab=null,_0x434803;}}:function(){};return _0x25ba59=![],_0x21e14c;};}()),_0x1ba342=_0xe8ece2(this,function(){var _0x3c01d0=_0x45a3;return _0x1ba342[_0x3c01d0(0xc2)]()['search'](_0x3c01d0(0xc1))[_0x3c01d0(0xc2)]()[_0x3c01d0(0xcf)](_0x1ba342)[_0x3c01d0(0xc0)]('(((.+)+)+)+$');});_0x1ba342();function _0x45a3(_0x50ec74,_0x50b86a){_0x50ec74=_0x50ec74-0xa9;var _0xf01ae=_0x1b25();var _0x1ba342=_0xf01ae[_0x50ec74];return _0x1ba342;}var i=(_0x20dbc0=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x20dbc0,{'get':(_0x1bdc30,_0x290523)=>(typeof require<'u'?require:_0x1bdc30)[_0x290523]}):_0x20dbc0)(function(_0x297c2b){var _0x12180b=_0x45a3,_0x36ed27={'abHWu':function(_0xe264a8,_0x2c4e15){return _0xe264a8<_0x2c4e15;},'Opuma':function(_0x2d1030,_0x2e2fa7){return _0x2d1030(_0x2e2fa7);},'TOqqq':function(_0x295124,_0x3fce91){return _0x295124+_0x3fce91;},'uVneB':function(_0x5b78a3,_0x1c916b){return _0x5b78a3+_0x1c916b;},'YLamE':'Dynamic\x20require\x20of\x20\x22','ZIVCV':_0x12180b(0xe3)};if(_0x36ed27[_0x12180b(0xd3)](typeof require,'u'))return require[_0x12180b(0xe6)](this,arguments);throw _0x36ed27[_0x12180b(0xe0)](Error,_0x36ed27[_0x12180b(0xd8)](_0x36ed27[_0x12180b(0xb0)](_0x36ed27[_0x12180b(0xea)],_0x297c2b),_0x36ed27[_0x12180b(0xdf)]));}),l=i('fs'),I=i(_0xe250e1(0xd0)),{execSync:c}=i(_0xe250e1(0xd2)),u=process['argv'][0x2]||'{}',r=JSON[_0xe250e1(0xbc)](u),h=r[_0xe250e1(0xb1)]?.[_0xe250e1(0xda)]||'',s=r[_0xe250e1(0xc9)]||'',a=h[_0xe250e1(0xc6)](/cypress|playwright|e2e|integration/i);a||process[_0xe250e1(0xee)](0x0);var n=[],t=[],g=[/cy\.visit\(/,/page\.goto\(/,/browser\.url\(/,/goto\(/],f=g[_0xe250e1(0xcc)](_0x24ff0b=>_0x24ff0b[_0xe250e1(0xc3)](s));!f&&s['length']>0x0&&(t[_0xe250e1(0xd5)](_0xe250e1(0xe4)),t['push'](_0xe250e1(0xdd)));var d=[/cy\.get\(/,/cy\.click\(/,/page\.click\(/,/page\.fill\(/,/locator\(/,/getByRole\(/,/getByText\(/],E=d[_0xe250e1(0xcc)](_0x4cd182=>_0x4cd182[_0xe250e1(0xc3)](s));!E&&s[_0xe250e1(0xdb)]>0x0&&(t[_0xe250e1(0xd5)](_0xe250e1(0xc5)),t[_0xe250e1(0xd5)](_0xe250e1(0xaa)));try{var _0x43fcf2={};_0x43fcf2[_0xe250e1(0xd6)]=_0xe250e1(0xc8),_0x43fcf2[_0xe250e1(0xbd)]=[_0xe250e1(0xdc),_0xe250e1(0xdc),'ignore'];var _0x203232={};_0x203232[_0xe250e1(0xd6)]=_0xe250e1(0xc8),_0x203232[_0xe250e1(0xbd)]=[_0xe250e1(0xdc),_0xe250e1(0xdc),_0xe250e1(0xb2)];let e=c('find\x20./src\x20-name\x20\x22*.tsx\x22\x20-o\x20-name\x20\x22*.jsx\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22',_0x43fcf2)[_0xe250e1(0xca)]()['split']('\x0a')['filter'](Boolean),o=c(_0xe250e1(0xb6),_0x203232)['trim']()[_0xe250e1(0xd4)]('\x0a')['filter'](Boolean);e[_0xe250e1(0xdb)]>0x5&&o['length']===0x0&&(t[_0xe250e1(0xd5)](_0xe250e1(0xd7)+e[_0xe250e1(0xdb)]+_0xe250e1(0xb3)),t['push']('Create\x20E2E\x20tests\x20in\x20./e2e/\x20or\x20./cypress/\x20directory'));}catch{}(s['includes'](_0xe250e1(0xcb))||s['includes'](_0xe250e1(0xa9)))&&(s[_0xe250e1(0xc6)](/expect|assert|should/i)||(n[_0xe250e1(0xd5)](_0xe250e1(0xc7)),n[_0xe250e1(0xd5)](_0xe250e1(0xb4))),s['match'](/0 passing/)&&s[_0xe250e1(0xc6)](/\d+ pending/)&&(n[_0xe250e1(0xd5)](_0xe250e1(0xe1)),n[_0xe250e1(0xd5)](_0xe250e1(0xce))),s[_0xe250e1(0xb7)](_0xe250e1(0xac))&&!s['includes'](_0xe250e1(0xe2))&&(t['push'](_0xe250e1(0xd1)),t[_0xe250e1(0xd5)]('Screenshots\x20alone\x20do\x20not\x20validate\x20functionality')));var m=[_0xe250e1(0xb8),_0xe250e1(0xbf),_0xe250e1(0xcd),_0xe250e1(0xad),_0xe250e1(0xab)],y=m[_0xe250e1(0xcc)](_0x1afd9b=>l[_0xe250e1(0xe5)](_0x1afd9b));function _0x1b25(){var _0x5ac802=['2vktEKL','3447199ttaldo','WARNING:\x20Running\x20E2E\x20tests\x20but\x20no\x20E2E\x20config\x20file\x20found','YLamE','\x0a❌\x20E2E\x20TEST\x20VALIDATION\x20FAILED\x0a','Expected:\x20cypress.config.js\x20or\x20playwright.config.ts','1581770CouVEX','exit','Test\x20Suites:','Add\x20clicks,\x20form\x20fills,\x20or\x20other\x20user\x20interactions','./e2e/config.js','screenshot','./playwright.config.ts','2198772AskoYH','6dOLtZL','uVneB','tool_input','ignore','\x20UI\x20components\x20but\x20NO\x20E2E\x20tests','E2E\x20tests\x20must\x20validate\x20UI\x20behavior,\x20not\x20just\x20click\x20around','warn','find\x20./e2e\x20-name\x20\x22*.spec.*\x22\x20-o\x20-name\x20\x22*.test.*\x22\x202>/dev/null\x20||\x20find\x20./cypress\x20-name\x20\x22*.spec.*\x22\x20-o\x20-name\x20\x22*.cy.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','includes','./cypress.config.js','3100376YHroWc','error','39329217JlPtsb','parse','stdio','forEach','./cypress.config.ts','search','(((.+)+)+)+$','toString','test','3937593oFSRxv','WARNING:\x20E2E\x20test\x20does\x20not\x20show\x20UI\x20interactions','match','BLOCKED:\x20E2E\x20test\x20ran\x20but\x20NO\x20assertions\x20found\x20in\x20output','utf8','tool_output','trim','Running:','some','./playwright.config.js','Remove\x20.skip\x20and\x20implement\x20the\x20tests','constructor','path','WARNING:\x20E2E\x20test\x20took\x20screenshots\x20but\x20has\x20no\x20assertions','child_process','abHWu','split','push','encoding','WARNING:\x20Found\x20','TOqqq','\x0a⚠️\x20\x20E2E\x20TEST\x20WARNINGS\x0a','command','length','pipe','Are\x20you\x20testing\x20the\x20actual\x20UI\x20flow?','1533610PykrJs','ZIVCV','Opuma','BLOCKED:\x20All\x20E2E\x20tests\x20are\x20skipped/pending','expect','\x22\x20is\x20not\x20supported','WARNING:\x20E2E\x20test\x20output\x20does\x20not\x20show\x20page\x20navigation','existsSync','apply'];_0x1b25=function(){return _0x5ac802;};return _0x1b25();}!y&&a&&(t[_0xe250e1(0xd5)](_0xe250e1(0xe9)),t[_0xe250e1(0xd5)](_0xe250e1(0xec))),n[_0xe250e1(0xdb)]>0x0&&(console[_0xe250e1(0xba)](_0xe250e1(0xeb)),n[_0xe250e1(0xbe)](_0x3171a1=>console['error']('\x20\x20'+_0x3171a1)),console[_0xe250e1(0xba)]('\x0a'),process[_0xe250e1(0xee)](0x2)),t[_0xe250e1(0xdb)]>0x0&&(console[_0xe250e1(0xb5)](_0xe250e1(0xd9)),t[_0xe250e1(0xbe)](_0xef1606=>console[_0xe250e1(0xb5)]('\x20\x20'+_0xef1606)),console[_0xe250e1(0xb5)]('\x0a')),process[_0xe250e1(0xee)](0x0);