gl-life-claude-zen 1.0.2 → 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 _0x20aff5=_0x52ec;(function(_0x37a4e1,_0x1cb2de){var _0x1a13c9=_0x52ec,_0x11ba3=_0x37a4e1();while(!![]){try{var _0x4aaf59=-parseInt(_0x1a13c9(0xed))/0x1*(-parseInt(_0x1a13c9(0x10b))/0x2)+parseInt(_0x1a13c9(0xd2))/0x3+-parseInt(_0x1a13c9(0xec))/0x4*(-parseInt(_0x1a13c9(0x107))/0x5)+-parseInt(_0x1a13c9(0x110))/0x6+parseInt(_0x1a13c9(0xc2))/0x7*(parseInt(_0x1a13c9(0xc8))/0x8)+-parseInt(_0x1a13c9(0x100))/0x9+parseInt(_0x1a13c9(0xe3))/0xa*(parseInt(_0x1a13c9(0xcf))/0xb);if(_0x4aaf59===_0x1cb2de)break;else _0x11ba3['push'](_0x11ba3['shift']());}catch(_0x3bacd6){_0x11ba3['push'](_0x11ba3['shift']());}}}(_0x9dfd,0x8c65d));var _0x3bd5db=(function(){var _0x2ab0a6=_0x52ec,_0x215ca5={'UHOCp':function(_0x263dee,_0x1dc7f1){return _0x263dee<_0x1dc7f1;},'pRZwo':function(_0x418bec,_0x3257fd){return _0x418bec(_0x3257fd);},'uHwbV':function(_0x27f9f,_0x81f90e){return _0x27f9f!==_0x81f90e;},'ieBmw':_0x2ab0a6(0xe2),'WdWZO':_0x2ab0a6(0xc4)},_0x1d0d58=!![];return function(_0x8b9e8a,_0xdbcae8){var _0x1448bb=_0x2ab0a6,_0xbbdffe={'LQVKz':function(_0x13045f,_0x5668b5){var _0x2c0651=_0x52ec;return _0x215ca5[_0x2c0651(0xbc)](_0x13045f,_0x5668b5);},'gbzqa':function(_0x57f22a,_0x3745d9){return _0x215ca5['pRZwo'](_0x57f22a,_0x3745d9);},'uYKNm':function(_0x5dc383,_0x86209){return _0x215ca5['uHwbV'](_0x5dc383,_0x86209);},'PSbJR':_0x215ca5[_0x1448bb(0xe9)],'ujOsw':_0x215ca5[_0x1448bb(0xb6)]},_0x3930fe=_0x1d0d58?function(){var _0xb914d7=_0x1448bb,_0x580dbd={'AmUpp':function(_0x43308a,_0x2ce4ed){var _0x31e4bf=_0x52ec;return _0xbbdffe[_0x31e4bf(0xbb)](_0x43308a,_0x2ce4ed);},'NOhxp':function(_0x266d52,_0x55c8f4){var _0x106532=_0x52ec;return _0xbbdffe[_0x106532(0x10f)](_0x266d52,_0x55c8f4);},'iadpv':function(_0xce9022,_0x2a4028){return _0xce9022+_0x2a4028;},'xUnxV':function(_0x5b7187,_0x4e36c2){return _0x5b7187+_0x4e36c2;}};if(_0xbbdffe[_0xb914d7(0x112)](_0xbbdffe[_0xb914d7(0x101)],_0xbbdffe['ujOsw'])){if(_0xdbcae8){var _0x126a2b=_0xdbcae8['apply'](_0x8b9e8a,arguments);return _0xdbcae8=null,_0x126a2b;}}else{if(_0x580dbd[_0xb914d7(0xd1)](typeof _0x3f7f7c,'u'))return _0x465791[_0xb914d7(0xc0)](this,arguments);throw _0x580dbd[_0xb914d7(0xe6)](_0x3cde8c,_0x580dbd[_0xb914d7(0xbd)](_0x580dbd['xUnxV'](_0xb914d7(0xdd),_0x314fe9),_0xb914d7(0x108)));}}:function(){};return _0x1d0d58=![],_0x3930fe;};}()),_0x1f692b=_0x3bd5db(this,function(){var _0x56acea=_0x52ec,_0x4fbbbc={};_0x4fbbbc[_0x56acea(0xe8)]='(((.+)+)+)+$';var _0x1bb286=_0x4fbbbc;return _0x1f692b[_0x56acea(0xb8)]()[_0x56acea(0xe5)]('(((.+)+)+)+$')['toString']()[_0x56acea(0xe7)](_0x1f692b)[_0x56acea(0xe5)](_0x1bb286[_0x56acea(0xe8)]);});_0x1f692b();var g=(_0x4f3ba6=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x4f3ba6,{'get':(_0x9ad2a2,_0x2aef01)=>(typeof require<'u'?require:_0x9ad2a2)[_0x2aef01]}):_0x4f3ba6)(function(_0x49cf4f){var _0x821e62=_0x52ec,_0x3e0003={'qYAyZ':function(_0x863265,_0x38d05d){return _0x863265(_0x38d05d);},'aXsLj':_0x821e62(0xdd),'iaDLU':_0x821e62(0x108)};if(typeof require<'u')return require[_0x821e62(0xc0)](this,arguments);throw _0x3e0003[_0x821e62(0x102)](Error,_0x3e0003[_0x821e62(0xfc)]+_0x49cf4f+_0x3e0003[_0x821e62(0x10a)]);}),h=g('fs'),E=g(_0x20aff5(0xfa)),{execSync:f}=g(_0x20aff5(0xee)),A=process[_0x20aff5(0xd3)][0x2]||'{}',m=JSON['parse'](A),r=m[_0x20aff5(0xdb)]?.['file_path'];(!r||!r[_0x20aff5(0x115)](/migrations?\/.*\.(ts|js|py|sql)$/i))&&process[_0x20aff5(0xce)](0x0);var o=[],s=[],N=E[_0x20aff5(0xf9)](r);console[_0x20aff5(0xc9)](_0x20aff5(0xeb)+N+'\x0a');var n;try{n=h['readFileSync'](r,_0x20aff5(0x10e));}catch{process[_0x20aff5(0xce)](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[_0x20aff5(0x113)](n))!==null;)a[_0x20aff5(0xb9)](c[0x1]);var R=/ALTER\s+TABLE\s+[`"]?(\w+)[`"]?/gi;for(;(c=R['exec'](n))!==null;)a[_0x20aff5(0xb9)](c[0x1]);var y=/DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;function _0x9dfd(){var _0xb85478=['Migration\x20affects\x20tables\x20used\x20in\x20codebase','stdio','forEach','unknown','basename','path','RENAME\x20COLUMN','aXsLj','\x20\x20⚠️\x20\x20Found\x20','\x20\x20📋\x20REQUIRED\x20ACTIONS:\x0a','severity','8288568SsCNLe','PSbJR','qYAyZ','trim','Add\x20tests\x20to\x20verify\x20schema\x20changes\x20work\x20correctly','\x20\x204.\x20Create\x20a\x20rollback\x20plan','\x20\x202.\x20Update\x20ALL\x20tests\x20to\x20reflect\x20schema\x20changes','5lQDooK','\x22\x20is\x20not\x20supported','\x0aFix\x20code/tests\x20before\x20committing\x20migration.\x0a','iaDLU','108366eBFpvS','split','\x20\x20\x20\x20\x204.\x20Run:\x20npm\x20run\x20build\x20(verify\x20TypeScript\x20types\x20are\x20valid)','utf8','gbzqa','3834468HrVYtF','size','uYKNm','exec','\x20\x20📊\x20Migration\x20affects\x20tables:\x20','match','error','get','WdWZO','grep\x20-r\x20-l\x20\x22','toString','add','\x0a❌\x20MIGRATION\x20IMPACT\x20VALIDATION\x20FAILED\x0a','LQVKz','UHOCp','iadpv','Test\x20both\x20data\x20operations\x20and\x20edge\x20cases','\x20\x20\x20\x20\x20...\x20and\x20','apply','warn','7hGmiAb','You\x20MUST\x20update\x20affected\x20code\x20files','mxFLb','\x20more','\x20\x20Manual\x20code\x20review\x20required\x0a','pipe','1023656wqUhiR','log','from','ADD\x20NOT\x20NULL','test','detected','exit','935mhJpng','length','AmUpp','1971273WHODeW','argv','\x20\x20\x20\x20\x20-\x20','encoding','Consider\x20adding\x20indexes\x20for\x20columns\x20used\x20in\x20WHERE/JOIN\x20clauses','pattern','slice','Adding\x20columns\x20but\x20no\x20indexes\x20detected','ignore','tool_input','push','Dynamic\x20require\x20of\x20\x22','BLOCKED:\x20Breaking\x20database\x20changes\x20detected','\x20\x20\x20\x20\x201.\x20Review\x20and\x20update\x20','DROP\x20COLUMN','\x20\x20✅\x20Migration\x20impact\x20analysis\x20complete\x0a','vsqgI','27150HmYlUO','BREAKING','search','NOhxp','constructor','iIxhd','ieBmw','\x20\x20🚨\x20BREAKING\x20CHANGES\x20DETECTED:\x0a','\x0a🔍\x20ANALYZING\x20MIGRATION\x20IMPACT:\x20','2959980DCdSRk','7gARBkb','child_process','\x20files\x20that\x20reference\x20these\x20tables:\x0a','\x0a⚠️\x20\x20MIGRATION\x20IMPACT\x20WARNINGS\x0a','git\x20diff\x20--cached\x20--name-only\x20--diff-filter=AM\x20|\x20grep\x20-E\x20\x22test|spec\x22\x20||\x20echo\x20\x22\x22','type','You\x20MUST\x20update/create\x20tests\x20for\x20schema\x20changes','concat'];_0x9dfd=function(){return _0xb85478;};return _0x9dfd();}for(;(c=y[_0x20aff5(0x113)](n))!==null;)a[_0x20aff5(0xb9)](c[0x1]);var L=/@Column\([^)]*\)[\s\n]+(\w+):/gi;for(;(c=L['exec'](n))!==null;)p['set'](_0x20aff5(0xcd),(p[_0x20aff5(0xb5)](_0x20aff5(0xcd))||[])[_0x20aff5(0xf4)](c[0x1]));a[_0x20aff5(0x111)]===0x0&&p[_0x20aff5(0x111)]===0x0&&(console[_0x20aff5(0xc9)]('\x20\x20ℹ️\x20\x20Could\x20not\x20extract\x20table/column\x20names\x20from\x20migration'),console[_0x20aff5(0xc9)](_0x20aff5(0xc6)),process['exit'](0x0)),console['log'](_0x20aff5(0x114)+(Array[_0x20aff5(0xca)](a)['join'](',\x20')||_0x20aff5(0xf8))+'\x0a');var t=new Set();for(let e of a)try{var _0x3840b2={};_0x3840b2[_0x20aff5(0xd5)]=_0x20aff5(0x10e),_0x3840b2[_0x20aff5(0xf6)]=[_0x20aff5(0xc7),_0x20aff5(0xc7),_0x20aff5(0xda)];let i=f(_0x20aff5(0xb7)+e+'\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',_0x3840b2)[_0x20aff5(0x103)]();i&&i[_0x20aff5(0x10c)]('\x0a')['filter'](Boolean)['forEach'](_0x12bef1=>t[_0x20aff5(0xb9)](_0x12bef1));}catch{}t[_0x20aff5(0x111)]>0x0&&(console[_0x20aff5(0xc9)](_0x20aff5(0xfd)+t['size']+_0x20aff5(0xef)),Array[_0x20aff5(0xca)](t)[_0x20aff5(0xd8)](0x0,0xa)[_0x20aff5(0xf7)](_0x3a11e7=>{var _0x2c9ef7=_0x20aff5;console[_0x2c9ef7(0xc9)](_0x2c9ef7(0xd4)+_0x3a11e7);}),t[_0x20aff5(0x111)]>0xa&&console[_0x20aff5(0xc9)](_0x20aff5(0xbf)+(t[_0x20aff5(0x111)]-0xa)+_0x20aff5(0xc5)),console[_0x20aff5(0xc9)](''),s[_0x20aff5(0xdc)](_0x20aff5(0xf5)),s['push'](_0x20aff5(0xc3)),s['push'](_0x20aff5(0xf3)));var _0x2a97e4={};_0x2a97e4[_0x20aff5(0xd7)]=/DROP\s+COLUMN/gi,_0x2a97e4['type']=_0x20aff5(0xe0),_0x2a97e4['severity']=_0x20aff5(0xe4);var _0x5032d1={};function _0x52ec(_0x5d7b1e,_0x3e243f){_0x5d7b1e=_0x5d7b1e-0xb4;var _0x591d5e=_0x9dfd();var _0x1f692b=_0x591d5e[_0x5d7b1e];return _0x1f692b;}_0x5032d1[_0x20aff5(0xd7)]=/DROP\s+TABLE/gi,_0x5032d1['type']='DROP\x20TABLE',_0x5032d1[_0x20aff5(0xff)]='BREAKING';var _0x37338c={};_0x37338c[_0x20aff5(0xd7)]=/RENAME\s+COLUMN/gi,_0x37338c[_0x20aff5(0xf2)]=_0x20aff5(0xfb),_0x37338c[_0x20aff5(0xff)]=_0x20aff5(0xe4);var _0x55dd55={};_0x55dd55[_0x20aff5(0xd7)]=/RENAME\s+TABLE/gi,_0x55dd55[_0x20aff5(0xf2)]='RENAME\x20TABLE',_0x55dd55[_0x20aff5(0xff)]=_0x20aff5(0xe4);var _0x386693={};_0x386693[_0x20aff5(0xd7)]=/ALTER\s+COLUMN.*NOT\s+NULL/gi,_0x386693[_0x20aff5(0xf2)]=_0x20aff5(0xcb),_0x386693['severity']=_0x20aff5(0xe4);var M=[_0x2a97e4,_0x5032d1,_0x37338c,_0x55dd55,_0x386693],l=[];for(let {pattern:e,type:i,severity:d}of M)e[_0x20aff5(0xcc)](n)&&l[_0x20aff5(0xdc)](i);l[_0x20aff5(0xd0)]>0x0&&(console[_0x20aff5(0xc9)](_0x20aff5(0xea)),l[_0x20aff5(0xf7)](_0x25828b=>{var _0x7a6de4=_0x20aff5;console['log'](_0x7a6de4(0xd4)+_0x25828b);}),console['log'](''),o['push'](_0x20aff5(0xde)),o[_0x20aff5(0xdc)]('Before\x20proceeding,\x20you\x20MUST:'),o[_0x20aff5(0xdc)]('\x20\x201.\x20Update\x20ALL\x20code\x20that\x20uses\x20affected\x20tables/columns'),o[_0x20aff5(0xdc)](_0x20aff5(0x106)),o['push']('\x20\x203.\x20Run\x20tests\x20to\x20verify\x20nothing\x20breaks'),o['push'](_0x20aff5(0x105)));try{var _0x57eb0c={};_0x57eb0c[_0x20aff5(0xd5)]=_0x20aff5(0x10e),_0x57eb0c['stdio']=[_0x20aff5(0xc7),'pipe',_0x20aff5(0xda)],!f(_0x20aff5(0xf1),_0x57eb0c)[_0x20aff5(0x103)]()&&t[_0x20aff5(0x111)]>0x0&&(s[_0x20aff5(0xdc)]('Database\x20schema\x20changed\x20but\x20NO\x20test\x20files\x20were\x20modified'),s['push'](_0x20aff5(0x104)),s[_0x20aff5(0xdc)](_0x20aff5(0xbe)));}catch{}n[_0x20aff5(0x115)](/ADD\s+(?:COLUMN\s+)?/gi)&&(n[_0x20aff5(0x115)](/CREATE\s+INDEX/gi)||(s['push'](_0x20aff5(0xd9)),s[_0x20aff5(0xdc)](_0x20aff5(0xd6)))),(t[_0x20aff5(0x111)]>0x0||l[_0x20aff5(0xd0)]>0x0)&&(console[_0x20aff5(0xc9)](_0x20aff5(0xfe)),console[_0x20aff5(0xc9)](_0x20aff5(0xdf)+t[_0x20aff5(0x111)]+'\x20affected\x20code\x20files'),console[_0x20aff5(0xc9)]('\x20\x20\x20\x20\x202.\x20Update\x20tests\x20to\x20cover\x20new\x20schema'),console[_0x20aff5(0xc9)]('\x20\x20\x20\x20\x203.\x20Run:\x20npm\x20test\x20(verify\x20all\x20tests\x20pass)'),console['log'](_0x20aff5(0x10d)),console['log']('\x20\x20\x20\x20\x205.\x20Document\x20breaking\x20changes\x20in\x20commit\x20message'),console['log']('')),o['length']>0x0&&(console['error'](_0x20aff5(0xba)),o[_0x20aff5(0xf7)](_0x9bdb24=>console[_0x20aff5(0xb4)]('\x20\x20'+_0x9bdb24)),console['error'](_0x20aff5(0x109)),process['exit'](0x2)),s['length']>0x0&&(console[_0x20aff5(0xc1)](_0x20aff5(0xf0)),s['forEach'](_0x1348b4=>console[_0x20aff5(0xc1)]('\x20\x20'+_0x1348b4)),console['warn']('\x0a')),console[_0x20aff5(0xc9)](_0x20aff5(0xe1)),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 _0x4aa019=_0x3ccc;(function(_0x562082,_0x335e6e){const _0x457d94=_0x3ccc,_0x44f3b3=_0x562082();while(!![]){try{const _0x34eb69=parseInt(_0x457d94(0x1bf))/0x1+-parseInt(_0x457d94(0x206))/0x2*(-parseInt(_0x457d94(0x202))/0x3)+parseInt(_0x457d94(0x1f6))/0x4+-parseInt(_0x457d94(0x1d9))/0x5+parseInt(_0x457d94(0x1e3))/0x6*(parseInt(_0x457d94(0x1c6))/0x7)+parseInt(_0x457d94(0x1f0))/0x8*(-parseInt(_0x457d94(0x1d7))/0x9)+-parseInt(_0x457d94(0x1de))/0xa*(-parseInt(_0x457d94(0x1ed))/0xb);if(_0x34eb69===_0x335e6e)break;else _0x44f3b3['push'](_0x44f3b3['shift']());}catch(_0x137dc5){_0x44f3b3['push'](_0x44f3b3['shift']());}}}(_0x5753,0x4b53d));const _0x5be2e5=(function(){const _0xee4f8a=_0x3ccc,_0x28733e={};_0x28733e[_0xee4f8a(0x1eb)]=function(_0x2db237,_0x3a279f){return _0x2db237===_0x3a279f;},_0x28733e[_0xee4f8a(0x1f3)]=_0xee4f8a(0x209);const _0x1c179b=_0x28733e;let _0x298bf5=!![];return function(_0x18bf37,_0x327712){const _0x42d643=_0xee4f8a,_0x4956c4={'oumUo':function(_0x59e662,_0x26ee82){return _0x1c179b['HwiXX'](_0x59e662,_0x26ee82);},'LBZkC':_0x42d643(0x1ff),'KEEHK':_0x1c179b[_0x42d643(0x1f3)]},_0x1315f9=_0x298bf5?function(){const _0x1142fa=_0x42d643;if(_0x327712){if(_0x4956c4[_0x1142fa(0x213)](_0x4956c4[_0x1142fa(0x20a)],_0x4956c4[_0x1142fa(0x1c1)])){const _0x4eb881=_0x2922e1['apply'](_0x3dee17,arguments);return _0x3791a3=null,_0x4eb881;}else{const _0x4d9ae4=_0x327712[_0x1142fa(0x1f2)](_0x18bf37,arguments);return _0x327712=null,_0x4d9ae4;}}}:function(){};return _0x298bf5=![],_0x1315f9;};}()),_0xce1013=_0x5be2e5(this,function(){const _0x415da7=_0x3ccc,_0x2aaeb5={};_0x2aaeb5[_0x415da7(0x1c8)]=_0x415da7(0x1ca);const _0x1cc643=_0x2aaeb5;return _0xce1013[_0x415da7(0x1e8)]()[_0x415da7(0x1b4)](_0x1cc643[_0x415da7(0x1c8)])[_0x415da7(0x1e8)]()[_0x415da7(0x1ec)](_0xce1013)[_0x415da7(0x1b4)](_0x1cc643[_0x415da7(0x1c8)]);});_0xce1013();var x=(_0x17d4d6=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x17d4d6,{'get':(_0x1f9b16,_0x4c7f1a)=>(typeof require<'u'?require:_0x1f9b16)[_0x4c7f1a]}):_0x17d4d6)(function(_0x4184fc){const _0x25e5ce=_0x3ccc,_0x883251={'opEzz':function(_0x285bdb,_0xc9aaa9){return _0x285bdb<_0xc9aaa9;},'umnCe':function(_0x178ad8,_0x262531){return _0x178ad8(_0x262531);},'WstkJ':function(_0x58bbaa,_0x19570){return _0x58bbaa+_0x19570;},'jONLR':function(_0x17cfd6,_0x2282af){return _0x17cfd6+_0x2282af;},'AtIiH':'Dynamic\x20require\x20of\x20\x22','gqtxA':_0x25e5ce(0x1c0)};if(_0x883251[_0x25e5ce(0x1d4)](typeof require,'u'))return require[_0x25e5ce(0x1f2)](this,arguments);throw _0x883251['umnCe'](Error,_0x883251[_0x25e5ce(0x1b7)](_0x883251[_0x25e5ce(0x1d1)](_0x883251[_0x25e5ce(0x20b)],_0x4184fc),_0x883251[_0x25e5ce(0x1e5)]));}),C=x('fs'),a=x(_0x4aa019(0x1fc)),R=process['argv'][0x2]||'{}',k=JSON[_0x4aa019(0x1b8)](R),c=k['tool_input']?.[_0x4aa019(0x1d0)],S=c&&c['match'](/\.(tsx|jsx|vue|svelte)$/);S||process[_0x4aa019(0x1ce)](0x0);var n=[],s=[],h=a[_0x4aa019(0x1bc)](c),e=h['replace'](/\.(tsx|jsx|vue|svelte)$/,''),T=[e+_0x4aa019(0x200),e+'.test.jsx',e+_0x4aa019(0x1c2),e+_0x4aa019(0x1db),e+_0x4aa019(0x1dc),e+_0x4aa019(0x1f4),e+'.spec.ts',e+_0x4aa019(0x1fb)],d=c['includes'](_0x4aa019(0x1f1))?c[_0x4aa019(0x1ba)]('/src/',_0x4aa019(0x1cf))[_0x4aa019(0x1ba)](h,''):a[_0x4aa019(0x1f8)](c),u=null,f=!0x1;function _0x3ccc(_0x2528d0,_0x45e642){_0x2528d0=_0x2528d0-0x1b2;const _0x4f9017=_0x5753();let _0xce1013=_0x4f9017[_0x2528d0];return _0xce1013;}function _0x5753(){const _0x6b909f=['__tests__','KPeqC','LBZkC','AtIiH','<form','/__tests__/','within\x5c(','forEach','BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found','readFileSync','Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise','oumUo','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','shallow\x5cs*\x5c(<\x5cs*','WARNING:\x20Component\x20uses\x20','WARNING:\x20Component\x20has\x20conditional\x20rendering\x20but\x20only\x201\x20test\x20case','search','\x20\x20-\x20','UI\x20Component:\x20','WstkJ','parse','trim','replace','warn','basename','filter','Event\x20handlers\x20found:\x20','26222oHcKey','\x22\x20is\x20not\x20supported','KEEHK','.test.ts','includes','test','match','7RHHxdC','WARNING:\x20Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','bQZtJ','WARNING:\x20Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','(((.+)+)+)+$','split','Add:\x20import\x20{\x20','BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component','exit','/tests/','file_path','jONLR','Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:','\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a','opEzz','Test\x20file:\x20','WARNING:\x20Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them','45oCEiwR','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','2530405FVkaOc','.*from','.test.js','.spec.tsx','BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20','22340oOMtBO','slice','utf8','Add\x20tests\x20for\x20different\x20component\x20states/conditions','push','3270816SgqSdi','submit','gqtxA','error','Submit','toString','\x20/>)','some','HwiXX','constructor','2563nLIThE','\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','919472XZKekQ','/src/','apply','dyecm','.spec.jsx','length','9076FfPlMW','import.*','dirname','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','join','.spec.js','path','existsSync','Add\x20test\x20for\x20form\x20submission\x20behavior','FlGnr','.test.tsx','onSubmit','9RYNtqI','\x20}\x20from\x20\x27./','exec','\x20lines','196762oWNehH','screen\x5c.'];_0x5753=function(){return _0x6b909f;};return _0x5753();}for(let t of T){let i=[a[_0x4aa019(0x1fa)](d,t),a[_0x4aa019(0x1fa)](d,_0x4aa019(0x208),t),a[_0x4aa019(0x1fa)](a['dirname'](c),_0x4aa019(0x208),t),a[_0x4aa019(0x1fa)](a[_0x4aa019(0x1f8)](c),t)];for(let p of i)if(C[_0x4aa019(0x1fd)](p)){u=p,f=!0x0;break;}if(f)break;}f||(n['push'](_0x4aa019(0x210)),n[_0x4aa019(0x1e2)]('Component:\x20'+h),n['push'](_0x4aa019(0x1d2)),n[_0x4aa019(0x1e2)]('\x20\x20-\x20'+d+'/'+e+_0x4aa019(0x200)),n['push'](_0x4aa019(0x1b5)+d+'/__tests__/'+e+_0x4aa019(0x200)),n[_0x4aa019(0x1e2)](_0x4aa019(0x1b5)+a['dirname'](c)+_0x4aa019(0x20d)+e+_0x4aa019(0x200)),n[_0x4aa019(0x1e2)]('Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components'));if(f&&u){let t=C[_0x4aa019(0x211)](u,_0x4aa019(0x1e0)),i=C[_0x4aa019(0x211)](c,_0x4aa019(0x1e0));new RegExp(_0x4aa019(0x1f7)+e+_0x4aa019(0x1da),'i')[_0x4aa019(0x1c4)](t)||(n['push'](_0x4aa019(0x1dd)+e),n[_0x4aa019(0x1e2)]('Test\x20file:\x20'+a[_0x4aa019(0x1bc)](u)),n[_0x4aa019(0x1e2)](_0x4aa019(0x1cc)+e+_0x4aa019(0x203)+e+'\x27')),![new RegExp('render\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp('mount\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp(_0x4aa019(0x215)+e,'i'),new RegExp(_0x4aa019(0x207),'i'),new RegExp(_0x4aa019(0x20e),'i')]['some'](_0x3e9ad6=>_0x3e9ad6[_0x4aa019(0x1c4)](t))&&!t[_0x4aa019(0x1c3)]('createWrapper')&&(n[_0x4aa019(0x1e2)](_0x4aa019(0x1cd)),n[_0x4aa019(0x1e2)](_0x4aa019(0x1d5)+a[_0x4aa019(0x1bc)](u)),n['push']('Add:\x20render(<'+e+_0x4aa019(0x1e9)));let E=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,P=i[_0x4aa019(0x1c5)](E);if(P){let l=P[0x1][_0x4aa019(0x1cb)]('\x0a')[_0x4aa019(0x1bd)](_0xf0199f=>!_0xf0199f[_0x4aa019(0x1c3)]('?:')&&_0xf0199f[_0x4aa019(0x1c3)](':'))['map'](_0x268792=>_0x268792[_0x4aa019(0x1b9)]()[_0x4aa019(0x1cb)](':')[0x0][_0x4aa019(0x1b9)]())[_0x4aa019(0x1bd)](Boolean);l['length']>0x0&&(l['some'](_0xd3335a=>t[_0x4aa019(0x1c3)](_0xd3335a+'=')||t[_0x4aa019(0x1c3)](_0xd3335a+':')||t['includes']('\x22'+_0xd3335a+'\x22')||t[_0x4aa019(0x1c3)]('\x27'+_0xd3335a+'\x27'))||(s[_0x4aa019(0x1e2)](_0x4aa019(0x1d6)),s[_0x4aa019(0x1e2)]('Required\x20props:\x20'+l[_0x4aa019(0x1fa)](',\x20')),s[_0x4aa019(0x1e2)](_0x4aa019(0x214))));}let v=/on[A-Z]\w+/g,N=i[_0x4aa019(0x1c5)](v)||[],I=[...new Set(N)];I[_0x4aa019(0x1f5)]>0x0&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/]['some'](_0x10d69a=>_0x10d69a[_0x4aa019(0x1c4)](t))||(s[_0x4aa019(0x1e2)](_0x4aa019(0x1c9)),s[_0x4aa019(0x1e2)](_0x4aa019(0x1be)+I[_0x4aa019(0x1df)](0x0,0x5)['join'](',\x20')),s['push']('Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent'))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x4aa019(0x1ea)](_0x2647f8=>_0x2647f8[_0x4aa019(0x1c4)](i))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/]['some'](_0x49bf24=>_0x49bf24[_0x4aa019(0x1c4)](t))||(s[_0x4aa019(0x1e2)]('WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them'),s['push']('Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar'),s[_0x4aa019(0x1e2)](_0x4aa019(0x212))));let w=/useState|useReducer|useContext/g;(i[_0x4aa019(0x1c5)](w)||[])[_0x4aa019(0x1f5)]>0x0&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x4aa019(0x1ea)](_0x3a67e0=>_0x3a67e0[_0x4aa019(0x1c4)](t))||(s[_0x4aa019(0x1e2)](_0x4aa019(0x1c7)),s['push'](_0x4aa019(0x1f9)))),(i[_0x4aa019(0x1c3)](_0x4aa019(0x20c))||i[_0x4aa019(0x1c3)](_0x4aa019(0x201)))&&(t['includes'](_0x4aa019(0x1e4))||t[_0x4aa019(0x1c3)](_0x4aa019(0x1e7))||(s[_0x4aa019(0x1e2)]('WARNING:\x20Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission'),s[_0x4aa019(0x1e2)](_0x4aa019(0x1fe))));let b=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if((i[_0x4aa019(0x1c5)](b)||[])[_0x4aa019(0x1f5)]>0x3){let o=/(?:it|test)\s*\(/g;(t[_0x4aa019(0x1c5)](o)||[])['length']<0x2&&(s[_0x4aa019(0x1e2)](_0x4aa019(0x1b3)),s[_0x4aa019(0x1e2)](_0x4aa019(0x1e1)));}let A=/import\s+\{?([A-Z]\w+)\}?\s+from/g,g=[],$;for(;($=A[_0x4aa019(0x204)](i))!==null;)$[0x1]!==e&&g[_0x4aa019(0x1e2)]($[0x1]);if(g['length']>0x2){let o=t['split']('\x0a')[_0x4aa019(0x1f5)];o<0x1e&&(s[_0x4aa019(0x1e2)](_0x4aa019(0x1b2)+g[_0x4aa019(0x1f5)]+'\x20child\x20components\x20but\x20test\x20is\x20only\x20'+o+_0x4aa019(0x205)),s['push'](_0x4aa019(0x1d8)));}}n[_0x4aa019(0x1f5)]>0x0&&(console[_0x4aa019(0x1e6)]('\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a'),console[_0x4aa019(0x1e6)](_0x4aa019(0x1b6)+h+'\x0a'),n[_0x4aa019(0x20f)](_0x27a927=>console[_0x4aa019(0x1e6)]('\x20\x20'+_0x27a927)),console[_0x4aa019(0x1e6)](_0x4aa019(0x1ee)),process[_0x4aa019(0x1ce)](0x2)),s[_0x4aa019(0x1f5)]>0x0&&(console[_0x4aa019(0x1bb)](_0x4aa019(0x1ef)),console[_0x4aa019(0x1bb)](_0x4aa019(0x1b6)+h+'\x0a'),s[_0x4aa019(0x20f)](_0x55118f=>console[_0x4aa019(0x1bb)]('\x20\x20'+_0x55118f)),console['warn'](_0x4aa019(0x1d3))),process[_0x4aa019(0x1ce)](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
|
-
var _0x2622f1=_0x4994;function _0x8ec1(){var _0x29dbef=['901541UOpAFS','exit','145359WmHzJN','\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','1026790tzFuBG','2KrsYiI','3813872Kqeakl','log','(((.+)+)+)+$','7cMYLUe','8968328DatxMI','27563294kAbtRw','search','xtviG','15sXTrMb','117loDvrc','toString','1441218QxCtXL'];_0x8ec1=function(){return _0x29dbef;};return _0x8ec1();}function _0x4994(_0x148bfc,_0x1ef2fe){_0x148bfc=_0x148bfc-0x1ce;var _0x11fbf6=_0x8ec1();var _0x4b4256=_0x11fbf6[_0x148bfc];return _0x4b4256;}(function(_0x390c96,_0x3b0832){var _0x4dc652=_0x4994,_0x4cacf4=_0x390c96();while(!![]){try{var _0x8e932f=parseInt(_0x4dc652(0x1de))/0x1*(parseInt(_0x4dc652(0x1d1))/0x2)+parseInt(_0x4dc652(0x1ce))/0x3+-parseInt(_0x4dc652(0x1d2))/0x4+-parseInt(_0x4dc652(0x1da))/0x5*(-parseInt(_0x4dc652(0x1dd))/0x6)+-parseInt(_0x4dc652(0x1d5))/0x7*(parseInt(_0x4dc652(0x1d6))/0x8)+-parseInt(_0x4dc652(0x1db))/0x9*(parseInt(_0x4dc652(0x1d0))/0xa)+parseInt(_0x4dc652(0x1d7))/0xb;if(_0x8e932f===_0x3b0832)break;else _0x4cacf4['push'](_0x4cacf4['shift']());}catch(_0x2c9e11){_0x4cacf4['push'](_0x4cacf4['shift']());}}}(_0x8ec1,0xbb42d));var _0x4a66cb=(function(){var _0x515331=!![];return function(_0x5e2de0,_0x5ec975){var _0x7157f5=_0x515331?function(){if(_0x5ec975){var _0x3730bf=_0x5ec975['apply'](_0x5e2de0,arguments);return _0x5ec975=null,_0x3730bf;}}:function(){};return _0x515331=![],_0x7157f5;};}()),_0x4b4256=_0x4a66cb(this,function(){var _0x4810e0=_0x4994,_0x31f1a1={};_0x31f1a1[_0x4810e0(0x1d9)]=_0x4810e0(0x1d4);var _0x3aebeb=_0x31f1a1;return _0x4b4256[_0x4810e0(0x1dc)]()['search'](_0x3aebeb[_0x4810e0(0x1d9)])[_0x4810e0(0x1dc)]()['constructor'](_0x4b4256)[_0x4810e0(0x1d8)](_0x3aebeb[_0x4810e0(0x1d9)]);});_0x4b4256(),console[_0x2622f1(0x1d3)](_0x2622f1(0x1cf)),process[_0x2622f1(0x1df)](0x0);
|
|
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 _0x496e95=_0x3779;(function(_0x19eb31,_0x1fe24c){const _0xaa0a2a=_0x3779,_0x2e32a5=_0x19eb31();while(!![]){try{const _0x51d6e2=parseInt(_0xaa0a2a(0xc7))/0x1*(-parseInt(_0xaa0a2a(0xe1))/0x2)+parseInt(_0xaa0a2a(0x107))/0x3*(parseInt(_0xaa0a2a(0x118))/0x4)+parseInt(_0xaa0a2a(0xbf))/0x5+-parseInt(_0xaa0a2a(0xc3))/0x6*(parseInt(_0xaa0a2a(0x11d))/0x7)+-parseInt(_0xaa0a2a(0xba))/0x8+-parseInt(_0xaa0a2a(0x92))/0x9*(parseInt(_0xaa0a2a(0x14b))/0xa)+parseInt(_0xaa0a2a(0xe3))/0xb;if(_0x51d6e2===_0x1fe24c)break;else _0x2e32a5['push'](_0x2e32a5['shift']());}catch(_0x185413){_0x2e32a5['push'](_0x2e32a5['shift']());}}}(_0x59c9,0xcbdae));var h=(_0x5f4cfb=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x5f4cfb,{'get':(_0x1e5971,_0x498b47)=>(typeof require<'u'?require:_0x1e5971)[_0x498b47]}):_0x5f4cfb)(function(_0x4abba7){const _0x7e64c2=_0x3779,_0x1b4307={'LGZVe':function(_0x1d8453,_0x3e6ef9){return _0x1d8453<_0x3e6ef9;},'DvnSN':function(_0x25a8dd,_0x56f889){return _0x25a8dd(_0x56f889);},'EEMLB':function(_0x3d101c,_0x50afc8){return _0x3d101c+_0x50afc8;},'VCHjc':function(_0x5bb4b0,_0x40d97e){return _0x5bb4b0+_0x40d97e;},'fcYjb':_0x7e64c2(0x12c)};if(_0x1b4307[_0x7e64c2(0x155)](typeof require,'u'))return require[_0x7e64c2(0x158)](this,arguments);throw _0x1b4307[_0x7e64c2(0xa0)](Error,_0x1b4307[_0x7e64c2(0xfc)](_0x1b4307[_0x7e64c2(0x95)]('Dynamic\x20require\x20of\x20\x22',_0x4abba7),_0x1b4307[_0x7e64c2(0x154)]));}),n=h('fs'),$=h(_0x496e95(0xf7)),d=h('path'),w=_0x496e95(0xdc);n[_0x496e95(0x116)](w)||(console[_0x496e95(0x13f)]('❌\x20Error:\x20No\x20active\x20plan\x20found'),console[_0x496e95(0x13f)]('Set\x20active\x20plan\x20first:\x20npm\x20run\x20plan:manager'),process[_0x496e95(0x129)](0x1));var T=n['readFileSync'](w,_0x496e95(0x12d))[_0x496e95(0xf2)](),y=d['join']('.claude/plans',T),v=d[_0x496e95(0xd2)](y,'PROJECT-PLAN.json'),f=d[_0x496e95(0xd2)](y,_0x496e95(0x11f)),m=d[_0x496e95(0xd2)](y,_0x496e95(0x122)),S=d[_0x496e95(0xd2)](y,_0x496e95(0x113));n[_0x496e95(0x116)](f)||(console[_0x496e95(0x13f)](_0x496e95(0x93)+T+_0x496e95(0x99)),console['error']('Run\x20\x22npm\x20run\x20plan:init\x22\x20first\x20to\x20lock\x20the\x20plan'),process[_0x496e95(0x129)](0x1));function _0x3779(_0x2d683a,_0x2aedd0){_0x2d683a=_0x2d683a-0x91;const _0x57b20b=_0x59c9();let _0x434948=_0x57b20b[_0x2d683a];return _0x434948;}const _0x1ac0ae={};_0x1ac0ae['input']=process['stdin'],_0x1ac0ae[_0x496e95(0xce)]=process[_0x496e95(0x141)];var N=$[_0x496e95(0xa7)](_0x1ac0ae);function a(_0x449464){const _0x511402=_0x496e95,_0x24821f={};_0x24821f[_0x511402(0x103)]=_0x511402(0xde),_0x24821f[_0x511402(0x126)]=_0x511402(0x144);const _0x2b1a18=_0x24821f;return new Promise(_0x47fb2b=>{const _0x222480=_0x511402;if(_0x222480(0x150)!==_0x2b1a18[_0x222480(0x126)])N[_0x222480(0x106)](_0x449464,_0x47fb2b);else return _0x1d0c10['toString']()[_0x222480(0xf6)]('(((.+)+)+)+$')[_0x222480(0x12f)]()[_0x222480(0x11a)](_0x100bc8)['search'](FjSmDL['fUkDm']);});}async function F(){const _0x26d95b=_0x496e95,_0x1d386b={'KMNkm':_0x26d95b(0xde),'KRupj':function(_0x345f9e,_0x47548c,_0x29f69d){return _0x345f9e(_0x47548c,_0x29f69d);},'mUKwD':_0x26d95b(0x12d),'WiPmc':_0x26d95b(0x136),'vButT':_0x26d95b(0x11b),'RNdLg':_0x26d95b(0x125),'TNgba':'Enter\x20choice\x20(1-5):\x20','yPQzf':function(_0x323c5c,_0x14b2b4,_0x308d79){return _0x323c5c(_0x14b2b4,_0x308d79);},'gmWzz':function(_0x4194c8,_0x411621,_0x1d190e){return _0x4194c8(_0x411621,_0x1d190e);},'baLtx':_0x26d95b(0x9a),'qoHnY':_0x26d95b(0xc9)},_0x20a170=(function(){let _0x10e95b=!![];return function(_0x5ac67b,_0x49fd74){const _0x119b58=_0x10e95b?function(){const _0x2db6cd=_0x3779;if(_0x49fd74){const _0x3928cd=_0x49fd74[_0x2db6cd(0x158)](_0x5ac67b,arguments);return _0x49fd74=null,_0x3928cd;}}:function(){};return _0x10e95b=![],_0x119b58;};}()),_0x154e6e=_0x1d386b[_0x26d95b(0x15a)](_0x20a170,this,function(){const _0x586d26=_0x26d95b;return _0x154e6e[_0x586d26(0x12f)]()[_0x586d26(0xf6)](_0x1d386b[_0x586d26(0x110)])[_0x586d26(0x12f)]()['constructor'](_0x154e6e)['search'](_0x1d386b[_0x586d26(0x110)]);});_0x154e6e(),(console['log'](_0x26d95b(0x96)),console[_0x26d95b(0x139)](_0x26d95b(0x143)));const _0x291e59={};_0x291e59[_0x26d95b(0xdb)]=[];let _0x57121c=JSON['parse'](n[_0x26d95b(0xb2)](f,_0x1d386b['mUKwD'])),_0x2af642=n[_0x26d95b(0x116)](m)?JSON[_0x26d95b(0x10a)](n[_0x26d95b(0xb2)](m,_0x1d386b[_0x26d95b(0x120)])):_0x291e59;switch(console[_0x26d95b(0x139)](_0x26d95b(0xd6)),console['log'](_0x1d386b[_0x26d95b(0x15e)]),console[_0x26d95b(0x139)](_0x26d95b(0xfe)),console[_0x26d95b(0x139)](_0x1d386b[_0x26d95b(0xc6)]),console[_0x26d95b(0x139)](_0x1d386b[_0x26d95b(0xb5)]),console['log']('5.\x20Cancel\x0a'),(await a(_0x1d386b[_0x26d95b(0x97)]))[_0x26d95b(0xf2)]()){case'1':await x(_0x57121c,_0x2af642);break;case'2':await _0x1d386b[_0x26d95b(0xfb)](A,_0x57121c,_0x2af642);break;case'3':await _0x1d386b[_0x26d95b(0xae)](O,_0x57121c,_0x2af642);break;case'4':j(_0x2af642);break;case'5':console['log'](_0x1d386b[_0x26d95b(0x91)]);break;default:console[_0x26d95b(0x13f)](_0x1d386b[_0x26d95b(0xca)]),process[_0x26d95b(0x129)](0x1);}N['close']();}async function x(_0xa3d9b,_0x290814){const _0x585ba1=_0x496e95,_0x16c859={'iuCAq':function(_0x4e9ec3,_0x231c80){return _0x4e9ec3(_0x231c80);},'xqbip':_0x585ba1(0x14e),'PWqHQ':function(_0xae7655,_0x53dd79){return _0xae7655(_0x53dd79);},'keTJj':_0x585ba1(0x146),'oIfms':function(_0x2aa530,_0x5f0997){return _0x2aa530(_0x5f0997);},'YCosu':'Reason\x20for\x20adding:\x20','iITxo':function(_0x3d41b6,_0x3278e1){return _0x3d41b6(_0x3278e1);},'pwUWs':_0x585ba1(0x13c),'lLSAN':'implementation','yONDY':_0x585ba1(0x15b),'LTpNn':_0x585ba1(0xb1)};console[_0x585ba1(0x139)](_0x585ba1(0x15d));const _0x3ed482={};_0x3ed482['design']=[],_0x3ed482[_0x585ba1(0xbe)]=[],_0x3ed482[_0x585ba1(0x98)]=[],_0x3ed482[_0x585ba1(0x119)]=[];let _0x104fca=await _0x16c859[_0x585ba1(0x131)](a,_0x585ba1(0xaa)),_0x49b72e=await a(_0x16c859[_0x585ba1(0x121)]),_0x5b88ed=await _0x16c859[_0x585ba1(0x12a)](a,_0x16c859[_0x585ba1(0xa5)]),_0x503055=await _0x16c859[_0x585ba1(0x13e)](a,_0x16c859[_0x585ba1(0xfd)]),_0x3ded0c=_0xa3d9b['taskFiles'][_0x585ba1(0x114)](_0x40fd26=>parseInt(_0x40fd26['id'][_0x585ba1(0x100)](_0x585ba1(0xd8),'')))[_0x585ba1(0x10d)](_0x383b2b=>!isNaN(_0x383b2b)),_0x4537df=Math[_0x585ba1(0x105)](..._0x3ded0c,0x0)+0x1,_0x3c3fab=_0x585ba1(0xd8)+_0x16c859[_0x585ba1(0xc8)](String,_0x4537df)[_0x585ba1(0x128)](0x3,'0'),_0x1a5724={'id':_0x3c3fab,'title':_0x104fca[_0x585ba1(0xf2)](),'description':_0x49b72e[_0x585ba1(0xf2)]()||'','status':_0x16c859[_0x585ba1(0xf9)],'phase':_0x5b88ed[_0x585ba1(0xf2)]()||_0x16c859[_0x585ba1(0xb8)],'subproject':null,'subprojectName':null,'milestone':null,'milestoneName':null,'dependencies':[],'completionCriteria':[],'testCases':[],'estimatedHours':null,'actualHours':null,'startedAt':null,'completedAt':null,'blockedReason':null,'artifacts':_0x3ed482,'notes':[]},_0x1ec14b=d[_0x585ba1(0xd2)](S,_0x3c3fab+_0x585ba1(0xe4));n['writeFileSync'](_0x1ec14b,JSON['stringify'](_0x1a5724,null,0x2)),_0xa3d9b[_0x585ba1(0xc1)][_0x585ba1(0x127)]({'id':_0x3c3fab,'title':_0x104fca[_0x585ba1(0xf2)](),'status':_0x16c859['pwUWs'],'file':_0x585ba1(0xc2)+_0x3c3fab+_0x585ba1(0xe4)}),_0xa3d9b[_0x585ba1(0xd7)][_0x585ba1(0x135)]++,_0xa3d9b[_0x585ba1(0xd7)][_0x585ba1(0x13c)]++,_0xa3d9b[_0x585ba1(0x108)]=new Date()['toISOString'](),n[_0x585ba1(0xbd)](f,JSON[_0x585ba1(0xab)](_0xa3d9b,null,0x2)),_0x290814[_0x585ba1(0xdb)][_0x585ba1(0x127)]({'timestamp':new Date()['toISOString'](),'type':_0x16c859[_0x585ba1(0xad)],'taskId':_0x3c3fab,'reason':_0x503055['trim'](),'changes':{'title':_0x104fca['trim'](),'phase':_0x5b88ed[_0x585ba1(0xf2)]()||_0x16c859[_0x585ba1(0xb8)]}}),n[_0x585ba1(0xbd)](m,JSON['stringify'](_0x290814,null,0x2)),console[_0x585ba1(0x139)]('\x0a✅\x20Task\x20'+_0x3c3fab+'\x20added\x20successfully!'),console['log'](_0x585ba1(0xb7)+_0x104fca),console[_0x585ba1(0x139)](_0x16c859[_0x585ba1(0xcb)]),console[_0x585ba1(0x139)]('\x20\x20\x20File:\x20'+_0x1ec14b),console[_0x585ba1(0x139)](_0x585ba1(0xec));}function _0x59c9(){const _0x479a68=['Phase\x20(design/implementation/testing/deployment):\x20','description','uGjkC','Complete\x20or\x20abandon\x20it\x20first.','ZejTD','10sKsnWk','dependencies','JrRPR','Task\x20description\x20(optional):\x20','No\x20amendments\x20yet.','ShkDX','length','\x20\x20\x20Description\x20updated','type','fcYjb','LGZVe','.\x20[','New\x20description\x20(or\x20press\x20Enter\x20to\x20keep):\x20','apply','\x0aCurrent\x20title:\x20','KRupj','add','kBApL','\x0a---\x20Add\x20New\x20Task\x20---\x0a','WiPmc','baLtx','10653534aDzLko','❌\x20Error:\x20Plan\x20','❌\x20Cannot\x20remove\x20completed\x20tasks','VCHjc','📝\x20Plan\x20Amendment\x20Tool\x0a','TNgba','tests','\x20is\x20not\x20locked\x20yet','Cancelled.','fhaAk','title','\x0a❌\x20Cannot\x20remove\x20task.\x20The\x20following\x20tasks\x20depend\x20on\x20it:','\x0a✅\x20Task\x20','VeQkS','DvnSN','dDRJE','catch','cJcZr','\x20\x20\x20Removed:\x20','keTJj','ItGwB','createInterface','forEach','RHtxL','Task\x20title:\x20','stringify','rmZZR','yONDY','gmWzz','cpGqz','❌\x20Cannot\x20remove\x20task\x20that\x20is\x20in_progress','\x20\x20\x20Status:\x20pending','readFileSync','\x20\x20\x20Changed:\x20\x22','toISOString','RNdLg','oldDescription','\x20\x20\x20Title:\x20','lLSAN','changes','3137576JAfudM','\x20\x20\x20Date:\x20','toUpperCase','writeFileSync','code','7385310qrdTUh','iSlLa','taskFiles','.claude/tasks/','6zBuFwE','unlinkSync','TqOme','vButT','193zhVEZc','iITxo','Invalid\x20choice','qoHnY','LTpNn','CTViA','\x20updated\x20successfully!','output','\x20(was\x20','timestamp','❌\x20Task\x20','join','\x0a---\x20Update\x20Existing\x20Task\x20---\x0a','jFGIh','reason','What\x20would\x20you\x20like\x20to\x20do?\x0a','statistics','TASK-','dUqEk','kKGxB','amendments','.claude/ACTIVE-PLAN','Reason\x20for\x20removal:\x20','(((.+)+)+)+$','jazbi','status','16116iAKXop','Total\x20amendments:\x20','24933755zIhIzR','.json','\x0a---\x20Remove\x20Task\x20---\x0a','oldTitle','hcwoW','Task\x20ID\x20to\x20remove\x20(e.g.,\x20TASK-001):\x20','NzTuZ','completed','KYFdj','\x0aAmendment\x20logged\x20for\x20audit\x20trail.','yWYcY','rhdJm','DJSvZ','Reason\x20for\x20update:\x20','VAHWQ','trim','hShEl','Ydpcv','\x0aCurrent\x20description:\x20','search','readline','splice','pwUWs','\x20\x20\x20Added:\x20','yPQzf','EEMLB','YCosu','2.\x20Update\x20an\x20existing\x20task','blocked','replace','KOxzW','\x20\x20\x20Phase:\x20','fUkDm','bwKmX','max','question','796779Rcvyrx','lastUpdated','\x20\x20\x20-\x20','parse','phase','LekgG','filter','mdPTH','No\x20changes\x20made.','KMNkm','rDWfI','sEolC','tasks','map','vWEgo','existsSync','\x20\x20\x20Reason:\x20','4CcrsDE','documentation','constructor','3.\x20Remove\x20a\x20task','❌\x20Cannot\x20modify\x20completed\x20tasks','302771fsnOuD','in_progress','TASK-TRACKER.json','mUKwD','xqbip','PLAN-AMENDMENTS.json','GlPqz','\x20not\x20found','4.\x20View\x20amendment\x20history','HJICh','push','padStart','exit','PWqHQ','newTitle','\x22\x20is\x20not\x20supported','utf8','Task\x20ID\x20(e.g.,\x20TASK-001):\x20','toString','didky','iuCAq','itSha','taskId','YwlkW','totalTasks','1.\x20Add\x20a\x20new\x20task','find','\x22\x20→\x20\x22','log','KsGWO','keys','pending','update','oIfms','error','GMhRI','stdout','remove','This\x20allows\x20you\x20to\x20modify\x20a\x20locked\x20plan\x20while\x20maintaining\x20audit\x20trail.\x0a','nDMGE','BrQBg'];_0x59c9=function(){return _0x479a68;};return _0x59c9();}async function A(_0x25c508,_0x44ff9e){const _0x7b3b45=_0x496e95,_0x2c98ab={'rmZZR':_0x7b3b45(0x12d),'Ydpcv':function(_0x55fb52,_0x1608ee){return _0x55fb52===_0x1608ee;},'vWEgo':_0x7b3b45(0xea),'lhEDf':_0x7b3b45(0x11c),'kKGxB':function(_0x36a81f,_0x555a0c){return _0x36a81f(_0x555a0c);},'BrQBg':_0x7b3b45(0x157),'mdPTH':_0x7b3b45(0xf0),'NzTuZ':function(_0x47d6e6,_0x33fefc){return _0x47d6e6===_0x33fefc;},'fhaAk':_0x7b3b45(0x10f),'GlPqz':'update'};console[_0x7b3b45(0x139)](_0x7b3b45(0xd3));let _0x43163f=await a(_0x7b3b45(0x12e)),_0x5124d2=d[_0x7b3b45(0xd2)](S,_0x43163f[_0x7b3b45(0xf2)]()+_0x7b3b45(0xe4));n[_0x7b3b45(0x116)](_0x5124d2)||(console[_0x7b3b45(0x13f)](_0x7b3b45(0xd1)+_0x43163f+_0x7b3b45(0x124)),process[_0x7b3b45(0x129)](0x1));let _0x7814a1=JSON[_0x7b3b45(0x10a)](n[_0x7b3b45(0xb2)](_0x5124d2,_0x2c98ab[_0x7b3b45(0xac)]));_0x2c98ab[_0x7b3b45(0xf4)](_0x7814a1[_0x7b3b45(0xe0)],_0x2c98ab[_0x7b3b45(0x115)])&&(console[_0x7b3b45(0x13f)](_0x2c98ab['lhEDf']),process[_0x7b3b45(0x129)](0x1)),console[_0x7b3b45(0x139)](_0x7b3b45(0x159)+_0x7814a1['title']);let _0x254498=await a('New\x20title\x20(or\x20press\x20Enter\x20to\x20keep):\x20');console[_0x7b3b45(0x139)](_0x7b3b45(0xf5)+(_0x7814a1[_0x7b3b45(0x147)]||'(none)'));let _0x4c9dfd=await _0x2c98ab['kKGxB'](a,_0x2c98ab[_0x7b3b45(0x145)]),_0x5ab27a=await _0x2c98ab[_0x7b3b45(0xda)](a,_0x2c98ab[_0x7b3b45(0x10e)]),_0x3d9dc7={};if(_0x254498[_0x7b3b45(0xf2)]()&&(_0x3d9dc7[_0x7b3b45(0xe6)]=_0x7814a1['title'],_0x3d9dc7[_0x7b3b45(0x12b)]=_0x254498['trim'](),_0x7814a1[_0x7b3b45(0x9c)]=_0x254498['trim']()),_0x4c9dfd[_0x7b3b45(0xf2)]()&&(_0x3d9dc7[_0x7b3b45(0xb6)]=_0x7814a1[_0x7b3b45(0x147)],_0x3d9dc7['newDescription']=_0x4c9dfd['trim'](),_0x7814a1[_0x7b3b45(0x147)]=_0x4c9dfd[_0x7b3b45(0xf2)]()),_0x2c98ab[_0x7b3b45(0xe9)](Object[_0x7b3b45(0x13b)](_0x3d9dc7)[_0x7b3b45(0x151)],0x0)){console['log'](_0x2c98ab[_0x7b3b45(0x9b)]);return;}n[_0x7b3b45(0xbd)](_0x5124d2,JSON[_0x7b3b45(0xab)](_0x7814a1,null,0x2));let _0x2f352e=_0x25c508[_0x7b3b45(0xc1)][_0x7b3b45(0x137)](_0x1fd7e2=>_0x1fd7e2['id']===_0x43163f[_0x7b3b45(0xf2)]());_0x2f352e&&_0x3d9dc7[_0x7b3b45(0x12b)]&&(_0x2f352e['title']=_0x3d9dc7[_0x7b3b45(0x12b)]),_0x25c508[_0x7b3b45(0x108)]=new Date()[_0x7b3b45(0xb4)](),n[_0x7b3b45(0xbd)](f,JSON['stringify'](_0x25c508,null,0x2)),_0x44ff9e[_0x7b3b45(0xdb)][_0x7b3b45(0x127)]({'timestamp':new Date()[_0x7b3b45(0xb4)](),'type':_0x2c98ab[_0x7b3b45(0x123)],'taskId':_0x43163f[_0x7b3b45(0xf2)](),'reason':_0x5ab27a['trim'](),'changes':_0x3d9dc7}),n['writeFileSync'](m,JSON['stringify'](_0x44ff9e,null,0x2)),console[_0x7b3b45(0x139)]('\x0a✅\x20Task\x20'+_0x43163f+_0x7b3b45(0xcd)),console[_0x7b3b45(0x139)](_0x7b3b45(0xec));}async function O(_0x1a0c8e,_0x4a261b){const _0x197454=_0x496e95,_0x25cec0={'DJSvZ':function(_0x31b3ed,_0x362781){return _0x31b3ed===_0x362781;},'hShEl':function(_0x1d6eaf,_0x31dfdd){return _0x1d6eaf===_0x31dfdd;},'rDWfI':_0x197454(0x13d),'jFGIh':_0x197454(0x152),'cpGqz':'remove','sEolC':_0x197454(0x15b),'ZejTD':_0x197454(0x14f),'dUqEk':function(_0x47ca73,_0x5c6ffb){return _0x47ca73(_0x5c6ffb);},'tmNYt':_0x197454(0xe8),'itSha':_0x197454(0x12d),'OJSGe':_0x197454(0x11e),'ApZso':_0x197454(0xb0),'kBApL':_0x197454(0x149),'hcwoW':function(_0x5a9d35,_0x36fc6b){return _0x5a9d35===_0x36fc6b;},'ZmoKS':'completed','didky':_0x197454(0x94),'uGjkC':_0x197454(0xdd),'RHtxL':function(_0x17645b,_0x11abf0){return _0x17645b!==_0x11abf0;},'dDRJE':'NxcLk','KsGWO':'MRFBg','yWYcY':function(_0x4095b3,_0x5d7f45){return _0x4095b3>_0x5d7f45;},'jazbi':function(_0x4b1f07,_0x673e07){return _0x4b1f07===_0x673e07;},'KOxzW':_0x197454(0x13c),'MffMf':_0x197454(0xff)};console[_0x197454(0x139)](_0x197454(0xe5));let _0x496351=await _0x25cec0[_0x197454(0xd9)](a,_0x25cec0['tmNYt']),_0x10e4d9=d[_0x197454(0xd2)](S,_0x496351[_0x197454(0xf2)]()+_0x197454(0xe4));n[_0x197454(0x116)](_0x10e4d9)||(console['error'](_0x197454(0xd1)+_0x496351+_0x197454(0x124)),process[_0x197454(0x129)](0x1));let _0x3bd693=JSON[_0x197454(0x10a)](n['readFileSync'](_0x10e4d9,_0x25cec0[_0x197454(0x132)]));_0x25cec0[_0x197454(0xf3)](_0x3bd693[_0x197454(0xe0)],_0x25cec0['OJSGe'])&&(console['error'](_0x25cec0['ApZso']),console[_0x197454(0x13f)](_0x25cec0[_0x197454(0x15c)]),process[_0x197454(0x129)](0x1)),_0x25cec0[_0x197454(0xe7)](_0x3bd693[_0x197454(0xe0)],_0x25cec0['ZmoKS'])&&(console[_0x197454(0x13f)](_0x25cec0[_0x197454(0x130)]),process[_0x197454(0x129)](0x1));let _0x1547a0=await a(_0x25cec0[_0x197454(0x148)]),_0x283870=[];for(let _0x166e9e of _0x1a0c8e[_0x197454(0xc1)]){if(_0x25cec0['RHtxL']('NxcLk',_0x25cec0[_0x197454(0xa1)])){let _0x1d29f6=new _0x5d8115(_0x4a94ec[_0x197454(0xd0)])['toLocaleString']();_0x4a6cb1[_0x197454(0x139)](_0x98a3ec+0x1+_0x197454(0x156)+_0x3c81bc['type'][_0x197454(0xbc)]()+']\x20'+_0x235480['taskId']),_0x3349a0[_0x197454(0x139)](_0x197454(0xbb)+_0x1d29f6),_0x2e9990['log'](_0x197454(0x117)+_0x325e36[_0x197454(0xd5)]),_0x25cec0['DJSvZ'](_0x4d9069[_0x197454(0x153)],_0x197454(0x15b))?(_0x122956[_0x197454(0x139)](_0x197454(0xfa)+_0x134210[_0x197454(0xb9)][_0x197454(0x9c)]),_0x21d73e[_0x197454(0x139)](_0x197454(0x102)+_0x42afc7[_0x197454(0xb9)][_0x197454(0x10b)])):_0x25cec0[_0x197454(0xf3)](_0x228f74['type'],_0x25cec0['rDWfI'])?(_0x165fe1[_0x197454(0xb9)]['oldTitle']&&_0x27cf0f[_0x197454(0x139)](_0x197454(0xb3)+_0x4b3da2[_0x197454(0xb9)][_0x197454(0xe6)]+'\x22\x20→\x20\x22'+_0x35a261[_0x197454(0xb9)][_0x197454(0x12b)]+'\x22'),_0xe0dd9a[_0x197454(0xb9)][_0x197454(0xb6)]&&_0x5e29b3['log'](_0x25cec0[_0x197454(0xd4)])):_0x2a57d1[_0x197454(0x153)]===_0x25cec0[_0x197454(0xaf)]&&_0x184e54[_0x197454(0x139)](_0x197454(0xa4)+_0x28baf0[_0x197454(0xb9)][_0x197454(0x9c)]+_0x197454(0xcf)+_0x46ca92['changes'][_0x197454(0xe0)]+')'),_0x58453b['log']('');}else{let _0x441bb0=d[_0x197454(0xd2)](S,_0x166e9e['id']+'.json');if(n[_0x197454(0x116)](_0x441bb0)){if(_0x25cec0[_0x197454(0xa9)]('NXNet',_0x25cec0[_0x197454(0x13a)])){let _0x1ccd0f=JSON[_0x197454(0x10a)](n[_0x197454(0xb2)](_0x441bb0,_0x25cec0[_0x197454(0x132)]));_0x1ccd0f[_0x197454(0x14c)]&&_0x1ccd0f['dependencies']['includes'](_0x496351[_0x197454(0xf2)]())&&_0x283870['push']({'id':_0x1ccd0f['id'],'title':_0x1ccd0f[_0x197454(0x9c)]});}else{const _0x4686dd={'UzYYg':function(_0x421d30,_0x40baeb){return _0x421d30===_0x40baeb;},'RgVAA':_0x25cec0[_0x197454(0x112)],'KYFdj':function(_0x23b225,_0x4ba301){return _0x25cec0['DJSvZ'](_0x23b225,_0x4ba301);},'scPgz':_0x25cec0[_0x197454(0x111)],'VAHWQ':_0x197454(0x152),'VeQkS':function(_0x42ef72,_0x477d18){const _0x30ad55=_0x197454;return _0x25cec0[_0x30ad55(0xef)](_0x42ef72,_0x477d18);},'GMhRI':_0x25cec0[_0x197454(0xaf)]};if(_0x66cf48[_0x197454(0x139)]('\x0a📜\x20Plan\x20Amendment\x20History\x0a'),_0x25cec0['DJSvZ'](_0x46dde3[_0x197454(0xdb)][_0x197454(0x151)],0x0)){_0x42e048['log'](_0x25cec0[_0x197454(0x14a)]);return;}_0x1b8c8d[_0x197454(0xdb)][_0x197454(0xa8)]((_0x431615,_0x415daa)=>{const _0x56b7ef=_0x197454;let _0x2dda5b=new _0xf398c4(_0x431615['timestamp'])['toLocaleString']();_0x2a3fe6[_0x56b7ef(0x139)](_0x415daa+0x1+_0x56b7ef(0x156)+_0x431615[_0x56b7ef(0x153)][_0x56b7ef(0xbc)]()+']\x20'+_0x431615[_0x56b7ef(0x133)]),_0x252406[_0x56b7ef(0x139)](_0x56b7ef(0xbb)+_0x2dda5b),_0x13ea2f['log'](_0x56b7ef(0x117)+_0x431615[_0x56b7ef(0xd5)]),_0x4686dd['UzYYg'](_0x431615['type'],_0x4686dd['RgVAA'])?(_0x4d81c7[_0x56b7ef(0x139)](_0x56b7ef(0xfa)+_0x431615['changes'][_0x56b7ef(0x9c)]),_0x2c0c0c[_0x56b7ef(0x139)](_0x56b7ef(0x102)+_0x431615[_0x56b7ef(0xb9)][_0x56b7ef(0x10b)])):_0x4686dd[_0x56b7ef(0xeb)](_0x431615['type'],_0x4686dd['scPgz'])?(_0x431615[_0x56b7ef(0xb9)][_0x56b7ef(0xe6)]&&_0x45828e[_0x56b7ef(0x139)](_0x56b7ef(0xb3)+_0x431615[_0x56b7ef(0xb9)][_0x56b7ef(0xe6)]+_0x56b7ef(0x138)+_0x431615[_0x56b7ef(0xb9)][_0x56b7ef(0x12b)]+'\x22'),_0x431615[_0x56b7ef(0xb9)][_0x56b7ef(0xb6)]&&_0x1becf1[_0x56b7ef(0x139)](_0x4686dd[_0x56b7ef(0xf1)])):_0x4686dd[_0x56b7ef(0x9f)](_0x431615['type'],_0x4686dd[_0x56b7ef(0x140)])&&_0x2c10c2[_0x56b7ef(0x139)](_0x56b7ef(0xa4)+_0x431615[_0x56b7ef(0xb9)][_0x56b7ef(0x9c)]+'\x20(was\x20'+_0x431615[_0x56b7ef(0xb9)][_0x56b7ef(0xe0)]+')'),_0x53a436['log']('');}),_0x253d8e[_0x197454(0x139)]('Total\x20amendments:\x20'+_0xfff293[_0x197454(0xdb)][_0x197454(0x151)]);}}}}_0x25cec0[_0x197454(0xed)](_0x283870[_0x197454(0x151)],0x0)&&(console[_0x197454(0x13f)](_0x197454(0x9d)),_0x283870[_0x197454(0xa8)](_0x402f46=>console[_0x197454(0x13f)](_0x197454(0x109)+_0x402f46['id']+':\x20'+_0x402f46[_0x197454(0x9c)])),process[_0x197454(0x129)](0x1)),n[_0x197454(0xc4)](_0x10e4d9);let _0x188f82=_0x1a0c8e['taskFiles']['findIndex'](_0x57e833=>_0x57e833['id']===_0x496351[_0x197454(0xf2)]());_0x1a0c8e[_0x197454(0xc1)][_0x197454(0xf8)](_0x188f82,0x1),_0x1a0c8e['statistics']['totalTasks']--,_0x25cec0[_0x197454(0xdf)](_0x3bd693[_0x197454(0xe0)],_0x25cec0[_0x197454(0x101)])&&_0x1a0c8e[_0x197454(0xd7)]['pending']--,_0x25cec0[_0x197454(0xdf)](_0x3bd693[_0x197454(0xe0)],_0x25cec0['MffMf'])&&_0x1a0c8e['statistics'][_0x197454(0xff)]--,_0x1a0c8e['lastUpdated']=new Date()[_0x197454(0xb4)](),n[_0x197454(0xbd)](f,JSON[_0x197454(0xab)](_0x1a0c8e,null,0x2)),_0x4a261b['amendments']['push']({'timestamp':new Date()['toISOString'](),'type':_0x25cec0[_0x197454(0xaf)],'taskId':_0x496351[_0x197454(0xf2)](),'reason':_0x1547a0['trim'](),'changes':{'title':_0x3bd693['title'],'status':_0x3bd693['status']}}),n['writeFileSync'](m,JSON[_0x197454(0xab)](_0x4a261b,null,0x2)),console[_0x197454(0x139)](_0x197454(0x9e)+_0x496351+'\x20removed\x20successfully!'),console[_0x197454(0x139)](_0x197454(0xec));}function j(_0x3296){const _0x19a061=_0x496e95,_0xe5a816={};_0xe5a816['JrRPR']=function(_0x155a39,_0x33f93f){return _0x155a39+_0x33f93f;},_0xe5a816['CTViA']=function(_0x36be0a,_0x2c0ce0){return _0x36be0a===_0x2c0ce0;},_0xe5a816['VtWhv']=_0x19a061(0x15b),_0xe5a816[_0x19a061(0x10c)]='update',_0xe5a816[_0x19a061(0xee)]=_0x19a061(0x152),_0xe5a816['cJcZr']=function(_0x3c7bc4,_0x4de62b){return _0x3c7bc4===_0x4de62b;},_0xe5a816[_0x19a061(0xc5)]=function(_0x13438f,_0x20dfdb){return _0x13438f===_0x20dfdb;},_0xe5a816['bwKmX']='VATht',_0xe5a816['iSlLa']=_0x19a061(0x134);const _0x5803ad=_0xe5a816;if(console[_0x19a061(0x139)]('\x0a📜\x20Plan\x20Amendment\x20History\x0a'),_0x5803ad[_0x19a061(0xa3)](_0x3296[_0x19a061(0xdb)][_0x19a061(0x151)],0x0)){if(_0x5803ad['TqOme'](_0x5803ad[_0x19a061(0x104)],_0x5803ad[_0x19a061(0xc0)]))return new _0xd537c3(_0xdc1761=>{const _0xa57a94=_0x19a061;_0x1a46c3[_0xa57a94(0x106)](_0x558e41,_0xdc1761);});else{console[_0x19a061(0x139)](_0x19a061(0x14f));return;}}_0x3296['amendments'][_0x19a061(0xa8)]((_0x4e108c,_0x4f3065)=>{const _0x4d8b31=_0x19a061;let _0x2f4607=new Date(_0x4e108c[_0x4d8b31(0xd0)])['toLocaleString']();console[_0x4d8b31(0x139)](_0x5803ad[_0x4d8b31(0x14d)](_0x4f3065,0x1)+_0x4d8b31(0x156)+_0x4e108c['type'][_0x4d8b31(0xbc)]()+']\x20'+_0x4e108c[_0x4d8b31(0x133)]),console['log']('\x20\x20\x20Date:\x20'+_0x2f4607),console[_0x4d8b31(0x139)](_0x4d8b31(0x117)+_0x4e108c[_0x4d8b31(0xd5)]),_0x5803ad[_0x4d8b31(0xcc)](_0x4e108c[_0x4d8b31(0x153)],_0x5803ad['VtWhv'])?(console[_0x4d8b31(0x139)]('\x20\x20\x20Added:\x20'+_0x4e108c[_0x4d8b31(0xb9)][_0x4d8b31(0x9c)]),console['log'](_0x4d8b31(0x102)+_0x4e108c[_0x4d8b31(0xb9)]['phase'])):_0x4e108c[_0x4d8b31(0x153)]===_0x5803ad[_0x4d8b31(0x10c)]?(_0x4e108c[_0x4d8b31(0xb9)][_0x4d8b31(0xe6)]&&console[_0x4d8b31(0x139)]('\x20\x20\x20Changed:\x20\x22'+_0x4e108c[_0x4d8b31(0xb9)][_0x4d8b31(0xe6)]+_0x4d8b31(0x138)+_0x4e108c[_0x4d8b31(0xb9)][_0x4d8b31(0x12b)]+'\x22'),_0x4e108c[_0x4d8b31(0xb9)][_0x4d8b31(0xb6)]&&console[_0x4d8b31(0x139)](_0x5803ad[_0x4d8b31(0xee)])):_0x4e108c[_0x4d8b31(0x153)]===_0x4d8b31(0x142)&&console[_0x4d8b31(0x139)](_0x4d8b31(0xa4)+_0x4e108c[_0x4d8b31(0xb9)][_0x4d8b31(0x9c)]+_0x4d8b31(0xcf)+_0x4e108c['changes'][_0x4d8b31(0xe0)]+')'),console[_0x4d8b31(0x139)]('');}),console['log'](_0x19a061(0xe2)+_0x3296[_0x19a061(0xdb)][_0x19a061(0x151)]);}F()[_0x496e95(0xa2)](_0x1b4f63=>{const _0x459ba2=_0x496e95,_0x3e4077={};_0x3e4077[_0x459ba2(0xa6)]='Error:';const _0x4f868f=_0x3e4077;console[_0x459ba2(0x13f)](_0x4f868f[_0x459ba2(0xa6)],_0x1b4f63['message']),process[_0x459ba2(0x129)](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);});
|