gl-life-claude-zen 1.0.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +213 -0
- package/README.md +165 -0
- package/dist/hooks/auto-format.js +1 -1
- package/dist/hooks/complete-task.js +1 -1
- package/dist/hooks/enforce-migration-workflow.js +1 -1
- package/dist/hooks/enforce-structured-development.js +1 -1
- package/dist/hooks/enforce-test-pyramid.js +1 -1
- package/dist/hooks/init-task-tracker.js +1 -1
- package/dist/hooks/start-task.js +1 -1
- package/dist/hooks/task-status.js +1 -1
- package/dist/hooks/validate-database-changes.js +1 -1
- package/dist/hooks/validate-e2e-coverage.js +1 -1
- package/dist/hooks/validate-git-workflow.js +1 -1
- package/dist/hooks/validate-integration-site.js +2 -0
- package/dist/hooks/validate-migration-impact.js +1 -1
- package/dist/hooks/validate-task-completion.js +1 -1
- package/dist/hooks/validate-test-quality.js +1 -1
- package/dist/hooks/validate-test-results.js +1 -1
- package/dist/hooks/validate-ui-integration.js +1 -1
- package/dist/scripts/help.js +1 -1
- package/dist/scripts/plan-amend.js +1 -1
- package/dist/scripts/plan-create.js +1 -1
- package/dist/scripts/plan-help.js +1 -1
- package/dist/scripts/plan-init.js +1 -1
- package/dist/scripts/plan-manager.js +1 -1
- package/dist/scripts/setup-git-hooks.js +1 -1
- package/dist/scripts/task-done.js +1 -1
- package/dist/scripts/task-merge.js +1 -1
- package/dist/scripts/task-next.js +1 -1
- package/dist/scripts/task-start.js +1 -1
- package/dist/scripts/task-status.js +1 -1
- package/lib/init.js +9 -1
- package/package.json +6 -2
- package/templates/.claude/CLAUDE.md +196 -0
- package/templates/.claude/settings.json +40 -0
- package/templates/test-site/README.md +271 -0
- package/templates/test-site/index.html +13 -0
- package/templates/test-site/package.json +25 -0
- package/templates/test-site/server.js +125 -0
- package/templates/test-site/src/App.css +130 -0
- package/templates/test-site/src/App.jsx +78 -0
- package/templates/test-site/src/index.css +39 -0
- package/templates/test-site/src/main.jsx +10 -0
- package/templates/test-site/vite.config.js +12 -0
|
@@ -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 _0x40f7f1=_0x3e1a;(function(_0x20add8,_0x494110){var _0x34f671=_0x3e1a,_0x602d1c=_0x20add8();while(!![]){try{var _0x4640d9=-parseInt(_0x34f671(0x137))/0x1+parseInt(_0x34f671(0xed))/0x2*(parseInt(_0x34f671(0x11b))/0x3)+-parseInt(_0x34f671(0x123))/0x4*(-parseInt(_0x34f671(0xee))/0x5)+-parseInt(_0x34f671(0x114))/0x6+-parseInt(_0x34f671(0x126))/0x7+parseInt(_0x34f671(0xfb))/0x8+-parseInt(_0x34f671(0x131))/0x9*(-parseInt(_0x34f671(0x148))/0xa);if(_0x4640d9===_0x494110)break;else _0x602d1c['push'](_0x602d1c['shift']());}catch(_0x175cab){_0x602d1c['push'](_0x602d1c['shift']());}}}(_0x1e62,0x991b7));var _0x4c16d3=(function(){var _0x4126e2=_0x3e1a,_0x57353b={};_0x57353b[_0x4126e2(0x146)]='pipe',_0x57353b[_0x4126e2(0x118)]=_0x4126e2(0x145),_0x57353b[_0x4126e2(0x121)]=function(_0x4d75ce,_0x495248){return _0x4d75ce===_0x495248;},_0x57353b[_0x4126e2(0xf1)]=_0x4126e2(0x103);var _0xd8fe73=_0x57353b,_0x49c99b=!![];return function(_0x139808,_0x10e771){var _0x16f7fb=_0x4126e2,_0x5e8437={'EmaGS':function(_0x1722d5,_0x309516,_0x58033f){return _0x1722d5(_0x309516,_0x58033f);},'MPSnA':_0xd8fe73[_0x16f7fb(0x146)],'Uxvqt':_0xd8fe73[_0x16f7fb(0x118)]};if(_0xd8fe73['rXGEn'](_0xd8fe73[_0x16f7fb(0xf1)],_0x16f7fb(0x103))){var _0x40bda2=_0x49c99b?function(){var _0x14f061=_0x16f7fb;if(_0x10e771){var _0x3f9d25=_0x10e771[_0x14f061(0x138)](_0x139808,arguments);return _0x10e771=null,_0x3f9d25;}}:function(){};return _0x49c99b=![],_0x40bda2;}else{let _0x3fbc22=_0x5e8437['EmaGS'](_0x5abc37,_0x16f7fb(0x127)+_0x23ea1f+'\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':_0x16f7fb(0x11a),'stdio':[_0x5e8437[_0x16f7fb(0x14a)],'pipe',_0x5e8437['Uxvqt']]})['trim']();_0x3fbc22&&_0x3fbc22['split']('\x0a')[_0x16f7fb(0x113)](_0x367c6c)[_0x16f7fb(0x13f)](_0x15bae7=>_0x2620a7[_0x16f7fb(0x12c)](_0x15bae7));}};}()),_0x2b48a1=_0x4c16d3(this,function(){var _0x41b85a=_0x3e1a,_0xe735ab={};_0xe735ab['dkfGx']='(((.+)+)+)+$';var _0x549193=_0xe735ab;return _0x2b48a1[_0x41b85a(0x141)]()['search'](_0x549193[_0x41b85a(0x11e)])[_0x41b85a(0x141)]()[_0x41b85a(0x112)](_0x2b48a1)[_0x41b85a(0x105)](_0x549193[_0x41b85a(0x11e)]);});_0x2b48a1();function _0x1e62(){var _0x499bb9=['\x20affected\x20code\x20files','length','IsoFy','match','\x20\x20\x20\x20\x203.\x20Run:\x20npm\x20test\x20(verify\x20all\x20tests\x20pass)','file_path','Database\x20schema\x20changed\x20but\x20NO\x20test\x20files\x20were\x20modified','\x20\x20\x20\x20\x20-\x20','slice','severity','detected','size','4549072SvxVrQ','\x20\x202.\x20Update\x20ALL\x20tests\x20to\x20reflect\x20schema\x20changes','\x20\x20✅\x20Migration\x20impact\x20analysis\x20complete\x0a','warn','error','\x0a❌\x20MIGRATION\x20IMPACT\x20VALIDATION\x20FAILED\x0a','path','get','UgYIr','readFileSync','search','\x20\x203.\x20Run\x20tests\x20to\x20verify\x20nothing\x20breaks','parse','test','\x20\x20ℹ️\x20\x20Could\x20not\x20extract\x20table/column\x20names\x20from\x20migration','pattern','\x20\x20Manual\x20code\x20review\x20required\x0a','\x0a⚠️\x20\x20MIGRATION\x20IMPACT\x20WARNINGS\x0a','type','RENAME\x20COLUMN','ADD\x20NOT\x20NULL','LlAAf','set','constructor','filter','7225236sbNOqN','DROP\x20TABLE','split','argv','tqwjq','\x20\x204.\x20Create\x20a\x20rollback\x20plan','utf8','1923qRiYPb','\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','\x0aFix\x20code/tests\x20before\x20committing\x20migration.\x0a','dkfGx','unknown','\x20files\x20that\x20reference\x20these\x20tables:\x0a','rXGEn','join','18416VQxidp','\x20\x20\x20\x20\x205.\x20Document\x20breaking\x20changes\x20in\x20commit\x20message','\x0a🔍\x20ANALYZING\x20MIGRATION\x20IMPACT:\x20','4043200lBWphl','grep\x20-r\x20-l\x20\x22','pipe','log','exec','encoding','add','\x20more','\x20\x20⚠️\x20\x20Found\x20','Add\x20tests\x20to\x20verify\x20schema\x20changes\x20work\x20correctly','Migration\x20affects\x20tables\x20used\x20in\x20codebase','3071664OvWMpA','JVDoa','LaeIq','from','BREAKING','concat','554360oraNat','apply','jWHfS','exit','RENAME\x20TABLE','\x22\x20is\x20not\x20supported','trim','git\x20diff\x20--cached\x20--name-only\x20--diff-filter=AM\x20|\x20grep\x20-E\x20\x22test|spec\x22\x20||\x20echo\x20\x22\x22','forEach','BLOCKED:\x20Breaking\x20database\x20changes\x20detected','toString','Consider\x20adding\x20indexes\x20for\x20columns\x20used\x20in\x20WHERE/JOIN\x20clauses','basename','You\x20MUST\x20update/create\x20tests\x20for\x20schema\x20changes','ignore','mBbya','\x20\x20\x20\x20\x202.\x20Update\x20tests\x20to\x20cover\x20new\x20schema','50dRqwef','child_process','MPSnA','push','\x20\x20📋\x20REQUIRED\x20ACTIONS:\x0a','cKfkX','998PfTCcs','400OhuNfa'];_0x1e62=function(){return _0x499bb9;};return _0x1e62();}var g=(_0x183c10=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x183c10,{'get':(_0x3197e6,_0x1c0724)=>(typeof require<'u'?require:_0x3197e6)[_0x1c0724]}):_0x183c10)(function(_0x32fd5d){var _0x17b1a7=_0x3e1a,_0x52e372={'cKfkX':function(_0x20a741,_0x14c504){return _0x20a741<_0x14c504;},'LaeIq':function(_0x470f3c,_0x39795b){return _0x470f3c(_0x39795b);},'jWHfS':function(_0x465af3,_0x2f9733){return _0x465af3+_0x2f9733;},'LlAAf':function(_0x3d7e81,_0x15e590){return _0x3d7e81+_0x15e590;},'JVDoa':'Dynamic\x20require\x20of\x20\x22','EKVvi':_0x17b1a7(0x13c)};if(_0x52e372[_0x17b1a7(0xec)](typeof require,'u'))return require[_0x17b1a7(0x138)](this,arguments);throw _0x52e372[_0x17b1a7(0x133)](Error,_0x52e372[_0x17b1a7(0x139)](_0x52e372[_0x17b1a7(0x110)](_0x52e372[_0x17b1a7(0x132)],_0x32fd5d),_0x52e372['EKVvi']));}),h=g('fs'),E=g(_0x40f7f1(0x101)),{execSync:f}=g(_0x40f7f1(0x149)),A=process[_0x40f7f1(0x117)][0x2]||'{}',m=JSON[_0x40f7f1(0x107)](A),r=m['tool_input']?.[_0x40f7f1(0xf4)];(!r||!r[_0x40f7f1(0xf2)](/migrations?\/.*\.(ts|js|py|sql)$/i))&&process['exit'](0x0);var o=[],s=[],N=E[_0x40f7f1(0x143)](r);console[_0x40f7f1(0x129)](_0x40f7f1(0x125)+N+'\x0a');var n;try{n=h[_0x40f7f1(0x104)](r,_0x40f7f1(0x11a));}catch{process[_0x40f7f1(0x13a)](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[_0x40f7f1(0x12a)](n))!==null;)a[_0x40f7f1(0x12c)](c[0x1]);var R=/ALTER\s+TABLE\s+[`"]?(\w+)[`"]?/gi;for(;(c=R[_0x40f7f1(0x12a)](n))!==null;)a['add'](c[0x1]);function _0x3e1a(_0x230ef3,_0x39bbf9){_0x230ef3=_0x230ef3-0xec;var _0x4b230d=_0x1e62();var _0x2b48a1=_0x4b230d[_0x230ef3];return _0x2b48a1;}var y=/DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;for(;(c=y[_0x40f7f1(0x12a)](n))!==null;)a[_0x40f7f1(0x12c)](c[0x1]);var L=/@Column\([^)]*\)[\s\n]+(\w+):/gi;for(;(c=L[_0x40f7f1(0x12a)](n))!==null;)p[_0x40f7f1(0x111)](_0x40f7f1(0xf9),(p[_0x40f7f1(0x102)](_0x40f7f1(0xf9))||[])[_0x40f7f1(0x136)](c[0x1]));a['size']===0x0&&p[_0x40f7f1(0xfa)]===0x0&&(console[_0x40f7f1(0x129)](_0x40f7f1(0x109)),console['log'](_0x40f7f1(0x10b)),process[_0x40f7f1(0x13a)](0x0)),console[_0x40f7f1(0x129)]('\x20\x20📊\x20Migration\x20affects\x20tables:\x20'+(Array[_0x40f7f1(0x134)](a)[_0x40f7f1(0x122)](',\x20')||_0x40f7f1(0x11f))+'\x0a');var t=new Set();for(let e of a)try{var _0x24fd9b={};_0x24fd9b['encoding']=_0x40f7f1(0x11a),_0x24fd9b['stdio']=[_0x40f7f1(0x128),'pipe',_0x40f7f1(0x145)];let i=f(_0x40f7f1(0x127)+e+_0x40f7f1(0x11c),_0x24fd9b)[_0x40f7f1(0x13d)]();i&&i[_0x40f7f1(0x116)]('\x0a')[_0x40f7f1(0x113)](Boolean)['forEach'](_0x38fa48=>t[_0x40f7f1(0x12c)](_0x38fa48));}catch{}t[_0x40f7f1(0xfa)]>0x0&&(console[_0x40f7f1(0x129)](_0x40f7f1(0x12e)+t[_0x40f7f1(0xfa)]+_0x40f7f1(0x120)),Array[_0x40f7f1(0x134)](t)[_0x40f7f1(0xf7)](0x0,0xa)[_0x40f7f1(0x13f)](_0x56522d=>{var _0x784828=_0x40f7f1;console[_0x784828(0x129)]('\x20\x20\x20\x20\x20-\x20'+_0x56522d);}),t[_0x40f7f1(0xfa)]>0xa&&console[_0x40f7f1(0x129)]('\x20\x20\x20\x20\x20...\x20and\x20'+(t[_0x40f7f1(0xfa)]-0xa)+_0x40f7f1(0x12d)),console[_0x40f7f1(0x129)](''),s[_0x40f7f1(0x14b)](_0x40f7f1(0x130)),s[_0x40f7f1(0x14b)]('You\x20MUST\x20update\x20affected\x20code\x20files'),s[_0x40f7f1(0x14b)](_0x40f7f1(0x144)));var _0x1fa973={};_0x1fa973[_0x40f7f1(0x10a)]=/DROP\s+COLUMN/gi,_0x1fa973[_0x40f7f1(0x10d)]='DROP\x20COLUMN',_0x1fa973['severity']='BREAKING';var _0x10238b={};_0x10238b[_0x40f7f1(0x10a)]=/DROP\s+TABLE/gi,_0x10238b[_0x40f7f1(0x10d)]=_0x40f7f1(0x115),_0x10238b['severity']=_0x40f7f1(0x135);var _0x5a530e={};_0x5a530e[_0x40f7f1(0x10a)]=/RENAME\s+COLUMN/gi,_0x5a530e[_0x40f7f1(0x10d)]=_0x40f7f1(0x10e),_0x5a530e[_0x40f7f1(0xf8)]=_0x40f7f1(0x135);var _0x178e4f={};_0x178e4f[_0x40f7f1(0x10a)]=/RENAME\s+TABLE/gi,_0x178e4f[_0x40f7f1(0x10d)]=_0x40f7f1(0x13b),_0x178e4f[_0x40f7f1(0xf8)]='BREAKING';var _0x443877={};_0x443877[_0x40f7f1(0x10a)]=/ALTER\s+COLUMN.*NOT\s+NULL/gi,_0x443877['type']=_0x40f7f1(0x10f),_0x443877[_0x40f7f1(0xf8)]=_0x40f7f1(0x135);var M=[_0x1fa973,_0x10238b,_0x5a530e,_0x178e4f,_0x443877],l=[];for(let {pattern:e,type:i,severity:d}of M)e[_0x40f7f1(0x108)](n)&&l[_0x40f7f1(0x14b)](i);l[_0x40f7f1(0xf0)]>0x0&&(console[_0x40f7f1(0x129)]('\x20\x20🚨\x20BREAKING\x20CHANGES\x20DETECTED:\x0a'),l[_0x40f7f1(0x13f)](_0x3a6d3c=>{var _0x4098f9=_0x40f7f1;console[_0x4098f9(0x129)](_0x4098f9(0xf6)+_0x3a6d3c);}),console['log'](''),o[_0x40f7f1(0x14b)](_0x40f7f1(0x140)),o['push']('Before\x20proceeding,\x20you\x20MUST:'),o['push']('\x20\x201.\x20Update\x20ALL\x20code\x20that\x20uses\x20affected\x20tables/columns'),o[_0x40f7f1(0x14b)](_0x40f7f1(0xfc)),o['push'](_0x40f7f1(0x106)),o['push'](_0x40f7f1(0x119)));try{var _0xe08cc3={};_0xe08cc3[_0x40f7f1(0x12b)]=_0x40f7f1(0x11a),_0xe08cc3['stdio']=['pipe',_0x40f7f1(0x128),_0x40f7f1(0x145)],!f(_0x40f7f1(0x13e),_0xe08cc3)['trim']()&&t[_0x40f7f1(0xfa)]>0x0&&(s['push'](_0x40f7f1(0xf5)),s[_0x40f7f1(0x14b)](_0x40f7f1(0x12f)),s[_0x40f7f1(0x14b)]('Test\x20both\x20data\x20operations\x20and\x20edge\x20cases'));}catch{}n[_0x40f7f1(0xf2)](/ADD\s+(?:COLUMN\s+)?/gi)&&(n[_0x40f7f1(0xf2)](/CREATE\s+INDEX/gi)||(s[_0x40f7f1(0x14b)]('Adding\x20columns\x20but\x20no\x20indexes\x20detected'),s[_0x40f7f1(0x14b)](_0x40f7f1(0x142)))),(t['size']>0x0||l[_0x40f7f1(0xf0)]>0x0)&&(console[_0x40f7f1(0x129)](_0x40f7f1(0x14c)),console['log']('\x20\x20\x20\x20\x201.\x20Review\x20and\x20update\x20'+t[_0x40f7f1(0xfa)]+_0x40f7f1(0xef)),console[_0x40f7f1(0x129)](_0x40f7f1(0x147)),console['log'](_0x40f7f1(0xf3)),console[_0x40f7f1(0x129)]('\x20\x20\x20\x20\x204.\x20Run:\x20npm\x20run\x20build\x20(verify\x20TypeScript\x20types\x20are\x20valid)'),console[_0x40f7f1(0x129)](_0x40f7f1(0x124)),console[_0x40f7f1(0x129)]('')),o['length']>0x0&&(console['error'](_0x40f7f1(0x100)),o[_0x40f7f1(0x13f)](_0x567a07=>console[_0x40f7f1(0xff)]('\x20\x20'+_0x567a07)),console[_0x40f7f1(0xff)](_0x40f7f1(0x11d)),process['exit'](0x2)),s[_0x40f7f1(0xf0)]>0x0&&(console[_0x40f7f1(0xfe)](_0x40f7f1(0x10c)),s['forEach'](_0x571d43=>console['warn']('\x20\x20'+_0x571d43)),console[_0x40f7f1(0xfe)]('\x0a')),console[_0x40f7f1(0x129)](_0x40f7f1(0xfd)),process[_0x40f7f1(0x13a)](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
2
|
+
var _0x2ae4b5=_0x3160;(function(_0x43c5da,_0xd2241c){var _0x32e90a=_0x3160,_0x3faa81=_0x43c5da();while(!![]){try{var _0x3d72bb=parseInt(_0x32e90a(0x205))/0x1*(-parseInt(_0x32e90a(0x228))/0x2)+-parseInt(_0x32e90a(0x21e))/0x3*(-parseInt(_0x32e90a(0x200))/0x4)+parseInt(_0x32e90a(0x20b))/0x5+-parseInt(_0x32e90a(0x21a))/0x6*(-parseInt(_0x32e90a(0x20a))/0x7)+parseInt(_0x32e90a(0x226))/0x8+-parseInt(_0x32e90a(0x1fc))/0x9*(-parseInt(_0x32e90a(0x20c))/0xa)+-parseInt(_0x32e90a(0x1eb))/0xb;if(_0x3d72bb===_0xd2241c)break;else _0x3faa81['push'](_0x3faa81['shift']());}catch(_0x577ba0){_0x3faa81['push'](_0x3faa81['shift']());}}}(_0x2cdc,0x96276));var _0x5cd189=(function(){var _0x3b89db=_0x3160,_0x5a6541={};_0x5a6541[_0x3b89db(0x1ed)]=_0x3b89db(0x21d),_0x5a6541[_0x3b89db(0x1ef)]=function(_0x37c912,_0x1fbe0f){return _0x37c912+_0x1fbe0f;},_0x5a6541[_0x3b89db(0x202)]=function(_0x2fe65c,_0x3e2935){return _0x2fe65c===_0x3e2935;},_0x5a6541[_0x3b89db(0x209)]=_0x3b89db(0x212);var _0x47a9ce=_0x5a6541,_0x255a6f=!![];return function(_0x522e64,_0x38a947){var _0x2ca3b4=_0x3b89db,_0x56ea5d={'nRTSa':function(_0x17ec6d,_0x2bafd7){return _0x17ec6d(_0x2bafd7);},'nvWys':function(_0x2d8441,_0x1aa463){var _0x531558=_0x3160;return _0x47a9ce[_0x531558(0x1ef)](_0x2d8441,_0x1aa463);},'fLqYW':function(_0x4d1219,_0x2c3c81){return _0x47a9ce['UCDPI'](_0x4d1219,_0x2c3c81);},'dDDgp':_0x2ca3b4(0x1f3)};if(_0x47a9ce[_0x2ca3b4(0x202)](_0x47a9ce['JjuBS'],_0x47a9ce[_0x2ca3b4(0x209)])){var _0x463809=_0x255a6f?function(){var _0xb9f4ec=_0x2ca3b4,_0x51bebd={'IucUK':function(_0x32902a,_0x172637){return _0x32902a<_0x172637;},'QIlML':function(_0x3e8cca,_0x1eb2ce){return _0x56ea5d['nRTSa'](_0x3e8cca,_0x1eb2ce);},'vlLQK':function(_0x270222,_0x462082){var _0x520dce=_0x3160;return _0x56ea5d[_0x520dce(0x1fd)](_0x270222,_0x462082);},'hoqGE':_0xb9f4ec(0x1e1)};if(_0x56ea5d[_0xb9f4ec(0x224)](_0x56ea5d[_0xb9f4ec(0x206)],_0x56ea5d[_0xb9f4ec(0x206)])){if(_0x38a947){var _0x4b246f=_0x38a947[_0xb9f4ec(0x207)](_0x522e64,arguments);return _0x38a947=null,_0x4b246f;}}else{if(_0x51bebd[_0xb9f4ec(0x216)](typeof _0x52a87d,'u'))return _0x216d5e[_0xb9f4ec(0x207)](this,arguments);throw _0x51bebd[_0xb9f4ec(0x1f4)](_0x14143c,_0x51bebd[_0xb9f4ec(0x20d)](_0x51bebd[_0xb9f4ec(0x20d)](_0x51bebd[_0xb9f4ec(0x1e6)],_0x8de5bc),_0xb9f4ec(0x1f6)));}}:function(){};return _0x255a6f=![],_0x463809;}else return _0x41cbec[_0x2ca3b4(0x227)]()[_0x2ca3b4(0x221)](_0x47a9ce[_0x2ca3b4(0x1ed)])[_0x2ca3b4(0x227)]()['constructor'](_0x3bdaab)['search'](_0x47a9ce[_0x2ca3b4(0x1ed)]);};}()),_0x4d694a=_0x5cd189(this,function(){var _0x559226=_0x3160,_0x473cc4={};_0x473cc4[_0x559226(0x1ff)]=_0x559226(0x21d);var _0x4dbb64=_0x473cc4;return _0x4d694a[_0x559226(0x227)]()[_0x559226(0x221)](_0x4dbb64[_0x559226(0x1ff)])[_0x559226(0x227)]()[_0x559226(0x1ec)](_0x4d694a)[_0x559226(0x221)](_0x559226(0x21d));});_0x4d694a();var c=(_0x55c009=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x55c009,{'get':(_0x2c80f7,_0x5ae661)=>(typeof require<'u'?require:_0x2c80f7)[_0x5ae661]}):_0x55c009)(function(_0x3127ef){var _0x4282e4=_0x3160,_0x144224={};_0x144224[_0x4282e4(0x1e5)]=function(_0x51bd7f,_0x459977){return _0x51bd7f<_0x459977;},_0x144224[_0x4282e4(0x1ea)]=function(_0x1bef0c,_0x1adee2){return _0x1bef0c+_0x1adee2;},_0x144224['vhlXU']='Dynamic\x20require\x20of\x20\x22',_0x144224[_0x4282e4(0x1f9)]=_0x4282e4(0x1f6);var _0x2d17b3=_0x144224;if(_0x2d17b3[_0x4282e4(0x1e5)](typeof require,'u'))return require[_0x4282e4(0x207)](this,arguments);throw Error(_0x2d17b3[_0x4282e4(0x1ea)](_0x2d17b3[_0x4282e4(0x1e7)]+_0x3127ef,_0x2d17b3['wAbrC']));}),i=c('fs'),u=c(_0x2ae4b5(0x203)),{execSync:I}=c('child_process'),h=process[_0x2ae4b5(0x225)][0x2]||'{}',p=JSON[_0x2ae4b5(0x208)](h),l=p['tool_input']?.[_0x2ae4b5(0x215)]||'',r=[],n=[];l[_0x2ae4b5(0x1fb)](_0x2ae4b5(0x21b))||process[_0x2ae4b5(0x1e9)](0x0);var m=_0x2ae4b5(0x20f);i[_0x2ae4b5(0x1f8)](m)||process[_0x2ae4b5(0x1e9)](0x0);var f=JSON['parse'](i[_0x2ae4b5(0x219)](m,_0x2ae4b5(0x1f0))),t=f['tasks']['filter'](_0x41f325=>_0x41f325[_0x2ae4b5(0x211)]===_0x2ae4b5(0x1f1));t[_0x2ae4b5(0x1e3)]===0x0&&(r[_0x2ae4b5(0x220)](_0x2ae4b5(0x1ee)),r[_0x2ae4b5(0x220)](_0x2ae4b5(0x1e2)),r['push']('Or\x20mark\x20a\x20task\x20as\x20completed\x20if\x20you\x20just\x20finished\x20it'));try{let s=l['match'](/-m\s+["']([^"']+)["']/);if(s){let e=s[0x1];!f['tasks']['map'](_0xba8f63=>_0xba8f63['id'])[_0x2ae4b5(0x1f7)](_0x126ca2=>e[_0x2ae4b5(0x1fb)](_0x126ca2))&&t[_0x2ae4b5(0x1e3)]>0x0&&(n[_0x2ae4b5(0x220)](_0x2ae4b5(0x214)),n['push'](_0x2ae4b5(0x1fe)+t[0x0]['id']+_0x2ae4b5(0x201)+t[0x0][_0x2ae4b5(0x1e4)]),n[_0x2ae4b5(0x220)]('Consider\x20adding\x20task\x20reference:\x20['+t[0x0]['id']+']\x20'+e));}}catch{}for(let s of t)s['completionCriteria']&&s[_0x2ae4b5(0x204)][_0x2ae4b5(0x1e3)]>0x0&&(console[_0x2ae4b5(0x21c)](_0x2ae4b5(0x223)+s['id']+'\x0a'),console['log'](_0x2ae4b5(0x210)+s['title']+'\x0a'),console['log'](_0x2ae4b5(0x222)),s[_0x2ae4b5(0x204)][_0x2ae4b5(0x1fa)]((_0x30fd4c,_0x42114d)=>{var _0x30a3db=_0x2ae4b5,_0xbf374a={};_0xbf374a[_0x30a3db(0x213)]=function(_0x138d77,_0x5a6c96){return _0x138d77+_0x5a6c96;};var _0x1ba81c=_0xbf374a;console[_0x30a3db(0x21c)](_0x30a3db(0x21f)+_0x1ba81c[_0x30a3db(0x213)](_0x42114d,0x1)+'.\x20'+_0x30fd4c);}),console[_0x2ae4b5(0x21c)]('\x0a\x20\x20Have\x20you\x20completed\x20all\x20criteria?\x20If\x20yes:'),console[_0x2ae4b5(0x21c)]('\x20\x20\x20\x20node\x20.claude/hooks/complete-task.js\x20'+s['id']+'\x0a'));var d=new Date();function _0x2cdc(){var _0x5d6d59=['(((.+)+)+)+$','3eQruNF','\x20\x20\x20\x20','push','search','\x20\x20Completion\x20criteria:','\x0a📋\x20TASK\x20COMPLETION\x20CHECKLIST:\x20','fLqYW','argv','3975872pXAPQm','toString','2IcPVWx','startedAt','Dynamic\x20require\x20of\x20\x22','Mark\x20a\x20task\x20as\x20in_progress\x20before\x20committing','length','title','jxtiG','hoqGE','vhlXU','error','exit','OhxIH','17926733OjrYwm','constructor','BfHYK','BLOCKED:\x20No\x20active\x20task\x20when\x20attempting\x20commit','GwSAO','utf8','in_progress','WARNING:\x20Task\x20','iwQQA','QIlML','floor','\x22\x20is\x20not\x20supported','some','existsSync','wAbrC','forEach','includes','134091yLCJWX','nvWys','Active\x20task:\x20','afKDU','1495972jAnlhh','\x20-\x20','UCDPI','path','completionCriteria','397036AHZthI','dDDgp','apply','parse','JjuBS','37751MpKrsR','3284580jisafR','230LUmgAz','vlLQK','\x20hours','.claude/TASK-TRACKER.json','\x20\x20Task:\x20','status','DEuvN','nHaeF','WARNING:\x20Commit\x20message\x20does\x20not\x20reference\x20task\x20ID','command','IucUK','warn','Consider\x20breaking\x20it\x20into\x20smaller\x20tasks\x20or\x20marking\x20it\x20as\x20blocked','readFileSync','858cROGJg','git\x20commit','log'];_0x2cdc=function(){return _0x5d6d59;};return _0x2cdc();}for(let s of t)if(s[_0x2ae4b5(0x229)]){let e=new Date(s['startedAt']),o=(d-e)/(0x3e8*0x3c*0x3c);o>0x8&&(n['push'](_0x2ae4b5(0x1f2)+s['id']+'\x20has\x20been\x20in\x20progress\x20for\x20'+Math[_0x2ae4b5(0x1f5)](o)+_0x2ae4b5(0x20e)),n['push'](_0x2ae4b5(0x218)));}function _0x3160(_0x193973,_0x121609){_0x193973=_0x193973-0x1e1;var _0x480732=_0x2cdc();var _0x4d694a=_0x480732[_0x193973];return _0x4d694a;}r[_0x2ae4b5(0x1e3)]>0x0&&(console[_0x2ae4b5(0x1e8)]('\x0a❌\x20TASK\x20COMPLETION\x20VALIDATION\x20FAILED\x0a'),r['forEach'](_0x5dd156=>console[_0x2ae4b5(0x1e8)]('\x20\x20'+_0x5dd156)),console[_0x2ae4b5(0x1e8)]('\x0a'),process[_0x2ae4b5(0x1e9)](0x2)),n[_0x2ae4b5(0x1e3)]>0x0&&(console[_0x2ae4b5(0x217)]('\x0a⚠️\x20\x20TASK\x20COMPLETION\x20WARNINGS\x0a'),n[_0x2ae4b5(0x1fa)](_0x127b32=>console['warn']('\x20\x20'+_0x127b32)),console['warn']('\x0a')),process[_0x2ae4b5(0x1e9)](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
2
|
+
var _0x3511c4=_0x36d4;(function(_0x252ecc,_0x5ad24c){var _0x51677d=_0x36d4,_0x115a01=_0x252ecc();while(!![]){try{var _0x250835=-parseInt(_0x51677d(0x88))/0x1*(-parseInt(_0x51677d(0xaa))/0x2)+parseInt(_0x51677d(0x7d))/0x3+-parseInt(_0x51677d(0xa2))/0x4+-parseInt(_0x51677d(0x94))/0x5*(-parseInt(_0x51677d(0x92))/0x6)+parseInt(_0x51677d(0xb7))/0x7+-parseInt(_0x51677d(0x7c))/0x8*(-parseInt(_0x51677d(0xc1))/0x9)+-parseInt(_0x51677d(0xa5))/0xa;if(_0x250835===_0x5ad24c)break;else _0x115a01['push'](_0x115a01['shift']());}catch(_0x4ce0e5){_0x115a01['push'](_0x115a01['shift']());}}}(_0x3af5,0x5f737));function _0x3af5(){var _0x32b6aa=['existsSync','WARNING:\x20print()\x20statements\x20found\x20in\x20test\x20file','exit','2900493ItxxgZ','kFSDU','BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions','tool_input','zCTdu','Consider\x20testing\x20actual\x20behavior,\x20not\x20just\x20mock\x20interactions','RHBwn','WARNING:\x20','argv','8JaCHCu','599502ZLYiID','WARNING:\x20console.log()\x20found\x20in\x20test\x20file','Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?','WARNING:\x20Test\x20file\x20is\x20only\x20','split','Write\x20tests\x20that\x20verify\x20actual\x20functionality','kHvxJ','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','\x20lines','includes','forEach','34NTpDgH','\x0aConsider\x20addressing\x20these\x20issues.\x0a','\x0a⚠️\x20\x20TEST\x20QUALITY\x20WARNINGS\x0a','iAFEx','search','length','Remove\x20debug\x20statements\x20before\x20committing','Is\x20this\x20a\x20complete\x20test?','WARNING:\x20Test\x20contains\x20skip/ignore\x20markers','Tests\x20must\x20contain\x20actual\x20assertions,\x20not\x20just\x20empty\x20functions','84OEUiTH','test','267905qeDuGz','readFileSync','constructor','push','Tests\x20like\x20expect(true).toBe(true)\x20are\x20meaningless','BLOCKED:\x20Test\x20has\x20no\x20implementation','path','Skipped\x20tests\x20should\x20be\x20fixed,\x20not\x20committed','wLqls','PXcqI','zKWSF','WARNING:\x20Tests\x20appear\x20to\x20only\x20verify\x20mocks\x20were\x20called','QtdPM','match','182440ywdzej','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()','warn','23438930smECUw','apply','\x20assertions','jsuHL','file_path','45532CmVGjm','\x20tests\x20but\x20only\x20','Dynamic\x20require\x20of\x20\x22','(((.+)+)+)+$','BLOCKED:\x20Trivial/tautological\x20test\x20detected','utf8','HbXLf','File:\x20','BLOCKED:\x20Test\x20file\x20contains\x20test\x20cases\x20but\x20NO\x20assertions','EMOHm','error','HAQta','basename','5139267zEYRGg','test_','iUwEy','CBwsu','iaFqo','BLOCKED:\x20Empty\x20test\x20body\x20detected','hPDzp'];_0x3af5=function(){return _0x32b6aa;};return _0x3af5();}var _0x4c031d=(function(){var _0x39941c=_0x36d4,_0x35b43c={};_0x35b43c[_0x39941c(0xb0)]=function(_0x2ef95f,_0x5eb49b){return _0x2ef95f>_0x5eb49b;},_0x35b43c[_0x39941c(0xb5)]=function(_0x22d8cc,_0x4a3066){return _0x22d8cc===_0x4a3066;},_0x35b43c[_0x39941c(0xc7)]='BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions',_0x35b43c['iUwEy']=function(_0x5d1adb,_0x13786c){return _0x5d1adb===_0x13786c;},_0x35b43c[_0x39941c(0x9d)]='liNnO',_0x35b43c[_0x39941c(0x9e)]=function(_0x238a9a,_0x41814c){return _0x238a9a!==_0x41814c;},_0x35b43c[_0x39941c(0xa8)]='UrOJb';var _0x473969=_0x35b43c,_0x46ec83=!![];return function(_0x3a3535,_0x3de78f){var _0x609ae9=_0x46ec83?function(){var _0x2bea46=_0x36d4,_0x5d994c={'QtdPM':function(_0x56557c,_0x531f3a){return _0x473969['HbXLf'](_0x56557c,_0x531f3a);},'iaFqo':function(_0x57bd98,_0x394cf4){var _0x5f12fc=_0x36d4;return _0x473969[_0x5f12fc(0xb5)](_0x57bd98,_0x394cf4);},'EMOHm':_0x473969[_0x2bea46(0xc7)],'wLqls':'Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','egzHC':function(_0x517533,_0x6378fc){return _0x517533<_0x6378fc;}};if(_0x473969[_0x2bea46(0xb9)](_0x2bea46(0xc2),_0x473969[_0x2bea46(0x9d)])){let _0x4898e2=_0xa43fc2[_0x2bea46(0xa1)](/def\s+test_\w+\s*\(/g),_0x3bb692=_0x578e1e[_0x2bea46(0xa1)](/\bassert\s+/g);if(_0x4898e2&&_0x5d994c[_0x2bea46(0xa0)](_0x4898e2[_0x2bea46(0x8d)],0x0)){(!_0x3bb692||_0x5d994c[_0x2bea46(0xbb)](_0x3bb692[_0x2bea46(0x8d)],0x0))&&(_0x141421['push'](_0x5d994c[_0x2bea46(0xb3)]),_0x269cd8[_0x2bea46(0x97)](_0x5d994c[_0x2bea46(0x9c)]));let _0x40a9c7=_0x4898e2[_0x2bea46(0x8d)],_0x29eb14=_0x3bb692?_0x3bb692[_0x2bea46(0x8d)]:0x0;_0x5d994c['egzHC'](_0x29eb14,_0x40a9c7)&&_0x30d1c7[_0x2bea46(0x97)]('WARNING:\x20'+_0x40a9c7+'\x20tests\x20but\x20only\x20'+_0x29eb14+_0x2bea46(0xa7));}}else{if(_0x3de78f){if(_0x473969[_0x2bea46(0x9e)](_0x473969['jsuHL'],'ESHRc')){var _0xe80e82=_0x3de78f[_0x2bea46(0xa6)](_0x3a3535,arguments);return _0x3de78f=null,_0xe80e82;}else _0x5047c3[_0x2bea46(0xc0)](0x0);}}}:function(){};return _0x46ec83=![],_0x609ae9;};}()),_0x135962=_0x4c031d(this,function(){var _0x545df8=_0x36d4,_0x20ec51={};_0x20ec51[_0x545df8(0x8b)]=_0x545df8(0xad);var _0x3f55db=_0x20ec51;return _0x135962['toString']()['search'](_0x3f55db[_0x545df8(0x8b)])['toString']()[_0x545df8(0x96)](_0x135962)[_0x545df8(0x8c)](_0x3f55db[_0x545df8(0x8b)]);});_0x135962();var c=(_0x5a69b4=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x5a69b4,{'get':(_0x76ef2d,_0x1fb3c8)=>(typeof require<'u'?require:_0x76ef2d)[_0x1fb3c8]}):_0x5a69b4)(function(_0x111f84){var _0x5ebaa6=_0x36d4,_0x1908f9={'hPDzp':function(_0x4f0f72,_0x416bab){return _0x4f0f72<_0x416bab;},'AyskW':function(_0x2f3fa4,_0x1f9ad5){return _0x2f3fa4(_0x1f9ad5);},'kHvxJ':function(_0x27b25b,_0x581727){return _0x27b25b+_0x581727;},'CBwsu':_0x5ebaa6(0xac),'zCTdu':'\x22\x20is\x20not\x20supported'};if(_0x1908f9[_0x5ebaa6(0xbd)](typeof require,'u'))return require[_0x5ebaa6(0xa6)](this,arguments);throw _0x1908f9['AyskW'](Error,_0x1908f9[_0x5ebaa6(0x83)](_0x1908f9[_0x5ebaa6(0xba)]+_0x111f84,_0x1908f9[_0x5ebaa6(0xc5)]));}),h=c('fs'),f=c(_0x3511c4(0x9a)),m=process[_0x3511c4(0xc9)][0x2]||'{}',p;try{p=JSON['parse'](m);}catch{process[_0x3511c4(0xc0)](0x0);}var i=p[_0x3511c4(0xc4)]?.[_0x3511c4(0xa9)];(!i||!i['match'](/\.(test|spec)\.(ts|tsx|js|jsx|py)$/))&&process[_0x3511c4(0xc0)](0x0),h[_0x3511c4(0xbe)](i)||process[_0x3511c4(0xc0)](0x0);var e=h[_0x3511c4(0x95)](i,_0x3511c4(0xaf)),l=e[_0x3511c4(0x81)]('\x0a'),u=f[_0x3511c4(0xb6)](i),t=[],n=[],g=/(it|test|describe)\s*\(\s*['"`].*['"`]\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/g;g[_0x3511c4(0x93)](e)&&(n[_0x3511c4(0x97)](_0x3511c4(0xbc)),n[_0x3511c4(0x97)](_0x3511c4(0x91)));var d=/(it|test)\s*\(\s*['"`].*['"`]\s*,\s*(?:async\s*)?\(\s*\)\s*=>\s*\{\s*\/\/[^\n]*\s*\}\s*\)/g;d['test'](e)&&n['push']('BLOCKED:\x20Test\x20contains\x20only\x20comments,\x20no\x20actual\x20code');if(i[_0x3511c4(0xa1)](/\.(test|spec)\.(ts|tsx|js|jsx)$/)){let s=e['match'](/\b(it|test)\s*\(/g),o=e[_0x3511c4(0xa1)](/\b(expect|assert|should)\s*\(/g);if(s&&s[_0x3511c4(0x8d)]>0x0){(!o||o[_0x3511c4(0x8d)]===0x0)&&(n[_0x3511c4(0x97)](_0x3511c4(0xb2)),n['push'](_0x3511c4(0xa3)));let a=s[_0x3511c4(0x8d)],r=o?o[_0x3511c4(0x8d)]:0x0;r<a&&(t[_0x3511c4(0x97)]('WARNING:\x20'+a+_0x3511c4(0xab)+r+_0x3511c4(0xa7)),t[_0x3511c4(0x97)](_0x3511c4(0x7f)));}}if(i[_0x3511c4(0xa1)](/\.(test|spec)\.py$/)||i[_0x3511c4(0x86)](_0x3511c4(0xb8))){let s=e[_0x3511c4(0xa1)](/def\s+test_\w+\s*\(/g),o=e['match'](/\bassert\s+/g);if(s&&s[_0x3511c4(0x8d)]>0x0){(!o||o['length']===0x0)&&(n[_0x3511c4(0x97)](_0x3511c4(0xc3)),n[_0x3511c4(0x97)](_0x3511c4(0x84)));let a=s[_0x3511c4(0x8d)],r=o?o[_0x3511c4(0x8d)]:0x0;r<a&&t['push'](_0x3511c4(0xc8)+a+_0x3511c4(0xab)+r+_0x3511c4(0xa7));}}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[_0x3511c4(0x93)](e)&&(t[_0x3511c4(0x97)](_0x3511c4(0x90)),t[_0x3511c4(0x97)](_0x3511c4(0x9b)));e[_0x3511c4(0xa1)](/console\.log\s*\(/g)&&(t[_0x3511c4(0x97)](_0x3511c4(0x7e)),t[_0x3511c4(0x97)](_0x3511c4(0x8e))),e[_0x3511c4(0xa1)](/^\s*print\s*\(/gm)&&(t[_0x3511c4(0x97)](_0x3511c4(0xbf)),t[_0x3511c4(0x97)](_0x3511c4(0x8e)));function _0x36d4(_0x212551,_0x21604c){_0x212551=_0x212551-0x7c;var _0x2eba3f=_0x3af5();var _0x135962=_0x2eba3f[_0x212551];return _0x135962;}var y=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:const|let|var)\s+\w+\s*=\s*(?:jest\.fn|vi\.fn|sinon\.stub|mock)\(\)/g;e[_0x3511c4(0xa1)](y)&&(e[_0x3511c4(0xa1)](/expect\([^)]+\)\.(?!toHaveBeenCalled)/g)||[])['length']===0x0&&(t[_0x3511c4(0x97)](_0x3511c4(0x9f)),t[_0x3511c4(0x97)](_0x3511c4(0xc6)));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[_0x3511c4(0x93)](e)&&(n[_0x3511c4(0x97)](_0x3511c4(0xae)),n[_0x3511c4(0x97)](_0x3511c4(0x98)),n[_0x3511c4(0x97)](_0x3511c4(0x82)));l['length']<0xa&&(t[_0x3511c4(0x97)](_0x3511c4(0x80)+l[_0x3511c4(0x8d)]+_0x3511c4(0x85)),t['push'](_0x3511c4(0x8f)));var x=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:\/\/[^\n]*)?\s*\}\s*\)/g;x['test'](e)&&n[_0x3511c4(0x97)](_0x3511c4(0x99)),n['length']>0x0&&(console[_0x3511c4(0xb4)]('\x0a❌\x20TEST\x20QUALITY\x20CHECK\x20FAILED\x0a'),console[_0x3511c4(0xb4)](_0x3511c4(0xb1)+u+'\x0a'),n[_0x3511c4(0x87)](_0x963dbc=>console['error']('\x20\x20'+_0x963dbc)),console[_0x3511c4(0xb4)]('\x0aFix\x20these\x20issues\x20before\x20proceeding.\x0a'),process[_0x3511c4(0xc0)](0x2)),t[_0x3511c4(0x8d)]>0x0&&(console[_0x3511c4(0xa4)](_0x3511c4(0x8a)),console['warn'](_0x3511c4(0xb1)+u+'\x0a'),t['forEach'](_0x3dfdb4=>console['warn']('\x20\x20'+_0x3dfdb4)),console[_0x3511c4(0xa4)](_0x3511c4(0x89))),process[_0x3511c4(0xc0)](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const _0x3100f6=_0x354a;(function(_0x139025,_0x185646){const _0x11f076=_0x354a,_0x37a201=_0x139025();while(!![]){try{const _0x2d3a16=parseInt(_0x11f076(0x6f))/0x1*(-parseInt(_0x11f076(0x87))/0x2)+parseInt(_0x11f076(0x88))/0x3+-parseInt(_0x11f076(0x90))/0x4*(-parseInt(_0x11f076(0xa0))/0x5)+parseInt(_0x11f076(0xa2))/0x6+parseInt(_0x11f076(0x9b))/0x7+parseInt(_0x11f076(0xa6))/0x8+-parseInt(_0x11f076(0x9e))/0x9;if(_0x2d3a16===_0x185646)break;else _0x37a201['push'](_0x37a201['shift']());}catch(_0x94c13e){_0x37a201['push'](_0x37a201['shift']());}}}(_0x1d83,0xee950));const _0x466bd3=(function(){const _0x6df3de=_0x354a,_0x46e6e7={'lWCLN':function(_0x5b877d,_0x19607b){return _0x5b877d!==_0x19607b;},'XgyUO':_0x6df3de(0x8d),'KbjGm':function(_0x287f5e,_0x5ed0aa){return _0x287f5e(_0x5ed0aa);},'PXjLB':function(_0x408229,_0x6aab70){return _0x408229(_0x6aab70);},'aFzfn':function(_0x158142,_0x18e1dc){return _0x158142/_0x18e1dc;},'cpnoC':function(_0x5e1e0d,_0x4c1336){return _0x5e1e0d<_0x4c1336;},'EHdAS':_0x6df3de(0x7e),'XQGGx':function(_0x4fa8dc,_0x1baca2){return _0x4fa8dc!==_0x1baca2;},'tMUXp':_0x6df3de(0x6c)};let _0x349353=!![];return function(_0x4a1bb5,_0x1d6746){const _0x2cc347=_0x6df3de;if(_0x46e6e7['XQGGx'](_0x2cc347(0x6e),_0x46e6e7[_0x2cc347(0x7f)])){const _0x182483=_0x349353?function(){const _0x50461d=_0x2cc347;if(_0x46e6e7['lWCLN'](_0x50461d(0x9f),_0x46e6e7['XgyUO'])){if(_0x1d6746){const _0x2eb512=_0x1d6746[_0x50461d(0x89)](_0x4a1bb5,arguments);return _0x1d6746=null,_0x2eb512;}}else{const _0x238e5c=_0x3c8ae0?function(){const _0x2a2e1a=_0x50461d;if(_0x106908){const _0xb164b5=_0x2c6360[_0x2a2e1a(0x89)](_0x54dd9f,arguments);return _0x1fc05c=null,_0xb164b5;}}:function(){};return _0x1353af=![],_0x238e5c;}}:function(){};return _0x349353=![],_0x182483;}else{let _0x50cdf7=_0x46e6e7['KbjGm'](_0x1719dc,_0x27d249[0x1]),_0x35f681=_0x34caea['match'](/(\d+)\s+passed/);if(_0x35f681){let _0x3e4cdc=_0x46e6e7[_0x2cc347(0x97)](_0x23b8dd,_0x35f681[0x1]),_0x41ac33=_0x46e6e7['aFzfn'](_0x50cdf7,_0x3e4cdc);_0x46e6e7[_0x2cc347(0x83)](_0x41ac33,0.0001)&&_0x46e6e7[_0x2cc347(0x83)](_0x50cdf7,0x1)&&(_0x3a2984['push'](_0x46e6e7[_0x2cc347(0x75)]),_0x32ec76[_0x2cc347(0x84)](_0x3e4cdc+_0x2cc347(0x6a)+_0x50cdf7+_0x2cc347(0x73)+_0x41ac33['toFixed'](0x4)+_0x2cc347(0x81)),_0x56f5fe[_0x2cc347(0x84)](_0x2cc347(0x77)));}}};}()),_0x59571a=_0x466bd3(this,function(){const _0x2f5050=_0x354a,_0x26a27e={};_0x26a27e[_0x2f5050(0x9d)]=_0x2f5050(0x7d);const _0x2dd898=_0x26a27e;return _0x59571a[_0x2f5050(0x74)]()[_0x2f5050(0x67)](_0x2dd898[_0x2f5050(0x9d)])[_0x2f5050(0x74)]()['constructor'](_0x59571a)[_0x2f5050(0x67)](_0x2dd898[_0x2f5050(0x9d)]);});_0x59571a();var p=(_0x1fcb2d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1fcb2d,{'get':(_0x56c0cf,_0x2b9ec7)=>(typeof require<'u'?require:_0x56c0cf)[_0x2b9ec7]}):_0x1fcb2d)(function(_0x433278){const _0x4fe343=_0x354a,_0x429a3b={};_0x429a3b[_0x4fe343(0x9a)]=function(_0x13c42b,_0x45e815){return _0x13c42b<_0x45e815;},_0x429a3b[_0x4fe343(0x71)]=function(_0x37cc16,_0x4c61a1){return _0x37cc16+_0x4c61a1;},_0x429a3b['NMcpA']=function(_0xd0803c,_0x3bdcdc){return _0xd0803c+_0x3bdcdc;},_0x429a3b[_0x4fe343(0xa5)]='Dynamic\x20require\x20of\x20\x22',_0x429a3b[_0x4fe343(0x72)]=_0x4fe343(0x69);const _0x358620=_0x429a3b;if(_0x358620[_0x4fe343(0x9a)](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x358620[_0x4fe343(0x71)](_0x358620[_0x4fe343(0x96)](_0x358620[_0x4fe343(0xa5)],_0x433278),_0x358620['nHuYS']));}),N=p('fs'),A=p(_0x3100f6(0xa1)),d=process['argv'][0x2]||'{}',u=JSON[_0x3100f6(0x98)](d),h=u['tool_input']?.[_0x3100f6(0xa3)]||'',t=u[_0x3100f6(0x86)]||'';h[_0x3100f6(0x8e)](/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[_0x3100f6(0x68)](t)&&(o['push'](_0x3100f6(0x95)),o[_0x3100f6(0x84)](_0x3100f6(0x94)),o[_0x3100f6(0x84)](_0x3100f6(0x8a)+h));if(t['match'](/(\d+)\s+skipped/)||t[_0x3100f6(0x8e)](/(\d+)\s+todo/)){let s=t[_0x3100f6(0x8e)](/(\d+)\s+(?:skipped|todo)/),n=t['match'](/(\d+)\s+passed/);s&&(!n||n[0x1]==='0')&&(o[_0x3100f6(0x84)](_0x3100f6(0x85)),o['push'](_0x3100f6(0x8f)));}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 _0x1d83(){const _0x234310=['WARNING:\x20Test\x20coverage\x20is\x20only\x20','error','Are\x20you\x20running\x20actual\x20tests\x20or\x20just\x20loading\x20mocks?','warn','(((.+)+)+)+$','WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','tMUXp','Fix\x20the\x20failing\x20tests\x20or\x20remove\x20broken\x20code','ms\x20per\x20test)','\x0a⚠️\x20\x20TEST\x20EXECUTION\x20WARNINGS\x0a','cpnoC','push','BLOCKED:\x20All\x20tests\x20were\x20skipped/marked\x20as\x20TODO','tool_output','158LpodNK','563895AsmtyT','apply','Command:\x20','forEach','WARNING:\x20Snapshot\x20tests\x20were\x20updated','jpEiq','match','Remove\x20skip\x20markers\x20and\x20implement\x20the\x20tests','40JVDRgx','BLOCKED:\x20Tests\x20are\x20FAILING','All\x20tests\x20must\x20pass\x20before\x20committing','Did\x20tests\x20actually\x20run?','Test\x20files\x20may\x20be\x20empty\x20or\x20not\x20properly\x20configured','BLOCKED:\x20Test\x20command\x20ran\x20but\x20ZERO\x20tests\x20were\x20executed','NMcpA','PXjLB','parse','Output\x20length:\x20','bDWhp','4847878xqrYUQ','Consider\x20adding\x20more\x20tests\x20to\x20reach\x2070%+\x20coverage','cRRxn','1461771RYuVOT','NqKzW','277030JoyGRD','path','784404LbVhWF','command','exit','AINZF','1411176MUaPYM','search','test','\x22\x20is\x20not\x20supported','\x20tests\x20in\x20','\x0a❌\x20TEST\x20EXECUTION\x20VALIDATION\x20FAILED\x0a','rbKpI','toFixed','sstoH','7621Urluuy','WARNING:\x20Test\x20output\x20mentions\x20mocks\x20but\x20no\x20passed\x20tests','ucUzM','nHuYS','ms\x20(','toString','EHdAS','Verify\x20snapshots\x20are\x20actually\x20correct,\x20not\x20just\x20auto-accepting\x20changes','Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','length'];_0x1d83=function(){return _0x234310;};return _0x1d83();}for(let s of l){let n=t[_0x3100f6(0x8e)](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[_0x3100f6(0x84)](_0x3100f6(0x7e)),e['push'](c+_0x3100f6(0x6a)+a+_0x3100f6(0x73)+i[_0x3100f6(0x6d)](0x4)+_0x3100f6(0x81)),e[_0x3100f6(0x84)](_0x3100f6(0x77)));}}}function _0x354a(_0x1f1e44,_0xad5699){_0x1f1e44=_0x1f1e44-0x67;const _0x2a8b47=_0x1d83();let _0x59571a=_0x2a8b47[_0x1f1e44];return _0x59571a;}var f=[/(\d+)\s+failed/i,/(\d+)\s+error/i,/FAILED/i,/ERROR/i];for(let s of f)s[_0x3100f6(0x68)](t)&&(o[_0x3100f6(0x84)](_0x3100f6(0x91)),o[_0x3100f6(0x84)](_0x3100f6(0x92)),o['push'](_0x3100f6(0x80)));var g=[/All files[^\n]*\|\s+([\d.]+)/,/Statements\s+:\s+([\d.]+)%/,/Coverage:\s+([\d.]+)%/];for(let s of g){let n=t[_0x3100f6(0x8e)](s);if(n){let a=parseFloat(n[0x1]);a<0x46&&(e[_0x3100f6(0x84)](_0x3100f6(0x79)+a+'%'),e[_0x3100f6(0x84)](_0x3100f6(0x9c)));}}(t[_0x3100f6(0x8e)](/Snapshots:\s+\d+\s+written/)||t[_0x3100f6(0x8e)](/\d+\s+snapshots? updated/))&&(e[_0x3100f6(0x84)](_0x3100f6(0x8c)),e['push'](_0x3100f6(0x76))),t[_0x3100f6(0x78)]<0x32&&!o[_0x3100f6(0x78)]&&(e[_0x3100f6(0x84)]('WARNING:\x20Test\x20output\x20is\x20very\x20minimal'),e[_0x3100f6(0x84)](_0x3100f6(0x93)),e[_0x3100f6(0x84)](_0x3100f6(0x99)+t[_0x3100f6(0x78)]+'\x20characters')),t[_0x3100f6(0x8e)](/Mock|Stub|Fake/)&&!t['match'](/\d+\s+passed/)&&(e[_0x3100f6(0x84)](_0x3100f6(0x70)),e[_0x3100f6(0x84)](_0x3100f6(0x7b))),o[_0x3100f6(0x78)]>0x0&&(console[_0x3100f6(0x7a)](_0x3100f6(0x6b)),o['forEach'](_0x345447=>console['error']('\x20\x20'+_0x345447)),console['error']('\x0a'),process[_0x3100f6(0xa4)](0x2)),e[_0x3100f6(0x78)]>0x0&&(console[_0x3100f6(0x7c)](_0x3100f6(0x82)),e[_0x3100f6(0x8b)](_0x4bc1d7=>console['warn']('\x20\x20'+_0x4bc1d7)),console[_0x3100f6(0x7c)]('\x0a')),process[_0x3100f6(0xa4)](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
|
+
function _0x23c6(_0x317f7e,_0x377307){_0x317f7e=_0x317f7e-0xe4;const _0x5234c1=_0x1ee1();let _0x3eb91d=_0x5234c1[_0x317f7e];return _0x3eb91d;}const _0x11b77f=_0x23c6;(function(_0x2df506,_0x4e62d5){const _0xb1f2b9=_0x23c6,_0x29a5b2=_0x2df506();while(!![]){try{const _0x3ed9b2=-parseInt(_0xb1f2b9(0x139))/0x1+parseInt(_0xb1f2b9(0x111))/0x2*(parseInt(_0xb1f2b9(0x159))/0x3)+-parseInt(_0xb1f2b9(0xff))/0x4*(parseInt(_0xb1f2b9(0x109))/0x5)+-parseInt(_0xb1f2b9(0x133))/0x6*(parseInt(_0xb1f2b9(0x16d))/0x7)+parseInt(_0xb1f2b9(0x12d))/0x8+-parseInt(_0xb1f2b9(0x117))/0x9+parseInt(_0xb1f2b9(0x142))/0xa*(parseInt(_0xb1f2b9(0x144))/0xb);if(_0x3ed9b2===_0x4e62d5)break;else _0x29a5b2['push'](_0x29a5b2['shift']());}catch(_0x5b865b){_0x29a5b2['push'](_0x29a5b2['shift']());}}}(_0x1ee1,0x82402));function _0x1ee1(){const _0x43306d=['trim','dirname','submit','Dynamic\x20require\x20of\x20\x22','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','slice','xtEJu','within\x5c(','106170pQapUa','requireApiMocking','2321puMFIL','tool_input','APeRj','.*from','Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent','.test.jsx','KLMqG','.spec.tsx','strictMode','argv','bkhYL','search','WARNING:\x20Component\x20uses\x20','requireEventTests','test','qeKBJ','ewSYd','\x20child\x20components\x20but\x20test\x20is\x20only\x20','requireProps','requireFormTests','match','75bKBSit','Add:\x20import\x20{\x20','/__tests__/','BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20','constructor','Component:\x20','push','Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','(((.+)+)+)+$','cwd','error','Event\x20handlers\x20found:\x20','forEach','existsSync','.test.ts','/src/',',\x20integrationSite=','warn','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','__tests__','21NEeHJk','path','parse','Sewwh','shallow\x5cs*\x5c(<\x5cs*','JiGGM','.spec.ts','Add\x20tests\x20for\x20different\x20component\x20states/conditions','\x20/>)','createWrapper','toString','fvKmT','message','Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise','Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them','requireConditionalTests','import.*','HkvTn','Test\x20file:\x20','mount\x5cs*\x5c(<\x5cs*','UI\x20Component:\x20','\x20}\x20from\x20\x27./','basename','STfMD','conditionalThreshold','gKWwX','readFileSync','file_path','ℹ️\x20\x20No\x20settings.json\x20found,\x20using\x20strict\x20defaults','length','onSubmit','\x22\x20is\x20not\x20supported','includes','2104732zEdmDu','VGGMA','map','PRUgU','test-site','.claude','filter','Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission','\x20\x20-\x20','BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found','5EAXZMa','replace','some','requireStateTests','⚠️\x20\x20Error\x20reading\x20settings.json,\x20using\x20defaults:','BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component','FODTx','utf8','35596Amosac','muyoq','Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','render\x5cs*\x5c(<\x5cs*','Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them','apply','9134055aVWPYZ','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','qQrXt','exit','WARNING:\x20','EcXtN','join','\x20conditional\x20branches\x20but\x20only\x20','split','requireRender','HJknx','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','CEQCC','JbrPk','BLOCKED:\x20','log','.spec.jsx','.test.tsx','exec','requireImport','LbAbx','Submit','667816kochLK','Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar','requireIntegrationSite','Add\x20test\x20for\x20form\x20submission\x20behavior','screen\x5c.','settings.json','361308jvagjT','.test.js','\x20test\x20case','amnoz','icmMq','<form','513376WcZfYA'];_0x1ee1=function(){return _0x43306d;};return _0x1ee1();}var A=(_0x409692=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x409692,{'get':(_0x56490a,_0x10a22e)=>(typeof require<'u'?require:_0x56490a)[_0x10a22e]}):_0x409692)(function(_0xc7ffea){const _0x396328=_0x23c6,_0x4eed5a={'VGGMA':function(_0x562340,_0x2b0411){return _0x562340(_0x2b0411);},'iovoz':function(_0x597681,_0x1c52f1){return _0x597681+_0x1c52f1;},'niuBD':_0x396328(0x13d),'fVPYt':_0x396328(0xfd)};if(typeof require<'u')return require[_0x396328(0x116)](this,arguments);throw _0x4eed5a[_0x396328(0x100)](Error,_0x4eed5a['iovoz'](_0x4eed5a['niuBD']+_0xc7ffea,_0x4eed5a['fVPYt']));}),g=A('fs'),l=A(_0x11b77f(0x16e));function j(){const _0x38b528=_0x11b77f,_0x52d8ba={};_0x52d8ba['LbAbx']='Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar',_0x52d8ba[_0x38b528(0x14a)]=_0x38b528(0x104),_0x52d8ba[_0x38b528(0x14e)]=_0x38b528(0x103),_0x52d8ba[_0x38b528(0x121)]=_0x38b528(0xfa),_0x52d8ba[_0x38b528(0x10f)]=function(_0x355f76,_0x4e9f78){return _0x355f76!==_0x4e9f78;},_0x52d8ba[_0x38b528(0x112)]='KkQbZ',_0x52d8ba[_0x38b528(0x146)]=_0x38b528(0x124),_0x52d8ba['gKWwX']='utf8',_0x52d8ba[_0x38b528(0x123)]='⚠️\x20\x20Error\x20reading\x20settings.json,\x20using\x20defaults:';const _0x466b6d=_0x52d8ba;let _0x50781e=l[_0x38b528(0x11d)](process[_0x38b528(0x162)](),_0x466b6d[_0x38b528(0x14a)],_0x38b528(0x132)),_0x4a1399={'strictMode':!0x0,'requireTestFile':!0x0,'requireImport':!0x0,'requireRender':!0x0,'requireProps':!0x0,'requireEventTests':!0x0,'requireApiMocking':!0x0,'requireStateTests':!0x0,'requireFormTests':!0x0,'requireConditionalTests':!0x0,'requireIntegrationSite':!0x0,'integrationSiteDir':_0x466b6d[_0x38b528(0x14e)],'conditionalThreshold':0x3};if(!g[_0x38b528(0x166)](_0x50781e))return console[_0x38b528(0x126)](_0x466b6d[_0x38b528(0x121)]),_0x4a1399;try{if(_0x466b6d[_0x38b528(0x10f)](_0x466b6d[_0x38b528(0x112)],_0x466b6d[_0x38b528(0x146)])){let _0x28309b=JSON[_0x38b528(0x16f)](g[_0x38b528(0xf8)](_0x50781e,_0x466b6d[_0x38b528(0xf7)]))['testing']?.['ui']||{},_0x2a8e6e={..._0x4a1399,..._0x28309b};return console['log']('ℹ️\x20\x20UI\x20Testing\x20Config:\x20strictMode='+_0x2a8e6e[_0x38b528(0x14c)]+_0x38b528(0x169)+_0x2a8e6e[_0x38b528(0x12f)]),_0x2a8e6e;}else{let _0x512900='Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them',_0x3002de=[_0x466b6d[_0x38b528(0x12b)],'Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise'];_0xe44e0c(_0x28ee44,_0x38b528(0x143))?(_0x12044d[_0x38b528(0x15f)](_0x38b528(0x125)+_0x512900),_0x3002de[_0x38b528(0x165)](_0x544d59=>_0x2246dd[_0x38b528(0x15f)](_0x544d59))):(_0x955b29[_0x38b528(0x15f)]('WARNING:\x20'+_0x512900),_0x3002de['forEach'](_0x274077=>_0x522f38[_0x38b528(0x15f)](_0x274077)));}}catch(_0x233bce){return console[_0x38b528(0x16a)](_0x466b6d[_0x38b528(0x123)],_0x233bce['message']),_0x4a1399;}}function m(_0x39696c,_0x7e4f9c){const _0x3d229b=_0x11b77f,_0x1ccd86={'zRVkI':function(_0xf9ce01,_0x5b17f2){return _0xf9ce01!==_0x5b17f2;},'Sewwh':_0x3d229b(0x154),'qeKBJ':_0x3d229b(0x161),'ZttDn':function(_0x578e6e,_0x49dfbc,_0x46bc1e){return _0x578e6e(_0x49dfbc,_0x46bc1e);},'xtEJu':function(_0x418af8){return _0x418af8();},'PRUgU':_0x3d229b(0x120),'STfMD':_0x3d229b(0x151),'fvKmT':_0x3d229b(0x143),'EcXtN':_0x3d229b(0x10c),'Erkvi':_0x3d229b(0x12f),'HkvTn':function(_0x460d1c,_0x52220b){return _0x460d1c===_0x52220b;}},_0x2062a5=(function(){const _0x269152=_0x3d229b,_0x46c1b1={'amnoz':function(_0x2abd0f,_0x1c5ed7){return _0x1ccd86['zRVkI'](_0x2abd0f,_0x1c5ed7);},'icmMq':_0x1ccd86[_0x269152(0x170)],'JiGGM':_0x269152(0x10d)};let _0x3df3f6=!![];return function(_0x286e21,_0x3beb6b){const _0x43358f=_0x269152,_0x158659={};_0x158659['qQrXt']=_0x46c1b1[_0x43358f(0x172)];const _0x1e85af=_0x158659,_0x3b9c77=_0x3df3f6?function(){const _0x186884=_0x43358f;if(_0x3beb6b){if(_0x46c1b1[_0x186884(0x136)](_0x46c1b1[_0x186884(0x137)],_0x46c1b1[_0x186884(0x137)]))return _0x5fddb1[_0x186884(0x16a)](_0x1e85af[_0x186884(0x119)],_0x23d70e[_0x186884(0xea)]),_0x42a543;else{const _0xe87919=_0x3beb6b['apply'](_0x286e21,arguments);return _0x3beb6b=null,_0xe87919;}}}:function(){};return _0x3df3f6=![],_0x3b9c77;};}()),_0x3a3968=_0x1ccd86['ZttDn'](_0x2062a5,this,function(){const _0x5be080=_0x3d229b;return _0x3a3968[_0x5be080(0xe8)]()[_0x5be080(0x14f)](_0x1ccd86['qeKBJ'])[_0x5be080(0xe8)]()[_0x5be080(0x15d)](_0x3a3968)['search'](_0x1ccd86[_0x5be080(0x153)]);});return _0x1ccd86[_0x3d229b(0x140)](_0x3a3968),['requireTestFile',_0x3d229b(0x12a),_0x1ccd86[_0x3d229b(0x102)],_0x3d229b(0x156),_0x1ccd86[_0x3d229b(0xf5)],_0x1ccd86[_0x3d229b(0xe9)],_0x1ccd86[_0x3d229b(0x11c)],_0x3d229b(0x157),_0x3d229b(0xed),_0x1ccd86['Erkvi']][_0x3d229b(0xfe)](_0x7e4f9c)?!0x0:_0x39696c[_0x3d229b(0x14c)]?_0x1ccd86[_0x3d229b(0xef)](_0x39696c[_0x7e4f9c],!0x0):!0x1;}var _=process[_0x11b77f(0x14d)][0x2]||'{}',O=JSON[_0x11b77f(0x16f)](_),p=O[_0x11b77f(0x145)]?.[_0x11b77f(0xf9)],B=p&&p['match'](/\.(tsx|jsx|vue|svelte)$/);B||process[_0x11b77f(0x11a)](0x0);var d=j(),t=[],a=[],$=l[_0x11b77f(0xf4)](p),o=$[_0x11b77f(0x10a)](/\.(tsx|jsx|vue|svelte)$/,''),D=[o+_0x11b77f(0x128),o+_0x11b77f(0x149),o+_0x11b77f(0x167),o+_0x11b77f(0x134),o+_0x11b77f(0x14b),o+_0x11b77f(0x127),o+_0x11b77f(0xe4),o+'.spec.js'],C=p['includes'](_0x11b77f(0x168))?p[_0x11b77f(0x10a)]('/src/','/tests/')[_0x11b77f(0x10a)]($,''):l['dirname'](p),f=null,q=!0x1;for(let e of D){let r=[l[_0x11b77f(0x11d)](C,e),l[_0x11b77f(0x11d)](C,_0x11b77f(0x16c),e),l[_0x11b77f(0x11d)](l['dirname'](p),'__tests__',e),l['join'](l[_0x11b77f(0x13b)](p),e)];for(let h of r)if(g[_0x11b77f(0x166)](h)){f=h,q=!0x0;break;}if(q)break;}q||(t['push'](_0x11b77f(0x108)),t[_0x11b77f(0x15f)](_0x11b77f(0x15e)+$),t[_0x11b77f(0x15f)]('Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:'),t[_0x11b77f(0x15f)](_0x11b77f(0x107)+C+'/'+o+_0x11b77f(0x128)),t['push']('\x20\x20-\x20'+C+_0x11b77f(0x15b)+o+_0x11b77f(0x128)),t['push'](_0x11b77f(0x107)+l['dirname'](p)+_0x11b77f(0x15b)+o+'.test.tsx'),t[_0x11b77f(0x15f)]('Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components'));if(q&&f){let e=g[_0x11b77f(0xf8)](f,_0x11b77f(0x110)),r=g[_0x11b77f(0xf8)](p,_0x11b77f(0x110));new RegExp(_0x11b77f(0xee)+o+_0x11b77f(0x147),'i')[_0x11b77f(0x152)](e)||(t[_0x11b77f(0x15f)](_0x11b77f(0x15c)+o),t[_0x11b77f(0x15f)]('Test\x20file:\x20'+l['basename'](f)),t[_0x11b77f(0x15f)](_0x11b77f(0x15a)+o+_0x11b77f(0xf3)+o+'\x27')),![new RegExp(_0x11b77f(0x114)+o,'i'),new RegExp(_0x11b77f(0xf1)+o,'i'),new RegExp(_0x11b77f(0x171)+o,'i'),new RegExp(_0x11b77f(0x131),'i'),new RegExp(_0x11b77f(0x141),'i')]['some'](_0x17364f=>_0x17364f[_0x11b77f(0x152)](e))&&!e[_0x11b77f(0xfe)](_0x11b77f(0xe7))&&(t['push'](_0x11b77f(0x10e)),t[_0x11b77f(0x15f)](_0x11b77f(0xf0)+l[_0x11b77f(0xf4)](f)),t[_0x11b77f(0x15f)]('Add:\x20render(<'+o+_0x11b77f(0xe6)));let N=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,v=r[_0x11b77f(0x158)](N);if(v){let u=v[0x1][_0x11b77f(0x11f)]('\x0a')[_0x11b77f(0x105)](_0x903070=>!_0x903070[_0x11b77f(0xfe)]('?:')&&_0x903070[_0x11b77f(0xfe)](':'))[_0x11b77f(0x101)](_0x12dda4=>_0x12dda4[_0x11b77f(0x13a)]()[_0x11b77f(0x11f)](':')[0x0][_0x11b77f(0x13a)]())[_0x11b77f(0x105)](Boolean);if(u[_0x11b77f(0xfb)]>0x0&&!u[_0x11b77f(0x10b)](_0x1d2578=>e[_0x11b77f(0xfe)](_0x1d2578+'=')||e[_0x11b77f(0xfe)](_0x1d2578+':')||e['includes']('\x22'+_0x1d2578+'\x22')||e[_0x11b77f(0xfe)]('\x27'+_0x1d2578+'\x27'))){let n=_0x11b77f(0xec),i=['Required\x20props:\x20'+u[_0x11b77f(0x11d)](',\x20'),_0x11b77f(0x118)];m(d,'requireProps')?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+n),i[_0x11b77f(0x165)](_0x2d0ed5=>t['push'](_0x2d0ed5))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+n),i[_0x11b77f(0x165)](_0x5a0d8e=>a[_0x11b77f(0x15f)](_0x5a0d8e)));}}let R=/on[A-Z]\w+/g,b=r[_0x11b77f(0x158)](R)||[],x=[...new Set(b)];if(x[_0x11b77f(0xfb)]>0x0&&![/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x11b77f(0x10b)](_0x42d0a5=>_0x42d0a5[_0x11b77f(0x152)](e))){let s=_0x11b77f(0x160),n=[_0x11b77f(0x164)+x[_0x11b77f(0x13f)](0x0,0x5)[_0x11b77f(0x11d)](',\x20'),_0x11b77f(0x148)];m(d,'requireEventTests')?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+s),n[_0x11b77f(0x165)](_0x3efc0a=>t[_0x11b77f(0x15f)](_0x3efc0a))):(a[_0x11b77f(0x15f)]('WARNING:\x20'+s),n[_0x11b77f(0x165)](_0x2b58a8=>a[_0x11b77f(0x15f)](_0x2b58a8)));}if([/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x11b77f(0x10b)](_0x287fa5=>_0x287fa5[_0x11b77f(0x152)](r))&&![/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/]['some'](_0x541259=>_0x541259[_0x11b77f(0x152)](e))){let s=_0x11b77f(0x115),n=[_0x11b77f(0x12e),_0x11b77f(0xeb)];m(d,_0x11b77f(0x143))?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+s),n[_0x11b77f(0x165)](_0x2b2f61=>t[_0x11b77f(0x15f)](_0x2b2f61))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+s),n[_0x11b77f(0x165)](_0x14c814=>a[_0x11b77f(0x15f)](_0x14c814)));}let k=/useState|useReducer|useContext/g;if((r[_0x11b77f(0x158)](k)||[])['length']>0x0&&![/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x11b77f(0x10b)](_0x27f219=>_0x27f219['test'](e))){let s=_0x11b77f(0x113),n=[_0x11b77f(0x13e)];m(d,'requireStateTests')?(t[_0x11b77f(0x15f)]('BLOCKED:\x20'+s),n[_0x11b77f(0x165)](_0x1c6478=>t[_0x11b77f(0x15f)](_0x1c6478))):(a[_0x11b77f(0x15f)]('WARNING:\x20'+s),n[_0x11b77f(0x165)](_0x186d69=>a['push'](_0x186d69)));}if((r[_0x11b77f(0xfe)](_0x11b77f(0x138))||r[_0x11b77f(0xfe)](_0x11b77f(0xfc)))&&!(e[_0x11b77f(0xfe)](_0x11b77f(0x13c))||e['includes'](_0x11b77f(0x12c)))){let u=_0x11b77f(0x106),s=[_0x11b77f(0x130)];m(d,_0x11b77f(0x157))?(t[_0x11b77f(0x15f)](_0x11b77f(0x125)+u),s[_0x11b77f(0x165)](_0x34b356=>t[_0x11b77f(0x15f)](_0x34b356))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+u),s[_0x11b77f(0x165)](_0x177de9=>a['push'](_0x177de9)));}let y=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g,w=r[_0x11b77f(0x158)](y)||[];if(w[_0x11b77f(0xfb)]>d[_0x11b77f(0xf6)]){let c=/(?:it|test)\s*\(/g,u=e[_0x11b77f(0x158)](c)||[];if(u[_0x11b77f(0xfb)]<0x2){let s='Component\x20has\x20'+w[_0x11b77f(0xfb)]+_0x11b77f(0x11e)+u['length']+_0x11b77f(0x135),n=[_0x11b77f(0xe5)];m(d,_0x11b77f(0xed))?(t['push'](_0x11b77f(0x125)+s),n[_0x11b77f(0x165)](_0x565bfc=>t[_0x11b77f(0x15f)](_0x565bfc))):(a[_0x11b77f(0x15f)](_0x11b77f(0x11b)+s),n['forEach'](_0x2deff2=>a['push'](_0x2deff2)));}}let F=/import\s+\{?([A-Z]\w+)\}?\s+from/g,T=[],I;for(;(I=F[_0x11b77f(0x129)](r))!==null;)I[0x1]!==o&&T[_0x11b77f(0x15f)](I[0x1]);if(T[_0x11b77f(0xfb)]>0x2){let c=e['split']('\x0a')[_0x11b77f(0xfb)];c<0x1e&&(a['push'](_0x11b77f(0x150)+T['length']+_0x11b77f(0x155)+c+'\x20lines'),a[_0x11b77f(0x15f)](_0x11b77f(0x122)));}}t[_0x11b77f(0xfb)]>0x0&&(console['error']('\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a'),console[_0x11b77f(0x163)](_0x11b77f(0xf2)+$+'\x0a'),t[_0x11b77f(0x165)](_0x4cd82d=>console[_0x11b77f(0x163)]('\x20\x20'+_0x4cd82d)),console['error']('\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a'),process[_0x11b77f(0x11a)](0x2)),a['length']>0x0&&(console['warn'](_0x11b77f(0x16b)),console[_0x11b77f(0x16a)]('UI\x20Component:\x20'+$+'\x0a'),a['forEach'](_0x1d00e5=>console[_0x11b77f(0x16a)]('\x20\x20'+_0x1d00e5)),console[_0x11b77f(0x16a)]('\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a')),process[_0x11b77f(0x11a)](0x0);
|
package/dist/scripts/help.js
CHANGED
|
@@ -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 _0x115f71=_0x2446;function _0x2446(_0x5c2ebc,_0x16fc8d){_0x5c2ebc=_0x5c2ebc-0xf3;var _0x2b288d=_0x5e56();var _0x3612c7=_0x2b288d[_0x5c2ebc];return _0x3612c7;}(function(_0x141d7f,_0x323d3c){var _0x19a5ce=_0x2446,_0x18bc9b=_0x141d7f();while(!![]){try{var _0x27c854=parseInt(_0x19a5ce(0xf9))/0x1+-parseInt(_0x19a5ce(0xfc))/0x2+-parseInt(_0x19a5ce(0xfa))/0x3+-parseInt(_0x19a5ce(0xf5))/0x4+parseInt(_0x19a5ce(0xf8))/0x5+parseInt(_0x19a5ce(0xfe))/0x6+parseInt(_0x19a5ce(0xf4))/0x7;if(_0x27c854===_0x323d3c)break;else _0x18bc9b['push'](_0x18bc9b['shift']());}catch(_0x3931d0){_0x18bc9b['push'](_0x18bc9b['shift']());}}}(_0x5e56,0x57965));var _0x7545f1=(function(){var _0x5e5fa2=!![];return function(_0x50187f,_0x4d61f8){var _0x2a30ac=_0x5e5fa2?function(){var _0x5adc65=_0x2446;if(_0x4d61f8){var _0x26e695=_0x4d61f8[_0x5adc65(0xf3)](_0x50187f,arguments);return _0x4d61f8=null,_0x26e695;}}:function(){};return _0x5e5fa2=![],_0x2a30ac;};}()),_0x3612c7=_0x7545f1(this,function(){var _0x2010f1=_0x2446;return _0x3612c7[_0x2010f1(0xfd)]()[_0x2010f1(0xf6)](_0x2010f1(0xff))[_0x2010f1(0xfd)]()[_0x2010f1(0xfb)](_0x3612c7)[_0x2010f1(0xf6)](_0x2010f1(0xff));});function _0x5e56(){var _0x1d6884=['constructor','943058NVgnJY','toString','108018zqPefP','(((.+)+)+)+$','apply','6984229eCXgEB','2232504CScNQO','search','log','426430szKVsW','292645CjKwWX','15807LkfdWr'];_0x5e56=function(){return _0x1d6884;};return _0x5e56();}_0x3612c7(),console[_0x115f71(0xf7)]('\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['exit'](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const _0x2a36c5=_0x2a21;(function(_0x53cac2,_0x404c4b){const _0x11e30b=_0x2a21,_0x598f7f=_0x53cac2();while(!![]){try{const _0x110c5c=parseInt(_0x11e30b(0x237))/0x1*(-parseInt(_0x11e30b(0x1fa))/0x2)+parseInt(_0x11e30b(0x22a))/0x3*(-parseInt(_0x11e30b(0x226))/0x4)+parseInt(_0x11e30b(0x1cf))/0x5+-parseInt(_0x11e30b(0x23b))/0x6+-parseInt(_0x11e30b(0x22e))/0x7+parseInt(_0x11e30b(0x1ce))/0x8*(parseInt(_0x11e30b(0x1cb))/0x9)+parseInt(_0x11e30b(0x1e4))/0xa;if(_0x110c5c===_0x404c4b)break;else _0x598f7f['push'](_0x598f7f['shift']());}catch(_0x312f86){_0x598f7f['push'](_0x598f7f['shift']());}}}(_0x2903,0x54ea7));var h=(_0x4a834e=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x4a834e,{'get':(_0x901eb6,_0x444eca)=>(typeof require<'u'?require:_0x901eb6)[_0x444eca]}):_0x4a834e)(function(_0x3fe6f7){const _0x1dc2d2=_0x2a21,_0xc8fe4a={'wsgnc':function(_0x1b1fe2,_0x12d779){return _0x1b1fe2<_0x12d779;},'gEkUg':function(_0x3a1c52,_0x1501ad){return _0x3a1c52(_0x1501ad);},'mUjsP':function(_0x23a3ac,_0x2e5b1b){return _0x23a3ac+_0x2e5b1b;},'RphoH':_0x1dc2d2(0x227),'kwjir':_0x1dc2d2(0x262)};if(_0xc8fe4a[_0x1dc2d2(0x251)](typeof require,'u'))return require[_0x1dc2d2(0x1c3)](this,arguments);throw _0xc8fe4a[_0x1dc2d2(0x246)](Error,_0xc8fe4a[_0x1dc2d2(0x204)](_0xc8fe4a[_0x1dc2d2(0x204)](_0xc8fe4a[_0x1dc2d2(0x1a8)],_0x3fe6f7),_0xc8fe4a[_0x1dc2d2(0x1e5)]));}),n=h('fs'),$=h(_0x2a36c5(0x245)),d=h(_0x2a36c5(0x1ec)),w=_0x2a36c5(0x269);n[_0x2a36c5(0x252)](w)||(console['error']('❌\x20Error:\x20No\x20active\x20plan\x20found'),console['error']('Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager'),process[_0x2a36c5(0x25c)](0x1));var T=n[_0x2a36c5(0x207)](w,_0x2a36c5(0x1a4))[_0x2a36c5(0x1f8)](),y=d[_0x2a36c5(0x239)](_0x2a36c5(0x1c9),T),v=d[_0x2a36c5(0x239)](y,_0x2a36c5(0x24f)),f=d[_0x2a36c5(0x239)](y,'TASK-TRACKER.json'),m=d[_0x2a36c5(0x239)](y,'PLAN-AMENDMENTS.json'),S=d[_0x2a36c5(0x239)](y,_0x2a36c5(0x200));n[_0x2a36c5(0x252)](f)||(console['error'](_0x2a36c5(0x1af)+T+_0x2a36c5(0x1f7)),console[_0x2a36c5(0x244)]('Run\x20\x22npm\x20run\x20plan:init\x22\x20first\x20to\x20lock\x20the\x20plan'),process[_0x2a36c5(0x25c)](0x1));const _0x4a4fba={};_0x4a4fba['input']=process[_0x2a36c5(0x248)],_0x4a4fba[_0x2a36c5(0x1c6)]=process['stdout'];function _0x2903(){const _0x4a9a45=['QdhQy','JzXjP','❌\x20Cannot\x20remove\x20task\x20that\x20is\x20in_progress','QPQBP','path','tests','length','XdlzG','Invalid\x20choice','catch','Task\x20ID\x20(e.g.,\x20TASK-001):\x20','Error:','taskId','1.\x20Add\x20a\x20new\x20task','completed','\x20is\x20not\x20locked\x20yet','trim','What\x20would\x20you\x20like\x20to\x20do?\x0a','839582mEposk','writeFileSync','createInterface','❌\x20Cannot\x20remove\x20completed\x20tasks','ULlPN','mromz','tasks','stringify','type','add','mUjsP','mRpur','dependencies','readFileSync','toLocaleString','jOiCd','WVUhN','.json','\x20\x20\x20-\x20','toString','\x20removed\x20successfully!','implementation','toISOString','YFOgV','4.\x20View\x20amendment\x20history','dCwEl','keys','HiYKE','uIqhc','log','ycJpw','(((.+)+)+)+$','NQWMw','zjGkp','includes','LZOVJ','JsAzd','unlinkSync','\x20\x20\x20Phase:\x20','oiBZs','phase','TFchD','statistics','ODVgL','60IhNOVR','Dynamic\x20require\x20of\x20\x22','vvpAS','\x20\x20\x20Removed:\x20','112527VZNCjg','\x20\x20\x20Description\x20updated','\x20added\x20successfully!','QBaGk','3838135aAXrqx','TPrwH','map','\x0a📜\x20Plan\x20Amendment\x20History\x0a','cpFyG','title','\x0aCurrent\x20description:\x20','fFZDM','Task\x20title:\x20','1kVKxSR','iRmYY','join','TASK-','477042mLqmFd','mzwZa','ftGFy','search','nUzgu','BsOgs','rnDqY','3.\x20Remove\x20a\x20task','lastUpdated','error','readline','gEkUg','oldDescription','stdin','vvUxR','jocDd','qNZtC','documentation','\x20\x20\x20Added:\x20','No\x20amendments\x20yet.','PROJECT-PLAN.json','code','wsgnc','existsSync','status','parse','Task\x20ID\x20to\x20remove\x20(e.g.,\x20TASK-001):\x20','KcoIQ','message','AWqIb','\x20\x20\x20Status:\x20pending','HybfC','Task\x20description\x20(optional):\x20','exit','2.\x20Update\x20an\x20existing\x20task','MYdyK','XPMyx','vqUiy','xKdLf','\x22\x20is\x20not\x20supported','dTpCS','uXwVX','New\x20title\x20(or\x20press\x20Enter\x20to\x20keep):\x20','\x0a❌\x20Cannot\x20remove\x20task.\x20The\x20following\x20tasks\x20depend\x20on\x20it:','\x0aAmendment\x20logged\x20for\x20audit\x20trail.','reason','.claude/ACTIVE-PLAN','Total\x20amendments:\x20','blocked','tPKth','question','Complete\x20or\x20abandon\x20it\x20first.','Reason\x20for\x20adding:\x20','Reason\x20for\x20removal:\x20','gvSHx','nOYxq','PKaYs','utf8','\x20\x20\x20Title:\x20','totalTasks','update','RphoH','sEwch','FrGWH','Reason\x20for\x20update:\x20','mlIoE','\x22\x20→\x20\x22','IehXC','❌\x20Error:\x20Plan\x20','uUBEG','❌\x20Task\x20','max','omzZb','oldTitle','DaNNl','taskFiles','TIeUE','description','EJiBQ','splice','gCZQk','solCv','newTitle','padStart','push','yfGnq','LgMiQ','gvcuD','apply','kCSdB','forEach','output','in_progress','find','.claude/plans','DyWYT','193194zBGDwv','\x20\x20\x20Changed:\x20\x22','New\x20description\x20(or\x20press\x20Enter\x20to\x20keep):\x20','32eNvuOX','328040zciIjw','RjHdf','deEfN','\x0a✅\x20Task\x20','Phase\x20(design/implementation/testing/deployment):\x20','newDescription','\x0aCurrent\x20title:\x20','rDHNn','aKbHw','NacLA','remove','5.\x20Cancel\x0a','amendments','CWzVQ','myMQc','changes','pending','📝\x20Plan\x20Amendment\x20Tool\x0a','.\x20[','toUpperCase','\x0a---\x20Add\x20New\x20Task\x20---\x0a','18065810NWqIJI','kwjir','replace','SlMaE'];_0x2903=function(){return _0x4a9a45;};return _0x2903();}function _0x2a21(_0x577069,_0x5d9cf4){_0x577069=_0x577069-0x1a2;const _0x4e3b4b=_0x2903();let _0x1a6251=_0x4e3b4b[_0x577069];return _0x1a6251;}var N=$[_0x2a36c5(0x1fc)](_0x4a4fba);function a(_0x1ee19e){const _0x592416=_0x2a36c5,_0x14b9d6={};_0x14b9d6[_0x592416(0x1d7)]=_0x592416(0x24e),_0x14b9d6[_0x592416(0x238)]=function(_0x5b2423,_0x25fb68){return _0x5b2423!==_0x25fb68;},_0x14b9d6[_0x592416(0x1dd)]=_0x592416(0x1eb);const _0x2dfcf3=_0x14b9d6;return new Promise(_0x5b712f=>{const _0xb2a0d8=_0x592416;if(_0x2dfcf3['iRmYY'](_0x2dfcf3[_0xb2a0d8(0x1dd)],_0xb2a0d8(0x1eb))){_0x5ed24a[_0xb2a0d8(0x217)](_0x2dfcf3[_0xb2a0d8(0x1d7)]);return;}else N[_0xb2a0d8(0x26d)](_0x1ee19e,_0x5b712f);});}async function F(){const _0x4a26c5=_0x2a36c5,_0x4d1d96={'uXwVX':function(_0x4bb9ef,_0x2f0d7a){return _0x4bb9ef+_0x2f0d7a;},'ftGFy':'\x22\x20is\x20not\x20supported','eEFge':function(_0x4408e2,_0x5d47b6){return _0x4408e2!==_0x5d47b6;},'RjHdf':function(_0x1d09f2,_0x345f11){return _0x1d09f2===_0x345f11;},'kCSdB':'lDBAO','pwLXU':'jvTXv','mRpur':_0x4a26c5(0x232),'LZOVJ':_0x4a26c5(0x219),'AzIwm':function(_0x19ca09){return _0x19ca09();},'jocDd':'utf8','zjGkp':_0x4a26c5(0x1f5),'deEfN':_0x4a26c5(0x25d),'TPrwH':_0x4a26c5(0x242),'WVUhN':_0x4a26c5(0x212),'PdWLG':function(_0x3bbf6f,_0x312580){return _0x3bbf6f(_0x312580);},'FrGWH':function(_0x5115ff,_0x5e17ab,_0x45106f){return _0x5115ff(_0x5e17ab,_0x45106f);},'oLFnt':function(_0x2e5478,_0x250cf9,_0x50ee0a){return _0x2e5478(_0x250cf9,_0x50ee0a);},'vqUiy':'Cancelled.'},_0x351c21=(function(){const _0x4b743e=_0x4a26c5,_0x18d298={'OroQf':function(_0xaf67aa,_0x57a01a){const _0x27db47=_0x2a21;return _0x4d1d96[_0x27db47(0x264)](_0xaf67aa,_0x57a01a);},'EJiBQ':function(_0x5400d1,_0x34f324){const _0x2654c3=_0x2a21;return _0x4d1d96[_0x2654c3(0x264)](_0x5400d1,_0x34f324);},'DaNNl':_0x4d1d96[_0x4b743e(0x23d)],'qCoBd':function(_0x2df188,_0x5751d1){return _0x4d1d96['eEFge'](_0x2df188,_0x5751d1);},'QdhQy':_0x4b743e(0x228),'LgMiQ':function(_0x3a2487,_0x5f1269){const _0x5e073f=_0x4b743e;return _0x4d1d96[_0x5e073f(0x1d0)](_0x3a2487,_0x5f1269);},'FWOAA':_0x4d1d96[_0x4b743e(0x1c4)],'FcnDO':_0x4d1d96['pwLXU']};let _0x5c09c3=!![];return function(_0x4679c6,_0x13e21c){const _0x47581d=_0x4b743e,_0x4b06d6={'QBaGk':function(_0x41821a,_0x21326f){return _0x18d298['OroQf'](_0x41821a,_0x21326f);},'rDHNn':function(_0x1b9d7c,_0x4ac8b2){const _0x21c566=_0x2a21;return _0x18d298[_0x21c566(0x1b9)](_0x1b9d7c,_0x4ac8b2);},'xKdLf':_0x18d298[_0x47581d(0x1b5)],'txPtA':function(_0x4fc313,_0x5b850c){return _0x18d298['qCoBd'](_0x4fc313,_0x5b850c);},'BsOgs':_0x18d298[_0x47581d(0x1e8)]};if(_0x18d298[_0x47581d(0x1c1)](_0x18d298['FWOAA'],_0x18d298['FcnDO']))_0x1d577b['question'](_0x4241ce,_0xf678c5);else{const _0x1cc55c=_0x5c09c3?function(){const _0x1bc62f=_0x47581d,_0x5829ee={'uIqhc':function(_0x1b6e25,_0x282b13){const _0x2eef42=_0x2a21;return _0x4b06d6[_0x2eef42(0x22d)](_0x1b6e25,_0x282b13);},'fFZDM':function(_0x429b2d,_0x3c99ce){const _0x1be17b=_0x2a21;return _0x4b06d6[_0x1be17b(0x1d6)](_0x429b2d,_0x3c99ce);},'NQWMw':_0x4b06d6[_0x1bc62f(0x261)]};if(_0x13e21c){if(_0x4b06d6['txPtA'](_0x4b06d6[_0x1bc62f(0x240)],_0x4b06d6[_0x1bc62f(0x240)])){if(typeof _0x82c42a<'u')return _0x2443dd[_0x1bc62f(0x1c3)](this,arguments);throw _0x12ea91(_0x5829ee[_0x1bc62f(0x216)](_0x5829ee[_0x1bc62f(0x235)](_0x1bc62f(0x227),_0x1d8ced),_0x5829ee[_0x1bc62f(0x21a)]));}else{const _0x353458=_0x13e21c[_0x1bc62f(0x1c3)](_0x4679c6,arguments);return _0x13e21c=null,_0x353458;}}}:function(){};return _0x5c09c3=![],_0x1cc55c;}};}()),_0x247aed=_0x351c21(this,function(){const _0x306c2f=_0x4a26c5;if(_0x306c2f(0x1ac)!==_0x4d1d96[_0x306c2f(0x205)])return _0x247aed['toString']()[_0x306c2f(0x23e)](_0x4d1d96[_0x306c2f(0x21d)])[_0x306c2f(0x20d)]()['constructor'](_0x247aed)[_0x306c2f(0x23e)](_0x4d1d96[_0x306c2f(0x21d)]);else _0x39787a[_0x306c2f(0x244)](_0x306c2f(0x1f3),_0x326ae5['message']),_0x1404b1['exit'](0x1);});_0x4d1d96['AzIwm'](_0x247aed),(console[_0x4a26c5(0x217)](_0x4a26c5(0x1e0)),console[_0x4a26c5(0x217)]('This\x20allows\x20you\x20to\x20modify\x20a\x20locked\x20plan\x20while\x20maintaining\x20audit\x20trail.\x0a'));const _0x5696c3={};_0x5696c3[_0x4a26c5(0x1db)]=[];let _0x275746=JSON['parse'](n[_0x4a26c5(0x207)](f,_0x4a26c5(0x1a4))),_0x46c3f0=n[_0x4a26c5(0x252)](m)?JSON[_0x4a26c5(0x254)](n[_0x4a26c5(0x207)](m,_0x4d1d96[_0x4a26c5(0x24a)])):_0x5696c3;switch(console[_0x4a26c5(0x217)](_0x4a26c5(0x1f9)),console['log'](_0x4d1d96[_0x4a26c5(0x21b)]),console[_0x4a26c5(0x217)](_0x4d1d96[_0x4a26c5(0x1d1)]),console['log'](_0x4d1d96[_0x4a26c5(0x22f)]),console[_0x4a26c5(0x217)](_0x4d1d96[_0x4a26c5(0x20a)]),console[_0x4a26c5(0x217)](_0x4a26c5(0x1da)),(await _0x4d1d96['PdWLG'](a,'Enter\x20choice\x20(1-5):\x20'))['trim']()){case'1':await _0x4d1d96[_0x4a26c5(0x1aa)](x,_0x275746,_0x46c3f0);break;case'2':await _0x4d1d96[_0x4a26c5(0x1aa)](A,_0x275746,_0x46c3f0);break;case'3':await _0x4d1d96['oLFnt'](O,_0x275746,_0x46c3f0);break;case'4':_0x4d1d96['PdWLG'](j,_0x46c3f0);break;case'5':console[_0x4a26c5(0x217)](_0x4d1d96[_0x4a26c5(0x260)]);break;default:console[_0x4a26c5(0x244)](_0x4a26c5(0x1f0)),process[_0x4a26c5(0x25c)](0x1);}N['close']();}async function x(_0x3f1b67,_0x50b59a){const _0x4792b8=_0x2a36c5,_0x8c835d={'ODVgL':function(_0x1e239d,_0x37ce48){return _0x1e239d(_0x37ce48);},'nOYxq':_0x4792b8(0x236),'gvSHx':_0x4792b8(0x25b),'omzZb':_0x4792b8(0x1d3),'solCv':function(_0x304ad7,_0x4c46eb){return _0x304ad7+_0x4c46eb;},'oiBZs':_0x4792b8(0x20f),'Ucjon':'pending','jOiCd':_0x4792b8(0x203)};console[_0x4792b8(0x217)](_0x4792b8(0x1e3));const _0x158cfe={};_0x158cfe['design']=[],_0x158cfe[_0x4792b8(0x250)]=[],_0x158cfe[_0x4792b8(0x1ed)]=[],_0x158cfe[_0x4792b8(0x24c)]=[];let _0x8fc75f=await _0x8c835d[_0x4792b8(0x225)](a,_0x8c835d[_0x4792b8(0x1a2)]),_0x26cee2=await a(_0x8c835d[_0x4792b8(0x271)]),_0x38089e=await _0x8c835d[_0x4792b8(0x225)](a,_0x8c835d[_0x4792b8(0x1b3)]),_0x2c7c42=await _0x8c835d['ODVgL'](a,_0x4792b8(0x26f)),_0xb144c0=_0x3f1b67['taskFiles'][_0x4792b8(0x230)](_0x3c3ccb=>parseInt(_0x3c3ccb['id'][_0x4792b8(0x1e6)](_0x4792b8(0x23a),'')))['filter'](_0x5023c1=>!isNaN(_0x5023c1)),_0x1149f4=_0x8c835d[_0x4792b8(0x1bc)](Math[_0x4792b8(0x1b2)](..._0xb144c0,0x0),0x1),_0x323de4=_0x4792b8(0x23a)+String(_0x1149f4)[_0x4792b8(0x1be)](0x3,'0'),_0x2b1b84={'id':_0x323de4,'title':_0x8fc75f['trim'](),'description':_0x26cee2['trim']()||'','status':_0x4792b8(0x1df),'phase':_0x38089e['trim']()||_0x8c835d[_0x4792b8(0x221)],'subproject':null,'subprojectName':null,'milestone':null,'milestoneName':null,'dependencies':[],'completionCriteria':[],'testCases':[],'estimatedHours':null,'actualHours':null,'startedAt':null,'completedAt':null,'blockedReason':null,'artifacts':_0x158cfe,'notes':[]},_0xd5db33=d[_0x4792b8(0x239)](S,_0x323de4+_0x4792b8(0x20b));n[_0x4792b8(0x1fb)](_0xd5db33,JSON['stringify'](_0x2b1b84,null,0x2)),_0x3f1b67[_0x4792b8(0x1b6)][_0x4792b8(0x1bf)]({'id':_0x323de4,'title':_0x8fc75f[_0x4792b8(0x1f8)](),'status':_0x8c835d['Ucjon'],'file':'.claude/tasks/'+_0x323de4+_0x4792b8(0x20b)}),_0x3f1b67['statistics']['totalTasks']++,_0x3f1b67['statistics'][_0x4792b8(0x1df)]++,_0x3f1b67[_0x4792b8(0x243)]=new Date()[_0x4792b8(0x210)](),n[_0x4792b8(0x1fb)](f,JSON[_0x4792b8(0x201)](_0x3f1b67,null,0x2)),_0x50b59a[_0x4792b8(0x1db)][_0x4792b8(0x1bf)]({'timestamp':new Date()['toISOString'](),'type':_0x8c835d[_0x4792b8(0x209)],'taskId':_0x323de4,'reason':_0x2c7c42[_0x4792b8(0x1f8)](),'changes':{'title':_0x8fc75f[_0x4792b8(0x1f8)](),'phase':_0x38089e[_0x4792b8(0x1f8)]()||_0x8c835d[_0x4792b8(0x221)]}}),n[_0x4792b8(0x1fb)](m,JSON[_0x4792b8(0x201)](_0x50b59a,null,0x2)),console['log']('\x0a✅\x20Task\x20'+_0x323de4+_0x4792b8(0x22c)),console[_0x4792b8(0x217)](_0x4792b8(0x1a5)+_0x8fc75f),console[_0x4792b8(0x217)](_0x4792b8(0x259)),console['log']('\x20\x20\x20File:\x20'+_0xd5db33),console[_0x4792b8(0x217)](_0x4792b8(0x267));}async function A(_0xad689b,_0x258acb){const _0x3548f9=_0x2a36c5,_0x37520e={'IehXC':function(_0x494caf,_0x4936cd){return _0x494caf(_0x4936cd);},'JzXjP':_0x3548f9(0x1f2),'HiYKE':'utf8','mzwZa':function(_0x4183f0,_0x46448e){return _0x4183f0===_0x46448e;},'CWzVQ':'completed','SlMaE':'❌\x20Cannot\x20modify\x20completed\x20tasks','ycJpw':_0x3548f9(0x265),'JsAzd':_0x3548f9(0x1cd),'XPMyx':function(_0x35c2e0,_0x12887c){return _0x35c2e0(_0x12887c);},'vvUxR':_0x3548f9(0x1ab)};console[_0x3548f9(0x217)]('\x0a---\x20Update\x20Existing\x20Task\x20---\x0a');let _0x528c0a=await _0x37520e[_0x3548f9(0x1ae)](a,_0x37520e[_0x3548f9(0x1e9)]),_0x1b569f=d[_0x3548f9(0x239)](S,_0x528c0a['trim']()+_0x3548f9(0x20b));n[_0x3548f9(0x252)](_0x1b569f)||(console[_0x3548f9(0x244)](_0x3548f9(0x1b1)+_0x528c0a+'\x20not\x20found'),process[_0x3548f9(0x25c)](0x1));let _0x165e34=JSON['parse'](n[_0x3548f9(0x207)](_0x1b569f,_0x37520e[_0x3548f9(0x215)]));_0x37520e[_0x3548f9(0x23c)](_0x165e34['status'],_0x37520e[_0x3548f9(0x1dc)])&&(console[_0x3548f9(0x244)](_0x37520e[_0x3548f9(0x1e7)]),process['exit'](0x1)),console['log'](_0x3548f9(0x1d5)+_0x165e34[_0x3548f9(0x233)]);let _0x27b22d=await a(_0x37520e[_0x3548f9(0x218)]);console[_0x3548f9(0x217)](_0x3548f9(0x234)+(_0x165e34[_0x3548f9(0x1b8)]||'(none)'));let _0x38452a=await _0x37520e[_0x3548f9(0x1ae)](a,_0x37520e[_0x3548f9(0x21e)]),_0x1cc0e2=await _0x37520e[_0x3548f9(0x25f)](a,_0x37520e[_0x3548f9(0x249)]),_0x1b3067={};if(_0x27b22d['trim']()&&(_0x1b3067[_0x3548f9(0x1b4)]=_0x165e34[_0x3548f9(0x233)],_0x1b3067[_0x3548f9(0x1bd)]=_0x27b22d['trim'](),_0x165e34['title']=_0x27b22d[_0x3548f9(0x1f8)]()),_0x38452a[_0x3548f9(0x1f8)]()&&(_0x1b3067[_0x3548f9(0x247)]=_0x165e34[_0x3548f9(0x1b8)],_0x1b3067[_0x3548f9(0x1d4)]=_0x38452a[_0x3548f9(0x1f8)](),_0x165e34[_0x3548f9(0x1b8)]=_0x38452a['trim']()),Object[_0x3548f9(0x214)](_0x1b3067)[_0x3548f9(0x1ee)]===0x0){console[_0x3548f9(0x217)]('No\x20changes\x20made.');return;}n['writeFileSync'](_0x1b569f,JSON[_0x3548f9(0x201)](_0x165e34,null,0x2));let _0x38c0d9=_0xad689b[_0x3548f9(0x1b6)][_0x3548f9(0x1c8)](_0x426c19=>_0x426c19['id']===_0x528c0a[_0x3548f9(0x1f8)]());_0x38c0d9&&_0x1b3067[_0x3548f9(0x1bd)]&&(_0x38c0d9['title']=_0x1b3067[_0x3548f9(0x1bd)]),_0xad689b[_0x3548f9(0x243)]=new Date()[_0x3548f9(0x210)](),n[_0x3548f9(0x1fb)](f,JSON[_0x3548f9(0x201)](_0xad689b,null,0x2)),_0x258acb[_0x3548f9(0x1db)]['push']({'timestamp':new Date()['toISOString'](),'type':_0x3548f9(0x1a7),'taskId':_0x528c0a[_0x3548f9(0x1f8)](),'reason':_0x1cc0e2[_0x3548f9(0x1f8)](),'changes':_0x1b3067}),n[_0x3548f9(0x1fb)](m,JSON[_0x3548f9(0x201)](_0x258acb,null,0x2)),console['log'](_0x3548f9(0x1d2)+_0x528c0a+'\x20updated\x20successfully!'),console[_0x3548f9(0x217)](_0x3548f9(0x267));}async function O(_0x50482f,_0x3e0666){const _0x44975a=_0x2a36c5,_0x190157={'AWqIb':function(_0x3500ee,_0x29c2c1){return _0x3500ee(_0x29c2c1);},'nUzgu':_0x44975a(0x1a4),'dTpCS':function(_0x53064a,_0x5e26b0){return _0x53064a===_0x5e26b0;},'XdlzG':_0x44975a(0x1c7),'XyYTh':_0x44975a(0x1ea),'PKaYs':_0x44975a(0x1f6),'TIeUE':_0x44975a(0x1fd),'DyWYT':function(_0x183e14,_0x548864){return _0x183e14(_0x548864);},'NacLA':_0x44975a(0x270),'uUBEG':function(_0x13ad43,_0x2b1c48){return _0x13ad43>_0x2b1c48;},'PvDoa':function(_0xdd325d,_0xdf91f5){return _0xdd325d===_0xdf91f5;},'yfGnq':_0x44975a(0x1df),'rnDqY':_0x44975a(0x26b),'gCZQk':_0x44975a(0x1d9)};console[_0x44975a(0x217)]('\x0a---\x20Remove\x20Task\x20---\x0a');let _0x32ccd2=await _0x190157[_0x44975a(0x258)](a,_0x44975a(0x255)),_0x3add8d=d['join'](S,_0x32ccd2[_0x44975a(0x1f8)]()+_0x44975a(0x20b));n[_0x44975a(0x252)](_0x3add8d)||(console[_0x44975a(0x244)](_0x44975a(0x1b1)+_0x32ccd2+'\x20not\x20found'),process[_0x44975a(0x25c)](0x1));let _0x55bdec=JSON[_0x44975a(0x254)](n['readFileSync'](_0x3add8d,_0x190157['nUzgu']));_0x190157[_0x44975a(0x263)](_0x55bdec[_0x44975a(0x253)],_0x190157[_0x44975a(0x1ef)])&&(console[_0x44975a(0x244)](_0x190157['XyYTh']),console['error'](_0x44975a(0x26e)),process[_0x44975a(0x25c)](0x1)),_0x190157[_0x44975a(0x263)](_0x55bdec[_0x44975a(0x253)],_0x190157[_0x44975a(0x1a3)])&&(console[_0x44975a(0x244)](_0x190157[_0x44975a(0x1b7)]),process[_0x44975a(0x25c)](0x1));let _0x508da4=await _0x190157[_0x44975a(0x1ca)](a,_0x190157[_0x44975a(0x1d8)]),_0x475b08=[];for(let _0x55f84a of _0x50482f['taskFiles']){let _0x33a27d=d[_0x44975a(0x239)](S,_0x55f84a['id']+_0x44975a(0x20b));if(n['existsSync'](_0x33a27d)){let _0x3ad923=JSON['parse'](n[_0x44975a(0x207)](_0x33a27d,_0x190157[_0x44975a(0x23f)]));_0x3ad923[_0x44975a(0x206)]&&_0x3ad923['dependencies'][_0x44975a(0x21c)](_0x32ccd2[_0x44975a(0x1f8)]())&&_0x475b08['push']({'id':_0x3ad923['id'],'title':_0x3ad923[_0x44975a(0x233)]});}}_0x190157[_0x44975a(0x1b0)](_0x475b08[_0x44975a(0x1ee)],0x0)&&(console[_0x44975a(0x244)](_0x44975a(0x266)),_0x475b08[_0x44975a(0x1c5)](_0x3a6412=>console['error'](_0x44975a(0x20c)+_0x3a6412['id']+':\x20'+_0x3a6412[_0x44975a(0x233)])),process['exit'](0x1)),n[_0x44975a(0x21f)](_0x3add8d);let _0x1b2b2f=_0x50482f['taskFiles']['findIndex'](_0x28c525=>_0x28c525['id']===_0x32ccd2[_0x44975a(0x1f8)]());_0x50482f[_0x44975a(0x1b6)][_0x44975a(0x1ba)](_0x1b2b2f,0x1),_0x50482f[_0x44975a(0x224)][_0x44975a(0x1a6)]--,_0x190157['PvDoa'](_0x55bdec[_0x44975a(0x253)],_0x190157[_0x44975a(0x1c0)])&&_0x50482f[_0x44975a(0x224)][_0x44975a(0x1df)]--,_0x55bdec[_0x44975a(0x253)]===_0x190157[_0x44975a(0x241)]&&_0x50482f['statistics']['blocked']--,_0x50482f[_0x44975a(0x243)]=new Date()[_0x44975a(0x210)](),n[_0x44975a(0x1fb)](f,JSON[_0x44975a(0x201)](_0x50482f,null,0x2)),_0x3e0666[_0x44975a(0x1db)][_0x44975a(0x1bf)]({'timestamp':new Date()[_0x44975a(0x210)](),'type':_0x190157[_0x44975a(0x1bb)],'taskId':_0x32ccd2[_0x44975a(0x1f8)](),'reason':_0x508da4[_0x44975a(0x1f8)](),'changes':{'title':_0x55bdec[_0x44975a(0x233)],'status':_0x55bdec['status']}}),n[_0x44975a(0x1fb)](m,JSON['stringify'](_0x3e0666,null,0x2)),console[_0x44975a(0x217)](_0x44975a(0x1d2)+_0x32ccd2+_0x44975a(0x20e)),console[_0x44975a(0x217)](_0x44975a(0x267));}function j(_0x2b63f8){const _0x144d1c=_0x2a36c5,_0x4c6bbb={};_0x4c6bbb[_0x144d1c(0x25e)]=function(_0x1249c2,_0x4a6ab2){return _0x1249c2===_0x4a6ab2;},_0x4c6bbb['TFchD']=_0x144d1c(0x213),_0x4c6bbb[_0x144d1c(0x211)]=function(_0x48cb70,_0x425fd0){return _0x48cb70+_0x425fd0;},_0x4c6bbb[_0x144d1c(0x26c)]=function(_0x555b02,_0x548d64){return _0x555b02===_0x548d64;},_0x4c6bbb[_0x144d1c(0x1a9)]='add',_0x4c6bbb[_0x144d1c(0x24b)]=function(_0x9003fc,_0x2fd076){return _0x9003fc===_0x2fd076;},_0x4c6bbb[_0x144d1c(0x1ff)]=_0x144d1c(0x1a7),_0x4c6bbb['HybfC']=_0x144d1c(0x22b),_0x4c6bbb['gvcuD']=_0x144d1c(0x1d9),_0x4c6bbb['ULlPN']=function(_0x10dcab,_0x44c23e){return _0x10dcab===_0x44c23e;},_0x4c6bbb['nISUN']=_0x144d1c(0x24e);const _0x2122c3=_0x4c6bbb;if(console['log'](_0x144d1c(0x231)),_0x2122c3[_0x144d1c(0x1fe)](_0x2b63f8[_0x144d1c(0x1db)][_0x144d1c(0x1ee)],0x0)){console['log'](_0x2122c3['nISUN']);return;}_0x2b63f8['amendments'][_0x144d1c(0x1c5)]((_0x525b2c,_0x2e8c8b)=>{const _0x4adf07=_0x144d1c;if(_0x2122c3[_0x4adf07(0x25e)](_0x2122c3[_0x4adf07(0x223)],_0x4adf07(0x256))){const _0x53cd34=_0x549a03[_0x4adf07(0x1c3)](_0x352a69,arguments);return _0x2a5879=null,_0x53cd34;}else{let _0x4d7e54=new Date(_0x525b2c['timestamp'])[_0x4adf07(0x208)]();console['log'](_0x2122c3[_0x4adf07(0x211)](_0x2e8c8b,0x1)+_0x4adf07(0x1e1)+_0x525b2c['type'][_0x4adf07(0x1e2)]()+']\x20'+_0x525b2c[_0x4adf07(0x1f4)]),console[_0x4adf07(0x217)]('\x20\x20\x20Date:\x20'+_0x4d7e54),console['log']('\x20\x20\x20Reason:\x20'+_0x525b2c[_0x4adf07(0x268)]),_0x2122c3['tPKth'](_0x525b2c[_0x4adf07(0x202)],_0x2122c3[_0x4adf07(0x1a9)])?(console['log'](_0x4adf07(0x24d)+_0x525b2c[_0x4adf07(0x1de)][_0x4adf07(0x233)]),console['log'](_0x4adf07(0x220)+_0x525b2c[_0x4adf07(0x1de)][_0x4adf07(0x222)])):_0x2122c3[_0x4adf07(0x24b)](_0x525b2c['type'],_0x2122c3[_0x4adf07(0x1ff)])?(_0x525b2c[_0x4adf07(0x1de)][_0x4adf07(0x1b4)]&&console['log'](_0x4adf07(0x1cc)+_0x525b2c[_0x4adf07(0x1de)][_0x4adf07(0x1b4)]+_0x4adf07(0x1ad)+_0x525b2c[_0x4adf07(0x1de)][_0x4adf07(0x1bd)]+'\x22'),_0x525b2c[_0x4adf07(0x1de)][_0x4adf07(0x247)]&&console[_0x4adf07(0x217)](_0x2122c3[_0x4adf07(0x25a)])):_0x525b2c[_0x4adf07(0x202)]===_0x2122c3[_0x4adf07(0x1c2)]&&console[_0x4adf07(0x217)](_0x4adf07(0x229)+_0x525b2c[_0x4adf07(0x1de)]['title']+'\x20(was\x20'+_0x525b2c[_0x4adf07(0x1de)][_0x4adf07(0x253)]+')'),console[_0x4adf07(0x217)]('');}}),console['log'](_0x144d1c(0x26a)+_0x2b63f8[_0x144d1c(0x1db)][_0x144d1c(0x1ee)]);}F()[_0x2a36c5(0x1f1)](_0x996003=>{const _0x4c9229=_0x2a36c5;console[_0x4c9229(0x244)]('Error:',_0x996003[_0x4c9229(0x257)]),process[_0x4c9229(0x25c)](0x1);});
|
|
2
|
+
const _0x3a5041=_0x3a9c;(function(_0xa547de,_0x3a0406){const _0x389599=_0x3a9c,_0x5ebd5a=_0xa547de();while(!![]){try{const _0x46a652=-parseInt(_0x389599(0x12a))/0x1+parseInt(_0x389599(0x157))/0x2*(parseInt(_0x389599(0x104))/0x3)+parseInt(_0x389599(0x160))/0x4+-parseInt(_0x389599(0xdb))/0x5+parseInt(_0x389599(0x15e))/0x6+-parseInt(_0x389599(0x161))/0x7*(-parseInt(_0x389599(0x10f))/0x8)+-parseInt(_0x389599(0x112))/0x9;if(_0x46a652===_0x3a0406)break;else _0x5ebd5a['push'](_0x5ebd5a['shift']());}catch(_0x497483){_0x5ebd5a['push'](_0x5ebd5a['shift']());}}}(_0x3fbd,0x199e0));var h=(_0x2df3ce=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2df3ce,{'get':(_0x146d01,_0x5ab04b)=>(typeof require<'u'?require:_0x146d01)[_0x5ab04b]}):_0x2df3ce)(function(_0x10463c){const _0x20a1f2=_0x3a9c,_0x5ea251={'KcEtM':function(_0x52f37b,_0x4676d7){return _0x52f37b(_0x4676d7);},'LgsFj':function(_0x668f26,_0x27e25f){return _0x668f26+_0x27e25f;}};if(typeof require<'u')return require[_0x20a1f2(0x133)](this,arguments);throw _0x5ea251[_0x20a1f2(0x162)](Error,_0x5ea251['LgsFj'](_0x5ea251[_0x20a1f2(0xe2)](_0x20a1f2(0x12d),_0x10463c),_0x20a1f2(0x144)));}),n=h('fs'),$=h(_0x3a5041(0xea)),d=h(_0x3a5041(0x102)),w=_0x3a5041(0x11b);n['existsSync'](w)||(console[_0x3a5041(0x11e)](_0x3a5041(0xeb)),console[_0x3a5041(0x11e)](_0x3a5041(0x186)),process[_0x3a5041(0x110)](0x1));var T=n['readFileSync'](w,_0x3a5041(0x17a))['trim'](),y=d[_0x3a5041(0x111)](_0x3a5041(0xf4),T),v=d[_0x3a5041(0x111)](y,'PROJECT-PLAN.json'),f=d[_0x3a5041(0x111)](y,_0x3a5041(0x18b)),m=d[_0x3a5041(0x111)](y,'PLAN-AMENDMENTS.json'),S=d[_0x3a5041(0x111)](y,_0x3a5041(0x158));function _0x3a9c(_0x2a06f6,_0x37e5f1){_0x2a06f6=_0x2a06f6-0xd2;const _0x10f09d=_0x3fbd();let _0x52fe9e=_0x10f09d[_0x2a06f6];return _0x52fe9e;}n['existsSync'](f)||(console[_0x3a5041(0x11e)](_0x3a5041(0x136)+T+_0x3a5041(0x142)),console['error'](_0x3a5041(0xf5)),process[_0x3a5041(0x110)](0x1));const _0x571f1e={};function _0x3fbd(){const _0x46a30e=['implementation','pPBJp','❌\x20Error:\x20Plan\x20','newDescription','Task\x20description\x20(optional):\x20','3.\x20Remove\x20a\x20task','\x20\x20\x20Removed:\x20','nklpJ','Error:','❌\x20Cannot\x20remove\x20completed\x20tasks','in_progress','max','push','4.\x20View\x20amendment\x20history','\x20is\x20not\x20locked\x20yet','1.\x20Add\x20a\x20new\x20task','\x22\x20is\x20not\x20supported','CQfzL','\x0aAmendment\x20logged\x20for\x20audit\x20trail.','.json','\x20\x20\x20Reason:\x20','fFiFt','stringify','BtwrL','gsxxT','\x0a❌\x20Cannot\x20remove\x20task.\x20The\x20following\x20tasks\x20depend\x20on\x20it:','\x20updated\x20successfully!','ofsBC','Enter\x20choice\x20(1-5):\x20','status','\x0a---\x20Update\x20Existing\x20Task\x20---\x0a','GnSpV','QMaFd','\x20added\x20successfully!','update','6TlbTwH','tasks','NpGPF','VycIb','cBvfa','includes','stdin','997590stJErj','.\x20[','184820uyXaGk','7fEcPmV','KcEtM','createInterface','rplzX','\x20\x20\x20Phase:\x20','❌\x20Task\x20','Reason\x20for\x20update:\x20','rHUpT','writeFileSync','timestamp','JrQqn','TASK-','xaNKS','PNSuG','IEPMt','map','CJPXI','yKpTu','CIwbj','statistics','\x20\x20\x20-\x20','Cancelled.','description','vwchq','close','utf8','KoqYx','(((.+)+)+)+$','\x0a✅\x20Task\x20','blocked','📝\x20Plan\x20Amendment\x20Tool\x0a','Ouynw','toLocaleString','input','Task\x20ID\x20(e.g.,\x20TASK-001):\x20','No\x20changes\x20made.','Task\x20title:\x20','Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager','MQZxA','fmmmy','IoqVt','\x20(was\x20','TASK-TRACKER.json','\x20\x20\x20Changed:\x20\x22','parse','gdtpz','trim','\x20\x20\x20Status:\x20pending','newTitle','filter','replace','toUpperCase','length','kLkBJ','500560lhMBet','YkUqh','llJoy','stdout','amendments','5.\x20Cancel\x0a','totalTasks','LgsFj','readFileSync','padStart','phase','toString','hqrEW','\x20\x20\x20Date:\x20','No\x20amendments\x20yet.','readline','❌\x20Error:\x20No\x20active\x20plan\x20found','auxrF','Reason\x20for\x20removal:\x20','pending','koqhj','\x22\x20→\x20\x22','taskFiles','log','splice','.claude/plans','Run\x20\x22npm\x20run\x20plan:init\x22\x20first\x20to\x20lock\x20the\x20plan','lPwNS','VPbwc','\x20\x20\x20Description\x20updated','WkyUe','\x0a---\x20Remove\x20Task\x20---\x0a','remove','\x20\x20\x20File:\x20','existsSync','completed','toISOString','dependencies','changes','path','oldTitle','188952dNezSS','\x0aCurrent\x20description:\x20','title','uYZCq','type','tests','❌\x20Cannot\x20remove\x20task\x20that\x20is\x20in_progress','catch','This\x20allows\x20you\x20to\x20modify\x20a\x20locked\x20plan\x20while\x20maintaining\x20audit\x20trail.\x0a','\x20\x20\x20Added:\x20','Uuixe','863224lmIHMg','exit','join','1801197jUmtts','YKGeu','constructor','unlinkSync','LOxyz','2.\x20Update\x20an\x20existing\x20task','design','.claude/tasks/','JbxOT','.claude/ACTIVE-PLAN','Complete\x20or\x20abandon\x20it\x20first.','HASQx','error','add','SzmbU','reason','\x20\x20\x20Title:\x20','forEach','message','find','\x0a📜\x20Plan\x20Amendment\x20History\x0a','BogVZ','search','(none)','104152reIugy','Total\x20amendments:\x20','\x20removed\x20successfully!','Dynamic\x20require\x20of\x20\x22','lastUpdated','UwwmB','keys','ynUUm','vGEkF','apply'];_0x3fbd=function(){return _0x46a30e;};return _0x3fbd();}_0x571f1e[_0x3a5041(0x182)]=process[_0x3a5041(0x15d)],_0x571f1e['output']=process[_0x3a5041(0xde)];var N=$[_0x3a5041(0x163)](_0x571f1e);function a(_0x422f29){return new Promise(_0x4c7530=>{N['question'](_0x422f29,_0x4c7530);});}async function F(){const _0x32dbb1=_0x3a5041,_0x1c20de={'fmmmy':_0x32dbb1(0x17c),'vwchq':function(_0x18db2,_0x17cc01){return _0x18db2(_0x17cc01);},'xkOUl':function(_0x2f5821,_0x524762){return _0x2f5821+_0x524762;},'SzmbU':function(_0xc43a92,_0x385bf4){return _0xc43a92+_0x385bf4;},'dLJIp':function(_0x7fa3ef,_0x3d0179){return _0x7fa3ef!==_0x3d0179;},'GnSpV':_0x32dbb1(0x15a),'rHUpT':function(_0x423a76,_0x4506f6,_0x1f34cc){return _0x423a76(_0x4506f6,_0x1f34cc);},'tzWmj':function(_0x38735b){return _0x38735b();},'xaNKS':_0x32dbb1(0x17a),'BogVZ':_0x32dbb1(0x143),'HASQx':_0x32dbb1(0x139),'ZJrPg':_0x32dbb1(0x141),'hLIbJ':_0x32dbb1(0x150),'hqrEW':function(_0x2bbc76,_0x2e8cd4,_0x489663){return _0x2bbc76(_0x2e8cd4,_0x489663);},'pPBJp':'Invalid\x20choice'},_0x1f1aaf=(function(){const _0x2077e3=_0x32dbb1,_0x1c8f08={'JrQqn':function(_0x43016b,_0xc05f5e){return _0x1c20de['dLJIp'](_0x43016b,_0xc05f5e);},'XbdUX':_0x1c20de[_0x2077e3(0x153)]};let _0x23381e=!![];return function(_0x500a02,_0x48ec53){const _0x401a44=_0x2077e3,_0x3fd5da={'Ouynw':_0x1c20de[_0x401a44(0x188)],'gsxxT':function(_0xd2a99d,_0x1b0f82){return _0x1c20de['vwchq'](_0xd2a99d,_0x1b0f82);},'gdtpz':function(_0x5aca49,_0x1e785d){return _0x1c20de['xkOUl'](_0x5aca49,_0x1e785d);},'nJjWz':function(_0x2cc48e,_0x3d9a3c){const _0x206a47=_0x401a44;return _0x1c20de[_0x206a47(0x120)](_0x2cc48e,_0x3d9a3c);},'PNSuG':_0x401a44(0x12d),'wyFfW':'\x22\x20is\x20not\x20supported'},_0x650073=_0x23381e?function(){const _0xd69396=_0x401a44;if(_0x1c8f08[_0xd69396(0x16b)](_0x1c8f08['XbdUX'],_0xd69396(0x132))){if(_0x48ec53){if(_0x1c8f08['JrQqn'](_0xd69396(0xdd),'llJoy'))return _0x49e467['toString']()['search'](saHQVf[_0xd69396(0x180)])[_0xd69396(0xe6)]()[_0xd69396(0x114)](_0x114968)[_0xd69396(0x128)](saHQVf['Ouynw']);else{const _0x47c7c1=_0x48ec53[_0xd69396(0x133)](_0x500a02,arguments);return _0x48ec53=null,_0x47c7c1;}}}else{if(typeof _0x27fb6a<'u')return _0xd9f117[_0xd69396(0x133)](this,arguments);throw _0x3fd5da[_0xd69396(0x14c)](_0x481f44,_0x3fd5da[_0xd69396(0xd2)](_0x3fd5da['nJjWz'](_0x3fd5da[_0xd69396(0x16e)],_0x2304a8),_0x3fd5da['wyFfW']));}}:function(){};return _0x23381e=![],_0x650073;};}()),_0x59e302=_0x1c20de[_0x32dbb1(0x168)](_0x1f1aaf,this,function(){const _0x3568a0=_0x32dbb1;return _0x59e302[_0x3568a0(0xe6)]()[_0x3568a0(0x128)]('(((.+)+)+)+$')[_0x3568a0(0xe6)]()[_0x3568a0(0x114)](_0x59e302)['search'](_0x1c20de[_0x3568a0(0x188)]);});_0x1c20de['tzWmj'](_0x59e302),(console[_0x32dbb1(0xf2)](_0x32dbb1(0x17f)),console[_0x32dbb1(0xf2)](_0x32dbb1(0x10c)));const _0x21bfe8={};_0x21bfe8[_0x32dbb1(0xdf)]=[];let _0x466ede=JSON[_0x32dbb1(0x18d)](n[_0x32dbb1(0xe3)](f,_0x1c20de['xaNKS'])),_0xd8e79=n[_0x32dbb1(0xfd)](m)?JSON[_0x32dbb1(0x18d)](n[_0x32dbb1(0xe3)](m,_0x1c20de[_0x32dbb1(0x16d)])):_0x21bfe8;switch(console[_0x32dbb1(0xf2)]('What\x20would\x20you\x20like\x20to\x20do?\x0a'),console[_0x32dbb1(0xf2)](_0x1c20de[_0x32dbb1(0x127)]),console[_0x32dbb1(0xf2)](_0x32dbb1(0x117)),console[_0x32dbb1(0xf2)](_0x1c20de[_0x32dbb1(0x11d)]),console['log'](_0x1c20de['ZJrPg']),console[_0x32dbb1(0xf2)](_0x32dbb1(0xe0)),(await _0x1c20de[_0x32dbb1(0x178)](a,_0x1c20de['hLIbJ']))['trim']()){case'1':await _0x1c20de[_0x32dbb1(0xe7)](x,_0x466ede,_0xd8e79);break;case'2':await A(_0x466ede,_0xd8e79);break;case'3':await O(_0x466ede,_0xd8e79);break;case'4':_0x1c20de[_0x32dbb1(0x178)](j,_0xd8e79);break;case'5':console[_0x32dbb1(0xf2)](_0x32dbb1(0x176));break;default:console[_0x32dbb1(0x11e)](_0x1c20de[_0x32dbb1(0x135)]),process[_0x32dbb1(0x110)](0x1);}N[_0x32dbb1(0x179)]();}async function x(_0x3dba2c,_0x1614ad){const _0x3d2f8d=_0x3a5041,_0x3f6884={'YKGeu':_0x3d2f8d(0x138),'vwjGS':function(_0x46bf6c,_0x6e3b8c){return _0x46bf6c(_0x6e3b8c);},'BtwrL':function(_0x6e5c75,_0x5343a0){return _0x6e5c75(_0x5343a0);},'CIwbj':'Reason\x20for\x20adding:\x20','RswXG':function(_0x5ad630,_0x5d5a20){return _0x5ad630+_0x5d5a20;},'NpGPF':'add'};console['log']('\x0a---\x20Add\x20New\x20Task\x20---\x0a');const _0x406673={};_0x406673[_0x3d2f8d(0x118)]=[],_0x406673['code']=[],_0x406673[_0x3d2f8d(0x109)]=[],_0x406673['documentation']=[];let _0x2d509f=await a(_0x3d2f8d(0x185)),_0x2e5144=await a(_0x3f6884[_0x3d2f8d(0x113)]),_0x44abff=await _0x3f6884['vwjGS'](a,'Phase\x20(design/implementation/testing/deployment):\x20'),_0x37bd9e=await _0x3f6884[_0x3d2f8d(0x14b)](a,_0x3f6884[_0x3d2f8d(0x173)]),_0x18ae45=_0x3dba2c[_0x3d2f8d(0xf1)][_0x3d2f8d(0x170)](_0x3ff7f7=>parseInt(_0x3ff7f7['id'][_0x3d2f8d(0xd7)](_0x3d2f8d(0x16c),'')))[_0x3d2f8d(0xd6)](_0x28bc25=>!isNaN(_0x28bc25)),_0x468353=_0x3f6884['RswXG'](Math[_0x3d2f8d(0x13f)](..._0x18ae45,0x0),0x1),_0x1f045a='TASK-'+String(_0x468353)[_0x3d2f8d(0xe4)](0x3,'0'),_0x4b046b={'id':_0x1f045a,'title':_0x2d509f[_0x3d2f8d(0xd3)](),'description':_0x2e5144[_0x3d2f8d(0xd3)]()||'','status':'pending','phase':_0x44abff[_0x3d2f8d(0xd3)]()||_0x3d2f8d(0x134),'subproject':null,'subprojectName':null,'milestone':null,'milestoneName':null,'dependencies':[],'completionCriteria':[],'testCases':[],'estimatedHours':null,'actualHours':null,'startedAt':null,'completedAt':null,'blockedReason':null,'artifacts':_0x406673,'notes':[]},_0x484276=d[_0x3d2f8d(0x111)](S,_0x1f045a+'.json');n['writeFileSync'](_0x484276,JSON[_0x3d2f8d(0x14a)](_0x4b046b,null,0x2)),_0x3dba2c['taskFiles']['push']({'id':_0x1f045a,'title':_0x2d509f[_0x3d2f8d(0xd3)](),'status':'pending','file':_0x3d2f8d(0x119)+_0x1f045a+_0x3d2f8d(0x147)}),_0x3dba2c[_0x3d2f8d(0x174)][_0x3d2f8d(0xe1)]++,_0x3dba2c[_0x3d2f8d(0x174)]['pending']++,_0x3dba2c[_0x3d2f8d(0x12e)]=new Date()[_0x3d2f8d(0xff)](),n[_0x3d2f8d(0x169)](f,JSON[_0x3d2f8d(0x14a)](_0x3dba2c,null,0x2)),_0x1614ad[_0x3d2f8d(0xdf)][_0x3d2f8d(0x140)]({'timestamp':new Date()[_0x3d2f8d(0xff)](),'type':_0x3f6884[_0x3d2f8d(0x159)],'taskId':_0x1f045a,'reason':_0x37bd9e[_0x3d2f8d(0xd3)](),'changes':{'title':_0x2d509f[_0x3d2f8d(0xd3)](),'phase':_0x44abff[_0x3d2f8d(0xd3)]()||'implementation'}}),n[_0x3d2f8d(0x169)](m,JSON[_0x3d2f8d(0x14a)](_0x1614ad,null,0x2)),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0x17d)+_0x1f045a+_0x3d2f8d(0x155)),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0x122)+_0x2d509f),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0xd4)),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0xfc)+_0x484276),console[_0x3d2f8d(0xf2)](_0x3d2f8d(0x146));}async function A(_0x379268,_0x12c09c){const _0xfbbfd6=_0x3a5041,_0xdd4740={'nklpJ':_0xfbbfd6(0x13c),'IoqVt':_0xfbbfd6(0x183),'EMIFP':_0xfbbfd6(0x17a),'CQfzL':_0xfbbfd6(0xfe),'xzsJp':'❌\x20Cannot\x20modify\x20completed\x20tasks','kLkBJ':function(_0x16f94e,_0x569de2){return _0x16f94e(_0x569de2);},'QMaFd':_0xfbbfd6(0x129),'ynUUm':'New\x20description\x20(or\x20press\x20Enter\x20to\x20keep):\x20','YkUqh':_0xfbbfd6(0x167),'hbNVC':function(_0x5e636a,_0x1e13fc){return _0x5e636a===_0x1e13fc;},'VPbwc':function(_0x4f7cba,_0x22bbc2){return _0x4f7cba!==_0x22bbc2;},'hWTDa':_0xfbbfd6(0xef),'auxrF':_0xfbbfd6(0x171),'rplzX':_0xfbbfd6(0x184)};console['log'](_0xfbbfd6(0x152));let _0x4f2788=await a(_0xdd4740[_0xfbbfd6(0x189)]),_0x5433f7=d[_0xfbbfd6(0x111)](S,_0x4f2788[_0xfbbfd6(0xd3)]()+_0xfbbfd6(0x147));n[_0xfbbfd6(0xfd)](_0x5433f7)||(console['error'](_0xfbbfd6(0x166)+_0x4f2788+'\x20not\x20found'),process['exit'](0x1));let _0x16bf6d=JSON[_0xfbbfd6(0x18d)](n[_0xfbbfd6(0xe3)](_0x5433f7,_0xdd4740['EMIFP']));_0x16bf6d[_0xfbbfd6(0x151)]===_0xdd4740[_0xfbbfd6(0x145)]&&(console[_0xfbbfd6(0x11e)](_0xdd4740['xzsJp']),process[_0xfbbfd6(0x110)](0x1)),console[_0xfbbfd6(0xf2)]('\x0aCurrent\x20title:\x20'+_0x16bf6d[_0xfbbfd6(0x106)]);let _0x5da88b=await _0xdd4740[_0xfbbfd6(0xda)](a,'New\x20title\x20(or\x20press\x20Enter\x20to\x20keep):\x20');console[_0xfbbfd6(0xf2)](_0xfbbfd6(0x105)+(_0x16bf6d[_0xfbbfd6(0x177)]||_0xdd4740[_0xfbbfd6(0x154)]));let _0x192788=await a(_0xdd4740[_0xfbbfd6(0x131)]),_0x21c05d=await _0xdd4740[_0xfbbfd6(0xda)](a,_0xdd4740[_0xfbbfd6(0xdc)]),_0x5b4cbc={};if(_0x5da88b[_0xfbbfd6(0xd3)]()&&(_0x5b4cbc['oldTitle']=_0x16bf6d[_0xfbbfd6(0x106)],_0x5b4cbc[_0xfbbfd6(0xd5)]=_0x5da88b[_0xfbbfd6(0xd3)](),_0x16bf6d[_0xfbbfd6(0x106)]=_0x5da88b[_0xfbbfd6(0xd3)]()),_0x192788[_0xfbbfd6(0xd3)]()&&(_0x5b4cbc['oldDescription']=_0x16bf6d['description'],_0x5b4cbc[_0xfbbfd6(0x137)]=_0x192788[_0xfbbfd6(0xd3)](),_0x16bf6d[_0xfbbfd6(0x177)]=_0x192788[_0xfbbfd6(0xd3)]()),_0xdd4740['hbNVC'](Object[_0xfbbfd6(0x130)](_0x5b4cbc)[_0xfbbfd6(0xd9)],0x0)){if(_0xdd4740[_0xfbbfd6(0xf7)](_0xdd4740['hWTDa'],_0xdd4740[_0xfbbfd6(0xec)])){console['log'](_0xdd4740[_0xfbbfd6(0x164)]);return;}else _0x279fe9['error'](_0xdd4740[_0xfbbfd6(0x13b)],_0x7ce244[_0xfbbfd6(0x124)]),_0x48b359[_0xfbbfd6(0x110)](0x1);}n[_0xfbbfd6(0x169)](_0x5433f7,JSON['stringify'](_0x16bf6d,null,0x2));let _0x4b30de=_0x379268['taskFiles'][_0xfbbfd6(0x125)](_0x57a499=>_0x57a499['id']===_0x4f2788['trim']());_0x4b30de&&_0x5b4cbc[_0xfbbfd6(0xd5)]&&(_0x4b30de[_0xfbbfd6(0x106)]=_0x5b4cbc[_0xfbbfd6(0xd5)]),_0x379268['lastUpdated']=new Date()['toISOString'](),n[_0xfbbfd6(0x169)](f,JSON[_0xfbbfd6(0x14a)](_0x379268,null,0x2)),_0x12c09c['amendments']['push']({'timestamp':new Date()['toISOString'](),'type':_0xfbbfd6(0x156),'taskId':_0x4f2788[_0xfbbfd6(0xd3)](),'reason':_0x21c05d['trim'](),'changes':_0x5b4cbc}),n[_0xfbbfd6(0x169)](m,JSON['stringify'](_0x12c09c,null,0x2)),console[_0xfbbfd6(0xf2)](_0xfbbfd6(0x17d)+_0x4f2788+_0xfbbfd6(0x14e)),console[_0xfbbfd6(0xf2)](_0xfbbfd6(0x146));}async function O(_0x55b631,_0x3a3f4d){const _0x3da688=_0x3a5041,_0xf634c3={'Uuixe':function(_0x4534ea,_0x3fca4f){return _0x4534ea(_0x3fca4f);},'ofsBC':'Task\x20ID\x20to\x20remove\x20(e.g.,\x20TASK-001):\x20','uYZCq':_0x3da688(0x17a),'MUwpD':function(_0x1114ab,_0xee4596){return _0x1114ab===_0xee4596;},'WkyUe':_0x3da688(0x13e),'LOxyz':_0x3da688(0x10a),'maqup':_0x3da688(0xfe),'xVKji':_0x3da688(0x13d),'ntrHb':function(_0x3d8e47,_0x17c81b){return _0x3d8e47>_0x17c81b;},'gvwHv':_0x3da688(0xee),'lPwNS':'blocked','dkVQA':_0x3da688(0xfb)};console['log'](_0x3da688(0xfa));let _0x2cea4c=await _0xf634c3[_0x3da688(0x10e)](a,_0xf634c3[_0x3da688(0x14f)]),_0x228d0e=d['join'](S,_0x2cea4c[_0x3da688(0xd3)]()+'.json');n[_0x3da688(0xfd)](_0x228d0e)||(console['error'](_0x3da688(0x166)+_0x2cea4c+'\x20not\x20found'),process[_0x3da688(0x110)](0x1));let _0x34a688=JSON[_0x3da688(0x18d)](n[_0x3da688(0xe3)](_0x228d0e,_0xf634c3[_0x3da688(0x107)]));_0xf634c3['MUwpD'](_0x34a688[_0x3da688(0x151)],_0xf634c3[_0x3da688(0xf9)])&&(console['error'](_0xf634c3[_0x3da688(0x116)]),console['error'](_0x3da688(0x11c)),process[_0x3da688(0x110)](0x1)),_0xf634c3['MUwpD'](_0x34a688['status'],_0xf634c3['maqup'])&&(console[_0x3da688(0x11e)](_0xf634c3['xVKji']),process[_0x3da688(0x110)](0x1));let _0x52fdeb=await _0xf634c3[_0x3da688(0x10e)](a,_0x3da688(0xed)),_0x20f0fc=[];for(let _0xc57ca2 of _0x55b631[_0x3da688(0xf1)]){let _0x403175=d[_0x3da688(0x111)](S,_0xc57ca2['id']+_0x3da688(0x147));if(n['existsSync'](_0x403175)){let _0x7136c=JSON[_0x3da688(0x18d)](n[_0x3da688(0xe3)](_0x403175,_0xf634c3['uYZCq']));_0x7136c[_0x3da688(0x100)]&&_0x7136c['dependencies'][_0x3da688(0x15c)](_0x2cea4c[_0x3da688(0xd3)]())&&_0x20f0fc[_0x3da688(0x140)]({'id':_0x7136c['id'],'title':_0x7136c[_0x3da688(0x106)]});}}_0xf634c3['ntrHb'](_0x20f0fc['length'],0x0)&&(console['error'](_0x3da688(0x14d)),_0x20f0fc['forEach'](_0x38fc08=>console[_0x3da688(0x11e)](_0x3da688(0x175)+_0x38fc08['id']+':\x20'+_0x38fc08[_0x3da688(0x106)])),process[_0x3da688(0x110)](0x1)),n[_0x3da688(0x115)](_0x228d0e);let _0x52c5cb=_0x55b631['taskFiles']['findIndex'](_0x212c1d=>_0x212c1d['id']===_0x2cea4c['trim']());_0x55b631['taskFiles'][_0x3da688(0xf3)](_0x52c5cb,0x1),_0x55b631['statistics'][_0x3da688(0xe1)]--,_0xf634c3['MUwpD'](_0x34a688['status'],_0xf634c3['gvwHv'])&&_0x55b631[_0x3da688(0x174)][_0x3da688(0xee)]--,_0x34a688[_0x3da688(0x151)]===_0xf634c3[_0x3da688(0xf6)]&&_0x55b631[_0x3da688(0x174)][_0x3da688(0x17e)]--,_0x55b631[_0x3da688(0x12e)]=new Date()['toISOString'](),n[_0x3da688(0x169)](f,JSON[_0x3da688(0x14a)](_0x55b631,null,0x2)),_0x3a3f4d[_0x3da688(0xdf)][_0x3da688(0x140)]({'timestamp':new Date()[_0x3da688(0xff)](),'type':_0xf634c3['dkVQA'],'taskId':_0x2cea4c[_0x3da688(0xd3)](),'reason':_0x52fdeb['trim'](),'changes':{'title':_0x34a688[_0x3da688(0x106)],'status':_0x34a688[_0x3da688(0x151)]}}),n[_0x3da688(0x169)](m,JSON[_0x3da688(0x14a)](_0x3a3f4d,null,0x2)),console[_0x3da688(0xf2)](_0x3da688(0x17d)+_0x2cea4c+_0x3da688(0x12c)),console[_0x3da688(0xf2)]('\x0aAmendment\x20logged\x20for\x20audit\x20trail.');}function j(_0xf22cb6){const _0x1668c8=_0x3a5041,_0x1f7146={};_0x1f7146['ulTYt']=function(_0xfb1bc3,_0x4090b4){return _0xfb1bc3===_0x4090b4;},_0x1f7146[_0x1668c8(0x17b)]=_0x1668c8(0x12f),_0x1f7146['yKpTu']=function(_0x5d2c98,_0xb3d162){return _0x5d2c98+_0xb3d162;},_0x1f7146[_0x1668c8(0x187)]=function(_0x50edff,_0x234e0a){return _0x50edff===_0x234e0a;},_0x1f7146[_0x1668c8(0x15b)]=_0x1668c8(0x11f),_0x1f7146[_0x1668c8(0x16f)]=_0x1668c8(0xf8),_0x1f7146[_0x1668c8(0x149)]=_0x1668c8(0xfb);const _0xb9e586=_0x1f7146;if(console[_0x1668c8(0xf2)](_0x1668c8(0x126)),_0xb9e586['MQZxA'](_0xf22cb6[_0x1668c8(0xdf)]['length'],0x0)){console[_0x1668c8(0xf2)](_0x1668c8(0xe9));return;}_0xf22cb6[_0x1668c8(0xdf)][_0x1668c8(0x123)]((_0x4faf31,_0x2b99c5)=>{const _0x277e46=_0x1668c8;if(_0xb9e586['ulTYt']('UwwmB',_0xb9e586[_0x277e46(0x17b)])){let _0x34d9a2=new Date(_0x4faf31[_0x277e46(0x16a)])[_0x277e46(0x181)]();console['log'](_0xb9e586[_0x277e46(0x172)](_0x2b99c5,0x1)+_0x277e46(0x15f)+_0x4faf31[_0x277e46(0x108)][_0x277e46(0xd8)]()+']\x20'+_0x4faf31['taskId']),console[_0x277e46(0xf2)](_0x277e46(0xe8)+_0x34d9a2),console['log'](_0x277e46(0x148)+_0x4faf31[_0x277e46(0x121)]),_0xb9e586[_0x277e46(0x187)](_0x4faf31[_0x277e46(0x108)],_0xb9e586[_0x277e46(0x15b)])?(console[_0x277e46(0xf2)](_0x277e46(0x10d)+_0x4faf31['changes'][_0x277e46(0x106)]),console[_0x277e46(0xf2)](_0x277e46(0x165)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0xe5)])):_0xb9e586['ulTYt'](_0x4faf31[_0x277e46(0x108)],'update')?(_0x4faf31[_0x277e46(0x101)][_0x277e46(0x103)]&&console[_0x277e46(0xf2)](_0x277e46(0x18c)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0x103)]+_0x277e46(0xf0)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0xd5)]+'\x22'),_0x4faf31[_0x277e46(0x101)]['oldDescription']&&console[_0x277e46(0xf2)](_0xb9e586[_0x277e46(0x16f)])):_0x4faf31['type']===_0xb9e586[_0x277e46(0x149)]&&console[_0x277e46(0xf2)](_0x277e46(0x13a)+_0x4faf31[_0x277e46(0x101)][_0x277e46(0x106)]+_0x277e46(0x18a)+_0x4faf31['changes']['status']+')'),console[_0x277e46(0xf2)]('');}else{const _0x41943e=_0x278513[_0x277e46(0x133)](_0x260ce3,arguments);return _0x33fde7=null,_0x41943e;}}),console['log'](_0x1668c8(0x12b)+_0xf22cb6[_0x1668c8(0xdf)][_0x1668c8(0xd9)]);}F()[_0x3a5041(0x10b)](_0x24a48e=>{const _0x1aa6b9=_0x3a5041,_0x11b8f5={};_0x11b8f5[_0x1aa6b9(0x11a)]=_0x1aa6b9(0x13c);const _0xc739ba=_0x11b8f5;console[_0x1aa6b9(0x11e)](_0xc739ba[_0x1aa6b9(0x11a)],_0x24a48e[_0x1aa6b9(0x124)]),process['exit'](0x1);});
|