@wujie-shell/core 0.1.5 → 1.0.1
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/README.md +36 -5
- package/bin/wujie-shell.mjs +65 -0
- package/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -0
- package/dist/src/agents/bundled-agents.mjs +1 -0
- package/dist/src/chat/media-archive.mjs +1 -0
- package/dist/src/chat/queue.mjs +1 -0
- package/dist/src/common/diagnostics.mjs +1 -0
- package/dist/src/common/logging.mjs +1 -0
- package/dist/src/common/runtime-logger.mjs +1 -0
- package/dist/src/common/user-events.mjs +1 -0
- package/dist/src/common/utils.mjs +1 -0
- package/dist/src/config/controller.mjs +1 -0
- package/dist/src/connectors/config-utils.mjs +1 -0
- package/dist/src/connectors/constants.mjs +1 -0
- package/dist/src/connectors/controller.mjs +1 -0
- package/dist/src/connectors/kdocs-cli.mjs +1 -0
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/files/generated-files-store.mjs +1 -0
- package/dist/src/files/handlers.mjs +1 -0
- package/dist/src/gateway/chat-delta.mjs +1 -0
- package/dist/src/gateway/controller.mjs +1 -0
- package/dist/src/gateway/ws-client.mjs +1 -0
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -0
- package/dist/src/log-reporting/report-logs.mjs +1 -0
- package/dist/src/models/handlers.mjs +1 -0
- package/dist/src/preferences/store.mjs +1 -0
- package/dist/src/runtime/index.mjs +1 -0
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -0
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -0
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -0
- package/dist/src/runtime/plugin-sync.mjs +1 -0
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -0
- package/dist/src/sessions/runtime-bridge.mjs +1 -0
- package/dist/src/sessions/session-sqlite-store.mjs +1 -0
- package/dist/src/sessions/sql/001_init.sql +120 -0
- package/dist/src/sessions/sql/002_session_local_metadata.sql +15 -0
- package/dist/src/sessions/sql/schema.md +115 -0
- package/dist/src/skills/import.mjs +1 -0
- package/dist/src/skills/market.mjs +1 -0
- package/dist/src/terminal/manager.mjs +1 -0
- package/dist/src/updates/controller.mjs +1 -0
- package/dist/src/updates/loader.mjs +1 -0
- package/package.json +13 -6
- package/dist/src/bundled-agent-skills.mjs +0 -1
- package/dist/src/bundled-agents.mjs +0 -1
- package/dist/src/config-controller.mjs +0 -1
- package/dist/src/gateway-controller.mjs +0 -1
- package/dist/src/gateway-ws.mjs +0 -1
- package/dist/src/logging.mjs +0 -1
- package/dist/src/plugin-sync.mjs +0 -1
- package/dist/src/runtime-logger.mjs +0 -1
- package/dist/src/runtime.mjs +0 -1
- package/dist/src/utils.mjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const _0x44db42=_0x113e;function _0x113e(_0xe3652b,_0x21daea){_0xe3652b=_0xe3652b-0xc1;const _0x442a31=_0x442a();let _0x113eb4=_0x442a31[_0xe3652b];return _0x113eb4;}(function(_0x2cdc4f,_0x51c258){const _0x3b13f6=_0x113e,_0x5d1996=_0x2cdc4f();while(!![]){try{const _0x66d712=parseInt(_0x3b13f6(0x145))/0x1+parseInt(_0x3b13f6(0x148))/0x2*(parseInt(_0x3b13f6(0x1e3))/0x3)+-parseInt(_0x3b13f6(0x163))/0x4*(parseInt(_0x3b13f6(0xed))/0x5)+-parseInt(_0x3b13f6(0x116))/0x6+parseInt(_0x3b13f6(0x11b))/0x7*(parseInt(_0x3b13f6(0x14b))/0x8)+-parseInt(_0x3b13f6(0xeb))/0x9*(-parseInt(_0x3b13f6(0xd4))/0xa)+-parseInt(_0x3b13f6(0x21d))/0xb;if(_0x66d712===_0x51c258)break;else _0x5d1996['push'](_0x5d1996['shift']());}catch(_0x1b5c7c){_0x5d1996['push'](_0x5d1996['shift']());}}}(_0x442a,0xe782e));import{randomUUID}from'node:crypto';import{createServer}from'node:http';import{EventEmitter}from'node:events';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{basename,dirname,join}from'node:path';import _0x27f52f,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,getTrimmedString}from'./utils.mjs';function _0x442a(){const _0x37de98=['agents.l','terminal','aborted','sessionI','join','skill\x20in','Settings','exited\x20u','stdout','startedA','token','timeout','er\x20start','pluginId','mimeType','c\x20failed','ents\x20syn','process\x20','text/mar','\x20prepare','done','isArray','ensureGa','sessionK','fileName','skills\x20s','deny','SIGTERM','image','isFile','names','toString','er-secre','by\x20gatew','t\x20discon','getModel','und','agents.u','error','ame','achments','ay\x20state','request','\x20signal=','ting:\x20','parse','agents','chat.abo','restartO','kUserQue','3043113TRGNDp','deleted','igWriteH','end','run','stderr','plugins','system','errorMes','WorkingD','final','n\x20reques','unhealth','ey\x20is\x20re','started','peratedM','lifecycl','running','eam\x20acce','Version','patch','create\x20r','skills.i','andledIn','chat\x20abo','chat.sen','eviceIde','SOUL.md','Fallback','nstall','data','filePath','\x20request','manual\x20r','chat.his','installP','readConf','0.1.0','renamed','message\x20','er\x20stop\x20','modelNam','parentSe','POST','session-','filter','eady','ndled\x20ag','runId','cron.run','keys','reate','unconfig','warn','answer','bundled-','ayRestar','pdated','12498970uOthJA','toISOStr','ove','message','writeHea','ase','chat\x20str','some','chat\x20att','\x20waiting','image/we','lete\x20req','--token','port','backend','answers','slice','mpleted','SIGKILL','closed','[wujie-s','stopped','fig','allow','.json','res','nexpecte','resolveC','clear','delete\x20c','off','nected','agent\x20sk','aded','size','-questio','ssionKey','started,','ills\x20syn','stop','tory','image/pn','ntityPat','client','toUpperC','startsWi','nsured','info','ase\x20retr','status','--allow-','eys\x20upda','245330bRaySM','chat\x20eve','ties','restart\x20','get','agents.c','deleteTr','content','has','jobId','stringif','.delete','d\x20--toke','trim','default','Timer','paths','label','onfigPat','stall\x20co','ded','requestI','ensureIn','549qSLdaV','\x20require','44710psFznl','\x20gateway','version','destroy','entries','healthy','ternally','updated','base64','image/','resolveS','e\x20shared','chat\x20fai','ion/pdf','unknown','skills.d','sessions','arge:\x20','red','invalid\x20','skill\x20up','itialCon','metadata','led','limit','eway]\x20bu','source','now','cron.lis','utf8','tokenPre','projectR','capabili','rename\x20c','image/gi','textLeng','agent-ev','session\x20','agents-u','estart','delete','11078898AbSKnd','desktop','markConf','flush','kill','315lAlHvP','agents\x20l','skills.s','rt\x20reque','y\x20shortl','websocke','requeste','model','pted\x20by\x20','ion/json','tory\x20loa','x-ask-us','close','map','quired','ing,\x20ple','agents\x20e','health','defaultI','provider','floor','discover','url','skills','text','sent','ent','elete','productN','max','set','log','\x20list\x20co','writeCon','\x20failed\x20','ed:\x20','exited\x20c','r-questi','gateway-','unauthor','text/csv','c\x20comple','1246770vTuQkd','controll','pop','2peraVZ','nChange','anscript','281992ZTiejf','equested','dispose','pinnedKe','date\x20req','configur','finally','starting','name','ompleted','delta','ync\x20fail','skill\x20de','ath','\x20for\x20WS','ck\x20disab','string','once','includes','agents\x20s','pid',':session','ion/octe','iled','632RnmCSM','main','.create','ist\x20requ','n\x20[REDAC','nt\x20too\x20l','ist','HEARTBEA','dly','ested','kdown','emit','is\x20requi','\x20allocat','listen','agentId','oot','127.0.0.','killed','sage','chat\x20run','agent:','trimEnd','ng:\x20','setGatew','json','resolveD','/ask-use','openclaw','setModel','push','title','toLowerC','--port','jobId\x20is','tewaySet','T.md','text/pla','gateway','ved','chat\x20his','tatus','pinned-k','eam\x20requ','bundled\x20','applicat','length','method','TED]\x20--p','ted','ask-user','is\x20start','restarti','stall\x20re','file','\x20context','image/jp','then','pdate','hell:gat','catch','changed','tings','ized','state','stall\x20fa','key','t\x20not\x20fo','cron.rem','figChang','workspac','tateDir','led:\x20','unshift','attachme','behavior','uested','gateway\x20'];_0x442a=function(){return _0x37de98;};return _0x442a();}import{ensureOpenClawDoctorFixed,loadRuntimeInfo,spawnClaw}from'./runtime.mjs';import{ClawGatewayWsClient}from'./gateway-ws.mjs';import{ensureBundledAgents}from'./bundled-agents.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'./bundled-agent-skills.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'./logging.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID='gateway-'+_0x44db42(0xcb),CLIENT_MODE=_0x44db42(0x22b),CLIENT_DEVICE_FAMILY=_0x44db42(0x117),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x44db42(0x20f)+_0x44db42(0x103)+_0x44db42(0x235),SHARED_CONTEXT_FILES=['AGENTS.m'+'d',_0x44db42(0x16a)+_0x44db42(0x187),'IDENTITY'+'.md','MEMORY.m'+'d',_0x44db42(0x1fe),'TOOLS.md','USER.md'];function nowIso(){const _0x458847=_0x44db42;return new Date()[_0x458847(0x21e)+'ing']();}function buildGatewayWsUrl(_0x2c2448){return'ws://127'+'.0.0.1:'+_0x2c2448;}function createInitialStatus(){const _0x2bb78f=_0x44db42;return{'lifecycle':_0x2bb78f(0x232),'health':_0x2bb78f(0xfb),'port':null,'tokenPresent':![],'message':_0x2bb78f(0x1b0)+'stopped','updatedAt':nowIso()};}function extractGatewayMessageText(_0x15f0aa){const _0x43fbef=_0x44db42;if(typeof _0x15f0aa==='string')return _0x15f0aa;if(!Array['isArray'](_0x15f0aa))return'';const _0x272f2f=[];for(const _0x8a847 of _0x15f0aa){if(typeof _0x8a847==='string'){if(_0x8a847)_0x272f2f[_0x43fbef(0x181)](_0x8a847);continue;}const _0x90c11e=asRecord(_0x8a847);_0x90c11e['type']===_0x43fbef(0x133)&&typeof _0x90c11e['text']===_0x43fbef(0x15b)&&_0x90c11e['text']&&_0x272f2f[_0x43fbef(0x181)](_0x90c11e[_0x43fbef(0x133)]);}return _0x272f2f[_0x43fbef(0x1b5)]('\x0a');}function extractGatewayChatText(_0x1aaaa2){const _0x546917=_0x44db42,_0x2561b3=asRecord(_0x1aaaa2);if(typeof _0x2561b3['text']===_0x546917(0x15b))return _0x2561b3[_0x546917(0x133)];return extractGatewayMessageText(_0x2561b3[_0x546917(0xdb)]);}function guessMimeType(_0x1e4d91){const _0x52ca32=_0x44db42,_0x2ea4f5=_0x1e4d91['split']('.')[_0x52ca32(0x147)]()?.[_0x52ca32(0x183)+_0x52ca32(0x222)]()??'',_0x21eda6={'png':_0x52ca32(0xc9)+'g','jpg':_0x52ca32(0x19b)+'eg','jpeg':'image/jp'+'eg','webp':_0x52ca32(0x227)+'bp','gif':_0x52ca32(0x10f)+'f','svg':'image/sv'+'g+xml','pdf':_0x52ca32(0x190)+_0x52ca32(0xfa),'txt':_0x52ca32(0x188)+'in','md':_0x52ca32(0x1c3)+_0x52ca32(0x16d),'json':_0x52ca32(0x190)+'ion/json','csv':_0x52ca32(0x143)};return _0x21eda6[_0x2ea4f5]||_0x52ca32(0x190)+_0x52ca32(0x161)+'t-stream';}async function buildAttachments(_0x2b35e2=[]){const _0xd029c4=_0x44db42,_0x38325d=[];for(const _0xe67009 of _0x2b35e2){const _0x4c8a76=getTrimmedString(_0xe67009);if(!_0x4c8a76)continue;const _0x15b31a=await stat(_0x4c8a76);if(!_0x15b31a[_0xd029c4(0x1ce)]())continue;if(_0x15b31a[_0xd029c4(0xc2)]>ATTACHMENT_MAX_BYTES)throw new Error(_0xd029c4(0x1ad)+_0xd029c4(0x168)+_0xd029c4(0xfe)+basename(_0x4c8a76));const _0x3919b5=guessMimeType(_0x4c8a76);_0x38325d['push']({'type':_0x3919b5[_0xd029c4(0xcd)+'th'](_0xd029c4(0xf6))?_0xd029c4(0x1cd):_0xd029c4(0x199),'mimeType':_0x3919b5,'content':(await readFile(_0x4c8a76))[_0xd029c4(0x1d0)](_0xd029c4(0xf5)),'fileName':basename(_0x4c8a76)});}return _0x38325d;}function buildSessionCreateRequestPayload(_0x37010f={}){const _0x42793f=_0x44db42,_0x26e4b6={},_0x4c922e=Math['random']()[_0x42793f(0x1d0)](0x24)[_0x42793f(0x22d)](0x2,0xf),_0x51f3b5=getTrimmedString(_0x37010f[_0x42793f(0x172)])||_0x42793f(0x164),_0x4fb5a6=getTrimmedString(_0x37010f['key'])||_0x42793f(0x178)+_0x51f3b5+(_0x42793f(0x160)+'-')+Date['now']();_0x26e4b6[_0x42793f(0x1a5)]=_0x4fb5a6+'-'+_0x4c922e,_0x26e4b6[_0x42793f(0x172)]=_0x51f3b5;const _0x1b4c9b=getTrimmedString(_0x37010f['label']);if(_0x1b4c9b)_0x26e4b6['label']=_0x1b4c9b+'-'+_0x4c922e;for(const _0x425dd7 of[_0x42793f(0x122),_0x42793f(0x20d)+_0x42793f(0xc4),'task',_0x42793f(0x220)]){const _0x2a5fb4=getTrimmedString(_0x37010f[_0x425dd7]);if(_0x2a5fb4)_0x26e4b6[_0x425dd7]=_0x2a5fb4;}return _0x26e4b6;}function parseSessionCreateResult(_0x4359fe){const _0x3be61d=_0x44db42,_0x152b42=asRecord(_0x4359fe),_0x234fb5=asRecord(_0x152b42['session']);return{'ok':!![],'key':getTrimmedString(_0x152b42[_0x3be61d(0x1a5)])||getTrimmedString(_0x152b42['sessionK'+'ey'])||getTrimmedString(_0x234fb5['key'])||null,'sessionId':getTrimmedString(_0x152b42[_0x3be61d(0x1b4)+'d'])||getTrimmedString(_0x234fb5['sessionI'+'d'])||null};}function getSessionKeyFromValue(_0xff2013){const _0x50be68=_0x44db42,_0x1e857f=asRecord(_0xff2013);return getTrimmedString(_0x1e857f[_0x50be68(0x1c8)+'ey']??_0x1e857f[_0x50be68(0x1a5)]??_0x1e857f['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x226c3d){const _0x3c3da1=_0x44db42;try{const _0x54335c=JSON[_0x3c3da1(0x1de)](await readFile(join(_0x226c3d,SESSION_METADATA_FILE),_0x3c3da1(0x10a))),_0x2a4bef=asRecord(_0x54335c);return{'names':asRecord(_0x2a4bef['names']),'pinnedKeys':Array[_0x3c3da1(0x1c6)](_0x2a4bef['pinnedKe'+'ys'])?_0x2a4bef[_0x3c3da1(0x14e)+'ys'][_0x3c3da1(0x210)](_0x3dbf16=>typeof _0x3dbf16===_0x3c3da1(0x15b)&&_0x3dbf16[_0x3c3da1(0xe1)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0xd7311e,_0x2a541f){const _0xe97d12=_0x44db42;await mkdir(_0xd7311e,{'recursive':!![]}),await writeFile(join(_0xd7311e,SESSION_METADATA_FILE),JSON[_0xe97d12(0xde)+'y'](_0x2a541f,null,0x2)+'\x0a',_0xe97d12(0x10a));}function applySessionMetadata(_0x580033,_0x363619){const _0xc38a0a=_0x44db42,_0x8e59e0=asRecord(_0x580033),_0x809f13=Array[_0xc38a0a(0x1c6)](_0x8e59e0[_0xc38a0a(0xfd)])?_0x8e59e0[_0xc38a0a(0xfd)]:[];return{..._0x8e59e0,'pinnedKeys':_0x363619[_0xc38a0a(0x14e)+'ys'],'sessions':_0x809f13[_0xc38a0a(0x128)](_0x1ebe1c=>{const _0x41019e=_0xc38a0a,_0x184a25=asRecord(_0x1ebe1c),_0x4b8558=getSessionKeyFromValue(_0x184a25);if(!_0x4b8558)return _0x1ebe1c;const _0x5b4555=getTrimmedString(_0x363619[_0x41019e(0x1cf)][_0x4b8558]),_0x44d3b1=_0x363619[_0x41019e(0x14e)+'ys'][_0x41019e(0x15d)](_0x4b8558);return{..._0x184a25,..._0x5b4555?{'name':_0x5b4555,'displayName':_0x5b4555,'label':_0x5b4555}:{},'pinned':_0x44d3b1};})};}function sanitizeSharedContextPayload(_0x4ba48a){const _0x46a2c0=asRecord(_0x4ba48a),_0x40e270={};for(const _0x4b3490 of SHARED_CONTEXT_FILES){if(typeof _0x46a2c0[_0x4b3490]==='string')_0x40e270[_0x4b3490]=_0x46a2c0[_0x4b3490];}return _0x40e270;}async function readSharedContext(_0x46c69b){const _0x598de5=_0x44db42,_0x4934e5={};for(const _0x6491d2 of SHARED_CONTEXT_FILES){try{_0x4934e5[_0x6491d2]=await readFile(join(_0x46c69b,_0x6491d2),_0x598de5(0x10a));}catch{_0x4934e5[_0x6491d2]='';}}return _0x4934e5;}async function writeSharedContext(_0x4003a6,_0x4d7f11){const _0x40f8e5=_0x44db42,_0x3c5b38=sanitizeSharedContextPayload(_0x4d7f11);await mkdir(_0x4003a6,{'recursive':!![]});for(const [_0x159d8d,_0x45a5d9]of Object[_0x40f8e5(0xf1)](_0x3c5b38)){await writeFile(join(_0x4003a6,_0x159d8d),_0x45a5d9,_0x40f8e5(0x10a));}return{'ok':!![],'files':Object['keys'](_0x3c5b38)};}function createAskUserQuestionServer({configController:_0x7576f2,emit:_0x657fbe}){const _0x3cde2a=new Map();let _0x2ed9f3=null,_0x19f84c='',_0x7fe0b5='';async function _0x5e6c6b(){const _0x2e0c84=_0x113e;if(_0x2ed9f3)return{'callbackUrl':_0x19f84c,'secret':_0x7fe0b5};_0x7fe0b5=randomUUID();const _0x1765ea=await _0x27f52f({'port':portNumbers(0x332c,0x338f)});return _0x19f84c='http://1'+'27.0.0.1'+':'+_0x1765ea+(_0x2e0c84(0x17e)+_0x2e0c84(0x140)+'on'),_0x2ed9f3=createServer(async(_0x4d67c1,_0x4d356e)=>{const _0x39036d=_0x2e0c84;if(_0x4d67c1[_0x39036d(0x192)]!==_0x39036d(0x20e)||_0x4d67c1[_0x39036d(0x131)]!=='/ask-use'+'r-questi'+'on'){_0x4d356e[_0x39036d(0x221)+'d'](0x194),_0x4d356e['end']('not\x20foun'+'d');return;}if(_0x4d67c1['headers'][_0x39036d(0x126)+_0x39036d(0x1d1)+'t']!==_0x7fe0b5){_0x4d356e['writeHea'+'d'](0x191),_0x4d356e[_0x39036d(0x1e6)](_0x39036d(0x142)+_0x39036d(0x1a2));return;}let _0x25bdab='';_0x4d67c1['on'](_0x39036d(0x201),_0x3d9765=>{const _0x5be683=_0x39036d;_0x25bdab+=_0x3d9765['toString']();if(_0x25bdab[_0x5be683(0x191)]>0x400*0x400)_0x4d67c1[_0x5be683(0xf0)]();}),_0x4d67c1['on'](_0x39036d(0x1e6),()=>{const _0x2756b6=_0x39036d;let _0x1393a0={};try{_0x1393a0=JSON[_0x2756b6(0x1de)](_0x25bdab||'{}');}catch{_0x4d356e[_0x2756b6(0x221)+'d'](0x190),_0x4d356e[_0x2756b6(0x1e6)](_0x2756b6(0x100)+_0x2756b6(0x17c));return;}const _0x27516d=randomUUID(),_0x4e7512=setTimeout(()=>{const _0x76ab99=_0x2756b6;if(!_0x3cde2a[_0x76ab99(0xdc)](_0x27516d))return;_0x3cde2a[_0x76ab99(0x115)](_0x27516d),_0x4d356e[_0x76ab99(0x221)+'d'](0xc8,{'content-type':_0x76ab99(0x190)+_0x76ab99(0x124)}),_0x4d356e[_0x76ab99(0x1e6)](JSON[_0x76ab99(0xde)+'y']({'behavior':'deny'}));},0x1d4c0);_0x3cde2a[_0x2756b6(0x139)](_0x27516d,{'res':_0x4d356e,'timeout':_0x4e7512}),_0x657fbe(_0x2756b6(0x195)+'-questio'+'n',{'requestId':_0x27516d,...asRecord(_0x1393a0)});});}),await new Promise((_0x3b2c56,_0x530748)=>{const _0x30488d=_0x2e0c84;_0x2ed9f3[_0x30488d(0x15c)](_0x30488d(0x1d7),_0x530748),_0x2ed9f3[_0x30488d(0x171)](_0x1765ea,_0x30488d(0x174)+'1',()=>{const _0x50915f=_0x30488d;_0x2ed9f3['off'](_0x50915f(0x1d7),_0x530748),_0x3b2c56();});}),await _0x7576f2['ensureAs'+_0x2e0c84(0x1e2)+'stionPlu'+'ginConfi'+'g']({'callbackUrl':_0x19f84c,'secret':_0x7fe0b5}),{'callbackUrl':_0x19f84c,'secret':_0x7fe0b5};}function _0x2cd044(_0x2e2e11={}){const _0x4ce2a0=_0x113e,_0x358d37=getTrimmedString(_0x2e2e11[_0x4ce2a0(0xe9)+'d']);if(!_0x358d37||!_0x3cde2a[_0x4ce2a0(0xdc)](_0x358d37))throw new Error(_0x4ce2a0(0x195)+_0x4ce2a0(0xc3)+_0x4ce2a0(0x1ee)+_0x4ce2a0(0x1a6)+_0x4ce2a0(0x1d5));const _0x4068b8=_0x3cde2a['get'](_0x358d37);return _0x3cde2a[_0x4ce2a0(0x115)](_0x358d37),clearTimeout(_0x4068b8['timeout']),_0x4068b8['res'][_0x4ce2a0(0x221)+'d'](0xc8,{'content-type':_0x4ce2a0(0x190)+_0x4ce2a0(0x124)}),_0x4068b8[_0x4ce2a0(0x236)]['end'](JSON['stringif'+'y']({'behavior':_0x2e2e11[_0x4ce2a0(0x1ae)]==='deny'?'deny':_0x4ce2a0(0x234),'answers':asRecord(_0x2e2e11[_0x4ce2a0(0x22c)])})),{'ok':!![]};}async function _0x4962df(){const _0x24f265=_0x113e;for(const [_0x17b075,_0x5bb315]of _0x3cde2a){_0x3cde2a[_0x24f265(0x115)](_0x17b075),clearTimeout(_0x5bb315[_0x24f265(0x1bc)]),_0x5bb315[_0x24f265(0x236)][_0x24f265(0x221)+'d'](0xc8,{'content-type':'applicat'+'ion/json'}),_0x5bb315['res'][_0x24f265(0x1e6)](JSON['stringif'+'y']({'behavior':_0x24f265(0x1cb)}));}if(!_0x2ed9f3)return;await new Promise(_0x376fa6=>_0x2ed9f3['close'](_0x376fa6)),_0x2ed9f3=null;}return{'start':_0x5e6c6b,'answer':_0x2cd044,'stop':_0x4962df};}export function createGatewayController({shellConfig:_0x4e329f,configController:_0x43e743,appVersion:appVersion=_0x44db42(0x208)}){const _0x4d8366=_0x44db42,_0x512dac=new EventEmitter(),_0x55b070=new ClawGatewayWsClient(),_0x1dda32=[],_0xe9e03a=new Map(),_0x31aa5c=new Map(),_0x407d97=createShellLogger(_0x43e743[_0x4d8366(0xe4)],_0x4d8366(0x189)),_0x3f9c59=createShellLogger(_0x43e743[_0x4d8366(0xe4)],'chat'),_0x1de0f7=createShellLogger(_0x43e743['paths'],_0x4d8366(0xfd)),_0x19e45f=createShellLogger(_0x43e743['paths'],_0x4d8366(0x10d)+_0x4d8366(0xd6)),_0x455473=createAskUserQuestionServer({'configController':_0x43e743,'emit':(_0x5a3b15,_0x3bec26)=>_0x512dac[_0x4d8366(0x16e)](_0x5a3b15,_0x3bec26)});let _0x5ae230=createInitialStatus(),_0x3b2004=null,_0x5e7dcc=null,_0x463959=null,_0x5ec07e=![],_0x55b3b6=![],_0x805750=Promise['resolve'](),_0x4cbc36=null,_0x1d30ec=0x0;function _0x5c1381(_0x55697a,_0x5520b5){const _0x387a1f=_0x4d8366;_0x512dac[_0x387a1f(0x16e)](_0x55697a,_0x5520b5);}function _0xa33f86(_0x2171bf,_0xa0c62c){const _0x19187e=_0x4d8366;return _0x512dac['on'](_0x2171bf,_0xa0c62c),()=>_0x512dac[_0x19187e(0x23b)](_0x2171bf,_0xa0c62c);}function _0x29d5d8(_0x588dd3){const _0x292bc3=_0x4d8366;_0x5ae230={..._0x5ae230,..._0x588dd3,'updatedAt':nowIso()},_0x5c1381(_0x292bc3(0x141)+_0x292bc3(0xd1),_0x5ae230);}function _0x1c671d(_0xb82e8b,_0x436217,_0x10e846={}){const _0x5ab111=_0x4d8366;_0x29d5d8({'lifecycle':_0xb82e8b,'message':_0x436217,..._0x10e846}),_0x5eec34(_0x5ab111(0x1ea),_0xb82e8b[_0x5ab111(0xcc)+_0x5ab111(0x222)]()+'\x20'+_0x436217),_0x407d97?.['info'](_0x5ab111(0x1b0)+'lifecycl'+'e\x20update'+'d',{'lifecycle':_0xb82e8b,'message':_0x436217,'status':{'health':_0x5ae230[_0x5ab111(0x12c)],'port':_0x5ae230[_0x5ab111(0x22a)],'tokenPresent':_0x5ae230[_0x5ab111(0x10b)+_0x5ab111(0x134)]},...summarizePayload(_0x10e846)});}function _0x5eec34(_0x16c9aa,_0x30a907){const _0x5a8f05=_0x4d8366,_0x1547ef=String(_0x30a907??'')[_0x5a8f05(0x179)]();if(!_0x1547ef)return;const _0x47835c={'source':_0x16c9aa,'text':_0x1547ef,'timestamp':nowIso()};_0x1dda32[_0x5a8f05(0x181)](_0x47835c);if(_0x1dda32['length']>LOG_LIMIT)_0x1dda32['splice'](0x0,_0x1dda32[_0x5a8f05(0x191)]-LOG_LIMIT);_0x5c1381(_0x5a8f05(0x141)+_0x5a8f05(0x13a),_0x47835c),_0x407d97?.[_0x5a8f05(0xcf)](_0x5a8f05(0x1b0)+_0x5a8f05(0x13a),{'source':_0x16c9aa,'text':_0x1547ef});}function _0x2e57e3(_0x3cc4d9=0xc8){const _0xa9716=_0x4d8366;return _0x1dda32[_0xa9716(0x22d)](-Math['max'](0x1,Math[_0xa9716(0x12f)](_0x3cc4d9)));}function _0x52dddc(){const _0x50a264=_0x4d8366;if(!_0x3b2004||_0x5ae230[_0x50a264(0x1f3)+'e']!==_0x50a264(0x1f4))throw new Error('gateway\x20'+_0x50a264(0x196)+_0x50a264(0x12a)+_0x50a264(0xd0)+_0x50a264(0x11f)+'y');}function _0x31ac71(){const _0x127046=_0x4d8366;return Boolean(_0x3b2004&&_0x5ae230[_0x127046(0x1f3)+'e']==='running');}function _0x404848(_0x2b8ff9){_0x5c1381('chat-str'+'eam-even'+'t',_0x2b8ff9);}function _0x1c6d83(_0x4d96c4){const _0x323823=_0x4d8366,_0xa2768=_0xe9e03a[_0x323823(0xd8)](_0x4d96c4);if(!_0xa2768)return null;_0xe9e03a[_0x323823(0x115)](_0x4d96c4);if(_0xa2768[_0x323823(0x1b2)+_0x323823(0x1ff)+_0x323823(0xe3)])clearTimeout(_0xa2768[_0x323823(0x1b2)+_0x323823(0x1ff)+_0x323823(0xe3)]);return _0x31aa5c['delete'](_0xa2768['sessionK'+'ey']),_0xa2768;}function _0x539689(_0x2192cd,_0x485510,_0x4f44b2=''){const _0x2cdac3=_0x4d8366,_0x1809c1=_0x1c6d83(_0x2192cd[_0x2cdac3(0x213)]);if(!_0x1809c1)return;_0x3f9c59?.[_0x2cdac3(0xcf)](_0x2cdac3(0x177)+'\x20settled',{'requestId':_0x1809c1[_0x2cdac3(0xe9)+'d'],'runId':_0x1809c1['runId'],'sessionKey':_0x1809c1['sessionK'+'ey'],'outcome':_0x485510,'durationMs':Date[_0x2cdac3(0x108)]()-_0x1809c1[_0x2cdac3(0x1ba)+'t'],'textLength':_0x1809c1[_0x2cdac3(0x110)+'th'],..._0x4f44b2?{'message':_0x4f44b2}:{}}),_0x404848({'requestId':_0x1809c1[_0x2cdac3(0xe9)+'d'],'sessionKey':_0x1809c1[_0x2cdac3(0x1c8)+'ey'],'type':_0x485510,..._0x4f44b2?{'message':_0x4f44b2}:{}});}function _0x242ae9(_0x1c4145){const _0x5eef44=_0x4d8366;let _0x2c4365=null;for(const _0x2def5f of _0xe9e03a['values']()){if(_0x2def5f[_0x5eef44(0x1c8)+'ey']===_0x1c4145)_0x2c4365=_0x2def5f;}return _0x2c4365;}function _0x2e03d1(_0x1eb98f){const _0x244e1c=_0x4d8366;if(!_0x1eb98f)return null;for(const _0x3b8a2b of _0xe9e03a['values']()){if(_0x3b8a2b[_0x244e1c(0xe9)+'d']===_0x1eb98f)return _0x3b8a2b;}return null;}function _0xb53d03(_0x396ef1,_0x2d0a17){const _0x13dcae=_0x4d8366;if(_0x2d0a17[_0x13dcae(0x191)]<=_0x396ef1[_0x13dcae(0x110)+'th'])return;const _0xdc8fa2=_0x2d0a17[_0x13dcae(0x22d)](_0x396ef1[_0x13dcae(0x110)+'th']);_0x396ef1['textLeng'+'th']=_0x2d0a17[_0x13dcae(0x191)],_0xdc8fa2&&_0x404848({'requestId':_0x396ef1['requestI'+'d'],'sessionKey':_0x396ef1[_0x13dcae(0x1c8)+'ey'],'type':_0x13dcae(0x155),'delta':_0xdc8fa2});}function _0x6ba867(_0x448e21,_0x32e791,_0x399f14=''){const _0x3d60f3=_0x4d8366;if(_0x448e21[_0x3d60f3(0x1b2)+_0x3d60f3(0x1ff)+_0x3d60f3(0xe3)])clearTimeout(_0x448e21['terminal'+_0x3d60f3(0x1ff)+'Timer']);_0x448e21[_0x3d60f3(0x1b2)+_0x3d60f3(0x1ff)+_0x3d60f3(0xe3)]=setTimeout(()=>{const _0x32dd03=_0x3d60f3,_0x5e1822=_0xe9e03a[_0x32dd03(0xd8)](_0x448e21['runId']);if(!_0x5e1822)return;_0x539689(_0x5e1822,_0x32e791===_0x32dd03(0x1d7)?_0x32dd03(0x1d7):_0x32dd03(0x1c5),_0x399f14);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x4b13e7(_0x5cd06a){const _0x376c45=_0x4d8366;for(const _0x57dd6b of _0xe9e03a['values']()){_0x3f9c59?.[_0x376c45(0x218)]('chat\x20run'+_0x376c45(0x13d)+_0x376c45(0x1d2)+_0x376c45(0x1da),{'requestId':_0x57dd6b['requestI'+'d'],'runId':_0x57dd6b[_0x376c45(0x213)],'sessionKey':_0x57dd6b['sessionK'+'ey'],'durationMs':Date[_0x376c45(0x108)]()-_0x57dd6b['startedA'+'t'],'reason':_0x5cd06a}),_0x404848({'requestId':_0x57dd6b[_0x376c45(0xe9)+'d'],'sessionKey':_0x57dd6b['sessionK'+'ey'],'type':'error','message':_0x5cd06a});if(_0x57dd6b[_0x376c45(0x1b2)+_0x376c45(0x1ff)+'Timer'])clearTimeout(_0x57dd6b['terminal'+'Fallback'+_0x376c45(0xe3)]);}_0xe9e03a['clear'](),_0x31aa5c[_0x376c45(0x239)]();}function _0x532065(_0x12d683){const _0x16e1dd=_0x4d8366,_0x30671b=getTrimmedString(_0x12d683[_0x16e1dd(0x213)]),_0x39203f=getTrimmedString(_0x12d683[_0x16e1dd(0x1a3)])||_0x16e1dd(0xf4),_0x3da9c4=getTrimmedString(_0x12d683['sessionK'+'ey']),_0x76d7e0=(_0x30671b?_0xe9e03a[_0x16e1dd(0xd8)](_0x30671b):null)??(_0x3da9c4?_0x242ae9(_0x3da9c4):null);if(_0x30671b&&_0x3da9c4)_0x31aa5c[_0x16e1dd(0x139)](_0x3da9c4,_0x30671b);if(_0x3da9c4)_0x5c1381(_0x16e1dd(0x20f)+_0x16e1dd(0xf4),{'sessionKey':_0x3da9c4,'state':_0x39203f});_0x3f9c59?.[_0x16e1dd(0xcf)](_0x16e1dd(0x1b0)+_0x16e1dd(0xd5)+'nt\x20recei'+_0x16e1dd(0x18a),{'runId':_0x30671b,'sessionKey':_0x3da9c4,'state':_0x39203f,'hasActiveRun':Boolean(_0x76d7e0),'messageText':summarizeText(extractGatewayChatText(_0x12d683[_0x16e1dd(0x220)]),0x78),'errorMessage':getTrimmedString(_0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)])});_0x76d7e0&&(_0x39203f==='final'||_0x39203f===_0x16e1dd(0x1b3)||_0x39203f===_0x16e1dd(0x1d7))&&_0x6ba867(_0x76d7e0,_0x39203f,typeof _0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)]===_0x16e1dd(0x15b)?_0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)]:_0x16e1dd(0x1b0)+_0x16e1dd(0xf9)+_0x16e1dd(0x104));if(!_0x76d7e0)return;if(_0x3da9c4&&_0x3da9c4!==_0x76d7e0[_0x16e1dd(0x1c8)+'ey'])return;if(_0x39203f===_0x16e1dd(0x155)){_0xb53d03(_0x76d7e0,extractGatewayChatText(_0x12d683[_0x16e1dd(0x220)]));return;}if(_0x39203f===_0x16e1dd(0x1ed)||_0x39203f==='aborted'){_0xb53d03(_0x76d7e0,extractGatewayChatText(_0x12d683['message'])),_0x539689(_0x76d7e0,_0x16e1dd(0x1c5));return;}_0x39203f===_0x16e1dd(0x1d7)&&_0x539689(_0x76d7e0,'error',typeof _0x12d683[_0x16e1dd(0x1eb)+_0x16e1dd(0x176)]===_0x16e1dd(0x15b)?_0x12d683[_0x16e1dd(0x1eb)+'sage']:_0x16e1dd(0x1b0)+_0x16e1dd(0xf9)+'led');}async function _0x5d9c6f(_0x193a2c,_0x55fa3c){const _0x432620=_0x4d8366;_0x55b070[_0x432620(0x150)+'e']({'url':buildGatewayWsUrl(_0x55fa3c),'token':_0x193a2c,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x4e329f[_0x432620(0x137)+'ame'],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x43e743[_0x432620(0x17d)+_0x432620(0x1fd)+_0x432620(0xca)+'h'](),'onChatEvent':_0x532065,'onAgentEvent':_0x504df1=>_0x5c1381(_0x432620(0x111)+_0x432620(0x135),_0x504df1),'onConnected':async()=>{const _0x5eee8f=_0x432620;if(!_0x3b2004||!_0x463959||!_0x5e7dcc)return;_0x407d97?.[_0x5eee8f(0xcf)](_0x5eee8f(0x1b0)+_0x5eee8f(0x120)+'t\x20connec'+_0x5eee8f(0x194),{'port':_0x463959,'pid':_0x3b2004['pid'],'readyMs':_0x1d30ec?Date[_0x5eee8f(0x108)]()-_0x1d30ec:undefined}),_0x1c671d('running',_0x5eee8f(0x1b0)+'connecte'+'d',{'health':_0x5eee8f(0xf2),'port':_0x463959,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x4e329f['projectR'+'oot']))['runtimeR'+_0x5eee8f(0x173)],_0x5eee8f(0x17f),'agents'),'stateDir':_0x43e743[_0x5eee8f(0xf7)+_0x5eee8f(0x1aa)](),'listAgents':_0x59d933,'createAgent':_0x515cad=>_0x55b070[_0x5eee8f(0x1db)](_0x5eee8f(0xd9)+_0x5eee8f(0x216),_0x515cad),'updateAgent':_0x4cce66=>_0x55b070['request'](_0x5eee8f(0x1d6)+_0x5eee8f(0x19d),_0x4cce66),'syncSkills':async({agentIds:_0x1d9dd8,mainWorkspace:_0x2f42c2})=>{const _0x14b8a9=_0x5eee8f;_0x19e45f?.[_0x14b8a9(0xcf)](_0x14b8a9(0x18f)+_0x14b8a9(0x23d)+_0x14b8a9(0xc6)+'c\x20starte'+'d',{'agentIds':_0x1d9dd8,'mainWorkspace':toHomePath(_0x2f42c2)});const _0x2a97ff=dirname(_0x2f42c2),_0x2d3046=await syncBundledAgentSkillsToConfig({'agentIds':_0x1d9dd8,'resolveSkillsDir':_0x51a38f=>_0x51a38f===_0x14b8a9(0x164)?join(_0x2f42c2,_0x14b8a9(0x132)):join(_0x2a97ff,_0x14b8a9(0x1a9)+'e-'+_0x51a38f,_0x14b8a9(0x132)),'readConfig':()=>_0x43e743[_0x14b8a9(0x207)+'ig'](),'writeConfig':_0x279a62=>_0x43e743[_0x14b8a9(0x13c)+_0x14b8a9(0x233)](_0x279a62),'markConfigWriteHandledInternally':()=>_0x43e743[_0x14b8a9(0x118)+_0x14b8a9(0x1e5)+_0x14b8a9(0x1fa)+_0x14b8a9(0xf3)]()});_0x4cbc36=_0x2d3046[_0x14b8a9(0x130)+'y'],_0x19e45f?.[_0x14b8a9(0xcf)](_0x14b8a9(0x18f)+_0x14b8a9(0x23d)+'ills\x20syn'+_0x14b8a9(0x144)+_0x14b8a9(0x194),{'agentCount':_0x1d9dd8[_0x14b8a9(0x191)],'changed':_0x2d3046[_0x14b8a9(0x1a0)],'discovery':summarizePayload(_0x2d3046['discover'+'y'],{'maxDepth':0x3})});}}),_0x19e45f?.['info'](_0x5eee8f(0x18f)+_0x5eee8f(0x12b)+_0x5eee8f(0xce)),_0x5c1381(_0x5eee8f(0x113)+_0x5eee8f(0x21c),{'reason':_0x5eee8f(0x21a)+'agents-r'+_0x5eee8f(0x211)});}catch(_0x5a98ab){const _0x2abfa5=_0x5a98ab instanceof Error?_0x5a98ab['stack']||_0x5a98ab[_0x5eee8f(0x220)]:String(_0x5a98ab);_0x5eec34('system','bundled\x20'+'agents\x20s'+_0x5eee8f(0x156)+_0x5eee8f(0x13e)+_0x2abfa5),_0x19e45f?.[_0x5eee8f(0x1d7)](_0x5eee8f(0x18f)+_0x5eee8f(0x15e)+'ync\x20fail'+'ed',{'error':summarizeError(_0x5a98ab)}),console[_0x5eee8f(0x1d7)](_0x5eee8f(0x231)+_0x5eee8f(0x19e)+_0x5eee8f(0x106)+_0x5eee8f(0x212)+_0x5eee8f(0x1c1)+_0x5eee8f(0x1c0),_0x5a98ab);}},'onDisconnected':_0x1d05ab=>{const _0x239c07=_0x432620;_0x407d97?.[_0x239c07(0x218)](_0x239c07(0x1b0)+'websocke'+_0x239c07(0x1d3)+_0x239c07(0x23c),{'reason':_0x1d05ab}),_0x4b13e7(_0x1d05ab);if(_0x55b3b6||!_0x3b2004)return;_0x29d5d8({'health':_0x239c07(0xfb),'message':_0x239c07(0x1b0)+'reconnec'+_0x239c07(0x1dd)+_0x1d05ab});}});}async function _0x785948(_0x3bb652,_0x3e9d3c){const _0x488907=_0x4d8366;if(_0x3b2004)return;_0x1d30ec=Date[_0x488907(0x108)](),_0x1c671d(_0x488907(0x152),'gateway\x20'+'starting',{'health':_0x488907(0xfb),'port':_0x3e9d3c,'tokenPresent':!![]});const _0x4f4718=[_0x488907(0x189),_0x488907(0x1e7),_0x488907(0xd2)+'unconfig'+'ured',_0x488907(0x229),_0x3bb652,_0x488907(0x184),String(_0x3e9d3c)];_0x5eec34(_0x488907(0x1ea),_0x488907(0x17f)+_0x488907(0xee)+'\x20run\x20--a'+'llow-unc'+'onfigure'+_0x488907(0xe0)+_0x488907(0x167)+_0x488907(0x193)+'ort\x20'+_0x3e9d3c),_0x407d97?.[_0x488907(0xcf)](_0x488907(0x1b0)+_0x488907(0x1c2)+'spawn\x20re'+'quested',{'args':[_0x488907(0x189),_0x488907(0x1e7),_0x488907(0xd2)+_0x488907(0x217)+'ured',_0x488907(0x229),'[REDACTE'+'D]',_0x488907(0x184),String(_0x3e9d3c)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x43e743[_0x488907(0xf7)+'tateDir']()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x43e743[_0x488907(0x238)+_0x488907(0xe6)+'h']())}}),_0x3b2004=await spawnClaw(_0x4e329f['projectR'+_0x488907(0x173)],_0x4f4718,{'env':{'OPENCLAW_STATE_DIR':_0x43e743['resolveS'+'tateDir'](),'OPENCLAW_CONFIG_PATH':_0x43e743[_0x488907(0x238)+_0x488907(0xe6)+'h']()}}),_0x5e7dcc=_0x3bb652,_0x463959=_0x3e9d3c,_0x407d97?.[_0x488907(0xcf)](_0x488907(0x1b0)+_0x488907(0x1c2)+_0x488907(0x1f1),{'pid':_0x3b2004[_0x488907(0x15f)],'port':_0x463959}),_0x29d5d8({'health':_0x488907(0xfb),'port':_0x463959,'tokenPresent':!![],'message':'gateway\x20'+'process\x20'+_0x488907(0xc5)+_0x488907(0x226)+_0x488907(0x159)}),await _0x5d9c6f(_0x3bb652,_0x3e9d3c);const _0x3d4267=createLineBuffer({'trim':!![],'onLine':_0x265872=>_0x5eec34('stdout',_0x265872)}),_0x442fea=createLineBuffer({'trim':!![],'onLine':_0x219cf1=>_0x5eec34('stderr',_0x219cf1)});_0x3b2004[_0x488907(0x1b9)]['on'](_0x488907(0x201),_0x14feea=>{const _0x7c287=_0x488907;_0x3d4267['push'](_0x14feea[_0x7c287(0x1d0)]());}),_0x3b2004[_0x488907(0x1e8)]['on'](_0x488907(0x201),_0x214fc6=>{const _0x4f71e3=_0x488907;_0x442fea[_0x4f71e3(0x181)](_0x214fc6[_0x4f71e3(0x1d0)]());}),_0x3b2004['on'](_0x488907(0x1d7),_0x580103=>{const _0x58f00c=_0x488907;_0x407d97?.[_0x58f00c(0x1d7)](_0x58f00c(0x1b0)+_0x58f00c(0x1c2)+'error',{'error':summarizeError(_0x580103)}),_0x5eec34(_0x58f00c(0x1e8),_0x580103 instanceof Error?_0x580103['stack']||_0x580103[_0x58f00c(0x220)]:String(_0x580103));}),_0x3b2004['on'](_0x488907(0x127),(_0x1f38fd,_0x1c7428)=>{const _0x227a16=_0x488907;_0x3d4267[_0x227a16(0x119)](),_0x442fea[_0x227a16(0x119)](),_0x407d97?.['warn'](_0x227a16(0x1b0)+_0x227a16(0x1c2)+_0x227a16(0x230),{'pid':_0x3b2004?.[_0x227a16(0x15f)]??null,'code':_0x1f38fd,'signal':_0x1c7428,'uptimeMs':_0x1d30ec?Date[_0x227a16(0x108)]()-_0x1d30ec:undefined}),_0x5eec34(_0x227a16(0x1ea),_0x227a16(0x1b0)+_0x227a16(0x13f)+'ode='+(_0x1f38fd??'null')+_0x227a16(0x1dc)+(_0x1c7428??'null')),_0x3b2004=null,_0x5e7dcc=null,_0x463959=null,_0x55b070[_0x227a16(0x150)+'e'](null),_0x4b13e7(_0x227a16(0x1b0)+_0x227a16(0x1c2)+'exited');if(_0x55b3b6){_0x1c671d('stopped','gateway\x20'+'stopped',{'health':_0x227a16(0xfb),'port':null,'tokenPresent':![]});return;}_0x1c671d(_0x227a16(0x1d7),'gateway\x20'+_0x227a16(0x1b8)+_0x227a16(0x237)+_0x227a16(0x16b),{'health':_0x227a16(0x1ef)+'y','port':null,'tokenPresent':![]});});}async function _0x1ab846(){const _0x1d23ad=_0x4d8366;if(_0x3b2004)return;_0x55b3b6=![],_0x407d97?.['info'](_0x1d23ad(0x1b0)+_0x1d23ad(0x146)+_0x1d23ad(0x1bd)+_0x1d23ad(0x203)+'ed'),await _0x455473['start']()['catch'](_0x59d29d=>{const _0x4f0dbe=_0x1d23ad;_0x5eec34('system',_0x4f0dbe(0x195)+_0x4f0dbe(0xc3)+'n\x20callba'+_0x4f0dbe(0x15a)+_0x4f0dbe(0x1ab)+(_0x59d29d instanceof Error?_0x59d29d[_0x4f0dbe(0x220)]:String(_0x59d29d)));}),await _0x43e743[_0x1d23ad(0xea)+_0x1d23ad(0x102)+'fig'](),await ensureOpenClawDoctorFixed(_0x4e329f,{'runtimeLogger':_0x407d97}),_0x43e743['watchCon'+_0x1d23ad(0x1a8)+'es'](),_0x43e743[_0x1d23ad(0x17b)+_0x1d23ad(0x21b)+'tHandler'](_0x3a012a=>{void _0x345ee8(_0x3a012a);});const _0x223d44=await _0x43e743[_0x1d23ad(0x1c7)+_0x1d23ad(0x186)+_0x1d23ad(0x1a1)]();_0x407d97?.['info'](_0x1d23ad(0x1b0)+'settings'+_0x1d23ad(0x170)+'ed',{'port':_0x223d44['port'],'tokenPresent':Boolean(_0x223d44[_0x1d23ad(0x1bb)])}),await _0x785948(_0x223d44[_0x1d23ad(0x1bb)],_0x223d44[_0x1d23ad(0x22a)]);}async function _0x54d905(){const _0x5a943f=_0x4d8366;_0x55b3b6=!![],_0x407d97?.[_0x5a943f(0xcf)]('gateway\x20'+_0x5a943f(0x146)+_0x5a943f(0x20b)+'requeste'+'d',{'pid':_0x3b2004?.[_0x5a943f(0x15f)]??null,'port':_0x463959}),_0x55b070['configur'+'e'](null);if(_0x3b2004){const _0x541308=_0x3b2004;_0x3b2004=null;try{_0x541308[_0x5a943f(0x11a)](_0x5a943f(0x1cc));}catch{}await new Promise(_0x18f04f=>setTimeout(_0x18f04f,0x1f4));if(!_0x541308[_0x5a943f(0x175)])try{_0x541308[_0x5a943f(0x11a)](_0x5a943f(0x22f));}catch{}}_0x5e7dcc=null,_0x463959=null,_0x4b13e7('gateway\x20'+_0x5a943f(0x232)),await _0x455473[_0x5a943f(0xc7)](),_0x43e743[_0x5a943f(0x14d)](),_0x1c671d(_0x5a943f(0x232),_0x5a943f(0x1b0)+_0x5a943f(0x232),{'health':_0x5a943f(0xfb),'port':null,'tokenPresent':![]}),_0x55b3b6=![];}async function _0x345ee8(_0x45bf5d=_0x4d8366(0x204)+_0x4d8366(0x114)){const _0x1d71d6=_0x4d8366;if(_0x5ec07e)return{'ok':!![]};return _0x5ec07e=!![],_0x407d97?.[_0x1d71d6(0xcf)](_0x1d71d6(0x1b0)+_0x1d71d6(0xd7)+_0x1d71d6(0x121)+'d',{'reason':_0x45bf5d}),_0x805750=_0x805750[_0x1d71d6(0x19c)](async()=>{const _0x24024f=_0x1d71d6;_0x1c671d(_0x24024f(0x197)+'ng',_0x24024f(0x1b0)+_0x24024f(0x197)+_0x24024f(0x17a)+_0x45bf5d,{'health':'unknown'}),await _0x54d905(),await _0x1ab846();})[_0x1d71d6(0x151)](()=>{_0x5ec07e=![];}),await _0x805750,{'ok':!![]};}async function _0x35bcb7(){const _0x34afbe=_0x4d8366,_0x78de0e=await loadRuntimeInfo(_0x4e329f[_0x34afbe(0x10c)+_0x34afbe(0x173)]);return{'runtimeRoot':_0x78de0e['runtimeR'+_0x34afbe(0x173)],'openclawVersion':_0x78de0e[_0x34afbe(0x17f)+_0x34afbe(0x1f6)],'openclawWorkingDir':_0x78de0e['openclaw'+_0x34afbe(0x1ec)+'ir'],'openclawBin':_0x78de0e[_0x34afbe(0x17f)+'Bin'],'plugins':_0x78de0e[_0x34afbe(0x1e9)][_0x34afbe(0x128)](_0x2600b4=>({'pluginId':_0x2600b4[_0x34afbe(0x1be)],'source':_0x2600b4[_0x34afbe(0x107)],'version':_0x2600b4[_0x34afbe(0xef)],'installPath':_0x2600b4[_0x34afbe(0x206)+_0x34afbe(0x158)]})),'configPath':_0x43e743['resolveC'+_0x34afbe(0xe6)+'h'](),'stateDir':_0x43e743[_0x34afbe(0xf7)+_0x34afbe(0x1aa)](),'bundledAgentSkillsDiscovery':_0x4cbc36};}async function _0x59d933(){const _0x1c1988=_0x4d8366;_0x19e45f?.['info'](_0x1c1988(0x11c)+_0x1c1988(0x166)+_0x1c1988(0x16c));const _0x454c16=asRecord(await _0x55b070[_0x1c1988(0x1db)](_0x1c1988(0x1b1)+_0x1c1988(0x169),{})),_0x435ae4=getTrimmedString(_0x454c16[_0x1c1988(0x12d)+'d'])||'main',_0x2c9193=Array[_0x1c1988(0x1c6)](_0x454c16['agents'])?[..._0x454c16[_0x1c1988(0x1df)]]:[];return{..._0x454c16,'defaultId':_0x435ae4,'agents':_0x2c9193};}async function _0x2439e(){const _0x47f4e9=_0x4d8366;if(!_0x31ac71())return{'defaultId':_0x47f4e9(0x164),'mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x47f4e9(0x164),'name':_0x4e329f[_0x47f4e9(0x137)+_0x47f4e9(0x1d8)],'workspace':join(_0x43e743['resolveS'+_0x47f4e9(0x1aa)](),_0x47f4e9(0x1a9)+'e')}]};const _0x329724=await _0x59d933(),_0x24973a=getTrimmedString(_0x329724['defaultI'+'d'])||'main',_0x43f180=Array[_0x47f4e9(0x1c6)](_0x329724[_0x47f4e9(0x1df)])?[..._0x329724[_0x47f4e9(0x1df)]]:[];return!_0x43f180[_0x47f4e9(0x224)](_0x24053e=>asRecord(_0x24053e)['id']===_0x47f4e9(0x164))&&_0x43f180[_0x47f4e9(0x1ac)]({'id':'main','name':_0x4e329f[_0x47f4e9(0x137)+'ame'],'workspace':join(_0x43e743['resolveS'+_0x47f4e9(0x1aa)](),_0x47f4e9(0x1a9)+'e')}),{..._0x329724,'defaultId':_0x24973a,'agents':_0x43f180};}async function _0x23ceb6(_0x29fa29={}){const _0x3c14cf=_0x4d8366;_0x52dddc();const _0xf0179f=Date[_0x3c14cf(0x108)]();_0x1de0f7?.[_0x3c14cf(0xcf)]('session\x20'+_0x3c14cf(0x1f8)+_0x3c14cf(0x14c),{'payload':summarizePayload(_0x29fa29)});const _0x386d82=await _0x55b070[_0x3c14cf(0x1db)](_0x3c14cf(0xfd)+_0x3c14cf(0x165),buildSessionCreateRequestPayload(_0x29fa29)),_0x20c918=parseSessionCreateResult(_0x386d82);return _0x1de0f7?.[_0x3c14cf(0xcf)](_0x3c14cf(0x112)+'create\x20c'+_0x3c14cf(0x154),{'key':_0x20c918['key'],'sessionId':_0x20c918[_0x3c14cf(0x1b4)+'d'],'durationMs':Date['now']()-_0xf0179f}),_0x20c918;}async function _0x45fb50(_0x39cf18={}){const _0x2b6f07=_0x4d8366,_0x48ae89=await readSessionMetadata(_0x43e743[_0x2b6f07(0xf7)+_0x2b6f07(0x1aa)]());if(!_0x31ac71())return{'pending':!![],'sessions':[],'pinnedKeys':_0x48ae89[_0x2b6f07(0x14e)+'ys']};const _0x9b1d29=Date['now'](),_0x4942f4=Math[_0x2b6f07(0x138)](0x1,Math[_0x2b6f07(0x12f)](Number(_0x39cf18[_0x2b6f07(0x105)])||0x64)),_0x550d53={'limit':_0x4942f4,'includeGlobal':!![],'includeUnknown':![]},_0x15fd5c=getTrimmedString(_0x39cf18[_0x2b6f07(0x172)]??_0x2b6f07(0x164));if(_0x15fd5c)_0x550d53['agentId']=_0x15fd5c;const _0x5130ab=applySessionMetadata(await _0x55b070['request']('sessions'+'.list',_0x550d53),_0x48ae89);return _0x1de0f7?.[_0x2b6f07(0xcf)]('sessions'+_0x2b6f07(0x13b)+'mpleted',{'payload':_0x550d53,'count':Array[_0x2b6f07(0x1c6)](_0x5130ab[_0x2b6f07(0xfd)])?_0x5130ab[_0x2b6f07(0xfd)][_0x2b6f07(0x191)]:0x0,'durationMs':Date[_0x2b6f07(0x108)]()-_0x9b1d29}),_0x5130ab;}async function _0x596675(_0x36af8f={}){const _0xba59ed=_0x4d8366;_0x52dddc();const _0xffa41f=getTrimmedString(_0x36af8f['sessionK'+'ey']??_0x36af8f['key']);if(!_0xffa41f)throw new Error(_0xba59ed(0x1c8)+_0xba59ed(0x1f0)+_0xba59ed(0x129));const _0x4e1e20=Date[_0xba59ed(0x108)](),_0x5aeb52=await _0x55b070[_0xba59ed(0x1db)]('sessions'+_0xba59ed(0xdf),{'key':_0xffa41f,'deleteTranscript':_0x36af8f[_0xba59ed(0xda)+_0xba59ed(0x14a)]!==![],'emitLifecycleHooks':!![]}),_0x53d67f=await readSessionMetadata(_0x43e743['resolveS'+_0xba59ed(0x1aa)]());return delete _0x53d67f[_0xba59ed(0x1cf)][_0xffa41f],_0x53d67f[_0xba59ed(0x14e)+'ys']=_0x53d67f[_0xba59ed(0x14e)+'ys'][_0xba59ed(0x210)](_0x3f92f0=>_0x3f92f0!==_0xffa41f),await writeSessionMetadata(_0x43e743['resolveS'+_0xba59ed(0x1aa)](),_0x53d67f),_0x5c1381('session-'+_0xba59ed(0xf4),{'type':_0xba59ed(0x1e4),'sessionKey':_0xffa41f}),_0x1de0f7?.[_0xba59ed(0xcf)](_0xba59ed(0x112)+_0xba59ed(0x23a)+_0xba59ed(0x154),{'sessionKey':_0xffa41f,'deleteTranscript':_0x36af8f[_0xba59ed(0xda)+_0xba59ed(0x14a)]!==![],'durationMs':Date[_0xba59ed(0x108)]()-_0x4e1e20}),_0x5aeb52;}async function _0x360757(_0x30087a={}){const _0x5244ae=_0x4d8366,_0x277c3e=getTrimmedString(_0x30087a['sessionK'+'ey']??_0x30087a[_0x5244ae(0x1a5)]);if(!_0x277c3e)throw new Error('sessionK'+'ey\x20is\x20re'+_0x5244ae(0x129));const _0x9b2dd9=getTrimmedString(_0x30087a[_0x5244ae(0x153)]??_0x30087a[_0x5244ae(0xe5)]??_0x30087a[_0x5244ae(0x182)]),_0x34ee14=await readSessionMetadata(_0x43e743[_0x5244ae(0xf7)+'tateDir']());if(_0x9b2dd9)_0x34ee14[_0x5244ae(0x1cf)][_0x277c3e]=_0x9b2dd9;else delete _0x34ee14[_0x5244ae(0x1cf)][_0x277c3e];return await writeSessionMetadata(_0x43e743['resolveS'+'tateDir'](),_0x34ee14),_0x5c1381('session-'+'updated',{'type':_0x5244ae(0x209),'sessionKey':_0x277c3e,'name':_0x9b2dd9}),_0x1de0f7?.[_0x5244ae(0xcf)](_0x5244ae(0x112)+_0x5244ae(0x10e)+_0x5244ae(0x154),{'sessionKey':_0x277c3e,'hasName':Boolean(_0x9b2dd9),'name':_0x9b2dd9?summarizeText(_0x9b2dd9,0x50):undefined}),{'ok':!![]};}async function _0x3cd019(){const _0x1efabc=_0x4d8366,_0x255f8e=await readSessionMetadata(_0x43e743[_0x1efabc(0xf7)+_0x1efabc(0x1aa)]());return _0x255f8e[_0x1efabc(0x14e)+'ys'];}async function _0x49b25a(_0x50683a=[]){const _0x31b752=_0x4d8366,_0x442614=await readSessionMetadata(_0x43e743[_0x31b752(0xf7)+'tateDir']());return _0x442614[_0x31b752(0x14e)+'ys']=Array[_0x31b752(0x1c6)](_0x50683a)?[...new Set(_0x50683a[_0x31b752(0x128)](getTrimmedString)[_0x31b752(0x210)](Boolean))]:[],await writeSessionMetadata(_0x43e743[_0x31b752(0xf7)+_0x31b752(0x1aa)](),_0x442614),_0x5c1381('session-'+_0x31b752(0xf4),{'type':_0x31b752(0x18d)+'eys-upda'+_0x31b752(0x194),'pinnedKeys':_0x442614[_0x31b752(0x14e)+'ys']}),_0x1de0f7?.['info'](_0x31b752(0x112)+'pinned\x20k'+_0x31b752(0xd3)+_0x31b752(0x194),{'count':_0x442614['pinnedKe'+'ys'][_0x31b752(0x191)]}),{'ok':!![],'pinnedKeys':_0x442614[_0x31b752(0x14e)+'ys']};}async function _0x587156(){const _0x21c712=_0x4d8366,_0x4e3c29=join(_0x43e743[_0x21c712(0xf7)+'tateDir'](),_0x21c712(0x1a9)+'e');return{'path':_0x4e3c29,'exists':Boolean(await stat(_0x4e3c29)['catch'](()=>null))};}async function _0x39d553(){const _0x16880b=_0x4d8366;return readSharedContext(join(_0x43e743[_0x16880b(0xf7)+'tateDir'](),'workspac'+'e'));}async function _0x207908(_0x5b4b7e={}){const _0x36e152=_0x4d8366;return _0x19e45f?.[_0x36e152(0xcf)]('workspac'+_0x36e152(0xf8)+_0x36e152(0x19a)+'\x20write\x20r'+_0x36e152(0x14c),{'files':Object[_0x36e152(0x215)](sanitizeSharedContextPayload(_0x5b4b7e))}),writeSharedContext(join(_0x43e743[_0x36e152(0xf7)+_0x36e152(0x1aa)](),_0x36e152(0x1a9)+'e'),_0x5b4b7e);}async function _0x54e0e7(_0xb44d98={}){const _0x11e349=_0x4d8366;return _0x52dddc(),await _0x55b070[_0x11e349(0x1db)](_0x11e349(0x109)+'t',_0xb44d98);}async function _0x4f9b4e(_0x18b5c5={}){const _0x227a4a=_0x4d8366;return _0x52dddc(),await _0x55b070[_0x227a4a(0x1db)]('cron.add',_0x18b5c5);}async function _0x3f6098(_0x40108f={}){const _0x29cf05=_0x4d8366;_0x52dddc();const _0x1bfb42=getTrimmedString(_0x40108f[_0x29cf05(0xdd)]??_0x40108f['id']);if(!_0x1bfb42)throw new Error(_0x29cf05(0x185)+'\x20require'+'d');const _0x5111eb=asRecord(_0x40108f[_0x29cf05(0x1f7)]),_0x326abf=Object[_0x29cf05(0x215)](_0x5111eb)[_0x29cf05(0x191)]>0x0?_0x5111eb:{..._0x40108f};return delete _0x326abf['jobId'],delete _0x326abf['id'],await _0x55b070[_0x29cf05(0x1db)]('cron.upd'+'ate',{'jobId':_0x1bfb42,'patch':_0x326abf});}async function _0x4e91ae(_0x286e63={}){const _0x172eb2=_0x4d8366;_0x52dddc();const _0x4243c5=getTrimmedString(_0x286e63[_0x172eb2(0xdd)]??_0x286e63['id']);if(!_0x4243c5)throw new Error('jobId\x20is'+_0x172eb2(0xec)+'d');return await _0x55b070[_0x172eb2(0x1db)](_0x172eb2(0x1a7)+_0x172eb2(0x21f),{'jobId':_0x4243c5});}async function _0x12270a(_0x32f60d={}){const _0x2a5953=_0x4d8366;_0x52dddc();const _0x47835f=getTrimmedString(_0x32f60d[_0x2a5953(0xdd)]??_0x32f60d['id']);if(!_0x47835f)throw new Error('jobId\x20is'+_0x2a5953(0xec)+'d');return await _0x55b070['request'](_0x2a5953(0x214),{'jobId':_0x47835f});}async function _0x39cc02(_0x4b4928={}){const _0x3165c2=_0x4d8366;return _0x52dddc(),await _0x55b070[_0x3165c2(0x1db)]('cron.run'+'s',_0x4b4928);}async function _0x1b9ba4(_0x46aa95={}){const _0x26c34d=_0x4d8366;_0x52dddc();const _0x34ce70=Date[_0x26c34d(0x108)]();_0x19e45f?.[_0x26c34d(0xcf)](_0x26c34d(0x1b6)+_0x26c34d(0x198)+'quested',{'payload':summarizePayload(_0x46aa95)});try{const _0x128408=await _0x55b070[_0x26c34d(0x1db)](_0x26c34d(0x1f9)+_0x26c34d(0x200),_0x46aa95);return _0x19e45f?.[_0x26c34d(0xcf)](_0x26c34d(0x1b6)+_0x26c34d(0xe7)+_0x26c34d(0x22e),{'durationMs':Date[_0x26c34d(0x108)]()-_0x34ce70,'result':summarizePayload(_0x128408,{'maxDepth':0x2})}),_0x128408;}catch(_0x439a1c){_0x19e45f?.[_0x26c34d(0x1d7)](_0x26c34d(0x1b6)+_0x26c34d(0x1a4)+_0x26c34d(0x162),{'durationMs':Date[_0x26c34d(0x108)]()-_0x34ce70,'error':summarizeError(_0x439a1c)});throw _0x439a1c;}}async function _0x585e94(_0x4b3c4f={}){const _0x3b9a3a=_0x4d8366;return _0x52dddc(),_0x19e45f?.[_0x3b9a3a(0xcf)](_0x3b9a3a(0x101)+_0x3b9a3a(0x14f)+_0x3b9a3a(0x1af),{'payload':summarizePayload(_0x4b3c4f)}),await _0x55b070[_0x3b9a3a(0x1db)]('skills.u'+_0x3b9a3a(0x19d),_0x4b3c4f);}async function _0x2f60ff(_0x18f7de={}){const _0x539608=_0x4d8366;return _0x52dddc(),_0x19e45f?.['info'](_0x539608(0x157)+_0x539608(0x228)+_0x539608(0x1af),{'payload':summarizePayload(_0x18f7de)}),await _0x55b070[_0x539608(0x1db)](_0x539608(0xfc)+_0x539608(0x136),_0x18f7de);}async function _0x11aef5(_0x51ae5e={}){const _0x4ea5a3=_0x4d8366;_0x52dddc();const _0x4034de=getTrimmedString(_0x51ae5e[_0x4ea5a3(0x1c8)+'ey']),_0x29ed26=getTrimmedString(_0x51ae5e['message']),_0x42ee44=getTrimmedString(_0x51ae5e['requestI'+'d'])||randomUUID();if(!_0x4034de)throw new Error(_0x4ea5a3(0x1c8)+_0x4ea5a3(0x1f0)+_0x4ea5a3(0x129));if(!_0x29ed26)throw new Error(_0x4ea5a3(0x20a)+_0x4ea5a3(0x16f)+_0x4ea5a3(0xff));const _0x54bfd5=Date[_0x4ea5a3(0x108)]();_0x3f9c59?.[_0x4ea5a3(0xcf)](_0x4ea5a3(0x223)+_0x4ea5a3(0x18e)+_0x4ea5a3(0x16c),{'requestId':_0x42ee44,'sessionKey':_0x4034de,'message':summarizeText(_0x29ed26),'filePaths':summarizeFilePaths(_0x51ae5e[_0x4ea5a3(0x202)+'s'])}),_0x404848({'requestId':_0x42ee44,'sessionKey':_0x4034de,'type':_0x4ea5a3(0x1f1)}),_0xe9e03a[_0x4ea5a3(0x139)](_0x42ee44,{'runId':_0x42ee44,'requestId':_0x42ee44,'sessionKey':_0x4034de,'textLength':0x0,'startedAt':_0x54bfd5}),_0x31aa5c[_0x4ea5a3(0x139)](_0x4034de,_0x42ee44);try{const _0x1e7ff6=await buildAttachments(Array[_0x4ea5a3(0x1c6)](_0x51ae5e['filePath'+'s'])?_0x51ae5e['filePath'+'s']:[]);_0x3f9c59?.['info'](_0x4ea5a3(0x225)+_0x4ea5a3(0x1d9)+_0x4ea5a3(0x1c4)+'d',{'requestId':_0x42ee44,'sessionKey':_0x4034de,'attachmentCount':_0x1e7ff6[_0x4ea5a3(0x191)],'attachments':_0x1e7ff6[_0x4ea5a3(0x128)](_0xe29e89=>({'type':_0xe29e89['type'],'mimeType':_0xe29e89[_0x4ea5a3(0x1bf)],'fileName':_0xe29e89[_0x4ea5a3(0x1c9)],'contentLength':_0xe29e89[_0x4ea5a3(0xdb)]['length']}))});const _0x43d7ea=asRecord(await _0x55b070[_0x4ea5a3(0x1db)](_0x4ea5a3(0x1fc)+'d',{'sessionKey':_0x4034de,'message':_0x29ed26,'deliver':![],'idempotencyKey':_0x42ee44,..._0x1e7ff6[_0x4ea5a3(0x191)]>0x0?{'attachments':_0x1e7ff6}:{}})),_0x568e3a=getTrimmedString(_0x43d7ea['runId'])||_0x42ee44,_0x1012d7=_0xe9e03a['get'](_0x42ee44);if(!_0x1012d7)return{'ok':!![],'requestId':_0x42ee44,'runId':_0x568e3a};return _0x568e3a!==_0x1012d7[_0x4ea5a3(0x213)]&&(_0xe9e03a[_0x4ea5a3(0x115)](_0x1012d7[_0x4ea5a3(0x213)]),_0x1012d7['runId']=_0x568e3a,_0xe9e03a[_0x4ea5a3(0x139)](_0x568e3a,_0x1012d7)),_0x31aa5c['set'](_0x4034de,_0x568e3a),_0x3f9c59?.[_0x4ea5a3(0xcf)](_0x4ea5a3(0x223)+_0x4ea5a3(0x1f5)+_0x4ea5a3(0x123)+_0x4ea5a3(0x189),{'requestId':_0x42ee44,'runId':_0x568e3a,'sessionKey':_0x4034de,'durationMs':Date[_0x4ea5a3(0x108)]()-_0x54bfd5,'status':_0x43d7ea['status']}),_0x43d7ea[_0x4ea5a3(0xd1)]===_0x4ea5a3(0x1d7)&&_0x539689(_0x1012d7,'error',getTrimmedString(_0x43d7ea['errorMes'+_0x4ea5a3(0x176)])||_0x4ea5a3(0x1b0)+_0x4ea5a3(0xf9)+_0x4ea5a3(0x104)),{'ok':!![],'requestId':_0x42ee44,'runId':_0x568e3a,'response':_0x43d7ea};}catch(_0x41724b){const _0x258bb7=_0x2e03d1(_0x42ee44),_0x69ddb5=_0x41724b instanceof Error?_0x41724b[_0x4ea5a3(0x220)]:String(_0x41724b);_0x3f9c59?.['error'](_0x4ea5a3(0x223)+'eam\x20fail'+'ed',{'requestId':_0x42ee44,'sessionKey':_0x4034de,'durationMs':Date[_0x4ea5a3(0x108)]()-_0x54bfd5,'error':summarizeError(_0x41724b)});if(_0x258bb7)_0x539689(_0x258bb7,'error',_0x69ddb5);else _0x404848({'requestId':_0x42ee44,'sessionKey':_0x4034de,'type':'error','message':_0x69ddb5});throw _0x41724b;}}async function _0x4607da(_0x1757c7={}){const _0x266879=_0x4d8366;_0x52dddc();const _0x4e2572=getTrimmedString(_0x1757c7[_0x266879(0x1c8)+'ey']);if(!_0x4e2572)throw new Error(_0x266879(0x1c8)+'ey\x20is\x20re'+_0x266879(0x129));const _0x2d6b66=Date[_0x266879(0x108)](),_0x3b8d3c=_0x2e03d1(getTrimmedString(_0x1757c7['requestI'+'d']))??_0x242ae9(_0x4e2572),_0x444f35=_0x31aa5c[_0x266879(0xd8)](_0x4e2572),_0x4245f9={'sessionKey':_0x4e2572};if(_0x3b8d3c?.[_0x266879(0x213)])_0x4245f9[_0x266879(0x213)]=_0x3b8d3c[_0x266879(0x213)];else{if(_0x444f35)_0x4245f9[_0x266879(0x213)]=_0x444f35;}const _0x17b1f7=await _0x55b070['request'](_0x266879(0x1e0)+'rt',_0x4245f9);if(_0x3b8d3c)_0x539689(_0x3b8d3c,_0x266879(0x1c5));return _0x3f9c59?.['info'](_0x266879(0x1fb)+_0x266879(0x11e)+'sted',{'sessionKey':_0x4e2572,'requestId':getTrimmedString(_0x1757c7[_0x266879(0xe9)+'d']),'runId':_0x4245f9[_0x266879(0x213)],'durationMs':Date[_0x266879(0x108)]()-_0x2d6b66}),_0x17b1f7;}async function _0x5de723(_0x56200f={}){const _0x160ac5=_0x4d8366;_0x52dddc();const _0x561c61=getTrimmedString(_0x56200f['sessionK'+'ey']);if(!_0x561c61)throw new Error(_0x160ac5(0x1c8)+_0x160ac5(0x1f0)+_0x160ac5(0x129));const _0x1faf42=await _0x55b070['request'](_0x160ac5(0x205)+_0x160ac5(0xc8),{'sessionKey':_0x561c61,'limit':Math[_0x160ac5(0x138)](0x1,Math[_0x160ac5(0x12f)](Number(_0x56200f[_0x160ac5(0x105)])||0xc8))});return _0x3f9c59?.[_0x160ac5(0xcf)](_0x160ac5(0x18b)+_0x160ac5(0x125)+_0x160ac5(0xe8),{'sessionKey':_0x561c61,'limit':Math['max'](0x1,Math[_0x160ac5(0x12f)](Number(_0x56200f['limit'])||0xc8)),'result':summarizePayload(_0x1faf42,{'maxDepth':0x2})}),_0x1faf42;}async function _0x4ae46f(_0x5354ec=''){const _0x120c3d=_0x4d8366;if(!_0x31ac71())return{'pending':!![],'skills':[]};const _0x8c563=getTrimmedString(_0x5354ec),_0x57fc63=await _0x55b070[_0x120c3d(0x1db)](_0x120c3d(0x11d)+_0x120c3d(0x18c),_0x8c563?{'agentId':_0x8c563}:{}),_0x512c48=await _0x43e743[_0x120c3d(0x207)+'ig']()[_0x120c3d(0x19f)](()=>({})),_0x4385c8=filterSkillsForAgent(_0x57fc63,_0x512c48,_0x8c563);return _0x19e45f?.[_0x120c3d(0xcf)](_0x120c3d(0x1ca)+'tatus\x20lo'+_0x120c3d(0xc1),{'agentId':_0x8c563||_0x120c3d(0xe2),'result':summarizePayload(_0x4385c8,{'maxDepth':0x2})}),_0x4385c8;}return{'on':_0xa33f86,'start':_0x1ab846,'stop':_0x54d905,'restart':_0x345ee8,'runtimeInfo':_0x35bcb7,'getStatus':()=>_0x5ae230,'getRecentLogs':_0x2e57e3,'answerAskUserQuestion':_0x426961=>_0x455473[_0x4d8366(0x219)](_0x426961),'agents':{'list':_0x2439e},'skills':{'status':_0x4ae46f,'install':_0x1b9ba4,'update':_0x585e94,'delete':_0x2f60ff},'sessions':{'create':_0x23ceb6,'list':_0x45fb50,'delete':_0x596675,'rename':_0x360757,'pinnedKeys':_0x3cd019,'setPinnedKeys':_0x49b25a},'workspace':{'directoryInfo':_0x587156,'sharedContext':_0x39d553,'writeSharedContext':_0x207908},'cron':{'list':_0x54e0e7,'create':_0x4f9b4e,'update':_0x3f6098,'remove':_0x4e91ae,'runOnce':_0x12270a,'logs':_0x39cc02},'models':{'settings':()=>_0x43e743[_0x4d8366(0x1d4)+_0x4d8366(0x1b7)](),'setSettings':async(_0x9405e={})=>{const _0x14c8f8=_0x4d8366,_0x340af9=_0x9405e?.[_0x14c8f8(0x1e1)+_0x14c8f8(0x149)]!==![];return await _0x43e743[_0x14c8f8(0x180)+_0x14c8f8(0x1b7)](_0x9405e,{'restartOnChange':_0x340af9}),_0x43e743[_0x14c8f8(0x1d4)+_0x14c8f8(0x1b7)]();},'setSelfOperatedModels':_0x2727c7=>_0x43e743['setSelfO'+_0x4d8366(0x1f2)+'odels'](_0x2727c7),'selectedModelId':async()=>{const _0x24b16e=_0x4d8366,_0x4a3405=await _0x43e743[_0x24b16e(0x1d4)+_0x24b16e(0x1b7)]();return _0x4a3405['provider']&&_0x4a3405[_0x24b16e(0x20c)+'e']?_0x4a3405[_0x24b16e(0x12e)]+'/'+_0x4a3405[_0x24b16e(0x20c)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x43e743[_0x4d8366(0x207)+'ig']()},'chat':{'stream':_0x11aef5,'abort':_0x4607da,'history':_0x5de723}};}
|
package/dist/src/gateway-ws.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const _0x3f13b4=_0xa634;(function(_0x2e59fc,_0x36bed5){const _0x499516=_0xa634,_0x3ac862=_0x2e59fc();while(!![]){try{const _0x43ca21=-parseInt(_0x499516(0xb1))/0x1+-parseInt(_0x499516(0x146))/0x2*(parseInt(_0x499516(0x13d))/0x3)+-parseInt(_0x499516(0x10c))/0x4+parseInt(_0x499516(0xc4))/0x5*(-parseInt(_0x499516(0x137))/0x6)+-parseInt(_0x499516(0xf4))/0x7+-parseInt(_0x499516(0x12a))/0x8*(parseInt(_0x499516(0x112))/0x9)+parseInt(_0x499516(0x9f))/0xa;if(_0x43ca21===_0x36bed5)break;else _0x3ac862['push'](_0x3ac862['shift']());}catch(_0x11c673){_0x3ac862['push'](_0x3ac862['shift']());}}}(_0x3266,0x779a5));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x2b49cc from'ws';const ED25519_SPKI_PREFIX=Buffer[_0x3f13b4(0x134)](_0x3f13b4(0x9e)+'06032b65'+'70032100',_0x3f13b4(0x10a)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x1f9b83){const _0x4b7e97=_0x3f13b4;return Boolean(_0x1f9b83)&&typeof _0x1f9b83===_0x4b7e97(0x100)&&!Array['isArray'](_0x1f9b83);}function formatUnknownError(_0x18e01a){const _0x3b38df=_0x3f13b4;if(_0x18e01a instanceof Error)return _0x18e01a[_0x3b38df(0x102)];return String(_0x18e01a??'');}function isLocalGatewayConnRefused(_0x3e7cd7){const _0x1b99b1=_0x3f13b4,_0x168ce2=formatUnknownError(_0x3e7cd7);return/\bECONNREFUSED\b/i[_0x1b99b1(0xba)](_0x168ce2)&&/127\.0\.0\.1:\d+/[_0x1b99b1(0xba)](_0x168ce2);}function base64UrlEncode(_0x42e74d){const _0x580cfd=_0x3f13b4;return _0x42e74d[_0x580cfd(0x124)]('base64')['replaceA'+'ll']('+','-')[_0x580cfd(0xe5)+'ll']('/','_')[_0x580cfd(0x151)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x46ffa9){const _0xee8f5b=_0x3f13b4,_0x4c2ce7=createPublicKey(_0x46ffa9)[_0xee8f5b(0x142)]({'type':_0xee8f5b(0x120),'format':_0xee8f5b(0x14e)}),_0x41db8a=Buffer[_0xee8f5b(0xd8)](_0x4c2ce7)?_0x4c2ce7:Buffer[_0xee8f5b(0x134)](_0x4c2ce7),_0x5ab673=_0x41db8a[_0xee8f5b(0x125)]===ED25519_SPKI_PREFIX[_0xee8f5b(0x125)]+0x20&&_0x41db8a['subarray'](0x0,ED25519_SPKI_PREFIX[_0xee8f5b(0x125)])[_0xee8f5b(0x127)](ED25519_SPKI_PREFIX);return _0x5ab673?_0x41db8a['subarray'](ED25519_SPKI_PREFIX['length']):_0x41db8a;}function fingerprintPublicKey(_0x1481c7){const _0x4dd63d=_0x3f13b4;return createHash(_0x4dd63d(0xa6))[_0x4dd63d(0x10e)](derivePublicKeyRaw(_0x1481c7))['digest']('hex');}function _0xa634(_0x1327be,_0x4b7672){_0x1327be=_0x1327be-0x9b;const _0x32660c=_0x3266();let _0xa6344f=_0x32660c[_0x1327be];return _0xa6344f;}function publicKeyRawBase64UrlFromPem(_0x35a001){return base64UrlEncode(derivePublicKeyRaw(_0x35a001));}function signDevicePayload(_0x9b15d6,_0x5cc826){const _0x106ed5=_0x3f13b4,_0xf9817f=createPrivateKey(_0x9b15d6);return base64UrlEncode(sign(null,Buffer[_0x106ed5(0x134)](_0x5cc826,_0x106ed5(0x11e)),_0xf9817f));}function normalizeDeviceMetadataForAuth(_0x7356c2){const _0x472fdd=_0x3f13b4,_0x2db387=typeof _0x7356c2==='string'?_0x7356c2[_0x472fdd(0xd3)]():'';if(!_0x2db387)return'';return _0x2db387[_0x472fdd(0x151)](UPPERCASE_ASCII_REGEX,_0x589cb4=>String[_0x472fdd(0x13c)+_0x472fdd(0xe1)](_0x589cb4[_0x472fdd(0xf5)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x45f89b){const _0x1cf4df=_0x3f13b4;return['v3',_0x45f89b[_0x1cf4df(0x145)],_0x45f89b[_0x1cf4df(0x108)],_0x45f89b['clientMo'+'de'],_0x45f89b['role'],_0x45f89b['scopes']['join'](','),String(_0x45f89b[_0x1cf4df(0xb6)+'Ms']),_0x45f89b[_0x1cf4df(0x140)]??'',_0x45f89b['nonce'],normalizeDeviceMetadataForAuth(_0x45f89b[_0x1cf4df(0x11b)]),normalizeDeviceMetadataForAuth(_0x45f89b[_0x1cf4df(0x136)+_0x1cf4df(0xc8)])][_0x1cf4df(0x115)]('|');}function writeIdentityFile(_0x2b588b,_0x58eaa3,_0x2fa43){const _0x4545c5=_0x3f13b4;mkdirSync(dirname(_0x2b588b),{'recursive':!![]}),writeFileSync(_0x2b588b,JSON[_0x4545c5(0x116)+'y']({'version':0x1,..._0x58eaa3,'createdAtMs':_0x2fa43},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x2b588b,0x180);}catch{}}function _0x3266(){const _0x76f74a=['WS\x20conne','ted','identity','entity','rsion','from','entries','deviceFa','6AvrvdM','ect','viceFami','readySta','ateway\x20r','fromChar','6bvrgft','rejectRe','eout','token','pem','export','pending','method','deviceId','416638BvcYCl','connectS','ction\x20ti','ed25519','req','.read','removeAl','timeout','der','send','ent','replace','WS\x20close','pkcs8','nected','t:\x20','connectN','hake\x20tim','handleDi','302a3005','29353600hGorSR','sconnect','dentity','o\x20load\x20g','DateTime','accepted','onChatEv','sha256','payload','med\x20out','ters','WS\x20clien','reject','ssage','Timer','restart','t\x20connec','e\x20timeou','539128SpuSMT','resolve','stop','type','push','signedAt','shouldRe','lengeTim','Path','test','reconnec','ct\x20faile','get','connect','way\x20设备身份','expectFi','eyPem','config','splayNam','4029505BKCASM','delete','close','rejectPe','mily','hallenge','初始化\x20gate','t\x20restar','nal','nonce','res','yCheck','url','.approva','g\x20nonce','trim','operator','\x20yet','eadyWait','dentity\x20','isBuffer','open','hake\x20mis','adyWaite','parse','set','code=','onConnec','yPem','Code','nnected','onAgentE','nding','replaceA','connect\x20','ateway\x20i','vent','e\x20missin','d\x20(','ble','WS\x20is\x20no','request','unavaila','WS\x20error','clientMo','tTimer','istening','onDiscon','709065teyehA','charCode','wujie-sh','ers','.admin','ed\x20out','.pairing','event','failed\x20t','handleMe','t\x20config','publicKe','object','connecte','message','Options','terminat','timed\x20ou','connectC','challeng','clientId','failed','hex','error','1561384HMFZgT','clientVe','update','readyWai','tBackoff','privateK','157221GoMZex','WS\x20hands','WS\x20disco','join','stringif','gateway\x20','OPEN','sing\x20non','lListene','platform','lReady','skipRead','utf8','queueCon','spki','resolveR','clientDe','clearTim','toString','length','string','equals','now','filter','88VCvdZG','once','o\x20send\x20g','ting','sendConn'];_0x3266=function(){return _0x76f74a;};return _0x3266();}function generateDeviceIdentity(){const _0x53e392=_0x3f13b4,{publicKey:_0x3df004,privateKey:_0x1f0dcb}=generateKeyPairSync(_0x53e392(0x149)),_0x575577=_0x3df004[_0x53e392(0x142)]({'type':_0x53e392(0x120),'format':_0x53e392(0x141)})[_0x53e392(0x124)](),_0x2c9378=_0x1f0dcb[_0x53e392(0x142)]({'type':_0x53e392(0x153),'format':_0x53e392(0x141)})[_0x53e392(0x124)]();return{'deviceId':fingerprintPublicKey(_0x575577),'publicKeyPem':_0x575577,'privateKeyPem':_0x2c9378};}function loadOrCreateDeviceIdentity(_0x3eba66){const _0x3b3ef1=_0x3f13b4;if(existsSync(_0x3eba66))try{const _0x1f00c0=JSON['parse'](readFileSync(_0x3eba66,_0x3b3ef1(0x11e))),_0xfad58c=typeof _0x1f00c0?.[_0x3b3ef1(0xff)+_0x3b3ef1(0xe0)]===_0x3b3ef1(0x126)?_0x1f00c0['publicKe'+_0x3b3ef1(0xe0)]:'',_0xb889e8=typeof _0x1f00c0?.[_0x3b3ef1(0x111)+_0x3b3ef1(0xc1)]==='string'?_0x1f00c0[_0x3b3ef1(0x111)+_0x3b3ef1(0xc1)]:'';if(_0xfad58c&&_0xb889e8){const _0x391254={'deviceId':fingerprintPublicKey(_0xfad58c),'publicKeyPem':_0xfad58c,'privateKeyPem':_0xb889e8};return _0x1f00c0?.[_0x3b3ef1(0x145)]!==_0x391254[_0x3b3ef1(0x145)]&&writeIdentityFile(_0x3eba66,_0x391254,Date[_0x3b3ef1(0x128)]()),_0x391254;}}catch{}const _0x412f31=generateDeviceIdentity();return writeIdentityFile(_0x3eba66,_0x412f31,Date['now']()),_0x412f31;}export class ClawGatewayWsClient{['ws']=null;[_0x3f13b4(0xc2)]=null;['pending']=new Map();[_0x3f13b4(0x10f)+_0x3f13b4(0xa9)]=[];[_0x3f13b4(0xb7)+_0x3f13b4(0xbe)]=![];[_0x3f13b4(0xbb)+'tTimer']=null;[_0x3f13b4(0x106)+_0x3f13b4(0xc9)+_0x3f13b4(0xad)]=null;[_0x3f13b4(0x9b)+_0x3f13b4(0x12b)]=null;[_0x3f13b4(0x147)+_0x3f13b4(0x150)]=![];[_0x3f13b4(0x101)+'d']=![];[_0x3f13b4(0xbb)+_0x3f13b4(0x110)+'Ms']=0x320;[_0x3f13b4(0x145)+'entity']=null;['configur'+'e'](_0x29690d){const _0x193124=_0x3f13b4;if(!_0x29690d){this['stop']();return;}const _0x2db6a3=this[_0x193124(0xc2)];this[_0x193124(0xc2)]=_0x29690d,this[_0x193124(0xb7)+_0x193124(0xbe)]=!![];try{this[_0x193124(0x145)+_0x193124(0x132)]=loadOrCreateDeviceIdentity(_0x29690d['identity'+_0x193124(0xb9)]);}catch(_0x1711cb){const _0x4bd590=_0x1711cb instanceof Error?_0x1711cb[_0x193124(0x102)]:_0x193124(0xca)+_0x193124(0xbf)+'失败';this[_0x193124(0xb3)](),_0x29690d['onDiscon'+_0x193124(0x154)](_0x4bd590);return;}const _0x5d59be=!_0x2db6a3||_0x2db6a3[_0x193124(0xd0)]!==_0x29690d[_0x193124(0xd0)]||_0x2db6a3[_0x193124(0x140)]!==_0x29690d[_0x193124(0x140)]||_0x2db6a3[_0x193124(0x108)]!==_0x29690d[_0x193124(0x108)]||_0x2db6a3[_0x193124(0xf0)+'de']!==_0x29690d[_0x193124(0xf0)+'de']||_0x2db6a3[_0x193124(0x10d)+_0x193124(0x133)]!==_0x29690d['clientVe'+_0x193124(0x133)]||_0x2db6a3[_0x193124(0x131)+_0x193124(0xb9)]!==_0x29690d[_0x193124(0x131)+_0x193124(0xb9)];if(_0x5d59be){this[_0x193124(0xae)]();return;}if(!this['ws'])this[_0x193124(0xbe)]();}[_0x3f13b4(0xb3)](){const _0x36aa61=_0x3f13b4;this[_0x36aa61(0xb7)+_0x36aa61(0xbe)]=![],this['connecte'+'d']=![],this[_0x36aa61(0x9b)+'once']=null,this['connectS'+_0x36aa61(0x150)]=![],this[_0x36aa61(0x123)+_0x36aa61(0xf7)](),this[_0x36aa61(0xc7)+'nding'](new Error(_0x36aa61(0x117)+_0x36aa61(0xaa)+'t\x20stoppe'+'d')),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x36aa61(0x117)+_0x36aa61(0xaa)+'t\x20stoppe'+'d'));if(this['ws']){try{this['ws'][_0x36aa61(0xc6)]();}catch{}this['ws']=null;}this['deviceId'+_0x36aa61(0x132)]=null,this[_0x36aa61(0xc2)]=null;}async[_0x3f13b4(0xed)](_0x57d77e,_0x327034={},_0x39df3f={}){const _0x24241a=_0x3f13b4;if(!_0x39df3f[_0x24241a(0x11d)+_0x24241a(0xcf)])await this['waitUnti'+_0x24241a(0x11c)]();const _0x2f6061=this['ws'];if(!_0x2f6061||_0x2f6061['readySta'+'te']!==_0x2b49cc[_0x24241a(0x118)])throw new Error(_0x24241a(0x117)+_0x24241a(0xec)+_0x24241a(0xaf)+_0x24241a(0x130));const _0x2e43f2=randomUUID(),_0x9be46=_0x39df3f['timeoutM'+'s']??0x7530;return await new Promise((_0x2827aa,_0x10e40c)=>{const _0x410ee9=_0x24241a,_0x516684=setTimeout(()=>{const _0x150dcd=_0xa634;this[_0x150dcd(0x143)][_0x150dcd(0xc5)](_0x2e43f2),_0x10e40c(new Error(_0x150dcd(0x117)+'request\x20'+_0x150dcd(0x105)+_0x150dcd(0x155)+_0x57d77e));},_0x9be46);this[_0x410ee9(0x143)][_0x410ee9(0xdd)](_0x2e43f2,{'method':_0x57d77e,'resolve':_0x524189=>{clearTimeout(_0x516684),_0x2827aa(_0x524189);},'reject':_0x413df6=>{clearTimeout(_0x516684),_0x10e40c(_0x413df6);},'expectFinal':_0x39df3f[_0x410ee9(0xc0)+'nal']===!![],'timeout':_0x516684});try{_0x2f6061[_0x410ee9(0x14f)](JSON[_0x410ee9(0x116)+'y']({'type':_0x410ee9(0x14a),'id':_0x2e43f2,'method':_0x57d77e,'params':_0x327034}));}catch(_0x12f791){this[_0x410ee9(0x143)]['delete'](_0x2e43f2),clearTimeout(_0x516684),_0x10e40c(_0x12f791 instanceof Error?_0x12f791:new Error('failed\x20t'+_0x410ee9(0x12c)+_0x410ee9(0x13b)+'equest'));}});}['restart'](){const _0x483055=_0x3f13b4;this[_0x483055(0x101)+'d']=![],this[_0x483055(0x9b)+_0x483055(0x12b)]=null,this['connectS'+'ent']=![],this['clearTim'+_0x483055(0xf7)](),this[_0x483055(0xc7)+_0x483055(0xe4)](new Error(_0x483055(0x117)+_0x483055(0xaa)+_0x483055(0xcb)+_0x483055(0x12d))),this[_0x483055(0x13e)+_0x483055(0xdb)+'rs'](new Error(_0x483055(0x117)+_0x483055(0xaa)+_0x483055(0xcb)+_0x483055(0x12d)));if(this['ws']){try{this['ws'][_0x483055(0x104)+'e']();}catch{}this['ws']=null;}this[_0x483055(0xbe)]();}[_0x3f13b4(0xbe)](){const _0x42b9f6=_0x3f13b4;if(!this[_0x42b9f6(0xc2)]||this['ws'])return;const _0x43cf6b=new _0x2b49cc(this[_0x42b9f6(0xc2)][_0x42b9f6(0xd0)]);this['ws']=_0x43cf6b,_0x43cf6b['on'](_0x42b9f6(0xd9),()=>this['queueCon'+'nectChal'+_0x42b9f6(0xb8)+_0x42b9f6(0x13f)]()),_0x43cf6b['on'](_0x42b9f6(0x102),_0x3d4519=>this[_0x42b9f6(0xfd)+_0x42b9f6(0xac)](_0x3d4519[_0x42b9f6(0x124)]())),_0x43cf6b['on']('close',(_0x1993fc,_0x315171)=>{const _0x5653cb=_0x42b9f6;if(this[_0x5653cb(0x101)+'d']){const _0x4b06a6=_0x315171[_0x5653cb(0x124)]()||_0x5653cb(0xde)+_0x1993fc;this[_0x5653cb(0x9d)+'sconnect'](_0x5653cb(0x117)+_0x5653cb(0x152)+_0x5653cb(0xea)+_0x4b06a6+')');}else this[_0x5653cb(0x9d)+_0x5653cb(0xa0)]('');}),_0x43cf6b['on'](_0x42b9f6(0x10b),_0x41e4e6=>{const _0x56fddf=_0x42b9f6;if(isLocalGatewayConnRefused(_0x41e4e6)){this[_0x56fddf(0x9d)+'sconnect'](_0x56fddf(0x117)+'is\x20not\x20l'+_0x56fddf(0xf2)+_0x56fddf(0xd5));return;}const _0x22ddff=formatUnknownError(_0x41e4e6);this[_0x56fddf(0x9d)+_0x56fddf(0xa0)](_0x22ddff?'gateway\x20'+_0x56fddf(0xef)+':\x20'+_0x22ddff:'gateway\x20'+_0x56fddf(0xef));});}[_0x3f13b4(0x11f)+'nectChal'+_0x3f13b4(0xb8)+_0x3f13b4(0x13f)](){const _0x48d975=_0x3f13b4;this[_0x48d975(0x9b)+'once']=null,this[_0x48d975(0x147)+_0x48d975(0x150)]=![];if(this[_0x48d975(0x106)+'hallenge'+'Timer'])clearTimeout(this[_0x48d975(0x106)+_0x48d975(0xc9)+'Timer']);this['connectC'+'hallenge'+_0x48d975(0xad)]=setTimeout(()=>{const _0x1a3bfe=_0x48d975;if(this['connectS'+'ent']||!this['ws']||this['ws'][_0x1a3bfe(0x13a)+'te']!==_0x2b49cc[_0x1a3bfe(0x118)])return;this['handleDi'+_0x1a3bfe(0xa0)](_0x1a3bfe(0x117)+_0x1a3bfe(0x113)+_0x1a3bfe(0x9c)+_0x1a3bfe(0xf9)),this['ws']?.['close'](0x3f0,'connect\x20'+_0x1a3bfe(0x107)+_0x1a3bfe(0xb0)+'t');},0x7d0);}async[_0x3f13b4(0x12e)+_0x3f13b4(0x138)](){const _0x1d17ce=_0x3f13b4,_0x2aa8af=this[_0x1d17ce(0xc2)];if(!_0x2aa8af||this[_0x1d17ce(0x147)+'ent'])return;const _0x32a7dd=this[_0x1d17ce(0x9b)+_0x1d17ce(0x12b)]?.[_0x1d17ce(0xd3)]()??'';if(!_0x32a7dd){this['handleDi'+_0x1d17ce(0xa0)](_0x1d17ce(0x117)+_0x1d17ce(0x113)+'hake\x20mis'+_0x1d17ce(0x119)+'ce'),this['ws']?.[_0x1d17ce(0xc6)](0x3f0,'connect\x20'+_0x1d17ce(0x107)+_0x1d17ce(0xe9)+_0x1d17ce(0xd2));return;}this['connectS'+_0x1d17ce(0x150)]=!![];this[_0x1d17ce(0x106)+_0x1d17ce(0xc9)+_0x1d17ce(0xad)]&&(clearTimeout(this[_0x1d17ce(0x106)+_0x1d17ce(0xc9)+_0x1d17ce(0xad)]),this[_0x1d17ce(0x106)+_0x1d17ce(0xc9)+'Timer']=null);if(!this['deviceId'+_0x1d17ce(0x132)])try{this[_0x1d17ce(0x145)+'entity']=loadOrCreateDeviceIdentity(_0x2aa8af[_0x1d17ce(0x131)+_0x1d17ce(0xb9)]);}catch(_0x484a78){this[_0x1d17ce(0x9d)+'sconnect'](_0x484a78 instanceof Error?_0x484a78[_0x1d17ce(0x102)]:_0x1d17ce(0xfc)+_0x1d17ce(0xa2)+_0x1d17ce(0xe7)+_0x1d17ce(0xa1)),this['ws']?.['close'](0x3f0,'device\x20i'+_0x1d17ce(0xd7)+_0x1d17ce(0xee)+_0x1d17ce(0xeb));return;}const _0x572a2b=_0x1d17ce(0xd4),_0x3503d8=[_0x1d17ce(0xd4)+_0x1d17ce(0x14b),_0x1d17ce(0xd4)+'.write','operator'+_0x1d17ce(0xf8),_0x1d17ce(0xd4)+_0x1d17ce(0xd1)+'ls','operator'+_0x1d17ce(0xfa)],_0x3a9d90=_0x2aa8af[_0x1d17ce(0x140)][_0x1d17ce(0xd3)](),_0x2e14f1=Date['now'](),_0x26df8f=buildDeviceAuthPayloadV3({'deviceId':this['deviceId'+_0x1d17ce(0x132)][_0x1d17ce(0x145)],'clientId':_0x2aa8af['clientId'],'clientMode':_0x2aa8af[_0x1d17ce(0xf0)+'de'],'role':_0x572a2b,'scopes':_0x3503d8,'signedAtMs':_0x2e14f1,'token':_0x3a9d90||null,'nonce':_0x32a7dd,'platform':process[_0x1d17ce(0x11b)],'deviceFamily':_0x2aa8af[_0x1d17ce(0x122)+_0x1d17ce(0x139)+'ly']}),_0x49def9={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x2aa8af['clientId'],'displayName':_0x2aa8af['clientDi'+_0x1d17ce(0xc3)+'e'],'version':_0x2aa8af[_0x1d17ce(0x10d)+_0x1d17ce(0x133)],'platform':process[_0x1d17ce(0x11b)],'deviceFamily':_0x2aa8af['clientDe'+_0x1d17ce(0x139)+'ly'],'mode':_0x2aa8af[_0x1d17ce(0xf0)+'de']},'caps':[],'role':_0x572a2b,'scopes':_0x3503d8,'auth':_0x3a9d90?{'token':_0x3a9d90}:undefined,'device':{'id':this['deviceId'+_0x1d17ce(0x132)]['deviceId'],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x1d17ce(0x145)+'entity']['publicKe'+_0x1d17ce(0xe0)]),'signature':signDevicePayload(this[_0x1d17ce(0x145)+_0x1d17ce(0x132)][_0x1d17ce(0x111)+_0x1d17ce(0xc1)],_0x26df8f),'signedAt':_0x2e14f1,'nonce':_0x32a7dd},'locale':Intl[_0x1d17ce(0xa3)+'Format']()['resolved'+_0x1d17ce(0x103)]()['locale'],'userAgent':_0x1d17ce(0xf6)+'ell/'+_0x2aa8af[_0x1d17ce(0x10d)+_0x1d17ce(0x133)]};try{await this[_0x1d17ce(0xed)](_0x1d17ce(0xbe),_0x49def9,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this['connecte'+'d']=!![],this[_0x1d17ce(0xbb)+_0x1d17ce(0x110)+'Ms']=0x320,this['resolveR'+'eadyWait'+_0x1d17ce(0xf7)](),this[_0x1d17ce(0xc2)]?.[_0x1d17ce(0xdf)+'ted']?.();}catch(_0x4a0f97){this['handleDi'+_0x1d17ce(0xa0)](_0x4a0f97 instanceof Error?_0x4a0f97[_0x1d17ce(0x102)]:_0x1d17ce(0x117)+_0x1d17ce(0x12f)+_0x1d17ce(0xbc)+'d'),this['ws']?.['close'](0x3f0,'connect\x20'+_0x1d17ce(0x109));}}[_0x3f13b4(0xfd)+_0x3f13b4(0xac)](_0x5514ee){const _0x348850=_0x3f13b4;let _0x643c2f;try{_0x643c2f=JSON[_0x348850(0xdc)](_0x5514ee);}catch{return;}if(!isRecord(_0x643c2f)||typeof _0x643c2f['type']!=='string')return;if(_0x643c2f[_0x348850(0xb4)]===_0x348850(0xfb)){const _0x4c2c4b=typeof _0x643c2f[_0x348850(0xfb)]===_0x348850(0x126)?_0x643c2f[_0x348850(0xfb)]:'';if(!_0x4c2c4b)return;const _0x40507f=isRecord(_0x643c2f[_0x348850(0xa7)])?_0x643c2f[_0x348850(0xa7)]:{};if(_0x4c2c4b==='connect.'+_0x348850(0x107)+'e'){const _0x125ec1=typeof _0x40507f[_0x348850(0xcd)]===_0x348850(0x126)?_0x40507f[_0x348850(0xcd)][_0x348850(0xd3)]():'';if(!_0x125ec1){this[_0x348850(0x9d)+_0x348850(0xa0)](_0x348850(0x117)+_0x348850(0x113)+_0x348850(0xda)+'sing\x20non'+'ce'),this['ws']?.[_0x348850(0xc6)](0x3f0,_0x348850(0xe6)+_0x348850(0x107)+_0x348850(0xe9)+'g\x20nonce');return;}this[_0x348850(0x9b)+_0x348850(0x12b)]=_0x125ec1,void this['sendConn'+'ect']();return;}if(_0x4c2c4b==='chat')this[_0x348850(0xc2)]?.[_0x348850(0xa5)+_0x348850(0x150)]?.(_0x40507f);if(_0x4c2c4b==='agent')this[_0x348850(0xc2)]?.[_0x348850(0xe3)+_0x348850(0xe8)]?.(_0x40507f);return;}if(_0x643c2f['type']!==_0x348850(0xce))return;const _0x3211ff=typeof _0x643c2f['id']===_0x348850(0x126)?_0x643c2f['id']:'';if(!_0x3211ff)return;const _0x4b70f9=this[_0x348850(0x143)][_0x348850(0xbd)](_0x3211ff);if(!_0x4b70f9)return;const _0x56f5d8=isRecord(_0x643c2f['payload'])?_0x643c2f[_0x348850(0xa7)]:{},_0x1194df=typeof _0x56f5d8['status']==='string'?_0x56f5d8['status']:'';if(_0x4b70f9[_0x348850(0xc0)+_0x348850(0xcc)]&&_0x1194df===_0x348850(0xa4))return;this[_0x348850(0x143)][_0x348850(0xc5)](_0x3211ff);_0x4b70f9['timeout']&&(clearTimeout(_0x4b70f9[_0x348850(0x14d)]),_0x4b70f9[_0x348850(0x14d)]=null);if(_0x643c2f['ok']===!![]){_0x4b70f9[_0x348850(0xb2)](_0x643c2f['payload']);return;}const _0x318f20=isRecord(_0x643c2f['error'])?_0x643c2f['error']:{},_0x4b7581=typeof _0x318f20[_0x348850(0x102)]===_0x348850(0x126)?_0x318f20['message']:'gateway\x20'+'request\x20'+'failed:\x20'+_0x4b70f9[_0x348850(0x144)];_0x4b70f9['reject'](new Error(_0x4b7581));}['waitUnti'+'lReady'](_0x11a09a=0x2ee0){const _0xec05ca=_0x3f13b4;if(this[_0xec05ca(0x101)+'d'])return Promise[_0xec05ca(0xb2)]();if(!this['config'])return Promise[_0xec05ca(0xab)](new Error('gateway\x20'+'WS\x20is\x20no'+_0xec05ca(0xfe)+'ured'));if(!this['ws'])this[_0xec05ca(0xbe)]();return new Promise((_0x79daa0,_0x10d6bf)=>{const _0x2ac69e=_0xec05ca,_0x35200d=setTimeout(()=>{const _0x1fe0d2=_0xa634;this['readyWai'+'ters']=this[_0x1fe0d2(0x10f)+'ters'][_0x1fe0d2(0x129)](_0x3aefcf=>_0x3aefcf['resolve']!==_0x79daa0),_0x10d6bf(new Error(_0x1fe0d2(0x117)+_0x1fe0d2(0x12f)+_0x1fe0d2(0x148)+_0x1fe0d2(0xa8)));},_0x11a09a);this['readyWai'+_0x2ac69e(0xa9)][_0x2ac69e(0xb5)]({'resolve':_0x79daa0,'reject':_0x10d6bf,'timeout':_0x35200d});});}[_0x3f13b4(0x121)+_0x3f13b4(0xd6)+_0x3f13b4(0xf7)](){const _0x5b621e=_0x3f13b4,_0x342017=[...this['readyWai'+_0x5b621e(0xa9)]];this[_0x5b621e(0x10f)+_0x5b621e(0xa9)]=[];for(const _0x2201fe of _0x342017){clearTimeout(_0x2201fe['timeout']),_0x2201fe['resolve']();}}[_0x3f13b4(0x13e)+'adyWaite'+'rs'](_0x52bc17){const _0x196c7f=_0x3f13b4,_0xa70811=[...this[_0x196c7f(0x10f)+_0x196c7f(0xa9)]];this[_0x196c7f(0x10f)+_0x196c7f(0xa9)]=[];for(const _0x26120e of _0xa70811){clearTimeout(_0x26120e['timeout']),_0x26120e[_0x196c7f(0xab)](_0x52bc17);}}['rejectPe'+'nding'](_0xc7722){const _0x19c4e1=_0x3f13b4;for(const [_0x1084e5,_0x565495]of this[_0x19c4e1(0x143)][_0x19c4e1(0x135)]()){this[_0x19c4e1(0x143)][_0x19c4e1(0xc5)](_0x1084e5),_0x565495[_0x19c4e1(0x14d)]&&(clearTimeout(_0x565495[_0x19c4e1(0x14d)]),_0x565495[_0x19c4e1(0x14d)]=null),_0x565495[_0x19c4e1(0xab)](_0xc7722);}}[_0x3f13b4(0x9d)+_0x3f13b4(0xa0)](_0x45d5b3){const _0x3a5390=_0x3f13b4;this['ws']&&(this['ws'][_0x3a5390(0x14c)+_0x3a5390(0x11a)+'rs'](),this['ws']=null);this[_0x3a5390(0x101)+'d']=![],this[_0x3a5390(0x9b)+_0x3a5390(0x12b)]=null,this[_0x3a5390(0x147)+_0x3a5390(0x150)]=![],this[_0x3a5390(0xc7)+_0x3a5390(0xe4)](new Error(_0x45d5b3||_0x3a5390(0x117)+_0x3a5390(0x114)+_0x3a5390(0xe2))),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x45d5b3||_0x3a5390(0x117)+_0x3a5390(0x114)+'nnected')),this[_0x3a5390(0x123)+'ers']();if(_0x45d5b3)this['config']?.[_0x3a5390(0xf3)+_0x3a5390(0x154)]?.(_0x45d5b3);if(!this[_0x3a5390(0xb7)+_0x3a5390(0xbe)]||!this[_0x3a5390(0xc2)])return;const _0x1675a6=this[_0x3a5390(0xbb)+_0x3a5390(0x110)+'Ms'];this['reconnec'+'tBackoff'+'Ms']=Math['min'](this['reconnec'+_0x3a5390(0x110)+'Ms']*0x2,0x3a98),this['reconnec'+_0x3a5390(0xf1)]=setTimeout(()=>{const _0x38ff6a=_0x3a5390;this[_0x38ff6a(0xbb)+_0x38ff6a(0xf1)]=null,this[_0x38ff6a(0xbe)]();},_0x1675a6);}[_0x3f13b4(0x123)+_0x3f13b4(0xf7)](){const _0x130650=_0x3f13b4;this[_0x130650(0xbb)+_0x130650(0xf1)]&&(clearTimeout(this[_0x130650(0xbb)+_0x130650(0xf1)]),this[_0x130650(0xbb)+_0x130650(0xf1)]=null),this[_0x130650(0x106)+_0x130650(0xc9)+'Timer']&&(clearTimeout(this[_0x130650(0x106)+_0x130650(0xc9)+_0x130650(0xad)]),this[_0x130650(0x106)+'hallenge'+_0x130650(0xad)]=null);}}
|
package/dist/src/logging.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const _0xd1d093=_0x4716;(function(_0x32ee2a,_0x4c545b){const _0xc104fb=_0x4716,_0x4ac7f8=_0x32ee2a();while(!![]){try{const _0x2c8087=parseInt(_0xc104fb(0xb6))/0x1*(parseInt(_0xc104fb(0xa1))/0x2)+-parseInt(_0xc104fb(0xc4))/0x3*(-parseInt(_0xc104fb(0xcc))/0x4)+parseInt(_0xc104fb(0xb0))/0x5+-parseInt(_0xc104fb(0xae))/0x6*(-parseInt(_0xc104fb(0x9e))/0x7)+parseInt(_0xc104fb(0xc5))/0x8+-parseInt(_0xc104fb(0xa7))/0x9+parseInt(_0xc104fb(0x91))/0xa*(-parseInt(_0xc104fb(0xc6))/0xb);if(_0x2c8087===_0x4c545b)break;else _0x4ac7f8['push'](_0x4ac7f8['shift']());}catch(_0x1b794a){_0x4ac7f8['push'](_0x4ac7f8['shift']());}}}(_0x4c13,0xdc80b));import{createHash}from'node:crypto';import{spawn}from'node:child_process';function _0x4c13(){const _0xa505a6=['cwd','Compress','test','3330nuJnjD','error','ationPat','dev','tinue\x27;','with\x20cod','slice','env','stack','array','now','includes','join','1718794sBxYKm','isArray','startsWi','1724rHfQhC','map','ll.exe','ing','\x20-Path\x20','get','13354695fYXpYW','logs\x20dir','$Progres','data','pipe','.log','entries','6htqrkJ','toString','4793290vNaMNf','trim','message','powershe','[Circula','length','1009WMleoE','add','zip','nce=\x27Sil','maxDepth','\x20failed\x20','sha256','wujie-sh','Command','platform','iewLengt','ectory\x20n','entlyCon','\x20-Force','87fpUFjr','6187664hJGUkG','29513sJkECI','stderr','stringif','ignore','Array','update','59732fkdZuD','string','-NoProfi','replace','digest','close','-Archive','has','ot\x20found'];_0x4c13=function(){return _0xa505a6;};return _0x4c13();}import{existsSync}from'node:fs';import{cp,mkdir,rm}from'node:fs/promises';import{homedir,tmpdir}from'node:os';import{basename,dirname,isAbsolute,join,relative,resolve}from'node:path';import{createFileLogger,redactLogValue}from'@wujie-shell/logger';const LOG_MAX_BYTES=0x2*0x400*0x400,LOG_KEEP_COUNT=0x5,loggers=new Map(),CONTENT_PREVIEW_LENGTH=0xf0;export function createShellLogger(_0x4e9e8c,_0x38ff0d,_0x20bb4c=_0x38ff0d){const _0x3789b3=_0x4716,_0x2c4719=_0x4e9e8c?.['logsDir'];if(!_0x2c4719||!_0x38ff0d)return null;const _0x2d1d05=join(_0x2c4719,_0x38ff0d,_0x38ff0d+_0x3789b3(0xac)),_0x30d59c=_0x2d1d05+':'+_0x20bb4c;return!loggers[_0x3789b3(0xd3)](_0x30d59c)&&loggers['set'](_0x30d59c,createFileLogger({'filePath':_0x2d1d05,'context':_0x20bb4c,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x3789b3(0xa6)](_0x30d59c);}export function toHomePath(_0x83aa1a){const _0x5e4f76=_0x4716,_0x23d6e8=typeof _0x83aa1a==='string'?_0x83aa1a:'';if(!_0x23d6e8)return'';const _0x521719=homedir(),_0x121647=isAbsolute(_0x23d6e8)?_0x23d6e8:resolve(_0x23d6e8),_0x3ef94c=relative(_0x521719,_0x121647);if(!_0x3ef94c||!_0x3ef94c[_0x5e4f76(0xa0)+'th']('..')&&!isAbsolute(_0x3ef94c))return _0x3ef94c?'~/'+_0x3ef94c:'~';return _0x121647;}function _0x4716(_0x27c778,_0x1607bf){_0x27c778=_0x27c778-0x8d;const _0x4c136b=_0x4c13();let _0x4716cf=_0x4c136b[_0x27c778];return _0x4716cf;}export function hashText(_0x4f6531){const _0x1da975=_0x4716;return createHash(_0x1da975(0xbc))[_0x1da975(0xcb)](String(_0x4f6531))[_0x1da975(0xd0)]('hex')[_0x1da975(0x97)](0x0,0x10);}export function truncateText(_0x1967ed,_0xdfdea2=CONTENT_PREVIEW_LENGTH){const _0x571cd4=_0x4716,_0x3a37f8=String(_0x1967ed??'')[_0x571cd4(0xcf)](/\s+/g,'\x20')[_0x571cd4(0xb1)]();if(_0x3a37f8[_0x571cd4(0xb5)]<=_0xdfdea2)return _0x3a37f8;return _0x3a37f8[_0x571cd4(0x97)](0x0,_0xdfdea2)+'...';}export function summarizeText(_0x539d60,_0x25ee65=CONTENT_PREVIEW_LENGTH){const _0x2c9f6c=_0x4716,_0x5ec9b5=String(_0x539d60??'');return{'length':_0x5ec9b5[_0x2c9f6c(0xb5)],'hash':hashText(_0x5ec9b5),'preview':truncateText(_0x5ec9b5,_0x25ee65),'truncated':_0x5ec9b5[_0x2c9f6c(0xb5)]>_0x25ee65};}export function summarizeError(_0x5a6754){const _0x5ba54c=_0x4716;if(_0x5a6754 instanceof Error)return{'name':_0x5a6754['name'],'message':_0x5a6754[_0x5ba54c(0xb2)],'stack':_0x5a6754[_0x5ba54c(0x99)]};return{'message':String(_0x5a6754)};}function summarizePathValue(_0x235ed9){const _0x527111=_0x4716;if(typeof _0x235ed9!==_0x527111(0xcd))return _0x235ed9;if(_0x235ed9[_0x527111(0x9c)]('/')||_0x235ed9['includes']('\x5c'))return toHomePath(_0x235ed9);return _0x235ed9;}export function summarizePayload(_0x25fc45,_0x4bc1a0={}){const _0x3d8307=_0x4716,_0x4adb78=_0x4bc1a0[_0x3d8307(0xba)]??0x4,_0x10802c=new WeakSet();function _0x36d241(_0x575912,_0x87467,_0x3fa11a=''){const _0x26d400=_0x3d8307;if(_0x575912==null)return _0x575912;if(typeof _0x575912===_0x26d400(0xcd)){if(/message|content|prompt|text|body/i[_0x26d400(0x90)](_0x3fa11a))return summarizeText(_0x575912,_0x4bc1a0['textPrev'+_0x26d400(0xc0)+'h']);return summarizePathValue(_0x575912);}if(typeof _0x575912!=='object')return _0x575912;if(_0x575912 instanceof Error)return summarizeError(_0x575912);if(_0x10802c['has'](_0x575912))return _0x26d400(0xb4)+'r]';if(_0x87467>=_0x4adb78)return'['+(Array['isArray'](_0x575912)?_0x26d400(0xca):'Object')+']';_0x10802c[_0x26d400(0xb7)](_0x575912);if(Array[_0x26d400(0x9f)](_0x575912))return{'type':_0x26d400(0x9a),'length':_0x575912[_0x26d400(0xb5)],'items':_0x575912['slice'](0x0,0x5)[_0x26d400(0xa2)](_0x2526ef=>_0x36d241(_0x2526ef,_0x87467+0x1,_0x3fa11a)),'truncated':_0x575912[_0x26d400(0xb5)]>0x5};const _0x475ae5={};for(const [_0x31b2de,_0x4c5ce0]of Object[_0x26d400(0xad)](_0x575912)){_0x475ae5[_0x31b2de]=_0x36d241(_0x4c5ce0,_0x87467+0x1,_0x31b2de);}return redactLogValue(_0x475ae5);}return _0x36d241(_0x25fc45,0x0);}export function summarizeFilePaths(_0x3454b0=[]){const _0x58720f=_0x4716;return(Array['isArray'](_0x3454b0)?_0x3454b0:[])[_0x58720f(0xa2)](_0x3285e9=>String(_0x3285e9||'')[_0x58720f(0xb1)]())['filter'](Boolean)[_0x58720f(0xa2)](_0x3cffc8=>({'path':toHomePath(_0x3cffc8),'name':basename(_0x3cffc8)}));}function run(_0x47044a,_0x157915,_0x57fadf={}){return new Promise((_0x3a2b12,_0xbc1a02)=>{const _0x3b9a0a=_0x4716,_0xe663af=spawn(_0x47044a,_0x157915,{'cwd':_0x57fadf[_0x3b9a0a(0x8e)],'env':{...process.env,..._0x57fadf[_0x3b9a0a(0x98)]??{}},'stdio':[_0x3b9a0a(0xc9),_0x3b9a0a(0xab),_0x3b9a0a(0xab)]});let _0x510713='';_0xe663af[_0x3b9a0a(0xc7)]?.['on'](_0x3b9a0a(0xaa),_0x4fc14a=>{_0x510713+=_0x4fc14a['toString']();}),_0xe663af['on'](_0x3b9a0a(0x92),_0xbc1a02),_0xe663af['on'](_0x3b9a0a(0xd1),_0x2cc29e=>{const _0x2c105d=_0x3b9a0a;if(_0x2cc29e===0x0){_0x3a2b12();return;}_0xbc1a02(new Error(_0x47044a+(_0x2c105d(0xbb)+_0x2c105d(0x96)+'e=')+_0x2cc29e+':\x20'+_0x510713));});});}export async function exportLogsArchive({logsDir:_0x453eea,targetDir:_0x86be85,appVersion:appVersion=_0xd1d093(0x94)}){const _0x240049=_0xd1d093;if(!_0x453eea||!existsSync(_0x453eea))throw new Error(_0x240049(0xa8)+_0x240049(0xc1)+_0x240049(0x8d)+':\x20'+(_0x453eea||''));const _0x497f01=String(appVersion||'dev')[_0x240049(0xcf)](/[^A-Za-z0-9._-]/g,'_'),_0x2a5c66=new Date()['toISOStr'+_0x240049(0xa4)]()[_0x240049(0xcf)](/[-:]/g,'')[_0x240049(0xcf)](/\..+$/,''),_0x42bb6b=_0x86be85||tmpdir();await mkdir(_0x42bb6b,{'recursive':!![]});const _0x3bab53=join(_0x42bb6b,_0x240049(0xbd)+'ell-logs'+'-'+_0x2a5c66+'-'+_0x497f01+'.zip');if(process[_0x240049(0xbf)]==='win32'){const _0x95c6cf=join(tmpdir(),_0x240049(0xbd)+'ell-logs'+'-'+process['pid']+'-'+Date[_0x240049(0x9b)]());await rm(_0x95c6cf,{'recursive':!![],'force':!![]}),await cp(_0x453eea,_0x95c6cf,{'recursive':!![],'force':!![]});try{const _0x4882b2=[_0x240049(0xa9)+'sPrefere'+_0x240049(0xb9)+_0x240049(0xc2)+_0x240049(0x95),_0x240049(0x8f)+_0x240049(0xd2)+_0x240049(0xa5)+JSON[_0x240049(0xc8)+'y'](join(_0x95c6cf,'*'))+('\x20-Destin'+_0x240049(0x93)+'h\x20')+JSON[_0x240049(0xc8)+'y'](_0x3bab53)+_0x240049(0xc3)][_0x240049(0x9d)]('\x20'),_0x3e88f0=Buffer['from'](_0x4882b2,'utf16le')[_0x240049(0xaf)]('base64');await run(_0x240049(0xb3)+_0x240049(0xa3),[_0x240049(0xce)+'le','-Encoded'+_0x240049(0xbe),_0x3e88f0]);}finally{await rm(_0x95c6cf,{'recursive':!![],'force':!![]})['catch'](()=>{});}}else await run(_0x240049(0xb8),['-r',_0x3bab53,'.'],{'cwd':_0x453eea});return{'ok':!![],'path':_0x3bab53};}
|
package/dist/src/plugin-sync.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(function(_0x3785a9,_0x192e16){const _0x126495=_0x1f24,_0x40d448=_0x3785a9();while(!![]){try{const _0x3b58a8=parseInt(_0x126495(0x91))/0x1+parseInt(_0x126495(0x88))/0x2*(-parseInt(_0x126495(0x8f))/0x3)+-parseInt(_0x126495(0x95))/0x4*(parseInt(_0x126495(0x90))/0x5)+parseInt(_0x126495(0x96))/0x6+parseInt(_0x126495(0x98))/0x7+parseInt(_0x126495(0x8d))/0x8+-parseInt(_0x126495(0x93))/0x9;if(_0x3b58a8===_0x192e16)break;else _0x40d448['push'](_0x40d448['shift']());}catch(_0x76386){_0x40d448['push'](_0x40d448['shift']());}}}(_0x568d,0x26085));import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';function _0x568d(){const _0x3a5f7d=['tPluginI','local','entries','installs','507176ApjiZW','pluginId','3rMSCSE','5zFYQqM','201177AppfdR','disabled','2393514oziGJK','allow','1868ftJFDf','1004292oZnULB','source','952427gyigIT','ByDefaul','keys','291646ETjSAQ'];_0x568d=function(){return _0x3a5f7d;};return _0x568d();}function _0x1f24(_0x532545,_0x4ed7ed){_0x532545=_0x532545-0x87;const _0x568d17=_0x568d();let _0x1f2431=_0x568d17[_0x532545];return _0x1f2431;}export function syncRuntimeManifestPlugins(_0x7baba5,_0x3b898d,_0x33aebd={}){const _0x5a89ee=_0x1f24,_0x1f082c=new Set(_0x33aebd[_0x5a89ee(0x92)+_0x5a89ee(0x99)+_0x5a89ee(0x89)+'ds']??[]),_0x251ff7={...asRecord(_0x7baba5)},_0x3dd57b={...asRecord(_0x251ff7[_0x5a89ee(0x8b)])},_0x462cb4={...asRecord(_0x251ff7[_0x5a89ee(0x8c)])};let _0x21f1e7=asStringArray(_0x251ff7[_0x5a89ee(0x94)]),_0x1a5442=![];for(const _0x886bff of _0x3b898d??[]){const _0x14cef3=getTrimmedString(_0x886bff[_0x5a89ee(0x8e)]);if(!_0x14cef3)continue;!(_0x14cef3 in _0x3dd57b)&&(_0x3dd57b[_0x14cef3]={'enabled':!_0x1f082c['has'](_0x14cef3)},_0x1a5442=!![]);if(asRecord(_0x3dd57b[_0x14cef3])['enabled']!==![]){const _0x55c61c=dedupeStrings([..._0x21f1e7,_0x14cef3]);_0x55c61c['length']!==_0x21f1e7['length']&&(_0x21f1e7=_0x55c61c,_0x1a5442=!![]);}getTrimmedString(_0x886bff[_0x5a89ee(0x97)])===_0x5a89ee(0x8a)&&_0x14cef3 in _0x462cb4&&(delete _0x462cb4[_0x14cef3],_0x1a5442=!![]);}_0x251ff7['entries']=_0x3dd57b,_0x251ff7[_0x5a89ee(0x94)]=_0x21f1e7;if(Object[_0x5a89ee(0x87)](_0x462cb4)['length']>0x0)_0x251ff7['installs']=_0x462cb4;else delete _0x251ff7[_0x5a89ee(0x8c)];return{'plugins':_0x251ff7,'changed':_0x1a5442};}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const _0x1ac15e=_0x3c35;(function(_0x2ff79c,_0x42f9a9){const _0x1352c0=_0x3c35,_0x388a0c=_0x2ff79c();while(!![]){try{const _0x5438cc=parseInt(_0x1352c0(0x18a))/0x1+-parseInt(_0x1352c0(0x182))/0x2*(parseInt(_0x1352c0(0x181))/0x3)+-parseInt(_0x1352c0(0x194))/0x4+parseInt(_0x1352c0(0x179))/0x5*(-parseInt(_0x1352c0(0x17a))/0x6)+parseInt(_0x1352c0(0x183))/0x7*(parseInt(_0x1352c0(0x17d))/0x8)+-parseInt(_0x1352c0(0x19e))/0x9*(parseInt(_0x1352c0(0x195))/0xa)+-parseInt(_0x1352c0(0x19f))/0xb*(-parseInt(_0x1352c0(0x191))/0xc);if(_0x5438cc===_0x42f9a9)break;else _0x388a0c['push'](_0x388a0c['shift']());}catch(_0x290559){_0x388a0c['push'](_0x388a0c['shift']());}}}(_0x526a,0xedd1a));import{join}from'node:path';import{createFileLogger}from'@wujie-shell/logger';function _0x3c35(_0x3bef4c,_0x2a7541){_0x3bef4c=_0x3bef4c-0x172;const _0x526a45=_0x526a();let _0x3c3583=_0x526a45[_0x3bef4c];return _0x3c3583;}const RUNTIME_LOG_MAX_BYTES=0x2*0x400*0x400,RUNTIME_LOG_KEEP_COUNT=0x5,runtimeLoggers=new Map();function _0x526a(){const _0x3505b1=['skillsDi','runtime','dataDir','runtime.','120165KqfgJD','66ITzqdI','dAt','installP','24kjDRFz','get','pluginSp','ecs','5204361LKJcDZ','2TgJpbJ','1562540XbIEEs','productN','isArray','ginPaths','ath','Version','LocalPlu','831907grulVL','openclaw','agents','oot','workflow','logsDirN','resolved','21602868RjhNrF','logsDir','length','97996lQFTbk','14410QIHFJr','ion','plugins','sDir','ame','logger','has','wBin','nodeVers','1899xBYRZt','11tktTJI','product','appId','log'];_0x526a=function(){return _0x3505b1;};return _0x526a();}export function createRuntimeLogger(_0xcacbea,_0x1fa569=_0x1ac15e(0x176)){const _0x1823f6=_0x1ac15e,_0x468a31=_0xcacbea?.[_0x1823f6(0x192)];if(!_0x468a31)return null;const _0x34be5c=join(_0x468a31,'runtime',_0x1823f6(0x178)+_0x1823f6(0x174)),_0x52070e=_0x34be5c+':'+_0x1fa569;return!runtimeLoggers[_0x1823f6(0x19b)](_0x52070e)&&runtimeLoggers['set'](_0x52070e,createFileLogger({'filePath':_0x34be5c,'context':_0x1fa569,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x1823f6(0x17e)](_0x52070e);}export function summarizeShellConfig(_0x8afa8b){const _0x8d1c36=_0x1ac15e;return{'appId':_0x8afa8b[_0x8d1c36(0x173)],'productName':_0x8afa8b[_0x8d1c36(0x184)+'ame'],'projectRoot':_0x8afa8b['projectR'+_0x8d1c36(0x18d)],'dataDir':_0x8afa8b[_0x8d1c36(0x177)],'dataDirName':_0x8afa8b['dataDirN'+_0x8d1c36(0x199)],'logsDirName':_0x8afa8b[_0x8d1c36(0x19a)]?.[_0x8d1c36(0x18f)+_0x8d1c36(0x199)],'logsDir':_0x8afa8b[_0x8d1c36(0x19a)]?.[_0x8d1c36(0x192)],'openclawVersion':_0x8afa8b[_0x8d1c36(0x18b)]?.['openclaw'+_0x8d1c36(0x188)],'nodeVersion':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x19d)+_0x8d1c36(0x196)],'pluginSpecCount':_0x8afa8b[_0x8d1c36(0x18b)]?.['pluginSp'+'ecs']?.[_0x8d1c36(0x193)]??0x0,'localPluginCount':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x190)+_0x8d1c36(0x189)+_0x8d1c36(0x186)]?.['length']??0x0,'agentsDir':_0x8afa8b[_0x8d1c36(0x18b)]?.['agentsDi'+'r'],'skillsDir':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x175)+'r'],'workflowsDir':_0x8afa8b[_0x8d1c36(0x18b)]?.[_0x8d1c36(0x18e)+_0x8d1c36(0x198)]};}export function summarizeRuntimeManifest(_0x3b8439){const _0x1a1bcf=_0x1ac15e;return{'generatedAt':_0x3b8439?.['generate'+_0x1a1bcf(0x17b)],'openclawVersion':_0x3b8439?.[_0x1a1bcf(0x18b)+_0x1a1bcf(0x188)],'nodeVersion':_0x3b8439?.[_0x1a1bcf(0x19d)+'ion'],'pluginCount':Array['isArray'](_0x3b8439?.[_0x1a1bcf(0x197)])?_0x3b8439[_0x1a1bcf(0x197)]['length']:0x0,'pluginSpecCount':Array[_0x1a1bcf(0x185)](_0x3b8439?.[_0x1a1bcf(0x17f)+_0x1a1bcf(0x180)])?_0x3b8439[_0x1a1bcf(0x17f)+'ecs'][_0x1a1bcf(0x193)]:0x0,'agentsInstallPath':_0x3b8439?.[_0x1a1bcf(0x18c)]?.[_0x1a1bcf(0x17c)+_0x1a1bcf(0x187)],'skillsInstallPath':_0x3b8439?.['skills']?.[_0x1a1bcf(0x17c)+'ath'],'wujieclawBin':_0x3b8439?.['wujiecla'+_0x1a1bcf(0x19c)],'product':_0x3b8439?.[_0x1a1bcf(0x172)]};}
|
package/dist/src/runtime.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const _0x52cc87=_0x2db8;(function(_0x1901fe,_0x4948c9){const _0x3612ef=_0x2db8,_0x298565=_0x1901fe();while(!![]){try{const _0x2eded6=parseInt(_0x3612ef(0x1f2))/0x1+-parseInt(_0x3612ef(0x259))/0x2+-parseInt(_0x3612ef(0x24d))/0x3+parseInt(_0x3612ef(0x1b6))/0x4*(-parseInt(_0x3612ef(0x175))/0x5)+parseInt(_0x3612ef(0x262))/0x6*(-parseInt(_0x3612ef(0x209))/0x7)+parseInt(_0x3612ef(0x268))/0x8*(-parseInt(_0x3612ef(0x1d8))/0x9)+parseInt(_0x3612ef(0x229))/0xa;if(_0x2eded6===_0x4948c9)break;else _0x298565['push'](_0x298565['shift']());}catch(_0x354e06){_0x298565['push'](_0x298565['shift']());}}}(_0x3e1c,0x9715d));import{existsSync}from'node:fs';import{createWriteStream}from'node:fs';import{chmod,cp,mkdir,rename,rm,symlink,writeFile}from'node:fs/promises';import{delimiter,dirname,join,relative,resolve}from'node:path';import{fileURLToPath}from'node:url';import{spawn}from'node:child_process';import{get}from'node:https';import{pipeline}from'node:stream/promises';import{getConfigPaths}from'@wujie-shell/config';import{copyDirFresh,getPackageMetadata,readJson,readPluginManifest,toRuntimeRelative,writeJson}from'./utils.mjs';import{createRuntimeLogger,summarizeRuntimeManifest,summarizeShellConfig}from'./runtime-logger.mjs';const RUNTIME_DIR=_0x52cc87(0x184)+_0x52cc87(0x23a),MANIFEST_NAME=_0x52cc87(0x28a)+_0x52cc87(0x27e)+_0x52cc87(0x20a),NPM_INSTALL_TIMEOUT_MS=0xf*0x3c*0x3e8;export function resolveRuntimeRoot(_0x468b3f){if(process.env.WUJIE_SHELL_RUNTIME_ROOT)return resolve(process.env.WUJIE_SHELL_RUNTIME_ROOT);return resolve(_0x468b3f,RUNTIME_DIR);}export function resolveManifestPath(_0x44fb77){return join(_0x44fb77,MANIFEST_NAME);}export async function prepareRuntime(_0xce7b59,{syncOnly:syncOnly=![]}={}){const _0x3ac95d=_0x52cc87,_0x4c7ea6=resolveRuntimeRoot(_0xce7b59[_0x3ac95d(0x182)+_0x3ac95d(0x16a)]),_0x1d6b08=createRuntimeLogger(getConfigPaths(_0xce7b59),_0x3ac95d(0x22b)),_0x340d53=Date['now']();_0x1d6b08?.['info'](_0x3ac95d(0x1a6)+_0x3ac95d(0x211)+_0x3ac95d(0x15c),{'syncOnly':syncOnly,'runtimeRoot':_0x4c7ea6,'shellConfig':summarizeShellConfig(_0xce7b59)});try{const _0x4cc128=await ensureRuntimeBase(_0xce7b59,_0x4c7ea6,{'runtimeLogger':_0x1d6b08,'syncOnly':syncOnly});_0x1d6b08?.[_0x3ac95d(0x28e)](_0x3ac95d(0x211)+'manifest'+_0x3ac95d(0x1c0),{'manifestPath':resolveManifestPath(_0x4c7ea6),'manifest':summarizeRuntimeManifest(_0x4cc128)}),validateRuntimeNodeVersion(_0x4cc128,_0xce7b59),_0x1d6b08?.[_0x3ac95d(0x28e)]('runtime\x20'+_0x3ac95d(0x17f)+_0x3ac95d(0x181)+'idated',{'nodeVersion':_0x4cc128['nodeVers'+_0x3ac95d(0x269)]});if(syncOnly)validateRuntimeOpenClawVersion(_0x4cc128,_0xce7b59),_0x1d6b08?.[_0x3ac95d(0x28e)]('runtime\x20'+_0x3ac95d(0x14e)+_0x3ac95d(0x1b8)+_0x3ac95d(0x200)+'ed',{'openclawVersion':_0x4cc128[_0x3ac95d(0x14e)+'Version']});else{if(_0x4cc128[_0x3ac95d(0x14e)+_0x3ac95d(0x221)]!==_0xce7b59[_0x3ac95d(0x14e)][_0x3ac95d(0x14e)+_0x3ac95d(0x221)]){const _0x45f182=await loadRuntimeInfo(_0xce7b59[_0x3ac95d(0x182)+_0x3ac95d(0x16a)]);_0x1d6b08?.[_0x3ac95d(0x28e)](_0x3ac95d(0x14e)+_0x3ac95d(0x1a4)+_0x3ac95d(0x171)+'\x20started',{'fromVersion':_0x4cc128[_0x3ac95d(0x14e)+_0x3ac95d(0x221)]||'unknown','toVersion':_0xce7b59['openclaw'][_0x3ac95d(0x14e)+_0x3ac95d(0x221)]}),await installOpenClawPackage(_0x45f182,_0xce7b59[_0x3ac95d(0x14e)][_0x3ac95d(0x14e)+_0x3ac95d(0x221)]),_0x4cc128[_0x3ac95d(0x14e)+'Version']=_0xce7b59[_0x3ac95d(0x14e)][_0x3ac95d(0x14e)+_0x3ac95d(0x221)],_0x1d6b08?.['info'](_0x3ac95d(0x14e)+_0x3ac95d(0x1a4)+'\x20install'+_0x3ac95d(0x1ca)+'ed',{'openclawVersion':_0x4cc128[_0x3ac95d(0x14e)+'Version']});}}_0x4cc128['generate'+_0x3ac95d(0x213)]=new Date()[_0x3ac95d(0x216)+_0x3ac95d(0x1ff)](),_0x4cc128[_0x3ac95d(0x246)+_0x3ac95d(0x269)]=_0xce7b59[_0x3ac95d(0x14e)][_0x3ac95d(0x246)+_0x3ac95d(0x269)],_0x4cc128[_0x3ac95d(0x163)]={'appId':_0xce7b59[_0x3ac95d(0x24b)],'productName':_0xce7b59['productN'+'ame'],'dataDirName':_0xce7b59[_0x3ac95d(0x159)+'ame']};const _0xe2091c=Array[_0x3ac95d(0x231)](_0x4cc128[_0x3ac95d(0x1e3)])?_0x4cc128[_0x3ac95d(0x1e3)][_0x3ac95d(0x152)]:0x0;return await syncManifestPluginScope(_0xce7b59,_0x4c7ea6,_0x4cc128),_0x1d6b08?.[_0x3ac95d(0x28e)](_0x3ac95d(0x211)+_0x3ac95d(0x193)+'cope\x20syn'+_0x3ac95d(0x250),{'beforePluginCount':_0xe2091c,'afterPluginCount':Array[_0x3ac95d(0x231)](_0x4cc128['plugins'])?_0x4cc128[_0x3ac95d(0x1e3)][_0x3ac95d(0x152)]:0x0,'pluginSpecCount':Array['isArray'](_0x4cc128[_0x3ac95d(0x1e4)+_0x3ac95d(0x1fa)])?_0x4cc128[_0x3ac95d(0x1e4)+_0x3ac95d(0x1fa)][_0x3ac95d(0x152)]:0x0}),await syncProductPlugins(_0xce7b59,_0x4c7ea6,_0x4cc128),_0x1d6b08?.[_0x3ac95d(0x28e)](_0x3ac95d(0x1aa)+_0x3ac95d(0x21f)+_0x3ac95d(0x1a1),{'localPluginCount':_0xce7b59[_0x3ac95d(0x14e)]['resolved'+_0x3ac95d(0x1cb)+'ginPaths'][_0x3ac95d(0x152)],'pluginCount':Array[_0x3ac95d(0x231)](_0x4cc128['plugins'])?_0x4cc128[_0x3ac95d(0x1e3)][_0x3ac95d(0x152)]:0x0}),await syncProductAgents(_0xce7b59,_0x4c7ea6,_0x4cc128),_0x1d6b08?.[_0x3ac95d(0x28e)](_0x3ac95d(0x1aa)+_0x3ac95d(0x241)+'ynced',{'source':_0xce7b59[_0x3ac95d(0x14e)]['agentsDi'+'r'],'installPath':_0x4cc128[_0x3ac95d(0x27c)]?.['installP'+_0x3ac95d(0x151)]}),await syncProductSkills(_0xce7b59,_0x4c7ea6,_0x4cc128),_0x1d6b08?.['info'](_0x3ac95d(0x1aa)+_0x3ac95d(0x274)+'ynced',{'source':_0xce7b59['openclaw']['skillsDi'+'r'],'installPath':_0x4cc128[_0x3ac95d(0x233)]?.[_0x3ac95d(0x20d)+_0x3ac95d(0x151)]}),await syncRuntimeWrapper(_0xce7b59,_0x4c7ea6,_0x4cc128),_0x1d6b08?.[_0x3ac95d(0x28e)]('runtime\x20'+_0x3ac95d(0x26a)+'synced',{'wujieclawBin':_0x4cc128[_0x3ac95d(0x222)+_0x3ac95d(0x249)]}),await writeJson(resolveManifestPath(_0x4c7ea6),_0x4cc128),_0x1d6b08?.[_0x3ac95d(0x28e)](_0x3ac95d(0x211)+'manifest'+_0x3ac95d(0x173),{'manifestPath':resolveManifestPath(_0x4c7ea6),'manifest':summarizeRuntimeManifest(_0x4cc128),'durationMs':Date[_0x3ac95d(0x263)]()-_0x340d53}),await _0x1d6b08?.['flush'](),_0x4cc128;}catch(_0xa57810){_0x1d6b08?.[_0x3ac95d(0x1ee)]('prepare\x20'+_0x3ac95d(0x211)+_0x3ac95d(0x261),{'syncOnly':syncOnly,'runtimeRoot':_0x4c7ea6,'durationMs':Date[_0x3ac95d(0x263)]()-_0x340d53,'error':_0xa57810}),await _0x1d6b08?.[_0x3ac95d(0x204)]();throw _0xa57810;}}function _0x3e1c(){const _0x1a2be4=['time-too','\x20can\x20be\x20','\x20doctor\x20','runtime-','law\x20','ed\x20OpenC','every','info','openclaw','download','\x22==\x22\x22\x20se','ath','length','spec','\x20\x22$0\x22)\x22\x20','--no-aud','arm64','\x20returne','/opencla','dataDirN','config=','time]\x20in','started','\x20product','ut\x20after','m/bin/np','npm\x20pack','s/wujie-','base\x20bui','product','fix\x20alre','IPT_DIR=','../asset','nning\x20op','rname\x20--','d\x20to\x20','oot','ujie-log','npm-glob','npmCli','/node','rg/dist/','w.mjs','\x20install','headers','\x20written','ginPaths','5ynLdEm','env','--no-fun','er\x20writt','arch','log','&&\x20pwd)','nodejs.o','runtimeL','join','node\x20ver','filter','sion\x20val','projectR','utf8','.tmp/run','ATE_DIR%','\x20bin\x20was','base\x20alr','resolved','node','ame','CONFIG_P','NCLAW_ST','npm','HOME=\x22${','dataDir','CRIPT_DI','doctor','kill','plugin\x20s','NCLAW_HO','IR=$(CDP','\x20-z\x20\x22$WU','leted','dules/np','R=\x22${OPE','NCLAW_CO','add','#!/bin/s','PT_DIR/','local','ignore','resume','synced','d:\x20','ogger','\x20package','-peer-de','prepare\x20','set\x20\x22OPE','rg/','STATE_DI','product\x20','required','then','nodeExec','fix\x20comp','\x20not\x20fou','OpenClaw','object','Spec','eer','name','\x20-g','1912728hdLaZx','ules','\x20version','if\x20\x22%OPE','OME=','FILE%\x5c','ie-shell','--omit=d','execPath','PENCLAW_','\x20loaded','.node','atch:\x20ma',',\x20shell.','toString','ll\x20||\x20tr','octor\x20--','_modules','replace','bin','\x20complet','LocalPlu','configPa','stdout','NFIG_PAT','\x20set\x20\x22OP','runtimeS','dist','[wujie-s','Version\x20','extensio','npm\x20root','stderr','replaceA','18EMDJft','\x22%SCRIPT','lib/node','Run\x20\x22wuj','ATE_DIR:','tar','Bin','eady\x20cur','OPENCLAW','allowMis','ME%\x22==\x22\x22','plugins','pluginSp','path:\x20','statusCo','mismatch','%USERPRO','\x20signal=','trim','-xJf','_DIR%','hell:run','error','WorkingD','skillsDi','\x20did\x20not','1131930DyYYZw','agentsDi','\x20\x20\x22$SCRI','/npm','string','.tools','SIGTERM','>/dev/nu','ecs','parse','fix\x20mark','npm-cli.','l\x20prepar','ing','\x20validat','\x20runtime','versions','tateDir','flush','cwd','%~dp0\x22','runtimeR','rent','7fhMDDt','.json','go.mjs','$HOME/','installP','\x20timed\x20o','\x20failed\x20','not\x20foun','runtime\x20','fix\x20star','dAt','npm-cach','d\x20an\x20inv','toISOStr','w.json\x22','map','slice','\x22\x20so\x20the','st=','node_mod','set\x20\x22SCR','OGO\x22\x20];\x20','plugins\x20','Name','Version','wujiecla','ENCLAW_H','\x22\x20at\x20','d\x20for\x20lo','unknown','stalling','https://','22598130MOstBO','tar.xz','runtime','has','--\x20\x22$(di','json','alid\x20pay','1\x20]\x20&&\x20[','isArray','w.cmd','skills','pipe','data','version','\x20paths','missing\x20','platform','time','label','package','.opencla','lib','Claw','zip','agents\x20s','extract\x20','if\x20[\x20-t\x20','export\x20O','ncies','nodeVers','install','\x5copencla','wBin','\x20is\x20miss','appId','SCRIPT_D','616977WtstSm','--fix','node-v','ced','sion\x20mis','win32','ATH=\x20cd\x20','with\x20the','.npmjs.o','\x20depende',':\x20manife','filename','1838870xrnYOx','/node_mo','o.mjs\x22\x202','close','LAW_STAT','ld\x20start','w-extrac','source','failed','6121068PqBiZv','now','m-cli.js','\x20prepare','x64','.cache','597776PBVmoD','ion','wrapper\x20','null','wujie-lo','sion.','ATH:-','H%\x22==\x22\x22\x20',';\x20run\x20wu','local:','-extract','agentSco','skills\x20s','pluginId','\x20create\x20','t\x20\x22OPENC','\x20configu','nd\x20after','JIE_NO_L','rebuilt\x20','agents','catch','manifest','utable','-doctor.','time]\x20do','location','ime\x20buil','ent','--json','registry'];_0x3e1c=function(){return _0x1a2be4;};return _0x3e1c();}async function syncRuntimeWrapper(_0x41b615,_0x11398d,_0x195eaa){const _0xb5180b=_0x52cc87,_0x4f4537=join(_0x11398d,'bin',_0xb5180b(0x222)+'w'),_0x4aa6de=join(_0x11398d,'bin','wujiecla'+_0xb5180b(0x232)),_0x388f5a=normalizeRuntimeRelativePath(relative(dirname(_0x4f4537),resolve(_0x11398d,_0x195eaa[_0xb5180b(0x1ad)+_0xb5180b(0x27f)]))),_0xf62dc7=normalizeRuntimeRelativePath(relative(dirname(_0x4f4537),resolve(_0x11398d,_0x195eaa[_0xb5180b(0x14e)+'Bin']))),_0xc72fc5=_0xb5180b(0x20c)+_0x41b615[_0xb5180b(0x159)+'ame'],_0x548ce0=_0xb5180b(0x1e8)+_0xb5180b(0x1bb)+_0x41b615[_0xb5180b(0x159)+_0xb5180b(0x18a)];await mkdir(dirname(_0x4f4537),{'recursive':!![]});const _0x11d7b6=fileURLToPath(new URL(_0xb5180b(0x166)+_0xb5180b(0x161)+'logo.mjs',import.meta.url)),_0x16159f=join(_0x11398d,_0xb5180b(0x1c9),_0xb5180b(0x26c)+_0xb5180b(0x20b));await cp(_0x11d7b6,_0x16159f),await writeFile(_0x4f4537,[_0xb5180b(0x19c)+'h',_0xb5180b(0x244)+_0xb5180b(0x1bf)+_0xb5180b(0x18e)+_0xb5180b(0x1e0)+'_HOME:-'+_0xc72fc5+'}\x22',_0xb5180b(0x244)+'PENCLAW_'+_0xb5180b(0x1a9)+_0xb5180b(0x199)+'NCLAW_ST'+_0xb5180b(0x1dc)+'-'+_0xc72fc5+'}\x22',_0xb5180b(0x244)+_0xb5180b(0x1bf)+_0xb5180b(0x18b)+'ATH=\x22${O'+_0xb5180b(0x1bf)+'CONFIG_P'+_0xb5180b(0x26e)+_0xc72fc5+(_0xb5180b(0x158)+'w.json}\x22'),_0xb5180b(0x24c)+_0xb5180b(0x195)+_0xb5180b(0x253)+_0xb5180b(0x22d)+_0xb5180b(0x168)+_0xb5180b(0x154)+_0xb5180b(0x17b),_0xb5180b(0x243)+_0xb5180b(0x230)+_0xb5180b(0x196)+_0xb5180b(0x27a)+_0xb5180b(0x21e)+_0xb5180b(0x1ac),_0xb5180b(0x1f4)+'PT_DIR/'+_0x388f5a+('\x22\x20\x22$SCRI'+'PT_DIR/w'+_0xb5180b(0x16b)+_0xb5180b(0x25b)+_0xb5180b(0x1f9)+_0xb5180b(0x1c5)+'ue'),'fi','exec\x20\x22$S'+_0xb5180b(0x190)+'R/'+_0x388f5a+('\x22\x20\x22$SCRI'+_0xb5180b(0x19d))+_0xf62dc7+'\x22\x20\x22$@\x22','']['join']('\x0a'),_0xb5180b(0x183)),await chmod(_0x4f4537,0x1ed),await writeFile(_0x4aa6de,['@echo\x20of'+'f',_0xb5180b(0x1b9)+_0xb5180b(0x194)+_0xb5180b(0x1e2)+_0xb5180b(0x1cf)+_0xb5180b(0x223)+_0xb5180b(0x1ba)+_0x548ce0+'\x22',_0xb5180b(0x1b9)+_0xb5180b(0x18c)+_0xb5180b(0x185)+_0xb5180b(0x150)+_0xb5180b(0x277)+_0xb5180b(0x25d)+'E_DIR='+_0x548ce0+'\x22',_0xb5180b(0x1b9)+_0xb5180b(0x19a)+'NFIG_PAT'+_0xb5180b(0x26f)+_0xb5180b(0x1a7)+'NCLAW_CO'+_0xb5180b(0x1ce)+'H='+_0x548ce0+(_0xb5180b(0x248)+_0xb5180b(0x217)),_0xb5180b(0x21d)+_0xb5180b(0x165)+_0xb5180b(0x206),_0xb5180b(0x1d9)+_0xb5180b(0x1ec)+toWindowsPath(_0x388f5a)+('\x22\x20\x22%SCRI'+'PT_DIR%')+toWindowsPath(_0xf62dc7)+'\x22\x20%*','']['join']('\x0d\x0a'),_0xb5180b(0x183)),_0x195eaa[_0xb5180b(0x222)+'wBin']=toRuntimeRelative(_0x11398d,process[_0xb5180b(0x239)]===_0xb5180b(0x252)?_0x4aa6de:_0x4f4537);}function normalizeRuntimeRelativePath(_0x41f10d){const _0x51d45f=_0x52cc87;return _0x41f10d[_0x51d45f(0x1d7)+'ll']('\x5c','/');}function toWindowsPath(_0x5ebee3){return _0x5ebee3['replaceA'+'ll']('/','\x5c');}function validateRuntimeNodeVersion(_0x3eb7b7,_0x27ae92){const _0x14a2f4=_0x52cc87;if(_0x3eb7b7[_0x14a2f4(0x246)+_0x14a2f4(0x269)]===_0x27ae92['openclaw'][_0x14a2f4(0x246)+_0x14a2f4(0x269)])return;throw new Error(_0x14a2f4(0x211)+_0x14a2f4(0x246)+'ion\x20mism'+_0x14a2f4(0x1c2)+'nifest='+(_0x3eb7b7['nodeVers'+_0x14a2f4(0x269)]||'unknown')+(_0x14a2f4(0x1c3)+_0x14a2f4(0x15a))+_0x27ae92['openclaw'][_0x14a2f4(0x246)+_0x14a2f4(0x269)]+'.\x20'+(_0x14a2f4(0x1db)+_0x14a2f4(0x1bc)+_0x14a2f4(0x265)+'\x22\x20so\x20the'+_0x14a2f4(0x15d)+_0x14a2f4(0x201)+_0x14a2f4(0x288)+_0x14a2f4(0x27b)+_0x14a2f4(0x254)+_0x14a2f4(0x278)+'red\x20Node'+'\x20version'+'.'));}function validateRuntimeOpenClawVersion(_0x20a3c1,_0x333e58){const _0x28c84f=_0x52cc87;if(_0x20a3c1[_0x28c84f(0x14e)+_0x28c84f(0x221)]===_0x333e58[_0x28c84f(0x14e)][_0x28c84f(0x14e)+_0x28c84f(0x221)])return;throw new Error('runtime\x20'+_0x28c84f(0x14e)+_0x28c84f(0x1d3)+_0x28c84f(0x1e7)+_0x28c84f(0x257)+_0x28c84f(0x21b)+(_0x20a3c1[_0x28c84f(0x14e)+_0x28c84f(0x221)]||_0x28c84f(0x226))+(_0x28c84f(0x1c3)+_0x28c84f(0x15a))+_0x333e58[_0x28c84f(0x14e)]['openclaw'+_0x28c84f(0x221)]+'.\x20'+(_0x28c84f(0x1db)+_0x28c84f(0x1bc)+'\x20prepare'+_0x28c84f(0x21a)+_0x28c84f(0x201)+'\x20can\x20ins'+'tall\x20the'+_0x28c84f(0x278)+'red\x20Open'+'Claw\x20ver'+_0x28c84f(0x26d)));}function parseNpmPackJson(_0x424c83){const _0x2c1b3d=_0x52cc87,_0x1c6103=_0x424c83[_0x2c1b3d(0x1ea)](),_0x31c6bc=_0x1c6103['indexOf']('[');if(_0x31c6bc<0x0)throw new Error('npm\x20pack'+_0x2c1b3d(0x1f1)+'\x20return\x20'+'JSON:\x20'+_0x1c6103['slice'](0x0,0x1f4));const _0x1cebc3=JSON[_0x2c1b3d(0x1fb)](_0x1c6103[_0x2c1b3d(0x219)](_0x31c6bc)),_0x388b1a=Array[_0x2c1b3d(0x231)](_0x1cebc3)?_0x1cebc3[0x0]:_0x1cebc3;if(!_0x388b1a||typeof _0x388b1a!==_0x2c1b3d(0x1b1))throw new Error(_0x2c1b3d(0x160)+_0x2c1b3d(0x157)+_0x2c1b3d(0x215)+_0x2c1b3d(0x22f)+'load:\x20'+_0x1c6103[_0x2c1b3d(0x219)](0x0,0x1f4));return _0x388b1a;}async function runProcess(_0x233a2a,_0x5384ff,_0x205022={}){const _0x2cfd6f=_0x52cc87,_0x5993ee=_0x205022[_0x2cfd6f(0x23b)]||[_0x233a2a,..._0x5384ff][_0x2cfd6f(0x17e)]('\x20'),_0x316f24=_0x205022['timeoutM'+'s']??NPM_INSTALL_TIMEOUT_MS,_0x5cae99=spawn(_0x233a2a,_0x5384ff,{'cwd':_0x205022[_0x2cfd6f(0x205)],'env':_0x205022[_0x2cfd6f(0x176)],'stdio':[_0x2cfd6f(0x19f),_0x2cfd6f(0x234),_0x2cfd6f(0x234)]});return await new Promise((_0x193d19,_0x5ce5cf)=>{const _0x2e7ac4=_0x2cfd6f;let _0x14039d='',_0x58276f='',_0x1e534b=![];const _0x325df8=setTimeout(()=>{const _0x361eee=_0x2db8;if(_0x1e534b)return;_0x1e534b=!![],_0x5cae99[_0x361eee(0x192)](_0x361eee(0x1f8)),_0x5ce5cf(new Error(_0x5993ee+('\x20timed\x20o'+_0x361eee(0x15e)+'\x20')+_0x316f24+'ms'));},_0x316f24);_0x5cae99[_0x2e7ac4(0x1cd)]['on'](_0x2e7ac4(0x235),_0x5e7b5c=>{const _0x4784bf=_0x2e7ac4;_0x14039d+=_0x5e7b5c[_0x4784bf(0x1c4)]();}),_0x5cae99[_0x2e7ac4(0x1d6)]['on'](_0x2e7ac4(0x235),_0x2f5688=>{const _0x110d0d=_0x2e7ac4;_0x58276f+=_0x2f5688[_0x110d0d(0x1c4)]();}),_0x5cae99['on']('error',_0x452567=>{if(_0x1e534b)return;_0x1e534b=!![],clearTimeout(_0x325df8),_0x5ce5cf(_0x452567);}),_0x5cae99['on'](_0x2e7ac4(0x25c),(_0xb02c0a,_0x3e285b)=>{const _0x5b0a44=_0x2e7ac4;if(_0x1e534b)return;_0x1e534b=!![],clearTimeout(_0x325df8);if(_0xb02c0a===0x0){_0x193d19({'stdout':_0x14039d,'stderr':_0x58276f});return;}_0x5ce5cf(new Error(_0x5993ee+(_0x5b0a44(0x20f)+'with\x20cod'+'e=')+(_0xb02c0a??'null')+_0x5b0a44(0x1e9)+(_0x3e285b??_0x5b0a44(0x26b))+'\x0a'+(''+(_0x58276f||_0x14039d))[_0x5b0a44(0x1ea)]()));});});}async function installOpenClawPackage(_0x44c894,_0x49ee24){const _0x1bb11a=_0x52cc87,_0x2e0ce0=join(_0x44c894['runtimeR'+_0x1bb11a(0x16a)],_0x1bb11a(0x267)),_0x37c78b=join(_0x44c894[_0x1bb11a(0x207)+'oot'],_0x1bb11a(0x23d)+_0x1bb11a(0x25f)+'t');await mkdir(_0x2e0ce0,{'recursive':!![]}),await rm(_0x37c78b,{'recursive':!![],'force':!![]}),await mkdir(_0x37c78b,{'recursive':!![]});const _0x27b4e3=await createRuntimeEnv(_0x44c894),_0x234d2f=_0x1bb11a(0x14e)+'@'+_0x49ee24;console[_0x1bb11a(0x17a)](_0x1bb11a(0x1d2)+_0x1bb11a(0x1ed)+_0x1bb11a(0x15b)+_0x1bb11a(0x227)+'\x20'+_0x234d2f);const _0x4fa388=await runProcess(_0x44c894['nodeExec'+_0x1bb11a(0x27f)],[_0x44c894[_0x1bb11a(0x16d)],'pack',_0x234d2f,_0x1bb11a(0x285)],{'cwd':_0x2e0ce0,'env':_0x27b4e3,'label':_0x1bb11a(0x160)+'\x20'+_0x234d2f}),_0x506408=parseNpmPackJson(_0x4fa388['stdout']);if(_0x506408[_0x1bb11a(0x236)]!==_0x49ee24)throw new Error('Configur'+_0x1bb11a(0x28c)+_0x1bb11a(0x28b)+_0x49ee24+('\x20resolve'+_0x1bb11a(0x169))+_0x506408[_0x1bb11a(0x236)]);const _0x2c8005=resolve(_0x2e0ce0,_0x506408[_0x1bb11a(0x258)]);if(!existsSync(_0x2c8005))throw new Error(_0x1bb11a(0x160)+_0x1bb11a(0x1f1)+_0x1bb11a(0x276)+'tarball:'+'\x20'+_0x2c8005);await runProcess('tar',['-xzf',_0x2c8005,'-C',_0x37c78b],{'label':'extract\x20'+_0x506408['filename']}),await rm(_0x44c894[_0x1bb11a(0x14e)+'WorkingD'+'ir'],{'recursive':!![],'force':!![]}),await rename(join(_0x37c78b,_0x1bb11a(0x23c)),_0x44c894[_0x1bb11a(0x14e)+'WorkingD'+'ir']),await rm(_0x37c78b,{'recursive':!![],'force':!![]}),await runProcess(_0x44c894[_0x1bb11a(0x1ad)+_0x1bb11a(0x27f)],[_0x44c894[_0x1bb11a(0x16d)],_0x1bb11a(0x247),_0x1bb11a(0x1bd)+'ev','--omit=p'+_0x1bb11a(0x1b3),_0x1bb11a(0x155)+'it',_0x1bb11a(0x177)+'d','--legacy'+_0x1bb11a(0x1a5)+'ps'],{'cwd':_0x44c894[_0x1bb11a(0x14e)+_0x1bb11a(0x1ef)+'ir'],'env':_0x27b4e3,'label':'npm\x20inst'+'all\x20'+_0x234d2f+(_0x1bb11a(0x201)+_0x1bb11a(0x256)+_0x1bb11a(0x245))});if(!existsSync(_0x44c894['openclaw'+'Bin']))throw new Error(_0x1bb11a(0x1b0)+_0x1bb11a(0x186)+_0x1bb11a(0x1af)+_0x1bb11a(0x279)+'\x20install'+':\x20'+_0x44c894['openclaw'+_0x1bb11a(0x1de)]);}async function ensureRuntimeBase(_0x53a3bf,_0x5b6f99,_0x299d75={}){const _0x24ca0b=_0x52cc87;await mkdir(_0x5b6f99,{'recursive':!![]});let _0x247c9a=await readRuntimeManifest(_0x5b6f99);const _0x1d9a4d=_0x53a3bf['openclaw'][_0x24ca0b(0x246)+_0x24ca0b(0x269)],_0x28dbd8=_0x53a3bf[_0x24ca0b(0x14e)]['openclaw'+_0x24ca0b(0x221)],_0x1780eb=existsSync(resolveManifestPath(_0x5b6f99)),_0x41c11c=runtimeHasRequiredPaths(_0x5b6f99,_0x247c9a),_0x11ca96=_0x247c9a[_0x24ca0b(0x246)+_0x24ca0b(0x269)]===_0x1d9a4d;!_0x1780eb||!_0x41c11c||!_0x11ca96?(_0x299d75[_0x24ca0b(0x17d)+'ogger']?.[_0x24ca0b(0x28e)]('runtime\x20'+_0x24ca0b(0x162)+_0x24ca0b(0x25e)+'ed',{'runtimeRoot':_0x5b6f99,'reason':!_0x1780eb?_0x24ca0b(0x238)+_0x24ca0b(0x27e):!_0x41c11c?_0x24ca0b(0x238)+_0x24ca0b(0x1ab)+_0x24ca0b(0x201)+_0x24ca0b(0x237):_0x24ca0b(0x17f)+_0x24ca0b(0x251)+'match','syncOnly':_0x299d75['syncOnly']}),_0x247c9a=await buildRuntimeBase(_0x53a3bf,_0x5b6f99,_0x247c9a),_0x299d75[_0x24ca0b(0x17d)+_0x24ca0b(0x1a3)]?.[_0x24ca0b(0x28e)](_0x24ca0b(0x211)+_0x24ca0b(0x162)+'ld\x20compl'+'eted',{'manifest':summarizeRuntimeManifest(_0x247c9a)})):_0x299d75[_0x24ca0b(0x17d)+_0x24ca0b(0x1a3)]?.[_0x24ca0b(0x28e)](_0x24ca0b(0x211)+_0x24ca0b(0x187)+_0x24ca0b(0x1df)+_0x24ca0b(0x208),{'manifest':summarizeRuntimeManifest(_0x247c9a)});if(!existsSync(resolve(_0x5b6f99,_0x247c9a[_0x24ca0b(0x14e)+_0x24ca0b(0x1de)]))){const _0x2d2d0a=createRuntimeInfoFromManifest(_0x5b6f99,_0x247c9a,{'allowMissingOpenClaw':!![]});await installOpenClawPackage(_0x2d2d0a,_0x28dbd8),_0x247c9a[_0x24ca0b(0x14e)+_0x24ca0b(0x221)]=_0x28dbd8;}return _0x247c9a;}function runtimeHasRequiredPaths(_0x2bccfe,_0x21cdd4){const _0x3f346f=_0x52cc87;return[_0x3f346f(0x1ad)+_0x3f346f(0x27f),'npmCli',_0x3f346f(0x14e)+_0x3f346f(0x1ef)+'ir',_0x3f346f(0x14e)+_0x3f346f(0x1de)][_0x3f346f(0x28d)](_0x222fa4=>typeof _0x21cdd4[_0x222fa4]===_0x3f346f(0x1f6)&&_0x21cdd4[_0x222fa4]['trim']())&&['nodeExec'+_0x3f346f(0x27f),_0x3f346f(0x16d)][_0x3f346f(0x28d)](_0x50425a=>existsSync(resolve(_0x2bccfe,_0x21cdd4[_0x50425a])));}async function buildRuntimeBase(_0x2d1d4a,_0x2d8006,_0x44c8e5={}){const _0x686cab=_0x52cc87,_0x477297=join(_0x2d8006,_0x686cab(0x189));await ensureRuntimeNode(_0x2d1d4a,_0x477297);const _0x2fd614={..._0x44c8e5,'generatedAt':new Date()[_0x686cab(0x216)+'ing'](),'nodeVersion':_0x2d1d4a[_0x686cab(0x14e)][_0x686cab(0x246)+_0x686cab(0x269)],'openclawVersion':_0x44c8e5[_0x686cab(0x14e)+'Version']||'','platform':process['platform'],'arch':process[_0x686cab(0x179)],'nodeExecutable':'node/bin'+_0x686cab(0x16e),'npmCli':'node/lib'+_0x686cab(0x25a)+_0x686cab(0x198)+_0x686cab(0x15f)+_0x686cab(0x264),'openclawWorkingDir':_0x686cab(0x14e),'openclawBin':_0x686cab(0x14e)+_0x686cab(0x158)+_0x686cab(0x170)};return await writeJson(resolveManifestPath(_0x2d8006),_0x2fd614),_0x2fd614;}async function ensureRuntimeNode(_0x1cec61,_0x2f51ec){const _0x2bb09f=_0x52cc87,_0x1b9055=_0x1cec61[_0x2bb09f(0x14e)][_0x2bb09f(0x246)+_0x2bb09f(0x269)],_0x2eebbb=join(_0x2f51ec,_0x2bb09f(0x1c9),_0x2bb09f(0x189)),_0x380cbb=join(_0x2f51ec,_0x2bb09f(0x23e),'node_mod'+_0x2bb09f(0x1b7),_0x2bb09f(0x18d),'bin',_0x2bb09f(0x1fd)+'js');if(existsSync(_0x2eebbb)&&existsSync(_0x380cbb)&&await getNodeVersion(_0x2eebbb)===_0x1b9055)return;await rm(_0x2f51ec,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96});if(process[_0x2bb09f(0x202)][_0x2bb09f(0x189)]===_0x1b9055){await linkCurrentNodeRuntime(_0x2f51ec);return;}await downloadNodeRuntime(_0x1b9055,_0x2f51ec);}async function getNodeVersion(_0xb51c4e){const _0x5a082f=_0x52cc87;try{const _0x2ec5ba=await runProcess(_0xb51c4e,['-p','process.'+'versions'+_0x5a082f(0x1c1)],{'label':_0xb51c4e+'\x20version','timeoutMs':0x7530});return _0x2ec5ba[_0x5a082f(0x1cd)][_0x5a082f(0x1ea)]();}catch{return'';}}async function linkCurrentNodeRuntime(_0x1f1590){const _0x3eafd7=_0x52cc87,_0x5041a3=process[_0x3eafd7(0x1be)],_0x50b302=resolve(dirname(_0x5041a3),'..'),_0x1009a1=resolve(_0x50b302,_0x3eafd7(0x1da)+_0x3eafd7(0x1c7)+_0x3eafd7(0x1f5)),_0x22cf49=join(_0x1f1590,'bin',_0x3eafd7(0x189)),_0x3c95ef=join(_0x1f1590,_0x3eafd7(0x23e),_0x3eafd7(0x21c)+'ules','npm');await mkdir(dirname(_0x22cf49),{'recursive':!![]}),await mkdir(dirname(_0x3c95ef),{'recursive':!![]}),await symlink(_0x5041a3,_0x22cf49),existsSync(_0x1009a1)?await symlink(_0x1009a1,_0x3c95ef):await symlink(await resolveNpmRoot(),_0x3c95ef);}async function resolveNpmRoot(){const _0x58360b=_0x52cc87,_0x3763d8=await runProcess(_0x58360b(0x18d),['root','-g'],{'label':_0x58360b(0x1d5)+_0x58360b(0x1b5),'timeoutMs':0x7530}),_0x41ee2a=join(_0x3763d8['stdout'][_0x58360b(0x1ea)](),_0x58360b(0x18d));if(!existsSync(join(_0x41ee2a,'bin',_0x58360b(0x1fd)+'js')))throw new Error(_0x58360b(0x160)+'age\x20was\x20'+_0x58360b(0x210)+_0x58360b(0x225)+'cal\x20runt'+_0x58360b(0x283)+_0x58360b(0x1a2)+_0x41ee2a);return _0x41ee2a;}async function downloadNodeRuntime(_0x48e32a,_0x4e9bd5){const _0x11bc22=_0x52cc87,_0x173292=process['platform']===_0x11bc22(0x252)?'win':process[_0x11bc22(0x239)],_0x14a4e3=process[_0x11bc22(0x179)]===_0x11bc22(0x266)?_0x11bc22(0x266):process[_0x11bc22(0x179)]===_0x11bc22(0x156)?_0x11bc22(0x156):process['arch'],_0x16dbbb=process[_0x11bc22(0x239)]===_0x11bc22(0x252)?_0x11bc22(0x240):_0x11bc22(0x22a),_0x5c3a12=_0x11bc22(0x24f)+_0x48e32a+'-'+_0x173292+'-'+_0x14a4e3,_0x5eb008=_0x5c3a12+'.'+_0x16dbbb,_0x4b6bde=join(dirname(_0x4e9bd5),_0x11bc22(0x267)),_0x31ff99=join(_0x4b6bde,_0x5eb008),_0x3a0554=join(_0x4b6bde,_0x5c3a12+(_0x11bc22(0x272)+'-')+process['pid']+'-'+Date['now']()),_0x29d6e3=_0x11bc22(0x228)+_0x11bc22(0x17c)+_0x11bc22(0x16f)+'v'+_0x48e32a+'/'+_0x5eb008;await mkdir(_0x4b6bde,{'recursive':!![]}),!existsSync(_0x31ff99)&&(console[_0x11bc22(0x17a)](_0x11bc22(0x1d2)+'hell:run'+_0x11bc22(0x281)+'wnloadin'+'g\x20'+_0x29d6e3),await downloadFile(_0x29d6e3,_0x31ff99)),await rm(_0x3a0554,{'recursive':!![],'force':!![]}),await mkdir(_0x3a0554,{'recursive':!![]}),process[_0x11bc22(0x239)]===_0x11bc22(0x252)?await runProcess('unzip',['-q',_0x31ff99,'-d',_0x3a0554],{'label':_0x11bc22(0x242)+_0x5eb008}):await runProcess(_0x11bc22(0x1dd),[_0x11bc22(0x1eb),_0x31ff99,'-C',_0x3a0554],{'label':_0x11bc22(0x242)+_0x5eb008}),await rename(join(_0x3a0554,_0x5c3a12),_0x4e9bd5),await rm(_0x3a0554,{'recursive':!![],'force':!![]});}async function downloadFile(_0x439450,_0x223654){await mkdir(dirname(_0x223654),{'recursive':!![]});const _0x329ed8=await new Promise((_0x1a13b4,_0x442eb9)=>{const _0x2d6799=_0x2db8;get(_0x439450,_0x541b2d=>{const _0x754375=_0x2db8;if(_0x541b2d['statusCo'+'de']>=0x12c&&_0x541b2d[_0x754375(0x1e6)+'de']<0x190&&_0x541b2d[_0x754375(0x172)][_0x754375(0x282)]){_0x541b2d[_0x754375(0x1a0)](),downloadFile(new URL(_0x541b2d['headers']['location'],_0x439450)['href'],_0x223654)['then'](()=>_0x1a13b4(null))[_0x754375(0x27d)](_0x442eb9);return;}if(_0x541b2d[_0x754375(0x1e6)+'de']!==0xc8){_0x541b2d[_0x754375(0x1a0)](),_0x442eb9(new Error(_0x754375(0x14f)+_0x754375(0x20f)+_0x541b2d[_0x754375(0x1e6)+'de']+':\x20'+_0x439450));return;}_0x1a13b4(_0x541b2d);})['on'](_0x2d6799(0x1ee),_0x442eb9);});_0x329ed8&&await pipeline(_0x329ed8,createWriteStream(_0x223654));}export async function ensureOpenClawDoctorFixed(_0x3008aa,_0x401bbf={}){const _0x5124b6=_0x52cc87,_0x43e6b5=await loadRuntimeInfo(_0x3008aa['projectR'+_0x5124b6(0x16a)]),_0x56a9cc=getConfigPaths(_0x3008aa),_0x417bfa=join(_0x56a9cc[_0x5124b6(0x1d0)+_0x5124b6(0x203)],_0x5124b6(0x14e)+_0x5124b6(0x280)+_0x5124b6(0x22e)),_0x58fe56=await readJson(_0x417bfa,{});if(_0x58fe56['openclaw'+_0x5124b6(0x221)]===_0x43e6b5[_0x5124b6(0x14e)+_0x5124b6(0x221)])return _0x401bbf[_0x5124b6(0x17d)+_0x5124b6(0x1a3)]?.[_0x5124b6(0x28e)]('openclaw'+_0x5124b6(0x289)+_0x5124b6(0x164)+'ady\x20curr'+_0x5124b6(0x284),{'openclawVersion':_0x43e6b5[_0x5124b6(0x14e)+_0x5124b6(0x221)],'markerPath':_0x417bfa}),{'ran':![],'openclawVersion':_0x43e6b5[_0x5124b6(0x14e)+'Version'],'markerPath':_0x417bfa};return await runOpenClawDoctorFix(_0x3008aa,_0x43e6b5,{'fromVersion':_0x58fe56['openclaw'+_0x5124b6(0x221)]||_0x5124b6(0x226),'toVersion':_0x43e6b5[_0x5124b6(0x14e)+_0x5124b6(0x221)],'markerPath':_0x417bfa,'runtimeLogger':_0x401bbf['runtimeL'+_0x5124b6(0x1a3)]}),{'ran':!![],'openclawVersion':_0x43e6b5[_0x5124b6(0x14e)+_0x5124b6(0x221)],'markerPath':_0x417bfa};}async function runOpenClawDoctorFix(_0x517d9d,_0x51b24e,{fromVersion:_0x1d5ebc,toVersion:_0xa19acb,markerPath:markerPath='',runtimeLogger:_0x5911ba}={}){const _0x5e58f3=_0x52cc87;_0x5911ba?.['info'](_0x5e58f3(0x14e)+_0x5e58f3(0x289)+_0x5e58f3(0x212)+'ted',{'fromVersion':_0x1d5ebc,'toVersion':_0xa19acb});const _0x407a61=await createRuntimeEnv(_0x51b24e,{'OPENCLAW_HOME':_0x517d9d[_0x5e58f3(0x18f)],'OPENCLAW_STATE_DIR':_0x517d9d[_0x5e58f3(0x18f)],'OPENCLAW_CONFIG_PATH':getConfigPaths(_0x517d9d)[_0x5e58f3(0x1cc)+'th']});console[_0x5e58f3(0x17a)](_0x5e58f3(0x1d2)+_0x5e58f3(0x1ed)+'time]\x20ru'+_0x5e58f3(0x167)+'enclaw\x20d'+_0x5e58f3(0x1c6)+'fix');const _0x38c201=await runProcess(_0x51b24e[_0x5e58f3(0x1ad)+_0x5e58f3(0x27f)],[_0x51b24e[_0x5e58f3(0x14e)+_0x5e58f3(0x1de)],_0x5e58f3(0x191),_0x5e58f3(0x24e)],{'cwd':_0x51b24e[_0x5e58f3(0x14e)+_0x5e58f3(0x1ef)+'ir'],'env':_0x407a61,'label':_0x5e58f3(0x14e)+_0x5e58f3(0x289)+_0x5e58f3(0x24e),'timeoutMs':0x1d4c0});_0x5911ba?.[_0x5e58f3(0x28e)](_0x5e58f3(0x14e)+_0x5e58f3(0x289)+_0x5e58f3(0x1ae)+_0x5e58f3(0x197),{'fromVersion':_0x1d5ebc,'toVersion':_0xa19acb,'stdout':_0x38c201[_0x5e58f3(0x1cd)][_0x5e58f3(0x1ea)]()[_0x5e58f3(0x219)](-0xfa0),'stderr':_0x38c201[_0x5e58f3(0x1d6)][_0x5e58f3(0x1ea)]()[_0x5e58f3(0x219)](-0xfa0)}),markerPath&&(await writeJson(markerPath,{'openclawVersion':_0x51b24e[_0x5e58f3(0x14e)+'Version'],'fixedAt':new Date()[_0x5e58f3(0x216)+_0x5e58f3(0x1ff)]()}),_0x5911ba?.['info'](_0x5e58f3(0x14e)+_0x5e58f3(0x289)+_0x5e58f3(0x1fc)+_0x5e58f3(0x178)+'en',{'markerPath':markerPath,'openclawVersion':_0x51b24e['openclaw'+_0x5e58f3(0x221)]}));}export async function readRuntimeManifest(_0x136611){return await readJson(resolveManifestPath(_0x136611),{});}export async function loadRuntimeInfo(_0x690016){const _0x270b04=resolveRuntimeRoot(_0x690016),_0x526504=await readRuntimeManifest(_0x270b04);return createRuntimeInfoFromManifest(_0x270b04,_0x526504);}function createRuntimeInfoFromManifest(_0x1e426e,_0x325c19,_0x3a3415={}){const _0x51926b=_0x52cc87;for(const _0x11a71c of[_0x51926b(0x1ad)+_0x51926b(0x27f),_0x51926b(0x16d),'openclaw'+_0x51926b(0x1ef)+'ir',_0x51926b(0x14e)+'Bin']){if(typeof _0x325c19[_0x11a71c]!==_0x51926b(0x1f6)||!_0x325c19[_0x11a71c][_0x51926b(0x1ea)]())throw new Error(_0x51926b(0x211)+_0x51926b(0x27e)+_0x51926b(0x24a)+'ing\x20\x22'+_0x11a71c+_0x51926b(0x224)+resolveManifestPath(_0x1e426e)+(_0x51926b(0x270)+'jie-shel'+_0x51926b(0x1fe)+'e'));}const _0x2c7ec2=resolve(_0x1e426e,_0x325c19[_0x51926b(0x1ad)+_0x51926b(0x27f)]),_0x511d99=resolve(_0x1e426e,_0x325c19[_0x51926b(0x16d)]),_0x35f5f0=resolve(_0x1e426e,_0x325c19['openclaw'+_0x51926b(0x1ef)+'ir']),_0x368ad1=resolve(_0x1e426e,_0x325c19[_0x51926b(0x14e)+'Bin']),_0x241e26=Array[_0x51926b(0x231)](_0x325c19['plugins'])?_0x325c19[_0x51926b(0x1e3)][_0x51926b(0x218)](_0xa9ebca=>({..._0xa9ebca,'installPath':resolve(_0x1e426e,_0xa9ebca['installP'+_0x51926b(0x151)])})):[],_0x33fd25=_0x3a3415[_0x51926b(0x1e1)+'singOpen'+_0x51926b(0x23f)]?[_0x2c7ec2,_0x511d99]:[_0x2c7ec2,_0x511d99,_0x35f5f0,_0x368ad1];for(const _0x1a6086 of _0x33fd25){if(!existsSync(_0x1a6086))throw new Error('runtime\x20'+_0x51926b(0x238)+_0x51926b(0x1e5)+_0x1a6086);}return{'runtimeRoot':_0x1e426e,'manifest':_0x325c19,'openclawVersion':_0x325c19[_0x51926b(0x14e)+_0x51926b(0x221)]||_0x51926b(0x226),'nodeExecutable':_0x2c7ec2,'npmCli':_0x511d99,'openclawWorkingDir':_0x35f5f0,'openclawBin':_0x368ad1,'plugins':_0x241e26};}export async function spawnClaw(_0x287354,_0x1effe4=[],_0x1edd8c={}){const _0x91cab3=_0x52cc87,_0x5eb215=await loadRuntimeInfo(_0x287354),_0x1da4d6=await createRuntimeEnv(_0x5eb215,_0x1edd8c[_0x91cab3(0x176)]??{});return spawn(_0x5eb215[_0x91cab3(0x1ad)+_0x91cab3(0x27f)],[_0x5eb215[_0x91cab3(0x14e)+'Bin'],..._0x1effe4],{'cwd':_0x5eb215[_0x91cab3(0x14e)+_0x91cab3(0x1ef)+'ir'],'stdio':_0x91cab3(0x234),..._0x1edd8c,'env':_0x1da4d6});}export async function runClawOnce(_0x1bfa2d,_0x6c35ce=[],_0x29c99d=0x15f90){const _0x2250ff=await spawnClaw(_0x1bfa2d,_0x6c35ce);return await new Promise((_0x51c318,_0x407936)=>{const _0x22e1b4=_0x2db8;let _0x3698c1='',_0x4cd9d5='',_0x1e038d=![];const _0x82b327=setTimeout(()=>{const _0x4ecaa6=_0x2db8;if(_0x1e038d)return;_0x1e038d=!![],_0x2250ff[_0x4ecaa6(0x192)](_0x4ecaa6(0x1f8)),_0x407936(new Error(_0x4ecaa6(0x14e)+_0x4ecaa6(0x20e)+_0x4ecaa6(0x15e)+'\x20'+_0x29c99d+'ms'));},_0x29c99d);_0x2250ff[_0x22e1b4(0x1cd)]['on'](_0x22e1b4(0x235),_0x4bee29=>{const _0x339ba5=_0x22e1b4;_0x3698c1+=_0x4bee29[_0x339ba5(0x1c4)]();}),_0x2250ff[_0x22e1b4(0x1d6)]['on']('data',_0x1eb2a0=>{const _0x172b7e=_0x22e1b4;_0x4cd9d5+=_0x1eb2a0[_0x172b7e(0x1c4)]();}),_0x2250ff['on']('error',_0x1749cc=>{if(_0x1e038d)return;_0x1e038d=!![],clearTimeout(_0x82b327),_0x407936(_0x1749cc);}),_0x2250ff['on'](_0x22e1b4(0x25c),(_0x21a164,_0x26efc6)=>{if(_0x1e038d)return;_0x1e038d=!![],clearTimeout(_0x82b327),_0x51c318({'code':_0x21a164,'signal':_0x26efc6,'stdout':_0x3698c1,'stderr':_0x4cd9d5});});});}async function createRuntimeEnv(_0x39a27e,_0x2e4f41={}){const _0x1fef14=_0x52cc87,_0x524e7d=process.env.OPENCLAW_STATE_DIR||'',_0x2a8dd1=_0x524e7d?join(_0x524e7d,'claw-run'+_0x1fef14(0x287)+'ls'):join(_0x39a27e[_0x1fef14(0x207)+'oot'],_0x1fef14(0x1f7)),_0x2a145d=join(_0x2a8dd1,_0x1fef14(0x16c)+'al'),_0x55efb3=join(_0x2a8dd1,_0x1fef14(0x214)+'e'),_0x64f66a=join(_0x2a145d,'bin');await mkdir(_0x64f66a,{'recursive':!![]}),await mkdir(_0x55efb3,{'recursive':!![]});const _0x3aad40=[_0x64f66a,dirname(_0x39a27e['nodeExec'+_0x1fef14(0x27f)]),process.env.PATH||''];return{...process.env,..._0x2e4f41,'PATH':_0x3aad40[_0x1fef14(0x180)](Boolean)['join'](delimiter),'npm_config_prefix':_0x2a145d,'NPM_CONFIG_PREFIX':_0x2a145d,'npm_config_cache':_0x55efb3,'NPM_CONFIG_CACHE':_0x55efb3,'npm_config_registry':_0x1fef14(0x228)+_0x1fef14(0x286)+_0x1fef14(0x255)+'rg/','NPM_CONFIG_REGISTRY':_0x1fef14(0x228)+_0x1fef14(0x286)+_0x1fef14(0x255)+_0x1fef14(0x1a8),'npm_execpath':_0x39a27e[_0x1fef14(0x16d)],'npm_node_execpath':_0x39a27e[_0x1fef14(0x1ad)+'utable'],'OPENCLAW_RUNTIME_NPM_PREFIX':_0x2a145d,'OPENCLAW_RUNTIME_NPM_BIN':_0x64f66a,'OPENCLAW_RUNTIME_NPM_REGISTRY':_0x1fef14(0x228)+_0x1fef14(0x286)+'.npmjs.o'+'rg/'};}async function syncProductPlugins(_0x31b212,_0x71c37,_0x25d6da){const _0x46be36=_0x52cc87,_0x107cbe=join(_0x71c37,_0x46be36(0x14e),'dist',_0x46be36(0x1d4)+'ns'),_0x42e2a8=[];for(const _0x5cecb1 of _0x31b212['openclaw']['resolved'+_0x46be36(0x1cb)+_0x46be36(0x174)]){const _0x22c5bd=await getPackageMetadata(_0x5cecb1),_0x3a6246=await readPluginManifest(_0x5cecb1),_0xc8fc19=join(_0x107cbe,_0x22c5bd[_0x46be36(0x275)]);await copyDirFresh(_0x5cecb1,_0xc8fc19),_0x42e2a8['push']({'pluginId':_0x22c5bd[_0x46be36(0x275)],'source':_0x46be36(0x19e),'spec':_0x46be36(0x271)+_0x5cecb1,'installPath':toRuntimeRelative(_0x71c37,_0xc8fc19),'version':_0x22c5bd[_0x46be36(0x236)],'resolvedName':_0x22c5bd[_0x46be36(0x1b4)],'resolvedVersion':_0x22c5bd[_0x46be36(0x236)],'resolvedSpec':_0x46be36(0x271)+_0x5cecb1,'integrity':'','shasum':'','resolvedAt':new Date()[_0x46be36(0x216)+'ing'](),'installedAt':new Date()['toISOStr'+_0x46be36(0x1ff)](),'agentScope':_0x3a6246[_0x46be36(0x273)+'pe'],'skills':_0x3a6246[_0x46be36(0x233)]});}const _0x1b221b=new Set(_0x42e2a8[_0x46be36(0x218)](_0xe1e9cc=>_0xe1e9cc[_0x46be36(0x275)])),_0x25f728=Array[_0x46be36(0x231)](_0x25d6da['plugins'])?_0x25d6da[_0x46be36(0x1e3)]['filter'](_0x5092ec=>!_0x1b221b['has'](_0x5092ec[_0x46be36(0x275)])):[];_0x25d6da[_0x46be36(0x1e3)]=[..._0x25f728,..._0x42e2a8];}async function syncManifestPluginScope(_0x3f9818,_0x1ec191,_0x258a19){const _0x4511f8=_0x52cc87,_0x2b5c6a=join(_0x1ec191,_0x4511f8(0x14e),_0x4511f8(0x1d1),_0x4511f8(0x1d4)+'ns'),_0x11b5fc=new Set(_0x3f9818[_0x4511f8(0x14e)]['pluginSp'+_0x4511f8(0x1fa)]??[]),_0x118866=new Set([..._0x11b5fc][_0x4511f8(0x218)](_0x44c7a3=>_0x44c7a3[_0x4511f8(0x1c8)](/^npm:/,''))[_0x4511f8(0x218)](_0x527718=>{const _0x18e546=_0x4511f8;if(_0x527718['startsWi'+'th']('@')){const _0x3f60b1=_0x527718['split']('@');return _0x3f60b1[_0x18e546(0x152)]>=0x3?'@'+_0x3f60b1[0x1]:_0x527718;}return _0x527718['split']('@')[0x0];})[_0x4511f8(0x180)](Boolean)),_0x7a7419=new Set();for(const _0x45bcb2 of _0x3f9818['openclaw'][_0x4511f8(0x188)+_0x4511f8(0x1cb)+_0x4511f8(0x174)]){const _0x275f28=await getPackageMetadata(_0x45bcb2);if(_0x275f28['pluginId'])_0x7a7419[_0x4511f8(0x19b)](_0x275f28[_0x4511f8(0x275)]);}const _0xd66cfb=Array[_0x4511f8(0x231)](_0x258a19[_0x4511f8(0x1e3)])?_0x258a19['plugins']:[];_0x258a19[_0x4511f8(0x1e4)+'ecs']=[..._0x3f9818[_0x4511f8(0x14e)][_0x4511f8(0x1e4)+_0x4511f8(0x1fa)],..._0x3f9818[_0x4511f8(0x14e)][_0x4511f8(0x188)+'LocalPlu'+_0x4511f8(0x174)][_0x4511f8(0x218)](_0x3577ad=>_0x4511f8(0x271)+_0x3577ad)],_0x258a19[_0x4511f8(0x1e3)]=_0xd66cfb[_0x4511f8(0x180)](_0x145a27=>{const _0x4e2f26=_0x4511f8;if(!_0x145a27||typeof _0x145a27!==_0x4e2f26(0x1b1))return![];if(_0x145a27[_0x4e2f26(0x260)]===_0x4e2f26(0x19e))return _0x7a7419['has'](_0x145a27[_0x4e2f26(0x275)]);if(_0x145a27[_0x4e2f26(0x260)]===_0x4e2f26(0x18d))return _0x11b5fc[_0x4e2f26(0x22c)](_0x145a27[_0x4e2f26(0x153)])||_0x11b5fc[_0x4e2f26(0x22c)](_0x145a27[_0x4e2f26(0x188)+_0x4e2f26(0x1b2)])||_0x118866['has'](_0x145a27[_0x4e2f26(0x188)+_0x4e2f26(0x220)]);return![];});const _0x8ffe07=new Set(_0x258a19[_0x4511f8(0x1e3)]['map'](_0x4bca75=>_0x4bca75[_0x4511f8(0x275)]));for(const _0x3c1298 of _0xd66cfb){if(!_0x3c1298[_0x4511f8(0x275)]||_0x8ffe07[_0x4511f8(0x22c)](_0x3c1298['pluginId']))continue;const _0x4853c6=typeof _0x3c1298['installP'+_0x4511f8(0x151)]===_0x4511f8(0x1f6)&&_0x3c1298[_0x4511f8(0x20d)+_0x4511f8(0x151)][_0x4511f8(0x1ea)]()?resolve(_0x1ec191,_0x3c1298[_0x4511f8(0x20d)+_0x4511f8(0x151)]):join(_0x2b5c6a,_0x3c1298['pluginId']),_0x3af9bc=relative(_0x2b5c6a,_0x4853c6);if(_0x3af9bc['startsWi'+'th']('..')||_0x3af9bc==='')continue;await rm(_0x4853c6,{'recursive':!![],'force':!![]});}}async function syncProductAgents(_0x174a12,_0x55669f,_0x2a2383){const _0x520967=_0x52cc87,_0x16ec61=join(_0x55669f,_0x520967(0x14e),_0x520967(0x27c));await copyDirFresh(_0x174a12[_0x520967(0x14e)][_0x520967(0x1f3)+'r'],_0x16ec61),_0x2a2383['agents']={'source':_0x520967(0x163),'installPath':toRuntimeRelative(_0x55669f,_0x16ec61)};}function _0x2db8(_0x37039b,_0x85e0c7){_0x37039b=_0x37039b-0x14e;const _0x3e1c12=_0x3e1c();let _0x2db8dc=_0x3e1c12[_0x37039b];return _0x2db8dc;}async function syncProductSkills(_0xb957f,_0x239599,_0x42b32f){const _0xcdff3d=_0x52cc87,_0x3ad944=join(_0x239599,_0xcdff3d(0x14e),_0xcdff3d(0x233));await copyDirFresh(_0xb957f['openclaw'][_0xcdff3d(0x1f0)+'r'],_0x3ad944),_0x42b32f['skills']={'source':'product','installPath':toRuntimeRelative(_0x239599,_0x3ad944)};}
|
package/dist/src/utils.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function _0x4a16(){const _0x27704a=['parse','1070547NfUxqw','map','ory','filter','1344332DzhHBH','3538476aCQNVf','isArray','isDirect','trim','openclaw','package.','1878738bFFOnN','utf8','stringif','name','object','4856310oWUsAL','5dfbPfT','replaceA','string','3440DQpsQt','50872QPnHeH','18477jxHMkS','.plugin.','203YDCWKH','json'];_0x4a16=function(){return _0x27704a;};return _0x4a16();}(function(_0x5bc940,_0x277b60){const _0x39254a=_0x4c86,_0x41736b=_0x5bc940();while(!![]){try{const _0x52b471=-parseInt(_0x39254a(0x1e2))/0x1+parseInt(_0x39254a(0x1e6))/0x2+parseInt(_0x39254a(0x1ed))/0x3+-parseInt(_0x39254a(0x1e7))/0x4+-parseInt(_0x39254a(0x1f3))/0x5*(-parseInt(_0x39254a(0x1f2))/0x6)+parseInt(_0x39254a(0x1df))/0x7*(-parseInt(_0x39254a(0x1dc))/0x8)+-parseInt(_0x39254a(0x1dd))/0x9*(-parseInt(_0x39254a(0x1db))/0xa);if(_0x52b471===_0x277b60)break;else _0x41736b['push'](_0x41736b['shift']());}catch(_0x4491c5){_0x41736b['push'](_0x41736b['shift']());}}}(_0x4a16,0xa4a94));import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm,stat,writeFile}from'node:fs/promises';import{basename,dirname,join,relative}from'node:path';export function asRecord(_0xd37e8c){const _0x5908cb=_0x4c86;return _0xd37e8c&&typeof _0xd37e8c===_0x5908cb(0x1f1)&&!Array[_0x5908cb(0x1e8)](_0xd37e8c)?_0xd37e8c:{};}export function asStringArray(_0x10c538){const _0x181702=_0x4c86;return Array[_0x181702(0x1e8)](_0x10c538)?_0x10c538[_0x181702(0x1e5)](_0x28a60b=>typeof _0x28a60b===_0x181702(0x1da)&&_0x28a60b[_0x181702(0x1ea)]())[_0x181702(0x1e3)](_0x180176=>_0x180176['trim']()):[];}export function dedupeStrings(_0x362ffc){const _0x4b7d03=_0x4c86;return[...new Set(_0x362ffc[_0x4b7d03(0x1e5)](Boolean))];}export function getTrimmedString(_0xb6ae92){const _0x16d540=_0x4c86;return typeof _0xb6ae92===_0x16d540(0x1da)?_0xb6ae92['trim']():'';}export async function readJson(_0x7bcdf1,_0x1f67e1={}){const _0x50f7e0=_0x4c86;try{return JSON[_0x50f7e0(0x1e1)](await readFile(_0x7bcdf1,_0x50f7e0(0x1ee)));}catch{return _0x1f67e1;}}export async function writeJson(_0x301e08,_0xc24d43){const _0x10e98e=_0x4c86;await mkdir(dirname(_0x301e08),{'recursive':!![]}),await writeFile(_0x301e08,JSON[_0x10e98e(0x1ef)+'y'](_0xc24d43,null,0x2)+'\x0a',_0x10e98e(0x1ee));}export async function copyDirFresh(_0x396361,_0x29eb6e){await rm(_0x29eb6e,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await mkdir(dirname(_0x29eb6e),{'recursive':!![]}),await cp(_0x396361,_0x29eb6e,{'recursive':!![]});}export async function ensureDir(_0x3e0df2){await mkdir(_0x3e0df2,{'recursive':!![]});}export function pathExists(_0x3642d1){return existsSync(_0x3642d1);}export async function listDirs(_0xfc74a9){const _0x36a727=_0x4c86;try{const _0x4f6f9f=await readdir(_0xfc74a9,{'withFileTypes':!![],'encoding':'utf8'});return _0x4f6f9f['filter'](_0x273568=>_0x273568[_0x36a727(0x1e9)+_0x36a727(0x1e4)]())['map'](_0x259c64=>_0x259c64[_0x36a727(0x1f0)]);}catch{return[];}}export async function getPackageMetadata(_0x510172){const _0x5c4aa3=_0x4c86,_0x562fc5=await readJson(join(_0x510172,_0x5c4aa3(0x1ec)+_0x5c4aa3(0x1e0)),{}),_0x545649=asRecord(_0x562fc5['openclaw']);return{'name':getTrimmedString(_0x562fc5['name'])||basename(_0x510172),'version':getTrimmedString(_0x562fc5['version'])||'0.0.0','pluginId':getTrimmedString(_0x545649['id'])||getTrimmedString(_0x562fc5[_0x5c4aa3(0x1eb)+'Id'])||basename(_0x510172)};}function _0x4c86(_0x427c98,_0x3d3230){_0x427c98=_0x427c98-0x1da;const _0x4a1659=_0x4a16();let _0x4c864d=_0x4a1659[_0x427c98];return _0x4c864d;}export async function readPluginManifest(_0x3efae4){const _0x1a7e06=_0x4c86,_0x3a9ec0=join(_0x3efae4,_0x1a7e06(0x1eb)+_0x1a7e06(0x1de)+'json'),_0x510265=await readJson(_0x3a9ec0,{});return asRecord(_0x510265);}export async function hasFile(_0x10836e){try{const _0x15ce79=await stat(_0x10836e);return _0x15ce79['isFile']();}catch{return![];}}export function toRuntimeRelative(_0x16c48e,_0x5622fe){const _0x124ac2=_0x4c86;return relative(_0x16c48e,_0x5622fe)[_0x124ac2(0x1f4)+'ll']('\x5c','/');}
|