gl-life-claude-zen 1.0.0 → 1.0.2

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.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x16ce98=_0x3821;(function(_0x56c1d9,_0x3b4aba){const _0x1e0265=_0x3821,_0x440d93=_0x56c1d9();while(!![]){try{const _0x59347a=parseInt(_0x1e0265(0xc9))/0x1+-parseInt(_0x1e0265(0xe4))/0x2+parseInt(_0x1e0265(0xf9))/0x3+-parseInt(_0x1e0265(0x10c))/0x4+-parseInt(_0x1e0265(0xcf))/0x5*(-parseInt(_0x1e0265(0x101))/0x6)+parseInt(_0x1e0265(0xc2))/0x7*(-parseInt(_0x1e0265(0xd7))/0x8)+parseInt(_0x1e0265(0xfe))/0x9;if(_0x59347a===_0x3b4aba)break;else _0x440d93['push'](_0x440d93['shift']());}catch(_0x545db3){_0x440d93['push'](_0x440d93['shift']());}}}(_0x3acd,0x4febc));const _0xbc9ab8=(function(){const _0x1481a5=_0x3821,_0x1703bd={};_0x1703bd[_0x1481a5(0x104)]=function(_0x29b82b,_0x4652f8){return _0x29b82b!==_0x4652f8;},_0x1703bd[_0x1481a5(0x105)]=_0x1481a5(0xe1),_0x1703bd['njARQ']=_0x1481a5(0x102),_0x1703bd[_0x1481a5(0x116)]=_0x1481a5(0xdc),_0x1703bd[_0x1481a5(0x115)]='Migration\x20missing\x20UP/UPGRADE\x20function',_0x1703bd[_0x1481a5(0x106)]=_0x1481a5(0xec),_0x1703bd[_0x1481a5(0xc4)]=_0x1481a5(0xf7),_0x1703bd[_0x1481a5(0x107)]=_0x1481a5(0xc3),_0x1703bd[_0x1481a5(0x10a)]=function(_0x53a81e,_0xcb0c9e){return _0x53a81e===_0xcb0c9e;},_0x1703bd[_0x1481a5(0xda)]=_0x1481a5(0x10f),_0x1703bd[_0x1481a5(0xee)]=_0x1481a5(0xd9),_0x1703bd[_0x1481a5(0x112)]='Remove\x20debug\x20code\x20before\x20committing',_0x1703bd[_0x1481a5(0x117)]=function(_0xafebfd,_0x198b99){return _0xafebfd>_0x198b99;},_0x1703bd[_0x1481a5(0xf6)]=function(_0x390a08,_0x28a094){return _0x390a08===_0x28a094;},_0x1703bd['QFFUT']=_0x1481a5(0xd8);const _0x427560=_0x1703bd;let _0x5f3e61=!![];return function(_0x4ff897,_0xf9535f){const _0x46e73e=_0x1481a5,_0x59dd21={'ERaFL':_0x427560[_0x46e73e(0x116)],'PPvsy':_0x427560[_0x46e73e(0x115)],'NZcDV':_0x427560[_0x46e73e(0x106)],'dsNyj':_0x427560[_0x46e73e(0xc4)],'XPHKv':_0x427560[_0x46e73e(0x107)],'zDqOW':function(_0x458de4,_0x587354){const _0x462588=_0x46e73e;return _0x427560[_0x462588(0x10a)](_0x458de4,_0x587354);},'pNJsd':'Edit','SeARZ':_0x46e73e(0xce),'dsgKX':_0x427560[_0x46e73e(0xda)],'SmQMy':_0x46e73e(0xd2),'jgYva':_0x427560[_0x46e73e(0xee)],'wqoPo':_0x427560[_0x46e73e(0x112)],'rWiAB':function(_0x3bccb5,_0x51ac3c){const _0x1237d0=_0x46e73e;return _0x427560[_0x1237d0(0x117)](_0x3bccb5,_0x51ac3c);}};if(_0x427560[_0x46e73e(0xf6)](_0x427560[_0x46e73e(0xdf)],_0x427560[_0x46e73e(0xdf)])){const _0x5530a1=_0x5f3e61?function(){const _0x1f9a32=_0x46e73e;if(_0x427560[_0x1f9a32(0x104)](_0x427560['fkNnt'],_0x427560[_0x1f9a32(0xd3)])){if(_0xf9535f){const _0x3f0ad9=_0xf9535f[_0x1f9a32(0xf0)](_0x4ff897,arguments);return _0xf9535f=null,_0x3f0ad9;}}else _0x5e54ec[_0x1f9a32(0x111)](0x0);}:function(){};return _0x5f3e61=![],_0x5530a1;}else{let _0x28b0ff;try{_0x28b0ff=_0x41323a[_0x46e73e(0xe7)](_0x451c27,_0x59dd21[_0x46e73e(0x10b)]);}catch{_0x351a9e[_0x46e73e(0x111)](0x0);}let _0x745d58=[],_0xc74cc4=[],_0x381125=_0x28b0ff[_0x46e73e(0x110)](/\bup\s*[:=\(]|def\s+upgrade\s*\(|function\s+up\s*\(/i),_0x5700a7=_0x28b0ff['match'](/\bdown\s*[:=\(]|def\s+downgrade\s*\(|function\s+down\s*\(/i);_0x381125||_0x745d58[_0x46e73e(0x108)](_0x59dd21[_0x46e73e(0xf5)]),_0x5700a7||_0xc74cc4['push'](_0x46e73e(0x100)),_0x28b0ff[_0x46e73e(0x110)](/DROP\s+TABLE/gi)&&(_0x28b0ff['match'](/IF\s+EXISTS/gi)||_0xc74cc4[_0x46e73e(0x108)](_0x59dd21[_0x46e73e(0xd0)])),_0x28b0ff[_0x46e73e(0x110)](/ADD\s+COLUMN/gi)&&(_0x28b0ff[_0x46e73e(0x110)](/DEFAULT|NULLABLE/gi)||_0xc74cc4[_0x46e73e(0x108)](_0x59dd21['dsNyj']));let _0x1fba63=[/DROP\s+COLUMN/gi,/DROP\s+TABLE/gi,/TRUNCATE/gi,/DELETE\s+FROM/gi];for(let _0x293126 of _0x1fba63)_0x293126[_0x46e73e(0xf8)](_0x28b0ff)&&(_0xc74cc4[_0x46e73e(0x108)]('DANGER:\x20'+_0x293126[_0x46e73e(0xf1)]+_0x46e73e(0xe5)),_0xc74cc4['push'](_0x59dd21[_0x46e73e(0xd6)]));_0x16f23f['match'](/(\d{10,14})/)&&_0x59dd21['zDqOW'](_0x5b4e5f[_0x46e73e(0xe9)],_0x59dd21[_0x46e73e(0x119)])&&(_0x745d58[_0x46e73e(0x108)](_0x59dd21['SeARZ']),_0x745d58[_0x46e73e(0x108)](_0x59dd21[_0x46e73e(0xc5)]),_0x745d58[_0x46e73e(0x108)](_0x59dd21[_0x46e73e(0xfd)])),_0x28b0ff[_0x46e73e(0x110)](/console\.log|print\(/)&&(_0xc74cc4[_0x46e73e(0x108)](_0x59dd21['jgYva']),_0xc74cc4[_0x46e73e(0x108)](_0x59dd21[_0x46e73e(0xe3)])),_0x59dd21[_0x46e73e(0x10d)](_0x745d58[_0x46e73e(0xd4)],0x0)&&(_0x2c3ec1[_0x46e73e(0x108)](_0x46e73e(0xca)),_0x6c0da1[_0x46e73e(0x108)](..._0x745d58)),_0xc74cc4[_0x46e73e(0xd4)]>0x0&&(_0x16ad8e[_0x46e73e(0x108)](_0x46e73e(0xc1)),_0x5437bf[_0x46e73e(0x108)](..._0xc74cc4));}};}()),_0x2d1be6=_0xbc9ab8(this,function(){const _0x52e94e=_0x3821,_0x5e5c84={};_0x5e5c84[_0x52e94e(0xe0)]=_0x52e94e(0xea);const _0x49d4a3=_0x5e5c84;return _0x2d1be6[_0x52e94e(0xe2)]()['search'](_0x49d4a3[_0x52e94e(0xe0)])['toString']()['constructor'](_0x2d1be6)[_0x52e94e(0xe8)](_0x52e94e(0xea));});function _0x3acd(){const _0x1aed5c=['LbJQD','Create\x20a\x20new\x20migration\x20to\x20make\x20additional\x20changes','njARQ','length','FSGyx','XPHKv','9808sFlMeF','DQTKe','Migration\x20contains\x20debug\x20statements\x20(console.log/print)','VBrKT','basename','utf8','DANGER:\x20','argv','QFFUT','JZCmC','DkItF','toString','wqoPo','704326fhpvki','\x20detected\x20-\x20this\x20causes\x20data\x20loss!','\x0a⚠️\x20\x20DATABASE\x20CHANGE\x20WARNINGS\x0a','readFileSync','search','tool','(((.+)+)+)+$','tool_input','DROP\x20TABLE\x20without\x20IF\x20EXISTS\x20-\x20migration\x20may\x20fail\x20on\x20retry','File:\x20','WxLDz','error','apply','source','Create\x20a\x20proper\x20migration\x20script\x20instead','BLOCKED:\x20Direct\x20database\x20schema\x20file\x20modification\x20is\x20forbidden','\x0a❌\x20DATABASE\x20CHANGE\x20VALIDATION\x20FAILED\x0a','PPvsy','jWEdD','ADD\x20COLUMN\x20without\x20DEFAULT\x20or\x20NULLABLE\x20-\x20may\x20fail\x20on\x20existing\x20data','test','172026srguuE','GKMbY','\x20\x20-\x20Django:\x20python\x20manage.py\x20makemigrations','WARNING:\x20ORM\x20model/entity\x20definitions\x20detected','SmQMy','2320434LNcSsf','When\x20changing\x20models,\x20create\x20a\x20migration\x20to\x20update\x20the\x20database','Migration\x20missing\x20DOWN/DOWNGRADE\x20function\x20(rollback\x20will\x20fail)','7926ZeMoep','KAoUz','file_path','MhAHa','fkNnt','AarCt','rGvMy','push','warn','tBKbe','ERaFL','26376LRLjcU','rWiAB','Database\x20changes\x20MUST\x20be\x20done\x20through\x20migration\x20scripts','Migrations\x20should\x20be\x20immutable\x20once\x20created','match','exit','CLqmy','Migration\x20missing\x20UP/UPGRADE\x20function','Create\x20a\x20migration\x20instead:','DiCfo','nDrCh','JdfkC','forEach','pNJsd','Dynamic\x20require\x20of\x20\x22','\x20\x20-\x20TypeORM:\x20npm\x20run\x20migration:generate\x20--\x20-n\x20YourChange','\x0aMIGRATION\x20WARNINGS:','1421uMcYEi','Ensure\x20you\x20have\x20a\x20backup\x20before\x20running\x20this\x20migration','eSZEE','dsgKX','\x0aDatabase\x20changes\x20must\x20follow\x20migration\x20workflow.\x0a','\x22\x20is\x20not\x20supported','\x20\x20-\x20Knex:\x20npx\x20knex\x20migrate:make\x20your_change','145584inlVNv','\x0aMIGRATION\x20VALIDATION\x20FAILED:','BppTc','Remove\x20debug\x20code\x20before\x20committing','path','BLOCKED:\x20Cannot\x20modify\x20existing\x20migration\x20file','1795SWYPjf','NZcDV'];_0x3acd=function(){return _0x1aed5c;};return _0x3acd();}function _0x3821(_0x69530d,_0x187488){_0x69530d=_0x69530d-0xbf;const _0x182033=_0x3acd();let _0x2d1be6=_0x182033[_0x69530d];return _0x2d1be6;}_0x2d1be6();var m=(_0x47ff2d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x47ff2d,{'get':(_0xd264d6,_0x146988)=>(typeof require<'u'?require:_0xd264d6)[_0x146988]}):_0x47ff2d)(function(_0x59c325){const _0x2208f4=_0x3821,_0x52499d={'anqnM':function(_0x2d4160,_0x47a7ba){return _0x2d4160<_0x47a7ba;},'FSGyx':function(_0x112824,_0x240c0a){return _0x112824(_0x240c0a);},'GKMbY':function(_0x51ea90,_0x5d1537){return _0x51ea90+_0x5d1537;},'GMJHd':function(_0x574017,_0x331b7d){return _0x574017+_0x331b7d;},'BppTc':_0x2208f4(0xbf),'LbJQD':_0x2208f4(0xc7)};if(_0x52499d['anqnM'](typeof require,'u'))return require[_0x2208f4(0xf0)](this,arguments);throw _0x52499d[_0x2208f4(0xd5)](Error,_0x52499d[_0x2208f4(0xfa)](_0x52499d['GMJHd'](_0x52499d[_0x2208f4(0xcb)],_0x59c325),_0x52499d[_0x2208f4(0xd1)]));}),l=m('fs'),f=m(_0x16ce98(0xcd)),d=process[_0x16ce98(0xde)][0x2]||'{}',u;try{u=JSON['parse'](d);}catch{process[_0x16ce98(0x111)](0x0);}var a=u[_0x16ce98(0xeb)]?.[_0x16ce98(0x103)];a||process['exit'](0x0);var t=[],n=[],r=f[_0x16ce98(0xdb)](a),D=[/schema\.sql$/i,/database\.sql$/i,/db\.sql$/i,/init\.sql$/i,/^schema\.(ts|js|py)$/i,/models\.py$/i,/entity\.(ts|js)$/i],p=a[_0x16ce98(0x110)](/migrations?\/|migrate\//i),E=D['some'](_0xe59359=>_0xe59359[_0x16ce98(0xf8)](r));E&&!p&&(t[_0x16ce98(0x108)](_0x16ce98(0xf3)),t['push'](_0x16ce98(0xed)+r),t[_0x16ce98(0x108)](_0x16ce98(0x10e)),t['push'](_0x16ce98(0x114)),t['push']('\x20\x20-\x20Sequelize:\x20npx\x20sequelize-cli\x20migration:generate\x20--name\x20your-change'),t[_0x16ce98(0x108)](_0x16ce98(0xc0)),t[_0x16ce98(0x108)](_0x16ce98(0xfb)),t[_0x16ce98(0x108)]('\x20\x20-\x20Prisma:\x20npx\x20prisma\x20migrate\x20dev\x20--name\x20your-change'),t[_0x16ce98(0x108)](_0x16ce98(0xc8)));if(!p&&a['match'](/\.(ts|js|py|sql)$/)){let e;try{e=l[_0x16ce98(0xe7)](a,_0x16ce98(0xdc));}catch{process[_0x16ce98(0x111)](0x0);}let i=[/ALTER\s+TABLE/gi,/DROP\s+TABLE/gi,/DROP\s+COLUMN/gi,/CREATE\s+TABLE/gi,/ADD\s+COLUMN/gi,/RENAME\s+TABLE/gi,/RENAME\s+COLUMN/gi,/CREATE\s+INDEX/gi,/DROP\s+INDEX/gi];for(let o of i)o[_0x16ce98(0xf8)](e)&&(t['push']('BLOCKED:\x20Direct\x20DDL\x20(Data\x20Definition\x20Language)\x20detected\x20in\x20code'),t[_0x16ce98(0x108)](_0x16ce98(0xed)+r),t['push']('Pattern:\x20'+o['source']),t[_0x16ce98(0x108)]('Database\x20schema\x20changes\x20MUST\x20be\x20in\x20migration\x20files,\x20not\x20in\x20application\x20code'),t[_0x16ce98(0x108)](_0x16ce98(0xf2)));let s=[/@Column\(/gi,/db\.Column\(/gi,/models\.CharField/gi,/type:\s*Sequelize\./gi],c=0x0;for(let o of s){let h=e[_0x16ce98(0x110)](o);h&&(c+=h[_0x16ce98(0xd4)]);}c>0x0&&!a['includes']('test')&&(n[_0x16ce98(0x108)](_0x16ce98(0xfc)),n['push'](_0x16ce98(0xed)+r),n[_0x16ce98(0x108)](_0x16ce98(0xff)),n['push']('Did\x20you\x20create\x20a\x20migration\x20for\x20these\x20changes?'));}if(p&&a[_0x16ce98(0x110)](/\.(ts|js|py|sql)$/)){let e;try{e=l[_0x16ce98(0xe7)](a,'utf8');}catch{process[_0x16ce98(0x111)](0x0);}let i=[],s=[],c=e[_0x16ce98(0x110)](/\bup\s*[:=\(]|def\s+upgrade\s*\(|function\s+up\s*\(/i),o=e[_0x16ce98(0x110)](/\bdown\s*[:=\(]|def\s+downgrade\s*\(|function\s+down\s*\(/i);c||i[_0x16ce98(0x108)](_0x16ce98(0x113)),o||s[_0x16ce98(0x108)]('Migration\x20missing\x20DOWN/DOWNGRADE\x20function\x20(rollback\x20will\x20fail)'),e[_0x16ce98(0x110)](/DROP\s+TABLE/gi)&&(e['match'](/IF\s+EXISTS/gi)||s[_0x16ce98(0x108)]('DROP\x20TABLE\x20without\x20IF\x20EXISTS\x20-\x20migration\x20may\x20fail\x20on\x20retry')),e[_0x16ce98(0x110)](/ADD\s+COLUMN/gi)&&(e[_0x16ce98(0x110)](/DEFAULT|NULLABLE/gi)||s[_0x16ce98(0x108)](_0x16ce98(0xf7)));let h=[/DROP\s+COLUMN/gi,/DROP\s+TABLE/gi,/TRUNCATE/gi,/DELETE\s+FROM/gi];for(let g of h)g[_0x16ce98(0xf8)](e)&&(s[_0x16ce98(0x108)](_0x16ce98(0xdd)+g['source']+_0x16ce98(0xe5)),s['push'](_0x16ce98(0xc3)));r[_0x16ce98(0x110)](/(\d{10,14})/)&&u['tool']==='Edit'&&(i[_0x16ce98(0x108)](_0x16ce98(0xce)),i['push'](_0x16ce98(0x10f)),i[_0x16ce98(0x108)]('Create\x20a\x20new\x20migration\x20to\x20make\x20additional\x20changes')),e['match'](/console\.log|print\(/)&&(s[_0x16ce98(0x108)](_0x16ce98(0xd9)),s[_0x16ce98(0x108)](_0x16ce98(0xcc))),i[_0x16ce98(0xd4)]>0x0&&(t['push'](_0x16ce98(0xca)),t[_0x16ce98(0x108)](...i)),s[_0x16ce98(0xd4)]>0x0&&(n[_0x16ce98(0x108)](_0x16ce98(0xc1)),n[_0x16ce98(0x108)](...s));}t[_0x16ce98(0xd4)]>0x0&&(console[_0x16ce98(0xef)](_0x16ce98(0xf4)),t[_0x16ce98(0x118)](_0x4e4fca=>console[_0x16ce98(0xef)]('\x20\x20'+_0x4e4fca)),console[_0x16ce98(0xef)](_0x16ce98(0xc6)),process['exit'](0x2)),n[_0x16ce98(0xd4)]>0x0&&(console[_0x16ce98(0x109)](_0x16ce98(0xe6)),n[_0x16ce98(0x118)](_0x98cae3=>console['warn']('\x20\x20'+_0x98cae3)),console[_0x16ce98(0x109)]('\x0a')),process['exit'](0x0);
2
+ const _0xc2ece5=_0x259b;(function(_0x39bcd3,_0x33b674){const _0x24db94=_0x259b,_0x57c3eb=_0x39bcd3();while(!![]){try{const _0x550b4d=parseInt(_0x24db94(0x19a))/0x1*(-parseInt(_0x24db94(0x18e))/0x2)+parseInt(_0x24db94(0x163))/0x3*(parseInt(_0x24db94(0x161))/0x4)+parseInt(_0x24db94(0x17b))/0x5*(parseInt(_0x24db94(0x184))/0x6)+-parseInt(_0x24db94(0x1a6))/0x7*(-parseInt(_0x24db94(0x189))/0x8)+parseInt(_0x24db94(0x1a7))/0x9+-parseInt(_0x24db94(0x16e))/0xa+-parseInt(_0x24db94(0x1a2))/0xb;if(_0x550b4d===_0x33b674)break;else _0x57c3eb['push'](_0x57c3eb['shift']());}catch(_0x1eb018){_0x57c3eb['push'](_0x57c3eb['shift']());}}}(_0x56ad,0x7f96f));const _0x321b9c=(function(){const _0x3a7d72=_0x259b,_0x4f1665={};_0x4f1665['alLEG']=_0x3a7d72(0x15a),_0x4f1665[_0x3a7d72(0x18c)]=_0x3a7d72(0x175),_0x4f1665[_0x3a7d72(0x1af)]='Ensure\x20you\x20have\x20a\x20backup\x20before\x20running\x20this\x20migration',_0x4f1665[_0x3a7d72(0x17e)]=_0x3a7d72(0x1a1),_0x4f1665[_0x3a7d72(0x162)]=function(_0x3315a0,_0x564531){return _0x3315a0>_0x564531;},_0x4f1665[_0x3a7d72(0x177)]=function(_0x331044,_0x3a5f0f){return _0x331044!==_0x3a5f0f;},_0x4f1665[_0x3a7d72(0x1a4)]=_0x3a7d72(0x15c),_0x4f1665['MCdNj']='ZTrKH';const _0x46d1ed=_0x4f1665;let _0x37c3cc=!![];return function(_0x36c94f,_0x3d997b){const _0x31b120=_0x3a7d72,_0x1ebd44={'jiqto':_0x46d1ed[_0x31b120(0x194)],'Fcynd':_0x46d1ed['JGrsH'],'BhWbu':_0x46d1ed[_0x31b120(0x1af)],'ZRFQk':_0x46d1ed[_0x31b120(0x17e)],'LhAJX':'Create\x20a\x20new\x20migration\x20to\x20make\x20additional\x20changes','yjJXw':function(_0x52b247,_0x364b09){return _0x46d1ed['RttNA'](_0x52b247,_0x364b09);},'Lnuxg':function(_0xaa030a,_0x1a287a){const _0x22b6e8=_0x31b120;return _0x46d1ed[_0x22b6e8(0x177)](_0xaa030a,_0x1a287a);},'thOSj':_0x46d1ed[_0x31b120(0x1a4)],'Pbqau':_0x46d1ed[_0x31b120(0x165)]},_0x6c8468=_0x37c3cc?function(){const _0x32b93d=_0x31b120,_0x4133fb={'SqsVh':_0x1ebd44[_0x32b93d(0x16a)],'UAlkE':'Migration\x20missing\x20DOWN/DOWNGRADE\x20function\x20(rollback\x20will\x20fail)','IGLlU':_0x1ebd44[_0x32b93d(0x168)],'NSStU':_0x1ebd44[_0x32b93d(0x1a5)],'iMzaV':function(_0x5d2f3d,_0x539858){return _0x5d2f3d===_0x539858;},'YsfZx':_0x1ebd44['ZRFQk'],'OJEZX':_0x1ebd44['LhAJX'],'rRqnD':function(_0xf7f10,_0x955261){const _0x9c3fa9=_0x32b93d;return _0x1ebd44[_0x9c3fa9(0x174)](_0xf7f10,_0x955261);}};if(_0x3d997b){if(_0x1ebd44['Lnuxg'](_0x1ebd44[_0x32b93d(0x187)],_0x1ebd44[_0x32b93d(0x172)])){const _0x294aca=_0x3d997b[_0x32b93d(0x17d)](_0x36c94f,arguments);return _0x3d997b=null,_0x294aca;}else{let _0x12428d;try{_0x12428d=_0x12cec6[_0x32b93d(0x15e)](_0x3defe1,_0x32b93d(0x1a8));}catch{_0x268888[_0x32b93d(0x19f)](0x0);}let _0x3a1563=[],_0x2217c7=[],_0x1a369a=_0x12428d[_0x32b93d(0x1a3)](/\bup\s*[:=\(]|def\s+upgrade\s*\(|function\s+up\s*\(/i),_0x32d19d=_0x12428d[_0x32b93d(0x1a3)](/\bdown\s*[:=\(]|def\s+downgrade\s*\(|function\s+down\s*\(/i);_0x1a369a||_0x3a1563[_0x32b93d(0x17f)](_0x4133fb[_0x32b93d(0x182)]),_0x32d19d||_0x2217c7['push'](_0x4133fb[_0x32b93d(0x173)]),_0x12428d[_0x32b93d(0x1a3)](/DROP\s+TABLE/gi)&&(_0x12428d[_0x32b93d(0x1a3)](/IF\s+EXISTS/gi)||_0x2217c7[_0x32b93d(0x17f)](_0x4133fb[_0x32b93d(0x166)])),_0x12428d[_0x32b93d(0x1a3)](/ADD\s+COLUMN/gi)&&(_0x12428d[_0x32b93d(0x1a3)](/DEFAULT|NULLABLE/gi)||_0x2217c7['push'](_0x32b93d(0x191)));let _0x10ee1c=[/DROP\s+COLUMN/gi,/DROP\s+TABLE/gi,/TRUNCATE/gi,/DELETE\s+FROM/gi];for(let _0x46466e of _0x10ee1c)_0x46466e['test'](_0x12428d)&&(_0x2217c7[_0x32b93d(0x17f)](_0x32b93d(0x18d)+_0x46466e['source']+_0x32b93d(0x1b1)),_0x2217c7[_0x32b93d(0x17f)](_0x4133fb['NSStU']));_0x5b25e5[_0x32b93d(0x1a3)](/(\d{10,14})/)&&_0x4133fb[_0x32b93d(0x159)](_0x304051['tool'],_0x4133fb['YsfZx'])&&(_0x3a1563[_0x32b93d(0x17f)](_0x32b93d(0x1b4)),_0x3a1563[_0x32b93d(0x17f)]('Migrations\x20should\x20be\x20immutable\x20once\x20created'),_0x3a1563[_0x32b93d(0x17f)](_0x4133fb[_0x32b93d(0x16f)])),_0x12428d[_0x32b93d(0x1a3)](/console\.log|print\(/)&&(_0x2217c7[_0x32b93d(0x17f)](_0x32b93d(0x1ab)),_0x2217c7[_0x32b93d(0x17f)](_0x32b93d(0x164))),_0x4133fb['rRqnD'](_0x3a1563['length'],0x0)&&(_0x4b8aee['push']('\x0aMIGRATION\x20VALIDATION\x20FAILED:'),_0x3cfc9f[_0x32b93d(0x17f)](..._0x3a1563)),_0x4133fb[_0x32b93d(0x1ad)](_0x2217c7['length'],0x0)&&(_0x544a74[_0x32b93d(0x17f)](_0x32b93d(0x18b)),_0x268806[_0x32b93d(0x17f)](..._0x2217c7));}}}:function(){};return _0x37c3cc=![],_0x6c8468;};}()),_0x2272cb=_0x321b9c(this,function(){const _0x29c45a=_0x259b,_0x4c1309={};_0x4c1309[_0x29c45a(0x1a9)]=_0x29c45a(0x193);const _0x4edb75=_0x4c1309;return _0x2272cb['toString']()[_0x29c45a(0x1b0)](_0x4edb75[_0x29c45a(0x1a9)])[_0x29c45a(0x188)]()[_0x29c45a(0x19b)](_0x2272cb)[_0x29c45a(0x1b0)](_0x4edb75[_0x29c45a(0x1a9)]);});_0x2272cb();var m=(_0x56b774=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x56b774,{'get':(_0x9d1d81,_0x5aa4c9)=>(typeof require<'u'?require:_0x9d1d81)[_0x5aa4c9]}):_0x56b774)(function(_0xc94e7){const _0xf1bcd5=_0x259b,_0xe35c8e={};_0xe35c8e['JckqW']=function(_0x475565,_0x3a4ff4){return _0x475565<_0x3a4ff4;},_0xe35c8e['zZsYo']='Dynamic\x20require\x20of\x20\x22',_0xe35c8e[_0xf1bcd5(0x1a0)]=_0xf1bcd5(0x181);const _0x3105ca=_0xe35c8e;if(_0x3105ca[_0xf1bcd5(0x15b)](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x3105ca[_0xf1bcd5(0x196)]+_0xc94e7+_0x3105ca[_0xf1bcd5(0x1a0)]);}),l=m('fs'),f=m(_0xc2ece5(0x1b3)),d=process[_0xc2ece5(0x179)][0x2]||'{}',u;function _0x259b(_0x3373f2,_0xe50ebb){_0x3373f2=_0x3373f2-0x159;const _0x4155f0=_0x56ad();let _0x2272cb=_0x4155f0[_0x3373f2];return _0x2272cb;}try{u=JSON[_0xc2ece5(0x1b2)](d);}catch{process['exit'](0x0);}var a=u[_0xc2ece5(0x19d)]?.[_0xc2ece5(0x199)];a||process[_0xc2ece5(0x19f)](0x0);var t=[],n=[],r=f[_0xc2ece5(0x19c)](a),D=[/schema\.sql$/i,/database\.sql$/i,/db\.sql$/i,/init\.sql$/i,/^schema\.(ts|js|py)$/i,/models\.py$/i,/entity\.(ts|js)$/i],p=a[_0xc2ece5(0x1a3)](/migrations?\/|migrate\//i),E=D['some'](_0x4a5de7=>_0x4a5de7[_0xc2ece5(0x185)](r));E&&!p&&(t[_0xc2ece5(0x17f)](_0xc2ece5(0x16c)),t[_0xc2ece5(0x17f)](_0xc2ece5(0x1ae)+r),t[_0xc2ece5(0x17f)](_0xc2ece5(0x192)),t['push'](_0xc2ece5(0x176)),t[_0xc2ece5(0x17f)]('\x20\x20-\x20Sequelize:\x20npx\x20sequelize-cli\x20migration:generate\x20--name\x20your-change'),t['push'](_0xc2ece5(0x18f)),t[_0xc2ece5(0x17f)]('\x20\x20-\x20Django:\x20python\x20manage.py\x20makemigrations'),t[_0xc2ece5(0x17f)](_0xc2ece5(0x15d)),t[_0xc2ece5(0x17f)](_0xc2ece5(0x195)));if(!p&&a['match'](/\.(ts|js|py|sql)$/)){let e;try{e=l['readFileSync'](a,'utf8');}catch{process[_0xc2ece5(0x19f)](0x0);}let i=[/ALTER\s+TABLE/gi,/DROP\s+TABLE/gi,/DROP\s+COLUMN/gi,/CREATE\s+TABLE/gi,/ADD\s+COLUMN/gi,/RENAME\s+TABLE/gi,/RENAME\s+COLUMN/gi,/CREATE\s+INDEX/gi,/DROP\s+INDEX/gi];for(let o of i)o[_0xc2ece5(0x185)](e)&&(t[_0xc2ece5(0x17f)](_0xc2ece5(0x15f)),t[_0xc2ece5(0x17f)](_0xc2ece5(0x1ae)+r),t[_0xc2ece5(0x17f)](_0xc2ece5(0x169)+o[_0xc2ece5(0x1aa)]),t[_0xc2ece5(0x17f)](_0xc2ece5(0x1ac)),t['push'](_0xc2ece5(0x186)));let s=[/@Column\(/gi,/db\.Column\(/gi,/models\.CharField/gi,/type:\s*Sequelize\./gi],c=0x0;for(let o of s){let h=e[_0xc2ece5(0x1a3)](o);h&&(c+=h[_0xc2ece5(0x183)]);}c>0x0&&!a[_0xc2ece5(0x160)]('test')&&(n[_0xc2ece5(0x17f)](_0xc2ece5(0x198)),n[_0xc2ece5(0x17f)]('File:\x20'+r),n[_0xc2ece5(0x17f)](_0xc2ece5(0x19e)),n[_0xc2ece5(0x17f)](_0xc2ece5(0x17a)));}function _0x56ad(){const _0x4c6ddc=['eACBy','\x20\x20-\x20Prisma:\x20npx\x20prisma\x20migrate\x20dev\x20--name\x20your-change','readFileSync','BLOCKED:\x20Direct\x20DDL\x20(Data\x20Definition\x20Language)\x20detected\x20in\x20code','includes','10856IuVIyj','RttNA','138gKCwTO','Remove\x20debug\x20code\x20before\x20committing','MCdNj','IGLlU','\x0a⚠️\x20\x20DATABASE\x20CHANGE\x20WARNINGS\x0a','Fcynd','Pattern:\x20','jiqto','\x0aMIGRATION\x20VALIDATION\x20FAILED:','BLOCKED:\x20Direct\x20database\x20schema\x20file\x20modification\x20is\x20forbidden','error','2670360neVEoD','OJEZX','\x0a❌\x20DATABASE\x20CHANGE\x20VALIDATION\x20FAILED\x0a','forEach','Pbqau','UAlkE','yjJXw','DROP\x20TABLE\x20without\x20IF\x20EXISTS\x20-\x20migration\x20may\x20fail\x20on\x20retry','Create\x20a\x20migration\x20instead:','XNFbI','Migration\x20missing\x20DOWN/DOWNGRADE\x20function\x20(rollback\x20will\x20fail)','argv','Did\x20you\x20create\x20a\x20migration\x20for\x20these\x20changes?','65NCkjrn','Ensure\x20you\x20have\x20a\x20backup\x20before\x20running\x20this\x20migration','apply','JecPW','push','Migrations\x20should\x20be\x20immutable\x20once\x20created','\x22\x20is\x20not\x20supported','SqsVh','length','456522NhoBeM','test','Create\x20a\x20proper\x20migration\x20script\x20instead','thOSj','toString','7963448ecOVDa','warn','\x0aMIGRATION\x20WARNINGS:','JGrsH','DANGER:\x20','1338516VYDvVT','\x20\x20-\x20TypeORM:\x20npm\x20run\x20migration:generate\x20--\x20-n\x20YourChange','\x0aDatabase\x20changes\x20must\x20follow\x20migration\x20workflow.\x0a','ADD\x20COLUMN\x20without\x20DEFAULT\x20or\x20NULLABLE\x20-\x20may\x20fail\x20on\x20existing\x20data','Database\x20changes\x20MUST\x20be\x20done\x20through\x20migration\x20scripts','(((.+)+)+)+$','alLEG','\x20\x20-\x20Knex:\x20npx\x20knex\x20migrate:make\x20your_change','zZsYo','tool','WARNING:\x20ORM\x20model/entity\x20definitions\x20detected','file_path','1ckgdVs','constructor','basename','tool_input','When\x20changing\x20models,\x20create\x20a\x20migration\x20to\x20update\x20the\x20database','exit','gBFUE','Edit','11261327jHBrkj','match','EvwcQ','BhWbu','7ZHeTxu','3359268lOceBX','utf8','orSnx','source','Migration\x20contains\x20debug\x20statements\x20(console.log/print)','Database\x20schema\x20changes\x20MUST\x20be\x20in\x20migration\x20files,\x20not\x20in\x20application\x20code','rRqnD','File:\x20','AOuCp','search','\x20detected\x20-\x20this\x20causes\x20data\x20loss!','parse','path','BLOCKED:\x20Cannot\x20modify\x20existing\x20migration\x20file','iMzaV','Migration\x20missing\x20UP/UPGRADE\x20function','JckqW'];_0x56ad=function(){return _0x4c6ddc;};return _0x56ad();}if(p&&a[_0xc2ece5(0x1a3)](/\.(ts|js|py|sql)$/)){let e;try{e=l[_0xc2ece5(0x15e)](a,_0xc2ece5(0x1a8));}catch{process['exit'](0x0);}let i=[],s=[],c=e[_0xc2ece5(0x1a3)](/\bup\s*[:=\(]|def\s+upgrade\s*\(|function\s+up\s*\(/i),o=e['match'](/\bdown\s*[:=\(]|def\s+downgrade\s*\(|function\s+down\s*\(/i);c||i[_0xc2ece5(0x17f)](_0xc2ece5(0x15a)),o||s[_0xc2ece5(0x17f)](_0xc2ece5(0x178)),e[_0xc2ece5(0x1a3)](/DROP\s+TABLE/gi)&&(e[_0xc2ece5(0x1a3)](/IF\s+EXISTS/gi)||s[_0xc2ece5(0x17f)](_0xc2ece5(0x175))),e[_0xc2ece5(0x1a3)](/ADD\s+COLUMN/gi)&&(e[_0xc2ece5(0x1a3)](/DEFAULT|NULLABLE/gi)||s[_0xc2ece5(0x17f)]('ADD\x20COLUMN\x20without\x20DEFAULT\x20or\x20NULLABLE\x20-\x20may\x20fail\x20on\x20existing\x20data'));let h=[/DROP\s+COLUMN/gi,/DROP\s+TABLE/gi,/TRUNCATE/gi,/DELETE\s+FROM/gi];for(let g of h)g[_0xc2ece5(0x185)](e)&&(s[_0xc2ece5(0x17f)]('DANGER:\x20'+g['source']+_0xc2ece5(0x1b1)),s[_0xc2ece5(0x17f)](_0xc2ece5(0x17c)));r['match'](/(\d{10,14})/)&&u[_0xc2ece5(0x197)]===_0xc2ece5(0x1a1)&&(i[_0xc2ece5(0x17f)](_0xc2ece5(0x1b4)),i[_0xc2ece5(0x17f)](_0xc2ece5(0x180)),i['push']('Create\x20a\x20new\x20migration\x20to\x20make\x20additional\x20changes')),e[_0xc2ece5(0x1a3)](/console\.log|print\(/)&&(s[_0xc2ece5(0x17f)](_0xc2ece5(0x1ab)),s[_0xc2ece5(0x17f)](_0xc2ece5(0x164))),i[_0xc2ece5(0x183)]>0x0&&(t[_0xc2ece5(0x17f)](_0xc2ece5(0x16b)),t[_0xc2ece5(0x17f)](...i)),s[_0xc2ece5(0x183)]>0x0&&(n[_0xc2ece5(0x17f)]('\x0aMIGRATION\x20WARNINGS:'),n[_0xc2ece5(0x17f)](...s));}t[_0xc2ece5(0x183)]>0x0&&(console[_0xc2ece5(0x16d)](_0xc2ece5(0x170)),t[_0xc2ece5(0x171)](_0x5c30f7=>console[_0xc2ece5(0x16d)]('\x20\x20'+_0x5c30f7)),console[_0xc2ece5(0x16d)](_0xc2ece5(0x190)),process['exit'](0x2)),n[_0xc2ece5(0x183)]>0x0&&(console['warn'](_0xc2ece5(0x167)),n['forEach'](_0x2a9525=>console[_0xc2ece5(0x18a)]('\x20\x20'+_0x2a9525)),console[_0xc2ece5(0x18a)]('\x0a')),process['exit'](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x16a41a=_0x2525;(function(_0x3de4ec,_0x30c6a1){var _0x2826bf=_0x2525,_0x343a7a=_0x3de4ec();while(!![]){try{var _0x342e80=parseInt(_0x2826bf(0x1bc))/0x1+-parseInt(_0x2826bf(0x18e))/0x2*(parseInt(_0x2826bf(0x189))/0x3)+-parseInt(_0x2826bf(0x1b2))/0x4*(-parseInt(_0x2826bf(0x1a0))/0x5)+-parseInt(_0x2826bf(0x19e))/0x6*(parseInt(_0x2826bf(0x191))/0x7)+-parseInt(_0x2826bf(0x1b1))/0x8*(parseInt(_0x2826bf(0x1a3))/0x9)+-parseInt(_0x2826bf(0x199))/0xa*(-parseInt(_0x2826bf(0x196))/0xb)+parseInt(_0x2826bf(0x18c))/0xc;if(_0x342e80===_0x30c6a1)break;else _0x343a7a['push'](_0x343a7a['shift']());}catch(_0x4ac78a){_0x343a7a['push'](_0x343a7a['shift']());}}}(_0x14a0,0x99be5));var _0x998938=(function(){var _0xa30f02=_0x2525,_0x31c2eb={};_0x31c2eb[_0xa30f02(0x190)]=_0xa30f02(0x182),_0x31c2eb[_0xa30f02(0x19b)]=_0xa30f02(0x1af),_0x31c2eb[_0xa30f02(0x1b5)]='Alnzf';var _0x142308=_0x31c2eb,_0x16c9be=!![];return function(_0x24235b,_0x4313b9){var _0x226c42=_0x16c9be?function(){var _0x51b6bb=_0x2525,_0x4b0375={};_0x4b0375['IZwBe']=_0x142308[_0x51b6bb(0x190)];var _0x48a341=_0x4b0375;if(_0x4313b9){if(_0x142308[_0x51b6bb(0x19b)]!==_0x142308[_0x51b6bb(0x1b5)]){var _0x31a1d5=_0x4313b9[_0x51b6bb(0x1ab)](_0x24235b,arguments);return _0x4313b9=null,_0x31a1d5;}else return _0x3a2498[_0x51b6bb(0x1a9)]()['search']('(((.+)+)+)+$')[_0x51b6bb(0x1a9)]()[_0x51b6bb(0x1bd)](_0x24d7d9)[_0x51b6bb(0x19c)](_0x48a341[_0x51b6bb(0x1b0)]);}}:function(){};return _0x16c9be=![],_0x226c42;};}()),_0x5879b4=_0x998938(this,function(){var _0x507699=_0x2525,_0x4712b3={};_0x4712b3[_0x507699(0x1b7)]='(((.+)+)+)+$';var _0x4cc914=_0x4712b3;return _0x5879b4[_0x507699(0x1a9)]()[_0x507699(0x19c)](_0x4cc914[_0x507699(0x1b7)])[_0x507699(0x1a9)]()[_0x507699(0x1bd)](_0x5879b4)[_0x507699(0x19c)]('(((.+)+)+)+$');});_0x5879b4();var i=(_0x9c1dda=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x9c1dda,{'get':(_0x3f6733,_0x24d6fb)=>(typeof require<'u'?require:_0x3f6733)[_0x24d6fb]}):_0x9c1dda)(function(_0x4d9b98){var _0x2aa902=_0x2525,_0x199948={'aHLkj':function(_0x1280f3,_0x3286c3){return _0x1280f3(_0x3286c3);},'ZSCHz':function(_0x16e6c6,_0x43bf07){return _0x16e6c6+_0x43bf07;},'wieAH':_0x2aa902(0x1a2)};if(typeof require<'u')return require[_0x2aa902(0x1ab)](this,arguments);throw _0x199948[_0x2aa902(0x188)](Error,_0x199948[_0x2aa902(0x1ad)](_0x2aa902(0x193)+_0x4d9b98,_0x199948['wieAH']));}),l=i('fs'),I=i(_0x16a41a(0x1bb)),{execSync:c}=i(_0x16a41a(0x198)),u=process['argv'][0x2]||'{}',r=JSON[_0x16a41a(0x1c1)](u),h=r['tool_input']?.[_0x16a41a(0x1a8)]||'',s=r['tool_output']||'',a=h['match'](/cypress|playwright|e2e|integration/i);a||process[_0x16a41a(0x1b9)](0x0);function _0x2525(_0x26a8ad,_0x529a70){_0x26a8ad=_0x26a8ad-0x181;var _0x1dea53=_0x14a0();var _0x5879b4=_0x1dea53[_0x26a8ad];return _0x5879b4;}var n=[],t=[],g=[/cy\.visit\(/,/page\.goto\(/,/browser\.url\(/,/goto\(/],f=g['some'](_0x324e7d=>_0x324e7d[_0x16a41a(0x1ac)](s));!f&&s['length']>0x0&&(t[_0x16a41a(0x19f)](_0x16a41a(0x18a)),t['push'](_0x16a41a(0x18d)));var d=[/cy\.get\(/,/cy\.click\(/,/page\.click\(/,/page\.fill\(/,/locator\(/,/getByRole\(/,/getByText\(/],E=d['some'](_0x1660cd=>_0x1660cd[_0x16a41a(0x1ac)](s));!E&&s['length']>0x0&&(t['push']('WARNING:\x20E2E\x20test\x20does\x20not\x20show\x20UI\x20interactions'),t['push'](_0x16a41a(0x1aa)));try{var _0xb98aad={};_0xb98aad[_0x16a41a(0x1c4)]=_0x16a41a(0x1a7),_0xb98aad[_0x16a41a(0x19a)]=['pipe',_0x16a41a(0x1a1),_0x16a41a(0x1c0)];var _0x26c7d9={};_0x26c7d9[_0x16a41a(0x1c4)]='utf8',_0x26c7d9[_0x16a41a(0x19a)]=['pipe','pipe',_0x16a41a(0x1c0)];let e=c(_0x16a41a(0x186),_0xb98aad)[_0x16a41a(0x1b6)]()[_0x16a41a(0x19d)]('\x0a')[_0x16a41a(0x195)](Boolean),o=c(_0x16a41a(0x181),_0x26c7d9)[_0x16a41a(0x1b6)]()[_0x16a41a(0x19d)]('\x0a')[_0x16a41a(0x195)](Boolean);e[_0x16a41a(0x1b4)]>0x5&&o[_0x16a41a(0x1b4)]===0x0&&(t[_0x16a41a(0x19f)]('WARNING:\x20Found\x20'+e[_0x16a41a(0x1b4)]+'\x20UI\x20components\x20but\x20NO\x20E2E\x20tests'),t[_0x16a41a(0x19f)](_0x16a41a(0x194)));}catch{}(s[_0x16a41a(0x197)]('Running:')||s[_0x16a41a(0x197)](_0x16a41a(0x184)))&&(s[_0x16a41a(0x1b8)](/expect|assert|should/i)||(n[_0x16a41a(0x19f)](_0x16a41a(0x1a6)),n[_0x16a41a(0x19f)](_0x16a41a(0x185))),s['match'](/0 passing/)&&s['match'](/\d+ pending/)&&(n[_0x16a41a(0x19f)](_0x16a41a(0x1ba)),n[_0x16a41a(0x19f)](_0x16a41a(0x183))),s[_0x16a41a(0x197)](_0x16a41a(0x1c3))&&!s['includes'](_0x16a41a(0x1be))&&(t[_0x16a41a(0x19f)](_0x16a41a(0x18b)),t[_0x16a41a(0x19f)]('Screenshots\x20alone\x20do\x20not\x20validate\x20functionality')));var m=[_0x16a41a(0x18f),'./cypress.config.ts','./playwright.config.js','./playwright.config.ts','./e2e/config.js'],y=m[_0x16a41a(0x1c2)](_0x35e783=>l[_0x16a41a(0x187)](_0x35e783));!y&&a&&(t['push'](_0x16a41a(0x1bf)),t[_0x16a41a(0x19f)](_0x16a41a(0x1ae))),n['length']>0x0&&(console[_0x16a41a(0x1b3)](_0x16a41a(0x192)),n['forEach'](_0xbf0900=>console['error']('\x20\x20'+_0xbf0900)),console['error']('\x0a'),process[_0x16a41a(0x1b9)](0x2)),t[_0x16a41a(0x1b4)]>0x0&&(console[_0x16a41a(0x1a4)](_0x16a41a(0x1a5)),t['forEach'](_0xfcba6d=>console[_0x16a41a(0x1a4)]('\x20\x20'+_0xfcba6d)),console[_0x16a41a(0x1a4)]('\x0a')),process['exit'](0x0);function _0x14a0(){var _0xab5739=['1289687TkqkFz','\x0a❌\x20E2E\x20TEST\x20VALIDATION\x20FAILED\x0a','Dynamic\x20require\x20of\x20\x22','Create\x20E2E\x20tests\x20in\x20./e2e/\x20or\x20./cypress/\x20directory','filter','2389684zAfhhz','includes','child_process','30JgGOPG','stdio','KvtDZ','search','split','18OWYyyQ','push','5KmBqEL','pipe','\x22\x20is\x20not\x20supported','9DpwFDV','warn','\x0a⚠️\x20\x20E2E\x20TEST\x20WARNINGS\x0a','BLOCKED:\x20E2E\x20test\x20ran\x20but\x20NO\x20assertions\x20found\x20in\x20output','utf8','command','toString','Add\x20clicks,\x20form\x20fills,\x20or\x20other\x20user\x20interactions','apply','test','ZSCHz','Expected:\x20cypress.config.js\x20or\x20playwright.config.ts','rBfQP','IZwBe','6057848wTazKS','1520516tLKDRV','error','length','duZZo','trim','caHfe','match','exit','BLOCKED:\x20All\x20E2E\x20tests\x20are\x20skipped/pending','path','12836fUBqji','constructor','expect','WARNING:\x20Running\x20E2E\x20tests\x20but\x20no\x20E2E\x20config\x20file\x20found','ignore','parse','some','screenshot','encoding','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','(((.+)+)+)+$','Remove\x20.skip\x20and\x20implement\x20the\x20tests','Test\x20Suites:','E2E\x20tests\x20must\x20validate\x20UI\x20behavior,\x20not\x20just\x20click\x20around','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','existsSync','aHLkj','885gXJMVw','WARNING:\x20E2E\x20test\x20output\x20does\x20not\x20show\x20page\x20navigation','WARNING:\x20E2E\x20test\x20took\x20screenshots\x20but\x20has\x20no\x20assertions','11571780aFNpjc','Are\x20you\x20testing\x20the\x20actual\x20UI\x20flow?','470xqvAwz','./cypress.config.js','pKVSn'];_0x14a0=function(){return _0xab5739;};return _0x14a0();}
2
+ var _0x1f7183=_0x3799;(function(_0x48c5a6,_0x310ce6){var _0x5f45c9=_0x3799,_0x12af03=_0x48c5a6();while(!![]){try{var _0x297da1=parseInt(_0x5f45c9(0xe4))/0x1+-parseInt(_0x5f45c9(0xd4))/0x2*(parseInt(_0x5f45c9(0x110))/0x3)+parseInt(_0x5f45c9(0xd9))/0x4*(-parseInt(_0x5f45c9(0xef))/0x5)+-parseInt(_0x5f45c9(0xec))/0x6+parseInt(_0x5f45c9(0xfc))/0x7*(-parseInt(_0x5f45c9(0xfb))/0x8)+parseInt(_0x5f45c9(0xdc))/0x9+parseInt(_0x5f45c9(0x10e))/0xa*(parseInt(_0x5f45c9(0x10d))/0xb);if(_0x297da1===_0x310ce6)break;else _0x12af03['push'](_0x12af03['shift']());}catch(_0x3eb3f4){_0x12af03['push'](_0x12af03['shift']());}}}(_0x28b5,0x6160d));var _0x5822bf=(function(){var _0x1ff4ba=_0x3799,_0x3778b0={};_0x3778b0[_0x1ff4ba(0xe2)]=function(_0x12096e,_0x52be90){return _0x12096e!==_0x52be90;},_0x3778b0['yXVfT']='gItgd',_0x3778b0['MBQBd']='ffklz';var _0x508c76=_0x3778b0,_0x49d02c=!![];return function(_0x353f22,_0x4ee9cc){if('clCvd'===_0x508c76['MBQBd']){if(_0x5156b1){var _0x552c70=_0x53693f['apply'](_0x235ac0,arguments);return _0x5290af=null,_0x552c70;}}else{var _0x59e06b=_0x49d02c?function(){var _0x529a24=_0x3799;if(_0x508c76[_0x529a24(0xe2)](_0x529a24(0xe8),_0x508c76[_0x529a24(0xd1)])){if(_0x4ee9cc){var _0x12d2fc=_0x4ee9cc['apply'](_0x353f22,arguments);return _0x4ee9cc=null,_0x12d2fc;}}else{var _0x25f879=_0x403033?function(){var _0x2c0c81=_0x529a24;if(_0x5f4af8){var _0x33d4f9=_0x1fbc8e[_0x2c0c81(0x102)](_0x35c17c,arguments);return _0x27e8c9=null,_0x33d4f9;}}:function(){};return _0x5f123b=![],_0x25f879;}}:function(){};return _0x49d02c=![],_0x59e06b;}};}()),_0x1f9bd3=_0x5822bf(this,function(){var _0x102ef8=_0x3799,_0x34c6ed={};_0x34c6ed[_0x102ef8(0x10b)]=_0x102ef8(0x101);var _0x1ee083=_0x34c6ed;return _0x1f9bd3[_0x102ef8(0xf7)]()[_0x102ef8(0xf8)](_0x1ee083[_0x102ef8(0x10b)])[_0x102ef8(0xf7)]()['constructor'](_0x1f9bd3)[_0x102ef8(0xf8)](_0x1ee083[_0x102ef8(0x10b)]);});_0x1f9bd3();var i=(_0x40a272=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x40a272,{'get':(_0x17a36e,_0x7e1fe)=>(typeof require<'u'?require:_0x17a36e)[_0x7e1fe]}):_0x40a272)(function(_0x356977){var _0x23b1cc=_0x3799,_0x246b98={'KvfNF':function(_0x1a1a25,_0x1f6ef6){return _0x1a1a25<_0x1f6ef6;},'TtHWH':function(_0x15d18e,_0x5c7e09){return _0x15d18e(_0x5c7e09);},'TsxfI':function(_0x5caeec,_0xd4d0d4){return _0x5caeec+_0xd4d0d4;},'QuSSX':function(_0x352dd1,_0x42b929){return _0x352dd1+_0x42b929;},'WlVLn':'Dynamic\x20require\x20of\x20\x22','xpPFR':'\x22\x20is\x20not\x20supported'};if(_0x246b98[_0x23b1cc(0xeb)](typeof require,'u'))return require[_0x23b1cc(0x102)](this,arguments);throw _0x246b98[_0x23b1cc(0xf9)](Error,_0x246b98[_0x23b1cc(0xe0)](_0x246b98[_0x23b1cc(0xd0)](_0x246b98[_0x23b1cc(0xdb)],_0x356977),_0x246b98[_0x23b1cc(0xe7)]));}),l=i('fs'),I=i('path'),{execSync:c}=i('child_process'),u=process[_0x1f7183(0x107)][0x2]||'{}',r=JSON[_0x1f7183(0x10f)](u),h=r['tool_input']?.[_0x1f7183(0xf0)]||'',s=r['tool_output']||'',a=h['match'](/cypress|playwright|e2e|integration/i);function _0x28b5(){var _0x2c1562=['98295TfJcdn','command','WARNING:\x20E2E\x20test\x20does\x20not\x20show\x20UI\x20interactions','ignore','screenshot','./e2e/config.js','expect','Expected:\x20cypress.config.js\x20or\x20playwright.config.ts','toString','search','TtHWH','length','6448YEcRgg','4613QtBXeT','Are\x20you\x20testing\x20the\x20actual\x20UI\x20flow?','forEach','./playwright.config.ts','E2E\x20tests\x20must\x20validate\x20UI\x20behavior,\x20not\x20just\x20click\x20around','(((.+)+)+)+$','apply','Remove\x20.skip\x20and\x20implement\x20the\x20tests','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','encoding','\x0a⚠️\x20\x20E2E\x20TEST\x20WARNINGS\x0a','argv','\x0a❌\x20E2E\x20TEST\x20VALIDATION\x20FAILED\x0a','pipe','error','qxmFR','./playwright.config.js','297UgNjLs','463270DSFHjj','parse','15MPXlbS','warn','QuSSX','yXVfT','split','Add\x20clicks,\x20form\x20fills,\x20or\x20other\x20user\x20interactions','188062GXIxat','\x20UI\x20components\x20but\x20NO\x20E2E\x20tests','push','exit','match','72JcwROE','Running:','WlVLn','7114041JJHUHS','utf8','includes','Test\x20Suites:','TsxfI','some','IlkQE','stdio','238293aejSXt','filter','WARNING:\x20Running\x20E2E\x20tests\x20but\x20no\x20E2E\x20config\x20file\x20found','xpPFR','DftuZ','BLOCKED:\x20All\x20E2E\x20tests\x20are\x20skipped/pending','BLOCKED:\x20E2E\x20test\x20ran\x20but\x20NO\x20assertions\x20found\x20in\x20output','KvfNF','3153234YABUsn','test','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'];_0x28b5=function(){return _0x2c1562;};return _0x28b5();}a||process['exit'](0x0);var n=[],t=[],g=[/cy\.visit\(/,/page\.goto\(/,/browser\.url\(/,/goto\(/],f=g[_0x1f7183(0xe1)](_0x270b8b=>_0x270b8b['test'](s));!f&&s[_0x1f7183(0xfa)]>0x0&&(t[_0x1f7183(0xd6)]('WARNING:\x20E2E\x20test\x20output\x20does\x20not\x20show\x20page\x20navigation'),t[_0x1f7183(0xd6)](_0x1f7183(0xfd)));var d=[/cy\.get\(/,/cy\.click\(/,/page\.click\(/,/page\.fill\(/,/locator\(/,/getByRole\(/,/getByText\(/],E=d[_0x1f7183(0xe1)](_0x2b4e5c=>_0x2b4e5c[_0x1f7183(0xed)](s));!E&&s[_0x1f7183(0xfa)]>0x0&&(t[_0x1f7183(0xd6)](_0x1f7183(0xf1)),t[_0x1f7183(0xd6)](_0x1f7183(0xd3)));try{var _0xcff744={};_0xcff744[_0x1f7183(0x105)]='utf8',_0xcff744[_0x1f7183(0xe3)]=[_0x1f7183(0x109),'pipe',_0x1f7183(0xf2)];var _0x3fdf0b={};_0x3fdf0b[_0x1f7183(0x105)]=_0x1f7183(0xdd),_0x3fdf0b[_0x1f7183(0xe3)]=['pipe',_0x1f7183(0x109),_0x1f7183(0xf2)];let e=c(_0x1f7183(0x104),_0xcff744)['trim']()[_0x1f7183(0xd2)]('\x0a')[_0x1f7183(0xe5)](Boolean),o=c(_0x1f7183(0xee),_0x3fdf0b)['trim']()[_0x1f7183(0xd2)]('\x0a')['filter'](Boolean);e[_0x1f7183(0xfa)]>0x5&&o[_0x1f7183(0xfa)]===0x0&&(t[_0x1f7183(0xd6)]('WARNING:\x20Found\x20'+e[_0x1f7183(0xfa)]+_0x1f7183(0xd5)),t[_0x1f7183(0xd6)]('Create\x20E2E\x20tests\x20in\x20./e2e/\x20or\x20./cypress/\x20directory'));}catch{}(s['includes'](_0x1f7183(0xda))||s[_0x1f7183(0xde)](_0x1f7183(0xdf)))&&(s[_0x1f7183(0xd8)](/expect|assert|should/i)||(n[_0x1f7183(0xd6)](_0x1f7183(0xea)),n[_0x1f7183(0xd6)](_0x1f7183(0x100))),s[_0x1f7183(0xd8)](/0 passing/)&&s['match'](/\d+ pending/)&&(n[_0x1f7183(0xd6)](_0x1f7183(0xe9)),n[_0x1f7183(0xd6)](_0x1f7183(0x103))),s['includes'](_0x1f7183(0xf3))&&!s[_0x1f7183(0xde)](_0x1f7183(0xf5))&&(t[_0x1f7183(0xd6)]('WARNING:\x20E2E\x20test\x20took\x20screenshots\x20but\x20has\x20no\x20assertions'),t['push']('Screenshots\x20alone\x20do\x20not\x20validate\x20functionality')));var m=['./cypress.config.js','./cypress.config.ts',_0x1f7183(0x10c),_0x1f7183(0xff),_0x1f7183(0xf4)],y=m[_0x1f7183(0xe1)](_0x27676f=>l['existsSync'](_0x27676f));function _0x3799(_0x42f238,_0x381470){_0x42f238=_0x42f238-0xcf;var _0x468354=_0x28b5();var _0x1f9bd3=_0x468354[_0x42f238];return _0x1f9bd3;}!y&&a&&(t[_0x1f7183(0xd6)](_0x1f7183(0xe6)),t[_0x1f7183(0xd6)](_0x1f7183(0xf6))),n[_0x1f7183(0xfa)]>0x0&&(console[_0x1f7183(0x10a)](_0x1f7183(0x108)),n[_0x1f7183(0xfe)](_0x31be0e=>console[_0x1f7183(0x10a)]('\x20\x20'+_0x31be0e)),console[_0x1f7183(0x10a)]('\x0a'),process[_0x1f7183(0xd7)](0x2)),t['length']>0x0&&(console['warn'](_0x1f7183(0x106)),t[_0x1f7183(0xfe)](_0x3de8d7=>console[_0x1f7183(0xcf)]('\x20\x20'+_0x3de8d7)),console['warn']('\x0a')),process['exit'](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function _0x1c1b(_0xeeb9ce,_0x3fe8b2){_0xeeb9ce=_0xeeb9ce-0x8c;var _0x19fa48=_0x3b1c();var _0x46ba51=_0x19fa48[_0xeeb9ce];return _0x46ba51;}var _0x1a5401=_0x1c1b;(function(_0x47fba4,_0x2754f0){var _0x1cc5f7=_0x1c1b,_0xed965d=_0x47fba4();while(!![]){try{var _0x2c6a61=parseInt(_0x1cc5f7(0xa1))/0x1*(parseInt(_0x1cc5f7(0xb7))/0x2)+parseInt(_0x1cc5f7(0xbc))/0x3+parseInt(_0x1cc5f7(0xc1))/0x4+-parseInt(_0x1cc5f7(0xa6))/0x5+-parseInt(_0x1cc5f7(0xb4))/0x6*(parseInt(_0x1cc5f7(0xba))/0x7)+-parseInt(_0x1cc5f7(0x9d))/0x8+parseInt(_0x1cc5f7(0xb8))/0x9;if(_0x2c6a61===_0x2754f0)break;else _0xed965d['push'](_0xed965d['shift']());}catch(_0xbc6ea9){_0xed965d['push'](_0xed965d['shift']());}}}(_0x3b1c,0xdacdc));var _0x72c059=(function(){var _0x574ab0=_0x1c1b,_0x438a1f={};_0x438a1f[_0x574ab0(0xb0)]=function(_0x4d8ffe,_0x2b4f23){return _0x4d8ffe===_0x2b4f23;},_0x438a1f[_0x574ab0(0xaa)]=_0x574ab0(0x8d),_0x438a1f[_0x574ab0(0xa7)]='tqfpw',_0x438a1f[_0x574ab0(0xbf)]=_0x574ab0(0xa0),_0x438a1f[_0x574ab0(0x93)]=_0x574ab0(0xa9);var _0xea6777=_0x438a1f,_0x5742c2=!![];return function(_0x3868b3,_0x6be8da){var _0x4c5c32=_0x574ab0;if(_0xea6777[_0x4c5c32(0xbf)]!==_0xea6777['RvVoO']){var _0x545908=_0x5742c2?function(){var _0x3fda54=_0x4c5c32;if(_0xea6777['UyZDq'](_0xea6777[_0x3fda54(0xaa)],_0xea6777[_0x3fda54(0xa7)])){var _0x46f43d=_0x3b16de?function(){var _0x2a0fe0=_0x3fda54;if(_0x883d0e){var _0xc8959c=_0x744717[_0x2a0fe0(0xab)](_0x236b60,arguments);return _0xc06860=null,_0xc8959c;}}:function(){};return _0x3ea35f=![],_0x46f43d;}else{if(_0x6be8da){var _0x53fca7=_0x6be8da[_0x3fda54(0xab)](_0x3868b3,arguments);return _0x6be8da=null,_0x53fca7;}}}:function(){};return _0x5742c2=![],_0x545908;}else{if(_0x1c9866){var _0x5f279f=_0x15271d[_0x4c5c32(0xab)](_0x5c4eb4,arguments);return _0x5c2218=null,_0x5f279f;}}};}()),_0x46ba51=_0x72c059(this,function(){var _0x496e61=_0x1c1b,_0x4c515b={};_0x4c515b[_0x496e61(0x9f)]='(((.+)+)+)+$';var _0x392b4c=_0x4c515b;return _0x46ba51[_0x496e61(0xb5)]()[_0x496e61(0xa3)](_0x392b4c[_0x496e61(0x9f)])[_0x496e61(0xb5)]()['constructor'](_0x46ba51)[_0x496e61(0xa3)]('(((.+)+)+)+$');});_0x46ba51();var n=(_0x1804d8=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x1804d8,{'get':(_0x1289c4,_0x205cea)=>(typeof require<'u'?require:_0x1289c4)[_0x205cea]}):_0x1804d8)(function(_0x5b2266){var _0x242de7=_0x1c1b,_0x207275={'rezcj':function(_0x3e08eb,_0x4d3d18){return _0x3e08eb<_0x4d3d18;},'nyDar':function(_0x1a690b,_0x3b5dce){return _0x1a690b(_0x3b5dce);},'sAgzg':function(_0x40b283,_0x4ec89d){return _0x40b283+_0x4ec89d;},'IDnQa':function(_0x5924be,_0x139813){return _0x5924be+_0x139813;},'QiJuk':_0x242de7(0xb2),'TEcGv':'\x22\x20is\x20not\x20supported'};if(_0x207275[_0x242de7(0xbd)](typeof require,'u'))return require['apply'](this,arguments);throw _0x207275['nyDar'](Error,_0x207275[_0x242de7(0xa2)](_0x207275[_0x242de7(0x94)](_0x207275[_0x242de7(0x90)],_0x5b2266),_0x207275[_0x242de7(0xbb)]));}),{execSync:s}=n(_0x1a5401(0xa8)),a=process[_0x1a5401(0x8c)][0x2]||'{}',i;try{i=JSON[_0x1a5401(0x98)](a);}catch{process[_0x1a5401(0x99)](0x0);}function _0x3b1c(){var _0x36f398=['stdio','QiJuk','git\x20rev-parse\x20--abbrev-ref\x20HEAD','command','RvVoO','IDnQa','includes','git\x20merge','git\x20commit','parse','exit','bugfix/','git','Valid\x20prefixes:\x20feature/,\x20bugfix/,\x20hotfix/','2924240ciPkcQ','trim','ajaHP','qVReX','1qQNacb','sAgzg','search','main','ignore','4813465DYZmZE','VJdxk','child_process','ZgTuK','jLTrL','apply','ERROR:\x20Force\x20push\x20is\x20blocked','hotfix/','git\x20push','ERROR:\x20Cannot\x20commit\x20directly\x20to\x20main\x20branch','UyZDq','Use\x20pull\x20requests\x20for\x20merging\x20to\x20main','Dynamic\x20require\x20of\x20\x22','error','6yUSsmz','toString','\x27\x20does\x20not\x20follow\x20naming\x20convention','654662AREOCg','5140233xLYYhz','Create\x20a\x20feature\x20branch:\x20git\x20checkout\x20-b\x20feature/your-feature-name','1860509ULqtlx','TEcGv','2682972ToNyjv','rezcj','git\x20push\x20-f','GnGxy','pipe','2789752TKGgcR','argv','QKtSz','encoding'];_0x3b1c=function(){return _0x36f398;};return _0x3b1c();}var r=i['tool_input']?.[_0x1a5401(0x92)]||'';r[_0x1a5401(0x95)](_0x1a5401(0x9b))||process[_0x1a5401(0x99)](0x0);var o;try{var _0x55ebe4={};_0x55ebe4[_0x1a5401(0x8e)]='utf8',_0x55ebe4[_0x1a5401(0x8f)]=[_0x1a5401(0xc0),_0x1a5401(0xc0),_0x1a5401(0xa5)],o=s(_0x1a5401(0x91),_0x55ebe4)[_0x1a5401(0x9e)]();}catch{process[_0x1a5401(0x99)](0x0);}o===_0x1a5401(0xa4)&&r['includes'](_0x1a5401(0x97))&&(console['error'](_0x1a5401(0xaf)),console[_0x1a5401(0xb3)](_0x1a5401(0xb9)),process['exit'](0x2)),o==='main'&&r['includes'](_0x1a5401(0x96))&&(console['error']('ERROR:\x20Cannot\x20merge\x20directly\x20on\x20main\x20branch'),console[_0x1a5401(0xb3)](_0x1a5401(0xb1)),process[_0x1a5401(0x99)](0x2));var u=['feature/',_0x1a5401(0x9a),_0x1a5401(0xad)],l=o==='main'||u['some'](_0x5eabe8=>o['startsWith'](_0x5eabe8));!l&&(r[_0x1a5401(0x95)](_0x1a5401(0x97))||r['includes'](_0x1a5401(0xae)))&&(console['error']('ERROR:\x20Branch\x20\x27'+o+_0x1a5401(0xb6)),console[_0x1a5401(0xb3)](_0x1a5401(0x9c)),console[_0x1a5401(0xb3)]('Example:\x20git\x20checkout\x20-b\x20feature/add-user-authentication'),process[_0x1a5401(0x99)](0x2)),(r[_0x1a5401(0x95)]('git\x20push\x20--force')||r[_0x1a5401(0x95)](_0x1a5401(0xbe)))&&(console[_0x1a5401(0xb3)](_0x1a5401(0xac)),process[_0x1a5401(0x99)](0x2)),process[_0x1a5401(0x99)](0x0);
2
+ var _0xa4d20e=_0x3528;(function(_0x44191f,_0x5deb8c){var _0x2f9f58=_0x3528,_0x36cd7a=_0x44191f();while(!![]){try{var _0x24fffd=parseInt(_0x2f9f58(0x11e))/0x1+-parseInt(_0x2f9f58(0x124))/0x2*(parseInt(_0x2f9f58(0x122))/0x3)+-parseInt(_0x2f9f58(0x129))/0x4+-parseInt(_0x2f9f58(0x100))/0x5+parseInt(_0x2f9f58(0x105))/0x6+-parseInt(_0x2f9f58(0x103))/0x7+parseInt(_0x2f9f58(0x10b))/0x8;if(_0x24fffd===_0x5deb8c)break;else _0x36cd7a['push'](_0x36cd7a['shift']());}catch(_0x2cfaac){_0x36cd7a['push'](_0x36cd7a['shift']());}}}(_0x5685,0xa7f03));var _0x3565f8=(function(){var _0x32427e=_0x3528,_0x4847ee={};_0x4847ee[_0x32427e(0x120)]='CBHNG';var _0x3cdd9d=_0x4847ee,_0x4b27f2=!![];return function(_0x2b4ae0,_0x10fdc3){var _0x398143=_0x32427e,_0x4f6480={};_0x4f6480[_0x398143(0x12f)]=function(_0x402a65,_0x99f31a){return _0x402a65!==_0x99f31a;},_0x4f6480[_0x398143(0x132)]=_0x3cdd9d[_0x398143(0x120)],_0x4f6480[_0x398143(0x117)]='mYWxt';var _0x324ff2=_0x4f6480,_0x4f4386=_0x4b27f2?function(){var _0x585a07=_0x398143;if(_0x324ff2[_0x585a07(0x12f)](_0x324ff2[_0x585a07(0x132)],_0x324ff2[_0x585a07(0x117)])){if(_0x10fdc3){var _0x1c95b4=_0x10fdc3[_0x585a07(0x11f)](_0x2b4ae0,arguments);return _0x10fdc3=null,_0x1c95b4;}}else{if(_0x8d79df){var _0x5081ce=_0x19ed79[_0x585a07(0x11f)](_0x4792f7,arguments);return _0x202bc4=null,_0x5081ce;}}}:function(){};return _0x4b27f2=![],_0x4f4386;};}()),_0x5f40e9=_0x3565f8(this,function(){var _0x399044=_0x3528,_0x31c96a={};_0x31c96a[_0x399044(0x10e)]=_0x399044(0x128);var _0x25a39c=_0x31c96a;return _0x5f40e9[_0x399044(0x11a)]()[_0x399044(0x118)](_0x25a39c[_0x399044(0x10e)])[_0x399044(0x11a)]()[_0x399044(0x115)](_0x5f40e9)[_0x399044(0x118)](_0x25a39c['yrCDt']);});_0x5f40e9();function _0x3528(_0x3198d4,_0x4505f8){_0x3198d4=_0x3198d4-0x100;var _0x551e23=_0x5685();var _0x5f40e9=_0x551e23[_0x3198d4];return _0x5f40e9;}var n=(_0xe3dc69=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0xe3dc69,{'get':(_0x4b2d38,_0x5084c0)=>(typeof require<'u'?require:_0x4b2d38)[_0x5084c0]}):_0xe3dc69)(function(_0x433ce9){var _0x39d3c6=_0x3528,_0x1155f5={'nPQPT':function(_0x42c6d5,_0x189b8b){return _0x42c6d5<_0x189b8b;},'pKLip':function(_0x4c5427,_0x15e0d3){return _0x4c5427(_0x15e0d3);},'Evcsz':function(_0x5dfd6d,_0x4305d3){return _0x5dfd6d+_0x4305d3;},'GyIGO':_0x39d3c6(0x121)};if(_0x1155f5[_0x39d3c6(0x125)](typeof require,'u'))return require['apply'](this,arguments);throw _0x1155f5['pKLip'](Error,_0x1155f5[_0x39d3c6(0x12c)](_0x1155f5[_0x39d3c6(0x12c)](_0x1155f5[_0x39d3c6(0x11b)],_0x433ce9),_0x39d3c6(0x126)));}),{execSync:s}=n(_0xa4d20e(0x104)),a=process[_0xa4d20e(0x106)][0x2]||'{}',i;try{i=JSON[_0xa4d20e(0x12b)](a);}catch{process[_0xa4d20e(0x112)](0x0);}function _0x5685(){var _0x31b61b=['2cWdouA','nPQPT','\x22\x20is\x20not\x20supported','\x27\x20does\x20not\x20follow\x20naming\x20convention','(((.+)+)+)+$','4445544ChcqcV','ERROR:\x20Branch\x20\x27','parse','Evcsz','Create\x20a\x20feature\x20branch:\x20git\x20checkout\x20-b\x20feature/your-feature-name','git\x20push\x20--force','tChzL','error','ERROR:\x20Force\x20push\x20is\x20blocked','rWXCK','4907900iEUCfB','some','git\x20commit','6313804lsXBXo','child_process','4154142AyZEMH','argv','encoding','git','includes','stdio','27559496IhquEs','ignore','ERROR:\x20Cannot\x20commit\x20directly\x20to\x20main\x20branch','yrCDt','trim','git\x20push\x20-f','Example:\x20git\x20checkout\x20-b\x20feature/add-user-authentication','exit','pipe','main','constructor','bugfix/','rpwXq','search','git\x20push','toString','GyIGO','tool_input','Use\x20pull\x20requests\x20for\x20merging\x20to\x20main','109325nNdhYo','apply','UDEty','Dynamic\x20require\x20of\x20\x22','1691418XeRLLs','utf8'];_0x5685=function(){return _0x31b61b;};return _0x5685();}var r=i[_0xa4d20e(0x11c)]?.['command']||'';r[_0xa4d20e(0x109)](_0xa4d20e(0x108))||process[_0xa4d20e(0x112)](0x0);var o;try{var _0x3e0c2f={};_0x3e0c2f[_0xa4d20e(0x107)]=_0xa4d20e(0x123),_0x3e0c2f[_0xa4d20e(0x10a)]=['pipe',_0xa4d20e(0x113),_0xa4d20e(0x10c)],o=s('git\x20rev-parse\x20--abbrev-ref\x20HEAD',_0x3e0c2f)[_0xa4d20e(0x10f)]();}catch{process[_0xa4d20e(0x112)](0x0);}o===_0xa4d20e(0x114)&&r['includes'](_0xa4d20e(0x102))&&(console[_0xa4d20e(0x130)](_0xa4d20e(0x10d)),console[_0xa4d20e(0x130)](_0xa4d20e(0x12d)),process[_0xa4d20e(0x112)](0x2)),o===_0xa4d20e(0x114)&&r['includes']('git\x20merge')&&(console['error']('ERROR:\x20Cannot\x20merge\x20directly\x20on\x20main\x20branch'),console[_0xa4d20e(0x130)](_0xa4d20e(0x11d)),process[_0xa4d20e(0x112)](0x2));var u=['feature/',_0xa4d20e(0x116),'hotfix/'],l=o===_0xa4d20e(0x114)||u[_0xa4d20e(0x101)](_0x202d6e=>o['startsWith'](_0x202d6e));!l&&(r[_0xa4d20e(0x109)](_0xa4d20e(0x102))||r[_0xa4d20e(0x109)](_0xa4d20e(0x119)))&&(console[_0xa4d20e(0x130)](_0xa4d20e(0x12a)+o+_0xa4d20e(0x127)),console[_0xa4d20e(0x130)]('Valid\x20prefixes:\x20feature/,\x20bugfix/,\x20hotfix/'),console[_0xa4d20e(0x130)](_0xa4d20e(0x111)),process[_0xa4d20e(0x112)](0x2)),(r[_0xa4d20e(0x109)](_0xa4d20e(0x12e))||r['includes'](_0xa4d20e(0x110)))&&(console[_0xa4d20e(0x130)](_0xa4d20e(0x131)),process[_0xa4d20e(0x112)](0x2)),process['exit'](0x0);
@@ -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 _0x20aff5=_0x52ec;(function(_0x37a4e1,_0x1cb2de){var _0x1a13c9=_0x52ec,_0x11ba3=_0x37a4e1();while(!![]){try{var _0x4aaf59=-parseInt(_0x1a13c9(0xed))/0x1*(-parseInt(_0x1a13c9(0x10b))/0x2)+parseInt(_0x1a13c9(0xd2))/0x3+-parseInt(_0x1a13c9(0xec))/0x4*(-parseInt(_0x1a13c9(0x107))/0x5)+-parseInt(_0x1a13c9(0x110))/0x6+parseInt(_0x1a13c9(0xc2))/0x7*(parseInt(_0x1a13c9(0xc8))/0x8)+-parseInt(_0x1a13c9(0x100))/0x9+parseInt(_0x1a13c9(0xe3))/0xa*(parseInt(_0x1a13c9(0xcf))/0xb);if(_0x4aaf59===_0x1cb2de)break;else _0x11ba3['push'](_0x11ba3['shift']());}catch(_0x3bacd6){_0x11ba3['push'](_0x11ba3['shift']());}}}(_0x9dfd,0x8c65d));var _0x3bd5db=(function(){var _0x2ab0a6=_0x52ec,_0x215ca5={'UHOCp':function(_0x263dee,_0x1dc7f1){return _0x263dee<_0x1dc7f1;},'pRZwo':function(_0x418bec,_0x3257fd){return _0x418bec(_0x3257fd);},'uHwbV':function(_0x27f9f,_0x81f90e){return _0x27f9f!==_0x81f90e;},'ieBmw':_0x2ab0a6(0xe2),'WdWZO':_0x2ab0a6(0xc4)},_0x1d0d58=!![];return function(_0x8b9e8a,_0xdbcae8){var _0x1448bb=_0x2ab0a6,_0xbbdffe={'LQVKz':function(_0x13045f,_0x5668b5){var _0x2c0651=_0x52ec;return _0x215ca5[_0x2c0651(0xbc)](_0x13045f,_0x5668b5);},'gbzqa':function(_0x57f22a,_0x3745d9){return _0x215ca5['pRZwo'](_0x57f22a,_0x3745d9);},'uYKNm':function(_0x5dc383,_0x86209){return _0x215ca5['uHwbV'](_0x5dc383,_0x86209);},'PSbJR':_0x215ca5[_0x1448bb(0xe9)],'ujOsw':_0x215ca5[_0x1448bb(0xb6)]},_0x3930fe=_0x1d0d58?function(){var _0xb914d7=_0x1448bb,_0x580dbd={'AmUpp':function(_0x43308a,_0x2ce4ed){var _0x31e4bf=_0x52ec;return _0xbbdffe[_0x31e4bf(0xbb)](_0x43308a,_0x2ce4ed);},'NOhxp':function(_0x266d52,_0x55c8f4){var _0x106532=_0x52ec;return _0xbbdffe[_0x106532(0x10f)](_0x266d52,_0x55c8f4);},'iadpv':function(_0xce9022,_0x2a4028){return _0xce9022+_0x2a4028;},'xUnxV':function(_0x5b7187,_0x4e36c2){return _0x5b7187+_0x4e36c2;}};if(_0xbbdffe[_0xb914d7(0x112)](_0xbbdffe[_0xb914d7(0x101)],_0xbbdffe['ujOsw'])){if(_0xdbcae8){var _0x126a2b=_0xdbcae8['apply'](_0x8b9e8a,arguments);return _0xdbcae8=null,_0x126a2b;}}else{if(_0x580dbd[_0xb914d7(0xd1)](typeof _0x3f7f7c,'u'))return _0x465791[_0xb914d7(0xc0)](this,arguments);throw _0x580dbd[_0xb914d7(0xe6)](_0x3cde8c,_0x580dbd[_0xb914d7(0xbd)](_0x580dbd['xUnxV'](_0xb914d7(0xdd),_0x314fe9),_0xb914d7(0x108)));}}:function(){};return _0x1d0d58=![],_0x3930fe;};}()),_0x1f692b=_0x3bd5db(this,function(){var _0x56acea=_0x52ec,_0x4fbbbc={};_0x4fbbbc[_0x56acea(0xe8)]='(((.+)+)+)+$';var _0x1bb286=_0x4fbbbc;return _0x1f692b[_0x56acea(0xb8)]()[_0x56acea(0xe5)]('(((.+)+)+)+$')['toString']()[_0x56acea(0xe7)](_0x1f692b)[_0x56acea(0xe5)](_0x1bb286[_0x56acea(0xe8)]);});_0x1f692b();var g=(_0x4f3ba6=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x4f3ba6,{'get':(_0x9ad2a2,_0x2aef01)=>(typeof require<'u'?require:_0x9ad2a2)[_0x2aef01]}):_0x4f3ba6)(function(_0x49cf4f){var _0x821e62=_0x52ec,_0x3e0003={'qYAyZ':function(_0x863265,_0x38d05d){return _0x863265(_0x38d05d);},'aXsLj':_0x821e62(0xdd),'iaDLU':_0x821e62(0x108)};if(typeof require<'u')return require[_0x821e62(0xc0)](this,arguments);throw _0x3e0003[_0x821e62(0x102)](Error,_0x3e0003[_0x821e62(0xfc)]+_0x49cf4f+_0x3e0003[_0x821e62(0x10a)]);}),h=g('fs'),E=g(_0x20aff5(0xfa)),{execSync:f}=g(_0x20aff5(0xee)),A=process[_0x20aff5(0xd3)][0x2]||'{}',m=JSON['parse'](A),r=m[_0x20aff5(0xdb)]?.['file_path'];(!r||!r[_0x20aff5(0x115)](/migrations?\/.*\.(ts|js|py|sql)$/i))&&process[_0x20aff5(0xce)](0x0);var o=[],s=[],N=E[_0x20aff5(0xf9)](r);console[_0x20aff5(0xc9)](_0x20aff5(0xeb)+N+'\x0a');var n;try{n=h['readFileSync'](r,_0x20aff5(0x10e));}catch{process[_0x20aff5(0xce)](0x0);}var a=new Set(),p=new Map(),T=/CREATE\s+TABLE\s+(?:IF\s+NOT\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi,c;for(;(c=T[_0x20aff5(0x113)](n))!==null;)a[_0x20aff5(0xb9)](c[0x1]);var R=/ALTER\s+TABLE\s+[`"]?(\w+)[`"]?/gi;for(;(c=R['exec'](n))!==null;)a[_0x20aff5(0xb9)](c[0x1]);var y=/DROP\s+TABLE\s+(?:IF\s+EXISTS\s+)?[`"]?(\w+)[`"]?/gi;function _0x9dfd(){var _0xb85478=['Migration\x20affects\x20tables\x20used\x20in\x20codebase','stdio','forEach','unknown','basename','path','RENAME\x20COLUMN','aXsLj','\x20\x20⚠️\x20\x20Found\x20','\x20\x20📋\x20REQUIRED\x20ACTIONS:\x0a','severity','8288568SsCNLe','PSbJR','qYAyZ','trim','Add\x20tests\x20to\x20verify\x20schema\x20changes\x20work\x20correctly','\x20\x204.\x20Create\x20a\x20rollback\x20plan','\x20\x202.\x20Update\x20ALL\x20tests\x20to\x20reflect\x20schema\x20changes','5lQDooK','\x22\x20is\x20not\x20supported','\x0aFix\x20code/tests\x20before\x20committing\x20migration.\x0a','iaDLU','108366eBFpvS','split','\x20\x20\x20\x20\x204.\x20Run:\x20npm\x20run\x20build\x20(verify\x20TypeScript\x20types\x20are\x20valid)','utf8','gbzqa','3834468HrVYtF','size','uYKNm','exec','\x20\x20📊\x20Migration\x20affects\x20tables:\x20','match','error','get','WdWZO','grep\x20-r\x20-l\x20\x22','toString','add','\x0a❌\x20MIGRATION\x20IMPACT\x20VALIDATION\x20FAILED\x0a','LQVKz','UHOCp','iadpv','Test\x20both\x20data\x20operations\x20and\x20edge\x20cases','\x20\x20\x20\x20\x20...\x20and\x20','apply','warn','7hGmiAb','You\x20MUST\x20update\x20affected\x20code\x20files','mxFLb','\x20more','\x20\x20Manual\x20code\x20review\x20required\x0a','pipe','1023656wqUhiR','log','from','ADD\x20NOT\x20NULL','test','detected','exit','935mhJpng','length','AmUpp','1971273WHODeW','argv','\x20\x20\x20\x20\x20-\x20','encoding','Consider\x20adding\x20indexes\x20for\x20columns\x20used\x20in\x20WHERE/JOIN\x20clauses','pattern','slice','Adding\x20columns\x20but\x20no\x20indexes\x20detected','ignore','tool_input','push','Dynamic\x20require\x20of\x20\x22','BLOCKED:\x20Breaking\x20database\x20changes\x20detected','\x20\x20\x20\x20\x201.\x20Review\x20and\x20update\x20','DROP\x20COLUMN','\x20\x20✅\x20Migration\x20impact\x20analysis\x20complete\x0a','vsqgI','27150HmYlUO','BREAKING','search','NOhxp','constructor','iIxhd','ieBmw','\x20\x20🚨\x20BREAKING\x20CHANGES\x20DETECTED:\x0a','\x0a🔍\x20ANALYZING\x20MIGRATION\x20IMPACT:\x20','2959980DCdSRk','7gARBkb','child_process','\x20files\x20that\x20reference\x20these\x20tables:\x0a','\x0a⚠️\x20\x20MIGRATION\x20IMPACT\x20WARNINGS\x0a','git\x20diff\x20--cached\x20--name-only\x20--diff-filter=AM\x20|\x20grep\x20-E\x20\x22test|spec\x22\x20||\x20echo\x20\x22\x22','type','You\x20MUST\x20update/create\x20tests\x20for\x20schema\x20changes','concat'];_0x9dfd=function(){return _0xb85478;};return _0x9dfd();}for(;(c=y[_0x20aff5(0x113)](n))!==null;)a[_0x20aff5(0xb9)](c[0x1]);var L=/@Column\([^)]*\)[\s\n]+(\w+):/gi;for(;(c=L['exec'](n))!==null;)p['set'](_0x20aff5(0xcd),(p[_0x20aff5(0xb5)](_0x20aff5(0xcd))||[])[_0x20aff5(0xf4)](c[0x1]));a[_0x20aff5(0x111)]===0x0&&p[_0x20aff5(0x111)]===0x0&&(console[_0x20aff5(0xc9)]('\x20\x20ℹ️\x20\x20Could\x20not\x20extract\x20table/column\x20names\x20from\x20migration'),console[_0x20aff5(0xc9)](_0x20aff5(0xc6)),process['exit'](0x0)),console['log'](_0x20aff5(0x114)+(Array[_0x20aff5(0xca)](a)['join'](',\x20')||_0x20aff5(0xf8))+'\x0a');var t=new Set();for(let e of a)try{var _0x3840b2={};_0x3840b2[_0x20aff5(0xd5)]=_0x20aff5(0x10e),_0x3840b2[_0x20aff5(0xf6)]=[_0x20aff5(0xc7),_0x20aff5(0xc7),_0x20aff5(0xda)];let i=f(_0x20aff5(0xb7)+e+'\x22\x20./src\x20./tests\x20--include=\x22*.ts\x22\x20--include=\x22*.js\x22\x20--include=\x22*.tsx\x22\x20--include=\x22*.jsx\x22\x20--include=\x22*.py\x22\x202>/dev/null\x20||\x20echo\x20\x22\x22',_0x3840b2)[_0x20aff5(0x103)]();i&&i[_0x20aff5(0x10c)]('\x0a')['filter'](Boolean)['forEach'](_0x12bef1=>t[_0x20aff5(0xb9)](_0x12bef1));}catch{}t[_0x20aff5(0x111)]>0x0&&(console[_0x20aff5(0xc9)](_0x20aff5(0xfd)+t['size']+_0x20aff5(0xef)),Array[_0x20aff5(0xca)](t)[_0x20aff5(0xd8)](0x0,0xa)[_0x20aff5(0xf7)](_0x3a11e7=>{var _0x2c9ef7=_0x20aff5;console[_0x2c9ef7(0xc9)](_0x2c9ef7(0xd4)+_0x3a11e7);}),t[_0x20aff5(0x111)]>0xa&&console[_0x20aff5(0xc9)](_0x20aff5(0xbf)+(t[_0x20aff5(0x111)]-0xa)+_0x20aff5(0xc5)),console[_0x20aff5(0xc9)](''),s[_0x20aff5(0xdc)](_0x20aff5(0xf5)),s['push'](_0x20aff5(0xc3)),s['push'](_0x20aff5(0xf3)));var _0x2a97e4={};_0x2a97e4[_0x20aff5(0xd7)]=/DROP\s+COLUMN/gi,_0x2a97e4['type']=_0x20aff5(0xe0),_0x2a97e4['severity']=_0x20aff5(0xe4);var _0x5032d1={};function _0x52ec(_0x5d7b1e,_0x3e243f){_0x5d7b1e=_0x5d7b1e-0xb4;var _0x591d5e=_0x9dfd();var _0x1f692b=_0x591d5e[_0x5d7b1e];return _0x1f692b;}_0x5032d1[_0x20aff5(0xd7)]=/DROP\s+TABLE/gi,_0x5032d1['type']='DROP\x20TABLE',_0x5032d1[_0x20aff5(0xff)]='BREAKING';var _0x37338c={};_0x37338c[_0x20aff5(0xd7)]=/RENAME\s+COLUMN/gi,_0x37338c[_0x20aff5(0xf2)]=_0x20aff5(0xfb),_0x37338c[_0x20aff5(0xff)]=_0x20aff5(0xe4);var _0x55dd55={};_0x55dd55[_0x20aff5(0xd7)]=/RENAME\s+TABLE/gi,_0x55dd55[_0x20aff5(0xf2)]='RENAME\x20TABLE',_0x55dd55[_0x20aff5(0xff)]=_0x20aff5(0xe4);var _0x386693={};_0x386693[_0x20aff5(0xd7)]=/ALTER\s+COLUMN.*NOT\s+NULL/gi,_0x386693[_0x20aff5(0xf2)]=_0x20aff5(0xcb),_0x386693['severity']=_0x20aff5(0xe4);var M=[_0x2a97e4,_0x5032d1,_0x37338c,_0x55dd55,_0x386693],l=[];for(let {pattern:e,type:i,severity:d}of M)e[_0x20aff5(0xcc)](n)&&l[_0x20aff5(0xdc)](i);l[_0x20aff5(0xd0)]>0x0&&(console[_0x20aff5(0xc9)](_0x20aff5(0xea)),l[_0x20aff5(0xf7)](_0x25828b=>{var _0x7a6de4=_0x20aff5;console['log'](_0x7a6de4(0xd4)+_0x25828b);}),console['log'](''),o['push'](_0x20aff5(0xde)),o[_0x20aff5(0xdc)]('Before\x20proceeding,\x20you\x20MUST:'),o[_0x20aff5(0xdc)]('\x20\x201.\x20Update\x20ALL\x20code\x20that\x20uses\x20affected\x20tables/columns'),o[_0x20aff5(0xdc)](_0x20aff5(0x106)),o['push']('\x20\x203.\x20Run\x20tests\x20to\x20verify\x20nothing\x20breaks'),o['push'](_0x20aff5(0x105)));try{var _0x57eb0c={};_0x57eb0c[_0x20aff5(0xd5)]=_0x20aff5(0x10e),_0x57eb0c['stdio']=[_0x20aff5(0xc7),'pipe',_0x20aff5(0xda)],!f(_0x20aff5(0xf1),_0x57eb0c)[_0x20aff5(0x103)]()&&t[_0x20aff5(0x111)]>0x0&&(s[_0x20aff5(0xdc)]('Database\x20schema\x20changed\x20but\x20NO\x20test\x20files\x20were\x20modified'),s['push'](_0x20aff5(0x104)),s[_0x20aff5(0xdc)](_0x20aff5(0xbe)));}catch{}n[_0x20aff5(0x115)](/ADD\s+(?:COLUMN\s+)?/gi)&&(n[_0x20aff5(0x115)](/CREATE\s+INDEX/gi)||(s['push'](_0x20aff5(0xd9)),s[_0x20aff5(0xdc)](_0x20aff5(0xd6)))),(t[_0x20aff5(0x111)]>0x0||l[_0x20aff5(0xd0)]>0x0)&&(console[_0x20aff5(0xc9)](_0x20aff5(0xfe)),console[_0x20aff5(0xc9)](_0x20aff5(0xdf)+t[_0x20aff5(0x111)]+'\x20affected\x20code\x20files'),console[_0x20aff5(0xc9)]('\x20\x20\x20\x20\x202.\x20Update\x20tests\x20to\x20cover\x20new\x20schema'),console[_0x20aff5(0xc9)]('\x20\x20\x20\x20\x203.\x20Run:\x20npm\x20test\x20(verify\x20all\x20tests\x20pass)'),console['log'](_0x20aff5(0x10d)),console['log']('\x20\x20\x20\x20\x205.\x20Document\x20breaking\x20changes\x20in\x20commit\x20message'),console['log']('')),o['length']>0x0&&(console['error'](_0x20aff5(0xba)),o[_0x20aff5(0xf7)](_0x9bdb24=>console[_0x20aff5(0xb4)]('\x20\x20'+_0x9bdb24)),console['error'](_0x20aff5(0x109)),process['exit'](0x2)),s['length']>0x0&&(console[_0x20aff5(0xc1)](_0x20aff5(0xf0)),s['forEach'](_0x1348b4=>console[_0x20aff5(0xc1)]('\x20\x20'+_0x1348b4)),console['warn']('\x0a')),console[_0x20aff5(0xc9)](_0x20aff5(0xe1)),process['exit'](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x294807=_0x21cb;(function(_0xd93d88,_0x293ca9){var _0x59a726=_0x21cb,_0x1c8eb7=_0xd93d88();while(!![]){try{var _0x31a2bd=-parseInt(_0x59a726(0x188))/0x1*(parseInt(_0x59a726(0x18d))/0x2)+-parseInt(_0x59a726(0x19b))/0x3*(-parseInt(_0x59a726(0x18e))/0x4)+-parseInt(_0x59a726(0x1a2))/0x5*(parseInt(_0x59a726(0x16e))/0x6)+parseInt(_0x59a726(0x196))/0x7*(parseInt(_0x59a726(0x173))/0x8)+parseInt(_0x59a726(0x1b0))/0x9*(-parseInt(_0x59a726(0x1b7))/0xa)+-parseInt(_0x59a726(0x1ac))/0xb*(-parseInt(_0x59a726(0x16f))/0xc)+parseInt(_0x59a726(0x1b2))/0xd*(parseInt(_0x59a726(0x1a0))/0xe);if(_0x31a2bd===_0x293ca9)break;else _0x1c8eb7['push'](_0x1c8eb7['shift']());}catch(_0xfeeb87){_0x1c8eb7['push'](_0x1c8eb7['shift']());}}}(_0xe1ff,0x67ea3));function _0x21cb(_0x2cef4a,_0x152f1d){_0x2cef4a=_0x2cef4a-0x168;var _0x363f4d=_0xe1ff();var _0x3c976e=_0x363f4d[_0x2cef4a];return _0x3c976e;}var _0x32bb1a=(function(){var _0x3b883e=_0x21cb,_0xfdb76b={};_0xfdb76b[_0x3b883e(0x1a6)]=function(_0x44c002,_0x3b2b22){return _0x44c002>_0x3b2b22;},_0xfdb76b[_0x3b883e(0x170)]=_0x3b883e(0x175),_0xfdb76b[_0x3b883e(0x1ad)]=function(_0x522328,_0x315b8b){return _0x522328===_0x315b8b;},_0xfdb76b[_0x3b883e(0x172)]=_0x3b883e(0x195),_0xfdb76b[_0x3b883e(0x1a4)]=_0x3b883e(0x18a),_0xfdb76b[_0x3b883e(0x19e)]=function(_0xd68319,_0x428c23){return _0xd68319!==_0x428c23;},_0xfdb76b['IhOKY']=_0x3b883e(0x192);var _0x271315=_0xfdb76b,_0x4e24e5=!![];return function(_0x1df722,_0x24d31b){var _0x96dc2c=_0x3b883e,_0x160c12={'ouhYc':function(_0x42f7df,_0x29c2fe){var _0x1842b1=_0x21cb;return _0x271315[_0x1842b1(0x1a6)](_0x42f7df,_0x29c2fe);},'pMeLz':_0x271315[_0x96dc2c(0x170)],'JyLuV':function(_0x2e4864,_0x539582){var _0x528822=_0x96dc2c;return _0x271315[_0x528822(0x1ad)](_0x2e4864,_0x539582);},'ewAax':_0x271315[_0x96dc2c(0x172)],'bRxdy':function(_0x3a6a5e,_0x5ebb8e){return _0x3a6a5e===_0x5ebb8e;},'bDUod':_0x271315[_0x96dc2c(0x1a4)]};if(_0x271315[_0x96dc2c(0x19e)](_0x271315['IhOKY'],_0x271315['IhOKY'])){if(_0x339ff0){var _0x145689=_0xf2fae1[_0x96dc2c(0x190)](_0x57b7f9,arguments);return _0x4cdf02=null,_0x145689;}}else{var _0xab54c5=_0x4e24e5?function(){var _0x31e887=_0x96dc2c,_0x5f51ac={'mAOuh':function(_0x204602,_0x571a0a){var _0x533cb2=_0x21cb;return _0x160c12[_0x533cb2(0x17f)](_0x204602,_0x571a0a);},'QGwRf':_0x160c12[_0x31e887(0x169)]};if(_0x160c12[_0x31e887(0x178)](_0x160c12[_0x31e887(0x184)],'XYOlR')){if(_0x24d31b){if(_0x160c12[_0x31e887(0x198)](_0x160c12[_0x31e887(0x1a8)],_0x160c12[_0x31e887(0x1a8)])){var _0x426d76=_0x24d31b[_0x31e887(0x190)](_0x1df722,arguments);return _0x24d31b=null,_0x426d76;}else{var _0x4553e4=_0x1486e1[_0x31e887(0x190)](_0x50444a,arguments);return _0xdf75fd=null,_0x4553e4;}}}else{let _0x49d118=_0x132073['match'](/-m\s+["']([^"']+)["']/);if(_0x49d118){let _0x120ac1=_0x49d118[0x1];!_0x27352e[_0x31e887(0x1b4)][_0x31e887(0x180)](_0x7480df=>_0x7480df['id'])[_0x31e887(0x1a7)](_0x478c3c=>_0x120ac1['includes'](_0x478c3c))&&_0x5f51ac[_0x31e887(0x187)](_0x2f2777[_0x31e887(0x18c)],0x0)&&(_0x4a29ec[_0x31e887(0x197)](_0x5f51ac[_0x31e887(0x183)]),_0x1dec4a[_0x31e887(0x197)]('Active\x20task:\x20'+_0x35303e[0x0]['id']+'\x20-\x20'+_0x209a77[0x0][_0x31e887(0x1ab)]),_0x2ce558[_0x31e887(0x197)](_0x31e887(0x199)+_0x535e11[0x0]['id']+']\x20'+_0x120ac1));}}}:function(){};return _0x4e24e5=![],_0xab54c5;}};}()),_0x3c976e=_0x32bb1a(this,function(){var _0x1e84cf=_0x21cb,_0x38dba6={};_0x38dba6[_0x1e84cf(0x16d)]='(((.+)+)+)+$';var _0x491288=_0x38dba6;return _0x3c976e[_0x1e84cf(0x16a)]()[_0x1e84cf(0x186)](_0x491288['KoqVw'])['toString']()[_0x1e84cf(0x1b6)](_0x3c976e)['search'](_0x491288['KoqVw']);});_0x3c976e();var c=(_0xa3f7d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0xa3f7d,{'get':(_0x5c3945,_0x24f1bd)=>(typeof require<'u'?require:_0x5c3945)[_0x24f1bd]}):_0xa3f7d)(function(_0x1f6947){var _0x4a7e18=_0x21cb,_0x20da6f={'MyzSH':function(_0x1b3b39,_0xaed6e2){return _0x1b3b39<_0xaed6e2;},'NGvXk':function(_0x520293,_0x30956e){return _0x520293(_0x30956e);},'YooaM':function(_0x2f0818,_0x2f8889){return _0x2f0818+_0x2f8889;},'qHCil':_0x4a7e18(0x1b5)};if(_0x20da6f['MyzSH'](typeof require,'u'))return require[_0x4a7e18(0x190)](this,arguments);throw _0x20da6f[_0x4a7e18(0x19a)](Error,_0x20da6f[_0x4a7e18(0x1a5)](_0x20da6f['YooaM'](_0x20da6f[_0x4a7e18(0x17c)],_0x1f6947),_0x4a7e18(0x19d)));}),i=c('fs'),u=c(_0x294807(0x168)),{execSync:I}=c('child_process'),h=process[_0x294807(0x176)][0x2]||'{}',p=JSON['parse'](h),l=p['tool_input']?.[_0x294807(0x1af)]||'',r=[],n=[];l[_0x294807(0x17e)](_0x294807(0x191))||process[_0x294807(0x1b1)](0x0);var m='.claude/TASK-TRACKER.json';i[_0x294807(0x1b3)](m)||process[_0x294807(0x1b1)](0x0);function _0xe1ff(){var _0x444844=['\x20\x20\x20\x20node\x20.claude/hooks/complete-task.js\x20','WARNING:\x20Commit\x20message\x20does\x20not\x20reference\x20task\x20ID','argv','status','JyLuV','BLOCKED:\x20No\x20active\x20task\x20when\x20attempting\x20commit','Consider\x20breaking\x20it\x20into\x20smaller\x20tasks\x20or\x20marking\x20it\x20as\x20blocked','match','qHCil','Or\x20mark\x20a\x20task\x20as\x20completed\x20if\x20you\x20just\x20finished\x20it','includes','ouhYc','map','forEach','\x0a❌\x20TASK\x20COMPLETION\x20VALIDATION\x20FAILED\x0a','QGwRf','ewAax','warn','search','mAOuh','8909ZdzNWn','\x0a⚠️\x20\x20TASK\x20COMPLETION\x20WARNINGS\x0a','csWgZ','utf8','length','178XQFuYI','732VQlIrK','log','apply','git\x20commit','rPOct','floor','\x20-\x20','XYOlR','56nBZiON','push','bRxdy','Consider\x20adding\x20task\x20reference:\x20[','NGvXk','11571mKwZUH','\x20\x20Completion\x20criteria:','\x22\x20is\x20not\x20supported','dDNRN','filter','5558QCiOxN','\x20has\x20been\x20in\x20progress\x20for\x20','5cxZncn','Mark\x20a\x20task\x20as\x20in_progress\x20before\x20committing','ehryK','YooaM','RxfVp','some','bDUod','parse','error','title','11fSpsmQ','HtPyV','completionCriteria','command','387837MUbNBA','exit','15340ZiJSAf','existsSync','tasks','Dynamic\x20require\x20of\x20\x22','constructor','10SiHhMi','path','pMeLz','toString','Active\x20task:\x20','\x0a\x20\x20Have\x20you\x20completed\x20all\x20criteria?\x20If\x20yes:','KoqVw','2232078ocQdfh','4063956sslorq','WkBDL','WARNING:\x20Task\x20','CpSyK','120688oZWQeB'];_0xe1ff=function(){return _0x444844;};return _0xe1ff();}var f=JSON[_0x294807(0x1a9)](i['readFileSync'](m,_0x294807(0x18b))),t=f[_0x294807(0x1b4)][_0x294807(0x19f)](_0x2bcc34=>_0x2bcc34[_0x294807(0x177)]==='in_progress');t['length']===0x0&&(r[_0x294807(0x197)](_0x294807(0x179)),r[_0x294807(0x197)](_0x294807(0x1a3)),r[_0x294807(0x197)](_0x294807(0x17d)));try{let s=l[_0x294807(0x17b)](/-m\s+["']([^"']+)["']/);if(s){let e=s[0x1];!f['tasks'][_0x294807(0x180)](_0x45691a=>_0x45691a['id'])[_0x294807(0x1a7)](_0x131899=>e[_0x294807(0x17e)](_0x131899))&&t[_0x294807(0x18c)]>0x0&&(n['push'](_0x294807(0x175)),n[_0x294807(0x197)](_0x294807(0x16b)+t[0x0]['id']+_0x294807(0x194)+t[0x0]['title']),n['push'](_0x294807(0x199)+t[0x0]['id']+']\x20'+e));}}catch{}for(let s of t)s[_0x294807(0x1ae)]&&s[_0x294807(0x1ae)]['length']>0x0&&(console[_0x294807(0x18f)]('\x0a📋\x20TASK\x20COMPLETION\x20CHECKLIST:\x20'+s['id']+'\x0a'),console[_0x294807(0x18f)]('\x20\x20Task:\x20'+s['title']+'\x0a'),console[_0x294807(0x18f)](_0x294807(0x19c)),s['completionCriteria']['forEach']((_0x311d13,_0x346a5b)=>{console['log']('\x20\x20\x20\x20'+(_0x346a5b+0x1)+'.\x20'+_0x311d13);}),console['log'](_0x294807(0x16c)),console[_0x294807(0x18f)](_0x294807(0x174)+s['id']+'\x0a'));var d=new Date();for(let s of t)if(s['startedAt']){let e=new Date(s['startedAt']),o=(d-e)/(0x3e8*0x3c*0x3c);o>0x8&&(n[_0x294807(0x197)](_0x294807(0x171)+s['id']+_0x294807(0x1a1)+Math[_0x294807(0x193)](o)+'\x20hours'),n[_0x294807(0x197)](_0x294807(0x17a)));}r[_0x294807(0x18c)]>0x0&&(console[_0x294807(0x1aa)](_0x294807(0x182)),r[_0x294807(0x181)](_0x12a118=>console[_0x294807(0x1aa)]('\x20\x20'+_0x12a118)),console[_0x294807(0x1aa)]('\x0a'),process[_0x294807(0x1b1)](0x2)),n['length']>0x0&&(console[_0x294807(0x185)](_0x294807(0x189)),n[_0x294807(0x181)](_0x580013=>console[_0x294807(0x185)]('\x20\x20'+_0x580013)),console[_0x294807(0x185)]('\x0a')),process[_0x294807(0x1b1)](0x0);
2
+ var _0x21d7c2=_0x4333;function _0x4333(_0x41c1c1,_0x43f357){_0x41c1c1=_0x41c1c1-0x99;var _0xfc4f98=_0x4664();var _0x36501a=_0xfc4f98[_0x41c1c1];return _0x36501a;}(function(_0x43db2c,_0x37f2a1){var _0x2e457d=_0x4333,_0x11e096=_0x43db2c();while(!![]){try{var _0xeffd53=-parseInt(_0x2e457d(0xae))/0x1*(parseInt(_0x2e457d(0xc3))/0x2)+-parseInt(_0x2e457d(0xa5))/0x3*(-parseInt(_0x2e457d(0xb2))/0x4)+-parseInt(_0x2e457d(0xdb))/0x5*(-parseInt(_0x2e457d(0xce))/0x6)+-parseInt(_0x2e457d(0xca))/0x7*(parseInt(_0x2e457d(0x9e))/0x8)+parseInt(_0x2e457d(0xb9))/0x9*(-parseInt(_0x2e457d(0x9d))/0xa)+-parseInt(_0x2e457d(0xd7))/0xb*(-parseInt(_0x2e457d(0xc1))/0xc)+parseInt(_0x2e457d(0xbb))/0xd;if(_0xeffd53===_0x37f2a1)break;else _0x11e096['push'](_0x11e096['shift']());}catch(_0x5dc147){_0x11e096['push'](_0x11e096['shift']());}}}(_0x4664,0xe770a));var _0x1a1233=(function(){var _0x2f19b2=_0x4333,_0x1ccf37={};_0x1ccf37[_0x2f19b2(0xc9)]=function(_0x48c96b,_0x3e1fcb){return _0x48c96b===_0x3e1fcb;};var _0x4fa3ea=_0x1ccf37,_0x167614=!![];return function(_0x420934,_0x4c5cf6){var _0x212781={'EuPKB':function(_0x46b1b0,_0x3feeef){var _0x1ed16d=_0x4333;return _0x4fa3ea[_0x1ed16d(0xc9)](_0x46b1b0,_0x3feeef);},'ZIMMe':'ruAQm'},_0x758f43=_0x167614?function(){var _0xdc93fb=_0x4333;if(_0x212781[_0xdc93fb(0xa9)](_0x212781[_0xdc93fb(0xda)],_0x212781[_0xdc93fb(0xda)])){if(_0x4c5cf6){var _0x3ec681=_0x4c5cf6[_0xdc93fb(0xad)](_0x420934,arguments);return _0x4c5cf6=null,_0x3ec681;}}else{var _0x24454d=_0x227b2b[_0xdc93fb(0xad)](_0x367e16,arguments);return _0x5a1904=null,_0x24454d;}}:function(){};return _0x167614=![],_0x758f43;};}()),_0x36501a=_0x1a1233(this,function(){var _0x5d53b0=_0x4333,_0x11cefe={};_0x11cefe[_0x5d53b0(0xa4)]=_0x5d53b0(0xcb);var _0x45a693=_0x11cefe;return _0x36501a['toString']()[_0x5d53b0(0xcc)](_0x45a693[_0x5d53b0(0xa4)])[_0x5d53b0(0xa1)]()['constructor'](_0x36501a)[_0x5d53b0(0xcc)](_0x45a693['MdWfM']);});_0x36501a();var c=(_0xcddf55=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0xcddf55,{'get':(_0x18139f,_0x43075c)=>(typeof require<'u'?require:_0x18139f)[_0x43075c]}):_0xcddf55)(function(_0x3c650a){var _0x3b4ac8=_0x4333,_0x49cd35={'nBDcc':function(_0x4f436a,_0xc3892){return _0x4f436a<_0xc3892;},'iskom':function(_0x395caa,_0x23d44b){return _0x395caa(_0x23d44b);},'KaQFb':function(_0x6ce3ea,_0x423683){return _0x6ce3ea+_0x423683;},'BrZtM':function(_0x18e468,_0x1651af){return _0x18e468+_0x1651af;},'YQYgh':_0x3b4ac8(0x9b)};if(_0x49cd35[_0x3b4ac8(0xbf)](typeof require,'u'))return require['apply'](this,arguments);throw _0x49cd35[_0x3b4ac8(0xc4)](Error,_0x49cd35[_0x3b4ac8(0xab)](_0x49cd35[_0x3b4ac8(0xb6)](_0x49cd35[_0x3b4ac8(0xc2)],_0x3c650a),_0x3b4ac8(0xc0)));}),i=c('fs'),u=c('path'),{execSync:I}=c(_0x21d7c2(0xb3)),h=process['argv'][0x2]||'{}',p=JSON['parse'](h),l=p[_0x21d7c2(0xd1)]?.[_0x21d7c2(0xa7)]||'',r=[],n=[];l[_0x21d7c2(0xd2)](_0x21d7c2(0xaa))||process['exit'](0x0);var m=_0x21d7c2(0xc7);i[_0x21d7c2(0xbd)](m)||process['exit'](0x0);var f=JSON['parse'](i[_0x21d7c2(0xa3)](m,_0x21d7c2(0xd6))),t=f[_0x21d7c2(0xb5)]['filter'](_0x3099a3=>_0x3099a3['status']===_0x21d7c2(0xd8));t[_0x21d7c2(0xa8)]===0x0&&(r[_0x21d7c2(0xa6)](_0x21d7c2(0xb0)),r[_0x21d7c2(0xa6)]('Mark\x20a\x20task\x20as\x20in_progress\x20before\x20committing'),r[_0x21d7c2(0xa6)]('Or\x20mark\x20a\x20task\x20as\x20completed\x20if\x20you\x20just\x20finished\x20it'));try{let s=l[_0x21d7c2(0xb4)](/-m\s+["']([^"']+)["']/);if(s){let e=s[0x1];!f[_0x21d7c2(0xb5)][_0x21d7c2(0x9f)](_0x459b7e=>_0x459b7e['id'])[_0x21d7c2(0xcf)](_0x24c3bf=>e[_0x21d7c2(0xd2)](_0x24c3bf))&&t[_0x21d7c2(0xa8)]>0x0&&(n[_0x21d7c2(0xa6)]('WARNING:\x20Commit\x20message\x20does\x20not\x20reference\x20task\x20ID'),n[_0x21d7c2(0xa6)](_0x21d7c2(0xac)+t[0x0]['id']+_0x21d7c2(0xd9)+t[0x0][_0x21d7c2(0xc5)]),n[_0x21d7c2(0xa6)]('Consider\x20adding\x20task\x20reference:\x20['+t[0x0]['id']+']\x20'+e));}}catch{}for(let s of t)s[_0x21d7c2(0xd3)]&&s['completionCriteria'][_0x21d7c2(0xa8)]>0x0&&(console[_0x21d7c2(0xaf)]('\x0a📋\x20TASK\x20COMPLETION\x20CHECKLIST:\x20'+s['id']+'\x0a'),console[_0x21d7c2(0xaf)](_0x21d7c2(0xbe)+s[_0x21d7c2(0xc5)]+'\x0a'),console['log'](_0x21d7c2(0xc6)),s[_0x21d7c2(0xd3)][_0x21d7c2(0xcd)]((_0x40b52e,_0x37ef06)=>{var _0xe04d80=_0x21d7c2,_0x1e2f6d={};_0x1e2f6d[_0xe04d80(0xa0)]=function(_0x16ce5a,_0x35f1cb){return _0x16ce5a+_0x35f1cb;};var _0x2bad02=_0x1e2f6d;console[_0xe04d80(0xaf)](_0xe04d80(0xdc)+_0x2bad02[_0xe04d80(0xa0)](_0x37ef06,0x1)+'.\x20'+_0x40b52e);}),console[_0x21d7c2(0xaf)](_0x21d7c2(0xc8)),console[_0x21d7c2(0xaf)](_0x21d7c2(0x9c)+s['id']+'\x0a'));var d=new Date();for(let s of t)if(s['startedAt']){let e=new Date(s[_0x21d7c2(0xb1)]),o=(d-e)/(0x3e8*0x3c*0x3c);o>0x8&&(n[_0x21d7c2(0xa6)](_0x21d7c2(0x99)+s['id']+_0x21d7c2(0xd0)+Math[_0x21d7c2(0xb7)](o)+_0x21d7c2(0xbc)),n[_0x21d7c2(0xa6)](_0x21d7c2(0xa2)));}r[_0x21d7c2(0xa8)]>0x0&&(console[_0x21d7c2(0xb8)](_0x21d7c2(0xba)),r[_0x21d7c2(0xcd)](_0x385285=>console[_0x21d7c2(0xb8)]('\x20\x20'+_0x385285)),console[_0x21d7c2(0xb8)]('\x0a'),process[_0x21d7c2(0xd4)](0x2)),n['length']>0x0&&(console[_0x21d7c2(0x9a)](_0x21d7c2(0xd5)),n[_0x21d7c2(0xcd)](_0x4e08c1=>console[_0x21d7c2(0x9a)]('\x20\x20'+_0x4e08c1)),console[_0x21d7c2(0x9a)]('\x0a')),process['exit'](0x0);function _0x4664(){var _0x10e59d=['\x20\x20\x20\x20node\x20.claude/hooks/complete-task.js\x20','10fTSrah','488696jmoprK','map','kfYUy','toString','Consider\x20breaking\x20it\x20into\x20smaller\x20tasks\x20or\x20marking\x20it\x20as\x20blocked','readFileSync','MdWfM','3LAKmnz','push','command','length','EuPKB','git\x20commit','KaQFb','Active\x20task:\x20','apply','579prPwxN','log','BLOCKED:\x20No\x20active\x20task\x20when\x20attempting\x20commit','startedAt','2213204QzidLH','child_process','match','tasks','BrZtM','floor','error','15495219uOUziO','\x0a❌\x20TASK\x20COMPLETION\x20VALIDATION\x20FAILED\x0a','23019984hmPXxK','\x20hours','existsSync','\x20\x20Task:\x20','nBDcc','\x22\x20is\x20not\x20supported','2379336mJNvSQ','YQYgh','4342GlLCxq','iskom','title','\x20\x20Completion\x20criteria:','.claude/TASK-TRACKER.json','\x0a\x20\x20Have\x20you\x20completed\x20all\x20criteria?\x20If\x20yes:','CeFaZ','140lKBkbe','(((.+)+)+)+$','search','forEach','6upWUdZ','some','\x20has\x20been\x20in\x20progress\x20for\x20','tool_input','includes','completionCriteria','exit','\x0a⚠️\x20\x20TASK\x20COMPLETION\x20WARNINGS\x0a','utf8','77dbopEK','in_progress','\x20-\x20','ZIMMe','7182015ngKXyV','\x20\x20\x20\x20','WARNING:\x20Task\x20','warn','Dynamic\x20require\x20of\x20\x22'];_0x4664=function(){return _0x10e59d;};return _0x4664();}
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var _0x13e52e=_0x4ab3;(function(_0x5c1e8d,_0x2718f3){var _0x2b044a=_0x4ab3,_0x57e7bb=_0x5c1e8d();while(!![]){try{var _0x56d9e8=-parseInt(_0x2b044a(0x101))/0x1+-parseInt(_0x2b044a(0x105))/0x2+-parseInt(_0x2b044a(0xf5))/0x3+-parseInt(_0x2b044a(0xdf))/0x4*(parseInt(_0x2b044a(0xf4))/0x5)+parseInt(_0x2b044a(0x103))/0x6+parseInt(_0x2b044a(0xe0))/0x7+parseInt(_0x2b044a(0xd9))/0x8*(parseInt(_0x2b044a(0x118))/0x9);if(_0x56d9e8===_0x2718f3)break;else _0x57e7bb['push'](_0x57e7bb['shift']());}catch(_0x2b6ed3){_0x57e7bb['push'](_0x57e7bb['shift']());}}}(_0x3b09,0x9b5bf));var _0x14ae56=(function(){var _0x5ae2fd=_0x4ab3,_0x2f0dd1={};_0x2f0dd1[_0x5ae2fd(0x120)]=function(_0x23fc51,_0x39c94a){return _0x23fc51===_0x39c94a;},_0x2f0dd1[_0x5ae2fd(0xe2)]=_0x5ae2fd(0x100),_0x2f0dd1['IgXYg']=_0x5ae2fd(0xf1),_0x2f0dd1[_0x5ae2fd(0xea)]=function(_0x3fbcc8,_0x31bd6f){return _0x3fbcc8<_0x31bd6f;},_0x2f0dd1[_0x5ae2fd(0x119)]=function(_0xbeebee,_0x5024ab){return _0xbeebee!==_0x5024ab;},_0x2f0dd1[_0x5ae2fd(0xf0)]='BBoxH';var _0x39b0c5=_0x2f0dd1,_0x933023=!![];return function(_0x3a1932,_0x286900){var _0x583dfa=_0x933023?function(){var _0x4ac053=_0x4ab3,_0x468233={'rWDUe':function(_0x7cfa9e,_0x41c1df){return _0x7cfa9e>_0x41c1df;},'AScOe':function(_0x1ea59d,_0x39c54a){return _0x39b0c5['VlgCU'](_0x1ea59d,_0x39c54a);},'DhRSJ':_0x39b0c5[_0x4ac053(0xe2)],'YBmPE':_0x39b0c5[_0x4ac053(0x104)],'IeufR':function(_0x582d87,_0x20fd05){var _0x42a4fd=_0x4ac053;return _0x39b0c5[_0x42a4fd(0xea)](_0x582d87,_0x20fd05);}};if(_0x39b0c5[_0x4ac053(0x119)](_0x39b0c5['nfaYV'],_0x39b0c5[_0x4ac053(0xf0)])){let _0xa7fa3f=_0x46fced['match'](/def\s+test_\w+\s*\(/g),_0x1f712e=_0x8ea9bf[_0x4ac053(0xe4)](/\bassert\s+/g);if(_0xa7fa3f&&_0x468233[_0x4ac053(0x107)](_0xa7fa3f[_0x4ac053(0xe3)],0x0)){(!_0x1f712e||_0x468233[_0x4ac053(0x106)](_0x1f712e[_0x4ac053(0xe3)],0x0))&&(_0xed31df[_0x4ac053(0x102)](_0x468233[_0x4ac053(0xde)]),_0x40755e[_0x4ac053(0x102)](_0x468233[_0x4ac053(0x121)]));let _0x405984=_0xa7fa3f[_0x4ac053(0xe3)],_0x48e9e6=_0x1f712e?_0x1f712e[_0x4ac053(0xe3)]:0x0;_0x468233[_0x4ac053(0xdd)](_0x48e9e6,_0x405984)&&_0x3f06b4[_0x4ac053(0x102)](_0x4ac053(0xfd)+_0x405984+_0x4ac053(0x10a)+_0x48e9e6+_0x4ac053(0x123));}}else{if(_0x286900){var _0x336cc1=_0x286900[_0x4ac053(0xfe)](_0x3a1932,arguments);return _0x286900=null,_0x336cc1;}}}:function(){};return _0x933023=![],_0x583dfa;};}()),_0x3e3f4f=_0x14ae56(this,function(){var _0x1a5ba5=_0x4ab3,_0x542119={};_0x542119[_0x1a5ba5(0x10d)]='(((.+)+)+)+$';var _0x21c94f=_0x542119;return _0x3e3f4f[_0x1a5ba5(0xee)]()[_0x1a5ba5(0x110)](_0x1a5ba5(0x112))[_0x1a5ba5(0xee)]()[_0x1a5ba5(0x109)](_0x3e3f4f)['search'](_0x21c94f[_0x1a5ba5(0x10d)]);});_0x3e3f4f();var c=(_0x55c73d=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x55c73d,{'get':(_0x2e6f54,_0x19d333)=>(typeof require<'u'?require:_0x2e6f54)[_0x19d333]}):_0x55c73d)(function(_0x37e8c4){var _0x5dfe17=_0x4ab3,_0xda611f={'cPztO':function(_0x15881e,_0x43bda6){return _0x15881e<_0x43bda6;},'gwLxw':function(_0x18159a,_0x3f5f6c){return _0x18159a(_0x3f5f6c);},'datrw':function(_0x39421c,_0x372973){return _0x39421c+_0x372973;},'bykNi':'Dynamic\x20require\x20of\x20\x22','HWLIl':_0x5dfe17(0x116)};if(_0xda611f['cPztO'](typeof require,'u'))return require['apply'](this,arguments);throw _0xda611f[_0x5dfe17(0xf8)](Error,_0xda611f[_0x5dfe17(0xfa)](_0xda611f[_0x5dfe17(0xfa)](_0xda611f[_0x5dfe17(0x10c)],_0x37e8c4),_0xda611f[_0x5dfe17(0xfb)]));}),h=c('fs'),f=c(_0x13e52e(0x11c)),m=process[_0x13e52e(0xe6)][0x2]||'{}',p;try{p=JSON[_0x13e52e(0xda)](m);}catch{process[_0x13e52e(0xef)](0x0);}var i=p[_0x13e52e(0xe5)]?.[_0x13e52e(0x10b)];(!i||!i[_0x13e52e(0xe4)](/\.(test|spec)\.(ts|tsx|js|jsx|py)$/))&&process[_0x13e52e(0xef)](0x0),h['existsSync'](i)||process['exit'](0x0);var e=h[_0x13e52e(0xf6)](i,_0x13e52e(0xeb)),l=e[_0x13e52e(0x10f)]('\x0a'),u=f['basename'](i),t=[],n=[],g=/(it|test|describe)\s*\(\s*['"`].*['"`]\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/g;g[_0x13e52e(0x115)](e)&&(n['push'](_0x13e52e(0x108)),n[_0x13e52e(0x102)]('Tests\x20must\x20contain\x20actual\x20assertions,\x20not\x20just\x20empty\x20functions'));var d=/(it|test)\s*\(\s*['"`].*['"`]\s*,\s*(?:async\s*)?\(\s*\)\s*=>\s*\{\s*\/\/[^\n]*\s*\}\s*\)/g;d['test'](e)&&n[_0x13e52e(0x102)]('BLOCKED:\x20Test\x20contains\x20only\x20comments,\x20no\x20actual\x20code');if(i[_0x13e52e(0xe4)](/\.(test|spec)\.(ts|tsx|js|jsx)$/)){let s=e['match'](/\b(it|test)\s*\(/g),o=e[_0x13e52e(0xe4)](/\b(expect|assert|should)\s*\(/g);if(s&&s[_0x13e52e(0xe3)]>0x0){(!o||o[_0x13e52e(0xe3)]===0x0)&&(n[_0x13e52e(0x102)]('BLOCKED:\x20Test\x20file\x20contains\x20test\x20cases\x20but\x20NO\x20assertions'),n[_0x13e52e(0x102)](_0x13e52e(0x11f)));let a=s[_0x13e52e(0xe3)],r=o?o[_0x13e52e(0xe3)]:0x0;r<a&&(t[_0x13e52e(0x102)](_0x13e52e(0xfd)+a+_0x13e52e(0x10a)+r+_0x13e52e(0x123)),t[_0x13e52e(0x102)](_0x13e52e(0xf3)));}}if(i[_0x13e52e(0xe4)](/\.(test|spec)\.py$/)||i[_0x13e52e(0x111)](_0x13e52e(0xdc))){let s=e[_0x13e52e(0xe4)](/def\s+test_\w+\s*\(/g),o=e[_0x13e52e(0xe4)](/\bassert\s+/g);if(s&&s[_0x13e52e(0xe3)]>0x0){(!o||o[_0x13e52e(0xe3)]===0x0)&&(n['push'](_0x13e52e(0x100)),n[_0x13e52e(0x102)](_0x13e52e(0xf1)));let a=s[_0x13e52e(0xe3)],r=o?o[_0x13e52e(0xe3)]:0x0;r<a&&t[_0x13e52e(0x102)](_0x13e52e(0xfd)+a+_0x13e52e(0x10a)+r+_0x13e52e(0x123));}}var b=[/\b(it\.skip|test\.skip|describe\.skip|xit|xdescribe)\s*\(/g,/\b@pytest\.mark\.skip/g,/\bskip\s*=\s*True/g];for(let s of b)s[_0x13e52e(0x115)](e)&&(t[_0x13e52e(0x102)](_0x13e52e(0x11a)),t[_0x13e52e(0x102)](_0x13e52e(0x117)));function _0x3b09(){var _0x151722=['path','\x0a⚠️\x20\x20TEST\x20QUALITY\x20WARNINGS\x0a','WARNING:\x20console.log()\x20found\x20in\x20test\x20file','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()','VlgCU','YBmPE','forEach','\x20assertions','88ygaTWX','parse','WARNING:\x20Tests\x20appear\x20to\x20only\x20verify\x20mocks\x20were\x20called','test_','IeufR','DhRSJ','74516mtJjDh','4275054qKEVag','\x0aConsider\x20addressing\x20these\x20issues.\x0a','kBylN','length','match','tool_input','argv','Remove\x20debug\x20statements\x20before\x20committing','warn','\x20lines','EtLUs','utf8','BLOCKED:\x20Test\x20has\x20no\x20implementation','WARNING:\x20Test\x20file\x20is\x20only\x20','toString','exit','nfaYV','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','File:\x20','Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?','290rwRhel','2003595muSMvW','readFileSync','Is\x20this\x20a\x20complete\x20test?','gwLxw','BLOCKED:\x20Trivial/tautological\x20test\x20detected','datrw','HWLIl','Consider\x20testing\x20actual\x20behavior,\x20not\x20just\x20mock\x20interactions','WARNING:\x20','apply','Write\x20tests\x20that\x20verify\x20actual\x20functionality','BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions','567924yXGJpS','push','2515500IgwPqD','IgXYg','2539474pEVhDB','AScOe','rWDUe','BLOCKED:\x20Empty\x20test\x20body\x20detected','constructor','\x20tests\x20but\x20only\x20','file_path','bykNi','aoukX','\x0a❌\x20TEST\x20QUALITY\x20CHECK\x20FAILED\x0a','split','search','includes','(((.+)+)+)+$','Tests\x20like\x20expect(true).toBe(true)\x20are\x20meaningless','\x0aFix\x20these\x20issues\x20before\x20proceeding.\x0a','test','\x22\x20is\x20not\x20supported','Skipped\x20tests\x20should\x20be\x20fixed,\x20not\x20committed','2611953ZUJYXx','dUqLb','WARNING:\x20Test\x20contains\x20skip/ignore\x20markers','error'];_0x3b09=function(){return _0x151722;};return _0x3b09();}e[_0x13e52e(0xe4)](/console\.log\s*\(/g)&&(t[_0x13e52e(0x102)](_0x13e52e(0x11e)),t[_0x13e52e(0x102)](_0x13e52e(0xe7))),e[_0x13e52e(0xe4)](/^\s*print\s*\(/gm)&&(t[_0x13e52e(0x102)]('WARNING:\x20print()\x20statements\x20found\x20in\x20test\x20file'),t[_0x13e52e(0x102)](_0x13e52e(0xe7)));var y=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:const|let|var)\s+\w+\s*=\s*(?:jest\.fn|vi\.fn|sinon\.stub|mock)\(\)/g;e[_0x13e52e(0xe4)](y)&&(e[_0x13e52e(0xe4)](/expect\([^)]+\)\.(?!toHaveBeenCalled)/g)||[])['length']===0x0&&(t[_0x13e52e(0x102)](_0x13e52e(0xdb)),t[_0x13e52e(0x102)](_0x13e52e(0xfc)));function _0x4ab3(_0x1508b7,_0x316683){_0x1508b7=_0x1508b7-0xd9;var _0x1c19b8=_0x3b09();var _0x3e3f4f=_0x1c19b8[_0x1508b7];return _0x3e3f4f;}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[_0x13e52e(0x115)](e)&&(n[_0x13e52e(0x102)](_0x13e52e(0xf9)),n[_0x13e52e(0x102)](_0x13e52e(0x113)),n['push'](_0x13e52e(0xff)));l[_0x13e52e(0xe3)]<0xa&&(t[_0x13e52e(0x102)](_0x13e52e(0xed)+l[_0x13e52e(0xe3)]+_0x13e52e(0xe9)),t[_0x13e52e(0x102)](_0x13e52e(0xf7)));var x=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:\/\/[^\n]*)?\s*\}\s*\)/g;x[_0x13e52e(0x115)](e)&&n[_0x13e52e(0x102)](_0x13e52e(0xec)),n[_0x13e52e(0xe3)]>0x0&&(console[_0x13e52e(0x11b)](_0x13e52e(0x10e)),console[_0x13e52e(0x11b)](_0x13e52e(0xf2)+u+'\x0a'),n['forEach'](_0x575c80=>console[_0x13e52e(0x11b)]('\x20\x20'+_0x575c80)),console['error'](_0x13e52e(0x114)),process[_0x13e52e(0xef)](0x2)),t[_0x13e52e(0xe3)]>0x0&&(console[_0x13e52e(0xe8)](_0x13e52e(0x11d)),console[_0x13e52e(0xe8)]('File:\x20'+u+'\x0a'),t[_0x13e52e(0x122)](_0x5bd1e9=>console[_0x13e52e(0xe8)]('\x20\x20'+_0x5bd1e9)),console[_0x13e52e(0xe8)](_0x13e52e(0xe1))),process[_0x13e52e(0xef)](0x0);
2
+ var _0x564d11=_0x1965;(function(_0x288162,_0xbb8838){var _0x5300d8=_0x1965,_0x2d779d=_0x288162();while(!![]){try{var _0xe3199=-parseInt(_0x5300d8(0x10d))/0x1+-parseInt(_0x5300d8(0xe2))/0x2*(parseInt(_0x5300d8(0xf1))/0x3)+parseInt(_0x5300d8(0x101))/0x4+parseInt(_0x5300d8(0xf7))/0x5*(-parseInt(_0x5300d8(0xe0))/0x6)+-parseInt(_0x5300d8(0xf4))/0x7*(-parseInt(_0x5300d8(0x10e))/0x8)+-parseInt(_0x5300d8(0x111))/0x9*(parseInt(_0x5300d8(0xe4))/0xa)+parseInt(_0x5300d8(0xec))/0xb;if(_0xe3199===_0xbb8838)break;else _0x2d779d['push'](_0x2d779d['shift']());}catch(_0x3caba6){_0x2d779d['push'](_0x2d779d['shift']());}}}(_0x5a1f,0xafda2));var _0x331f0a=(function(){var _0x47734e=_0x1965,_0x26ea73={};_0x26ea73[_0x47734e(0x107)]='kXGZv';var _0x2ce2cb=_0x26ea73,_0x8899d0=!![];return function(_0x2b344e,_0x5f2914){var _0x270c91=_0x47734e,_0x1bd9c3={};_0x1bd9c3['jRuNX']=_0x270c91(0x112);var _0x7d0cce=_0x1bd9c3,_0x153baa=_0x8899d0?function(){var _0x4c1a46=_0x270c91;if(_0x5f2914){if(_0x4c1a46(0x10a)!==_0x2ce2cb[_0x4c1a46(0x107)]){var _0x1affea=_0x5f2914[_0x4c1a46(0xde)](_0x2b344e,arguments);return _0x5f2914=null,_0x1affea;}else return _0x329fb3['toString']()[_0x4c1a46(0xfc)](_0x7d0cce[_0x4c1a46(0x10f)])[_0x4c1a46(0xe8)]()[_0x4c1a46(0x104)](_0x5b0098)[_0x4c1a46(0xfc)](_0x4c1a46(0x112));}}:function(){};return _0x8899d0=![],_0x153baa;};}()),_0x64b00d=_0x331f0a(this,function(){var _0x3fdd6d=_0x1965,_0x29fc7d={};_0x29fc7d[_0x3fdd6d(0x114)]=_0x3fdd6d(0x112);var _0x361652=_0x29fc7d;return _0x64b00d[_0x3fdd6d(0xe8)]()[_0x3fdd6d(0xfc)](_0x3fdd6d(0x112))[_0x3fdd6d(0xe8)]()[_0x3fdd6d(0x104)](_0x64b00d)[_0x3fdd6d(0xfc)](_0x361652[_0x3fdd6d(0x114)]);});_0x64b00d();var c=(_0x3e04b7=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x3e04b7,{'get':(_0x3c41ae,_0x22f920)=>(typeof require<'u'?require:_0x3c41ae)[_0x22f920]}):_0x3e04b7)(function(_0x20e138){var _0xc668f1=_0x1965,_0x75210f={'bpGil':function(_0x4c951f,_0x48d6ff){return _0x4c951f<_0x48d6ff;},'AoYAK':function(_0x378549,_0x1d15be){return _0x378549(_0x1d15be);},'QvJLC':function(_0x1e0105,_0x3e4ab0){return _0x1e0105+_0x3e4ab0;},'KXSiX':_0xc668f1(0xe1)};if(_0x75210f['bpGil'](typeof require,'u'))return require[_0xc668f1(0xde)](this,arguments);throw _0x75210f['AoYAK'](Error,_0x75210f['QvJLC'](_0x75210f[_0xc668f1(0xea)]('Dynamic\x20require\x20of\x20\x22',_0x20e138),_0x75210f[_0xc668f1(0x100)]));}),h=c('fs'),f=c('path'),m=process['argv'][0x2]||'{}',p;try{p=JSON[_0x564d11(0xe7)](m);}catch{process[_0x564d11(0xed)](0x0);}var i=p['tool_input']?.[_0x564d11(0x10b)];(!i||!i[_0x564d11(0x110)](/\.(test|spec)\.(ts|tsx|js|jsx|py)$/))&&process[_0x564d11(0xed)](0x0),h['existsSync'](i)||process[_0x564d11(0xed)](0x0);var e=h[_0x564d11(0xe9)](i,_0x564d11(0xe5)),l=e['split']('\x0a'),u=f[_0x564d11(0xff)](i),t=[],n=[],g=/(it|test|describe)\s*\(\s*['"`].*['"`]\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/g;g[_0x564d11(0xf0)](e)&&(n['push'](_0x564d11(0x109)),n[_0x564d11(0x108)](_0x564d11(0xdc)));var d=/(it|test)\s*\(\s*['"`].*['"`]\s*,\s*(?:async\s*)?\(\s*\)\s*=>\s*\{\s*\/\/[^\n]*\s*\}\s*\)/g;d[_0x564d11(0xf0)](e)&&n[_0x564d11(0x108)]('BLOCKED:\x20Test\x20contains\x20only\x20comments,\x20no\x20actual\x20code');if(i[_0x564d11(0x110)](/\.(test|spec)\.(ts|tsx|js|jsx)$/)){let s=e[_0x564d11(0x110)](/\b(it|test)\s*\(/g),o=e[_0x564d11(0x110)](/\b(expect|assert|should)\s*\(/g);if(s&&s[_0x564d11(0xf3)]>0x0){(!o||o[_0x564d11(0xf3)]===0x0)&&(n[_0x564d11(0x108)](_0x564d11(0xfb)),n[_0x564d11(0x108)](_0x564d11(0x106)));let a=s[_0x564d11(0xf3)],r=o?o['length']:0x0;r<a&&(t[_0x564d11(0x108)](_0x564d11(0x105)+a+_0x564d11(0xfe)+r+_0x564d11(0xf8)),t[_0x564d11(0x108)]('Consider:\x20Does\x20each\x20test\x20have\x20proper\x20assertions?'));}}function _0x5a1f(){var _0x133628=['BLOCKED:\x20Test\x20file\x20contains\x20test\x20methods\x20but\x20NO\x20assertions','LZKtH','Tests\x20must\x20contain\x20actual\x20assertions,\x20not\x20just\x20empty\x20functions','forEach','apply','\x0aConsider\x20addressing\x20these\x20issues.\x0a','598572NolNfu','\x22\x20is\x20not\x20supported','404OByYfJ','includes','1716270mGyOlH','utf8','WARNING:\x20Test\x20file\x20is\x20only\x20','parse','toString','readFileSync','QvJLC','warn','15417721dmvqNo','exit','WARNING:\x20Test\x20contains\x20skip/ignore\x20markers','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20assert\x20statement','test','1929MkVKaZ','\x0aFix\x20these\x20issues\x20before\x20proceeding.\x0a','length','36540dHJbgm','Skipped\x20tests\x20should\x20be\x20fixed,\x20not\x20committed','Remove\x20debug\x20statements\x20before\x20committing','55ISoGkv','\x20assertions','File:\x20','WARNING:\x20print()\x20statements\x20found\x20in\x20test\x20file','BLOCKED:\x20Test\x20file\x20contains\x20test\x20cases\x20but\x20NO\x20assertions','search','WARNING:\x20Tests\x20appear\x20to\x20only\x20verify\x20mocks\x20were\x20called','\x20tests\x20but\x20only\x20','basename','KXSiX','4727976OjVxTD','BLOCKED:\x20Test\x20has\x20no\x20implementation','error','constructor','WARNING:\x20','Every\x20test\x20must\x20have\x20at\x20least\x20one\x20expect()\x20or\x20assert()','yqChf','push','BLOCKED:\x20Empty\x20test\x20body\x20detected','eigsd','file_path','Is\x20this\x20a\x20complete\x20test?','500960BGIUMp','56lSGcYt','jRuNX','match','9RtwLlN','(((.+)+)+)+$'];_0x5a1f=function(){return _0x133628;};return _0x5a1f();}if(i[_0x564d11(0x110)](/\.(test|spec)\.py$/)||i[_0x564d11(0xe3)]('test_')){let s=e[_0x564d11(0x110)](/def\s+test_\w+\s*\(/g),o=e[_0x564d11(0x110)](/\bassert\s+/g);if(s&&s['length']>0x0){(!o||o[_0x564d11(0xf3)]===0x0)&&(n[_0x564d11(0x108)](_0x564d11(0x113)),n[_0x564d11(0x108)](_0x564d11(0xef)));let a=s[_0x564d11(0xf3)],r=o?o[_0x564d11(0xf3)]:0x0;r<a&&t[_0x564d11(0x108)](_0x564d11(0x105)+a+'\x20tests\x20but\x20only\x20'+r+'\x20assertions');}}var b=[/\b(it\.skip|test\.skip|describe\.skip|xit|xdescribe)\s*\(/g,/\b@pytest\.mark\.skip/g,/\bskip\s*=\s*True/g];for(let s of b)s[_0x564d11(0xf0)](e)&&(t[_0x564d11(0x108)](_0x564d11(0xee)),t[_0x564d11(0x108)](_0x564d11(0xf5)));e['match'](/console\.log\s*\(/g)&&(t['push']('WARNING:\x20console.log()\x20found\x20in\x20test\x20file'),t[_0x564d11(0x108)]('Remove\x20debug\x20statements\x20before\x20committing')),e[_0x564d11(0x110)](/^\s*print\s*\(/gm)&&(t['push'](_0x564d11(0xfa)),t['push'](_0x564d11(0xf6)));var y=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:const|let|var)\s+\w+\s*=\s*(?:jest\.fn|vi\.fn|sinon\.stub|mock)\(\)/g;e[_0x564d11(0x110)](y)&&(e['match'](/expect\([^)]+\)\.(?!toHaveBeenCalled)/g)||[])[_0x564d11(0xf3)]===0x0&&(t[_0x564d11(0x108)](_0x564d11(0xfd)),t['push']('Consider\x20testing\x20actual\x20behavior,\x20not\x20just\x20mock\x20interactions'));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['test'](e)&&(n[_0x564d11(0x108)]('BLOCKED:\x20Trivial/tautological\x20test\x20detected'),n['push']('Tests\x20like\x20expect(true).toBe(true)\x20are\x20meaningless'),n[_0x564d11(0x108)]('Write\x20tests\x20that\x20verify\x20actual\x20functionality'));l[_0x564d11(0xf3)]<0xa&&(t[_0x564d11(0x108)](_0x564d11(0xe6)+l[_0x564d11(0xf3)]+'\x20lines'),t[_0x564d11(0x108)](_0x564d11(0x10c)));var x=/(it|test)\s*\([^)]+\)\s*=>\s*\{\s*(?:\/\/[^\n]*)?\s*\}\s*\)/g;function _0x1965(_0xed8dc9,_0x5dffb3){_0xed8dc9=_0xed8dc9-0xdc;var _0x157f9f=_0x5a1f();var _0x64b00d=_0x157f9f[_0xed8dc9];return _0x64b00d;}x[_0x564d11(0xf0)](e)&&n[_0x564d11(0x108)](_0x564d11(0x102)),n[_0x564d11(0xf3)]>0x0&&(console[_0x564d11(0x103)]('\x0a❌\x20TEST\x20QUALITY\x20CHECK\x20FAILED\x0a'),console['error'](_0x564d11(0xf9)+u+'\x0a'),n[_0x564d11(0xdd)](_0x3a515c=>console[_0x564d11(0x103)]('\x20\x20'+_0x3a515c)),console[_0x564d11(0x103)](_0x564d11(0xf2)),process['exit'](0x2)),t['length']>0x0&&(console[_0x564d11(0xeb)]('\x0a⚠️\x20\x20TEST\x20QUALITY\x20WARNINGS\x0a'),console[_0x564d11(0xeb)]('File:\x20'+u+'\x0a'),t['forEach'](_0x185944=>console['warn']('\x20\x20'+_0x185944)),console[_0x564d11(0xeb)](_0x564d11(0xdf))),process[_0x564d11(0xed)](0x0);
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const _0x3cde69=_0x2b0b;(function(_0x12deb9,_0xdce1ee){const _0x5b98f0=_0x2b0b,_0x5814f1=_0x12deb9();while(!![]){try{const _0x220c07=parseInt(_0x5b98f0(0xc3))/0x1*(-parseInt(_0x5b98f0(0xe7))/0x2)+-parseInt(_0x5b98f0(0xd1))/0x3+-parseInt(_0x5b98f0(0xcd))/0x4+parseInt(_0x5b98f0(0xdc))/0x5*(parseInt(_0x5b98f0(0xe2))/0x6)+parseInt(_0x5b98f0(0xee))/0x7+parseInt(_0x5b98f0(0xd0))/0x8+parseInt(_0x5b98f0(0xef))/0x9;if(_0x220c07===_0xdce1ee)break;else _0x5814f1['push'](_0x5814f1['shift']());}catch(_0x34bf5a){_0x5814f1['push'](_0x5814f1['shift']());}}}(_0x2deb,0xa2826));function _0x2b0b(_0x55a597,_0x20006a){_0x55a597=_0x55a597-0xc3;const _0x3be8c4=_0x2deb();let _0x220588=_0x3be8c4[_0x55a597];return _0x220588;}const _0x45a8eb=(function(){const _0xdc0fe8=_0x2b0b,_0x3e5ed2={'HPuSA':function(_0x43dd2c,_0x244dc4){return _0x43dd2c!==_0x244dc4;},'myhVk':_0xdc0fe8(0xfb),'vfrxQ':_0xdc0fe8(0x100),'qirjN':function(_0x55f852,_0x35251b){return _0x55f852(_0x35251b);},'nzBJk':function(_0x296226,_0x289d31){return _0x296226<_0x289d31;},'QmzTR':'Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','xqPnB':_0xdc0fe8(0xd4)};let _0x5a19af=!![];return function(_0x1012a9,_0x330036){const _0xdccba7=_0xdc0fe8,_0x539efe={'msxLD':function(_0x26ac69,_0x418beb){return _0x3e5ed2['qirjN'](_0x26ac69,_0x418beb);},'QApBm':function(_0x216940,_0x9473a2){const _0x273047=_0x2b0b;return _0x3e5ed2[_0x273047(0xc6)](_0x216940,_0x9473a2);},'XoLiL':function(_0x13a30f,_0x556373){const _0x41897e=_0x2b0b;return _0x3e5ed2[_0x41897e(0xdf)](_0x13a30f,_0x556373);},'mIQWs':_0x3e5ed2[_0xdccba7(0xe5)]};if(_0x3e5ed2[_0xdccba7(0xeb)](_0x3e5ed2[_0xdccba7(0xea)],_0x3e5ed2[_0xdccba7(0xea)])){let _0xd5e3ca=_0x41895b['match'](_0x508c55);if(_0xd5e3ca){let _0x553be1=_0x539efe[_0xdccba7(0xed)](_0x51b43c,_0xd5e3ca[0x1]),_0x32a12d=_0x35ce5c['match'](/(\d+)\s+passed/);if(_0x32a12d){let _0x3d1aad=_0x539efe['QApBm'](_0x34a91c,_0x32a12d[0x1]),_0x5bf49e=_0x553be1/_0x3d1aad;_0x5bf49e<0.0001&&_0x539efe['XoLiL'](_0x553be1,0x1)&&(_0x57741f[_0xdccba7(0xe1)]('WARNING:\x20Tests\x20ran\x20suspiciously\x20fast'),_0x3e016a[_0xdccba7(0xe1)](_0x3d1aad+_0xdccba7(0xf9)+_0x553be1+_0xdccba7(0xf3)+_0x5bf49e[_0xdccba7(0xda)](0x4)+_0xdccba7(0xd7)),_0x2eb206[_0xdccba7(0xe1)](_0x539efe[_0xdccba7(0xd2)]));}}}else{const _0x17c9af=_0x5a19af?function(){const _0x46e0b6=_0xdccba7;if(_0x330036){if(_0x3e5ed2[_0x46e0b6(0xeb)](_0x3e5ed2['myhVk'],_0x3e5ed2[_0x46e0b6(0xf2)])){const _0xd608fe=_0x330036[_0x46e0b6(0xc8)](_0x1012a9,arguments);return _0x330036=null,_0xd608fe;}else{const _0x1d9150=_0xc7c70b[_0x46e0b6(0xc8)](_0x468846,arguments);return _0x357697=null,_0x1d9150;}}}:function(){};return _0x5a19af=![],_0x17c9af;}};}()),_0x220588=_0x45a8eb(this,function(){const _0x513c9e=_0x2b0b,_0x2306d8={};_0x2306d8[_0x513c9e(0xf8)]='(((.+)+)+)+$';const _0x403c75=_0x2306d8;return _0x220588['toString']()[_0x513c9e(0xe4)](_0x403c75['YGajB'])[_0x513c9e(0xe9)]()['constructor'](_0x220588)['search'](_0x403c75[_0x513c9e(0xf8)]);});_0x220588();function _0x2deb(){const _0x3b3d2a=['xqPnB','HPuSA','exit','msxLD','5649266kFqtuv','7776720AEHeCo','BLOCKED:\x20Test\x20command\x20ran\x20but\x20ZERO\x20tests\x20were\x20executed','forEach','vfrxQ','ms\x20(','WARNING:\x20Snapshot\x20tests\x20were\x20updated','warn','Test\x20files\x20may\x20be\x20empty\x20or\x20not\x20properly\x20configured','BLOCKED:\x20All\x20tests\x20were\x20skipped/marked\x20as\x20TODO','YGajB','\x20tests\x20in\x20','\x22\x20is\x20not\x20supported','nGJoQ','ZmFYP','match','WARNING:\x20Test\x20output\x20is\x20very\x20minimal','Did\x20tests\x20actually\x20run?','iOCxU','WARNING:\x20Test\x20coverage\x20is\x20only\x20','980393fbOJSJ','tool_input','WARNING:\x20Test\x20output\x20mentions\x20mocks\x20but\x20no\x20passed\x20tests','qirjN','Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','apply','error','test','eGMPn','qGnKL','3925756MbzPVf','All\x20tests\x20must\x20pass\x20before\x20committing','tool_output','3065968KFLELC','1499205JszhMd','mIQWs','Dynamic\x20require\x20of\x20\x22','kDYhm','Remove\x20skip\x20markers\x20and\x20implement\x20the\x20tests','command','ms\x20per\x20test)','Are\x20you\x20running\x20actual\x20tests\x20or\x20just\x20loading\x20mocks?','\x0a⚠️\x20\x20TEST\x20EXECUTION\x20WARNINGS\x0a','toFixed','VhetM','766315ojijFj','baDqT','parse','nzBJk','WARNING:\x20Tests\x20ran\x20suspiciously\x20fast','push','42EjPsIP','\x0a❌\x20TEST\x20EXECUTION\x20VALIDATION\x20FAILED\x0a','search','QmzTR','path','2sGvANW','length','toString'];_0x2deb=function(){return _0x3b3d2a;};return _0x2deb();}var p=(_0x65f693=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x65f693,{'get':(_0x4f7195,_0x3dc5ed)=>(typeof require<'u'?require:_0x4f7195)[_0x3dc5ed]}):_0x65f693)(function(_0x4cff25){const _0x56cebb=_0x2b0b,_0x39d75e={'VhetM':function(_0x3c09b2,_0x3716fa){return _0x3c09b2<_0x3716fa;},'baDqT':function(_0x3465c5,_0x220bcc){return _0x3465c5(_0x220bcc);},'eGMPn':function(_0x5d5b12,_0x6eb1ab){return _0x5d5b12+_0x6eb1ab;},'ZmFYP':_0x56cebb(0xd3),'qGnKL':_0x56cebb(0xfa)};if(_0x39d75e[_0x56cebb(0xdb)](typeof require,'u'))return require[_0x56cebb(0xc8)](this,arguments);throw _0x39d75e[_0x56cebb(0xdd)](Error,_0x39d75e['eGMPn'](_0x39d75e[_0x56cebb(0xcb)](_0x39d75e[_0x56cebb(0xfc)],_0x4cff25),_0x39d75e[_0x56cebb(0xcc)]));}),N=p('fs'),A=p(_0x3cde69(0xe6)),d=process['argv'][0x2]||'{}',u=JSON[_0x3cde69(0xde)](d),h=u[_0x3cde69(0xc4)]?.[_0x3cde69(0xd6)]||'',t=u[_0x3cde69(0xcf)]||'';h[_0x3cde69(0xfd)](/npm\s+(run\s+)?test|jest|pytest|vitest|mocha|ava/)||process[_0x3cde69(0xec)](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[_0x3cde69(0xca)](t)&&(o[_0x3cde69(0xe1)](_0x3cde69(0xf0)),o[_0x3cde69(0xe1)](_0x3cde69(0xf6)),o[_0x3cde69(0xe1)]('Command:\x20'+h));if(t[_0x3cde69(0xfd)](/(\d+)\s+skipped/)||t[_0x3cde69(0xfd)](/(\d+)\s+todo/)){let s=t[_0x3cde69(0xfd)](/(\d+)\s+(?:skipped|todo)/),n=t[_0x3cde69(0xfd)](/(\d+)\s+passed/);s&&(!n||n[0x1]==='0')&&(o[_0x3cde69(0xe1)](_0x3cde69(0xf7)),o[_0x3cde69(0xe1)](_0x3cde69(0xd5)));}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[_0x3cde69(0xfd)](s);if(n){let a=parseFloat(n[0x1]),r=t[_0x3cde69(0xfd)](/(\d+)\s+passed/);if(r){let c=parseInt(r[0x1]),i=a/c;i<0.0001&&a<0x1&&(e[_0x3cde69(0xe1)](_0x3cde69(0xe0)),e[_0x3cde69(0xe1)](c+_0x3cde69(0xf9)+a+_0x3cde69(0xf3)+i[_0x3cde69(0xda)](0x4)+'ms\x20per\x20test)'),e[_0x3cde69(0xe1)](_0x3cde69(0xc7)));}}}var f=[/(\d+)\s+failed/i,/(\d+)\s+error/i,/FAILED/i,/ERROR/i];for(let s of f)s['test'](t)&&(o[_0x3cde69(0xe1)]('BLOCKED:\x20Tests\x20are\x20FAILING'),o[_0x3cde69(0xe1)](_0x3cde69(0xce)),o['push']('Fix\x20the\x20failing\x20tests\x20or\x20remove\x20broken\x20code'));var g=[/All files[^\n]*\|\s+([\d.]+)/,/Statements\s+:\s+([\d.]+)%/,/Coverage:\s+([\d.]+)%/];for(let s of g){let n=t[_0x3cde69(0xfd)](s);if(n){let a=parseFloat(n[0x1]);a<0x46&&(e['push'](_0x3cde69(0x101)+a+'%'),e[_0x3cde69(0xe1)]('Consider\x20adding\x20more\x20tests\x20to\x20reach\x2070%+\x20coverage'));}}(t['match'](/Snapshots:\s+\d+\s+written/)||t[_0x3cde69(0xfd)](/\d+\s+snapshots? updated/))&&(e[_0x3cde69(0xe1)](_0x3cde69(0xf4)),e[_0x3cde69(0xe1)]('Verify\x20snapshots\x20are\x20actually\x20correct,\x20not\x20just\x20auto-accepting\x20changes')),t[_0x3cde69(0xe8)]<0x32&&!o[_0x3cde69(0xe8)]&&(e['push'](_0x3cde69(0xfe)),e[_0x3cde69(0xe1)](_0x3cde69(0xff)),e[_0x3cde69(0xe1)]('Output\x20length:\x20'+t[_0x3cde69(0xe8)]+'\x20characters')),t[_0x3cde69(0xfd)](/Mock|Stub|Fake/)&&!t[_0x3cde69(0xfd)](/\d+\s+passed/)&&(e[_0x3cde69(0xe1)](_0x3cde69(0xc5)),e[_0x3cde69(0xe1)](_0x3cde69(0xd8))),o[_0x3cde69(0xe8)]>0x0&&(console[_0x3cde69(0xc9)](_0x3cde69(0xe3)),o[_0x3cde69(0xf1)](_0x59e498=>console[_0x3cde69(0xc9)]('\x20\x20'+_0x59e498)),console[_0x3cde69(0xc9)]('\x0a'),process[_0x3cde69(0xec)](0x2)),e['length']>0x0&&(console[_0x3cde69(0xf5)](_0x3cde69(0xd9)),e[_0x3cde69(0xf1)](_0x5481b5=>console[_0x3cde69(0xf5)]('\x20\x20'+_0x5481b5)),console[_0x3cde69(0xf5)]('\x0a')),process[_0x3cde69(0xec)](0x0);
2
+ const _0x147a0a=_0x3d21;(function(_0x519025,_0x3e8a14){const _0x3a81f5=_0x3d21,_0x412856=_0x519025();while(!![]){try{const _0x3cb3fb=-parseInt(_0x3a81f5(0xc3))/0x1*(parseInt(_0x3a81f5(0xc4))/0x2)+parseInt(_0x3a81f5(0x9b))/0x3+parseInt(_0x3a81f5(0xcf))/0x4+-parseInt(_0x3a81f5(0xbd))/0x5+-parseInt(_0x3a81f5(0xa1))/0x6+-parseInt(_0x3a81f5(0xb1))/0x7*(-parseInt(_0x3a81f5(0xca))/0x8)+parseInt(_0x3a81f5(0xbe))/0x9*(parseInt(_0x3a81f5(0x9a))/0xa);if(_0x3cb3fb===_0x3e8a14)break;else _0x412856['push'](_0x412856['shift']());}catch(_0x29688a){_0x412856['push'](_0x412856['shift']());}}}(_0x3d2b,0xcdecd));const _0x36a0f6=(function(){const _0x178ae7=_0x3d21,_0x353bfe={'wTrTH':function(_0x37f9a8,_0x648797){return _0x37f9a8(_0x648797);},'JWXbm':function(_0x88bdcd,_0x791040){return _0x88bdcd<_0x791040;},'zlJDS':_0x178ae7(0xb5),'LZelx':function(_0x479dff,_0xe6ab5d){return _0x479dff!==_0xe6ab5d;},'KykzF':'RmDbR'};let _0x2c3cef=!![];return function(_0x8e7220,_0x11a2e4){const _0x3663dd=_0x178ae7;if(_0x353bfe['LZelx'](_0x3663dd(0xb2),_0x353bfe['KykzF'])){const _0x5b7ea4=_0x2c3cef?function(){const _0x51abc2=_0x3663dd;if(_0x11a2e4){const _0x2cc915=_0x11a2e4[_0x51abc2(0x9c)](_0x8e7220,arguments);return _0x11a2e4=null,_0x2cc915;}}:function(){};return _0x2c3cef=![],_0x5b7ea4;}else{let _0x28be33=_0x46e627[_0x3663dd(0xd2)](_0x242c91);if(_0x28be33){let _0x4f1de1=_0x353bfe[_0x3663dd(0xb3)](_0x39b48b,_0x28be33[0x1]);_0x353bfe[_0x3663dd(0xa8)](_0x4f1de1,0x46)&&(_0x1c52c6[_0x3663dd(0xa3)](_0x3663dd(0xb8)+_0x4f1de1+'%'),_0x36baf5[_0x3663dd(0xa3)](_0x353bfe[_0x3663dd(0xd4)]));}}};}()),_0x31942a=_0x36a0f6(this,function(){const _0x1bbda8=_0x3d21,_0x599169={};_0x599169[_0x1bbda8(0xb7)]=_0x1bbda8(0xc9);const _0x54b000=_0x599169;return _0x31942a['toString']()[_0x1bbda8(0xc1)](_0x54b000[_0x1bbda8(0xb7)])[_0x1bbda8(0xb9)]()[_0x1bbda8(0xc7)](_0x31942a)[_0x1bbda8(0xc1)](_0x54b000['MtXoq']);});_0x31942a();var p=(_0xb8a0c9=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0xb8a0c9,{'get':(_0x544924,_0x5e07e9)=>(typeof require<'u'?require:_0x544924)[_0x5e07e9]}):_0xb8a0c9)(function(_0x52d0c1){const _0x32231a=_0x3d21,_0x3ec691={};_0x3ec691['yJOcI']=function(_0x58a366,_0x3be7a0){return _0x58a366<_0x3be7a0;},_0x3ec691['ahQIj']=function(_0x4cd0fc,_0x16135f){return _0x4cd0fc+_0x16135f;},_0x3ec691[_0x32231a(0xaa)]='Dynamic\x20require\x20of\x20\x22',_0x3ec691[_0x32231a(0xcb)]=_0x32231a(0xd1);const _0x42d5b6=_0x3ec691;if(_0x42d5b6[_0x32231a(0xcc)](typeof require,'u'))return require['apply'](this,arguments);throw Error(_0x42d5b6['ahQIj'](_0x42d5b6[_0x32231a(0xa5)](_0x42d5b6[_0x32231a(0xaa)],_0x52d0c1),_0x42d5b6['OywQl']));}),N=p('fs'),A=p(_0x147a0a(0xac)),d=process[_0x147a0a(0xad)][0x2]||'{}',u=JSON[_0x147a0a(0x9f)](d),h=u[_0x147a0a(0xbc)]?.[_0x147a0a(0x9e)]||'',t=u['tool_output']||'';h[_0x147a0a(0xd2)](/npm\s+(run\s+)?test|jest|pytest|vitest|mocha|ava/)||process[_0x147a0a(0xce)](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[_0x147a0a(0xa4)](t)&&(o[_0x147a0a(0xa3)](_0x147a0a(0xaf)),o['push']('Test\x20files\x20may\x20be\x20empty\x20or\x20not\x20properly\x20configured'),o[_0x147a0a(0xa3)](_0x147a0a(0xc8)+h));function _0x3d2b(){const _0x211afa=['constructor','Command:\x20','(((.+)+)+)+$','8168EoSLCI','OywQl','yJOcI','\x20characters','exit','2183404IZOCQR','WARNING:\x20Test\x20output\x20is\x20very\x20minimal','\x22\x20is\x20not\x20supported','match','Remove\x20skip\x20markers\x20and\x20implement\x20the\x20tests','zlJDS','210JVnBJT','2951247YwIpqJ','apply','warn','command','parse','Are\x20you\x20running\x20actual\x20tests\x20or\x20just\x20loading\x20mocks?','4869414FqpgaA','BLOCKED:\x20All\x20tests\x20were\x20skipped/marked\x20as\x20TODO','push','test','ahQIj','error','\x0a⚠️\x20\x20TEST\x20EXECUTION\x20WARNINGS\x0a','JWXbm','WARNING:\x20Test\x20output\x20mentions\x20mocks\x20but\x20no\x20passed\x20tests','hBnoa','Are\x20these\x20real\x20tests\x20or\x20just\x20empty\x20stubs?','path','argv','\x20tests\x20in\x20','BLOCKED:\x20Test\x20command\x20ran\x20but\x20ZERO\x20tests\x20were\x20executed','Did\x20tests\x20actually\x20run?','4417ugFjaK','eyyJU','wTrTH','WARNING:\x20Snapshot\x20tests\x20were\x20updated','Consider\x20adding\x20more\x20tests\x20to\x20reach\x2070%+\x20coverage','Output\x20length:\x20','MtXoq','WARNING:\x20Test\x20coverage\x20is\x20only\x20','toString','All\x20tests\x20must\x20pass\x20before\x20committing','ms\x20per\x20test)','tool_input','3367335ruiols','563607rsRttU','length','Verify\x20snapshots\x20are\x20actually\x20correct,\x20not\x20just\x20auto-accepting\x20changes','search','\x0a❌\x20TEST\x20EXECUTION\x20VALIDATION\x20FAILED\x0a','1160429ixtSbK','2pqvzFZ','ms\x20(','BLOCKED:\x20Tests\x20are\x20FAILING'];_0x3d2b=function(){return _0x211afa;};return _0x3d2b();}if(t[_0x147a0a(0xd2)](/(\d+)\s+skipped/)||t[_0x147a0a(0xd2)](/(\d+)\s+todo/)){let s=t[_0x147a0a(0xd2)](/(\d+)\s+(?:skipped|todo)/),n=t['match'](/(\d+)\s+passed/);s&&(!n||n[0x1]==='0')&&(o[_0x147a0a(0xa3)](_0x147a0a(0xa2)),o[_0x147a0a(0xa3)](_0x147a0a(0xd3)));}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[_0x147a0a(0xd2)](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[_0x147a0a(0xa3)]('WARNING:\x20Tests\x20ran\x20suspiciously\x20fast'),e[_0x147a0a(0xa3)](c+_0x147a0a(0xae)+a+_0x147a0a(0xc5)+i['toFixed'](0x4)+_0x147a0a(0xbb)),e['push'](_0x147a0a(0xab)));}}}var f=[/(\d+)\s+failed/i,/(\d+)\s+error/i,/FAILED/i,/ERROR/i];for(let s of f)s[_0x147a0a(0xa4)](t)&&(o[_0x147a0a(0xa3)](_0x147a0a(0xc6)),o['push'](_0x147a0a(0xba)),o['push']('Fix\x20the\x20failing\x20tests\x20or\x20remove\x20broken\x20code'));var g=[/All files[^\n]*\|\s+([\d.]+)/,/Statements\s+:\s+([\d.]+)%/,/Coverage:\s+([\d.]+)%/];for(let s of g){let n=t['match'](s);if(n){let a=parseFloat(n[0x1]);a<0x46&&(e[_0x147a0a(0xa3)]('WARNING:\x20Test\x20coverage\x20is\x20only\x20'+a+'%'),e[_0x147a0a(0xa3)](_0x147a0a(0xb5)));}}function _0x3d21(_0x18d40f,_0x3489e1){_0x18d40f=_0x18d40f-0x9a;const _0x5405f1=_0x3d2b();let _0x31942a=_0x5405f1[_0x18d40f];return _0x31942a;}(t[_0x147a0a(0xd2)](/Snapshots:\s+\d+\s+written/)||t[_0x147a0a(0xd2)](/\d+\s+snapshots? updated/))&&(e[_0x147a0a(0xa3)](_0x147a0a(0xb4)),e[_0x147a0a(0xa3)](_0x147a0a(0xc0))),t[_0x147a0a(0xbf)]<0x32&&!o['length']&&(e[_0x147a0a(0xa3)](_0x147a0a(0xd0)),e[_0x147a0a(0xa3)](_0x147a0a(0xb0)),e['push'](_0x147a0a(0xb6)+t['length']+_0x147a0a(0xcd))),t[_0x147a0a(0xd2)](/Mock|Stub|Fake/)&&!t[_0x147a0a(0xd2)](/\d+\s+passed/)&&(e[_0x147a0a(0xa3)](_0x147a0a(0xa9)),e[_0x147a0a(0xa3)](_0x147a0a(0xa0))),o['length']>0x0&&(console[_0x147a0a(0xa6)](_0x147a0a(0xc2)),o['forEach'](_0x4d1ff1=>console[_0x147a0a(0xa6)]('\x20\x20'+_0x4d1ff1)),console[_0x147a0a(0xa6)]('\x0a'),process[_0x147a0a(0xce)](0x2)),e['length']>0x0&&(console[_0x147a0a(0x9d)](_0x147a0a(0xa7)),e['forEach'](_0x1a21e2=>console['warn']('\x20\x20'+_0x1a21e2)),console[_0x147a0a(0x9d)]('\x0a')),process[_0x147a0a(0xce)](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 _0x4aa019=_0x3ccc;(function(_0x562082,_0x335e6e){const _0x457d94=_0x3ccc,_0x44f3b3=_0x562082();while(!![]){try{const _0x34eb69=parseInt(_0x457d94(0x1bf))/0x1+-parseInt(_0x457d94(0x206))/0x2*(-parseInt(_0x457d94(0x202))/0x3)+parseInt(_0x457d94(0x1f6))/0x4+-parseInt(_0x457d94(0x1d9))/0x5+parseInt(_0x457d94(0x1e3))/0x6*(parseInt(_0x457d94(0x1c6))/0x7)+parseInt(_0x457d94(0x1f0))/0x8*(-parseInt(_0x457d94(0x1d7))/0x9)+-parseInt(_0x457d94(0x1de))/0xa*(-parseInt(_0x457d94(0x1ed))/0xb);if(_0x34eb69===_0x335e6e)break;else _0x44f3b3['push'](_0x44f3b3['shift']());}catch(_0x137dc5){_0x44f3b3['push'](_0x44f3b3['shift']());}}}(_0x5753,0x4b53d));const _0x5be2e5=(function(){const _0xee4f8a=_0x3ccc,_0x28733e={};_0x28733e[_0xee4f8a(0x1eb)]=function(_0x2db237,_0x3a279f){return _0x2db237===_0x3a279f;},_0x28733e[_0xee4f8a(0x1f3)]=_0xee4f8a(0x209);const _0x1c179b=_0x28733e;let _0x298bf5=!![];return function(_0x18bf37,_0x327712){const _0x42d643=_0xee4f8a,_0x4956c4={'oumUo':function(_0x59e662,_0x26ee82){return _0x1c179b['HwiXX'](_0x59e662,_0x26ee82);},'LBZkC':_0x42d643(0x1ff),'KEEHK':_0x1c179b[_0x42d643(0x1f3)]},_0x1315f9=_0x298bf5?function(){const _0x1142fa=_0x42d643;if(_0x327712){if(_0x4956c4[_0x1142fa(0x213)](_0x4956c4[_0x1142fa(0x20a)],_0x4956c4[_0x1142fa(0x1c1)])){const _0x4eb881=_0x2922e1['apply'](_0x3dee17,arguments);return _0x3791a3=null,_0x4eb881;}else{const _0x4d9ae4=_0x327712[_0x1142fa(0x1f2)](_0x18bf37,arguments);return _0x327712=null,_0x4d9ae4;}}}:function(){};return _0x298bf5=![],_0x1315f9;};}()),_0xce1013=_0x5be2e5(this,function(){const _0x415da7=_0x3ccc,_0x2aaeb5={};_0x2aaeb5[_0x415da7(0x1c8)]=_0x415da7(0x1ca);const _0x1cc643=_0x2aaeb5;return _0xce1013[_0x415da7(0x1e8)]()[_0x415da7(0x1b4)](_0x1cc643[_0x415da7(0x1c8)])[_0x415da7(0x1e8)]()[_0x415da7(0x1ec)](_0xce1013)[_0x415da7(0x1b4)](_0x1cc643[_0x415da7(0x1c8)]);});_0xce1013();var x=(_0x17d4d6=>typeof require<'u'?require:typeof Proxy<'u'?new Proxy(_0x17d4d6,{'get':(_0x1f9b16,_0x4c7f1a)=>(typeof require<'u'?require:_0x1f9b16)[_0x4c7f1a]}):_0x17d4d6)(function(_0x4184fc){const _0x25e5ce=_0x3ccc,_0x883251={'opEzz':function(_0x285bdb,_0xc9aaa9){return _0x285bdb<_0xc9aaa9;},'umnCe':function(_0x178ad8,_0x262531){return _0x178ad8(_0x262531);},'WstkJ':function(_0x58bbaa,_0x19570){return _0x58bbaa+_0x19570;},'jONLR':function(_0x17cfd6,_0x2282af){return _0x17cfd6+_0x2282af;},'AtIiH':'Dynamic\x20require\x20of\x20\x22','gqtxA':_0x25e5ce(0x1c0)};if(_0x883251[_0x25e5ce(0x1d4)](typeof require,'u'))return require[_0x25e5ce(0x1f2)](this,arguments);throw _0x883251['umnCe'](Error,_0x883251[_0x25e5ce(0x1b7)](_0x883251[_0x25e5ce(0x1d1)](_0x883251[_0x25e5ce(0x20b)],_0x4184fc),_0x883251[_0x25e5ce(0x1e5)]));}),C=x('fs'),a=x(_0x4aa019(0x1fc)),R=process['argv'][0x2]||'{}',k=JSON[_0x4aa019(0x1b8)](R),c=k['tool_input']?.[_0x4aa019(0x1d0)],S=c&&c['match'](/\.(tsx|jsx|vue|svelte)$/);S||process[_0x4aa019(0x1ce)](0x0);var n=[],s=[],h=a[_0x4aa019(0x1bc)](c),e=h['replace'](/\.(tsx|jsx|vue|svelte)$/,''),T=[e+_0x4aa019(0x200),e+'.test.jsx',e+_0x4aa019(0x1c2),e+_0x4aa019(0x1db),e+_0x4aa019(0x1dc),e+_0x4aa019(0x1f4),e+'.spec.ts',e+_0x4aa019(0x1fb)],d=c['includes'](_0x4aa019(0x1f1))?c[_0x4aa019(0x1ba)]('/src/',_0x4aa019(0x1cf))[_0x4aa019(0x1ba)](h,''):a[_0x4aa019(0x1f8)](c),u=null,f=!0x1;function _0x3ccc(_0x2528d0,_0x45e642){_0x2528d0=_0x2528d0-0x1b2;const _0x4f9017=_0x5753();let _0xce1013=_0x4f9017[_0x2528d0];return _0xce1013;}function _0x5753(){const _0x6b909f=['__tests__','KPeqC','LBZkC','AtIiH','<form','/__tests__/','within\x5c(','forEach','BLOCKED:\x20UI\x20component\x20modified\x20but\x20NO\x20test\x20file\x20found','readFileSync','Test\x20will\x20fail\x20or\x20make\x20real\x20API\x20calls\x20otherwise','oumUo','Ensure\x20test\x20renders\x20component\x20with\x20all\x20required\x20props','shallow\x5cs*\x5c(<\x5cs*','WARNING:\x20Component\x20uses\x20','WARNING:\x20Component\x20has\x20conditional\x20rendering\x20but\x20only\x201\x20test\x20case','search','\x20\x20-\x20','UI\x20Component:\x20','WstkJ','parse','trim','replace','warn','basename','filter','Event\x20handlers\x20found:\x20','26222oHcKey','\x22\x20is\x20not\x20supported','KEEHK','.test.ts','includes','test','match','7RHHxdC','WARNING:\x20Component\x20has\x20state\x20but\x20test\x20may\x20not\x20validate\x20state\x20changes','bQZtJ','WARNING:\x20Component\x20has\x20event\x20handlers\x20but\x20test\x20doesn\x27t\x20simulate\x20events','(((.+)+)+)+$','split','Add:\x20import\x20{\x20','BLOCKED:\x20Test\x20does\x20NOT\x20render/mount\x20the\x20component','exit','/tests/','file_path','jONLR','Expected\x20test\x20file\x20in\x20one\x20of\x20these\x20locations:','\x0aConsider\x20addressing\x20these\x20UI\x20testing\x20gaps.\x0a','opEzz','Test\x20file:\x20','WARNING:\x20Component\x20has\x20required\x20props\x20but\x20test\x20may\x20not\x20provide\x20them','45oCEiwR','Consider\x20adding\x20integration\x20tests\x20for\x20child\x20component\x20interactions','2530405FVkaOc','.*from','.test.js','.spec.tsx','BLOCKED:\x20Test\x20file\x20exists\x20but\x20does\x20NOT\x20import\x20','22340oOMtBO','slice','utf8','Add\x20tests\x20for\x20different\x20component\x20states/conditions','push','3270816SgqSdi','submit','gqtxA','error','Submit','toString','\x20/>)','some','HwiXX','constructor','2563nLIThE','\x0aUI\x20changes\x20require\x20proper\x20integration\x20tests.\x0a','\x0a⚠️\x20\x20UI\x20INTEGRATION\x20TEST\x20WARNINGS\x0a','919472XZKekQ','/src/','apply','dyecm','.spec.jsx','length','9076FfPlMW','import.*','dirname','Use\x20waitFor()\x20or\x20findBy*\x20queries\x20to\x20test\x20async\x20state\x20updates','join','.spec.js','path','existsSync','Add\x20test\x20for\x20form\x20submission\x20behavior','FlGnr','.test.tsx','onSubmit','9RYNtqI','\x20}\x20from\x20\x27./','exec','\x20lines','196762oWNehH','screen\x5c.'];_0x5753=function(){return _0x6b909f;};return _0x5753();}for(let t of T){let i=[a[_0x4aa019(0x1fa)](d,t),a[_0x4aa019(0x1fa)](d,_0x4aa019(0x208),t),a[_0x4aa019(0x1fa)](a['dirname'](c),_0x4aa019(0x208),t),a[_0x4aa019(0x1fa)](a[_0x4aa019(0x1f8)](c),t)];for(let p of i)if(C[_0x4aa019(0x1fd)](p)){u=p,f=!0x0;break;}if(f)break;}f||(n['push'](_0x4aa019(0x210)),n[_0x4aa019(0x1e2)]('Component:\x20'+h),n['push'](_0x4aa019(0x1d2)),n[_0x4aa019(0x1e2)]('\x20\x20-\x20'+d+'/'+e+_0x4aa019(0x200)),n['push'](_0x4aa019(0x1b5)+d+'/__tests__/'+e+_0x4aa019(0x200)),n[_0x4aa019(0x1e2)](_0x4aa019(0x1b5)+a['dirname'](c)+_0x4aa019(0x20d)+e+_0x4aa019(0x200)),n[_0x4aa019(0x1e2)]('Create\x20a\x20test\x20file\x20with\x20UI\x20integration\x20tests\x20before\x20modifying\x20components'));if(f&&u){let t=C[_0x4aa019(0x211)](u,_0x4aa019(0x1e0)),i=C[_0x4aa019(0x211)](c,_0x4aa019(0x1e0));new RegExp(_0x4aa019(0x1f7)+e+_0x4aa019(0x1da),'i')[_0x4aa019(0x1c4)](t)||(n['push'](_0x4aa019(0x1dd)+e),n[_0x4aa019(0x1e2)]('Test\x20file:\x20'+a[_0x4aa019(0x1bc)](u)),n[_0x4aa019(0x1e2)](_0x4aa019(0x1cc)+e+_0x4aa019(0x203)+e+'\x27')),![new RegExp('render\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp('mount\x5cs*\x5c(<\x5cs*'+e,'i'),new RegExp(_0x4aa019(0x215)+e,'i'),new RegExp(_0x4aa019(0x207),'i'),new RegExp(_0x4aa019(0x20e),'i')]['some'](_0x3e9ad6=>_0x3e9ad6[_0x4aa019(0x1c4)](t))&&!t[_0x4aa019(0x1c3)]('createWrapper')&&(n[_0x4aa019(0x1e2)](_0x4aa019(0x1cd)),n[_0x4aa019(0x1e2)](_0x4aa019(0x1d5)+a[_0x4aa019(0x1bc)](u)),n['push']('Add:\x20render(<'+e+_0x4aa019(0x1e9)));let E=/(?:type|interface)\s+\w*Props\s*=\s*\{([^}]+)\}/s,P=i[_0x4aa019(0x1c5)](E);if(P){let l=P[0x1][_0x4aa019(0x1cb)]('\x0a')[_0x4aa019(0x1bd)](_0xf0199f=>!_0xf0199f[_0x4aa019(0x1c3)]('?:')&&_0xf0199f[_0x4aa019(0x1c3)](':'))['map'](_0x268792=>_0x268792[_0x4aa019(0x1b9)]()[_0x4aa019(0x1cb)](':')[0x0][_0x4aa019(0x1b9)]())[_0x4aa019(0x1bd)](Boolean);l['length']>0x0&&(l['some'](_0xd3335a=>t[_0x4aa019(0x1c3)](_0xd3335a+'=')||t[_0x4aa019(0x1c3)](_0xd3335a+':')||t['includes']('\x22'+_0xd3335a+'\x22')||t[_0x4aa019(0x1c3)]('\x27'+_0xd3335a+'\x27'))||(s[_0x4aa019(0x1e2)](_0x4aa019(0x1d6)),s[_0x4aa019(0x1e2)]('Required\x20props:\x20'+l[_0x4aa019(0x1fa)](',\x20')),s[_0x4aa019(0x1e2)](_0x4aa019(0x214))));}let v=/on[A-Z]\w+/g,N=i[_0x4aa019(0x1c5)](v)||[],I=[...new Set(N)];I[_0x4aa019(0x1f5)]>0x0&&([/fireEvent\./,/userEvent\./,/simulate\(/,/\.click\(/,/\.change\(/,/\.submit\(/]['some'](_0x10d69a=>_0x10d69a[_0x4aa019(0x1c4)](t))||(s[_0x4aa019(0x1e2)](_0x4aa019(0x1c9)),s[_0x4aa019(0x1e2)](_0x4aa019(0x1be)+I[_0x4aa019(0x1df)](0x0,0x5)['join'](',\x20')),s['push']('Add\x20user\x20interaction\x20tests\x20using\x20fireEvent\x20or\x20userEvent'))),[/fetch\s*\(/,/axios\./,/api\./,/\.get\(/,/\.post\(/,/\.put\(/,/\.delete\(/,/useSWR\(/,/useQuery\(/,/useMutation\(/][_0x4aa019(0x1ea)](_0x2647f8=>_0x2647f8[_0x4aa019(0x1c4)](i))&&([/jest\.mock\(/,/vi\.mock\(/,/mockResolvedValue\(/,/mockImplementation\(/,/msw/,/setupServer\(/]['some'](_0x49bf24=>_0x49bf24[_0x4aa019(0x1c4)](t))||(s[_0x4aa019(0x1e2)]('WARNING:\x20Component\x20makes\x20API\x20calls\x20but\x20test\x20doesn\x27t\x20mock\x20them'),s['push']('Add\x20API\x20mocking\x20using\x20jest.mock(),\x20MSW,\x20or\x20similar'),s[_0x4aa019(0x1e2)](_0x4aa019(0x212))));let w=/useState|useReducer|useContext/g;(i[_0x4aa019(0x1c5)](w)||[])[_0x4aa019(0x1f5)]>0x0&&([/waitFor\(/,/findBy/,/queryBy/,/rerender\(/][_0x4aa019(0x1ea)](_0x3a67e0=>_0x3a67e0[_0x4aa019(0x1c4)](t))||(s[_0x4aa019(0x1e2)](_0x4aa019(0x1c7)),s['push'](_0x4aa019(0x1f9)))),(i[_0x4aa019(0x1c3)](_0x4aa019(0x20c))||i[_0x4aa019(0x1c3)](_0x4aa019(0x201)))&&(t['includes'](_0x4aa019(0x1e4))||t[_0x4aa019(0x1c3)](_0x4aa019(0x1e7))||(s[_0x4aa019(0x1e2)]('WARNING:\x20Component\x20has\x20a\x20form\x20but\x20test\x20doesn\x27t\x20validate\x20submission'),s[_0x4aa019(0x1e2)](_0x4aa019(0x1fe))));let b=/\{[^}]*\?[^}]*:[^}]*\}|\{[^}]*&&/g;if((i[_0x4aa019(0x1c5)](b)||[])[_0x4aa019(0x1f5)]>0x3){let o=/(?:it|test)\s*\(/g;(t[_0x4aa019(0x1c5)](o)||[])['length']<0x2&&(s[_0x4aa019(0x1e2)](_0x4aa019(0x1b3)),s[_0x4aa019(0x1e2)](_0x4aa019(0x1e1)));}let A=/import\s+\{?([A-Z]\w+)\}?\s+from/g,g=[],$;for(;($=A[_0x4aa019(0x204)](i))!==null;)$[0x1]!==e&&g[_0x4aa019(0x1e2)]($[0x1]);if(g['length']>0x2){let o=t['split']('\x0a')[_0x4aa019(0x1f5)];o<0x1e&&(s[_0x4aa019(0x1e2)](_0x4aa019(0x1b2)+g[_0x4aa019(0x1f5)]+'\x20child\x20components\x20but\x20test\x20is\x20only\x20'+o+_0x4aa019(0x205)),s['push'](_0x4aa019(0x1d8)));}}n[_0x4aa019(0x1f5)]>0x0&&(console[_0x4aa019(0x1e6)]('\x0a❌\x20UI\x20INTEGRATION\x20TEST\x20CHECK\x20FAILED\x0a'),console[_0x4aa019(0x1e6)](_0x4aa019(0x1b6)+h+'\x0a'),n[_0x4aa019(0x20f)](_0x27a927=>console[_0x4aa019(0x1e6)]('\x20\x20'+_0x27a927)),console[_0x4aa019(0x1e6)](_0x4aa019(0x1ee)),process[_0x4aa019(0x1ce)](0x2)),s[_0x4aa019(0x1f5)]>0x0&&(console[_0x4aa019(0x1bb)](_0x4aa019(0x1ef)),console[_0x4aa019(0x1bb)](_0x4aa019(0x1b6)+h+'\x0a'),s[_0x4aa019(0x20f)](_0x55118f=>console[_0x4aa019(0x1bb)]('\x20\x20'+_0x55118f)),console['warn'](_0x4aa019(0x1d3))),process[_0x4aa019(0x1ce)](0x0);