recallium 2.0.2 → 2.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +2 -2
- package/bin/manifest.json +4 -4
- package/bin/opencode-plugin-manifest.json +4 -4
- package/bin/recallium-hooks.cjs +3 -3
- package/bin/recallium-opencode-plugin.cjs +1 -1
- package/bin/skills/antigravity/capture/SKILL.md +2 -0
- package/bin/skills/antigravity/curate/SKILL.md +2 -0
- package/bin/skills/antigravity/design/SKILL.md +4 -2
- package/bin/skills/antigravity/investigate/SKILL.md +9 -0
- package/bin/skills/antigravity/recall/SKILL.md +16 -3
- package/bin/skills/antigravity/recallium-guidance/SKILL.md +2 -2
- package/bin/skills/antigravity/resume/SKILL.md +4 -1
- package/bin/skills/antigravity/start-work/SKILL.md +2 -2
- package/bin/skills/claude-code/capture/SKILL.md +2 -0
- package/bin/skills/claude-code/curate/SKILL.md +2 -0
- package/bin/skills/claude-code/design/SKILL.md +4 -2
- package/bin/skills/claude-code/investigate/SKILL.md +9 -0
- package/bin/skills/claude-code/recall/SKILL.md +16 -3
- package/bin/skills/claude-code/recallium-guidance/SKILL.md +2 -2
- package/bin/skills/claude-code/resume/SKILL.md +4 -1
- package/bin/skills/claude-code/start-work/SKILL.md +2 -2
- package/bin/skills/codex/capture/SKILL.md +2 -0
- package/bin/skills/codex/curate/SKILL.md +2 -0
- package/bin/skills/codex/design/SKILL.md +4 -2
- package/bin/skills/codex/investigate/SKILL.md +9 -0
- package/bin/skills/codex/recall/SKILL.md +16 -3
- package/bin/skills/codex/recallium-guidance/SKILL.md +2 -2
- package/bin/skills/codex/resume/SKILL.md +4 -1
- package/bin/skills/codex/start-work/SKILL.md +2 -2
- package/bin/skills/cursor/capture/SKILL.md +2 -0
- package/bin/skills/cursor/curate/SKILL.md +2 -0
- package/bin/skills/cursor/design/SKILL.md +4 -2
- package/bin/skills/cursor/investigate/SKILL.md +9 -0
- package/bin/skills/cursor/recall/SKILL.md +16 -3
- package/bin/skills/cursor/recallium-guidance/SKILL.md +2 -2
- package/bin/skills/cursor/resume/SKILL.md +4 -1
- package/bin/skills/cursor/start-work/SKILL.md +2 -2
- package/package.json +1 -1
- package/plugin-manifest.json +22 -22
- package/skills/capture/SKILL.md +2 -0
- package/skills/curate/SKILL.md +2 -0
- package/skills/design/SKILL.md +4 -2
- package/skills/investigate/SKILL.md +9 -0
- package/skills/recall/SKILL.md +16 -3
- package/skills/recallium-guidance/SKILL.md +2 -2
- package/skills/resume/SKILL.md +4 -1
- package/skills/start-work/SKILL.md +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x44f223=_0x3164;(function(_0x561ddd,_0x3358a8){const _0x39c979=_0x3164,_0x193069=_0x561ddd();while(!![]){try{const _0x32c149=parseInt(_0x39c979(0x174,'hy1a'))/(-0x16ab*-0x1+0x7da+0xd9*-0x24)*(parseInt(_0x39c979(0x168,'Z7d)'))/(0x866+0xb*-0x314+0x14*0x146))+-parseInt(_0x39c979(0x233,'vKR&'))/(0x8e*-0x39+0x37a+0x1c27)*(parseInt(_0x39c979(0x1f9,'8gAC'))/(-0x4*0x80+-0x1b37+0x1d3b))+parseInt(_0x39c979(0x201,'c[Qf'))/(0xffd+-0xeb8+0x50*-0x4)+-parseInt(_0x39c979(0x1b2,'zyLk'))/(-0x22f6+0x315*-0x1+-0x2611*-0x1)*(parseInt(_0x39c979(0x15f,'(nGu'))/(0x22fb+-0x252+-0x20a2))+-parseInt(_0x39c979(0x234,'8gAC'))/(0x10b7*0x1+-0x210d+0x5*0x346)+parseInt(_0x39c979(0x159,'xi8R'))/(0xb55+0x16c2+-0x220e)*(-parseInt(_0x39c979(0x151,'W00%'))/(0x4e1*-0x6+0x108a+0xcc6))+-parseInt(_0x39c979(0x212,'8^qX'))/(0x56*0x40+0x135+-0x16aa)*(-parseInt(_0x39c979(0x248,'XZ^g'))/(-0x2347*-0x1+0x632*-0x4+0x1*-0xa73));if(_0x32c149===_0x3358a8)break;else _0x193069['push'](_0x193069['shift']());}catch(_0x3e23eb){_0x193069['push'](_0x193069['shift']());}}}(_0x1f37,0x6e6e0+-0x3ecdf+0x42ccb));var E=Object[_0x44f223(0x18e,'xi8R')+_0x44f223(0x182,'RPnE')],J=Object[_0x44f223(0x1e5,'hXnC')+_0x44f223(0x188,'x2P%')+_0x44f223(0x1a0,'W00%')],G=Object[_0x44f223(0x246,'Z7d)')+_0x44f223(0x1aa,'Epa$')+_0x44f223(0x1bc,'5P1z')],$=Object[_0x44f223(0x167,'wFcK')+'e'][_0x44f223(0x16f,'c[Qf')+_0x44f223(0x266,'Uff^')],X=(_0x291119,_0x2bb842)=>{for(var _0x411b62 in _0x2bb842)E(_0x291119,_0x411b62,{'get':_0x2bb842[_0x411b62],'enumerable':!(-0x5cf*-0x5+0x1307*0x2+-0x4319*0x1)});},Y=(_0x1181ef,_0x978f5c,_0x219cc2,_0x48c920)=>{const _0x4bfbe7=_0x44f223;if(_0x978f5c&&typeof _0x978f5c==_0x4bfbe7(0x26d,')@Vd')||typeof _0x978f5c==_0x4bfbe7(0x1db,'8^qX')){for(let _0x5a9517 of G(_0x978f5c))!$[_0x4bfbe7(0x268,'b!Tl')](_0x1181ef,_0x5a9517)&&_0x5a9517!==_0x219cc2&&E(_0x1181ef,_0x5a9517,{'get':()=>_0x978f5c[_0x5a9517],'enumerable':!(_0x48c920=J(_0x978f5c,_0x5a9517))||_0x48c920[_0x4bfbe7(0x164,'Uff^')+'le']});}return _0x1181ef;},Z=_0x416ef1=>Y(E({},_0x44f223(0x18c,'hXnC')+'le',{'value':!(-0x1815*-0x1+0x1b0a+-0x239*0x17)}),_0x416ef1),ue={};X(ue,{'BIN_BASENAME':()=>I,'BRIDGE_MAX_BUFFER_BYTES':()=>v,'DEFAULT_BRIDGE_TIMEOUT_MS':()=>T,'classifySessionBoundary':()=>x,'createPluginState':()=>q,'extractToolFile':()=>M,'normalizeChatMessage':()=>_,'normalizeSessionCompacting':()=>h,'normalizeSessionEnd':()=>y,'normalizeSessionStart':()=>g,'normalizeToolExecuteAfter':()=>m,'recalliumOpenCodePlugin':()=>ce,'resolveBridgeBin':()=>k,'resolveInterpreter':()=>C,'runBridge':()=>w,'sessionIdFromEvent':()=>S}),module[_0x44f223(0x1be,'VG*a')]=Z(ue);var W=require('node:os');function N(_0x1017ef){const _0x15bb5f=_0x44f223;return _0x1017ef?_0x1017ef[_0x15bb5f(0x28a,'Uff^')+'th']('/')||/^[A-Za-z]:[\\/]/[_0x15bb5f(0x1eb,')@Vd')](_0x1017ef)||_0x1017ef[_0x15bb5f(0x176,'FcW@')+'th']('\x5c\x5c')?_0x15bb5f(0x21a,'5P1z'):_0x15bb5f(0x292,'Q!QO')+_0x15bb5f(0x1c3,'Yl$5'):_0x15bb5f(0x1f4,'s)RC');}function a(_0x22f476){const _0x3c0a8d=_0x44f223;return typeof _0x22f476==_0x3c0a8d(0x1da,'c[Qf')&&_0x22f476[_0x3c0a8d(0x229,'ay^y')]>-0x1809+-0x1938+0x3141?_0x22f476:void(0xf6f*0x1+0x1447+-0x23b6);}function O(_0x43dc81){const _0x24daa6=_0x44f223;return typeof _0x43dc81==_0x24daa6(0x221,'PzFy')&&Number[_0x24daa6(0x1cc,'Epa$')](_0x43dc81)?_0x43dc81:void(-0xcdf*-0x3+0x95+-0x2732);}function A(_0x1c5fc4){const _0x3eeaf3=_0x44f223;return!!_0x1c5fc4&&typeof _0x1c5fc4==_0x3eeaf3(0x251,'hXnC')&&!Array[_0x3eeaf3(0x20b,')@Vd')](_0x1c5fc4);}function M(_0x149571,_0x55e538){const _0x15b1ec=_0x44f223;let _0x879d43=A(_0x55e538?.[_0x15b1ec(0x1e4,'c[Qf')])?_0x55e538[_0x15b1ec(0x1ab,'Yl$5')]:{},_0x12efbf=a(_0x879d43[_0x15b1ec(0x256,'W00%')])??a(_0x879d43[_0x15b1ec(0x18b,'Epa$')])??a(_0x55e538?.[_0x15b1ec(0x281,'B%NS')]);if(!_0x12efbf)return;let _0x1f15b9=A(_0x879d43[_0x15b1ec(0x1b3,'RPnE')])?_0x879d43[_0x15b1ec(0x206,')IGY')]:_0x879d43,_0xb85eb0=O(_0x1f15b9[_0x15b1ec(0x279,'Wola')+'s']),_0x225164=O(_0x1f15b9[_0x15b1ec(0x16c,'BV@r')])??O(_0x1f15b9[_0x15b1ec(0x17f,'Yl$5')+'s']),_0x86ebce={'path':_0x12efbf,'path_kind':N(_0x12efbf),'edits':0x1};return(_0xb85eb0!==void(-0x2621+-0x116f*-0x2+0x343)||_0x225164!==void(0x203c+-0x12bb+-0xd81))&&(_0x86ebce[_0x15b1ec(0x242,'vASa')+_0x15b1ec(0x12e,'$1zz')]=(_0xb85eb0??-0x43*0x39+0x1eb3+-0xfc8)+(_0x225164??0x16b3*-0x1+-0x1*-0x9b1+-0x3*-0x456)),_0x86ebce;}function m(_0x2ed1f3,_0x2fb438,_0x5e9801){const _0x33ceab=_0x44f223;let _0x2e4899=M(_0x2fb438,_0x5e9801),_0x37d094={'kind':_0x33ceab(0x1b0,'Os9$')+_0x33ceab(0x275,'vASa'),'tool_name':a(_0x2fb438?.[_0x33ceab(0x130,'Wola')])??'','files':_0x2e4899?[_0x2e4899]:[]},_0x5b9e41=a(_0x2fb438?.[_0x33ceab(0x1f5,'Wola')+'D']);_0x5b9e41&&(_0x37d094[_0x33ceab(0x1f0,'Z7d)')+'id']=_0x5b9e41);let _0x4bcf58=a(_0x2ed1f3?.[_0x33ceab(0x276,'8^qX')+'y']);return _0x4bcf58&&(_0x37d094[_0x33ceab(0x230,'(8Cw')+_0x33ceab(0x224,'c[Qf')]=_0x4bcf58),_0x37d094;}function _(_0x54d9d3,_0x4bbbec){const _0x4d0f34=_0x44f223;let _0x57b682={'kind':_0x4d0f34(0x123,']JES')},_0x2b7d4b=a(_0x4bbbec?.[_0x4d0f34(0x120,'(nGu')+'D']);_0x2b7d4b&&(_0x57b682[_0x4d0f34(0x1ca,'hoQ[')+'id']=_0x2b7d4b);let _0x492511=a(_0x54d9d3?.[_0x4d0f34(0x1cd,'W00%')+'y']);return _0x492511&&(_0x57b682[_0x4d0f34(0x12f,'W00%')+_0x4d0f34(0x18a,'Os9$')]=_0x492511),_0x57b682;}function h(_0x4a66c4,_0x454c1c){const _0x2254ac=_0x44f223;let _0x5f2636={'kind':_0x2254ac(0x154,')@Vd')+_0x2254ac(0x165,')@Vd')},_0x37c1ac=a(_0x454c1c?.[_0x2254ac(0x26f,'PzFy')+'D']);_0x37c1ac&&(_0x5f2636[_0x2254ac(0x24b,'vASa')+'id']=_0x37c1ac);let _0x14f946=a(_0x4a66c4?.[_0x2254ac(0x264,'s)RC')+'y']);return _0x14f946&&(_0x5f2636[_0x2254ac(0x261,'vASa')+_0x2254ac(0x1a7,'vKR&')]=_0x14f946),_0x5f2636;}function g(_0x208d61,_0x282d05){const _0x3f3d95=_0x44f223;let _0x27b6a2={'kind':_0x3f3d95(0x126,'Wola')+_0x3f3d95(0x1d9,'c[Qf')},_0x466a5e=a(_0x282d05);_0x466a5e&&(_0x27b6a2[_0x3f3d95(0x295,'B%NS')+'id']=_0x466a5e);let _0x3ca24a=a(_0x208d61?.[_0x3f3d95(0x23b,'Epa$')+'y']);return _0x3ca24a&&(_0x27b6a2[_0x3f3d95(0x22f,'5P1z')+_0x3f3d95(0x21b,'vASa')]=_0x3ca24a),_0x27b6a2;}function y(_0x29ecb2,_0x4f3be9){const _0x145091=_0x44f223;let _0x3e63a6={'kind':_0x145091(0x1ca,'hoQ[')+_0x145091(0x15c,'KLOs')},_0x58e12d=a(_0x4f3be9);_0x58e12d&&(_0x3e63a6[_0x145091(0x1ed,'Oi^!')+'id']=_0x58e12d);let _0x5c8cee=a(_0x29ecb2?.[_0x145091(0x172,'FcW@')+'y']);return _0x5c8cee&&(_0x3e63a6[_0x145091(0x22f,'5P1z')+_0x145091(0x220,'hoQ[')]=_0x5c8cee),_0x3e63a6;}function x(_0x5422b7){const _0x562e95=_0x44f223;if(_0x5422b7===_0x562e95(0x1fc,'(8Cw')+_0x562e95(0x150,'KLOs'))return _0x562e95(0x25d,'VG*a');if(_0x5422b7===_0x562e95(0x257,'8jp]')+_0x562e95(0x186,'x2P%')||_0x5422b7===_0x562e95(0x1c2,'PzFy')+_0x562e95(0x285,'x2P%'))return _0x562e95(0x1a2,'vKR&');}function S(_0x526702){const _0x199d78=_0x44f223;let _0x3a0003=A(_0x526702?.[_0x199d78(0x1b5,'Yl$5')+'es'])?_0x526702[_0x199d78(0x11f,'BV@r')+'es']:{};return a(_0x3a0003[_0x199d78(0x14e,'8^qX')+'D'])??a(_0x3a0003[_0x199d78(0x238,']rjG')+'d'])??a(_0x3a0003[_0x199d78(0x25b,']rjG')+'id']);}var F=require('node:os'),H=require('node:path'),s=require('node:fs'),b=require('node:os'),d=require('node:path'),V=_0x44f223(0x187,'zyLk')+_0x44f223(0x23a,']rjG')+_0x44f223(0x1cf,'Q!QO')+_0x44f223(0x15a,'hoQ[')+_0x44f223(0x21e,'8jp]')+_0x44f223(0x1c7,'xi8R'),ge=V+(_0x44f223(0x1f3,'8^qX')+_0x44f223(0x1ef,'zyLk')+_0x44f223(0x27c,'5P1z')+_0x44f223(0x1c6,'xi8R')+_0x44f223(0x178,'U9EY')+_0x44f223(0x254,'PzFy')+_0x44f223(0x1e7,'xi8R')+_0x44f223(0x236,'xpI7')+_0x44f223(0x175,'8gAC')+_0x44f223(0x1e6,'Wola')+_0x44f223(0x27b,'O^^&')+_0x44f223(0x286,'x2P%')+_0x44f223(0x19c,'RPnE')+_0x44f223(0x1e3,'Q!QO')+_0x44f223(0x1e9,'vKR&')+_0x44f223(0x25f,'(8Cw')+_0x44f223(0x185,'Os9$')+_0x44f223(0x26b,'W00%')+_0x44f223(0x140,'Oi^!')+_0x44f223(0x134,')IGY')+_0x44f223(0x196,'XZ^g'));function _0x1f37(){const _0x2d8234=['sZe3ndbrnSo1','WQ7dJNVcVCoFic82','rH/cLSkFW7BdRZVcRG','W69wW5C','y8k8WOnhW63cVb4s','Asy/WO4v','W7pcNCkZWR8Vn8ooWOy','EmkJW6RdVmkYW4FcP3W','nqtcOai','W5JdG1ufWONdVfldSa','vZ/dISoRqW','vZ/dMCoWwCoK','WRZcOHrShCo7xZK','W5VcUmkWW4C','y2JcTuCvWRmPtq','W6TbW4ddLSosyCkJWPa','WOK4mCkuoL/cSSkm','W7nCW4JdRmkCE8kGWO8','AtO7','W7DwW4VdRSofzG','whr9iZunASkX','ss7dN8o4u8oIW5JcRG','WO7cNmo9qSoEiZhdVG','WRbdWQ7dOSkmW7Xyra','W75DW5hdOmoqySoHWPm','s8k0W5agWOVdJCkoW5e','WRGCeCk9eZ7cN8kW','WRaSW6hcP8klW7e','W7GaF3W','W40TWQ5mW7bt','W4tdRCoQbNLYbIq','EmkIW5JcTt4','W7hdOgugir7cMCkk','esLlW7NdHmk4WP3dSq','BCkRW4tcQsxdVdFcVa','W5TmW7Cc','W5ddTfPBaCo7q3C','tuVcP8kwBmkYAq','WQCSW77cSCkwW7TzEa','WPTkW6e','WR4MW6tcRa','pCoZWQa8bSoeWP8','C8oJW7/dRXpdRwpcNZFcL8kdhq','WPxcN8kXe8klWR3dIa','xb7cIG','WRtdHx7cR8oAjIu1','sItdN8k5vSkJW4/cRG','eSolWOy','W7WnWO4','ENtcPh0eWQW2wa','ehJcKSkQbCk6WPNcVmopfuFdQSov','h8kUWRPoW4G','etHCW6xdMmkJ','qbZcKSkAW4FcSIZcSW','W78CF3ZdH8oE','kCkNWObc','aCkPWQrh','W5RdP8o9ea','W64AWPVdSCkgihtcUG','hCooWOmhnSoI','W6uwtxRdKmosnG','W67cNCkYWRi','mSk7WQq','hCokWOyFlCk7WRDg','tSoTWRSV','aYbuW6pdMmk6WQZdSq','W47cTCkMW4ZdOCkxCqW','W6VdO0LSkSogqIdcKa','katcQWxcR38iW6K','iIldQsbhW612Cq1eWRlcSxm','ASkHW6tcRJ7dUJFcHa','dMpdV8kbWPH3Ca','FYaSWPmt','a8oaWPi','W4tcU8kMW53dL8kAAHm','WQW1WR7dR2ZcRYHg','s8oJW7RcJq','WROze8k3gNy','iSk4WQxcQ0lcIMJcVW','W4lcI8kdu1XQsx4','WP0DWRrvW4GeF8oSW6TWW7jPzG','FJSIWPu','ECkMW6ldSmkeW4W','WQvsW6O','esvFW6tdJmk7','vItdHmoT','b8oDWOSC','WQC9W6lcSG','W7hcL8kZWQqCnCoe','tsxdN8o8rCoZW57cQG','xhOSW6pdVua','W4LbW6K','WQGyaCkMh3ZcLCkq','W5ldPSoV','v8omW7RdJ0Dgy3q','b2pdV8k1','WR0LWQldQMxcUsH8','WRFdKMlcTSowkJ9e','W47cO8k1','ut/dJCkH','W6Hlbmk8ovdcUmkQ','DmoSW7pdQH7dQYhcVcRcLmkdf1e','t0ZcOSolmq','uJGGWQBdJ8o7WRJdQW','WPNdUSo2WPJcHCocDYRcVha8WRm','vmoNWQyVW4lcUJddTa','WOXtW7zBW4G','qSk4W7vKW4RdOwNcIG','WPZcK8kWbCkjWQ7dGGW','amokWPecW7ldPSoEW58','W7LAW4VdMCoqESkM','x8kMygFcUuO','qYe9WRC','WQjcW7RdS8odBvbq','W4TrW7u','vCoLW7VcNc7cHmkOjW','DmkoW6WMWQ3dRCkLW4e','qbJcL8kcW5ZdQW','WR0MW6pcSq','bsLmW4xdMSk5WQpdNa','W40KWRXpW7T4W40','nCoDld7cOSk3WQbYwZq7WOxcTq','vJW6WQFcHSo4WR7dLG','vxeM','sSoPW6BcIJtcTmkLea','rmklD2a','WQRdKhNcG8oapcL2','WRqteCkW','WPVdKCoraaCU','aCoaWPa','WOBcM8oJAmokoq','W5JcUCkIW53dHq','W7Ssamo1a33cICk8','CSk9W7VcSSkcW4ZcRhS','ASkkE2/dSmoNW74E','tCkiyKr1W5/dOdW','WOFdLSoifG01eti','WPPrW7DCW5i','WQGKWQldRhBcVZG','Fd09WOq','vmoNWQyVW4lcUJddOG','WRrpW7hdOCoqE21D','BCk6W5BcQdG','tcRdMa','WRxdHw7cQmoCoZi7','cL3cO8kKW4OA','sCo+W7RcKZJcUmk/ea','ECoJW7RdRX/cTf/cIbBcVmk3','whbOoW','xeZcVSkDymkXAmob','W7fCW4ZdPW','W5/cJSktWR1NW48','c8oBW7ZdJuPgzMG','d2VdVCk9','kmkGWOLbW6lcPa','WQGfW5pdOmo+tCknWPm','c8kjELv1W43cRNS','lSkHWOjb','W6mhzM3dGCoh','W5pcTWxcKCoTnq','zmk2W7ZdOCkiW5hcP1y','umoIW6hcNc/cQ8k5kG','FmkIW5ldUIJdUIVcHG','W5FcM8kcWRP6W5i','dY1aW4JdMmkXWPxdIW','dMpdVW','vCotW6dcIJG','WR7cVGHQcSoMxYu','WOGfWPjMEmoXW6VdJG','xCoTW6hcMa','WRuTW6NcQ8klW71yxW','WPpcN8k7eW','W4rbWQ0fWPqwkSo5','WRr3WQ7dR27cRJ1k','s0dcV8klASkQACo6','WQeiWRJdS2u','W6ipAwVdLSoAimkq','wWpcNSkiW43dTJS','gSotWPmejG','WReNW6K','CNNcPa','bwtdP8kWWPvQFg4','huZcVCkOW5ayvq','gKxcPmkPW4ezevS','BYa1','rX7cMSka','WRddJMJcUa','W4pcISkxWR1NW4uuWOe','WQZcTHz6da','W5JdJ0O','qbJcNmkD','qX7cLSkzW4ZdRwNcSW','W5JcVCkIW5JdNW','xMf9Cd0mymoo','WP/cN8k2','xxzHAteaESoo','dmkSWQDeW5W','b2pdV8k1W4mJ','hCoFWPqBkSo5WRXR','BSkkFgG','W4tcOb7cLmoHiZO0','gCkLWRTyW4C+WQVcGG','W47dG1y','bc90W6NdP11dW5FcIa','xSkqDMm','n8k+W6BdOCksW5FcP3G','W4BcRSkZW7ddRSkeyaC','WQCSW77cSCkwW7TzBG','WR4JWQNdR3xcRG','W5FcPGK','W6xdQg4plqVcKSkY','kmk2WO9qWQZcSX0F','xx46','WQnyW6O','mCkXWQtcVe7cT3BcMa','W4RcO8kKW4RdLq','w8ktyuTGW53dOaS','WQaMW6lcRG','W7nCW4JdRmovz8k8','W7tcVSk3W4ddGq','t8keyKrXW5S','i8kOWOKlW6/cSret','DCkNW5NcVG','W5hcL8kJWQOCl8oiWPW','yrtdO8owESog','Fmk6W6hdTG','tSoLWRSZW5NcSa','WPRcK8kSmmklWQ7dHq','wmoUW7RcIYK','xmkiWO0nimoqWPLn','mqv/W57dQmkfWR4','D8krENtdTSozW79B','jmkMWRJcT1u','WPJdQSo/gMj5rHi','W6dcHSk4','W40KWRfrW6e','W6lcNmoGWQqhlCoeWO0','WQm9WQJdO3tcSZnn','WQNcSH9HoSo3qYq','cCkVWQziW48L','wmkeFvjSW5hdUH0','euJcOG','amoBWPayW7xdRG','ytu1','xNbIW63dP1XrW4W','vJu1WRFcICo5WQVdSG','swfIzIag','WQNcSGL8amo9xH4','WOFdH8oAfXa','emoDWOCqW6/dRmou','h8orAwj1W7hdTZ8','pCk7WPvm','W7jCW4VdUG','W7WxAvFdGCoCiSko','W5JcQmkWW5ZdMmkzAZS','i8k9WQtcIeBcRxK','g8oxW7e','ubJcNmkFW5a','WQibWP3cUCkfoSk2WPRdGcy6WRW','pwn/W5zFWP/dISoR','gmogWO4D','fSobWOy','BZSJWPitW4FdGSkV','nCoXW5ZdRwPRx00','xSoWW75gW4aKWRlcOKC','W7dcHSkYWQiEjmoiWO8','W5pdRCo1egr4','W5JdPSo6ea','WPNdVXdcGmoLitO4','W5xcKmkdWQj2W4qIWOO','W60gEa','WQNdJ2pcPSowoYq2','cComW7ddMeLEDM0','uh5sW6/dJSkrWRJdLW','dCooWP8','WQLEWP3dHSkLfNNcSG','W6VcPWlcGq','W4BcTXZcI8oYmciU','W7pdVhKanGpcMCkw','sCk6xuNdNSod','tcRdMmowqmoTW7ZcVq','WQfBW7NdPSocz0Xj','W5/cV8kQW4i','WPWEWOvCB8oQW6VdKa','cLNcSmk6W4Pqve8','pftcNYVdNCoZW48oW7qgWQW','jmkMWQpcUuVdUxdcVW','WOSdWPzlEmoTW5pdIW','jmk9WQDwW77cSqS','W6/cM8k1WQzqimonWOa','WPldV8o7WP/cHCocFr7cR2GRWQi','WRKuhmo1bNlcJ8kX','WQVcS8kfnmkVWOJdOa','W7ZdULmkma/cLCkm','BtyIWPmt','qWdcKSkzW4/dSdVcRa','WRvsW7tdT8oqyvfk','W7XJW77dO0pcJI5ufW','ehyXWQtdP0DaWP4','WOzvW7zhW4JcHq','mG/cRHFcQNKcWPS','W4S9WRK','W64nWPVdQ8kMDXddUG','ee3cVCkO','W4BdOhaniX7cG8kk','fLNcTmk/W5aeDvG','WOPNW6qlWQChWPy3WQ8TW7FcRSoD','W68bWPxdSq','WOJcM8k2ca','WRBcPSoSFSoKiGxdUq','yCoUWPvbW6/cPqaA','W79wW4pdOmoFA8kEWPi','Df4wW4u','W4FcQmkTW4JdHCkE','W6xcKCkOWQyFj8oYWPa','WQjdW7NdOmoq','BCk6W5pcSYi','WPRcJCoTySoCoq','WQG5WQK','yCkbFhtcVmkm','seRcV8kmxmkXAmoC','W7SAWPj9W5TQ','qSkuFh3cV1yhrq','W5n5WRvxW7PvW5bQ','cSoFWOSnn8oZ','WPTkW74vW57cNCoYW4C','WQ5FW4pcVCoNfeZcKSo9rsS','W4flW7SgWP1Fk8kS','W5ZcOCkdWRX2','wmkcFeH1W4RdUYy','bZPDW6tdMq','WR4tfG','W7tcM8kUW7Hc','t8kxW4JdJCkYW6RcIeS','sSoPW7dcLW7cVSk4pa','qCkoz08','WQKshCkH','W4tcH8kgWQO','ixKOWPCcW4JdMa','WPFcISkNeSkEWQpdOX8','WRXsW6ZdS8oaAuPf','eCorW7ldIujdFq','WRJcVHrFcmoMwa','W5pcISko','WPezWOnCFSoUW7BdHW','W60bWONdSCkklxxcTG','hmoFWOqjl8o6WRTb','WQ3cVIDuEGFcUmkHW4hcIM8','WO1mW7vt','z8k2W6hdTSkiW5dcRLy','WQffW7FdOSobEKPn','W6ykzwy','nCkXWRG','rZZdJW','WOPkW71gW4JcNCo/W5G','rYhdMa','xSkbFh3cJ1WquW','WQaYWR4','aw/dOSkIWPHKFq','E8k2W4FcTt7dPYO','W40XWRHwW4zBW5a3','hCofWOCsW6/dOmoFW64','W5xcHSkgWQbHW4iW','zmk2W7ZdOCkiW5hcPZe','WQnsW7tdS8oqyuHb','W6HhW5FdOmoFAq','WPRcNmo9','W7vaWOxdM8ouBCkVWOW','W7GgWPa','BZGIWPic','FWNdH2FcICorW6SO','FZe+WPioW4NdGSke','oCkNWOTbW6pcPqy','WPhcICkecCkeWRpdMrS','t8kiFerMW4RdUYy','W6D6W4mOWRD5a8on'];_0x1f37=function(){return _0x2d8234;};return _0x1f37();}function B(_0x4f45bd=process[_0x44f223(0x1e1,'hoQ[')],_0x2f794b=process[_0x44f223(0x14c,'xpI7')],_0x59df74=(0x1*0x1967+-0x6a*-0x10+-0x2007,b[_0x44f223(0x280,'U7E5')])()){const _0x2cb8eb=_0x44f223;let _0x3461e5=_0x4f45bd[_0x2cb8eb(0x1df,'vKR&')+_0x2cb8eb(0x16e,'XZ^g')]?.[_0x2cb8eb(0x288,'U7E5')]();if(_0x3461e5)return _0x3461e5;if(_0x2f794b===_0x2cb8eb(0x1a3,'U9EY')){let _0x14c990=_0x4f45bd[_0x2cb8eb(0x15e,'wFcK')+_0x2cb8eb(0x18f,'ay^y')]?.[_0x2cb8eb(0x171,'$1zz')]();return _0x14c990?(0x17ce+-0x709*-0x2+-0x60*0x65,d[_0x2cb8eb(0x1f7,'Wola')])(_0x14c990,_0x2cb8eb(0x136,'U9EY')+'m'):(0x1aa9+0x3db+-0x1e84,d[_0x2cb8eb(0x11e,'XZ^g')])(_0x59df74,_0x2cb8eb(0x1d3,')IGY')+'um');}let _0x42fa0a=_0x4f45bd[_0x2cb8eb(0x1a4,'PzFy')+_0x2cb8eb(0x137,'c[Qf')]?.[_0x2cb8eb(0x225,'KLOs')]();return _0x42fa0a?(-0x2*-0x1208+-0xeb*0x3+-0x214f,d[_0x2cb8eb(0x265,'xi8R')])(_0x42fa0a,_0x2cb8eb(0x1b1,'B%NS')+'m'):(-0x26*0x95+0xd40+0x8de,d[_0x2cb8eb(0x1b6,')@Vd')])(_0x59df74,_0x2cb8eb(0x22d,'wFcK')+'um');}var ee=process[_0x44f223(0x1c9,'hy1a')]!==_0x44f223(0x235,'s)RC');function _0x3164(_0x3d3d8c,_0x1a4b67){_0x3d3d8c=_0x3d3d8c-(0x60e+-0x32*0x5+-0x3f6);const _0x2be2c6=_0x1f37();let _0x526e39=_0x2be2c6[_0x3d3d8c];if(_0x3164['yDgMhI']===undefined){var _0x4f09f2=function(_0x2f5a23){const _0x28492e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18278f='',_0x11e759='';for(let _0x2d2ec5=-0x234a+0x736+0x1c14*0x1,_0x44fef5,_0x51acd6,_0x48c1e2=0xf17*0x1+-0x1795*0x1+0x43f*0x2;_0x51acd6=_0x2f5a23['charAt'](_0x48c1e2++);~_0x51acd6&&(_0x44fef5=_0x2d2ec5%(0x389+-0xb9*0x35+0x22c8)?_0x44fef5*(-0x1938+-0x11d6+0xf1*0x2e)+_0x51acd6:_0x51acd6,_0x2d2ec5++%(0x1eab+0x2601+0x1*-0x44a8))?_0x18278f+=String['fromCharCode'](0xd58+-0x21bf+0x1566&_0x44fef5>>(-(-0x116f*-0x2+-0x694+-0x28*0xb5)*_0x2d2ec5&-0xef1+-0x1a4b+0x2942*0x1)):-0x1676+-0xeb7+0x1f*0x133){_0x51acd6=_0x28492e['indexOf'](_0x51acd6);}for(let _0x2f7324=0x26fc+-0x1*-0x250c+0x3*-0x1958,_0x8044cd=_0x18278f['length'];_0x2f7324<_0x8044cd;_0x2f7324++){_0x11e759+='%'+('00'+_0x18278f['charCodeAt'](_0x2f7324)['toString'](-0x821*-0x1+0x2c+0x13*-0x6f))['slice'](-(-0x1b9f+-0x20*-0xad+0x1*0x601));}return decodeURIComponent(_0x11e759);};const _0x104f99=function(_0x39c358,_0x346138){let _0x40503a=[],_0x45812e=-0x1a43+-0x1*0x1e69+-0xd*-0x45c,_0x94d794,_0x5ba1fa='';_0x39c358=_0x4f09f2(_0x39c358);let _0x2e56e3;for(_0x2e56e3=0x2567+-0x20ec+0x47b*-0x1;_0x2e56e3<-0xf48+0x6*-0x34c+-0x1*-0x2410;_0x2e56e3++){_0x40503a[_0x2e56e3]=_0x2e56e3;}for(_0x2e56e3=0x3*0x551+-0x272*0x4+0x62b*-0x1;_0x2e56e3<-0x1*-0xf67+-0x85c+-0x60b;_0x2e56e3++){_0x45812e=(_0x45812e+_0x40503a[_0x2e56e3]+_0x346138['charCodeAt'](_0x2e56e3%_0x346138['length']))%(0x39*0x65+-0xeb1+-0x6cc),_0x94d794=_0x40503a[_0x2e56e3],_0x40503a[_0x2e56e3]=_0x40503a[_0x45812e],_0x40503a[_0x45812e]=_0x94d794;}_0x2e56e3=-0xf19*-0x1+-0x1*-0x14b+-0x1064,_0x45812e=-0x2452+-0xf*-0x83+0x1ca5*0x1;for(let _0x15113a=-0x1458+0x10*0x139+-0x2*-0x64;_0x15113a<_0x39c358['length'];_0x15113a++){_0x2e56e3=(_0x2e56e3+(0xc*0x1c4+-0x48+-0x14e7))%(-0x1799*0x1+0x5*0x1d5+-0x4c*-0x34),_0x45812e=(_0x45812e+_0x40503a[_0x2e56e3])%(-0x1a2*-0x17+0xc63+-0x30f1),_0x94d794=_0x40503a[_0x2e56e3],_0x40503a[_0x2e56e3]=_0x40503a[_0x45812e],_0x40503a[_0x45812e]=_0x94d794,_0x5ba1fa+=String['fromCharCode'](_0x39c358['charCodeAt'](_0x15113a)^_0x40503a[(_0x40503a[_0x2e56e3]+_0x40503a[_0x45812e])%(-0x15a7+-0x17b5+0x2e5c)]);}return _0x5ba1fa;};_0x3164['TlWZHV']=_0x104f99,_0x3164['YdHXsq']={},_0x3164['yDgMhI']=!![];}const _0x31f814=_0x2be2c6[0x23e+-0xf6*0x13+0x1004],_0x71e92d=_0x3d3d8c+_0x31f814,_0x25bf8e=_0x3164['YdHXsq'][_0x71e92d];return!_0x25bf8e?(_0x3164['EUZmxZ']===undefined&&(_0x3164['EUZmxZ']=!![]),_0x526e39=_0x3164['TlWZHV'](_0x526e39,_0x1a4b67),_0x3164['YdHXsq'][_0x71e92d]=_0x526e39):_0x526e39=_0x25bf8e,_0x526e39;}function te(){const _0x2b83c7=_0x44f223;return typeof process[_0x2b83c7(0x272,'Uff^')]==_0x2b83c7(0x16d,'zyLk')?process[_0x2b83c7(0x26e,'BV@r')]():void(-0x1*-0x102+-0x2*-0x526+0x2*-0x5a7);}function D(_0x46a246){const _0x1865cc=_0x44f223;if(!ee)return!(0x1f*0x1+-0x2*0xc4c+-0x23*-0xb3);let _0x774d4d;try{_0x774d4d=(-0x23*0x2b+0x3*-0x313+0xf1a,s[_0x1865cc(0x209,'Os9$')])(_0x46a246);}catch{return!(0x9d*-0x34+0xf19+-0x2*-0x866);}if(!_0x774d4d[_0x1865cc(0x17c,'zyLk')+_0x1865cc(0x1fb,'U7E5')]())return!(-0x1*0x23c7+-0x2*0x1229+0x481a*0x1);let _0x45d7cb=te();if(_0x45d7cb!==void(-0x1458+0x10*0x139+-0x2*-0x64)&&_0x774d4d[_0x1865cc(0x184,'!gtm')]!==_0x45d7cb)return!(0xc*0x1c4+-0x48+-0x14e7);if((_0x774d4d[_0x1865cc(0x208,'Oi^!')]&-0x1799*0x1+0x5*0x1d5+-0x259*-0x7)!==-0x1a2*-0x17+0xc63+-0x3031)try{let _0x532604=(-0x15a7+-0x17b5+0x2d5c,s[_0x1865cc(0x1d6,'PzFy')])(_0x46a246,s[_0x1865cc(0x15d,'hoQ[')+'s'][_0x1865cc(0x1e8,'PocW')]);try{(0x23e+-0xf6*0x13+0x1004,s[_0x1865cc(0x191,'U9EY')+'nc'])(_0x532604,-0x23f0+0x281*-0x7+-0xb0b*-0x5);}finally{(-0x825+-0x263d+0x2e62,s[_0x1865cc(0x21d,'8gAC')+'c'])(_0x532604);}}catch{return!(0x1867*-0x1+-0x20e*0x1+0x1a76);}return!(0x2b*-0xd7+0x3d8+-0x1*-0x2045);}var Se=s[_0x44f223(0x1b9,'RPnE')+'s'][_0x44f223(0x1ce,'O^^&')+'OW']??0x10*-0x15d+-0x263f+0x19*0x267,be=(-0x240+-0x118e+0x140a)*(0x335*0x1+-0xf23+0xc2a)*(0x577*0x4+0x1a9f+-0x1*0x2c93),ke=(0x5*0x223+-0x43d*0x7+0x1*0x13fc)*(0x997+-0x1aa*0xc+-0x4cb*-0x3),I=_0x44f223(0x267,'wFcK')+_0x44f223(0x19a,'!gtm')+_0x44f223(0x1ba,'c[Qf');function k(_0x58e50d=process[_0x44f223(0x231,'$1zz')],_0x37cfbd=process[_0x44f223(0x17e,'U7E5')],_0x39ed59=(-0x16*0x121+-0x1078+0x294e,F[_0x44f223(0x1ac,'wFcK')])()){const _0x3fd0d9=_0x44f223;let _0x44a125=B(_0x58e50d,_0x37cfbd,_0x39ed59);return D(_0x44a125)?{'ok':!(0x1*0x1f0a+0x119a*-0x1+0x28*-0x56),'home':_0x44a125,'binPath':(0x1982*0x1+-0x183f+-0x143,H[_0x3fd0d9(0x1a6,'W00%')])(_0x44a125,_0x3fd0d9(0x121,'1^Yu'),I)}:{'ok':!(0x1993+0xfcf+-0x2961),'reason':_0x3fd0d9(0x1e0,'xi8R')+_0x3fd0d9(0x289,'(8Cw'),'detail':_0x44a125+(_0x3fd0d9(0x181,'ay^y')+_0x3fd0d9(0x143,'U9EY')+_0x3fd0d9(0x18d,')IGY')+_0x3fd0d9(0x271,'VG*a')+_0x3fd0d9(0x158,'U7E5'))};}function C(_0x44ee2c=process[_0x44f223(0x211,'$1zz')]){return _0x44ee2c;}var U=require('node:child_process'),z=require('node:fs'),ne=[_0x44f223(0x213,'@xg&')+_0x44f223(0x192,'Yl$5'),_0x44f223(0x277,'FcW@')+_0x44f223(0x16b,'BV@r'),_0x44f223(0x1d5,'U9EY')+_0x44f223(0x27e,'5P1z'),_0x44f223(0x226,'Wola'),_0x44f223(0x155,'$1zz')+_0x44f223(0x195,'5P1z'),_0x44f223(0x1d1,'U7E5')+_0x44f223(0x24d,'(8Cw')+'it',_0x44f223(0x1dd,'g$6(')+_0x44f223(0x283,'g$6('),_0x44f223(0x240,'Yl$5')+_0x44f223(0x132,'$1zz')],re=new Set(ne);function j(_0x306de7){const _0xd15526=_0x44f223;return typeof _0x306de7==_0xd15526(0x149,'KLOs')&&re[_0xd15526(0x148,'x2P%')](_0x306de7);}var oe=_0x44f223(0x125,'$1zz')+_0x44f223(0x210,'Z7d)')+_0x44f223(0x13e,'XZ^g')+_0x44f223(0x20c,'U9EY'),Ae=oe[_0x44f223(0x142,'!gtm')]('__')[_0x44f223(0x218,'KLOs')](),T=0x1e43+-0x17*-0x47+-0x1ec8,v=(0x81*-0xd+0x5bb+0x112)*(0x659*0x3+0x630+-0x153b);function w(_0x45fb97){return new Promise(_0x46efa3=>{const _0x4ec420=_0x3164;if(!j(_0x45fb97[_0x4ec420(0x138,'PzFy')])){_0x46efa3({'ok':!(-0x1b7d+0x892*-0x4+0x1ee3*0x2),'reason':_0x4ec420(0x1d0,'(8Cw')+_0x4ec420(0x22e,'b!Tl'),'detail':_0x4ec420(0x1fd,'c[Qf')+_0x4ec420(0x255,'XZ^g')+_0x4ec420(0x294,'b!Tl')+String(_0x45fb97[_0x4ec420(0x138,'PzFy')])});return;}if(typeof _0x45fb97[_0x4ec420(0x1ad,'8^qX')]!=_0x4ec420(0x260,'x2P%')||_0x45fb97[_0x4ec420(0x13a,'Epa$')][_0x4ec420(0x190,'$1zz')]===-0x23a2+-0x1822+0x3bc4||!(-0x3b0+0x189*0x2+0x9e,z[_0x4ec420(0x25c,'Yl$5')+'nc'])(_0x45fb97[_0x4ec420(0x216,'b!Tl')])){_0x46efa3({'ok':!(-0x314*-0x2+0x62e+-0xb*0x11f),'reason':_0x4ec420(0x183,'@xg&')+_0x4ec420(0x157,'wFcK'),'detail':_0x4ec420(0x17a,'vKR&')+_0x4ec420(0x124,'PzFy')+_0x4ec420(0x253,'vKR&')+_0x4ec420(0x21c,'vKR&')});return;}if(typeof _0x45fb97[_0x4ec420(0x270,'vASa')+_0x4ec420(0x1b7,'8gAC')]!=_0x4ec420(0x1c4,'xi8R')||_0x45fb97[_0x4ec420(0x1af,'FcW@')+_0x4ec420(0x28c,'1^Yu')][_0x4ec420(0x229,'ay^y')]===0xd57+-0x2223+-0xa66*-0x2){_0x46efa3({'ok':!(0x1d99+-0x1fcb+0x233),'reason':_0x4ec420(0x284,'b!Tl')+_0x4ec420(0x274,'b!Tl'),'detail':_0x4ec420(0x14b,'ay^y')+_0x4ec420(0x28e,'U7E5')+_0x4ec420(0x259,'5P1z')});return;}let _0x189ada=Math[_0x4ec420(0x14a,'hoQ[')](-0x1*0x9c5+0x12b4+-0x8ee,Math[_0x4ec420(0x1ee,'VG*a')](_0x45fb97[_0x4ec420(0x1d8,'1^Yu')+'s']??T)),_0x289933=Math[_0x4ec420(0x12b,'ay^y')](-0xf9*0x11+0x21b5*-0x1+-0x2a5*-0x13,Math[_0x4ec420(0x293,'(nGu')](_0x45fb97[_0x4ec420(0x273,'Z7d)')+_0x4ec420(0x23e,']JES')]??v)),_0x3c2202=_0x45fb97[_0x4ec420(0x247,'!gtm')]??U[_0x4ec420(0x28f,'$1zz')],_0x1005f7=new AbortController(),_0x40ff44=!(0x4*-0x5e5+0xbbe+-0x1b1*-0x7),_0x45e389=0x1055+-0x10ba+0x65,_0xe1995a=[],_0x575957=!(0x2026+-0x1e63*-0x1+-0xae*0x5c);function _0xd9a044(_0x506fab){_0x40ff44||(_0x40ff44=!(-0x11*-0x1b7+0x19cc+-0x36f3),clearTimeout(_0x175475),_0x46efa3(_0x506fab));}let _0x175475=setTimeout(()=>{const _0x50e4cc=_0x4ec420;try{_0x5b78b4[_0x50e4cc(0x207,'(nGu')](_0x50e4cc(0x17b,'Epa$'));}catch{}try{_0x1005f7[_0x50e4cc(0x13b,'vASa')]();}catch{}_0xd9a044({'ok':!(-0x1809*-0x1+-0x101e+0x1*-0x7ea),'reason':_0x50e4cc(0x1cb,')IGY')});},_0x189ada);_0x175475[_0x4ec420(0x202,'(nGu')]?.();let _0x5b78b4;try{_0x5b78b4=_0x3c2202(_0x45fb97[_0x4ec420(0x228,'c[Qf')+_0x4ec420(0x1d2,'xi8R')],[_0x45fb97[_0x4ec420(0x216,'b!Tl')],_0x4ec420(0x163,'BV@r')+'r',_0x4ec420(0x199,']JES'),_0x4ec420(0x1a9,'hoQ['),_0x45fb97[_0x4ec420(0x135,'VG*a')]],{'cwd':_0x45fb97[_0x4ec420(0x1b8,'c[Qf')],'env':_0x45fb97[_0x4ec420(0x22c,'Oi^!')],'shell':!(-0x1fc2+-0x1*-0x1b69+0x45a*0x1),'stdio':[_0x4ec420(0x25a,'hoQ['),_0x4ec420(0x25a,'hoQ['),_0x4ec420(0x139,']rjG')],'signal':_0x1005f7[_0x4ec420(0x223,'Z7d)')],'timeout':_0x189ada,'killSignal':_0x4ec420(0x13d,'Z7d)'),'windowsHide':!(0x4c*0x28+-0x5e*0x4f+-0x66*-0x2b)});}catch(_0x2c81d2){_0xd9a044({'ok':!(-0x4*0xd+0x33*0x6d+-0x1582),'reason':_0x4ec420(0x20e,'B%NS')+_0x4ec420(0x1f6,'RPnE'),'detail':_0x2c81d2 instanceof Error?_0x2c81d2[_0x4ec420(0x1fa,'Epa$')]:String(_0x2c81d2)});return;}_0x5b78b4[_0x4ec420(0x24e,'vKR&')](_0x4ec420(0x1d4,'hoQ['),_0x2af512=>{const _0x3fcbdf=_0x4ec420;_0xd9a044({'ok':!(-0xd*0x1a3+-0x477*0x2+-0x1e36*-0x1),'reason':_0x2af512?.[_0x3fcbdf(0x26c,')IGY')]===_0x3fcbdf(0x198,'!gtm')?_0x3fcbdf(0x269,')IGY'):_0x3fcbdf(0x204,'U7E5')+_0x3fcbdf(0x12c,'Yl$5'),'detail':_0x2af512?.[_0x3fcbdf(0x1bd,'b!Tl')]});}),_0x5b78b4[_0x4ec420(0x127,'5P1z')]?.['on'](_0x4ec420(0x278,'vASa'),_0x507762=>{const _0x394a86=_0x4ec420;if(!(_0x575957||_0x40ff44)){if(_0x45e389+=_0x507762[_0x394a86(0x1e2,'xi8R')],_0x45e389>_0x289933){_0x575957=!(-0x133d+-0x10d+0x144a);try{_0x5b78b4[_0x394a86(0x15b,'KLOs')](_0x394a86(0x1f8,'B%NS'));}catch{}try{_0x1005f7[_0x394a86(0x17d,'hoQ[')]();}catch{}_0xd9a044({'ok':!(-0x2545+-0x9d1+0x2f17),'reason':_0x394a86(0x219,'$1zz')});return;}_0xe1995a[_0x394a86(0x1dc,'$1zz')](_0x507762);}}),_0x5b78b4[_0x4ec420(0x162,'Oi^!')](_0x4ec420(0x1c8,'hoQ['),_0x238db7=>{const _0x190080=_0x4ec420;if(!_0x40ff44){if(_0x238db7!==-0x26d7+0x809+-0x1*-0x1ece){_0xd9a044({'ok':!(-0x1c4c+0x391+0x18bc*0x1),'reason':_0x190080(0x166,'(8Cw')+_0x190080(0x23f,'xpI7'),'detail':_0x190080(0x12a,')IGY')+'e\x20'+String(_0x238db7)});return;}_0xd9a044({'ok':!(0x1dab+-0x5*-0x31a+-0x303*0xf),'stdout':Buffer[_0x190080(0x146,'(nGu')](_0xe1995a)[_0x190080(0x215,'VG*a')](_0x190080(0x263,'Q!QO'))});}});try{_0x5b78b4[_0x4ec420(0x193,'VG*a')]?.['on'](_0x4ec420(0x13f,'8gAC'),()=>{}),_0x5b78b4[_0x4ec420(0x258,'RPnE')]?.[_0x4ec420(0x282,'Wola')](_0x45fb97[_0x4ec420(0x129,'zyLk')+_0x4ec420(0x20d,'8gAC')],_0x4ec420(0x232,'c[Qf'));}catch{}});}var ie=0x1*-0x1ffc+0x24b0+-0x1*0x3ec;function se(_0x10d418,_0x40c3c0,_0x5a077a){const _0x37eb96=_0x44f223;if(_0x40c3c0)for(_0x10d418[_0x37eb96(0x133,'W00%')](_0x40c3c0),_0x10d418[_0x37eb96(0x1c5,'hXnC')](_0x40c3c0,_0x5a077a);_0x10d418[_0x37eb96(0x1f2,'O^^&')]>ie;){let _0x5b2663=_0x10d418[_0x37eb96(0x27a,'Epa$')]()[_0x37eb96(0x1d7,'@xg&')]()[_0x37eb96(0x28b,'8^qX')];if(_0x5b2663===void(0x171+0x5*-0x5dd+-0x1*-0x1be0))break;_0x10d418[_0x37eb96(0x14d,'Q!QO')](_0x5b2663);}}function q(_0x3c9e46={}){const _0x20c7b2=_0x44f223;let _0x3ee543=k(process[_0x20c7b2(0x1e1,'hoQ[')],process[_0x20c7b2(0x170,'Yl$5')],(-0x220c+-0x16d9+-0x1*-0x38e5,W[_0x20c7b2(0x131,'xi8R')])());return{'ctx':_0x3c9e46,'binPath':_0x3ee543['ok']?_0x3ee543[_0x20c7b2(0x156,'8gAC')]:void(0x1aa1+0xd24+-0x27c5),'interpreter':C(),'pendingInjection':new Map(),'seenSessions':new Set()};}function ae(_0xd876a6,_0xf7f754,_0x2f4eea,_0x3ccaf5){const _0x269b95=_0x44f223;return _0xd876a6?w({'binPath':_0xd876a6,'interpreter':_0xf7f754,'kind':_0x2f4eea,'payloadJson':_0x3ccaf5}):Promise[_0x269b95(0x227,'U9EY')]({'ok':!(0xa12+-0x1dbe+0x13ad),'reason':_0x269b95(0x19e,'O^^&')+_0x269b95(0x274,'b!Tl')});}function K(_0x14029b,_0x595751){const _0x2d88b4=_0x44f223;if(!_0x14029b||typeof _0x14029b!=_0x2d88b4(0x24f,'8jp]'))return;let _0x19c9a6=_0x14029b;Array[_0x2d88b4(0x177,')IGY')](_0x19c9a6[_0x2d88b4(0x1ec,'!gtm')])&&_0x19c9a6[_0x2d88b4(0x205,')@Vd')][_0x2d88b4(0x152,')IGY')](_0x595751);}function ce(_0x3bbf03={}){let _0x41486e=q(_0x3bbf03);async function _0x468dd3(_0x4841f9,_0x3e404a){const _0x4bb75a=_0x3164;try{return await ae(_0x41486e[_0x4bb75a(0x23d,'xi8R')],_0x41486e[_0x4bb75a(0x200,'g$6(')+_0x4bb75a(0x222,'Yl$5')],_0x4841f9,JSON[_0x4bb75a(0x160,'U9EY')+'y'](_0x3e404a));}catch{return{'ok':!(0x361+-0x2e*0xcc+0x2148),'reason':_0x4bb75a(0x173,'x2P%')+_0x4bb75a(0x250,'KLOs')};}}return{async 'event'(_0x7f6417){const _0x4f8282=_0x3164;try{let _0x5b33a4=x(_0x7f6417?.[_0x4f8282(0x239,'RPnE')]?.[_0x4f8282(0x1a8,'Uff^')]);if(!_0x5b33a4)return;let _0x5710e9=S(_0x7f6417?.[_0x4f8282(0x1a1,'Z7d)')]);_0x5b33a4===_0x4f8282(0x14f,'8jp]')?(_0x5710e9&&_0x41486e[_0x4f8282(0x1bb,']JES')+_0x4f8282(0x20f,']rjG')][_0x4f8282(0x22a,'O^^&')](_0x5710e9),await _0x468dd3(_0x4f8282(0x1f1,'VG*a')+_0x4f8282(0x252,'$1zz'),g(_0x41486e[_0x4f8282(0x128,'BV@r')],_0x5710e9))):(_0x5710e9&&(_0x41486e[_0x4f8282(0x145,'8^qX')+_0x4f8282(0x245,'Wola')][_0x4f8282(0x161,'Oi^!')](_0x5710e9),_0x41486e[_0x4f8282(0x1b4,'PzFy')+_0x4f8282(0x27f,')@Vd')][_0x4f8282(0x19b,'B%NS')](_0x5710e9)),await _0x468dd3(_0x4f8282(0x290,'Q!QO')+_0x4f8282(0x24a,'ay^y'),y(_0x41486e[_0x4f8282(0x287,'hoQ[')],_0x5710e9)));}catch{}},async 'tool.execute.after'(_0x514c88,_0x2ee54b){const _0x1d7180=_0x3164;try{let _0x6f5275=_0x514c88?.[_0x1d7180(0x27d,'s)RC')+'D'];_0x6f5275&&!_0x41486e[_0x1d7180(0x1a5,'vASa')+_0x1d7180(0x153,'xi8R')][_0x1d7180(0x25e,'c[Qf')](_0x6f5275)&&(_0x41486e[_0x1d7180(0x1bf,'!gtm')+_0x1d7180(0x24c,']JES')][_0x1d7180(0x1fe,'KLOs')](_0x6f5275),await _0x468dd3(_0x1d7180(0x23c,'KLOs')+_0x1d7180(0x217,'hoQ['),g(_0x41486e[_0x1d7180(0x241,'O^^&')],_0x6f5275))),await _0x468dd3(_0x1d7180(0x197,'s)RC')+_0x1d7180(0x19f,'Uff^'),m(_0x41486e[_0x1d7180(0x169,'B%NS')],_0x514c88,_0x2ee54b));}catch{}},async 'chat.message'(_0x4045bc){const _0x273fe3=_0x3164;try{let _0x3ff0a1=await _0x468dd3(_0x273fe3(0x28d,'U7E5'),_(_0x41486e[_0x273fe3(0x141,'U9EY')],_0x4045bc));_0x3ff0a1['ok']&&_0x3ff0a1[_0x273fe3(0x244,'U7E5')]&&se(_0x41486e[_0x273fe3(0x243,'PocW')+_0x273fe3(0x1c0,'KLOs')],_0x4045bc?.[_0x273fe3(0x147,'W00%')+'D'],_0x3ff0a1[_0x273fe3(0x20a,'B%NS')]);}catch{}},async 'experimental.session.compacting'(_0x89e34,_0x376f95){const _0x84b5b3=_0x3164;try{let _0x26f2bc=await _0x468dd3(_0x84b5b3(0x1de,'xi8R')+_0x84b5b3(0x1ff,'Os9$'),h(_0x41486e[_0x84b5b3(0x1ae,'Uff^')],_0x89e34));_0x26f2bc['ok']&&_0x26f2bc[_0x84b5b3(0x194,'hXnC')]&&K(_0x376f95,_0x26f2bc[_0x84b5b3(0x203,'Z7d)')]);}catch{}},async 'experimental.chat.system.transform'(_0xb3d899,_0x16bfef){const _0x5e4899=_0x3164;try{let _0x21c849=_0xb3d899?.[_0x5e4899(0x22b,'vKR&')+'D'];if(!_0x21c849)return;let _0x3d3c45=_0x41486e[_0x5e4899(0x12d,'8gAC')+_0x5e4899(0x27f,')@Vd')][_0x5e4899(0x291,'Epa$')](_0x21c849);if(!_0x3d3c45)return;_0x41486e[_0x5e4899(0x249,'xpI7')+_0x5e4899(0x144,'5P1z')][_0x5e4899(0x1ea,'Wola')](_0x21c849),K(_0x16bfef,_0x3d3c45);}catch{}}};}-0x456+-0x2*0xecb+0x21ec&&(module[_0x44f223(0x1c1,'Uff^')]={'BIN_BASENAME':BIN_BASENAME,'BRIDGE_MAX_BUFFER_BYTES':BRIDGE_MAX_BUFFER_BYTES,'DEFAULT_BRIDGE_TIMEOUT_MS':DEFAULT_BRIDGE_TIMEOUT_MS,'classifySessionBoundary':classifySessionBoundary,'createPluginState':createPluginState,'extractToolFile':extractToolFile,'normalizeChatMessage':normalizeChatMessage,'normalizeSessionCompacting':normalizeSessionCompacting,'normalizeSessionEnd':normalizeSessionEnd,'normalizeSessionStart':normalizeSessionStart,'normalizeToolExecuteAfter':normalizeToolExecuteAfter,'recalliumOpenCodePlugin':recalliumOpenCodePlugin,'resolveBridgeBin':resolveBridgeBin,'resolveInterpreter':resolveInterpreter,'runBridge':runBridge,'sessionIdFromEvent':sessionIdFromEvent});
|
|
1
|
+
'use strict';const _0x330289=_0x4d31;(function(_0x599247,_0x113e31){const _0xfe330=_0x4d31,_0x5e7ecf=_0x599247();while(!![]){try{const _0x5a1663=-parseInt(_0xfe330(0x200,'J9gP'))/(-0x2216*-0x1+-0xcdc+-0x1539)*(-parseInt(_0xfe330(0x147,'7Lrg'))/(-0x3*-0x94b+-0x8f9*-0x1+0x83*-0x48))+-parseInt(_0xfe330(0x14a,'B9#9'))/(0x1*0xb92+0x2*0x8f9+-0x1d81)+parseInt(_0xfe330(0xf7,'Etjy'))/(-0x1e98+0x1d71*0x1+0x12b)*(-parseInt(_0xfe330(0x193,'j$@C'))/(0x1351+-0xbd3+0x1*-0x779))+parseInt(_0xfe330(0x1a2,'Lqr*'))/(-0x1185+-0x1ff8+0x3cf*0xd)+-parseInt(_0xfe330(0xbe,'8M]L'))/(-0x1c11+-0xc3d*0x2+-0x1*-0x3492)+-parseInt(_0xfe330(0x15e,'B9#9'))/(-0x1cd3+0x6b*-0x6+0x1f5d)+parseInt(_0xfe330(0x1b8,'@EVe'))/(-0x1bd4+0x1978+0x265);if(_0x5a1663===_0x113e31)break;else _0x5e7ecf['push'](_0x5e7ecf['shift']());}catch(_0x1b9696){_0x5e7ecf['push'](_0x5e7ecf['shift']());}}}(_0x1db8,0x1f*0x160e+-0x2bed8+0x19ca5));var E=Object[_0x330289(0x11a,'AvwP')+_0x330289(0xe8,'8KMG')],J=Object[_0x330289(0x20d,'91k*')+_0x330289(0x1d9,'J9gP')+_0x330289(0x14f,'nSOc')],G=Object[_0x330289(0xe6,'7Lrg')+_0x330289(0x182,'B9#9')+_0x330289(0x212,'b^Ui')],$=Object[_0x330289(0x18e,'CCnA')+'e'][_0x330289(0x11d,'Sdn1')+_0x330289(0x114,'QC$I')],X=(_0x5449a6,_0x61a0c8)=>{for(var _0x39aa03 in _0x61a0c8)E(_0x5449a6,_0x39aa03,{'get':_0x61a0c8[_0x39aa03],'enumerable':!(0x785*-0x1+-0xba2*-0x1+-0x41d)});},Y=(_0x446a35,_0x149daa,_0x41c0b7,_0x3dd48c)=>{const _0x36cb36=_0x330289;if(_0x149daa&&typeof _0x149daa==_0x36cb36(0x136,'nSOc')||typeof _0x149daa==_0x36cb36(0xba,'BgI^')){for(let _0x370407 of G(_0x149daa))!$[_0x36cb36(0x184,'Sdn1')](_0x446a35,_0x370407)&&_0x370407!==_0x41c0b7&&E(_0x446a35,_0x370407,{'get':()=>_0x149daa[_0x370407],'enumerable':!(_0x3dd48c=J(_0x149daa,_0x370407))||_0x3dd48c[_0x36cb36(0x162,'Etjy')+'le']});}return _0x446a35;},Z=_0x78760d=>Y(E({},_0x330289(0x219,'@EVe')+'le',{'value':!(-0xd*0x35+0x12d8+0x1027*-0x1)}),_0x78760d),ue={};X(ue,{'BIN_BASENAME':()=>I,'BRIDGE_MAX_BUFFER_BYTES':()=>v,'DEFAULT_BRIDGE_TIMEOUT_MS':()=>T,'classifySessionBoundary':()=>x,'createPluginState':()=>q,'extractToolFile':()=>M,'normalizeChatMessage':()=>_,'normalizeSessionCompacting':()=>h,'normalizeSessionEnd':()=>y,'normalizeSessionStart':()=>g,'normalizeToolExecuteAfter':()=>m,'recalliumOpenCodePlugin':()=>ce,'resolveBridgeBin':()=>k,'resolveInterpreter':()=>C,'runBridge':()=>w,'sessionIdFromEvent':()=>S}),module[_0x330289(0x13b,'Sdn1')]=Z(ue);var W=require('node:os');function N(_0x408ce4){const _0x33bc07=_0x330289;return _0x408ce4?_0x408ce4[_0x33bc07(0xc9,'Q1y$')+'th']('/')||/^[A-Za-z]:[\\/]/[_0x33bc07(0x16b,'J9gP')](_0x408ce4)||_0x408ce4[_0x33bc07(0x132,'%ZXZ')+'th']('\x5c\x5c')?_0x33bc07(0x1fd,'fB]l'):_0x33bc07(0x213,'B9#9')+_0x33bc07(0x1ad,'4[Bl'):_0x33bc07(0xb6,'uPr(');}function a(_0x1ab9cf){const _0x4bd2af=_0x330289;return typeof _0x1ab9cf==_0x4bd2af(0x101,'b^Ui')&&_0x1ab9cf[_0x4bd2af(0x12e,'Vjr6')]>0x3*0x33d+-0x175*0x3+-0x2ac*0x2?_0x1ab9cf:void(0x439+0x1c7c+-0x20b5*0x1);}function O(_0x5c40d5){const _0x2d6f60=_0x330289;return typeof _0x5c40d5==_0x2d6f60(0x1eb,'PL2C')&&Number[_0x2d6f60(0x1ca,'mBX^')](_0x5c40d5)?_0x5c40d5:void(-0x1a18+-0x1c54+0x366c);}function A(_0x41f0fa){const _0x344b41=_0x330289;return!!_0x41f0fa&&typeof _0x41f0fa==_0x344b41(0x11b,'BgI^')&&!Array[_0x344b41(0x195,'HbWP')](_0x41f0fa);}function M(_0x4d3f30,_0x34493d){const _0x28549b=_0x330289;let _0x53943f=A(_0x34493d?.[_0x28549b(0x209,'BgI^')])?_0x34493d[_0x28549b(0x103,'91k*')]:{},_0x55ae58=a(_0x53943f[_0x28549b(0xac,'4[Bl')])??a(_0x53943f[_0x28549b(0x1d2,'mBX^')])??a(_0x34493d?.[_0x28549b(0xfa,'b0Cw')]);if(!_0x55ae58)return;let _0x321dd2=A(_0x53943f[_0x28549b(0x145,'QC$I')])?_0x53943f[_0x28549b(0xc5,'n2eT')]:_0x53943f,_0x4b6b0a=O(_0x321dd2[_0x28549b(0x1e0,'0vO5')+'s']),_0x348298=O(_0x321dd2[_0x28549b(0xed,'KXoo')])??O(_0x321dd2[_0x28549b(0xb9,'V!u$')+'s']),_0x5bcfd2={'path':_0x55ae58,'path_kind':N(_0x55ae58),'edits':0x1};return(_0x4b6b0a!==void(0x2cd+-0x7d2+0x1*0x505)||_0x348298!==void(0x59*0x44+-0x104*-0x13+-0x2af0))&&(_0x5bcfd2[_0x28549b(0x166,'7Lrg')+_0x28549b(0x1db,'Xrdc')]=(_0x4b6b0a??0xca6+0x13e0+0x2*-0x1043)+(_0x348298??-0x3*0x4c4+0x1c1*0x11+-0xf85)),_0x5bcfd2;}function m(_0x4e8951,_0x3a92a7,_0x1dcef0){const _0x307da0=_0x330289;let _0x111c30=M(_0x3a92a7,_0x1dcef0),_0x4b896f={'kind':_0x307da0(0xa6,'8KMG')+_0x307da0(0x126,'CCnA'),'tool_name':a(_0x3a92a7?.[_0x307da0(0x119,'Xrdc')])??'','files':_0x111c30?[_0x111c30]:[]},_0x5a8dcd=a(_0x3a92a7?.[_0x307da0(0x11c,'8M]L')+'D']);_0x5a8dcd&&(_0x4b896f[_0x307da0(0x13c,'uPr(')+'id']=_0x5a8dcd);let _0x23ac0b=a(_0x4e8951?.[_0x307da0(0x14b,'@EVe')+'y']);return _0x23ac0b&&(_0x4b896f[_0x307da0(0x204,'Lqr*')+_0x307da0(0x1a1,'jsvc')]=_0x23ac0b),_0x4b896f;}function _(_0x5e7142,_0x43886c){const _0x158563=_0x330289;let _0x80b69c={'kind':_0x158563(0x1bd,'T2Hf')},_0x49fc54=a(_0x43886c?.[_0x158563(0x189,'CCnA')+'D']);_0x49fc54&&(_0x80b69c[_0x158563(0x1a9,'Vjr6')+'id']=_0x49fc54);let _0x4900f8=a(_0x5e7142?.[_0x158563(0x19a,'BgI^')+'y']);return _0x4900f8&&(_0x80b69c[_0x158563(0x1b3,'J9gP')+_0x158563(0x1b5,'Lqr*')]=_0x4900f8),_0x80b69c;}function h(_0x26ff3b,_0x2f1bb8){const _0x47ec85=_0x330289;let _0x4aa053={'kind':_0x47ec85(0xdd,'w6U4')+_0x47ec85(0x1fe,'J9gP')},_0x4c5c0b=a(_0x2f1bb8?.[_0x47ec85(0x17c,'8KMG')+'D']);_0x4c5c0b&&(_0x4aa053[_0x47ec85(0x1a9,'Vjr6')+'id']=_0x4c5c0b);let _0x4ce0ae=a(_0x26ff3b?.[_0x47ec85(0x214,'mCCP')+'y']);return _0x4ce0ae&&(_0x4aa053[_0x47ec85(0x154,'0vO5')+_0x47ec85(0xbb,'Sdn1')]=_0x4ce0ae),_0x4aa053;}function g(_0x21ffd8,_0x4ab467){const _0x4bd781=_0x330289;let _0xa26936={'kind':_0x4bd781(0xcd,'B9#9')+_0x4bd781(0xeb,'w6U4')},_0x5b2163=a(_0x4ab467);_0x5b2163&&(_0xa26936[_0x4bd781(0x1c7,'0vO5')+'id']=_0x5b2163);let _0x21c65b=a(_0x21ffd8?.[_0x4bd781(0x10b,'w6U4')+'y']);return _0x21c65b&&(_0xa26936[_0x4bd781(0x18b,'Etjy')+_0x4bd781(0x149,'2VPg')]=_0x21c65b),_0xa26936;}function y(_0x1ee931,_0x45b232){const _0x3a7c7a=_0x330289;let _0x9c24aa={'kind':_0x3a7c7a(0x122,'Q1y$')+_0x3a7c7a(0x16e,'Q1y$')},_0x15e7b9=a(_0x45b232);_0x15e7b9&&(_0x9c24aa[_0x3a7c7a(0x133,'J9gP')+'id']=_0x15e7b9);let _0x225afe=a(_0x1ee931?.[_0x3a7c7a(0x1d5,'KUZd')+'y']);return _0x225afe&&(_0x9c24aa[_0x3a7c7a(0xaf,'V!u$')+_0x3a7c7a(0x1c6,'uPr(')]=_0x225afe),_0x9c24aa;}function x(_0x3c0395){const _0x510d09=_0x330289;if(_0x3c0395===_0x510d09(0x105,'8M]L')+_0x510d09(0x180,'uPr('))return _0x510d09(0xe3,'CCnA');if(_0x3c0395===_0x510d09(0x198,'B9#9')+_0x510d09(0x1e4,'Vjr6')||_0x3c0395===_0x510d09(0x161,'CpB]')+_0x510d09(0x108,'BgI^'))return _0x510d09(0x1de,'b^Ui');}function S(_0x2f899a){const _0x5b94f6=_0x330289;let _0x312b67=A(_0x2f899a?.[_0x5b94f6(0x205,'%ZXZ')+'es'])?_0x2f899a[_0x5b94f6(0x1a7,'R*TR')+'es']:{};return a(_0x312b67[_0x5b94f6(0x113,'nSOc')+'D'])??a(_0x312b67[_0x5b94f6(0x11c,'8M]L')+'d'])??a(_0x312b67[_0x5b94f6(0xc4,'CCnA')+'id']);}var F=require('node:os'),H=require('node:path'),s=require('node:fs'),b=require('node:os'),d=require('node:path'),V=_0x330289(0x191,'uPr(')+_0x330289(0x10a,'4[Bl')+_0x330289(0xbf,'8M]L')+_0x330289(0x102,'Sdn1')+_0x330289(0x1ae,'QC$I')+_0x330289(0xb7,'CCnA'),ge=V+(_0x330289(0xc0,'U^M!')+_0x330289(0x1af,'ZAVI')+_0x330289(0x138,'nSOc')+_0x330289(0x10e,'7Lrg')+_0x330289(0xb3,'w6U4')+_0x330289(0x17a,'Etjy')+_0x330289(0x1e2,'mCCP')+_0x330289(0x107,'jsvc')+_0x330289(0x156,'YP5)')+_0x330289(0xd1,'mBX^')+_0x330289(0x15d,'k00Y')+_0x330289(0x1f9,'fB]l')+_0x330289(0x128,'b^Ui')+_0x330289(0xdf,'F6Op')+_0x330289(0x141,'Lqr*')+_0x330289(0x14c,'HbWP')+_0x330289(0x106,'BgI^')+_0x330289(0x20f,'F6Op')+_0x330289(0x179,'b^Ui')+_0x330289(0xca,'*0hy')+_0x330289(0x1e7,'Vjr6'));function B(_0x43f6c0=process[_0x330289(0xee,'CpB]')],_0x293309=process[_0x330289(0x111,'Sdn1')],_0x251660=(-0x1*-0x1d3+0x369+-0x1*0x53c,b[_0x330289(0x1c4,'j$@C')])()){const _0x3712d2=_0x330289;let _0x38376c=_0x43f6c0[_0x3712d2(0x121,'8M]L')+_0x3712d2(0xf3,'YP5)')]?.[_0x3712d2(0x1e9,'uPr(')]();if(_0x38376c)return _0x38376c;if(_0x293309===_0x3712d2(0xfe,'V!u$')){let _0x400945=_0x43f6c0[_0x3712d2(0x19b,'Etjy')+_0x3712d2(0xa4,'0vO5')]?.[_0x3712d2(0x169,'k00Y')]();return _0x400945?(-0x442*-0x5+0x10d*0x5+-0x1a8b,d[_0x3712d2(0x192,'n2eT')])(_0x400945,_0x3712d2(0x134,'nSOc')+'m'):(0x1bc0+0x9a*0x6+-0x12*0x1be,d[_0x3712d2(0x1d6,'4[Bl')])(_0x251660,_0x3712d2(0x131,'U^M!')+'um');}let _0x2c7c4e=_0x43f6c0[_0x3712d2(0xe4,'ZAVI')+_0x3712d2(0xae,'91k*')]?.[_0x3712d2(0x1d0,'%ZXZ')]();return _0x2c7c4e?(-0x1730+-0x1379+0x2aa9*0x1,d[_0x3712d2(0xb2,'%ZXZ')])(_0x2c7c4e,_0x3712d2(0xa5,'w6U4')+'m'):(-0x162c+-0x3f0+0x1a1c,d[_0x3712d2(0x116,'F6Op')])(_0x251660,_0x3712d2(0x1b2,'b0Cw')+'um');}function _0x1db8(){const _0xff0b44=['fdxcRaePWPxcHmkY','oJnfv007kbW','WQ00fCkd','W7rDWOpdImk3','WOaoW7S','W6NcL8k8mG','u1tcR8oUWOfPWQBdSCo8WQRdSaa','WPbEuW','WOjkW69+W4FcQCoJW4C','BSo9vs8e','omo2W6W','WRiOgCkwW4b7WRHo','W6BdJIy0W684dH5DWQtdPg8','ywLAW6tcVmorENW','W5mvoCknmCk1WRFcVa','W4isma','W7SRzq','WRpcO8o8W4Trq8oUzG','WOjqFSkKWPpdRJRcGa','W74MC8khWRxcJmo3W64','WQJcQCo+W5K','W4BdUCkptq','zCkJwmoOg8oSoSoh','WRjTsalcNaBdPSkv','o8o8W6G','eGpdUCkP','WPupW77cRSkCW6H1bW','WRBdISobaCkWx8kY','o8kpWRBdNmkFzc3cJSoKWRJdQSkGW7a','EgnaW7K','rSkLxe9IyGK','hmkJrdyrWQpdPW','kZldPLu9WQtdU8oP','qSo6tJa','W7jhWPddN8kL','EwLqW6q','gSoKkq','tCk6C2BdT2tdO8k8','eJxdNWj/W6eU','jmkHwmoLkCo5omon','fq54W4zknCk5','hMLCrY11W7BcKa','kJveaW','W6ZdJ8kmWOdcICkdWPqF','WQpdPCoyWQi8WQGBW4e','h8kAyxWWAvNdUa','W44peSkbmmkPWRFcLa','W5FdGHdcPCoTzW','dGrMW5bhm8kLWRC','W6JcJmkHlYSbbSkf','W5qinCkAkG','s8ossmkv','W5TSWP8+','WQZdNmoLhCkrw8k4fa','W5CDimka','eXJdSSkYW4mT','W4zWWOaYpgeQCW','W6vAWOpdImkYWP3cPSon','WQVcQCo5W4q','WRiOe8k5W5fMWQnl','rCkvuu0mAem','WQ1VqHRcJrZdLSkV','WOBdJComomk/','W77dPSksee8','tmkTqq','WOJdKSofoG','lSo9W7W','W77dICkl','W77dJSkBWPRcLmkfWPuU','A14Pja','CCojt8kzxSk3Dfu','W5iEWOK','E2HfW7i','W4CzWO9S','WPpdNSohmSkIvH/dPG','D2HaW6xdUSk0','adNdNZz3W7SHWRC','lcHcgG','W7VdJ8ktWPBcLmkj','fSo4kL7dRgG','c8o4jv3dRN/cVYq','W6ZdVmkAbq','DL4Ii37cLmoIWQa','WOHnWQf1','WQVdI0q3','WOuSW57cMCoRASkDWQG','W5ybkmocW4RcQMq','WRPHWQuoe8kFWOe','pcFdQ0CNW6W','WORdImoTp8k5xrVdMW','W4qeWO1GW5CT','W7ddUSkm','zMLB','eZddHdz7W7fMWPG','WPpdJSoApG','h8oOmW','W78tmG','et7dGJ1YW6aYWPS','WQn8uW','W6ZdRCkgbKjnWPG3','W7nvxW/cLr/dPa','W7rAWPu','W7ldJ8kmWOdcGCklWP8','frJdSmoL','eb7dUCk3W5m6WOBdPa','W59SWPKJnxO6nW','W7ZdVmkn','W4rLoefkct1V','WPyuW6lcQmkMW4n3dq','cslcVt8UWPVcNCkJ','W7eMB8kg','DKSWj3NcVCoI','cwbb','pYFdS20KW6FdJSoP','eXZdT8kQW5G','zmkzW6OWWQzofua','dwbDucfiW6JcTW','WQlcQCo+W5Lrs8o2DW','jSo2W6S','WQhdSSouWQK1WQCgW6S','CmoosCkvxmkVnfq','DvCWjhhcLmo+WPi','dq3dRSkFW4m/WPtdNG','W45Hpq','W5asmCkm','vCoPW6pcNSoLoh/cRa','W5VdQ8kRWRi','WQPTWQG/hSkhWOddGW','W6auvSoqCNVcHCoR','W4hdTCkptSoVW58','mdvgeLKZlG','r8kJvNO','cclcPZK+WPi','eWxdRmk4','WQFcR8o8W49vs8oSAW','mqnLyc7dJCo4WOD/r8oxWQS','hr3dJ20EW4W','WPusW6lcSmkMW79UnW','W4CrWOzLW5yRWQxdNG','WOyuW7u','W4vXWP89','WRrHWR4ZuSkiWOxdNW','bstcVq','WOqeW6ZcUmkVW7K','ltragviTmG','WP4khG','WOTbWOWkn8k5WQq','WOefW6hcV8k3W7v1bG','aJlcPZ0+WPpcHSkS','d2PCqa','hCo/nvpdUW','W4NdTCkntmoVW5i','W4D+WP3dK8k1mmkaWRJdOrWaWQS','WPb8WPtdNCoMn8olWPm','WODFymktW6BdHb9O','ntvzdG','WQLnfCkCheZcGmoqzWeB','WPddJ8onp8kL','WO5Awmo1nsXTW7O','W4ddNXlcRa','c2rFqs0','csJcRtS','FSorBW8YWOldN8oG','W4rCaSkAxIlcI8o1','WRhdN8oVxmkHx8kOdW','W6aovSom','W6hdUdVcJ8owrW','WQldPCoiWRa5WQSCW6S','WQxdPCoj','WR/cMgu','dsJcPY0','W4n2D8oilCkOWQZcHa','omkLt8oIfmoN','nJbofeKZmXO','W41YWPnZnge8oW','W7mpxq','W5FdGHdcO8o2','W7fJqCoxWPW/WRXMEmo9CCks','WQZdI15KbmolW4xcPG','D3raW6tcOConr1O','W4H7WOiMowW','W7FcLh9+WQTKeZy','WRNdLCoVhmkW','WQH6WQ4beCkeWOtdHG','n8kfW6WTWRHA','mCkbW61KWRDts08','yMnAW6pcISokE0W','WQJcQmoMW4Tjq8o8lG','WO5bWRXIW5hcOmoJ','WO5lsSo0ka','W4ilrSk9WOxcRmozW4G','WP5trmo1oq','x8kSyLVdN3RdGCkH','qCkIra','W78lqmowwxy','DSk9AW','WPnwWQPLW5xcTCkMW5e','WQT8WQOSbG','dY7cPZPWW5O','W5/dTCkmrSoTW5z/tG','CmkNzq','W4jUWOimi30SmW','WRRdL8oVfSkSsG','WRBdGvG','jmo9W7VdNG','sgqzh1RcVG','vmkGu2TLErnp','gwbFutXd','c8o9jKVdPZFcTci','WOrjW4G4WOb8WRhdLCoop8k7cW','W59jn1rdeW','Bt/cVCo0','p8k4sCoNhW','BSotW6RcImoCmG','WQZdQ8o4W4vkqCoRlq','WRtdS8ouWQ8MWQew','WPijW6pdQCoX','W4abk8o3W4tcQ3G','cmo/iMpdQNxcVca','omoNW6RdKMdcGa','tdiba3aFW6NdJG','nsFdS0m3W6JdQSo6','W4nHk0nsctyS','WOuSW57cMCoRASkDW5K','fYtcQda5W5tdO8oH','W6/cMCkNi2uldSkx','aclcPtS+WP/cJq','oJnfj1WUna','WQtdVmkWWPjehSkVna','WRXHWRK7eCkFWOBdHa','vmkTnfNdQM/cOZe','eWTWW4bAnCkKWPa','vSk6nKBdJxFdSmk/','WRvPWRm','W4FdGHVcUmoH','dwLsqc5jW73cKW','W6tdGs8+W689krTAWPBdKwS','EJVcUSoMWR9iDmor','W5Syi8oGW5/cPW','cGH7WPaC','lSkEW7CQ','WO5lt8oPktC','WQNcQCo9W49bq8oQ','W6VdP8kAgq','WQBdGuWTc8koW7BcTq','cYxcOZSPWO4','WOuSW57cMCoRASkDWR4','fwraEZ9iW5/cJa','W6K/ymkvWRJdLCo9W64','W5uzWPe','W5SvW7OOWOJcGmo8W4qhW7JdRa','WQqmW67cQ8oosCk6WQi','W4rnemkBqZ7cSSod','W4vKi0ulftCT','o8k0u8oVe8oUmCoN','s8kSzwFdGxVdV8km','WPfGxSo1oq','k8oeagJdJeJcNa','oCo8W7xcM2ZcHLNcUG','CSkSz8odigG','chfvda','WQZdNmoZamkRuCkLlG','W50pkmo9W5NcUW','W4iJeSkdW4hdOYar','FMLhW7dcOCow','eCkaAgCJAgNdKa','W7NdPmkAgLK','WQmojCkKW6/dGqaH','W5XQWPCHjhSznW','WRf6vbVcKaRdVmkv','wZVcQSo0WRPlC8oT','W7STBSkqWQi','zJZcO8oWWRvt','qCk0v3XtDXvk','Ch7cQSo6WRHtE8oX','CuiHnq','CmkNDW','gh1dwZPsW7W','kZ9ybfq1mIS','s8kUwhPGyG','nSkuW60RWRPlsG','W5KFW59GW5C+WQtdPG','jCktW7e2WQi','aW3dTCk1W5n0WPBdKG','WR1MWQ8','WRhdKeSWnSksW4JcPa','DK8WiMm','W5abimo0','gZxdNt4','amo4iY3cKfpdQ8k0qSoSW4a','WOqMW58','vSkJxwS','W6JcTSklW7THWOCyW6aHW51i','BSoFW7tcImoli3tcQW','W6NdTmobgCkNl0JdNW','W7mGB8kr','r8k4sG','EJ3cU8o8WQztDCoQ','WOCvj8oimmkVWRFdKq','cCoHu3TIzHvh','kCksW64BWOLpsGW','jCo8W7BdGwVcLvxdVa','W6/dMmkqWPNcHCkpWO4F','WQhdK04','yeK4mxVdM8oTWPe','brtdPSkYW4qTWOe','W4VdPCkpsSoVW558uW','tCkIrNPXzHnh','ESoOdCk6tCkZymo5y8oyWP3cPmo8','DKiIjhlcLG','W6HDWOFdJmk9WOdcRCks','hmkijgWZjvpdTW','W6xcUmkpW7nPW7igW4W8W7jRfW','uSo6wq','WQ5auHVcNa','zSkSymofign8cG','W5iEWOPKW5W4WQddTG','zSoPW7pcNSon','a8kfy2a3Aq','W7dcJmoOW41jumoU','vmkGEhhdM0VdSSk7','s8kSC3RdU3hdOSkG','W5FdGHVcUG','bmkEBwm','v8oTss0BWQNdGmov','WRz6vbW','eqr7W4rAna','W7jhWPxdGSkKWP0','W5jgbW','zLq/m3BcJW','W4ryd8kbxG','WPXBtW','W6axrmoqs2dcMmoP','WQZdJK8NeCkcW4NcQq','WRyPW4RcJSkgW45x','yem4jdFcMmoJWPS','W7ZdP8kBbL9dWPGk','WQfCWOpcJCkKWOFcU8oA','WO5AtSoOdYzWW5y','zmoXW77dLhZcGXtcUa','W5iEWOSPW5O4WQtdSa','oIVdQq','W6mEvSoxrgdcHmon','kZVdTfy2W6q','dwXduq','msZdS0CHW7NdRmo+','oYHofKK/oa','W6JdVSom','WR7dSmoEWReKWR08W5u','W6NdVSoq','hMrFwa','W4/dNXRcRG','W7qGB8klWRxcMCo0WRW','W6nAWP/dVCkWWP3cOq','W7KvuCobx3/cMmoH','WO5Awmo1nsXTW6W','W4/dUCkp','W4CcWPbJW5WPWRxdIW','W78lqmoktMdcJSoH','kY5pgeGU','WO1nrmoYmZD6W5u','W4rnbSkgEttcR8oV','zSkSymofign8EW','cZnmgvWUkqy','W47dMr3cPa','sbHaW6b0mCk+','dmoIfeJdU3pcVZC','W7ldOSoJh8k6peG','yddcVCoWWQrxAmo9','WRRdGCoPbW','WQldPCoiWRa5WQSCWPO','WOasW7/cTCkX','ac7cUZSPWO7cHSkW','W7S/WRXiW7ulWPhdHa'];_0x1db8=function(){return _0xff0b44;};return _0x1db8();}var ee=process[_0x330289(0xf4,'2VPg')]!==_0x330289(0x115,'j$@C');function te(){const _0x3ca8b2=_0x330289;return typeof process[_0x3ca8b2(0x129,'CpB]')]==_0x3ca8b2(0x158,'KXoo')?process[_0x3ca8b2(0xda,'%ZXZ')]():void(0xbd0+-0xc98+0x64*0x2);}function D(_0x49867f){const _0x1c7160=_0x330289;if(!ee)return!(0x59*-0x35+-0x246d*0x1+0x36da);let _0x4cb9e5;try{_0x4cb9e5=(0x2383+0xf*0x21f+0x4*-0x10d5,s[_0x1c7160(0x143,'AvwP')])(_0x49867f);}catch{return!(-0x550*0x3+-0x4*-0x4+-0x1*-0xfe1);}if(!_0x4cb9e5[_0x1c7160(0x1f5,'[v9N')+_0x1c7160(0x1f7,'Xrdc')]())return!(-0x170a+-0x25da+0x1*0x3ce5);let _0x47d6b9=te();if(_0x47d6b9!==void(-0x587*0x1+0x74b*-0x4+0x22b3)&&_0x4cb9e5[_0x1c7160(0x201,'KUZd')]!==_0x47d6b9)return!(0x55b+-0x26dc+0x2182);if((_0x4cb9e5[_0x1c7160(0xc7,'BgI^')]&-0xf79*-0x1+0x1d5f+-0x2ad9)!==0x1a16+0x43*0x5e+0xe8*-0x36)try{let _0x3d48d8=(0xe3*-0xa+-0x5*0x53b+0x2305,s[_0x1c7160(0x1c3,'b0Cw')])(_0x49867f,s[_0x1c7160(0x176,'Xrdc')+'s'][_0x1c7160(0x12d,'U^M!')]);try{(0x13aa+-0x1572+0x1c8,s[_0x1c7160(0x16a,'T2Hf')+'nc'])(_0x3d48d8,-0x2691+-0x175f+0x3fb0);}finally{(0xb7b*-0x2+-0x1*0x653+0x1d49,s[_0x1c7160(0x1c5,'Sdn1')+'c'])(_0x3d48d8);}}catch{return!(0x2341+-0x1cbe+-0x682);}return!(0x210e+-0x2358+0x24a);}var Se=s[_0x330289(0x211,'4[Bl')+'s'][_0x330289(0xc8,'T2Hf')+'OW']??0x23e5+0xd85+-0x1fa*0x19,be=(0x55+-0xc2f+0xc16)*(0x20c9+-0x5*-0x15b+-0x13aa*0x2)*(0x3*-0x377+-0x230+0x107d),ke=(0x2*-0x173+-0x352+0x738)*(-0x5*0x27d+0x1196+0x1*-0x125),I=_0x330289(0x1c8,'B9#9')+_0x330289(0xfc,'4[Bl')+_0x330289(0x217,'NB]q');function k(_0x2d2023=process[_0x330289(0xe7,'2VPg')],_0x2ce8d3=process[_0x330289(0x172,'8KMG')],_0x40d297=(0xe94+0x1528+0x23bc*-0x1,F[_0x330289(0x118,'4[Bl')])()){const _0x42b11c=_0x330289;let _0x18929f=B(_0x2d2023,_0x2ce8d3,_0x40d297);return D(_0x18929f)?{'ok':!(-0x13*-0x18a+-0x10*-0x1a9+-0x37ce),'home':_0x18929f,'binPath':(0x1e64+-0x1dea+-0x2*0x3d,H[_0x42b11c(0x1b9,'Vjr6')])(_0x18929f,_0x42b11c(0x18a,'KXoo'),I)}:{'ok':!(0x28f*0x1+0x34*0x47+-0x10fa),'reason':_0x42b11c(0x123,'NB]q')+_0x42b11c(0x218,'mBX^'),'detail':_0x18929f+(_0x42b11c(0x150,'mBX^')+_0x42b11c(0x1a4,'KvHT')+_0x42b11c(0x10c,'PL2C')+_0x42b11c(0xd4,'%ZXZ')+_0x42b11c(0x110,'n2eT'))};}function C(_0x45d2a2=process[_0x330289(0x137,'2VPg')]){return _0x45d2a2;}var U=require('node:child_process'),z=require('node:fs'),ne=[_0x330289(0x190,'CpB]')+_0x330289(0x144,'YP5)'),_0x330289(0x1d7,'R*TR')+_0x330289(0x1cf,'mCCP'),_0x330289(0xe0,'Vjr6')+_0x330289(0x160,'J9gP'),_0x330289(0x168,'n2eT'),_0x330289(0x125,'7Lrg')+_0x330289(0x13a,'CpB]'),_0x330289(0x1c1,'7Lrg')+_0x330289(0xef,'%ZXZ')+'it',_0x330289(0x100,'PL2C')+_0x330289(0x1df,'0vO5'),_0x330289(0x1ec,'PL2C')+_0x330289(0x1a5,'T2Hf')],re=new Set(ne);function j(_0x525184){const _0x3d34d1=_0x330289;return typeof _0x525184==_0x3d34d1(0x1f6,'Etjy')&&re[_0x3d34d1(0x1dc,'2VPg')](_0x525184);}var oe=_0x330289(0x152,'F6Op')+_0x330289(0x12f,'k00Y')+_0x330289(0x208,'V!u$')+_0x330289(0xc1,'uPr('),Ae=oe[_0x330289(0x170,'Q1y$')]('__')[_0x330289(0x1b4,'b^Ui')](),T=0xacb*0x2+-0x400+-0xbba,v=(0x88b*0x2+0x178c+-0x1431*0x2)*(-0x11a1+0x160b+0x35*-0x2);function w(_0x11e73b){return new Promise(_0x2fab12=>{const _0x27be5c=_0x4d31;if(!j(_0x11e73b[_0x27be5c(0x185,'n2eT')])){_0x2fab12({'ok':!(0x172e+-0x2*0xa67+0x1*-0x25f),'reason':_0x27be5c(0x207,'NB]q')+_0x27be5c(0x20a,'ZAVI'),'detail':_0x27be5c(0xd8,'AvwP')+_0x27be5c(0x186,'ZAVI')+_0x27be5c(0xec,'BgI^')+String(_0x11e73b[_0x27be5c(0x1ef,'KvHT')])});return;}if(typeof _0x11e73b[_0x27be5c(0x1f2,'QC$I')]!=_0x27be5c(0xd2,'b0Cw')||_0x11e73b[_0x27be5c(0x109,'uPr(')][_0x27be5c(0x16c,'j$@C')]===0x14*-0x18b+-0x1*-0x38b+0x1b51||!(0x6*-0x332+0x7e*-0x23+-0x1*-0x2466,z[_0x27be5c(0xd9,'Vjr6')+'nc'])(_0x11e73b[_0x27be5c(0x1c2,'fB]l')])){_0x2fab12({'ok':!(-0x5a6+-0x2598+0x2b3f),'reason':_0x27be5c(0xe1,'4[Bl')+_0x27be5c(0x11f,'Etjy'),'detail':_0x27be5c(0x19d,'uPr(')+_0x27be5c(0xdb,'2sp#')+_0x27be5c(0x177,'KUZd')+_0x27be5c(0xb5,'V!u$')});return;}if(typeof _0x11e73b[_0x27be5c(0x159,'2VPg')+_0x27be5c(0xf1,'AvwP')]!=_0x27be5c(0xde,'F6Op')||_0x11e73b[_0x27be5c(0x17f,'91k*')+_0x27be5c(0xce,'B9#9')][_0x27be5c(0xa7,'KXoo')]===-0x61c+-0x1*0x1057+-0x7*-0x335){_0x2fab12({'ok':!(-0x1*-0x2099+-0x1c*-0x24+-0x2488),'reason':_0x27be5c(0x15c,'KUZd')+_0x27be5c(0x17b,'91k*'),'detail':_0x27be5c(0x13f,'Etjy')+_0x27be5c(0xea,'KvHT')+_0x27be5c(0xfd,'B9#9')});return;}let _0x818329=Math[_0x27be5c(0x10f,'w6U4')](-0x33f+0x942+-0x602,Math[_0x27be5c(0xdc,'*0hy')](_0x11e73b[_0x27be5c(0x1aa,'mBX^')+'s']??T)),_0x57916a=Math[_0x27be5c(0x1a3,'CCnA')](0x248c+-0xb0d+-0x197e,Math[_0x27be5c(0x130,'Xrdc')](_0x11e73b[_0x27be5c(0x216,'Lqr*')+_0x27be5c(0xf8,'NB]q')]??v)),_0x378cb2=_0x11e73b[_0x27be5c(0x20b,'YP5)')]??U[_0x27be5c(0x20e,'Lqr*')],_0x1e7406=new AbortController(),_0x1ae863=!(-0x2*-0x882+0x207b+-0x317e),_0x2907b0=0x66*0x49+-0x1*0x1b9c+0x9*-0x2a,_0x491669=[],_0x4c3b34=!(0x1*-0x25df+0x2*-0x8db+-0xb1e*-0x5);function _0x8ab130(_0x208fb5){_0x1ae863||(_0x1ae863=!(-0xe*-0x3e+0x825+-0xb89),clearTimeout(_0x5a723d),_0x2fab12(_0x208fb5));}let _0x5a723d=setTimeout(()=>{const _0x3fda82=_0x27be5c;try{_0x489557[_0x3fda82(0x146,'fB]l')](_0x3fda82(0x127,'PL2C'));}catch{}try{_0x1e7406[_0x3fda82(0x135,'ZAVI')]();}catch{}_0x8ab130({'ok':!(0xd40+-0x2c+-0x1*0xd13),'reason':_0x3fda82(0xff,'QC$I')});},_0x818329);_0x5a723d[_0x27be5c(0x19f,'KUZd')]?.();let _0x489557;try{_0x489557=_0x378cb2(_0x11e73b[_0x27be5c(0x196,'nSOc')+_0x27be5c(0x1f8,'Vjr6')],[_0x11e73b[_0x27be5c(0x1f3,'w6U4')],_0x27be5c(0x151,'2VPg')+'r',_0x27be5c(0x18c,'8KMG'),_0x27be5c(0x1bb,'T2Hf'),_0x11e73b[_0x27be5c(0x1b1,'KXoo')]],{'cwd':_0x11e73b[_0x27be5c(0x155,'AvwP')],'env':_0x11e73b[_0x27be5c(0x1e3,'Etjy')],'shell':!(0x4*0x971+0x4c2+-0x2a85),'stdio':[_0x27be5c(0x1e5,'Etjy'),_0x27be5c(0x17e,'Sdn1'),_0x27be5c(0x12c,'QC$I')],'signal':_0x1e7406[_0x27be5c(0x164,'k00Y')],'timeout':_0x818329,'killSignal':_0x27be5c(0xb8,'w6U4'),'windowsHide':!(0x1*0x3d+0x241c+-0x2459)});}catch(_0x2254b4){_0x8ab130({'ok':!(-0x20a7+-0xcba+0x4a*0x9d),'reason':_0x27be5c(0x11e,'ZAVI')+_0x27be5c(0x1fc,'U^M!'),'detail':_0x2254b4 instanceof Error?_0x2254b4[_0x27be5c(0x202,'0vO5')]:String(_0x2254b4)});return;}_0x489557[_0x27be5c(0x19e,'R*TR')](_0x27be5c(0x199,'V!u$'),_0x29c359=>{const _0x4b002a=_0x27be5c;_0x8ab130({'ok':!(0x2021+0x1f41+-0x3f61),'reason':_0x29c359?.[_0x4b002a(0xa9,'2VPg')]===_0x4b002a(0xcc,'n2eT')?_0x4b002a(0xf0,'*0hy'):_0x4b002a(0xf6,'PL2C')+_0x4b002a(0x183,'HbWP'),'detail':_0x29c359?.[_0x4b002a(0xe2,'KvHT')]});}),_0x489557[_0x27be5c(0x117,'CCnA')]?.['on'](_0x27be5c(0xf9,'nSOc'),_0x37c46b=>{const _0x3220ce=_0x27be5c;if(!(_0x4c3b34||_0x1ae863)){if(_0x2907b0+=_0x37c46b[_0x3220ce(0xaa,'BgI^')],_0x2907b0>_0x57916a){_0x4c3b34=!(0xbba+-0x2*-0x88b+0x39a*-0x8);try{_0x489557[_0x3220ce(0x1dd,'[v9N')](_0x3220ce(0x174,'V!u$'));}catch{}try{_0x1e7406[_0x3220ce(0x140,'F6Op')]();}catch{}_0x8ab130({'ok':!(0xea9+0x331*0x3+-0x183b),'reason':_0x3220ce(0x1c9,'k00Y')});return;}_0x491669[_0x3220ce(0xcb,'8KMG')](_0x37c46b);}}),_0x489557[_0x27be5c(0xf2,'b^Ui')](_0x27be5c(0xe5,'CCnA'),_0x4f7e39=>{const _0x52ffa3=_0x27be5c;if(!_0x1ae863){if(_0x4f7e39!==-0x25a8+0x1dfb*-0x1+0x43a3){_0x8ab130({'ok':!(0x13ba*-0x1+0x1ba+0xb*0x1a3),'reason':_0x52ffa3(0x153,'b^Ui')+_0x52ffa3(0x197,'*0hy'),'detail':_0x52ffa3(0x175,'YP5)')+'e\x20'+String(_0x4f7e39)});return;}_0x8ab130({'ok':!(-0x1f3a+0x59*-0x39+0x330b),'stdout':Buffer[_0x52ffa3(0x16f,'YP5)')](_0x491669)[_0x52ffa3(0x194,'PL2C')](_0x52ffa3(0x12a,'Sdn1'))});}});try{_0x489557[_0x27be5c(0xd6,'n2eT')]?.['on'](_0x27be5c(0xbc,'PL2C'),()=>{}),_0x489557[_0x27be5c(0xc3,'[v9N')]?.[_0x27be5c(0x1ab,'mBX^')](_0x11e73b[_0x27be5c(0xb0,'Etjy')+_0x27be5c(0x181,'HbWP')],_0x27be5c(0x203,'Lqr*'));}catch{}});}var ie=0x15b3+-0xff4*-0x2+0x34d3*-0x1;function se(_0x413308,_0x3e9125,_0x209f19){const _0x567d56=_0x330289;if(_0x3e9125)for(_0x413308[_0x567d56(0xbd,'KXoo')](_0x3e9125),_0x413308[_0x567d56(0x1a6,'b^Ui')](_0x3e9125,_0x209f19);_0x413308[_0x567d56(0xab,'Lqr*')]>ie;){let _0xa4e308=_0x413308[_0x567d56(0x1bf,'Vjr6')]()[_0x567d56(0x1e1,'YP5)')]()[_0x567d56(0xc6,'Sdn1')];if(_0xa4e308===void(-0x1*0x1982+-0x27*-0x67+-0x167*-0x7))break;_0x413308[_0x567d56(0x1ea,'0vO5')](_0xa4e308);}}function q(_0x214d54={}){const _0x402ae7=_0x330289;let _0x35b21c=k(process[_0x402ae7(0x1a0,'V!u$')],process[_0x402ae7(0x215,'YP5)')],(-0x33*-0xba+-0x1*0x11d9+-0x1335,W[_0x402ae7(0xa8,'uPr(')])());return{'ctx':_0x214d54,'binPath':_0x35b21c['ok']?_0x35b21c[_0x402ae7(0x187,'KUZd')]:void(-0x9*0x32f+-0x1871+0xd46*0x4),'interpreter':C(),'pendingInjection':new Map(),'seenSessions':new Set()};}function ae(_0x1994bf,_0x46785d,_0x1f0a5b,_0x52432b){const _0x387083=_0x330289;return _0x1994bf?w({'binPath':_0x1994bf,'interpreter':_0x46785d,'kind':_0x1f0a5b,'payloadJson':_0x52432b}):Promise[_0x387083(0x13e,'F6Op')]({'ok':!(0x1027+0x178b*-0x1+-0x1*-0x765),'reason':_0x387083(0x1d4,'%ZXZ')+_0x387083(0x1c0,'PL2C')});}function K(_0x2a6576,_0x65c790){const _0x120213=_0x330289;if(!_0x2a6576||typeof _0x2a6576!=_0x120213(0x13d,'2VPg'))return;let _0x280d1e=_0x2a6576;Array[_0x120213(0x1b7,'*0hy')](_0x280d1e[_0x120213(0x17d,'91k*')])&&_0x280d1e[_0x120213(0x15b,'YP5)')][_0x120213(0x1fa,'[v9N')](_0x65c790);}function ce(_0x5824a9={}){let _0x174dfc=q(_0x5824a9);async function _0x5a93db(_0x24e8d0,_0xbf749){const _0x112c9e=_0x4d31;try{return await ae(_0x174dfc[_0x112c9e(0x1ba,'2VPg')],_0x174dfc[_0x112c9e(0x188,'8KMG')+_0x112c9e(0x20c,'Sdn1')],_0x24e8d0,JSON[_0x112c9e(0x1cd,'jsvc')+'y'](_0xbf749));}catch{return{'ok':!(0x37c+0xa29+-0xda4),'reason':_0x112c9e(0x1bc,'91k*')+_0x112c9e(0x148,'8M]L')};}}return{async 'event'(_0x2f0de7){const _0x52c048=_0x4d31;try{let _0x190e65=x(_0x2f0de7?.[_0x52c048(0x1da,'[v9N')]?.[_0x52c048(0x139,'YP5)')]);if(!_0x190e65)return;let _0x53804e=S(_0x2f0de7?.[_0x52c048(0x1da,'[v9N')]);_0x190e65===_0x52c048(0x1ce,'mBX^')?(_0x53804e&&_0x174dfc[_0x52c048(0x1d1,'*0hy')+_0x52c048(0xd0,'BgI^')][_0x52c048(0x171,'CCnA')](_0x53804e),await _0x5a93db(_0x52c048(0x1f1,'8M]L')+_0x52c048(0x1be,'KUZd'),g(_0x174dfc[_0x52c048(0xe9,'CpB]')],_0x53804e))):(_0x53804e&&(_0x174dfc[_0x52c048(0x167,'7Lrg')+_0x52c048(0x1b0,'4[Bl')][_0x52c048(0xfb,'@EVe')](_0x53804e),_0x174dfc[_0x52c048(0x124,'b0Cw')+_0x52c048(0x104,'NB]q')][_0x52c048(0x1f4,'91k*')](_0x53804e)),await _0x5a93db(_0x52c048(0x1ee,'YP5)')+_0x52c048(0x142,'w6U4'),y(_0x174dfc[_0x52c048(0xd5,'8KMG')],_0x53804e)));}catch{}},async 'tool.execute.after'(_0x44b606,_0x533f74){const _0x29ac6e=_0x4d31;try{let _0x4267d6=_0x44b606?.[_0x29ac6e(0x12b,'*0hy')+'D'];_0x4267d6&&!_0x174dfc[_0x29ac6e(0x18f,'Q1y$')+_0x29ac6e(0x14d,'ZAVI')][_0x29ac6e(0xcf,'2sp#')](_0x4267d6)&&(_0x174dfc[_0x29ac6e(0x178,'CCnA')+_0x29ac6e(0x1f0,'AvwP')][_0x29ac6e(0x1ac,'ZAVI')](_0x4267d6),await _0x5a93db(_0x29ac6e(0x190,'CpB]')+_0x29ac6e(0xe3,'CCnA'),g(_0x174dfc[_0x29ac6e(0xb1,'V!u$')],_0x4267d6))),await _0x5a93db(_0x29ac6e(0x1b6,'V!u$')+_0x29ac6e(0x163,'@EVe'),m(_0x174dfc[_0x29ac6e(0x15f,'T2Hf')],_0x44b606,_0x533f74));}catch{}},async 'chat.message'(_0x45fdd6){const _0x502a47=_0x4d31;try{let _0x3ef123=await _0x5a93db(_0x502a47(0x1ed,'Xrdc'),_(_0x174dfc[_0x502a47(0x206,'Xrdc')],_0x45fdd6));_0x3ef123['ok']&&_0x3ef123[_0x502a47(0x18d,'uPr(')]&&se(_0x174dfc[_0x502a47(0x1e8,'fB]l')+_0x502a47(0x173,'AvwP')],_0x45fdd6?.[_0x502a47(0x1cc,'j$@C')+'D'],_0x3ef123[_0x502a47(0x16d,'KUZd')]);}catch{}},async 'experimental.session.compacting'(_0x33b34b,_0x457faa){const _0x272be0=_0x4d31;try{let _0x5484e9=await _0x5a93db(_0x272be0(0x19c,'BgI^')+_0x272be0(0xb4,'BgI^'),h(_0x174dfc[_0x272be0(0x14e,'2VPg')],_0x33b34b));_0x5484e9['ok']&&_0x5484e9[_0x272be0(0x1d3,'Lqr*')]&&K(_0x457faa,_0x5484e9[_0x272be0(0x1cb,'n2eT')]);}catch{}},async 'experimental.chat.system.transform'(_0x1b5933,_0x4758d1){const _0x58071c=_0x4d31;try{let _0x7ddfaa=_0x1b5933?.[_0x58071c(0x1ff,'Xrdc')+'D'];if(!_0x7ddfaa)return;let _0x5c1ea1=_0x174dfc[_0x58071c(0x210,'Sdn1')+_0x58071c(0x10d,'j$@C')][_0x58071c(0x1fb,'PL2C')](_0x7ddfaa);if(!_0x5c1ea1)return;_0x174dfc[_0x58071c(0x1e6,'[v9N')+_0x58071c(0xd3,'uPr(')][_0x58071c(0xf5,'Sdn1')](_0x7ddfaa),K(_0x4758d1,_0x5c1ea1);}catch{}}};}function _0x4d31(_0x9df08,_0x13295c){_0x9df08=_0x9df08-(0xbb5+0x1f7*-0x3+-0x52c);const _0x11a4d7=_0x1db8();let _0x91418e=_0x11a4d7[_0x9df08];if(_0x4d31['JkhYKY']===undefined){var _0x190c47=function(_0x5f34ec){const _0x2650f9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d5227='',_0x5ab748='';for(let _0xc9b147=0xe*0x33+0x8a5+0xb6f*-0x1,_0x132674,_0x280bf4,_0x1a228f=0x25e9+0x13f7+-0x39e0;_0x280bf4=_0x5f34ec['charAt'](_0x1a228f++);~_0x280bf4&&(_0x132674=_0xc9b147%(0x12d8+0x1858+0x1596*-0x2)?_0x132674*(0x3*0x33d+-0x175*0x3+-0x518*0x1)+_0x280bf4:_0x280bf4,_0xc9b147++%(0x439+0x1c7c+-0x20b1*0x1))?_0x2d5227+=String['fromCharCode'](-0x1a18+-0x1c54+0x376b&_0x132674>>(-(0x2cd+-0x7d2+0x9*0x8f)*_0xc9b147&0x59*0x44+-0x104*-0x13+-0x2aea)):0xca6+0x13e0+0x2*-0x1043){_0x280bf4=_0x2650f9['indexOf'](_0x280bf4);}for(let _0x5807be=-0x3*0x4c4+0x1c1*0x11+-0xf85,_0x48cd8c=_0x2d5227['length'];_0x5807be<_0x48cd8c;_0x5807be++){_0x5ab748+='%'+('00'+_0x2d5227['charCodeAt'](_0x5807be)['toString'](-0x1*-0x1d3+0x369+-0x1*0x52c))['slice'](-(-0x442*-0x5+0x10d*0x5+-0x1a89));}return decodeURIComponent(_0x5ab748);};const _0x50655f=function(_0x2df29b,_0x22dbd4){let _0x1cf587=[],_0x5b7ffc=0x1bc0+0x9a*0x6+-0x12*0x1be,_0x403081,_0x274600='';_0x2df29b=_0x190c47(_0x2df29b);let _0x2e20d8;for(_0x2e20d8=-0x1730+-0x1379+0x2aa9*0x1;_0x2e20d8<-0x162c+-0x3f0+0x1b1c;_0x2e20d8++){_0x1cf587[_0x2e20d8]=_0x2e20d8;}for(_0x2e20d8=0xbd0+-0xc98+0x64*0x2;_0x2e20d8<0x59*-0x35+-0x246d*0x1+0x37da;_0x2e20d8++){_0x5b7ffc=(_0x5b7ffc+_0x1cf587[_0x2e20d8]+_0x22dbd4['charCodeAt'](_0x2e20d8%_0x22dbd4['length']))%(0x2383+0xf*0x21f+0x5*-0xd44),_0x403081=_0x1cf587[_0x2e20d8],_0x1cf587[_0x2e20d8]=_0x1cf587[_0x5b7ffc],_0x1cf587[_0x5b7ffc]=_0x403081;}_0x2e20d8=-0x550*0x3+-0x4*-0x4+-0x1*-0xfe0,_0x5b7ffc=-0x170a+-0x25da+0x2*0x1e72;for(let _0x35c1ed=-0x587*0x1+0x74b*-0x4+0x22b3;_0x35c1ed<_0x2df29b['length'];_0x35c1ed++){_0x2e20d8=(_0x2e20d8+(0x55b+-0x26dc+0x2182))%(-0xf79*-0x1+0x1d5f+-0x2bd8),_0x5b7ffc=(_0x5b7ffc+_0x1cf587[_0x2e20d8])%(0x1a16+0x43*0x5e+0x109*-0x30),_0x403081=_0x1cf587[_0x2e20d8],_0x1cf587[_0x2e20d8]=_0x1cf587[_0x5b7ffc],_0x1cf587[_0x5b7ffc]=_0x403081,_0x274600+=String['fromCharCode'](_0x2df29b['charCodeAt'](_0x35c1ed)^_0x1cf587[(_0x1cf587[_0x2e20d8]+_0x1cf587[_0x5b7ffc])%(0xe3*-0xa+-0x5*0x53b+0x2405)]);}return _0x274600;};_0x4d31['rUXlqM']=_0x50655f,_0x4d31['hzviFb']={},_0x4d31['JkhYKY']=!![];}const _0x13aa6d=_0x11a4d7[0x13aa+-0x1572+0x1c8],_0x27f87f=_0x9df08+_0x13aa6d,_0x326fa7=_0x4d31['hzviFb'][_0x27f87f];return!_0x326fa7?(_0x4d31['OemNtp']===undefined&&(_0x4d31['OemNtp']=!![]),_0x91418e=_0x4d31['rUXlqM'](_0x91418e,_0x13295c),_0x4d31['hzviFb'][_0x27f87f]=_0x91418e):_0x91418e=_0x326fa7,_0x91418e;}-0xc99+0x21be+-0x1*0x1525&&(module[_0x330289(0x157,'Lqr*')]={'BIN_BASENAME':BIN_BASENAME,'BRIDGE_MAX_BUFFER_BYTES':BRIDGE_MAX_BUFFER_BYTES,'DEFAULT_BRIDGE_TIMEOUT_MS':DEFAULT_BRIDGE_TIMEOUT_MS,'classifySessionBoundary':classifySessionBoundary,'createPluginState':createPluginState,'extractToolFile':extractToolFile,'normalizeChatMessage':normalizeChatMessage,'normalizeSessionCompacting':normalizeSessionCompacting,'normalizeSessionEnd':normalizeSessionEnd,'normalizeSessionStart':normalizeSessionStart,'normalizeToolExecuteAfter':normalizeToolExecuteAfter,'recalliumOpenCodePlugin':recalliumOpenCodePlugin,'resolveBridgeBin':resolveBridgeBin,'resolveInterpreter':resolveInterpreter,'runBridge':runBridge,'sessionIdFromEvent':sessionIdFromEvent});
|
|
@@ -37,6 +37,8 @@ so storing it twice makes the original harder to find.
|
|
|
37
37
|
3. **Gate:** `workstream_slug` is mandatory; none yet -> `start-work`.
|
|
38
38
|
4. Search the workstream for what this builds on, replaces, bounds or
|
|
39
39
|
contradicts; attach those UUIDs. `supersedes` means the target is now WRONG.
|
|
40
|
+
`expand_memories` a hit before you cite it: an edge to a memory you have
|
|
41
|
+
not read is a guess.
|
|
40
42
|
5. `related_files`: every file read or written. In a chat with no repository,
|
|
41
43
|
leave it empty; never invent paths.
|
|
42
44
|
6. Read the store response: "unanchored" -> repair now with `modify_memory`;
|
|
@@ -14,6 +14,8 @@ modify_memory(memory_id="<uuid>", action="inactivate", reason="duplicate of <uui
|
|
|
14
14
|
modify_memory(memory_id="<workstream-uuid>", action="update", status="shipped") # or "abandoned"
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
A content edit gives the memory a new id; use the id the response names.
|
|
18
|
+
|
|
17
19
|
## Why
|
|
18
20
|
|
|
19
21
|
The value gate has two halves. Storing only new durable information is one; keeping
|
|
@@ -30,7 +30,9 @@ layer nudges you the moment you write one.
|
|
|
30
30
|
1. Form or review the requested design: identify the requirements and constraints, then explain the proposed responsibilities, interfaces, and trade-offs. A design request can begin before any plan exists.
|
|
31
31
|
**Storage gate:** record the shape chosen and why only when it adds a new durable proposal beyond the loaded workstream; a restatement or description of the diff stores nothing.
|
|
32
32
|
2. `recall` first: an earlier design or decision may cover this, and a
|
|
33
|
-
`constraint` may bound it.
|
|
33
|
+
`constraint` may bound it. `expand_memories` them and read them before
|
|
34
|
+
reading the code they describe: a summary line is not the memory. Keep
|
|
35
|
+
their UUIDs.
|
|
34
36
|
3. Store one `design` with `workstream_slug`, `related_files` (every file it
|
|
35
37
|
will touch, not only those touched so far) and edges: `related` to what it
|
|
36
38
|
builds on and to the constraint that bounds it, `supersedes` only if the
|
|
@@ -50,7 +52,7 @@ RIGHT: `store_memory(memory_type="design", ...)`; the memory is the artifact.
|
|
|
50
52
|
## Checklist
|
|
51
53
|
|
|
52
54
|
- [ ] Real design, not a diff summary
|
|
53
|
-
- [ ] Prior designs, decisions, constraints searched and edged
|
|
55
|
+
- [ ] Prior designs, decisions, constraints searched, read in full, and edged
|
|
54
56
|
- [ ] Files it will touch listed; full UUID captured
|
|
55
57
|
- [ ] Verdicts read before building on a reviewed design
|
|
56
58
|
|
|
@@ -30,6 +30,9 @@ prevent.
|
|
|
30
30
|
1. **Gate:** `recall` first, by symptom and by `file_path`. A prior `bugfix`
|
|
31
31
|
or `constraint` may already explain it. If it does, apply it and skip to
|
|
32
32
|
`finish`; a second copy of a stored cause is noise.
|
|
33
|
+
`expand_memories` the hits and read them before reading code: the
|
|
34
|
+
`design` says how the thing is meant to behave, the `bugfix` what broke
|
|
35
|
+
before. A summary line is not the memory.
|
|
33
36
|
Search a third time by the thing the failing test asserts — a key
|
|
34
37
|
binding, a path, a flag, a constant — not only the symptom. If a hit says
|
|
35
38
|
the current behaviour was a deliberate ruling, the fix must honour the
|
|
@@ -53,6 +56,11 @@ prevent.
|
|
|
53
56
|
|
|
54
57
|
## Anti-patterns
|
|
55
58
|
|
|
59
|
+
WRONG: the search returns the design of the feature; the code is read first
|
|
60
|
+
to find out how it is meant to behave.
|
|
61
|
+
RIGHT: `expand_memories` the design; the code is opened to confirm it, or to
|
|
62
|
+
find where it departs from it.
|
|
63
|
+
|
|
56
64
|
WRONG: editing until the test passes, then writing "fixed X" as the memory.
|
|
57
65
|
RIGHT: the root cause stored first; the memory says why it broke, not that it passes.
|
|
58
66
|
|
|
@@ -65,6 +73,7 @@ ruling is a `bugfix` stored before its edit, quota warning or not.
|
|
|
65
73
|
## Checklist
|
|
66
74
|
|
|
67
75
|
- [ ] Searched by symptom, by file, and by what the failing test asserts
|
|
76
|
+
- [ ] Hits expanded and read before any source file was opened
|
|
68
77
|
- [ ] A batch triaged: every reversal of a ruling or of your own earlier choice has its own bugfix
|
|
69
78
|
- [ ] Thinking sequence concluded, or never opened
|
|
70
79
|
- [ ] Root cause stored before the fix, with files and an edge
|
|
@@ -38,6 +38,11 @@ Then climb one rung per step, never several rungs in one parallel batch.
|
|
|
38
38
|
the hits worth reading whole, then answer. Never run a later rung to confirm an
|
|
39
39
|
earlier one.
|
|
40
40
|
|
|
41
|
+
**Gate:** read before code. When the question is why something behaves as it
|
|
42
|
+
does, or how it is meant to behave, `expand_memories` the hits and read them
|
|
43
|
+
before opening a source file. The design says what was intended; the code
|
|
44
|
+
confirms it. A summary line is not the memory.
|
|
45
|
+
|
|
41
46
|
0. Already in context: the summon's roster, recent work or working state names
|
|
42
47
|
the workstream or memory. Use that slug or UUID; it costs no lookup call.
|
|
43
48
|
1. Workstream: a roster title matches the request ->
|
|
@@ -56,13 +61,15 @@ earlier one.
|
|
|
56
61
|
|
|
57
62
|
- Filters narrow a noisy result; they are not extra rungs: `memory_type`,
|
|
58
63
|
`days_back`. `date_from`/`date_to` ADDS a dated window to the results; it
|
|
59
|
-
never filters.
|
|
64
|
+
never filters. `memory_type="design"` finds the rule a feature was built
|
|
65
|
+
to; `"bugfix"` finds what broke.
|
|
60
66
|
- A teammate's name in the request is context. `author_email` only when the
|
|
61
67
|
user asks what that person wrote (`team`).
|
|
62
68
|
- "Project not found", or nothing from a project you cannot see, is the
|
|
63
69
|
answer: report it, do not retry it another way.
|
|
64
70
|
- Before editing a file, search it: `file_path="%installer.ts%"` (ILIKE
|
|
65
|
-
wildcards), alone or with `query
|
|
71
|
+
wildcards), alone or with `query`, and read what it returns before you
|
|
72
|
+
change the file.
|
|
66
73
|
- Superseded targets are included in `expand_memories` and hidden from search.
|
|
67
74
|
- **Gate:** keep the UUIDs; the next store cites them as edges.
|
|
68
75
|
|
|
@@ -75,6 +82,11 @@ project_name="my-api", file_path="src/auth/%")`.
|
|
|
75
82
|
WRONG: `git log` to explain a line.
|
|
76
83
|
RIGHT: parse its `Recallium-Memory:` trailer or search `commit:<short-sha>`.
|
|
77
84
|
|
|
85
|
+
WRONG: the search returns the bugfix and the design; five source files are
|
|
86
|
+
read to work out the rule.
|
|
87
|
+
RIGHT: `expand_memories` both, answer from the design, open the one file that
|
|
88
|
+
confirms it.
|
|
89
|
+
|
|
78
90
|
WRONG: the workstream answered, then an `"__all__"` search "to make sure
|
|
79
91
|
nothing else exists" and an `author_email` pass for the teammate the user
|
|
80
92
|
mentioned: nine calls.
|
|
@@ -87,7 +99,8 @@ RIGHT: `get_workstream`, `expand_memories`, the answer: two calls.
|
|
|
87
99
|
parallel rungs
|
|
88
100
|
- [ ] Project before `"__all__"`; `project_name` on every call
|
|
89
101
|
- [ ] File-scoped pass before editing; documents searched as documents
|
|
90
|
-
- [ ] Hits expanded
|
|
102
|
+
- [ ] Hits expanded and read before any source file was opened; UUIDs kept
|
|
103
|
+
for the next store's edges
|
|
91
104
|
|
|
92
105
|
## See also
|
|
93
106
|
|
|
@@ -18,7 +18,7 @@ description: Recallium is the team's memory, not your notepad. REQUIRED on the f
|
|
|
18
18
|
8. **Never author a standalone design, brief, plan, spec, or handoff `.md`.** The memory is the artifact. A subagent brief is a memory: pass its full UUID and tell the agent to `expand_memories` it first.
|
|
19
19
|
9. **Commits:** the why-memories must exist before you commit; put their UUIDs in a `Recallium-Memory:` git trailer with `git commit --trailer`. One checkpoint per commit: a commit that closes a tracked task is checkpointed by `update_task(status="completed", memory_ids=[the why-UUIDs])` and gets NO progress; otherwise store ONE `progress` tagged `commit:<short-sha>` carrying the full SHA, the commit's files, and `related` edges to those UUIDs.
|
|
20
20
|
10. **Working state:** `set_working_state` holds only what is left over after the last store or task close — what is mid-way, what is next, which writes are pending or unknown. It is not a checkpoint: never restate a memory's content, SHAs or evidence there. Write it after a step that changes where to resume, before compaction, and at session end. It is not searchable; anything durable is a memory. Claim a write succeeded only after its successful tool result; record denied or failed writes as pending and ambiguous results as unknown.
|
|
21
|
-
11. **Search before re-deriving:** before editing known territory or re-investigating
|
|
21
|
+
11. **Search before re-deriving:** before editing known territory or re-investigating settled work, `search_memories` by topic and by `file_path`, then `expand_memories` the hits before opening code.
|
|
22
22
|
|
|
23
23
|
These rules are the floor, not the whole procedure: when the situation matches a trigger skill, invoke that skill and follow it — do not improvise the workflow from this block alone. Trigger skills: `resume`, `recall`, `start-work`, `investigate`, `design`, `decide`, `capture`, `curate`, `finish`, `handoff`, `rule`, `project`, `team`; `recallium-tools` is the generated tool map. For search fields, verdict shapes, thinking sequences, projects, teams, and worked examples, invoke the full `recallium-guidance` skill before non-trivial work.
|
|
24
24
|
<!-- recallium:core:end -->
|
|
@@ -112,7 +112,7 @@ Every commit traceable to its *why*, and every *why* to its commit. Bidirectiona
|
|
|
112
112
|
Full signatures, worked examples and the one-screen index: [reference.md](reference.md).
|
|
113
113
|
|
|
114
114
|
### Searching
|
|
115
|
-
`search_memories` needs only `project_name`; the tool's own description carries every filter. Superseded memories are hidden by default, and `expand_memories` returns them. Skill: `recall`.
|
|
115
|
+
`search_memories` needs only `project_name`; the tool's own description carries every filter. Superseded memories are hidden by default, and `expand_memories` returns them. Read before code: when the question is why something behaves as it does, or how it is meant to behave, `expand_memories` the hits and read them before opening a source file. The design says what was intended; the code confirms it. A summary line is not the memory. Skill: `recall`.
|
|
116
116
|
|
|
117
117
|
### Working state
|
|
118
118
|
Describe the last confirmed stored state, separately from completed code changes or checks. A tool call attempt is not a save receipt. If an update fails or is denied, name the unsaved change and next action; if its result is ambiguous, verify by reading before retrying. Example: “Tests passed; the bugfix still contains planned verification because saving the test results was denied.” After a successful update result, the note may say the verification was saved. Do not report database verification unless a read-back actually confirmed it.
|
|
@@ -29,9 +29,12 @@ in date order reconstructs how the work moved.
|
|
|
29
29
|
working state and open tasks arrive only with it. Switching project? Call it
|
|
30
30
|
again with the new `project_name`. No workspace and no project named?
|
|
31
31
|
Ask, else `"default"`.
|
|
32
|
+
If the resume buffer is a preview, tell the user what it holds, as a part of the note and not the whole state. End by saying, without character counts, that more context is available that gives the full picture, and offer to load it; when the user says "resume", call get_working_state first.
|
|
32
33
|
2. Read `get_working_state`: branch, slug, in flight, parked, next action.
|
|
33
34
|
3. Roster, then the slug you are continuing; constraints and decisions come
|
|
34
|
-
first and bound what you may do.
|
|
35
|
+
first and bound what you may do. `expand_memories` the ones that bound
|
|
36
|
+
this work and read them; a one-line title is not the decision.
|
|
37
|
+
**Gate:** slug loaded, and those read, before code.
|
|
35
38
|
4. Triage `list_tasks`; `get_task` shows one task's linked memories. Pick up,
|
|
36
39
|
or hand stale ones to `curate`.
|
|
37
40
|
5. Pick the window the question asks for: "this session" -> `session_recap`;
|
|
@@ -36,7 +36,7 @@ units the user must at least be offered them — one question, their answer.
|
|
|
36
36
|
## Workflow
|
|
37
37
|
|
|
38
38
|
1. Confirm a new effort needs setup. A self-contained edit with a specified result can be completed directly; its required memory lookup does not by itself require this workflow or a new workstream.
|
|
39
|
-
For an effort, search by intent and file. A prior decision or constraint may settle part of it. Keep the UUIDs for edges.
|
|
39
|
+
For an effort, search by intent and file. A prior decision or constraint may settle part of it. `expand_memories` the hits and read them before opening the files they name: a summary line is not the memory. Keep the UUIDs for edges.
|
|
40
40
|
2. `get_workstream(project_name=...)` for the roster. Continuing something?
|
|
41
41
|
Open its slug. Nothing fits? `create_workstream(..., status="active")`.
|
|
42
42
|
**Gate:** the workstream exists before the first store, never after.
|
|
@@ -69,7 +69,7 @@ RIGHT: "This is 3 units: … Track them as tasks?" — asked once, then their ca
|
|
|
69
69
|
|
|
70
70
|
## Checklist
|
|
71
71
|
|
|
72
|
-
- [ ] Topic and file-scoped search run; UUIDs kept
|
|
72
|
+
- [ ] Topic and file-scoped search run; hits read in full before the code; UUIDs kept
|
|
73
73
|
- [ ] Slug loaded or workstream created before any store
|
|
74
74
|
- [ ] Two or more units → tasks offered once by name; created only on a yes, with the slug, linked to the design if one exists
|
|
75
75
|
|
|
@@ -37,6 +37,8 @@ so storing it twice makes the original harder to find.
|
|
|
37
37
|
3. **Gate:** `workstream_slug` is mandatory; none yet -> `start-work`.
|
|
38
38
|
4. Search the workstream for what this builds on, replaces, bounds or
|
|
39
39
|
contradicts; attach those UUIDs. `supersedes` means the target is now WRONG.
|
|
40
|
+
`expand_memories` a hit before you cite it: an edge to a memory you have
|
|
41
|
+
not read is a guess.
|
|
40
42
|
5. `related_files`: every file read or written. In a chat with no repository,
|
|
41
43
|
leave it empty; never invent paths.
|
|
42
44
|
6. Read the store response: "unanchored" -> repair now with `modify_memory`;
|
|
@@ -14,6 +14,8 @@ modify_memory(memory_id="<uuid>", action="inactivate", reason="duplicate of <uui
|
|
|
14
14
|
modify_memory(memory_id="<workstream-uuid>", action="update", status="shipped") # or "abandoned"
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
A content edit gives the memory a new id; use the id the response names.
|
|
18
|
+
|
|
17
19
|
## Why
|
|
18
20
|
|
|
19
21
|
The value gate has two halves. Storing only new durable information is one; keeping
|
|
@@ -30,7 +30,9 @@ layer nudges you the moment you write one.
|
|
|
30
30
|
1. Form or review the requested design: identify the requirements and constraints, then explain the proposed responsibilities, interfaces, and trade-offs. A design request can begin before any plan exists.
|
|
31
31
|
**Storage gate:** record the shape chosen and why only when it adds a new durable proposal beyond the loaded workstream; a restatement or description of the diff stores nothing.
|
|
32
32
|
2. `recall` first: an earlier design or decision may cover this, and a
|
|
33
|
-
`constraint` may bound it.
|
|
33
|
+
`constraint` may bound it. `expand_memories` them and read them before
|
|
34
|
+
reading the code they describe: a summary line is not the memory. Keep
|
|
35
|
+
their UUIDs.
|
|
34
36
|
3. Store one `design` with `workstream_slug`, `related_files` (every file it
|
|
35
37
|
will touch, not only those touched so far) and edges: `related` to what it
|
|
36
38
|
builds on and to the constraint that bounds it, `supersedes` only if the
|
|
@@ -50,7 +52,7 @@ RIGHT: `store_memory(memory_type="design", ...)`; the memory is the artifact.
|
|
|
50
52
|
## Checklist
|
|
51
53
|
|
|
52
54
|
- [ ] Real design, not a diff summary
|
|
53
|
-
- [ ] Prior designs, decisions, constraints searched and edged
|
|
55
|
+
- [ ] Prior designs, decisions, constraints searched, read in full, and edged
|
|
54
56
|
- [ ] Files it will touch listed; full UUID captured
|
|
55
57
|
- [ ] Verdicts read before building on a reviewed design
|
|
56
58
|
|
|
@@ -30,6 +30,9 @@ prevent.
|
|
|
30
30
|
1. **Gate:** `recall` first, by symptom and by `file_path`. A prior `bugfix`
|
|
31
31
|
or `constraint` may already explain it. If it does, apply it and skip to
|
|
32
32
|
`finish`; a second copy of a stored cause is noise.
|
|
33
|
+
`expand_memories` the hits and read them before reading code: the
|
|
34
|
+
`design` says how the thing is meant to behave, the `bugfix` what broke
|
|
35
|
+
before. A summary line is not the memory.
|
|
33
36
|
Search a third time by the thing the failing test asserts — a key
|
|
34
37
|
binding, a path, a flag, a constant — not only the symptom. If a hit says
|
|
35
38
|
the current behaviour was a deliberate ruling, the fix must honour the
|
|
@@ -53,6 +56,11 @@ prevent.
|
|
|
53
56
|
|
|
54
57
|
## Anti-patterns
|
|
55
58
|
|
|
59
|
+
WRONG: the search returns the design of the feature; the code is read first
|
|
60
|
+
to find out how it is meant to behave.
|
|
61
|
+
RIGHT: `expand_memories` the design; the code is opened to confirm it, or to
|
|
62
|
+
find where it departs from it.
|
|
63
|
+
|
|
56
64
|
WRONG: editing until the test passes, then writing "fixed X" as the memory.
|
|
57
65
|
RIGHT: the root cause stored first; the memory says why it broke, not that it passes.
|
|
58
66
|
|
|
@@ -65,6 +73,7 @@ ruling is a `bugfix` stored before its edit, quota warning or not.
|
|
|
65
73
|
## Checklist
|
|
66
74
|
|
|
67
75
|
- [ ] Searched by symptom, by file, and by what the failing test asserts
|
|
76
|
+
- [ ] Hits expanded and read before any source file was opened
|
|
68
77
|
- [ ] A batch triaged: every reversal of a ruling or of your own earlier choice has its own bugfix
|
|
69
78
|
- [ ] Thinking sequence concluded, or never opened
|
|
70
79
|
- [ ] Root cause stored before the fix, with files and an edge
|
|
@@ -38,6 +38,11 @@ Then climb one rung per step, never several rungs in one parallel batch.
|
|
|
38
38
|
the hits worth reading whole, then answer. Never run a later rung to confirm an
|
|
39
39
|
earlier one.
|
|
40
40
|
|
|
41
|
+
**Gate:** read before code. When the question is why something behaves as it
|
|
42
|
+
does, or how it is meant to behave, `expand_memories` the hits and read them
|
|
43
|
+
before opening a source file. The design says what was intended; the code
|
|
44
|
+
confirms it. A summary line is not the memory.
|
|
45
|
+
|
|
41
46
|
0. Already in context: the summon's roster, recent work or working state names
|
|
42
47
|
the workstream or memory. Use that slug or UUID; it costs no lookup call.
|
|
43
48
|
1. Workstream: a roster title matches the request ->
|
|
@@ -56,13 +61,15 @@ earlier one.
|
|
|
56
61
|
|
|
57
62
|
- Filters narrow a noisy result; they are not extra rungs: `memory_type`,
|
|
58
63
|
`days_back`. `date_from`/`date_to` ADDS a dated window to the results; it
|
|
59
|
-
never filters.
|
|
64
|
+
never filters. `memory_type="design"` finds the rule a feature was built
|
|
65
|
+
to; `"bugfix"` finds what broke.
|
|
60
66
|
- A teammate's name in the request is context. `author_email` only when the
|
|
61
67
|
user asks what that person wrote (`team`).
|
|
62
68
|
- "Project not found", or nothing from a project you cannot see, is the
|
|
63
69
|
answer: report it, do not retry it another way.
|
|
64
70
|
- Before editing a file, search it: `file_path="%installer.ts%"` (ILIKE
|
|
65
|
-
wildcards), alone or with `query
|
|
71
|
+
wildcards), alone or with `query`, and read what it returns before you
|
|
72
|
+
change the file.
|
|
66
73
|
- Superseded targets are included in `expand_memories` and hidden from search.
|
|
67
74
|
- **Gate:** keep the UUIDs; the next store cites them as edges.
|
|
68
75
|
|
|
@@ -75,6 +82,11 @@ project_name="my-api", file_path="src/auth/%")`.
|
|
|
75
82
|
WRONG: `git log` to explain a line.
|
|
76
83
|
RIGHT: parse its `Recallium-Memory:` trailer or search `commit:<short-sha>`.
|
|
77
84
|
|
|
85
|
+
WRONG: the search returns the bugfix and the design; five source files are
|
|
86
|
+
read to work out the rule.
|
|
87
|
+
RIGHT: `expand_memories` both, answer from the design, open the one file that
|
|
88
|
+
confirms it.
|
|
89
|
+
|
|
78
90
|
WRONG: the workstream answered, then an `"__all__"` search "to make sure
|
|
79
91
|
nothing else exists" and an `author_email` pass for the teammate the user
|
|
80
92
|
mentioned: nine calls.
|
|
@@ -87,7 +99,8 @@ RIGHT: `get_workstream`, `expand_memories`, the answer: two calls.
|
|
|
87
99
|
parallel rungs
|
|
88
100
|
- [ ] Project before `"__all__"`; `project_name` on every call
|
|
89
101
|
- [ ] File-scoped pass before editing; documents searched as documents
|
|
90
|
-
- [ ] Hits expanded
|
|
102
|
+
- [ ] Hits expanded and read before any source file was opened; UUIDs kept
|
|
103
|
+
for the next store's edges
|
|
91
104
|
|
|
92
105
|
## See also
|
|
93
106
|
|
|
@@ -18,7 +18,7 @@ description: Recallium is the team's memory, not your notepad. REQUIRED on the f
|
|
|
18
18
|
8. **Never author a standalone design, brief, plan, spec, or handoff `.md`.** The memory is the artifact. A subagent brief is a memory: pass its full UUID and tell the agent to `expand_memories` it first.
|
|
19
19
|
9. **Commits:** the why-memories must exist before you commit; put their UUIDs in a `Recallium-Memory:` git trailer with `git commit --trailer`. One checkpoint per commit: a commit that closes a tracked task is checkpointed by `update_task(status="completed", memory_ids=[the why-UUIDs])` and gets NO progress; otherwise store ONE `progress` tagged `commit:<short-sha>` carrying the full SHA, the commit's files, and `related` edges to those UUIDs.
|
|
20
20
|
10. **Working state:** `set_working_state` holds only what is left over after the last store or task close — what is mid-way, what is next, which writes are pending or unknown. It is not a checkpoint: never restate a memory's content, SHAs or evidence there. Write it after a step that changes where to resume, before compaction, and at session end. It is not searchable; anything durable is a memory. Claim a write succeeded only after its successful tool result; record denied or failed writes as pending and ambiguous results as unknown.
|
|
21
|
-
11. **Search before re-deriving:** before editing known territory or re-investigating
|
|
21
|
+
11. **Search before re-deriving:** before editing known territory or re-investigating settled work, `search_memories` by topic and by `file_path`, then `expand_memories` the hits before opening code.
|
|
22
22
|
|
|
23
23
|
These rules are the floor, not the whole procedure: when the situation matches a trigger skill, invoke that skill and follow it — do not improvise the workflow from this block alone. Trigger skills: `resume`, `recall`, `start-work`, `investigate`, `design`, `decide`, `capture`, `curate`, `finish`, `handoff`, `rule`, `project`, `team`; `recallium-tools` is the generated tool map. For search fields, verdict shapes, thinking sequences, projects, teams, and worked examples, invoke the full `recallium-guidance` skill before non-trivial work.
|
|
24
24
|
<!-- recallium:core:end -->
|
|
@@ -112,7 +112,7 @@ Every commit traceable to its *why*, and every *why* to its commit. Bidirectiona
|
|
|
112
112
|
Full signatures, worked examples and the one-screen index: [reference.md](reference.md).
|
|
113
113
|
|
|
114
114
|
### Searching
|
|
115
|
-
`search_memories` needs only `project_name`; the tool's own description carries every filter. Superseded memories are hidden by default, and `expand_memories` returns them. Skill: `recall`.
|
|
115
|
+
`search_memories` needs only `project_name`; the tool's own description carries every filter. Superseded memories are hidden by default, and `expand_memories` returns them. Read before code: when the question is why something behaves as it does, or how it is meant to behave, `expand_memories` the hits and read them before opening a source file. The design says what was intended; the code confirms it. A summary line is not the memory. Skill: `recall`.
|
|
116
116
|
|
|
117
117
|
### Working state
|
|
118
118
|
Describe the last confirmed stored state, separately from completed code changes or checks. A tool call attempt is not a save receipt. If an update fails or is denied, name the unsaved change and next action; if its result is ambiguous, verify by reading before retrying. Example: “Tests passed; the bugfix still contains planned verification because saving the test results was denied.” After a successful update result, the note may say the verification was saved. Do not report database verification unless a read-back actually confirmed it.
|
|
@@ -29,9 +29,12 @@ in date order reconstructs how the work moved.
|
|
|
29
29
|
working state and open tasks arrive only with it. Switching project? Call it
|
|
30
30
|
again with the new `project_name`. No workspace and no project named?
|
|
31
31
|
Ask, else `"default"`.
|
|
32
|
+
If the resume buffer is a preview, tell the user what it holds, as a part of the note and not the whole state. End by saying, without character counts, that more context is available that gives the full picture, and offer to load it; when the user says "resume", call get_working_state first.
|
|
32
33
|
2. Read `get_working_state`: branch, slug, in flight, parked, next action.
|
|
33
34
|
3. Roster, then the slug you are continuing; constraints and decisions come
|
|
34
|
-
first and bound what you may do.
|
|
35
|
+
first and bound what you may do. `expand_memories` the ones that bound
|
|
36
|
+
this work and read them; a one-line title is not the decision.
|
|
37
|
+
**Gate:** slug loaded, and those read, before code.
|
|
35
38
|
4. Triage `list_tasks`; `get_task` shows one task's linked memories. Pick up,
|
|
36
39
|
or hand stale ones to `curate`.
|
|
37
40
|
5. Pick the window the question asks for: "this session" -> `session_recap`;
|
|
@@ -36,7 +36,7 @@ units the user must at least be offered them — one question, their answer.
|
|
|
36
36
|
## Workflow
|
|
37
37
|
|
|
38
38
|
1. Confirm a new effort needs setup. A self-contained edit with a specified result can be completed directly; its required memory lookup does not by itself require this workflow or a new workstream.
|
|
39
|
-
For an effort, search by intent and file. A prior decision or constraint may settle part of it. Keep the UUIDs for edges.
|
|
39
|
+
For an effort, search by intent and file. A prior decision or constraint may settle part of it. `expand_memories` the hits and read them before opening the files they name: a summary line is not the memory. Keep the UUIDs for edges.
|
|
40
40
|
2. `get_workstream(project_name=...)` for the roster. Continuing something?
|
|
41
41
|
Open its slug. Nothing fits? `create_workstream(..., status="active")`.
|
|
42
42
|
**Gate:** the workstream exists before the first store, never after.
|
|
@@ -69,7 +69,7 @@ RIGHT: "This is 3 units: … Track them as tasks?" — asked once, then their ca
|
|
|
69
69
|
|
|
70
70
|
## Checklist
|
|
71
71
|
|
|
72
|
-
- [ ] Topic and file-scoped search run; UUIDs kept
|
|
72
|
+
- [ ] Topic and file-scoped search run; hits read in full before the code; UUIDs kept
|
|
73
73
|
- [ ] Slug loaded or workstream created before any store
|
|
74
74
|
- [ ] Two or more units → tasks offered once by name; created only on a yes, with the slug, linked to the design if one exists
|
|
75
75
|
|
|
@@ -37,6 +37,8 @@ so storing it twice makes the original harder to find.
|
|
|
37
37
|
3. **Gate:** `workstream_slug` is mandatory; none yet -> `start-work`.
|
|
38
38
|
4. Search the workstream for what this builds on, replaces, bounds or
|
|
39
39
|
contradicts; attach those UUIDs. `supersedes` means the target is now WRONG.
|
|
40
|
+
`expand_memories` a hit before you cite it: an edge to a memory you have
|
|
41
|
+
not read is a guess.
|
|
40
42
|
5. `related_files`: every file read or written. In a chat with no repository,
|
|
41
43
|
leave it empty; never invent paths.
|
|
42
44
|
6. Read the store response: "unanchored" -> repair now with `modify_memory`;
|
|
@@ -14,6 +14,8 @@ modify_memory(memory_id="<uuid>", action="inactivate", reason="duplicate of <uui
|
|
|
14
14
|
modify_memory(memory_id="<workstream-uuid>", action="update", status="shipped") # or "abandoned"
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
A content edit gives the memory a new id; use the id the response names.
|
|
18
|
+
|
|
17
19
|
## Why
|
|
18
20
|
|
|
19
21
|
The value gate has two halves. Storing only new durable information is one; keeping
|
|
@@ -30,7 +30,9 @@ layer nudges you the moment you write one.
|
|
|
30
30
|
1. Form or review the requested design: identify the requirements and constraints, then explain the proposed responsibilities, interfaces, and trade-offs. A design request can begin before any plan exists.
|
|
31
31
|
**Storage gate:** record the shape chosen and why only when it adds a new durable proposal beyond the loaded workstream; a restatement or description of the diff stores nothing.
|
|
32
32
|
2. `recall` first: an earlier design or decision may cover this, and a
|
|
33
|
-
`constraint` may bound it.
|
|
33
|
+
`constraint` may bound it. `expand_memories` them and read them before
|
|
34
|
+
reading the code they describe: a summary line is not the memory. Keep
|
|
35
|
+
their UUIDs.
|
|
34
36
|
3. Store one `design` with `workstream_slug`, `related_files` (every file it
|
|
35
37
|
will touch, not only those touched so far) and edges: `related` to what it
|
|
36
38
|
builds on and to the constraint that bounds it, `supersedes` only if the
|
|
@@ -50,7 +52,7 @@ RIGHT: `store_memory(memory_type="design", ...)`; the memory is the artifact.
|
|
|
50
52
|
## Checklist
|
|
51
53
|
|
|
52
54
|
- [ ] Real design, not a diff summary
|
|
53
|
-
- [ ] Prior designs, decisions, constraints searched and edged
|
|
55
|
+
- [ ] Prior designs, decisions, constraints searched, read in full, and edged
|
|
54
56
|
- [ ] Files it will touch listed; full UUID captured
|
|
55
57
|
- [ ] Verdicts read before building on a reviewed design
|
|
56
58
|
|