@wujie-shell/core 1.0.0 → 2.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.
Files changed (46) hide show
  1. package/README.md +36 -5
  2. package/dist/bin/wujie-shell.mjs +1 -1
  3. package/dist/src/agents/bundled-agent-skills.mjs +1 -0
  4. package/dist/src/agents/bundled-agents.mjs +1 -0
  5. package/dist/src/chat/media-archive.mjs +1 -0
  6. package/dist/src/chat/queue.mjs +1 -0
  7. package/dist/src/common/diagnostics.mjs +1 -0
  8. package/dist/src/common/logging.mjs +1 -0
  9. package/dist/src/common/runtime-logger.mjs +1 -0
  10. package/dist/src/common/user-events.mjs +1 -0
  11. package/dist/src/common/utils.mjs +1 -0
  12. package/dist/src/config/controller.mjs +1 -0
  13. package/dist/src/connectors/config-utils.mjs +1 -0
  14. package/dist/src/connectors/constants.mjs +1 -0
  15. package/dist/src/connectors/controller.mjs +1 -0
  16. package/dist/src/connectors/kdocs-cli.mjs +1 -0
  17. package/dist/src/electron/main.mjs +1 -1
  18. package/dist/src/electron/preload.mjs +1 -1
  19. package/dist/src/files/generated-files-store.mjs +1 -0
  20. package/dist/src/files/handlers.mjs +1 -0
  21. package/dist/src/gateway/controller.mjs +1 -0
  22. package/dist/src/gateway/ws-client.mjs +1 -0
  23. package/dist/src/index.mjs +1 -1
  24. package/dist/src/log-reporting/handlers.mjs +1 -0
  25. package/dist/src/log-reporting/report-logs.mjs +1 -0
  26. package/dist/src/models/handlers.mjs +1 -0
  27. package/dist/src/preferences/store.mjs +1 -0
  28. package/dist/src/runtime/index.mjs +1 -0
  29. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -0
  30. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -0
  31. package/dist/src/runtime/plugin-sync.mjs +1 -0
  32. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -0
  33. package/dist/src/skills/import.mjs +1 -0
  34. package/dist/src/skills/market.mjs +1 -0
  35. package/dist/src/terminal/manager.mjs +1 -0
  36. package/package.json +5 -5
  37. package/dist/src/bundled-agent-skills.mjs +0 -1
  38. package/dist/src/bundled-agents.mjs +0 -1
  39. package/dist/src/config-controller.mjs +0 -1
  40. package/dist/src/gateway-controller.mjs +0 -1
  41. package/dist/src/gateway-ws.mjs +0 -1
  42. package/dist/src/logging.mjs +0 -1
  43. package/dist/src/plugin-sync.mjs +0 -1
  44. package/dist/src/runtime-logger.mjs +0 -1
  45. package/dist/src/runtime.mjs +0 -1
  46. package/dist/src/utils.mjs +0 -1
@@ -1 +0,0 @@
1
- const _0x51c199=_0x48c4;(function(_0x34fc0b,_0x219855){const _0x18f3df=_0x48c4,_0x361395=_0x34fc0b();while(!![]){try{const _0x1cece1=parseInt(_0x18f3df(0x2a3))/0x1*(-parseInt(_0x18f3df(0x263))/0x2)+-parseInt(_0x18f3df(0x293))/0x3*(parseInt(_0x18f3df(0x308))/0x4)+parseInt(_0x18f3df(0x1e0))/0x5*(-parseInt(_0x18f3df(0x282))/0x6)+-parseInt(_0x18f3df(0x2ca))/0x7+parseInt(_0x18f3df(0x2c8))/0x8+-parseInt(_0x18f3df(0x343))/0x9*(-parseInt(_0x18f3df(0x317))/0xa)+parseInt(_0x18f3df(0x213))/0xb;if(_0x1cece1===_0x219855)break;else _0x361395['push'](_0x361395['shift']());}catch(_0x3fa277){_0x361395['push'](_0x361395['shift']());}}}(_0x5bd1,0xdbb6a));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 _0x18eb35,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,getTrimmedString}from'./utils.mjs';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=_0x51c199(0x2c9)+_0x51c199(0x33e),CLIENT_MODE=_0x51c199(0x2d8),CLIENT_DEVICE_FAMILY=_0x51c199(0x27f),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x51c199(0x23a)+_0x51c199(0x25b)+_0x51c199(0x1f1),SHARED_CONTEXT_FILES=[_0x51c199(0x21a)+'d',_0x51c199(0x259)+_0x51c199(0x22e),'IDENTITY'+_0x51c199(0x2db),_0x51c199(0x20e)+'d',_0x51c199(0x33c),_0x51c199(0x22c),_0x51c199(0x30a)];function nowIso(){const _0x512b7c=_0x51c199;return new Date()[_0x512b7c(0x2b0)+_0x512b7c(0x28f)]();}function _0x48c4(_0x8e62e,_0x4d7bfb){_0x8e62e=_0x8e62e-0x1dd;const _0x5bd1ce=_0x5bd1();let _0x48c4e8=_0x5bd1ce[_0x8e62e];return _0x48c4e8;}function buildGatewayWsUrl(_0x18bb7f){const _0xabc703=_0x51c199;return _0xabc703(0x315)+_0xabc703(0x347)+_0x18bb7f;}function createInitialStatus(){const _0x39767e=_0x51c199;return{'lifecycle':_0x39767e(0x262),'health':_0x39767e(0x1ee),'port':null,'tokenPresent':![],'message':_0x39767e(0x2d9)+_0x39767e(0x262),'updatedAt':nowIso()};}function extractGatewayMessageText(_0xce5b0b){const _0x5a03b8=_0x51c199;if(typeof _0xce5b0b===_0x5a03b8(0x1df))return _0xce5b0b;if(!Array['isArray'](_0xce5b0b))return'';const _0x2a6688=[];for(const _0xea5c35 of _0xce5b0b){if(typeof _0xea5c35===_0x5a03b8(0x1df)){if(_0xea5c35)_0x2a6688[_0x5a03b8(0x324)](_0xea5c35);continue;}const _0x94bfb=asRecord(_0xea5c35);_0x94bfb['type']===_0x5a03b8(0x2ff)&&typeof _0x94bfb['text']==='string'&&_0x94bfb[_0x5a03b8(0x2ff)]&&_0x2a6688[_0x5a03b8(0x324)](_0x94bfb[_0x5a03b8(0x2ff)]);}return _0x2a6688[_0x5a03b8(0x2f3)]('\x0a');}function extractGatewayChatText(_0x2f5b86){const _0x25389=_0x51c199,_0x536e9b=asRecord(_0x2f5b86);if(typeof _0x536e9b[_0x25389(0x2ff)]===_0x25389(0x1df))return _0x536e9b['text'];return extractGatewayMessageText(_0x536e9b[_0x25389(0x311)]);}function guessMimeType(_0xcd7c2e){const _0x10e1ab=_0x51c199,_0x479ec0=_0xcd7c2e[_0x10e1ab(0x2de)]('.')[_0x10e1ab(0x320)]()?.[_0x10e1ab(0x2a9)+'ase']()??'',_0x44cce1={'png':_0x10e1ab(0x266)+'g','jpg':'image/jp'+'eg','jpeg':_0x10e1ab(0x28a)+'eg','webp':_0x10e1ab(0x28e)+'bp','gif':'image/gi'+'f','svg':'image/sv'+_0x10e1ab(0x1fc),'pdf':_0x10e1ab(0x1f6)+_0x10e1ab(0x284),'txt':_0x10e1ab(0x244)+'in','md':_0x10e1ab(0x321)+_0x10e1ab(0x25c),'json':_0x10e1ab(0x1f6)+'ion/json','csv':_0x10e1ab(0x271)};return _0x44cce1[_0x479ec0]||_0x10e1ab(0x1f6)+_0x10e1ab(0x1f5)+_0x10e1ab(0x2e3);}async function buildAttachments(_0x51597b=[]){const _0x187c3b=_0x51c199,_0x477d74=[];for(const _0x555f07 of _0x51597b){const _0x4d7137=getTrimmedString(_0x555f07);if(!_0x4d7137)continue;const _0x4d788=await stat(_0x4d7137);if(!_0x4d788[_0x187c3b(0x228)]())continue;if(_0x4d788[_0x187c3b(0x255)]>ATTACHMENT_MAX_BYTES)throw new Error(_0x187c3b(0x31f)+_0x187c3b(0x2b6)+'arge:\x20'+basename(_0x4d7137));const _0x13c57e=guessMimeType(_0x4d7137);_0x477d74['push']({'type':_0x13c57e['startsWi'+'th'](_0x187c3b(0x34d))?_0x187c3b(0x20c):_0x187c3b(0x2bc),'mimeType':_0x13c57e,'content':(await readFile(_0x4d7137))[_0x187c3b(0x2d7)]('base64'),'fileName':basename(_0x4d7137)});}return _0x477d74;}function buildSessionCreateRequestPayload(_0x81ab2e={}){const _0x38dce9=_0x51c199,_0x23dbd1={},_0x591764=Math[_0x38dce9(0x272)]()[_0x38dce9(0x2d7)](0x24)[_0x38dce9(0x203)](0x2,0xf),_0x333f69=getTrimmedString(_0x81ab2e[_0x38dce9(0x339)])||_0x38dce9(0x291),_0xa87d78=getTrimmedString(_0x81ab2e[_0x38dce9(0x256)])||_0x38dce9(0x218)+_0x333f69+(_0x38dce9(0x1e5)+'-')+Date['now']();_0x23dbd1[_0x38dce9(0x256)]=_0xa87d78+'-'+_0x591764,_0x23dbd1['agentId']=_0x333f69;const _0x3b1c81=getTrimmedString(_0x81ab2e['label']);if(_0x3b1c81)_0x23dbd1[_0x38dce9(0x2eb)]=_0x3b1c81+'-'+_0x591764;for(const _0x43dfb7 of[_0x38dce9(0x2a4),_0x38dce9(0x300)+'ssionKey',_0x38dce9(0x260),_0x38dce9(0x2a0)]){const _0x1a14e0=getTrimmedString(_0x81ab2e[_0x43dfb7]);if(_0x1a14e0)_0x23dbd1[_0x43dfb7]=_0x1a14e0;}return _0x23dbd1;}function parseSessionCreateResult(_0x2becfe){const _0x40651b=_0x51c199,_0x8529fc=asRecord(_0x2becfe),_0x49bc60=asRecord(_0x8529fc[_0x40651b(0x227)]);return{'ok':!![],'key':getTrimmedString(_0x8529fc[_0x40651b(0x256)])||getTrimmedString(_0x8529fc['sessionK'+'ey'])||getTrimmedString(_0x49bc60['key'])||null,'sessionId':getTrimmedString(_0x8529fc[_0x40651b(0x202)+'d'])||getTrimmedString(_0x49bc60['sessionI'+'d'])||null};}function getSessionKeyFromValue(_0x4c3f37){const _0x3c9911=_0x51c199,_0x50849b=asRecord(_0x4c3f37);return getTrimmedString(_0x50849b[_0x3c9911(0x1ed)+'ey']??_0x50849b[_0x3c9911(0x256)]??_0x50849b['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x3c1556){const _0x5c6974=_0x51c199;try{const _0x27c9bf=JSON[_0x5c6974(0x28d)](await readFile(join(_0x3c1556,SESSION_METADATA_FILE),'utf8')),_0x2796be=asRecord(_0x27c9bf);return{'names':asRecord(_0x2796be[_0x5c6974(0x2f4)]),'pinnedKeys':Array['isArray'](_0x2796be['pinnedKe'+'ys'])?_0x2796be[_0x5c6974(0x280)+'ys'][_0x5c6974(0x1fa)](_0x2e587d=>typeof _0x2e587d===_0x5c6974(0x1df)&&_0x2e587d[_0x5c6974(0x220)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x37b0dd,_0x5d537b){const _0x1affe4=_0x51c199;await mkdir(_0x37b0dd,{'recursive':!![]}),await writeFile(join(_0x37b0dd,SESSION_METADATA_FILE),JSON[_0x1affe4(0x234)+'y'](_0x5d537b,null,0x2)+'\x0a',_0x1affe4(0x2ec));}function applySessionMetadata(_0x17916b,_0x410e91){const _0x3a407b=_0x51c199,_0xfe9a0a=asRecord(_0x17916b),_0x310218=Array[_0x3a407b(0x312)](_0xfe9a0a[_0x3a407b(0x299)])?_0xfe9a0a[_0x3a407b(0x299)]:[];return{..._0xfe9a0a,'pinnedKeys':_0x410e91['pinnedKe'+'ys'],'sessions':_0x310218[_0x3a407b(0x20b)](_0x15986e=>{const _0x5cd64f=_0x3a407b,_0x49d14c=asRecord(_0x15986e),_0x404c5f=getSessionKeyFromValue(_0x49d14c);if(!_0x404c5f)return _0x15986e;const _0x3c268f=getTrimmedString(_0x410e91[_0x5cd64f(0x2f4)][_0x404c5f]),_0x4fc04b=_0x410e91[_0x5cd64f(0x280)+'ys'][_0x5cd64f(0x1ec)](_0x404c5f);return{..._0x49d14c,..._0x3c268f?{'name':_0x3c268f,'displayName':_0x3c268f,'label':_0x3c268f}:{},'pinned':_0x4fc04b};})};}function _0x5bd1(){const _0x1dba3b=['utf8','chat.his','eady','\x20request','message\x20','eys\x20upda','bundled-','join','names','agents.c','stall\x20re','ort\x20','health','unconfig','\x20failed\x20','modelNam','pinned-k','resolveS','x-ask-us','text','parentSe','provider','create\x20c','method','chat\x20fai','n\x20callba','destroy','igWriteH','4WFLruZ','started','USER.md','runId','session\x20','terminal','jobId','agents\x20e','lete\x20req','content','isArray','stdout','nexpecte','ws://127','patch','130OfNXzk','tatus\x20lo','pdated','cron.rem','close','productN','unhealth','spawn\x20re','attachme','pop','text/mar','end','n\x20reques','push','ath','gateway','unshift','readConf','bundled\x20','cron.upd','allow','skill\x20in','Bin','system','tatus','is\x20start','chat.abo','eam\x20acce','writeCon','some','t\x20connec','discover','eway]\x20bu','floor','agentId','updated','warn','SOUL.md','title','client','ase','[wujie-s','websocke','run','831618mRzgTT','agents\x20s','skills.i','then','.0.0.1:','llow-unc','\x20context','ted','ed:\x20','r-questi','image/','lifecycl','status','string','35BQvbBB','ndled\x20ag','dly','eys-upda','kill',':session','final','behavior','ion/json','has','once','now','includes','sessionK','unknown','ured','emit','.json','unauthor','ved','res','ion/octe','applicat','ties','chat','restarti','filter','stop','g+xml','agents','y\x20shortl','d\x20--toke','rt\x20reque','cron.run','sessionI','slice','eam\x20fail','tokenPre','sted','stall\x20fa','ode=','timeout','errorMes','map','image','started,','MEMORY.m','setGatew','resolveC','stderr','ginConfi','21938444cwaWVz','pinned\x20k','closed','agent-ev','nected','agent:','by\x20gatew','AGENTS.m','ove','is\x20requi','getModel','projectR','deleted','trim','data','splice','sent','skill\x20up','textLeng','openclaw','session','isFile','exited','[REDACTE','setModel','TOOLS.md','mpleted','T.md','limit','Fallback','default','tory','uested','stringif','ompleted','done','length','pted\x20by\x20','start','session-','ing,\x20ple','skills','Settings','agents-r','er-secre','pid','cron.add','markConf','aborted','text/pla','requeste','delete\x20c','agents\x20l','eam-even','keys','requestI','log','ting:\x20','-questio','equested','--allow-','answer','stack','\x20gateway','eam\x20requ','er\x20stop\x20','size','key','deny','ents\x20syn','HEARTBEA','ensureIn','metadata','kdown','starting','jobId\x20is','quired','task','127.0.0.','stopped','314aTtAff','achments','Timer','image/pn','chat\x20abo','andledIn','\x20allocat','stall\x20co','configur','onfigPat','0.1.0','\x20waiting','led','tewaySet','text/csv','random','max','token','exited\x20u','renamed','ate','request','t\x20discon','odels','connecte','ist\x20requ','startedA','ask-user','desktop','pinnedKe','ested','180288KMxnsf','clear','ion/pdf','catch','TED]\x20--p','quested','set','writeHea','image/jp','info','not\x20foun','parse','image/we','ing','ills\x20syn','main','manual\x20r','3444603QvOqGr','c\x20failed','SIGTERM','restart\x20','27.0.0.1','--token','sessions','running','agents.l','red','healthy','paths','workspac','message','ist','filePath','7457OVXSgk','model','ame','controll','eviceIde','figChang','toLowerC','tateDir','\x20write\x20r','delete','.delete','settings','chat\x20run','toISOStr','fileName','headers','ync\x20fail','exited\x20c','get','nt\x20too\x20l','ey\x20is\x20re','sage','agents.u','\x20require','anscript','file','hell:gat','ck\x20disab','/ask-use','trimEnd','deleteTr','off','values','led:\x20','installP','e\x20update','process\x20','10510328wlGAYJ','gateway-','7561323RWqMVN','setSelfO','nt\x20recei','agents-u','skills.d','null','nChange','Version','finally','chat\x20str','defaultI','skills.u','date\x20req','toString','backend','gateway\x20','oot','.md','toUpperC','ase\x20retr','split','c\x20comple','listen','nstall','delta','t-stream','port','json','itialCon','skill\x20de','fig','error','create\x20r','label'];_0x5bd1=function(){return _0x1dba3b;};return _0x5bd1();}function sanitizeSharedContextPayload(_0x503dad){const _0x203078=_0x51c199,_0x518ec3=asRecord(_0x503dad),_0x1f15ac={};for(const _0x311164 of SHARED_CONTEXT_FILES){if(typeof _0x518ec3[_0x311164]===_0x203078(0x1df))_0x1f15ac[_0x311164]=_0x518ec3[_0x311164];}return _0x1f15ac;}async function readSharedContext(_0x50495c){const _0x45e09c=_0x51c199,_0xb23626={};for(const _0x49ca39 of SHARED_CONTEXT_FILES){try{_0xb23626[_0x49ca39]=await readFile(join(_0x50495c,_0x49ca39),_0x45e09c(0x2ec));}catch{_0xb23626[_0x49ca39]='';}}return _0xb23626;}async function writeSharedContext(_0x288aed,_0x2521d2){const _0x2bc70e=_0x51c199,_0x24846d=sanitizeSharedContextPayload(_0x2521d2);await mkdir(_0x288aed,{'recursive':!![]});for(const [_0x46b50b,_0x44d12b]of Object['entries'](_0x24846d)){await writeFile(join(_0x288aed,_0x46b50b),_0x44d12b,_0x2bc70e(0x2ec));}return{'ok':!![],'files':Object[_0x2bc70e(0x249)](_0x24846d)};}function createAskUserQuestionServer({configController:_0xcaa5be,emit:_0x570954}){const _0x1acf81=new Map();let _0x95a65=null,_0x5b1e24='',_0x3e2b87='';async function _0x3c337c(){const _0x26348f=_0x48c4;if(_0x95a65)return{'callbackUrl':_0x5b1e24,'secret':_0x3e2b87};_0x3e2b87=randomUUID();const _0x7d23d8=await _0x18eb35({'port':portNumbers(0x332c,0x338f)});return _0x5b1e24='http://1'+_0x26348f(0x297)+':'+_0x7d23d8+(_0x26348f(0x2bf)+_0x26348f(0x34c)+'on'),_0x95a65=createServer(async(_0x90bf,_0x3442e0)=>{const _0x50c1f0=_0x26348f;if(_0x90bf[_0x50c1f0(0x303)]!=='POST'||_0x90bf['url']!=='/ask-use'+_0x50c1f0(0x34c)+'on'){_0x3442e0['writeHea'+'d'](0x194),_0x3442e0[_0x50c1f0(0x322)](_0x50c1f0(0x28c)+'d');return;}if(_0x90bf[_0x50c1f0(0x2b2)][_0x50c1f0(0x2fe)+_0x50c1f0(0x23f)+'t']!==_0x3e2b87){_0x3442e0[_0x50c1f0(0x289)+'d'](0x191),_0x3442e0['end'](_0x50c1f0(0x1f2)+'ized');return;}let _0x5da8cf='';_0x90bf['on'](_0x50c1f0(0x221),_0x2d4760=>{const _0xb67824=_0x50c1f0;_0x5da8cf+=_0x2d4760[_0xb67824(0x2d7)]();if(_0x5da8cf[_0xb67824(0x237)]>0x400*0x400)_0x90bf[_0xb67824(0x306)]();}),_0x90bf['on'](_0x50c1f0(0x322),()=>{const _0x362c4b=_0x50c1f0;let _0x1f056f={};try{_0x1f056f=JSON[_0x362c4b(0x28d)](_0x5da8cf||'{}');}catch{_0x3442e0[_0x362c4b(0x289)+'d'](0x190),_0x3442e0[_0x362c4b(0x322)]('invalid\x20'+_0x362c4b(0x2e5));return;}const _0x4b0a6c=randomUUID(),_0x159409=setTimeout(()=>{const _0xe51629=_0x362c4b;if(!_0x1acf81[_0xe51629(0x1e9)](_0x4b0a6c))return;_0x1acf81[_0xe51629(0x2ac)](_0x4b0a6c),_0x3442e0[_0xe51629(0x289)+'d'](0xc8,{'content-type':_0xe51629(0x1f6)+_0xe51629(0x1e8)}),_0x3442e0[_0xe51629(0x322)](JSON[_0xe51629(0x234)+'y']({'behavior':'deny'}));},0x1d4c0);_0x1acf81[_0x362c4b(0x288)](_0x4b0a6c,{'res':_0x3442e0,'timeout':_0x159409}),_0x570954('ask-user'+'-questio'+'n',{'requestId':_0x4b0a6c,...asRecord(_0x1f056f)});});}),await new Promise((_0xb23296,_0x18c780)=>{const _0x3aeb74=_0x26348f;_0x95a65[_0x3aeb74(0x1ea)](_0x3aeb74(0x2e9),_0x18c780),_0x95a65[_0x3aeb74(0x2e0)](_0x7d23d8,_0x3aeb74(0x261)+'1',()=>{const _0x596bf4=_0x3aeb74;_0x95a65[_0x596bf4(0x2c2)](_0x596bf4(0x2e9),_0x18c780),_0xb23296();});}),await _0xcaa5be['ensureAs'+'kUserQue'+'stionPlu'+_0x26348f(0x212)+'g']({'callbackUrl':_0x5b1e24,'secret':_0x3e2b87}),{'callbackUrl':_0x5b1e24,'secret':_0x3e2b87};}function _0x51ef48(_0x40a58e={}){const _0x1d7168=_0x48c4,_0x3aef67=getTrimmedString(_0x40a58e[_0x1d7168(0x24a)+'d']);if(!_0x3aef67||!_0x1acf81[_0x1d7168(0x1e9)](_0x3aef67))throw new Error(_0x1d7168(0x27e)+_0x1d7168(0x24d)+_0x1d7168(0x323)+'t\x20not\x20fo'+'und');const _0xd8c222=_0x1acf81[_0x1d7168(0x2b5)](_0x3aef67);return _0x1acf81[_0x1d7168(0x2ac)](_0x3aef67),clearTimeout(_0xd8c222[_0x1d7168(0x209)]),_0xd8c222[_0x1d7168(0x1f4)]['writeHea'+'d'](0xc8,{'content-type':'applicat'+'ion/json'}),_0xd8c222['res'][_0x1d7168(0x322)](JSON[_0x1d7168(0x234)+'y']({'behavior':_0x40a58e[_0x1d7168(0x1e7)]==='deny'?_0x1d7168(0x257):_0x1d7168(0x32b),'answers':asRecord(_0x40a58e['answers'])})),{'ok':!![]};}async function _0x207d2e(){const _0x1cb009=_0x48c4;for(const [_0x367cae,_0x438732]of _0x1acf81){_0x1acf81['delete'](_0x367cae),clearTimeout(_0x438732[_0x1cb009(0x209)]),_0x438732[_0x1cb009(0x1f4)]['writeHea'+'d'](0xc8,{'content-type':_0x1cb009(0x1f6)+_0x1cb009(0x1e8)}),_0x438732[_0x1cb009(0x1f4)][_0x1cb009(0x322)](JSON[_0x1cb009(0x234)+'y']({'behavior':_0x1cb009(0x257)}));}if(!_0x95a65)return;await new Promise(_0x5736fa=>_0x95a65[_0x1cb009(0x31b)](_0x5736fa)),_0x95a65=null;}return{'start':_0x3c337c,'answer':_0x51ef48,'stop':_0x207d2e};}export function createGatewayController({shellConfig:_0x329154,configController:_0x58b4d4,appVersion:appVersion=_0x51c199(0x26d)}){const _0xfb077b=_0x51c199,_0x5ed898=new EventEmitter(),_0x38ef07=new ClawGatewayWsClient(),_0x33149a=[],_0x3b9dc7=new Map(),_0x5dff0a=new Map(),_0x4e3a7a=createShellLogger(_0x58b4d4['paths'],_0xfb077b(0x326)),_0x4b0dab=createShellLogger(_0x58b4d4[_0xfb077b(0x29e)],_0xfb077b(0x1f8)),_0x8c119e=createShellLogger(_0x58b4d4[_0xfb077b(0x29e)],_0xfb077b(0x299)),_0x2039d2=createShellLogger(_0x58b4d4[_0xfb077b(0x29e)],'capabili'+_0xfb077b(0x1f7)),_0x22197e=createAskUserQuestionServer({'configController':_0x58b4d4,'emit':(_0x1304b6,_0x2767f5)=>_0x5ed898['emit'](_0x1304b6,_0x2767f5)});let _0x46e744=createInitialStatus(),_0x5379a3=null,_0x82e73e=null,_0x5462e5=null,_0x8223a2=![],_0xaed185=![],_0x1f0f7e=Promise['resolve'](),_0x30c334=null,_0x36149e=0x0;function _0xe8a129(_0x4f4e69,_0x45cc27){const _0x1190bd=_0xfb077b;_0x5ed898[_0x1190bd(0x1f0)](_0x4f4e69,_0x45cc27);}function _0x3a008e(_0x50c338,_0x4ef6e4){return _0x5ed898['on'](_0x50c338,_0x4ef6e4),()=>_0x5ed898['off'](_0x50c338,_0x4ef6e4);}function _0x10e84f(_0x2e9a48){const _0x198688=_0xfb077b;_0x46e744={..._0x46e744,..._0x2e9a48,'updatedAt':nowIso()},_0xe8a129('gateway-'+_0x198688(0x1de),_0x46e744);}function _0xad5f1(_0x591989,_0x3dde86,_0x1b2c8b={}){const _0x89087c=_0xfb077b;_0x10e84f({'lifecycle':_0x591989,'message':_0x3dde86,..._0x1b2c8b}),_0x3b5385(_0x89087c(0x32e),_0x591989[_0x89087c(0x2dc)+_0x89087c(0x33f)]()+'\x20'+_0x3dde86),_0x4e3a7a?.[_0x89087c(0x28b)]('gateway\x20'+'lifecycl'+_0x89087c(0x2c6)+'d',{'lifecycle':_0x591989,'message':_0x3dde86,'status':{'health':_0x46e744[_0x89087c(0x2f8)],'port':_0x46e744['port'],'tokenPresent':_0x46e744[_0x89087c(0x205)+_0x89087c(0x223)]},...summarizePayload(_0x1b2c8b)});}function _0x3b5385(_0x4745e7,_0x240e91){const _0x2b7a02=_0xfb077b,_0x2c05a2=String(_0x240e91??'')[_0x2b7a02(0x2c0)]();if(!_0x2c05a2)return;const _0x569b25={'source':_0x4745e7,'text':_0x2c05a2,'timestamp':nowIso()};_0x33149a['push'](_0x569b25);if(_0x33149a[_0x2b7a02(0x237)]>LOG_LIMIT)_0x33149a[_0x2b7a02(0x222)](0x0,_0x33149a[_0x2b7a02(0x237)]-LOG_LIMIT);_0xe8a129('gateway-'+_0x2b7a02(0x24b),_0x569b25),_0x4e3a7a?.[_0x2b7a02(0x28b)](_0x2b7a02(0x2d9)+_0x2b7a02(0x24b),{'source':_0x4745e7,'text':_0x2c05a2});}function _0x14aa06(_0x594f9e=0xc8){const _0x1cf6d8=_0xfb077b;return _0x33149a['slice'](-Math[_0x1cf6d8(0x273)](0x1,Math['floor'](_0x594f9e)));}function _0x185aa5(){const _0x5ab4da=_0xfb077b;if(!_0x5379a3||_0x46e744[_0x5ab4da(0x1dd)+'e']!==_0x5ab4da(0x29a))throw new Error(_0x5ab4da(0x2d9)+_0x5ab4da(0x330)+_0x5ab4da(0x23b)+_0x5ab4da(0x2dd)+_0x5ab4da(0x1fe)+'y');}function _0x4f4b5b(){const _0xefcd3a=_0xfb077b;return Boolean(_0x5379a3&&_0x46e744['lifecycl'+'e']===_0xefcd3a(0x29a));}function _0x5163f1(_0x828c5){const _0x4c348a=_0xfb077b;_0xe8a129('chat-str'+_0x4c348a(0x248)+'t',_0x828c5);}function _0x546c02(_0x4f589c){const _0x473d50=_0xfb077b,_0x49de0b=_0x3b9dc7[_0x473d50(0x2b5)](_0x4f589c);if(!_0x49de0b)return null;_0x3b9dc7[_0x473d50(0x2ac)](_0x4f589c);if(_0x49de0b[_0x473d50(0x30d)+_0x473d50(0x230)+_0x473d50(0x265)])clearTimeout(_0x49de0b[_0x473d50(0x30d)+_0x473d50(0x230)+_0x473d50(0x265)]);return _0x5dff0a[_0x473d50(0x2ac)](_0x49de0b[_0x473d50(0x1ed)+'ey']),_0x49de0b;}function _0x5be51f(_0x5c3bbe,_0x4ea84f,_0x33ce7d=''){const _0x1cde94=_0xfb077b,_0x2100ce=_0x546c02(_0x5c3bbe[_0x1cde94(0x30b)]);if(!_0x2100ce)return;_0x4b0dab?.[_0x1cde94(0x28b)](_0x1cde94(0x2af)+'\x20settled',{'requestId':_0x2100ce['requestI'+'d'],'runId':_0x2100ce[_0x1cde94(0x30b)],'sessionKey':_0x2100ce[_0x1cde94(0x1ed)+'ey'],'outcome':_0x4ea84f,'durationMs':Date[_0x1cde94(0x1eb)]()-_0x2100ce[_0x1cde94(0x27d)+'t'],'textLength':_0x2100ce[_0x1cde94(0x225)+'th'],..._0x33ce7d?{'message':_0x33ce7d}:{}}),_0x5163f1({'requestId':_0x2100ce[_0x1cde94(0x24a)+'d'],'sessionKey':_0x2100ce[_0x1cde94(0x1ed)+'ey'],'type':_0x4ea84f,..._0x33ce7d?{'message':_0x33ce7d}:{}});}function _0x11d05b(_0x50695b){const _0x35972f=_0xfb077b;let _0xeeff2b=null;for(const _0x802a27 of _0x3b9dc7[_0x35972f(0x2c3)]()){if(_0x802a27['sessionK'+'ey']===_0x50695b)_0xeeff2b=_0x802a27;}return _0xeeff2b;}function _0x1693f5(_0x4c0626){const _0x513827=_0xfb077b;if(!_0x4c0626)return null;for(const _0x3a08bf of _0x3b9dc7['values']()){if(_0x3a08bf[_0x513827(0x24a)+'d']===_0x4c0626)return _0x3a08bf;}return null;}function _0x85f678(_0x5e8ae0,_0x570e1b){const _0x2ee97c=_0xfb077b;if(_0x570e1b[_0x2ee97c(0x237)]<=_0x5e8ae0['textLeng'+'th'])return;const _0x5d54d8=_0x570e1b[_0x2ee97c(0x203)](_0x5e8ae0['textLeng'+'th']);_0x5e8ae0['textLeng'+'th']=_0x570e1b[_0x2ee97c(0x237)],_0x5d54d8&&_0x5163f1({'requestId':_0x5e8ae0[_0x2ee97c(0x24a)+'d'],'sessionKey':_0x5e8ae0[_0x2ee97c(0x1ed)+'ey'],'type':_0x2ee97c(0x2e2),'delta':_0x5d54d8});}function _0x97f52c(_0x553437,_0x1cda97,_0x24865d=''){const _0x466d51=_0xfb077b;if(_0x553437[_0x466d51(0x30d)+_0x466d51(0x230)+'Timer'])clearTimeout(_0x553437[_0x466d51(0x30d)+_0x466d51(0x230)+_0x466d51(0x265)]);_0x553437[_0x466d51(0x30d)+'Fallback'+_0x466d51(0x265)]=setTimeout(()=>{const _0x447a7c=_0x466d51,_0x5d8169=_0x3b9dc7['get'](_0x553437['runId']);if(!_0x5d8169)return;_0x5be51f(_0x5d8169,_0x1cda97===_0x447a7c(0x2e9)?_0x447a7c(0x2e9):_0x447a7c(0x236),_0x24865d);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x30e51a(_0x46a0b8){const _0x53070e=_0xfb077b;for(const _0x48b82b of _0x3b9dc7[_0x53070e(0x2c3)]()){_0x4b0dab?.['warn'](_0x53070e(0x2af)+_0x53070e(0x2fa)+_0x53070e(0x219)+'ay\x20state',{'requestId':_0x48b82b[_0x53070e(0x24a)+'d'],'runId':_0x48b82b[_0x53070e(0x30b)],'sessionKey':_0x48b82b['sessionK'+'ey'],'durationMs':Date['now']()-_0x48b82b[_0x53070e(0x27d)+'t'],'reason':_0x46a0b8}),_0x5163f1({'requestId':_0x48b82b['requestI'+'d'],'sessionKey':_0x48b82b[_0x53070e(0x1ed)+'ey'],'type':_0x53070e(0x2e9),'message':_0x46a0b8});if(_0x48b82b[_0x53070e(0x30d)+'Fallback'+'Timer'])clearTimeout(_0x48b82b[_0x53070e(0x30d)+_0x53070e(0x230)+_0x53070e(0x265)]);}_0x3b9dc7[_0x53070e(0x283)](),_0x5dff0a[_0x53070e(0x283)]();}function _0x4c2ac2(_0x3898ce){const _0x2babb4=_0xfb077b,_0x405886=getTrimmedString(_0x3898ce[_0x2babb4(0x30b)]),_0x53e705=getTrimmedString(_0x3898ce['state'])||_0x2babb4(0x33a),_0xf6210=getTrimmedString(_0x3898ce['sessionK'+'ey']),_0x2a2298=(_0x405886?_0x3b9dc7[_0x2babb4(0x2b5)](_0x405886):null)??(_0xf6210?_0x11d05b(_0xf6210):null);if(_0x405886&&_0xf6210)_0x5dff0a[_0x2babb4(0x288)](_0xf6210,_0x405886);if(_0xf6210)_0xe8a129('session-'+'updated',{'sessionKey':_0xf6210,'state':_0x53e705});_0x4b0dab?.[_0x2babb4(0x28b)](_0x2babb4(0x2d9)+'chat\x20eve'+_0x2babb4(0x2cc)+_0x2babb4(0x1f3),{'runId':_0x405886,'sessionKey':_0xf6210,'state':_0x53e705,'hasActiveRun':Boolean(_0x2a2298),'messageText':summarizeText(extractGatewayChatText(_0x3898ce['message']),0x78),'errorMessage':getTrimmedString(_0x3898ce[_0x2babb4(0x20a)+_0x2babb4(0x2b8)])});_0x2a2298&&(_0x53e705===_0x2babb4(0x1e6)||_0x53e705==='aborted'||_0x53e705===_0x2babb4(0x2e9))&&_0x97f52c(_0x2a2298,_0x53e705,typeof _0x3898ce[_0x2babb4(0x20a)+_0x2babb4(0x2b8)]===_0x2babb4(0x1df)?_0x3898ce[_0x2babb4(0x20a)+'sage']:_0x2babb4(0x2d9)+_0x2babb4(0x304)+_0x2babb4(0x26f));if(!_0x2a2298)return;if(_0xf6210&&_0xf6210!==_0x2a2298[_0x2babb4(0x1ed)+'ey'])return;if(_0x53e705==='delta'){_0x85f678(_0x2a2298,extractGatewayChatText(_0x3898ce[_0x2babb4(0x2a0)]));return;}if(_0x53e705==='final'||_0x53e705===_0x2babb4(0x243)){_0x85f678(_0x2a2298,extractGatewayChatText(_0x3898ce[_0x2babb4(0x2a0)])),_0x5be51f(_0x2a2298,'done');return;}_0x53e705===_0x2babb4(0x2e9)&&_0x5be51f(_0x2a2298,_0x2babb4(0x2e9),typeof _0x3898ce[_0x2babb4(0x20a)+_0x2babb4(0x2b8)]===_0x2babb4(0x1df)?_0x3898ce['errorMes'+_0x2babb4(0x2b8)]:'gateway\x20'+'chat\x20fai'+_0x2babb4(0x26f));}async function _0x4b2d0e(_0x5a93a8,_0x4de1ba){const _0x59cddc=_0xfb077b;_0x38ef07[_0x59cddc(0x26b)+'e']({'url':buildGatewayWsUrl(_0x4de1ba),'token':_0x5a93a8,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x329154[_0x59cddc(0x31c)+_0x59cddc(0x2a5)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x58b4d4['resolveD'+_0x59cddc(0x2a7)+'ntityPat'+'h'](),'onChatEvent':_0x4c2ac2,'onAgentEvent':_0x1ff91d=>_0xe8a129(_0x59cddc(0x216)+'ent',_0x1ff91d),'onConnected':async()=>{const _0x548f21=_0x59cddc;if(!_0x5379a3||!_0x5462e5||!_0x82e73e)return;_0x4e3a7a?.['info'](_0x548f21(0x2d9)+_0x548f21(0x341)+_0x548f21(0x335)+_0x548f21(0x34a),{'port':_0x5462e5,'pid':_0x5379a3[_0x548f21(0x240)],'readyMs':_0x36149e?Date[_0x548f21(0x1eb)]()-_0x36149e:undefined}),_0xad5f1(_0x548f21(0x29a),'gateway\x20'+_0x548f21(0x27b)+'d',{'health':_0x548f21(0x29d),'port':_0x5462e5,'tokenPresent':!![]});try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x329154[_0x548f21(0x21e)+_0x548f21(0x2da)]))['runtimeR'+_0x548f21(0x2da)],_0x548f21(0x226),_0x548f21(0x1fd)),'stateDir':_0x58b4d4[_0x548f21(0x2fd)+_0x548f21(0x2aa)](),'listAgents':_0x46e302,'createAgent':_0x1f38e2=>_0x38ef07[_0x548f21(0x278)](_0x548f21(0x2f5)+'reate',_0x1f38e2),'updateAgent':_0x520277=>_0x38ef07['request'](_0x548f21(0x2b9)+'pdate',_0x520277),'syncSkills':async({agentIds:_0x297f69,mainWorkspace:_0x51da48})=>{const _0xf8c1af=_0x548f21;_0x2039d2?.['info']('bundled\x20'+'agent\x20sk'+'ills\x20syn'+'c\x20starte'+'d',{'agentIds':_0x297f69,'mainWorkspace':toHomePath(_0x51da48)});const _0x3a2b67=dirname(_0x51da48),_0x248fd8=await syncBundledAgentSkillsToConfig({'agentIds':_0x297f69,'resolveSkillsDir':_0x11b229=>_0x11b229===_0xf8c1af(0x291)?join(_0x51da48,_0xf8c1af(0x23c)):join(_0x3a2b67,_0xf8c1af(0x29f)+'e-'+_0x11b229,'skills'),'readConfig':()=>_0x58b4d4[_0xf8c1af(0x328)+'ig'](),'writeConfig':_0xcc9df9=>_0x58b4d4[_0xf8c1af(0x333)+_0xf8c1af(0x2e8)](_0xcc9df9),'markConfigWriteHandledInternally':()=>_0x58b4d4[_0xf8c1af(0x242)+_0xf8c1af(0x307)+_0xf8c1af(0x268)+'ternally']()});_0x30c334=_0x248fd8['discover'+'y'],_0x2039d2?.['info'](_0xf8c1af(0x329)+'agent\x20sk'+_0xf8c1af(0x290)+_0xf8c1af(0x2df)+_0xf8c1af(0x34a),{'agentCount':_0x297f69[_0xf8c1af(0x237)],'changed':_0x248fd8['changed'],'discovery':summarizePayload(_0x248fd8[_0xf8c1af(0x336)+'y'],{'maxDepth':0x3})});}}),_0x2039d2?.[_0x548f21(0x28b)](_0x548f21(0x329)+_0x548f21(0x30f)+'nsured'),_0xe8a129(_0x548f21(0x2cd)+_0x548f21(0x319),{'reason':_0x548f21(0x2f2)+_0x548f21(0x23e)+_0x548f21(0x2ee)});}catch(_0x3b153c){const _0x22e052=_0x3b153c instanceof Error?_0x3b153c[_0x548f21(0x251)]||_0x3b153c[_0x548f21(0x2a0)]:String(_0x3b153c);_0x3b5385(_0x548f21(0x32e),'bundled\x20'+_0x548f21(0x344)+_0x548f21(0x2b3)+_0x548f21(0x34b)+_0x22e052),_0x2039d2?.[_0x548f21(0x2e9)](_0x548f21(0x329)+_0x548f21(0x344)+_0x548f21(0x2b3)+'ed',{'error':summarizeError(_0x3b153c)}),console[_0x548f21(0x2e9)](_0x548f21(0x340)+_0x548f21(0x2bd)+_0x548f21(0x337)+_0x548f21(0x1e1)+_0x548f21(0x258)+_0x548f21(0x294),_0x3b153c);}},'onDisconnected':_0x50a38a=>{const _0x26a7f2=_0x59cddc;_0x4e3a7a?.[_0x26a7f2(0x33b)](_0x26a7f2(0x2d9)+_0x26a7f2(0x341)+_0x26a7f2(0x279)+_0x26a7f2(0x217),{'reason':_0x50a38a}),_0x30e51a(_0x50a38a);if(_0xaed185||!_0x5379a3)return;_0x10e84f({'health':_0x26a7f2(0x1ee),'message':'gateway\x20'+'reconnec'+_0x26a7f2(0x24c)+_0x50a38a});}});}async function _0x4a6941(_0x16f1be,_0x34079d){const _0x3c49dc=_0xfb077b;if(_0x5379a3)return;_0x36149e=Date[_0x3c49dc(0x1eb)](),_0xad5f1(_0x3c49dc(0x25d),_0x3c49dc(0x2d9)+'starting',{'health':_0x3c49dc(0x1ee),'port':_0x34079d,'tokenPresent':!![]});const _0x5db5a1=[_0x3c49dc(0x326),_0x3c49dc(0x342),_0x3c49dc(0x24f)+_0x3c49dc(0x2f9)+_0x3c49dc(0x1ef),_0x3c49dc(0x298),_0x16f1be,'--port',String(_0x34079d)];_0x3b5385(_0x3c49dc(0x32e),_0x3c49dc(0x226)+_0x3c49dc(0x252)+'\x20run\x20--a'+_0x3c49dc(0x348)+'onfigure'+_0x3c49dc(0x1ff)+'n\x20[REDAC'+_0x3c49dc(0x286)+_0x3c49dc(0x2f7)+_0x34079d),_0x4e3a7a?.[_0x3c49dc(0x28b)](_0x3c49dc(0x2d9)+_0x3c49dc(0x2c7)+_0x3c49dc(0x31e)+_0x3c49dc(0x287),{'args':[_0x3c49dc(0x326),_0x3c49dc(0x342),_0x3c49dc(0x24f)+'unconfig'+_0x3c49dc(0x1ef),_0x3c49dc(0x298),_0x3c49dc(0x22a)+'D]','--port',String(_0x34079d)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x58b4d4[_0x3c49dc(0x2fd)+'tateDir']()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x58b4d4[_0x3c49dc(0x210)+_0x3c49dc(0x26c)+'h']())}}),_0x5379a3=await spawnClaw(_0x329154[_0x3c49dc(0x21e)+_0x3c49dc(0x2da)],_0x5db5a1,{'env':{'OPENCLAW_STATE_DIR':_0x58b4d4[_0x3c49dc(0x2fd)+_0x3c49dc(0x2aa)](),'OPENCLAW_CONFIG_PATH':_0x58b4d4[_0x3c49dc(0x210)+_0x3c49dc(0x26c)+'h']()}}),_0x82e73e=_0x16f1be,_0x5462e5=_0x34079d,_0x4e3a7a?.[_0x3c49dc(0x28b)](_0x3c49dc(0x2d9)+_0x3c49dc(0x2c7)+'started',{'pid':_0x5379a3[_0x3c49dc(0x240)],'port':_0x5462e5}),_0x10e84f({'health':_0x3c49dc(0x1ee),'port':_0x5462e5,'tokenPresent':!![],'message':_0x3c49dc(0x2d9)+_0x3c49dc(0x2c7)+_0x3c49dc(0x20d)+_0x3c49dc(0x26e)+'\x20for\x20WS'}),await _0x4b2d0e(_0x16f1be,_0x34079d);const _0x45dc86=createLineBuffer({'trim':!![],'onLine':_0x80ef1b=>_0x3b5385('stdout',_0x80ef1b)}),_0x16b02b=createLineBuffer({'trim':!![],'onLine':_0xa2db98=>_0x3b5385(_0x3c49dc(0x211),_0xa2db98)});_0x5379a3[_0x3c49dc(0x313)]['on'](_0x3c49dc(0x221),_0x13f0f9=>{const _0x58236d=_0x3c49dc;_0x45dc86[_0x58236d(0x324)](_0x13f0f9[_0x58236d(0x2d7)]());}),_0x5379a3[_0x3c49dc(0x211)]['on']('data',_0x3fa00a=>{const _0x3501a9=_0x3c49dc;_0x16b02b[_0x3501a9(0x324)](_0x3fa00a['toString']());}),_0x5379a3['on'](_0x3c49dc(0x2e9),_0x269c61=>{const _0xc5fd28=_0x3c49dc;_0x4e3a7a?.[_0xc5fd28(0x2e9)]('gateway\x20'+_0xc5fd28(0x2c7)+'error',{'error':summarizeError(_0x269c61)}),_0x3b5385(_0xc5fd28(0x211),_0x269c61 instanceof Error?_0x269c61[_0xc5fd28(0x251)]||_0x269c61['message']:String(_0x269c61));}),_0x5379a3['on'](_0x3c49dc(0x31b),(_0x4b0ee6,_0xbeb1f1)=>{const _0x52aea5=_0x3c49dc;_0x45dc86['flush'](),_0x16b02b['flush'](),_0x4e3a7a?.['warn']('gateway\x20'+_0x52aea5(0x2c7)+_0x52aea5(0x215),{'pid':_0x5379a3?.[_0x52aea5(0x240)]??null,'code':_0x4b0ee6,'signal':_0xbeb1f1,'uptimeMs':_0x36149e?Date[_0x52aea5(0x1eb)]()-_0x36149e:undefined}),_0x3b5385(_0x52aea5(0x32e),'gateway\x20'+_0x52aea5(0x2b4)+_0x52aea5(0x208)+(_0x4b0ee6??_0x52aea5(0x2cf))+'\x20signal='+(_0xbeb1f1??_0x52aea5(0x2cf))),_0x5379a3=null,_0x82e73e=null,_0x5462e5=null,_0x38ef07[_0x52aea5(0x26b)+'e'](null),_0x30e51a(_0x52aea5(0x2d9)+_0x52aea5(0x2c7)+_0x52aea5(0x229));if(_0xaed185){_0xad5f1(_0x52aea5(0x262),_0x52aea5(0x2d9)+_0x52aea5(0x262),{'health':_0x52aea5(0x1ee),'port':null,'tokenPresent':![]});return;}_0xad5f1(_0x52aea5(0x2e9),_0x52aea5(0x2d9)+_0x52aea5(0x275)+_0x52aea5(0x314)+_0x52aea5(0x1e2),{'health':_0x52aea5(0x31d)+'y','port':null,'tokenPresent':![]});});}async function _0x375ad0(){const _0x4e7d1f=_0xfb077b;if(_0x5379a3)return;_0xaed185=![],_0x4e3a7a?.[_0x4e7d1f(0x28b)](_0x4e7d1f(0x2d9)+'controll'+'er\x20start'+_0x4e7d1f(0x2ef)+'ed'),await _0x22197e[_0x4e7d1f(0x239)]()[_0x4e7d1f(0x285)](_0x453fd6=>{const _0x548774=_0x4e7d1f;_0x3b5385(_0x548774(0x32e),_0x548774(0x27e)+_0x548774(0x24d)+_0x548774(0x305)+_0x548774(0x2be)+_0x548774(0x2c4)+(_0x453fd6 instanceof Error?_0x453fd6[_0x548774(0x2a0)]:String(_0x453fd6)));}),await _0x58b4d4[_0x4e7d1f(0x25a)+_0x4e7d1f(0x2e6)+_0x4e7d1f(0x2e8)](),await ensureOpenClawDoctorFixed(_0x329154,{'runtimeLogger':_0x4e3a7a}),_0x58b4d4['watchCon'+_0x4e7d1f(0x2a8)+'es'](),_0x58b4d4[_0x4e7d1f(0x20f)+'ayRestar'+'tHandler'](_0x41a404=>{void _0x2f6e01(_0x41a404);});const _0x3b6421=await _0x58b4d4['ensureGa'+_0x4e7d1f(0x270)+'tings']();_0x4e3a7a?.['info'](_0x4e7d1f(0x2d9)+_0x4e7d1f(0x2ae)+_0x4e7d1f(0x269)+'ed',{'port':_0x3b6421[_0x4e7d1f(0x2e4)],'tokenPresent':Boolean(_0x3b6421[_0x4e7d1f(0x274)])}),await _0x4a6941(_0x3b6421[_0x4e7d1f(0x274)],_0x3b6421[_0x4e7d1f(0x2e4)]);}async function _0xe443a8(){const _0x497a55=_0xfb077b;_0xaed185=!![],_0x4e3a7a?.[_0x497a55(0x28b)](_0x497a55(0x2d9)+_0x497a55(0x2a6)+_0x497a55(0x254)+_0x497a55(0x245)+'d',{'pid':_0x5379a3?.['pid']??null,'port':_0x5462e5}),_0x38ef07[_0x497a55(0x26b)+'e'](null);if(_0x5379a3){const _0x27a527=_0x5379a3;_0x5379a3=null;try{_0x27a527[_0x497a55(0x1e4)](_0x497a55(0x295));}catch{}await new Promise(_0x2186a5=>setTimeout(_0x2186a5,0x1f4));if(!_0x27a527['killed'])try{_0x27a527['kill']('SIGKILL');}catch{}}_0x82e73e=null,_0x5462e5=null,_0x30e51a(_0x497a55(0x2d9)+_0x497a55(0x262)),await _0x22197e[_0x497a55(0x1fb)](),_0x58b4d4['dispose'](),_0xad5f1(_0x497a55(0x262),_0x497a55(0x2d9)+_0x497a55(0x262),{'health':_0x497a55(0x1ee),'port':null,'tokenPresent':![]}),_0xaed185=![];}async function _0x2f6e01(_0x354fcd=_0xfb077b(0x292)+'estart'){const _0x2a3bc2=_0xfb077b;if(_0x8223a2)return{'ok':!![]};return _0x8223a2=!![],_0x4e3a7a?.[_0x2a3bc2(0x28b)]('gateway\x20'+_0x2a3bc2(0x296)+_0x2a3bc2(0x245)+'d',{'reason':_0x354fcd}),_0x1f0f7e=_0x1f0f7e[_0x2a3bc2(0x346)](async()=>{const _0x2d24db=_0x2a3bc2;_0xad5f1('restarti'+'ng',_0x2d24db(0x2d9)+_0x2d24db(0x1f9)+'ng:\x20'+_0x354fcd,{'health':_0x2d24db(0x1ee)}),await _0xe443a8(),await _0x375ad0();})[_0x2a3bc2(0x2d2)](()=>{_0x8223a2=![];}),await _0x1f0f7e,{'ok':!![]};}async function _0x50c7d6(){const _0x56245e=_0xfb077b,_0x2b8ae8=await loadRuntimeInfo(_0x329154[_0x56245e(0x21e)+_0x56245e(0x2da)]);return{'runtimeRoot':_0x2b8ae8['runtimeR'+_0x56245e(0x2da)],'openclawVersion':_0x2b8ae8[_0x56245e(0x226)+_0x56245e(0x2d1)],'openclawWorkingDir':_0x2b8ae8[_0x56245e(0x226)+'WorkingD'+'ir'],'openclawBin':_0x2b8ae8[_0x56245e(0x226)+_0x56245e(0x32d)],'plugins':_0x2b8ae8['plugins'][_0x56245e(0x20b)](_0x38e82d=>({'pluginId':_0x38e82d['pluginId'],'source':_0x38e82d['source'],'version':_0x38e82d['version'],'installPath':_0x38e82d[_0x56245e(0x2c5)+_0x56245e(0x325)]})),'configPath':_0x58b4d4['resolveC'+'onfigPat'+'h'](),'stateDir':_0x58b4d4[_0x56245e(0x2fd)+'tateDir'](),'bundledAgentSkillsDiscovery':_0x30c334};}async function _0x46e302(){const _0x7361dc=_0xfb077b;_0x2039d2?.[_0x7361dc(0x28b)](_0x7361dc(0x247)+_0x7361dc(0x27c)+'ested');const _0x544b2e=asRecord(await _0x38ef07[_0x7361dc(0x278)](_0x7361dc(0x29b)+_0x7361dc(0x2a1),{})),_0xf39d7=getTrimmedString(_0x544b2e[_0x7361dc(0x2d4)+'d'])||_0x7361dc(0x291),_0x5406f2=Array['isArray'](_0x544b2e[_0x7361dc(0x1fd)])?[..._0x544b2e[_0x7361dc(0x1fd)]]:[];return{..._0x544b2e,'defaultId':_0xf39d7,'agents':_0x5406f2};}async function _0x393c8a(){const _0x546af7=_0xfb077b;if(!_0x4f4b5b())return{'defaultId':'main','mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x546af7(0x291),'name':_0x329154[_0x546af7(0x31c)+_0x546af7(0x2a5)],'workspace':join(_0x58b4d4[_0x546af7(0x2fd)+_0x546af7(0x2aa)](),_0x546af7(0x29f)+'e')}]};const _0x4a6911=await _0x46e302(),_0x266e79=getTrimmedString(_0x4a6911[_0x546af7(0x2d4)+'d'])||_0x546af7(0x291),_0x72aeb3=Array['isArray'](_0x4a6911[_0x546af7(0x1fd)])?[..._0x4a6911[_0x546af7(0x1fd)]]:[];return!_0x72aeb3[_0x546af7(0x334)](_0x856df6=>asRecord(_0x856df6)['id']==='main')&&_0x72aeb3[_0x546af7(0x327)]({'id':_0x546af7(0x291),'name':_0x329154[_0x546af7(0x31c)+_0x546af7(0x2a5)],'workspace':join(_0x58b4d4[_0x546af7(0x2fd)+'tateDir'](),'workspac'+'e')}),{..._0x4a6911,'defaultId':_0x266e79,'agents':_0x72aeb3};}async function _0x47bdf2(_0x5f16a8={}){const _0x50c8de=_0xfb077b;_0x185aa5();const _0x277f01=Date[_0x50c8de(0x1eb)]();_0x8c119e?.['info'](_0x50c8de(0x30c)+_0x50c8de(0x2ea)+_0x50c8de(0x24e),{'payload':summarizePayload(_0x5f16a8)});const _0x2b3fe9=await _0x38ef07[_0x50c8de(0x278)](_0x50c8de(0x299)+'.create',buildSessionCreateRequestPayload(_0x5f16a8)),_0x56cd83=parseSessionCreateResult(_0x2b3fe9);return _0x8c119e?.[_0x50c8de(0x28b)](_0x50c8de(0x30c)+_0x50c8de(0x302)+'ompleted',{'key':_0x56cd83['key'],'sessionId':_0x56cd83[_0x50c8de(0x202)+'d'],'durationMs':Date[_0x50c8de(0x1eb)]()-_0x277f01}),_0x56cd83;}async function _0x311a85(_0x2ee4ee={}){const _0x28b18a=_0xfb077b,_0x4b6a30=await readSessionMetadata(_0x58b4d4[_0x28b18a(0x2fd)+_0x28b18a(0x2aa)]());if(!_0x4f4b5b())return{'pending':!![],'sessions':[],'pinnedKeys':_0x4b6a30[_0x28b18a(0x280)+'ys']};const _0x1c66f4=Date['now'](),_0x3ec419=Math[_0x28b18a(0x273)](0x1,Math[_0x28b18a(0x338)](Number(_0x2ee4ee[_0x28b18a(0x22f)])||0x64)),_0x5ee104={'limit':_0x3ec419,'includeGlobal':!![],'includeUnknown':![]},_0x556b00=getTrimmedString(_0x2ee4ee[_0x28b18a(0x339)]??_0x28b18a(0x291));if(_0x556b00)_0x5ee104[_0x28b18a(0x339)]=_0x556b00;const _0xf6b069=applySessionMetadata(await _0x38ef07[_0x28b18a(0x278)]('sessions'+'.list',_0x5ee104),_0x4b6a30);return _0x8c119e?.['info']('sessions'+'\x20list\x20co'+'mpleted',{'payload':_0x5ee104,'count':Array[_0x28b18a(0x312)](_0xf6b069[_0x28b18a(0x299)])?_0xf6b069['sessions'][_0x28b18a(0x237)]:0x0,'durationMs':Date[_0x28b18a(0x1eb)]()-_0x1c66f4}),_0xf6b069;}async function _0x4f444b(_0x4624f6={}){const _0x4f5373=_0xfb077b;_0x185aa5();const _0x2b7577=getTrimmedString(_0x4624f6[_0x4f5373(0x1ed)+'ey']??_0x4624f6[_0x4f5373(0x256)]);if(!_0x2b7577)throw new Error('sessionK'+_0x4f5373(0x2b7)+_0x4f5373(0x25f));const _0x84dfa8=Date['now'](),_0x5875e9=await _0x38ef07[_0x4f5373(0x278)](_0x4f5373(0x299)+_0x4f5373(0x2ad),{'key':_0x2b7577,'deleteTranscript':_0x4624f6[_0x4f5373(0x2c1)+_0x4f5373(0x2bb)]!==![],'emitLifecycleHooks':!![]}),_0x5bb571=await readSessionMetadata(_0x58b4d4[_0x4f5373(0x2fd)+_0x4f5373(0x2aa)]());return delete _0x5bb571[_0x4f5373(0x2f4)][_0x2b7577],_0x5bb571[_0x4f5373(0x280)+'ys']=_0x5bb571['pinnedKe'+'ys'][_0x4f5373(0x1fa)](_0x3947e8=>_0x3947e8!==_0x2b7577),await writeSessionMetadata(_0x58b4d4[_0x4f5373(0x2fd)+_0x4f5373(0x2aa)](),_0x5bb571),_0xe8a129(_0x4f5373(0x23a)+'updated',{'type':_0x4f5373(0x21f),'sessionKey':_0x2b7577}),_0x8c119e?.[_0x4f5373(0x28b)](_0x4f5373(0x30c)+_0x4f5373(0x246)+_0x4f5373(0x235),{'sessionKey':_0x2b7577,'deleteTranscript':_0x4624f6[_0x4f5373(0x2c1)+_0x4f5373(0x2bb)]!==![],'durationMs':Date['now']()-_0x84dfa8}),_0x5875e9;}async function _0x44ce63(_0x4e269c={}){const _0x24607f=_0xfb077b,_0x15f1c1=getTrimmedString(_0x4e269c[_0x24607f(0x1ed)+'ey']??_0x4e269c['key']);if(!_0x15f1c1)throw new Error(_0x24607f(0x1ed)+_0x24607f(0x2b7)+_0x24607f(0x25f));const _0x43d7d5=getTrimmedString(_0x4e269c['name']??_0x4e269c[_0x24607f(0x2eb)]??_0x4e269c[_0x24607f(0x33d)]),_0x99c879=await readSessionMetadata(_0x58b4d4[_0x24607f(0x2fd)+_0x24607f(0x2aa)]());if(_0x43d7d5)_0x99c879[_0x24607f(0x2f4)][_0x15f1c1]=_0x43d7d5;else delete _0x99c879['names'][_0x15f1c1];return await writeSessionMetadata(_0x58b4d4[_0x24607f(0x2fd)+_0x24607f(0x2aa)](),_0x99c879),_0xe8a129(_0x24607f(0x23a)+_0x24607f(0x33a),{'type':_0x24607f(0x276),'sessionKey':_0x15f1c1,'name':_0x43d7d5}),_0x8c119e?.[_0x24607f(0x28b)](_0x24607f(0x30c)+'rename\x20c'+'ompleted',{'sessionKey':_0x15f1c1,'hasName':Boolean(_0x43d7d5),'name':_0x43d7d5?summarizeText(_0x43d7d5,0x50):undefined}),{'ok':!![]};}async function _0xf6b2c2(){const _0x32c613=_0xfb077b,_0x33ceb2=await readSessionMetadata(_0x58b4d4['resolveS'+_0x32c613(0x2aa)]());return _0x33ceb2[_0x32c613(0x280)+'ys'];}async function _0x548f07(_0x29234d=[]){const _0x3197ff=_0xfb077b,_0x2b1136=await readSessionMetadata(_0x58b4d4[_0x3197ff(0x2fd)+_0x3197ff(0x2aa)]());return _0x2b1136[_0x3197ff(0x280)+'ys']=Array['isArray'](_0x29234d)?[...new Set(_0x29234d[_0x3197ff(0x20b)](getTrimmedString)[_0x3197ff(0x1fa)](Boolean))]:[],await writeSessionMetadata(_0x58b4d4[_0x3197ff(0x2fd)+_0x3197ff(0x2aa)](),_0x2b1136),_0xe8a129(_0x3197ff(0x23a)+_0x3197ff(0x33a),{'type':_0x3197ff(0x2fc)+_0x3197ff(0x1e3)+_0x3197ff(0x34a),'pinnedKeys':_0x2b1136[_0x3197ff(0x280)+'ys']}),_0x8c119e?.[_0x3197ff(0x28b)](_0x3197ff(0x30c)+_0x3197ff(0x214)+_0x3197ff(0x2f1)+_0x3197ff(0x34a),{'count':_0x2b1136[_0x3197ff(0x280)+'ys']['length']}),{'ok':!![],'pinnedKeys':_0x2b1136[_0x3197ff(0x280)+'ys']};}async function _0x411e28(){const _0x220266=_0xfb077b,_0x20ae43=join(_0x58b4d4[_0x220266(0x2fd)+'tateDir'](),_0x220266(0x29f)+'e');return{'path':_0x20ae43,'exists':Boolean(await stat(_0x20ae43)[_0x220266(0x285)](()=>null))};}async function _0x452a88(){const _0x266622=_0xfb077b;return readSharedContext(join(_0x58b4d4[_0x266622(0x2fd)+_0x266622(0x2aa)](),'workspac'+'e'));}async function _0x31351d(_0x4eaa1b={}){const _0x496904=_0xfb077b;return _0x2039d2?.['info']('workspac'+'e\x20shared'+_0x496904(0x349)+_0x496904(0x2ab)+'equested',{'files':Object[_0x496904(0x249)](sanitizeSharedContextPayload(_0x4eaa1b))}),writeSharedContext(join(_0x58b4d4[_0x496904(0x2fd)+_0x496904(0x2aa)](),_0x496904(0x29f)+'e'),_0x4eaa1b);}async function _0x2d48d9(_0x238e43={}){const _0x20313f=_0xfb077b;return _0x185aa5(),await _0x38ef07[_0x20313f(0x278)]('cron.lis'+'t',_0x238e43);}async function _0x263eb8(_0x401be4={}){const _0x1c029f=_0xfb077b;return _0x185aa5(),await _0x38ef07['request'](_0x1c029f(0x241),_0x401be4);}async function _0x1d2310(_0x2c60ed={}){const _0x3cb00e=_0xfb077b;_0x185aa5();const _0x12523a=getTrimmedString(_0x2c60ed['jobId']??_0x2c60ed['id']);if(!_0x12523a)throw new Error(_0x3cb00e(0x25e)+_0x3cb00e(0x2ba)+'d');const _0x4ae8f0=asRecord(_0x2c60ed[_0x3cb00e(0x316)]),_0x605d09=Object['keys'](_0x4ae8f0)[_0x3cb00e(0x237)]>0x0?_0x4ae8f0:{..._0x2c60ed};return delete _0x605d09[_0x3cb00e(0x30e)],delete _0x605d09['id'],await _0x38ef07[_0x3cb00e(0x278)](_0x3cb00e(0x32a)+_0x3cb00e(0x277),{'jobId':_0x12523a,'patch':_0x605d09});}async function _0x47c394(_0x59540c={}){const _0x242c00=_0xfb077b;_0x185aa5();const _0x1f09f3=getTrimmedString(_0x59540c[_0x242c00(0x30e)]??_0x59540c['id']);if(!_0x1f09f3)throw new Error(_0x242c00(0x25e)+'\x20require'+'d');return await _0x38ef07['request'](_0x242c00(0x31a)+_0x242c00(0x21b),{'jobId':_0x1f09f3});}async function _0x4bdb2e(_0x2768af={}){const _0x42151e=_0xfb077b;_0x185aa5();const _0x3ead42=getTrimmedString(_0x2768af[_0x42151e(0x30e)]??_0x2768af['id']);if(!_0x3ead42)throw new Error(_0x42151e(0x25e)+_0x42151e(0x2ba)+'d');return await _0x38ef07[_0x42151e(0x278)](_0x42151e(0x201),{'jobId':_0x3ead42});}async function _0x461a15(_0x4768a4={}){const _0x5d931d=_0xfb077b;return _0x185aa5(),await _0x38ef07[_0x5d931d(0x278)]('cron.run'+'s',_0x4768a4);}async function _0x54cfe4(_0x37394c={}){const _0x32e170=_0xfb077b;_0x185aa5();const _0x9b45f3=Date[_0x32e170(0x1eb)]();_0x2039d2?.[_0x32e170(0x28b)]('skill\x20in'+_0x32e170(0x2f6)+'quested',{'payload':summarizePayload(_0x37394c)});try{const _0x4689f0=await _0x38ef07[_0x32e170(0x278)](_0x32e170(0x345)+_0x32e170(0x2e1),_0x37394c);return _0x2039d2?.[_0x32e170(0x28b)](_0x32e170(0x32c)+_0x32e170(0x26a)+_0x32e170(0x22d),{'durationMs':Date[_0x32e170(0x1eb)]()-_0x9b45f3,'result':summarizePayload(_0x4689f0,{'maxDepth':0x2})}),_0x4689f0;}catch(_0x3bedd9){_0x2039d2?.['error']('skill\x20in'+_0x32e170(0x207)+'iled',{'durationMs':Date[_0x32e170(0x1eb)]()-_0x9b45f3,'error':summarizeError(_0x3bedd9)});throw _0x3bedd9;}}async function _0x9f9827(_0x9c7158={}){const _0x1f9343=_0xfb077b;return _0x185aa5(),_0x2039d2?.[_0x1f9343(0x28b)](_0x1f9343(0x224)+_0x1f9343(0x2d6)+'uested',{'payload':summarizePayload(_0x9c7158)}),await _0x38ef07['request'](_0x1f9343(0x2d5)+'pdate',_0x9c7158);}async function _0x330ea5(_0x1dd793={}){const _0x4153d3=_0xfb077b;return _0x185aa5(),_0x2039d2?.[_0x4153d3(0x28b)](_0x4153d3(0x2e7)+_0x4153d3(0x310)+_0x4153d3(0x233),{'payload':summarizePayload(_0x1dd793)}),await _0x38ef07[_0x4153d3(0x278)](_0x4153d3(0x2ce)+'elete',_0x1dd793);}async function _0x203b97(_0xba7599={}){const _0x5b0a19=_0xfb077b;_0x185aa5();const _0xa81840=getTrimmedString(_0xba7599[_0x5b0a19(0x1ed)+'ey']),_0xa9765e=getTrimmedString(_0xba7599['message']),_0x11627b=getTrimmedString(_0xba7599[_0x5b0a19(0x24a)+'d'])||randomUUID();if(!_0xa81840)throw new Error(_0x5b0a19(0x1ed)+_0x5b0a19(0x2b7)+_0x5b0a19(0x25f));if(!_0xa9765e)throw new Error(_0x5b0a19(0x2f0)+_0x5b0a19(0x21c)+_0x5b0a19(0x29c));const _0x2ffb84=Date[_0x5b0a19(0x1eb)]();_0x4b0dab?.[_0x5b0a19(0x28b)](_0x5b0a19(0x2d3)+_0x5b0a19(0x253)+_0x5b0a19(0x281),{'requestId':_0x11627b,'sessionKey':_0xa81840,'message':summarizeText(_0xa9765e),'filePaths':summarizeFilePaths(_0xba7599['filePath'+'s'])}),_0x5163f1({'requestId':_0x11627b,'sessionKey':_0xa81840,'type':_0x5b0a19(0x309)}),_0x3b9dc7[_0x5b0a19(0x288)](_0x11627b,{'runId':_0x11627b,'requestId':_0x11627b,'sessionKey':_0xa81840,'textLength':0x0,'startedAt':_0x2ffb84}),_0x5dff0a[_0x5b0a19(0x288)](_0xa81840,_0x11627b);try{const _0x3fdac=await buildAttachments(Array['isArray'](_0xba7599[_0x5b0a19(0x2a2)+'s'])?_0xba7599[_0x5b0a19(0x2a2)+'s']:[]);_0x4b0dab?.['info']('chat\x20att'+_0x5b0a19(0x264)+'\x20prepare'+'d',{'requestId':_0x11627b,'sessionKey':_0xa81840,'attachmentCount':_0x3fdac[_0x5b0a19(0x237)],'attachments':_0x3fdac['map'](_0x116ad2=>({'type':_0x116ad2['type'],'mimeType':_0x116ad2['mimeType'],'fileName':_0x116ad2[_0x5b0a19(0x2b1)],'contentLength':_0x116ad2[_0x5b0a19(0x311)][_0x5b0a19(0x237)]}))});const _0x8177cf=asRecord(await _0x38ef07[_0x5b0a19(0x278)]('chat.sen'+'d',{'sessionKey':_0xa81840,'message':_0xa9765e,'deliver':![],'idempotencyKey':_0x11627b,..._0x3fdac[_0x5b0a19(0x237)]>0x0?{'attachments':_0x3fdac}:{}})),_0x5cbf13=getTrimmedString(_0x8177cf[_0x5b0a19(0x30b)])||_0x11627b,_0x1e6f6a=_0x3b9dc7['get'](_0x11627b);if(!_0x1e6f6a)return{'ok':!![],'requestId':_0x11627b,'runId':_0x5cbf13};return _0x5cbf13!==_0x1e6f6a[_0x5b0a19(0x30b)]&&(_0x3b9dc7[_0x5b0a19(0x2ac)](_0x1e6f6a[_0x5b0a19(0x30b)]),_0x1e6f6a[_0x5b0a19(0x30b)]=_0x5cbf13,_0x3b9dc7[_0x5b0a19(0x288)](_0x5cbf13,_0x1e6f6a)),_0x5dff0a['set'](_0xa81840,_0x5cbf13),_0x4b0dab?.[_0x5b0a19(0x28b)]('chat\x20str'+_0x5b0a19(0x332)+_0x5b0a19(0x238)+'gateway',{'requestId':_0x11627b,'runId':_0x5cbf13,'sessionKey':_0xa81840,'durationMs':Date[_0x5b0a19(0x1eb)]()-_0x2ffb84,'status':_0x8177cf['status']}),_0x8177cf[_0x5b0a19(0x1de)]===_0x5b0a19(0x2e9)&&_0x5be51f(_0x1e6f6a,_0x5b0a19(0x2e9),getTrimmedString(_0x8177cf[_0x5b0a19(0x20a)+_0x5b0a19(0x2b8)])||'gateway\x20'+_0x5b0a19(0x304)+_0x5b0a19(0x26f)),{'ok':!![],'requestId':_0x11627b,'runId':_0x5cbf13,'response':_0x8177cf};}catch(_0x730062){const _0x50e307=_0x1693f5(_0x11627b),_0x1458f1=_0x730062 instanceof Error?_0x730062[_0x5b0a19(0x2a0)]:String(_0x730062);_0x4b0dab?.[_0x5b0a19(0x2e9)](_0x5b0a19(0x2d3)+_0x5b0a19(0x204)+'ed',{'requestId':_0x11627b,'sessionKey':_0xa81840,'durationMs':Date[_0x5b0a19(0x1eb)]()-_0x2ffb84,'error':summarizeError(_0x730062)});if(_0x50e307)_0x5be51f(_0x50e307,'error',_0x1458f1);else _0x5163f1({'requestId':_0x11627b,'sessionKey':_0xa81840,'type':_0x5b0a19(0x2e9),'message':_0x1458f1});throw _0x730062;}}async function _0x3a6208(_0x5b7223={}){const _0x3e5edb=_0xfb077b;_0x185aa5();const _0x28aedd=getTrimmedString(_0x5b7223[_0x3e5edb(0x1ed)+'ey']);if(!_0x28aedd)throw new Error(_0x3e5edb(0x1ed)+_0x3e5edb(0x2b7)+_0x3e5edb(0x25f));const _0x18a329=Date[_0x3e5edb(0x1eb)](),_0x52bc42=_0x1693f5(getTrimmedString(_0x5b7223[_0x3e5edb(0x24a)+'d']))??_0x11d05b(_0x28aedd),_0x4361ec=_0x5dff0a['get'](_0x28aedd),_0x55b3cc={'sessionKey':_0x28aedd};if(_0x52bc42?.['runId'])_0x55b3cc[_0x3e5edb(0x30b)]=_0x52bc42[_0x3e5edb(0x30b)];else{if(_0x4361ec)_0x55b3cc[_0x3e5edb(0x30b)]=_0x4361ec;}const _0x1c6b0d=await _0x38ef07[_0x3e5edb(0x278)](_0x3e5edb(0x331)+'rt',_0x55b3cc);if(_0x52bc42)_0x5be51f(_0x52bc42,_0x3e5edb(0x236));return _0x4b0dab?.['info'](_0x3e5edb(0x267)+_0x3e5edb(0x200)+_0x3e5edb(0x206),{'sessionKey':_0x28aedd,'requestId':getTrimmedString(_0x5b7223[_0x3e5edb(0x24a)+'d']),'runId':_0x55b3cc[_0x3e5edb(0x30b)],'durationMs':Date[_0x3e5edb(0x1eb)]()-_0x18a329}),_0x1c6b0d;}async function _0x1278a9(_0x161dbc={}){const _0x19b3cd=_0xfb077b;_0x185aa5();const _0x3c1ea1=getTrimmedString(_0x161dbc[_0x19b3cd(0x1ed)+'ey']);if(!_0x3c1ea1)throw new Error(_0x19b3cd(0x1ed)+_0x19b3cd(0x2b7)+_0x19b3cd(0x25f));const _0x4d5229=await _0x38ef07[_0x19b3cd(0x278)](_0x19b3cd(0x2ed)+_0x19b3cd(0x232),{'sessionKey':_0x3c1ea1,'limit':Math['max'](0x1,Math['floor'](Number(_0x161dbc[_0x19b3cd(0x22f)])||0xc8))});return _0x4b0dab?.[_0x19b3cd(0x28b)]('chat\x20his'+'tory\x20loa'+'ded',{'sessionKey':_0x3c1ea1,'limit':Math[_0x19b3cd(0x273)](0x1,Math[_0x19b3cd(0x338)](Number(_0x161dbc[_0x19b3cd(0x22f)])||0xc8)),'result':summarizePayload(_0x4d5229,{'maxDepth':0x2})}),_0x4d5229;}async function _0x5c00ad(_0x3c7a39=''){const _0x29510a=_0xfb077b;if(!_0x4f4b5b())return{'pending':!![],'skills':[]};const _0x59f6ae=getTrimmedString(_0x3c7a39),_0x1b5b7c=await _0x38ef07[_0x29510a(0x278)]('skills.s'+_0x29510a(0x32f),_0x59f6ae?{'agentId':_0x59f6ae}:{}),_0x5b7312=await _0x58b4d4[_0x29510a(0x328)+'ig']()[_0x29510a(0x285)](()=>({})),_0x35cb2a=filterSkillsForAgent(_0x1b5b7c,_0x5b7312,_0x59f6ae);return _0x2039d2?.['info']('skills\x20s'+_0x29510a(0x318)+'aded',{'agentId':_0x59f6ae||_0x29510a(0x231),'result':summarizePayload(_0x35cb2a,{'maxDepth':0x2})}),_0x35cb2a;}return{'on':_0x3a008e,'start':_0x375ad0,'stop':_0xe443a8,'restart':_0x2f6e01,'runtimeInfo':_0x50c7d6,'getStatus':()=>_0x46e744,'getRecentLogs':_0x14aa06,'answerAskUserQuestion':_0xdc76e1=>_0x22197e[_0xfb077b(0x250)](_0xdc76e1),'agents':{'list':_0x393c8a},'skills':{'status':_0x5c00ad,'install':_0x54cfe4,'update':_0x9f9827,'delete':_0x330ea5},'sessions':{'create':_0x47bdf2,'list':_0x311a85,'delete':_0x4f444b,'rename':_0x44ce63,'pinnedKeys':_0xf6b2c2,'setPinnedKeys':_0x548f07},'workspace':{'directoryInfo':_0x411e28,'sharedContext':_0x452a88,'writeSharedContext':_0x31351d},'cron':{'list':_0x2d48d9,'create':_0x263eb8,'update':_0x1d2310,'remove':_0x47c394,'runOnce':_0x4bdb2e,'logs':_0x461a15},'models':{'settings':()=>_0x58b4d4['getModel'+_0xfb077b(0x23d)](),'setSettings':async(_0x2b4d6d={})=>{const _0x1b9c18=_0xfb077b,_0x52164d=_0x2b4d6d?.['restartO'+_0x1b9c18(0x2d0)]!==![];return await _0x58b4d4[_0x1b9c18(0x22b)+_0x1b9c18(0x23d)](_0x2b4d6d,{'restartOnChange':_0x52164d}),_0x58b4d4[_0x1b9c18(0x21d)+_0x1b9c18(0x23d)]();},'setSelfOperatedModels':_0x5d2e5a=>_0x58b4d4[_0xfb077b(0x2cb)+'peratedM'+_0xfb077b(0x27a)](_0x5d2e5a),'selectedModelId':async()=>{const _0x3b9b7f=_0xfb077b,_0x162891=await _0x58b4d4[_0x3b9b7f(0x21d)+_0x3b9b7f(0x23d)]();return _0x162891['provider']&&_0x162891[_0x3b9b7f(0x2fb)+'e']?_0x162891[_0x3b9b7f(0x301)]+'/'+_0x162891[_0x3b9b7f(0x2fb)+'e']:'';},'customModels':async()=>[]},'config':{'read':()=>_0x58b4d4['readConf'+'ig']()},'chat':{'stream':_0x203b97,'abort':_0x3a6208,'history':_0x1278a9}};}
@@ -1 +0,0 @@
1
- const _0xc1f966=_0x1944;(function(_0x2bb854,_0x5e1c15){const _0x2cd25d=_0x1944,_0x29aae9=_0x2bb854();while(!![]){try{const _0x4d5502=parseInt(_0x2cd25d(0x17b))/0x1+parseInt(_0x2cd25d(0x170))/0x2*(parseInt(_0x2cd25d(0x110))/0x3)+parseInt(_0x2cd25d(0x137))/0x4+-parseInt(_0x2cd25d(0xf5))/0x5+-parseInt(_0x2cd25d(0x17f))/0x6*(parseInt(_0x2cd25d(0xfa))/0x7)+-parseInt(_0x2cd25d(0x188))/0x8+parseInt(_0x2cd25d(0x16a))/0x9;if(_0x4d5502===_0x5e1c15)break;else _0x29aae9['push'](_0x29aae9['shift']());}catch(_0x478bc8){_0x29aae9['push'](_0x29aae9['shift']());}}}(_0x4876,0xe13ef));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 _0x9c6169 from'ws';const ED25519_SPKI_PREFIX=Buffer[_0xc1f966(0x178)]('302a3005'+_0xc1f966(0x17d)+_0xc1f966(0x14f),_0xc1f966(0x132)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x547ad7){const _0x5b443f=_0xc1f966;return Boolean(_0x547ad7)&&typeof _0x547ad7===_0x5b443f(0x181)&&!Array['isArray'](_0x547ad7);}function formatUnknownError(_0x250f62){const _0x571053=_0xc1f966;if(_0x250f62 instanceof Error)return _0x250f62[_0x571053(0xe5)];return String(_0x250f62??'');}function isLocalGatewayConnRefused(_0x5164f8){const _0x380ae0=_0xc1f966,_0x3e9519=formatUnknownError(_0x5164f8);return/\bECONNREFUSED\b/i['test'](_0x3e9519)&&/127\.0\.0\.1:\d+/[_0x380ae0(0x12a)](_0x3e9519);}function base64UrlEncode(_0xc8182d){const _0x12da53=_0xc1f966;return _0xc8182d['toString']('base64')[_0x12da53(0x13d)+'ll']('+','-')[_0x12da53(0x13d)+'ll']('/','_')[_0x12da53(0x18e)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x15009f){const _0x503f63=_0xc1f966,_0x1aa4ef=createPublicKey(_0x15009f)['export']({'type':_0x503f63(0x193),'format':_0x503f63(0xef)}),_0x404b8e=Buffer['isBuffer'](_0x1aa4ef)?_0x1aa4ef:Buffer[_0x503f63(0x178)](_0x1aa4ef),_0x137037=_0x404b8e[_0x503f63(0x121)]===ED25519_SPKI_PREFIX[_0x503f63(0x121)]+0x20&&_0x404b8e['subarray'](0x0,ED25519_SPKI_PREFIX[_0x503f63(0x121)])['equals'](ED25519_SPKI_PREFIX);return _0x137037?_0x404b8e['subarray'](ED25519_SPKI_PREFIX[_0x503f63(0x121)]):_0x404b8e;}function fingerprintPublicKey(_0x5a5427){const _0x594ca=_0xc1f966;return createHash('sha256')[_0x594ca(0x11a)](derivePublicKeyRaw(_0x5a5427))[_0x594ca(0xfd)]('hex');}function publicKeyRawBase64UrlFromPem(_0x52d615){return base64UrlEncode(derivePublicKeyRaw(_0x52d615));}function _0x1944(_0x500315,_0xbf187e){_0x500315=_0x500315-0xda;const _0x4876d3=_0x4876();let _0x19447b=_0x4876d3[_0x500315];return _0x19447b;}function signDevicePayload(_0x23e1ae,_0x5c9756){const _0x5a7513=_0xc1f966,_0xf9673e=createPrivateKey(_0x23e1ae);return base64UrlEncode(sign(null,Buffer[_0x5a7513(0x178)](_0x5c9756,_0x5a7513(0x103)),_0xf9673e));}function normalizeDeviceMetadataForAuth(_0x1f6c27){const _0x5291a0=_0xc1f966,_0xbe1e7c=typeof _0x1f6c27===_0x5291a0(0x10d)?_0x1f6c27[_0x5291a0(0xf7)]():'';if(!_0xbe1e7c)return'';return _0xbe1e7c['replace'](UPPERCASE_ASCII_REGEX,_0x196f8c=>String[_0x5291a0(0xde)+_0x5291a0(0x16c)](_0x196f8c[_0x5291a0(0x152)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x412b03){const _0x5df333=_0xc1f966;return['v3',_0x412b03[_0x5df333(0x194)],_0x412b03[_0x5df333(0xe1)],_0x412b03['clientMo'+'de'],_0x412b03[_0x5df333(0x101)],_0x412b03['scopes'][_0x5df333(0xf2)](','),String(_0x412b03[_0x5df333(0x15c)+'Ms']),_0x412b03[_0x5df333(0x195)]??'',_0x412b03[_0x5df333(0xe3)],normalizeDeviceMetadataForAuth(_0x412b03['platform']),normalizeDeviceMetadataForAuth(_0x412b03[_0x5df333(0x171)+'mily'])]['join']('|');}function _0x4876(){const _0x37b96d=['connect.','4095640DeaQbO','ers','reconnec','ction\x20ti','lengeTim','once','replace','privateK','expectFi','failed\x20t','eyPem','spki','deviceId','token','failed','DateTime','tTimer','stringif','eadyWait','fromChar','gateway\x20','handleDi','clientId','t\x20stoppe','nonce','is\x20not\x20l','message','WS\x20hands','config','rsion','agent','nected','connecte','shouldRe','d\x20(','status','der','now','ted','join','resolveR','ting','8078970NbSavr','wujie-sh','trim','viceFami','rejectRe','77SNOTsk','removeAl','WS\x20conne','digest','Timer','ell/','nectChal','role','chat','utf8','publicKe','.approva','dentity','hallenge','request\x20','onDiscon','req','timeout','t\x20connec','string','\x20yet','resolved','2301WPAXNW','hake\x20mis','pending','eout','ct\x20faile','push','res','e\x20timeou','sing\x20non','WS\x20close','update','yPem','clearTim','WS\x20error','resolve','.read','clientDi','length','adyWaite','tBackoff','sconnect','readyWai','ble','timed\x20ou','connect','payload','test','g\x20nonce','operator','queueCon','device\x20i','o\x20send\x20g','sendConn','challeng','hex','rejectPe','request','ed25519','open','6593732QSBdXi','WS\x20disco','connect\x20','restart','nding','pkcs8','replaceA','vent','ssage','istening','lReady','type','parse','ed\x20out','ured','初始化\x20gate','onConnec','ters','hake\x20tim','.admin','.write','error','identity','nnected','70032100','t\x20restar','connectS','charCode','dentity\x20','accepted','event','clientVe','platform','ent','Options','url','t\x20config','signedAt','entries','waitUnti','splayNam','failed:\x20','close','WS\x20is\x20no','.pairing','ect','med\x20out','Format','t:\x20','toString','handleMe','21369024NssGZI','way\x20设备身份','Code','onChatEv','skipRead','Path','106XeoNaN','deviceFa','lListene','clientMo','e\x20missin','delete','locale','method','from','entity','pem','480725CRiHuG','configur','06032b65','nal','814794nvSHus','connectN','object','connectC','reject','export','WS\x20clien','stop'];_0x4876=function(){return _0x37b96d;};return _0x4876();}function writeIdentityFile(_0x331109,_0x4fdd99,_0x58d3b2){const _0x537162=_0xc1f966;mkdirSync(dirname(_0x331109),{'recursive':!![]}),writeFileSync(_0x331109,JSON[_0x537162(0xdc)+'y']({'version':0x1,..._0x4fdd99,'createdAtMs':_0x58d3b2},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x331109,0x180);}catch{}}function generateDeviceIdentity(){const _0x4b29c3=_0xc1f966,{publicKey:_0x296542,privateKey:_0x13566c}=generateKeyPairSync(_0x4b29c3(0x135)),_0x4d4de5=_0x296542[_0x4b29c3(0x184)]({'type':_0x4b29c3(0x193),'format':'pem'})[_0x4b29c3(0x168)](),_0x16e0b0=_0x13566c[_0x4b29c3(0x184)]({'type':_0x4b29c3(0x13c),'format':_0x4b29c3(0x17a)})[_0x4b29c3(0x168)]();return{'deviceId':fingerprintPublicKey(_0x4d4de5),'publicKeyPem':_0x4d4de5,'privateKeyPem':_0x16e0b0};}function loadOrCreateDeviceIdentity(_0x594ad6){const _0x11a65d=_0xc1f966;if(existsSync(_0x594ad6))try{const _0x1cb133=JSON['parse'](readFileSync(_0x594ad6,_0x11a65d(0x103))),_0xdc176a=typeof _0x1cb133?.[_0x11a65d(0x104)+_0x11a65d(0x11b)]===_0x11a65d(0x10d)?_0x1cb133['publicKe'+_0x11a65d(0x11b)]:'',_0x1e0162=typeof _0x1cb133?.[_0x11a65d(0x18f)+_0x11a65d(0x192)]===_0x11a65d(0x10d)?_0x1cb133['privateK'+'eyPem']:'';if(_0xdc176a&&_0x1e0162){const _0x2efbc7={'deviceId':fingerprintPublicKey(_0xdc176a),'publicKeyPem':_0xdc176a,'privateKeyPem':_0x1e0162};return _0x1cb133?.[_0x11a65d(0x194)]!==_0x2efbc7[_0x11a65d(0x194)]&&writeIdentityFile(_0x594ad6,_0x2efbc7,Date['now']()),_0x2efbc7;}}catch{}const _0x3f8504=generateDeviceIdentity();return writeIdentityFile(_0x594ad6,_0x3f8504,Date['now']()),_0x3f8504;}export class ClawGatewayWsClient{['ws']=null;[_0xc1f966(0xe7)]=null;[_0xc1f966(0x112)]=new Map();[_0xc1f966(0x125)+_0xc1f966(0x148)]=[];[_0xc1f966(0xec)+_0xc1f966(0x128)]=![];[_0xc1f966(0x18a)+'tTimer']=null;[_0xc1f966(0x182)+_0xc1f966(0x107)+'Timer']=null;['connectN'+'once']=null;[_0xc1f966(0x151)+'ent']=![];[_0xc1f966(0xeb)+'d']=![];[_0xc1f966(0x18a)+_0xc1f966(0x123)+'Ms']=0x320;[_0xc1f966(0x194)+_0xc1f966(0x179)]=null;[_0xc1f966(0x17c)+'e'](_0x20a0bb){const _0x21edfc=_0xc1f966;if(!_0x20a0bb){this['stop']();return;}const _0x7a2898=this[_0x21edfc(0xe7)];this[_0x21edfc(0xe7)]=_0x20a0bb,this[_0x21edfc(0xec)+_0x21edfc(0x128)]=!![];try{this[_0x21edfc(0x194)+_0x21edfc(0x179)]=loadOrCreateDeviceIdentity(_0x20a0bb[_0x21edfc(0x14d)+_0x21edfc(0x16f)]);}catch(_0x17cf74){const _0x5af287=_0x17cf74 instanceof Error?_0x17cf74[_0x21edfc(0xe5)]:_0x21edfc(0x146)+_0x21edfc(0x16b)+'失败';this[_0x21edfc(0x186)](),_0x20a0bb[_0x21edfc(0x109)+_0x21edfc(0xea)](_0x5af287);return;}const _0x171870=!_0x7a2898||_0x7a2898[_0x21edfc(0x15a)]!==_0x20a0bb[_0x21edfc(0x15a)]||_0x7a2898[_0x21edfc(0x195)]!==_0x20a0bb[_0x21edfc(0x195)]||_0x7a2898[_0x21edfc(0xe1)]!==_0x20a0bb[_0x21edfc(0xe1)]||_0x7a2898['clientMo'+'de']!==_0x20a0bb[_0x21edfc(0x173)+'de']||_0x7a2898['clientVe'+'rsion']!==_0x20a0bb[_0x21edfc(0x156)+'rsion']||_0x7a2898['identity'+_0x21edfc(0x16f)]!==_0x20a0bb['identity'+_0x21edfc(0x16f)];if(_0x171870){this['restart']();return;}if(!this['ws'])this[_0x21edfc(0x128)]();}[_0xc1f966(0x186)](){const _0x2f1d5c=_0xc1f966;this[_0x2f1d5c(0xec)+_0x2f1d5c(0x128)]=![],this[_0x2f1d5c(0xeb)+'d']=![],this['connectN'+_0x2f1d5c(0x18d)]=null,this['connectS'+_0x2f1d5c(0x158)]=![],this[_0x2f1d5c(0x11c)+'ers'](),this[_0x2f1d5c(0x133)+_0x2f1d5c(0x13b)](new Error(_0x2f1d5c(0xdf)+_0x2f1d5c(0x185)+'t\x20stoppe'+'d')),this[_0x2f1d5c(0xf9)+_0x2f1d5c(0x122)+'rs'](new Error('gateway\x20'+_0x2f1d5c(0x185)+_0x2f1d5c(0xe2)+'d'));if(this['ws']){try{this['ws'][_0x2f1d5c(0x161)]();}catch{}this['ws']=null;}this[_0x2f1d5c(0x194)+_0x2f1d5c(0x179)]=null,this[_0x2f1d5c(0xe7)]=null;}async[_0xc1f966(0x134)](_0x48f5c6,_0x459847={},_0xc4e0a3={}){const _0x649665=_0xc1f966;if(!_0xc4e0a3[_0x649665(0x16e)+'yCheck'])await this[_0x649665(0x15e)+_0x649665(0x141)]();const _0x5d6cf7=this['ws'];if(!_0x5d6cf7||_0x5d6cf7['readySta'+'te']!==_0x9c6169['OPEN'])throw new Error(_0x649665(0xdf)+_0x649665(0x162)+_0x649665(0x10c)+_0x649665(0xf1));const _0x5b4c1d=randomUUID(),_0x5287ce=_0xc4e0a3['timeoutM'+'s']??0x7530;return await new Promise((_0x51433b,_0x5ac7f5)=>{const _0x513afc=_0x649665,_0x38f7a6=setTimeout(()=>{const _0xb0d4d4=_0x1944;this[_0xb0d4d4(0x112)][_0xb0d4d4(0x175)](_0x5b4c1d),_0x5ac7f5(new Error('gateway\x20'+'request\x20'+_0xb0d4d4(0x127)+_0xb0d4d4(0x167)+_0x48f5c6));},_0x5287ce);this[_0x513afc(0x112)]['set'](_0x5b4c1d,{'method':_0x48f5c6,'resolve':_0x4f233a=>{clearTimeout(_0x38f7a6),_0x51433b(_0x4f233a);},'reject':_0x3ec12c=>{clearTimeout(_0x38f7a6),_0x5ac7f5(_0x3ec12c);},'expectFinal':_0xc4e0a3[_0x513afc(0x190)+_0x513afc(0x17e)]===!![],'timeout':_0x38f7a6});try{_0x5d6cf7['send'](JSON[_0x513afc(0xdc)+'y']({'type':_0x513afc(0x10a),'id':_0x5b4c1d,'method':_0x48f5c6,'params':_0x459847}));}catch(_0x38ad24){this[_0x513afc(0x112)]['delete'](_0x5b4c1d),clearTimeout(_0x38f7a6),_0x5ac7f5(_0x38ad24 instanceof Error?_0x38ad24:new Error(_0x513afc(0x191)+_0x513afc(0x12f)+'ateway\x20r'+'equest'));}});}[_0xc1f966(0x13a)](){const _0x37e002=_0xc1f966;this[_0x37e002(0xeb)+'d']=![],this[_0x37e002(0x180)+'once']=null,this[_0x37e002(0x151)+_0x37e002(0x158)]=![],this['clearTim'+_0x37e002(0x189)](),this[_0x37e002(0x133)+_0x37e002(0x13b)](new Error(_0x37e002(0xdf)+_0x37e002(0x185)+_0x37e002(0x150)+_0x37e002(0xf4))),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x37e002(0xdf)+_0x37e002(0x185)+_0x37e002(0x150)+'ting'));if(this['ws']){try{this['ws']['terminat'+'e']();}catch{}this['ws']=null;}this['connect']();}[_0xc1f966(0x128)](){const _0x43277e=_0xc1f966;if(!this['config']||this['ws'])return;const _0x3b2747=new _0x9c6169(this[_0x43277e(0xe7)]['url']);this['ws']=_0x3b2747,_0x3b2747['on'](_0x43277e(0x136),()=>this[_0x43277e(0x12d)+'nectChal'+_0x43277e(0x18c)+_0x43277e(0x113)]()),_0x3b2747['on']('message',_0x29e932=>this[_0x43277e(0x169)+_0x43277e(0x13f)](_0x29e932['toString']())),_0x3b2747['on'](_0x43277e(0x161),(_0x56d589,_0x3c5127)=>{const _0x5e92ab=_0x43277e;if(this['connecte'+'d']){const _0x43c554=_0x3c5127[_0x5e92ab(0x168)]()||'code='+_0x56d589;this['handleDi'+'sconnect'](_0x5e92ab(0xdf)+_0x5e92ab(0x119)+_0x5e92ab(0xed)+_0x43c554+')');}else this['handleDi'+_0x5e92ab(0x124)]('');}),_0x3b2747['on'](_0x43277e(0x14c),_0x40bee4=>{const _0x275d79=_0x43277e;if(isLocalGatewayConnRefused(_0x40bee4)){this[_0x275d79(0xe0)+'sconnect'](_0x275d79(0xdf)+_0x275d79(0xe4)+_0x275d79(0x140)+_0x275d79(0x10e));return;}const _0x18dbef=formatUnknownError(_0x40bee4);this['handleDi'+_0x275d79(0x124)](_0x18dbef?'gateway\x20'+'WS\x20error'+':\x20'+_0x18dbef:'gateway\x20'+_0x275d79(0x11d));});}[_0xc1f966(0x12d)+_0xc1f966(0x100)+_0xc1f966(0x18c)+'eout'](){const _0xf460bf=_0xc1f966;this['connectN'+_0xf460bf(0x18d)]=null,this[_0xf460bf(0x151)+_0xf460bf(0x158)]=![];if(this[_0xf460bf(0x182)+_0xf460bf(0x107)+_0xf460bf(0xfe)])clearTimeout(this['connectC'+_0xf460bf(0x107)+'Timer']);this[_0xf460bf(0x182)+'hallenge'+_0xf460bf(0xfe)]=setTimeout(()=>{const _0x3f732c=_0xf460bf;if(this[_0x3f732c(0x151)+_0x3f732c(0x158)]||!this['ws']||this['ws']['readySta'+'te']!==_0x9c6169['OPEN'])return;this[_0x3f732c(0xe0)+'sconnect'](_0x3f732c(0xdf)+_0x3f732c(0xe6)+_0x3f732c(0x149)+_0x3f732c(0x144)),this['ws']?.['close'](0x3f0,'connect\x20'+_0x3f732c(0x131)+_0x3f732c(0x117)+'t');},0x7d0);}async[_0xc1f966(0x130)+_0xc1f966(0x164)](){const _0x240a90=_0xc1f966,_0xfc1650=this['config'];if(!_0xfc1650||this[_0x240a90(0x151)+_0x240a90(0x158)])return;const _0x3feb1c=this['connectN'+_0x240a90(0x18d)]?.[_0x240a90(0xf7)]()??'';if(!_0x3feb1c){this[_0x240a90(0xe0)+_0x240a90(0x124)]('gateway\x20'+_0x240a90(0xe6)+'hake\x20mis'+_0x240a90(0x118)+'ce'),this['ws']?.[_0x240a90(0x161)](0x3f0,_0x240a90(0x139)+'challeng'+_0x240a90(0x174)+_0x240a90(0x12b));return;}this[_0x240a90(0x151)+_0x240a90(0x158)]=!![];this[_0x240a90(0x182)+'hallenge'+_0x240a90(0xfe)]&&(clearTimeout(this[_0x240a90(0x182)+_0x240a90(0x107)+_0x240a90(0xfe)]),this[_0x240a90(0x182)+_0x240a90(0x107)+'Timer']=null);if(!this[_0x240a90(0x194)+'entity'])try{this[_0x240a90(0x194)+_0x240a90(0x179)]=loadOrCreateDeviceIdentity(_0xfc1650['identity'+'Path']);}catch(_0x1e4608){this['handleDi'+'sconnect'](_0x1e4608 instanceof Error?_0x1e4608['message']:_0x240a90(0x191)+'o\x20load\x20g'+'ateway\x20i'+_0x240a90(0x106)),this['ws']?.['close'](0x3f0,_0x240a90(0x12e)+_0x240a90(0x153)+'unavaila'+_0x240a90(0x126));return;}const _0x1a1890=_0x240a90(0x12c),_0x2ad788=['operator'+_0x240a90(0x11f),_0x240a90(0x12c)+_0x240a90(0x14b),_0x240a90(0x12c)+_0x240a90(0x14a),_0x240a90(0x12c)+_0x240a90(0x105)+'ls',_0x240a90(0x12c)+_0x240a90(0x163)],_0x249314=_0xfc1650[_0x240a90(0x195)]['trim'](),_0x21c9eb=Date[_0x240a90(0xf0)](),_0x5f53da=buildDeviceAuthPayloadV3({'deviceId':this[_0x240a90(0x194)+'entity']['deviceId'],'clientId':_0xfc1650[_0x240a90(0xe1)],'clientMode':_0xfc1650[_0x240a90(0x173)+'de'],'role':_0x1a1890,'scopes':_0x2ad788,'signedAtMs':_0x21c9eb,'token':_0x249314||null,'nonce':_0x3feb1c,'platform':process['platform'],'deviceFamily':_0xfc1650['clientDe'+_0x240a90(0xf8)+'ly']}),_0x1bf2b1={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0xfc1650[_0x240a90(0xe1)],'displayName':_0xfc1650[_0x240a90(0x120)+_0x240a90(0x15f)+'e'],'version':_0xfc1650['clientVe'+'rsion'],'platform':process[_0x240a90(0x157)],'deviceFamily':_0xfc1650['clientDe'+_0x240a90(0xf8)+'ly'],'mode':_0xfc1650[_0x240a90(0x173)+'de']},'caps':[],'role':_0x1a1890,'scopes':_0x2ad788,'auth':_0x249314?{'token':_0x249314}:undefined,'device':{'id':this[_0x240a90(0x194)+_0x240a90(0x179)]['deviceId'],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x240a90(0x194)+_0x240a90(0x179)][_0x240a90(0x104)+_0x240a90(0x11b)]),'signature':signDevicePayload(this[_0x240a90(0x194)+'entity'][_0x240a90(0x18f)+_0x240a90(0x192)],_0x5f53da),'signedAt':_0x21c9eb,'nonce':_0x3feb1c},'locale':Intl[_0x240a90(0xda)+_0x240a90(0x166)]()[_0x240a90(0x10f)+_0x240a90(0x159)]()[_0x240a90(0x176)],'userAgent':_0x240a90(0xf6)+_0x240a90(0xff)+_0xfc1650[_0x240a90(0x156)+_0x240a90(0xe8)]};try{await this[_0x240a90(0x134)](_0x240a90(0x128),_0x1bf2b1,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0x240a90(0xeb)+'d']=!![],this['reconnec'+'tBackoff'+'Ms']=0x320,this[_0x240a90(0xf3)+_0x240a90(0xdd)+_0x240a90(0x189)](),this[_0x240a90(0xe7)]?.[_0x240a90(0x147)+'ted']?.();}catch(_0xeec697){this[_0x240a90(0xe0)+_0x240a90(0x124)](_0xeec697 instanceof Error?_0xeec697['message']:_0x240a90(0xdf)+_0x240a90(0xfc)+_0x240a90(0x114)+'d'),this['ws']?.[_0x240a90(0x161)](0x3f0,'connect\x20'+_0x240a90(0x196));}}[_0xc1f966(0x169)+_0xc1f966(0x13f)](_0x2c88ed){const _0x530697=_0xc1f966;let _0x19f4b9;try{_0x19f4b9=JSON[_0x530697(0x143)](_0x2c88ed);}catch{return;}if(!isRecord(_0x19f4b9)||typeof _0x19f4b9[_0x530697(0x142)]!==_0x530697(0x10d))return;if(_0x19f4b9['type']===_0x530697(0x155)){const _0x1a059f=typeof _0x19f4b9[_0x530697(0x155)]===_0x530697(0x10d)?_0x19f4b9[_0x530697(0x155)]:'';if(!_0x1a059f)return;const _0xd3657=isRecord(_0x19f4b9[_0x530697(0x129)])?_0x19f4b9['payload']:{};if(_0x1a059f===_0x530697(0x187)+_0x530697(0x131)+'e'){const _0xde651f=typeof _0xd3657['nonce']===_0x530697(0x10d)?_0xd3657['nonce'][_0x530697(0xf7)]():'';if(!_0xde651f){this[_0x530697(0xe0)+_0x530697(0x124)](_0x530697(0xdf)+_0x530697(0xe6)+_0x530697(0x111)+'sing\x20non'+'ce'),this['ws']?.['close'](0x3f0,_0x530697(0x139)+_0x530697(0x131)+'e\x20missin'+_0x530697(0x12b));return;}this[_0x530697(0x180)+_0x530697(0x18d)]=_0xde651f,void this['sendConn'+_0x530697(0x164)]();return;}if(_0x1a059f===_0x530697(0x102))this[_0x530697(0xe7)]?.[_0x530697(0x16d)+_0x530697(0x158)]?.(_0xd3657);if(_0x1a059f===_0x530697(0xe9))this[_0x530697(0xe7)]?.['onAgentE'+_0x530697(0x13e)]?.(_0xd3657);return;}if(_0x19f4b9[_0x530697(0x142)]!==_0x530697(0x116))return;const _0x45daeb=typeof _0x19f4b9['id']===_0x530697(0x10d)?_0x19f4b9['id']:'';if(!_0x45daeb)return;const _0x366b39=this[_0x530697(0x112)]['get'](_0x45daeb);if(!_0x366b39)return;const _0x1ab7da=isRecord(_0x19f4b9[_0x530697(0x129)])?_0x19f4b9[_0x530697(0x129)]:{},_0x2f570e=typeof _0x1ab7da[_0x530697(0xee)]===_0x530697(0x10d)?_0x1ab7da[_0x530697(0xee)]:'';if(_0x366b39[_0x530697(0x190)+'nal']&&_0x2f570e===_0x530697(0x154))return;this['pending']['delete'](_0x45daeb);_0x366b39[_0x530697(0x10b)]&&(clearTimeout(_0x366b39[_0x530697(0x10b)]),_0x366b39[_0x530697(0x10b)]=null);if(_0x19f4b9['ok']===!![]){_0x366b39[_0x530697(0x11e)](_0x19f4b9[_0x530697(0x129)]);return;}const _0x5b5a0b=isRecord(_0x19f4b9[_0x530697(0x14c)])?_0x19f4b9[_0x530697(0x14c)]:{},_0x1910e2=typeof _0x5b5a0b[_0x530697(0xe5)]===_0x530697(0x10d)?_0x5b5a0b[_0x530697(0xe5)]:_0x530697(0xdf)+_0x530697(0x108)+_0x530697(0x160)+_0x366b39[_0x530697(0x177)];_0x366b39[_0x530697(0x183)](new Error(_0x1910e2));}[_0xc1f966(0x15e)+'lReady'](_0x5dfc9c=0x2ee0){const _0x386766=_0xc1f966;if(this[_0x386766(0xeb)+'d'])return Promise[_0x386766(0x11e)]();if(!this[_0x386766(0xe7)])return Promise[_0x386766(0x183)](new Error(_0x386766(0xdf)+_0x386766(0x162)+_0x386766(0x15b)+_0x386766(0x145)));if(!this['ws'])this['connect']();return new Promise((_0x393ba,_0x4a4b6c)=>{const _0x5a395f=_0x386766,_0x237050=setTimeout(()=>{const _0x5bf346=_0x1944;this[_0x5bf346(0x125)+'ters']=this['readyWai'+_0x5bf346(0x148)]['filter'](_0x5705fb=>_0x5705fb[_0x5bf346(0x11e)]!==_0x393ba),_0x4a4b6c(new Error(_0x5bf346(0xdf)+_0x5bf346(0xfc)+_0x5bf346(0x18b)+_0x5bf346(0x165)));},_0x5dfc9c);this['readyWai'+_0x5a395f(0x148)][_0x5a395f(0x115)]({'resolve':_0x393ba,'reject':_0x4a4b6c,'timeout':_0x237050});});}[_0xc1f966(0xf3)+_0xc1f966(0xdd)+_0xc1f966(0x189)](){const _0x120965=_0xc1f966,_0x12c45b=[...this[_0x120965(0x125)+_0x120965(0x148)]];this[_0x120965(0x125)+_0x120965(0x148)]=[];for(const _0x4f6cef of _0x12c45b){clearTimeout(_0x4f6cef['timeout']),_0x4f6cef[_0x120965(0x11e)]();}}[_0xc1f966(0xf9)+_0xc1f966(0x122)+'rs'](_0x59514e){const _0x42aeaa=_0xc1f966,_0x3e4e90=[...this['readyWai'+_0x42aeaa(0x148)]];this[_0x42aeaa(0x125)+'ters']=[];for(const _0x16983b of _0x3e4e90){clearTimeout(_0x16983b[_0x42aeaa(0x10b)]),_0x16983b[_0x42aeaa(0x183)](_0x59514e);}}[_0xc1f966(0x133)+_0xc1f966(0x13b)](_0x44d3bc){const _0x329853=_0xc1f966;for(const [_0x4b9012,_0x23435f]of this['pending'][_0x329853(0x15d)]()){this['pending']['delete'](_0x4b9012),_0x23435f[_0x329853(0x10b)]&&(clearTimeout(_0x23435f[_0x329853(0x10b)]),_0x23435f[_0x329853(0x10b)]=null),_0x23435f[_0x329853(0x183)](_0x44d3bc);}}[_0xc1f966(0xe0)+_0xc1f966(0x124)](_0x26e5db){const _0x16099e=_0xc1f966;this['ws']&&(this['ws'][_0x16099e(0xfb)+_0x16099e(0x172)+'rs'](),this['ws']=null);this[_0x16099e(0xeb)+'d']=![],this[_0x16099e(0x180)+_0x16099e(0x18d)]=null,this[_0x16099e(0x151)+_0x16099e(0x158)]=![],this['rejectPe'+_0x16099e(0x13b)](new Error(_0x26e5db||_0x16099e(0xdf)+'WS\x20disco'+_0x16099e(0x14e))),this[_0x16099e(0xf9)+_0x16099e(0x122)+'rs'](new Error(_0x26e5db||_0x16099e(0xdf)+_0x16099e(0x138)+_0x16099e(0x14e))),this[_0x16099e(0x11c)+'ers']();if(_0x26e5db)this[_0x16099e(0xe7)]?.[_0x16099e(0x109)+'nected']?.(_0x26e5db);if(!this[_0x16099e(0xec)+_0x16099e(0x128)]||!this[_0x16099e(0xe7)])return;const _0x5be199=this[_0x16099e(0x18a)+_0x16099e(0x123)+'Ms'];this[_0x16099e(0x18a)+_0x16099e(0x123)+'Ms']=Math['min'](this['reconnec'+_0x16099e(0x123)+'Ms']*0x2,0x3a98),this['reconnec'+_0x16099e(0xdb)]=setTimeout(()=>{const _0x49859a=_0x16099e;this[_0x49859a(0x18a)+_0x49859a(0xdb)]=null,this[_0x49859a(0x128)]();},_0x5be199);}[_0xc1f966(0x11c)+_0xc1f966(0x189)](){const _0xf8e7f5=_0xc1f966;this['reconnec'+_0xf8e7f5(0xdb)]&&(clearTimeout(this[_0xf8e7f5(0x18a)+'tTimer']),this[_0xf8e7f5(0x18a)+_0xf8e7f5(0xdb)]=null),this[_0xf8e7f5(0x182)+_0xf8e7f5(0x107)+'Timer']&&(clearTimeout(this[_0xf8e7f5(0x182)+_0xf8e7f5(0x107)+'Timer']),this[_0xf8e7f5(0x182)+_0xf8e7f5(0x107)+_0xf8e7f5(0xfe)]=null);}}
@@ -1 +0,0 @@
1
- (function(_0x487b37,_0x2b0fbc){const _0x517bdf=_0x8ea6,_0x59bba3=_0x487b37();while(!![]){try{const _0x1b9c57=-parseInt(_0x517bdf(0x218))/0x1+-parseInt(_0x517bdf(0x21e))/0x2*(parseInt(_0x517bdf(0x1e4))/0x3)+-parseInt(_0x517bdf(0x1ed))/0x4+-parseInt(_0x517bdf(0x225))/0x5+-parseInt(_0x517bdf(0x215))/0x6+parseInt(_0x517bdf(0x21d))/0x7*(parseInt(_0x517bdf(0x1f0))/0x8)+parseInt(_0x517bdf(0x1fe))/0x9*(parseInt(_0x517bdf(0x1f2))/0xa);if(_0x1b9c57===_0x2b0fbc)break;else _0x59bba3['push'](_0x59bba3['shift']());}catch(_0x318359){_0x59bba3['push'](_0x59bba3['shift']());}}}(_0x3cc5,0x33246));import{createHash}from'node:crypto';import{spawn}from'node:child_process';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(_0x40a649,_0x2e845e,_0x1fcc81=_0x2e845e){const _0x5272b4=_0x8ea6,_0x1bcb96=_0x40a649?.[_0x5272b4(0x1fa)];if(!_0x1bcb96||!_0x2e845e)return null;const _0x1250b9=join(_0x1bcb96,_0x2e845e,_0x2e845e+'.log'),_0x380029=_0x1250b9+':'+_0x1fcc81;return!loggers[_0x5272b4(0x1ff)](_0x380029)&&loggers[_0x5272b4(0x1f1)](_0x380029,createFileLogger({'filePath':_0x1250b9,'context':_0x1fcc81,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x5272b4(0x210)](_0x380029);}export function toHomePath(_0x59d3a3){const _0x57c8ea=_0x8ea6,_0x20bce5=typeof _0x59d3a3===_0x57c8ea(0x1fc)?_0x59d3a3:'';if(!_0x20bce5)return'';const _0x45970d=homedir(),_0x3b4752=isAbsolute(_0x20bce5)?_0x20bce5:resolve(_0x20bce5),_0x4784b5=relative(_0x45970d,_0x3b4752);if(!_0x4784b5||!_0x4784b5[_0x57c8ea(0x20d)+'th']('..')&&!isAbsolute(_0x4784b5))return _0x4784b5?'~/'+_0x4784b5:'~';return _0x3b4752;}export function hashText(_0x144af0){const _0x669b71=_0x8ea6;return createHash(_0x669b71(0x227))['update'](String(_0x144af0))[_0x669b71(0x1eb)](_0x669b71(0x200))[_0x669b71(0x20f)](0x0,0x10);}export function truncateText(_0x3fb54a,_0x3057d0=CONTENT_PREVIEW_LENGTH){const _0x3484d=_0x8ea6,_0x21cb57=String(_0x3fb54a??'')[_0x3484d(0x1e8)](/\s+/g,'\x20')[_0x3484d(0x1e7)]();if(_0x21cb57[_0x3484d(0x203)]<=_0x3057d0)return _0x21cb57;return _0x21cb57[_0x3484d(0x20f)](0x0,_0x3057d0)+_0x3484d(0x1e5);}export function summarizeText(_0x166011,_0x4a7c0f=CONTENT_PREVIEW_LENGTH){const _0x5e3283=_0x8ea6,_0x3a07b5=String(_0x166011??'');return{'length':_0x3a07b5[_0x5e3283(0x203)],'hash':hashText(_0x3a07b5),'preview':truncateText(_0x3a07b5,_0x4a7c0f),'truncated':_0x3a07b5[_0x5e3283(0x203)]>_0x4a7c0f};}function _0x8ea6(_0x55c769,_0xbbe571){_0x55c769=_0x55c769-0x1e2;const _0x3cc5a5=_0x3cc5();let _0x8ea61f=_0x3cc5a5[_0x55c769];return _0x8ea61f;}export function summarizeError(_0x5c1d3c){const _0x5e2722=_0x8ea6;if(_0x5c1d3c instanceof Error)return{'name':_0x5c1d3c[_0x5e2722(0x219)],'message':_0x5c1d3c['message'],'stack':_0x5c1d3c[_0x5e2722(0x21c)]};return{'message':String(_0x5c1d3c)};}function summarizePathValue(_0x45b8db){const _0x41cd89=_0x8ea6;if(typeof _0x45b8db!==_0x41cd89(0x1fc))return _0x45b8db;if(_0x45b8db['includes']('/')||_0x45b8db[_0x41cd89(0x1f6)]('\x5c'))return toHomePath(_0x45b8db);return _0x45b8db;}export function summarizePayload(_0x529c4e,_0x1032d8={}){const _0x5cdefb=_0x8ea6,_0x1dd56d=_0x1032d8[_0x5cdefb(0x214)]??0x4,_0x53d7b0=new WeakSet();function _0x5c10c0(_0x163e45,_0x7173c9,_0x59d4d8=''){const _0x393d73=_0x5cdefb;if(_0x163e45==null)return _0x163e45;if(typeof _0x163e45===_0x393d73(0x1fc)){if(/message|content|prompt|text|body/i[_0x393d73(0x1ea)](_0x59d4d8))return summarizeText(_0x163e45,_0x1032d8[_0x393d73(0x1ec)+'iewLengt'+'h']);return summarizePathValue(_0x163e45);}if(typeof _0x163e45!=='object')return _0x163e45;if(_0x163e45 instanceof Error)return summarizeError(_0x163e45);if(_0x53d7b0[_0x393d73(0x1ff)](_0x163e45))return _0x393d73(0x205)+'r]';if(_0x7173c9>=_0x1dd56d)return'['+(Array['isArray'](_0x163e45)?_0x393d73(0x1fb):'Object')+']';_0x53d7b0['add'](_0x163e45);if(Array[_0x393d73(0x202)](_0x163e45))return{'type':_0x393d73(0x1f8),'length':_0x163e45['length'],'items':_0x163e45[_0x393d73(0x20f)](0x0,0x5)[_0x393d73(0x1e3)](_0x181922=>_0x5c10c0(_0x181922,_0x7173c9+0x1,_0x59d4d8)),'truncated':_0x163e45[_0x393d73(0x203)]>0x5};const _0x328435={};for(const [_0x4aafae,_0x4bb90c]of Object[_0x393d73(0x1e6)](_0x163e45)){_0x328435[_0x4aafae]=_0x5c10c0(_0x4bb90c,_0x7173c9+0x1,_0x4aafae);}return redactLogValue(_0x328435);}return _0x5c10c0(_0x529c4e,0x0);}function _0x3cc5(){const _0x3839b1=['trim','replace','error','test','digest','textPrev','334840kDnCuL','\x20-Force','$Progres','9288XtEjjM','set','10YFJcOz','base64','nce=\x27Sil','ignore','includes','filter','array','-NoProfi','logsDir','Array','string','\x20-Destin','13109958Hucdys','has','hex','ationPat','isArray','length','data','[Circula','.zip','stderr','pid','win32','powershe','\x20failed\x20','close','startsWi','catch','slice','get','toISOStr','logs\x20dir','sPrefere','maxDepth','2140680vKGPfF','env','-Encoded','145153hEzclV','name','utf16le','Command','stack','763kFPDBq','32LcMDPY','stringif','now','ll.exe','ectory\x20n','wujie-sh','ot\x20found','1944930OEyAfo','join','sha256','pipe','map','74832CrxsUZ','...','entries'];_0x3cc5=function(){return _0x3839b1;};return _0x3cc5();}export function summarizeFilePaths(_0x192f3f=[]){const _0x5505a7=_0x8ea6;return(Array[_0x5505a7(0x202)](_0x192f3f)?_0x192f3f:[])[_0x5505a7(0x1e3)](_0x55266a=>String(_0x55266a||'')[_0x5505a7(0x1e7)]())[_0x5505a7(0x1f7)](Boolean)['map'](_0x1a553e=>({'path':toHomePath(_0x1a553e),'name':basename(_0x1a553e)}));}function run(_0x212ef6,_0x5ef83f,_0x55f030={}){return new Promise((_0x5dd101,_0x149796)=>{const _0x2a2c0a=_0x8ea6,_0x3e22d9=spawn(_0x212ef6,_0x5ef83f,{'cwd':_0x55f030['cwd'],'env':{...process.env,..._0x55f030[_0x2a2c0a(0x216)]??{}},'stdio':[_0x2a2c0a(0x1f5),_0x2a2c0a(0x1e2),_0x2a2c0a(0x1e2)]});let _0x3dd83f='';_0x3e22d9[_0x2a2c0a(0x207)]?.['on'](_0x2a2c0a(0x204),_0x2dba19=>{_0x3dd83f+=_0x2dba19['toString']();}),_0x3e22d9['on'](_0x2a2c0a(0x1e9),_0x149796),_0x3e22d9['on'](_0x2a2c0a(0x20c),_0x39e339=>{const _0x4dd8bf=_0x2a2c0a;if(_0x39e339===0x0){_0x5dd101();return;}_0x149796(new Error(_0x212ef6+(_0x4dd8bf(0x20b)+'with\x20cod'+'e=')+_0x39e339+':\x20'+_0x3dd83f));});});}export async function exportLogsArchive({logsDir:_0x2f62b3,targetDir:_0x5d61a4,appVersion:appVersion='dev'}){const _0x407608=_0x8ea6;if(!_0x2f62b3||!existsSync(_0x2f62b3))throw new Error(_0x407608(0x212)+_0x407608(0x222)+_0x407608(0x224)+':\x20'+(_0x2f62b3||''));const _0x247401=String(appVersion||'dev')[_0x407608(0x1e8)](/[^A-Za-z0-9._-]/g,'_'),_0x22254c=new Date()[_0x407608(0x211)+'ing']()[_0x407608(0x1e8)](/[-:]/g,'')[_0x407608(0x1e8)](/\..+$/,''),_0x4ffdca=_0x5d61a4||tmpdir();await mkdir(_0x4ffdca,{'recursive':!![]});const _0x393d3b=join(_0x4ffdca,_0x407608(0x223)+'ell-logs'+'-'+_0x22254c+'-'+_0x247401+_0x407608(0x206));if(process['platform']===_0x407608(0x209)){const _0xa0fa1f=join(tmpdir(),_0x407608(0x223)+'ell-logs'+'-'+process[_0x407608(0x208)]+'-'+Date[_0x407608(0x220)]());await rm(_0xa0fa1f,{'recursive':!![],'force':!![]}),await cp(_0x2f62b3,_0xa0fa1f,{'recursive':!![],'force':!![]});try{const _0x56721e=[_0x407608(0x1ef)+_0x407608(0x213)+_0x407608(0x1f4)+'entlyCon'+'tinue\x27;','Compress'+'-Archive'+'\x20-Path\x20'+JSON['stringif'+'y'](join(_0xa0fa1f,'*'))+(_0x407608(0x1fd)+_0x407608(0x201)+'h\x20')+JSON[_0x407608(0x21f)+'y'](_0x393d3b)+_0x407608(0x1ee)][_0x407608(0x226)]('\x20'),_0x8a7121=Buffer['from'](_0x56721e,_0x407608(0x21a))['toString'](_0x407608(0x1f3));await run(_0x407608(0x20a)+_0x407608(0x221),[_0x407608(0x1f9)+'le',_0x407608(0x217)+_0x407608(0x21b),_0x8a7121]);}finally{await rm(_0xa0fa1f,{'recursive':!![],'force':!![]})[_0x407608(0x20e)](()=>{});}}else await run('zip',['-r',_0x393d3b,'.'],{'cwd':_0x2f62b3});return{'ok':!![],'path':_0x393d3b};}
@@ -1 +0,0 @@
1
- (function(_0x8eadfc,_0x117a5d){const _0x37ea7d=_0x3662,_0x28d1cf=_0x8eadfc();while(!![]){try{const _0x11e7be=-parseInt(_0x37ea7d(0x1ce))/0x1*(-parseInt(_0x37ea7d(0x1bf))/0x2)+parseInt(_0x37ea7d(0x1c8))/0x3+-parseInt(_0x37ea7d(0x1c6))/0x4*(parseInt(_0x37ea7d(0x1cf))/0x5)+-parseInt(_0x37ea7d(0x1c4))/0x6*(-parseInt(_0x37ea7d(0x1c3))/0x7)+-parseInt(_0x37ea7d(0x1c7))/0x8+-parseInt(_0x37ea7d(0x1c9))/0x9*(parseInt(_0x37ea7d(0x1bc))/0xa)+parseInt(_0x37ea7d(0x1c2))/0xb;if(_0x11e7be===_0x117a5d)break;else _0x28d1cf['push'](_0x28d1cf['shift']());}catch(_0x126d49){_0x28d1cf['push'](_0x28d1cf['shift']());}}}(_0xa5cd,0xf3dd7));import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';function _0x3662(_0x568aa3,_0x2b1b7a){_0x568aa3=_0x568aa3-0x1bb;const _0xa5cde6=_0xa5cd();let _0x366215=_0xa5cde6[_0x568aa3];return _0x366215;}function _0xa5cd(){const _0x114d9c=['7813UmRwdg','7664505dMYatL','enabled','tPluginI','108310TPqcpf','installs','disabled','124LzQEKx','local','length','42957376GuRvlw','4529BuzSEv','7386HKnsuK','entries','4tCnjKU','13633376wErpPe','1666122WjRmjt','1251TadjyY','has','pluginId','allow','source'];_0xa5cd=function(){return _0x114d9c;};return _0xa5cd();}export function syncRuntimeManifestPlugins(_0x3ac46f,_0x339e23,_0x29dfbf={}){const _0x189da5=_0x3662,_0x4c011f=new Set(_0x29dfbf[_0x189da5(0x1be)+'ByDefaul'+_0x189da5(0x1bb)+'ds']??[]),_0x54425c={...asRecord(_0x3ac46f)},_0x23c995={...asRecord(_0x54425c[_0x189da5(0x1c5)])},_0x2d802d={...asRecord(_0x54425c[_0x189da5(0x1bd)])};let _0x5f3dae=asStringArray(_0x54425c['allow']),_0x322e65=![];for(const _0x5ab370 of _0x339e23??[]){const _0x6a71a5=getTrimmedString(_0x5ab370[_0x189da5(0x1cb)]);if(!_0x6a71a5)continue;!(_0x6a71a5 in _0x23c995)&&(_0x23c995[_0x6a71a5]={'enabled':!_0x4c011f[_0x189da5(0x1ca)](_0x6a71a5)},_0x322e65=!![]);if(asRecord(_0x23c995[_0x6a71a5])[_0x189da5(0x1d0)]!==![]){const _0x25f428=dedupeStrings([..._0x5f3dae,_0x6a71a5]);_0x25f428[_0x189da5(0x1c1)]!==_0x5f3dae[_0x189da5(0x1c1)]&&(_0x5f3dae=_0x25f428,_0x322e65=!![]);}getTrimmedString(_0x5ab370[_0x189da5(0x1cd)])===_0x189da5(0x1c0)&&_0x6a71a5 in _0x2d802d&&(delete _0x2d802d[_0x6a71a5],_0x322e65=!![]);}_0x54425c[_0x189da5(0x1c5)]=_0x23c995,_0x54425c[_0x189da5(0x1cc)]=_0x5f3dae;if(Object['keys'](_0x2d802d)[_0x189da5(0x1c1)]>0x0)_0x54425c[_0x189da5(0x1bd)]=_0x2d802d;else delete _0x54425c[_0x189da5(0x1bd)];return{'plugins':_0x54425c,'changed':_0x322e65};}
@@ -1 +0,0 @@
1
- function _0x1939(){const _0x2af7dc=['dAt','projectR','dataDir','logsDir','isArray','4581832EnYonR','openclaw','length','runtime','oot','pluginSp','6MTMZyp','23628708RCPErQ','set','productN','35574UIZaCs','Version','ame','workflow','logsDirN','ecs','dataDirN','ginPaths','resolved','logger','2855388aCnsse','generate','ath','has','wujiecla','532930WZnbwy','14DYUrFb','10CuBZva','ion','plugins','get','agents','1359134Lfgbah','6272588rxcPqR','skillsDi'];_0x1939=function(){return _0x2af7dc;};return _0x1939();}(function(_0x43a240,_0x1f0f54){const _0x2bbf7b=_0x1ebf,_0x4b5f42=_0x43a240();while(!![]){try{const _0x38f185=-parseInt(_0x2bbf7b(0x18d))/0x1+-parseInt(_0x2bbf7b(0x187))/0x2*(-parseInt(_0x2bbf7b(0x177))/0x3)+parseInt(_0x2bbf7b(0x181))/0x4+parseInt(_0x2bbf7b(0x186))/0x5+-parseInt(_0x2bbf7b(0x173))/0x6*(parseInt(_0x2bbf7b(0x18e))/0x7)+-parseInt(_0x2bbf7b(0x195))/0x8+parseInt(_0x2bbf7b(0x174))/0x9*(parseInt(_0x2bbf7b(0x188))/0xa);if(_0x38f185===_0x1f0f54)break;else _0x4b5f42['push'](_0x4b5f42['shift']());}catch(_0x5b9acf){_0x4b5f42['push'](_0x4b5f42['shift']());}}}(_0x1939,0xab1e8));function _0x1ebf(_0x2d902d,_0x5954c8){_0x2d902d=_0x2d902d-0x173;const _0x19395b=_0x1939();let _0x1ebfd6=_0x19395b[_0x2d902d];return _0x1ebfd6;}import{join}from'node:path';import{createFileLogger}from'@wujie-shell/logger';const RUNTIME_LOG_MAX_BYTES=0x2*0x400*0x400,RUNTIME_LOG_KEEP_COUNT=0x5,runtimeLoggers=new Map();export function createRuntimeLogger(_0x148361,_0x36e03='runtime'){const _0x565f4d=_0x1ebf,_0x3b4167=_0x148361?.['logsDir'];if(!_0x3b4167)return null;const _0x39420b=join(_0x3b4167,_0x565f4d(0x198),'runtime.'+'log'),_0x1e5821=_0x39420b+':'+_0x36e03;return!runtimeLoggers[_0x565f4d(0x184)](_0x1e5821)&&runtimeLoggers[_0x565f4d(0x175)](_0x1e5821,createFileLogger({'filePath':_0x39420b,'context':_0x36e03,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x565f4d(0x18b)](_0x1e5821);}export function summarizeShellConfig(_0xdb1f1f){const _0x349498=_0x1ebf;return{'appId':_0xdb1f1f['appId'],'productName':_0xdb1f1f[_0x349498(0x176)+'ame'],'projectRoot':_0xdb1f1f[_0x349498(0x191)+_0x349498(0x199)],'dataDir':_0xdb1f1f[_0x349498(0x192)],'dataDirName':_0xdb1f1f[_0x349498(0x17d)+_0x349498(0x179)],'logsDirName':_0xdb1f1f[_0x349498(0x180)]?.[_0x349498(0x17b)+_0x349498(0x179)],'logsDir':_0xdb1f1f['logger']?.[_0x349498(0x193)],'openclawVersion':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x196)+'Version'],'nodeVersion':_0xdb1f1f[_0x349498(0x196)]?.['nodeVers'+_0x349498(0x189)],'pluginSpecCount':_0xdb1f1f[_0x349498(0x196)]?.['pluginSp'+_0x349498(0x17c)]?.[_0x349498(0x197)]??0x0,'localPluginCount':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x17f)+'LocalPlu'+_0x349498(0x17e)]?.['length']??0x0,'agentsDir':_0xdb1f1f[_0x349498(0x196)]?.['agentsDi'+'r'],'skillsDir':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x18f)+'r'],'workflowsDir':_0xdb1f1f[_0x349498(0x196)]?.[_0x349498(0x17a)+'sDir']};}export function summarizeRuntimeManifest(_0x249310){const _0x302203=_0x1ebf;return{'generatedAt':_0x249310?.[_0x302203(0x182)+_0x302203(0x190)],'openclawVersion':_0x249310?.['openclaw'+_0x302203(0x178)],'nodeVersion':_0x249310?.['nodeVers'+_0x302203(0x189)],'pluginCount':Array[_0x302203(0x194)](_0x249310?.[_0x302203(0x18a)])?_0x249310[_0x302203(0x18a)][_0x302203(0x197)]:0x0,'pluginSpecCount':Array[_0x302203(0x194)](_0x249310?.['pluginSp'+_0x302203(0x17c)])?_0x249310[_0x302203(0x19a)+'ecs'][_0x302203(0x197)]:0x0,'agentsInstallPath':_0x249310?.[_0x302203(0x18c)]?.['installP'+'ath'],'skillsInstallPath':_0x249310?.['skills']?.['installP'+_0x302203(0x183)],'wujieclawBin':_0x249310?.[_0x302203(0x185)+'wBin'],'product':_0x249310?.['product']};}
@@ -1 +0,0 @@
1
- const _0x17a6e2=_0x2a9a;(function(_0x4f71aa,_0x5cc382){const _0x2be597=_0x2a9a,_0x403210=_0x4f71aa();while(!![]){try{const _0x44f7ad=parseInt(_0x2be597(0x284))/0x1+-parseInt(_0x2be597(0x1e9))/0x2+-parseInt(_0x2be597(0x302))/0x3*(-parseInt(_0x2be597(0x2b1))/0x4)+parseInt(_0x2be597(0x1cd))/0x5*(-parseInt(_0x2be597(0x1e6))/0x6)+parseInt(_0x2be597(0x27f))/0x7*(parseInt(_0x2be597(0x267))/0x8)+parseInt(_0x2be597(0x1ca))/0x9+-parseInt(_0x2be597(0x1f5))/0xa*(parseInt(_0x2be597(0x273))/0xb);if(_0x44f7ad===_0x5cc382)break;else _0x403210['push'](_0x403210['shift']());}catch(_0x17d125){_0x403210['push'](_0x403210['shift']());}}}(_0x4be1,0xd76b9));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';function _0x2a9a(_0x420ce4,_0x11bc56){_0x420ce4=_0x420ce4-0x1c0;const _0x4be14f=_0x4be1();let _0x2a9a70=_0x4be14f[_0x420ce4];return _0x2a9a70;}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=_0x17a6e2(0x1e1)+_0x17a6e2(0x2c6),MANIFEST_NAME=_0x17a6e2(0x2b8)+'manifest'+_0x17a6e2(0x304),NPM_INSTALL_TIMEOUT_MS=0xf*0x3c*0x3e8;export function resolveRuntimeRoot(_0x2ae8e2){if(process.env.WUJIE_SHELL_RUNTIME_ROOT)return resolve(process.env.WUJIE_SHELL_RUNTIME_ROOT);return resolve(_0x2ae8e2,RUNTIME_DIR);}export function resolveManifestPath(_0x1c96b7){return join(_0x1c96b7,MANIFEST_NAME);}export async function prepareRuntime(_0x359b26,{syncOnly:syncOnly=![]}={}){const _0x459261=_0x17a6e2,_0x2a4045=resolveRuntimeRoot(_0x359b26[_0x459261(0x1fd)+_0x459261(0x268)]),_0x31b096=createRuntimeLogger(getConfigPaths(_0x359b26),_0x459261(0x208)),_0x26c54d=Date[_0x459261(0x2ac)]();_0x31b096?.['info'](_0x459261(0x21e)+_0x459261(0x20f)+_0x459261(0x1c1),{'syncOnly':syncOnly,'runtimeRoot':_0x2a4045,'shellConfig':summarizeShellConfig(_0x359b26)});try{const _0x2c7c82=await ensureRuntimeBase(_0x359b26,_0x2a4045,{'runtimeLogger':_0x31b096,'syncOnly':syncOnly});_0x31b096?.[_0x459261(0x299)]('runtime\x20'+_0x459261(0x2b3)+_0x459261(0x2b5),{'manifestPath':resolveManifestPath(_0x2a4045),'manifest':summarizeRuntimeManifest(_0x2c7c82)}),validateRuntimeNodeVersion(_0x2c7c82,_0x359b26),_0x31b096?.['info'](_0x459261(0x20f)+_0x459261(0x230)+_0x459261(0x29b)+'idated',{'nodeVersion':_0x2c7c82[_0x459261(0x275)+_0x459261(0x2f8)]});if(syncOnly)validateRuntimeOpenClawVersion(_0x2c7c82,_0x359b26),_0x31b096?.[_0x459261(0x299)](_0x459261(0x20f)+_0x459261(0x2ae)+_0x459261(0x2e4)+'\x20validat'+'ed',{'openclawVersion':_0x2c7c82[_0x459261(0x2ae)+_0x459261(0x1c7)]});else{if(_0x2c7c82[_0x459261(0x2ae)+'Version']!==_0x359b26[_0x459261(0x2ae)][_0x459261(0x2ae)+_0x459261(0x1c7)]){const _0x269624=await loadRuntimeInfo(_0x359b26[_0x459261(0x1fd)+_0x459261(0x268)]);_0x31b096?.[_0x459261(0x299)](_0x459261(0x2ae)+_0x459261(0x2d2)+_0x459261(0x2a8)+'\x20started',{'fromVersion':_0x2c7c82[_0x459261(0x2ae)+'Version']||_0x459261(0x1f2),'toVersion':_0x359b26[_0x459261(0x2ae)][_0x459261(0x2ae)+_0x459261(0x1c7)]}),await installOpenClawPackage(_0x269624,_0x359b26[_0x459261(0x2ae)][_0x459261(0x2ae)+_0x459261(0x1c7)]),_0x2c7c82[_0x459261(0x2ae)+'Version']=_0x359b26['openclaw'][_0x459261(0x2ae)+_0x459261(0x1c7)],_0x31b096?.[_0x459261(0x299)](_0x459261(0x2ae)+_0x459261(0x2d2)+_0x459261(0x2a8)+_0x459261(0x1df)+'ed',{'openclawVersion':_0x2c7c82[_0x459261(0x2ae)+_0x459261(0x1c7)]});}}_0x2c7c82['generate'+_0x459261(0x2bd)]=new Date()['toISOStr'+_0x459261(0x24f)](),_0x2c7c82[_0x459261(0x275)+_0x459261(0x2f8)]=_0x359b26['openclaw'][_0x459261(0x275)+_0x459261(0x2f8)],_0x2c7c82[_0x459261(0x2d5)]={'appId':_0x359b26[_0x459261(0x29f)],'productName':_0x359b26[_0x459261(0x204)+'ame'],'dataDirName':_0x359b26['dataDirN'+_0x459261(0x2ea)]};const _0x83ab51=Array[_0x459261(0x21c)](_0x2c7c82['plugins'])?_0x2c7c82[_0x459261(0x2dc)]['length']:0x0;return await syncManifestPluginScope(_0x359b26,_0x2a4045,_0x2c7c82),_0x31b096?.[_0x459261(0x299)](_0x459261(0x20f)+_0x459261(0x27a)+_0x459261(0x2b2)+_0x459261(0x24a),{'beforePluginCount':_0x83ab51,'afterPluginCount':Array['isArray'](_0x2c7c82[_0x459261(0x2dc)])?_0x2c7c82[_0x459261(0x2dc)][_0x459261(0x238)]:0x0,'pluginSpecCount':Array[_0x459261(0x21c)](_0x2c7c82[_0x459261(0x2c4)+'ecs'])?_0x2c7c82[_0x459261(0x2c4)+_0x459261(0x2cb)][_0x459261(0x238)]:0x0}),await syncProductPlugins(_0x359b26,_0x2a4045,_0x2c7c82),_0x31b096?.[_0x459261(0x299)]('product\x20'+_0x459261(0x2e0)+_0x459261(0x2e2),{'localPluginCount':_0x359b26[_0x459261(0x2ae)][_0x459261(0x1d0)+_0x459261(0x2a6)+'ginPaths'][_0x459261(0x238)],'pluginCount':Array[_0x459261(0x21c)](_0x2c7c82['plugins'])?_0x2c7c82[_0x459261(0x2dc)][_0x459261(0x238)]:0x0}),await syncProductAgents(_0x359b26,_0x2a4045,_0x2c7c82),_0x31b096?.[_0x459261(0x299)](_0x459261(0x25e)+_0x459261(0x2c0)+'ynced',{'source':_0x359b26[_0x459261(0x2ae)][_0x459261(0x241)+'r'],'installPath':_0x2c7c82[_0x459261(0x2a0)]?.[_0x459261(0x2d1)+_0x459261(0x2b6)]}),await syncProductSkills(_0x359b26,_0x2a4045,_0x2c7c82),_0x31b096?.['info'](_0x459261(0x25e)+_0x459261(0x211)+_0x459261(0x26a),{'source':_0x359b26[_0x459261(0x2ae)]['skillsDi'+'r'],'installPath':_0x2c7c82[_0x459261(0x21a)]?.[_0x459261(0x2d1)+_0x459261(0x2b6)]}),await syncRuntimeWrapper(_0x359b26,_0x2a4045,_0x2c7c82),_0x31b096?.[_0x459261(0x299)](_0x459261(0x20f)+_0x459261(0x1d3)+_0x459261(0x2e2),{'wujieclawBin':_0x2c7c82[_0x459261(0x23a)+'wBin']}),await writeJson(resolveManifestPath(_0x2a4045),_0x2c7c82),_0x31b096?.[_0x459261(0x299)](_0x459261(0x20f)+_0x459261(0x2b3)+_0x459261(0x2ec),{'manifestPath':resolveManifestPath(_0x2a4045),'manifest':summarizeRuntimeManifest(_0x2c7c82),'durationMs':Date[_0x459261(0x2ac)]()-_0x26c54d}),await _0x31b096?.[_0x459261(0x2ce)](),_0x2c7c82;}catch(_0x127e97){_0x31b096?.['error']('prepare\x20'+'runtime\x20'+'failed',{'syncOnly':syncOnly,'runtimeRoot':_0x2a4045,'durationMs':Date['now']()-_0x26c54d,'error':_0x127e97}),await _0x31b096?.['flush']();throw _0x127e97;}}async function syncRuntimeWrapper(_0x71ce8e,_0x1e1d71,_0x106e0a){const _0xb3b84d=_0x17a6e2,_0x5dd995=join(_0x1e1d71,_0xb3b84d(0x2e8),_0xb3b84d(0x23a)+'w'),_0x15a517=join(_0x1e1d71,_0xb3b84d(0x2e8),_0xb3b84d(0x23a)+'w.cmd'),_0x56c6d8=normalizeRuntimeRelativePath(relative(dirname(_0x5dd995),resolve(_0x1e1d71,_0x106e0a['nodeExec'+'utable']))),_0x4595dc=normalizeRuntimeRelativePath(relative(dirname(_0x5dd995),resolve(_0x1e1d71,_0x106e0a[_0xb3b84d(0x2ae)+_0xb3b84d(0x1d4)]))),_0x353b3b=_0xb3b84d(0x243)+_0x71ce8e[_0xb3b84d(0x2d8)+_0xb3b84d(0x2ea)],_0xde9a60=_0xb3b84d(0x2ad)+_0xb3b84d(0x203)+_0x71ce8e[_0xb3b84d(0x2d8)+_0xb3b84d(0x2ea)];await mkdir(dirname(_0x5dd995),{'recursive':!![]});const _0x17acf8=fileURLToPath(new URL(_0xb3b84d(0x2bc)+_0xb3b84d(0x25d)+_0xb3b84d(0x2e1),import.meta.url)),_0x20644f=join(_0x1e1d71,_0xb3b84d(0x2e8),_0xb3b84d(0x233)+_0xb3b84d(0x1d1));await cp(_0x17acf8,_0x20644f),await writeFile(_0x5dd995,['#!/bin/s'+'h',_0xb3b84d(0x2b9)+_0xb3b84d(0x20b)+_0xb3b84d(0x213)+_0xb3b84d(0x250)+'_HOME:-'+_0x353b3b+'}\x22','export\x20O'+'PENCLAW_'+_0xb3b84d(0x1e8)+_0xb3b84d(0x1f0)+'NCLAW_ST'+_0xb3b84d(0x27d)+'-'+_0x353b3b+'}\x22','export\x20O'+_0xb3b84d(0x20b)+_0xb3b84d(0x2c9)+_0xb3b84d(0x25a)+_0xb3b84d(0x20b)+_0xb3b84d(0x2c9)+'ATH:-'+_0x353b3b+(_0xb3b84d(0x207)+_0xb3b84d(0x22b)),_0xb3b84d(0x285)+_0xb3b84d(0x265)+'ATH=\x20cd\x20'+_0xb3b84d(0x269)+_0xb3b84d(0x301)+'\x20\x22$0\x22)\x22\x20'+_0xb3b84d(0x1ef),_0xb3b84d(0x2ee)+_0xb3b84d(0x1da)+_0xb3b84d(0x1f7)+_0xb3b84d(0x216)+_0xb3b84d(0x1c8)+_0xb3b84d(0x2bb),_0xb3b84d(0x272)+_0xb3b84d(0x1ec)+_0x56c6d8+(_0xb3b84d(0x2a7)+_0xb3b84d(0x2c1)+_0xb3b84d(0x21f)+'o.mjs\x22\x202'+'>/dev/nu'+'ll\x20||\x20tr'+'ue'),'fi',_0xb3b84d(0x249)+_0xb3b84d(0x1f8)+'R/'+_0x56c6d8+(_0xb3b84d(0x2a7)+_0xb3b84d(0x1ec))+_0x4595dc+_0xb3b84d(0x2f6),'']['join']('\x0a'),_0xb3b84d(0x257)),await chmod(_0x5dd995,0x1ed),await writeFile(_0x15a517,['@echo\x20of'+'f','if\x20\x22%OPE'+_0xb3b84d(0x259)+_0xb3b84d(0x1e4)+'\x20set\x20\x22OP'+_0xb3b84d(0x270)+_0xb3b84d(0x2e3)+_0xde9a60+'\x22',_0xb3b84d(0x210)+_0xb3b84d(0x296)+'ATE_DIR%'+_0xb3b84d(0x2dd)+_0xb3b84d(0x1db)+_0xb3b84d(0x281)+_0xb3b84d(0x253)+_0xde9a60+'\x22',_0xb3b84d(0x210)+_0xb3b84d(0x278)+'NFIG_PAT'+_0xb3b84d(0x2be)+_0xb3b84d(0x23b)+_0xb3b84d(0x278)+_0xb3b84d(0x214)+'H='+_0xde9a60+(_0xb3b84d(0x23e)+_0xb3b84d(0x1f6)),_0xb3b84d(0x2d3)+_0xb3b84d(0x2f9)+'%~dp0\x22','\x22%SCRIPT'+'_DIR%'+toWindowsPath(_0x56c6d8)+(_0xb3b84d(0x2fe)+_0xb3b84d(0x25c))+toWindowsPath(_0x4595dc)+_0xb3b84d(0x2c3),''][_0xb3b84d(0x2bf)]('\x0d\x0a'),_0xb3b84d(0x257)),_0x106e0a[_0xb3b84d(0x23a)+_0xb3b84d(0x256)]=toRuntimeRelative(_0x1e1d71,process['platform']===_0xb3b84d(0x24b)?_0x15a517:_0x5dd995);}function normalizeRuntimeRelativePath(_0x55b594){const _0x3d9f60=_0x17a6e2;return _0x55b594[_0x3d9f60(0x20d)+'ll']('\x5c','/');}function toWindowsPath(_0x26485e){const _0x2eb060=_0x17a6e2;return _0x26485e[_0x2eb060(0x20d)+'ll']('/','\x5c');}function validateRuntimeNodeVersion(_0x47cb2f,_0x3b3010){const _0x6edf39=_0x17a6e2;if(_0x47cb2f[_0x6edf39(0x275)+_0x6edf39(0x2f8)]===_0x3b3010[_0x6edf39(0x2ae)][_0x6edf39(0x275)+_0x6edf39(0x2f8)])return;throw new Error(_0x6edf39(0x20f)+_0x6edf39(0x275)+'ion\x20mism'+_0x6edf39(0x1dc)+_0x6edf39(0x24d)+(_0x47cb2f[_0x6edf39(0x275)+_0x6edf39(0x2f8)]||'unknown')+(_0x6edf39(0x1ff)+_0x6edf39(0x2ed))+_0x3b3010[_0x6edf39(0x2ae)][_0x6edf39(0x275)+_0x6edf39(0x2f8)]+'.\x20'+(_0x6edf39(0x2e7)+'ie-shell'+_0x6edf39(0x220)+_0x6edf39(0x27b)+_0x6edf39(0x21d)+_0x6edf39(0x219)+_0x6edf39(0x222)+_0x6edf39(0x263)+_0x6edf39(0x231)+_0x6edf39(0x26c)+'red\x20Node'+_0x6edf39(0x2e4)+'.'));}function validateRuntimeOpenClawVersion(_0x4a06d0,_0x338f20){const _0x1217b7=_0x17a6e2;if(_0x4a06d0['openclaw'+_0x1217b7(0x1c7)]===_0x338f20['openclaw'][_0x1217b7(0x2ae)+'Version'])return;throw new Error(_0x1217b7(0x20f)+_0x1217b7(0x2ae)+_0x1217b7(0x2a5)+_0x1217b7(0x235)+':\x20manife'+'st='+(_0x4a06d0['openclaw'+_0x1217b7(0x1c7)]||'unknown')+(_0x1217b7(0x1ff)+_0x1217b7(0x2ed))+_0x338f20[_0x1217b7(0x2ae)]['openclaw'+_0x1217b7(0x1c7)]+'.\x20'+(_0x1217b7(0x2e7)+_0x1217b7(0x282)+'\x20prepare'+_0x1217b7(0x27b)+_0x1217b7(0x219)+_0x1217b7(0x221)+_0x1217b7(0x290)+'\x20configu'+_0x1217b7(0x2d0)+_0x1217b7(0x22c)+_0x1217b7(0x24c)));}function parseNpmPackJson(_0x554424){const _0x5de9b3=_0x17a6e2,_0x233dd2=_0x554424[_0x5de9b3(0x2d6)](),_0x5cfce3=_0x233dd2['indexOf']('[');if(_0x5cfce3<0x0)throw new Error(_0x5de9b3(0x2da)+'\x20did\x20not'+_0x5de9b3(0x239)+_0x5de9b3(0x248)+_0x233dd2[_0x5de9b3(0x2d4)](0x0,0x1f4));const _0x53f0bb=JSON['parse'](_0x233dd2[_0x5de9b3(0x2d4)](_0x5cfce3)),_0x28e5d5=Array['isArray'](_0x53f0bb)?_0x53f0bb[0x0]:_0x53f0bb;if(!_0x28e5d5||typeof _0x28e5d5!==_0x5de9b3(0x244))throw new Error('npm\x20pack'+_0x5de9b3(0x289)+_0x5de9b3(0x1ea)+_0x5de9b3(0x2db)+_0x5de9b3(0x217)+_0x233dd2['slice'](0x0,0x1f4));return _0x28e5d5;}async function runProcess(_0x552f84,_0x106fa2,_0x1a6aa8={}){const _0x32516e=_0x17a6e2,_0x521af7=_0x1a6aa8[_0x32516e(0x279)]||[_0x552f84,..._0x106fa2][_0x32516e(0x2bf)]('\x20'),_0x3bb6d4=_0x1a6aa8[_0x32516e(0x2ba)+'s']??NPM_INSTALL_TIMEOUT_MS,_0x1089d0=spawn(_0x552f84,_0x106fa2,{'cwd':_0x1a6aa8[_0x32516e(0x1fa)],'env':_0x1a6aa8['env'],'stdio':[_0x32516e(0x2aa),_0x32516e(0x2a2),_0x32516e(0x2a2)]});return await new Promise((_0x384e17,_0x24d54a)=>{const _0x3a9fda=_0x32516e;let _0x29b615='',_0x5ebc82='',_0xbd7495=![];const _0x450621=setTimeout(()=>{const _0x2a18c2=_0x2a9a;if(_0xbd7495)return;_0xbd7495=!![],_0x1089d0[_0x2a18c2(0x27c)](_0x2a18c2(0x218)),_0x24d54a(new Error(_0x521af7+(_0x2a18c2(0x2d7)+_0x2a18c2(0x205)+'\x20')+_0x3bb6d4+'ms'));},_0x3bb6d4);_0x1089d0['stdout']['on'](_0x3a9fda(0x2c7),_0x55cb71=>{const _0x2e1d0d=_0x3a9fda;_0x29b615+=_0x55cb71[_0x2e1d0d(0x1d2)]();}),_0x1089d0[_0x3a9fda(0x209)]['on'](_0x3a9fda(0x2c7),_0x517338=>{const _0x3105c7=_0x3a9fda;_0x5ebc82+=_0x517338[_0x3105c7(0x1d2)]();}),_0x1089d0['on'](_0x3a9fda(0x2fd),_0x371d34=>{if(_0xbd7495)return;_0xbd7495=!![],clearTimeout(_0x450621),_0x24d54a(_0x371d34);}),_0x1089d0['on'](_0x3a9fda(0x255),(_0x1caec2,_0x28d210)=>{const _0x157122=_0x3a9fda;if(_0xbd7495)return;_0xbd7495=!![],clearTimeout(_0x450621);if(_0x1caec2===0x0){_0x384e17({'stdout':_0x29b615,'stderr':_0x5ebc82});return;}_0x24d54a(new Error(_0x521af7+('\x20failed\x20'+'with\x20cod'+'e=')+(_0x1caec2??_0x157122(0x247))+_0x157122(0x20c)+(_0x28d210??_0x157122(0x247))+'\x0a'+(''+(_0x5ebc82||_0x29b615))[_0x157122(0x2d6)]()));});});}async function installOpenClawPackage(_0x244975,_0x414474){const _0x487141=_0x17a6e2,_0x409855=join(_0x244975[_0x487141(0x2f2)+_0x487141(0x268)],_0x487141(0x20a)),_0x39ad9f=join(_0x244975[_0x487141(0x2f2)+_0x487141(0x268)],_0x487141(0x26f)+_0x487141(0x2df)+'t');await mkdir(_0x409855,{'recursive':!![]}),await rm(_0x39ad9f,{'recursive':!![],'force':!![]}),await mkdir(_0x39ad9f,{'recursive':!![]});const _0x3a6d12=await createRuntimeEnv(_0x244975),_0x4e9735=_0x487141(0x2ae)+'@'+_0x414474;console[_0x487141(0x300)](_0x487141(0x2a4)+_0x487141(0x2af)+'time]\x20in'+_0x487141(0x240)+'\x20'+_0x4e9735);const _0x2d5e01=await runProcess(_0x244975[_0x487141(0x234)+_0x487141(0x24e)],[_0x244975[_0x487141(0x1cc)],_0x487141(0x1fe),_0x4e9735,_0x487141(0x242)],{'cwd':_0x409855,'env':_0x3a6d12,'label':'npm\x20pack'+'\x20'+_0x4e9735}),_0x1fde43=parseNpmPackJson(_0x2d5e01['stdout']);if(_0x1fde43[_0x487141(0x25b)]!==_0x414474)throw new Error(_0x487141(0x303)+_0x487141(0x22a)+_0x487141(0x2cc)+_0x414474+(_0x487141(0x21b)+_0x487141(0x251))+_0x1fde43['version']);const _0x5e4576=resolve(_0x409855,_0x1fde43['filename']);if(!existsSync(_0x5e4576))throw new Error('npm\x20pack'+_0x487141(0x274)+'\x20create\x20'+_0x487141(0x297)+'\x20'+_0x5e4576);await runProcess(_0x487141(0x2c2),['-xzf',_0x5e4576,'-C',_0x39ad9f],{'label':_0x487141(0x2ef)+_0x1fde43[_0x487141(0x2f1)]}),await rm(_0x244975[_0x487141(0x2ae)+_0x487141(0x2f0)+'ir'],{'recursive':!![],'force':!![]}),await rename(join(_0x39ad9f,_0x487141(0x2de)),_0x244975[_0x487141(0x2ae)+_0x487141(0x2f0)+'ir']),await rm(_0x39ad9f,{'recursive':!![],'force':!![]}),await runProcess(_0x244975['nodeExec'+_0x487141(0x24e)],[_0x244975['npmCli'],_0x487141(0x2fa),_0x487141(0x236)+'ev',_0x487141(0x26d)+_0x487141(0x28c),'--no-aud'+'it','--no-fun'+'d',_0x487141(0x287)+_0x487141(0x200)+'ps'],{'cwd':_0x244975[_0x487141(0x2ae)+_0x487141(0x2f0)+'ir'],'env':_0x3a6d12,'label':_0x487141(0x237)+_0x487141(0x298)+_0x4e9735+(_0x487141(0x219)+_0x487141(0x2d9)+_0x487141(0x1dd))});if(!existsSync(_0x244975['openclaw'+_0x487141(0x1d4)]))throw new Error(_0x487141(0x262)+_0x487141(0x2cd)+_0x487141(0x246)+_0x487141(0x227)+_0x487141(0x2a8)+':\x20'+_0x244975[_0x487141(0x2ae)+'Bin']);}async function ensureRuntimeBase(_0x12f313,_0xa18e26,_0x1fe8a0={}){const _0x428c22=_0x17a6e2;await mkdir(_0xa18e26,{'recursive':!![]});let _0x4d3c0b=await readRuntimeManifest(_0xa18e26);const _0x2ef71d=_0x12f313[_0x428c22(0x2ae)][_0x428c22(0x275)+_0x428c22(0x2f8)],_0x2559c5=_0x12f313[_0x428c22(0x2ae)][_0x428c22(0x2ae)+'Version'],_0x237d2c=existsSync(resolveManifestPath(_0xa18e26)),_0x14aea5=runtimeHasRequiredPaths(_0xa18e26,_0x4d3c0b),_0xb5466e=_0x4d3c0b[_0x428c22(0x275)+_0x428c22(0x2f8)]===_0x2ef71d;!_0x237d2c||!_0x14aea5||!_0xb5466e?(_0x1fe8a0[_0x428c22(0x1f4)+'ogger']?.[_0x428c22(0x299)](_0x428c22(0x20f)+'base\x20bui'+'ld\x20start'+'ed',{'runtimeRoot':_0xa18e26,'reason':!_0x237d2c?'missing\x20'+_0x428c22(0x2b3):!_0x14aea5?_0x428c22(0x1d6)+'required'+_0x428c22(0x219)+_0x428c22(0x1e7):_0x428c22(0x230)+_0x428c22(0x28a)+_0x428c22(0x2a3),'syncOnly':_0x1fe8a0[_0x428c22(0x1d8)]}),_0x4d3c0b=await buildRuntimeBase(_0x12f313,_0xa18e26,_0x4d3c0b),_0x1fe8a0['runtimeL'+_0x428c22(0x1c3)]?.[_0x428c22(0x299)](_0x428c22(0x20f)+'base\x20bui'+_0x428c22(0x1d9)+'eted',{'manifest':summarizeRuntimeManifest(_0x4d3c0b)})):_0x1fe8a0[_0x428c22(0x1f4)+_0x428c22(0x1c3)]?.[_0x428c22(0x299)](_0x428c22(0x20f)+_0x428c22(0x1d5)+_0x428c22(0x2fc)+_0x428c22(0x2a9),{'manifest':summarizeRuntimeManifest(_0x4d3c0b)});if(!existsSync(resolve(_0xa18e26,_0x4d3c0b[_0x428c22(0x2ae)+_0x428c22(0x1d4)]))){const _0x50e096=createRuntimeInfoFromManifest(_0xa18e26,_0x4d3c0b,{'allowMissingOpenClaw':!![]});await installOpenClawPackage(_0x50e096,_0x2559c5),_0x4d3c0b[_0x428c22(0x2ae)+_0x428c22(0x1c7)]=_0x2559c5;}return _0x4d3c0b;}function runtimeHasRequiredPaths(_0x3959a7,_0x58e606){const _0x525a18=_0x17a6e2;return['nodeExec'+_0x525a18(0x24e),_0x525a18(0x1cc),_0x525a18(0x2ae)+'WorkingD'+'ir',_0x525a18(0x2ae)+_0x525a18(0x1d4)][_0x525a18(0x252)](_0x25e63c=>typeof _0x58e606[_0x25e63c]==='string'&&_0x58e606[_0x25e63c][_0x525a18(0x2d6)]())&&[_0x525a18(0x234)+_0x525a18(0x24e),_0x525a18(0x1cc)]['every'](_0x78afb9=>existsSync(resolve(_0x3959a7,_0x58e606[_0x78afb9])));}async function buildRuntimeBase(_0x355f7d,_0x5edfdb,_0x59ee6d={}){const _0xfe10fb=_0x17a6e2,_0x56873a=join(_0x5edfdb,_0xfe10fb(0x2ab));await ensureRuntimeNode(_0x355f7d,_0x56873a);const _0x56590e={..._0x59ee6d,'generatedAt':new Date()[_0xfe10fb(0x2c8)+_0xfe10fb(0x24f)](),'nodeVersion':_0x355f7d['openclaw'][_0xfe10fb(0x275)+'ion'],'openclawVersion':_0x59ee6d[_0xfe10fb(0x2ae)+'Version']||'','platform':process[_0xfe10fb(0x28e)],'arch':process[_0xfe10fb(0x280)],'nodeExecutable':_0xfe10fb(0x288)+_0xfe10fb(0x2b0),'npmCli':'node/lib'+_0xfe10fb(0x260)+_0xfe10fb(0x28f)+_0xfe10fb(0x1c6)+_0xfe10fb(0x291),'openclawWorkingDir':'openclaw','openclawBin':'openclaw'+_0xfe10fb(0x207)+_0xfe10fb(0x2b4)};return await writeJson(resolveManifestPath(_0x5edfdb),_0x56590e),_0x56590e;}async function ensureRuntimeNode(_0x14b403,_0x264713){const _0x2eed6c=_0x17a6e2,_0x145883=_0x14b403['openclaw'][_0x2eed6c(0x275)+_0x2eed6c(0x2f8)],_0x3d3339=join(_0x264713,_0x2eed6c(0x2e8),'node'),_0x3bf154=join(_0x264713,_0x2eed6c(0x26e),_0x2eed6c(0x1fc)+_0x2eed6c(0x1d7),_0x2eed6c(0x206),'bin',_0x2eed6c(0x228)+'js');if(existsSync(_0x3d3339)&&existsSync(_0x3bf154)&&await getNodeVersion(_0x3d3339)===_0x145883)return;await rm(_0x264713,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96});if(process[_0x2eed6c(0x1f3)]['node']===_0x145883){await linkCurrentNodeRuntime(_0x264713);return;}await downloadNodeRuntime(_0x145883,_0x264713);}async function getNodeVersion(_0x17d578){const _0x5c8458=_0x17a6e2;try{const _0x55b2be=await runProcess(_0x17d578,['-p',_0x5c8458(0x2a1)+_0x5c8458(0x1f3)+_0x5c8458(0x2ff)],{'label':_0x17d578+_0x5c8458(0x2e4),'timeoutMs':0x7530});return _0x55b2be[_0x5c8458(0x29d)][_0x5c8458(0x2d6)]();}catch{return'';}}async function linkCurrentNodeRuntime(_0x398e3c){const _0x1923b6=_0x17a6e2,_0x6e057a=process[_0x1923b6(0x1cb)],_0x2844a9=resolve(dirname(_0x6e057a),'..'),_0x17765b=resolve(_0x2844a9,'lib/node'+_0x1923b6(0x23d)+'/npm'),_0xdd8109=join(_0x398e3c,'bin',_0x1923b6(0x2ab)),_0xe651ca=join(_0x398e3c,_0x1923b6(0x26e),_0x1923b6(0x1fc)+_0x1923b6(0x1d7),_0x1923b6(0x206));await mkdir(dirname(_0xdd8109),{'recursive':!![]}),await mkdir(dirname(_0xe651ca),{'recursive':!![]}),await symlink(_0x6e057a,_0xdd8109),existsSync(_0x17765b)?await symlink(_0x17765b,_0xe651ca):await symlink(await resolveNpmRoot(),_0xe651ca);}async function resolveNpmRoot(){const _0x371f5a=_0x17a6e2,_0x17ce31=await runProcess('npm',[_0x371f5a(0x1c0),'-g'],{'label':'npm\x20root'+'\x20-g','timeoutMs':0x7530}),_0x48087d=join(_0x17ce31[_0x371f5a(0x29d)][_0x371f5a(0x2d6)](),_0x371f5a(0x206));if(!existsSync(join(_0x48087d,_0x371f5a(0x2e8),_0x371f5a(0x228)+'js')))throw new Error('npm\x20pack'+'age\x20was\x20'+'not\x20foun'+_0x371f5a(0x20e)+'cal\x20runt'+_0x371f5a(0x2fb)+'d:\x20'+_0x48087d);return _0x48087d;}async function downloadNodeRuntime(_0x3e455a,_0x4c6e80){const _0xbd20db=_0x17a6e2,_0x4192f2=process[_0xbd20db(0x28e)]===_0xbd20db(0x24b)?_0xbd20db(0x266):process[_0xbd20db(0x28e)],_0x754060=process[_0xbd20db(0x280)]==='x64'?_0xbd20db(0x264):process[_0xbd20db(0x280)]==='arm64'?'arm64':process[_0xbd20db(0x280)],_0x1ee2d8=process[_0xbd20db(0x28e)]===_0xbd20db(0x24b)?'zip':_0xbd20db(0x1f1),_0x3fca83=_0xbd20db(0x224)+_0x3e455a+'-'+_0x4192f2+'-'+_0x754060,_0x505c54=_0x3fca83+'.'+_0x1ee2d8,_0x52fe40=join(dirname(_0x4c6e80),_0xbd20db(0x20a)),_0x119835=join(_0x52fe40,_0x505c54),_0x1f1f9a=join(_0x52fe40,_0x3fca83+(_0xbd20db(0x22e)+'-')+process[_0xbd20db(0x1ce)]+'-'+Date[_0xbd20db(0x2ac)]()),_0xbb96d8=_0xbd20db(0x292)+'nodejs.o'+_0xbd20db(0x212)+'v'+_0x3e455a+'/'+_0x505c54;await mkdir(_0x52fe40,{'recursive':!![]}),!existsSync(_0x119835)&&(console[_0xbd20db(0x300)](_0xbd20db(0x2a4)+_0xbd20db(0x2af)+_0xbd20db(0x293)+_0xbd20db(0x277)+'g\x20'+_0xbb96d8),await downloadFile(_0xbb96d8,_0x119835)),await rm(_0x1f1f9a,{'recursive':!![],'force':!![]}),await mkdir(_0x1f1f9a,{'recursive':!![]}),process[_0xbd20db(0x28e)]===_0xbd20db(0x24b)?await runProcess(_0xbd20db(0x229),['-q',_0x119835,'-d',_0x1f1f9a],{'label':'extract\x20'+_0x505c54}):await runProcess(_0xbd20db(0x2c2),[_0xbd20db(0x2f3),_0x119835,'-C',_0x1f1f9a],{'label':'extract\x20'+_0x505c54}),await rename(join(_0x1f1f9a,_0x3fca83),_0x4c6e80),await rm(_0x1f1f9a,{'recursive':!![],'force':!![]});}async function downloadFile(_0x37006f,_0x273953){await mkdir(dirname(_0x273953),{'recursive':!![]});const _0x2ed301=await new Promise((_0x25c5b7,_0x21b09a)=>{const _0x5b9ba2=_0x2a9a;get(_0x37006f,_0x5b1082=>{const _0x454f95=_0x2a9a;if(_0x5b1082[_0x454f95(0x1eb)+'de']>=0x12c&&_0x5b1082[_0x454f95(0x1eb)+'de']<0x190&&_0x5b1082[_0x454f95(0x1e0)][_0x454f95(0x1e2)]){_0x5b1082[_0x454f95(0x1c4)](),downloadFile(new URL(_0x5b1082['headers'][_0x454f95(0x1e2)],_0x37006f)['href'],_0x273953)['then'](()=>_0x25c5b7(null))[_0x454f95(0x1c5)](_0x21b09a);return;}if(_0x5b1082[_0x454f95(0x1eb)+'de']!==0xc8){_0x5b1082[_0x454f95(0x1c4)](),_0x21b09a(new Error(_0x454f95(0x286)+_0x454f95(0x223)+_0x5b1082['statusCo'+'de']+':\x20'+_0x37006f));return;}_0x25c5b7(_0x5b1082);})['on'](_0x5b9ba2(0x2fd),_0x21b09a);});_0x2ed301&&await pipeline(_0x2ed301,createWriteStream(_0x273953));}export async function ensureOpenClawDoctorFixed(_0x5c35b5,_0x287ffe={}){const _0x510f6f=_0x17a6e2,_0x18e1b4=await loadRuntimeInfo(_0x5c35b5[_0x510f6f(0x1fd)+_0x510f6f(0x268)]),_0x38dbd9=getConfigPaths(_0x5c35b5),_0x176866=join(_0x38dbd9[_0x510f6f(0x232)+'tateDir'],_0x510f6f(0x2ae)+_0x510f6f(0x23f)+'json'),_0x2d4006=await readJson(_0x176866,{});if(_0x2d4006[_0x510f6f(0x2ae)+_0x510f6f(0x1c7)]===_0x18e1b4[_0x510f6f(0x2ae)+_0x510f6f(0x1c7)])return _0x287ffe[_0x510f6f(0x1f4)+_0x510f6f(0x1c3)]?.['info'](_0x510f6f(0x2ae)+_0x510f6f(0x225)+_0x510f6f(0x276)+_0x510f6f(0x2cf)+'ent',{'openclawVersion':_0x18e1b4[_0x510f6f(0x2ae)+_0x510f6f(0x1c7)],'markerPath':_0x176866}),{'ran':![],'openclawVersion':_0x18e1b4[_0x510f6f(0x2ae)+_0x510f6f(0x1c7)],'markerPath':_0x176866};return await runOpenClawDoctorFix(_0x5c35b5,_0x18e1b4,{'fromVersion':_0x2d4006['openclaw'+_0x510f6f(0x1c7)]||_0x510f6f(0x1f2),'toVersion':_0x18e1b4['openclaw'+_0x510f6f(0x1c7)],'markerPath':_0x176866,'runtimeLogger':_0x287ffe[_0x510f6f(0x1f4)+_0x510f6f(0x1c3)]}),{'ran':!![],'openclawVersion':_0x18e1b4[_0x510f6f(0x2ae)+_0x510f6f(0x1c7)],'markerPath':_0x176866};}async function runOpenClawDoctorFix(_0x393651,_0x2bd607,{fromVersion:_0x5a270b,toVersion:_0x239981,markerPath:markerPath='',runtimeLogger:_0x557c68}={}){const _0x70be50=_0x17a6e2;_0x557c68?.[_0x70be50(0x299)](_0x70be50(0x2ae)+_0x70be50(0x225)+_0x70be50(0x1c2)+_0x70be50(0x271),{'fromVersion':_0x5a270b,'toVersion':_0x239981});const _0x15a32d=await createRuntimeEnv(_0x2bd607,{'OPENCLAW_HOME':_0x393651[_0x70be50(0x28d)],'OPENCLAW_STATE_DIR':_0x393651['dataDir'],'OPENCLAW_CONFIG_PATH':getConfigPaths(_0x393651)[_0x70be50(0x2ca)+'th']});console[_0x70be50(0x300)](_0x70be50(0x2a4)+_0x70be50(0x2af)+_0x70be50(0x215)+_0x70be50(0x23c)+'enclaw\x20d'+_0x70be50(0x261)+'fix');const _0x1c0674=await runProcess(_0x2bd607[_0x70be50(0x234)+_0x70be50(0x24e)],[_0x2bd607[_0x70be50(0x2ae)+_0x70be50(0x1d4)],'doctor','--fix'],{'cwd':_0x2bd607[_0x70be50(0x2ae)+_0x70be50(0x2f0)+'ir'],'env':_0x15a32d,'label':'openclaw'+'\x20doctor\x20'+'--fix','timeoutMs':0x1d4c0});_0x557c68?.[_0x70be50(0x299)](_0x70be50(0x2ae)+_0x70be50(0x225)+'fix\x20comp'+_0x70be50(0x2e5),{'fromVersion':_0x5a270b,'toVersion':_0x239981,'stdout':_0x1c0674[_0x70be50(0x29d)][_0x70be50(0x2d6)]()[_0x70be50(0x2d4)](-0xfa0),'stderr':_0x1c0674[_0x70be50(0x209)][_0x70be50(0x2d6)]()[_0x70be50(0x2d4)](-0xfa0)}),markerPath&&(await writeJson(markerPath,{'openclawVersion':_0x2bd607[_0x70be50(0x2ae)+_0x70be50(0x1c7)],'fixedAt':new Date()[_0x70be50(0x2c8)+_0x70be50(0x24f)]()}),_0x557c68?.[_0x70be50(0x299)](_0x70be50(0x2ae)+_0x70be50(0x225)+_0x70be50(0x283)+_0x70be50(0x1e5)+'en',{'markerPath':markerPath,'openclawVersion':_0x2bd607[_0x70be50(0x2ae)+_0x70be50(0x1c7)]}));}export async function readRuntimeManifest(_0xc286eb){return await readJson(resolveManifestPath(_0xc286eb),{});}function _0x4be1(){const _0x428ec7=['wnloadin','NCLAW_CO','label','plugin\x20s','\x22\x20so\x20the','kill','ATE_DIR:','l\x20prepar','5125582XTeuLx','arch','LAW_STAT','ie-shell','fix\x20mark','512561YxFYzu','SCRIPT_D','download','--legacy','node/bin','\x20returne','sion\x20mis','string','eer','dataDir','platform','dules/np','tall\x20the','m-cli.js','https://','time]\x20do','extensio','source','NCLAW_ST','tarball:','all\x20','info','\x20is\x20miss','sion\x20val','skillsDi','stdout','pluginId','appId','agents','process.','pipe','match','[wujie-s','Version\x20','LocalPlu','\x22\x20\x22$SCRI','\x20install','rent','ignore','node','now','%USERPRO','openclaw','hell:run','/node','88HhYjRZ','cope\x20syn','manifest','w.mjs','\x20loaded','ath','add','runtime-','export\x20O','timeoutM','then','../asset','dAt','H%\x22==\x22\x22\x20','join','agents\x20s','PT_DIR/w','tar','\x22\x20%*','pluginSp','npm-cach','time','data','toISOStr','CONFIG_P','configPa','ecs','law\x20','\x20bin\x20was','flush','ady\x20curr','red\x20Open','installP','\x20package','set\x20\x22SCR','slice','product','trim','\x20timed\x20o','dataDirN','\x20depende','npm\x20pack','alid\x20pay','plugins','\x22==\x22\x22\x20se','package','w-extrac','plugins\x20','logo.mjs','synced','OME=','\x20version','leted','map','Run\x20\x22wuj','bin','local:','ame','\x22\x20at\x20','\x20written','config=','if\x20[\x20-t\x20','extract\x20','WorkingD','filename','runtimeR','-xJf','npm-glob','split','\x22\x20\x22$@\x22','local','ion','IPT_DIR=','install','ime\x20buil','eady\x20cur','error','\x22\x20\x22%SCRI','.node','log','rname\x20--','117066Aswxlv','Configur','.json','root','started','fix\x20star','ogger','resume','catch','m/bin/np','Version','OGO\x22\x20];\x20','claw-run','13655142mGjhdP','execPath','npmCli','201125LbKebL','pid','jie-shel','resolved','go.mjs','toString','wrapper\x20','Bin','base\x20alr','missing\x20','ules','syncOnly','ld\x20compl','1\x20]\x20&&\x20[','t\x20\x22OPENC','atch:\x20ma','ncies','time-too','\x20complet','headers','.tmp/run','location','singOpen','ME%\x22==\x22\x22','er\x20writt','102lGswfN','\x20paths','STATE_DI','2292854bJkqjw','d\x20an\x20inv','statusCo','PT_DIR/','env','has','&&\x20pwd)','R=\x22${OPE','tar.xz','unknown','versions','runtimeL','119460cLrQrr','w.json\x22','\x20-z\x20\x22$WU','CRIPT_DI','push','cwd','replace','node_mod','projectR','pack',',\x20shell.','-peer-de','registry','startsWi','FILE%\x5c','productN','ut\x20after','npm','/opencla','runtime','stderr','.cache','PENCLAW_','\x20signal=','replaceA','d\x20for\x20lo','runtime\x20','if\x20\x22%OPE','skills\x20s','rg/dist/','HOME=\x22${','NFIG_PAT','time]\x20ru','JIE_NO_L','load:\x20','SIGTERM','\x20runtime','skills','\x20resolve','isArray','\x20product','prepare\x20','ujie-log','\x20prepare','\x20can\x20ins','\x20can\x20be\x20','\x20failed\x20','node-v','\x20doctor\x20','path:\x20','nd\x20after','npm-cli.','unzip','ed\x20OpenC','w.json}\x22','Claw\x20ver','ing\x20\x22','-extract','Spec','node\x20ver','with\x20the','runtimeS','wujie-lo','nodeExec','mismatch','--omit=d','npm\x20inst','length','\x20return\x20','wujiecla','set\x20\x22OPE','nning\x20op','_modules','\x5copencla','-doctor.','stalling','agentsDi','--json','$HOME/','object','filter','\x20not\x20fou','null','JSON:\x20','exec\x20\x22$S','ced','win32','sion.','nifest=','utable','ing','OPENCLAW','d\x20to\x20','every','E_DIR=','rg/','close','wBin','utf8','ginPaths','NCLAW_HO','ATH=\x22${O','version','PT_DIR%','s/wujie-','product\x20','dist','/node_mo','octor\x20--','OpenClaw','rebuilt\x20','x64','IR=$(CDP','win','8cXkTSJ','oot','--\x20\x22$(di','ynced','.npmjs.o','\x20configu','--omit=p','lib','.opencla','ENCLAW_H','ted','\x20\x20\x22$SCRI','836RVhRer','\x20did\x20not','nodeVers','fix\x20alre'];_0x4be1=function(){return _0x428ec7;};return _0x4be1();}export async function loadRuntimeInfo(_0x3ee1dc){const _0x1fa0e0=resolveRuntimeRoot(_0x3ee1dc),_0xc4af2d=await readRuntimeManifest(_0x1fa0e0);return createRuntimeInfoFromManifest(_0x1fa0e0,_0xc4af2d);}function createRuntimeInfoFromManifest(_0x13b78c,_0x49138d,_0x17ad2a={}){const _0x5c4138=_0x17a6e2;for(const _0x3b5ea8 of['nodeExec'+'utable',_0x5c4138(0x1cc),_0x5c4138(0x2ae)+_0x5c4138(0x2f0)+'ir',_0x5c4138(0x2ae)+_0x5c4138(0x1d4)]){if(typeof _0x49138d[_0x3b5ea8]!==_0x5c4138(0x28b)||!_0x49138d[_0x3b5ea8][_0x5c4138(0x2d6)]())throw new Error(_0x5c4138(0x20f)+_0x5c4138(0x2b3)+_0x5c4138(0x29a)+_0x5c4138(0x22d)+_0x3b5ea8+_0x5c4138(0x2eb)+resolveManifestPath(_0x13b78c)+(';\x20run\x20wu'+_0x5c4138(0x1cf)+_0x5c4138(0x27e)+'e'));}const _0x3af176=resolve(_0x13b78c,_0x49138d[_0x5c4138(0x234)+'utable']),_0x121453=resolve(_0x13b78c,_0x49138d[_0x5c4138(0x1cc)]),_0x57dc25=resolve(_0x13b78c,_0x49138d[_0x5c4138(0x2ae)+_0x5c4138(0x2f0)+'ir']),_0x213fc8=resolve(_0x13b78c,_0x49138d[_0x5c4138(0x2ae)+_0x5c4138(0x1d4)]),_0x28b8e1=Array[_0x5c4138(0x21c)](_0x49138d[_0x5c4138(0x2dc)])?_0x49138d[_0x5c4138(0x2dc)][_0x5c4138(0x2e6)](_0x3c59f6=>({..._0x3c59f6,'installPath':resolve(_0x13b78c,_0x3c59f6[_0x5c4138(0x2d1)+_0x5c4138(0x2b6)])})):[],_0x31fe58=_0x17ad2a['allowMis'+_0x5c4138(0x1e3)+'Claw']?[_0x3af176,_0x121453]:[_0x3af176,_0x121453,_0x57dc25,_0x213fc8];for(const _0x5b3e11 of _0x31fe58){if(!existsSync(_0x5b3e11))throw new Error('runtime\x20'+_0x5c4138(0x1d6)+_0x5c4138(0x226)+_0x5b3e11);}return{'runtimeRoot':_0x13b78c,'manifest':_0x49138d,'openclawVersion':_0x49138d[_0x5c4138(0x2ae)+_0x5c4138(0x1c7)]||_0x5c4138(0x1f2),'nodeExecutable':_0x3af176,'npmCli':_0x121453,'openclawWorkingDir':_0x57dc25,'openclawBin':_0x213fc8,'plugins':_0x28b8e1};}export async function spawnClaw(_0x9a40b6,_0x955069=[],_0x68b944={}){const _0x202616=_0x17a6e2,_0x447a90=await loadRuntimeInfo(_0x9a40b6),_0x2fe149=await createRuntimeEnv(_0x447a90,_0x68b944[_0x202616(0x1ed)]??{});return spawn(_0x447a90[_0x202616(0x234)+'utable'],[_0x447a90[_0x202616(0x2ae)+_0x202616(0x1d4)],..._0x955069],{'cwd':_0x447a90[_0x202616(0x2ae)+_0x202616(0x2f0)+'ir'],'stdio':_0x202616(0x2a2),..._0x68b944,'env':_0x2fe149});}export async function runClawOnce(_0x30ae3d,_0x302052=[],_0x48b7e1=0x15f90){const _0x3051ca=await spawnClaw(_0x30ae3d,_0x302052);return await new Promise((_0x4b31ac,_0x2aa072)=>{const _0x5ac713=_0x2a9a;let _0x4d95b8='',_0x4e4bc4='',_0x102b62=![];const _0x262ca4=setTimeout(()=>{const _0x1d853f=_0x2a9a;if(_0x102b62)return;_0x102b62=!![],_0x3051ca[_0x1d853f(0x27c)]('SIGTERM'),_0x2aa072(new Error('openclaw'+_0x1d853f(0x2d7)+_0x1d853f(0x205)+'\x20'+_0x48b7e1+'ms'));},_0x48b7e1);_0x3051ca[_0x5ac713(0x29d)]['on']('data',_0x14bfa1=>{_0x4d95b8+=_0x14bfa1['toString']();}),_0x3051ca[_0x5ac713(0x209)]['on'](_0x5ac713(0x2c7),_0x38a6b2=>{const _0x4c098c=_0x5ac713;_0x4e4bc4+=_0x38a6b2[_0x4c098c(0x1d2)]();}),_0x3051ca['on'](_0x5ac713(0x2fd),_0x76c814=>{if(_0x102b62)return;_0x102b62=!![],clearTimeout(_0x262ca4),_0x2aa072(_0x76c814);}),_0x3051ca['on'](_0x5ac713(0x255),(_0x2cae3b,_0x20b2c5)=>{if(_0x102b62)return;_0x102b62=!![],clearTimeout(_0x262ca4),_0x4b31ac({'code':_0x2cae3b,'signal':_0x20b2c5,'stdout':_0x4d95b8,'stderr':_0x4e4bc4});});});}async function createRuntimeEnv(_0x2d7f51,_0x10d089={}){const _0x670251=_0x17a6e2,_0x9a0e2d=process.env.OPENCLAW_STATE_DIR||'',_0x364760=_0x9a0e2d?join(_0x9a0e2d,_0x670251(0x1c9)+_0x670251(0x1de)+'ls'):join(_0x2d7f51[_0x670251(0x2f2)+'oot'],'.tools'),_0x2dbf50=join(_0x364760,_0x670251(0x2f4)+'al'),_0x56c92b=join(_0x364760,_0x670251(0x2c5)+'e'),_0x37e465=join(_0x2dbf50,_0x670251(0x2e8));await mkdir(_0x37e465,{'recursive':!![]}),await mkdir(_0x56c92b,{'recursive':!![]});const _0x2079f8=[_0x37e465,dirname(_0x2d7f51[_0x670251(0x234)+_0x670251(0x24e)]),process.env.PATH||''];return{...process.env,..._0x10d089,'PATH':_0x2079f8[_0x670251(0x245)](Boolean)[_0x670251(0x2bf)](delimiter),'npm_config_prefix':_0x2dbf50,'NPM_CONFIG_PREFIX':_0x2dbf50,'npm_config_cache':_0x56c92b,'NPM_CONFIG_CACHE':_0x56c92b,'npm_config_registry':_0x670251(0x292)+_0x670251(0x201)+_0x670251(0x26b)+_0x670251(0x254),'NPM_CONFIG_REGISTRY':_0x670251(0x292)+'registry'+_0x670251(0x26b)+_0x670251(0x254),'npm_execpath':_0x2d7f51[_0x670251(0x1cc)],'npm_node_execpath':_0x2d7f51['nodeExec'+_0x670251(0x24e)],'OPENCLAW_RUNTIME_NPM_PREFIX':_0x2dbf50,'OPENCLAW_RUNTIME_NPM_BIN':_0x37e465,'OPENCLAW_RUNTIME_NPM_REGISTRY':'https://'+_0x670251(0x201)+_0x670251(0x26b)+'rg/'};}async function syncProductPlugins(_0x4b7cc4,_0x146edd,_0xa1204b){const _0x20af7e=_0x17a6e2,_0x2cfe49=join(_0x146edd,_0x20af7e(0x2ae),_0x20af7e(0x25f),_0x20af7e(0x294)+'ns'),_0x10766b=[];for(const _0x1fbd32 of _0x4b7cc4[_0x20af7e(0x2ae)]['resolved'+_0x20af7e(0x2a6)+_0x20af7e(0x258)]){const _0x239969=await getPackageMetadata(_0x1fbd32),_0x21d28d=await readPluginManifest(_0x1fbd32),_0x73b00a=join(_0x2cfe49,_0x239969['pluginId']);await copyDirFresh(_0x1fbd32,_0x73b00a),_0x10766b[_0x20af7e(0x1f9)]({'pluginId':_0x239969[_0x20af7e(0x29e)],'source':'local','spec':'local:'+_0x1fbd32,'installPath':toRuntimeRelative(_0x146edd,_0x73b00a),'version':_0x239969['version'],'resolvedName':_0x239969['name'],'resolvedVersion':_0x239969[_0x20af7e(0x25b)],'resolvedSpec':_0x20af7e(0x2e9)+_0x1fbd32,'integrity':'','shasum':'','resolvedAt':new Date()[_0x20af7e(0x2c8)+_0x20af7e(0x24f)](),'installedAt':new Date()[_0x20af7e(0x2c8)+'ing'](),'agentScope':_0x21d28d['agentSco'+'pe'],'skills':_0x21d28d[_0x20af7e(0x21a)]});}const _0x592f33=new Set(_0x10766b[_0x20af7e(0x2e6)](_0x486b30=>_0x486b30['pluginId'])),_0x1b9007=Array[_0x20af7e(0x21c)](_0xa1204b[_0x20af7e(0x2dc)])?_0xa1204b[_0x20af7e(0x2dc)][_0x20af7e(0x245)](_0x480792=>!_0x592f33[_0x20af7e(0x1ee)](_0x480792[_0x20af7e(0x29e)])):[];_0xa1204b[_0x20af7e(0x2dc)]=[..._0x1b9007,..._0x10766b];}async function syncManifestPluginScope(_0x2134be,_0x2da22a,_0x55d87f){const _0x3c7471=_0x17a6e2,_0x46dd9f=join(_0x2da22a,'openclaw',_0x3c7471(0x25f),_0x3c7471(0x294)+'ns'),_0x572aa3=new Set(_0x2134be['openclaw'][_0x3c7471(0x2c4)+'ecs']??[]),_0x274904=new Set([..._0x572aa3][_0x3c7471(0x2e6)](_0x4c6614=>_0x4c6614[_0x3c7471(0x1fb)](/^npm:/,''))[_0x3c7471(0x2e6)](_0x550d1d=>{const _0x5b7120=_0x3c7471;if(_0x550d1d[_0x5b7120(0x202)+'th']('@')){const _0x11a26d=_0x550d1d['split']('@');return _0x11a26d['length']>=0x3?'@'+_0x11a26d[0x1]:_0x550d1d;}return _0x550d1d[_0x5b7120(0x2f5)]('@')[0x0];})[_0x3c7471(0x245)](Boolean)),_0x1d7268=new Set();for(const _0x33bbed of _0x2134be[_0x3c7471(0x2ae)][_0x3c7471(0x1d0)+_0x3c7471(0x2a6)+'ginPaths']){const _0x15962e=await getPackageMetadata(_0x33bbed);if(_0x15962e[_0x3c7471(0x29e)])_0x1d7268[_0x3c7471(0x2b7)](_0x15962e[_0x3c7471(0x29e)]);}const _0x11625b=Array['isArray'](_0x55d87f[_0x3c7471(0x2dc)])?_0x55d87f[_0x3c7471(0x2dc)]:[];_0x55d87f[_0x3c7471(0x2c4)+_0x3c7471(0x2cb)]=[..._0x2134be[_0x3c7471(0x2ae)][_0x3c7471(0x2c4)+_0x3c7471(0x2cb)],..._0x2134be[_0x3c7471(0x2ae)][_0x3c7471(0x1d0)+'LocalPlu'+_0x3c7471(0x258)]['map'](_0x42774b=>'local:'+_0x42774b)],_0x55d87f[_0x3c7471(0x2dc)]=_0x11625b['filter'](_0x14a20c=>{const _0xd04b52=_0x3c7471;if(!_0x14a20c||typeof _0x14a20c!==_0xd04b52(0x244))return![];if(_0x14a20c['source']===_0xd04b52(0x2f7))return _0x1d7268['has'](_0x14a20c[_0xd04b52(0x29e)]);if(_0x14a20c[_0xd04b52(0x295)]===_0xd04b52(0x206))return _0x572aa3['has'](_0x14a20c['spec'])||_0x572aa3[_0xd04b52(0x1ee)](_0x14a20c[_0xd04b52(0x1d0)+_0xd04b52(0x22f)])||_0x274904[_0xd04b52(0x1ee)](_0x14a20c[_0xd04b52(0x1d0)+'Name']);return![];});const _0xf04b29=new Set(_0x55d87f['plugins']['map'](_0x55f8a9=>_0x55f8a9[_0x3c7471(0x29e)]));for(const _0x4d28c3 of _0x11625b){if(!_0x4d28c3[_0x3c7471(0x29e)]||_0xf04b29['has'](_0x4d28c3['pluginId']))continue;const _0x38f2ab=typeof _0x4d28c3[_0x3c7471(0x2d1)+_0x3c7471(0x2b6)]===_0x3c7471(0x28b)&&_0x4d28c3[_0x3c7471(0x2d1)+_0x3c7471(0x2b6)][_0x3c7471(0x2d6)]()?resolve(_0x2da22a,_0x4d28c3['installP'+_0x3c7471(0x2b6)]):join(_0x46dd9f,_0x4d28c3[_0x3c7471(0x29e)]),_0x556fd9=relative(_0x46dd9f,_0x38f2ab);if(_0x556fd9[_0x3c7471(0x202)+'th']('..')||_0x556fd9==='')continue;await rm(_0x38f2ab,{'recursive':!![],'force':!![]});}}async function syncProductAgents(_0x3df82b,_0x184f8d,_0x5a9f23){const _0x1e1f5f=_0x17a6e2,_0x30f033=join(_0x184f8d,_0x1e1f5f(0x2ae),_0x1e1f5f(0x2a0));await copyDirFresh(_0x3df82b[_0x1e1f5f(0x2ae)][_0x1e1f5f(0x241)+'r'],_0x30f033),_0x5a9f23[_0x1e1f5f(0x2a0)]={'source':_0x1e1f5f(0x2d5),'installPath':toRuntimeRelative(_0x184f8d,_0x30f033)};}async function syncProductSkills(_0xe72375,_0x29e93a,_0x7026a9){const _0x223ff5=_0x17a6e2,_0x410988=join(_0x29e93a,_0x223ff5(0x2ae),_0x223ff5(0x21a));await copyDirFresh(_0xe72375[_0x223ff5(0x2ae)][_0x223ff5(0x29c)+'r'],_0x410988),_0x7026a9[_0x223ff5(0x21a)]={'source':_0x223ff5(0x2d5),'installPath':toRuntimeRelative(_0x29e93a,_0x410988)};}
@@ -1 +0,0 @@
1
- (function(_0x5250e0,_0x212c1d){const _0x30615e=_0x382e,_0x29e927=_0x5250e0();while(!![]){try{const _0x38106a=-parseInt(_0x30615e(0xd6))/0x1*(parseInt(_0x30615e(0xc4))/0x2)+parseInt(_0x30615e(0xcb))/0x3+parseInt(_0x30615e(0xca))/0x4*(-parseInt(_0x30615e(0xc7))/0x5)+-parseInt(_0x30615e(0xdd))/0x6*(-parseInt(_0x30615e(0xc5))/0x7)+parseInt(_0x30615e(0xc3))/0x8*(-parseInt(_0x30615e(0xc9))/0x9)+-parseInt(_0x30615e(0xe0))/0xa*(parseInt(_0x30615e(0xdf))/0xb)+parseInt(_0x30615e(0xc8))/0xc;if(_0x38106a===_0x212c1d)break;else _0x29e927['push'](_0x29e927['shift']());}catch(_0x24e483){_0x29e927['push'](_0x29e927['shift']());}}}(_0x19ed,0x5fe85));import{existsSync}from'node:fs';import{cp,mkdir,readFile,readdir,rm,stat,writeFile}from'node:fs/promises';function _0x19ed(){const _0x11a5de=['8WqnNjf','272208PzaLvr','797881QjoZdM','name','19405TjtqMu','12245484yFxurJ','3503889spHQXX','316gnQMYy','1016094xJOYcX','filter','isFile','openclaw','string','.plugin.','0.0.0','version','isDirect','ory','map','4Jwtymt','replaceA','stringif','utf8','json','trim','parse','18juCAcU','package.','11SqepqQ','679310NJHbNt','isArray'];_0x19ed=function(){return _0x11a5de;};return _0x19ed();}import{basename,dirname,join,relative}from'node:path';export function asRecord(_0x3977d1){const _0x2fb10c=_0x382e;return _0x3977d1&&typeof _0x3977d1==='object'&&!Array[_0x2fb10c(0xc2)](_0x3977d1)?_0x3977d1:{};}export function asStringArray(_0x157ffe){const _0x1a86a6=_0x382e;return Array['isArray'](_0x157ffe)?_0x157ffe[_0x1a86a6(0xcc)](_0x328dcd=>typeof _0x328dcd===_0x1a86a6(0xcf)&&_0x328dcd['trim']())[_0x1a86a6(0xd5)](_0x5cf1d7=>_0x5cf1d7['trim']()):[];}export function dedupeStrings(_0x171ed0){const _0x49b7c6=_0x382e;return[...new Set(_0x171ed0[_0x49b7c6(0xcc)](Boolean))];}export function getTrimmedString(_0x51cd57){const _0x500382=_0x382e;return typeof _0x51cd57===_0x500382(0xcf)?_0x51cd57[_0x500382(0xdb)]():'';}export async function readJson(_0x318a6e,_0x4cdc82={}){const _0x8407=_0x382e;try{return JSON[_0x8407(0xdc)](await readFile(_0x318a6e,_0x8407(0xd9)));}catch{return _0x4cdc82;}}export async function writeJson(_0xadd7f2,_0x70f70a){const _0x4338f0=_0x382e;await mkdir(dirname(_0xadd7f2),{'recursive':!![]}),await writeFile(_0xadd7f2,JSON[_0x4338f0(0xd8)+'y'](_0x70f70a,null,0x2)+'\x0a',_0x4338f0(0xd9));}export async function copyDirFresh(_0x41dec7,_0x834a25){await rm(_0x834a25,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96}),await mkdir(dirname(_0x834a25),{'recursive':!![]}),await cp(_0x41dec7,_0x834a25,{'recursive':!![]});}export async function ensureDir(_0x2661e0){await mkdir(_0x2661e0,{'recursive':!![]});}export function pathExists(_0x22d64a){return existsSync(_0x22d64a);}export async function listDirs(_0x2c7fb1){const _0x438aa2=_0x382e;try{const _0x5cb2e7=await readdir(_0x2c7fb1,{'withFileTypes':!![],'encoding':_0x438aa2(0xd9)});return _0x5cb2e7['filter'](_0x38a1e9=>_0x38a1e9[_0x438aa2(0xd3)+_0x438aa2(0xd4)]())[_0x438aa2(0xd5)](_0x4265e8=>_0x4265e8[_0x438aa2(0xc6)]);}catch{return[];}}export async function getPackageMetadata(_0xbb8724){const _0x5d3a19=_0x382e,_0x41dfb7=await readJson(join(_0xbb8724,_0x5d3a19(0xde)+_0x5d3a19(0xda)),{}),_0x46e07a=asRecord(_0x41dfb7['openclaw']);return{'name':getTrimmedString(_0x41dfb7['name'])||basename(_0xbb8724),'version':getTrimmedString(_0x41dfb7[_0x5d3a19(0xd2)])||_0x5d3a19(0xd1),'pluginId':getTrimmedString(_0x46e07a['id'])||getTrimmedString(_0x41dfb7[_0x5d3a19(0xce)+'Id'])||basename(_0xbb8724)};}export async function readPluginManifest(_0x3d07c2){const _0x23711f=_0x382e,_0x35e3dc=join(_0x3d07c2,_0x23711f(0xce)+_0x23711f(0xd0)+'json'),_0x27caf1=await readJson(_0x35e3dc,{});return asRecord(_0x27caf1);}function _0x382e(_0x39119d,_0x45a4c1){_0x39119d=_0x39119d-0xc2;const _0x19ed5f=_0x19ed();let _0x382e4f=_0x19ed5f[_0x39119d];return _0x382e4f;}export async function hasFile(_0x5c08e1){const _0x201fc0=_0x382e;try{const _0x421342=await stat(_0x5c08e1);return _0x421342[_0x201fc0(0xcd)]();}catch{return![];}}export function toRuntimeRelative(_0x4a7b8c,_0x5d2e5c){const _0x36aaa5=_0x382e;return relative(_0x4a7b8c,_0x5d2e5c)[_0x36aaa5(0xd7)+'ll']('\x5c','/');}