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 _0x517495=_0x58c9;(function(_0x154b7f,_0x18d265){var _0x1c0e33=_0x58c9,_0x41213e=_0x154b7f();while(!![]){try{var _0x337b38=-parseInt(_0x1c0e33(0x1c5))/0x1*(parseInt(_0x1c0e33(0x1a2))/0x2)+-parseInt(_0x1c0e33(0x1c2))/0x3+parseInt(_0x1c0e33(0x1ba))/0x4*(-parseInt(_0x1c0e33(0x1bf))/0x5)+-parseInt(_0x1c0e33(0x1a6))/0x6*(-parseInt(_0x1c0e33(0x1b1))/0x7)+parseInt(_0x1c0e33(0x1a1))/0x8*(parseInt(_0x1c0e33(0x1d0))/0x9)+-parseInt(_0x1c0e33(0x1ce))/0xa+parseInt(_0x1c0e33(0x1aa))/0xb;if(_0x337b38===_0x18d265)break;else _0x41213e['push'](_0x41213e['shift']());}catch(_0xbb77f3){_0x41213e['push'](_0x41213e['shift']());}}}(_0x2cc6,0x9cab1));function _0x58c9(_0x14fcaa,_0x2e9895){_0x14fcaa=_0x14fcaa-0x1a1;var _0x48e6ad=_0x2cc6();var _0x920ac4=_0x48e6ad[_0x14fcaa];return _0x920ac4;}var _0xdc7030=(function(){var _0xf97255=!![];return function(_0x59bf84,_0x74cda8){var _0x5d9008=_0xf97255?function(){var _0x459631=_0x58c9;if(_0x74cda8){var _0x75c4=_0x74cda8[_0x459631(0x1ab)](_0x59bf84,arguments);return _0x74cda8=null,_0x75c4;}}:function(){};return _0xf97255=![],_0x5d9008;};}()),_0x920ac4=_0xdc7030(this,function(){var _0x35b0c1=_0x58c9;return _0x920ac4[_0x35b0c1(0x1c6)]()[_0x35b0c1(0x1bc)](_0x35b0c1(0x1c7))['toString']()[_0x35b0c1(0x1b8)](_0x920ac4)[_0x35b0c1(0x1bc)](_0x35b0c1(0x1c7));});_0x920ac4();var n=(_0x3413cd=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3413cd,{'get':(_0x5b866e,_0x1ec4b2)=>(typeof require<'u'?require:_0x5b866e)[_0x1ec4b2]}):_0x3413cd)(function(_0x5320bd){var _0x42fd57=_0x58c9,_0x5ad367={};_0x5ad367['lholK']=function(_0xe671d0,_0x59f595){return _0xe671d0<_0x59f595;},_0x5ad367[_0x42fd57(0x1a3)]=function(_0x464fcd,_0x3ba21d){return _0x464fcd+_0x3ba21d;},_0x5ad367['RkNKj']=_0x42fd57(0x1c0),_0x5ad367[_0x42fd57(0x1a4)]=_0x42fd57(0x1c8);var _0x5c850d=_0x5ad367;if(_0x5c850d['lholK'](typeof require,'u'))return require[_0x42fd57(0x1ab)](this,arguments);throw Error(_0x5c850d['Rhydy'](_0x5c850d['Rhydy'](_0x5c850d[_0x42fd57(0x1b6)],_0x5320bd),_0x5c850d['SPQWf']));}),{execSync:s}=n(_0x517495(0x1c9)),a=process['argv'][0x2]||'{}',i;try{i=JSON[_0x517495(0x1b0)](a);}catch{process['exit'](0x0);}var r=i[_0x517495(0x1cd)]?.[_0x517495(0x1cb)]||'';r['includes'](_0x517495(0x1c3))||process[_0x517495(0x1a8)](0x0);var o;try{var _0x564dd3={};_0x564dd3[_0x517495(0x1a5)]=_0x517495(0x1ae),_0x564dd3[_0x517495(0x1bb)]=[_0x517495(0x1be),'pipe',_0x517495(0x1cc)],o=s('git\x20rev-parse\x20--abbrev-ref\x20HEAD',_0x564dd3)[_0x517495(0x1bd)]();}catch{process[_0x517495(0x1a8)](0x0);}o==='main'&&r[_0x517495(0x1d2)](_0x517495(0x1b7))&&(console[_0x517495(0x1d1)](_0x517495(0x1cf)),console[_0x517495(0x1d1)]('Create\x20a\x20feature\x20branch:\x20git\x20checkout\x20-b\x20feature/your-feature-name'),process['exit'](0x2)),o===_0x517495(0x1c1)&&r['includes']('git\x20merge')&&(console[_0x517495(0x1d1)]('ERROR:\x20Cannot\x20merge\x20directly\x20on\x20main\x20branch'),console[_0x517495(0x1d1)](_0x517495(0x1b4)),process[_0x517495(0x1a8)](0x2));var u=['feature/',_0x517495(0x1ac),_0x517495(0x1c4)],l=o===_0x517495(0x1c1)||u['some'](_0x1b0cd2=>o[_0x517495(0x1ad)](_0x1b0cd2));!l&&(r[_0x517495(0x1d2)](_0x517495(0x1b7))||r[_0x517495(0x1d2)](_0x517495(0x1b2)))&&(console['error'](_0x517495(0x1b9)+o+_0x517495(0x1a9)),console[_0x517495(0x1d1)](_0x517495(0x1af)),console[_0x517495(0x1d1)](_0x517495(0x1ca)),process[_0x517495(0x1a8)](0x2)),(r[_0x517495(0x1d2)](_0x517495(0x1b5))||r[_0x517495(0x1d2)](_0x517495(0x1b3)))&&(console[_0x517495(0x1d1)](_0x517495(0x1a7)),process[_0x517495(0x1a8)](0x2)),process['exit'](0x0);function _0x2cc6(){var _0x29c7e9=['constructor','ERROR:\x20Branch\x20\x27','4ulfDtd','stdio','search','trim','pipe','4817815ZtUofl','Dynamic\x20require\x20of\x20\x22','main','2576634Qycpme','git','hotfix/','258626indEqs','toString','(((.+)+)+)+$','\x22\x20is\x20not\x20supported','child_process','Example:\x20git\x20checkout\x20-b\x20feature/add-user-authentication','command','ignore','tool_input','10968310VvDTaG','ERROR:\x20Cannot\x20commit\x20directly\x20to\x20main\x20branch','8218710CRljrI','error','includes','8nDfXkd','2BlkGHw','Rhydy','SPQWf','encoding','22938jyyoqD','ERROR:\x20Force\x20push\x20is\x20blocked','exit','\x27\x20does\x20not\x20follow\x20naming\x20convention','20910692CaKvZq','apply','bugfix/','startsWith','utf8','Valid\x20prefixes:\x20feature/,\x20bugfix/,\x20hotfix/','parse','1841usimVv','git\x20push','git\x20push\x20-f','Use\x20pull\x20requests\x20for\x20merging\x20to\x20main','git\x20push\x20--force','RkNKj','git\x20commit'];_0x2cc6=function(){return _0x29c7e9;};return _0x2cc6();}
2
+ function _0x3d01(_0x58e80d,_0x46bd16){_0x58e80d=_0x58e80d-0xbf;var _0x1ad72e=_0x3d91();var _0xdfa08f=_0x1ad72e[_0x58e80d];return _0xdfa08f;}function _0x3d91(){var _0x403f7a=['30786GRScln','constructor','101507Hrsjtj','153PMvXiM','2781792ZNChCs','jXXgy','(((.+)+)+)+$','\x22\x20is\x20not\x20supported','error','Create\x20a\x20feature\x20branch:\x20git\x20checkout\x20-b\x20feature/your-feature-name','ignore','26490oEetLk','ERROR:\x20Force\x20push\x20is\x20blocked','17303oqGFlh','ERROR:\x20Branch\x20\x27','twxTo','46356KXWvrp','wECSC','kqQfs','2266pJIilM','MKkFn','git\x20push\x20--force','argv','MrMaa','oiRVa','ERROR:\x20Cannot\x20merge\x20directly\x20on\x20main\x20branch','startsWith','vAgUq','apply','oXaCQ','4183ieOzzN','8fXMFgv','HAMWX','\x27\x20does\x20not\x20follow\x20naming\x20convention','270imrCID','toString','search','Use\x20pull\x20requests\x20for\x20merging\x20to\x20main','pipe','exit','main','sAyly','parse','git\x20merge','includes','588lNVXnV','hotfix/','SYxgk','ERROR:\x20Cannot\x20commit\x20directly\x20to\x20main\x20branch','OyNzn','Dynamic\x20require\x20of\x20\x22','git\x20push\x20-f','OXOEr','bugfix/','utf8','wLwqI','LCnIj','trim','git\x20commit','stdio','BXIUS','encoding','child_process','VTsPL','git\x20push','238paUWmy','Valid\x20prefixes:\x20feature/,\x20bugfix/,\x20hotfix/','KBIIy','TmFPL'];_0x3d91=function(){return _0x403f7a;};return _0x3d91();}var _0x4722b9=_0x3d01;(function(_0x2e61fc,_0x43fc2e){var _0x2a8eba=_0x3d01,_0x35674c=_0x2e61fc();while(!![]){try{var _0xa2afd=-parseInt(_0x2a8eba(0xef))/0x1*(-parseInt(_0x2a8eba(0xcd))/0x2)+parseInt(_0x2a8eba(0xd4))/0x3*(-parseInt(_0x2a8eba(0xe1))/0x4)+parseInt(_0x2a8eba(0xf3))/0x5*(-parseInt(_0x2a8eba(0xd1))/0x6)+-parseInt(_0x2a8eba(0xd3))/0x7+-parseInt(_0x2a8eba(0xf0))/0x8*(-parseInt(_0x2a8eba(0xd5))/0x9)+parseInt(_0x2a8eba(0xdc))/0xa*(parseInt(_0x2a8eba(0xe4))/0xb)+parseInt(_0x2a8eba(0xfe))/0xc*(-parseInt(_0x2a8eba(0xde))/0xd);if(_0xa2afd===_0x43fc2e)break;else _0x35674c['push'](_0x35674c['shift']());}catch(_0x41c05a){_0x35674c['push'](_0x35674c['shift']());}}}(_0x3d91,0x62cf6));var _0x43d58d=(function(){var _0x393e31=_0x3d01,_0x482637={};_0x482637[_0x393e31(0xe5)]='(((.+)+)+)+$',_0x482637[_0x393e31(0xe3)]=function(_0x1368e4,_0xa7876c){return _0x1368e4===_0xa7876c;},_0x482637['KBIIy']=_0x393e31(0xfa),_0x482637[_0x393e31(0xee)]=_0x393e31(0xd6),_0x482637[_0x393e31(0xc0)]='git\x20rev-parse\x20--abbrev-ref\x20HEAD',_0x482637['ExoWX']=_0x393e31(0xc2),_0x482637['LCnIj']=function(_0x4651e7,_0x1b87cb){return _0x4651e7===_0x1b87cb;},_0x482637[_0x393e31(0x100)]=_0x393e31(0xcb);var _0x1cdefd=_0x482637,_0x58c2dc=!![];return function(_0x355310,_0x58fe90){var _0x3a5e18=_0x393e31,_0x37e919={};_0x37e919['OyNzn']=_0x1cdefd['OXOEr'],_0x37e919[_0x3a5e18(0xe0)]=_0x1cdefd['ExoWX'],_0x37e919[_0x3a5e18(0xec)]='pipe';var _0x36e8e7=_0x37e919;if(_0x1cdefd[_0x3a5e18(0xc4)](_0x1cdefd[_0x3a5e18(0x100)],_0x3a5e18(0xc3))){var _0x12dc87=_0x35d1c8[_0x3a5e18(0xed)](_0x270d60,arguments);return _0x2f6076=null,_0x12dc87;}else{var _0x86e6bd=_0x58c2dc?function(){var _0x1ca166=_0x3a5e18,_0x513d75={};_0x513d75[_0x1ca166(0xe9)]=_0x1cdefd[_0x1ca166(0xe5)];var _0x14e67f=_0x513d75;if(_0x1cdefd[_0x1ca166(0xe3)](_0x1cdefd[_0x1ca166(0xcf)],_0x1ca166(0xfa))){if(_0x58fe90){if(_0x1cdefd[_0x1ca166(0xe3)](_0x1cdefd['oXaCQ'],_0x1cdefd['oXaCQ'])){var _0x3be188=_0x58fe90['apply'](_0x355310,arguments);return _0x58fe90=null,_0x3be188;}else _0x5c209b=_0x4b5287(_0x36e8e7[_0x1ca166(0x102)],{'encoding':_0x36e8e7['twxTo'],'stdio':[_0x36e8e7[_0x1ca166(0xec)],_0x36e8e7[_0x1ca166(0xec)],_0x1ca166(0xdb)]})[_0x1ca166(0xc5)]();}}else return _0x112e3c[_0x1ca166(0xf4)]()[_0x1ca166(0xf5)](_0x14e67f['oiRVa'])[_0x1ca166(0xf4)]()[_0x1ca166(0xd2)](_0x45793f)['search'](_0x1ca166(0xd7));}:function(){};return _0x58c2dc=![],_0x86e6bd;}};}()),_0xdfa08f=_0x43d58d(this,function(){var _0x3e6cea=_0x3d01,_0x45f645={};_0x45f645[_0x3e6cea(0xe2)]=_0x3e6cea(0xd7);var _0x3c41bf=_0x45f645;return _0xdfa08f[_0x3e6cea(0xf4)]()['search'](_0x3c41bf[_0x3e6cea(0xe2)])[_0x3e6cea(0xf4)]()['constructor'](_0xdfa08f)[_0x3e6cea(0xf5)](_0x3c41bf['wECSC']);});_0xdfa08f();var n=(_0x1b71b2=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1b71b2,{'get':(_0x4c423c,_0x4297ba)=>(typeof require<'u'?require:_0x4c423c)[_0x4297ba]}):_0x1b71b2)(function(_0xa7cba7){var _0x9d06bb=_0x3d01,_0x13c224={'TmFPL':function(_0x1f0405,_0x365797){return _0x1f0405<_0x365797;},'BXIUS':function(_0x21cd71,_0x522331){return _0x21cd71(_0x522331);},'MrMaa':function(_0x24ecdd,_0x3236e9){return _0x24ecdd+_0x3236e9;},'HAMWX':_0x9d06bb(0x103)};if(_0x13c224[_0x9d06bb(0xd0)](typeof require,'u'))return require['apply'](this,arguments);throw _0x13c224[_0x9d06bb(0xc8)](Error,_0x13c224[_0x9d06bb(0xe8)](_0x13c224[_0x9d06bb(0xf1)],_0xa7cba7)+_0x9d06bb(0xd8));}),{execSync:s}=n(_0x4722b9(0xca)),a=process[_0x4722b9(0xe7)][0x2]||'{}',i;try{i=JSON[_0x4722b9(0xfb)](a);}catch{process['exit'](0x0);}var r=i['tool_input']?.['command']||'';r['includes']('git')||process[_0x4722b9(0xf8)](0x0);var o;try{var _0x310824={};_0x310824[_0x4722b9(0xc9)]='utf8',_0x310824[_0x4722b9(0xc7)]=[_0x4722b9(0xf7),_0x4722b9(0xf7),'ignore'],o=s('git\x20rev-parse\x20--abbrev-ref\x20HEAD',_0x310824)['trim']();}catch{process[_0x4722b9(0xf8)](0x0);}o===_0x4722b9(0xf9)&&r[_0x4722b9(0xfd)](_0x4722b9(0xc6))&&(console[_0x4722b9(0xd9)](_0x4722b9(0x101)),console[_0x4722b9(0xd9)](_0x4722b9(0xda)),process[_0x4722b9(0xf8)](0x2)),o===_0x4722b9(0xf9)&&r[_0x4722b9(0xfd)](_0x4722b9(0xfc))&&(console[_0x4722b9(0xd9)](_0x4722b9(0xea)),console[_0x4722b9(0xd9)](_0x4722b9(0xf6)),process[_0x4722b9(0xf8)](0x2));var u=['feature/',_0x4722b9(0xc1),_0x4722b9(0xff)],l=o===_0x4722b9(0xf9)||u['some'](_0x4a8281=>o[_0x4722b9(0xeb)](_0x4a8281));!l&&(r['includes'](_0x4722b9(0xc6))||r[_0x4722b9(0xfd)](_0x4722b9(0xcc)))&&(console['error'](_0x4722b9(0xdf)+o+_0x4722b9(0xf2)),console[_0x4722b9(0xd9)](_0x4722b9(0xce)),console['error']('Example:\x20git\x20checkout\x20-b\x20feature/add-user-authentication'),process['exit'](0x2)),(r[_0x4722b9(0xfd)](_0x4722b9(0xe6))||r['includes'](_0x4722b9(0xbf)))&&(console[_0x4722b9(0xd9)](_0x4722b9(0xdd)),process[_0x4722b9(0xf8)](0x2)),process[_0x4722b9(0xf8)](0x0);
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ const _0x57c676=_0x5b0d;(function(_0x402dc8,_0x439bb7){const _0x5ed212=_0x5b0d,_0x5e12cc=_0x402dc8();while(!![]){try{const _0x408fa6=-parseInt(_0x5ed212(0x145))/0x1*(-parseInt(_0x5ed212(0x1ac))/0x2)+parseInt(_0x5ed212(0x165))/0x3+-parseInt(_0x5ed212(0x172))/0x4+-parseInt(_0x5ed212(0x15b))/0x5+-parseInt(_0x5ed212(0x188))/0x6*(parseInt(_0x5ed212(0x16a))/0x7)+-parseInt(_0x5ed212(0x18d))/0x8+parseInt(_0x5ed212(0x17e))/0x9;if(_0x408fa6===_0x439bb7)break;else _0x5e12cc['push'](_0x5e12cc['shift']());}catch(_0xf56f83){_0x5e12cc['push'](_0x5e12cc['shift']());}}}(_0x2af1,0x885c4));var f=(_0x41c3fe=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x41c3fe,{'get':(_0x179007,_0x95aee)=>(typeof require<'u'?require:_0x179007)[_0x95aee]}):_0x41c3fe)(function(_0x525603){const _0x1c33b2=_0x5b0d,_0x18c7cf={'mKjkM':function(_0x2f474b,_0x5dce46){return _0x2f474b<_0x5dce46;},'tMyHE':function(_0x5936d9,_0x5a3f9c){return _0x5936d9(_0x5a3f9c);},'ZqfOo':_0x1c33b2(0x150)};if(_0x18c7cf[_0x1c33b2(0x18e)](typeof require,'u'))return require['apply'](this,arguments);throw _0x18c7cf[_0x1c33b2(0x1cb)](Error,'Dynamic\x20require\x20of\x20\x22'+_0x525603+_0x18c7cf['ZqfOo']);}),a=f('fs'),p=f(_0x57c676(0x1c9));function S(){const _0x2b111a=_0x57c676,_0x3bdbfb={};_0x3bdbfb['Qsedf']=_0x2b111a(0x19b),_0x3bdbfb[_0x2b111a(0x1ca)]=function(_0x149bed,_0x3de7e3){return _0x149bed===_0x3de7e3;},_0x3bdbfb[_0x2b111a(0x156)]=_0x2b111a(0x1be),_0x3bdbfb[_0x2b111a(0x173)]='utf8';const _0x5d3103=_0x3bdbfb,_0x87709={};_0x87709['strictMode']=!0x0,_0x87709[_0x2b111a(0x171)]=!0x0,_0x87709[_0x2b111a(0x187)]=_0x2b111a(0x189);let _0x47f84a=p[_0x2b111a(0x1b6)](process[_0x2b111a(0x1b7)](),_0x5d3103[_0x2b111a(0x1a6)],_0x2b111a(0x192)),_0x14511a=_0x87709;if(!a[_0x2b111a(0x17d)](_0x47f84a))return _0x14511a;try{if(_0x5d3103[_0x2b111a(0x1ca)](_0x5d3103['JbUGo'],_0x5d3103[_0x2b111a(0x156)])){let _0x6469b8=JSON[_0x2b111a(0x1c5)](a['readFileSync'](_0x47f84a,_0x5d3103[_0x2b111a(0x173)]))[_0x2b111a(0x1a8)]?.['ui']||{};const _0x1897d6={..._0x14511a,..._0x6469b8};return _0x1897d6;}else _0x482165[_0x2b111a(0x1a2)](_0x2b111a(0x16d)+_0x1cbdb6[_0x2b111a(0x187)]+'/package.json');}catch{return _0x14511a;}}var v=process[_0x57c676(0x148)][0x2]||'{}',y=JSON['parse'](v),l=y[_0x57c676(0x193)]?.['file_path'],j=l&&l[_0x57c676(0x198)](/\.(tsx|jsx|vue|svelte)$/);function _0x5b0d(_0x44e8bf,_0x4740a4){_0x44e8bf=_0x44e8bf-0x144;const _0x5dad34=_0x2af1();let _0x19501d=_0x5dad34[_0x44e8bf];return _0x19501d;}j||process['exit'](0x0);var o=S();(!o[_0x57c676(0x196)]||!o[_0x57c676(0x171)])&&process[_0x57c676(0x15c)](0x0);function _0x2af1(){const _0x45b81d=['ulqGW','\x20\x20npm\x20install\x20vite\x20react\x20react-dom\x20(or\x20your\x20framework)','durct','readdirSync','Create\x20package.json\x20with\x20dev\x20script:','1081626UGWssu','XhccT','EiCPu','Directory:\x20','\x0a❌\x20INTEGRATION\x20TEST\x20WEBSITE\x20CHECK\x20FAILED\x0a','28RbknRF','uYKih','BLOCKED:\x20Integration\x20test\x20website\x20exists\x20but\x20missing\x20package.json','WARNING:\x20Could\x20not\x20parse\x20','name','nySfJ','jOARd','requireIntegrationSite','3561704YGYYvG','RwiXG','pages','ddFNN','KBSxs','\x20\x203.\x20Import\x20and\x20render\x20your\x20UI\x20components','BSjbH','isFile','uewAR','FEraU','search','existsSync','15932853XevfwE','rPMvw','\x20\x202.\x20Initialize\x20with\x20package.json\x20(use\x20Vite,\x20Next.js,\x20or\x20plain\x20HTML)','RyDuN','(((.+)+)+)+$','AyqBe','.js','Djofn','jTfBd','integrationSiteDir','1303296auTZqm','test-site','readFileSync','withFileTypes','EueKV','1686520hXeLGP','mKjkM','error','mBTNx','\x20\x204.\x20Add\x20dev\x20script:\x20\x22dev:test-site\x22:\x20\x22cd\x20','settings.json','tool_input','UVTVb','.git','strictMode','dev:test-site','match','WARNING:\x20Component\x20','WARNING:\x20Integration\x20test\x20website\x20missing\x20dev\x20script\x20in\x20package.json','.claude','warn','Component:\x20','some','GiIwY','rsWpi','\x20may\x20not\x20be\x20imported\x20in\x20test\x20website','push','includes','Integration\x20test\x20websites\x20allow\x20stakeholders\x20to\x20validate\x20UI\x20changes\x20before\x20production.','apply','Qsedf','Add\x20a\x20dev\x20script\x20to\x20run\x20the\x20test\x20website\x20locally:','testing','constructor','dBHDI','Expected\x20directory:\x20','1403306CnfAZh','QilJI','replace','To\x20disable\x20this\x20requirement,\x20set\x20in\x20.claude/settings.json:','tcljd','\x20&&\x20npm\x20run\x20dev\x22','toString','xaSmx','\x20\x20Add\x20\x22dev\x22\x20script\x20to\x20package.json','xVYxv','join','cwd','uTDPg','bVaXi','CyGFu','QzPXm','fLaMW','\x20\x20npm\x20init\x20-y','OKrgr','.svelte','forEach','Lezyf','EoOAM','YLAdq','.jsx','parse','length','MxyGQ','isDirectory','path','IuwsJ','tMyHE','CuTjM','htKCH','BLOCKED:\x20UI\x20component\x20modified\x20but\x20integration\x20test\x20website\x20does\x20not\x20exist','/\x20for\x20stakeholder\x20validation','unZHz','dypVU','\x0a⚠️\x20\x20INTEGRATION\x20TEST\x20WEBSITE\x20WARNINGS\x0a','This\x20ensures\x20UI\x20changes\x20can\x20be\x20previewed\x20before\x20production\x20deployment','1UIjgmP','UI\x20Component:\x20','kVfPf','argv','scripts','cvCqG','ZJCZm','endsWith','Lmksp','eNQUZ','/package.json','\x22\x20is\x20not\x20supported','start','ZAOoC','\x20\x20\x22scripts\x22:\x20{\x20\x22dev\x22:\x20\x22vite\x22\x20}\x20(or\x20appropriate\x20command)','GmEhx','\x20\x201.\x20Create\x20directory:\x20mkdir\x20','JbUGo','ZmTPI','utf8','node_modules','Import\x20and\x20render\x20the\x20component\x20in\x20','1519375GdzwWP','exit','dev','.ts','PyokM'];_0x2af1=function(){return _0x45b81d;};return _0x2af1();}var e=[],i=[],h=p['basename'](l),m=h[_0x57c676(0x1ae)](/\.(tsx|jsx|vue|svelte)$/,''),d=p[_0x57c676(0x1b6)](process[_0x57c676(0x1b7)](),o['integrationSiteDir']);if(!a[_0x57c676(0x17d)](d))e[_0x57c676(0x1a2)](_0x57c676(0x1ce)),e[_0x57c676(0x1a2)](_0x57c676(0x19d)+h),e[_0x57c676(0x1a2)](_0x57c676(0x1ab)+o[_0x57c676(0x187)]+'/'),e['push'](''),e[_0x57c676(0x1a2)](_0x57c676(0x1a4)),e['push'](''),e[_0x57c676(0x1a2)]('To\x20create\x20an\x20integration\x20test\x20website:'),e[_0x57c676(0x1a2)](_0x57c676(0x155)+o['integrationSiteDir']),e['push'](_0x57c676(0x180)),e['push'](_0x57c676(0x177)),e[_0x57c676(0x1a2)](_0x57c676(0x191)+o[_0x57c676(0x187)]+_0x57c676(0x1b1)),e[_0x57c676(0x1a2)](''),e[_0x57c676(0x1a2)](_0x57c676(0x1af)),e['push']('\x20\x20\x22testing\x22:\x20{\x20\x22ui\x22:\x20{\x20\x22requireIntegrationSite\x22:\x20false\x20}\x20}');else{let t=p['join'](d,'package.json');if(!a['existsSync'](t))e[_0x57c676(0x1a2)]('BLOCKED:\x20Integration\x20test\x20website\x20exists\x20but\x20missing\x20package.json'),e[_0x57c676(0x1a2)](_0x57c676(0x168)+o[_0x57c676(0x187)]+'/'),e[_0x57c676(0x1a2)](''),e['push']('Create\x20package.json\x20with\x20dev\x20script:'),e[_0x57c676(0x1a2)]('\x20\x20cd\x20'+o[_0x57c676(0x187)]),e[_0x57c676(0x1a2)](_0x57c676(0x1bd)),e[_0x57c676(0x1a2)](_0x57c676(0x161)),e['push'](_0x57c676(0x1b4));else try{let s=JSON[_0x57c676(0x1c5)](a[_0x57c676(0x18a)](t,_0x57c676(0x158)));s[_0x57c676(0x149)]&&(s[_0x57c676(0x149)][_0x57c676(0x15d)]||s[_0x57c676(0x149)]['start']||s[_0x57c676(0x149)][_0x57c676(0x197)])||(i[_0x57c676(0x1a2)](_0x57c676(0x19a)),i[_0x57c676(0x1a2)](_0x57c676(0x1a7)),i[_0x57c676(0x1a2)](_0x57c676(0x153))),w(d,m)||(i[_0x57c676(0x1a2)](_0x57c676(0x199)+m+_0x57c676(0x1a1)),i[_0x57c676(0x1a2)]('Import\x20and\x20render\x20the\x20component\x20in\x20'+o[_0x57c676(0x187)]+_0x57c676(0x1cf)),i[_0x57c676(0x1a2)](_0x57c676(0x144)));}catch{i[_0x57c676(0x1a2)](_0x57c676(0x16d)+o[_0x57c676(0x187)]+'/package.json');}}function w(_0x406fb7,_0x180d75){const _0x46e41a=_0x57c676,_0x1b2c28={'htKCH':_0x46e41a(0x158),'AUrYK':_0x46e41a(0x197),'FEraU':'WARNING:\x20Integration\x20test\x20website\x20missing\x20dev\x20script\x20in\x20package.json','xVYxv':_0x46e41a(0x1a7),'obnQL':_0x46e41a(0x144),'xaSmx':_0x46e41a(0x147),'XhccT':function(_0x1fc87c,_0x116d77){return _0x1fc87c!==_0x116d77;},'eNQUZ':_0x46e41a(0x16f),'unZHz':function(_0x5e9e33,_0x54ba23){return _0x5e9e33===_0x54ba23;},'iqTAT':'CyGFu','tcljd':'.git','rsWpi':'rcWPD','QilJI':_0x46e41a(0x192),'EoOAM':_0x46e41a(0x189),'mNzmE':function(_0x550cd4,_0xdd982a,_0x40b556){return _0x550cd4(_0xdd982a,_0x40b556);},'uTDPg':_0x46e41a(0x176),'EiCPu':'zxACO','CuTjM':_0x46e41a(0x174),'GiIwY':'components','UVTVb':function(_0x1bf466,_0x2e4f9a,_0xada52e){return _0x1bf466(_0x2e4f9a,_0xada52e);},'zpuRO':_0x46e41a(0x184),'zWdBV':_0x46e41a(0x1c4),'FgYjN':_0x46e41a(0x15e),'EueKV':'.tsx','ulqGW':'.vue'},_0x21d3d6=(function(){const _0x88dc46=_0x46e41a,_0x227c13={'CvJQq':function(_0x11be21,_0x3b52eb){return _0x1b2c28['XhccT'](_0x11be21,_0x3b52eb);},'ZAOoC':_0x1b2c28[_0x88dc46(0x14e)]};if(_0x1b2c28[_0x88dc46(0x1d0)](_0x1b2c28['iqTAT'],_0x88dc46(0x1ba))){let _0x5a9450=!![];return function(_0x368e02,_0x4d31b){const _0x22fdfe=_0x88dc46,_0x55f3db={'AyqBe':_0x1b2c28[_0x22fdfe(0x1cd)],'WtWkR':_0x1b2c28['AUrYK'],'RyDuN':_0x1b2c28[_0x22fdfe(0x17b)],'QzPXm':_0x1b2c28[_0x22fdfe(0x1b5)],'ZJCZm':function(_0x24b0c4,_0x1e77a6,_0x4ed1d5){return _0x24b0c4(_0x1e77a6,_0x4ed1d5);},'GmEhx':_0x1b2c28['obnQL']};if(_0x1b2c28[_0x22fdfe(0x1b3)]!==_0x1b2c28[_0x22fdfe(0x1b3)]){let _0x4cf8c5=_0x3379f7['parse'](_0x409d8e[_0x22fdfe(0x18a)](_0x3c4163,_0x55f3db[_0x22fdfe(0x183)]));_0x4cf8c5[_0x22fdfe(0x149)]&&(_0x4cf8c5[_0x22fdfe(0x149)][_0x22fdfe(0x15d)]||_0x4cf8c5[_0x22fdfe(0x149)]['start']||_0x4cf8c5[_0x22fdfe(0x149)][_0x55f3db['WtWkR']])||(_0xb0cb56['push'](_0x55f3db[_0x22fdfe(0x181)]),_0x41ed8a[_0x22fdfe(0x1a2)](_0x55f3db[_0x22fdfe(0x1bb)]),_0x38b66e[_0x22fdfe(0x1a2)]('\x20\x20\x22scripts\x22:\x20{\x20\x22dev\x22:\x20\x22vite\x22\x20}\x20(or\x20appropriate\x20command)')),_0x55f3db[_0x22fdfe(0x14b)](_0x218b55,_0x49ca05,_0xceabb7)||(_0x158324[_0x22fdfe(0x1a2)](_0x22fdfe(0x199)+_0x1c48b8+'\x20may\x20not\x20be\x20imported\x20in\x20test\x20website'),_0x44d929[_0x22fdfe(0x1a2)]('Import\x20and\x20render\x20the\x20component\x20in\x20'+_0x3f9d09['integrationSiteDir']+_0x22fdfe(0x1cf)),_0xcbc74f[_0x22fdfe(0x1a2)](_0x55f3db[_0x22fdfe(0x154)]));}else{const _0x2fd84f=_0x5a9450?function(){const _0x320f95=_0x22fdfe;if(_0x227c13['CvJQq'](_0x227c13[_0x320f95(0x152)],_0x227c13[_0x320f95(0x152)])){if(_0x205c91){const _0x4ef98e=_0x2c7a69['apply'](_0xb6b639,arguments);return _0x3af977=null,_0x4ef98e;}}else{if(_0x4d31b){const _0x80b280=_0x4d31b[_0x320f95(0x1a5)](_0x368e02,arguments);return _0x4d31b=null,_0x80b280;}}}:function(){};return _0x5a9450=![],_0x2fd84f;}};}else{const _0x98f914=_0xa07df0?function(){const _0x57ff33=_0x88dc46;if(_0x500a27){const _0x306864=_0x26eeef[_0x57ff33(0x1a5)](_0x4777d5,arguments);return _0x38940d=null,_0x306864;}}:function(){};return _0x4cfd1f=![],_0x98f914;}}()),_0x43b7cc=_0x1b2c28['mNzmE'](_0x21d3d6,this,function(){const _0x36aa6f=_0x46e41a,_0x45c931={'nldDs':function(_0x19a3d8,_0x2daa91){return _0x19a3d8!==_0x2daa91;},'mBTNx':function(_0x3ab02b,_0xb16fbf){const _0x29e959=_0x5b0d;return _0x1b2c28[_0x29e959(0x166)](_0x3ab02b,_0xb16fbf);},'dypVU':_0x1b2c28[_0x36aa6f(0x1b0)],'MxyGQ':function(_0x436d89,_0x51694e,_0x133b14){return _0x436d89(_0x51694e,_0x133b14);}};if(_0x1b2c28[_0x36aa6f(0x1d0)](_0x1b2c28[_0x36aa6f(0x1a0)],_0x1b2c28[_0x36aa6f(0x1a0)]))return _0x43b7cc['toString']()[_0x36aa6f(0x17c)]('(((.+)+)+)+$')[_0x36aa6f(0x1b2)]()[_0x36aa6f(0x1a9)](_0x43b7cc)[_0x36aa6f(0x17c)](_0x36aa6f(0x182));else{const _0x3128be={};_0x3128be[_0x36aa6f(0x18b)]=!0x0;let _0x4438fc=_0x1d712c[_0x36aa6f(0x163)](_0x3a1e6f,_0x3128be);for(let _0x120b6a of _0x4438fc){let _0x2a10b1=_0x94b2d8[_0x36aa6f(0x1b6)](_0xb1be9a,_0x120b6a['name']);_0x120b6a[_0x36aa6f(0x1c8)]()&&_0x45c931['nldDs'](_0x120b6a[_0x36aa6f(0x16e)],_0x36aa6f(0x159))&&_0x45c931[_0x36aa6f(0x190)](_0x120b6a[_0x36aa6f(0x16e)],_0x45c931[_0x36aa6f(0x1d1)])?_0x5b67d0[_0x36aa6f(0x1a2)](..._0x45c931[_0x36aa6f(0x1c7)](_0x5ad39d,_0x2a10b1,_0x308351)):_0x120b6a[_0x36aa6f(0x179)]()&&_0x4c0f98['some'](_0x63a035=>_0x120b6a[_0x36aa6f(0x16e)][_0x36aa6f(0x14c)](_0x63a035))&&_0x27f520['push'](_0x2a10b1);}}});_0x43b7cc();try{if(_0x1b2c28[_0x46e41a(0x1b8)]===_0x1b2c28[_0x46e41a(0x167)]){let _0x4f0124=_0x3541dc[_0x46e41a(0x1b6)](_0x1acbfb[_0x46e41a(0x1b7)](),_0x46e41a(0x19b),_0x1b2c28[_0x46e41a(0x1ad)]),_0x45890d={'strictMode':!0x0,'requireIntegrationSite':!0x0,'integrationSiteDir':_0x1b2c28[_0x46e41a(0x1c2)]};if(!_0x558584[_0x46e41a(0x17d)](_0x4f0124))return _0x45890d;try{let _0x41223b=_0x4e5ac2[_0x46e41a(0x1c5)](_0x109d4d['readFileSync'](_0x4f0124,_0x1b2c28['htKCH']))['testing']?.['ui']||{};const _0x20f07c={..._0x45890d,..._0x41223b};return _0x20f07c;}catch{return _0x45890d;}}else{let _0xe3922e=[p[_0x46e41a(0x1b6)](_0x406fb7,'src'),p[_0x46e41a(0x1b6)](_0x406fb7,_0x1b2c28[_0x46e41a(0x1cc)]),p[_0x46e41a(0x1b6)](_0x406fb7,_0x1b2c28[_0x46e41a(0x19f)]),_0x406fb7];for(let _0x19f940 of _0xe3922e){if(!a['existsSync'](_0x19f940))continue;let _0x2dbf77=_0x1b2c28[_0x46e41a(0x194)](I,_0x19f940,[_0x1b2c28['zpuRO'],_0x1b2c28['zWdBV'],_0x1b2c28['FgYjN'],_0x1b2c28[_0x46e41a(0x18c)],_0x1b2c28[_0x46e41a(0x160)],_0x46e41a(0x1bf)]);for(let _0x318924 of _0x2dbf77)if(a[_0x46e41a(0x18a)](_0x318924,_0x1b2c28[_0x46e41a(0x1cd)])[_0x46e41a(0x1a3)](_0x180d75))return!0x0;}return!0x1;}}catch{return!0x1;}}function I(_0x7e61af,_0x166271){const _0x57d50a=_0x57c676,_0x5c4885={};_0x5c4885[_0x57d50a(0x15f)]=_0x57d50a(0x16c),_0x5c4885[_0x57d50a(0x178)]=_0x57d50a(0x164),_0x5c4885[_0x57d50a(0x1c1)]=_0x57d50a(0x1bd),_0x5c4885[_0x57d50a(0x1b9)]='\x20\x20npm\x20install\x20vite\x20react\x20react-dom\x20(or\x20your\x20framework)',_0x5c4885[_0x57d50a(0x1c3)]=_0x57d50a(0x1b4),_0x5c4885['ddFNN']=_0x57d50a(0x158),_0x5c4885['bsgIJ']=_0x57d50a(0x197),_0x5c4885[_0x57d50a(0x14d)]='WARNING:\x20Integration\x20test\x20website\x20missing\x20dev\x20script\x20in\x20package.json',_0x5c4885['jTfBd']=_0x57d50a(0x1a7),_0x5c4885[_0x57d50a(0x14a)]='\x20\x20\x22scripts\x22:\x20{\x20\x22dev\x22:\x20\x22vite\x22\x20}\x20(or\x20appropriate\x20command)',_0x5c4885[_0x57d50a(0x185)]=_0x57d50a(0x144),_0x5c4885['dBHDI']=function(_0xfaf150,_0x1d2441){return _0xfaf150!==_0x1d2441;},_0x5c4885[_0x57d50a(0x162)]=_0x57d50a(0x17f),_0x5c4885['uewAR']='ZtcJm',_0x5c4885[_0x57d50a(0x170)]=function(_0x24a356,_0xd59afa){return _0x24a356!==_0xd59afa;},_0x5c4885[_0x57d50a(0x16b)]=_0x57d50a(0x159),_0x5c4885['fLaMW']=function(_0x3b9063,_0xae92b5){return _0x3b9063!==_0xae92b5;},_0x5c4885[_0x57d50a(0x157)]=_0x57d50a(0x195);const _0x2ff00f=_0x5c4885;let _0x103c5b=[];try{if(_0x2ff00f[_0x57d50a(0x1aa)](_0x2ff00f[_0x57d50a(0x162)],_0x2ff00f[_0x57d50a(0x17a)])){const _0x235c79={};_0x235c79[_0x57d50a(0x18b)]=!0x0;let _0x21024d=a[_0x57d50a(0x163)](_0x7e61af,_0x235c79);for(let _0x17c73a of _0x21024d){let _0x35ea49=p['join'](_0x7e61af,_0x17c73a[_0x57d50a(0x16e)]);_0x17c73a[_0x57d50a(0x1c8)]()&&_0x2ff00f[_0x57d50a(0x170)](_0x17c73a[_0x57d50a(0x16e)],_0x2ff00f[_0x57d50a(0x16b)])&&_0x2ff00f[_0x57d50a(0x1bc)](_0x17c73a[_0x57d50a(0x16e)],_0x2ff00f['ZmTPI'])?_0x103c5b[_0x57d50a(0x1a2)](...I(_0x35ea49,_0x166271)):_0x17c73a['isFile']()&&_0x166271[_0x57d50a(0x19e)](_0x30f6cb=>_0x17c73a['name'][_0x57d50a(0x14c)](_0x30f6cb))&&_0x103c5b[_0x57d50a(0x1a2)](_0x35ea49);}}else{let _0x13a52f=_0x6ecd30['join'](_0x18de90,'package.json');if(!_0x577f0d['existsSync'](_0x13a52f))_0x204e7e[_0x57d50a(0x1a2)](_0x2ff00f[_0x57d50a(0x15f)]),_0x3799a9[_0x57d50a(0x1a2)](_0x57d50a(0x168)+_0x30fb47[_0x57d50a(0x187)]+'/'),_0x3618ed['push'](''),_0x37eea7[_0x57d50a(0x1a2)](_0x2ff00f[_0x57d50a(0x178)]),_0x42668c['push']('\x20\x20cd\x20'+_0x35fd55['integrationSiteDir']),_0xbaaf70[_0x57d50a(0x1a2)](_0x2ff00f[_0x57d50a(0x1c1)]),_0x4cc184['push'](_0x2ff00f[_0x57d50a(0x1b9)]),_0x284dcf[_0x57d50a(0x1a2)](_0x2ff00f[_0x57d50a(0x1c3)]);else try{let _0x2899fa=_0x5dd9f1[_0x57d50a(0x1c5)](_0x7b6d32['readFileSync'](_0x13a52f,_0x2ff00f[_0x57d50a(0x175)]));_0x2899fa[_0x57d50a(0x149)]&&(_0x2899fa[_0x57d50a(0x149)][_0x57d50a(0x15d)]||_0x2899fa[_0x57d50a(0x149)][_0x57d50a(0x151)]||_0x2899fa[_0x57d50a(0x149)][_0x2ff00f['bsgIJ']])||(_0x57b57c['push'](_0x2ff00f[_0x57d50a(0x14d)]),_0x426b48['push'](_0x2ff00f[_0x57d50a(0x186)]),_0x508691[_0x57d50a(0x1a2)](_0x2ff00f[_0x57d50a(0x14a)])),_0x5727c4(_0x24f8a3,_0x3b14e5)||(_0xce15a7[_0x57d50a(0x1a2)]('WARNING:\x20Component\x20'+_0x38a252+'\x20may\x20not\x20be\x20imported\x20in\x20test\x20website'),_0x426ba3[_0x57d50a(0x1a2)](_0x57d50a(0x15a)+_0x4fe605[_0x57d50a(0x187)]+'/\x20for\x20stakeholder\x20validation'),_0x4a0aec['push'](_0x2ff00f[_0x57d50a(0x185)]));}catch{_0x111ac5['push'](_0x57d50a(0x16d)+_0x589bec[_0x57d50a(0x187)]+_0x57d50a(0x14f));}}}catch{}return _0x103c5b;}e[_0x57c676(0x1c6)]>0x0&&(console[_0x57c676(0x18f)](_0x57c676(0x169)),console[_0x57c676(0x18f)](_0x57c676(0x146)+h+'\x0a'),e['forEach'](_0x3faa48=>console[_0x57c676(0x18f)]('\x20\x20'+_0x3faa48)),console['error'](''),process[_0x57c676(0x15c)](0x2)),i[_0x57c676(0x1c6)]>0x0&&(console[_0x57c676(0x19c)](_0x57c676(0x1d2)),console[_0x57c676(0x19c)]('UI\x20Component:\x20'+h+'\x0a'),i[_0x57c676(0x1c0)](_0x21806c=>console[_0x57c676(0x19c)]('\x20\x20'+_0x21806c)),console[_0x57c676(0x19c)]('')),process[_0x57c676(0x15c)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x2280a2=_0x8fbc;(function(_0x269e4f,_0x433ca2){var _0x1a7571=_0x8fbc,_0x48aa41=_0x269e4f();while(!![]){try{var _0x29fbf4=-parseInt(_0x1a7571(0xe8))/0x1+-parseInt(_0x1a7571(0xdf))/0x2+parseInt(_0x1a7571(0xd4))/0x3+parseInt(_0x1a7571(0x104))/0x4*(parseInt(_0x1a7571(0xf1))/0x5)+parseInt(_0x1a7571(0x114))/0x6*(-parseInt(_0x1a7571(0xe2))/0x7)+parseInt(_0x1a7571(0xe4))/0x8*(-parseInt(_0x1a7571(0x102))/0x9)+-parseInt(_0x1a7571(0xdb))/0xa*(parseInt(_0x1a7571(0xc2))/0xb);if(_0x29fbf4===_0x433ca2)break;else _0x48aa41['push'](_0x48aa41['shift']());}catch(_0x104b96){_0x48aa41['push'](_0x48aa41['shift']());}}}(_0x36fb,0x39ca5));var _0x135311=(function(){var _0x33dc8b=_0x8fbc,_0x47c860={'rTxSx':function(_0x3388ef,_0x4d5db1){return _0x3388ef(_0x4d5db1);},'kiYTA':function(_0x355d77,_0x5f1341){return _0x355d77+_0x5f1341;},'dFSuY':_0x33dc8b(0xe6)},_0x354c5e=!![];return function(_0x58e8fe,_0xb97422){var _0x33fa52=_0x33dc8b,_0x29340d={'CSteq':function(_0x31f10c,_0x5aa624){var _0x4271bf=_0x8fbc;return _0x47c860[_0x4271bf(0xc7)](_0x31f10c,_0x5aa624);},'fDSCC':function(_0x402967,_0x23a34a){var _0x8512a9=_0x8fbc;return _0x47c860[_0x8512a9(0xc9)](_0x402967,_0x23a34a);},'uwzOR':_0x33fa52(0xda),'OsSFG':_0x33fa52(0x107),'TNyrs':function(_0x49f5d9,_0x1d5b22){return _0x49f5d9===_0x1d5b22;},'fnkCq':'WXjOx','lmAKT':_0x47c860[_0x33fa52(0xd1)]},_0x55d248=_0x354c5e?function(){var _0x1c601d=_0x33fa52;if(_0x29340d[_0x1c601d(0xcf)](_0x29340d[_0x1c601d(0xdd)],_0x29340d[_0x1c601d(0xbd)])){if(typeof _0x3f6939<'u')return _0x5b4b21[_0x1c601d(0xf4)](this,arguments);throw _0x29340d['CSteq'](_0x51306a,_0x29340d[_0x1c601d(0xe0)](_0x29340d[_0x1c601d(0xf5)]+_0x196687,_0x29340d[_0x1c601d(0xef)]));}else{if(_0xb97422){var _0xc1dd39=_0xb97422[_0x1c601d(0xf4)](_0x58e8fe,arguments);return _0xb97422=null,_0xc1dd39;}}}:function(){};return _0x354c5e=![],_0x55d248;};}()),_0xca2faa=_0x135311(this,function(){var _0x926c65=_0x8fbc,_0x25f169={};_0x25f169[_0x926c65(0xcb)]=_0x926c65(0xf0);var _0xe8d43b=_0x25f169;return _0xca2faa[_0x926c65(0xf6)]()[_0x926c65(0xed)](_0xe8d43b[_0x926c65(0xcb)])[_0x926c65(0xf6)]()['constructor'](_0xca2faa)[_0x926c65(0xed)](_0xe8d43b['jbCmS']);});_0xca2faa();var g=(_0x2b7d62=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2b7d62,{'get':(_0x570f95,_0x27e891)=>(typeof require<'u'?require:_0x570f95)[_0x27e891]}):_0x2b7d62)(function(_0x41b279){var _0x1023fd=_0x8fbc,_0x1452b0={'CYPwx':function(_0x3b1b10,_0x33e558){return _0x3b1b10<_0x33e558;},'aFWKi':function(_0xde3dc3,_0x47d416){return _0xde3dc3(_0x47d416);},'XDKCh':function(_0x1d7bb2,_0x1ff17f){return _0x1d7bb2+_0x1ff17f;},'wKNGd':'Dynamic\x20require\x20of\x20\x22'};if(_0x1452b0['CYPwx'](typeof require,'u'))return require[_0x1023fd(0xf4)](this,arguments);throw _0x1452b0[_0x1023fd(0xc3)](Error,_0x1452b0[_0x1023fd(0xd5)](_0x1452b0[_0x1023fd(0xd5)](_0x1452b0[_0x1023fd(0xf8)],_0x41b279),_0x1023fd(0x107)));}),h=g('fs'),E=g(_0x2280a2(0x108)),{execSync:f}=g('child_process'),A=process[_0x2280a2(0x115)][0x2]||'{}',m=JSON[_0x2280a2(0x10d)](A),r=m[_0x2280a2(0xd3)]?.['file_path'];(!r||!r[_0x2280a2(0xff)](/migrations?\/.*\.(ts|js|py|sql)$/i))&&process['exit'](0x0);var o=[],s=[],N=E[_0x2280a2(0xfa)](r);console[_0x2280a2(0xee)](_0x2280a2(0x109)+N+'\x0a');function _0x8fbc(_0x973140,_0x33554e){_0x973140=_0x973140-0xb9;var _0x18e124=_0x36fb();var _0xca2faa=_0x18e124[_0x973140];return _0xca2faa;}var n;try{n=h[_0x2280a2(0xfb)](r,_0x2280a2(0x113));}catch{process[_0x2280a2(0xc1)](0x0);}var a=new Set(),p=new Map(),T=/CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi,c;for(;(c=T[_0x2280a2(0xba)](n))!==null;)a[_0x2280a2(0x105)](c[0x1]);var R=/ALTER\s+TABLE\s+[`"]?(\w+)[`"]?/gi;for(;(c=R[_0x2280a2(0xba)](n))!==null;)a['add'](c[0x1]);var y=/DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;for(;(c=y[_0x2280a2(0xba)](n))!==null;)a[_0x2280a2(0x105)](c[0x1]);var L=/@Column\([^)]*\)[\s\n]+(\w+):/gi;for(;(c=L[_0x2280a2(0xba)](n))!==null;)p[_0x2280a2(0xe5)](_0x2280a2(0xbc),(p[_0x2280a2(0xcd)]('detected')||[])[_0x2280a2(0x100)](c[0x1]));a[_0x2280a2(0xbb)]===0x0&&p[_0x2280a2(0xbb)]===0x0&&(console['log'](_0x2280a2(0x110)),console['log']('\x20\x20Manual\x20code\x20review\x20required\x0a'),process[_0x2280a2(0xc1)](0x0)),console[_0x2280a2(0xee)]('\x20\x20📊\x20Migration\x20affects\x20tables:\x20'+(Array[_0x2280a2(0xc8)](a)[_0x2280a2(0xd7)](',\x20')||_0x2280a2(0xbf))+'\x0a');var t=new Set();for(let e of a)try{var _0x5d2beb={};_0x5d2beb[_0x2280a2(0xc5)]=_0x2280a2(0x113),_0x5d2beb['stdio']=['pipe',_0x2280a2(0xc6),_0x2280a2(0xd0)];let i=f('grep\x20-r\x20-l\x20\x22'+e+_0x2280a2(0xc4),_0x5d2beb)[_0x2280a2(0xca)]();i&&i['split']('\x0a')['filter'](Boolean)['forEach'](_0x12b0db=>t[_0x2280a2(0x105)](_0x12b0db));}catch{}t[_0x2280a2(0xbb)]>0x0&&(console[_0x2280a2(0xee)]('\x20\x20⚠️\x20\x20Found\x20'+t[_0x2280a2(0xbb)]+'\x20files\x20that\x20reference\x20these\x20tables:\x0a'),Array['from'](t)[_0x2280a2(0x10f)](0x0,0xa)[_0x2280a2(0xeb)](_0x321dfd=>{var _0x1cb967=_0x2280a2;console[_0x1cb967(0xee)](_0x1cb967(0xe9)+_0x321dfd);}),t[_0x2280a2(0xbb)]>0xa&&console[_0x2280a2(0xee)](_0x2280a2(0xfe)+(t[_0x2280a2(0xbb)]-0xa)+_0x2280a2(0x10a)),console[_0x2280a2(0xee)](''),s[_0x2280a2(0xb9)]('Migration\x20affects\x20tables\x20used\x20in\x20codebase'),s[_0x2280a2(0xb9)](_0x2280a2(0xec)),s[_0x2280a2(0xb9)]('You\x20MUST\x20update/create\x20tests\x20for\x20schema\x20changes'));var _0x27f1fd={};_0x27f1fd['pattern']=/DROP\s+COLUMN/gi,_0x27f1fd[_0x2280a2(0x103)]='DROP\x20COLUMN',_0x27f1fd[_0x2280a2(0xf9)]=_0x2280a2(0xbe);var _0x3e56f2={};_0x3e56f2['pattern']=/DROP\s+TABLE/gi,_0x3e56f2[_0x2280a2(0x103)]=_0x2280a2(0xde),_0x3e56f2[_0x2280a2(0xf9)]=_0x2280a2(0xbe);var _0x1b3f55={};_0x1b3f55[_0x2280a2(0xf3)]=/RENAME\s+COLUMN/gi,_0x1b3f55[_0x2280a2(0x103)]=_0x2280a2(0xd8),_0x1b3f55[_0x2280a2(0xf9)]='BREAKING';var _0x1e2381={};_0x1e2381[_0x2280a2(0xf3)]=/RENAME\s+TABLE/gi,_0x1e2381[_0x2280a2(0x103)]=_0x2280a2(0xfd),_0x1e2381['severity']=_0x2280a2(0xbe);var _0x4d7d54={};function _0x36fb(){var _0x543357=['forEach','You\x20MUST\x20update\x20affected\x20code\x20files','search','log','OsSFG','(((.+)+)+)+$','311660nLuGvp','\x20\x20\x20\x20\x205.\x20Document\x20breaking\x20changes\x20in\x20commit\x20message','pattern','apply','uwzOR','toString','stdio','wKNGd','severity','basename','readFileSync','warn','RENAME\x20TABLE','\x20\x20\x20\x20\x20...\x20and\x20','match','concat','\x0a❌\x20MIGRATION\x20IMPACT\x20VALIDATION\x20FAILED\x0a','9IeYieh','type','24DZaBSE','add','\x20\x204.\x20Create\x20a\x20rollback\x20plan','\x22\x20is\x20not\x20supported','path','\x0a🔍\x20ANALYZING\x20MIGRATION\x20IMPACT:\x20','\x20more','Adding\x20columns\x20but\x20no\x20indexes\x20detected','Database\x20schema\x20changed\x20but\x20NO\x20test\x20files\x20were\x20modified','parse','Test\x20both\x20data\x20operations\x20and\x20edge\x20cases','slice','\x20\x20ℹ️\x20\x20Could\x20not\x20extract\x20table/column\x20names\x20from\x20migration','Before\x20proceeding,\x20you\x20MUST:','\x0a⚠️\x20\x20MIGRATION\x20IMPACT\x20WARNINGS\x0a','utf8','574008ijLlEZ','argv','push','exec','size','detected','lmAKT','BREAKING','unknown','\x20\x203.\x20Run\x20tests\x20to\x20verify\x20nothing\x20breaks','exit','833723CPrwwA','aFWKi','\x22\x20./src\x20./tests\x20--include=\x22*.ts\x22\x20--include=\x22*.js\x22\x20--include=\x22*.tsx\x22\x20--include=\x22*.jsx\x22\x20--include=\x22*.py\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','encoding','pipe','rTxSx','from','kiYTA','trim','jbCmS','length','get','\x20\x201.\x20Update\x20ALL\x20code\x20that\x20uses\x20affected\x20tables/columns','TNyrs','ignore','dFSuY','\x20\x202.\x20Update\x20ALL\x20tests\x20to\x20reflect\x20schema\x20changes','tool_input','640917ahqJae','XDKCh','git\x20diff\x20--cached\x20--name-only\x20--diff-filter=AM\x20|\x20grep\x20-E\x20\x22test|spec\x22\x20||\x20echo\x20\x22\x22','join','RENAME\x20COLUMN','error','Dynamic\x20require\x20of\x20\x22','20crzCpw','\x20\x20\x20\x20\x203.\x20Run:\x20npm\x20test\x20(verify\x20all\x20tests\x20pass)','fnkCq','DROP\x20TABLE','44410fMFZiy','fDSCC','Add\x20tests\x20to\x20verify\x20schema\x20changes\x20work\x20correctly','7ERYVCG','Consider\x20adding\x20indexes\x20for\x20columns\x20used\x20in\x20WHERE/JOIN\x20clauses','522344gEgBqD','set','pMMwV','\x20\x20\x20\x20\x204.\x20Run:\x20npm\x20run\x20build\x20(verify\x20TypeScript\x20types\x20are\x20valid)','16170ahheUa','\x20\x20\x20\x20\x20-\x20','\x20\x20✅\x20Migration\x20impact\x20analysis\x20complete\x0a'];_0x36fb=function(){return _0x543357;};return _0x36fb();}_0x4d7d54['pattern']=/ALTER\s+COLUMN.*NOT\s+NULL/gi,_0x4d7d54[_0x2280a2(0x103)]='ADD\x20NOT\x20NULL',_0x4d7d54[_0x2280a2(0xf9)]=_0x2280a2(0xbe);var M=[_0x27f1fd,_0x3e56f2,_0x1b3f55,_0x1e2381,_0x4d7d54],l=[];for(let {pattern:e,type:i,severity:d}of M)e['test'](n)&&l[_0x2280a2(0xb9)](i);l[_0x2280a2(0xcc)]>0x0&&(console[_0x2280a2(0xee)]('\x20\x20🚨\x20BREAKING\x20CHANGES\x20DETECTED:\x0a'),l[_0x2280a2(0xeb)](_0x9c8be0=>{var _0x2ad480=_0x2280a2;console[_0x2ad480(0xee)](_0x2ad480(0xe9)+_0x9c8be0);}),console['log'](''),o[_0x2280a2(0xb9)]('BLOCKED:\x20Breaking\x20database\x20changes\x20detected'),o['push'](_0x2280a2(0x111)),o[_0x2280a2(0xb9)](_0x2280a2(0xce)),o[_0x2280a2(0xb9)](_0x2280a2(0xd2)),o[_0x2280a2(0xb9)](_0x2280a2(0xc0)),o[_0x2280a2(0xb9)](_0x2280a2(0x106)));try{var _0x43ac4e={};_0x43ac4e[_0x2280a2(0xc5)]=_0x2280a2(0x113),_0x43ac4e[_0x2280a2(0xf7)]=[_0x2280a2(0xc6),'pipe',_0x2280a2(0xd0)],!f(_0x2280a2(0xd6),_0x43ac4e)[_0x2280a2(0xca)]()&&t[_0x2280a2(0xbb)]>0x0&&(s[_0x2280a2(0xb9)](_0x2280a2(0x10c)),s['push'](_0x2280a2(0xe1)),s[_0x2280a2(0xb9)](_0x2280a2(0x10e)));}catch{}n['match'](/ADD\s+(?:COLUMN\s+)?/gi)&&(n[_0x2280a2(0xff)](/CREATE\s+INDEX/gi)||(s[_0x2280a2(0xb9)](_0x2280a2(0x10b)),s[_0x2280a2(0xb9)](_0x2280a2(0xe3)))),(t[_0x2280a2(0xbb)]>0x0||l[_0x2280a2(0xcc)]>0x0)&&(console[_0x2280a2(0xee)]('\x20\x20📋\x20REQUIRED\x20ACTIONS:\x0a'),console[_0x2280a2(0xee)]('\x20\x20\x20\x20\x201.\x20Review\x20and\x20update\x20'+t[_0x2280a2(0xbb)]+'\x20affected\x20code\x20files'),console[_0x2280a2(0xee)]('\x20\x20\x20\x20\x202.\x20Update\x20tests\x20to\x20cover\x20new\x20schema'),console[_0x2280a2(0xee)](_0x2280a2(0xdc)),console[_0x2280a2(0xee)](_0x2280a2(0xe7)),console[_0x2280a2(0xee)](_0x2280a2(0xf2)),console[_0x2280a2(0xee)]('')),o[_0x2280a2(0xcc)]>0x0&&(console[_0x2280a2(0xd9)](_0x2280a2(0x101)),o[_0x2280a2(0xeb)](_0x573239=>console[_0x2280a2(0xd9)]('\x20\x20'+_0x573239)),console[_0x2280a2(0xd9)]('\x0aFix\x20code/tests\x20before\x20committing\x20migration.\x0a'),process[_0x2280a2(0xc1)](0x2)),s[_0x2280a2(0xcc)]>0x0&&(console[_0x2280a2(0xfc)](_0x2280a2(0x112)),s['forEach'](_0x1a0bdc=>console[_0x2280a2(0xfc)]('\x20\x20'+_0x1a0bdc)),console['warn']('\x0a')),console['log'](_0x2280a2(0xea)),process['exit'](0x0);
2
+ var _0x178192=_0xcebe;(function(_0x2f703e,_0x317914){var _0x267988=_0xcebe,_0x5a99a9=_0x2f703e();while(!![]){try{var _0x12729f=-parseInt(_0x267988(0x129))/0x1*(parseInt(_0x267988(0x125))/0x2)+-parseInt(_0x267988(0xd9))/0x3*(parseInt(_0x267988(0xfb))/0x4)+-parseInt(_0x267988(0x128))/0x5*(-parseInt(_0x267988(0x12e))/0x6)+parseInt(_0x267988(0x131))/0x7*(parseInt(_0x267988(0xe9))/0x8)+-parseInt(_0x267988(0xcc))/0x9*(-parseInt(_0x267988(0x10e))/0xa)+-parseInt(_0x267988(0xe7))/0xb+-parseInt(_0x267988(0xd4))/0xc*(-parseInt(_0x267988(0x124))/0xd);if(_0x12729f===_0x317914)break;else _0x5a99a9['push'](_0x5a99a9['shift']());}catch(_0x57700e){_0x5a99a9['push'](_0x5a99a9['shift']());}}}(_0x2227,0x8a6e0));var _0x2191a0=(function(){var _0x22aa71=_0xcebe,_0x5db818={'KNvoT':function(_0x8a9a39,_0x53751f,_0xb13578){return _0x8a9a39(_0x53751f,_0xb13578);},'rIpMK':_0x22aa71(0x118),'ieDys':_0x22aa71(0xe1),'qSrtq':_0x22aa71(0x106),'YwSvs':_0x22aa71(0xe4),'qVpsW':function(_0x4549fc,_0x15a6ed){return _0x4549fc===_0x15a6ed;},'KshDc':_0x22aa71(0xda),'uVWuF':_0x22aa71(0x10a),'eWaMZ':_0x22aa71(0x108)},_0x29933d=!![];return function(_0xabf89f,_0x18720e){var _0x3b91c5=_0x22aa71;if(_0x5db818[_0x3b91c5(0xd1)]!==_0x5db818['eWaMZ']){let _0x3d690a=_0x5db818[_0x3b91c5(0xe5)](_0x13df4a,_0x3b91c5(0xca)+_0x427184+_0x3b91c5(0x10d),{'encoding':_0x5db818['rIpMK'],'stdio':[_0x5db818[_0x3b91c5(0x12f)],_0x5db818[_0x3b91c5(0x12f)],_0x5db818[_0x3b91c5(0x11c)]]})[_0x3b91c5(0x107)]();_0x3d690a&&_0x3d690a['split']('\x0a')[_0x3b91c5(0xd0)](_0x380cad)[_0x3b91c5(0x119)](_0x1b981c=>_0xd26f83[_0x3b91c5(0x11f)](_0x1b981c));}else{var _0x543374=_0x29933d?function(){var _0x2c0e72=_0x3b91c5;if(_0x5db818[_0x2c0e72(0x10b)]===_0x5db818[_0x2c0e72(0x10b)]){if(_0x18720e){if(_0x5db818[_0x2c0e72(0xdd)](_0x5db818[_0x2c0e72(0xf2)],_0x5db818['uVWuF']))_0x3e64e9['log'](_0x2c0e72(0x102)+_0x48c46e);else{var _0x3c7453=_0x18720e['apply'](_0xabf89f,arguments);return _0x18720e=null,_0x3c7453;}}}else{var _0x42c3c2=_0x2b6d79['apply'](_0x167867,arguments);return _0x3510be=null,_0x42c3c2;}}:function(){};return _0x29933d=![],_0x543374;}};}()),_0x45f482=_0x2191a0(this,function(){var _0x5d8baa=_0xcebe,_0x49d35b={};_0x49d35b[_0x5d8baa(0xf0)]=_0x5d8baa(0xf1);var _0x4e71cd=_0x49d35b;return _0x45f482['toString']()[_0x5d8baa(0xd5)](_0x4e71cd[_0x5d8baa(0xf0)])[_0x5d8baa(0x100)]()[_0x5d8baa(0x12b)](_0x45f482)[_0x5d8baa(0xd5)](_0x4e71cd['FHikY']);});_0x45f482();var g=(_0x218650=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x218650,{'get':(_0x1bc152,_0x4f52ca)=>(typeof require<'u'?require:_0x1bc152)[_0x4f52ca]}):_0x218650)(function(_0x518f3d){var _0x3a2aef=_0xcebe,_0x1799b8={'oxgZh':function(_0x36f7ed,_0x3e8401){return _0x36f7ed<_0x3e8401;},'vawOD':function(_0x1d5cb8,_0x122556){return _0x1d5cb8(_0x122556);},'WMhbY':function(_0x4574a6,_0x1d4a07){return _0x4574a6+_0x1d4a07;},'Enpqh':function(_0x436062,_0x34e4c5){return _0x436062+_0x34e4c5;},'MKaTK':'Dynamic\x20require\x20of\x20\x22','pUthU':'\x22\x20is\x20not\x20supported'};if(_0x1799b8['oxgZh'](typeof require,'u'))return require['apply'](this,arguments);throw _0x1799b8['vawOD'](Error,_0x1799b8['WMhbY'](_0x1799b8[_0x3a2aef(0xf9)](_0x1799b8[_0x3a2aef(0xf8)],_0x518f3d),_0x1799b8['pUthU']));}),h=g('fs'),E=g(_0x178192(0xd3)),{execSync:f}=g('child_process'),A=process['argv'][0x2]||'{}',m=JSON[_0x178192(0xee)](A),r=m['tool_input']?.[_0x178192(0xeb)];(!r||!r[_0x178192(0x11e)](/migrations?\/.*\.(ts|js|py|sql)$/i))&&process[_0x178192(0x12a)](0x0);function _0x2227(){var _0x4530de=['slice','Database\x20schema\x20changed\x20but\x20NO\x20test\x20files\x20were\x20modified','Migration\x20affects\x20tables\x20used\x20in\x20codebase','pipe','set','encoding','OqiTA','KNvoT','git\x20diff\x20--cached\x20--name-only\x20--diff-filter=AM\x20|\x20grep\x20-E\x20\x22test|spec\x22\x20||\x20echo\x20\x22\x22','5358793PfzHBj','type','24vruhEb','\x20more','file_path','log','warn','parse','Before\x20proceeding,\x20you\x20MUST:','FHikY','(((.+)+)+)+$','KshDc','You\x20MUST\x20update/create\x20tests\x20for\x20schema\x20changes','severity','\x20\x201.\x20Update\x20ALL\x20code\x20that\x20uses\x20affected\x20tables/columns','split','\x0a⚠️\x20\x20MIGRATION\x20IMPACT\x20WARNINGS\x0a','MKaTK','Enpqh','\x20\x202.\x20Update\x20ALL\x20tests\x20to\x20reflect\x20schema\x20changes','36MxxQRH','ADD\x20NOT\x20NULL','from','\x20\x203.\x20Run\x20tests\x20to\x20verify\x20nothing\x20breaks','RENAME\x20COLUMN','toString','readFileSync','\x20\x20\x20\x20\x20-\x20','\x20\x20⚠️\x20\x20Found\x20','length','Consider\x20adding\x20indexes\x20for\x20columns\x20used\x20in\x20WHERE/JOIN\x20clauses','ignore','trim','PkQKr','Add\x20tests\x20to\x20verify\x20schema\x20changes\x20work\x20correctly','EoCVa','YwSvs','BLOCKED:\x20Breaking\x20database\x20changes\x20detected','\x22\x20./src\x20./tests\x20--include=\x22*.ts\x22\x20--include=\x22*.js\x22\x20--include=\x22*.tsx\x22\x20--include=\x22*.jsx\x22\x20--include=\x22*.py\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','247390vbhwJD','\x20\x204.\x20Create\x20a\x20rollback\x20plan','\x0a🔍\x20ANALYZING\x20MIGRATION\x20IMPACT:\x20','error','\x20\x20🚨\x20BREAKING\x20CHANGES\x20DETECTED:\x0a','\x20\x20\x20\x20\x202.\x20Update\x20tests\x20to\x20cover\x20new\x20schema','join','Adding\x20columns\x20but\x20no\x20indexes\x20detected','\x0aFix\x20code/tests\x20before\x20committing\x20migration.\x0a','\x0a❌\x20MIGRATION\x20IMPACT\x20VALIDATION\x20FAILED\x0a','utf8','forEach','concat','\x20\x20\x20\x20\x203.\x20Run:\x20npm\x20test\x20(verify\x20all\x20tests\x20pass)','qSrtq','pattern','match','add','\x20\x20✅\x20Migration\x20impact\x20analysis\x20complete\x0a','stdio','\x20\x20Manual\x20code\x20review\x20required\x0a','DROP\x20COLUMN','26qRHFQW','4BlHjTy','\x20\x20\x20\x20\x204.\x20Run:\x20npm\x20run\x20build\x20(verify\x20TypeScript\x20types\x20are\x20valid)','size','11705XFORWF','353543KftDHM','exit','constructor','\x20\x20\x20\x20\x201.\x20Review\x20and\x20update\x20','push','2250oCpmQP','ieDys','\x20affected\x20code\x20files','2511957XORWyM','grep\x20-r\x20-l\x20\x22','detected','81OvTNHf','exec','You\x20MUST\x20update\x20affected\x20code\x20files','BREAKING','filter','eWaMZ','DROP\x20TABLE','path','1901100VOCBUG','search','RENAME\x20TABLE','\x20\x20📋\x20REQUIRED\x20ACTIONS:\x0a','Test\x20both\x20data\x20operations\x20and\x20edge\x20cases','244224kHqaxG','NQtLG','get','basename','qVpsW'];_0x2227=function(){return _0x4530de;};return _0x2227();}var o=[],s=[],N=E[_0x178192(0xdc)](r);function _0xcebe(_0x2f59d7,_0x2f8213){_0x2f59d7=_0x2f59d7-0xca;var _0x536b4b=_0x2227();var _0x45f482=_0x536b4b[_0x2f59d7];return _0x45f482;}console[_0x178192(0xec)](_0x178192(0x110)+N+'\x0a');var n;try{n=h[_0x178192(0x101)](r,_0x178192(0x118));}catch{process['exit'](0x0);}var a=new Set(),p=new Map(),T=/CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi,c;for(;(c=T[_0x178192(0xcd)](n))!==null;)a['add'](c[0x1]);var R=/ALTER\s+TABLE\s+[`"]?(\w+)[`"]?/gi;for(;(c=R['exec'](n))!==null;)a[_0x178192(0x11f)](c[0x1]);var y=/DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;for(;(c=y['exec'](n))!==null;)a[_0x178192(0x11f)](c[0x1]);var L=/@Column\([^)]*\)[\s\n]+(\w+):/gi;for(;(c=L[_0x178192(0xcd)](n))!==null;)p[_0x178192(0xe2)]('detected',(p[_0x178192(0xdb)](_0x178192(0xcb))||[])[_0x178192(0x11a)](c[0x1]));a[_0x178192(0x127)]===0x0&&p['size']===0x0&&(console[_0x178192(0xec)]('\x20\x20ℹ️\x20\x20Could\x20not\x20extract\x20table/column\x20names\x20from\x20migration'),console[_0x178192(0xec)](_0x178192(0x122)),process[_0x178192(0x12a)](0x0)),console[_0x178192(0xec)]('\x20\x20📊\x20Migration\x20affects\x20tables:\x20'+(Array[_0x178192(0xfd)](a)[_0x178192(0x114)](',\x20')||'unknown')+'\x0a');var t=new Set();for(let e of a)try{var _0x1e16b4={};_0x1e16b4[_0x178192(0xe3)]=_0x178192(0x118),_0x1e16b4[_0x178192(0x121)]=['pipe',_0x178192(0xe1),_0x178192(0x106)];let i=f(_0x178192(0xca)+e+_0x178192(0x10d),_0x1e16b4)[_0x178192(0x107)]();i&&i[_0x178192(0xf6)]('\x0a')[_0x178192(0xd0)](Boolean)[_0x178192(0x119)](_0x750939=>t['add'](_0x750939));}catch{}t[_0x178192(0x127)]>0x0&&(console[_0x178192(0xec)](_0x178192(0x103)+t['size']+'\x20files\x20that\x20reference\x20these\x20tables:\x0a'),Array['from'](t)[_0x178192(0xde)](0x0,0xa)[_0x178192(0x119)](_0x5cd3e2=>{var _0x50cc76=_0x178192;console['log'](_0x50cc76(0x102)+_0x5cd3e2);}),t[_0x178192(0x127)]>0xa&&console['log']('\x20\x20\x20\x20\x20...\x20and\x20'+(t[_0x178192(0x127)]-0xa)+_0x178192(0xea)),console[_0x178192(0xec)](''),s[_0x178192(0x12d)](_0x178192(0xe0)),s[_0x178192(0x12d)](_0x178192(0xce)),s[_0x178192(0x12d)](_0x178192(0xf3)));var _0x2780ce={};_0x2780ce[_0x178192(0x11d)]=/DROP\s+COLUMN/gi,_0x2780ce[_0x178192(0xe8)]=_0x178192(0x123),_0x2780ce['severity']=_0x178192(0xcf);var _0x573943={};_0x573943['pattern']=/DROP\s+TABLE/gi,_0x573943[_0x178192(0xe8)]=_0x178192(0xd2),_0x573943[_0x178192(0xf4)]=_0x178192(0xcf);var _0x484b71={};_0x484b71[_0x178192(0x11d)]=/RENAME\s+COLUMN/gi,_0x484b71[_0x178192(0xe8)]=_0x178192(0xff),_0x484b71[_0x178192(0xf4)]=_0x178192(0xcf);var _0x5795f5={};_0x5795f5[_0x178192(0x11d)]=/RENAME\s+TABLE/gi,_0x5795f5[_0x178192(0xe8)]=_0x178192(0xd6),_0x5795f5[_0x178192(0xf4)]=_0x178192(0xcf);var _0x54f8d8={};_0x54f8d8[_0x178192(0x11d)]=/ALTER\s+COLUMN.*NOT\s+NULL/gi,_0x54f8d8['type']=_0x178192(0xfc),_0x54f8d8[_0x178192(0xf4)]=_0x178192(0xcf);var M=[_0x2780ce,_0x573943,_0x484b71,_0x5795f5,_0x54f8d8],l=[];for(let {pattern:e,type:i,severity:d}of M)e['test'](n)&&l[_0x178192(0x12d)](i);l[_0x178192(0x104)]>0x0&&(console[_0x178192(0xec)](_0x178192(0x112)),l[_0x178192(0x119)](_0x16ab02=>{var _0x14afd3=_0x178192;console[_0x14afd3(0xec)](_0x14afd3(0x102)+_0x16ab02);}),console[_0x178192(0xec)](''),o['push'](_0x178192(0x10c)),o[_0x178192(0x12d)](_0x178192(0xef)),o[_0x178192(0x12d)](_0x178192(0xf5)),o['push'](_0x178192(0xfa)),o[_0x178192(0x12d)](_0x178192(0xfe)),o[_0x178192(0x12d)](_0x178192(0x10f)));try{var _0x755f58={};_0x755f58[_0x178192(0xe3)]=_0x178192(0x118),_0x755f58[_0x178192(0x121)]=[_0x178192(0xe1),_0x178192(0xe1),_0x178192(0x106)],!f(_0x178192(0xe6),_0x755f58)[_0x178192(0x107)]()&&t[_0x178192(0x127)]>0x0&&(s['push'](_0x178192(0xdf)),s['push'](_0x178192(0x109)),s['push'](_0x178192(0xd8)));}catch{}n[_0x178192(0x11e)](/ADD\s+(?:COLUMN\s+)?/gi)&&(n['match'](/CREATE\s+INDEX/gi)||(s[_0x178192(0x12d)](_0x178192(0x115)),s[_0x178192(0x12d)](_0x178192(0x105)))),(t['size']>0x0||l[_0x178192(0x104)]>0x0)&&(console[_0x178192(0xec)](_0x178192(0xd7)),console[_0x178192(0xec)](_0x178192(0x12c)+t[_0x178192(0x127)]+_0x178192(0x130)),console['log'](_0x178192(0x113)),console[_0x178192(0xec)](_0x178192(0x11b)),console[_0x178192(0xec)](_0x178192(0x126)),console[_0x178192(0xec)]('\x20\x20\x20\x20\x205.\x20Document\x20breaking\x20changes\x20in\x20commit\x20message'),console[_0x178192(0xec)]('')),o[_0x178192(0x104)]>0x0&&(console[_0x178192(0x111)](_0x178192(0x117)),o[_0x178192(0x119)](_0x29b63b=>console[_0x178192(0x111)]('\x20\x20'+_0x29b63b)),console[_0x178192(0x111)](_0x178192(0x116)),process[_0x178192(0x12a)](0x2)),s[_0x178192(0x104)]>0x0&&(console[_0x178192(0xed)](_0x178192(0xf7)),s[_0x178192(0x119)](_0x4bfef6=>console[_0x178192(0xed)]('\x20\x20'+_0x4bfef6)),console[_0x178192(0xed)]('\x0a')),console['log'](_0x178192(0x120)),process[_0x178192(0x12a)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x320100=_0x1ee4;(function(_0x477337,_0x1e86dd){var _0x332453=_0x1ee4,_0xc2f61f=_0x477337();while(!![]){try{var _0x2ba9eb=parseInt(_0x332453(0x1b9))/0x1+parseInt(_0x332453(0x1c9))/0x2*(-parseInt(_0x332453(0x1fe))/0x3)+parseInt(_0x332453(0x1cd))/0x4*(-parseInt(_0x332453(0x1d8))/0x5)+-parseInt(_0x332453(0x1fb))/0x6+-parseInt(_0x332453(0x1ea))/0x7+-parseInt(_0x332453(0x1f9))/0x8+-parseInt(_0x332453(0x1cc))/0x9*(-parseInt(_0x332453(0x1be))/0xa);if(_0x2ba9eb===_0x1e86dd)break;else _0xc2f61f['push'](_0xc2f61f['shift']());}catch(_0x199ba7){_0xc2f61f['push'](_0xc2f61f['shift']());}}}(_0x1bc2,0x47440));function _0x1bc2(){var _0x4c6bd3=['\x20\x20\x20\x20node\x20.claude/hooks/complete-task.js\x20','Active\x20task:\x20','apply','\x0a\x20\x20Have\x20you\x20completed\x20all\x20criteria?\x20If\x20yes:','search','VcqWl','includes','Consider\x20adding\x20task\x20reference:\x20[','\x0a📋\x20TASK\x20COMPLETION\x20CHECKLIST:\x20','argv','QitdA','\x20has\x20been\x20in\x20progress\x20for\x20','FDQmn','push','3278002JzIDtb','completionCriteria','path','RoosU','\x22\x20is\x20not\x20supported','length','floor','in_progress','\x20\x20Completion\x20criteria:','\x0a⚠️\x20\x20TASK\x20COMPLETION\x20WARNINGS\x0a','(((.+)+)+)+$','utf8','nVhmq','error','warn','4300152OKoACM','status','2485782VQVFoY','kSRYh','\x20hours','3PEQmje','uOePe','tasks','match','sNwTN','some','title','Dynamic\x20require\x20of\x20\x22','306931UhviiY','existsSync','log','child_process','map','10FeCFjt','sxOBZ','xvVbB','VPOUJ','filter','RikZd','\x20-\x20','constructor','\x0a❌\x20TASK\x20COMPLETION\x20VALIDATION\x20FAILED\x0a','Consider\x20breaking\x20it\x20into\x20smaller\x20tasks\x20or\x20marking\x20it\x20as\x20blocked','forEach','615314ORfvFa','parse','toString','19801683NHvpUf','129988cUUXEy','exit','WARNING:\x20Commit\x20message\x20does\x20not\x20reference\x20task\x20ID','command','Or\x20mark\x20a\x20task\x20as\x20completed\x20if\x20you\x20just\x20finished\x20it','JJNXl','git\x20commit','BLOCKED:\x20No\x20active\x20task\x20when\x20attempting\x20commit','startedAt','eamvk','TkSBx','75GATSgp','\x20\x20Task:\x20','dDjMW','lfXlD'];_0x1bc2=function(){return _0x4c6bd3;};return _0x1bc2();}function _0x1ee4(_0x22cc2f,_0x2ecdfb){_0x22cc2f=_0x22cc2f-0x1b8;var _0x3f929b=_0x1bc2();var _0x4ce0da=_0x3f929b[_0x22cc2f];return _0x4ce0da;}var _0x41fa6b=(function(){var _0x4e4978=_0x1ee4,_0x41d356={};_0x41d356[_0x4e4978(0x202)]=function(_0x2ad3eb,_0x109de3){return _0x2ad3eb>_0x109de3;},_0x41d356[_0x4e4978(0x1e1)]='SbdAI',_0x41d356[_0x4e4978(0x1e8)]=function(_0x2ce7e5,_0x3e9f69){return _0x2ce7e5===_0x3e9f69;},_0x41d356[_0x4e4978(0x1e6)]='PpCor',_0x41d356[_0x4e4978(0x1ff)]=_0x4e4978(0x1fc);var _0x52ebd9=_0x41d356,_0x402b8e=!![];return function(_0x501cad,_0x587e67){var _0x2f316d=_0x4e4978,_0x390ede={'TkSBx':function(_0x2422dd,_0x279a48){var _0x5bb6e0=_0x1ee4;return _0x52ebd9[_0x5bb6e0(0x202)](_0x2422dd,_0x279a48);},'RoosU':_0x2f316d(0x1cf),'xvVbB':_0x2f316d(0x1f4),'nVhmq':function(_0x547080,_0x4ec213){return _0x547080===_0x4ec213;},'lfXlD':_0x52ebd9['VcqWl']};if(_0x52ebd9[_0x2f316d(0x1e8)](_0x52ebd9['QitdA'],_0x52ebd9[_0x2f316d(0x1ff)])){let _0x570f3e=_0x289f74[_0x2f316d(0x201)](/-m\s+["']([^"']+)["']/);if(_0x570f3e){let _0x2ddcf0=_0x570f3e[0x1];!_0x28ddf8['tasks'][_0x2f316d(0x1bd)](_0x1f22af=>_0x1f22af['id'])[_0x2f316d(0x203)](_0x324af8=>_0x2ddcf0[_0x2f316d(0x1e2)](_0x324af8))&&_0x390ede[_0x2f316d(0x1d7)](_0x59b150[_0x2f316d(0x1ef)],0x0)&&(_0x1c3bd1['push'](_0x390ede[_0x2f316d(0x1ed)]),_0x41c472[_0x2f316d(0x1e9)](_0x2f316d(0x1dd)+_0x42db20[0x0]['id']+_0x2f316d(0x1c4)+_0x355cc9[0x0]['title']),_0x11297f['push'](_0x2f316d(0x1e3)+_0x256c28[0x0]['id']+']\x20'+_0x2ddcf0));}}else{var _0x108349=_0x402b8e?function(){var _0x5d7460=_0x2f316d;if(_0x587e67){if(_0x390ede[_0x5d7460(0x1f6)](_0x390ede[_0x5d7460(0x1db)],_0x390ede[_0x5d7460(0x1db)])){var _0x11d728=_0x587e67[_0x5d7460(0x1de)](_0x501cad,arguments);return _0x587e67=null,_0x11d728;}else return _0x4083b5['toString']()[_0x5d7460(0x1e0)](_0x390ede['xvVbB'])['toString']()['constructor'](_0x17a6cc)[_0x5d7460(0x1e0)](_0x390ede[_0x5d7460(0x1c0)]);}}:function(){};return _0x402b8e=![],_0x108349;}};}()),_0x4ce0da=_0x41fa6b(this,function(){var _0x556065=_0x1ee4,_0x3f72f5={};_0x3f72f5[_0x556065(0x1c1)]=_0x556065(0x1f4);var _0x3a1ee9=_0x3f72f5;return _0x4ce0da[_0x556065(0x1cb)]()[_0x556065(0x1e0)]('(((.+)+)+)+$')[_0x556065(0x1cb)]()[_0x556065(0x1c5)](_0x4ce0da)[_0x556065(0x1e0)](_0x3a1ee9[_0x556065(0x1c1)]);});_0x4ce0da();var c=(_0x42e668=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x42e668,{'get':(_0x372b86,_0x24d333)=>(typeof require<'u'?require:_0x372b86)[_0x24d333]}):_0x42e668)(function(_0x332cdb){var _0x16f3bf=_0x1ee4,_0x437dec={'eamvk':function(_0x5993ba,_0xa6959e){return _0x5993ba<_0xa6959e;},'sxOBZ':function(_0x2740a4,_0x12a868){return _0x2740a4(_0x12a868);},'RikZd':function(_0x38a875,_0x3729c1){return _0x38a875+_0x3729c1;},'dDjMW':_0x16f3bf(0x1b8),'xGIrA':_0x16f3bf(0x1ee)};if(_0x437dec[_0x16f3bf(0x1d6)](typeof require,'u'))return require['apply'](this,arguments);throw _0x437dec[_0x16f3bf(0x1bf)](Error,_0x437dec['RikZd'](_0x437dec[_0x16f3bf(0x1c3)](_0x437dec[_0x16f3bf(0x1da)],_0x332cdb),_0x437dec['xGIrA']));}),i=c('fs'),u=c(_0x320100(0x1ec)),{execSync:I}=c(_0x320100(0x1bc)),h=process[_0x320100(0x1e5)][0x2]||'{}',p=JSON[_0x320100(0x1ca)](h),l=p['tool_input']?.[_0x320100(0x1d0)]||'',r=[],n=[];l['includes'](_0x320100(0x1d3))||process[_0x320100(0x1ce)](0x0);var m='.claude/TASK-TRACKER.json';i[_0x320100(0x1ba)](m)||process['exit'](0x0);var f=JSON['parse'](i['readFileSync'](m,_0x320100(0x1f5))),t=f[_0x320100(0x200)][_0x320100(0x1c2)](_0x15160a=>_0x15160a[_0x320100(0x1fa)]===_0x320100(0x1f1));t[_0x320100(0x1ef)]===0x0&&(r['push'](_0x320100(0x1d4)),r['push']('Mark\x20a\x20task\x20as\x20in_progress\x20before\x20committing'),r['push'](_0x320100(0x1d1)));try{let s=l[_0x320100(0x201)](/-m\s+["']([^"']+)["']/);if(s){let e=s[0x1];!f[_0x320100(0x200)]['map'](_0x263144=>_0x263144['id'])[_0x320100(0x203)](_0xb66acf=>e['includes'](_0xb66acf))&&t[_0x320100(0x1ef)]>0x0&&(n[_0x320100(0x1e9)](_0x320100(0x1cf)),n[_0x320100(0x1e9)](_0x320100(0x1dd)+t[0x0]['id']+_0x320100(0x1c4)+t[0x0][_0x320100(0x204)]),n['push']('Consider\x20adding\x20task\x20reference:\x20['+t[0x0]['id']+']\x20'+e));}}catch{}for(let s of t)s[_0x320100(0x1eb)]&&s[_0x320100(0x1eb)][_0x320100(0x1ef)]>0x0&&(console['log'](_0x320100(0x1e4)+s['id']+'\x0a'),console[_0x320100(0x1bb)](_0x320100(0x1d9)+s[_0x320100(0x204)]+'\x0a'),console[_0x320100(0x1bb)](_0x320100(0x1f2)),s[_0x320100(0x1eb)][_0x320100(0x1c8)]((_0x3fd81,_0x2dc70f)=>{var _0x7c333a=_0x320100,_0x1cbde7={};_0x1cbde7[_0x7c333a(0x1d2)]=function(_0x310084,_0x17c618){return _0x310084+_0x17c618;};var _0x3f2da5=_0x1cbde7;console[_0x7c333a(0x1bb)]('\x20\x20\x20\x20'+_0x3f2da5[_0x7c333a(0x1d2)](_0x2dc70f,0x1)+'.\x20'+_0x3fd81);}),console[_0x320100(0x1bb)](_0x320100(0x1df)),console['log'](_0x320100(0x1dc)+s['id']+'\x0a'));var d=new Date();for(let s of t)if(s[_0x320100(0x1d5)]){let e=new Date(s[_0x320100(0x1d5)]),o=(d-e)/(0x3e8*0x3c*0x3c);o>0x8&&(n[_0x320100(0x1e9)]('WARNING:\x20Task\x20'+s['id']+_0x320100(0x1e7)+Math[_0x320100(0x1f0)](o)+_0x320100(0x1fd)),n[_0x320100(0x1e9)](_0x320100(0x1c7)));}r['length']>0x0&&(console['error'](_0x320100(0x1c6)),r['forEach'](_0x3c293d=>console[_0x320100(0x1f7)]('\x20\x20'+_0x3c293d)),console[_0x320100(0x1f7)]('\x0a'),process[_0x320100(0x1ce)](0x2)),n[_0x320100(0x1ef)]>0x0&&(console[_0x320100(0x1f8)](_0x320100(0x1f3)),n['forEach'](_0x4dd193=>console[_0x320100(0x1f8)]('\x20\x20'+_0x4dd193)),console[_0x320100(0x1f8)]('\x0a')),process['exit'](0x0);
2
+ var _0xad60b8=_0x5e6a;(function(_0x5536fc,_0x3c6b88){var _0x16f4cb=_0x5e6a,_0x309fa6=_0x5536fc();while(!![]){try{var _0x245b52=-parseInt(_0x16f4cb(0x87))/0x1+parseInt(_0x16f4cb(0x9e))/0x2+-parseInt(_0x16f4cb(0x94))/0x3+parseInt(_0x16f4cb(0x78))/0x4*(-parseInt(_0x16f4cb(0x93))/0x5)+-parseInt(_0x16f4cb(0xaf))/0x6*(-parseInt(_0x16f4cb(0x88))/0x7)+-parseInt(_0x16f4cb(0xbb))/0x8+parseInt(_0x16f4cb(0xb1))/0x9*(parseInt(_0x16f4cb(0x84))/0xa);if(_0x245b52===_0x3c6b88)break;else _0x309fa6['push'](_0x309fa6['shift']());}catch(_0x46df28){_0x309fa6['push'](_0x309fa6['shift']());}}}(_0x4e5e,0x9766a));var _0x38ad0d=(function(){var _0x3d61c4=_0x5e6a,_0x2bab1b={};_0x2bab1b[_0x3d61c4(0xae)]=function(_0x4bebf9,_0x3f591e){return _0x4bebf9-_0x3f591e;},_0x2bab1b[_0x3d61c4(0x9f)]=_0x3d61c4(0xac),_0x2bab1b[_0x3d61c4(0x81)]=function(_0x4ae81d,_0x142740){return _0x4ae81d!==_0x142740;};var _0x50efc5=_0x2bab1b,_0x534d0c=!![];return function(_0x5e2692,_0x126064){var _0xbc8fae=_0x3d61c4,_0xc116bc={'wuHBf':function(_0x5c5379,_0x207fd3){return _0x50efc5['EWIWR'](_0x5c5379,_0x207fd3);},'otXfT':_0x50efc5[_0xbc8fae(0x9f)],'jQfXy':function(_0x38dc93,_0x346320){var _0x334190=_0xbc8fae;return _0x50efc5[_0x334190(0x81)](_0x38dc93,_0x346320);}},_0x3b026c=_0x534d0c?function(){var _0x4f1865=_0xbc8fae,_0x6af23b={'wNJlX':function(_0x5c749f,_0x5aa392){var _0x3e515c=_0x5e6a;return _0xc116bc[_0x3e515c(0x7c)](_0x5c749f,_0x5aa392);},'PPlZN':_0xc116bc[_0x4f1865(0xaa)]};if(_0x126064){if(_0xc116bc[_0x4f1865(0xb8)](_0x4f1865(0x7b),_0x4f1865(0x8e))){var _0x6542df=_0x126064[_0x4f1865(0xa4)](_0x5e2692,arguments);return _0x126064=null,_0x6542df;}else{let _0x2a869c=new _0x1d1b19(_0x5e1cc9[_0x4f1865(0x8a)]),_0x3ef602=_0x6af23b[_0x4f1865(0xa3)](_0x4cf06f,_0x2a869c)/(0x3e8*0x3c*0x3c);_0x3ef602>0x8&&(_0x58cb09[_0x4f1865(0x83)]('WARNING:\x20Task\x20'+_0x2efe6e['id']+'\x20has\x20been\x20in\x20progress\x20for\x20'+_0x24960c[_0x4f1865(0xbe)](_0x3ef602)+_0x4f1865(0x86)),_0x5a7688[_0x4f1865(0x83)](_0x6af23b[_0x4f1865(0x9d)]));}}}:function(){};return _0x534d0c=![],_0x3b026c;};}()),_0x18562a=_0x38ad0d(this,function(){var _0x3644e4=_0x5e6a,_0x3a4995={};_0x3a4995['OVRJr']=_0x3644e4(0x96);var _0xd06ab9=_0x3a4995;return _0x18562a[_0x3644e4(0xbd)]()[_0x3644e4(0x7a)](_0xd06ab9[_0x3644e4(0xa5)])[_0x3644e4(0xbd)]()[_0x3644e4(0x98)](_0x18562a)[_0x3644e4(0x7a)](_0x3644e4(0x96));});_0x18562a();var c=(_0x576210=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x576210,{'get':(_0x26c529,_0x122dbf)=>(typeof require<'u'?require:_0x26c529)[_0x122dbf]}):_0x576210)(function(_0x413957){var _0x945d3e=_0x5e6a,_0x373ff5={'oAxln':function(_0x1e8f91,_0x11198c){return _0x1e8f91(_0x11198c);},'ZtRlY':_0x945d3e(0xa9)};if(typeof require<'u')return require[_0x945d3e(0xa4)](this,arguments);throw _0x373ff5[_0x945d3e(0xb4)](Error,_0x373ff5[_0x945d3e(0x9c)]+_0x413957+_0x945d3e(0xa1));}),i=c('fs'),u=c(_0xad60b8(0x7d)),{execSync:I}=c(_0xad60b8(0xb5)),h=process[_0xad60b8(0xa7)][0x2]||'{}',p=JSON[_0xad60b8(0xab)](h),l=p['tool_input']?.[_0xad60b8(0x80)]||'',r=[],n=[];l['includes'](_0xad60b8(0x99))||process[_0xad60b8(0xb9)](0x0);var m=_0xad60b8(0xbc);i['existsSync'](m)||process[_0xad60b8(0xb9)](0x0);var f=JSON[_0xad60b8(0xab)](i[_0xad60b8(0xba)](m,_0xad60b8(0xad))),t=f['tasks'][_0xad60b8(0x8d)](_0xa7b81d=>_0xa7b81d[_0xad60b8(0x91)]===_0xad60b8(0x95));t[_0xad60b8(0xb6)]===0x0&&(r[_0xad60b8(0x83)](_0xad60b8(0x90)),r[_0xad60b8(0x83)]('Mark\x20a\x20task\x20as\x20in_progress\x20before\x20committing'),r['push'](_0xad60b8(0xa6)));try{let s=l['match'](/-m\s+["']([^"']+)["']/);if(s){let e=s[0x1];!f[_0xad60b8(0xb2)][_0xad60b8(0xa8)](_0x507c6e=>_0x507c6e['id'])['some'](_0xfa1f36=>e[_0xad60b8(0xb0)](_0xfa1f36))&&t[_0xad60b8(0xb6)]>0x0&&(n[_0xad60b8(0x83)](_0xad60b8(0xb7)),n[_0xad60b8(0x83)](_0xad60b8(0x92)+t[0x0]['id']+_0xad60b8(0x82)+t[0x0][_0xad60b8(0xa0)]),n[_0xad60b8(0x83)](_0xad60b8(0x9b)+t[0x0]['id']+']\x20'+e));}}catch{}for(let s of t)s[_0xad60b8(0x8b)]&&s[_0xad60b8(0x8b)][_0xad60b8(0xb6)]>0x0&&(console[_0xad60b8(0x85)](_0xad60b8(0x97)+s['id']+'\x0a'),console['log']('\x20\x20Task:\x20'+s[_0xad60b8(0xa0)]+'\x0a'),console['log']('\x20\x20Completion\x20criteria:'),s[_0xad60b8(0x8b)][_0xad60b8(0xb3)]((_0x35266b,_0x3d30f5)=>{var _0x414d1a=_0xad60b8,_0x4e7f05={};_0x4e7f05[_0x414d1a(0xa2)]=function(_0x51cb47,_0x53f014){return _0x51cb47+_0x53f014;};var _0x8941e1=_0x4e7f05;console[_0x414d1a(0x85)](_0x414d1a(0x8f)+_0x8941e1[_0x414d1a(0xa2)](_0x3d30f5,0x1)+'.\x20'+_0x35266b);}),console[_0xad60b8(0x85)](_0xad60b8(0x89)),console[_0xad60b8(0x85)](_0xad60b8(0x9a)+s['id']+'\x0a'));var d=new Date();for(let s of t)if(s[_0xad60b8(0x8a)]){let e=new Date(s['startedAt']),o=(d-e)/(0x3e8*0x3c*0x3c);o>0x8&&(n[_0xad60b8(0x83)](_0xad60b8(0x7f)+s['id']+'\x20has\x20been\x20in\x20progress\x20for\x20'+Math['floor'](o)+_0xad60b8(0x86)),n[_0xad60b8(0x83)](_0xad60b8(0xac)));}function _0x4e5e(){var _0x392515=['status','Active\x20task:\x20','85asFVWA','310440iADdFK','in_progress','(((.+)+)+)+$','\x0a📋\x20TASK\x20COMPLETION\x20CHECKLIST:\x20','constructor','git\x20commit','\x20\x20\x20\x20node\x20.claude/hooks/complete-task.js\x20','Consider\x20adding\x20task\x20reference:\x20[','ZtRlY','PPlZN','1957454mJBhIF','KVRSV','title','\x22\x20is\x20not\x20supported','jNvaQ','wNJlX','apply','OVRJr','Or\x20mark\x20a\x20task\x20as\x20completed\x20if\x20you\x20just\x20finished\x20it','argv','map','Dynamic\x20require\x20of\x20\x22','otXfT','parse','Consider\x20breaking\x20it\x20into\x20smaller\x20tasks\x20or\x20marking\x20it\x20as\x20blocked','utf8','EWIWR','795312WMXokF','includes','5679RLpAht','tasks','forEach','oAxln','child_process','length','WARNING:\x20Commit\x20message\x20does\x20not\x20reference\x20task\x20ID','jQfXy','exit','readFileSync','4243448NxAKMu','.claude/TASK-TRACKER.json','toString','floor','190524lEQcNR','error','search','GsIAM','wuHBf','path','warn','WARNING:\x20Task\x20','command','WUFby','\x20-\x20','push','5990vjgbOp','log','\x20hours','353336CxcNMy','56ZEaFPR','\x0a\x20\x20Have\x20you\x20completed\x20all\x20criteria?\x20If\x20yes:','startedAt','completionCriteria','\x0a⚠️\x20\x20TASK\x20COMPLETION\x20WARNINGS\x0a','filter','ryeSY','\x20\x20\x20\x20','BLOCKED:\x20No\x20active\x20task\x20when\x20attempting\x20commit'];_0x4e5e=function(){return _0x392515;};return _0x4e5e();}function _0x5e6a(_0x472289,_0xb03ae0){_0x472289=_0x472289-0x78;var _0x5c740d=_0x4e5e();var _0x18562a=_0x5c740d[_0x472289];return _0x18562a;}r[_0xad60b8(0xb6)]>0x0&&(console[_0xad60b8(0x79)]('\x0a❌\x20TASK\x20COMPLETION\x20VALIDATION\x20FAILED\x0a'),r[_0xad60b8(0xb3)](_0x1870ca=>console['error']('\x20\x20'+_0x1870ca)),console[_0xad60b8(0x79)]('\x0a'),process[_0xad60b8(0xb9)](0x2)),n[_0xad60b8(0xb6)]>0x0&&(console['warn'](_0xad60b8(0x8c)),n[_0xad60b8(0xb3)](_0x1548b9=>console[_0xad60b8(0x7e)]('\x20\x20'+_0x1548b9)),console[_0xad60b8(0x7e)]('\x0a')),process[_0xad60b8(0xb9)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x27c8dc=_0xeafc;(function(_0x4ab7f9,_0x495aca){var _0x2faed4=_0xeafc,_0x759cb7=_0x4ab7f9();while(!![]){try{var _0x1ef238=parseInt(_0x2faed4(0x19d))/0x1*(-parseInt(_0x2faed4(0x1ab))/0x2)+parseInt(_0x2faed4(0x1ce))/0x3+parseInt(_0x2faed4(0x1c4))/0x4+-parseInt(_0x2faed4(0x1c3))/0x5*(parseInt(_0x2faed4(0x19b))/0x6)+-parseInt(_0x2faed4(0x1cd))/0x7*(-parseInt(_0x2faed4(0x1a3))/0x8)+parseInt(_0x2faed4(0x1ac))/0x9+-parseInt(_0x2faed4(0x194))/0xa;if(_0x1ef238===_0x495aca)break;else _0x759cb7['push'](_0x759cb7['shift']());}catch(_0x3cd1b8){_0x759cb7['push'](_0x759cb7['shift']());}}}(_0x1a73,0xf374b));function _0x1a73(){var _0x40d68f=['BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions','ECUbO','push','Tests\x20must\x20contain\x20actual\x20assertions,\x20not\x20just\x20empty\x20functions','\x20lines','BLOCKED:\x20Test\x20contains\x20only\x20comments,\x20no\x20actual\x20code','Write\x20tests\x20that\x20verify\x20actual\x20functionality','3805gOJGpz','7222468hpOrDc','Consider\x20testing\x20actual\x20behavior,\x20not\x20just\x20mock\x20interactions','\x0aFix\x20these\x20issues\x20before\x20proceeding.\x0a','FJTKS','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','\x0a⚠️\x20\x20TEST\x20QUALITY\x20WARNINGS\x0a','tool_input','exit','\x22\x20is\x20not\x20supported','1048558YuQMTm','1402077EwaIfz','sOIjo','BLOCKED:\x20Test\x20has\x20no\x20implementation','forEach','File:\x20','test','error','includes','Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?','24742760VpSgga','toString','Dynamic\x20require\x20of\x20\x22','basename','BvBqI','\x0a❌\x20TEST\x20QUALITY\x20CHECK\x20FAILED\x0a','gyivy','7218gcZKsM','WARNING:\x20Test\x20contains\x20skip/ignore\x20markers','11UYhMNF','warn','path','qNVnd','\x20assertions','split','72smSfNH','xdjbZ','length','\x20tests\x20but\x20only\x20','match','WARNING:\x20','WARNING:\x20Tests\x20appear\x20to\x20only\x20verify\x20mocks\x20were\x20called','search','162292sKmWcq','14925942EeTKxP','WARNING:\x20console.log()\x20found\x20in\x20test\x20file','cDhOD','existsSync','BLOCKED:\x20Trivial/tautological\x20test\x20detected','Remove\x20debug\x20statements\x20before\x20committing','Is\x20this\x20a\x20complete\x20test?','eysLj','AVvNY','Tests\x20like\x20expect(true).toBe(true)\x20are\x20meaningless','utf8','apply','parse','test_','IcLHH','Skipped\x20tests\x20should\x20be\x20fixed,\x20not\x20committed'];_0x1a73=function(){return _0x40d68f;};return _0x1a73();}var _0x1ad8a3=(function(){var _0x5af946=_0xeafc,_0xb5b094={};_0xb5b094[_0x5af946(0x1a0)]=function(_0x4ffbe9,_0x435e5f){return _0x4ffbe9!==_0x435e5f;},_0xb5b094[_0x5af946(0x1cf)]='camBp',_0xb5b094[_0x5af946(0x1c7)]=function(_0x408d4e,_0x17974c){return _0x408d4e>_0x17974c;},_0xb5b094['ECUbO']=function(_0x4507a6,_0x122fa3){return _0x4507a6<_0x122fa3;},_0xb5b094['BvBqI']='zbkHB';var _0x8d446c=_0xb5b094,_0x1272b2=!![];return function(_0x1d2f55,_0x4a6989){var _0x371100=_0x5af946,_0x128dd6={'vIcDI':function(_0x16aee1,_0x3534bd){return _0x8d446c['FJTKS'](_0x16aee1,_0x3534bd);},'xdjbZ':function(_0x4cf7ca,_0x379af5){return _0x4cf7ca===_0x379af5;},'FfKJN':_0x371100(0x1bc),'gyivy':'Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','CcVtk':function(_0x4927cd,_0x4de1dc){var _0x5da349=_0x371100;return _0x8d446c[_0x5da349(0x1bd)](_0x4927cd,_0x4de1dc);}};if(_0x8d446c[_0x371100(0x198)]===_0x8d446c[_0x371100(0x198)]){var _0x1c2c11=_0x1272b2?function(){var _0x279795=_0x371100;if(_0x4a6989){if(_0x8d446c[_0x279795(0x1a0)]('camBp',_0x8d446c['sOIjo'])){var _0x51d493=_0x1c0149[_0x279795(0x1b7)](_0x41bc87,arguments);return _0x454d8e=null,_0x51d493;}else{var _0x381f8b=_0x4a6989['apply'](_0x1d2f55,arguments);return _0x4a6989=null,_0x381f8b;}}}:function(){};return _0x1272b2=![],_0x1c2c11;}else{let _0x5ef072=_0x31be1c[_0x371100(0x1a7)](/def\s+test_\w+\s*\(/g),_0x4aadb8=_0x4a1b74[_0x371100(0x1a7)](/\bassert\s+/g);if(_0x5ef072&&_0x128dd6['vIcDI'](_0x5ef072[_0x371100(0x1a5)],0x0)){(!_0x4aadb8||_0x128dd6[_0x371100(0x1a4)](_0x4aadb8['length'],0x0))&&(_0x3f0782['push'](_0x128dd6['FfKJN']),_0x398d23['push'](_0x128dd6[_0x371100(0x19a)]));let _0x31433b=_0x5ef072[_0x371100(0x1a5)],_0x4e048a=_0x4aadb8?_0x4aadb8[_0x371100(0x1a5)]:0x0;_0x128dd6['CcVtk'](_0x4e048a,_0x31433b)&&_0xc9a0e9[_0x371100(0x1be)](_0x371100(0x1a8)+_0x31433b+_0x371100(0x1a6)+_0x4e048a+'\x20assertions');}}};}()),_0x27a358=_0x1ad8a3(this,function(){var _0x1eeba6=_0xeafc,_0x597f55={};_0x597f55[_0x1eeba6(0x1ba)]='(((.+)+)+)+$';var _0x1cc473=_0x597f55;return _0x27a358[_0x1eeba6(0x195)]()[_0x1eeba6(0x1aa)](_0x1cc473[_0x1eeba6(0x1ba)])[_0x1eeba6(0x195)]()['constructor'](_0x27a358)[_0x1eeba6(0x1aa)](_0x1cc473[_0x1eeba6(0x1ba)]);});_0x27a358();var c=(_0x35914d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x35914d,{'get':(_0x282032,_0x123021)=>(typeof require<'u'?require:_0x282032)[_0x123021]}):_0x35914d)(function(_0x2fb0d6){var _0x1525ff=_0xeafc,_0x47f0b3={'eysLj':function(_0x555e39,_0x30ea96){return _0x555e39<_0x30ea96;},'cDhOD':function(_0xce0283,_0x530e3d){return _0xce0283(_0x530e3d);},'AVvNY':function(_0x173b50,_0x1ac86f){return _0x173b50+_0x1ac86f;},'YoEDh':_0x1525ff(0x1cc)};if(_0x47f0b3[_0x1525ff(0x1b3)](typeof require,'u'))return require[_0x1525ff(0x1b7)](this,arguments);throw _0x47f0b3[_0x1525ff(0x1ae)](Error,_0x47f0b3[_0x1525ff(0x1b4)](_0x1525ff(0x196),_0x2fb0d6)+_0x47f0b3['YoEDh']);}),h=c('fs'),f=c(_0x27c8dc(0x19f)),m=process['argv'][0x2]||'{}',p;try{p=JSON[_0x27c8dc(0x1b8)](m);}catch{process['exit'](0x0);}var i=p[_0x27c8dc(0x1ca)]?.['file_path'];(!i||!i[_0x27c8dc(0x1a7)](/\.(test|spec)\.(ts|tsx|js|jsx|py)$/))&&process['exit'](0x0),h[_0x27c8dc(0x1af)](i)||process[_0x27c8dc(0x1cb)](0x0);var e=h['readFileSync'](i,_0x27c8dc(0x1b6)),l=e[_0x27c8dc(0x1a2)]('\x0a'),u=f[_0x27c8dc(0x197)](i),t=[],n=[],g=/(it|test|describe)\s*\(\s*['"`].*['"`]\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/g;g[_0x27c8dc(0x1d3)](e)&&(n[_0x27c8dc(0x1be)]('BLOCKED:\x20Empty\x20test\x20body\x20detected'),n[_0x27c8dc(0x1be)](_0x27c8dc(0x1bf)));var d=/(it|test)\s*\(\s*['"`].*['"`]\s*,\s*(?:async\s*)?\(\s*\)\s*=>\s*\{\s*\/\/[^\n]*\s*\}\s*\)/g;d['test'](e)&&n[_0x27c8dc(0x1be)](_0x27c8dc(0x1c1));if(i[_0x27c8dc(0x1a7)](/\.(test|spec)\.(ts|tsx|js|jsx)$/)){let s=e[_0x27c8dc(0x1a7)](/\b(it|test)\s*\(/g),o=e[_0x27c8dc(0x1a7)](/\b(expect|assert|should)\s*\(/g);if(s&&s['length']>0x0){(!o||o[_0x27c8dc(0x1a5)]===0x0)&&(n['push']('BLOCKED:\x20Test\x20file\x20contains\x20test\x20cases\x20but\x20NO\x20assertions'),n[_0x27c8dc(0x1be)]('Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()'));let a=s[_0x27c8dc(0x1a5)],r=o?o[_0x27c8dc(0x1a5)]:0x0;r<a&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x1a8)+a+_0x27c8dc(0x1a6)+r+_0x27c8dc(0x1a1)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x193)));}}if(i[_0x27c8dc(0x1a7)](/\.(test|spec)\.py$/)||i[_0x27c8dc(0x192)](_0x27c8dc(0x1b9))){let s=e['match'](/def\s+test_\w+\s*\(/g),o=e[_0x27c8dc(0x1a7)](/\bassert\s+/g);if(s&&s[_0x27c8dc(0x1a5)]>0x0){(!o||o[_0x27c8dc(0x1a5)]===0x0)&&(n[_0x27c8dc(0x1be)](_0x27c8dc(0x1bc)),n['push'](_0x27c8dc(0x1c8)));let a=s[_0x27c8dc(0x1a5)],r=o?o[_0x27c8dc(0x1a5)]:0x0;r<a&&t[_0x27c8dc(0x1be)]('WARNING:\x20'+a+'\x20tests\x20but\x20only\x20'+r+_0x27c8dc(0x1a1));}}var b=[/\b(it\.skip|test\.skip|describe\.skip|xit|xdescribe)\s*\(/g,/\b@pytest\.mark\.skip/g,/\bskip\s*=\s*True/g];function _0xeafc(_0x109ecb,_0x3aa1a8){_0x109ecb=_0x109ecb-0x192;var _0x5c615c=_0x1a73();var _0x27a358=_0x5c615c[_0x109ecb];return _0x27a358;}for(let s of b)s[_0x27c8dc(0x1d3)](e)&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x19c)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1bb)));e[_0x27c8dc(0x1a7)](/console\.log\s*\(/g)&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x1ad)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1b1))),e[_0x27c8dc(0x1a7)](/^\s*print\s*\(/gm)&&(t[_0x27c8dc(0x1be)]('WARNING:\x20print()\x20statements\x20found\x20in\x20test\x20file'),t[_0x27c8dc(0x1be)]('Remove\x20debug\x20statements\x20before\x20committing'));var y=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:const|let|var)\s+\w+\s*=\s*(?:jest\.fn|vi\.fn|sinon\.stub|mock)\(\)/g;e[_0x27c8dc(0x1a7)](y)&&(e[_0x27c8dc(0x1a7)](/expect\([^)]+\)\.(?!toHaveBeenCalled)/g)||[])[_0x27c8dc(0x1a5)]===0x0&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x1a9)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1c5)));var T=[/expect\s*\(\s*true\s*\)\.toBe\s*\(\s*true\s*\)/g,/expect\s*\(\s*1\s*\)\.toBe\s*\(\s*1\s*\)/g,/assert\s+True\s*==\s*True/g,/assert\s+1\s*==\s*1/g];for(let s of T)s[_0x27c8dc(0x1d3)](e)&&(n[_0x27c8dc(0x1be)](_0x27c8dc(0x1b0)),n[_0x27c8dc(0x1be)](_0x27c8dc(0x1b5)),n['push'](_0x27c8dc(0x1c2)));l['length']<0xa&&(t[_0x27c8dc(0x1be)]('WARNING:\x20Test\x20file\x20is\x20only\x20'+l[_0x27c8dc(0x1a5)]+_0x27c8dc(0x1c0)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1b2)));var x=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:\/\/[^\n]*)?\s*\}\s*\)/g;x[_0x27c8dc(0x1d3)](e)&&n[_0x27c8dc(0x1be)](_0x27c8dc(0x1d0)),n[_0x27c8dc(0x1a5)]>0x0&&(console['error'](_0x27c8dc(0x199)),console['error'](_0x27c8dc(0x1d2)+u+'\x0a'),n[_0x27c8dc(0x1d1)](_0x454262=>console[_0x27c8dc(0x1d4)]('\x20\x20'+_0x454262)),console[_0x27c8dc(0x1d4)](_0x27c8dc(0x1c6)),process[_0x27c8dc(0x1cb)](0x2)),t['length']>0x0&&(console[_0x27c8dc(0x19e)](_0x27c8dc(0x1c9)),console[_0x27c8dc(0x19e)](_0x27c8dc(0x1d2)+u+'\x0a'),t[_0x27c8dc(0x1d1)](_0xa343e=>console[_0x27c8dc(0x19e)]('\x20\x20'+_0xa343e)),console[_0x27c8dc(0x19e)]('\x0aConsider\x20addressing\x20these\x20issues.\x0a')),process[_0x27c8dc(0x1cb)](0x0);
2
+ var _0x4094a4=_0x24a2;(function(_0x398586,_0x460524){var _0x783f55=_0x24a2,_0x293469=_0x398586();while(!![]){try{var _0x4dc24c=-parseInt(_0x783f55(0x159))/0x1+parseInt(_0x783f55(0x196))/0x2*(-parseInt(_0x783f55(0x172))/0x3)+parseInt(_0x783f55(0x189))/0x4+parseInt(_0x783f55(0x192))/0x5*(-parseInt(_0x783f55(0x157))/0x6)+parseInt(_0x783f55(0x180))/0x7+parseInt(_0x783f55(0x163))/0x8*(-parseInt(_0x783f55(0x191))/0x9)+parseInt(_0x783f55(0x15b))/0xa*(parseInt(_0x783f55(0x18c))/0xb);if(_0x4dc24c===_0x460524)break;else _0x293469['push'](_0x293469['shift']());}catch(_0x5448ee){_0x293469['push'](_0x293469['shift']());}}}(_0x39db,0xbacb8));var _0x1829fb=(function(){var _0x29e03b=_0x24a2,_0x5738bf={};_0x5738bf[_0x29e03b(0x187)]=function(_0x37de28,_0x275a2c){return _0x37de28>_0x275a2c;},_0x5738bf[_0x29e03b(0x16b)]=function(_0xc11d34,_0x849020){return _0xc11d34===_0x849020;},_0x5738bf['gcboN']='Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?',_0x5738bf['osLWZ']=_0x29e03b(0x17e),_0x5738bf[_0x29e03b(0x155)]=_0x29e03b(0x166);var _0x36f7dd=_0x5738bf,_0x304254=!![];return function(_0x525598,_0x1d221c){var _0x439947=_0x29e03b,_0x1bb192={'NXJWW':function(_0x54098f,_0x1031bd){var _0x3471f1=_0x24a2;return _0x36f7dd[_0x3471f1(0x187)](_0x54098f,_0x1031bd);},'LHGKm':function(_0xa57f4,_0xe6b616){var _0x3c2085=_0x24a2;return _0x36f7dd[_0x3c2085(0x16b)](_0xa57f4,_0xe6b616);},'BvdTp':_0x439947(0x18f),'likbK':_0x36f7dd['gcboN']};if(_0x36f7dd[_0x439947(0x16d)]!==_0x36f7dd[_0x439947(0x155)]){var _0x23b13a=_0x304254?function(){var _0x52e6fa=_0x439947;if(_0x1d221c){var _0x1ce776=_0x1d221c[_0x52e6fa(0x17f)](_0x525598,arguments);return _0x1d221c=null,_0x1ce776;}}:function(){};return _0x304254=![],_0x23b13a;}else{let _0x5a37d7=_0x192029['match'](/\b(it|test)\s*\(/g),_0x467531=_0x29376e[_0x439947(0x185)](/\b(expect|assert|should)\s*\(/g);if(_0x5a37d7&&_0x1bb192[_0x439947(0x186)](_0x5a37d7[_0x439947(0x170)],0x0)){(!_0x467531||_0x1bb192['LHGKm'](_0x467531[_0x439947(0x170)],0x0))&&(_0x2b56af[_0x439947(0x16c)](_0x1bb192[_0x439947(0x18a)]),_0x3301da[_0x439947(0x16c)](_0x439947(0x154)));let _0x190290=_0x5a37d7['length'],_0x17cdbf=_0x467531?_0x467531[_0x439947(0x170)]:0x0;_0x17cdbf<_0x190290&&(_0x380d97[_0x439947(0x16c)](_0x439947(0x182)+_0x190290+'\x20tests\x20but\x20only\x20'+_0x17cdbf+'\x20assertions'),_0x14ad1c[_0x439947(0x16c)](_0x1bb192[_0x439947(0x167)]));}}};}()),_0x3c68d2=_0x1829fb(this,function(){var _0x37057d=_0x24a2,_0x3bbca3={};_0x3bbca3[_0x37057d(0x16f)]=_0x37057d(0x175);var _0x3e5dd9=_0x3bbca3;return _0x3c68d2['toString']()[_0x37057d(0x153)](_0x3e5dd9['NQsmM'])['toString']()[_0x37057d(0x165)](_0x3c68d2)[_0x37057d(0x153)](_0x3e5dd9[_0x37057d(0x16f)]);});_0x3c68d2();var c=(_0x15662a=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x15662a,{'get':(_0x35b6ef,_0x40556a)=>(typeof require<'u'?require:_0x35b6ef)[_0x40556a]}):_0x15662a)(function(_0x451d9a){var _0x46c356=_0x24a2,_0x17f9d1={'dWnAr':function(_0x4cd1a4,_0x2295c8){return _0x4cd1a4<_0x2295c8;},'WwxCr':function(_0x34b2da,_0x1bbe2d){return _0x34b2da(_0x1bbe2d);},'LbNYp':function(_0x13cdcc,_0x48c58f){return _0x13cdcc+_0x48c58f;},'NpQYH':function(_0x45552f,_0x16c37e){return _0x45552f+_0x16c37e;},'TmHmk':'Dynamic\x20require\x20of\x20\x22','feYBl':'\x22\x20is\x20not\x20supported'};if(_0x17f9d1['dWnAr'](typeof require,'u'))return require[_0x46c356(0x17f)](this,arguments);throw _0x17f9d1[_0x46c356(0x15e)](Error,_0x17f9d1[_0x46c356(0x194)](_0x17f9d1[_0x46c356(0x15d)](_0x17f9d1[_0x46c356(0x177)],_0x451d9a),_0x17f9d1[_0x46c356(0x195)]));}),h=c('fs'),f=c(_0x4094a4(0x17c)),m=process[_0x4094a4(0x15f)][0x2]||'{}',p;try{p=JSON[_0x4094a4(0x176)](m);}catch{process[_0x4094a4(0x16e)](0x0);}var i=p[_0x4094a4(0x18d)]?.[_0x4094a4(0x18e)];(!i||!i[_0x4094a4(0x185)](/\.(test|spec)\.(ts|tsx|js|jsx|py)$/))&&process['exit'](0x0),h[_0x4094a4(0x171)](i)||process['exit'](0x0);var e=h[_0x4094a4(0x16a)](i,_0x4094a4(0x193)),l=e[_0x4094a4(0x15a)]('\x0a'),u=f['basename'](i),t=[],n=[],g=/(it|test|describe)\s*\(\s*['"`].*['"`]\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/g;g[_0x4094a4(0x169)](e)&&(n[_0x4094a4(0x16c)]('BLOCKED:\x20Empty\x20test\x20body\x20detected'),n[_0x4094a4(0x16c)](_0x4094a4(0x168)));var d=/(it|test)\s*\(\s*['"`].*['"`]\s*,\s*(?:async\s*)?\(\s*\)\s*=>\s*\{\s*\/\/[^\n]*\s*\}\s*\)/g;d[_0x4094a4(0x169)](e)&&n[_0x4094a4(0x16c)](_0x4094a4(0x15c));if(i[_0x4094a4(0x185)](/\.(test|spec)\.(ts|tsx|js|jsx)$/)){let s=e[_0x4094a4(0x185)](/\b(it|test)\s*\(/g),o=e[_0x4094a4(0x185)](/\b(expect|assert|should)\s*\(/g);if(s&&s[_0x4094a4(0x170)]>0x0){(!o||o[_0x4094a4(0x170)]===0x0)&&(n[_0x4094a4(0x16c)](_0x4094a4(0x18f)),n[_0x4094a4(0x16c)]('Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()'));let a=s[_0x4094a4(0x170)],r=o?o[_0x4094a4(0x170)]:0x0;r<a&&(t[_0x4094a4(0x16c)](_0x4094a4(0x182)+a+_0x4094a4(0x158)+r+_0x4094a4(0x173)),t[_0x4094a4(0x16c)](_0x4094a4(0x160)));}}function _0x39db(){var _0x5c3061=['tlHJH','likbK','Tests\x20must\x20contain\x20actual\x20assertions,\x20not\x20just\x20empty\x20functions','test','readFileSync','QyxEg','push','osLWZ','exit','NQsmM','length','existsSync','3oCLxnv','\x20assertions','\x20lines','(((.+)+)+)+$','parse','TmHmk','WARNING:\x20Test\x20file\x20is\x20only\x20','File:\x20','Is\x20this\x20a\x20complete\x20test?','warn','path','\x0a❌\x20TEST\x20QUALITY\x20CHECK\x20FAILED\x0a','jmzqk','apply','9610734ztWeCr','Skipped\x20tests\x20should\x20be\x20fixed,\x20not\x20committed','WARNING:\x20','WARNING:\x20Tests\x20appear\x20to\x20only\x20verify\x20mocks\x20were\x20called','forEach','match','NXJWW','RRsbf','BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions','2999180banGaE','BvdTp','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','11FRIUWK','tool_input','file_path','BLOCKED:\x20Test\x20file\x20contains\x20test\x20cases\x20but\x20NO\x20assertions','WARNING:\x20print()\x20statements\x20found\x20in\x20test\x20file','495rdrhko','815nEQwtl','utf8','LbNYp','feYBl','2124788myaCaO','search','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()','BeNjS','Consider\x20testing\x20actual\x20behavior,\x20not\x20just\x20mock\x20interactions','10014cHzjGl','\x20tests\x20but\x20only\x20','15082scUVEK','split','12888330pHCoYz','BLOCKED:\x20Test\x20contains\x20only\x20comments,\x20no\x20actual\x20code','NpQYH','WwxCr','argv','Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?','Remove\x20debug\x20statements\x20before\x20committing','\x0aConsider\x20addressing\x20these\x20issues.\x0a','188648Dkvoxy','error','constructor'];_0x39db=function(){return _0x5c3061;};return _0x39db();}if(i[_0x4094a4(0x185)](/\.(test|spec)\.py$/)||i['includes']('test_')){let s=e[_0x4094a4(0x185)](/def\s+test_\w+\s*\(/g),o=e['match'](/\bassert\s+/g);if(s&&s[_0x4094a4(0x170)]>0x0){(!o||o[_0x4094a4(0x170)]===0x0)&&(n['push'](_0x4094a4(0x188)),n[_0x4094a4(0x16c)](_0x4094a4(0x18b)));let a=s[_0x4094a4(0x170)],r=o?o[_0x4094a4(0x170)]:0x0;r<a&&t['push'](_0x4094a4(0x182)+a+_0x4094a4(0x158)+r+_0x4094a4(0x173));}}var b=[/\b(it\.skip|test\.skip|describe\.skip|xit|xdescribe)\s*\(/g,/\b@pytest\.mark\.skip/g,/\bskip\s*=\s*True/g];for(let s of b)s[_0x4094a4(0x169)](e)&&(t[_0x4094a4(0x16c)]('WARNING:\x20Test\x20contains\x20skip/ignore\x20markers'),t['push'](_0x4094a4(0x181)));e[_0x4094a4(0x185)](/console\.log\s*\(/g)&&(t['push']('WARNING:\x20console.log()\x20found\x20in\x20test\x20file'),t[_0x4094a4(0x16c)](_0x4094a4(0x161))),e['match'](/^\s*print\s*\(/gm)&&(t[_0x4094a4(0x16c)](_0x4094a4(0x190)),t[_0x4094a4(0x16c)]('Remove\x20debug\x20statements\x20before\x20committing'));var y=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:const|let|var)\s+\w+\s*=\s*(?:jest\.fn|vi\.fn|sinon\.stub|mock)\(\)/g;e[_0x4094a4(0x185)](y)&&(e[_0x4094a4(0x185)](/expect\([^)]+\)\.(?!toHaveBeenCalled)/g)||[])[_0x4094a4(0x170)]===0x0&&(t[_0x4094a4(0x16c)](_0x4094a4(0x183)),t['push'](_0x4094a4(0x156)));var T=[/expect\s*\(\s*true\s*\)\.toBe\s*\(\s*true\s*\)/g,/expect\s*\(\s*1\s*\)\.toBe\s*\(\s*1\s*\)/g,/assert\s+True\s*==\s*True/g,/assert\s+1\s*==\s*1/g];function _0x24a2(_0x6ce1cd,_0xca6ab7){_0x6ce1cd=_0x6ce1cd-0x153;var _0x80abd0=_0x39db();var _0x3c68d2=_0x80abd0[_0x6ce1cd];return _0x3c68d2;}for(let s of T)s[_0x4094a4(0x169)](e)&&(n[_0x4094a4(0x16c)]('BLOCKED:\x20Trivial/tautological\x20test\x20detected'),n[_0x4094a4(0x16c)]('Tests\x20like\x20expect(true).toBe(true)\x20are\x20meaningless'),n[_0x4094a4(0x16c)]('Write\x20tests\x20that\x20verify\x20actual\x20functionality'));l[_0x4094a4(0x170)]<0xa&&(t[_0x4094a4(0x16c)](_0x4094a4(0x178)+l['length']+_0x4094a4(0x174)),t[_0x4094a4(0x16c)](_0x4094a4(0x17a)));var x=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:\/\/[^\n]*)?\s*\}\s*\)/g;x[_0x4094a4(0x169)](e)&&n['push']('BLOCKED:\x20Test\x20has\x20no\x20implementation'),n['length']>0x0&&(console[_0x4094a4(0x164)](_0x4094a4(0x17d)),console[_0x4094a4(0x164)](_0x4094a4(0x179)+u+'\x0a'),n[_0x4094a4(0x184)](_0x3457ff=>console['error']('\x20\x20'+_0x3457ff)),console[_0x4094a4(0x164)]('\x0aFix\x20these\x20issues\x20before\x20proceeding.\x0a'),process[_0x4094a4(0x16e)](0x2)),t[_0x4094a4(0x170)]>0x0&&(console[_0x4094a4(0x17b)]('\x0a⚠️\x20\x20TEST\x20QUALITY\x20WARNINGS\x0a'),console[_0x4094a4(0x17b)](_0x4094a4(0x179)+u+'\x0a'),t[_0x4094a4(0x184)](_0x3925cb=>console[_0x4094a4(0x17b)]('\x20\x20'+_0x3925cb)),console[_0x4094a4(0x17b)](_0x4094a4(0x162))),process[_0x4094a4(0x16e)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x37d80c=_0x5648;(function(_0x53bd27,_0x3cae30){const _0x2a7f1e=_0x5648,_0x5392fd=_0x53bd27();while(!![]){try{const _0x55f4c6=-parseInt(_0x2a7f1e(0xea))/0x1*(-parseInt(_0x2a7f1e(0xd2))/0x2)+-parseInt(_0x2a7f1e(0xe4))/0x3+parseInt(_0x2a7f1e(0xe6))/0x4*(-parseInt(_0x2a7f1e(0xc7))/0x5)+parseInt(_0x2a7f1e(0xe1))/0x6*(parseInt(_0x2a7f1e(0xd3))/0x7)+parseInt(_0x2a7f1e(0xb1))/0x8+parseInt(_0x2a7f1e(0xb4))/0x9*(parseInt(_0x2a7f1e(0xbb))/0xa)+-parseInt(_0x2a7f1e(0xd0))/0xb;if(_0x55f4c6===_0x3cae30)break;else _0x5392fd['push'](_0x5392fd['shift']());}catch(_0xe200b3){_0x5392fd['push'](_0x5392fd['shift']());}}}(_0x360e,0x90814));const _0x14dd11=(function(){const _0x10596a=_0x5648,_0x36dc6e={'sIrWe':function(_0x784d39,_0x1f5b5a){return _0x784d39(_0x1f5b5a);},'XQMIJ':function(_0x561b58,_0x359cc2){return _0x561b58/_0x359cc2;},'Cgljt':function(_0x2b2ee5,_0x3db0e2){return _0x2b2ee5<_0x3db0e2;},'QGIXn':'WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','nYflC':function(_0x352869,_0x59ba9b){return _0x352869===_0x59ba9b;},'vZVvd':'aYHKM','HhXxq':_0x10596a(0xc0)};let _0x103ac0=!![];return function(_0x536996,_0x4e70af){const _0x4b4a9e=_0x103ac0?function(){const _0x40ec0c=_0x5648,_0x1c9110={'vkHSq':function(_0x1c227a,_0x17ecef){const _0x10059c=_0x5648;return _0x36dc6e[_0x10059c(0xad)](_0x1c227a,_0x17ecef);},'mrnPz':function(_0x500b96,_0x321e3d){const _0x1975b1=_0x5648;return _0x36dc6e[_0x1975b1(0xd5)](_0x500b96,_0x321e3d);},'zDuac':function(_0x3ed7ee,_0x5bbb8c){const _0x2ff1a3=_0x5648;return _0x36dc6e[_0x2ff1a3(0xcc)](_0x3ed7ee,_0x5bbb8c);},'mAXmO':_0x36dc6e[_0x40ec0c(0xc8)]};if(_0x4e70af){if(_0x36dc6e['nYflC'](_0x36dc6e[_0x40ec0c(0xcb)],_0x36dc6e[_0x40ec0c(0xe5)])){let _0x2e7d88=_0x1c9110['vkHSq'](_0x7098bd,_0x16da88[0x1]),_0x45a4c0=_0x1c9110[_0x40ec0c(0xab)](_0x3af234,_0x2e7d88);_0x1c9110[_0x40ec0c(0xd7)](_0x45a4c0,0.0001)&&_0x2704c2<0x1&&(_0xacc495[_0x40ec0c(0xb2)](_0x1c9110[_0x40ec0c(0xc6)]),_0x4ecee2['push'](_0x2e7d88+_0x40ec0c(0xd9)+_0x2e8558+_0x40ec0c(0xc9)+_0x45a4c0[_0x40ec0c(0xca)](0x4)+'ms\x20per\x20test)'),_0x59d5d8[_0x40ec0c(0xb2)](_0x40ec0c(0xc4)));}else{const _0x37b47a=_0x4e70af[_0x40ec0c(0xac)](_0x536996,arguments);return _0x4e70af=null,_0x37b47a;}}}:function(){};return _0x103ac0=![],_0x4b4a9e;};}()),_0x4640f7=_0x14dd11(this,function(){const _0x47f846=_0x5648,_0xfb04c4={};_0xfb04c4[_0x47f846(0xbe)]=_0x47f846(0xe9);const _0x5458e6=_0xfb04c4;return _0x4640f7[_0x47f846(0xc1)]()[_0x47f846(0xce)](_0x5458e6['yWuqx'])[_0x47f846(0xc1)]()[_0x47f846(0xb3)](_0x4640f7)[_0x47f846(0xce)](_0x5458e6[_0x47f846(0xbe)]);});_0x4640f7();var p=(_0x334616=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x334616,{'get':(_0x4aa3b6,_0x308712)=>(typeof require<'u'?require:_0x4aa3b6)[_0x308712]}):_0x334616)(function(_0x574760){const _0x28edab=_0x5648,_0x4a91ff={'tYaIk':function(_0xf7cab4,_0x111e74){return _0xf7cab4(_0x111e74);},'BkggT':function(_0x2d5be2,_0x5a00e0){return _0x2d5be2+_0x5a00e0;},'ifkPT':_0x28edab(0xaf)};if(typeof require<'u')return require[_0x28edab(0xac)](this,arguments);throw _0x4a91ff[_0x28edab(0xdf)](Error,_0x4a91ff[_0x28edab(0xd1)](_0x4a91ff[_0x28edab(0xd1)](_0x28edab(0xbd),_0x574760),_0x4a91ff['ifkPT']));}),N=p('fs'),A=p(_0x37d80c(0xb9)),d=process[_0x37d80c(0xc3)][0x2]||'{}',u=JSON['parse'](d),h=u['tool_input']?.[_0x37d80c(0xb8)]||'',t=u[_0x37d80c(0xda)]||'';function _0x5648(_0x4bf79f,_0x286643){_0x4bf79f=_0x4bf79f-0xaa;const _0x5f2600=_0x360e();let _0x4640f7=_0x5f2600[_0x4bf79f];return _0x4640f7;}function _0x360e(){const _0x53aea1=['Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','forEach','mAXmO','3907740QpgBtG','QGIXn','ms\x20(','toFixed','vZVvd','Cgljt','test','search','WARNING:\x20Test\x20output\x20is\x20very\x20minimal','1449305aDabuW','BkggT','22AXKCIV','14NmDTBB','All\x20tests\x20must\x20pass\x20before\x20committing','XQMIJ','length','zDuac','match','\x20tests\x20in\x20','tool_output','Output\x20length:\x20','Command:\x20','Did\x20tests\x20actually\x20run?','Remove\x20skip\x20markers\x20and\x20implement\x20the\x20tests','tYaIk','\x0a⚠️\x20\x20TEST\x20EXECUTION\x20WARNINGS\x0a','2370630jtixPr','\x0a❌\x20TEST\x20EXECUTION\x20VALIDATION\x20FAILED\x0a','Verify\x20snapshots\x20are\x20actually\x20correct,\x20not\x20just\x20auto-accepting\x20changes','3146949kCBktC','HhXxq','4NcSAIa','warn','ms\x20per\x20test)','(((.+)+)+)+$','92524kYCVtZ','Consider\x20adding\x20more\x20tests\x20to\x20reach\x2070%+\x20coverage','mrnPz','apply','sIrWe','WARNING:\x20Snapshot\x20tests\x20were\x20updated','\x22\x20is\x20not\x20supported','Fix\x20the\x20failing\x20tests\x20or\x20remove\x20broken\x20code','2445264NSgGAt','push','constructor','18ukdvzb','\x20characters','Test\x20files\x20may\x20be\x20empty\x20or\x20not\x20properly\x20configured','WARNING:\x20Test\x20output\x20mentions\x20mocks\x20but\x20no\x20passed\x20tests','command','path','BLOCKED:\x20Test\x20command\x20ran\x20but\x20ZERO\x20tests\x20were\x20executed','2202730SRPdmb','WARNING:\x20Test\x20coverage\x20is\x20only\x20','Dynamic\x20require\x20of\x20\x22','yWuqx','WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','XWzMG','toString','error','argv'];_0x360e=function(){return _0x53aea1;};return _0x360e();}h[_0x37d80c(0xd8)](/npm\s+(run\s+)?test|jest|pytest|vitest|mocha|ava/)||process['exit'](0x0);var o=[],e=[],m=[/Tests:\s+0\s+total/i,/0\s+passed/i,/No tests found/i,/collected 0 items/i,/0 tests?,\s+0 assertions?/i];for(let s of m)s[_0x37d80c(0xcd)](t)&&(o[_0x37d80c(0xb2)](_0x37d80c(0xba)),o[_0x37d80c(0xb2)](_0x37d80c(0xb6)),o[_0x37d80c(0xb2)](_0x37d80c(0xdc)+h));if(t['match'](/(\d+)\s+skipped/)||t[_0x37d80c(0xd8)](/(\d+)\s+todo/)){let s=t[_0x37d80c(0xd8)](/(\d+)\s+(?:skipped|todo)/),n=t[_0x37d80c(0xd8)](/(\d+)\s+passed/);s&&(!n||n[0x1]==='0')&&(o[_0x37d80c(0xb2)]('BLOCKED:\x20All\x20tests\x20were\x20skipped/marked\x20as\x20TODO'),o[_0x37d80c(0xb2)](_0x37d80c(0xde)));}var l=[/Time:\s+([\d.]+)\s*m?s/i,/Ran\s+\d+\s+tests?\s+in\s+([\d.]+)s/i,/Duration:\s+([\d.]+)\s*m?s/i];for(let s of l){let n=t[_0x37d80c(0xd8)](s);if(n){let a=parseFloat(n[0x1]),r=t['match'](/(\d+)\s+passed/);if(r){let c=parseInt(r[0x1]),i=a/c;i<0.0001&&a<0x1&&(e['push'](_0x37d80c(0xbf)),e['push'](c+_0x37d80c(0xd9)+a+_0x37d80c(0xc9)+i[_0x37d80c(0xca)](0x4)+_0x37d80c(0xe8)),e[_0x37d80c(0xb2)](_0x37d80c(0xc4)));}}}var f=[/(\d+)\s+failed/i,/(\d+)\s+error/i,/FAILED/i,/ERROR/i];for(let s of f)s[_0x37d80c(0xcd)](t)&&(o[_0x37d80c(0xb2)]('BLOCKED:\x20Tests\x20are\x20FAILING'),o[_0x37d80c(0xb2)](_0x37d80c(0xd4)),o[_0x37d80c(0xb2)](_0x37d80c(0xb0)));var g=[/All files[^\n]*\|\s+([\d.]+)/,/Statements\s+:\s+([\d.]+)%/,/Coverage:\s+([\d.]+)%/];for(let s of g){let n=t[_0x37d80c(0xd8)](s);if(n){let a=parseFloat(n[0x1]);a<0x46&&(e[_0x37d80c(0xb2)](_0x37d80c(0xbc)+a+'%'),e[_0x37d80c(0xb2)](_0x37d80c(0xaa)));}}(t[_0x37d80c(0xd8)](/Snapshots:\s+\d+\s+written/)||t[_0x37d80c(0xd8)](/\d+\s+snapshots? updated/))&&(e[_0x37d80c(0xb2)](_0x37d80c(0xae)),e['push'](_0x37d80c(0xe3))),t[_0x37d80c(0xd6)]<0x32&&!o[_0x37d80c(0xd6)]&&(e[_0x37d80c(0xb2)](_0x37d80c(0xcf)),e[_0x37d80c(0xb2)](_0x37d80c(0xdd)),e[_0x37d80c(0xb2)](_0x37d80c(0xdb)+t[_0x37d80c(0xd6)]+_0x37d80c(0xb5))),t['match'](/Mock|Stub|Fake/)&&!t[_0x37d80c(0xd8)](/\d+\s+passed/)&&(e[_0x37d80c(0xb2)](_0x37d80c(0xb7)),e[_0x37d80c(0xb2)]('Are\x20you\x20running\x20actual\x20tests\x20or\x20just\x20loading\x20mocks?')),o[_0x37d80c(0xd6)]>0x0&&(console[_0x37d80c(0xc2)](_0x37d80c(0xe2)),o['forEach'](_0x2aa8c2=>console[_0x37d80c(0xc2)]('\x20\x20'+_0x2aa8c2)),console[_0x37d80c(0xc2)]('\x0a'),process['exit'](0x2)),e[_0x37d80c(0xd6)]>0x0&&(console[_0x37d80c(0xe7)](_0x37d80c(0xe0)),e[_0x37d80c(0xc5)](_0x4a063f=>console[_0x37d80c(0xe7)]('\x20\x20'+_0x4a063f)),console[_0x37d80c(0xe7)]('\x0a')),process['exit'](0x0);
2
+ const _0x5be2de=_0x12ba;(function(_0x3fdb57,_0x221b0c){const _0x1a677d=_0x12ba,_0x2dcd52=_0x3fdb57();while(!![]){try{const _0x3d7112=-parseInt(_0x1a677d(0x176))/0x1+parseInt(_0x1a677d(0x16c))/0x2*(parseInt(_0x1a677d(0x162))/0x3)+parseInt(_0x1a677d(0x14d))/0x4+parseInt(_0x1a677d(0x167))/0x5+-parseInt(_0x1a677d(0x151))/0x6+parseInt(_0x1a677d(0x173))/0x7*(-parseInt(_0x1a677d(0x15c))/0x8)+parseInt(_0x1a677d(0x177))/0x9;if(_0x3d7112===_0x221b0c)break;else _0x2dcd52['push'](_0x2dcd52['shift']());}catch(_0xc76e72){_0x2dcd52['push'](_0x2dcd52['shift']());}}}(_0x301f,0xd1ca7));const _0x86c949=(function(){const _0x242a64=_0x12ba,_0x5ce609={'QXGcr':function(_0x294582,_0x3247b3){return _0x294582(_0x3247b3);},'RGIZi':function(_0x17dce7,_0x59fc3a){return _0x17dce7/_0x59fc3a;},'QkXKn':function(_0x3a64ab,_0x3dd22d){return _0x3a64ab<_0x3dd22d;},'tfScH':function(_0x165231,_0x3d858e){return _0x165231<_0x3d858e;},'yhAvZ':function(_0x592300,_0x48f31f){return _0x592300(_0x48f31f);},'RwIeJ':function(_0x16dae8,_0x47b4de){return _0x16dae8+_0x47b4de;},'DQlit':'\x22\x20is\x20not\x20supported','KoKSk':function(_0x19bc75,_0x16e13a){return _0x19bc75===_0x16e13a;},'eTdLI':'NPtTK','GrpWb':function(_0x10616c,_0x134f13){return _0x10616c!==_0x134f13;},'YpXEu':'vzpWq','kvWrb':_0x242a64(0x154),'KjuEL':_0x242a64(0x182)};let _0xb1f891=!![];return function(_0x1350c8,_0x4f09d2){const _0x45fedf=_0x242a64;if(_0x5ce609[_0x45fedf(0x18f)](_0x45fedf(0x182),_0x5ce609[_0x45fedf(0x17f)])){const _0x585df1=_0x3c1330[_0x45fedf(0x165)](_0x54dbd1,arguments);return _0x2d3a1c=null,_0x585df1;}else{const _0x4cec36=_0xb1f891?function(){const _0x2e5a6a=_0x45fedf,_0x3c5bb3={'BUJHe':function(_0x1dbcdf,_0x1a21be){return _0x5ce609['QXGcr'](_0x1dbcdf,_0x1a21be);},'qaTxa':function(_0x258762,_0x3fdaac){const _0x5e489b=_0x12ba;return _0x5ce609[_0x5e489b(0x17d)](_0x258762,_0x3fdaac);},'UndXS':function(_0x304a65,_0x527ff4){const _0x3e32c4=_0x12ba;return _0x5ce609[_0x3e32c4(0x166)](_0x304a65,_0x527ff4);},'IbwyU':function(_0x497385,_0x34adb4){return _0x5ce609['tfScH'](_0x497385,_0x34adb4);},'HKXcI':function(_0x39c3dd,_0x543d59){return _0x5ce609['yhAvZ'](_0x39c3dd,_0x543d59);},'RHiPE':function(_0x50ba22,_0xfa96e){const _0x1f321a=_0x12ba;return _0x5ce609[_0x1f321a(0x181)](_0x50ba22,_0xfa96e);},'jIRKw':function(_0x188b1b,_0x273fcc){return _0x188b1b+_0x273fcc;},'huWbY':_0x2e5a6a(0x188),'HXPvw':_0x5ce609[_0x2e5a6a(0x160)]};if(_0x5ce609['KoKSk'](_0x5ce609[_0x2e5a6a(0x17a)],_0x5ce609[_0x2e5a6a(0x17a)])){if(_0x4f09d2){if(_0x5ce609[_0x2e5a6a(0x18f)](_0x5ce609[_0x2e5a6a(0x187)],_0x5ce609[_0x2e5a6a(0x18b)])){const _0x4346d0=_0x4f09d2[_0x2e5a6a(0x165)](_0x1350c8,arguments);return _0x4f09d2=null,_0x4346d0;}else{let _0x466410=_0x3c5bb3[_0x2e5a6a(0x183)](_0x4fa183,_0x388f36[0x1]),_0x4df543=_0x26dd0a[_0x2e5a6a(0x16d)](/(\d+)\s+passed/);if(_0x4df543){let _0x3b37be=_0x142ba3(_0x4df543[0x1]),_0x18b2c7=_0x3c5bb3[_0x2e5a6a(0x150)](_0x466410,_0x3b37be);_0x3c5bb3[_0x2e5a6a(0x175)](_0x18b2c7,0.0001)&&_0x3c5bb3[_0x2e5a6a(0x175)](_0x466410,0x1)&&(_0x5b3bdf['push'](_0x2e5a6a(0x161)),_0x5cf13a['push'](_0x3b37be+_0x2e5a6a(0x18a)+_0x466410+_0x2e5a6a(0x16b)+_0x18b2c7[_0x2e5a6a(0x184)](0x4)+_0x2e5a6a(0x163)),_0x4a5845[_0x2e5a6a(0x15b)](_0x2e5a6a(0x172)));}}}}else{if(_0x3c5bb3['IbwyU'](typeof _0x349872,'u'))return _0x1ff7de[_0x2e5a6a(0x165)](this,arguments);throw _0x3c5bb3['HKXcI'](_0x49abbe,_0x3c5bb3[_0x2e5a6a(0x178)](_0x3c5bb3[_0x2e5a6a(0x155)](_0x3c5bb3[_0x2e5a6a(0x18c)],_0x5b7f58),_0x3c5bb3[_0x2e5a6a(0x152)]));}}:function(){};return _0xb1f891=![],_0x4cec36;}};}()),_0x54e1ab=_0x86c949(this,function(){const _0x93271f=_0x12ba,_0xf42da9={};_0xf42da9[_0x93271f(0x15d)]='(((.+)+)+)+$';const _0x35baaf=_0xf42da9;return _0x54e1ab[_0x93271f(0x16f)]()[_0x93271f(0x158)](_0x93271f(0x14f))[_0x93271f(0x16f)]()['constructor'](_0x54e1ab)[_0x93271f(0x158)](_0x35baaf[_0x93271f(0x15d)]);});_0x54e1ab();var p=(_0x527f65=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x527f65,{'get':(_0x4a9cba,_0x3a4c03)=>(typeof require<'u'?require:_0x4a9cba)[_0x3a4c03]}):_0x527f65)(function(_0x107c90){const _0x4674c5=_0x12ba,_0x5669d9={};_0x5669d9['CREKx']=function(_0x1fda5c,_0x206d82){return _0x1fda5c<_0x206d82;},_0x5669d9[_0x4674c5(0x174)]=function(_0x2619c7,_0x3a827e){return _0x2619c7+_0x3a827e;};const _0x541239=_0x5669d9;if(_0x541239['CREKx'](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x541239[_0x4674c5(0x174)](_0x541239[_0x4674c5(0x174)]('Dynamic\x20require\x20of\x20\x22',_0x107c90),_0x4674c5(0x17e)));}),N=p('fs'),A=p('path'),d=process[_0x5be2de(0x180)][0x2]||'{}',u=JSON[_0x5be2de(0x14b)](d),h=u['tool_input']?.[_0x5be2de(0x171)]||'',t=u[_0x5be2de(0x17c)]||'';h['match'](/npm\s+(run\s+)?test|jest|pytest|vitest|mocha|ava/)||process['exit'](0x0);var o=[],e=[],m=[/Tests:\s+0\s+total/i,/0\s+passed/i,/No tests found/i,/collected 0 items/i,/0 tests?,\s+0 assertions?/i];for(let s of m)s[_0x5be2de(0x170)](t)&&(o[_0x5be2de(0x15b)](_0x5be2de(0x168)),o[_0x5be2de(0x15b)](_0x5be2de(0x15e)),o[_0x5be2de(0x15b)](_0x5be2de(0x157)+h));function _0x12ba(_0x1698fd,_0xa28e7f){_0x1698fd=_0x1698fd-0x14b;const _0x5e725c=_0x301f();let _0x54e1ab=_0x5e725c[_0x1698fd];return _0x54e1ab;}if(t[_0x5be2de(0x16d)](/(\d+)\s+skipped/)||t[_0x5be2de(0x16d)](/(\d+)\s+todo/)){let s=t['match'](/(\d+)\s+(?:skipped|todo)/),n=t[_0x5be2de(0x16d)](/(\d+)\s+passed/);s&&(!n||n[0x1]==='0')&&(o[_0x5be2de(0x15b)](_0x5be2de(0x159)),o['push'](_0x5be2de(0x18d)));}var l=[/Time:\s+([\d.]+)\s*m?s/i,/Ran\s+\d+\s+tests?\s+in\s+([\d.]+)s/i,/Duration:\s+([\d.]+)\s*m?s/i];function _0x301f(){const _0x42d11c=['Are\x20you\x20running\x20actual\x20tests\x20or\x20just\x20loading\x20mocks?','Command:\x20','search','BLOCKED:\x20All\x20tests\x20were\x20skipped/marked\x20as\x20TODO','Verify\x20snapshots\x20are\x20actually\x20correct,\x20not\x20just\x20auto-accepting\x20changes','push','6510488UdmYTx','CuZTu','Test\x20files\x20may\x20be\x20empty\x20or\x20not\x20properly\x20configured','WARNING:\x20Test\x20output\x20is\x20very\x20minimal','DQlit','WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','6060acxXYm','ms\x20per\x20test)','Output\x20length:\x20','apply','QkXKn','8537775UpKLAT','BLOCKED:\x20Test\x20command\x20ran\x20but\x20ZERO\x20tests\x20were\x20executed','Consider\x20adding\x20more\x20tests\x20to\x20reach\x2070%+\x20coverage','exit','ms\x20(','1346tdaErR','match','WARNING:\x20Test\x20output\x20mentions\x20mocks\x20but\x20no\x20passed\x20tests','toString','test','command','Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','7ptKzpc','lZSHy','UndXS','907874jDoHQi','5364288vNsrbk','RHiPE','error','eTdLI','WARNING:\x20Snapshot\x20tests\x20were\x20updated','tool_output','RGIZi','\x22\x20is\x20not\x20supported','KjuEL','argv','RwIeJ','tRjLk','BUJHe','toFixed','BLOCKED:\x20Tests\x20are\x20FAILING','warn','YpXEu','Dynamic\x20require\x20of\x20\x22','length','\x20tests\x20in\x20','kvWrb','huWbY','Remove\x20skip\x20markers\x20and\x20implement\x20the\x20tests','\x0a❌\x20TEST\x20EXECUTION\x20VALIDATION\x20FAILED\x0a','GrpWb','parse','All\x20tests\x20must\x20pass\x20before\x20committing','1702512MBzbBn','forEach','(((.+)+)+)+$','qaTxa','9046122rjXFCt','HXPvw','Fix\x20the\x20failing\x20tests\x20or\x20remove\x20broken\x20code','mrjXC','jIRKw'];_0x301f=function(){return _0x42d11c;};return _0x301f();}for(let s of l){let n=t[_0x5be2de(0x16d)](s);if(n){let a=parseFloat(n[0x1]),r=t[_0x5be2de(0x16d)](/(\d+)\s+passed/);if(r){let c=parseInt(r[0x1]),i=a/c;i<0.0001&&a<0x1&&(e[_0x5be2de(0x15b)](_0x5be2de(0x161)),e[_0x5be2de(0x15b)](c+_0x5be2de(0x18a)+a+_0x5be2de(0x16b)+i[_0x5be2de(0x184)](0x4)+_0x5be2de(0x163)),e[_0x5be2de(0x15b)]('Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?'));}}}var f=[/(\d+)\s+failed/i,/(\d+)\s+error/i,/FAILED/i,/ERROR/i];for(let s of f)s['test'](t)&&(o[_0x5be2de(0x15b)](_0x5be2de(0x185)),o[_0x5be2de(0x15b)](_0x5be2de(0x14c)),o['push'](_0x5be2de(0x153)));var g=[/All files[^\n]*\|\s+([\d.]+)/,/Statements\s+:\s+([\d.]+)%/,/Coverage:\s+([\d.]+)%/];for(let s of g){let n=t['match'](s);if(n){let a=parseFloat(n[0x1]);a<0x46&&(e[_0x5be2de(0x15b)]('WARNING:\x20Test\x20coverage\x20is\x20only\x20'+a+'%'),e[_0x5be2de(0x15b)](_0x5be2de(0x169)));}}(t[_0x5be2de(0x16d)](/Snapshots:\s+\d+\s+written/)||t[_0x5be2de(0x16d)](/\d+\s+snapshots? updated/))&&(e[_0x5be2de(0x15b)](_0x5be2de(0x17b)),e[_0x5be2de(0x15b)](_0x5be2de(0x15a))),t[_0x5be2de(0x189)]<0x32&&!o[_0x5be2de(0x189)]&&(e[_0x5be2de(0x15b)](_0x5be2de(0x15f)),e[_0x5be2de(0x15b)]('Did\x20tests\x20actually\x20run?'),e['push'](_0x5be2de(0x164)+t[_0x5be2de(0x189)]+'\x20characters')),t[_0x5be2de(0x16d)](/Mock|Stub|Fake/)&&!t['match'](/\d+\s+passed/)&&(e[_0x5be2de(0x15b)](_0x5be2de(0x16e)),e[_0x5be2de(0x15b)](_0x5be2de(0x156))),o['length']>0x0&&(console['error'](_0x5be2de(0x18e)),o['forEach'](_0x18245f=>console['error']('\x20\x20'+_0x18245f)),console[_0x5be2de(0x179)]('\x0a'),process[_0x5be2de(0x16a)](0x2)),e[_0x5be2de(0x189)]>0x0&&(console[_0x5be2de(0x186)]('\x0a⚠️\x20\x20TEST\x20EXECUTION\x20WARNINGS\x0a'),e[_0x5be2de(0x14e)](_0x443a35=>console[_0x5be2de(0x186)]('\x20\x20'+_0x443a35)),console[_0x5be2de(0x186)]('\x0a')),process['exit'](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x213c0d=_0x66f7;function _0x4d6f(){const _0x482fa7=['5CzeHCq','replace','HdjTB','WARNING:\x20Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them','within\x5c(','Jhzyx','match','.test.tsx','exit','OCXPQ','createWrapper','BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20','\x20/>)','render\x5cs*\x5c(<\x5cs*','\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a','/tests/','BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found','search','(((.+)+)+)+$','rMMsg','wDvVQ','SRWYx','2801151tnCRSW','Required\x20props:\x20','onSubmit','prRFw','lWaEj','dirname','existsSync','ZoFRf','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','includes','JkYmN','JQCYf','798774BHQtMv','mount\x5cs*\x5c(<\x5cs*','<form','pFdEt','Add:\x20render(<','slice','toString','constructor','qflZh','wLGKc','.*from','basename','WARNING:\x20Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission','test','VANQA','.spec.js','jwfOq','WARNING:\x20Component\x20uses\x20','path','screen\x5c.','sxYMP','WARNING:\x20Component\x20has\x20conditional\x20rendering\x20but\x20only\x201\x20test\x20case','Add:\x20import\x20{\x20','parse','Add\x20tests\x20for\x20different\x20component\x20states/conditions','wMvsW','\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a','/src/','Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise','forEach','\x20}\x20from\x20\x27./','submit','WARNING:\x20Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','AxKyq','\x22\x20is\x20not\x20supported','__tests__','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','ojoGM','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','NexUC','usIBT','dZjJI','\x20\x20-\x20','\x20child\x20components\x20but\x20test\x20is\x20only\x20','utf8','13Ditrsa','EFJQz','evjvQ','SGcNJ','Submit','gJpoB','WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them','FtoRl','.test.jsx','warn','length','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','Component:\x20','Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar','BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component','error','apply','Event\x20handlers\x20found:\x20','\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a','nmkaV','33qmnlyt','rnemj','JVHlL','map','cBrUI','shallow\x5cs*\x5c(<\x5cs*','filter','421600QbObEm','1246CNyoAZ','WARNING:\x20Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','join','trim','15GZSHQf','.spec.jsx','argv','8706084lpjnAe','zBSsD','some','push','dlswx','JIBvg','tool_input','file_path','MfOhE','HXLcM','787510XSoiLi','koFQl','.spec.tsx','7528CPxwiW','\x20lines','UI\x20Component:\x20','/__tests__/','Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent','BhnIu','Dynamic\x20require\x20of\x20\x22','16563FRmMKV','aVHKT','RutTV','38yKctsX','import.*','readFileSync','split','Test\x20file:\x20','Zvddb','ouAaX','ZMAxX'];_0x4d6f=function(){return _0x482fa7;};return _0x4d6f();}(function(_0x3c57ea,_0x2dd1c4){const _0x58a0fa=_0x66f7,_0x533a27=_0x3c57ea();while(!![]){try{const _0x20ed42=-parseInt(_0x58a0fa(0x171))/0x1*(-parseInt(_0x58a0fa(0x174))/0x2)+-parseInt(_0x58a0fa(0x1eb))/0x3*(parseInt(_0x58a0fa(0x1e6))/0x4)+-parseInt(_0x58a0fa(0x17c))/0x5*(parseInt(_0x58a0fa(0x19e))/0x6)+-parseInt(_0x58a0fa(0x1e7))/0x7*(parseInt(_0x58a0fa(0x16a))/0x8)+parseInt(_0x58a0fa(0x192))/0x9+parseInt(_0x58a0fa(0x167))/0xa*(-parseInt(_0x58a0fa(0x1df))/0xb)+parseInt(_0x58a0fa(0x15d))/0xc*(parseInt(_0x58a0fa(0x1cb))/0xd);if(_0x20ed42===_0x2dd1c4)break;else _0x533a27['push'](_0x533a27['shift']());}catch(_0x24c0d6){_0x533a27['push'](_0x533a27['shift']());}}}(_0x4d6f,0x4634b));const _0xa9cf39=(function(){const _0x515409=_0x66f7,_0x1ecadd={};_0x1ecadd[_0x515409(0x18f)]=_0x515409(0x1ca),_0x1ecadd['SGcNJ']='createWrapper',_0x1ecadd[_0x515409(0x17b)]=_0x515409(0x1d9),_0x1ecadd[_0x515409(0x15e)]=function(_0xd3879b,_0x3c5dd0){return _0xd3879b>_0x3c5dd0;},_0x1ecadd[_0x515409(0x1a1)]=_0x515409(0x1c4),_0x1ecadd['OCXPQ']=_0x515409(0x1d1),_0x1ecadd[_0x515409(0x17e)]='Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar',_0x1ecadd[_0x515409(0x1ae)]='onSubmit',_0x1ecadd['wLGKc']=_0x515409(0x1bd),_0x1ecadd['wDvVQ']=_0x515409(0x1cf),_0x1ecadd['inJXd']=_0x515409(0x1aa),_0x1ecadd[_0x515409(0x1bf)]='Add\x20test\x20for\x20form\x20submission\x20behavior',_0x1ecadd[_0x515409(0x168)]=function(_0xde880c,_0x329ea6){return _0xde880c<_0x329ea6;},_0x1ecadd[_0x515409(0x1b2)]=function(_0xae0337,_0x216a0e){return _0xae0337!==_0x216a0e;},_0x1ecadd[_0x515409(0x1d0)]=function(_0x12f969,_0x3f54a5){return _0x12f969<_0x3f54a5;},_0x1ecadd['JVHlL']=function(_0x15ad5c,_0x39851f){return _0x15ad5c===_0x39851f;},_0x1ecadd[_0x515409(0x172)]=_0x515409(0x173),_0x1ecadd[_0x515409(0x195)]=_0x515409(0x1e3),_0x1ecadd[_0x515409(0x19c)]=_0x515409(0x179),_0x1ecadd[_0x515409(0x196)]=_0x515409(0x1c2),_0x1ecadd['JQCYf']=function(_0x464ce7,_0x41f89f){return _0x464ce7===_0x41f89f;},_0x1ecadd['Jhzyx']=_0x515409(0x191);const _0x364c03=_0x1ecadd;let _0x5dddf7=!![];return function(_0x362bf8,_0x4fa196){const _0x434cb6=_0x515409,_0x5d214d={'wMvsW':function(_0x25846a,_0x29924c){const _0x43fbf2=_0x66f7;return _0x364c03[_0x43fbf2(0x1d0)](_0x25846a,_0x29924c);},'VANQA':_0x364c03['lWaEj']};if(_0x364c03[_0x434cb6(0x19d)](_0x434cb6(0x1c6),_0x364c03[_0x434cb6(0x181)])){const _0x2519ac=_0xa6ae43?function(){const _0x4dc65d=_0x434cb6;if(_0x3e2ba4){const _0x261bbc=_0x3adcb4[_0x4dc65d(0x1db)](_0x23a687,arguments);return _0x95c597=null,_0x261bbc;}}:function(){};return _0x34136b=![],_0x2519ac;}else{const _0x399ca1=_0x5dddf7?function(){const _0x500ca2=_0x434cb6,_0x5eb0e7={'NexUC':_0x364c03[_0x500ca2(0x18f)],'EFJQz':_0x364c03[_0x500ca2(0x1ce)],'JIBvg':_0x364c03[_0x500ca2(0x17b)],'ZoFRf':function(_0x3a1ee5,_0x112208){const _0xb77351=_0x500ca2;return _0x364c03[_0xb77351(0x15e)](_0x3a1ee5,_0x112208);},'dZjJI':_0x364c03[_0x500ca2(0x1a1)],'BniFF':_0x500ca2(0x1e8),'mzpbC':_0x364c03[_0x500ca2(0x185)],'EOtUA':_0x364c03['HdjTB'],'MfOhE':'Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','rkeYp':_0x500ca2(0x1a0),'ojoGM':_0x364c03[_0x500ca2(0x1ae)],'BhnIu':_0x364c03[_0x500ca2(0x1a7)],'znNLM':_0x364c03[_0x500ca2(0x190)],'dlswx':_0x364c03['inJXd'],'HXLcM':_0x364c03[_0x500ca2(0x1bf)],'evjvQ':function(_0x2efedf,_0x5a6bfe){return _0x364c03['koFQl'](_0x2efedf,_0x5a6bfe);},'nmkaV':_0x500ca2(0x1b6),'FtoRl':function(_0x4d200b,_0x4262d6){return _0x364c03['sxYMP'](_0x4d200b,_0x4262d6);},'ouAaX':function(_0x4f94f7,_0x299050){const _0x4f5497=_0x500ca2;return _0x364c03[_0x4f5497(0x1d0)](_0x4f94f7,_0x299050);}};if(_0x364c03[_0x500ca2(0x1e1)](_0x364c03[_0x500ca2(0x172)],_0x364c03[_0x500ca2(0x195)])){let _0x539e8c=_0x462346[_0x500ca2(0x176)](_0x4d9112,_0x5eb0e7[_0x500ca2(0x1c5)]),_0x249a18=_0x42d9d6['readFileSync'](_0x473c0a,_0x500ca2(0x1ca));new _0x2742c1(_0x500ca2(0x175)+_0x46247b+_0x500ca2(0x1a8),'i')['test'](_0x539e8c)||(_0x4044c4[_0x500ca2(0x160)](_0x500ca2(0x187)+_0x5c6efb),_0x51ce25[_0x500ca2(0x160)](_0x500ca2(0x178)+_0x4123d3[_0x500ca2(0x1a9)](_0x1a9b4b)),_0x4bb888[_0x500ca2(0x160)](_0x500ca2(0x1b4)+_0x4194b0+_0x500ca2(0x1bc)+_0x3ae6e1+'\x27')),![new _0x2c8138(_0x500ca2(0x189)+_0x9a0304,'i'),new _0x58b2e8(_0x500ca2(0x19f)+_0x2b4731,'i'),new _0x183b3d(_0x500ca2(0x1e4)+_0x1983dd,'i'),new _0x1fe7ba(_0x500ca2(0x1b1),'i'),new _0x5d91f4(_0x500ca2(0x180),'i')][_0x500ca2(0x15f)](_0x3f9064=>_0x3f9064['test'](_0x539e8c))&&!_0x539e8c[_0x500ca2(0x19b)](_0x5eb0e7[_0x500ca2(0x1cc)])&&(_0x26cf39[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x162)]),_0x36045c['push'](_0x500ca2(0x178)+_0x364c7f[_0x500ca2(0x1a9)](_0x4d80f6)),_0x2d1bb9[_0x500ca2(0x160)](_0x500ca2(0x1a2)+_0x5346d5+_0x500ca2(0x188)));let _0x5572d3=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,_0x4747a4=_0x249a18[_0x500ca2(0x182)](_0x5572d3);if(_0x4747a4){let _0x1add81=_0x4747a4[0x1][_0x500ca2(0x177)]('\x0a')[_0x500ca2(0x1e5)](_0x337d4e=>!_0x337d4e[_0x500ca2(0x19b)]('?:')&&_0x337d4e[_0x500ca2(0x19b)](':'))[_0x500ca2(0x1e2)](_0x20c7dd=>_0x20c7dd[_0x500ca2(0x1ea)]()[_0x500ca2(0x177)](':')[0x0][_0x500ca2(0x1ea)]())[_0x500ca2(0x1e5)](_0x112c9e);_0x5eb0e7[_0x500ca2(0x199)](_0x1add81[_0x500ca2(0x1d5)],0x0)&&(_0x1add81[_0x500ca2(0x15f)](_0x1ccc56=>_0x539e8c[_0x500ca2(0x19b)](_0x1ccc56+'=')||_0x539e8c[_0x500ca2(0x19b)](_0x1ccc56+':')||_0x539e8c[_0x500ca2(0x19b)]('\x22'+_0x1ccc56+'\x22')||_0x539e8c[_0x500ca2(0x19b)]('\x27'+_0x1ccc56+'\x27'))||(_0x50751a['push'](_0x500ca2(0x17f)),_0x586003[_0x500ca2(0x160)](_0x500ca2(0x193)+_0x1add81['join'](',\x20')),_0x424559[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x1c7)])));}let _0x2ca6e7=/on[A-Z]\w+/g,_0x73c177=_0x249a18[_0x500ca2(0x182)](_0x2ca6e7)||[],_0x2fbec7=[...new _0xf7c856(_0x73c177)];_0x5eb0e7['ZoFRf'](_0x2fbec7[_0x500ca2(0x1d5)],0x0)&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x500ca2(0x15f)](_0x1994ec=>_0x1994ec[_0x500ca2(0x1ab)](_0x539e8c))||(_0x11eb14[_0x500ca2(0x160)](_0x5eb0e7['BniFF']),_0x354172[_0x500ca2(0x160)]('Event\x20handlers\x20found:\x20'+_0x2fbec7[_0x500ca2(0x1a3)](0x0,0x5)[_0x500ca2(0x1e9)](',\x20')),_0x17584e[_0x500ca2(0x160)](_0x500ca2(0x16e)))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x500ca2(0x15f)](_0x41d977=>_0x41d977['test'](_0x249a18))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/][_0x500ca2(0x15f)](_0x25556d=>_0x25556d[_0x500ca2(0x1ab)](_0x539e8c))||(_0x506b03['push'](_0x5eb0e7['mzpbC']),_0x30c4c6[_0x500ca2(0x160)](_0x5eb0e7['EOtUA']),_0xe3ca7a[_0x500ca2(0x160)](_0x500ca2(0x1ba))));let _0x531cca=/useState|useReducer|useContext/g;(_0x249a18[_0x500ca2(0x182)](_0x531cca)||[])['length']>0x0&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x500ca2(0x15f)](_0x4fbaa6=>_0x4fbaa6[_0x500ca2(0x1ab)](_0x539e8c))||(_0x4dfda1[_0x500ca2(0x160)](_0x500ca2(0x1be)),_0x1cbb0f[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x165)]))),(_0x249a18[_0x500ca2(0x19b)](_0x5eb0e7['rkeYp'])||_0x249a18[_0x500ca2(0x19b)](_0x5eb0e7[_0x500ca2(0x1c3)]))&&(_0x539e8c[_0x500ca2(0x19b)](_0x5eb0e7[_0x500ca2(0x16f)])||_0x539e8c[_0x500ca2(0x19b)](_0x5eb0e7['znNLM'])||(_0x3d1937['push'](_0x5eb0e7[_0x500ca2(0x161)]),_0x28aded[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x166)])));let _0x3faa15=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if((_0x249a18['match'](_0x3faa15)||[])[_0x500ca2(0x1d5)]>0x3){let _0x5cb74b=/(?:it|test)\s*\(/g;_0x5eb0e7[_0x500ca2(0x1cd)]((_0x539e8c['match'](_0x5cb74b)||[])[_0x500ca2(0x1d5)],0x2)&&(_0x27f590[_0x500ca2(0x160)](_0x500ca2(0x1b3)),_0x58345a[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x1de)]));}let _0x2d357d=/import\s+\{?([A-Z]\w+)\}?\s+from/g,_0x3bd417=[],_0x1d7c9f;for(;(_0x1d7c9f=_0x2d357d['exec'](_0x249a18))!==null;)_0x5eb0e7[_0x500ca2(0x1d2)](_0x1d7c9f[0x1],_0x4ae7b1)&&_0x3bd417[_0x500ca2(0x160)](_0x1d7c9f[0x1]);if(_0x5eb0e7[_0x500ca2(0x199)](_0x3bd417[_0x500ca2(0x1d5)],0x2)){let _0x13e63f=_0x539e8c[_0x500ca2(0x177)]('\x0a')['length'];_0x5eb0e7[_0x500ca2(0x17a)](_0x13e63f,0x1e)&&(_0x10caec[_0x500ca2(0x160)](_0x500ca2(0x1af)+_0x3bd417[_0x500ca2(0x1d5)]+_0x500ca2(0x1c9)+_0x13e63f+'\x20lines'),_0x1bf78d[_0x500ca2(0x160)](_0x500ca2(0x1c2)));}}else{if(_0x4fa196){if(_0x364c03[_0x500ca2(0x1e1)](_0x364c03[_0x500ca2(0x19c)],_0x364c03[_0x500ca2(0x19c)])){const _0x353018=_0x4fa196['apply'](_0x362bf8,arguments);return _0x4fa196=null,_0x353018;}else{let _0xbf2b5a=_0x2ea7df[_0x500ca2(0x177)]('\x0a')['length'];_0x5d214d[_0x500ca2(0x1b7)](_0xbf2b5a,0x1e)&&(_0x39a415[_0x500ca2(0x160)](_0x500ca2(0x1af)+_0x146f91['length']+_0x500ca2(0x1c9)+_0xbf2b5a+_0x500ca2(0x16b)),_0x395c3c[_0x500ca2(0x160)](_0x5d214d[_0x500ca2(0x1ac)]));}}}}:function(){};return _0x5dddf7=![],_0x399ca1;}};}()),_0x66f13f=_0xa9cf39(this,function(){const _0x3b2c60=_0x66f7;return _0x66f13f[_0x3b2c60(0x1a4)]()[_0x3b2c60(0x18d)](_0x3b2c60(0x18e))[_0x3b2c60(0x1a4)]()[_0x3b2c60(0x1a5)](_0x66f13f)[_0x3b2c60(0x18d)](_0x3b2c60(0x18e));});_0x66f13f();var x=(_0x2fe24d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2fe24d,{'get':(_0x1f0059,_0x12c7f6)=>(typeof require<'u'?require:_0x1f0059)[_0x12c7f6]}):_0x2fe24d)(function(_0x2190af){const _0x331ea7=_0x66f7,_0x1a8737={};_0x1a8737[_0x331ea7(0x1e0)]=function(_0x39c5e6,_0x4af15c){return _0x39c5e6+_0x4af15c;},_0x1a8737[_0x331ea7(0x1a6)]=_0x331ea7(0x170),_0x1a8737['NxSwm']=_0x331ea7(0x1c0);const _0x568892=_0x1a8737;if(typeof require<'u')return require['apply'](this,arguments);throw Error(_0x568892[_0x331ea7(0x1e0)](_0x568892[_0x331ea7(0x1e0)](_0x568892['qflZh'],_0x2190af),_0x568892['NxSwm']));}),C=x('fs'),a=x(_0x213c0d(0x1b0)),R=process[_0x213c0d(0x1ed)][0x2]||'{}',k=JSON[_0x213c0d(0x1b5)](R),c=k[_0x213c0d(0x163)]?.[_0x213c0d(0x164)],S=c&&c[_0x213c0d(0x182)](/\.(tsx|jsx|vue|svelte)$/);function _0x66f7(_0x2f2a9c,_0xde5d7b){_0x2f2a9c=_0x2f2a9c-0x15d;const _0xe14b72=_0x4d6f();let _0x66f13f=_0xe14b72[_0x2f2a9c];return _0x66f13f;}S||process[_0x213c0d(0x184)](0x0);var n=[],s=[],h=a[_0x213c0d(0x1a9)](c),e=h[_0x213c0d(0x17d)](/\.(tsx|jsx|vue|svelte)$/,''),T=[e+_0x213c0d(0x183),e+_0x213c0d(0x1d3),e+'.test.ts',e+'.test.js',e+_0x213c0d(0x169),e+_0x213c0d(0x1ec),e+'.spec.ts',e+_0x213c0d(0x1ad)],d=c[_0x213c0d(0x19b)](_0x213c0d(0x1b9))?c[_0x213c0d(0x17d)](_0x213c0d(0x1b9),_0x213c0d(0x18b))['replace'](h,''):a[_0x213c0d(0x197)](c),u=null,f=!0x1;for(let t of T){let i=[a['join'](d,t),a[_0x213c0d(0x1e9)](d,'__tests__',t),a[_0x213c0d(0x1e9)](a[_0x213c0d(0x197)](c),_0x213c0d(0x1c1),t),a[_0x213c0d(0x1e9)](a[_0x213c0d(0x197)](c),t)];for(let p of i)if(C[_0x213c0d(0x198)](p)){u=p,f=!0x0;break;}if(f)break;}f||(n[_0x213c0d(0x160)](_0x213c0d(0x18c)),n[_0x213c0d(0x160)](_0x213c0d(0x1d7)+h),n[_0x213c0d(0x160)]('Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:'),n['push'](_0x213c0d(0x1c8)+d+'/'+e+'.test.tsx'),n['push'](_0x213c0d(0x1c8)+d+_0x213c0d(0x16d)+e+'.test.tsx'),n[_0x213c0d(0x160)](_0x213c0d(0x1c8)+a[_0x213c0d(0x197)](c)+'/__tests__/'+e+_0x213c0d(0x183)),n[_0x213c0d(0x160)]('Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components'));if(f&&u){let t=C['readFileSync'](u,_0x213c0d(0x1ca)),i=C[_0x213c0d(0x176)](c,_0x213c0d(0x1ca));new RegExp('import.*'+e+_0x213c0d(0x1a8),'i')[_0x213c0d(0x1ab)](t)||(n[_0x213c0d(0x160)]('BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20'+e),n['push'](_0x213c0d(0x178)+a['basename'](u)),n[_0x213c0d(0x160)]('Add:\x20import\x20{\x20'+e+_0x213c0d(0x1bc)+e+'\x27')),![new RegExp(_0x213c0d(0x189)+e,'i'),new RegExp('mount\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp(_0x213c0d(0x1e4)+e,'i'),new RegExp(_0x213c0d(0x1b1),'i'),new RegExp('within\x5c(','i')][_0x213c0d(0x15f)](_0x4fd4af=>_0x4fd4af['test'](t))&&!t[_0x213c0d(0x19b)](_0x213c0d(0x186))&&(n[_0x213c0d(0x160)]('BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component'),n['push'](_0x213c0d(0x178)+a[_0x213c0d(0x1a9)](u)),n[_0x213c0d(0x160)](_0x213c0d(0x1a2)+e+'\x20/>)'));let E=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,P=i[_0x213c0d(0x182)](E);if(P){let l=P[0x1][_0x213c0d(0x177)]('\x0a')[_0x213c0d(0x1e5)](_0x313ec4=>!_0x313ec4[_0x213c0d(0x19b)]('?:')&&_0x313ec4[_0x213c0d(0x19b)](':'))['map'](_0x460194=>_0x460194[_0x213c0d(0x1ea)]()[_0x213c0d(0x177)](':')[0x0]['trim']())[_0x213c0d(0x1e5)](Boolean);l[_0x213c0d(0x1d5)]>0x0&&(l['some'](_0x3d6cec=>t[_0x213c0d(0x19b)](_0x3d6cec+'=')||t['includes'](_0x3d6cec+':')||t[_0x213c0d(0x19b)]('\x22'+_0x3d6cec+'\x22')||t[_0x213c0d(0x19b)]('\x27'+_0x3d6cec+'\x27'))||(s[_0x213c0d(0x160)]('WARNING:\x20Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them'),s['push'](_0x213c0d(0x193)+l[_0x213c0d(0x1e9)](',\x20')),s[_0x213c0d(0x160)](_0x213c0d(0x1c4))));}let v=/on[A-Z]\w+/g,N=i['match'](v)||[],I=[...new Set(N)];I[_0x213c0d(0x1d5)]>0x0&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x213c0d(0x15f)](_0x3cc259=>_0x3cc259[_0x213c0d(0x1ab)](t))||(s[_0x213c0d(0x160)](_0x213c0d(0x1e8)),s['push'](_0x213c0d(0x1dc)+I[_0x213c0d(0x1a3)](0x0,0x5)[_0x213c0d(0x1e9)](',\x20')),s[_0x213c0d(0x160)](_0x213c0d(0x16e)))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x213c0d(0x15f)](_0xf3d70a=>_0xf3d70a[_0x213c0d(0x1ab)](i))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/][_0x213c0d(0x15f)](_0x2f4cd1=>_0x2f4cd1[_0x213c0d(0x1ab)](t))||(s[_0x213c0d(0x160)]('WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them'),s[_0x213c0d(0x160)](_0x213c0d(0x1d8)),s[_0x213c0d(0x160)]('Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise')));let w=/useState|useReducer|useContext/g;(i[_0x213c0d(0x182)](w)||[])[_0x213c0d(0x1d5)]>0x0&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x213c0d(0x15f)](_0x1b33fb=>_0x1b33fb[_0x213c0d(0x1ab)](t))||(s[_0x213c0d(0x160)](_0x213c0d(0x1be)),s[_0x213c0d(0x160)](_0x213c0d(0x1d6)))),(i[_0x213c0d(0x19b)](_0x213c0d(0x1a0))||i[_0x213c0d(0x19b)](_0x213c0d(0x194)))&&(t[_0x213c0d(0x19b)](_0x213c0d(0x1bd))||t[_0x213c0d(0x19b)](_0x213c0d(0x1cf))||(s['push'](_0x213c0d(0x1aa)),s['push']('Add\x20test\x20for\x20form\x20submission\x20behavior')));let b=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if((i[_0x213c0d(0x182)](b)||[])[_0x213c0d(0x1d5)]>0x3){let o=/(?:it|test)\s*\(/g;(t[_0x213c0d(0x182)](o)||[])['length']<0x2&&(s[_0x213c0d(0x160)](_0x213c0d(0x1b3)),s[_0x213c0d(0x160)](_0x213c0d(0x1b6)));}let A=/import\s+\{?([A-Z]\w+)\}?\s+from/g,g=[],$;for(;($=A['exec'](i))!==null;)$[0x1]!==e&&g['push']($[0x1]);if(g[_0x213c0d(0x1d5)]>0x2){let o=t[_0x213c0d(0x177)]('\x0a')['length'];o<0x1e&&(s['push'](_0x213c0d(0x1af)+g[_0x213c0d(0x1d5)]+_0x213c0d(0x1c9)+o+_0x213c0d(0x16b)),s[_0x213c0d(0x160)](_0x213c0d(0x1c2)));}}n['length']>0x0&&(console[_0x213c0d(0x1da)](_0x213c0d(0x1b8)),console[_0x213c0d(0x1da)](_0x213c0d(0x16c)+h+'\x0a'),n[_0x213c0d(0x1bb)](_0x5ebde7=>console[_0x213c0d(0x1da)]('\x20\x20'+_0x5ebde7)),console[_0x213c0d(0x1da)](_0x213c0d(0x18a)),process['exit'](0x2)),s[_0x213c0d(0x1d5)]>0x0&&(console['warn'](_0x213c0d(0x19a)),console[_0x213c0d(0x1d4)]('UI\x20Component:\x20'+h+'\x0a'),s[_0x213c0d(0x1bb)](_0x3bd96e=>console[_0x213c0d(0x1d4)]('\x20\x20'+_0x3bd96e)),console['warn'](_0x213c0d(0x1dd))),process[_0x213c0d(0x184)](0x0);
2
+ const _0x206f24=_0x2f95;(function(_0x1cfe44,_0x27337a){const _0x2cd22f=_0x2f95,_0x1c5c48=_0x1cfe44();while(!![]){try{const _0x583751=-parseInt(_0x2cd22f(0x166))/0x1+parseInt(_0x2cd22f(0x151))/0x2+-parseInt(_0x2cd22f(0x191))/0x3*(-parseInt(_0x2cd22f(0x138))/0x4)+parseInt(_0x2cd22f(0x19d))/0x5+parseInt(_0x2cd22f(0x177))/0x6+parseInt(_0x2cd22f(0x154))/0x7*(parseInt(_0x2cd22f(0x190))/0x8)+parseInt(_0x2cd22f(0x16a))/0x9*(-parseInt(_0x2cd22f(0x163))/0xa);if(_0x583751===_0x27337a)break;else _0x1c5c48['push'](_0x1c5c48['shift']());}catch(_0x35081f){_0x1c5c48['push'](_0x1c5c48['shift']());}}}(_0x4710,0x4155a));var A=(_0x3879c2=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3879c2,{'get':(_0x1c1576,_0xce3526)=>(typeof require<'u'?require:_0x1c1576)[_0xce3526]}):_0x3879c2)(function(_0xec1568){const _0x33c69f=_0x2f95,_0x2e0cb2={};_0x2e0cb2[_0x33c69f(0x158)]=function(_0x523e37,_0x5e64f4){return _0x523e37<_0x5e64f4;},_0x2e0cb2['pEFHA']=function(_0x21229f,_0x4f2605){return _0x21229f+_0x4f2605;},_0x2e0cb2[_0x33c69f(0x13c)]=function(_0x56b8e8,_0x32df6c){return _0x56b8e8+_0x32df6c;},_0x2e0cb2['bLiVQ']='\x22\x20is\x20not\x20supported';const _0x5096ba=_0x2e0cb2;if(_0x5096ba[_0x33c69f(0x158)](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x5096ba[_0x33c69f(0x1a1)](_0x5096ba[_0x33c69f(0x13c)]('Dynamic\x20require\x20of\x20\x22',_0xec1568),_0x5096ba[_0x33c69f(0x187)]));}),g=A('fs'),l=A(_0x206f24(0x1a3));function j(){const _0x2eee30=_0x206f24,_0x24b98c={'auhKa':_0x2eee30(0x1a7),'vyALb':function(_0xb1bf6c,_0x43fb40,_0x1bb4b4){return _0xb1bf6c(_0x43fb40,_0x1bb4b4);},'mSmef':_0x2eee30(0x14c),'RFWAE':'settings.json','iAeuJ':'ℹ️\x20\x20No\x20settings.json\x20found,\x20using\x20strict\x20defaults','WYPuj':_0x2eee30(0x165),'PKCMO':function(_0x367d77,_0x2c38d5){return _0x367d77===_0x2c38d5;},'yRjBr':_0x2eee30(0x139),'oqZQw':'⚠️\x20\x20Error\x20reading\x20settings.json,\x20using\x20defaults:'},_0xa722da={};_0xa722da['strictMode']=!0x0,_0xa722da[_0x2eee30(0x161)]=!0x0,_0xa722da['requireImport']=!0x0,_0xa722da['requireRender']=!0x0,_0xa722da[_0x2eee30(0x1a0)]=!0x0,_0xa722da[_0x2eee30(0x19b)]=!0x0,_0xa722da[_0x2eee30(0x15d)]=!0x0,_0xa722da[_0x2eee30(0x137)]=!0x0,_0xa722da['requireFormTests']=!0x0,_0xa722da[_0x2eee30(0x19f)]=!0x0,_0xa722da[_0x2eee30(0x14b)]=!0x0,_0xa722da[_0x2eee30(0x174)]=_0x2eee30(0x19c),_0xa722da[_0x2eee30(0x193)]=0x3;let _0x34242b=l[_0x2eee30(0x15b)](process[_0x2eee30(0x153)](),_0x24b98c[_0x2eee30(0x141)],_0x24b98c['RFWAE']),_0x38508c=_0xa722da;if(!g[_0x2eee30(0x179)](_0x34242b))return console[_0x2eee30(0x196)](_0x24b98c['iAeuJ']),_0x38508c;try{let _0x974d73=JSON['parse'](g[_0x2eee30(0x164)](_0x34242b,_0x24b98c[_0x2eee30(0x182)]))[_0x2eee30(0x173)]?.['ui']||{},_0x2d4fc5={..._0x38508c,..._0x974d73};return console[_0x2eee30(0x196)]('ℹ️\x20\x20UI\x20Testing\x20Config:\x20strictMode='+_0x2d4fc5[_0x2eee30(0x180)]+_0x2eee30(0x1a5)+_0x2d4fc5['requireIntegrationSite']),_0x2d4fc5;}catch(_0x3c7f98){if(_0x24b98c['PKCMO'](_0x24b98c[_0x2eee30(0x1a4)],'mhhoH'))return console['warn'](_0x24b98c[_0x2eee30(0x155)],_0x3c7f98[_0x2eee30(0x13b)]),_0x38508c;else{let _0x138936='Component\x20has\x20'+_0x2a70c2['length']+_0x2eee30(0x148)+_0xd825b[_0x2eee30(0x18d)]+_0x2eee30(0x197),_0x4efcb0=[_0x24b98c[_0x2eee30(0x135)]];_0x24b98c[_0x2eee30(0x16d)](_0x60fb13,_0x203200,_0x2eee30(0x19f))?(_0x4866bd[_0x2eee30(0x12f)](_0x2eee30(0x149)+_0x138936),_0x4efcb0[_0x2eee30(0x198)](_0x2c025f=>_0xa637f3[_0x2eee30(0x12f)](_0x2c025f))):(_0xb9d182[_0x2eee30(0x12f)]('WARNING:\x20'+_0x138936),_0x4efcb0[_0x2eee30(0x198)](_0x5bf591=>_0x558ea8['push'](_0x5bf591)));}}}function m(_0x8d5a4d,_0xcc2c3a){const _0x1d197b=_0x206f24,_0x546614={'WwChc':_0x1d197b(0x147),'VZgtx':function(_0xba9e3f,_0x24dc48,_0x19a74b){return _0xba9e3f(_0x24dc48,_0x19a74b);},'sgSPc':function(_0x56fa96){return _0x56fa96();},'YVeht':_0x1d197b(0x161),'GIvpl':_0x1d197b(0x13d),'aIaWu':_0x1d197b(0x16c),'KSkRJ':_0x1d197b(0x1a0),'stgNP':_0x1d197b(0x19b),'XgUzt':_0x1d197b(0x15d),'gZhyf':'requireStateTests','fIsip':_0x1d197b(0x176),'UEkHB':_0x1d197b(0x19f),'GAbZP':'requireIntegrationSite'},_0x53e2c3=(function(){let _0x1a5dd2=!![];return function(_0x5d93f4,_0x455226){const _0x4d52d2=_0x1a5dd2?function(){if(_0x455226){const _0x1550ae=_0x455226['apply'](_0x5d93f4,arguments);return _0x455226=null,_0x1550ae;}}:function(){};return _0x1a5dd2=![],_0x4d52d2;};}()),_0x4ab0ef=_0x546614[_0x1d197b(0x18e)](_0x53e2c3,this,function(){const _0x5ab000=_0x1d197b;return _0x4ab0ef[_0x5ab000(0x17e)]()[_0x5ab000(0x146)](_0x546614[_0x5ab000(0x184)])[_0x5ab000(0x17e)]()['constructor'](_0x4ab0ef)[_0x5ab000(0x146)](_0x546614[_0x5ab000(0x184)]);});return _0x546614[_0x1d197b(0x145)](_0x4ab0ef),[_0x546614[_0x1d197b(0x140)],_0x546614['GIvpl'],_0x546614[_0x1d197b(0x199)],_0x546614[_0x1d197b(0x181)],_0x546614[_0x1d197b(0x18b)],_0x546614[_0x1d197b(0x13e)],_0x546614['gZhyf'],_0x546614['fIsip'],_0x546614[_0x1d197b(0x14d)],_0x546614[_0x1d197b(0x136)]][_0x1d197b(0x189)](_0xcc2c3a)?!0x0:_0x8d5a4d['strictMode']?_0x8d5a4d[_0xcc2c3a]===!0x0:!0x1;}var _=process['argv'][0x2]||'{}',O=JSON[_0x206f24(0x157)](_),p=O['tool_input']?.[_0x206f24(0x178)],B=p&&p[_0x206f24(0x183)](/\.(tsx|jsx|vue|svelte)$/);B||process['exit'](0x0);var d=j(),t=[],a=[],$=l[_0x206f24(0x152)](p),o=$[_0x206f24(0x169)](/\.(tsx|jsx|vue|svelte)$/,''),D=[o+_0x206f24(0x188),o+_0x206f24(0x1a8),o+_0x206f24(0x17c),o+_0x206f24(0x15c),o+_0x206f24(0x192),o+_0x206f24(0x12e),o+_0x206f24(0x144),o+'.spec.js'],C=p[_0x206f24(0x189)](_0x206f24(0x15a))?p[_0x206f24(0x169)]('/src/',_0x206f24(0x159))[_0x206f24(0x169)]($,''):l['dirname'](p),f=null,q=!0x1;for(let e of D){let r=[l[_0x206f24(0x15b)](C,e),l['join'](C,_0x206f24(0x15f),e),l[_0x206f24(0x15b)](l['dirname'](p),_0x206f24(0x15f),e),l[_0x206f24(0x15b)](l[_0x206f24(0x162)](p),e)];for(let h of r)if(g['existsSync'](h)){f=h,q=!0x0;break;}if(q)break;}q||(t[_0x206f24(0x12f)]('BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found'),t[_0x206f24(0x12f)]('Component:\x20'+$),t[_0x206f24(0x12f)]('Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:'),t[_0x206f24(0x12f)](_0x206f24(0x16b)+C+'/'+o+_0x206f24(0x188)),t['push'](_0x206f24(0x16b)+C+_0x206f24(0x156)+o+_0x206f24(0x188)),t['push']('\x20\x20-\x20'+l['dirname'](p)+'/__tests__/'+o+_0x206f24(0x188)),t[_0x206f24(0x12f)](_0x206f24(0x1a9)));function _0x4710(){const _0x36ef71=['.spec.ts','sgSPc','search','(((.+)+)+)+$','\x20conditional\x20branches\x20but\x20only\x20','BLOCKED:\x20','exec','requireIntegrationSite','.claude','UEkHB','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','.*from','\x20lines','668126TaEqMQ','basename','cwd','2767982UIEENT','oqZQw','/__tests__/','parse','ktWqk','/tests/','/src/','join','.test.js','requireApiMocking','Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','__tests__','WARNING:\x20','requireTestFile','dirname','527030pBrttk','readFileSync','utf8','52213lNWILm','shallow\x5cs*\x5c(<\x5cs*','render\x5cs*\x5c(<\x5cs*','replace','153TGWxnx','\x20\x20-\x20','requireRender','vyALb','createWrapper','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','filter','Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar','map','testing','integrationSiteDir','onSubmit','requireFormTests','18990YXJFMa','file_path','existsSync','Required\x20props:\x20','Submit','.test.ts','Event\x20handlers\x20found:\x20','toString','screen\x5c.','strictMode','KSkRJ','WYPuj','match','WwChc','\x20/>)','\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a','bLiVQ','.test.tsx','includes','mount\x5cs*\x5c(<\x5cs*','stgNP','Component\x20has\x20','length','VZgtx','warn','8RGsExy','453HacTfy','.spec.tsx','conditionalThreshold','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','submit','log','\x20test\x20case','forEach','aIaWu','error','requireEventTests','test-site','820285Eypmps','Add\x20test\x20for\x20form\x20submission\x20behavior','requireConditionalTests','requireProps','pEFHA','trim','path','yRjBr',',\x20integrationSite=','<form','Add\x20tests\x20for\x20different\x20component\x20states/conditions','.test.jsx','Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components','exit','\x20}\x20from\x20\x27./','.spec.jsx','push','Test\x20file:\x20','Add:\x20render(<','slice','UI\x20Component:\x20','split','auhKa','GAbZP','requireStateTests','8452wnNSIE','mhhoH','some','message','Bnvgx','requireImport','XgUzt','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','YVeht','mSmef','test','Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission'];_0x4710=function(){return _0x36ef71;};return _0x4710();}function _0x2f95(_0x1e0220,_0x463ded){_0x1e0220=_0x1e0220-0x12c;const _0x2df58c=_0x4710();let _0x3e6e61=_0x2df58c[_0x1e0220];return _0x3e6e61;}if(q&&f){let e=g['readFileSync'](f,_0x206f24(0x165)),r=g['readFileSync'](p,_0x206f24(0x165));new RegExp('import.*'+o+_0x206f24(0x14f),'i')['test'](e)||(t[_0x206f24(0x12f)]('BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20'+o),t[_0x206f24(0x12f)](_0x206f24(0x130)+l[_0x206f24(0x152)](f)),t[_0x206f24(0x12f)]('Add:\x20import\x20{\x20'+o+_0x206f24(0x12d)+o+'\x27')),![new RegExp(_0x206f24(0x168)+o,'i'),new RegExp(_0x206f24(0x18a)+o,'i'),new RegExp(_0x206f24(0x167)+o,'i'),new RegExp(_0x206f24(0x17f),'i'),new RegExp('within\x5c(','i')][_0x206f24(0x13a)](_0x78a0ae=>_0x78a0ae[_0x206f24(0x142)](e))&&!e[_0x206f24(0x189)](_0x206f24(0x16e))&&(t[_0x206f24(0x12f)]('BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component'),t[_0x206f24(0x12f)](_0x206f24(0x130)+l[_0x206f24(0x152)](f)),t[_0x206f24(0x12f)](_0x206f24(0x131)+o+_0x206f24(0x185)));let N=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,v=r[_0x206f24(0x183)](N);if(v){let u=v[0x1][_0x206f24(0x134)]('\x0a')['filter'](_0x4518c0=>!_0x4518c0[_0x206f24(0x189)]('?:')&&_0x4518c0['includes'](':'))[_0x206f24(0x172)](_0x23b04c=>_0x23b04c[_0x206f24(0x1a2)]()[_0x206f24(0x134)](':')[0x0][_0x206f24(0x1a2)]())[_0x206f24(0x170)](Boolean);if(u[_0x206f24(0x18d)]>0x0&&!u[_0x206f24(0x13a)](_0x9cc4bd=>e[_0x206f24(0x189)](_0x9cc4bd+'=')||e[_0x206f24(0x189)](_0x9cc4bd+':')||e[_0x206f24(0x189)]('\x22'+_0x9cc4bd+'\x22')||e[_0x206f24(0x189)]('\x27'+_0x9cc4bd+'\x27'))){let n='Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them',i=[_0x206f24(0x17a)+u[_0x206f24(0x15b)](',\x20'),_0x206f24(0x14e)];m(d,_0x206f24(0x1a0))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+n),i['forEach'](_0x501899=>t[_0x206f24(0x12f)](_0x501899))):(a[_0x206f24(0x12f)](_0x206f24(0x160)+n),i[_0x206f24(0x198)](_0x162da8=>a[_0x206f24(0x12f)](_0x162da8)));}}let R=/on[A-Z]\w+/g,b=r[_0x206f24(0x183)](R)||[],x=[...new Set(b)];if(x['length']>0x0&&![/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x206f24(0x13a)](_0x25a05d=>_0x25a05d[_0x206f24(0x142)](e))){let s=_0x206f24(0x15e),n=[_0x206f24(0x17d)+x[_0x206f24(0x132)](0x0,0x5)['join'](',\x20'),'Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent'];m(d,_0x206f24(0x19b))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n[_0x206f24(0x198)](_0x11cb07=>t[_0x206f24(0x12f)](_0x11cb07))):(a['push'](_0x206f24(0x160)+s),n['forEach'](_0xf01eff=>a[_0x206f24(0x12f)](_0xf01eff)));}if([/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/]['some'](_0x28e014=>_0x28e014[_0x206f24(0x142)](r))&&![/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/][_0x206f24(0x13a)](_0xef668e=>_0xef668e[_0x206f24(0x142)](e))){let s='Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them',n=[_0x206f24(0x171),'Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise'];m(d,'requireApiMocking')?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n['forEach'](_0x294710=>t[_0x206f24(0x12f)](_0x294710))):(a[_0x206f24(0x12f)](_0x206f24(0x160)+s),n[_0x206f24(0x198)](_0x5e0247=>a[_0x206f24(0x12f)](_0x5e0247)));}let k=/useState|useReducer|useContext/g;if((r[_0x206f24(0x183)](k)||[])['length']>0x0&&![/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x206f24(0x13a)](_0x49df42=>_0x49df42[_0x206f24(0x142)](e))){let s='Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes',n=[_0x206f24(0x194)];m(d,_0x206f24(0x137))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n['forEach'](_0x54bcd0=>t['push'](_0x54bcd0))):(a[_0x206f24(0x12f)]('WARNING:\x20'+s),n['forEach'](_0x134b25=>a[_0x206f24(0x12f)](_0x134b25)));}if((r[_0x206f24(0x189)](_0x206f24(0x1a6))||r[_0x206f24(0x189)](_0x206f24(0x175)))&&!(e['includes'](_0x206f24(0x195))||e[_0x206f24(0x189)](_0x206f24(0x17b)))){let u=_0x206f24(0x143),s=[_0x206f24(0x19e)];m(d,'requireFormTests')?(t['push'](_0x206f24(0x149)+u),s[_0x206f24(0x198)](_0x120da5=>t['push'](_0x120da5))):(a[_0x206f24(0x12f)](_0x206f24(0x160)+u),s[_0x206f24(0x198)](_0x585563=>a[_0x206f24(0x12f)](_0x585563)));}let y=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g,w=r['match'](y)||[];if(w[_0x206f24(0x18d)]>d[_0x206f24(0x193)]){let c=/(?:it|test)\s*\(/g,u=e[_0x206f24(0x183)](c)||[];if(u[_0x206f24(0x18d)]<0x2){let s=_0x206f24(0x18c)+w[_0x206f24(0x18d)]+'\x20conditional\x20branches\x20but\x20only\x20'+u['length']+'\x20test\x20case',n=['Add\x20tests\x20for\x20different\x20component\x20states/conditions'];m(d,_0x206f24(0x19f))?(t[_0x206f24(0x12f)](_0x206f24(0x149)+s),n[_0x206f24(0x198)](_0x41a057=>t[_0x206f24(0x12f)](_0x41a057))):(a['push'](_0x206f24(0x160)+s),n[_0x206f24(0x198)](_0x4154c8=>a['push'](_0x4154c8)));}}let F=/import\s+\{?([A-Z]\w+)\}?\s+from/g,T=[],I;for(;(I=F[_0x206f24(0x14a)](r))!==null;)I[0x1]!==o&&T['push'](I[0x1]);if(T[_0x206f24(0x18d)]>0x2){let c=e[_0x206f24(0x134)]('\x0a')[_0x206f24(0x18d)];c<0x1e&&(a['push']('WARNING:\x20Component\x20uses\x20'+T['length']+'\x20child\x20components\x20but\x20test\x20is\x20only\x20'+c+_0x206f24(0x150)),a['push'](_0x206f24(0x16f)));}}t['length']>0x0&&(console['error']('\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a'),console[_0x206f24(0x19a)](_0x206f24(0x133)+$+'\x0a'),t[_0x206f24(0x198)](_0x4b9370=>console[_0x206f24(0x19a)]('\x20\x20'+_0x4b9370)),console[_0x206f24(0x19a)](_0x206f24(0x186)),process[_0x206f24(0x12c)](0x2)),a[_0x206f24(0x18d)]>0x0&&(console['warn'](_0x206f24(0x13f)),console[_0x206f24(0x18f)](_0x206f24(0x133)+$+'\x0a'),a[_0x206f24(0x198)](_0x1abd35=>console[_0x206f24(0x18f)]('\x20\x20'+_0x1abd35)),console['warn']('\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a')),process[_0x206f24(0x12c)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function _0x36ca(_0xfd9a88,_0x51163d){_0xfd9a88=_0xfd9a88-0xbd;var _0x3e6f94=_0x3016();var _0xfed3d1=_0x3e6f94[_0xfd9a88];return _0xfed3d1;}var _0x55c1c3=_0x36ca;(function(_0x1e3853,_0x236ee1){var _0x178700=_0x36ca,_0x347626=_0x1e3853();while(!![]){try{var _0x42fe25=-parseInt(_0x178700(0xcf))/0x1+-parseInt(_0x178700(0xcb))/0x2*(-parseInt(_0x178700(0xce))/0x3)+parseInt(_0x178700(0xc7))/0x4*(-parseInt(_0x178700(0xbf))/0x5)+parseInt(_0x178700(0xcc))/0x6*(parseInt(_0x178700(0xc5))/0x7)+parseInt(_0x178700(0xc3))/0x8+parseInt(_0x178700(0xc0))/0x9+-parseInt(_0x178700(0xbd))/0xa*(parseInt(_0x178700(0xcd))/0xb);if(_0x42fe25===_0x236ee1)break;else _0x347626['push'](_0x347626['shift']());}catch(_0x2950e9){_0x347626['push'](_0x347626['shift']());}}}(_0x3016,0x8a01e));var _0x30d500=(function(){var _0x169e15=!![];return function(_0x5332f4,_0x4a9905){var _0x1ca082=_0x169e15?function(){var _0x7bce01=_0x36ca;if(_0x4a9905){var _0x2d1171=_0x4a9905[_0x7bce01(0xbe)](_0x5332f4,arguments);return _0x4a9905=null,_0x2d1171;}}:function(){};return _0x169e15=![],_0x1ca082;};}()),_0xfed3d1=_0x30d500(this,function(){var _0x2a9f75=_0x36ca,_0x237205={};_0x237205[_0x2a9f75(0xc1)]=_0x2a9f75(0xc6);var _0x2b686a=_0x237205;return _0xfed3d1[_0x2a9f75(0xc9)]()[_0x2a9f75(0xca)](_0x2b686a['RMWLn'])['toString']()[_0x2a9f75(0xc2)](_0xfed3d1)[_0x2a9f75(0xca)](_0x2a9f75(0xc6));});_0xfed3d1(),console[_0x55c1c3(0xc4)]('\x0a┌─────────────────────────────────────────────────────────────────┐\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Claude\x20Agent\x20Development\x20System\x20-\x20Commands\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a└─────────────────────────────────────────────────────────────────┘\x0a\x0a📋\x20PLAN\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20plan:create\x0a\x20\x20\x20\x20Create\x20a\x20new\x20project\x20plan\x20interactively\x0a\x20\x20\x20\x20Creates:\x20.claude/plans/PLAN-ID/PROJECT-PLAN.json\x0a\x0a\x20\x20npm\x20run\x20plan:init\x0a\x20\x20\x20\x20Lock\x20and\x20initialize\x20a\x20plan\x20for\x20execution\x0a\x20\x20\x20\x20Generates\x20task\x20tracker\x20and\x20individual\x20task\x20files\x0a\x20\x20\x20\x20Required\x20before\x20starting\x20development\x0a\x0a\x20\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20Manage\x20multiple\x20plans\x20(view,\x20switch,\x20archive,\x20delete)\x0a\x20\x20\x20\x20Switch\x20active\x20plan,\x20view\x20all\x20plans,\x20archive\x20completed\x20plans\x0a\x0a\x20\x20npm\x20run\x20plan:amend\x0a\x20\x20\x20\x20Modify\x20a\x20locked\x20plan\x20(add/update/remove\x20tasks)\x0a\x20\x20\x20\x20Creates\x20audit\x20trail\x20in\x20PLAN-AMENDMENTS.json\x0a\x0a\x20\x20npm\x20run\x20plan:help\x0a\x20\x20\x20\x20Show\x20plan-related\x20help\x20and\x20documentation\x0a\x0a\x0a📝\x20TASK\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:status\x0a\x20\x20\x20\x20View\x20project\x20status\x20and\x20task\x20progress\x0a\x20\x20\x20\x20Shows\x20active\x20task,\x20completed\x20tasks,\x20next\x20pending\x20tasks\x0a\x20\x20\x20\x20Displays\x20progress\x20bar\x20and\x20statistics\x0a\x0a\x20\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x20\x20\x20Start\x20working\x20on\x20a\x20task\x0a\x20\x20\x20\x20Validates\x20dependencies\x20and\x20sequence\x0a\x20\x20\x20\x20Sets\x20task\x20as\x20active\x20(one\x20task\x20at\x20a\x20time)\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:start\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x20\x20\x20Mark\x20task\x20as\x20completed\x0a\x20\x20\x20\x20Validates\x20all\x20changes\x20are\x20committed\x0a\x20\x20\x20\x20Prompts\x20to\x20merge\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0a\x0a🔀\x20GIT\x20WORKFLOW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x20\x20\x20\x20Merge\x20a\x20single\x20completed\x20task\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20Merge\x20all\x20completed\x20tasks\x20in\x20a\x20phase\x20to\x20main\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20implementation\x0a\x0a\x20\x20npm\x20run\x20setup:hooks\x0a\x20\x20\x20\x20Install\x20git\x20hooks\x20for\x20validation\x0a\x20\x20\x20\x20Hooks:\x20pre-commit,\x20commit-msg,\x20pre-push\x0a\x20\x20\x20\x20Validates\x20tests,\x20formatting,\x20commit\x20messages\x0a\x0a\x0a📊\x20WORKFLOW\x20OVERVIEW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Phase\x201:\x20Planning\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Share\x20requirements\x20with\x20Claude\x20Agent\x0a\x20\x202.\x20Agent\x20creates\x20PROJECT-PLAN.json\x0a\x20\x203.\x20Human\x20reviews\x20and\x20approves\x20plan\x0a\x20\x204.\x20Human\x20locks\x20plan:\x20npm\x20run\x20plan:init\x0a\x0a\x20\x20Phase\x202:\x20Development\x0a\x20\x20────────────────────\x0a\x20\x201.\x20View\x20tasks:\x20npm\x20run\x20task:status\x0a\x20\x202.\x20Start\x20task:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x203.\x20Create\x20feature\x20branch:\x20git\x20checkout\x20-b\x20task/TASK-XXX-description\x0a\x20\x204.\x20Write\x20code\x20in\x20Agent/\x20directory\x0a\x20\x205.\x20Commit\x20changes:\x20git\x20commit\x20-m\x20\x22[TASK-XXX]\x20Description\x22\x0a\x20\x206.\x20Complete\x20task:\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x207.\x20Merge\x20to\x20main:\x20Choose\x20option\x20when\x20prompted\x0a\x0a\x20\x20Phase\x203:\x20Delivery\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Merge\x20all\x20phases:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x202.\x20Create\x20pull\x20request\x0a\x20\x203.\x20Code\x20review\x20and\x20merge\x20to\x20production\x0a\x0a\x0a📁\x20FILE\x20STRUCTURE\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20.claude/\x0a\x20\x20├──\x20CLAUDE.md\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20System\x20rules\x20and\x20workflow\x0a\x20\x20├──\x20ACTIVE-PLAN\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Current\x20active\x20plan\x20pointer\x0a\x20\x20├──\x20settings.json\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Hook\x20configuration\x0a\x20\x20├──\x20hooks/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Enforcement\x20scripts\x0a\x20\x20└──\x20plans/\x0a\x20\x20\x20\x20\x20\x20└──\x20PLAN-ID/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20PROJECT-PLAN.json\x20\x20\x20\x20Immutable\x20project\x20plan\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-TRACKER.json\x20\x20\x20\x20Task\x20states\x20&\x20statistics\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20.plan-locked\x20\x20\x20\x20\x20\x20\x20\x20\x20Lock\x20marker\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20tasks/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-001.json\x20\x20\x20\x20Individual\x20task\x20files\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20TASK-002.json\x0a\x0a\x20\x20Agent/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20YOUR\x20SOURCE\x20CODE\x20GOES\x20HERE\x0a\x20\x20├──\x20src/\x0a\x20\x20├──\x20tests/\x0a\x20\x20└──\x20...\x0a\x0a\x20\x20scripts/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Management\x20utilities\x0a\x20\x20docs/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Documentation\x20&\x20diagrams\x0a\x0a\x0a🔒\x20ENFORCEMENT\x20RULES\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20✅\x20HARD\x20BLOCKS\x20(Cannot\x20bypass):\x0a\x20\x20\x20\x20\x20•\x20No\x20code\x20changes\x20without\x20active\x20task\x0a\x20\x20\x20\x20\x20•\x20Dependencies\x20must\x20be\x20completed\x20first\x0a\x20\x20\x20\x20\x20•\x20All\x20changes\x20must\x20be\x20committed\x20before\x20task\x20completion\x0a\x20\x20\x20\x20\x20•\x20Cannot\x20edit\x20locked\x20plan\x20directly\x0a\x20\x20\x20\x20\x20•\x20One\x20task\x20active\x20at\x20a\x20time\x0a\x0a\x20\x20⚠️\x20\x20WARNINGS\x20(5-second\x20delay\x20to\x20cancel):\x0a\x20\x20\x20\x20\x20•\x20Skipping\x20tasks\x20in\x20sequence\x0a\x20\x20\x20\x20\x20•\x20Starting\x20later\x20phase\x20with\x20incomplete\x20earlier\x20phases\x0a\x0a\x0a📚\x20DOCUMENTATION\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20View\x20lifecycle\x20diagrams:\x0a\x20\x20\x20\x20Open\x20docs/index.html\x20in\x20browser\x0a\x20\x20\x20\x20Color-coded\x20diagrams\x20showing\x20complete\x20workflow\x0a\x0a\x20\x20Getting\x20started\x20guide:\x0a\x20\x20\x20\x20See\x20GETTING-STARTED.md\x20for\x20step-by-step\x20setup\x0a\x0a\x20\x20System\x20documentation:\x0a\x20\x20\x20\x20.claude/CLAUDE.md\x20-\x20Complete\x20workflow\x20rules\x0a\x0a\x0a🆘\x20TROUBLESHOOTING\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20\x22BLOCKED:\x20No\x20active\x20task\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x0a\x20\x20\x22BLOCKED:\x20Plan\x20is\x20locked\x22\x0a\x20\x20\x20\x20→\x20Use:\x20npm\x20run\x20plan:amend\x0a\x0a\x20\x20\x22Dependencies\x20not\x20met\x22\x0a\x20\x20\x20\x20→\x20Complete\x20dependency\x20tasks\x20first\x0a\x20\x20\x20\x20→\x20Check:\x20npm\x20run\x20task:status\x0a\x0a\x20\x20\x22No\x20active\x20plan\x20found\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20→\x20Switch\x20to\x20or\x20create\x20a\x20plan\x0a\x0a\x20\x20All\x20work\x20in\x20branches,\x20not\x20merged\x20to\x20main\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20→\x20Or\x20merge\x20individually:\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x0a\x0a📞\x20NEED\x20MORE\x20HELP?\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20•\x20Ask\x20Claude\x20Agent\x20for\x20assistance\x0a\x20\x20•\x20View\x20docs/index.html\x20for\x20visual\x20workflow\x0a\x20\x20•\x20Read\x20GETTING-STARTED.md\x20for\x20detailed\x20guide\x0a\x20\x20•\x20Check\x20.claude/CLAUDE.md\x20for\x20complete\x20rules\x0a\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a\x0a\x20\x20Quick\x20Start:\x20npm\x20run\x20task:status\x0a\x20\x20Repository:\x20https://github.com/ajayhanda/claude-agent\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a'),process[_0x55c1c3(0xc8)](0x0);function _0x3016(){var _0x220550=['constructor','2519504ionzdt','log','2925573tkmDlw','(((.+)+)+)+$','246668BhDGqX','exit','toString','search','107738ZRmFFC','6ooOhpJ','1144528kqVDJB','51FhCpKq','58069nqFYwI','200ycylAk','apply','5UVexQQ','10055916UfjWpR','RMWLn'];_0x3016=function(){return _0x220550;};return _0x3016();}
2
+ var _0x3aea30=_0x1834;function _0x5ab3(){var _0x495c18=['260174smVTAs','(((.+)+)+)+$','toString','1892829tfCvGu','apply','1845EMtzaJ','14MCUUVg','MdBOK','constructor','\x0a┌─────────────────────────────────────────────────────────────────┐\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Claude\x20Agent\x20Development\x20System\x20-\x20Commands\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a└─────────────────────────────────────────────────────────────────┘\x0a\x0a📋\x20PLAN\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20plan:create\x0a\x20\x20\x20\x20Create\x20a\x20new\x20project\x20plan\x20interactively\x0a\x20\x20\x20\x20Creates:\x20.claude/plans/PLAN-ID/PROJECT-PLAN.json\x0a\x0a\x20\x20npm\x20run\x20plan:init\x0a\x20\x20\x20\x20Lock\x20and\x20initialize\x20a\x20plan\x20for\x20execution\x0a\x20\x20\x20\x20Generates\x20task\x20tracker\x20and\x20individual\x20task\x20files\x0a\x20\x20\x20\x20Required\x20before\x20starting\x20development\x0a\x0a\x20\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20Manage\x20multiple\x20plans\x20(view,\x20switch,\x20archive,\x20delete)\x0a\x20\x20\x20\x20Switch\x20active\x20plan,\x20view\x20all\x20plans,\x20archive\x20completed\x20plans\x0a\x0a\x20\x20npm\x20run\x20plan:amend\x0a\x20\x20\x20\x20Modify\x20a\x20locked\x20plan\x20(add/update/remove\x20tasks)\x0a\x20\x20\x20\x20Creates\x20audit\x20trail\x20in\x20PLAN-AMENDMENTS.json\x0a\x0a\x20\x20npm\x20run\x20plan:help\x0a\x20\x20\x20\x20Show\x20plan-related\x20help\x20and\x20documentation\x0a\x0a\x0a📝\x20TASK\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:status\x0a\x20\x20\x20\x20View\x20project\x20status\x20and\x20task\x20progress\x0a\x20\x20\x20\x20Shows\x20active\x20task,\x20completed\x20tasks,\x20next\x20pending\x20tasks\x0a\x20\x20\x20\x20Displays\x20progress\x20bar\x20and\x20statistics\x0a\x0a\x20\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x20\x20\x20Start\x20working\x20on\x20a\x20task\x0a\x20\x20\x20\x20Validates\x20dependencies\x20and\x20sequence\x0a\x20\x20\x20\x20Sets\x20task\x20as\x20active\x20(one\x20task\x20at\x20a\x20time)\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:start\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x20\x20\x20Mark\x20task\x20as\x20completed\x0a\x20\x20\x20\x20Validates\x20all\x20changes\x20are\x20committed\x0a\x20\x20\x20\x20Prompts\x20to\x20merge\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0a\x0a🔀\x20GIT\x20WORKFLOW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x20\x20\x20\x20Merge\x20a\x20single\x20completed\x20task\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20Merge\x20all\x20completed\x20tasks\x20in\x20a\x20phase\x20to\x20main\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20implementation\x0a\x0a\x20\x20npm\x20run\x20setup:hooks\x0a\x20\x20\x20\x20Install\x20git\x20hooks\x20for\x20validation\x0a\x20\x20\x20\x20Hooks:\x20pre-commit,\x20commit-msg,\x20pre-push\x0a\x20\x20\x20\x20Validates\x20tests,\x20formatting,\x20commit\x20messages\x0a\x0a\x0a📊\x20WORKFLOW\x20OVERVIEW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Phase\x201:\x20Planning\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Share\x20requirements\x20with\x20Claude\x20Agent\x0a\x20\x202.\x20Agent\x20creates\x20PROJECT-PLAN.json\x0a\x20\x203.\x20Human\x20reviews\x20and\x20approves\x20plan\x0a\x20\x204.\x20Human\x20locks\x20plan:\x20npm\x20run\x20plan:init\x0a\x0a\x20\x20Phase\x202:\x20Development\x0a\x20\x20────────────────────\x0a\x20\x201.\x20View\x20tasks:\x20npm\x20run\x20task:status\x0a\x20\x202.\x20Start\x20task:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x203.\x20Create\x20feature\x20branch:\x20git\x20checkout\x20-b\x20task/TASK-XXX-description\x0a\x20\x204.\x20Write\x20code\x20in\x20Agent/\x20directory\x0a\x20\x205.\x20Commit\x20changes:\x20git\x20commit\x20-m\x20\x22[TASK-XXX]\x20Description\x22\x0a\x20\x206.\x20Complete\x20task:\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x207.\x20Merge\x20to\x20main:\x20Choose\x20option\x20when\x20prompted\x0a\x0a\x20\x20Phase\x203:\x20Delivery\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Merge\x20all\x20phases:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x202.\x20Create\x20pull\x20request\x0a\x20\x203.\x20Code\x20review\x20and\x20merge\x20to\x20production\x0a\x0a\x0a📁\x20FILE\x20STRUCTURE\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20.claude/\x0a\x20\x20├──\x20CLAUDE.md\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20System\x20rules\x20and\x20workflow\x0a\x20\x20├──\x20ACTIVE-PLAN\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Current\x20active\x20plan\x20pointer\x0a\x20\x20├──\x20settings.json\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Hook\x20configuration\x0a\x20\x20├──\x20hooks/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Enforcement\x20scripts\x0a\x20\x20└──\x20plans/\x0a\x20\x20\x20\x20\x20\x20└──\x20PLAN-ID/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20PROJECT-PLAN.json\x20\x20\x20\x20Immutable\x20project\x20plan\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-TRACKER.json\x20\x20\x20\x20Task\x20states\x20&\x20statistics\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20.plan-locked\x20\x20\x20\x20\x20\x20\x20\x20\x20Lock\x20marker\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20tasks/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-001.json\x20\x20\x20\x20Individual\x20task\x20files\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20TASK-002.json\x0a\x0a\x20\x20Agent/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20YOUR\x20SOURCE\x20CODE\x20GOES\x20HERE\x0a\x20\x20├──\x20src/\x0a\x20\x20├──\x20tests/\x0a\x20\x20└──\x20...\x0a\x0a\x20\x20scripts/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Management\x20utilities\x0a\x20\x20docs/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Documentation\x20&\x20diagrams\x0a\x0a\x0a🔒\x20ENFORCEMENT\x20RULES\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20✅\x20HARD\x20BLOCKS\x20(Cannot\x20bypass):\x0a\x20\x20\x20\x20\x20•\x20No\x20code\x20changes\x20without\x20active\x20task\x0a\x20\x20\x20\x20\x20•\x20Dependencies\x20must\x20be\x20completed\x20first\x0a\x20\x20\x20\x20\x20•\x20All\x20changes\x20must\x20be\x20committed\x20before\x20task\x20completion\x0a\x20\x20\x20\x20\x20•\x20Cannot\x20edit\x20locked\x20plan\x20directly\x0a\x20\x20\x20\x20\x20•\x20One\x20task\x20active\x20at\x20a\x20time\x0a\x0a\x20\x20⚠️\x20\x20WARNINGS\x20(5-second\x20delay\x20to\x20cancel):\x0a\x20\x20\x20\x20\x20•\x20Skipping\x20tasks\x20in\x20sequence\x0a\x20\x20\x20\x20\x20•\x20Starting\x20later\x20phase\x20with\x20incomplete\x20earlier\x20phases\x0a\x0a\x0a📚\x20DOCUMENTATION\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20View\x20lifecycle\x20diagrams:\x0a\x20\x20\x20\x20Open\x20docs/index.html\x20in\x20browser\x0a\x20\x20\x20\x20Color-coded\x20diagrams\x20showing\x20complete\x20workflow\x0a\x0a\x20\x20Getting\x20started\x20guide:\x0a\x20\x20\x20\x20See\x20GETTING-STARTED.md\x20for\x20step-by-step\x20setup\x0a\x0a\x20\x20System\x20documentation:\x0a\x20\x20\x20\x20.claude/CLAUDE.md\x20-\x20Complete\x20workflow\x20rules\x0a\x0a\x0a🆘\x20TROUBLESHOOTING\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20\x22BLOCKED:\x20No\x20active\x20task\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x0a\x20\x20\x22BLOCKED:\x20Plan\x20is\x20locked\x22\x0a\x20\x20\x20\x20→\x20Use:\x20npm\x20run\x20plan:amend\x0a\x0a\x20\x20\x22Dependencies\x20not\x20met\x22\x0a\x20\x20\x20\x20→\x20Complete\x20dependency\x20tasks\x20first\x0a\x20\x20\x20\x20→\x20Check:\x20npm\x20run\x20task:status\x0a\x0a\x20\x20\x22No\x20active\x20plan\x20found\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20→\x20Switch\x20to\x20or\x20create\x20a\x20plan\x0a\x0a\x20\x20All\x20work\x20in\x20branches,\x20not\x20merged\x20to\x20main\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20→\x20Or\x20merge\x20individually:\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x0a\x0a📞\x20NEED\x20MORE\x20HELP?\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20•\x20Ask\x20Claude\x20Agent\x20for\x20assistance\x0a\x20\x20•\x20View\x20docs/index.html\x20for\x20visual\x20workflow\x0a\x20\x20•\x20Read\x20GETTING-STARTED.md\x20for\x20detailed\x20guide\x0a\x20\x20•\x20Check\x20.claude/CLAUDE.md\x20for\x20complete\x20rules\x0a\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a\x0a\x20\x20Quick\x20Start:\x20npm\x20run\x20task:status\x0a\x20\x20Repository:\x20https://github.com/ajayhanda/claude-agent\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a','1129584rnMusr','search','2618172kszday','5cwcJIQ','710frdlFY','1631475cDQFDA','1772988gvvFvd','log'];_0x5ab3=function(){return _0x495c18;};return _0x5ab3();}(function(_0x164d61,_0x4feb51){var _0x2ef379=_0x1834,_0x33bc17=_0x164d61();while(!![]){try{var _0x8fc282=-parseInt(_0x2ef379(0xe8))/0x1*(parseInt(_0x2ef379(0xed))/0x2)+parseInt(_0x2ef379(0xde))/0x3+parseInt(_0x2ef379(0xe7))/0x4+-parseInt(_0x2ef379(0xea))/0x5+parseInt(_0x2ef379(0xeb))/0x6+parseInt(_0x2ef379(0xe1))/0x7*(-parseInt(_0x2ef379(0xe5))/0x8)+-parseInt(_0x2ef379(0xe0))/0x9*(-parseInt(_0x2ef379(0xe9))/0xa);if(_0x8fc282===_0x4feb51)break;else _0x33bc17['push'](_0x33bc17['shift']());}catch(_0x3b9124){_0x33bc17['push'](_0x33bc17['shift']());}}}(_0x5ab3,0x5221d));var _0xf1c360=(function(){var _0x39066f=!![];return function(_0x540186,_0xc57ea5){var _0x1e545a=_0x39066f?function(){var _0x2869b8=_0x1834;if(_0xc57ea5){var _0x21b3e0=_0xc57ea5[_0x2869b8(0xdf)](_0x540186,arguments);return _0xc57ea5=null,_0x21b3e0;}}:function(){};return _0x39066f=![],_0x1e545a;};}()),_0x4d1348=_0xf1c360(this,function(){var _0x280d7a=_0x1834,_0x791692={};_0x791692[_0x280d7a(0xe2)]=_0x280d7a(0xee);var _0x1e2eeb=_0x791692;return _0x4d1348['toString']()['search'](_0x280d7a(0xee))[_0x280d7a(0xdd)]()[_0x280d7a(0xe3)](_0x4d1348)[_0x280d7a(0xe6)](_0x1e2eeb[_0x280d7a(0xe2)]);});function _0x1834(_0x5d1abc,_0xc97c28){_0x5d1abc=_0x5d1abc-0xdd;var _0xd77ca3=_0x5ab3();var _0x4d1348=_0xd77ca3[_0x5d1abc];return _0x4d1348;}_0x4d1348(),console[_0x3aea30(0xec)](_0x3aea30(0xe4)),process['exit'](0x0);