gl-life-claude-zen 1.0.0 → 1.0.3
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/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-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 -2
- package/dist/scripts/plan-amend.js +1 -2
- package/dist/scripts/plan-create.js +1 -2
- package/dist/scripts/plan-help.js +1 -2
- package/dist/scripts/plan-init.js +1 -2
- package/dist/scripts/plan-manager.js +1 -2
- package/dist/scripts/setup-git-hooks.js +1 -2
- package/dist/scripts/task-done.js +1 -2
- package/dist/scripts/task-merge.js +1 -2
- package/dist/scripts/task-next.js +1 -2
- package/dist/scripts/task-start.js +1 -2
- package/dist/scripts/task-status.js +1 -2
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
2
|
+
function _0xb20d(){var _0x34b0d0=['49652pBlFWL','argv','warn','split','Expected:\x20cypress.config.js\x20or\x20playwright.config.ts','3081Lscdzh','Remove\x20.skip\x20and\x20implement\x20the\x20tests','655926AaJrLA','WARNING:\x20Running\x20E2E\x20tests\x20but\x20no\x20E2E\x20config\x20file\x20found','nwzVf','exit','test','search','jykhq','tool_input','./cypress.config.js','AExLV','forEach','BLOCKED:\x20E2E\x20test\x20ran\x20but\x20NO\x20assertions\x20found\x20in\x20output','find\x20./src\x20-name\x20\x22*.tsx\x22\x20-o\x20-name\x20\x22*.jsx\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','Screenshots\x20alone\x20do\x20not\x20validate\x20functionality','toString','qvEUf','WARNING:\x20E2E\x20test\x20does\x20not\x20show\x20UI\x20interactions','match','Create\x20E2E\x20tests\x20in\x20./e2e/\x20or\x20./cypress/\x20directory','Dynamic\x20require\x20of\x20\x22','dNeHu','Running:','apply','188111VBQDDG','./playwright.config.js','82IlNTWx','Test\x20Suites:','./cypress.config.ts','(((.+)+)+)+$','Are\x20you\x20testing\x20the\x20actual\x20UI\x20flow?','some','\x0a❌\x20E2E\x20TEST\x20VALIDATION\x20FAILED\x0a','length','parse','Add\x20clicks,\x20form\x20fills,\x20or\x20other\x20user\x20interactions','error','push','WCAas','\x22\x20is\x20not\x20supported','WARNING:\x20E2E\x20test\x20took\x20screenshots\x20but\x20has\x20no\x20assertions','includes','utf8','encoding','./playwright.config.ts','5XnImjL','1908918qHTRqj','filter','screenshot','E2E\x20tests\x20must\x20validate\x20UI\x20behavior,\x20not\x20just\x20click\x20around','12HFfbvA','527070BxLbmM','child_process','hDJNN','pipe','trim','524688iohHuI','./e2e/config.js','existsSync'];_0xb20d=function(){return _0x34b0d0;};return _0xb20d();}var _0x50d58f=_0x7473;(function(_0x2a639f,_0x5bfcc9){var _0x6e2210=_0x7473,_0x1c3e08=_0x2a639f();while(!![]){try{var _0x498ce9=-parseInt(_0x6e2210(0xaa))/0x1*(-parseInt(_0x6e2210(0xc5))/0x2)+-parseInt(_0x6e2210(0x9c))/0x3*(-parseInt(_0x6e2210(0xa5))/0x4)+parseInt(_0x6e2210(0x97))/0x5*(parseInt(_0x6e2210(0xac))/0x6)+parseInt(_0x6e2210(0xc3))/0x7+parseInt(_0x6e2210(0xa2))/0x8+-parseInt(_0x6e2210(0x98))/0x9+-parseInt(_0x6e2210(0x9d))/0xa;if(_0x498ce9===_0x5bfcc9)break;else _0x1c3e08['push'](_0x1c3e08['shift']());}catch(_0x35be79){_0x1c3e08['push'](_0x1c3e08['shift']());}}}(_0xb20d,0x1b930));var _0xc2995b=(function(){var _0x4f8a80=_0x7473,_0x27d3e9={};_0x27d3e9['qvEUf']=_0x4f8a80(0xc0),_0x27d3e9[_0x4f8a80(0xb2)]=_0x4f8a80(0xd1);var _0x59985d=_0x27d3e9,_0x519d0d=!![];return function(_0x50be2c,_0x5629ac){var _0x4f1134=_0x4f8a80;if(_0x59985d[_0x4f1134(0xbb)]!==_0x59985d['jykhq']){var _0xf766c1=_0x519d0d?function(){var _0x31524d=_0x4f1134;if(_0x5629ac){var _0x5364fe=_0x5629ac[_0x31524d(0xc2)](_0x50be2c,arguments);return _0x5629ac=null,_0x5364fe;}}:function(){};return _0x519d0d=![],_0xf766c1;}else{if(_0xc3c759){var _0x2c3edc=_0x4b1a09[_0x4f1134(0xc2)](_0x1abc4e,arguments);return _0x2a291f=null,_0x2c3edc;}}};}()),_0x24da9b=_0xc2995b(this,function(){var _0x383995=_0x7473,_0x2d635e={};_0x2d635e[_0x383995(0x9f)]=_0x383995(0xc8);var _0x312f83=_0x2d635e;return _0x24da9b[_0x383995(0xba)]()[_0x383995(0xb1)](_0x312f83['hDJNN'])[_0x383995(0xba)]()['constructor'](_0x24da9b)['search'](_0x312f83[_0x383995(0x9f)]);});_0x24da9b();var i=(_0x27a9fe=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x27a9fe,{'get':(_0x2df81d,_0x38dd84)=>(typeof require<'u'?require:_0x2df81d)[_0x38dd84]}):_0x27a9fe)(function(_0x3a83f5){var _0x517276=_0x7473,_0x4cab14={'nwzVf':function(_0x3c71cb,_0x202ce8){return _0x3c71cb<_0x202ce8;},'GMtXr':function(_0x582b69,_0x555358){return _0x582b69(_0x555358);},'AExLV':function(_0x4788c8,_0x17b9eb){return _0x4788c8+_0x17b9eb;}};if(_0x4cab14[_0x517276(0xae)](typeof require,'u'))return require[_0x517276(0xc2)](this,arguments);throw _0x4cab14['GMtXr'](Error,_0x4cab14[_0x517276(0xb5)](_0x517276(0xbf)+_0x3a83f5,_0x517276(0xd2)));}),l=i('fs'),I=i('path'),{execSync:c}=i(_0x50d58f(0x9e)),u=process[_0x50d58f(0xa6)][0x2]||'{}',r=JSON[_0x50d58f(0xcd)](u),h=r[_0x50d58f(0xb3)]?.['command']||'',s=r['tool_output']||'',a=h['match'](/cypress|playwright|e2e|integration/i);a||process[_0x50d58f(0xaf)](0x0);var n=[],t=[],g=[/cy\.visit\(/,/page\.goto\(/,/browser\.url\(/,/goto\(/],f=g['some'](_0x35ce06=>_0x35ce06[_0x50d58f(0xb0)](s));!f&&s[_0x50d58f(0xcc)]>0x0&&(t[_0x50d58f(0xd0)]('WARNING:\x20E2E\x20test\x20output\x20does\x20not\x20show\x20page\x20navigation'),t[_0x50d58f(0xd0)](_0x50d58f(0xc9)));var d=[/cy\.get\(/,/cy\.click\(/,/page\.click\(/,/page\.fill\(/,/locator\(/,/getByRole\(/,/getByText\(/],E=d[_0x50d58f(0xca)](_0x462eed=>_0x462eed['test'](s));!E&&s[_0x50d58f(0xcc)]>0x0&&(t[_0x50d58f(0xd0)](_0x50d58f(0xbc)),t['push'](_0x50d58f(0xce)));try{var _0x5d481d={};_0x5d481d[_0x50d58f(0xd6)]=_0x50d58f(0xd5),_0x5d481d['stdio']=[_0x50d58f(0xa0),_0x50d58f(0xa0),'ignore'];var _0x2999ad={};_0x2999ad[_0x50d58f(0xd6)]=_0x50d58f(0xd5),_0x2999ad['stdio']=[_0x50d58f(0xa0),_0x50d58f(0xa0),'ignore'];let e=c(_0x50d58f(0xb8),_0x5d481d)['trim']()[_0x50d58f(0xa8)]('\x0a')[_0x50d58f(0x99)](Boolean),o=c('find\x20./e2e\x20-name\x20\x22*.spec.*\x22\x20-o\x20-name\x20\x22*.test.*\x22\x202>/dev/null\x20||\x20find\x20./cypress\x20-name\x20\x22*.spec.*\x22\x20-o\x20-name\x20\x22*.cy.*\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22',_0x2999ad)[_0x50d58f(0xa1)]()[_0x50d58f(0xa8)]('\x0a')['filter'](Boolean);e[_0x50d58f(0xcc)]>0x5&&o[_0x50d58f(0xcc)]===0x0&&(t['push']('WARNING:\x20Found\x20'+e[_0x50d58f(0xcc)]+'\x20UI\x20components\x20but\x20NO\x20E2E\x20tests'),t[_0x50d58f(0xd0)](_0x50d58f(0xbe)));}catch{}function _0x7473(_0xc05c72,_0x3a9b13){_0xc05c72=_0xc05c72-0x97;var _0x518a69=_0xb20d();var _0x24da9b=_0x518a69[_0xc05c72];return _0x24da9b;}(s['includes'](_0x50d58f(0xc1))||s['includes'](_0x50d58f(0xc6)))&&(s[_0x50d58f(0xbd)](/expect|assert|should/i)||(n[_0x50d58f(0xd0)](_0x50d58f(0xb7)),n[_0x50d58f(0xd0)](_0x50d58f(0x9b))),s[_0x50d58f(0xbd)](/0 passing/)&&s[_0x50d58f(0xbd)](/\d+ pending/)&&(n['push']('BLOCKED:\x20All\x20E2E\x20tests\x20are\x20skipped/pending'),n[_0x50d58f(0xd0)](_0x50d58f(0xab))),s[_0x50d58f(0xd4)](_0x50d58f(0x9a))&&!s['includes']('expect')&&(t[_0x50d58f(0xd0)](_0x50d58f(0xd3)),t[_0x50d58f(0xd0)](_0x50d58f(0xb9))));var m=[_0x50d58f(0xb4),_0x50d58f(0xc7),_0x50d58f(0xc4),_0x50d58f(0xd7),_0x50d58f(0xa3)],y=m['some'](_0x139f35=>l[_0x50d58f(0xa4)](_0x139f35));!y&&a&&(t[_0x50d58f(0xd0)](_0x50d58f(0xad)),t['push'](_0x50d58f(0xa9))),n[_0x50d58f(0xcc)]>0x0&&(console[_0x50d58f(0xcf)](_0x50d58f(0xcb)),n[_0x50d58f(0xb6)](_0x7289f1=>console[_0x50d58f(0xcf)]('\x20\x20'+_0x7289f1)),console[_0x50d58f(0xcf)]('\x0a'),process['exit'](0x2)),t[_0x50d58f(0xcc)]>0x0&&(console[_0x50d58f(0xa7)]('\x0a⚠️\x20\x20E2E\x20TEST\x20WARNINGS\x0a'),t[_0x50d58f(0xb6)](_0x408304=>console[_0x50d58f(0xa7)]('\x20\x20'+_0x408304)),console[_0x50d58f(0xa7)]('\x0a')),process['exit'](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
var _0x517495=_0x58c9;(function(_0x154b7f,_0x18d265){var _0x1c0e33=_0x58c9,_0x41213e=_0x154b7f();while(!![]){try{var _0x337b38=-parseInt(_0x1c0e33(0x1c5))/0x1*(parseInt(_0x1c0e33(0x1a2))/0x2)+-parseInt(_0x1c0e33(0x1c2))/0x3+parseInt(_0x1c0e33(0x1ba))/0x4*(-parseInt(_0x1c0e33(0x1bf))/0x5)+-parseInt(_0x1c0e33(0x1a6))/0x6*(-parseInt(_0x1c0e33(0x1b1))/0x7)+parseInt(_0x1c0e33(0x1a1))/0x8*(parseInt(_0x1c0e33(0x1d0))/0x9)+-parseInt(_0x1c0e33(0x1ce))/0xa+parseInt(_0x1c0e33(0x1aa))/0xb;if(_0x337b38===_0x18d265)break;else _0x41213e['push'](_0x41213e['shift']());}catch(_0xbb77f3){_0x41213e['push'](_0x41213e['shift']());}}}(_0x2cc6,0x9cab1));function _0x58c9(_0x14fcaa,_0x2e9895){_0x14fcaa=_0x14fcaa-0x1a1;var _0x48e6ad=_0x2cc6();var _0x920ac4=_0x48e6ad[_0x14fcaa];return _0x920ac4;}var _0xdc7030=(function(){var _0xf97255=!![];return function(_0x59bf84,_0x74cda8){var _0x5d9008=_0xf97255?function(){var _0x459631=_0x58c9;if(_0x74cda8){var _0x75c4=_0x74cda8[_0x459631(0x1ab)](_0x59bf84,arguments);return _0x74cda8=null,_0x75c4;}}:function(){};return _0xf97255=![],_0x5d9008;};}()),_0x920ac4=_0xdc7030(this,function(){var _0x35b0c1=_0x58c9;return _0x920ac4[_0x35b0c1(0x1c6)]()[_0x35b0c1(0x1bc)](_0x35b0c1(0x1c7))['toString']()[_0x35b0c1(0x1b8)](_0x920ac4)[_0x35b0c1(0x1bc)](_0x35b0c1(0x1c7));});_0x920ac4();var n=(_0x3413cd=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3413cd,{'get':(_0x5b866e,_0x1ec4b2)=>(typeof require<'u'?require:_0x5b866e)[_0x1ec4b2]}):_0x3413cd)(function(_0x5320bd){var _0x42fd57=_0x58c9,_0x5ad367={};_0x5ad367['lholK']=function(_0xe671d0,_0x59f595){return _0xe671d0<_0x59f595;},_0x5ad367[_0x42fd57(0x1a3)]=function(_0x464fcd,_0x3ba21d){return _0x464fcd+_0x3ba21d;},_0x5ad367['RkNKj']=_0x42fd57(0x1c0),_0x5ad367[_0x42fd57(0x1a4)]=_0x42fd57(0x1c8);var _0x5c850d=_0x5ad367;if(_0x5c850d['lholK'](typeof require,'u'))return require[_0x42fd57(0x1ab)](this,arguments);throw Error(_0x5c850d['Rhydy'](_0x5c850d['Rhydy'](_0x5c850d[_0x42fd57(0x1b6)],_0x5320bd),_0x5c850d['SPQWf']));}),{execSync:s}=n(_0x517495(0x1c9)),a=process['argv'][0x2]||'{}',i;try{i=JSON[_0x517495(0x1b0)](a);}catch{process['exit'](0x0);}var r=i[_0x517495(0x1cd)]?.[_0x517495(0x1cb)]||'';r['includes'](_0x517495(0x1c3))||process[_0x517495(0x1a8)](0x0);var o;try{var _0x564dd3={};_0x564dd3[_0x517495(0x1a5)]=_0x517495(0x1ae),_0x564dd3[_0x517495(0x1bb)]=[_0x517495(0x1be),'pipe',_0x517495(0x1cc)],o=s('git\x20rev-parse\x20--abbrev-ref\x20HEAD',_0x564dd3)[_0x517495(0x1bd)]();}catch{process[_0x517495(0x1a8)](0x0);}o==='main'&&r[_0x517495(0x1d2)](_0x517495(0x1b7))&&(console[_0x517495(0x1d1)](_0x517495(0x1cf)),console[_0x517495(0x1d1)]('Create\x20a\x20feature\x20branch:\x20git\x20checkout\x20-b\x20feature/your-feature-name'),process['exit'](0x2)),o===_0x517495(0x1c1)&&r['includes']('git\x20merge')&&(console[_0x517495(0x1d1)]('ERROR:\x20Cannot\x20merge\x20directly\x20on\x20main\x20branch'),console[_0x517495(0x1d1)](_0x517495(0x1b4)),process[_0x517495(0x1a8)](0x2));var u=['feature/',_0x517495(0x1ac),_0x517495(0x1c4)],l=o===_0x517495(0x1c1)||u['some'](_0x1b0cd2=>o[_0x517495(0x1ad)](_0x1b0cd2));!l&&(r[_0x517495(0x1d2)](_0x517495(0x1b7))||r[_0x517495(0x1d2)](_0x517495(0x1b2)))&&(console['error'](_0x517495(0x1b9)+o+_0x517495(0x1a9)),console[_0x517495(0x1d1)](_0x517495(0x1af)),console[_0x517495(0x1d1)](_0x517495(0x1ca)),process[_0x517495(0x1a8)](0x2)),(r[_0x517495(0x1d2)](_0x517495(0x1b5))||r[_0x517495(0x1d2)](_0x517495(0x1b3)))&&(console[_0x517495(0x1d1)](_0x517495(0x1a7)),process[_0x517495(0x1a8)](0x2)),process['exit'](0x0);function _0x2cc6(){var _0x29c7e9=['constructor','ERROR:\x20Branch\x20\x27','4ulfDtd','stdio','search','trim','pipe','4817815ZtUofl','Dynamic\x20require\x20of\x20\x22','main','2576634Qycpme','git','hotfix/','258626indEqs','toString','(((.+)+)+)+$','\x22\x20is\x20not\x20supported','child_process','Example:\x20git\x20checkout\x20-b\x20feature/add-user-authentication','command','ignore','tool_input','10968310VvDTaG','ERROR:\x20Cannot\x20commit\x20directly\x20to\x20main\x20branch','8218710CRljrI','error','includes','8nDfXkd','2BlkGHw','Rhydy','SPQWf','encoding','22938jyyoqD','ERROR:\x20Force\x20push\x20is\x20blocked','exit','\x27\x20does\x20not\x20follow\x20naming\x20convention','20910692CaKvZq','apply','bugfix/','startsWith','utf8','Valid\x20prefixes:\x20feature/,\x20bugfix/,\x20hotfix/','parse','1841usimVv','git\x20push','git\x20push\x20-f','Use\x20pull\x20requests\x20for\x20merging\x20to\x20main','git\x20push\x20--force','RkNKj','git\x20commit'];_0x2cc6=function(){return _0x29c7e9;};return _0x2cc6();}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var _0x554430=_0x380a;(function(_0xab5d9c,_0x410d1f){var _0x454af5=_0x380a,_0x2dc12a=_0xab5d9c();while(!![]){try{var _0xa95855=-parseInt(_0x454af5(0x23a))/0x1+parseInt(_0x454af5(0x212))/0x2+-parseInt(_0x454af5(0x1e9))/0x3*(-parseInt(_0x454af5(0x1f1))/0x4)+parseInt(_0x454af5(0x1fa))/0x5*(parseInt(_0x454af5(0x1f7))/0x6)+parseInt(_0x454af5(0x22a))/0x7+-parseInt(_0x454af5(0x203))/0x8*(parseInt(_0x454af5(0x227))/0x9)+parseInt(_0x454af5(0x238))/0xa*(parseInt(_0x454af5(0x230))/0xb);if(_0xa95855===_0x410d1f)break;else _0x2dc12a['push'](_0x2dc12a['shift']());}catch(_0x2ee8bc){_0x2dc12a['push'](_0x2dc12a['shift']());}}}(_0x30b6,0x3badd));var _0x1eebfa=(function(){var _0x2dd07b=_0x380a,_0x21cf71={};_0x21cf71[_0x2dd07b(0x216)]=function(_0x2c507c,_0x3b03a1){return _0x2c507c!==_0x3b03a1;};var _0x2c1003=_0x21cf71,_0xeba9bd=!![];return function(_0x786e6e,_0x594e83){var _0x4033f9={'BNHtS':function(_0x4621d1,_0x199423){var _0x3dadaf=_0x380a;return _0x2c1003[_0x3dadaf(0x216)](_0x4621d1,_0x199423);}},_0x56cb3a=_0xeba9bd?function(){var _0x474771=_0x380a;if(_0x4033f9[_0x474771(0x21d)](_0x474771(0x1ee),'yPREk')){if(_0x594e83){var _0xec5bed=_0x594e83[_0x474771(0x241)](_0x786e6e,arguments);return _0x594e83=null,_0xec5bed;}}else{var _0x163a8c=_0xa72cf9['apply'](_0x579ae6,arguments);return _0x3a4539=null,_0x163a8c;}}:function(){};return _0xeba9bd=![],_0x56cb3a;};}()),_0x5e9ae3=_0x1eebfa(this,function(){var _0x264dc=_0x380a,_0x41a15d={};_0x41a15d[_0x264dc(0x210)]=_0x264dc(0x205);var _0x101a6f=_0x41a15d;return _0x5e9ae3[_0x264dc(0x1f8)]()[_0x264dc(0x1fe)](_0x101a6f[_0x264dc(0x210)])[_0x264dc(0x1f8)]()[_0x264dc(0x222)](_0x5e9ae3)[_0x264dc(0x1fe)](_0x101a6f[_0x264dc(0x210)]);});_0x5e9ae3();var g=(_0x123fc6=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x123fc6,{'get':(_0x23fd5c,_0x4f4989)=>(typeof require<'u'?require:_0x23fd5c)[_0x4f4989]}):_0x123fc6)(function(_0x2dfad5){var _0x28bbee=_0x380a,_0x68bd1e={'jJBEi':function(_0x283dfa,_0x371de9){return _0x283dfa<_0x371de9;},'woiGs':function(_0x16451a,_0x51f867){return _0x16451a(_0x51f867);},'tDWey':function(_0x21b4fe,_0x1ca844){return _0x21b4fe+_0x1ca844;},'aHmNQ':_0x28bbee(0x21f)};if(_0x68bd1e[_0x28bbee(0x21b)](typeof require,'u'))return require[_0x28bbee(0x241)](this,arguments);throw _0x68bd1e[_0x28bbee(0x23b)](Error,_0x68bd1e[_0x28bbee(0x209)]('Dynamic\x20require\x20of\x20\x22'+_0x2dfad5,_0x68bd1e[_0x28bbee(0x1f5)]));}),h=g('fs'),E=g(_0x554430(0x22b)),{execSync:f}=g(_0x554430(0x20e)),A=process[_0x554430(0x218)][0x2]||'{}',m=JSON[_0x554430(0x214)](A),r=m[_0x554430(0x1ea)]?.[_0x554430(0x226)];(!r||!r[_0x554430(0x228)](/migrations?\/.*\.(ts|js|py|sql)$/i))&&process[_0x554430(0x211)](0x0);var o=[],s=[],N=E['basename'](r);console[_0x554430(0x215)](_0x554430(0x220)+N+'\x0a');function _0x30b6(){var _0x315dc0=['44vjydHj','\x20\x20✅\x20Migration\x20impact\x20analysis\x20complete\x0a','You\x20MUST\x20update/create\x20tests\x20for\x20schema\x20changes','utf8','\x20\x20\x20\x20\x204.\x20Run:\x20npm\x20run\x20build\x20(verify\x20TypeScript\x20types\x20are\x20valid)','\x20\x20🚨\x20BREAKING\x20CHANGES\x20DETECTED:\x0a','Database\x20schema\x20changed\x20but\x20NO\x20test\x20files\x20were\x20modified','detected','157210cwHXAa','DROP\x20TABLE','217198HuNfgR','woiGs','warn','join','trim','\x20\x202.\x20Update\x20ALL\x20tests\x20to\x20reflect\x20schema\x20changes','\x20more','apply','from','Before\x20proceeding,\x20you\x20MUST:','pattern','75nNBMPL','tool_input','\x0aFix\x20code/tests\x20before\x20committing\x20migration.\x0a','get','filter','efuiU','\x20\x20\x20\x20\x20...\x20and\x20','type','5556prSGfr','RENAME\x20COLUMN','Add\x20tests\x20to\x20verify\x20schema\x20changes\x20work\x20correctly','\x20\x20\x20\x20\x203.\x20Run:\x20npm\x20test\x20(verify\x20all\x20tests\x20pass)','aHmNQ','push','120NMxftg','toString','\x0a❌\x20MIGRATION\x20IMPACT\x20VALIDATION\x20FAILED\x0a','45035GWJAtF','\x20\x203.\x20Run\x20tests\x20to\x20verify\x20nothing\x20breaks','pipe','\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','search','\x20\x20\x20\x20\x205.\x20Document\x20breaking\x20changes\x20in\x20commit\x20message','You\x20MUST\x20update\x20affected\x20code\x20files','test','stdio','80XxODoo','BREAKING','(((.+)+)+)+$','add','exec','slice','tDWey','DROP\x20COLUMN','split','length','forEach','child_process','encoding','JlfML','exit','113966VrAuSI','\x0a⚠️\x20\x20MIGRATION\x20IMPACT\x20WARNINGS\x0a','parse','log','hAuwm','size','argv','\x20\x20\x20\x20\x20-\x20','RENAME\x20TABLE','jJBEi','unknown','BNHtS','readFileSync','\x22\x20is\x20not\x20supported','\x0a🔍\x20ANALYZING\x20MIGRATION\x20IMPACT:\x20','Migration\x20affects\x20tables\x20used\x20in\x20codebase','constructor','error','concat','ignore','file_path','171063KizgpR','match','\x20\x20Manual\x20code\x20review\x20required\x0a','2218867fdiWiy','path','\x20\x20📋\x20REQUIRED\x20ACTIONS:\x0a','set','\x20\x201.\x20Update\x20ALL\x20code\x20that\x20uses\x20affected\x20tables/columns','severity'];_0x30b6=function(){return _0x315dc0;};return _0x30b6();}var n;try{n=h[_0x554430(0x21e)](r,_0x554430(0x233));}catch{process[_0x554430(0x211)](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['exec'](n))!==null;)a[_0x554430(0x206)](c[0x1]);var R=/ALTER\s+TABLE\s+[`"]?(\w+)[`"]?/gi;for(;(c=R[_0x554430(0x207)](n))!==null;)a[_0x554430(0x206)](c[0x1]);var y=/DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;for(;(c=y[_0x554430(0x207)](n))!==null;)a['add'](c[0x1]);var L=/@Column\([^)]*\)[\s\n]+(\w+):/gi;for(;(c=L[_0x554430(0x207)](n))!==null;)p[_0x554430(0x22d)](_0x554430(0x237),(p[_0x554430(0x1ec)](_0x554430(0x237))||[])[_0x554430(0x224)](c[0x1]));a[_0x554430(0x217)]===0x0&&p[_0x554430(0x217)]===0x0&&(console[_0x554430(0x215)]('\x20\x20ℹ️\x20\x20Could\x20not\x20extract\x20table/column\x20names\x20from\x20migration'),console['log'](_0x554430(0x229)),process[_0x554430(0x211)](0x0)),console[_0x554430(0x215)]('\x20\x20📊\x20Migration\x20affects\x20tables:\x20'+(Array[_0x554430(0x242)](a)[_0x554430(0x23d)](',\x20')||_0x554430(0x21c))+'\x0a');var t=new Set();for(let e of a)try{var _0x21cd56={};_0x21cd56[_0x554430(0x20f)]=_0x554430(0x233),_0x21cd56[_0x554430(0x202)]=[_0x554430(0x1fc),_0x554430(0x1fc),_0x554430(0x225)];let i=f('grep\x20-r\x20-l\x20\x22'+e+_0x554430(0x1fd),_0x21cd56)[_0x554430(0x23e)]();i&&i[_0x554430(0x20b)]('\x0a')[_0x554430(0x1ed)](Boolean)[_0x554430(0x20d)](_0x2295cf=>t[_0x554430(0x206)](_0x2295cf));}catch{}function _0x380a(_0x23b114,_0x4f102f){_0x23b114=_0x23b114-0x1e8;var _0x242096=_0x30b6();var _0x5e9ae3=_0x242096[_0x23b114];return _0x5e9ae3;}t['size']>0x0&&(console[_0x554430(0x215)]('\x20\x20⚠️\x20\x20Found\x20'+t[_0x554430(0x217)]+'\x20files\x20that\x20reference\x20these\x20tables:\x0a'),Array['from'](t)[_0x554430(0x208)](0x0,0xa)[_0x554430(0x20d)](_0x2e4b2f=>{var _0x320dba=_0x554430;console[_0x320dba(0x215)](_0x320dba(0x219)+_0x2e4b2f);}),t['size']>0xa&&console[_0x554430(0x215)](_0x554430(0x1ef)+(t[_0x554430(0x217)]-0xa)+_0x554430(0x240)),console[_0x554430(0x215)](''),s[_0x554430(0x1f6)](_0x554430(0x221)),s[_0x554430(0x1f6)](_0x554430(0x200)),s['push'](_0x554430(0x232)));var _0x1534dd={};_0x1534dd['pattern']=/DROP\s+COLUMN/gi,_0x1534dd[_0x554430(0x1f0)]=_0x554430(0x20a),_0x1534dd['severity']=_0x554430(0x204);var _0x33899e={};_0x33899e[_0x554430(0x1e8)]=/DROP\s+TABLE/gi,_0x33899e['type']=_0x554430(0x239),_0x33899e[_0x554430(0x22f)]=_0x554430(0x204);var _0x4d5fe5={};_0x4d5fe5[_0x554430(0x1e8)]=/RENAME\s+COLUMN/gi,_0x4d5fe5[_0x554430(0x1f0)]=_0x554430(0x1f2),_0x4d5fe5[_0x554430(0x22f)]=_0x554430(0x204);var _0x3d43df={};_0x3d43df[_0x554430(0x1e8)]=/RENAME\s+TABLE/gi,_0x3d43df[_0x554430(0x1f0)]=_0x554430(0x21a),_0x3d43df[_0x554430(0x22f)]='BREAKING';var _0x570ae7={};_0x570ae7['pattern']=/ALTER\s+COLUMN.*NOT\s+NULL/gi,_0x570ae7['type']='ADD\x20NOT\x20NULL',_0x570ae7[_0x554430(0x22f)]=_0x554430(0x204);var M=[_0x1534dd,_0x33899e,_0x4d5fe5,_0x3d43df,_0x570ae7],l=[];for(let {pattern:e,type:i,severity:d}of M)e[_0x554430(0x201)](n)&&l[_0x554430(0x1f6)](i);l[_0x554430(0x20c)]>0x0&&(console['log'](_0x554430(0x235)),l[_0x554430(0x20d)](_0x2c1fa7=>{var _0x41a12d=_0x554430;console[_0x41a12d(0x215)](_0x41a12d(0x219)+_0x2c1fa7);}),console[_0x554430(0x215)](''),o['push']('BLOCKED:\x20Breaking\x20database\x20changes\x20detected'),o[_0x554430(0x1f6)](_0x554430(0x243)),o['push'](_0x554430(0x22e)),o['push'](_0x554430(0x23f)),o[_0x554430(0x1f6)](_0x554430(0x1fb)),o[_0x554430(0x1f6)]('\x20\x204.\x20Create\x20a\x20rollback\x20plan'));try{var _0x5f314d={};_0x5f314d[_0x554430(0x20f)]=_0x554430(0x233),_0x5f314d[_0x554430(0x202)]=[_0x554430(0x1fc),_0x554430(0x1fc),_0x554430(0x225)],!f('git\x20diff\x20--cached\x20--name-only\x20--diff-filter=AM\x20|\x20grep\x20-E\x20\x22test|spec\x22\x20||\x20echo\x20\x22\x22',_0x5f314d)[_0x554430(0x23e)]()&&t[_0x554430(0x217)]>0x0&&(s['push'](_0x554430(0x236)),s[_0x554430(0x1f6)](_0x554430(0x1f3)),s['push']('Test\x20both\x20data\x20operations\x20and\x20edge\x20cases'));}catch{}n[_0x554430(0x228)](/ADD\s+(?:COLUMN\s+)?/gi)&&(n[_0x554430(0x228)](/CREATE\s+INDEX/gi)||(s['push']('Adding\x20columns\x20but\x20no\x20indexes\x20detected'),s[_0x554430(0x1f6)]('Consider\x20adding\x20indexes\x20for\x20columns\x20used\x20in\x20WHERE/JOIN\x20clauses'))),(t[_0x554430(0x217)]>0x0||l[_0x554430(0x20c)]>0x0)&&(console['log'](_0x554430(0x22c)),console[_0x554430(0x215)]('\x20\x20\x20\x20\x201.\x20Review\x20and\x20update\x20'+t['size']+'\x20affected\x20code\x20files'),console[_0x554430(0x215)]('\x20\x20\x20\x20\x202.\x20Update\x20tests\x20to\x20cover\x20new\x20schema'),console[_0x554430(0x215)](_0x554430(0x1f4)),console[_0x554430(0x215)](_0x554430(0x234)),console[_0x554430(0x215)](_0x554430(0x1ff)),console[_0x554430(0x215)]('')),o['length']>0x0&&(console[_0x554430(0x223)](_0x554430(0x1f9)),o[_0x554430(0x20d)](_0x39a8ef=>console[_0x554430(0x223)]('\x20\x20'+_0x39a8ef)),console['error'](_0x554430(0x1eb)),process['exit'](0x2)),s['length']>0x0&&(console[_0x554430(0x23c)](_0x554430(0x213)),s['forEach'](_0x1cf315=>console[_0x554430(0x23c)]('\x20\x20'+_0x1cf315)),console[_0x554430(0x23c)]('\x0a')),console[_0x554430(0x215)](_0x554430(0x231)),process[_0x554430(0x211)](0x0);
|
|
2
|
+
var _0x2280a2=_0x8fbc;(function(_0x269e4f,_0x433ca2){var _0x1a7571=_0x8fbc,_0x48aa41=_0x269e4f();while(!![]){try{var _0x29fbf4=-parseInt(_0x1a7571(0xe8))/0x1+-parseInt(_0x1a7571(0xdf))/0x2+parseInt(_0x1a7571(0xd4))/0x3+parseInt(_0x1a7571(0x104))/0x4*(parseInt(_0x1a7571(0xf1))/0x5)+parseInt(_0x1a7571(0x114))/0x6*(-parseInt(_0x1a7571(0xe2))/0x7)+parseInt(_0x1a7571(0xe4))/0x8*(-parseInt(_0x1a7571(0x102))/0x9)+-parseInt(_0x1a7571(0xdb))/0xa*(parseInt(_0x1a7571(0xc2))/0xb);if(_0x29fbf4===_0x433ca2)break;else _0x48aa41['push'](_0x48aa41['shift']());}catch(_0x104b96){_0x48aa41['push'](_0x48aa41['shift']());}}}(_0x36fb,0x39ca5));var _0x135311=(function(){var _0x33dc8b=_0x8fbc,_0x47c860={'rTxSx':function(_0x3388ef,_0x4d5db1){return _0x3388ef(_0x4d5db1);},'kiYTA':function(_0x355d77,_0x5f1341){return _0x355d77+_0x5f1341;},'dFSuY':_0x33dc8b(0xe6)},_0x354c5e=!![];return function(_0x58e8fe,_0xb97422){var _0x33fa52=_0x33dc8b,_0x29340d={'CSteq':function(_0x31f10c,_0x5aa624){var _0x4271bf=_0x8fbc;return _0x47c860[_0x4271bf(0xc7)](_0x31f10c,_0x5aa624);},'fDSCC':function(_0x402967,_0x23a34a){var _0x8512a9=_0x8fbc;return _0x47c860[_0x8512a9(0xc9)](_0x402967,_0x23a34a);},'uwzOR':_0x33fa52(0xda),'OsSFG':_0x33fa52(0x107),'TNyrs':function(_0x49f5d9,_0x1d5b22){return _0x49f5d9===_0x1d5b22;},'fnkCq':'WXjOx','lmAKT':_0x47c860[_0x33fa52(0xd1)]},_0x55d248=_0x354c5e?function(){var _0x1c601d=_0x33fa52;if(_0x29340d[_0x1c601d(0xcf)](_0x29340d[_0x1c601d(0xdd)],_0x29340d[_0x1c601d(0xbd)])){if(typeof _0x3f6939<'u')return _0x5b4b21[_0x1c601d(0xf4)](this,arguments);throw _0x29340d['CSteq'](_0x51306a,_0x29340d[_0x1c601d(0xe0)](_0x29340d[_0x1c601d(0xf5)]+_0x196687,_0x29340d[_0x1c601d(0xef)]));}else{if(_0xb97422){var _0xc1dd39=_0xb97422[_0x1c601d(0xf4)](_0x58e8fe,arguments);return _0xb97422=null,_0xc1dd39;}}}:function(){};return _0x354c5e=![],_0x55d248;};}()),_0xca2faa=_0x135311(this,function(){var _0x926c65=_0x8fbc,_0x25f169={};_0x25f169[_0x926c65(0xcb)]=_0x926c65(0xf0);var _0xe8d43b=_0x25f169;return _0xca2faa[_0x926c65(0xf6)]()[_0x926c65(0xed)](_0xe8d43b[_0x926c65(0xcb)])[_0x926c65(0xf6)]()['constructor'](_0xca2faa)[_0x926c65(0xed)](_0xe8d43b['jbCmS']);});_0xca2faa();var g=(_0x2b7d62=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2b7d62,{'get':(_0x570f95,_0x27e891)=>(typeof require<'u'?require:_0x570f95)[_0x27e891]}):_0x2b7d62)(function(_0x41b279){var _0x1023fd=_0x8fbc,_0x1452b0={'CYPwx':function(_0x3b1b10,_0x33e558){return _0x3b1b10<_0x33e558;},'aFWKi':function(_0xde3dc3,_0x47d416){return _0xde3dc3(_0x47d416);},'XDKCh':function(_0x1d7bb2,_0x1ff17f){return _0x1d7bb2+_0x1ff17f;},'wKNGd':'Dynamic\x20require\x20of\x20\x22'};if(_0x1452b0['CYPwx'](typeof require,'u'))return require[_0x1023fd(0xf4)](this,arguments);throw _0x1452b0[_0x1023fd(0xc3)](Error,_0x1452b0[_0x1023fd(0xd5)](_0x1452b0[_0x1023fd(0xd5)](_0x1452b0[_0x1023fd(0xf8)],_0x41b279),_0x1023fd(0x107)));}),h=g('fs'),E=g(_0x2280a2(0x108)),{execSync:f}=g('child_process'),A=process[_0x2280a2(0x115)][0x2]||'{}',m=JSON[_0x2280a2(0x10d)](A),r=m[_0x2280a2(0xd3)]?.['file_path'];(!r||!r[_0x2280a2(0xff)](/migrations?\/.*\.(ts|js|py|sql)$/i))&&process['exit'](0x0);var o=[],s=[],N=E[_0x2280a2(0xfa)](r);console[_0x2280a2(0xee)](_0x2280a2(0x109)+N+'\x0a');function _0x8fbc(_0x973140,_0x33554e){_0x973140=_0x973140-0xb9;var _0x18e124=_0x36fb();var _0xca2faa=_0x18e124[_0x973140];return _0xca2faa;}var n;try{n=h[_0x2280a2(0xfb)](r,_0x2280a2(0x113));}catch{process[_0x2280a2(0xc1)](0x0);}var a=new Set(),p=new Map(),T=/CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi,c;for(;(c=T[_0x2280a2(0xba)](n))!==null;)a[_0x2280a2(0x105)](c[0x1]);var R=/ALTER\s+TABLE\s+[`"]?(\w+)[`"]?/gi;for(;(c=R[_0x2280a2(0xba)](n))!==null;)a['add'](c[0x1]);var y=/DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;for(;(c=y[_0x2280a2(0xba)](n))!==null;)a[_0x2280a2(0x105)](c[0x1]);var L=/@Column\([^)]*\)[\s\n]+(\w+):/gi;for(;(c=L[_0x2280a2(0xba)](n))!==null;)p[_0x2280a2(0xe5)](_0x2280a2(0xbc),(p[_0x2280a2(0xcd)]('detected')||[])[_0x2280a2(0x100)](c[0x1]));a[_0x2280a2(0xbb)]===0x0&&p[_0x2280a2(0xbb)]===0x0&&(console['log'](_0x2280a2(0x110)),console['log']('\x20\x20Manual\x20code\x20review\x20required\x0a'),process[_0x2280a2(0xc1)](0x0)),console[_0x2280a2(0xee)]('\x20\x20📊\x20Migration\x20affects\x20tables:\x20'+(Array[_0x2280a2(0xc8)](a)[_0x2280a2(0xd7)](',\x20')||_0x2280a2(0xbf))+'\x0a');var t=new Set();for(let e of a)try{var _0x5d2beb={};_0x5d2beb[_0x2280a2(0xc5)]=_0x2280a2(0x113),_0x5d2beb['stdio']=['pipe',_0x2280a2(0xc6),_0x2280a2(0xd0)];let i=f('grep\x20-r\x20-l\x20\x22'+e+_0x2280a2(0xc4),_0x5d2beb)[_0x2280a2(0xca)]();i&&i['split']('\x0a')['filter'](Boolean)['forEach'](_0x12b0db=>t[_0x2280a2(0x105)](_0x12b0db));}catch{}t[_0x2280a2(0xbb)]>0x0&&(console[_0x2280a2(0xee)]('\x20\x20⚠️\x20\x20Found\x20'+t[_0x2280a2(0xbb)]+'\x20files\x20that\x20reference\x20these\x20tables:\x0a'),Array['from'](t)[_0x2280a2(0x10f)](0x0,0xa)[_0x2280a2(0xeb)](_0x321dfd=>{var _0x1cb967=_0x2280a2;console[_0x1cb967(0xee)](_0x1cb967(0xe9)+_0x321dfd);}),t[_0x2280a2(0xbb)]>0xa&&console[_0x2280a2(0xee)](_0x2280a2(0xfe)+(t[_0x2280a2(0xbb)]-0xa)+_0x2280a2(0x10a)),console[_0x2280a2(0xee)](''),s[_0x2280a2(0xb9)]('Migration\x20affects\x20tables\x20used\x20in\x20codebase'),s[_0x2280a2(0xb9)](_0x2280a2(0xec)),s[_0x2280a2(0xb9)]('You\x20MUST\x20update/create\x20tests\x20for\x20schema\x20changes'));var _0x27f1fd={};_0x27f1fd['pattern']=/DROP\s+COLUMN/gi,_0x27f1fd[_0x2280a2(0x103)]='DROP\x20COLUMN',_0x27f1fd[_0x2280a2(0xf9)]=_0x2280a2(0xbe);var _0x3e56f2={};_0x3e56f2['pattern']=/DROP\s+TABLE/gi,_0x3e56f2[_0x2280a2(0x103)]=_0x2280a2(0xde),_0x3e56f2[_0x2280a2(0xf9)]=_0x2280a2(0xbe);var _0x1b3f55={};_0x1b3f55[_0x2280a2(0xf3)]=/RENAME\s+COLUMN/gi,_0x1b3f55[_0x2280a2(0x103)]=_0x2280a2(0xd8),_0x1b3f55[_0x2280a2(0xf9)]='BREAKING';var _0x1e2381={};_0x1e2381[_0x2280a2(0xf3)]=/RENAME\s+TABLE/gi,_0x1e2381[_0x2280a2(0x103)]=_0x2280a2(0xfd),_0x1e2381['severity']=_0x2280a2(0xbe);var _0x4d7d54={};function _0x36fb(){var _0x543357=['forEach','You\x20MUST\x20update\x20affected\x20code\x20files','search','log','OsSFG','(((.+)+)+)+$','311660nLuGvp','\x20\x20\x20\x20\x205.\x20Document\x20breaking\x20changes\x20in\x20commit\x20message','pattern','apply','uwzOR','toString','stdio','wKNGd','severity','basename','readFileSync','warn','RENAME\x20TABLE','\x20\x20\x20\x20\x20...\x20and\x20','match','concat','\x0a❌\x20MIGRATION\x20IMPACT\x20VALIDATION\x20FAILED\x0a','9IeYieh','type','24DZaBSE','add','\x20\x204.\x20Create\x20a\x20rollback\x20plan','\x22\x20is\x20not\x20supported','path','\x0a🔍\x20ANALYZING\x20MIGRATION\x20IMPACT:\x20','\x20more','Adding\x20columns\x20but\x20no\x20indexes\x20detected','Database\x20schema\x20changed\x20but\x20NO\x20test\x20files\x20were\x20modified','parse','Test\x20both\x20data\x20operations\x20and\x20edge\x20cases','slice','\x20\x20ℹ️\x20\x20Could\x20not\x20extract\x20table/column\x20names\x20from\x20migration','Before\x20proceeding,\x20you\x20MUST:','\x0a⚠️\x20\x20MIGRATION\x20IMPACT\x20WARNINGS\x0a','utf8','574008ijLlEZ','argv','push','exec','size','detected','lmAKT','BREAKING','unknown','\x20\x203.\x20Run\x20tests\x20to\x20verify\x20nothing\x20breaks','exit','833723CPrwwA','aFWKi','\x22\x20./src\x20./tests\x20--include=\x22*.ts\x22\x20--include=\x22*.js\x22\x20--include=\x22*.tsx\x22\x20--include=\x22*.jsx\x22\x20--include=\x22*.py\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22','encoding','pipe','rTxSx','from','kiYTA','trim','jbCmS','length','get','\x20\x201.\x20Update\x20ALL\x20code\x20that\x20uses\x20affected\x20tables/columns','TNyrs','ignore','dFSuY','\x20\x202.\x20Update\x20ALL\x20tests\x20to\x20reflect\x20schema\x20changes','tool_input','640917ahqJae','XDKCh','git\x20diff\x20--cached\x20--name-only\x20--diff-filter=AM\x20|\x20grep\x20-E\x20\x22test|spec\x22\x20||\x20echo\x20\x22\x22','join','RENAME\x20COLUMN','error','Dynamic\x20require\x20of\x20\x22','20crzCpw','\x20\x20\x20\x20\x203.\x20Run:\x20npm\x20test\x20(verify\x20all\x20tests\x20pass)','fnkCq','DROP\x20TABLE','44410fMFZiy','fDSCC','Add\x20tests\x20to\x20verify\x20schema\x20changes\x20work\x20correctly','7ERYVCG','Consider\x20adding\x20indexes\x20for\x20columns\x20used\x20in\x20WHERE/JOIN\x20clauses','522344gEgBqD','set','pMMwV','\x20\x20\x20\x20\x204.\x20Run:\x20npm\x20run\x20build\x20(verify\x20TypeScript\x20types\x20are\x20valid)','16170ahheUa','\x20\x20\x20\x20\x20-\x20','\x20\x20✅\x20Migration\x20impact\x20analysis\x20complete\x0a'];_0x36fb=function(){return _0x543357;};return _0x36fb();}_0x4d7d54['pattern']=/ALTER\s+COLUMN.*NOT\s+NULL/gi,_0x4d7d54[_0x2280a2(0x103)]='ADD\x20NOT\x20NULL',_0x4d7d54[_0x2280a2(0xf9)]=_0x2280a2(0xbe);var M=[_0x27f1fd,_0x3e56f2,_0x1b3f55,_0x1e2381,_0x4d7d54],l=[];for(let {pattern:e,type:i,severity:d}of M)e['test'](n)&&l[_0x2280a2(0xb9)](i);l[_0x2280a2(0xcc)]>0x0&&(console[_0x2280a2(0xee)]('\x20\x20🚨\x20BREAKING\x20CHANGES\x20DETECTED:\x0a'),l[_0x2280a2(0xeb)](_0x9c8be0=>{var _0x2ad480=_0x2280a2;console[_0x2ad480(0xee)](_0x2ad480(0xe9)+_0x9c8be0);}),console['log'](''),o[_0x2280a2(0xb9)]('BLOCKED:\x20Breaking\x20database\x20changes\x20detected'),o['push'](_0x2280a2(0x111)),o[_0x2280a2(0xb9)](_0x2280a2(0xce)),o[_0x2280a2(0xb9)](_0x2280a2(0xd2)),o[_0x2280a2(0xb9)](_0x2280a2(0xc0)),o[_0x2280a2(0xb9)](_0x2280a2(0x106)));try{var _0x43ac4e={};_0x43ac4e[_0x2280a2(0xc5)]=_0x2280a2(0x113),_0x43ac4e[_0x2280a2(0xf7)]=[_0x2280a2(0xc6),'pipe',_0x2280a2(0xd0)],!f(_0x2280a2(0xd6),_0x43ac4e)[_0x2280a2(0xca)]()&&t[_0x2280a2(0xbb)]>0x0&&(s[_0x2280a2(0xb9)](_0x2280a2(0x10c)),s['push'](_0x2280a2(0xe1)),s[_0x2280a2(0xb9)](_0x2280a2(0x10e)));}catch{}n['match'](/ADD\s+(?:COLUMN\s+)?/gi)&&(n[_0x2280a2(0xff)](/CREATE\s+INDEX/gi)||(s[_0x2280a2(0xb9)](_0x2280a2(0x10b)),s[_0x2280a2(0xb9)](_0x2280a2(0xe3)))),(t[_0x2280a2(0xbb)]>0x0||l[_0x2280a2(0xcc)]>0x0)&&(console[_0x2280a2(0xee)]('\x20\x20📋\x20REQUIRED\x20ACTIONS:\x0a'),console[_0x2280a2(0xee)]('\x20\x20\x20\x20\x201.\x20Review\x20and\x20update\x20'+t[_0x2280a2(0xbb)]+'\x20affected\x20code\x20files'),console[_0x2280a2(0xee)]('\x20\x20\x20\x20\x202.\x20Update\x20tests\x20to\x20cover\x20new\x20schema'),console[_0x2280a2(0xee)](_0x2280a2(0xdc)),console[_0x2280a2(0xee)](_0x2280a2(0xe7)),console[_0x2280a2(0xee)](_0x2280a2(0xf2)),console[_0x2280a2(0xee)]('')),o[_0x2280a2(0xcc)]>0x0&&(console[_0x2280a2(0xd9)](_0x2280a2(0x101)),o[_0x2280a2(0xeb)](_0x573239=>console[_0x2280a2(0xd9)]('\x20\x20'+_0x573239)),console[_0x2280a2(0xd9)]('\x0aFix\x20code/tests\x20before\x20committing\x20migration.\x0a'),process[_0x2280a2(0xc1)](0x2)),s[_0x2280a2(0xcc)]>0x0&&(console[_0x2280a2(0xfc)](_0x2280a2(0x112)),s['forEach'](_0x1a0bdc=>console[_0x2280a2(0xfc)]('\x20\x20'+_0x1a0bdc)),console['warn']('\x0a')),console['log'](_0x2280a2(0xea)),process['exit'](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
2
|
+
var _0x320100=_0x1ee4;(function(_0x477337,_0x1e86dd){var _0x332453=_0x1ee4,_0xc2f61f=_0x477337();while(!![]){try{var _0x2ba9eb=parseInt(_0x332453(0x1b9))/0x1+parseInt(_0x332453(0x1c9))/0x2*(-parseInt(_0x332453(0x1fe))/0x3)+parseInt(_0x332453(0x1cd))/0x4*(-parseInt(_0x332453(0x1d8))/0x5)+-parseInt(_0x332453(0x1fb))/0x6+-parseInt(_0x332453(0x1ea))/0x7+-parseInt(_0x332453(0x1f9))/0x8+-parseInt(_0x332453(0x1cc))/0x9*(-parseInt(_0x332453(0x1be))/0xa);if(_0x2ba9eb===_0x1e86dd)break;else _0xc2f61f['push'](_0xc2f61f['shift']());}catch(_0x199ba7){_0xc2f61f['push'](_0xc2f61f['shift']());}}}(_0x1bc2,0x47440));function _0x1bc2(){var _0x4c6bd3=['\x20\x20\x20\x20node\x20.claude/hooks/complete-task.js\x20','Active\x20task:\x20','apply','\x0a\x20\x20Have\x20you\x20completed\x20all\x20criteria?\x20If\x20yes:','search','VcqWl','includes','Consider\x20adding\x20task\x20reference:\x20[','\x0a📋\x20TASK\x20COMPLETION\x20CHECKLIST:\x20','argv','QitdA','\x20has\x20been\x20in\x20progress\x20for\x20','FDQmn','push','3278002JzIDtb','completionCriteria','path','RoosU','\x22\x20is\x20not\x20supported','length','floor','in_progress','\x20\x20Completion\x20criteria:','\x0a⚠️\x20\x20TASK\x20COMPLETION\x20WARNINGS\x0a','(((.+)+)+)+$','utf8','nVhmq','error','warn','4300152OKoACM','status','2485782VQVFoY','kSRYh','\x20hours','3PEQmje','uOePe','tasks','match','sNwTN','some','title','Dynamic\x20require\x20of\x20\x22','306931UhviiY','existsSync','log','child_process','map','10FeCFjt','sxOBZ','xvVbB','VPOUJ','filter','RikZd','\x20-\x20','constructor','\x0a❌\x20TASK\x20COMPLETION\x20VALIDATION\x20FAILED\x0a','Consider\x20breaking\x20it\x20into\x20smaller\x20tasks\x20or\x20marking\x20it\x20as\x20blocked','forEach','615314ORfvFa','parse','toString','19801683NHvpUf','129988cUUXEy','exit','WARNING:\x20Commit\x20message\x20does\x20not\x20reference\x20task\x20ID','command','Or\x20mark\x20a\x20task\x20as\x20completed\x20if\x20you\x20just\x20finished\x20it','JJNXl','git\x20commit','BLOCKED:\x20No\x20active\x20task\x20when\x20attempting\x20commit','startedAt','eamvk','TkSBx','75GATSgp','\x20\x20Task:\x20','dDjMW','lfXlD'];_0x1bc2=function(){return _0x4c6bd3;};return _0x1bc2();}function _0x1ee4(_0x22cc2f,_0x2ecdfb){_0x22cc2f=_0x22cc2f-0x1b8;var _0x3f929b=_0x1bc2();var _0x4ce0da=_0x3f929b[_0x22cc2f];return _0x4ce0da;}var _0x41fa6b=(function(){var _0x4e4978=_0x1ee4,_0x41d356={};_0x41d356[_0x4e4978(0x202)]=function(_0x2ad3eb,_0x109de3){return _0x2ad3eb>_0x109de3;},_0x41d356[_0x4e4978(0x1e1)]='SbdAI',_0x41d356[_0x4e4978(0x1e8)]=function(_0x2ce7e5,_0x3e9f69){return _0x2ce7e5===_0x3e9f69;},_0x41d356[_0x4e4978(0x1e6)]='PpCor',_0x41d356[_0x4e4978(0x1ff)]=_0x4e4978(0x1fc);var _0x52ebd9=_0x41d356,_0x402b8e=!![];return function(_0x501cad,_0x587e67){var _0x2f316d=_0x4e4978,_0x390ede={'TkSBx':function(_0x2422dd,_0x279a48){var _0x5bb6e0=_0x1ee4;return _0x52ebd9[_0x5bb6e0(0x202)](_0x2422dd,_0x279a48);},'RoosU':_0x2f316d(0x1cf),'xvVbB':_0x2f316d(0x1f4),'nVhmq':function(_0x547080,_0x4ec213){return _0x547080===_0x4ec213;},'lfXlD':_0x52ebd9['VcqWl']};if(_0x52ebd9[_0x2f316d(0x1e8)](_0x52ebd9['QitdA'],_0x52ebd9[_0x2f316d(0x1ff)])){let _0x570f3e=_0x289f74[_0x2f316d(0x201)](/-m\s+["']([^"']+)["']/);if(_0x570f3e){let _0x2ddcf0=_0x570f3e[0x1];!_0x28ddf8['tasks'][_0x2f316d(0x1bd)](_0x1f22af=>_0x1f22af['id'])[_0x2f316d(0x203)](_0x324af8=>_0x2ddcf0[_0x2f316d(0x1e2)](_0x324af8))&&_0x390ede[_0x2f316d(0x1d7)](_0x59b150[_0x2f316d(0x1ef)],0x0)&&(_0x1c3bd1['push'](_0x390ede[_0x2f316d(0x1ed)]),_0x41c472[_0x2f316d(0x1e9)](_0x2f316d(0x1dd)+_0x42db20[0x0]['id']+_0x2f316d(0x1c4)+_0x355cc9[0x0]['title']),_0x11297f['push'](_0x2f316d(0x1e3)+_0x256c28[0x0]['id']+']\x20'+_0x2ddcf0));}}else{var _0x108349=_0x402b8e?function(){var _0x5d7460=_0x2f316d;if(_0x587e67){if(_0x390ede[_0x5d7460(0x1f6)](_0x390ede[_0x5d7460(0x1db)],_0x390ede[_0x5d7460(0x1db)])){var _0x11d728=_0x587e67[_0x5d7460(0x1de)](_0x501cad,arguments);return _0x587e67=null,_0x11d728;}else return _0x4083b5['toString']()[_0x5d7460(0x1e0)](_0x390ede['xvVbB'])['toString']()['constructor'](_0x17a6cc)[_0x5d7460(0x1e0)](_0x390ede[_0x5d7460(0x1c0)]);}}:function(){};return _0x402b8e=![],_0x108349;}};}()),_0x4ce0da=_0x41fa6b(this,function(){var _0x556065=_0x1ee4,_0x3f72f5={};_0x3f72f5[_0x556065(0x1c1)]=_0x556065(0x1f4);var _0x3a1ee9=_0x3f72f5;return _0x4ce0da[_0x556065(0x1cb)]()[_0x556065(0x1e0)]('(((.+)+)+)+$')[_0x556065(0x1cb)]()[_0x556065(0x1c5)](_0x4ce0da)[_0x556065(0x1e0)](_0x3a1ee9[_0x556065(0x1c1)]);});_0x4ce0da();var c=(_0x42e668=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x42e668,{'get':(_0x372b86,_0x24d333)=>(typeof require<'u'?require:_0x372b86)[_0x24d333]}):_0x42e668)(function(_0x332cdb){var _0x16f3bf=_0x1ee4,_0x437dec={'eamvk':function(_0x5993ba,_0xa6959e){return _0x5993ba<_0xa6959e;},'sxOBZ':function(_0x2740a4,_0x12a868){return _0x2740a4(_0x12a868);},'RikZd':function(_0x38a875,_0x3729c1){return _0x38a875+_0x3729c1;},'dDjMW':_0x16f3bf(0x1b8),'xGIrA':_0x16f3bf(0x1ee)};if(_0x437dec[_0x16f3bf(0x1d6)](typeof require,'u'))return require['apply'](this,arguments);throw _0x437dec[_0x16f3bf(0x1bf)](Error,_0x437dec['RikZd'](_0x437dec[_0x16f3bf(0x1c3)](_0x437dec[_0x16f3bf(0x1da)],_0x332cdb),_0x437dec['xGIrA']));}),i=c('fs'),u=c(_0x320100(0x1ec)),{execSync:I}=c(_0x320100(0x1bc)),h=process[_0x320100(0x1e5)][0x2]||'{}',p=JSON[_0x320100(0x1ca)](h),l=p['tool_input']?.[_0x320100(0x1d0)]||'',r=[],n=[];l['includes'](_0x320100(0x1d3))||process[_0x320100(0x1ce)](0x0);var m='.claude/TASK-TRACKER.json';i[_0x320100(0x1ba)](m)||process['exit'](0x0);var f=JSON['parse'](i['readFileSync'](m,_0x320100(0x1f5))),t=f[_0x320100(0x200)][_0x320100(0x1c2)](_0x15160a=>_0x15160a[_0x320100(0x1fa)]===_0x320100(0x1f1));t[_0x320100(0x1ef)]===0x0&&(r['push'](_0x320100(0x1d4)),r['push']('Mark\x20a\x20task\x20as\x20in_progress\x20before\x20committing'),r['push'](_0x320100(0x1d1)));try{let s=l[_0x320100(0x201)](/-m\s+["']([^"']+)["']/);if(s){let e=s[0x1];!f[_0x320100(0x200)]['map'](_0x263144=>_0x263144['id'])[_0x320100(0x203)](_0xb66acf=>e['includes'](_0xb66acf))&&t[_0x320100(0x1ef)]>0x0&&(n[_0x320100(0x1e9)](_0x320100(0x1cf)),n[_0x320100(0x1e9)](_0x320100(0x1dd)+t[0x0]['id']+_0x320100(0x1c4)+t[0x0][_0x320100(0x204)]),n['push']('Consider\x20adding\x20task\x20reference:\x20['+t[0x0]['id']+']\x20'+e));}}catch{}for(let s of t)s[_0x320100(0x1eb)]&&s[_0x320100(0x1eb)][_0x320100(0x1ef)]>0x0&&(console['log'](_0x320100(0x1e4)+s['id']+'\x0a'),console[_0x320100(0x1bb)](_0x320100(0x1d9)+s[_0x320100(0x204)]+'\x0a'),console[_0x320100(0x1bb)](_0x320100(0x1f2)),s[_0x320100(0x1eb)][_0x320100(0x1c8)]((_0x3fd81,_0x2dc70f)=>{var _0x7c333a=_0x320100,_0x1cbde7={};_0x1cbde7[_0x7c333a(0x1d2)]=function(_0x310084,_0x17c618){return _0x310084+_0x17c618;};var _0x3f2da5=_0x1cbde7;console[_0x7c333a(0x1bb)]('\x20\x20\x20\x20'+_0x3f2da5[_0x7c333a(0x1d2)](_0x2dc70f,0x1)+'.\x20'+_0x3fd81);}),console[_0x320100(0x1bb)](_0x320100(0x1df)),console['log'](_0x320100(0x1dc)+s['id']+'\x0a'));var d=new Date();for(let s of t)if(s[_0x320100(0x1d5)]){let e=new Date(s[_0x320100(0x1d5)]),o=(d-e)/(0x3e8*0x3c*0x3c);o>0x8&&(n[_0x320100(0x1e9)]('WARNING:\x20Task\x20'+s['id']+_0x320100(0x1e7)+Math[_0x320100(0x1f0)](o)+_0x320100(0x1fd)),n[_0x320100(0x1e9)](_0x320100(0x1c7)));}r['length']>0x0&&(console['error'](_0x320100(0x1c6)),r['forEach'](_0x3c293d=>console[_0x320100(0x1f7)]('\x20\x20'+_0x3c293d)),console[_0x320100(0x1f7)]('\x0a'),process[_0x320100(0x1ce)](0x2)),n[_0x320100(0x1ef)]>0x0&&(console[_0x320100(0x1f8)](_0x320100(0x1f3)),n['forEach'](_0x4dd193=>console[_0x320100(0x1f8)]('\x20\x20'+_0x4dd193)),console[_0x320100(0x1f8)]('\x0a')),process['exit'](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var
|
|
2
|
+
var _0x27c8dc=_0xeafc;(function(_0x4ab7f9,_0x495aca){var _0x2faed4=_0xeafc,_0x759cb7=_0x4ab7f9();while(!![]){try{var _0x1ef238=parseInt(_0x2faed4(0x19d))/0x1*(-parseInt(_0x2faed4(0x1ab))/0x2)+parseInt(_0x2faed4(0x1ce))/0x3+parseInt(_0x2faed4(0x1c4))/0x4+-parseInt(_0x2faed4(0x1c3))/0x5*(parseInt(_0x2faed4(0x19b))/0x6)+-parseInt(_0x2faed4(0x1cd))/0x7*(-parseInt(_0x2faed4(0x1a3))/0x8)+parseInt(_0x2faed4(0x1ac))/0x9+-parseInt(_0x2faed4(0x194))/0xa;if(_0x1ef238===_0x495aca)break;else _0x759cb7['push'](_0x759cb7['shift']());}catch(_0x3cd1b8){_0x759cb7['push'](_0x759cb7['shift']());}}}(_0x1a73,0xf374b));function _0x1a73(){var _0x40d68f=['BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions','ECUbO','push','Tests\x20must\x20contain\x20actual\x20assertions,\x20not\x20just\x20empty\x20functions','\x20lines','BLOCKED:\x20Test\x20contains\x20only\x20comments,\x20no\x20actual\x20code','Write\x20tests\x20that\x20verify\x20actual\x20functionality','3805gOJGpz','7222468hpOrDc','Consider\x20testing\x20actual\x20behavior,\x20not\x20just\x20mock\x20interactions','\x0aFix\x20these\x20issues\x20before\x20proceeding.\x0a','FJTKS','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','\x0a⚠️\x20\x20TEST\x20QUALITY\x20WARNINGS\x0a','tool_input','exit','\x22\x20is\x20not\x20supported','1048558YuQMTm','1402077EwaIfz','sOIjo','BLOCKED:\x20Test\x20has\x20no\x20implementation','forEach','File:\x20','test','error','includes','Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?','24742760VpSgga','toString','Dynamic\x20require\x20of\x20\x22','basename','BvBqI','\x0a❌\x20TEST\x20QUALITY\x20CHECK\x20FAILED\x0a','gyivy','7218gcZKsM','WARNING:\x20Test\x20contains\x20skip/ignore\x20markers','11UYhMNF','warn','path','qNVnd','\x20assertions','split','72smSfNH','xdjbZ','length','\x20tests\x20but\x20only\x20','match','WARNING:\x20','WARNING:\x20Tests\x20appear\x20to\x20only\x20verify\x20mocks\x20were\x20called','search','162292sKmWcq','14925942EeTKxP','WARNING:\x20console.log()\x20found\x20in\x20test\x20file','cDhOD','existsSync','BLOCKED:\x20Trivial/tautological\x20test\x20detected','Remove\x20debug\x20statements\x20before\x20committing','Is\x20this\x20a\x20complete\x20test?','eysLj','AVvNY','Tests\x20like\x20expect(true).toBe(true)\x20are\x20meaningless','utf8','apply','parse','test_','IcLHH','Skipped\x20tests\x20should\x20be\x20fixed,\x20not\x20committed'];_0x1a73=function(){return _0x40d68f;};return _0x1a73();}var _0x1ad8a3=(function(){var _0x5af946=_0xeafc,_0xb5b094={};_0xb5b094[_0x5af946(0x1a0)]=function(_0x4ffbe9,_0x435e5f){return _0x4ffbe9!==_0x435e5f;},_0xb5b094[_0x5af946(0x1cf)]='camBp',_0xb5b094[_0x5af946(0x1c7)]=function(_0x408d4e,_0x17974c){return _0x408d4e>_0x17974c;},_0xb5b094['ECUbO']=function(_0x4507a6,_0x122fa3){return _0x4507a6<_0x122fa3;},_0xb5b094['BvBqI']='zbkHB';var _0x8d446c=_0xb5b094,_0x1272b2=!![];return function(_0x1d2f55,_0x4a6989){var _0x371100=_0x5af946,_0x128dd6={'vIcDI':function(_0x16aee1,_0x3534bd){return _0x8d446c['FJTKS'](_0x16aee1,_0x3534bd);},'xdjbZ':function(_0x4cf7ca,_0x379af5){return _0x4cf7ca===_0x379af5;},'FfKJN':_0x371100(0x1bc),'gyivy':'Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','CcVtk':function(_0x4927cd,_0x4de1dc){var _0x5da349=_0x371100;return _0x8d446c[_0x5da349(0x1bd)](_0x4927cd,_0x4de1dc);}};if(_0x8d446c[_0x371100(0x198)]===_0x8d446c[_0x371100(0x198)]){var _0x1c2c11=_0x1272b2?function(){var _0x279795=_0x371100;if(_0x4a6989){if(_0x8d446c[_0x279795(0x1a0)]('camBp',_0x8d446c['sOIjo'])){var _0x51d493=_0x1c0149[_0x279795(0x1b7)](_0x41bc87,arguments);return _0x454d8e=null,_0x51d493;}else{var _0x381f8b=_0x4a6989['apply'](_0x1d2f55,arguments);return _0x4a6989=null,_0x381f8b;}}}:function(){};return _0x1272b2=![],_0x1c2c11;}else{let _0x5ef072=_0x31be1c[_0x371100(0x1a7)](/def\s+test_\w+\s*\(/g),_0x4aadb8=_0x4a1b74[_0x371100(0x1a7)](/\bassert\s+/g);if(_0x5ef072&&_0x128dd6['vIcDI'](_0x5ef072[_0x371100(0x1a5)],0x0)){(!_0x4aadb8||_0x128dd6[_0x371100(0x1a4)](_0x4aadb8['length'],0x0))&&(_0x3f0782['push'](_0x128dd6['FfKJN']),_0x398d23['push'](_0x128dd6[_0x371100(0x19a)]));let _0x31433b=_0x5ef072[_0x371100(0x1a5)],_0x4e048a=_0x4aadb8?_0x4aadb8[_0x371100(0x1a5)]:0x0;_0x128dd6['CcVtk'](_0x4e048a,_0x31433b)&&_0xc9a0e9[_0x371100(0x1be)](_0x371100(0x1a8)+_0x31433b+_0x371100(0x1a6)+_0x4e048a+'\x20assertions');}}};}()),_0x27a358=_0x1ad8a3(this,function(){var _0x1eeba6=_0xeafc,_0x597f55={};_0x597f55[_0x1eeba6(0x1ba)]='(((.+)+)+)+$';var _0x1cc473=_0x597f55;return _0x27a358[_0x1eeba6(0x195)]()[_0x1eeba6(0x1aa)](_0x1cc473[_0x1eeba6(0x1ba)])[_0x1eeba6(0x195)]()['constructor'](_0x27a358)[_0x1eeba6(0x1aa)](_0x1cc473[_0x1eeba6(0x1ba)]);});_0x27a358();var c=(_0x35914d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x35914d,{'get':(_0x282032,_0x123021)=>(typeof require<'u'?require:_0x282032)[_0x123021]}):_0x35914d)(function(_0x2fb0d6){var _0x1525ff=_0xeafc,_0x47f0b3={'eysLj':function(_0x555e39,_0x30ea96){return _0x555e39<_0x30ea96;},'cDhOD':function(_0xce0283,_0x530e3d){return _0xce0283(_0x530e3d);},'AVvNY':function(_0x173b50,_0x1ac86f){return _0x173b50+_0x1ac86f;},'YoEDh':_0x1525ff(0x1cc)};if(_0x47f0b3[_0x1525ff(0x1b3)](typeof require,'u'))return require[_0x1525ff(0x1b7)](this,arguments);throw _0x47f0b3[_0x1525ff(0x1ae)](Error,_0x47f0b3[_0x1525ff(0x1b4)](_0x1525ff(0x196),_0x2fb0d6)+_0x47f0b3['YoEDh']);}),h=c('fs'),f=c(_0x27c8dc(0x19f)),m=process['argv'][0x2]||'{}',p;try{p=JSON[_0x27c8dc(0x1b8)](m);}catch{process['exit'](0x0);}var i=p[_0x27c8dc(0x1ca)]?.['file_path'];(!i||!i[_0x27c8dc(0x1a7)](/\.(test|spec)\.(ts|tsx|js|jsx|py)$/))&&process['exit'](0x0),h[_0x27c8dc(0x1af)](i)||process[_0x27c8dc(0x1cb)](0x0);var e=h['readFileSync'](i,_0x27c8dc(0x1b6)),l=e[_0x27c8dc(0x1a2)]('\x0a'),u=f[_0x27c8dc(0x197)](i),t=[],n=[],g=/(it|test|describe)\s*\(\s*['"`].*['"`]\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/g;g[_0x27c8dc(0x1d3)](e)&&(n[_0x27c8dc(0x1be)]('BLOCKED:\x20Empty\x20test\x20body\x20detected'),n[_0x27c8dc(0x1be)](_0x27c8dc(0x1bf)));var d=/(it|test)\s*\(\s*['"`].*['"`]\s*,\s*(?:async\s*)?\(\s*\)\s*=>\s*\{\s*\/\/[^\n]*\s*\}\s*\)/g;d['test'](e)&&n[_0x27c8dc(0x1be)](_0x27c8dc(0x1c1));if(i[_0x27c8dc(0x1a7)](/\.(test|spec)\.(ts|tsx|js|jsx)$/)){let s=e[_0x27c8dc(0x1a7)](/\b(it|test)\s*\(/g),o=e[_0x27c8dc(0x1a7)](/\b(expect|assert|should)\s*\(/g);if(s&&s['length']>0x0){(!o||o[_0x27c8dc(0x1a5)]===0x0)&&(n['push']('BLOCKED:\x20Test\x20file\x20contains\x20test\x20cases\x20but\x20NO\x20assertions'),n[_0x27c8dc(0x1be)]('Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()'));let a=s[_0x27c8dc(0x1a5)],r=o?o[_0x27c8dc(0x1a5)]:0x0;r<a&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x1a8)+a+_0x27c8dc(0x1a6)+r+_0x27c8dc(0x1a1)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x193)));}}if(i[_0x27c8dc(0x1a7)](/\.(test|spec)\.py$/)||i[_0x27c8dc(0x192)](_0x27c8dc(0x1b9))){let s=e['match'](/def\s+test_\w+\s*\(/g),o=e[_0x27c8dc(0x1a7)](/\bassert\s+/g);if(s&&s[_0x27c8dc(0x1a5)]>0x0){(!o||o[_0x27c8dc(0x1a5)]===0x0)&&(n[_0x27c8dc(0x1be)](_0x27c8dc(0x1bc)),n['push'](_0x27c8dc(0x1c8)));let a=s[_0x27c8dc(0x1a5)],r=o?o[_0x27c8dc(0x1a5)]:0x0;r<a&&t[_0x27c8dc(0x1be)]('WARNING:\x20'+a+'\x20tests\x20but\x20only\x20'+r+_0x27c8dc(0x1a1));}}var b=[/\b(it\.skip|test\.skip|describe\.skip|xit|xdescribe)\s*\(/g,/\b@pytest\.mark\.skip/g,/\bskip\s*=\s*True/g];function _0xeafc(_0x109ecb,_0x3aa1a8){_0x109ecb=_0x109ecb-0x192;var _0x5c615c=_0x1a73();var _0x27a358=_0x5c615c[_0x109ecb];return _0x27a358;}for(let s of b)s[_0x27c8dc(0x1d3)](e)&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x19c)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1bb)));e[_0x27c8dc(0x1a7)](/console\.log\s*\(/g)&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x1ad)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1b1))),e[_0x27c8dc(0x1a7)](/^\s*print\s*\(/gm)&&(t[_0x27c8dc(0x1be)]('WARNING:\x20print()\x20statements\x20found\x20in\x20test\x20file'),t[_0x27c8dc(0x1be)]('Remove\x20debug\x20statements\x20before\x20committing'));var y=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:const|let|var)\s+\w+\s*=\s*(?:jest\.fn|vi\.fn|sinon\.stub|mock)\(\)/g;e[_0x27c8dc(0x1a7)](y)&&(e[_0x27c8dc(0x1a7)](/expect\([^)]+\)\.(?!toHaveBeenCalled)/g)||[])[_0x27c8dc(0x1a5)]===0x0&&(t[_0x27c8dc(0x1be)](_0x27c8dc(0x1a9)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1c5)));var T=[/expect\s*\(\s*true\s*\)\.toBe\s*\(\s*true\s*\)/g,/expect\s*\(\s*1\s*\)\.toBe\s*\(\s*1\s*\)/g,/assert\s+True\s*==\s*True/g,/assert\s+1\s*==\s*1/g];for(let s of T)s[_0x27c8dc(0x1d3)](e)&&(n[_0x27c8dc(0x1be)](_0x27c8dc(0x1b0)),n[_0x27c8dc(0x1be)](_0x27c8dc(0x1b5)),n['push'](_0x27c8dc(0x1c2)));l['length']<0xa&&(t[_0x27c8dc(0x1be)]('WARNING:\x20Test\x20file\x20is\x20only\x20'+l[_0x27c8dc(0x1a5)]+_0x27c8dc(0x1c0)),t[_0x27c8dc(0x1be)](_0x27c8dc(0x1b2)));var x=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:\/\/[^\n]*)?\s*\}\s*\)/g;x[_0x27c8dc(0x1d3)](e)&&n[_0x27c8dc(0x1be)](_0x27c8dc(0x1d0)),n[_0x27c8dc(0x1a5)]>0x0&&(console['error'](_0x27c8dc(0x199)),console['error'](_0x27c8dc(0x1d2)+u+'\x0a'),n[_0x27c8dc(0x1d1)](_0x454262=>console[_0x27c8dc(0x1d4)]('\x20\x20'+_0x454262)),console[_0x27c8dc(0x1d4)](_0x27c8dc(0x1c6)),process[_0x27c8dc(0x1cb)](0x2)),t['length']>0x0&&(console[_0x27c8dc(0x19e)](_0x27c8dc(0x1c9)),console[_0x27c8dc(0x19e)](_0x27c8dc(0x1d2)+u+'\x0a'),t[_0x27c8dc(0x1d1)](_0xa343e=>console[_0x27c8dc(0x19e)]('\x20\x20'+_0xa343e)),console[_0x27c8dc(0x19e)]('\x0aConsider\x20addressing\x20these\x20issues.\x0a')),process[_0x27c8dc(0x1cb)](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const _0x37d80c=_0x5648;(function(_0x53bd27,_0x3cae30){const _0x2a7f1e=_0x5648,_0x5392fd=_0x53bd27();while(!![]){try{const _0x55f4c6=-parseInt(_0x2a7f1e(0xea))/0x1*(-parseInt(_0x2a7f1e(0xd2))/0x2)+-parseInt(_0x2a7f1e(0xe4))/0x3+parseInt(_0x2a7f1e(0xe6))/0x4*(-parseInt(_0x2a7f1e(0xc7))/0x5)+parseInt(_0x2a7f1e(0xe1))/0x6*(parseInt(_0x2a7f1e(0xd3))/0x7)+parseInt(_0x2a7f1e(0xb1))/0x8+parseInt(_0x2a7f1e(0xb4))/0x9*(parseInt(_0x2a7f1e(0xbb))/0xa)+-parseInt(_0x2a7f1e(0xd0))/0xb;if(_0x55f4c6===_0x3cae30)break;else _0x5392fd['push'](_0x5392fd['shift']());}catch(_0xe200b3){_0x5392fd['push'](_0x5392fd['shift']());}}}(_0x360e,0x90814));const _0x14dd11=(function(){const _0x10596a=_0x5648,_0x36dc6e={'sIrWe':function(_0x784d39,_0x1f5b5a){return _0x784d39(_0x1f5b5a);},'XQMIJ':function(_0x561b58,_0x359cc2){return _0x561b58/_0x359cc2;},'Cgljt':function(_0x2b2ee5,_0x3db0e2){return _0x2b2ee5<_0x3db0e2;},'QGIXn':'WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','nYflC':function(_0x352869,_0x59ba9b){return _0x352869===_0x59ba9b;},'vZVvd':'aYHKM','HhXxq':_0x10596a(0xc0)};let _0x103ac0=!![];return function(_0x536996,_0x4e70af){const _0x4b4a9e=_0x103ac0?function(){const _0x40ec0c=_0x5648,_0x1c9110={'vkHSq':function(_0x1c227a,_0x17ecef){const _0x10059c=_0x5648;return _0x36dc6e[_0x10059c(0xad)](_0x1c227a,_0x17ecef);},'mrnPz':function(_0x500b96,_0x321e3d){const _0x1975b1=_0x5648;return _0x36dc6e[_0x1975b1(0xd5)](_0x500b96,_0x321e3d);},'zDuac':function(_0x3ed7ee,_0x5bbb8c){const _0x2ff1a3=_0x5648;return _0x36dc6e[_0x2ff1a3(0xcc)](_0x3ed7ee,_0x5bbb8c);},'mAXmO':_0x36dc6e[_0x40ec0c(0xc8)]};if(_0x4e70af){if(_0x36dc6e['nYflC'](_0x36dc6e[_0x40ec0c(0xcb)],_0x36dc6e[_0x40ec0c(0xe5)])){let _0x2e7d88=_0x1c9110['vkHSq'](_0x7098bd,_0x16da88[0x1]),_0x45a4c0=_0x1c9110[_0x40ec0c(0xab)](_0x3af234,_0x2e7d88);_0x1c9110[_0x40ec0c(0xd7)](_0x45a4c0,0.0001)&&_0x2704c2<0x1&&(_0xacc495[_0x40ec0c(0xb2)](_0x1c9110[_0x40ec0c(0xc6)]),_0x4ecee2['push'](_0x2e7d88+_0x40ec0c(0xd9)+_0x2e8558+_0x40ec0c(0xc9)+_0x45a4c0[_0x40ec0c(0xca)](0x4)+'ms\x20per\x20test)'),_0x59d5d8[_0x40ec0c(0xb2)](_0x40ec0c(0xc4)));}else{const _0x37b47a=_0x4e70af[_0x40ec0c(0xac)](_0x536996,arguments);return _0x4e70af=null,_0x37b47a;}}}:function(){};return _0x103ac0=![],_0x4b4a9e;};}()),_0x4640f7=_0x14dd11(this,function(){const _0x47f846=_0x5648,_0xfb04c4={};_0xfb04c4[_0x47f846(0xbe)]=_0x47f846(0xe9);const _0x5458e6=_0xfb04c4;return _0x4640f7[_0x47f846(0xc1)]()[_0x47f846(0xce)](_0x5458e6['yWuqx'])[_0x47f846(0xc1)]()[_0x47f846(0xb3)](_0x4640f7)[_0x47f846(0xce)](_0x5458e6[_0x47f846(0xbe)]);});_0x4640f7();var p=(_0x334616=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x334616,{'get':(_0x4aa3b6,_0x308712)=>(typeof require<'u'?require:_0x4aa3b6)[_0x308712]}):_0x334616)(function(_0x574760){const _0x28edab=_0x5648,_0x4a91ff={'tYaIk':function(_0xf7cab4,_0x111e74){return _0xf7cab4(_0x111e74);},'BkggT':function(_0x2d5be2,_0x5a00e0){return _0x2d5be2+_0x5a00e0;},'ifkPT':_0x28edab(0xaf)};if(typeof require<'u')return require[_0x28edab(0xac)](this,arguments);throw _0x4a91ff[_0x28edab(0xdf)](Error,_0x4a91ff[_0x28edab(0xd1)](_0x4a91ff[_0x28edab(0xd1)](_0x28edab(0xbd),_0x574760),_0x4a91ff['ifkPT']));}),N=p('fs'),A=p(_0x37d80c(0xb9)),d=process[_0x37d80c(0xc3)][0x2]||'{}',u=JSON['parse'](d),h=u['tool_input']?.[_0x37d80c(0xb8)]||'',t=u[_0x37d80c(0xda)]||'';function _0x5648(_0x4bf79f,_0x286643){_0x4bf79f=_0x4bf79f-0xaa;const _0x5f2600=_0x360e();let _0x4640f7=_0x5f2600[_0x4bf79f];return _0x4640f7;}function _0x360e(){const _0x53aea1=['Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','forEach','mAXmO','3907740QpgBtG','QGIXn','ms\x20(','toFixed','vZVvd','Cgljt','test','search','WARNING:\x20Test\x20output\x20is\x20very\x20minimal','1449305aDabuW','BkggT','22AXKCIV','14NmDTBB','All\x20tests\x20must\x20pass\x20before\x20committing','XQMIJ','length','zDuac','match','\x20tests\x20in\x20','tool_output','Output\x20length:\x20','Command:\x20','Did\x20tests\x20actually\x20run?','Remove\x20skip\x20markers\x20and\x20implement\x20the\x20tests','tYaIk','\x0a⚠️\x20\x20TEST\x20EXECUTION\x20WARNINGS\x0a','2370630jtixPr','\x0a❌\x20TEST\x20EXECUTION\x20VALIDATION\x20FAILED\x0a','Verify\x20snapshots\x20are\x20actually\x20correct,\x20not\x20just\x20auto-accepting\x20changes','3146949kCBktC','HhXxq','4NcSAIa','warn','ms\x20per\x20test)','(((.+)+)+)+$','92524kYCVtZ','Consider\x20adding\x20more\x20tests\x20to\x20reach\x2070%+\x20coverage','mrnPz','apply','sIrWe','WARNING:\x20Snapshot\x20tests\x20were\x20updated','\x22\x20is\x20not\x20supported','Fix\x20the\x20failing\x20tests\x20or\x20remove\x20broken\x20code','2445264NSgGAt','push','constructor','18ukdvzb','\x20characters','Test\x20files\x20may\x20be\x20empty\x20or\x20not\x20properly\x20configured','WARNING:\x20Test\x20output\x20mentions\x20mocks\x20but\x20no\x20passed\x20tests','command','path','BLOCKED:\x20Test\x20command\x20ran\x20but\x20ZERO\x20tests\x20were\x20executed','2202730SRPdmb','WARNING:\x20Test\x20coverage\x20is\x20only\x20','Dynamic\x20require\x20of\x20\x22','yWuqx','WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','XWzMG','toString','error','argv'];_0x360e=function(){return _0x53aea1;};return _0x360e();}h[_0x37d80c(0xd8)](/npm\s+(run\s+)?test|jest|pytest|vitest|mocha|ava/)||process['exit'](0x0);var o=[],e=[],m=[/Tests:\s+0\s+total/i,/0\s+passed/i,/No tests found/i,/collected 0 items/i,/0 tests?,\s+0 assertions?/i];for(let s of m)s[_0x37d80c(0xcd)](t)&&(o[_0x37d80c(0xb2)](_0x37d80c(0xba)),o[_0x37d80c(0xb2)](_0x37d80c(0xb6)),o[_0x37d80c(0xb2)](_0x37d80c(0xdc)+h));if(t['match'](/(\d+)\s+skipped/)||t[_0x37d80c(0xd8)](/(\d+)\s+todo/)){let s=t[_0x37d80c(0xd8)](/(\d+)\s+(?:skipped|todo)/),n=t[_0x37d80c(0xd8)](/(\d+)\s+passed/);s&&(!n||n[0x1]==='0')&&(o[_0x37d80c(0xb2)]('BLOCKED:\x20All\x20tests\x20were\x20skipped/marked\x20as\x20TODO'),o[_0x37d80c(0xb2)](_0x37d80c(0xde)));}var l=[/Time:\s+([\d.]+)\s*m?s/i,/Ran\s+\d+\s+tests?\s+in\s+([\d.]+)s/i,/Duration:\s+([\d.]+)\s*m?s/i];for(let s of l){let n=t[_0x37d80c(0xd8)](s);if(n){let a=parseFloat(n[0x1]),r=t['match'](/(\d+)\s+passed/);if(r){let c=parseInt(r[0x1]),i=a/c;i<0.0001&&a<0x1&&(e['push'](_0x37d80c(0xbf)),e['push'](c+_0x37d80c(0xd9)+a+_0x37d80c(0xc9)+i[_0x37d80c(0xca)](0x4)+_0x37d80c(0xe8)),e[_0x37d80c(0xb2)](_0x37d80c(0xc4)));}}}var f=[/(\d+)\s+failed/i,/(\d+)\s+error/i,/FAILED/i,/ERROR/i];for(let s of f)s[_0x37d80c(0xcd)](t)&&(o[_0x37d80c(0xb2)]('BLOCKED:\x20Tests\x20are\x20FAILING'),o[_0x37d80c(0xb2)](_0x37d80c(0xd4)),o[_0x37d80c(0xb2)](_0x37d80c(0xb0)));var g=[/All files[^\n]*\|\s+([\d.]+)/,/Statements\s+:\s+([\d.]+)%/,/Coverage:\s+([\d.]+)%/];for(let s of g){let n=t[_0x37d80c(0xd8)](s);if(n){let a=parseFloat(n[0x1]);a<0x46&&(e[_0x37d80c(0xb2)](_0x37d80c(0xbc)+a+'%'),e[_0x37d80c(0xb2)](_0x37d80c(0xaa)));}}(t[_0x37d80c(0xd8)](/Snapshots:\s+\d+\s+written/)||t[_0x37d80c(0xd8)](/\d+\s+snapshots? updated/))&&(e[_0x37d80c(0xb2)](_0x37d80c(0xae)),e['push'](_0x37d80c(0xe3))),t[_0x37d80c(0xd6)]<0x32&&!o[_0x37d80c(0xd6)]&&(e[_0x37d80c(0xb2)](_0x37d80c(0xcf)),e[_0x37d80c(0xb2)](_0x37d80c(0xdd)),e[_0x37d80c(0xb2)](_0x37d80c(0xdb)+t[_0x37d80c(0xd6)]+_0x37d80c(0xb5))),t['match'](/Mock|Stub|Fake/)&&!t[_0x37d80c(0xd8)](/\d+\s+passed/)&&(e[_0x37d80c(0xb2)](_0x37d80c(0xb7)),e[_0x37d80c(0xb2)]('Are\x20you\x20running\x20actual\x20tests\x20or\x20just\x20loading\x20mocks?')),o[_0x37d80c(0xd6)]>0x0&&(console[_0x37d80c(0xc2)](_0x37d80c(0xe2)),o['forEach'](_0x2aa8c2=>console[_0x37d80c(0xc2)]('\x20\x20'+_0x2aa8c2)),console[_0x37d80c(0xc2)]('\x0a'),process['exit'](0x2)),e[_0x37d80c(0xd6)]>0x0&&(console[_0x37d80c(0xe7)](_0x37d80c(0xe0)),e[_0x37d80c(0xc5)](_0x4a063f=>console[_0x37d80c(0xe7)]('\x20\x20'+_0x4a063f)),console[_0x37d80c(0xe7)]('\x0a')),process['exit'](0x0);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const _0x3f146e=_0x411b;(function(_0x1f0a22,_0x164dc2){const _0x5e14ad=_0x411b,_0x228b37=_0x1f0a22();while(!![]){try{const _0x5a8a8b=-parseInt(_0x5e14ad(0x229))/0x1+parseInt(_0x5e14ad(0x21b))/0x2+parseInt(_0x5e14ad(0x1fa))/0x3*(parseInt(_0x5e14ad(0x1c4))/0x4)+-parseInt(_0x5e14ad(0x1ca))/0x5+-parseInt(_0x5e14ad(0x1c8))/0x6*(-parseInt(_0x5e14ad(0x1dd))/0x7)+parseInt(_0x5e14ad(0x221))/0x8+-parseInt(_0x5e14ad(0x1c5))/0x9*(parseInt(_0x5e14ad(0x21e))/0xa);if(_0x5a8a8b===_0x164dc2)break;else _0x228b37['push'](_0x228b37['shift']());}catch(_0x242121){_0x228b37['push'](_0x228b37['shift']());}}}(_0x10e5,0x85b58));const _0x3f92f1=(function(){const _0x4893c1=_0x411b,_0x22e85d={};_0x22e85d[_0x4893c1(0x1c1)]=_0x4893c1(0x1f5),_0x22e85d['UPjDz']='BSWBE',_0x22e85d[_0x4893c1(0x22d)]=_0x4893c1(0x1d4),_0x22e85d[_0x4893c1(0x218)]=_0x4893c1(0x220),_0x22e85d[_0x4893c1(0x1d3)]='within\x5c(',_0x22e85d[_0x4893c1(0x1b4)]=_0x4893c1(0x1c9),_0x22e85d['ISYRN']=_0x4893c1(0x22a),_0x22e85d[_0x4893c1(0x1cf)]='Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar',_0x22e85d[_0x4893c1(0x212)]=_0x4893c1(0x22f),_0x22e85d[_0x4893c1(0x22e)]=function(_0x33b7e8,_0x2d84af){return _0x33b7e8>_0x2d84af;},_0x22e85d[_0x4893c1(0x1ee)]=_0x4893c1(0x1fb),_0x22e85d['izfbb']=_0x4893c1(0x223),_0x22e85d[_0x4893c1(0x20a)]=_0x4893c1(0x211),_0x22e85d['jYGsH']=_0x4893c1(0x1eb),_0x22e85d['kPntc']=function(_0x1ef674,_0x34a8a6){return _0x1ef674<_0x34a8a6;},_0x22e85d[_0x4893c1(0x208)]='WARNING:\x20Component\x20has\x20conditional\x20rendering\x20but\x20only\x201\x20test\x20case',_0x22e85d['zWoQT']=_0x4893c1(0x203),_0x22e85d[_0x4893c1(0x224)]=_0x4893c1(0x1ea),_0x22e85d[_0x4893c1(0x1f2)]=function(_0x4644b8,_0x3b2da1){return _0x4644b8===_0x3b2da1;},_0x22e85d[_0x4893c1(0x1e7)]=_0x4893c1(0x1cc),_0x22e85d['wZULG']=_0x4893c1(0x1cb);const _0x2c331e=_0x22e85d;let _0x5f3988=!![];return function(_0x162c59,_0x3a3c89){const _0x24174e=_0x4893c1,_0x8971ba={'mevMS':_0x2c331e[_0x24174e(0x218)],'qKokE':_0x24174e(0x235),'GzgCE':_0x2c331e[_0x24174e(0x1d3)],'PXzUH':_0x24174e(0x1b8),'xQKts':_0x2c331e[_0x24174e(0x1b4)],'jGRKT':_0x2c331e[_0x24174e(0x215)],'NKJYR':_0x24174e(0x1dc),'ZqTBn':_0x24174e(0x230),'CmpiL':'WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them','mdXka':_0x2c331e[_0x24174e(0x1cf)],'VXkKJ':_0x2c331e[_0x24174e(0x212)],'McegW':function(_0xffd988,_0xf17f44){const _0x4aa2af=_0x24174e;return _0x2c331e[_0x4aa2af(0x22e)](_0xffd988,_0xf17f44);},'zBlYO':'WARNING:\x20Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','pgcMg':_0x2c331e['ovscL'],'DiTCp':_0x2c331e[_0x24174e(0x201)],'FiWrX':_0x2c331e[_0x24174e(0x20a)],'mXPpq':_0x24174e(0x210),'lFnaZ':_0x2c331e[_0x24174e(0x202)],'cKqst':function(_0x4a5cbf,_0x934f55){const _0x460978=_0x24174e;return _0x2c331e[_0x460978(0x20c)](_0x4a5cbf,_0x934f55);},'Gpumw':_0x2c331e['qUXKN'],'lyXXo':_0x2c331e['zWoQT'],'rCcMN':function(_0x1f34d9,_0x3689da){return _0x1f34d9!==_0x3689da;},'XSNTI':function(_0x48785d,_0xb01386){const _0x476546=_0x24174e;return _0x2c331e[_0x476546(0x20c)](_0x48785d,_0xb01386);},'vzRcx':_0x2c331e[_0x24174e(0x224)]};if(_0x2c331e[_0x24174e(0x1f2)](_0x2c331e[_0x24174e(0x1e7)],_0x2c331e[_0x24174e(0x1de)]))return _0x5cd5a0[_0x24174e(0x1f4)]()['search'](_0x2c331e['oQFyZ'])['toString']()['constructor'](_0x109d6c)[_0x24174e(0x1d8)](_0x2c331e['oQFyZ']);else{const _0x4e0a33=_0x5f3988?function(){const _0xaefe21=_0x24174e;if(_0x2c331e[_0xaefe21(0x1be)]===_0x2c331e[_0xaefe21(0x22d)]){let _0x22e08a=_0x2a059e['readFileSync'](_0x5b9ae1,_0x8971ba[_0xaefe21(0x1d9)]),_0x1890a5=_0x26f9e1[_0xaefe21(0x1e8)](_0x2620b0,_0xaefe21(0x220));new _0x538dbe(_0xaefe21(0x20e)+_0x2a3759+'.*from','i')['test'](_0x22e08a)||(_0x3532a0[_0xaefe21(0x234)](_0xaefe21(0x217)+_0x332770),_0x590488[_0xaefe21(0x234)]('Test\x20file:\x20'+_0x4fb301[_0xaefe21(0x21f)](_0x37d3a0)),_0x5f242a[_0xaefe21(0x234)](_0xaefe21(0x1bc)+_0x159a99+_0xaefe21(0x239)+_0x27a287+'\x27')),![new _0x1761b5('render\x5cs*\x5c(<\x5cs*'+_0x407d10,'i'),new _0x4dc270(_0xaefe21(0x1b5)+_0x2494b2,'i'),new _0xe3a056(_0xaefe21(0x1b2)+_0x1565b9,'i'),new _0x2e302b(_0x8971ba[_0xaefe21(0x1f7)],'i'),new _0x3ad208(_0x8971ba[_0xaefe21(0x1f3)],'i')][_0xaefe21(0x1c7)](_0x3b6799=>_0x3b6799['test'](_0x22e08a))&&!_0x22e08a[_0xaefe21(0x219)](_0x8971ba[_0xaefe21(0x1c0)])&&(_0x2967a2[_0xaefe21(0x234)](_0x8971ba['xQKts']),_0x4cd94b['push']('Test\x20file:\x20'+_0x2176ec['basename'](_0x936cc3)),_0x358f47[_0xaefe21(0x234)](_0xaefe21(0x1da)+_0x31f564+_0xaefe21(0x1f6)));let _0xc6a7c2=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,_0x36d969=_0x1890a5['match'](_0xc6a7c2);if(_0x36d969){let _0x1b78ef=_0x36d969[0x1][_0xaefe21(0x226)]('\x0a')[_0xaefe21(0x231)](_0x486493=>!_0x486493[_0xaefe21(0x219)]('?:')&&_0x486493[_0xaefe21(0x219)](':'))['map'](_0x1b2bc1=>_0x1b2bc1[_0xaefe21(0x1fd)]()[_0xaefe21(0x226)](':')[0x0]['trim']())['filter'](_0x3113fe);_0x1b78ef[_0xaefe21(0x1e1)]>0x0&&(_0x1b78ef[_0xaefe21(0x1c7)](_0x441ce2=>_0x22e08a[_0xaefe21(0x219)](_0x441ce2+'=')||_0x22e08a[_0xaefe21(0x219)](_0x441ce2+':')||_0x22e08a[_0xaefe21(0x219)]('\x22'+_0x441ce2+'\x22')||_0x22e08a[_0xaefe21(0x219)]('\x27'+_0x441ce2+'\x27'))||(_0x4dc338['push'](_0x8971ba[_0xaefe21(0x1cd)]),_0x503b8e['push'](_0xaefe21(0x1d0)+_0x1b78ef[_0xaefe21(0x1f0)](',\x20')),_0x44c6fd[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x1ed)])));}let _0x20c79c=/on[A-Z]\w+/g,_0x5f2b51=_0x1890a5[_0xaefe21(0x233)](_0x20c79c)||[],_0x248c35=[...new _0x316fa4(_0x5f2b51)];_0x248c35[_0xaefe21(0x1e1)]>0x0&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0xaefe21(0x1c7)](_0x5dc758=>_0x5dc758[_0xaefe21(0x1b0)](_0x22e08a))||(_0xaf7a22[_0xaefe21(0x234)](_0xaefe21(0x1b7)),_0x3c8571[_0xaefe21(0x234)](_0xaefe21(0x1c3)+_0x248c35[_0xaefe21(0x1e2)](0x0,0x5)[_0xaefe21(0x1f0)](',\x20')),_0x39d279[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x20b)]))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0xaefe21(0x1c7)](_0x4a8c8e=>_0x4a8c8e[_0xaefe21(0x1b0)](_0x1890a5))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/]['some'](_0x5a85fa=>_0x5a85fa['test'](_0x22e08a))||(_0x25dcb4[_0xaefe21(0x234)](_0x8971ba['CmpiL']),_0x28ba70[_0xaefe21(0x234)](_0x8971ba['mdXka']),_0x1d2331[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x1b1)])));let _0x51626c=/useState|useReducer|useContext/g;_0x8971ba[_0xaefe21(0x1ec)]((_0x1890a5[_0xaefe21(0x233)](_0x51626c)||[])['length'],0x0)&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0xaefe21(0x1c7)](_0x60ea19=>_0x60ea19['test'](_0x22e08a))||(_0x13f545[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x21d)]),_0x1b3eec[_0xaefe21(0x234)](_0x8971ba['pgcMg']))),(_0x1890a5['includes'](_0xaefe21(0x1e5))||_0x1890a5[_0xaefe21(0x219)](_0x8971ba[_0xaefe21(0x1e3)]))&&(_0x22e08a['includes'](_0x8971ba[_0xaefe21(0x21c)])||_0x22e08a[_0xaefe21(0x219)](_0x8971ba[_0xaefe21(0x222)])||(_0x5c51e6[_0xaefe21(0x234)](_0xaefe21(0x1bb)),_0x53da79[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x238)])));let _0x54cf55=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if(_0x8971ba[_0xaefe21(0x1ec)]((_0x1890a5[_0xaefe21(0x233)](_0x54cf55)||[])[_0xaefe21(0x1e1)],0x3)){let _0x2191aa=/(?:it|test)\s*\(/g;_0x8971ba[_0xaefe21(0x1db)]((_0x22e08a[_0xaefe21(0x233)](_0x2191aa)||[])[_0xaefe21(0x1e1)],0x2)&&(_0x3be424[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x206)]),_0x583f0a[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x1ff)]));}let _0xae7b74=/import\s+\{?([A-Z]\w+)\}?\s+from/g,_0x5c5d4e=[],_0x52ac30;for(;_0x8971ba[_0xaefe21(0x1d7)](_0x52ac30=_0xae7b74[_0xaefe21(0x1c6)](_0x1890a5),null);)_0x8971ba[_0xaefe21(0x1d7)](_0x52ac30[0x1],_0x20a357)&&_0x5c5d4e[_0xaefe21(0x234)](_0x52ac30[0x1]);if(_0x8971ba[_0xaefe21(0x1ec)](_0x5c5d4e[_0xaefe21(0x1e1)],0x2)){let _0x1d0a1d=_0x22e08a[_0xaefe21(0x226)]('\x0a')[_0xaefe21(0x1e1)];_0x8971ba[_0xaefe21(0x1f9)](_0x1d0a1d,0x1e)&&(_0x2376ba[_0xaefe21(0x234)]('WARNING:\x20Component\x20uses\x20'+_0x5c5d4e[_0xaefe21(0x1e1)]+'\x20child\x20components\x20but\x20test\x20is\x20only\x20'+_0x1d0a1d+'\x20lines'),_0x97884b[_0xaefe21(0x234)](_0x8971ba[_0xaefe21(0x1e6)]));}}else{if(_0x3a3c89){const _0x38c7b1=_0x3a3c89['apply'](_0x162c59,arguments);return _0x3a3c89=null,_0x38c7b1;}}}:function(){};return _0x5f3988=![],_0x4e0a33;}};}()),_0x316b4f=_0x3f92f1(this,function(){const _0xd05644=_0x411b;return _0x316b4f[_0xd05644(0x1f4)]()['search']('(((.+)+)+)+$')['toString']()['constructor'](_0x316b4f)[_0xd05644(0x1d8)](_0xd05644(0x1f5));});_0x316b4f();var x=(_0x121ce5=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x121ce5,{'get':(_0x3b1701,_0xb21a62)=>(typeof require<'u'?require:_0x3b1701)[_0xb21a62]}):_0x121ce5)(function(_0x58ec8e){const _0xdec56e=_0x411b,_0x6a02f1={'gbhJU':function(_0x15028e,_0x37ddcb){return _0x15028e<_0x37ddcb;},'iOQLL':function(_0x4887e7,_0x945807){return _0x4887e7(_0x945807);},'ooBRV':function(_0x516e31,_0x189cdf){return _0x516e31+_0x189cdf;},'tFVZF':'\x22\x20is\x20not\x20supported'};if(_0x6a02f1[_0xdec56e(0x1e9)](typeof require,'u'))return require[_0xdec56e(0x1d6)](this,arguments);throw _0x6a02f1[_0xdec56e(0x228)](Error,_0x6a02f1[_0xdec56e(0x1fe)](_0x6a02f1[_0xdec56e(0x1fe)](_0xdec56e(0x22b),_0x58ec8e),_0x6a02f1[_0xdec56e(0x232)]));}),C=x('fs'),a=x(_0x3f146e(0x1c2)),R=process[_0x3f146e(0x1d5)][0x2]||'{}',k=JSON[_0x3f146e(0x1df)](R),c=k[_0x3f146e(0x1b6)]?.[_0x3f146e(0x1b9)],S=c&&c['match'](/\.(tsx|jsx|vue|svelte)$/);S||process['exit'](0x0);var n=[],s=[],h=a[_0x3f146e(0x21f)](c),e=h[_0x3f146e(0x1e4)](/\.(tsx|jsx|vue|svelte)$/,''),T=[e+'.test.tsx',e+_0x3f146e(0x225),e+_0x3f146e(0x1ef),e+_0x3f146e(0x20f),e+_0x3f146e(0x1f8),e+_0x3f146e(0x236),e+'.spec.ts',e+'.spec.js'],d=c[_0x3f146e(0x219)]('/src/')?c[_0x3f146e(0x1e4)](_0x3f146e(0x1ce),'/tests/')[_0x3f146e(0x1e4)](h,''):a[_0x3f146e(0x200)](c),u=null,f=!0x1;for(let t of T){let i=[a[_0x3f146e(0x1f0)](d,t),a[_0x3f146e(0x1f0)](d,_0x3f146e(0x205),t),a[_0x3f146e(0x1f0)](a[_0x3f146e(0x200)](c),_0x3f146e(0x205),t),a[_0x3f146e(0x1f0)](a[_0x3f146e(0x200)](c),t)];for(let p of i)if(C[_0x3f146e(0x209)](p)){u=p,f=!0x0;break;}if(f)break;}f||(n[_0x3f146e(0x234)](_0x3f146e(0x1d1)),n[_0x3f146e(0x234)]('Component:\x20'+h),n['push'](_0x3f146e(0x1ba)),n['push']('\x20\x20-\x20'+d+'/'+e+_0x3f146e(0x23a)),n[_0x3f146e(0x234)](_0x3f146e(0x1e0)+d+_0x3f146e(0x1bd)+e+_0x3f146e(0x23a)),n[_0x3f146e(0x234)](_0x3f146e(0x1e0)+a[_0x3f146e(0x200)](c)+_0x3f146e(0x1bd)+e+'.test.tsx'),n[_0x3f146e(0x234)]('Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components'));if(f&&u){let t=C[_0x3f146e(0x1e8)](u,_0x3f146e(0x220)),i=C['readFileSync'](c,_0x3f146e(0x220));new RegExp(_0x3f146e(0x20e)+e+_0x3f146e(0x237),'i')[_0x3f146e(0x1b0)](t)||(n[_0x3f146e(0x234)](_0x3f146e(0x217)+e),n[_0x3f146e(0x234)](_0x3f146e(0x213)+a[_0x3f146e(0x21f)](u)),n[_0x3f146e(0x234)]('Add:\x20import\x20{\x20'+e+_0x3f146e(0x239)+e+'\x27')),![new RegExp('render\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp('mount\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp('shallow\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp(_0x3f146e(0x235),'i'),new RegExp(_0x3f146e(0x1f1),'i')][_0x3f146e(0x1c7)](_0x1954cc=>_0x1954cc[_0x3f146e(0x1b0)](t))&&!t[_0x3f146e(0x219)](_0x3f146e(0x1b8))&&(n[_0x3f146e(0x234)](_0x3f146e(0x1c9)),n[_0x3f146e(0x234)](_0x3f146e(0x213)+a[_0x3f146e(0x21f)](u)),n[_0x3f146e(0x234)](_0x3f146e(0x1da)+e+_0x3f146e(0x1f6)));let E=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,P=i[_0x3f146e(0x233)](E);if(P){let l=P[0x1][_0x3f146e(0x226)]('\x0a')[_0x3f146e(0x231)](_0x3fbadc=>!_0x3fbadc['includes']('?:')&&_0x3fbadc[_0x3f146e(0x219)](':'))[_0x3f146e(0x20d)](_0x4b8fbd=>_0x4b8fbd[_0x3f146e(0x1fd)]()[_0x3f146e(0x226)](':')[0x0][_0x3f146e(0x1fd)]())[_0x3f146e(0x231)](Boolean);l[_0x3f146e(0x1e1)]>0x0&&(l[_0x3f146e(0x1c7)](_0x36ac61=>t[_0x3f146e(0x219)](_0x36ac61+'=')||t[_0x3f146e(0x219)](_0x36ac61+':')||t[_0x3f146e(0x219)]('\x22'+_0x36ac61+'\x22')||t['includes']('\x27'+_0x36ac61+'\x27'))||(s['push'](_0x3f146e(0x22a)),s[_0x3f146e(0x234)](_0x3f146e(0x1d0)+l[_0x3f146e(0x1f0)](',\x20')),s['push'](_0x3f146e(0x1dc))));}let v=/on[A-Z]\w+/g,N=i[_0x3f146e(0x233)](v)||[],I=[...new Set(N)];I[_0x3f146e(0x1e1)]>0x0&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x3f146e(0x1c7)](_0x5d9f68=>_0x5d9f68[_0x3f146e(0x1b0)](t))||(s[_0x3f146e(0x234)](_0x3f146e(0x1b7)),s[_0x3f146e(0x234)](_0x3f146e(0x1c3)+I[_0x3f146e(0x1e2)](0x0,0x5)[_0x3f146e(0x1f0)](',\x20')),s[_0x3f146e(0x234)](_0x3f146e(0x230)))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x3f146e(0x1c7)](_0x299d77=>_0x299d77['test'](i))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/][_0x3f146e(0x1c7)](_0x129ee0=>_0x129ee0[_0x3f146e(0x1b0)](t))||(s[_0x3f146e(0x234)]('WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them'),s[_0x3f146e(0x234)]('Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar'),s[_0x3f146e(0x234)](_0x3f146e(0x22f))));let w=/useState|useReducer|useContext/g;(i['match'](w)||[])[_0x3f146e(0x1e1)]>0x0&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x3f146e(0x1c7)](_0x11f956=>_0x11f956[_0x3f146e(0x1b0)](t))||(s[_0x3f146e(0x234)](_0x3f146e(0x227)),s[_0x3f146e(0x234)]('Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates'))),(i[_0x3f146e(0x219)]('<form')||i[_0x3f146e(0x219)](_0x3f146e(0x223)))&&(t[_0x3f146e(0x219)](_0x3f146e(0x211))||t[_0x3f146e(0x219)](_0x3f146e(0x210))||(s[_0x3f146e(0x234)](_0x3f146e(0x1bb)),s[_0x3f146e(0x234)](_0x3f146e(0x1eb))));let b=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if((i['match'](b)||[])['length']>0x3){let o=/(?:it|test)\s*\(/g;(t[_0x3f146e(0x233)](o)||[])[_0x3f146e(0x1e1)]<0x2&&(s['push']('WARNING:\x20Component\x20has\x20conditional\x20rendering\x20but\x20only\x201\x20test\x20case'),s[_0x3f146e(0x234)](_0x3f146e(0x203)));}let A=/import\s+\{?([A-Z]\w+)\}?\s+from/g,g=[],$;for(;($=A[_0x3f146e(0x1c6)](i))!==null;)$[0x1]!==e&&g['push']($[0x1]);if(g['length']>0x2){let o=t[_0x3f146e(0x226)]('\x0a')[_0x3f146e(0x1e1)];o<0x1e&&(s['push']('WARNING:\x20Component\x20uses\x20'+g['length']+_0x3f146e(0x1bf)+o+_0x3f146e(0x207)),s['push'](_0x3f146e(0x1ea)));}}function _0x10e5(){const _0x5d1968=['BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component','4507020rSSbiN','XVnzS','bcHlf','jGRKT','/src/','yNYAa','Required\x20props:\x20','BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found','exit','yhIsx','SAJjz','argv','apply','rCcMN','search','mevMS','Add:\x20render(<','cKqst','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','25424TZQBEY','wZULG','parse','\x20\x20-\x20','length','slice','DiTCp','replace','<form','vzRcx','PDqcW','readFileSync','gbhJU','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','Add\x20test\x20for\x20form\x20submission\x20behavior','McegW','NKJYR','ovscL','.test.ts','join','within\x5c(','GDVCR','GzgCE','toString','(((.+)+)+)+$','\x20/>)','qKokE','.spec.tsx','XSNTI','120tuEAQt','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a','trim','ooBRV','lyXXo','dirname','izfbb','jYGsH','Add\x20tests\x20for\x20different\x20component\x20states/conditions','forEach','__tests__','Gpumw','\x20lines','qUXKN','existsSync','AFbIJ','ZqTBn','kPntc','map','import.*','.test.js','Submit','submit','lQGdW','Test\x20file:\x20','\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a','ISYRN','error','BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20','SlmnQ','includes','UI\x20Component:\x20','873424gjNkSf','FiWrX','zBlYO','29080vcBbwU','basename','utf8','7613392rnEeGh','mXPpq','onSubmit','ZPebK','.test.jsx','split','WARNING:\x20Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','iOQLL','885194WMvuuh','WARNING:\x20Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them','Dynamic\x20require\x20of\x20\x22','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','TuAeM','mYXZp','Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise','Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent','filter','tFVZF','match','push','screen\x5c.','.spec.jsx','.*from','lFnaZ','\x20}\x20from\x20\x27./','.test.tsx','test','VXkKJ','shallow\x5cs*\x5c(<\x5cs*','warn','ovqbI','mount\x5cs*\x5c(<\x5cs*','tool_input','WARNING:\x20Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','createWrapper','file_path','Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:','WARNING:\x20Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission','Add:\x20import\x20{\x20','/__tests__/','UPjDz','\x20child\x20components\x20but\x20test\x20is\x20only\x20','PXzUH','oQFyZ','path','Event\x20handlers\x20found:\x20','18764bmNiIn','441wfmBGi','exec','some','1488wYTmCT'];_0x10e5=function(){return _0x5d1968;};return _0x10e5();}function _0x411b(_0x1fe618,_0x4ffb79){_0x1fe618=_0x1fe618-0x1b0;const _0x25746f=_0x10e5();let _0x316b4f=_0x25746f[_0x1fe618];return _0x316b4f;}n[_0x3f146e(0x1e1)]>0x0&&(console[_0x3f146e(0x216)](_0x3f146e(0x214)),console['error']('UI\x20Component:\x20'+h+'\x0a'),n[_0x3f146e(0x204)](_0xa29f00=>console[_0x3f146e(0x216)]('\x20\x20'+_0xa29f00)),console['error']('\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a'),process[_0x3f146e(0x1d2)](0x2)),s['length']>0x0&&(console[_0x3f146e(0x1b3)](_0x3f146e(0x22c)),console[_0x3f146e(0x1b3)](_0x3f146e(0x21a)+h+'\x0a'),s['forEach'](_0x3331b5=>console[_0x3f146e(0x1b3)]('\x20\x20'+_0x3331b5)),console[_0x3f146e(0x1b3)](_0x3f146e(0x1fc))),process[_0x3f146e(0x1d2)](0x0);
|
|
2
|
+
const _0x213c0d=_0x66f7;function _0x4d6f(){const _0x482fa7=['5CzeHCq','replace','HdjTB','WARNING:\x20Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them','within\x5c(','Jhzyx','match','.test.tsx','exit','OCXPQ','createWrapper','BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20','\x20/>)','render\x5cs*\x5c(<\x5cs*','\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a','/tests/','BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found','search','(((.+)+)+)+$','rMMsg','wDvVQ','SRWYx','2801151tnCRSW','Required\x20props:\x20','onSubmit','prRFw','lWaEj','dirname','existsSync','ZoFRf','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','includes','JkYmN','JQCYf','798774BHQtMv','mount\x5cs*\x5c(<\x5cs*','<form','pFdEt','Add:\x20render(<','slice','toString','constructor','qflZh','wLGKc','.*from','basename','WARNING:\x20Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission','test','VANQA','.spec.js','jwfOq','WARNING:\x20Component\x20uses\x20','path','screen\x5c.','sxYMP','WARNING:\x20Component\x20has\x20conditional\x20rendering\x20but\x20only\x201\x20test\x20case','Add:\x20import\x20{\x20','parse','Add\x20tests\x20for\x20different\x20component\x20states/conditions','wMvsW','\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a','/src/','Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise','forEach','\x20}\x20from\x20\x27./','submit','WARNING:\x20Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','AxKyq','\x22\x20is\x20not\x20supported','__tests__','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','ojoGM','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','NexUC','usIBT','dZjJI','\x20\x20-\x20','\x20child\x20components\x20but\x20test\x20is\x20only\x20','utf8','13Ditrsa','EFJQz','evjvQ','SGcNJ','Submit','gJpoB','WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them','FtoRl','.test.jsx','warn','length','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','Component:\x20','Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar','BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component','error','apply','Event\x20handlers\x20found:\x20','\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a','nmkaV','33qmnlyt','rnemj','JVHlL','map','cBrUI','shallow\x5cs*\x5c(<\x5cs*','filter','421600QbObEm','1246CNyoAZ','WARNING:\x20Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','join','trim','15GZSHQf','.spec.jsx','argv','8706084lpjnAe','zBSsD','some','push','dlswx','JIBvg','tool_input','file_path','MfOhE','HXLcM','787510XSoiLi','koFQl','.spec.tsx','7528CPxwiW','\x20lines','UI\x20Component:\x20','/__tests__/','Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent','BhnIu','Dynamic\x20require\x20of\x20\x22','16563FRmMKV','aVHKT','RutTV','38yKctsX','import.*','readFileSync','split','Test\x20file:\x20','Zvddb','ouAaX','ZMAxX'];_0x4d6f=function(){return _0x482fa7;};return _0x4d6f();}(function(_0x3c57ea,_0x2dd1c4){const _0x58a0fa=_0x66f7,_0x533a27=_0x3c57ea();while(!![]){try{const _0x20ed42=-parseInt(_0x58a0fa(0x171))/0x1*(-parseInt(_0x58a0fa(0x174))/0x2)+-parseInt(_0x58a0fa(0x1eb))/0x3*(parseInt(_0x58a0fa(0x1e6))/0x4)+-parseInt(_0x58a0fa(0x17c))/0x5*(parseInt(_0x58a0fa(0x19e))/0x6)+-parseInt(_0x58a0fa(0x1e7))/0x7*(parseInt(_0x58a0fa(0x16a))/0x8)+parseInt(_0x58a0fa(0x192))/0x9+parseInt(_0x58a0fa(0x167))/0xa*(-parseInt(_0x58a0fa(0x1df))/0xb)+parseInt(_0x58a0fa(0x15d))/0xc*(parseInt(_0x58a0fa(0x1cb))/0xd);if(_0x20ed42===_0x2dd1c4)break;else _0x533a27['push'](_0x533a27['shift']());}catch(_0x24c0d6){_0x533a27['push'](_0x533a27['shift']());}}}(_0x4d6f,0x4634b));const _0xa9cf39=(function(){const _0x515409=_0x66f7,_0x1ecadd={};_0x1ecadd[_0x515409(0x18f)]=_0x515409(0x1ca),_0x1ecadd['SGcNJ']='createWrapper',_0x1ecadd[_0x515409(0x17b)]=_0x515409(0x1d9),_0x1ecadd[_0x515409(0x15e)]=function(_0xd3879b,_0x3c5dd0){return _0xd3879b>_0x3c5dd0;},_0x1ecadd[_0x515409(0x1a1)]=_0x515409(0x1c4),_0x1ecadd['OCXPQ']=_0x515409(0x1d1),_0x1ecadd[_0x515409(0x17e)]='Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar',_0x1ecadd[_0x515409(0x1ae)]='onSubmit',_0x1ecadd['wLGKc']=_0x515409(0x1bd),_0x1ecadd['wDvVQ']=_0x515409(0x1cf),_0x1ecadd['inJXd']=_0x515409(0x1aa),_0x1ecadd[_0x515409(0x1bf)]='Add\x20test\x20for\x20form\x20submission\x20behavior',_0x1ecadd[_0x515409(0x168)]=function(_0xde880c,_0x329ea6){return _0xde880c<_0x329ea6;},_0x1ecadd[_0x515409(0x1b2)]=function(_0xae0337,_0x216a0e){return _0xae0337!==_0x216a0e;},_0x1ecadd[_0x515409(0x1d0)]=function(_0x12f969,_0x3f54a5){return _0x12f969<_0x3f54a5;},_0x1ecadd['JVHlL']=function(_0x15ad5c,_0x39851f){return _0x15ad5c===_0x39851f;},_0x1ecadd[_0x515409(0x172)]=_0x515409(0x173),_0x1ecadd[_0x515409(0x195)]=_0x515409(0x1e3),_0x1ecadd[_0x515409(0x19c)]=_0x515409(0x179),_0x1ecadd[_0x515409(0x196)]=_0x515409(0x1c2),_0x1ecadd['JQCYf']=function(_0x464ce7,_0x41f89f){return _0x464ce7===_0x41f89f;},_0x1ecadd['Jhzyx']=_0x515409(0x191);const _0x364c03=_0x1ecadd;let _0x5dddf7=!![];return function(_0x362bf8,_0x4fa196){const _0x434cb6=_0x515409,_0x5d214d={'wMvsW':function(_0x25846a,_0x29924c){const _0x43fbf2=_0x66f7;return _0x364c03[_0x43fbf2(0x1d0)](_0x25846a,_0x29924c);},'VANQA':_0x364c03['lWaEj']};if(_0x364c03[_0x434cb6(0x19d)](_0x434cb6(0x1c6),_0x364c03[_0x434cb6(0x181)])){const _0x2519ac=_0xa6ae43?function(){const _0x4dc65d=_0x434cb6;if(_0x3e2ba4){const _0x261bbc=_0x3adcb4[_0x4dc65d(0x1db)](_0x23a687,arguments);return _0x95c597=null,_0x261bbc;}}:function(){};return _0x34136b=![],_0x2519ac;}else{const _0x399ca1=_0x5dddf7?function(){const _0x500ca2=_0x434cb6,_0x5eb0e7={'NexUC':_0x364c03[_0x500ca2(0x18f)],'EFJQz':_0x364c03[_0x500ca2(0x1ce)],'JIBvg':_0x364c03[_0x500ca2(0x17b)],'ZoFRf':function(_0x3a1ee5,_0x112208){const _0xb77351=_0x500ca2;return _0x364c03[_0xb77351(0x15e)](_0x3a1ee5,_0x112208);},'dZjJI':_0x364c03[_0x500ca2(0x1a1)],'BniFF':_0x500ca2(0x1e8),'mzpbC':_0x364c03[_0x500ca2(0x185)],'EOtUA':_0x364c03['HdjTB'],'MfOhE':'Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','rkeYp':_0x500ca2(0x1a0),'ojoGM':_0x364c03[_0x500ca2(0x1ae)],'BhnIu':_0x364c03[_0x500ca2(0x1a7)],'znNLM':_0x364c03[_0x500ca2(0x190)],'dlswx':_0x364c03['inJXd'],'HXLcM':_0x364c03[_0x500ca2(0x1bf)],'evjvQ':function(_0x2efedf,_0x5a6bfe){return _0x364c03['koFQl'](_0x2efedf,_0x5a6bfe);},'nmkaV':_0x500ca2(0x1b6),'FtoRl':function(_0x4d200b,_0x4262d6){return _0x364c03['sxYMP'](_0x4d200b,_0x4262d6);},'ouAaX':function(_0x4f94f7,_0x299050){const _0x4f5497=_0x500ca2;return _0x364c03[_0x4f5497(0x1d0)](_0x4f94f7,_0x299050);}};if(_0x364c03[_0x500ca2(0x1e1)](_0x364c03[_0x500ca2(0x172)],_0x364c03[_0x500ca2(0x195)])){let _0x539e8c=_0x462346[_0x500ca2(0x176)](_0x4d9112,_0x5eb0e7[_0x500ca2(0x1c5)]),_0x249a18=_0x42d9d6['readFileSync'](_0x473c0a,_0x500ca2(0x1ca));new _0x2742c1(_0x500ca2(0x175)+_0x46247b+_0x500ca2(0x1a8),'i')['test'](_0x539e8c)||(_0x4044c4[_0x500ca2(0x160)](_0x500ca2(0x187)+_0x5c6efb),_0x51ce25[_0x500ca2(0x160)](_0x500ca2(0x178)+_0x4123d3[_0x500ca2(0x1a9)](_0x1a9b4b)),_0x4bb888[_0x500ca2(0x160)](_0x500ca2(0x1b4)+_0x4194b0+_0x500ca2(0x1bc)+_0x3ae6e1+'\x27')),![new _0x2c8138(_0x500ca2(0x189)+_0x9a0304,'i'),new _0x58b2e8(_0x500ca2(0x19f)+_0x2b4731,'i'),new _0x183b3d(_0x500ca2(0x1e4)+_0x1983dd,'i'),new _0x1fe7ba(_0x500ca2(0x1b1),'i'),new _0x5d91f4(_0x500ca2(0x180),'i')][_0x500ca2(0x15f)](_0x3f9064=>_0x3f9064['test'](_0x539e8c))&&!_0x539e8c[_0x500ca2(0x19b)](_0x5eb0e7[_0x500ca2(0x1cc)])&&(_0x26cf39[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x162)]),_0x36045c['push'](_0x500ca2(0x178)+_0x364c7f[_0x500ca2(0x1a9)](_0x4d80f6)),_0x2d1bb9[_0x500ca2(0x160)](_0x500ca2(0x1a2)+_0x5346d5+_0x500ca2(0x188)));let _0x5572d3=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,_0x4747a4=_0x249a18[_0x500ca2(0x182)](_0x5572d3);if(_0x4747a4){let _0x1add81=_0x4747a4[0x1][_0x500ca2(0x177)]('\x0a')[_0x500ca2(0x1e5)](_0x337d4e=>!_0x337d4e[_0x500ca2(0x19b)]('?:')&&_0x337d4e[_0x500ca2(0x19b)](':'))[_0x500ca2(0x1e2)](_0x20c7dd=>_0x20c7dd[_0x500ca2(0x1ea)]()[_0x500ca2(0x177)](':')[0x0][_0x500ca2(0x1ea)]())[_0x500ca2(0x1e5)](_0x112c9e);_0x5eb0e7[_0x500ca2(0x199)](_0x1add81[_0x500ca2(0x1d5)],0x0)&&(_0x1add81[_0x500ca2(0x15f)](_0x1ccc56=>_0x539e8c[_0x500ca2(0x19b)](_0x1ccc56+'=')||_0x539e8c[_0x500ca2(0x19b)](_0x1ccc56+':')||_0x539e8c[_0x500ca2(0x19b)]('\x22'+_0x1ccc56+'\x22')||_0x539e8c[_0x500ca2(0x19b)]('\x27'+_0x1ccc56+'\x27'))||(_0x50751a['push'](_0x500ca2(0x17f)),_0x586003[_0x500ca2(0x160)](_0x500ca2(0x193)+_0x1add81['join'](',\x20')),_0x424559[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x1c7)])));}let _0x2ca6e7=/on[A-Z]\w+/g,_0x73c177=_0x249a18[_0x500ca2(0x182)](_0x2ca6e7)||[],_0x2fbec7=[...new _0xf7c856(_0x73c177)];_0x5eb0e7['ZoFRf'](_0x2fbec7[_0x500ca2(0x1d5)],0x0)&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x500ca2(0x15f)](_0x1994ec=>_0x1994ec[_0x500ca2(0x1ab)](_0x539e8c))||(_0x11eb14[_0x500ca2(0x160)](_0x5eb0e7['BniFF']),_0x354172[_0x500ca2(0x160)]('Event\x20handlers\x20found:\x20'+_0x2fbec7[_0x500ca2(0x1a3)](0x0,0x5)[_0x500ca2(0x1e9)](',\x20')),_0x17584e[_0x500ca2(0x160)](_0x500ca2(0x16e)))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x500ca2(0x15f)](_0x41d977=>_0x41d977['test'](_0x249a18))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/][_0x500ca2(0x15f)](_0x25556d=>_0x25556d[_0x500ca2(0x1ab)](_0x539e8c))||(_0x506b03['push'](_0x5eb0e7['mzpbC']),_0x30c4c6[_0x500ca2(0x160)](_0x5eb0e7['EOtUA']),_0xe3ca7a[_0x500ca2(0x160)](_0x500ca2(0x1ba))));let _0x531cca=/useState|useReducer|useContext/g;(_0x249a18[_0x500ca2(0x182)](_0x531cca)||[])['length']>0x0&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x500ca2(0x15f)](_0x4fbaa6=>_0x4fbaa6[_0x500ca2(0x1ab)](_0x539e8c))||(_0x4dfda1[_0x500ca2(0x160)](_0x500ca2(0x1be)),_0x1cbb0f[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x165)]))),(_0x249a18[_0x500ca2(0x19b)](_0x5eb0e7['rkeYp'])||_0x249a18[_0x500ca2(0x19b)](_0x5eb0e7[_0x500ca2(0x1c3)]))&&(_0x539e8c[_0x500ca2(0x19b)](_0x5eb0e7[_0x500ca2(0x16f)])||_0x539e8c[_0x500ca2(0x19b)](_0x5eb0e7['znNLM'])||(_0x3d1937['push'](_0x5eb0e7[_0x500ca2(0x161)]),_0x28aded[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x166)])));let _0x3faa15=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if((_0x249a18['match'](_0x3faa15)||[])[_0x500ca2(0x1d5)]>0x3){let _0x5cb74b=/(?:it|test)\s*\(/g;_0x5eb0e7[_0x500ca2(0x1cd)]((_0x539e8c['match'](_0x5cb74b)||[])[_0x500ca2(0x1d5)],0x2)&&(_0x27f590[_0x500ca2(0x160)](_0x500ca2(0x1b3)),_0x58345a[_0x500ca2(0x160)](_0x5eb0e7[_0x500ca2(0x1de)]));}let _0x2d357d=/import\s+\{?([A-Z]\w+)\}?\s+from/g,_0x3bd417=[],_0x1d7c9f;for(;(_0x1d7c9f=_0x2d357d['exec'](_0x249a18))!==null;)_0x5eb0e7[_0x500ca2(0x1d2)](_0x1d7c9f[0x1],_0x4ae7b1)&&_0x3bd417[_0x500ca2(0x160)](_0x1d7c9f[0x1]);if(_0x5eb0e7[_0x500ca2(0x199)](_0x3bd417[_0x500ca2(0x1d5)],0x2)){let _0x13e63f=_0x539e8c[_0x500ca2(0x177)]('\x0a')['length'];_0x5eb0e7[_0x500ca2(0x17a)](_0x13e63f,0x1e)&&(_0x10caec[_0x500ca2(0x160)](_0x500ca2(0x1af)+_0x3bd417[_0x500ca2(0x1d5)]+_0x500ca2(0x1c9)+_0x13e63f+'\x20lines'),_0x1bf78d[_0x500ca2(0x160)](_0x500ca2(0x1c2)));}}else{if(_0x4fa196){if(_0x364c03[_0x500ca2(0x1e1)](_0x364c03[_0x500ca2(0x19c)],_0x364c03[_0x500ca2(0x19c)])){const _0x353018=_0x4fa196['apply'](_0x362bf8,arguments);return _0x4fa196=null,_0x353018;}else{let _0xbf2b5a=_0x2ea7df[_0x500ca2(0x177)]('\x0a')['length'];_0x5d214d[_0x500ca2(0x1b7)](_0xbf2b5a,0x1e)&&(_0x39a415[_0x500ca2(0x160)](_0x500ca2(0x1af)+_0x146f91['length']+_0x500ca2(0x1c9)+_0xbf2b5a+_0x500ca2(0x16b)),_0x395c3c[_0x500ca2(0x160)](_0x5d214d[_0x500ca2(0x1ac)]));}}}}:function(){};return _0x5dddf7=![],_0x399ca1;}};}()),_0x66f13f=_0xa9cf39(this,function(){const _0x3b2c60=_0x66f7;return _0x66f13f[_0x3b2c60(0x1a4)]()[_0x3b2c60(0x18d)](_0x3b2c60(0x18e))[_0x3b2c60(0x1a4)]()[_0x3b2c60(0x1a5)](_0x66f13f)[_0x3b2c60(0x18d)](_0x3b2c60(0x18e));});_0x66f13f();var x=(_0x2fe24d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x2fe24d,{'get':(_0x1f0059,_0x12c7f6)=>(typeof require<'u'?require:_0x1f0059)[_0x12c7f6]}):_0x2fe24d)(function(_0x2190af){const _0x331ea7=_0x66f7,_0x1a8737={};_0x1a8737[_0x331ea7(0x1e0)]=function(_0x39c5e6,_0x4af15c){return _0x39c5e6+_0x4af15c;},_0x1a8737[_0x331ea7(0x1a6)]=_0x331ea7(0x170),_0x1a8737['NxSwm']=_0x331ea7(0x1c0);const _0x568892=_0x1a8737;if(typeof require<'u')return require['apply'](this,arguments);throw Error(_0x568892[_0x331ea7(0x1e0)](_0x568892[_0x331ea7(0x1e0)](_0x568892['qflZh'],_0x2190af),_0x568892['NxSwm']));}),C=x('fs'),a=x(_0x213c0d(0x1b0)),R=process[_0x213c0d(0x1ed)][0x2]||'{}',k=JSON[_0x213c0d(0x1b5)](R),c=k[_0x213c0d(0x163)]?.[_0x213c0d(0x164)],S=c&&c[_0x213c0d(0x182)](/\.(tsx|jsx|vue|svelte)$/);function _0x66f7(_0x2f2a9c,_0xde5d7b){_0x2f2a9c=_0x2f2a9c-0x15d;const _0xe14b72=_0x4d6f();let _0x66f13f=_0xe14b72[_0x2f2a9c];return _0x66f13f;}S||process[_0x213c0d(0x184)](0x0);var n=[],s=[],h=a[_0x213c0d(0x1a9)](c),e=h[_0x213c0d(0x17d)](/\.(tsx|jsx|vue|svelte)$/,''),T=[e+_0x213c0d(0x183),e+_0x213c0d(0x1d3),e+'.test.ts',e+'.test.js',e+_0x213c0d(0x169),e+_0x213c0d(0x1ec),e+'.spec.ts',e+_0x213c0d(0x1ad)],d=c[_0x213c0d(0x19b)](_0x213c0d(0x1b9))?c[_0x213c0d(0x17d)](_0x213c0d(0x1b9),_0x213c0d(0x18b))['replace'](h,''):a[_0x213c0d(0x197)](c),u=null,f=!0x1;for(let t of T){let i=[a['join'](d,t),a[_0x213c0d(0x1e9)](d,'__tests__',t),a[_0x213c0d(0x1e9)](a[_0x213c0d(0x197)](c),_0x213c0d(0x1c1),t),a[_0x213c0d(0x1e9)](a[_0x213c0d(0x197)](c),t)];for(let p of i)if(C[_0x213c0d(0x198)](p)){u=p,f=!0x0;break;}if(f)break;}f||(n[_0x213c0d(0x160)](_0x213c0d(0x18c)),n[_0x213c0d(0x160)](_0x213c0d(0x1d7)+h),n[_0x213c0d(0x160)]('Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:'),n['push'](_0x213c0d(0x1c8)+d+'/'+e+'.test.tsx'),n['push'](_0x213c0d(0x1c8)+d+_0x213c0d(0x16d)+e+'.test.tsx'),n[_0x213c0d(0x160)](_0x213c0d(0x1c8)+a[_0x213c0d(0x197)](c)+'/__tests__/'+e+_0x213c0d(0x183)),n[_0x213c0d(0x160)]('Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components'));if(f&&u){let t=C['readFileSync'](u,_0x213c0d(0x1ca)),i=C[_0x213c0d(0x176)](c,_0x213c0d(0x1ca));new RegExp('import.*'+e+_0x213c0d(0x1a8),'i')[_0x213c0d(0x1ab)](t)||(n[_0x213c0d(0x160)]('BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20'+e),n['push'](_0x213c0d(0x178)+a['basename'](u)),n[_0x213c0d(0x160)]('Add:\x20import\x20{\x20'+e+_0x213c0d(0x1bc)+e+'\x27')),![new RegExp(_0x213c0d(0x189)+e,'i'),new RegExp('mount\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp(_0x213c0d(0x1e4)+e,'i'),new RegExp(_0x213c0d(0x1b1),'i'),new RegExp('within\x5c(','i')][_0x213c0d(0x15f)](_0x4fd4af=>_0x4fd4af['test'](t))&&!t[_0x213c0d(0x19b)](_0x213c0d(0x186))&&(n[_0x213c0d(0x160)]('BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component'),n['push'](_0x213c0d(0x178)+a[_0x213c0d(0x1a9)](u)),n[_0x213c0d(0x160)](_0x213c0d(0x1a2)+e+'\x20/>)'));let E=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,P=i[_0x213c0d(0x182)](E);if(P){let l=P[0x1][_0x213c0d(0x177)]('\x0a')[_0x213c0d(0x1e5)](_0x313ec4=>!_0x313ec4[_0x213c0d(0x19b)]('?:')&&_0x313ec4[_0x213c0d(0x19b)](':'))['map'](_0x460194=>_0x460194[_0x213c0d(0x1ea)]()[_0x213c0d(0x177)](':')[0x0]['trim']())[_0x213c0d(0x1e5)](Boolean);l[_0x213c0d(0x1d5)]>0x0&&(l['some'](_0x3d6cec=>t[_0x213c0d(0x19b)](_0x3d6cec+'=')||t['includes'](_0x3d6cec+':')||t[_0x213c0d(0x19b)]('\x22'+_0x3d6cec+'\x22')||t[_0x213c0d(0x19b)]('\x27'+_0x3d6cec+'\x27'))||(s[_0x213c0d(0x160)]('WARNING:\x20Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them'),s['push'](_0x213c0d(0x193)+l[_0x213c0d(0x1e9)](',\x20')),s[_0x213c0d(0x160)](_0x213c0d(0x1c4))));}let v=/on[A-Z]\w+/g,N=i['match'](v)||[],I=[...new Set(N)];I[_0x213c0d(0x1d5)]>0x0&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/][_0x213c0d(0x15f)](_0x3cc259=>_0x3cc259[_0x213c0d(0x1ab)](t))||(s[_0x213c0d(0x160)](_0x213c0d(0x1e8)),s['push'](_0x213c0d(0x1dc)+I[_0x213c0d(0x1a3)](0x0,0x5)[_0x213c0d(0x1e9)](',\x20')),s[_0x213c0d(0x160)](_0x213c0d(0x16e)))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x213c0d(0x15f)](_0xf3d70a=>_0xf3d70a[_0x213c0d(0x1ab)](i))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/][_0x213c0d(0x15f)](_0x2f4cd1=>_0x2f4cd1[_0x213c0d(0x1ab)](t))||(s[_0x213c0d(0x160)]('WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them'),s[_0x213c0d(0x160)](_0x213c0d(0x1d8)),s[_0x213c0d(0x160)]('Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise')));let w=/useState|useReducer|useContext/g;(i[_0x213c0d(0x182)](w)||[])[_0x213c0d(0x1d5)]>0x0&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x213c0d(0x15f)](_0x1b33fb=>_0x1b33fb[_0x213c0d(0x1ab)](t))||(s[_0x213c0d(0x160)](_0x213c0d(0x1be)),s[_0x213c0d(0x160)](_0x213c0d(0x1d6)))),(i[_0x213c0d(0x19b)](_0x213c0d(0x1a0))||i[_0x213c0d(0x19b)](_0x213c0d(0x194)))&&(t[_0x213c0d(0x19b)](_0x213c0d(0x1bd))||t[_0x213c0d(0x19b)](_0x213c0d(0x1cf))||(s['push'](_0x213c0d(0x1aa)),s['push']('Add\x20test\x20for\x20form\x20submission\x20behavior')));let b=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if((i[_0x213c0d(0x182)](b)||[])[_0x213c0d(0x1d5)]>0x3){let o=/(?:it|test)\s*\(/g;(t[_0x213c0d(0x182)](o)||[])['length']<0x2&&(s[_0x213c0d(0x160)](_0x213c0d(0x1b3)),s[_0x213c0d(0x160)](_0x213c0d(0x1b6)));}let A=/import\s+\{?([A-Z]\w+)\}?\s+from/g,g=[],$;for(;($=A['exec'](i))!==null;)$[0x1]!==e&&g['push']($[0x1]);if(g[_0x213c0d(0x1d5)]>0x2){let o=t[_0x213c0d(0x177)]('\x0a')['length'];o<0x1e&&(s['push'](_0x213c0d(0x1af)+g[_0x213c0d(0x1d5)]+_0x213c0d(0x1c9)+o+_0x213c0d(0x16b)),s[_0x213c0d(0x160)](_0x213c0d(0x1c2)));}}n['length']>0x0&&(console[_0x213c0d(0x1da)](_0x213c0d(0x1b8)),console[_0x213c0d(0x1da)](_0x213c0d(0x16c)+h+'\x0a'),n[_0x213c0d(0x1bb)](_0x5ebde7=>console[_0x213c0d(0x1da)]('\x20\x20'+_0x5ebde7)),console[_0x213c0d(0x1da)](_0x213c0d(0x18a)),process['exit'](0x2)),s[_0x213c0d(0x1d5)]>0x0&&(console['warn'](_0x213c0d(0x19a)),console[_0x213c0d(0x1d4)]('UI\x20Component:\x20'+h+'\x0a'),s[_0x213c0d(0x1bb)](_0x3bd96e=>console[_0x213c0d(0x1d4)]('\x20\x20'+_0x3bd96e)),console['warn'](_0x213c0d(0x1dd))),process[_0x213c0d(0x184)](0x0);
|
package/dist/scripts/help.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
#!/usr/bin/env node
|
|
3
|
-
var _0x1469ca=_0x2c8f;function _0x2c8f(_0x3ce181,_0x186a96){_0x3ce181=_0x3ce181-0x1cf;var _0x4d56ce=_0xae8c();var _0x299c38=_0x4d56ce[_0x3ce181];return _0x299c38;}(function(_0x8f8b33,_0x173984){var _0x1fffbb=_0x2c8f,_0x488fa3=_0x8f8b33();while(!![]){try{var _0x10650e=-parseInt(_0x1fffbb(0x1de))/0x1*(parseInt(_0x1fffbb(0x1dc))/0x2)+parseInt(_0x1fffbb(0x1df))/0x3+-parseInt(_0x1fffbb(0x1e0))/0x4+parseInt(_0x1fffbb(0x1dd))/0x5*(-parseInt(_0x1fffbb(0x1d2))/0x6)+parseInt(_0x1fffbb(0x1d4))/0x7+-parseInt(_0x1fffbb(0x1d3))/0x8*(-parseInt(_0x1fffbb(0x1d0))/0x9)+parseInt(_0x1fffbb(0x1db))/0xa;if(_0x10650e===_0x173984)break;else _0x488fa3['push'](_0x488fa3['shift']());}catch(_0x3de090){_0x488fa3['push'](_0x488fa3['shift']());}}}(_0xae8c,0x99fc7));var _0x3a0818=(function(){var _0x5b4b70=!![];return function(_0x3cd3ff,_0x26d44c){var _0x47b626=_0x5b4b70?function(){var _0x19a6e=_0x2c8f;if(_0x26d44c){var _0x16b994=_0x26d44c[_0x19a6e(0x1d7)](_0x3cd3ff,arguments);return _0x26d44c=null,_0x16b994;}}:function(){};return _0x5b4b70=![],_0x47b626;};}()),_0x299c38=_0x3a0818(this,function(){var _0x5b0d7e=_0x2c8f,_0x132463={};_0x132463[_0x5b0d7e(0x1d5)]='(((.+)+)+)+$';var _0x565b08=_0x132463;return _0x299c38[_0x5b0d7e(0x1cf)]()[_0x5b0d7e(0x1d8)](_0x5b0d7e(0x1d1))[_0x5b0d7e(0x1cf)]()[_0x5b0d7e(0x1da)](_0x299c38)['search'](_0x565b08[_0x5b0d7e(0x1d5)]);});function _0xae8c(){var _0x5e94d4=['3876192gOraHC','toString','117XRleQM','(((.+)+)+)+$','176478zFJbyM','278984hBFbkr','4756045EKrcUW','ftBxX','log','apply','search','exit','constructor','8971360ptRtuS','46gldLBh','45hbTfMt','34676HHbJut','1896360rthdcV'];_0xae8c=function(){return _0x5e94d4;};return _0xae8c();}_0x299c38(),console[_0x1469ca(0x1d6)]('\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[_0x1469ca(0x1d9)](0x0);
|
|
2
|
+
function _0x36ca(_0xfd9a88,_0x51163d){_0xfd9a88=_0xfd9a88-0xbd;var _0x3e6f94=_0x3016();var _0xfed3d1=_0x3e6f94[_0xfd9a88];return _0xfed3d1;}var _0x55c1c3=_0x36ca;(function(_0x1e3853,_0x236ee1){var _0x178700=_0x36ca,_0x347626=_0x1e3853();while(!![]){try{var _0x42fe25=-parseInt(_0x178700(0xcf))/0x1+-parseInt(_0x178700(0xcb))/0x2*(-parseInt(_0x178700(0xce))/0x3)+parseInt(_0x178700(0xc7))/0x4*(-parseInt(_0x178700(0xbf))/0x5)+parseInt(_0x178700(0xcc))/0x6*(parseInt(_0x178700(0xc5))/0x7)+parseInt(_0x178700(0xc3))/0x8+parseInt(_0x178700(0xc0))/0x9+-parseInt(_0x178700(0xbd))/0xa*(parseInt(_0x178700(0xcd))/0xb);if(_0x42fe25===_0x236ee1)break;else _0x347626['push'](_0x347626['shift']());}catch(_0x2950e9){_0x347626['push'](_0x347626['shift']());}}}(_0x3016,0x8a01e));var _0x30d500=(function(){var _0x169e15=!![];return function(_0x5332f4,_0x4a9905){var _0x1ca082=_0x169e15?function(){var _0x7bce01=_0x36ca;if(_0x4a9905){var _0x2d1171=_0x4a9905[_0x7bce01(0xbe)](_0x5332f4,arguments);return _0x4a9905=null,_0x2d1171;}}:function(){};return _0x169e15=![],_0x1ca082;};}()),_0xfed3d1=_0x30d500(this,function(){var _0x2a9f75=_0x36ca,_0x237205={};_0x237205[_0x2a9f75(0xc1)]=_0x2a9f75(0xc6);var _0x2b686a=_0x237205;return _0xfed3d1[_0x2a9f75(0xc9)]()[_0x2a9f75(0xca)](_0x2b686a['RMWLn'])['toString']()[_0x2a9f75(0xc2)](_0xfed3d1)[_0x2a9f75(0xca)](_0x2a9f75(0xc6));});_0xfed3d1(),console[_0x55c1c3(0xc4)]('\x0a┌─────────────────────────────────────────────────────────────────┐\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Claude\x20Agent\x20Development\x20System\x20-\x20Commands\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a│\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│\x0a└─────────────────────────────────────────────────────────────────┘\x0a\x0a📋\x20PLAN\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20plan:create\x0a\x20\x20\x20\x20Create\x20a\x20new\x20project\x20plan\x20interactively\x0a\x20\x20\x20\x20Creates:\x20.claude/plans/PLAN-ID/PROJECT-PLAN.json\x0a\x0a\x20\x20npm\x20run\x20plan:init\x0a\x20\x20\x20\x20Lock\x20and\x20initialize\x20a\x20plan\x20for\x20execution\x0a\x20\x20\x20\x20Generates\x20task\x20tracker\x20and\x20individual\x20task\x20files\x0a\x20\x20\x20\x20Required\x20before\x20starting\x20development\x0a\x0a\x20\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20Manage\x20multiple\x20plans\x20(view,\x20switch,\x20archive,\x20delete)\x0a\x20\x20\x20\x20Switch\x20active\x20plan,\x20view\x20all\x20plans,\x20archive\x20completed\x20plans\x0a\x0a\x20\x20npm\x20run\x20plan:amend\x0a\x20\x20\x20\x20Modify\x20a\x20locked\x20plan\x20(add/update/remove\x20tasks)\x0a\x20\x20\x20\x20Creates\x20audit\x20trail\x20in\x20PLAN-AMENDMENTS.json\x0a\x0a\x20\x20npm\x20run\x20plan:help\x0a\x20\x20\x20\x20Show\x20plan-related\x20help\x20and\x20documentation\x0a\x0a\x0a📝\x20TASK\x20MANAGEMENT\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:status\x0a\x20\x20\x20\x20View\x20project\x20status\x20and\x20task\x20progress\x0a\x20\x20\x20\x20Shows\x20active\x20task,\x20completed\x20tasks,\x20next\x20pending\x20tasks\x0a\x20\x20\x20\x20Displays\x20progress\x20bar\x20and\x20statistics\x0a\x0a\x20\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x20\x20\x20Start\x20working\x20on\x20a\x20task\x0a\x20\x20\x20\x20Validates\x20dependencies\x20and\x20sequence\x0a\x20\x20\x20\x20Sets\x20task\x20as\x20active\x20(one\x20task\x20at\x20a\x20time)\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:start\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x20\x20\x20Mark\x20task\x20as\x20completed\x0a\x20\x20\x20\x20Validates\x20all\x20changes\x20are\x20committed\x0a\x20\x20\x20\x20Prompts\x20to\x20merge\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:done\x20TASK-001\x0a\x0a\x0a🔀\x20GIT\x20WORKFLOW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x20\x20\x20\x20Merge\x20a\x20single\x20completed\x20task\x20to\x20main\x20branch\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20TASK-001\x0a\x0a\x20\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20Merge\x20all\x20completed\x20tasks\x20in\x20a\x20phase\x20to\x20main\x0a\x0a\x20\x20\x20\x20Example:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20implementation\x0a\x0a\x20\x20npm\x20run\x20setup:hooks\x0a\x20\x20\x20\x20Install\x20git\x20hooks\x20for\x20validation\x0a\x20\x20\x20\x20Hooks:\x20pre-commit,\x20commit-msg,\x20pre-push\x0a\x20\x20\x20\x20Validates\x20tests,\x20formatting,\x20commit\x20messages\x0a\x0a\x0a📊\x20WORKFLOW\x20OVERVIEW\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20Phase\x201:\x20Planning\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Share\x20requirements\x20with\x20Claude\x20Agent\x0a\x20\x202.\x20Agent\x20creates\x20PROJECT-PLAN.json\x0a\x20\x203.\x20Human\x20reviews\x20and\x20approves\x20plan\x0a\x20\x204.\x20Human\x20locks\x20plan:\x20npm\x20run\x20plan:init\x0a\x0a\x20\x20Phase\x202:\x20Development\x0a\x20\x20────────────────────\x0a\x20\x201.\x20View\x20tasks:\x20npm\x20run\x20task:status\x0a\x20\x202.\x20Start\x20task:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x20\x203.\x20Create\x20feature\x20branch:\x20git\x20checkout\x20-b\x20task/TASK-XXX-description\x0a\x20\x204.\x20Write\x20code\x20in\x20Agent/\x20directory\x0a\x20\x205.\x20Commit\x20changes:\x20git\x20commit\x20-m\x20\x22[TASK-XXX]\x20Description\x22\x0a\x20\x206.\x20Complete\x20task:\x20npm\x20run\x20task:done\x20TASK-XXX\x0a\x20\x207.\x20Merge\x20to\x20main:\x20Choose\x20option\x20when\x20prompted\x0a\x0a\x20\x20Phase\x203:\x20Delivery\x0a\x20\x20─────────────────\x0a\x20\x201.\x20Merge\x20all\x20phases:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x202.\x20Create\x20pull\x20request\x0a\x20\x203.\x20Code\x20review\x20and\x20merge\x20to\x20production\x0a\x0a\x0a📁\x20FILE\x20STRUCTURE\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20.claude/\x0a\x20\x20├──\x20CLAUDE.md\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20System\x20rules\x20and\x20workflow\x0a\x20\x20├──\x20ACTIVE-PLAN\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Current\x20active\x20plan\x20pointer\x0a\x20\x20├──\x20settings.json\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Hook\x20configuration\x0a\x20\x20├──\x20hooks/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Enforcement\x20scripts\x0a\x20\x20└──\x20plans/\x0a\x20\x20\x20\x20\x20\x20└──\x20PLAN-ID/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20PROJECT-PLAN.json\x20\x20\x20\x20Immutable\x20project\x20plan\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-TRACKER.json\x20\x20\x20\x20Task\x20states\x20&\x20statistics\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20.plan-locked\x20\x20\x20\x20\x20\x20\x20\x20\x20Lock\x20marker\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20tasks/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20├──\x20TASK-001.json\x20\x20\x20\x20Individual\x20task\x20files\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20└──\x20TASK-002.json\x0a\x0a\x20\x20Agent/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20YOUR\x20SOURCE\x20CODE\x20GOES\x20HERE\x0a\x20\x20├──\x20src/\x0a\x20\x20├──\x20tests/\x0a\x20\x20└──\x20...\x0a\x0a\x20\x20scripts/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Management\x20utilities\x0a\x20\x20docs/\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Documentation\x20&\x20diagrams\x0a\x0a\x0a🔒\x20ENFORCEMENT\x20RULES\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20✅\x20HARD\x20BLOCKS\x20(Cannot\x20bypass):\x0a\x20\x20\x20\x20\x20•\x20No\x20code\x20changes\x20without\x20active\x20task\x0a\x20\x20\x20\x20\x20•\x20Dependencies\x20must\x20be\x20completed\x20first\x0a\x20\x20\x20\x20\x20•\x20All\x20changes\x20must\x20be\x20committed\x20before\x20task\x20completion\x0a\x20\x20\x20\x20\x20•\x20Cannot\x20edit\x20locked\x20plan\x20directly\x0a\x20\x20\x20\x20\x20•\x20One\x20task\x20active\x20at\x20a\x20time\x0a\x0a\x20\x20⚠️\x20\x20WARNINGS\x20(5-second\x20delay\x20to\x20cancel):\x0a\x20\x20\x20\x20\x20•\x20Skipping\x20tasks\x20in\x20sequence\x0a\x20\x20\x20\x20\x20•\x20Starting\x20later\x20phase\x20with\x20incomplete\x20earlier\x20phases\x0a\x0a\x0a📚\x20DOCUMENTATION\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20View\x20lifecycle\x20diagrams:\x0a\x20\x20\x20\x20Open\x20docs/index.html\x20in\x20browser\x0a\x20\x20\x20\x20Color-coded\x20diagrams\x20showing\x20complete\x20workflow\x0a\x0a\x20\x20Getting\x20started\x20guide:\x0a\x20\x20\x20\x20See\x20GETTING-STARTED.md\x20for\x20step-by-step\x20setup\x0a\x0a\x20\x20System\x20documentation:\x0a\x20\x20\x20\x20.claude/CLAUDE.md\x20-\x20Complete\x20workflow\x20rules\x0a\x0a\x0a🆘\x20TROUBLESHOOTING\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20\x22BLOCKED:\x20No\x20active\x20task\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:start\x20TASK-XXX\x0a\x0a\x20\x20\x22BLOCKED:\x20Plan\x20is\x20locked\x22\x0a\x20\x20\x20\x20→\x20Use:\x20npm\x20run\x20plan:amend\x0a\x0a\x20\x20\x22Dependencies\x20not\x20met\x22\x0a\x20\x20\x20\x20→\x20Complete\x20dependency\x20tasks\x20first\x0a\x20\x20\x20\x20→\x20Check:\x20npm\x20run\x20task:status\x0a\x0a\x20\x20\x22No\x20active\x20plan\x20found\x22\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20plan:manager\x0a\x20\x20\x20\x20→\x20Switch\x20to\x20or\x20create\x20a\x20plan\x0a\x0a\x20\x20All\x20work\x20in\x20branches,\x20not\x20merged\x20to\x20main\x0a\x20\x20\x20\x20→\x20Run:\x20npm\x20run\x20task:merge\x20--\x20--phase\x20PHASE-NAME\x0a\x20\x20\x20\x20→\x20Or\x20merge\x20individually:\x20npm\x20run\x20task:merge\x20TASK-XXX\x0a\x0a\x0a📞\x20NEED\x20MORE\x20HELP?\x0a────────────────────────────────────────────────────────────────\x0a\x0a\x20\x20•\x20Ask\x20Claude\x20Agent\x20for\x20assistance\x0a\x20\x20•\x20View\x20docs/index.html\x20for\x20visual\x20workflow\x0a\x20\x20•\x20Read\x20GETTING-STARTED.md\x20for\x20detailed\x20guide\x0a\x20\x20•\x20Check\x20.claude/CLAUDE.md\x20for\x20complete\x20rules\x0a\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a\x0a\x20\x20Quick\x20Start:\x20npm\x20run\x20task:status\x0a\x20\x20Repository:\x20https://github.com/ajayhanda/claude-agent\x0a\x0a━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x0a'),process[_0x55c1c3(0xc8)](0x0);function _0x3016(){var _0x220550=['constructor','2519504ionzdt','log','2925573tkmDlw','(((.+)+)+)+$','246668BhDGqX','exit','toString','search','107738ZRmFFC','6ooOhpJ','1144528kqVDJB','51FhCpKq','58069nqFYwI','200ycylAk','apply','5UVexQQ','10055916UfjWpR','RMWLn'];_0x3016=function(){return _0x220550;};return _0x3016();}
|