@wujie-shell/core 2.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 (53) hide show
  1. package/README.md +30 -0
  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 -1
  14. package/dist/src/connectors/constants.mjs +1 -1
  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/agent-sessions-map-store.mjs +0 -1
  38. package/dist/src/bundled-agent-skills.mjs +0 -1
  39. package/dist/src/bundled-agents.mjs +0 -1
  40. package/dist/src/config-controller.mjs +0 -1
  41. package/dist/src/connectors/connector-controller.mjs +0 -1
  42. package/dist/src/gateway-controller.mjs +0 -1
  43. package/dist/src/gateway-ws.mjs +0 -1
  44. package/dist/src/generated-files-store.mjs +0 -1
  45. package/dist/src/logging.mjs +0 -1
  46. package/dist/src/openclaw-config-compat.mjs +0 -1
  47. package/dist/src/plugin-sync.mjs +0 -1
  48. package/dist/src/product-preferences-store.mjs +0 -1
  49. package/dist/src/runtime-logger.mjs +0 -1
  50. package/dist/src/runtime.mjs +0 -1
  51. package/dist/src/skill-import.mjs +0 -1
  52. package/dist/src/terminal-manager.mjs +0 -1
  53. package/dist/src/utils.mjs +0 -1
@@ -1 +0,0 @@
1
- const _0x3db012=_0x4ef6;(function(_0x4dec1f,_0x243b44){const _0x23b0df=_0x4ef6,_0x993a9=_0x4dec1f();while(!![]){try{const _0x296069=parseInt(_0x23b0df(0x22a))/0x1+parseInt(_0x23b0df(0x12e))/0x2*(parseInt(_0x23b0df(0xa4))/0x3)+parseInt(_0x23b0df(0x229))/0x4+parseInt(_0x23b0df(0x14d))/0x5*(parseInt(_0x23b0df(0x1b2))/0x6)+parseInt(_0x23b0df(0x20d))/0x7+-parseInt(_0x23b0df(0x1d2))/0x8+-parseInt(_0x23b0df(0x12b))/0x9*(parseInt(_0x23b0df(0x1f3))/0xa);if(_0x296069===_0x243b44)break;else _0x993a9['push'](_0x993a9['shift']());}catch(_0x5cb15e){_0x993a9['push'](_0x993a9['shift']());}}}(_0x4aee,0x9eb5d));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 _0x261f9b,{portNumbers}from'get-port';function _0x4ef6(_0x3bf146,_0xf7736b){_0x3bf146=_0x3bf146-0x81;const _0x4aee2b=_0x4aee();let _0x4ef67c=_0x4aee2b[_0x3bf146];return _0x4ef67c;}function _0x4aee(){const _0x4dcf23=['toLowerC','ted','agent-ev','deleteTr','join','includes','t-stream','customMo','descript','session_','ort\x20','er-secre','messageI','estart','Fallback','push','session-','ested','tHandler','patch','spawn\x20re','once','107649pbLRoz','message\x20','\x20for\x20WS','1718ztrFFI','ame','chat.sen','x-ask-us','quired','27.0.0.1','flush','nt\x20too\x20l','system','model','agents\x20l','split','.changed','ate','ey\x20is\x20re','eys-upda','delta','keys','sent','fig','tokenPre','resolveS','markConf','cron.run','figChang','stopped','itialCon','ved','e\x20update','sage','eway','1409180tpbanN','json','ase','workspac','ion/json','finally','cron','clear','chat\x20his','run','ntityPat','nected','end','unshift','restart\x20','done','.json','logo_url','igRaw','isArray','ay\x20state','sessionK','chat','reate','readConf','request','eviceIde','agents-u','aded','title','warn','textLeng','error','.list','agents.u','Version','status','controll','equested','then','\x20signal=','red','by\x20gatew','ing,\x20ple','session\x20','setGatew','reason','nsured','destroy','limit','filter','mimeType','\x20failed','isAskUse','ion','\x20gateway','content','chat-str','now','map','requeste','HEARTBEA','applicat','delete','ginConfi','skill\x20up','key','c\x20starte','state','gateway\x20','sted','utf8','string','ensureAs','startedA','tory','nChange','resolveC','bundled-','ills\x20syn','SOUL.md','pted\x20by\x20','\x20handled','USER.md','achments','stionPlu','sessions','rQuestio','answers','start','event\x20re','Timer','skills.s','dly','nt\x20recei','desktop','requestI','process\x20','eway:','l-core,\x20','tateDir','6YOMsWU','\x20waiting','some','SIGKILL','port','Bin','oot','cron.add','ed:\x20',':session','slice','POST','backend','skill\x20in','chat\x20att','pid','und','token','y\x20shortl','\x20context','producti','off','timeout','openclaw','agents\x20s','image/sv','sessionI','agents.c','ent','renamed','res','ath','6525016JplLNr','ove','toString','default','pdated','kUserQue','\x20require','\x20by\x20shel','ensureGa','image/','dispose','ck\x20skipp','pinnedKe','/ask-use','set','skills','resolveD','T.md','exited\x20c','ured','--allow-','AGENTS.m','configur','label','ceived','ket','ask-user','catch','ws://127','all','stringif','names','message','130tOMTzy','writeHea','t\x20connec','er\x20start','ssionKey','close','stall\x20re','text/mar','terminal','c\x20failed','ion/pdf','nabled','behavior','onfigPat','gateway','websocke','create\x20r','parse','pluginId','skills.u','log','runId','unknown','kdown','aipc-mar','ensureIn','6432790pQOJkE','iled','runtimeR','started,','Claw\x20gat','attachme','events\x20s','Settings','expr','hell:gat','agents.l','elete\x20is','deleted','ing','g+xml','stall\x20co','filePath','task','manual\x20r','splice','ized','--port','er\x20stop\x20','toUpperC','nPluginE','metadata','errorMes','name','241840ULwMtB','184695Buubzm','projectR','code','ompleted','tings','chat\x20abo','null','date\x20req','info','jobId','health','schedule','andledIn','ync\x20fail','session.','ternally','n\x20callba','chat\x20run','defaultI','changed','skillKey','stderr','image/jp','parentSe','plugins','[wujie-s','running','data','nstall','max','stack','mpleted','values','cron.lis','killed','agents','612bEjMHn','method','has','llow-unc','healthy','resolve','eam\x20fail','led','anscript','allow','arge:\x20','version','provider','--token','restarti','dels','aborted','phase','agentId','quested','productN','IDENTITY','r-questi','cron.rem','chat\x20fai','ents\x20syn','eady','started','messageS','0.1.0','MEMORY.m','t\x20not\x20fo','getModel','text/csv','n\x20reques','setModel','type','channel','stop','skills.d','is\x20start','eam\x20acce','技能安装失败:\x20','t\x20discon','final','nexpecte','ubscribe','modelNam','c\x20comple','jobId\x20is','\x20prepare','is\x20requi','entries','d\x20--toke','isFile','ndled\x20ag','agent\x20sk','deny','\x20request','-questio','in\x20disab','.subscri','uested','size','tatus\x20lo','peratedM','paths','client','bundled\x20','floor','skills.i','chat\x20eve','trimEnd','starting','tatus','rename\x20c','.delete','restartO','text','installP','\x20settled','eway]\x20bu','pdate\x20is','cron.upd','discover','chat.his','listen','http://1','get','ase\x20retr','kill','eam-even','random','rt\x20reque','unconfig','\x20list\x20co','tory\x20loa','models','connecte','main','invalid\x20','file','updated','base64','length','.0.0.1:','gateway-','ded','pinned-k','stall\x20fa','skill\x20de','unhealth','igWriteH'];_0x4aee=function(){return _0x4dcf23;};return _0x4aee();}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{readSkillMarketRegistry}from'./skill-import.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'./logging.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID=_0x3db012(0x10e)+_0x3db012(0xe7),CLIENT_MODE=_0x3db012(0x1be),CLIENT_DEVICE_FAMILY=_0x3db012(0x1ac),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE='session-'+_0x3db012(0x226)+_0x3db012(0x15d),SHARED_CONTEXT_FILES=[_0x3db012(0x1e7)+'d',_0x3db012(0x18a)+_0x3db012(0x1e3),_0x3db012(0xb9)+'.md',_0x3db012(0xc2)+'d',_0x3db012(0x19d),'TOOLS.md',_0x3db012(0x1a0)],SKILL_SOURCE_MARKET=_0x3db012(0x20b)+_0x3db012(0x1eb),DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x3db012(0x1c6)+'on';function mapMarketRegisteredSkills(_0x108986,_0x12374f){const _0x1e0a74=_0x3db012,_0x39d28e=Array['isArray'](asRecord(_0x108986)[_0x1e0a74(0x1e1)])?asRecord(_0x108986)[_0x1e0a74(0x1e1)]:[];if(_0x39d28e[_0x1e0a74(0x10c)]===0x0||Object[_0x1e0a74(0x13f)](_0x12374f)[_0x1e0a74(0x10c)]===0x0)return _0x108986;const _0x20c549=_0x39d28e[_0x1e0a74(0x188)](_0x51680e=>{const _0x1be3bd=_0x1e0a74,_0x138339=asRecord(_0x51680e),_0x148926=getTrimmedString(_0x138339[_0x1be3bd(0x94)])||getTrimmedString(_0x138339[_0x1be3bd(0x228)]);let _0x18f919=_0x148926,_0x263b56=asRecord(_0x12374f[_0x148926]);if(!Object[_0x1be3bd(0x13f)](_0x263b56)[_0x1be3bd(0x10c)])for(const [_0x21cab5,_0x5d473f]of Object[_0x1be3bd(0xd8)](_0x12374f)){const _0x35db65=asRecord(_0x5d473f);if(getTrimmedString(_0x35db65['code'])===_0x148926){_0x18f919=_0x21cab5,_0x263b56=_0x35db65;break;}}if(!Object[_0x1be3bd(0x13f)](_0x263b56)[_0x1be3bd(0x10c)])return _0x51680e;const _0x2d8053=getTrimmedString(_0x263b56[_0x1be3bd(0x82)]),_0x26d55f=getTrimmedString(_0x263b56[_0x1be3bd(0x228)]),_0x11d368=getTrimmedString(_0x263b56[_0x1be3bd(0x11d)+_0x1be3bd(0x183)]),_0x2eaa28=getTrimmedString(_0x263b56[_0x1be3bd(0x15e)]),_0x373c6a=getTrimmedString(_0x263b56[_0x1be3bd(0xaf)]);return{..._0x138339,'source':SKILL_SOURCE_MARKET,'skillKey':_0x2d8053||_0x148926,'gatewaySkillKey':_0x2d8053?_0x18f919:null,'marketInstalledVersion':_0x373c6a||null,..._0x26d55f?{'name':_0x26d55f}:{},..._0x11d368?{'description':_0x11d368}:{},..._0x2eaa28?{'logoUrl':_0x2eaa28}:{}};});return{...asRecord(_0x108986),'skills':_0x20c549};}function nowIso(){const _0x42241d=_0x3db012;return new Date()['toISOStr'+_0x42241d(0x21a)]();}function buildGatewayWsUrl(_0x89b278){const _0xb5f354=_0x3db012;return _0xb5f354(0x1ee)+_0xb5f354(0x10d)+_0x89b278;}function createInitialStatus(){const _0x213d2c=_0x3db012;return{'lifecycle':_0x213d2c(0x147),'health':'unknown','port':null,'tokenPresent':![],'initialStartupComplete':![],'message':'gateway\x20'+'stopped','updatedAt':nowIso()};}function extractGatewayMessageText(_0xf27144){const _0x4431c9=_0x3db012;if(typeof _0xf27144===_0x4431c9(0x195))return _0xf27144;if(!Array[_0x4431c9(0x160)](_0xf27144))return'';const _0xf0a6ae=[];for(const _0x642d9b of _0xf27144){if(typeof _0x642d9b===_0x4431c9(0x195)){if(_0x642d9b)_0xf0a6ae['push'](_0x642d9b);continue;}const _0x281be4=asRecord(_0x642d9b);_0x281be4[_0x4431c9(0xc8)]===_0x4431c9(0xf2)&&typeof _0x281be4[_0x4431c9(0xf2)]===_0x4431c9(0x195)&&_0x281be4['text']&&_0xf0a6ae[_0x4431c9(0x124)](_0x281be4['text']);}return _0xf0a6ae[_0x4431c9(0x119)]('\x0a');}function extractGatewayChatText(_0x31b5ab){const _0x1d612d=_0x3db012,_0x188906=asRecord(_0x31b5ab);if(typeof _0x188906['text']===_0x1d612d(0x195))return _0x188906[_0x1d612d(0xf2)];return extractGatewayMessageText(_0x188906[_0x1d612d(0x185)]);}function guessMimeType(_0x533210){const _0x161a13=_0x3db012,_0x36a535=_0x533210[_0x161a13(0x139)]('.')['pop']()?.[_0x161a13(0x115)+_0x161a13(0x14f)]()??'',_0x488498={'png':'image/pn'+'g','jpg':'image/jp'+'eg','jpeg':_0x161a13(0x96)+'eg','webp':'image/we'+'bp','gif':'image/gi'+'f','svg':_0x161a13(0x1cb)+_0x161a13(0x21b),'pdf':'applicat'+_0x161a13(0x1fd),'txt':'text/pla'+'in','md':_0x161a13(0x1fa)+_0x161a13(0x20a),'json':'applicat'+_0x161a13(0x151),'csv':_0x161a13(0xc5)};return _0x488498[_0x36a535]||'applicat'+'ion/octe'+_0x161a13(0x11b);}async function buildAttachments(_0x457cbd=[]){const _0xb8554f=_0x3db012,_0xd137c9=[];for(const _0x4806a5 of _0x457cbd){const _0x78992f=getTrimmedString(_0x4806a5);if(!_0x78992f)continue;const _0x111119=await stat(_0x78992f);if(!_0x111119[_0xb8554f(0xda)]())continue;if(_0x111119[_0xb8554f(0xe3)]>ATTACHMENT_MAX_BYTES)throw new Error(_0xb8554f(0x212)+_0xb8554f(0x135)+_0xb8554f(0xae)+basename(_0x78992f));const _0x1b86c7=guessMimeType(_0x78992f);_0xd137c9['push']({'type':_0x1b86c7['startsWi'+'th'](_0xb8554f(0x1db))?'image':_0xb8554f(0x109),'mimeType':_0x1b86c7,'content':(await readFile(_0x78992f))[_0xb8554f(0x1d4)](_0xb8554f(0x10b)),'fileName':basename(_0x78992f)});}return _0xd137c9;}function buildSessionCreateRequestPayload(_0x5d922d={}){const _0x1d6895=_0x3db012,_0x31222b={},_0x4148e2=Math[_0x1d6895(0x100)]()['toString'](0x24)[_0x1d6895(0x1bc)](0x2,0xf),_0x574ca1=getTrimmedString(_0x5d922d['agentId'])||_0x1d6895(0x107),_0x42b8fd=getTrimmedString(_0x5d922d[_0x1d6895(0x18f)])||'agent:'+_0x574ca1+(_0x1d6895(0x1bb)+'-')+Date[_0x1d6895(0x187)]();_0x31222b['key']=_0x42b8fd+'-'+_0x4148e2,_0x31222b[_0x1d6895(0xb6)]=_0x574ca1;const _0x20c62b=getTrimmedString(_0x5d922d[_0x1d6895(0x1e9)]);if(_0x20c62b)_0x31222b[_0x1d6895(0x1e9)]=_0x20c62b+'-'+_0x4148e2;for(const _0x12eccd of[_0x1d6895(0x137),_0x1d6895(0x97)+_0x1d6895(0x1f7),_0x1d6895(0x21e),_0x1d6895(0x1f2)]){const _0x5f5427=getTrimmedString(_0x5d922d[_0x12eccd]);if(_0x5f5427)_0x31222b[_0x12eccd]=_0x5f5427;}return _0x31222b;}function normalizeCronMutationParams(_0x3054f9={}){const _0x46e6c3=_0x3db012,_0x1c01c1={...asRecord(_0x3054f9)},_0x3eccf9=asRecord(_0x1c01c1[_0x46e6c3(0x8b)]);if(Object['keys'](_0x3eccf9)[_0x46e6c3(0x10c)]>0x0){const _0x176dac={..._0x3eccf9},_0x28fb5c=getTrimmedString(_0x176dac['cron']);_0x28fb5c&&!getTrimmedString(_0x176dac['expr'])&&(_0x176dac[_0x46e6c3(0x215)]=_0x28fb5c),delete _0x176dac[_0x46e6c3(0x153)],_0x1c01c1[_0x46e6c3(0x8b)]=_0x176dac;}return _0x1c01c1;}function parseSessionCreateResult(_0x5f0ff2){const _0x289cee=_0x3db012,_0x57bf39=asRecord(_0x5f0ff2),_0x5655a2=asRecord(_0x57bf39['session']);return{'ok':!![],'key':getTrimmedString(_0x57bf39[_0x289cee(0x18f)])||getTrimmedString(_0x57bf39[_0x289cee(0x162)+'ey'])||getTrimmedString(_0x5655a2[_0x289cee(0x18f)])||null,'sessionId':getTrimmedString(_0x57bf39['sessionI'+'d'])||getTrimmedString(_0x5655a2[_0x289cee(0x1cc)+'d'])||null};}function getSessionKeyFromValue(_0x232596){const _0x5cf2a2=_0x3db012,_0x178b84=asRecord(_0x232596);return getTrimmedString(_0x178b84[_0x5cf2a2(0x162)+'ey']??_0x178b84[_0x5cf2a2(0x18f)]??_0x178b84['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x261862){const _0x417843=_0x3db012;try{const _0x1d9981=JSON[_0x417843(0x204)](await readFile(join(_0x261862,SESSION_METADATA_FILE),_0x417843(0x194))),_0x398cc2=asRecord(_0x1d9981);return{'names':asRecord(_0x398cc2[_0x417843(0x1f1)]),'pinnedKeys':Array[_0x417843(0x160)](_0x398cc2[_0x417843(0x1de)+'ys'])?_0x398cc2[_0x417843(0x1de)+'ys']['filter'](_0x2ba282=>typeof _0x2ba282===_0x417843(0x195)&&_0x2ba282['trim']()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x214487,_0x5b42c9){const _0x5b4f70=_0x3db012;await mkdir(_0x214487,{'recursive':!![]}),await writeFile(join(_0x214487,SESSION_METADATA_FILE),JSON[_0x5b4f70(0x1f0)+'y'](_0x5b42c9,null,0x2)+'\x0a',_0x5b4f70(0x194));}function applySessionMetadata(_0x3f867b,_0x11793c){const _0x719567=_0x3db012,_0x128f45=asRecord(_0x3f867b),_0x295998=Array[_0x719567(0x160)](_0x128f45[_0x719567(0x1a3)])?_0x128f45[_0x719567(0x1a3)]:[];return{..._0x128f45,'pinnedKeys':_0x11793c[_0x719567(0x1de)+'ys'],'sessions':_0x295998['map'](_0x3e3251=>{const _0x1d110b=_0x719567,_0x3b11aa=asRecord(_0x3e3251),_0x3e7b66=getSessionKeyFromValue(_0x3b11aa);if(!_0x3e7b66)return _0x3e3251;const _0x40059e=getTrimmedString(_0x11793c[_0x1d110b(0x1f1)][_0x3e7b66]),_0x42b80f=_0x11793c[_0x1d110b(0x1de)+'ys'][_0x1d110b(0x11a)](_0x3e7b66);return{..._0x3b11aa,..._0x40059e?{'name':_0x40059e,'displayName':_0x40059e,'label':_0x40059e}:{},'pinned':_0x42b80f};})};}function sanitizeSharedContextPayload(_0x417ebc){const _0x2caadf=_0x3db012,_0x7466bb=asRecord(_0x417ebc),_0x39c31={};for(const _0x187cda of SHARED_CONTEXT_FILES){if(typeof _0x7466bb[_0x187cda]===_0x2caadf(0x195))_0x39c31[_0x187cda]=_0x7466bb[_0x187cda];}return _0x39c31;}async function readSharedContext(_0x5bdb50){const _0xfef839=_0x3db012,_0x5a8076={};for(const _0x2e70a6 of SHARED_CONTEXT_FILES){try{_0x5a8076[_0x2e70a6]=await readFile(join(_0x5bdb50,_0x2e70a6),_0xfef839(0x194));}catch{_0x5a8076[_0x2e70a6]='';}}return _0x5a8076;}async function writeSharedContext(_0x1f3add,_0x456311){const _0x4a8868=_0x3db012,_0x33342c=sanitizeSharedContextPayload(_0x456311);await mkdir(_0x1f3add,{'recursive':!![]});for(const [_0x6cd512,_0x20ee8]of Object[_0x4a8868(0xd8)](_0x33342c)){await writeFile(join(_0x1f3add,_0x6cd512),_0x20ee8,'utf8');}return{'ok':!![],'files':Object[_0x4a8868(0x13f)](_0x33342c)};}function createAskUserQuestionServer({configController:_0xcbaa2,emit:_0x1ed9c0}){const _0x4c476e=new Map();let _0x507aaf=null,_0x102c6c='',_0x4ba405='';async function _0x26e4d9(){const _0x370394=_0x4ef6;if(_0x507aaf)return{'callbackUrl':_0x102c6c,'secret':_0x4ba405};_0x4ba405=randomUUID();const _0x4a3aa7=await _0x261f9b({'port':portNumbers(0x332c,0x338f)});return _0x102c6c=_0x370394(0xfb)+_0x370394(0x133)+':'+_0x4a3aa7+('/ask-use'+'r-questi'+'on'),_0x507aaf=createServer(async(_0x28e7c3,_0x61d81)=>{const _0x3b7518=_0x370394;if(_0x28e7c3[_0x3b7518(0xa5)]!==_0x3b7518(0x1bd)||_0x28e7c3['url']!==_0x3b7518(0x1df)+_0x3b7518(0xba)+'on'){_0x61d81['writeHea'+'d'](0x194),_0x61d81[_0x3b7518(0x159)]('not\x20foun'+'d');return;}if(_0x28e7c3['headers'][_0x3b7518(0x131)+_0x3b7518(0x120)+'t']!==_0x4ba405){_0x61d81[_0x3b7518(0x1f4)+'d'](0x191),_0x61d81[_0x3b7518(0x159)]('unauthor'+_0x3b7518(0x221));return;}let _0x5a463='';_0x28e7c3['on']('data',_0x29a12c=>{const _0x175e51=_0x3b7518;_0x5a463+=_0x29a12c[_0x175e51(0x1d4)]();if(_0x5a463[_0x175e51(0x10c)]>0x400*0x400)_0x28e7c3[_0x175e51(0x17d)]();}),_0x28e7c3['on']('end',()=>{const _0x288338=_0x3b7518;let _0x346ab9={};try{_0x346ab9=JSON[_0x288338(0x204)](_0x5a463||'{}');}catch{_0x61d81[_0x288338(0x1f4)+'d'](0x190),_0x61d81[_0x288338(0x159)](_0x288338(0x108)+_0x288338(0x14e));return;}const _0x4a8bf2=randomUUID(),_0x3cdcd9=setTimeout(()=>{const _0x5f4fc0=_0x288338;if(!_0x4c476e['has'](_0x4a8bf2))return;_0x4c476e[_0x5f4fc0(0x18c)](_0x4a8bf2),_0x61d81[_0x5f4fc0(0x1f4)+'d'](0xc8,{'content-type':_0x5f4fc0(0x18b)+_0x5f4fc0(0x151)}),_0x61d81[_0x5f4fc0(0x159)](JSON[_0x5f4fc0(0x1f0)+'y']({'behavior':_0x5f4fc0(0xdd)}));},0x1d4c0);_0x4c476e[_0x288338(0x1e0)](_0x4a8bf2,{'res':_0x61d81,'timeout':_0x3cdcd9}),_0x1ed9c0(_0x288338(0x1ec)+_0x288338(0xdf)+'n',{'requestId':_0x4a8bf2,...asRecord(_0x346ab9)});});}),await new Promise((_0x1faf37,_0x4cc40f)=>{const _0x13ae27=_0x370394;_0x507aaf[_0x13ae27(0x12a)](_0x13ae27(0x16d),_0x4cc40f),_0x507aaf[_0x13ae27(0xfa)](_0x4a3aa7,'127.0.0.'+'1',()=>{const _0x811487=_0x13ae27;_0x507aaf['off'](_0x811487(0x16d),_0x4cc40f),_0x1faf37();});}),await _0xcbaa2[_0x370394(0x196)+_0x370394(0x1d7)+_0x370394(0x1a2)+_0x370394(0x18d)+'g']({'callbackUrl':_0x102c6c,'secret':_0x4ba405}),{'callbackUrl':_0x102c6c,'secret':_0x4ba405};}function _0x3586c4(_0x4a46ac={}){const _0x4fa9b3=_0x4ef6,_0x96e3f3=getTrimmedString(_0x4a46ac['requestI'+'d']);if(!_0x96e3f3||!_0x4c476e[_0x4fa9b3(0xa6)](_0x96e3f3))throw new Error('ask-user'+_0x4fa9b3(0xdf)+_0x4fa9b3(0xc6)+_0x4fa9b3(0xc3)+_0x4fa9b3(0x1c2));const _0x262215=_0x4c476e[_0x4fa9b3(0xfc)](_0x96e3f3);return _0x4c476e[_0x4fa9b3(0x18c)](_0x96e3f3),clearTimeout(_0x262215[_0x4fa9b3(0x1c8)]),_0x262215[_0x4fa9b3(0x1d0)][_0x4fa9b3(0x1f4)+'d'](0xc8,{'content-type':'applicat'+'ion/json'}),_0x262215[_0x4fa9b3(0x1d0)][_0x4fa9b3(0x159)](JSON[_0x4fa9b3(0x1f0)+'y']({'behavior':_0x4a46ac[_0x4fa9b3(0x1ff)]==='deny'?'deny':_0x4fa9b3(0xad),'answers':asRecord(_0x4a46ac[_0x4fa9b3(0x1a5)])})),{'ok':!![]};}async function _0x149218(){const _0x4d03a4=_0x4ef6;for(const [_0x46c465,_0x142b3f]of _0x4c476e){_0x4c476e[_0x4d03a4(0x18c)](_0x46c465),clearTimeout(_0x142b3f[_0x4d03a4(0x1c8)]),_0x142b3f[_0x4d03a4(0x1d0)][_0x4d03a4(0x1f4)+'d'](0xc8,{'content-type':_0x4d03a4(0x18b)+_0x4d03a4(0x151)}),_0x142b3f[_0x4d03a4(0x1d0)][_0x4d03a4(0x159)](JSON[_0x4d03a4(0x1f0)+'y']({'behavior':_0x4d03a4(0xdd)}));}if(!_0x507aaf)return;await new Promise(_0x131578=>_0x507aaf[_0x4d03a4(0x1f8)](_0x131578)),_0x507aaf=null;}return{'start':_0x26e4d9,'answer':_0x3586c4,'stop':_0x149218};}export function createGatewayController({shellConfig:_0x135086,configController:_0x2fa015,appVersion:appVersion=_0x3db012(0xc1)}){const _0x16c48e=_0x3db012,_0x2fa0d3=new EventEmitter(),_0x49bbb8=new ClawGatewayWsClient(),_0xfbdd98=[],_0x5181f6=new Map(),_0x10f80b=new Map(),_0x54dbfc=createShellLogger(_0x2fa015[_0x16c48e(0xe6)],_0x16c48e(0x201)),_0x5eec15=createShellLogger(_0x2fa015['paths'],_0x16c48e(0x163)),_0x26e90b=createShellLogger(_0x2fa015[_0x16c48e(0xe6)],'sessions'),_0x256369=createShellLogger(_0x2fa015[_0x16c48e(0xe6)],'capabili'+'ties'),_0x5af031=createAskUserQuestionServer({'configController':_0x2fa015,'emit':(_0x3d793e,_0x2753a2)=>_0x2fa0d3['emit'](_0x3d793e,_0x2753a2)});let _0x5d0417=createInitialStatus(),_0x2d122f=null,_0x52e4a4=null,_0x37fbdf=null,_0x4f410a=![],_0x27f02e=![],_0x140ee1=Promise[_0x16c48e(0xa9)](),_0x301804=null,_0x4ea7ba=0x0,_0x53360c=0x0;function _0x160eff(_0x16e808,_0x24941e){_0x2fa0d3['emit'](_0x16e808,_0x24941e);}function _0x2a7e00(_0x97a30e,_0x452290){const _0xa06af4=_0x16c48e;return _0x2fa0d3['on'](_0x97a30e,_0x452290),()=>_0x2fa0d3[_0xa06af4(0x1c7)](_0x97a30e,_0x452290);}function _0x2cf508(_0x74ea5c){const _0x507248=_0x16c48e;_0x5d0417={..._0x5d0417,..._0x74ea5c,'updatedAt':nowIso()},_0x160eff(_0x507248(0x10e)+_0x507248(0x171),_0x5d0417);}function _0x246595(_0x13d961,_0x34fa0a,_0x24bcbc={}){const _0x35ce94=_0x16c48e;_0x2cf508({'lifecycle':_0x13d961,'message':_0x34fa0a,..._0x13d961===_0x35ce94(0x9a)?{'initialStartupComplete':!![]}:{},..._0x24bcbc}),_0x20e6cf(_0x35ce94(0x136),_0x13d961[_0x35ce94(0x224)+_0x35ce94(0x14f)]()+'\x20'+_0x34fa0a),_0x54dbfc?.[_0x35ce94(0x88)](_0x35ce94(0x192)+'lifecycl'+_0x35ce94(0x14a)+'d',{'lifecycle':_0x13d961,'message':_0x34fa0a,'status':{'health':_0x5d0417[_0x35ce94(0x8a)],'port':_0x5d0417[_0x35ce94(0x1b6)],'tokenPresent':_0x5d0417[_0x35ce94(0x142)+_0x35ce94(0x140)]},...summarizePayload(_0x24bcbc)});}function _0x20e6cf(_0x31f964,_0x1ee821){const _0x16d85b=_0x16c48e,_0x208489=String(_0x1ee821??'')[_0x16d85b(0xec)]();if(!_0x208489)return;if(DEBUG_STDOUT){const _0x65363c=_0x31f964==='stderr'?console[_0x16d85b(0x16d)]:console[_0x16d85b(0x88)];_0x65363c(_0x16d85b(0x99)+_0x16d85b(0x216)+_0x16d85b(0x1af)+_0x31f964+']',_0x208489);}const _0x1705d8={'source':_0x31f964,'text':_0x208489,'timestamp':nowIso()};_0xfbdd98[_0x16d85b(0x124)](_0x1705d8);if(_0xfbdd98[_0x16d85b(0x10c)]>LOG_LIMIT)_0xfbdd98[_0x16d85b(0x220)](0x0,_0xfbdd98[_0x16d85b(0x10c)]-LOG_LIMIT);_0x160eff(_0x16d85b(0x10e)+'log',_0x1705d8),_0x54dbfc?.[_0x16d85b(0x88)](_0x16d85b(0x192)+_0x16d85b(0x207),{'source':_0x31f964,'text':_0x208489});}function _0x490a11(_0xa4e399=0xc8){const _0x28d1e1=_0x16c48e;return _0xfbdd98['slice'](-Math[_0x28d1e1(0x9d)](0x1,Math[_0x28d1e1(0xe9)](_0xa4e399)));}function _0x537db6(){const _0x9bb1df=_0x16c48e;if(!_0x2d122f||_0x5d0417['lifecycl'+'e']!=='running')throw new Error(_0x9bb1df(0x192)+_0x9bb1df(0xcc)+_0x9bb1df(0x178)+_0x9bb1df(0xfd)+_0x9bb1df(0x1c4)+'y');}async function _0x22eaed(_0x8c4788=0x3a98){const _0x4dc06d=_0x16c48e;if(_0x48a768())return!![];const _0x2d9423=Date[_0x4dc06d(0x187)]();while(Date[_0x4dc06d(0x187)]()-_0x2d9423<_0x8c4788){await new Promise(_0x5e5c24=>setTimeout(_0x5e5c24,0xfa));if(_0x48a768())return!![];}return _0x537db6(),!![];}function _0x48a768(){return Boolean(_0x2d122f&&_0x5d0417['lifecycl'+'e']==='running');}function _0x30e4ef(_0xa14e87){const _0x46ab87=_0x16c48e;_0x160eff(_0x46ab87(0x186)+_0x46ab87(0xff)+'t',_0xa14e87);}function _0x37ce43(_0x2cd091){const _0x3a1c1e=_0x16c48e,_0x2d4d86=_0x5181f6[_0x3a1c1e(0xfc)](_0x2cd091);if(!_0x2d4d86)return null;_0x5181f6[_0x3a1c1e(0x18c)](_0x2cd091);if(_0x2d4d86[_0x3a1c1e(0x1fb)+_0x3a1c1e(0x123)+_0x3a1c1e(0x1a8)])clearTimeout(_0x2d4d86['terminal'+'Fallback'+_0x3a1c1e(0x1a8)]);return _0x10f80b[_0x3a1c1e(0x18c)](_0x2d4d86[_0x3a1c1e(0x162)+'ey']),_0x2d4d86;}function _0x3c12bf(_0x18d36f,_0x341468,_0x1bd9fb=''){const _0x559768=_0x16c48e,_0x567c2f=_0x37ce43(_0x18d36f[_0x559768(0x208)]);if(!_0x567c2f)return;_0x5eec15?.[_0x559768(0x88)](_0x559768(0x91)+_0x559768(0xf4),{'requestId':_0x567c2f[_0x559768(0x1ad)+'d'],'runId':_0x567c2f[_0x559768(0x208)],'sessionKey':_0x567c2f['sessionK'+'ey'],'outcome':_0x341468,'durationMs':Date['now']()-_0x567c2f[_0x559768(0x197)+'t'],'textLength':_0x567c2f[_0x559768(0x16c)+'th'],..._0x1bd9fb?{'message':_0x1bd9fb}:{}}),_0x30e4ef({'requestId':_0x567c2f[_0x559768(0x1ad)+'d'],'sessionKey':_0x567c2f[_0x559768(0x162)+'ey'],'type':_0x341468,..._0x1bd9fb?{'message':_0x1bd9fb}:{}});}function _0x1a386b(_0x309178){const _0x2743d=_0x16c48e;let _0x348332=null;for(const _0x1ba4eb of _0x5181f6[_0x2743d(0xa0)]()){if(_0x1ba4eb[_0x2743d(0x162)+'ey']===_0x309178)_0x348332=_0x1ba4eb;}return _0x348332;}function _0x51cbfd(_0x296039){const _0x2ae692=_0x16c48e;if(!_0x296039)return null;for(const _0x91dadb of _0x5181f6[_0x2ae692(0xa0)]()){if(_0x91dadb['requestI'+'d']===_0x296039)return _0x91dadb;}return null;}function _0x429b44(_0x2176be,_0x5a8edc){const _0x910643=_0x16c48e;if(_0x5a8edc[_0x910643(0x10c)]<=_0x2176be[_0x910643(0x16c)+'th'])return;const _0x565086=_0x5a8edc[_0x910643(0x1bc)](_0x2176be[_0x910643(0x16c)+'th']);_0x2176be[_0x910643(0x16c)+'th']=_0x5a8edc[_0x910643(0x10c)],_0x565086&&_0x30e4ef({'requestId':_0x2176be[_0x910643(0x1ad)+'d'],'sessionKey':_0x2176be[_0x910643(0x162)+'ey'],'type':_0x910643(0x13e),'delta':_0x565086});}function _0x1a551e(_0xb8d23c,_0x4a8d52,_0x27d7dd=''){const _0x17e209=_0x16c48e;if(_0xb8d23c[_0x17e209(0x1fb)+'Fallback'+_0x17e209(0x1a8)])clearTimeout(_0xb8d23c[_0x17e209(0x1fb)+_0x17e209(0x123)+'Timer']);_0xb8d23c['terminal'+_0x17e209(0x123)+_0x17e209(0x1a8)]=setTimeout(()=>{const _0x544a22=_0x17e209,_0x459a54=_0x5181f6[_0x544a22(0xfc)](_0xb8d23c[_0x544a22(0x208)]);if(!_0x459a54)return;_0x3c12bf(_0x459a54,_0x4a8d52===_0x544a22(0x16d)?'error':_0x544a22(0x15c),_0x27d7dd);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x1e1e32(_0x3a68ff){const _0x548faf=_0x16c48e;for(const _0x29dfe1 of _0x5181f6[_0x548faf(0xa0)]()){_0x5eec15?.['warn']('chat\x20run'+'\x20failed\x20'+_0x548faf(0x177)+_0x548faf(0x161),{'requestId':_0x29dfe1[_0x548faf(0x1ad)+'d'],'runId':_0x29dfe1['runId'],'sessionKey':_0x29dfe1[_0x548faf(0x162)+'ey'],'durationMs':Date['now']()-_0x29dfe1[_0x548faf(0x197)+'t'],'reason':_0x3a68ff}),_0x30e4ef({'requestId':_0x29dfe1['requestI'+'d'],'sessionKey':_0x29dfe1[_0x548faf(0x162)+'ey'],'type':'error','message':_0x3a68ff});if(_0x29dfe1[_0x548faf(0x1fb)+_0x548faf(0x123)+_0x548faf(0x1a8)])clearTimeout(_0x29dfe1['terminal'+_0x548faf(0x123)+_0x548faf(0x1a8)]);}_0x5181f6[_0x548faf(0x154)](),_0x10f80b[_0x548faf(0x154)]();}function _0x8fe3e0(_0x123630){const _0x1b3cbe=_0x16c48e,_0x1d0092=getTrimmedString(_0x123630['runId']),_0x40842a=getTrimmedString(_0x123630[_0x1b3cbe(0x191)])||'updated',_0x3e2860=getTrimmedString(_0x123630['sessionK'+'ey']),_0x2bb6a1=(_0x1d0092?_0x5181f6[_0x1b3cbe(0xfc)](_0x1d0092):null)??(_0x3e2860?_0x1a386b(_0x3e2860):null);if(_0x1d0092&&_0x3e2860)_0x10f80b[_0x1b3cbe(0x1e0)](_0x3e2860,_0x1d0092);if(_0x3e2860)_0x160eff(_0x1b3cbe(0x125)+'updated',{'sessionKey':_0x3e2860,'state':_0x40842a});_0x5eec15?.['info'](_0x1b3cbe(0x192)+_0x1b3cbe(0xeb)+_0x1b3cbe(0x1ab)+_0x1b3cbe(0x149),{'runId':_0x1d0092,'sessionKey':_0x3e2860,'state':_0x40842a,'hasActiveRun':Boolean(_0x2bb6a1),'messageText':summarizeText(extractGatewayChatText(_0x123630[_0x1b3cbe(0x1f2)]),0x78),'errorMessage':getTrimmedString(_0x123630['errorMes'+_0x1b3cbe(0x14b)])});_0x2bb6a1&&(_0x40842a==='final'||_0x40842a===_0x1b3cbe(0xb4)||_0x40842a===_0x1b3cbe(0x16d))&&_0x1a551e(_0x2bb6a1,_0x40842a,typeof _0x123630[_0x1b3cbe(0x227)+'sage']==='string'?_0x123630[_0x1b3cbe(0x227)+_0x1b3cbe(0x14b)]:_0x1b3cbe(0x192)+_0x1b3cbe(0xbc)+_0x1b3cbe(0xab));if(!_0x2bb6a1)return;if(_0x3e2860&&_0x3e2860!==_0x2bb6a1[_0x1b3cbe(0x162)+'ey'])return;if(_0x40842a===_0x1b3cbe(0x13e)){_0x429b44(_0x2bb6a1,extractGatewayChatText(_0x123630[_0x1b3cbe(0x1f2)]));return;}if(_0x40842a===_0x1b3cbe(0xd0)||_0x40842a===_0x1b3cbe(0xb4)){_0x429b44(_0x2bb6a1,extractGatewayChatText(_0x123630[_0x1b3cbe(0x1f2)])),_0x3c12bf(_0x2bb6a1,'done');return;}_0x40842a===_0x1b3cbe(0x16d)&&_0x3c12bf(_0x2bb6a1,_0x1b3cbe(0x16d),typeof _0x123630['errorMes'+'sage']===_0x1b3cbe(0x195)?_0x123630[_0x1b3cbe(0x227)+'sage']:_0x1b3cbe(0x192)+'chat\x20fai'+_0x1b3cbe(0xab));}function _0x41b8f3(_0x1974d9){const _0x3b4421=_0x16c48e,_0x359545=asRecord(_0x1974d9);return getTrimmedString(_0x359545[_0x3b4421(0x162)+'ey'])||getTrimmedString(_0x359545[_0x3b4421(0x18f)])||getTrimmedString(_0x359545[_0x3b4421(0x11e)+'key']);}function _0x2d085c(_0x3c679e){const _0x567b42=_0x16c48e,_0x1d8666=asRecord(_0x3c679e),_0x20c081=_0x41b8f3(_0x1d8666),_0x1958fe=getTrimmedString(_0x1d8666[_0x567b42(0xb5)])||getTrimmedString(_0x1d8666[_0x567b42(0x191)])||getTrimmedString(_0x1d8666[_0x567b42(0x17b)])||_0x567b42(0x10a);_0x26e90b?.[_0x567b42(0x88)](_0x567b42(0x192)+'session\x20'+_0x567b42(0x1a7)+_0x567b42(0x1ea),{'event':'sessions'+_0x567b42(0x13a),'sessionKey':_0x20c081,'state':_0x1958fe,'channel':getTrimmedString(_0x1d8666[_0x567b42(0xc9)]),'agentId':getTrimmedString(_0x1d8666[_0x567b42(0xb6)]),'messageId':getTrimmedString(_0x1d8666[_0x567b42(0x121)+'d']),'runId':getTrimmedString(_0x1d8666[_0x567b42(0x208)])}),_0x160eff(_0x567b42(0x125)+_0x567b42(0x10a),{..._0x1d8666,'type':getTrimmedString(_0x1d8666[_0x567b42(0xc8)])||'changed','state':_0x1958fe,..._0x20c081?{'sessionKey':_0x20c081}:{}});}function _0x130201(_0x51415d){const _0x437da5=_0x16c48e,_0x278866=asRecord(_0x51415d),_0x1ccc5f=_0x41b8f3(_0x278866);_0x26e90b?.[_0x437da5(0x88)]('gateway\x20'+_0x437da5(0x179)+_0x437da5(0x12c)+_0x437da5(0x1a7)+_0x437da5(0x1ea),{'event':_0x437da5(0x8e)+'message','sessionKey':_0x1ccc5f,'channel':getTrimmedString(_0x278866[_0x437da5(0xc9)]),'agentId':getTrimmedString(_0x278866[_0x437da5(0xb6)]),'messageId':getTrimmedString(_0x278866[_0x437da5(0x121)+'d']),'messageSeq':_0x278866[_0x437da5(0xc0)+'eq']}),_0x160eff(_0x437da5(0x125)+_0x437da5(0x10a),{..._0x278866,'type':'message','state':_0x437da5(0x1f2),..._0x1ccc5f?{'sessionKey':_0x1ccc5f}:{}});}async function _0x4c76c5(){const _0x89ac0c=_0x16c48e;try{const _0x2ab2c5=await _0x49bbb8[_0x89ac0c(0x166)](_0x89ac0c(0x1a3)+_0x89ac0c(0xe1)+'be',{},{'timeoutMs':0x2710});_0x26e90b?.[_0x89ac0c(0x88)](_0x89ac0c(0x192)+'session\x20'+_0x89ac0c(0x213)+_0x89ac0c(0xd2)+'d',{'result':summarizePayload(_0x2ab2c5,{'maxDepth':0x2})});}catch(_0x44733a){_0x26e90b?.[_0x89ac0c(0x16b)](_0x89ac0c(0x192)+'session\x20'+_0x89ac0c(0x213)+_0x89ac0c(0xd2)+_0x89ac0c(0x181),{'error':summarizeError(_0x44733a)});}}async function _0x2a46bf(_0x7c2acb,_0x55ca1a){const _0x3d10f3=_0x16c48e;_0x49bbb8[_0x3d10f3(0x1e8)+'e']({'url':buildGatewayWsUrl(_0x55ca1a),'token':_0x7c2acb,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x135086[_0x3d10f3(0xb8)+_0x3d10f3(0x12f)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x2fa015[_0x3d10f3(0x1e2)+_0x3d10f3(0x167)+_0x3d10f3(0x157)+'h'](),'onChatEvent':_0x8fe3e0,'onAgentEvent':_0xc12117=>_0x160eff(_0x3d10f3(0x117)+_0x3d10f3(0x1ce),_0xc12117),'onSessionEvent':_0x2d085c,'onSessionMessageEvent':_0x130201,'onConnected':async()=>{const _0xcd92c6=_0x3d10f3;if(!_0x2d122f||!_0x37fbdf||!_0x52e4a4)return;const _0x3da143=++_0x53360c,_0x15359d=()=>_0x3da143===_0x53360c&&Boolean(_0x2d122f&&_0x37fbdf&&_0x52e4a4);_0x54dbfc?.[_0xcd92c6(0x88)](_0xcd92c6(0x192)+_0xcd92c6(0x202)+_0xcd92c6(0x1f5)+_0xcd92c6(0x116),{'port':_0x37fbdf,'pid':_0x2d122f[_0xcd92c6(0x1c1)],'readyMs':_0x4ea7ba?Date[_0xcd92c6(0x187)]()-_0x4ea7ba:undefined}),_0x246595(_0xcd92c6(0x9a),'gateway\x20'+_0xcd92c6(0x106)+'d',{'health':_0xcd92c6(0xa8),'port':_0x37fbdf,'tokenPresent':!![]}),await _0x4c76c5();try{await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x135086[_0xcd92c6(0x81)+'oot']))[_0xcd92c6(0x20f)+_0xcd92c6(0x1b8)],_0xcd92c6(0x1c9),'agents'),'stateDir':_0x2fa015[_0xcd92c6(0x143)+_0xcd92c6(0x1b1)](),'listAgents':_0x1c0cb7,'shouldContinue':_0x15359d,'createAgent':_0x5a9676=>{const _0xf9c918=_0xcd92c6;if(!_0x15359d())return{'skipped':!![]};return _0x49bbb8[_0xf9c918(0x166)](_0xf9c918(0x1cd)+_0xf9c918(0x164),_0x5a9676);},'updateAgent':_0x1b41f7=>{const _0x2afe79=_0xcd92c6;if(!_0x15359d())return{'skipped':!![]};return _0x49bbb8[_0x2afe79(0x166)](_0x2afe79(0x16f)+'pdate',_0x1b41f7);},'syncSkills':async({agentIds:_0x50af7d,mainWorkspace:_0x26c445})=>{const _0x7a65ee=_0xcd92c6;if(!_0x15359d())return;_0x256369?.[_0x7a65ee(0x88)](_0x7a65ee(0xe8)+_0x7a65ee(0xdc)+_0x7a65ee(0x19c)+_0x7a65ee(0x190)+'d',{'agentIds':_0x50af7d,'mainWorkspace':toHomePath(_0x26c445)});const _0x58eddc=dirname(_0x26c445),_0x15e227=await syncBundledAgentSkillsToConfig({'agentIds':_0x50af7d,'resolveSkillsDir':_0x33c8ec=>_0x33c8ec===_0x7a65ee(0x107)?join(_0x26c445,_0x7a65ee(0x1e1)):join(_0x58eddc,_0x7a65ee(0x150)+'e-'+_0x33c8ec,'skills'),'readConfig':()=>_0x2fa015[_0x7a65ee(0x165)+'ig'](),'writeConfig':_0x5e9f72=>_0x2fa015['writeCon'+_0x7a65ee(0x141)](_0x5e9f72),'markConfigWriteHandledInternally':()=>_0x2fa015[_0x7a65ee(0x144)+_0x7a65ee(0x114)+_0x7a65ee(0x8c)+_0x7a65ee(0x8f)]()});_0x301804=_0x15e227[_0x7a65ee(0xf8)+'y'],_0x256369?.[_0x7a65ee(0x88)](_0x7a65ee(0xe8)+'agent\x20sk'+'ills\x20syn'+_0x7a65ee(0xd4)+'ted',{'agentCount':_0x50af7d[_0x7a65ee(0x10c)],'changed':_0x15e227[_0x7a65ee(0x93)],'discovery':summarizePayload(_0x15e227[_0x7a65ee(0xf8)+'y'],{'maxDepth':0x3})});}}),_0x256369?.[_0xcd92c6(0x88)](_0xcd92c6(0xe8)+'agents\x20e'+_0xcd92c6(0x17c)),_0x160eff(_0xcd92c6(0x168)+_0xcd92c6(0x1d6),{'reason':_0xcd92c6(0x19b)+'agents-r'+_0xcd92c6(0xbe)});}catch(_0x4b73cc){const _0x5618c0=_0x4b73cc instanceof Error?_0x4b73cc[_0xcd92c6(0x9e)]||_0x4b73cc[_0xcd92c6(0x1f2)]:String(_0x4b73cc);_0x20e6cf(_0xcd92c6(0x136),'bundled\x20'+_0xcd92c6(0x1ca)+_0xcd92c6(0x8d)+_0xcd92c6(0x1ba)+_0x5618c0),_0x256369?.[_0xcd92c6(0x16d)]('bundled\x20'+'agents\x20s'+'ync\x20fail'+'ed',{'error':summarizeError(_0x4b73cc)}),console[_0xcd92c6(0x16d)](_0xcd92c6(0x99)+_0xcd92c6(0x216)+_0xcd92c6(0xf5)+_0xcd92c6(0xdb)+_0xcd92c6(0xbd)+_0xcd92c6(0x1fc),_0x4b73cc);}},'onDisconnected':_0x3587d1=>{const _0x279237=_0x3d10f3;_0x54dbfc?.[_0x279237(0x16b)](_0x279237(0x192)+_0x279237(0x202)+_0x279237(0xcf)+_0x279237(0x158),{'reason':_0x3587d1}),_0x1e1e32(_0x3587d1);if(_0x27f02e||!_0x2d122f)return;_0x2cf508({'health':_0x279237(0x209),'message':_0x279237(0x192)+'reconnec'+'ting:\x20'+_0x3587d1});}});}async function _0x31a2cf(_0x17f9fe,_0x7cfb30){const _0x5aa13a=_0x16c48e;if(_0x2d122f)return;_0x4ea7ba=Date[_0x5aa13a(0x187)](),_0x246595('starting','gateway\x20'+_0x5aa13a(0xed),{'health':_0x5aa13a(0x209),'port':_0x7cfb30,'tokenPresent':!![]});const _0x3c29b2=[_0x5aa13a(0x201),_0x5aa13a(0x156),_0x5aa13a(0x1e6)+_0x5aa13a(0x102)+_0x5aa13a(0x1e5),_0x5aa13a(0xb1),_0x17f9fe,_0x5aa13a(0x222),String(_0x7cfb30)];_0x20e6cf(_0x5aa13a(0x136),_0x5aa13a(0x1c9)+_0x5aa13a(0x184)+'\x20run\x20--a'+_0x5aa13a(0xa7)+'onfigure'+_0x5aa13a(0xd9)+'n\x20[REDAC'+'TED]\x20--p'+_0x5aa13a(0x11f)+_0x7cfb30),_0x54dbfc?.[_0x5aa13a(0x88)](_0x5aa13a(0x192)+_0x5aa13a(0x1ae)+_0x5aa13a(0x129)+'quested',{'args':[_0x5aa13a(0x201),_0x5aa13a(0x156),_0x5aa13a(0x1e6)+'unconfig'+_0x5aa13a(0x1e5),_0x5aa13a(0xb1),'[REDACTE'+'D]',_0x5aa13a(0x222),String(_0x7cfb30)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x2fa015['resolveS'+_0x5aa13a(0x1b1)]()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x2fa015['resolveC'+_0x5aa13a(0x200)+'h']())}}),_0x2d122f=await spawnClaw(_0x135086['projectR'+_0x5aa13a(0x1b8)],_0x3c29b2,{'env':{'OPENCLAW_STATE_DIR':_0x2fa015[_0x5aa13a(0x143)+_0x5aa13a(0x1b1)](),'OPENCLAW_CONFIG_PATH':_0x2fa015[_0x5aa13a(0x19a)+_0x5aa13a(0x200)+'h']()}}),_0x52e4a4=_0x17f9fe,_0x37fbdf=_0x7cfb30,_0x54dbfc?.['info'](_0x5aa13a(0x192)+_0x5aa13a(0x1ae)+_0x5aa13a(0xbf),{'pid':_0x2d122f[_0x5aa13a(0x1c1)],'port':_0x37fbdf}),_0x2cf508({'health':'unknown','port':_0x37fbdf,'tokenPresent':!![],'message':_0x5aa13a(0x192)+_0x5aa13a(0x1ae)+_0x5aa13a(0x210)+_0x5aa13a(0x1b3)+_0x5aa13a(0x12d)}),await _0x2a46bf(_0x17f9fe,_0x7cfb30);const _0x23769=createLineBuffer({'trim':!![],'onLine':_0x11755f=>_0x20e6cf('stdout',_0x11755f)}),_0x297925=createLineBuffer({'trim':!![],'onLine':_0x1776a3=>_0x20e6cf(_0x5aa13a(0x95),_0x1776a3)});_0x2d122f['stdout']['on'](_0x5aa13a(0x9b),_0x54cacb=>{_0x23769['push'](_0x54cacb['toString']());}),_0x2d122f['stderr']['on'](_0x5aa13a(0x9b),_0x52510f=>{_0x297925['push'](_0x52510f['toString']());}),_0x2d122f['on']('error',_0x2652f7=>{const _0x573cd5=_0x5aa13a;_0x54dbfc?.[_0x573cd5(0x16d)](_0x573cd5(0x192)+_0x573cd5(0x1ae)+_0x573cd5(0x16d),{'error':summarizeError(_0x2652f7)}),_0x20e6cf(_0x573cd5(0x95),_0x2652f7 instanceof Error?_0x2652f7['stack']||_0x2652f7[_0x573cd5(0x1f2)]:String(_0x2652f7));}),_0x2d122f['on'](_0x5aa13a(0x1f8),(_0x585a0b,_0x4b63a2)=>{const _0x1d4b9a=_0x5aa13a;_0x23769['flush'](),_0x297925[_0x1d4b9a(0x134)](),_0x54dbfc?.[_0x1d4b9a(0x16b)](_0x1d4b9a(0x192)+_0x1d4b9a(0x1ae)+'closed',{'pid':_0x2d122f?.[_0x1d4b9a(0x1c1)]??null,'code':_0x585a0b,'signal':_0x4b63a2,'uptimeMs':_0x4ea7ba?Date['now']()-_0x4ea7ba:undefined}),_0x20e6cf(_0x1d4b9a(0x136),_0x1d4b9a(0x192)+_0x1d4b9a(0x1e4)+'ode='+(_0x585a0b??_0x1d4b9a(0x86))+_0x1d4b9a(0x175)+(_0x4b63a2??_0x1d4b9a(0x86))),_0x2d122f=null,_0x52e4a4=null,_0x37fbdf=null,_0x49bbb8[_0x1d4b9a(0x1e8)+'e'](null),_0x1e1e32(_0x1d4b9a(0x192)+_0x1d4b9a(0x1ae)+'exited');if(_0x27f02e){_0x246595(_0x1d4b9a(0x147),_0x1d4b9a(0x192)+_0x1d4b9a(0x147),{'health':'unknown','port':null,'tokenPresent':![]});return;}_0x246595('error',_0x1d4b9a(0x192)+'exited\x20u'+_0x1d4b9a(0xd1)+_0x1d4b9a(0x1aa),{'health':_0x1d4b9a(0x113)+'y','port':null,'tokenPresent':![]});});}async function _0x4eebe0(){const _0x39a799=_0x16c48e;if(_0x2d122f)return;_0x27f02e=![],_0x54dbfc?.['info']('gateway\x20'+_0x39a799(0x172)+_0x39a799(0x1f6)+_0x39a799(0xde)+'ed'),await _0x2fa015[_0x39a799(0x20c)+_0x39a799(0x148)+_0x39a799(0x141)]();const _0x1a559f=await _0x2fa015[_0x39a799(0x182)+_0x39a799(0x1a4)+_0x39a799(0x225)+_0x39a799(0x1fe)]();_0x1a559f?await _0x5af031[_0x39a799(0x1a6)]()[_0x39a799(0x1ed)](_0x530a7c=>{const _0x50d4e2=_0x39a799;_0x20e6cf(_0x50d4e2(0x136),_0x50d4e2(0x1ec)+_0x50d4e2(0xdf)+_0x50d4e2(0x90)+'ck\x20disab'+'led:\x20'+(_0x530a7c instanceof Error?_0x530a7c[_0x50d4e2(0x1f2)]:String(_0x530a7c)));}):_0x54dbfc?.[_0x39a799(0x88)](_0x39a799(0x1ec)+_0x39a799(0xdf)+_0x39a799(0x90)+_0x39a799(0x1dd)+'ed;\x20plug'+_0x39a799(0xe0)+_0x39a799(0xab));await ensureOpenClawDoctorFixed(_0x135086,{'runtimeLogger':_0x54dbfc}),_0x2fa015['watchCon'+_0x39a799(0x146)+'es'](),_0x2fa015[_0x39a799(0x17a)+'ayRestar'+_0x39a799(0x127)](_0x322b26=>{void _0x14ec05(_0x322b26);});const _0x11502b=await _0x2fa015[_0x39a799(0x1da)+'tewaySet'+_0x39a799(0x84)]();_0x54dbfc?.['info'](_0x39a799(0x192)+'settings'+'\x20allocat'+'ed',{'port':_0x11502b['port'],'tokenPresent':Boolean(_0x11502b[_0x39a799(0x1c3)])}),await _0x31a2cf(_0x11502b[_0x39a799(0x1c3)],_0x11502b[_0x39a799(0x1b6)]);}async function _0x4f6f6d(){const _0x32f502=_0x16c48e;_0x27f02e=!![],_0x53360c+=0x1,_0x54dbfc?.[_0x32f502(0x88)](_0x32f502(0x192)+_0x32f502(0x172)+_0x32f502(0x223)+_0x32f502(0x189)+'d',{'pid':_0x2d122f?.['pid']??null,'port':_0x37fbdf}),_0x49bbb8[_0x32f502(0x1e8)+'e'](null);if(_0x2d122f){const _0x15928f=_0x2d122f;_0x2d122f=null;try{_0x15928f[_0x32f502(0xfe)]('SIGTERM');}catch{}await new Promise(_0x574a61=>setTimeout(_0x574a61,0x1f4));if(!_0x15928f[_0x32f502(0xa2)])try{_0x15928f[_0x32f502(0xfe)](_0x32f502(0x1b5));}catch{}}_0x52e4a4=null,_0x37fbdf=null,_0x1e1e32(_0x32f502(0x192)+_0x32f502(0x147)),await _0x5af031[_0x32f502(0xca)](),_0x2fa015[_0x32f502(0x1dc)](),_0x246595(_0x32f502(0x147),_0x32f502(0x192)+_0x32f502(0x147),{'health':_0x32f502(0x209),'port':null,'tokenPresent':![]}),_0x27f02e=![];}async function _0x14ec05(_0x2ab337=_0x16c48e(0x21f)+_0x16c48e(0x122)){const _0x51a223=_0x16c48e;if(_0x4f410a)return{'ok':!![]};return _0x4f410a=!![],_0x54dbfc?.[_0x51a223(0x88)]('gateway\x20'+_0x51a223(0x15b)+_0x51a223(0x189)+'d',{'reason':_0x2ab337}),_0x140ee1=_0x140ee1[_0x51a223(0x174)](async()=>{const _0x5edd4d=_0x51a223;_0x246595(_0x5edd4d(0xb2)+'ng','gateway\x20'+_0x5edd4d(0xb2)+'ng:\x20'+_0x2ab337,{'health':_0x5edd4d(0x209)}),await _0x4f6f6d(),await _0x4eebe0();})[_0x51a223(0x152)](()=>{_0x4f410a=![];}),await _0x140ee1,{'ok':!![]};}async function _0x6b88f1(){const _0x519d2f=_0x16c48e,_0xcb1b45=await loadRuntimeInfo(_0x135086[_0x519d2f(0x81)+_0x519d2f(0x1b8)]);return{'runtimeRoot':_0xcb1b45[_0x519d2f(0x20f)+_0x519d2f(0x1b8)],'openclawVersion':_0xcb1b45[_0x519d2f(0x1c9)+_0x519d2f(0x170)],'openclawWorkingDir':_0xcb1b45[_0x519d2f(0x1c9)+'WorkingD'+'ir'],'openclawBin':_0xcb1b45['openclaw'+_0x519d2f(0x1b7)],'plugins':_0xcb1b45[_0x519d2f(0x98)][_0x519d2f(0x188)](_0x19ea7c=>({'pluginId':_0x19ea7c[_0x519d2f(0x205)],'source':_0x19ea7c['source'],'version':_0x19ea7c['version'],'installPath':_0x19ea7c[_0x519d2f(0xf3)+_0x519d2f(0x1d1)]})),'configPath':_0x2fa015[_0x519d2f(0x19a)+'onfigPat'+'h'](),'stateDir':_0x2fa015[_0x519d2f(0x143)+_0x519d2f(0x1b1)](),'bundledAgentSkillsDiscovery':_0x301804};}async function _0x1c0cb7(){const _0x6500b9=_0x16c48e;_0x256369?.[_0x6500b9(0x88)](_0x6500b9(0x138)+'ist\x20requ'+'ested');const _0x367c08=asRecord(await _0x49bbb8['request'](_0x6500b9(0x217)+'ist',{})),_0x3086b5=getTrimmedString(_0x367c08[_0x6500b9(0x92)+'d'])||_0x6500b9(0x107),_0x415277=Array['isArray'](_0x367c08[_0x6500b9(0xa3)])?[..._0x367c08[_0x6500b9(0xa3)]]:[];return{..._0x367c08,'defaultId':_0x3086b5,'agents':_0x415277};}async function _0x5056cc(){const _0x1e6ba1=_0x16c48e;if(!_0x48a768())return{'defaultId':_0x1e6ba1(0x107),'mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x1e6ba1(0x107),'name':_0x135086[_0x1e6ba1(0xb8)+_0x1e6ba1(0x12f)],'workspace':join(_0x2fa015[_0x1e6ba1(0x143)+'tateDir'](),_0x1e6ba1(0x150)+'e')}]};const _0x4c3bd8=await _0x1c0cb7(),_0x331307=getTrimmedString(_0x4c3bd8['defaultI'+'d'])||_0x1e6ba1(0x107),_0x14e436=Array[_0x1e6ba1(0x160)](_0x4c3bd8[_0x1e6ba1(0xa3)])?[..._0x4c3bd8['agents']]:[];return!_0x14e436[_0x1e6ba1(0x1b4)](_0x433f18=>asRecord(_0x433f18)['id']==='main')&&_0x14e436[_0x1e6ba1(0x15a)]({'id':_0x1e6ba1(0x107),'name':_0x135086[_0x1e6ba1(0xb8)+_0x1e6ba1(0x12f)],'workspace':join(_0x2fa015['resolveS'+_0x1e6ba1(0x1b1)](),_0x1e6ba1(0x150)+'e')}),{..._0x4c3bd8,'defaultId':_0x331307,'agents':_0x14e436};}async function _0x4dc9b0(_0x13054c={}){const _0x1ffeeb=_0x16c48e;await _0x22eaed();const _0x39c99f=Date['now']();_0x26e90b?.[_0x1ffeeb(0x88)]('session\x20'+_0x1ffeeb(0x203)+_0x1ffeeb(0x173),{'payload':summarizePayload(_0x13054c)});const _0x38f25f=await _0x49bbb8[_0x1ffeeb(0x166)]('sessions'+'.create',buildSessionCreateRequestPayload(_0x13054c)),_0x557114=parseSessionCreateResult(_0x38f25f);return _0x26e90b?.['info'](_0x1ffeeb(0x179)+'create\x20c'+'ompleted',{'key':_0x557114[_0x1ffeeb(0x18f)],'sessionId':_0x557114['sessionI'+'d'],'durationMs':Date['now']()-_0x39c99f}),_0x557114;}async function _0x3440db(_0x586c6b={}){const _0x439700=_0x16c48e,_0x311eed=await readSessionMetadata(_0x2fa015['resolveS'+_0x439700(0x1b1)]());if(!_0x48a768())return{'pending':!![],'sessions':[],'pinnedKeys':_0x311eed['pinnedKe'+'ys']};const _0x3e0af7=Date['now'](),_0x9f6a7=Math[_0x439700(0x9d)](0x1,Math[_0x439700(0xe9)](Number(_0x586c6b[_0x439700(0x17e)])||0x64)),_0x36b314={'limit':_0x9f6a7,'includeGlobal':!![],'includeUnknown':![]},_0x4b68d0=getTrimmedString(_0x586c6b['agentId']);if(_0x4b68d0)_0x36b314[_0x439700(0xb6)]=_0x4b68d0;const _0x1b0c79=applySessionMetadata(await _0x49bbb8['request']('sessions'+_0x439700(0x16e),_0x36b314),_0x311eed);return _0x26e90b?.[_0x439700(0x88)](_0x439700(0x1a3)+_0x439700(0x103)+_0x439700(0x9f),{'payload':_0x36b314,'count':Array[_0x439700(0x160)](_0x1b0c79['sessions'])?_0x1b0c79[_0x439700(0x1a3)][_0x439700(0x10c)]:0x0,'durationMs':Date[_0x439700(0x187)]()-_0x3e0af7}),_0x1b0c79;}async function _0x2248b6(_0x3a6788={}){const _0x32fdfd=_0x16c48e;await _0x22eaed();const _0x4eab98=getTrimmedString(_0x3a6788[_0x32fdfd(0x162)+'ey']??_0x3a6788['key']);if(!_0x4eab98)throw new Error('sessionK'+_0x32fdfd(0x13c)+_0x32fdfd(0x132));const _0x207e78=Date[_0x32fdfd(0x187)](),_0x7d5aa4=await _0x49bbb8[_0x32fdfd(0x166)](_0x32fdfd(0x1a3)+_0x32fdfd(0xf0),{'key':_0x4eab98,'deleteTranscript':_0x3a6788[_0x32fdfd(0x118)+_0x32fdfd(0xac)]!==![],'emitLifecycleHooks':!![]}),_0x117965=await readSessionMetadata(_0x2fa015[_0x32fdfd(0x143)+_0x32fdfd(0x1b1)]());return delete _0x117965[_0x32fdfd(0x1f1)][_0x4eab98],_0x117965[_0x32fdfd(0x1de)+'ys']=_0x117965[_0x32fdfd(0x1de)+'ys']['filter'](_0x3a92d9=>_0x3a92d9!==_0x4eab98),await writeSessionMetadata(_0x2fa015[_0x32fdfd(0x143)+_0x32fdfd(0x1b1)](),_0x117965),_0x160eff(_0x32fdfd(0x125)+_0x32fdfd(0x10a),{'type':_0x32fdfd(0x219),'sessionKey':_0x4eab98}),_0x26e90b?.[_0x32fdfd(0x88)](_0x32fdfd(0x179)+'delete\x20c'+_0x32fdfd(0x83),{'sessionKey':_0x4eab98,'deleteTranscript':_0x3a6788[_0x32fdfd(0x118)+'anscript']!==![],'durationMs':Date[_0x32fdfd(0x187)]()-_0x207e78}),_0x7d5aa4;}async function _0x3d4ff6(_0x2ab254={}){const _0x197d0a=_0x16c48e,_0x2bf274=getTrimmedString(_0x2ab254[_0x197d0a(0x162)+'ey']??_0x2ab254[_0x197d0a(0x18f)]);if(!_0x2bf274)throw new Error(_0x197d0a(0x162)+_0x197d0a(0x13c)+'quired');const _0x4636bb=getTrimmedString(_0x2ab254[_0x197d0a(0x228)]??_0x2ab254[_0x197d0a(0x1e9)]??_0x2ab254[_0x197d0a(0x16a)]),_0x3a35bc=await readSessionMetadata(_0x2fa015[_0x197d0a(0x143)+_0x197d0a(0x1b1)]());if(_0x4636bb)_0x3a35bc[_0x197d0a(0x1f1)][_0x2bf274]=_0x4636bb;else delete _0x3a35bc[_0x197d0a(0x1f1)][_0x2bf274];return await writeSessionMetadata(_0x2fa015[_0x197d0a(0x143)+_0x197d0a(0x1b1)](),_0x3a35bc),_0x160eff(_0x197d0a(0x125)+_0x197d0a(0x10a),{'type':_0x197d0a(0x1cf),'sessionKey':_0x2bf274,'name':_0x4636bb}),_0x26e90b?.[_0x197d0a(0x88)]('session\x20'+_0x197d0a(0xef)+'ompleted',{'sessionKey':_0x2bf274,'hasName':Boolean(_0x4636bb),'name':_0x4636bb?summarizeText(_0x4636bb,0x50):undefined}),{'ok':!![]};}async function _0x55df7d(){const _0x3d7460=_0x16c48e,_0x1ecbb3=await readSessionMetadata(_0x2fa015['resolveS'+_0x3d7460(0x1b1)]());return _0x1ecbb3[_0x3d7460(0x1de)+'ys'];}async function _0x3b140e(_0x499364=[]){const _0x47b834=_0x16c48e,_0x49eb0c=await readSessionMetadata(_0x2fa015['resolveS'+_0x47b834(0x1b1)]());return _0x49eb0c[_0x47b834(0x1de)+'ys']=Array['isArray'](_0x499364)?[...new Set(_0x499364[_0x47b834(0x188)](getTrimmedString)[_0x47b834(0x17f)](Boolean))]:[],await writeSessionMetadata(_0x2fa015[_0x47b834(0x143)+_0x47b834(0x1b1)](),_0x49eb0c),_0x160eff(_0x47b834(0x125)+_0x47b834(0x10a),{'type':_0x47b834(0x110)+_0x47b834(0x13d)+_0x47b834(0x116),'pinnedKeys':_0x49eb0c[_0x47b834(0x1de)+'ys']}),_0x26e90b?.[_0x47b834(0x88)]('session\x20'+'pinned\x20k'+'eys\x20upda'+_0x47b834(0x116),{'count':_0x49eb0c[_0x47b834(0x1de)+'ys']['length']}),{'ok':!![],'pinnedKeys':_0x49eb0c[_0x47b834(0x1de)+'ys']};}async function _0x1e6e00(){const _0x4d8b73=_0x16c48e,_0x46dc0c=join(_0x2fa015['resolveS'+_0x4d8b73(0x1b1)](),_0x4d8b73(0x150)+'e');return{'path':_0x46dc0c,'exists':Boolean(await stat(_0x46dc0c)[_0x4d8b73(0x1ed)](()=>null))};}async function _0x2090aa(){const _0x5dddef=_0x16c48e;return readSharedContext(join(_0x2fa015[_0x5dddef(0x143)+'tateDir'](),_0x5dddef(0x150)+'e'));}async function _0x4d13d6(_0x534ef8={}){const _0xebc7d0=_0x16c48e;return _0x256369?.[_0xebc7d0(0x88)](_0xebc7d0(0x150)+'e\x20shared'+_0xebc7d0(0x1c5)+'\x20write\x20r'+_0xebc7d0(0x173),{'files':Object[_0xebc7d0(0x13f)](sanitizeSharedContextPayload(_0x534ef8))}),writeSharedContext(join(_0x2fa015[_0xebc7d0(0x143)+_0xebc7d0(0x1b1)](),_0xebc7d0(0x150)+'e'),_0x534ef8);}async function _0x3aa954(_0x94f538={}){const _0x391921=_0x16c48e;if(!_0x48a768())return{'pending':!![],'jobs':[],'hasMore':![],'nextOffset':0x0};return await _0x49bbb8[_0x391921(0x166)](_0x391921(0xa1)+'t',_0x94f538);}async function _0x13a84c(_0x2cfb0a={}){const _0x1fc8e7=_0x16c48e;return await _0x22eaed(),await _0x49bbb8['request'](_0x1fc8e7(0x1b9),normalizeCronMutationParams(_0x2cfb0a));}async function _0x113f18(_0x4fe84b={}){const _0x575493=_0x16c48e;await _0x22eaed();const _0x9750f6=getTrimmedString(_0x4fe84b[_0x575493(0x89)]??_0x4fe84b['id']);if(!_0x9750f6)throw new Error(_0x575493(0xd5)+_0x575493(0x1d8)+'d');const _0x2df16a=asRecord(_0x4fe84b[_0x575493(0x128)]),_0xd5d67a=Object[_0x575493(0x13f)](_0x2df16a)['length']>0x0?_0x2df16a:{..._0x4fe84b};return delete _0xd5d67a[_0x575493(0x89)],delete _0xd5d67a['id'],await _0x49bbb8[_0x575493(0x166)](_0x575493(0xf7)+_0x575493(0x13b),{'jobId':_0x9750f6,'patch':normalizeCronMutationParams(_0xd5d67a)});}async function _0x5192a4(_0x78a27e={}){const _0x17762d=_0x16c48e;await _0x22eaed();const _0x496974=getTrimmedString(_0x78a27e[_0x17762d(0x89)]??_0x78a27e['id']);if(!_0x496974)throw new Error(_0x17762d(0xd5)+_0x17762d(0x1d8)+'d');return await _0x49bbb8[_0x17762d(0x166)](_0x17762d(0xbb)+_0x17762d(0x1d3),{'jobId':_0x496974});}async function _0x56d59e(_0xfb6be9={}){const _0x3c9bfd=_0x16c48e;await _0x22eaed();const _0x17bba3=getTrimmedString(_0xfb6be9['jobId']??_0xfb6be9['id']);if(!_0x17bba3)throw new Error('jobId\x20is'+_0x3c9bfd(0x1d8)+'d');return await _0x49bbb8['request'](_0x3c9bfd(0x145),{'jobId':_0x17bba3});}async function _0x96d989(_0x570c38={}){const _0x1cedaa=_0x16c48e;return await _0x22eaed(),await _0x49bbb8[_0x1cedaa(0x166)](_0x1cedaa(0x145)+'s',_0x570c38);}async function _0x96d5d1(_0x3d3952={}){const _0x4445ba=_0x16c48e;await _0x22eaed();const _0x501793=Date[_0x4445ba(0x187)]();_0x256369?.[_0x4445ba(0x88)](_0x4445ba(0x1bf)+_0x4445ba(0x1f9)+_0x4445ba(0xb7),{'payload':summarizePayload(_0x3d3952)});try{const _0x5d172f=await _0x49bbb8[_0x4445ba(0x166)](_0x4445ba(0xea)+_0x4445ba(0x9c),_0x3d3952);return _0x256369?.[_0x4445ba(0x88)](_0x4445ba(0x1bf)+_0x4445ba(0x21c)+'mpleted',{'durationMs':Date[_0x4445ba(0x187)]()-_0x501793,'result':summarizePayload(_0x5d172f,{'maxDepth':0x2})}),_0x5d172f;}catch(_0x2b2ade){_0x256369?.[_0x4445ba(0x16d)](_0x4445ba(0x1bf)+_0x4445ba(0x111)+_0x4445ba(0x20e),{'durationMs':Date[_0x4445ba(0x187)]()-_0x501793,'error':summarizeError(_0x2b2ade)});const _0x5a4d74=_0x2b2ade instanceof Error?_0x2b2ade[_0x4445ba(0x1f2)]:String(_0x2b2ade);throw new Error(_0x4445ba(0xce)+_0x5a4d74);}}async function _0x8a1511(_0x3ff9b0={}){const _0x237127=_0x16c48e;_0x256369?.[_0x237127(0x88)](_0x237127(0x18e)+_0x237127(0x87)+_0x237127(0xe2),{'payload':summarizePayload(_0x3ff9b0)});throw new Error(_0x237127(0x206)+_0x237127(0xf6)+'\x20handled'+_0x237127(0x1d9)+_0x237127(0x1b0)+'not\x20Open'+_0x237127(0x211)+_0x237127(0x14c));}async function _0x163b5a(_0x423067={}){const _0x34eb39=_0x16c48e;_0x256369?.[_0x34eb39(0x88)](_0x34eb39(0x112)+'lete\x20req'+_0x34eb39(0xe2),{'payload':summarizePayload(_0x423067)});throw new Error(_0x34eb39(0xcb)+_0x34eb39(0x218)+_0x34eb39(0x19f)+_0x34eb39(0x1d9)+_0x34eb39(0x1b0)+'not\x20Open'+_0x34eb39(0x211)+'eway');}async function _0x3e320f(_0x32012c={}){const _0x475b80=_0x16c48e;await _0x22eaed();const _0x5e1616=getTrimmedString(_0x32012c[_0x475b80(0x162)+'ey']),_0x1951ec=getTrimmedString(_0x32012c[_0x475b80(0x1f2)]),_0x23a954=getTrimmedString(_0x32012c[_0x475b80(0x1ad)+'d'])||randomUUID();if(!_0x5e1616)throw new Error(_0x475b80(0x162)+_0x475b80(0x13c)+_0x475b80(0x132));if(!_0x1951ec)throw new Error(_0x475b80(0x12c)+_0x475b80(0xd7)+_0x475b80(0x176));const _0x4ca819=Date['now']();_0x5eec15?.[_0x475b80(0x88)]('chat\x20str'+'eam\x20requ'+_0x475b80(0x126),{'requestId':_0x23a954,'sessionKey':_0x5e1616,'message':summarizeText(_0x1951ec),'filePaths':summarizeFilePaths(_0x32012c[_0x475b80(0x21d)+'s'])}),_0x30e4ef({'requestId':_0x23a954,'sessionKey':_0x5e1616,'type':_0x475b80(0xbf)}),_0x5181f6[_0x475b80(0x1e0)](_0x23a954,{'runId':_0x23a954,'requestId':_0x23a954,'sessionKey':_0x5e1616,'textLength':0x0,'startedAt':_0x4ca819}),_0x10f80b[_0x475b80(0x1e0)](_0x5e1616,_0x23a954);try{const _0x25398e=await buildAttachments(Array[_0x475b80(0x160)](_0x32012c[_0x475b80(0x21d)+'s'])?_0x32012c[_0x475b80(0x21d)+'s']:[]);_0x5eec15?.[_0x475b80(0x88)](_0x475b80(0x1c0)+_0x475b80(0x1a1)+_0x475b80(0xd6)+'d',{'requestId':_0x23a954,'sessionKey':_0x5e1616,'attachmentCount':_0x25398e[_0x475b80(0x10c)],'attachments':_0x25398e[_0x475b80(0x188)](_0x51bc79=>({'type':_0x51bc79[_0x475b80(0xc8)],'mimeType':_0x51bc79[_0x475b80(0x180)],'fileName':_0x51bc79['fileName'],'contentLength':_0x51bc79['content'][_0x475b80(0x10c)]}))});const _0xd38004=asRecord(await _0x49bbb8[_0x475b80(0x166)](_0x475b80(0x130)+'d',{'sessionKey':_0x5e1616,'message':_0x1951ec,'deliver':![],'idempotencyKey':_0x23a954,..._0x25398e['length']>0x0?{'attachments':_0x25398e}:{}})),_0x2a9e13=getTrimmedString(_0xd38004[_0x475b80(0x208)])||_0x23a954,_0x2d984d=_0x5181f6[_0x475b80(0xfc)](_0x23a954);if(!_0x2d984d)return{'ok':!![],'requestId':_0x23a954,'runId':_0x2a9e13};return _0x2a9e13!==_0x2d984d[_0x475b80(0x208)]&&(_0x5181f6[_0x475b80(0x18c)](_0x2d984d[_0x475b80(0x208)]),_0x2d984d[_0x475b80(0x208)]=_0x2a9e13,_0x5181f6['set'](_0x2a9e13,_0x2d984d)),_0x10f80b[_0x475b80(0x1e0)](_0x5e1616,_0x2a9e13),_0x5eec15?.['info']('chat\x20str'+_0x475b80(0xcd)+_0x475b80(0x19e)+_0x475b80(0x201),{'requestId':_0x23a954,'runId':_0x2a9e13,'sessionKey':_0x5e1616,'durationMs':Date['now']()-_0x4ca819,'status':_0xd38004[_0x475b80(0x171)]}),_0xd38004['status']==='error'&&_0x3c12bf(_0x2d984d,_0x475b80(0x16d),getTrimmedString(_0xd38004['errorMes'+'sage'])||_0x475b80(0x192)+'chat\x20fai'+'led'),{'ok':!![],'requestId':_0x23a954,'runId':_0x2a9e13,'response':_0xd38004};}catch(_0x25d8f0){const _0x3a1db3=_0x51cbfd(_0x23a954),_0x164983=_0x25d8f0 instanceof Error?_0x25d8f0[_0x475b80(0x1f2)]:String(_0x25d8f0);_0x5eec15?.[_0x475b80(0x16d)]('chat\x20str'+_0x475b80(0xaa)+'ed',{'requestId':_0x23a954,'sessionKey':_0x5e1616,'durationMs':Date[_0x475b80(0x187)]()-_0x4ca819,'error':summarizeError(_0x25d8f0)});if(_0x3a1db3)_0x3c12bf(_0x3a1db3,_0x475b80(0x16d),_0x164983);else _0x30e4ef({'requestId':_0x23a954,'sessionKey':_0x5e1616,'type':_0x475b80(0x16d),'message':_0x164983});throw _0x25d8f0;}}async function _0x333a50(_0xe9541b={}){const _0x19ab56=_0x16c48e;_0x537db6();const _0x5cc281=getTrimmedString(_0xe9541b[_0x19ab56(0x162)+'ey']);if(!_0x5cc281)throw new Error('sessionK'+_0x19ab56(0x13c)+'quired');const _0x5d9b0a=Date[_0x19ab56(0x187)](),_0x361cfc=_0x51cbfd(getTrimmedString(_0xe9541b[_0x19ab56(0x1ad)+'d']))??_0x1a386b(_0x5cc281),_0x208247=_0x10f80b[_0x19ab56(0xfc)](_0x5cc281),_0x49e28b={'sessionKey':_0x5cc281};if(_0x361cfc?.[_0x19ab56(0x208)])_0x49e28b[_0x19ab56(0x208)]=_0x361cfc['runId'];else{if(_0x208247)_0x49e28b[_0x19ab56(0x208)]=_0x208247;}const _0x2e852f=await _0x49bbb8[_0x19ab56(0x166)]('chat.abo'+'rt',_0x49e28b);if(_0x361cfc)_0x3c12bf(_0x361cfc,_0x19ab56(0x15c));return _0x5eec15?.['info'](_0x19ab56(0x85)+_0x19ab56(0x101)+_0x19ab56(0x193),{'sessionKey':_0x5cc281,'requestId':getTrimmedString(_0xe9541b[_0x19ab56(0x1ad)+'d']),'runId':_0x49e28b[_0x19ab56(0x208)],'durationMs':Date[_0x19ab56(0x187)]()-_0x5d9b0a}),_0x2e852f;}async function _0x11ded7(_0x3f87a5={}){const _0x5ef6c3=_0x16c48e,_0x4c8cb8=getTrimmedString(_0x3f87a5['sessionK'+'ey']);if(!_0x4c8cb8)throw new Error(_0x5ef6c3(0x162)+_0x5ef6c3(0x13c)+_0x5ef6c3(0x132));if(!_0x48a768())return[];const _0x688f59=await _0x49bbb8[_0x5ef6c3(0x166)](_0x5ef6c3(0xf9)+_0x5ef6c3(0x198),{'sessionKey':_0x4c8cb8,'limit':Math[_0x5ef6c3(0x9d)](0x1,Math[_0x5ef6c3(0xe9)](Number(_0x3f87a5[_0x5ef6c3(0x17e)])||0xc8))});return _0x5eec15?.[_0x5ef6c3(0x88)](_0x5ef6c3(0x155)+_0x5ef6c3(0x104)+_0x5ef6c3(0x10f),{'sessionKey':_0x4c8cb8,'limit':Math[_0x5ef6c3(0x9d)](0x1,Math[_0x5ef6c3(0xe9)](Number(_0x3f87a5[_0x5ef6c3(0x17e)])||0xc8)),'result':summarizePayload(_0x688f59,{'maxDepth':0x2})}),_0x688f59;}async function _0x173e1e(_0x42bb8a=''){const _0x1841c3=_0x16c48e;if(!_0x48a768())return{'pending':!![],'skills':[]};const _0x5e4ceb=getTrimmedString(_0x42bb8a),_0xc6aa27=await _0x49bbb8[_0x1841c3(0x166)](_0x1841c3(0x1a9)+_0x1841c3(0xee),_0x5e4ceb?{'agentId':_0x5e4ceb}:{}),[_0x528bee,_0x207973]=await Promise[_0x1841c3(0x1ef)]([_0x2fa015[_0x1841c3(0x165)+'ig']()['catch'](()=>({})),readSkillMarketRegistry(_0x2fa015['resolveS'+_0x1841c3(0x1b1)]())['catch'](()=>({}))]),_0x41081e=mapMarketRegisteredSkills(_0xc6aa27,_0x207973),_0x495740=filterSkillsForAgent(_0x41081e,_0x528bee,_0x5e4ceb);return _0x256369?.[_0x1841c3(0x88)]('skills\x20s'+_0x1841c3(0xe4)+_0x1841c3(0x169),{'agentId':_0x5e4ceb||_0x1841c3(0x1d5),'result':summarizePayload(_0x495740,{'maxDepth':0x2})}),_0x495740;}return{'on':_0x2a7e00,'start':_0x4eebe0,'stop':_0x4f6f6d,'restart':_0x14ec05,'runtimeInfo':_0x6b88f1,'gatewayToken':()=>_0x52e4a4||'','gatewayPort':()=>_0x37fbdf||0x0,'getStatus':()=>_0x5d0417,'getRecentLogs':_0x490a11,'answerAskUserQuestion':_0x536a5e=>_0x5af031['answer'](_0x536a5e),'agents':{'list':_0x5056cc},'skills':{'status':_0x173e1e,'install':_0x96d5d1,'update':_0x8a1511,'delete':_0x163b5a},'sessions':{'create':_0x4dc9b0,'list':_0x3440db,'delete':_0x2248b6,'rename':_0x3d4ff6,'pinnedKeys':_0x55df7d,'setPinnedKeys':_0x3b140e},'workspace':{'directoryInfo':_0x1e6e00,'sharedContext':_0x2090aa,'writeSharedContext':_0x4d13d6},'cron':{'list':_0x3aa954,'create':_0x13a84c,'update':_0x113f18,'remove':_0x5192a4,'runOnce':_0x56d59e,'logs':_0x96d989},'models':{'settings':()=>_0x2fa015[_0x16c48e(0xc4)+_0x16c48e(0x214)](),'setSettings':async(_0x1ae552={})=>{const _0x2af3eb=_0x16c48e,_0x52c190=_0x1ae552?.[_0x2af3eb(0xf1)+_0x2af3eb(0x199)]!==![];return await _0x2fa015[_0x2af3eb(0xc7)+'Settings'](_0x1ae552,{'restartOnChange':_0x52c190}),_0x2fa015[_0x2af3eb(0xc4)+_0x2af3eb(0x214)]();},'setSelfOperatedModels':_0x47d65d=>_0x2fa015['setSelfO'+_0x16c48e(0xe5)+'odels'](_0x47d65d),'selectedModelId':async()=>{const _0xcaa390=_0x16c48e,_0x24b7ab=await _0x2fa015[_0xcaa390(0xc4)+_0xcaa390(0x214)]();return _0x24b7ab['provider']&&_0x24b7ab['modelNam'+'e']?_0x24b7ab[_0xcaa390(0xb0)]+'/'+_0x24b7ab[_0xcaa390(0xd3)+'e']:'';},'customModels':async()=>{const _0x1066be=_0x16c48e,_0x2245d8=await _0x2fa015[_0x1066be(0x165)+'igRaw'](),_0x6c39b1=asRecord(_0x2245d8[_0x1066be(0x105)]);return Array[_0x1066be(0x160)](_0x6c39b1[_0x1066be(0x11c)+'dels'])?_0x6c39b1[_0x1066be(0x11c)+_0x1066be(0xb3)]:[];}},'config':{'read':()=>_0x2fa015[_0x16c48e(0x165)+_0x16c48e(0x15f)]()},'chat':{'stream':_0x3e320f,'abort':_0x333a50,'history':_0x11ded7}};}
@@ -1 +0,0 @@
1
- const _0x50aee5=_0x15a5;(function(_0x36a6b5,_0x505b93){const _0x4bb032=_0x15a5,_0x35e28b=_0x36a6b5();while(!![]){try{const _0x2a5706=parseInt(_0x4bb032(0x221))/0x1*(parseInt(_0x4bb032(0x211))/0x2)+parseInt(_0x4bb032(0x1ae))/0x3*(-parseInt(_0x4bb032(0x1e3))/0x4)+parseInt(_0x4bb032(0x182))/0x5*(parseInt(_0x4bb032(0x1f5))/0x6)+parseInt(_0x4bb032(0x1d2))/0x7+-parseInt(_0x4bb032(0x18a))/0x8+-parseInt(_0x4bb032(0x1b7))/0x9*(parseInt(_0x4bb032(0x1bb))/0xa)+parseInt(_0x4bb032(0x1e8))/0xb*(-parseInt(_0x4bb032(0x205))/0xc);if(_0x2a5706===_0x505b93)break;else _0x35e28b['push'](_0x35e28b['shift']());}catch(_0x45d65e){_0x35e28b['push'](_0x35e28b['shift']());}}}(_0x3174,0x99aca));function _0x3174(){const _0x2bb1ec=['4sBqAfJ','request\x20','sconnect','WS\x20is\x20no','update','803qfnvEk','Format','now','handleMe','nected','unavaila','ed\x20out','export','accepted','open','ers','.changed','o\x20load\x20g','6XqphsE','code=','nectChal','ction\x20ti','初始化\x20gate','trim','Options','pending','string','replaceA','dentity','device\x20i','operator','chat','o\x20send\x20g','connectN','31884joMNnq','equest','e\x20timeou','join','.read','queueCon','nEvent','fromChar','terminat','way\x20设备身份','ured','timeout','162GKZMgG','splayNam','mily','parse','t:\x20','g\x20nonce','platform','skipRead','req','stringif','signedAt','adyWaite','payload','onSessio','302a3005','ell/','9999UFwzVe','is\x20not\x20l','resolveR','ct\x20faile','readySta','hallenge','stop','wujie-sh','ect','deviceFa','toString','clientVe','connect.','lReady','connectS','length','rsion','lListene','error','removeAl','config','rejectRe','onChatEv','get','failed\x20t','filter','clientMo','onAgentE','eyPem','yPem','isArray','resolve','connect\x20','nal','url','dentity\x20','ent','once','Path','der','tTimer','.approva','restart','reject','4157075RjMWAF','timed\x20ou','subarray','agent','med\x20out','Code','privateK','ateway\x20r','5432720sKiWEB','min','nding','request','WS\x20clien','from','identity','gateway\x20','spki','status','pem','ed25519','delete','entity','rejectPe','lengeTim','test','res','close','WS\x20hands','publicKe','failed','clientDi','utf8','digest','.write','entries','method','nonce','tBackoff','handleDi','token','t\x20connec','eout','clientId','t\x20config','243387cTWgRo','t\x20restar','ting','onConnec','connectC','role','nnected','WS\x20conne','readyWai','225SLXRUx','Event','configur','reconnec','80690iVaHrx','resolved','expectFi','WS\x20disco','ateway\x20i','eadyWait','hake\x20tim','object','vent','replace','06032b65','sendConn','type','connect','WS\x20error','Timer','sing\x20non','hex','event','challeng','ters','set','70032100','1008147BNDxht','DateTime','ted','message','failed:\x20','OPEN','t\x20stoppe','waitUnti','ssage','viceFami','clearTim','e\x20missin','yCheck','isBuffer','shouldRe','connecte','deviceId'];_0x3174=function(){return _0x2bb1ec;};return _0x3174();}import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';function _0x15a5(_0x1d47fa,_0x2d005e){_0x1d47fa=_0x1d47fa-0x180;const _0x3174e9=_0x3174();let _0x15a5c7=_0x3174e9[_0x1d47fa];return _0x15a5c7;}import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x4d7afa from'ws';const ED25519_SPKI_PREFIX=Buffer['from'](_0x50aee5(0x21f)+_0x50aee5(0x1c5)+_0x50aee5(0x1d1),_0x50aee5(0x1cc)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g;function isRecord(_0x4228e9){const _0x38375e=_0x50aee5;return Boolean(_0x4228e9)&&typeof _0x4228e9===_0x38375e(0x1c2)&&!Array[_0x38375e(0x23f)](_0x4228e9);}function formatUnknownError(_0x48a0e2){if(_0x48a0e2 instanceof Error)return _0x48a0e2['message'];return String(_0x48a0e2??'');}function isLocalGatewayConnRefused(_0xe7be8b){const _0x408deb=_0x50aee5,_0xcbca53=formatUnknownError(_0xe7be8b);return/\bECONNREFUSED\b/i['test'](_0xcbca53)&&/127\.0\.0\.1:\d+/[_0x408deb(0x19a)](_0xcbca53);}function base64UrlEncode(_0x1e685c){const _0xa77c1d=_0x50aee5;return _0x1e685c[_0xa77c1d(0x22b)]('base64')['replaceA'+'ll']('+','-')[_0xa77c1d(0x1fe)+'ll']('/','_')[_0xa77c1d(0x1c4)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x151eab){const _0x7d3344=_0x50aee5,_0x4c6381=createPublicKey(_0x151eab)['export']({'type':_0x7d3344(0x192),'format':_0x7d3344(0x248)}),_0x5e9d33=Buffer[_0x7d3344(0x1df)](_0x4c6381)?_0x4c6381:Buffer[_0x7d3344(0x18f)](_0x4c6381),_0x1e300d=_0x5e9d33[_0x7d3344(0x230)]===ED25519_SPKI_PREFIX[_0x7d3344(0x230)]+0x20&&_0x5e9d33['subarray'](0x0,ED25519_SPKI_PREFIX[_0x7d3344(0x230)])['equals'](ED25519_SPKI_PREFIX);return _0x1e300d?_0x5e9d33[_0x7d3344(0x184)](ED25519_SPKI_PREFIX['length']):_0x5e9d33;}function fingerprintPublicKey(_0x21f91e){const _0x2c453d=_0x50aee5;return createHash('sha256')[_0x2c453d(0x1e7)](derivePublicKeyRaw(_0x21f91e))[_0x2c453d(0x1a2)](_0x2c453d(0x1cc));}function publicKeyRawBase64UrlFromPem(_0x32afc5){return base64UrlEncode(derivePublicKeyRaw(_0x32afc5));}function signDevicePayload(_0x37b7e6,_0x5d4bf2){const _0x18e9f7=_0x50aee5,_0x256862=createPrivateKey(_0x37b7e6);return base64UrlEncode(sign(null,Buffer[_0x18e9f7(0x18f)](_0x5d4bf2,'utf8'),_0x256862));}function normalizeDeviceMetadataForAuth(_0x6a792c){const _0x257a1b=_0x50aee5,_0x3f1db6=typeof _0x6a792c===_0x257a1b(0x1fd)?_0x6a792c[_0x257a1b(0x1fa)]():'';if(!_0x3f1db6)return'';return _0x3f1db6[_0x257a1b(0x1c4)](UPPERCASE_ASCII_REGEX,_0x308a6a=>String[_0x257a1b(0x20c)+_0x257a1b(0x187)](_0x308a6a['charCode'+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x1ae694){const _0x202afc=_0x50aee5;return['v3',_0x1ae694[_0x202afc(0x1e2)],_0x1ae694[_0x202afc(0x1ac)],_0x1ae694[_0x202afc(0x23b)+'de'],_0x1ae694[_0x202afc(0x1b3)],_0x1ae694['scopes'][_0x202afc(0x208)](','),String(_0x1ae694[_0x202afc(0x21b)+'Ms']),_0x1ae694['token']??'',_0x1ae694[_0x202afc(0x1a6)],normalizeDeviceMetadataForAuth(_0x1ae694[_0x202afc(0x217)]),normalizeDeviceMetadataForAuth(_0x1ae694[_0x202afc(0x22a)+_0x202afc(0x213)])][_0x202afc(0x208)]('|');}function writeIdentityFile(_0x519dde,_0x54b69c,_0xf8c537){const _0x2ab542=_0x50aee5;mkdirSync(dirname(_0x519dde),{'recursive':!![]}),writeFileSync(_0x519dde,JSON[_0x2ab542(0x21a)+'y']({'version':0x1,..._0x54b69c,'createdAtMs':_0xf8c537},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x519dde,0x180);}catch{}}function generateDeviceIdentity(){const _0x17267d=_0x50aee5,{publicKey:_0x487b8b,privateKey:_0x10fd0d}=generateKeyPairSync(_0x17267d(0x195)),_0x578b1a=_0x487b8b['export']({'type':'spki','format':_0x17267d(0x194)})[_0x17267d(0x22b)](),_0x38fe48=_0x10fd0d[_0x17267d(0x1ef)]({'type':'pkcs8','format':_0x17267d(0x194)})[_0x17267d(0x22b)]();return{'deviceId':fingerprintPublicKey(_0x578b1a),'publicKeyPem':_0x578b1a,'privateKeyPem':_0x38fe48};}function loadOrCreateDeviceIdentity(_0x1eaca7){const _0x2bb867=_0x50aee5;if(existsSync(_0x1eaca7))try{const _0x4e7bb7=JSON[_0x2bb867(0x214)](readFileSync(_0x1eaca7,_0x2bb867(0x1a1))),_0x597932=typeof _0x4e7bb7?.['publicKe'+_0x2bb867(0x23e)]===_0x2bb867(0x1fd)?_0x4e7bb7['publicKe'+'yPem']:'',_0x135cda=typeof _0x4e7bb7?.['privateK'+_0x2bb867(0x23d)]===_0x2bb867(0x1fd)?_0x4e7bb7[_0x2bb867(0x188)+_0x2bb867(0x23d)]:'';if(_0x597932&&_0x135cda){const _0x576e75={'deviceId':fingerprintPublicKey(_0x597932),'publicKeyPem':_0x597932,'privateKeyPem':_0x135cda};return _0x4e7bb7?.[_0x2bb867(0x1e2)]!==_0x576e75[_0x2bb867(0x1e2)]&&writeIdentityFile(_0x1eaca7,_0x576e75,Date[_0x2bb867(0x1ea)]()),_0x576e75;}}catch{}const _0x5ef7b1=generateDeviceIdentity();return writeIdentityFile(_0x1eaca7,_0x5ef7b1,Date[_0x2bb867(0x1ea)]()),_0x5ef7b1;}export class ClawGatewayWsClient{['ws']=null;['config']=null;[_0x50aee5(0x1fc)]=new Map();[_0x50aee5(0x1b6)+_0x50aee5(0x1cf)]=[];['shouldRe'+_0x50aee5(0x1c8)]=![];[_0x50aee5(0x1ba)+'tTimer']=null;[_0x50aee5(0x1b2)+'hallenge'+_0x50aee5(0x1ca)]=null;[_0x50aee5(0x204)+'once']=null;[_0x50aee5(0x22f)+_0x50aee5(0x245)]=![];['connecte'+'d']=![];[_0x50aee5(0x1ba)+'tBackoff'+'Ms']=0x320;[_0x50aee5(0x1e2)+_0x50aee5(0x197)]=null;[_0x50aee5(0x1b9)+'e'](_0x46bda4){const _0x1eff6c=_0x50aee5;if(!_0x46bda4){this[_0x1eff6c(0x227)]();return;}const _0x27751d=this[_0x1eff6c(0x235)];this[_0x1eff6c(0x235)]=_0x46bda4,this[_0x1eff6c(0x1e0)+'connect']=!![];try{this[_0x1eff6c(0x1e2)+'entity']=loadOrCreateDeviceIdentity(_0x46bda4[_0x1eff6c(0x190)+_0x1eff6c(0x247)]);}catch(_0x3bd5e8){const _0x475f42=_0x3bd5e8 instanceof Error?_0x3bd5e8[_0x1eff6c(0x1d5)]:_0x1eff6c(0x1f9)+_0x1eff6c(0x20e)+'失败';this[_0x1eff6c(0x227)](),_0x46bda4['onDiscon'+_0x1eff6c(0x1ec)](_0x475f42);return;}const _0x592205=!_0x27751d||_0x27751d['url']!==_0x46bda4[_0x1eff6c(0x243)]||_0x27751d['token']!==_0x46bda4['token']||_0x27751d[_0x1eff6c(0x1ac)]!==_0x46bda4[_0x1eff6c(0x1ac)]||_0x27751d[_0x1eff6c(0x23b)+'de']!==_0x46bda4[_0x1eff6c(0x23b)+'de']||_0x27751d[_0x1eff6c(0x22c)+_0x1eff6c(0x231)]!==_0x46bda4[_0x1eff6c(0x22c)+_0x1eff6c(0x231)]||_0x27751d[_0x1eff6c(0x190)+_0x1eff6c(0x247)]!==_0x46bda4[_0x1eff6c(0x190)+_0x1eff6c(0x247)];if(_0x592205){this[_0x1eff6c(0x180)]();return;}if(!this['ws'])this[_0x1eff6c(0x1c8)]();}['stop'](){const _0x5bb635=_0x50aee5;this[_0x5bb635(0x1e0)+_0x5bb635(0x1c8)]=![],this[_0x5bb635(0x1e1)+'d']=![],this[_0x5bb635(0x204)+_0x5bb635(0x246)]=null,this['connectS'+_0x5bb635(0x245)]=![],this['clearTim'+_0x5bb635(0x1f2)](),this[_0x5bb635(0x198)+'nding'](new Error(_0x5bb635(0x191)+_0x5bb635(0x18e)+_0x5bb635(0x1d8)+'d')),this[_0x5bb635(0x236)+_0x5bb635(0x21c)+'rs'](new Error(_0x5bb635(0x191)+'WS\x20clien'+'t\x20stoppe'+'d'));if(this['ws']){try{this['ws'][_0x5bb635(0x19c)]();}catch{}this['ws']=null;}this[_0x5bb635(0x1e2)+_0x5bb635(0x197)]=null,this['config']=null;}async[_0x50aee5(0x18d)](_0xc6b3e6,_0x798652={},_0x15ff32={}){const _0x4eef82=_0x50aee5;if(!_0x15ff32[_0x4eef82(0x218)+_0x4eef82(0x1de)])await this[_0x4eef82(0x1d9)+'lReady']();const _0x36150d=this['ws'];if(!_0x36150d||_0x36150d[_0x4eef82(0x225)+'te']!==_0x4d7afa[_0x4eef82(0x1d7)])throw new Error(_0x4eef82(0x191)+_0x4eef82(0x1e6)+_0x4eef82(0x1aa)+_0x4eef82(0x1d4));const _0x1bd603=randomUUID(),_0x16ad41=_0x15ff32['timeoutM'+'s']??0x7530;return await new Promise((_0x365ba3,_0x27a5c7)=>{const _0x291fe7=_0x4eef82,_0x42ea54=setTimeout(()=>{const _0x561ce6=_0x15a5;this['pending'][_0x561ce6(0x196)](_0x1bd603),_0x27a5c7(new Error(_0x561ce6(0x191)+_0x561ce6(0x1e4)+_0x561ce6(0x183)+_0x561ce6(0x215)+_0xc6b3e6));},_0x16ad41);this[_0x291fe7(0x1fc)][_0x291fe7(0x1d0)](_0x1bd603,{'method':_0xc6b3e6,'resolve':_0x1925e4=>{clearTimeout(_0x42ea54),_0x365ba3(_0x1925e4);},'reject':_0x3757a7=>{clearTimeout(_0x42ea54),_0x27a5c7(_0x3757a7);},'expectFinal':_0x15ff32[_0x291fe7(0x1bd)+_0x291fe7(0x242)]===!![],'timeout':_0x42ea54});try{_0x36150d['send'](JSON['stringif'+'y']({'type':_0x291fe7(0x219),'id':_0x1bd603,'method':_0xc6b3e6,'params':_0x798652}));}catch(_0x27a7a9){this[_0x291fe7(0x1fc)][_0x291fe7(0x196)](_0x1bd603),clearTimeout(_0x42ea54),_0x27a5c7(_0x27a7a9 instanceof Error?_0x27a7a9:new Error(_0x291fe7(0x239)+_0x291fe7(0x203)+_0x291fe7(0x189)+_0x291fe7(0x206)));}});}['restart'](){const _0x2b2c2e=_0x50aee5;this[_0x2b2c2e(0x1e1)+'d']=![],this[_0x2b2c2e(0x204)+'once']=null,this['connectS'+_0x2b2c2e(0x245)]=![],this[_0x2b2c2e(0x1dc)+_0x2b2c2e(0x1f2)](),this['rejectPe'+_0x2b2c2e(0x18c)](new Error('gateway\x20'+_0x2b2c2e(0x18e)+'t\x20restar'+_0x2b2c2e(0x1b0))),this[_0x2b2c2e(0x236)+_0x2b2c2e(0x21c)+'rs'](new Error(_0x2b2c2e(0x191)+_0x2b2c2e(0x18e)+_0x2b2c2e(0x1af)+'ting'));if(this['ws']){try{this['ws'][_0x2b2c2e(0x20d)+'e']();}catch{}this['ws']=null;}this[_0x2b2c2e(0x1c8)]();}[_0x50aee5(0x1c8)](){const _0x290b4a=_0x50aee5;if(!this[_0x290b4a(0x235)]||this['ws'])return;const _0x4c16c9=new _0x4d7afa(this['config'][_0x290b4a(0x243)]);this['ws']=_0x4c16c9,_0x4c16c9['on'](_0x290b4a(0x1f1),()=>this[_0x290b4a(0x20a)+_0x290b4a(0x1f7)+_0x290b4a(0x199)+_0x290b4a(0x1ab)]()),_0x4c16c9['on'](_0x290b4a(0x1d5),_0x201715=>this[_0x290b4a(0x1eb)+'ssage'](_0x201715['toString']())),_0x4c16c9['on'](_0x290b4a(0x19c),(_0x451fb3,_0x2ecad2)=>{const _0x55c81e=_0x290b4a;if(this[_0x55c81e(0x1e1)+'d']){const _0x4850ba=_0x2ecad2[_0x55c81e(0x22b)]()||_0x55c81e(0x1f6)+_0x451fb3;this[_0x55c81e(0x1a8)+_0x55c81e(0x1e5)]('gateway\x20'+'WS\x20close'+'d\x20('+_0x4850ba+')');}else this[_0x55c81e(0x1a8)+_0x55c81e(0x1e5)]('');}),_0x4c16c9['on']('error',_0x2b169c=>{const _0x2f4fd3=_0x290b4a;if(isLocalGatewayConnRefused(_0x2b169c)){this[_0x2f4fd3(0x1a8)+_0x2f4fd3(0x1e5)](_0x2f4fd3(0x191)+_0x2f4fd3(0x222)+'istening'+'\x20yet');return;}const _0x3bd1e4=formatUnknownError(_0x2b169c);this[_0x2f4fd3(0x1a8)+_0x2f4fd3(0x1e5)](_0x3bd1e4?'gateway\x20'+_0x2f4fd3(0x1c9)+':\x20'+_0x3bd1e4:_0x2f4fd3(0x191)+_0x2f4fd3(0x1c9));});}[_0x50aee5(0x20a)+_0x50aee5(0x1f7)+_0x50aee5(0x199)+_0x50aee5(0x1ab)](){const _0xb04e9d=_0x50aee5;this[_0xb04e9d(0x204)+'once']=null,this[_0xb04e9d(0x22f)+_0xb04e9d(0x245)]=![];if(this[_0xb04e9d(0x1b2)+_0xb04e9d(0x226)+_0xb04e9d(0x1ca)])clearTimeout(this[_0xb04e9d(0x1b2)+_0xb04e9d(0x226)+_0xb04e9d(0x1ca)]);this[_0xb04e9d(0x1b2)+_0xb04e9d(0x226)+_0xb04e9d(0x1ca)]=setTimeout(()=>{const _0x3a09bc=_0xb04e9d;if(this['connectS'+_0x3a09bc(0x245)]||!this['ws']||this['ws'][_0x3a09bc(0x225)+'te']!==_0x4d7afa[_0x3a09bc(0x1d7)])return;this[_0x3a09bc(0x1a8)+_0x3a09bc(0x1e5)](_0x3a09bc(0x191)+_0x3a09bc(0x19d)+_0x3a09bc(0x1c1)+_0x3a09bc(0x1ee)),this['ws']?.[_0x3a09bc(0x19c)](0x3f0,_0x3a09bc(0x241)+_0x3a09bc(0x1ce)+_0x3a09bc(0x207)+'t');},0x7d0);}async[_0x50aee5(0x1c6)+_0x50aee5(0x229)](){const _0xafbe51=_0x50aee5,_0x3f94e3=this['config'];if(!_0x3f94e3||this[_0xafbe51(0x22f)+_0xafbe51(0x245)])return;const _0x439466=this[_0xafbe51(0x204)+_0xafbe51(0x246)]?.[_0xafbe51(0x1fa)]()??'';if(!_0x439466){this[_0xafbe51(0x1a8)+_0xafbe51(0x1e5)](_0xafbe51(0x191)+_0xafbe51(0x19d)+'hake\x20mis'+_0xafbe51(0x1cb)+'ce'),this['ws']?.[_0xafbe51(0x19c)](0x3f0,_0xafbe51(0x241)+_0xafbe51(0x1ce)+_0xafbe51(0x1dd)+_0xafbe51(0x216));return;}this[_0xafbe51(0x22f)+_0xafbe51(0x245)]=!![];this['connectC'+'hallenge'+_0xafbe51(0x1ca)]&&(clearTimeout(this[_0xafbe51(0x1b2)+_0xafbe51(0x226)+_0xafbe51(0x1ca)]),this[_0xafbe51(0x1b2)+_0xafbe51(0x226)+_0xafbe51(0x1ca)]=null);if(!this[_0xafbe51(0x1e2)+_0xafbe51(0x197)])try{this[_0xafbe51(0x1e2)+_0xafbe51(0x197)]=loadOrCreateDeviceIdentity(_0x3f94e3[_0xafbe51(0x190)+_0xafbe51(0x247)]);}catch(_0x321a79){this['handleDi'+_0xafbe51(0x1e5)](_0x321a79 instanceof Error?_0x321a79[_0xafbe51(0x1d5)]:_0xafbe51(0x239)+_0xafbe51(0x1f4)+_0xafbe51(0x1bf)+_0xafbe51(0x1ff)),this['ws']?.['close'](0x3f0,_0xafbe51(0x200)+_0xafbe51(0x244)+_0xafbe51(0x1ed)+'ble');return;}const _0x445927='operator',_0x109490=[_0xafbe51(0x201)+_0xafbe51(0x209),_0xafbe51(0x201)+_0xafbe51(0x1a3),'operator'+'.admin',_0xafbe51(0x201)+_0xafbe51(0x24a)+'ls',_0xafbe51(0x201)+'.pairing'],_0x51ca3a=_0x3f94e3[_0xafbe51(0x1a9)][_0xafbe51(0x1fa)](),_0x5d9b10=Date['now'](),_0x4cde77=buildDeviceAuthPayloadV3({'deviceId':this[_0xafbe51(0x1e2)+_0xafbe51(0x197)]['deviceId'],'clientId':_0x3f94e3[_0xafbe51(0x1ac)],'clientMode':_0x3f94e3[_0xafbe51(0x23b)+'de'],'role':_0x445927,'scopes':_0x109490,'signedAtMs':_0x5d9b10,'token':_0x51ca3a||null,'nonce':_0x439466,'platform':process[_0xafbe51(0x217)],'deviceFamily':_0x3f94e3['clientDe'+_0xafbe51(0x1db)+'ly']}),_0x1f2d4b={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x3f94e3['clientId'],'displayName':_0x3f94e3[_0xafbe51(0x1a0)+_0xafbe51(0x212)+'e'],'version':_0x3f94e3[_0xafbe51(0x22c)+_0xafbe51(0x231)],'platform':process[_0xafbe51(0x217)],'deviceFamily':_0x3f94e3['clientDe'+_0xafbe51(0x1db)+'ly'],'mode':_0x3f94e3[_0xafbe51(0x23b)+'de']},'caps':[],'role':_0x445927,'scopes':_0x109490,'auth':_0x51ca3a?{'token':_0x51ca3a}:undefined,'device':{'id':this[_0xafbe51(0x1e2)+_0xafbe51(0x197)][_0xafbe51(0x1e2)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0xafbe51(0x1e2)+_0xafbe51(0x197)][_0xafbe51(0x19e)+_0xafbe51(0x23e)]),'signature':signDevicePayload(this[_0xafbe51(0x1e2)+_0xafbe51(0x197)][_0xafbe51(0x188)+_0xafbe51(0x23d)],_0x4cde77),'signedAt':_0x5d9b10,'nonce':_0x439466},'locale':Intl[_0xafbe51(0x1d3)+_0xafbe51(0x1e9)]()[_0xafbe51(0x1bc)+_0xafbe51(0x1fb)]()['locale'],'userAgent':_0xafbe51(0x228)+_0xafbe51(0x220)+_0x3f94e3[_0xafbe51(0x22c)+'rsion']};try{await this[_0xafbe51(0x18d)](_0xafbe51(0x1c8),_0x1f2d4b,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0xafbe51(0x1e1)+'d']=!![],this['reconnec'+_0xafbe51(0x1a7)+'Ms']=0x320,this[_0xafbe51(0x223)+_0xafbe51(0x1c0)+'ers'](),this[_0xafbe51(0x235)]?.[_0xafbe51(0x1b1)+_0xafbe51(0x1d4)]?.();}catch(_0x4c2394){this[_0xafbe51(0x1a8)+_0xafbe51(0x1e5)](_0x4c2394 instanceof Error?_0x4c2394[_0xafbe51(0x1d5)]:_0xafbe51(0x191)+_0xafbe51(0x1b5)+_0xafbe51(0x224)+'d'),this['ws']?.[_0xafbe51(0x19c)](0x3f0,_0xafbe51(0x241)+_0xafbe51(0x19f));}}[_0x50aee5(0x1eb)+_0x50aee5(0x1da)](_0x31445b){const _0x2ca842=_0x50aee5;let _0x5fd060;try{_0x5fd060=JSON[_0x2ca842(0x214)](_0x31445b);}catch{return;}if(!isRecord(_0x5fd060)||typeof _0x5fd060['type']!=='string')return;if(_0x5fd060[_0x2ca842(0x1c7)]==='event'){const _0x150119=typeof _0x5fd060[_0x2ca842(0x1cd)]===_0x2ca842(0x1fd)?_0x5fd060[_0x2ca842(0x1cd)]:'';if(!_0x150119)return;const _0x4adff2=isRecord(_0x5fd060['payload'])?_0x5fd060[_0x2ca842(0x21d)]:{};if(_0x150119===_0x2ca842(0x22d)+'challeng'+'e'){const _0x506c62=typeof _0x4adff2[_0x2ca842(0x1a6)]===_0x2ca842(0x1fd)?_0x4adff2['nonce'][_0x2ca842(0x1fa)]():'';if(!_0x506c62){this[_0x2ca842(0x1a8)+'sconnect'](_0x2ca842(0x191)+'WS\x20hands'+'hake\x20mis'+'sing\x20non'+'ce'),this['ws']?.[_0x2ca842(0x19c)](0x3f0,_0x2ca842(0x241)+_0x2ca842(0x1ce)+_0x2ca842(0x1dd)+_0x2ca842(0x216));return;}this[_0x2ca842(0x204)+_0x2ca842(0x246)]=_0x506c62,void this[_0x2ca842(0x1c6)+_0x2ca842(0x229)]();return;}if(_0x150119===_0x2ca842(0x202))this[_0x2ca842(0x235)]?.[_0x2ca842(0x237)+_0x2ca842(0x245)]?.(_0x4adff2);if(_0x150119===_0x2ca842(0x185))this['config']?.[_0x2ca842(0x23c)+_0x2ca842(0x1c3)]?.(_0x4adff2);if(_0x150119==='sessions'+_0x2ca842(0x1f3))this[_0x2ca842(0x235)]?.[_0x2ca842(0x21e)+_0x2ca842(0x20b)]?.(_0x4adff2);if(_0x150119==='session.'+'message')this[_0x2ca842(0x235)]?.[_0x2ca842(0x21e)+'nMessage'+_0x2ca842(0x1b8)]?.(_0x4adff2);return;}if(_0x5fd060['type']!==_0x2ca842(0x19b))return;const _0x341abe=typeof _0x5fd060['id']===_0x2ca842(0x1fd)?_0x5fd060['id']:'';if(!_0x341abe)return;const _0x4c6960=this[_0x2ca842(0x1fc)][_0x2ca842(0x238)](_0x341abe);if(!_0x4c6960)return;const _0x569ef7=isRecord(_0x5fd060[_0x2ca842(0x21d)])?_0x5fd060[_0x2ca842(0x21d)]:{},_0x451250=typeof _0x569ef7[_0x2ca842(0x193)]===_0x2ca842(0x1fd)?_0x569ef7[_0x2ca842(0x193)]:'';if(_0x4c6960[_0x2ca842(0x1bd)+_0x2ca842(0x242)]&&_0x451250===_0x2ca842(0x1f0))return;this['pending'][_0x2ca842(0x196)](_0x341abe);_0x4c6960[_0x2ca842(0x210)]&&(clearTimeout(_0x4c6960['timeout']),_0x4c6960[_0x2ca842(0x210)]=null);if(_0x5fd060['ok']===!![]){_0x4c6960['resolve'](_0x5fd060['payload']);return;}const _0x2daaaa=isRecord(_0x5fd060[_0x2ca842(0x233)])?_0x5fd060['error']:{},_0x13e4c0=typeof _0x2daaaa[_0x2ca842(0x1d5)]===_0x2ca842(0x1fd)?_0x2daaaa[_0x2ca842(0x1d5)]:_0x2ca842(0x191)+_0x2ca842(0x1e4)+_0x2ca842(0x1d6)+_0x4c6960[_0x2ca842(0x1a5)];_0x4c6960['reject'](new Error(_0x13e4c0));}[_0x50aee5(0x1d9)+_0x50aee5(0x22e)](_0x1b86df=0x2ee0){const _0x51e878=_0x50aee5;if(this[_0x51e878(0x1e1)+'d'])return Promise['resolve']();if(!this[_0x51e878(0x235)])return Promise[_0x51e878(0x181)](new Error(_0x51e878(0x191)+_0x51e878(0x1e6)+_0x51e878(0x1ad)+_0x51e878(0x20f)));if(!this['ws'])this[_0x51e878(0x1c8)]();return new Promise((_0x654595,_0x9a55c8)=>{const _0x34fbd9=_0x51e878,_0x18e7bd=setTimeout(()=>{const _0xd0866c=_0x15a5;this[_0xd0866c(0x1b6)+_0xd0866c(0x1cf)]=this[_0xd0866c(0x1b6)+_0xd0866c(0x1cf)][_0xd0866c(0x23a)](_0x147461=>_0x147461[_0xd0866c(0x240)]!==_0x654595),_0x9a55c8(new Error(_0xd0866c(0x191)+'WS\x20conne'+_0xd0866c(0x1f8)+_0xd0866c(0x186)));},_0x1b86df);this[_0x34fbd9(0x1b6)+_0x34fbd9(0x1cf)]['push']({'resolve':_0x654595,'reject':_0x9a55c8,'timeout':_0x18e7bd});});}[_0x50aee5(0x223)+_0x50aee5(0x1c0)+_0x50aee5(0x1f2)](){const _0x4b4829=_0x50aee5,_0x1ca438=[...this[_0x4b4829(0x1b6)+_0x4b4829(0x1cf)]];this[_0x4b4829(0x1b6)+_0x4b4829(0x1cf)]=[];for(const _0x4ff4df of _0x1ca438){clearTimeout(_0x4ff4df[_0x4b4829(0x210)]),_0x4ff4df[_0x4b4829(0x240)]();}}[_0x50aee5(0x236)+_0x50aee5(0x21c)+'rs'](_0x2df723){const _0x1254be=_0x50aee5,_0x20248c=[...this[_0x1254be(0x1b6)+_0x1254be(0x1cf)]];this[_0x1254be(0x1b6)+_0x1254be(0x1cf)]=[];for(const _0x3516a0 of _0x20248c){clearTimeout(_0x3516a0[_0x1254be(0x210)]),_0x3516a0['reject'](_0x2df723);}}[_0x50aee5(0x198)+_0x50aee5(0x18c)](_0x3daa67){const _0x37bcc1=_0x50aee5;for(const [_0xbbc785,_0x383119]of this['pending'][_0x37bcc1(0x1a4)]()){this[_0x37bcc1(0x1fc)][_0x37bcc1(0x196)](_0xbbc785),_0x383119[_0x37bcc1(0x210)]&&(clearTimeout(_0x383119['timeout']),_0x383119[_0x37bcc1(0x210)]=null),_0x383119[_0x37bcc1(0x181)](_0x3daa67);}}['handleDi'+_0x50aee5(0x1e5)](_0x3d7a32){const _0x25612c=_0x50aee5;this['ws']&&(this['ws'][_0x25612c(0x234)+_0x25612c(0x232)+'rs'](),this['ws']=null);this[_0x25612c(0x1e1)+'d']=![],this['connectN'+_0x25612c(0x246)]=null,this[_0x25612c(0x22f)+_0x25612c(0x245)]=![],this[_0x25612c(0x198)+_0x25612c(0x18c)](new Error(_0x3d7a32||_0x25612c(0x191)+_0x25612c(0x1be)+_0x25612c(0x1b4))),this[_0x25612c(0x236)+_0x25612c(0x21c)+'rs'](new Error(_0x3d7a32||_0x25612c(0x191)+'WS\x20disco'+'nnected')),this[_0x25612c(0x1dc)+_0x25612c(0x1f2)]();if(_0x3d7a32)this['config']?.['onDiscon'+'nected']?.(_0x3d7a32);if(!this['shouldRe'+_0x25612c(0x1c8)]||!this[_0x25612c(0x235)])return;const _0x53bc98=this['reconnec'+_0x25612c(0x1a7)+'Ms'];this[_0x25612c(0x1ba)+'tBackoff'+'Ms']=Math[_0x25612c(0x18b)](this[_0x25612c(0x1ba)+_0x25612c(0x1a7)+'Ms']*0x2,0x3a98),this[_0x25612c(0x1ba)+'tTimer']=setTimeout(()=>{const _0x30b25a=_0x25612c;this[_0x30b25a(0x1ba)+_0x30b25a(0x249)]=null,this['connect']();},_0x53bc98);}[_0x50aee5(0x1dc)+_0x50aee5(0x1f2)](){const _0x23aa6c=_0x50aee5;this[_0x23aa6c(0x1ba)+_0x23aa6c(0x249)]&&(clearTimeout(this[_0x23aa6c(0x1ba)+_0x23aa6c(0x249)]),this[_0x23aa6c(0x1ba)+'tTimer']=null),this[_0x23aa6c(0x1b2)+_0x23aa6c(0x226)+'Timer']&&(clearTimeout(this['connectC'+'hallenge'+_0x23aa6c(0x1ca)]),this[_0x23aa6c(0x1b2)+_0x23aa6c(0x226)+_0x23aa6c(0x1ca)]=null);}}
@@ -1 +0,0 @@
1
- const _0x4c14de=_0x15be;function _0x8cfb(){const _0x483540=['ipa','t_tool_r','yaml','document','m4a','sessionK','ase','mp4','sessionN','now','5XIMakX','toolName','message','ogg','pptx','size','toolCall','agentNam','indexedA','includes','sort','png','e://loca','trim','deletedA','d-files.','updatedA','deletedF','pkg','1197440HIBNqC','createdA','floor','15915591CZeRQI','svg','14HZbWoT','slide','exe','clawspac','join','gif','dmg','mp3','ppt','image','java','files','webm','jpg','apk','webp','doc','jsx','xls','29443898VRJvXP','yml','file','number','set','path','csv','get','assistan','agentId','replace','utf8','3500915aMAITw','video','12oYEIsg','name','flac','sheet','xlsx','10vMgfrb','odp','pathname','jpeg','map','ame','1018664cpBgko','test','messageI','rtf','328262bhOeWF','romFileC','isArray','isFinite','mov','3628260DjENEH','stringif','enter','find','filter','romDisk','esult','css','html','other','wav'];_0x8cfb=function(){return _0x483540;};return _0x8cfb();}(function(_0x4c2ead,_0x26be6c){const _0x2ada28=_0x15be,_0x4a4b8f=_0x4c2ead();while(!![]){try{const _0x4b1043=parseInt(_0x2ada28(0xdb))/0x1*(-parseInt(_0x2ada28(0xc1))/0x2)+parseInt(_0x2ada28(0xc6))/0x3+-parseInt(_0x2ada28(0xbd))/0x4+-parseInt(_0x2ada28(0xb0))/0x5*(-parseInt(_0x2ada28(0xb2))/0x6)+-parseInt(_0x2ada28(0x91))/0x7*(-parseInt(_0x2ada28(0x8c))/0x8)+parseInt(_0x2ada28(0x8f))/0x9*(parseInt(_0x2ada28(0xb7))/0xa)+-parseInt(_0x2ada28(0xa4))/0xb;if(_0x4b1043===_0x26be6c)break;else _0x4a4b8f['push'](_0x4a4b8f['shift']());}catch(_0x32ea01){_0x4a4b8f['push'](_0x4a4b8f['shift']());}}}(_0x8cfb,0xe1f42));import{existsSync}from'node:fs';import{mkdir,readFile,rm,writeFile}from'node:fs/promises';import{basename,dirname,extname,join}from'node:path';import{asRecord}from'./utils.mjs';const STORE_FILE='generate'+_0x4c14de(0x88)+'json';function storePath(_0x2a4212){return join(_0x2a4212,STORE_FILE);}async function readStore(_0x484b83){const _0x42614d=_0x4c14de;try{const _0x4d20c1=JSON['parse'](await readFile(storePath(_0x484b83),_0x42614d(0xaf)));return{'files':Array[_0x42614d(0xc3)](_0x4d20c1[_0x42614d(0x9c)])?_0x4d20c1[_0x42614d(0x9c)][_0x42614d(0xbb)](asRecord):[],'indexedAt':typeof _0x4d20c1[_0x42614d(0x81)+'t']==='number'&&Number[_0x42614d(0xc4)](_0x4d20c1[_0x42614d(0x81)+'t'])?_0x4d20c1['indexedA'+'t']:null};}catch{return{'files':[],'indexedAt':null};}}async function writeStore(_0x4e7c52,_0x2ce744){const _0xdaf26a=_0x4c14de,_0x479fd0=storePath(_0x4e7c52);await mkdir(dirname(_0x479fd0),{'recursive':!![]}),await writeFile(_0x479fd0,JSON[_0xdaf26a(0xc7)+'y'](_0x2ce744,null,0x2)+'\x0a',_0xdaf26a(0xaf));}function _0x15be(_0x2dc7d7,_0x2757d2){_0x2dc7d7=_0x2dc7d7-0x7a;const _0x8cfbc5=_0x8cfb();let _0x15beb4=_0x8cfbc5[_0x2dc7d7];return _0x15beb4;}function toLocalPath(_0x10cd61){const _0x4a5d45=_0x4c14de,_0x214bcf=String(_0x10cd61||'')['trim']();if(!_0x214bcf['startsWi'+'th'](_0x4a5d45(0x94)+_0x4a5d45(0x85)+'l'))return _0x214bcf;try{return decodeURIComponent(new URL(_0x214bcf)[_0x4a5d45(0xb9)]);}catch{return _0x214bcf;}}function normalizeTimestampMs(_0x5ca2d7){const _0x42d13d=_0x4c14de,_0x1a1d8d=Number(_0x5ca2d7);if(!Number[_0x42d13d(0xc4)](_0x1a1d8d)||_0x1a1d8d<=0x0)return Date['now']();return _0x1a1d8d>0x2540be400?Math['floor'](_0x1a1d8d):Math[_0x42d13d(0x8e)](_0x1a1d8d*0x3e8);}function classifyGeneratedFile(_0x3bed05){const _0x3d39e9=_0x4c14de;if(['md','txt','json','xml',_0x3d39e9(0xd3),_0x3d39e9(0xa5),_0x3d39e9(0xce),_0x3d39e9(0xcd),'js','ts','tsx',_0x3d39e9(0xa2),'py','go','rs',_0x3d39e9(0x9b),_0x3d39e9(0xa1),'docx','pdf',_0x3d39e9(0xc0)][_0x3d39e9(0x82)](_0x3bed05))return _0x3d39e9(0xd4);if([_0x3d39e9(0xaa),_0x3d39e9(0xb6),_0x3d39e9(0xa3),'ods']['includes'](_0x3bed05))return _0x3d39e9(0xb5);if([_0x3d39e9(0x7d),_0x3d39e9(0x99),_0x3d39e9(0xb8)][_0x3d39e9(0x82)](_0x3bed05))return _0x3d39e9(0x92);if([_0x3d39e9(0x9e),_0x3d39e9(0xba),_0x3d39e9(0x84),_0x3d39e9(0x96),_0x3d39e9(0xa0),_0x3d39e9(0x90)][_0x3d39e9(0x82)](_0x3bed05))return _0x3d39e9(0x9a);if([_0x3d39e9(0xd8),_0x3d39e9(0xc5),'avi','mkv',_0x3d39e9(0x9d)][_0x3d39e9(0x82)](_0x3bed05))return _0x3d39e9(0xb1);if([_0x3d39e9(0x98),_0x3d39e9(0xd0),'aac',_0x3d39e9(0x7c),_0x3d39e9(0xd5),_0x3d39e9(0xb4)][_0x3d39e9(0x82)](_0x3bed05))return'audio';if([_0x3d39e9(0x93),_0x3d39e9(0x97),_0x3d39e9(0x8b),_0x3d39e9(0x9f),_0x3d39e9(0xd1)][_0x3d39e9(0x82)](_0x3bed05))return'app';return _0x3d39e9(0xcf);}function normalizePreviewPath(_0x3b9fe0){const _0x180462=_0x4c14de,_0x2cb2c3=String(_0x3b9fe0||'')['trim']()[_0x180462(0xae)](/^["'`]+|["'`]+$/g,'');if(!_0x2cb2c3)return'';if(/^(?:https?:|data:|blob:|file:\/\/|clawspace:\/\/)/i['test'](_0x2cb2c3))return _0x2cb2c3;if(/^(?:\/|[A-Za-z]:[\\/])/[_0x180462(0xbe)](_0x2cb2c3)){const _0x2eb996=_0x2cb2c3[_0x180462(0xae)](/\\/g,'/'),_0x1a88f8=encodeURI(_0x2eb996['startsWi'+'th']('/')?_0x2eb996:'/'+_0x2eb996);return _0x180462(0x94)+_0x180462(0x85)+'l'+_0x1a88f8;}return _0x2cb2c3;}function normalizeInput(_0x3239bd){const _0x12aa58=_0x4c14de,_0x3ff3b1=asRecord(_0x3239bd),_0x59d6a6=toLocalPath(_0x3ff3b1[_0x12aa58(0xa9)]);if(!_0x59d6a6)return null;const _0xf9c3e8=String(_0x3ff3b1[_0x12aa58(0xb3)]||'')[_0x12aa58(0x86)]()||basename(_0x59d6a6);if(!_0xf9c3e8)return null;const _0x48bc11=extname(_0xf9c3e8||_0x59d6a6)['replace'](/^\./,'')['toLowerC'+_0x12aa58(0xd7)](),_0x6396c4=String(_0x3ff3b1[_0x12aa58(0xd6)+'ey']||''),_0x39bb9e=String(_0x3ff3b1[_0x12aa58(0x7f)+'Id']||''),_0x28f78b=normalizeTimestampMs(_0x3ff3b1[_0x12aa58(0x8d)+'t']);return{'id':[_0x6396c4,_0x39bb9e,_0x59d6a6][_0x12aa58(0x95)]('::'),'name':_0xf9c3e8,'ext':_0x48bc11,'type':classifyGeneratedFile(_0x48bc11),'path':_0x59d6a6,'previewPath':normalizePreviewPath(_0x59d6a6),...typeof _0x3ff3b1[_0x12aa58(0x7e)]===_0x12aa58(0xa7)&&Number[_0x12aa58(0xc4)](_0x3ff3b1[_0x12aa58(0x7e)])?{'size':_0x3ff3b1[_0x12aa58(0x7e)]}:{},'createdAt':_0x28f78b,'updatedAt':normalizeTimestampMs(_0x3ff3b1[_0x12aa58(0x89)+'t']||_0x3ff3b1['createdA'+'t']),..._0x3ff3b1[_0x12aa58(0xad)]?{'agentId':String(_0x3ff3b1['agentId'])}:{},..._0x3ff3b1[_0x12aa58(0x80)+'e']?{'agentName':String(_0x3ff3b1[_0x12aa58(0x80)+'e'])}:{},'sessionKey':_0x6396c4,..._0x3ff3b1['sessionN'+_0x12aa58(0xbc)]?{'sessionName':String(_0x3ff3b1[_0x12aa58(0xd9)+_0x12aa58(0xbc)])}:{},..._0x3ff3b1['messageI'+'d']?{'messageId':String(_0x3ff3b1[_0x12aa58(0xbf)+'d'])}:{},..._0x39bb9e?{'toolCallId':_0x39bb9e}:{},..._0x3ff3b1[_0x12aa58(0x7a)]?{'toolName':String(_0x3ff3b1[_0x12aa58(0x7a)])}:{},'source':String(_0x3ff3b1['source']||_0x12aa58(0xac)+_0x12aa58(0xd2)+_0x12aa58(0xcc)),'fileKind':String(_0x3ff3b1['fileKind']||_0x12aa58(0xa6))};}function sortFiles(_0x10b2bb){const _0x1be623=_0x4c14de;return _0x10b2bb[_0x1be623(0x83)]((_0x39b046,_0x203ff8)=>Number(_0x203ff8[_0x1be623(0x89)+'t']||0x0)-Number(_0x39b046[_0x1be623(0x89)+'t']||0x0));}export function createGeneratedFilesStore({stateDir:_0x406ed0}){async function _0x40e43a(){const _0x7ed371=_0x15be,_0x39c78b=await readStore(_0x406ed0);return{'files':sortFiles(_0x39c78b[_0x7ed371(0x9c)]),'indexedAt':_0x39c78b[_0x7ed371(0x81)+'t']};}async function _0xff26b3(_0x5abf05={}){const _0x1ca206=_0x15be,_0x1531fe=(Array[_0x1ca206(0xc3)](_0x5abf05[_0x1ca206(0x9c)])?_0x5abf05[_0x1ca206(0x9c)]:[])['map'](normalizeInput)[_0x1ca206(0xca)](Boolean),_0x1855ed=await readStore(_0x406ed0),_0x2342cf=new Map(_0x1855ed['files']['map'](_0x2f5975=>[_0x2f5975['id'],_0x2f5975]));let _0x163412=0x0;for(const _0x4dbc1a of _0x1531fe){const _0x127335=_0x2342cf['get'](_0x4dbc1a['id']),_0x29c9ed={..._0x127335,..._0x4dbc1a,'deletedFromFileCenter':![]};if(JSON['stringif'+'y'](_0x127335)!==JSON[_0x1ca206(0xc7)+'y'](_0x29c9ed))_0x163412+=0x1;_0x2342cf[_0x1ca206(0xa8)](_0x4dbc1a['id'],_0x29c9ed);}const _0x50112a={'files':sortFiles([..._0x2342cf['values']()]),'indexedAt':typeof _0x5abf05['indexedA'+'t']===_0x1ca206(0xa7)&&Number[_0x1ca206(0xc4)](_0x5abf05['indexedA'+'t'])?_0x5abf05[_0x1ca206(0x81)+'t']:_0x1855ed[_0x1ca206(0x81)+'t']};return await writeStore(_0x406ed0,_0x50112a),{'files':_0x1531fe,'changed':_0x163412};}async function _0x1c9488(_0x4dec1c){const _0x46bd5e=_0x15be,_0x341639=await readStore(_0x406ed0);let _0x34c073=0x0;const _0x5955f7=_0x341639[_0x46bd5e(0x9c)][_0x46bd5e(0xbb)](_0x161db5=>{const _0x5cf102=_0x46bd5e;if(_0x161db5['id']!==_0x4dec1c||_0x161db5[_0x5cf102(0x8a)+'romFileC'+_0x5cf102(0xc8)])return _0x161db5;return _0x34c073+=0x1,{..._0x161db5,'deletedFromFileCenter':!![],'deletedAt':Date[_0x5cf102(0xda)]()};});return await writeStore(_0x406ed0,{..._0x341639,'files':_0x5955f7}),{'ok':!![],'id':_0x4dec1c,'changed':_0x34c073};}async function _0x2ad25b(_0x1928ae){const _0x22c9ed=_0x15be,_0x14cb0b=await readStore(_0x406ed0);let _0x273f33=0x0;const _0x181709=_0x14cb0b[_0x22c9ed(0x9c)][_0x22c9ed(0xbb)](_0x36a671=>{const _0x50fc31=_0x22c9ed;if(_0x36a671[_0x50fc31(0xd6)+'ey']!==_0x1928ae||_0x36a671['deletedF'+_0x50fc31(0xc2)+_0x50fc31(0xc8)])return _0x36a671;return _0x273f33+=0x1,{..._0x36a671,'deletedFromFileCenter':!![],'deletedAt':Date[_0x50fc31(0xda)]()};});return await writeStore(_0x406ed0,{..._0x14cb0b,'files':_0x181709}),{'ok':!![],'sessionKey':_0x1928ae,'changed':_0x273f33};}async function _0x55164(_0x86e3e3){const _0x39d3b7=_0x15be,_0x1bf04a=await readStore(_0x406ed0),_0x634278=_0x1bf04a[_0x39d3b7(0x9c)][_0x39d3b7(0xc9)](_0x49d682=>_0x49d682['id']===_0x86e3e3);if(!_0x634278)return{'ok':![],'id':_0x86e3e3,'alreadyMissing':!![]};let _0x3e02ac=![],_0x230e7c=![];try{!existsSync(_0x634278[_0x39d3b7(0xa9)])?_0x230e7c=!![]:(await rm(_0x634278['path'],{'recursive':!![],'force':!![]}),_0x3e02ac=!![]);}catch(_0xe69fee){const _0x442c3c=_0x1bf04a['files'][_0x39d3b7(0xbb)](_0x3f3605=>_0x3f3605['id']===_0x86e3e3?{..._0x3f3605,'deletedFromFileCenter':!![],'deletedAt':Date[_0x39d3b7(0xda)]()}:_0x3f3605);return await writeStore(_0x406ed0,{..._0x1bf04a,'files':_0x442c3c}),{'ok':![],'id':_0x86e3e3,'path':_0x634278[_0x39d3b7(0xa9)],'deletedFromDisk':_0x3e02ac,'alreadyMissing':_0x230e7c,'error':_0xe69fee instanceof Error?_0xe69fee[_0x39d3b7(0x7b)]:String(_0xe69fee)};}const _0x424f37=_0x1bf04a[_0x39d3b7(0x9c)][_0x39d3b7(0xbb)](_0x28c793=>_0x28c793['id']===_0x86e3e3?{..._0x28c793,'deletedFromDisk':_0x3e02ac,'deletedFromFileCenter':!![],'deletedAt':Date['now']()}:_0x28c793);return await writeStore(_0x406ed0,{..._0x1bf04a,'files':_0x424f37}),{'ok':!![],'id':_0x86e3e3,'path':_0x634278[_0x39d3b7(0xa9)],'deletedFromDisk':_0x3e02ac,'alreadyMissing':_0x230e7c};}async function _0xec3705(_0x3e8d5e=[]){const _0x5690ba=_0x15be,_0x363f97=await readStore(_0x406ed0),_0x4fd365=new Map(_0x363f97[_0x5690ba(0x9c)][_0x5690ba(0xbb)](_0x2b1386=>[_0x2b1386[_0x5690ba(0xa9)],_0x2b1386])),_0x5e0fc4=(Array[_0x5690ba(0xc3)](_0x3e8d5e)?_0x3e8d5e:[])['map'](_0x5d4e62=>{const _0xa96b75=_0x5690ba,_0x290a03=toLocalPath(_0x5d4e62),_0x55d780=_0x4fd365[_0xa96b75(0xab)](_0x290a03);return{'path':_0x290a03,'deleted':Boolean(_0x55d780?.['deletedF'+_0xa96b75(0xc2)+_0xa96b75(0xc8)]||_0x55d780?.[_0xa96b75(0x8a)+_0xa96b75(0xcb)]||_0x290a03&&!existsSync(_0x290a03)),..._0x55d780?.['id']?{'recordId':_0x55d780['id']}:{},..._0x55d780?.[_0xa96b75(0x87)+'t']?{'deletedAt':_0x55d780[_0xa96b75(0x87)+'t']}:{}};});return{'files':_0x5e0fc4};}return{'list':_0x40e43a,'upsert':_0xff26b3,'hide':_0x1c9488,'hideBySession':_0x2ad25b,'deleteFile':_0x55164,'deletedState':_0xec3705};}
@@ -1 +0,0 @@
1
- function _0x3f3d(_0x264f57,_0x23d18c){_0x264f57=_0x264f57-0x11b;const _0x5994cf=_0x5994();let _0x3f3d16=_0x5994cf[_0x264f57];return _0x3f3d16;}const _0x41f463=_0x3f3d;(function(_0x12153e,_0x177c08){const _0x35b16f=_0x3f3d,_0x1aa0cd=_0x12153e();while(!![]){try{const _0x57133b=parseInt(_0x35b16f(0x160))/0x1+-parseInt(_0x35b16f(0x14f))/0x2*(-parseInt(_0x35b16f(0x15f))/0x3)+parseInt(_0x35b16f(0x149))/0x4*(parseInt(_0x35b16f(0x122))/0x5)+-parseInt(_0x35b16f(0x13b))/0x6*(parseInt(_0x35b16f(0x136))/0x7)+-parseInt(_0x35b16f(0x13a))/0x8+parseInt(_0x35b16f(0x146))/0x9+parseInt(_0x35b16f(0x13e))/0xa;if(_0x57133b===_0x177c08)break;else _0x1aa0cd['push'](_0x1aa0cd['shift']());}catch(_0x53bee2){_0x1aa0cd['push'](_0x1aa0cd['shift']());}}}(_0x5994,0x953d3));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';function _0x5994(){const _0x3d3e7e=['ell-logs','update','50VXBlyf','maxDepth','test','length','join','ing','sPrefere','isArray','stderr','filter','get','dev','slice','message','platform','env','38154bbYBhR','425468bxTZAR','Command','base64','[Circula','textPrev','object','.zip','entries','with\x20cod','catch','from','ll.exe','zip','900nudBCb','add','Array','ot\x20found','toISOStr','pipe','stack','-NoProfi','\x20-Force','nce=\x27Sil','logs\x20dir','entlyCon','.log','\x20-Destin','ationPat','trim','includes','string','Compress','has','1582muxToG','replace','powershe','-Archive','8742328IJGwVb','13212ILsgcz','wujie-sh','toString','3994420PvjTyr','stringif','close','hex','pid','logsDir','map','array','6706134vvizeu','cwd','name','6972HPRCTm','tinue\x27;','startsWi','set'];_0x5994=function(){return _0x3d3e7e;};return _0x5994();}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(_0x32db14,_0x4a8513,_0x470b10=_0x4a8513){const _0x473e6e=_0x3f3d,_0x1e3c6b=_0x32db14?.[_0x473e6e(0x143)];if(!_0x1e3c6b||!_0x4a8513)return null;const _0x247dd9=join(_0x1e3c6b,_0x4a8513,_0x4a8513+_0x473e6e(0x12e)),_0x4d853f=_0x247dd9+':'+_0x470b10;return!loggers[_0x473e6e(0x135)](_0x4d853f)&&loggers[_0x473e6e(0x14c)](_0x4d853f,createFileLogger({'filePath':_0x247dd9,'context':_0x470b10,'maxBytes':LOG_MAX_BYTES,'keepCount':LOG_KEEP_COUNT})),loggers[_0x473e6e(0x159)](_0x4d853f);}export function toHomePath(_0x7f84db){const _0x155ade=_0x3f3d,_0x200148=typeof _0x7f84db===_0x155ade(0x133)?_0x7f84db:'';if(!_0x200148)return'';const _0x40569f=homedir(),_0x22cc0e=isAbsolute(_0x200148)?_0x200148:resolve(_0x200148),_0x2ca26e=relative(_0x40569f,_0x22cc0e);if(!_0x2ca26e||!_0x2ca26e[_0x155ade(0x14b)+'th']('..')&&!isAbsolute(_0x2ca26e))return _0x2ca26e?'~/'+_0x2ca26e:'~';return _0x22cc0e;}export function hashText(_0x31d04d){const _0x1a1402=_0x3f3d;return createHash('sha256')[_0x1a1402(0x14e)](String(_0x31d04d))['digest'](_0x1a1402(0x141))[_0x1a1402(0x15b)](0x0,0x10);}export function truncateText(_0x166070,_0x4889fa=CONTENT_PREVIEW_LENGTH){const _0x5d2bfc=_0x3f3d,_0x183f66=String(_0x166070??'')[_0x5d2bfc(0x137)](/\s+/g,'\x20')[_0x5d2bfc(0x131)]();if(_0x183f66['length']<=_0x4889fa)return _0x183f66;return _0x183f66[_0x5d2bfc(0x15b)](0x0,_0x4889fa)+'...';}export function summarizeText(_0x3872ab,_0x537344=CONTENT_PREVIEW_LENGTH){const _0x39ec36=_0x3f3d,_0x1fe76f=String(_0x3872ab??'');return{'length':_0x1fe76f[_0x39ec36(0x152)],'hash':hashText(_0x1fe76f),'preview':truncateText(_0x1fe76f,_0x537344),'truncated':_0x1fe76f[_0x39ec36(0x152)]>_0x537344};}export function summarizeError(_0x2ad41e){const _0x564af3=_0x3f3d;if(_0x2ad41e instanceof Error)return{'name':_0x2ad41e[_0x564af3(0x148)],'message':_0x2ad41e[_0x564af3(0x15c)],'stack':_0x2ad41e[_0x564af3(0x128)]};return{'message':String(_0x2ad41e)};}function summarizePathValue(_0x2c1ce1){const _0x4547b5=_0x3f3d;if(typeof _0x2c1ce1!==_0x4547b5(0x133))return _0x2c1ce1;if(_0x2c1ce1[_0x4547b5(0x132)]('/')||_0x2c1ce1[_0x4547b5(0x132)]('\x5c'))return toHomePath(_0x2c1ce1);return _0x2c1ce1;}export function summarizePayload(_0x41321b,_0x35585a={}){const _0x31b727=_0x3f3d,_0x20ac0e=_0x35585a[_0x31b727(0x150)]??0x4,_0x112d6f=new WeakSet();function _0x39c5e7(_0xbc0c74,_0x596d63,_0x56a321=''){const _0x3bf5ec=_0x31b727;if(_0xbc0c74==null)return _0xbc0c74;if(typeof _0xbc0c74==='string'){if(/message|content|prompt|text|body/i[_0x3bf5ec(0x151)](_0x56a321))return summarizeText(_0xbc0c74,_0x35585a[_0x3bf5ec(0x164)+'iewLengt'+'h']);return summarizePathValue(_0xbc0c74);}if(typeof _0xbc0c74!==_0x3bf5ec(0x165))return _0xbc0c74;if(_0xbc0c74 instanceof Error)return summarizeError(_0xbc0c74);if(_0x112d6f[_0x3bf5ec(0x135)](_0xbc0c74))return _0x3bf5ec(0x163)+'r]';if(_0x596d63>=_0x20ac0e)return'['+(Array[_0x3bf5ec(0x156)](_0xbc0c74)?_0x3bf5ec(0x124):'Object')+']';_0x112d6f[_0x3bf5ec(0x123)](_0xbc0c74);if(Array[_0x3bf5ec(0x156)](_0xbc0c74))return{'type':_0x3bf5ec(0x145),'length':_0xbc0c74[_0x3bf5ec(0x152)],'items':_0xbc0c74[_0x3bf5ec(0x15b)](0x0,0x5)[_0x3bf5ec(0x144)](_0x2cb0c5=>_0x39c5e7(_0x2cb0c5,_0x596d63+0x1,_0x56a321)),'truncated':_0xbc0c74['length']>0x5};const _0x33e174={};for(const [_0x152004,_0x7e4cfd]of Object[_0x3bf5ec(0x11c)](_0xbc0c74)){_0x33e174[_0x152004]=_0x39c5e7(_0x7e4cfd,_0x596d63+0x1,_0x152004);}return redactLogValue(_0x33e174);}return _0x39c5e7(_0x41321b,0x0);}export function summarizeFilePaths(_0x2df3a1=[]){const _0x113e29=_0x3f3d;return(Array[_0x113e29(0x156)](_0x2df3a1)?_0x2df3a1:[])[_0x113e29(0x144)](_0x24f115=>String(_0x24f115||'')[_0x113e29(0x131)]())[_0x113e29(0x158)](Boolean)[_0x113e29(0x144)](_0x1fe0bd=>({'path':toHomePath(_0x1fe0bd),'name':basename(_0x1fe0bd)}));}function run(_0x4ef18f,_0x4de1f1,_0x5485d1={}){return new Promise((_0x2a51f6,_0x4d5603)=>{const _0x104747=_0x3f3d,_0x3f5356=spawn(_0x4ef18f,_0x4de1f1,{'cwd':_0x5485d1[_0x104747(0x147)],'env':{...process.env,..._0x5485d1[_0x104747(0x15e)]??{}},'stdio':['ignore',_0x104747(0x127),_0x104747(0x127)]});let _0x4f3fc2='';_0x3f5356[_0x104747(0x157)]?.['on']('data',_0x50dcf5=>{const _0x157c27=_0x104747;_0x4f3fc2+=_0x50dcf5[_0x157c27(0x13d)]();}),_0x3f5356['on']('error',_0x4d5603),_0x3f5356['on'](_0x104747(0x140),_0x35a8f8=>{const _0x13f04f=_0x104747;if(_0x35a8f8===0x0){_0x2a51f6();return;}_0x4d5603(new Error(_0x4ef18f+('\x20failed\x20'+_0x13f04f(0x11d)+'e=')+_0x35a8f8+':\x20'+_0x4f3fc2));});});}export async function exportLogsArchive({logsDir:_0x54821f,targetDir:_0x4e7206,appVersion:appVersion=_0x41f463(0x15a)}){const _0x324212=_0x41f463;if(!_0x54821f||!existsSync(_0x54821f))throw new Error(_0x324212(0x12c)+'ectory\x20n'+_0x324212(0x125)+':\x20'+(_0x54821f||''));const _0x18afe7=String(appVersion||_0x324212(0x15a))['replace'](/[^A-Za-z0-9._-]/g,'_'),_0x53afd1=new Date()[_0x324212(0x126)+_0x324212(0x154)]()[_0x324212(0x137)](/[-:]/g,'')[_0x324212(0x137)](/\..+$/,''),_0x26cce7=_0x4e7206||tmpdir();await mkdir(_0x26cce7,{'recursive':!![]});const _0x3fb02d=join(_0x26cce7,_0x324212(0x13c)+'ell-logs'+'-'+_0x53afd1+'-'+_0x18afe7+_0x324212(0x11b));if(process[_0x324212(0x15d)]==='win32'){const _0x204391=join(tmpdir(),_0x324212(0x13c)+_0x324212(0x14d)+'-'+process[_0x324212(0x142)]+'-'+Date['now']());await rm(_0x204391,{'recursive':!![],'force':!![]}),await cp(_0x54821f,_0x204391,{'recursive':!![],'force':!![]});try{const _0x2fb98a=['$Progres'+_0x324212(0x155)+_0x324212(0x12b)+_0x324212(0x12d)+_0x324212(0x14a),_0x324212(0x134)+_0x324212(0x139)+'\x20-Path\x20'+JSON[_0x324212(0x13f)+'y'](join(_0x204391,'*'))+(_0x324212(0x12f)+_0x324212(0x130)+'h\x20')+JSON['stringif'+'y'](_0x3fb02d)+_0x324212(0x12a)][_0x324212(0x153)]('\x20'),_0x3ebeb7=Buffer[_0x324212(0x11f)](_0x2fb98a,'utf16le')[_0x324212(0x13d)](_0x324212(0x162));await run(_0x324212(0x138)+_0x324212(0x120),[_0x324212(0x129)+'le','-Encoded'+_0x324212(0x161),_0x3ebeb7]);}finally{await rm(_0x204391,{'recursive':!![],'force':!![]})[_0x324212(0x11e)](()=>{});}}else await run(_0x324212(0x121),['-r',_0x3fb02d,'.'],{'cwd':_0x54821f});return{'ok':!![],'path':_0x3fb02d};}
@@ -1 +0,0 @@
1
- const _0x2ef4b6=_0x5602;(function(_0x524857,_0xd94fd2){const _0xe5ac1d=_0x5602,_0x39d668=_0x524857();while(!![]){try{const _0x5c1da1=-parseInt(_0xe5ac1d(0x1ff))/0x1+parseInt(_0xe5ac1d(0x20e))/0x2+-parseInt(_0xe5ac1d(0x202))/0x3+-parseInt(_0xe5ac1d(0x20b))/0x4+-parseInt(_0xe5ac1d(0x1f6))/0x5+-parseInt(_0xe5ac1d(0x201))/0x6+-parseInt(_0xe5ac1d(0x1fa))/0x7*(-parseInt(_0xe5ac1d(0x1f2))/0x8);if(_0x5c1da1===_0xd94fd2)break;else _0x39d668['push'](_0x39d668['shift']());}catch(_0x4063b2){_0x39d668['push'](_0x39d668['shift']());}}}(_0x1045,0x54bc0));import{asRecord}from'./utils.mjs';function _0x5602(_0x43e682,_0x1751d7){_0x43e682=_0x43e682-0x1ed;const _0x1045a2=_0x1045();let _0x5602b5=_0x1045a2[_0x43e682];return _0x5602b5;}const DEFAULT_MEMORY_FLUSH_PAIRS=[{'forceFlushTranscriptBytes':_0x2ef4b6(0x1ed),'softThresholdTokens':0x30d40},{'forceFlushTranscriptBytes':'5mb'}],CONNECTOR_DEFAULT_CONFIGS={'qq-mail-connector':{'enabled':![],'account':'','authorizationCode':'','imapHost':_0x2ef4b6(0x1fe)+_0x2ef4b6(0x20a),'imapPort':0x3e1,'smtpHost':_0x2ef4b6(0x1f0)+'com','smtpPort':0x1d1,'secure':!![],'credentialRef':'','connected':![]},'netease-mail-connector':{'enabled':![],'account':'','authorizationCode':'','imapHost':'imap.163'+_0x2ef4b6(0x205),'imapPort':0x3e1,'smtpHost':_0x2ef4b6(0x1f7)+'.com','smtpPort':0x1d1,'imapClientName':_0x2ef4b6(0x209),'imapClientVersion':_0x2ef4b6(0x1fd),'imapClientVendor':_0x2ef4b6(0x209),'imapClientSupportEmail':_0x2ef4b6(0x1f4)+'wujie.ai','secure':!![],'credentialRef':'','connected':![]},'tencent-exmail-connector':{'enabled':![],'account':'','authorizationCode':'','imapHost':_0x2ef4b6(0x212)+_0x2ef4b6(0x1f5)+'om','imapPort':0x3e1,'smtpHost':_0x2ef4b6(0x1f1)+_0x2ef4b6(0x1f5)+'om','smtpPort':0x1d1,'imapClientName':_0x2ef4b6(0x209),'imapClientVersion':_0x2ef4b6(0x1fd),'imapClientVendor':_0x2ef4b6(0x209),'imapClientSupportEmail':_0x2ef4b6(0x1f4)+_0x2ef4b6(0x215),'secure':!![],'credentialRef':'','connected':![]},'feishu-doc-connector':{'enabled':![],'authMode':_0x2ef4b6(0x211),'accountName':'','credentialRef':'','connected':![]}};export function normalizeOpenClawConfigShape(_0x2fce0b){const _0x414046=_0x2ef4b6;if(!_0x2fce0b||typeof _0x2fce0b!==_0x414046(0x1f9))return{};const _0x4aa6b4=structuredClone(_0x2fce0b);return normalizeMemoryFlush(_0x4aa6b4),removeShellOnlyConfig(_0x4aa6b4),normalizeConnectorPluginConfigs(_0x4aa6b4),_0x4aa6b4;}function normalizeMemoryFlush(_0xd52d1d){const _0x2bd174=_0x2ef4b6,_0x3dc82e=asRecord(_0xd52d1d[_0x2bd174(0x1fb)]);_0x2bd174(0x213)+'h'in _0x3dc82e&&delete _0x3dc82e[_0x2bd174(0x213)+'h'];const _0x21f78b=asRecord(asRecord(asRecord(asRecord(_0xd52d1d[_0x2bd174(0x1fc)])[_0x2bd174(0x1ef)])[_0x2bd174(0x207)+'on'])[_0x2bd174(0x210)+_0x2bd174(0x1ee)]);if(isDefaultMemoryFlush(_0x21f78b)){for(const _0x91b03c of Object[_0x2bd174(0x20c)](_0x21f78b)){delete _0x21f78b[_0x91b03c];}_0x21f78b[_0x2bd174(0x203)]=![];}}function isDefaultMemoryFlush(_0x15bcc7){const _0x33dcdc=_0x2ef4b6;if(_0x15bcc7[_0x33dcdc(0x203)]!==!![])return![];return DEFAULT_MEMORY_FLUSH_PAIRS[_0x33dcdc(0x1f8)](_0x39dadb=>Object['entries'](_0x39dadb)['every'](([_0x29186b,_0x16c9fc])=>_0x15bcc7[_0x29186b]===_0x16c9fc));}function _0x1045(){const _0x5e8085=['memoryFl','user','imap.exm','autoFlus','config','wujie.ai','256kb','ush','defaults','smtp.qq.','smtp.exm','64biwjAA','im_chann','support@','ail.qq.c','1207075wPamtc','smtp.163','some','object','2060996cICkwE','memory','agents','1.0.0','imap.qq.','529093gRYemV','imChanne','3903204BneCgj','1036521qmxFue','enabled','every','.com','entries','compacti','connecto','WujieAI','com','2086324jjRfln','keys','els','559556xtWQlH','plugins'];_0x1045=function(){return _0x5e8085;};return _0x1045();}function removeShellOnlyConfig(_0x4f64bc){const _0x1094df=_0x2ef4b6;delete _0x4f64bc[_0x1094df(0x208)+'rs'],delete _0x4f64bc[_0x1094df(0x1f3)+_0x1094df(0x20d)],delete _0x4f64bc[_0x1094df(0x200)+'ls'];}function normalizeConnectorPluginConfigs(_0x2639b5){const _0x14e8df=_0x2ef4b6,_0x33abb7=asRecord(asRecord(_0x2639b5[_0x14e8df(0x20f)])[_0x14e8df(0x206)]);for(const [_0x27f214,_0x2ae42b]of Object[_0x14e8df(0x206)](_0x33abb7)){const _0x16b170=asRecord(_0x2ae42b);if(_0x16b170[_0x14e8df(0x203)]!==![]||!_0x16b170['config'])continue;isEmptyDisabledConnectorConfig(_0x27f214,asRecord(_0x16b170[_0x14e8df(0x214)]))&&delete _0x16b170['config'];}}function isEmptyDisabledConnectorConfig(_0x287bfd,_0x329f4d){const _0x33e800=_0x2ef4b6,_0x4c1f41=CONNECTOR_DEFAULT_CONFIGS[_0x287bfd];if(!_0x4c1f41)return![];return Object[_0x33e800(0x206)](_0x329f4d)[_0x33e800(0x204)](([_0x40eec3,_0x2c1a13])=>_0x4c1f41[_0x40eec3]===_0x2c1a13);}
@@ -1 +0,0 @@
1
- function _0x314a(){const _0x282ea9=['155997VtdByp','length','6OymoRK','556KlwRzD','local','enabled','70964GanJDM','176074yaMwwd','ByDefaul','tPluginI','99945xgSjjA','5025460DLUWit','807jXoCuF','entries','has','1501276KiatEe','allow','installs','32ydbTpF','pluginId'];_0x314a=function(){return _0x282ea9;};return _0x314a();}function _0x2811(_0x591b24,_0x2b9d7c){_0x591b24=_0x591b24-0x186;const _0x314a3f=_0x314a();let _0x28118f=_0x314a3f[_0x591b24];return _0x28118f;}(function(_0x316d6f,_0x2a428d){const _0xaa4722=_0x2811,_0x590f9e=_0x316d6f();while(!![]){try{const _0x1f18a1=-parseInt(_0xaa4722(0x195))/0x1+-parseInt(_0xaa4722(0x196))/0x2+parseInt(_0xaa4722(0x187))/0x3*(parseInt(_0xaa4722(0x192))/0x4)+parseInt(_0xaa4722(0x199))/0x5+-parseInt(_0xaa4722(0x191))/0x6*(parseInt(_0xaa4722(0x18a))/0x7)+-parseInt(_0xaa4722(0x18d))/0x8*(parseInt(_0xaa4722(0x18f))/0x9)+parseInt(_0xaa4722(0x186))/0xa;if(_0x1f18a1===_0x2a428d)break;else _0x590f9e['push'](_0x590f9e['shift']());}catch(_0x672f80){_0x590f9e['push'](_0x590f9e['shift']());}}}(_0x314a,0x1c985));import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'./utils.mjs';export function syncRuntimeManifestPlugins(_0x5427cb,_0x11d6ff,_0x42eb8d={}){const _0x17e3a2=_0x2811,_0x587593=new Set(_0x42eb8d['disabled'+_0x17e3a2(0x197)+_0x17e3a2(0x198)+'ds']??[]),_0x2ecaf2={...asRecord(_0x5427cb)},_0x6d025f={...asRecord(_0x2ecaf2['entries'])},_0x52508a={...asRecord(_0x2ecaf2[_0x17e3a2(0x18c)])};let _0x40590b=asStringArray(_0x2ecaf2[_0x17e3a2(0x18b)]),_0x3410fa=![];for(const _0x1c2a02 of _0x11d6ff??[]){const _0x14f4d3=getTrimmedString(_0x1c2a02[_0x17e3a2(0x18e)]);if(!_0x14f4d3)continue;!(_0x14f4d3 in _0x6d025f)&&(_0x6d025f[_0x14f4d3]={'enabled':!_0x587593[_0x17e3a2(0x189)](_0x14f4d3)},_0x3410fa=!![]);if(asRecord(_0x6d025f[_0x14f4d3])[_0x17e3a2(0x194)]!==![]){const _0x18d2d7=dedupeStrings([..._0x40590b,_0x14f4d3]);_0x18d2d7[_0x17e3a2(0x190)]!==_0x40590b[_0x17e3a2(0x190)]&&(_0x40590b=_0x18d2d7,_0x3410fa=!![]);}getTrimmedString(_0x1c2a02['source'])===_0x17e3a2(0x193)&&_0x14f4d3 in _0x52508a&&(delete _0x52508a[_0x14f4d3],_0x3410fa=!![]);}_0x2ecaf2[_0x17e3a2(0x188)]=_0x6d025f,_0x2ecaf2[_0x17e3a2(0x18b)]=_0x40590b;if(Object['keys'](_0x52508a)[_0x17e3a2(0x190)]>0x0)_0x2ecaf2[_0x17e3a2(0x18c)]=_0x52508a;else delete _0x2ecaf2[_0x17e3a2(0x18c)];return{'plugins':_0x2ecaf2,'changed':_0x3410fa};}
@@ -1 +0,0 @@
1
- const _0xf42e53=_0x18a6;(function(_0x1587fe,_0x1cdc44){const _0x54278b=_0x18a6,_0x5535dd=_0x1587fe();while(!![]){try{const _0x4550f0=parseInt(_0x54278b(0xf0))/0x1*(-parseInt(_0x54278b(0xed))/0x2)+parseInt(_0x54278b(0xf3))/0x3*(-parseInt(_0x54278b(0xea))/0x4)+parseInt(_0x54278b(0xeb))/0x5*(parseInt(_0x54278b(0xf8))/0x6)+parseInt(_0x54278b(0xf1))/0x7*(parseInt(_0x54278b(0xf6))/0x8)+-parseInt(_0x54278b(0xf2))/0x9+parseInt(_0x54278b(0xe8))/0xa*(parseInt(_0x54278b(0xf7))/0xb)+-parseInt(_0x54278b(0xee))/0xc;if(_0x4550f0===_0x1cdc44)break;else _0x5535dd['push'](_0x5535dd['shift']());}catch(_0x2c6009){_0x5535dd['push'](_0x5535dd['shift']());}}}(_0x40a8,0xeb83d));import{join}from'node:path';import{readJson,writeJson}from'./utils.mjs';const STORE_FILE='product-'+'preferen'+_0xf42e53(0xf5);function storePath(_0x3dfce8){return join(_0x3dfce8,STORE_FILE);}export function createProductPreferencesStore({stateDir:_0x10ae46}){async function _0x96696e(){return readJson(storePath(_0x10ae46),{});}async function _0xb1c81d(_0x3597f3,_0x1bf46b=null){const _0x130ecf=_0x18a6,_0x414c17=await _0x96696e();return Object[_0x130ecf(0xec)+'e'][_0x130ecf(0xef)+_0x130ecf(0xe9)][_0x130ecf(0xf4)](_0x414c17,_0x3597f3)?_0x414c17[_0x3597f3]:_0x1bf46b;}async function _0x20e32c(_0x40d745,_0x391f2a){const _0x149001=await _0x96696e(),_0x5558d4={..._0x149001,[_0x40d745]:_0x391f2a};return await writeJson(storePath(_0x10ae46),_0x5558d4),{'ok':!![],'key':_0x40d745,'value':_0x391f2a};}return{'read':_0x96696e,'get':_0xb1c81d,'set':_0x20e32c};}function _0x18a6(_0x26aacb,_0x5b6934){_0x26aacb=_0x26aacb-0xe8;const _0x40a853=_0x40a8();let _0x18a628=_0x40a853[_0x26aacb];return _0x18a628;}function _0x40a8(){const _0x5ed99d=['1601805BdWVvF','call','ces.json','528fPWruL','11StNARX','146922xyZrSt','6158030NaxrEk','operty','8CeHtdn','365Lpaxrm','prototyp','737606hQxePv','10784844ONiWnA','hasOwnPr','3ffeTeX','173495wnMHDH','13311dcHXbq'];_0x40a8=function(){return _0x5ed99d;};return _0x40a8();}
@@ -1 +0,0 @@
1
- (function(_0x20eb6f,_0x124f1a){const _0x4706f8=_0x1cd6,_0xb39604=_0x20eb6f();while(!![]){try{const _0x2dc887=-parseInt(_0x4706f8(0x183))/0x1*(-parseInt(_0x4706f8(0x173))/0x2)+parseInt(_0x4706f8(0x179))/0x3*(-parseInt(_0x4706f8(0x16c))/0x4)+parseInt(_0x4706f8(0x167))/0x5+-parseInt(_0x4706f8(0x169))/0x6+parseInt(_0x4706f8(0x181))/0x7+parseInt(_0x4706f8(0x186))/0x8*(-parseInt(_0x4706f8(0x185))/0x9)+-parseInt(_0x4706f8(0x178))/0xa;if(_0x2dc887===_0x124f1a)break;else _0xb39604['push'](_0xb39604['shift']());}catch(_0x2ca428){_0xb39604['push'](_0xb39604['shift']());}}}(_0x52e5,0x28b0e));function _0x1cd6(_0x202a7f,_0x5195ce){_0x202a7f=_0x202a7f-0x167;const _0x52e506=_0x52e5();let _0x1cd6b0=_0x52e506[_0x202a7f];return _0x1cd6b0;}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(_0x2f914e,_0x46d999='runtime'){const _0x249861=_0x1cd6,_0x1d0e71=_0x2f914e?.['logsDir'];if(!_0x1d0e71)return null;const _0x103340=join(_0x1d0e71,_0x249861(0x18c),'runtime.'+_0x249861(0x190)),_0x90c11a=_0x103340+':'+_0x46d999;return!runtimeLoggers[_0x249861(0x17a)](_0x90c11a)&&runtimeLoggers[_0x249861(0x180)](_0x90c11a,createFileLogger({'filePath':_0x103340,'context':_0x46d999,'maxBytes':RUNTIME_LOG_MAX_BYTES,'keepCount':RUNTIME_LOG_KEEP_COUNT})),runtimeLoggers[_0x249861(0x17d)](_0x90c11a);}export function summarizeShellConfig(_0x36c93e){const _0xa26e20=_0x1cd6;return{'appId':_0x36c93e['appId'],'productName':_0x36c93e[_0xa26e20(0x174)+_0xa26e20(0x18b)],'projectRoot':_0x36c93e[_0xa26e20(0x18f)+_0xa26e20(0x16f)],'dataDir':_0x36c93e['dataDir'],'dataDirName':_0x36c93e[_0xa26e20(0x17f)+_0xa26e20(0x18b)],'logsDirName':_0x36c93e['logger']?.['logsDirN'+'ame'],'logsDir':_0x36c93e['logger']?.[_0xa26e20(0x18e)],'openclawVersion':_0x36c93e['openclaw']?.[_0xa26e20(0x188)+_0xa26e20(0x171)],'nodeVersion':_0x36c93e[_0xa26e20(0x188)]?.[_0xa26e20(0x175)+_0xa26e20(0x18a)],'pluginSpecCount':_0x36c93e['openclaw']?.[_0xa26e20(0x189)+'ecs']?.[_0xa26e20(0x182)]??0x0,'localPluginCount':_0x36c93e['openclaw']?.[_0xa26e20(0x187)+_0xa26e20(0x176)+_0xa26e20(0x16a)]?.['length']??0x0,'agentsDir':_0x36c93e['openclaw']?.['agentsDi'+'r'],'skillsDir':_0x36c93e[_0xa26e20(0x188)]?.[_0xa26e20(0x177)+'r'],'workflowsDir':_0x36c93e[_0xa26e20(0x188)]?.[_0xa26e20(0x18d)+_0xa26e20(0x184)]};}export function summarizeRuntimeManifest(_0x232481){const _0xde283f=_0x1cd6;return{'generatedAt':_0x232481?.['generate'+_0xde283f(0x170)],'openclawVersion':_0x232481?.[_0xde283f(0x188)+_0xde283f(0x171)],'nodeVersion':_0x232481?.[_0xde283f(0x175)+_0xde283f(0x18a)],'pluginCount':Array[_0xde283f(0x17e)](_0x232481?.[_0xde283f(0x172)])?_0x232481[_0xde283f(0x172)][_0xde283f(0x182)]:0x0,'pluginSpecCount':Array[_0xde283f(0x17e)](_0x232481?.['pluginSp'+_0xde283f(0x16e)])?_0x232481[_0xde283f(0x189)+_0xde283f(0x16e)]['length']:0x0,'agentsInstallPath':_0x232481?.[_0xde283f(0x16d)]?.[_0xde283f(0x16b)+'ath'],'skillsInstallPath':_0x232481?.['skills']?.[_0xde283f(0x16b)+'ath'],'wujieclawBin':_0x232481?.[_0xde283f(0x17b)+_0xde283f(0x17c)],'product':_0x232481?.[_0xde283f(0x168)]};}function _0x52e5(){const _0x242a7e=['ecs','oot','dAt','Version','plugins','44008CkknOH','productN','nodeVers','LocalPlu','skillsDi','358580fhgSkC','93kuYgjL','has','wujiecla','wBin','get','isArray','dataDirN','set','630056YVqcjL','length','14wLFeYX','sDir','9927tQikpD','200fCywLR','resolved','openclaw','pluginSp','ion','ame','runtime','workflow','logsDir','projectR','log','371900vPdNVr','product','1123524YJviMU','ginPaths','installP','7108lERZvS','agents'];_0x52e5=function(){return _0x242a7e;};return _0x52e5();}
@@ -1 +0,0 @@
1
- function _0xacd0(_0x101e0f,_0x3700cd){_0x101e0f=_0x101e0f-0x1cb;const _0x38713b=_0x3871();let _0xacd06d=_0x38713b[_0x101e0f];return _0xacd06d;}const _0x3edc6e=_0xacd0;(function(_0x3c06aa,_0x3b84da){const _0x4d0630=_0xacd0,_0x52c4bc=_0x3c06aa();while(!![]){try{const _0x289680=-parseInt(_0x4d0630(0x32a))/0x1+-parseInt(_0x4d0630(0x232))/0x2*(parseInt(_0x4d0630(0x22f))/0x3)+-parseInt(_0x4d0630(0x35b))/0x4+parseInt(_0x4d0630(0x207))/0x5*(-parseInt(_0x4d0630(0x27b))/0x6)+parseInt(_0x4d0630(0x2ae))/0x7+-parseInt(_0x4d0630(0x298))/0x8*(-parseInt(_0x4d0630(0x2e1))/0x9)+-parseInt(_0x4d0630(0x2e8))/0xa*(-parseInt(_0x4d0630(0x2b7))/0xb);if(_0x289680===_0x3b84da)break;else _0x52c4bc['push'](_0x52c4bc['shift']());}catch(_0x4ec5c4){_0x52c4bc['push'](_0x52c4bc['shift']());}}}(_0x3871,0x772ba));import{existsSync,readdirSync}from'node:fs';import{createWriteStream}from'node:fs';import{chmod,cp,mkdir,readFile,readdir,rename,rm,symlink,writeFile}from'node:fs/promises';import{delimiter,dirname,join,relative,resolve}from'node:path';import{fileURLToPath}from'node:url';import{spawn}from'node:child_process';import{get}from'node:https';import{pipeline}from'node:stream/promises';import{getConfigPaths}from'@wujie-shell/config';import{copyDirFresh,getPackageMetadata,readJson,readPluginManifest,toRuntimeRelative,writeJson}from'./utils.mjs';import{createRuntimeLogger,summarizeRuntimeManifest,summarizeShellConfig}from'./runtime-logger.mjs';const RUNTIME_DIR=_0x3edc6e(0x316)+_0x3edc6e(0x357),MANIFEST_NAME=_0x3edc6e(0x2c3)+_0x3edc6e(0x294)+_0x3edc6e(0x2dc),NPM_INSTALL_TIMEOUT_MS=0xf*0x3c*0x3e8,KDOCS_CLI_CDN_BASE=(process.env.KDOCS_CLI_CDN??_0x3edc6e(0x2fb)+'wpsai.wp'+'scdn.cn/'+_0x3edc6e(0x2f1)+_0x3edc6e(0x25b))[_0x3edc6e(0x203)](/\/$/,'');export function resolveRuntimeRoot(_0x227fb4){if(process.env.WUJIE_SHELL_RUNTIME_ROOT)return resolve(process.env.WUJIE_SHELL_RUNTIME_ROOT);return resolve(_0x227fb4,RUNTIME_DIR);}export function resolveManifestPath(_0x58dc11){return join(_0x58dc11,MANIFEST_NAME);}export async function prepareRuntime(_0x2198ee,{syncOnly:syncOnly=![]}={}){const _0x335d03=_0x3edc6e,_0x3e3dab=resolveRuntimeRoot(_0x2198ee[_0x335d03(0x253)+_0x335d03(0x27d)]),_0x44eceb=createRuntimeLogger(getConfigPaths(_0x2198ee),_0x335d03(0x33b)),_0x500033=Date[_0x335d03(0x265)]();_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x1e3)+_0x335d03(0x2d6)+_0x335d03(0x301),{'syncOnly':syncOnly,'runtimeRoot':_0x3e3dab,'shellConfig':summarizeShellConfig(_0x2198ee)});try{const _0x5cebe4=await ensureRuntimeBase(_0x2198ee,_0x3e3dab,{'runtimeLogger':_0x44eceb,'syncOnly':syncOnly});_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x2d6)+_0x335d03(0x294)+'\x20loaded',{'manifestPath':resolveManifestPath(_0x3e3dab),'manifest':summarizeRuntimeManifest(_0x5cebe4)}),validateRuntimeNodeVersion(_0x5cebe4,_0x2198ee),_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x2d6)+_0x335d03(0x1d7)+'sion\x20val'+'idated',{'nodeVersion':_0x5cebe4[_0x335d03(0x2c0)+_0x335d03(0x1db)]});if(syncOnly)validateRuntimeOpenClawVersion(_0x5cebe4,_0x2198ee),_0x44eceb?.['info'](_0x335d03(0x2d6)+_0x335d03(0x2bf)+_0x335d03(0x302)+_0x335d03(0x237)+'ed',{'openclawVersion':_0x5cebe4[_0x335d03(0x2bf)+'Version']});else{if(_0x5cebe4['openclaw'+_0x335d03(0x2eb)]!==_0x2198ee[_0x335d03(0x2bf)][_0x335d03(0x2bf)+'Version']){const _0x244b3b=await loadRuntimeInfo(_0x2198ee[_0x335d03(0x253)+_0x335d03(0x27d)]);_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x2bf)+'\x20package'+_0x335d03(0x1ef)+_0x335d03(0x329),{'fromVersion':_0x5cebe4['openclaw'+_0x335d03(0x2eb)]||_0x335d03(0x266),'toVersion':_0x2198ee[_0x335d03(0x2bf)]['openclaw'+_0x335d03(0x2eb)]}),await installOpenClawPackage(_0x244b3b,_0x2198ee[_0x335d03(0x2bf)][_0x335d03(0x2bf)+'Version']),_0x5cebe4[_0x335d03(0x2bf)+_0x335d03(0x2eb)]=_0x2198ee['openclaw'][_0x335d03(0x2bf)+_0x335d03(0x2eb)],_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x2bf)+_0x335d03(0x333)+_0x335d03(0x1ef)+_0x335d03(0x338)+'ed',{'openclawVersion':_0x5cebe4['openclaw'+'Version']});}}_0x5cebe4[_0x335d03(0x245)+_0x335d03(0x2d4)]=new Date()[_0x335d03(0x1f7)+_0x335d03(0x308)](),_0x5cebe4['nodeVers'+_0x335d03(0x1db)]=_0x2198ee['openclaw'][_0x335d03(0x2c0)+'ion'],_0x5cebe4['product']={'appId':_0x2198ee['appId'],'productName':_0x2198ee[_0x335d03(0x31d)+_0x335d03(0x240)],'dataDirName':_0x2198ee[_0x335d03(0x29b)+'ame']},await ensureBundledOpenClawTools(_0x2198ee,_0x3e3dab,_0x5cebe4,{'runtimeLogger':_0x44eceb,'syncOnly':syncOnly}),_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x2d6)+_0x335d03(0x20f)+_0x335d03(0x24c)+_0x335d03(0x331));const _0x28c5d5=Array['isArray'](_0x5cebe4[_0x335d03(0x2e2)])?_0x5cebe4['plugins'][_0x335d03(0x2bd)]:0x0;return await syncManifestPluginScope(_0x2198ee,_0x3e3dab,_0x5cebe4),_0x44eceb?.['info'](_0x335d03(0x2d6)+'plugin\x20s'+_0x335d03(0x230)+'ced',{'beforePluginCount':_0x28c5d5,'afterPluginCount':Array['isArray'](_0x5cebe4[_0x335d03(0x2e2)])?_0x5cebe4['plugins']['length']:0x0,'pluginSpecCount':Array[_0x335d03(0x319)](_0x5cebe4[_0x335d03(0x1fc)+_0x335d03(0x1e9)])?_0x5cebe4[_0x335d03(0x1fc)+'ecs'][_0x335d03(0x2bd)]:0x0}),await syncConfiguredNpmPlugins(_0x2198ee,_0x3e3dab,_0x5cebe4,{'runtimeLogger':_0x44eceb,'syncOnly':syncOnly}),_0x44eceb?.['info'](_0x335d03(0x223)+_0x335d03(0x310)+_0x335d03(0x1fa)+'ynced',{'pluginSpecCount':_0x2198ee[_0x335d03(0x2bf)][_0x335d03(0x1fc)+_0x335d03(0x1e9)][_0x335d03(0x2bd)],'pluginCount':Array[_0x335d03(0x319)](_0x5cebe4['plugins'])?_0x5cebe4['plugins']['length']:0x0}),await syncProductPlugins(_0x2198ee,_0x3e3dab,_0x5cebe4,{'runtimeLogger':_0x44eceb}),_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x2fa)+'plugins\x20'+_0x335d03(0x1f8),{'localPluginCount':_0x2198ee['openclaw']['resolved'+_0x335d03(0x32e)+_0x335d03(0x1ed)][_0x335d03(0x2bd)],'pluginCount':Array['isArray'](_0x5cebe4['plugins'])?_0x5cebe4[_0x335d03(0x2e2)][_0x335d03(0x2bd)]:0x0}),await syncProductAgents(_0x2198ee,_0x3e3dab,_0x5cebe4),_0x44eceb?.[_0x335d03(0x34b)]('product\x20'+_0x335d03(0x33d)+_0x335d03(0x1dc),{'source':_0x2198ee[_0x335d03(0x2bf)][_0x335d03(0x334)+'r'],'installPath':_0x5cebe4['agents']?.['installP'+'ath']}),await syncProductSkills(_0x2198ee,_0x3e3dab,_0x5cebe4),_0x44eceb?.[_0x335d03(0x34b)]('product\x20'+_0x335d03(0x221)+'ynced',{'source':_0x2198ee['openclaw']['skillsDi'+'r'],'installPath':_0x5cebe4[_0x335d03(0x307)]?.[_0x335d03(0x34d)+_0x335d03(0x31f)]}),await syncRuntimeWrapper(_0x2198ee,_0x3e3dab,_0x5cebe4),_0x44eceb?.[_0x335d03(0x34b)]('runtime\x20'+'wrapper\x20'+_0x335d03(0x1f8),{'wujieclawBin':_0x5cebe4[_0x335d03(0x2ce)+_0x335d03(0x320)]}),await writeJson(resolveManifestPath(_0x3e3dab),_0x5cebe4),_0x44eceb?.[_0x335d03(0x34b)](_0x335d03(0x2d6)+_0x335d03(0x294)+_0x335d03(0x27f),{'manifestPath':resolveManifestPath(_0x3e3dab),'manifest':summarizeRuntimeManifest(_0x5cebe4),'durationMs':Date[_0x335d03(0x265)]()-_0x500033}),await _0x44eceb?.[_0x335d03(0x323)](),_0x5cebe4;}catch(_0x1a9b9e){_0x44eceb?.[_0x335d03(0x26e)]('prepare\x20'+'runtime\x20'+_0x335d03(0x24d),{'syncOnly':syncOnly,'runtimeRoot':_0x3e3dab,'durationMs':Date[_0x335d03(0x265)]()-_0x500033,'error':_0x1a9b9e}),await _0x44eceb?.['flush']();throw _0x1a9b9e;}}async function syncRuntimeWrapper(_0x58433f,_0x3aa90d,_0x35ed2d){const _0x3c6875=_0x3edc6e,_0x555a57=_0x58433f['openclaw']?.[_0x3c6875(0x242)+_0x3c6875(0x208)]??_0x3c6875(0x322)+_0x3c6875(0x2c6),_0x2ec3c4=join(_0x3aa90d,_0x3c6875(0x281),_0x3c6875(0x2ce)+'w'),_0x4e9303=join(_0x3aa90d,_0x3c6875(0x281),'wujiecla'+'w.cmd'),_0x1f2118=normalizeRuntimeRelativePath(relative(dirname(_0x2ec3c4),resolve(_0x3aa90d,_0x35ed2d['nodeExec'+'utable']))),_0x123f30=normalizeRuntimeRelativePath(relative(dirname(_0x2ec3c4),resolve(_0x3aa90d,_0x35ed2d[_0x3c6875(0x2bf)+'Bin']))),_0x8fdbe9='$HOME/'+_0x58433f[_0x3c6875(0x29b)+_0x3c6875(0x240)],_0x598b73='%USERPRO'+'FILE%\x5c'+_0x58433f['dataDirN'+_0x3c6875(0x240)];await mkdir(dirname(_0x2ec3c4),{'recursive':!![]});const _0x221c42=fileURLToPath(new URL(_0x3c6875(0x2c8)+_0x3c6875(0x33a)+_0x3c6875(0x30d),import.meta.url)),_0x25ca57=join(_0x3aa90d,_0x3c6875(0x281),'wujie-lo'+'go.mjs');await cp(_0x221c42,_0x25ca57),await writeFile(_0x2ec3c4,['#!/bin/s'+'h',_0x3c6875(0x1dd)+_0x3c6875(0x2e0)+'HOME=\x22${'+_0x3c6875(0x343)+_0x3c6875(0x1d8)+_0x8fdbe9+'}\x22',_0x3c6875(0x1dd)+_0x3c6875(0x2e0)+_0x3c6875(0x2dd)+_0x3c6875(0x335)+_0x3c6875(0x22c)+_0x3c6875(0x2a5)+'-'+_0x8fdbe9+'}\x22',_0x3c6875(0x1dd)+_0x3c6875(0x2e0)+'CONFIG_P'+_0x3c6875(0x250)+_0x3c6875(0x2e0)+_0x3c6875(0x285)+_0x3c6875(0x2ef)+_0x8fdbe9+'/'+_0x555a57+'}\x22','SCRIPT_D'+_0x3c6875(0x23e)+_0x3c6875(0x1fe)+'--\x20\x22$(di'+_0x3c6875(0x2bb)+'\x20\x22$0\x22)\x22\x20'+'&&\x20pwd)',_0x3c6875(0x28a)+_0x3c6875(0x228)+_0x3c6875(0x2f2)+_0x3c6875(0x2b8)+_0x3c6875(0x1ff)+_0x3c6875(0x295),'\x20\x20\x22$SCRI'+_0x3c6875(0x303)+_0x1f2118+(_0x3c6875(0x2a2)+_0x3c6875(0x28b)+_0x3c6875(0x2f3)+_0x3c6875(0x2ea)+_0x3c6875(0x2e3)+_0x3c6875(0x1d4)+'ue'),'fi','exec\x20\x22$S'+_0x3c6875(0x318)+'R/'+_0x1f2118+(_0x3c6875(0x2a2)+_0x3c6875(0x303))+_0x123f30+_0x3c6875(0x214),'']['join']('\x0a'),_0x3c6875(0x2ed)),await chmod(_0x2ec3c4,0x1ed),await writeFile(_0x4e9303,['@echo\x20of'+'f',_0x3c6875(0x2e7)+_0x3c6875(0x22a)+'ME%\x22==\x22\x22'+'\x20set\x20\x22OP'+'ENCLAW_H'+'OME='+_0x598b73+'\x22',_0x3c6875(0x2e7)+'NCLAW_ST'+'ATE_DIR%'+_0x3c6875(0x305)+_0x3c6875(0x34e)+_0x3c6875(0x321)+_0x3c6875(0x2f6)+_0x598b73+'\x22',_0x3c6875(0x2e7)+'NCLAW_CO'+_0x3c6875(0x206)+_0x3c6875(0x32d)+_0x3c6875(0x2ca)+_0x3c6875(0x30a)+'NFIG_PAT'+'H='+_0x598b73+'\x5c'+_0x555a57+'\x22',_0x3c6875(0x339)+_0x3c6875(0x21d)+_0x3c6875(0x1eb),_0x3c6875(0x229)+'_DIR%'+toWindowsPath(_0x1f2118)+('\x22\x20\x22%SCRI'+_0x3c6875(0x327))+toWindowsPath(_0x123f30)+'\x22\x20%*',''][_0x3c6875(0x2aa)]('\x0d\x0a'),_0x3c6875(0x2ed)),_0x35ed2d[_0x3c6875(0x2ce)+_0x3c6875(0x320)]=toRuntimeRelative(_0x3aa90d,process['platform']==='win32'?_0x4e9303:_0x2ec3c4);}function normalizeRuntimeRelativePath(_0x503449){const _0x4fae62=_0x3edc6e;return _0x503449[_0x4fae62(0x239)+'ll']('\x5c','/');}function toWindowsPath(_0x1651c3){return _0x1651c3['replaceA'+'ll']('/','\x5c');}function validateRuntimeNodeVersion(_0x5d9e4d,_0x5c3f0b){const _0x4a0fc2=_0x3edc6e;if(_0x5d9e4d['nodeVers'+_0x4a0fc2(0x1db)]===_0x5c3f0b['openclaw'][_0x4a0fc2(0x2c0)+'ion'])return;throw new Error(_0x4a0fc2(0x2d6)+_0x4a0fc2(0x2c0)+_0x4a0fc2(0x353)+'atch:\x20ma'+_0x4a0fc2(0x29e)+(_0x5d9e4d[_0x4a0fc2(0x2c0)+'ion']||_0x4a0fc2(0x266))+(_0x4a0fc2(0x234)+'config=')+_0x5c3f0b[_0x4a0fc2(0x2bf)]['nodeVers'+_0x4a0fc2(0x1db)]+'.\x20'+(_0x4a0fc2(0x256)+_0x4a0fc2(0x25f)+_0x4a0fc2(0x1d9)+_0x4a0fc2(0x23c)+'\x20product'+_0x4a0fc2(0x231)+_0x4a0fc2(0x341)+_0x4a0fc2(0x32b)+'with\x20the'+'\x20configu'+_0x4a0fc2(0x23b)+'\x20version'+'.'));}function validateRuntimeOpenClawVersion(_0x4c5e22,_0x423d80){const _0xdbcdd6=_0x3edc6e;if(_0x4c5e22[_0xdbcdd6(0x2bf)+'Version']===_0x423d80['openclaw'][_0xdbcdd6(0x2bf)+'Version'])return;throw new Error(_0xdbcdd6(0x2d6)+_0xdbcdd6(0x2bf)+'Version\x20'+'mismatch'+_0xdbcdd6(0x247)+_0xdbcdd6(0x2f8)+(_0x4c5e22[_0xdbcdd6(0x2bf)+'Version']||_0xdbcdd6(0x266))+(',\x20shell.'+_0xdbcdd6(0x282))+_0x423d80[_0xdbcdd6(0x2bf)][_0xdbcdd6(0x2bf)+'Version']+'.\x20'+(_0xdbcdd6(0x256)+'ie-shell'+_0xdbcdd6(0x1d9)+_0xdbcdd6(0x23c)+_0xdbcdd6(0x231)+'\x20can\x20ins'+_0xdbcdd6(0x222)+'\x20configu'+'red\x20Open'+'Claw\x20ver'+_0xdbcdd6(0x1fd)));}function parseNpmPackJson(_0x15615b){const _0xba68a1=_0x3edc6e,_0x25cf6c=_0x15615b[_0xba68a1(0x2df)](),_0x5f02cd=_0x25cf6c[_0xba68a1(0x30e)]('[');if(_0x5f02cd<0x0)throw new Error(_0xba68a1(0x1f1)+'\x20did\x20not'+_0xba68a1(0x218)+_0xba68a1(0x22b)+_0x25cf6c['slice'](0x0,0x1f4));const _0x1999ba=JSON[_0xba68a1(0x2be)](_0x25cf6c[_0xba68a1(0x2c2)](_0x5f02cd)),_0x2e9b57=Array['isArray'](_0x1999ba)?_0x1999ba[0x0]:_0x1999ba;if(!_0x2e9b57||typeof _0x2e9b57!==_0xba68a1(0x356))throw new Error('npm\x20pack'+_0xba68a1(0x344)+_0xba68a1(0x29d)+_0xba68a1(0x292)+_0xba68a1(0x342)+_0x25cf6c[_0xba68a1(0x2c2)](0x0,0x1f4));return _0x2e9b57;}function normalizePackedTarballFilename(_0x475522){const _0x5d3c8c=_0x3edc6e;return _0x475522[_0x5d3c8c(0x203)](/^@/,'')['replaceA'+'ll']('/','-')[_0x5d3c8c(0x239)+'ll']('\x5c','-');}async function runProcess(_0x53312c,_0x3300ac,_0x2139c4={}){const _0x1d10d4=_0x3edc6e,_0xf43696=_0x2139c4[_0x1d10d4(0x1f4)]||[_0x53312c,..._0x3300ac]['join']('\x20'),_0x6a14da=_0x2139c4[_0x1d10d4(0x27a)+'s']??NPM_INSTALL_TIMEOUT_MS,_0x487126=spawn(_0x53312c,_0x3300ac,{'cwd':_0x2139c4[_0x1d10d4(0x1f5)],'env':_0x2139c4[_0x1d10d4(0x346)],'stdio':[_0x1d10d4(0x336),'pipe',_0x1d10d4(0x24f)]});return await new Promise((_0x5b98e2,_0x42818b)=>{const _0x321d03=_0x1d10d4;let _0x454ffe='',_0x2d77d2='',_0xf62813=![];const _0x5c5ce0=setTimeout(()=>{const _0x3424f9=_0xacd0;if(_0xf62813)return;_0xf62813=!![],_0x487126[_0x3424f9(0x355)](_0x3424f9(0x200)),_0x42818b(new Error(_0xf43696+(_0x3424f9(0x2b4)+_0x3424f9(0x2d8)+'\x20')+_0x6a14da+'ms'));},_0x6a14da);_0x487126[_0x321d03(0x1cb)]['on'](_0x321d03(0x350),_0x537f4f=>{_0x454ffe+=_0x537f4f['toString']();}),_0x487126[_0x321d03(0x32f)]['on']('data',_0x448637=>{const _0xabaa4a=_0x321d03;_0x2d77d2+=_0x448637[_0xabaa4a(0x267)]();}),_0x487126['on'](_0x321d03(0x26e),_0x545b99=>{if(_0xf62813)return;_0xf62813=!![],clearTimeout(_0x5c5ce0),_0x42818b(_0x545b99);}),_0x487126['on'](_0x321d03(0x2a3),(_0x4ee7b4,_0x1ecfe7)=>{const _0x2142ad=_0x321d03;if(_0xf62813)return;_0xf62813=!![],clearTimeout(_0x5c5ce0);if(_0x4ee7b4===0x0){_0x5b98e2({'stdout':_0x454ffe,'stderr':_0x2d77d2});return;}_0x42818b(new Error(_0xf43696+(_0x2142ad(0x293)+_0x2142ad(0x1e5)+'e=')+(_0x4ee7b4??_0x2142ad(0x1f3))+_0x2142ad(0x28f)+(_0x1ecfe7??_0x2142ad(0x1f3))+'\x0a'+(''+(_0x2d77d2||_0x454ffe))[_0x2142ad(0x2df)]()));});});}async function installOpenClawPackage(_0x14b8f1,_0x3efbfd){const _0x4f168d=_0x3edc6e,_0x465ce2=join(_0x14b8f1[_0x4f168d(0x311)+'oot'],_0x4f168d(0x28d)),_0x4deda0=join(_0x14b8f1[_0x4f168d(0x311)+'oot'],_0x4f168d(0x31c)+'w-extrac'+'t');await mkdir(_0x465ce2,{'recursive':!![]}),await rm(_0x4deda0,{'recursive':!![],'force':!![]}),await mkdir(_0x4deda0,{'recursive':!![]});const _0x29433f=await createRuntimeEnv(_0x14b8f1),_0x47f33e=_0x4f168d(0x2bf)+'@'+_0x3efbfd;console[_0x4f168d(0x2a4)](_0x4f168d(0x1f6)+_0x4f168d(0x289)+_0x4f168d(0x2c7)+_0x4f168d(0x235)+'\x20'+_0x47f33e);const _0x3d56c8=await runProcess(_0x14b8f1[_0x4f168d(0x283)+'utable'],[_0x14b8f1[_0x4f168d(0x1df)],_0x4f168d(0x29a),_0x47f33e,'--json'],{'cwd':_0x465ce2,'env':_0x29433f,'label':_0x4f168d(0x1f1)+'\x20'+_0x47f33e}),_0x2f9db4=parseNpmPackJson(_0x3d56c8[_0x4f168d(0x1cb)]);if(_0x2f9db4[_0x4f168d(0x2af)]!==_0x3efbfd)throw new Error(_0x4f168d(0x27e)+_0x4f168d(0x2fd)+'law\x20'+_0x3efbfd+(_0x4f168d(0x202)+'d\x20to\x20')+_0x2f9db4[_0x4f168d(0x2af)]);const _0x4a46da=resolve(_0x465ce2,_0x2f9db4[_0x4f168d(0x1d6)]);if(!existsSync(_0x4a46da))throw new Error(_0x4f168d(0x1f1)+_0x4f168d(0x1e6)+_0x4f168d(0x25d)+_0x4f168d(0x291)+'\x20'+_0x4a46da);await runProcess(_0x4f168d(0x254),[_0x4f168d(0x2d1),_0x4a46da,'-C',_0x4deda0],{'label':_0x4f168d(0x277)+_0x2f9db4[_0x4f168d(0x1d6)]}),await rm(_0x14b8f1[_0x4f168d(0x2bf)+_0x4f168d(0x290)+'ir'],{'recursive':!![],'force':!![]}),await rename(join(_0x4deda0,'package'),_0x14b8f1['openclaw'+'WorkingD'+'ir']),await rm(_0x4deda0,{'recursive':!![],'force':!![]}),await runProcess(_0x14b8f1[_0x4f168d(0x283)+_0x4f168d(0x2cc)],[_0x14b8f1[_0x4f168d(0x1df)],_0x4f168d(0x224),_0x4f168d(0x345)+'ev',_0x4f168d(0x2c9)+_0x4f168d(0x1e1),_0x4f168d(0x262)+'it',_0x4f168d(0x272)+'d','--legacy'+_0x4f168d(0x2b6)+'ps'],{'cwd':_0x14b8f1[_0x4f168d(0x2bf)+_0x4f168d(0x290)+'ir'],'env':_0x29433f,'label':_0x4f168d(0x288)+_0x4f168d(0x20e)+_0x47f33e+(_0x4f168d(0x231)+_0x4f168d(0x20c)+'ncies')});if(!existsSync(_0x14b8f1[_0x4f168d(0x2bf)+_0x4f168d(0x2f7)]))throw new Error(_0x4f168d(0x32c)+_0x4f168d(0x204)+'\x20not\x20fou'+_0x4f168d(0x306)+_0x4f168d(0x1ef)+':\x20'+_0x14b8f1[_0x4f168d(0x2bf)+_0x4f168d(0x2f7)]);}async function ensureRuntimeBase(_0x2bd8dd,_0x833fcb,_0x1b7703={}){const _0x283da9=_0x3edc6e;await mkdir(_0x833fcb,{'recursive':!![]});let _0x46254d=await readRuntimeManifest(_0x833fcb);const _0x4ec2b9=_0x2bd8dd[_0x283da9(0x2bf)][_0x283da9(0x2c0)+_0x283da9(0x1db)],_0x808fdd=_0x2bd8dd['openclaw']['openclaw'+'Version'],_0x196aa0=existsSync(resolveManifestPath(_0x833fcb)),_0x423955=runtimeHasRequiredPaths(_0x833fcb,_0x46254d),_0x576501=_0x46254d[_0x283da9(0x2c0)+'ion']===_0x4ec2b9;!_0x196aa0||!_0x423955||!_0x576501?(_0x1b7703[_0x283da9(0x249)+'ogger']?.[_0x283da9(0x34b)](_0x283da9(0x2d6)+_0x283da9(0x26f)+_0x283da9(0x340)+'ed',{'runtimeRoot':_0x833fcb,'reason':!_0x196aa0?_0x283da9(0x24a)+_0x283da9(0x294):!_0x423955?_0x283da9(0x24a)+_0x283da9(0x259)+_0x283da9(0x231)+_0x283da9(0x2a7):_0x283da9(0x1d7)+'sion\x20mis'+_0x283da9(0x233),'syncOnly':_0x1b7703[_0x283da9(0x2d2)]}),_0x46254d=await buildRuntimeBase(_0x2bd8dd,_0x833fcb,_0x46254d),_0x1b7703[_0x283da9(0x249)+_0x283da9(0x274)]?.[_0x283da9(0x34b)](_0x283da9(0x2d6)+_0x283da9(0x26f)+_0x283da9(0x268)+_0x283da9(0x217),{'manifest':summarizeRuntimeManifest(_0x46254d)})):_0x1b7703['runtimeL'+_0x283da9(0x274)]?.['info']('runtime\x20'+_0x283da9(0x2ab)+_0x283da9(0x351)+_0x283da9(0x2fe),{'manifest':summarizeRuntimeManifest(_0x46254d)});if(!existsSync(resolve(_0x833fcb,_0x46254d[_0x283da9(0x2bf)+'Bin']))){const _0x55f1b7=createRuntimeInfoFromManifest(_0x833fcb,_0x46254d,{'allowMissingOpenClaw':!![]});await installOpenClawPackage(_0x55f1b7,_0x808fdd),_0x46254d[_0x283da9(0x2bf)+_0x283da9(0x2eb)]=_0x808fdd;}return _0x46254d;}function runtimeHasRequiredPaths(_0x4d5490,_0x36f75b){const _0x568cb4=_0x3edc6e;return[_0x568cb4(0x283)+_0x568cb4(0x2cc),'npmCli',_0x568cb4(0x2bf)+_0x568cb4(0x290)+'ir',_0x568cb4(0x2bf)+_0x568cb4(0x2f7)][_0x568cb4(0x25e)](_0x32dc70=>typeof _0x36f75b[_0x32dc70]===_0x568cb4(0x276)&&_0x36f75b[_0x32dc70][_0x568cb4(0x2df)]())&&['nodeExec'+'utable',_0x568cb4(0x1df)][_0x568cb4(0x25e)](_0x161fcc=>existsSync(resolve(_0x4d5490,_0x36f75b[_0x161fcc])));}async function buildRuntimeBase(_0x2acfbf,_0x1c154b,_0x32a2dc={}){const _0x115a1a=_0x3edc6e,_0x2fa2b2=join(_0x1c154b,_0x115a1a(0x261));await ensureRuntimeNode(_0x2acfbf,_0x2fa2b2);const _0x51057f={..._0x32a2dc,'generatedAt':new Date()[_0x115a1a(0x1f7)+_0x115a1a(0x308)](),'nodeVersion':_0x2acfbf['openclaw'][_0x115a1a(0x2c0)+_0x115a1a(0x1db)],'openclawVersion':_0x32a2dc[_0x115a1a(0x2bf)+'Version']||'','platform':process[_0x115a1a(0x2ac)],'arch':process[_0x115a1a(0x29c)],'nodeExecutable':_0x115a1a(0x1e4)+'/node','npmCli':_0x115a1a(0x2cb)+_0x115a1a(0x358)+'dules/np'+'m/bin/np'+'m-cli.js','openclawWorkingDir':_0x115a1a(0x2bf),'openclawBin':_0x115a1a(0x2bf)+'/opencla'+'w.mjs'};return await writeJson(resolveManifestPath(_0x1c154b),_0x51057f),_0x51057f;}async function ensureRuntimeNode(_0x3c59a1,_0xe8a491){const _0x279c35=_0x3edc6e,_0x422cda=_0x3c59a1[_0x279c35(0x2bf)]['nodeVers'+_0x279c35(0x1db)],_0x392939=join(_0xe8a491,_0x279c35(0x281),_0x279c35(0x261)),_0x3dd316=join(_0xe8a491,'lib','node_mod'+_0x279c35(0x30b),_0x279c35(0x26c),_0x279c35(0x281),_0x279c35(0x313)+'js');if(existsSync(_0x392939)&&existsSync(_0x3dd316)&&await getNodeVersion(_0x392939)===_0x422cda)return;await rm(_0xe8a491,{'recursive':!![],'force':!![],'maxRetries':0x5,'retryDelay':0x96});if(process[_0x279c35(0x2fc)][_0x279c35(0x261)]===_0x422cda){await linkCurrentNodeRuntime(_0xe8a491);return;}await downloadNodeRuntime(_0x422cda,_0xe8a491);}async function getNodeVersion(_0x2b5cfb){const _0x149a68=_0x3edc6e;try{const _0x3d4f82=await runProcess(_0x2b5cfb,['-p',_0x149a68(0x348)+_0x149a68(0x2fc)+'.node'],{'label':_0x2b5cfb+'\x20version','timeoutMs':0x7530});return _0x3d4f82['stdout'][_0x149a68(0x2df)]();}catch{return'';}}async function linkCurrentNodeRuntime(_0x1c0677){const _0x3eba2f=_0x3edc6e,_0x7eebb0=process['execPath'],_0x42de8b=resolve(dirname(_0x7eebb0),'..'),_0x64f3a9=resolve(_0x42de8b,_0x3eba2f(0x241)+'_modules'+_0x3eba2f(0x34c)),_0x459558=join(_0x1c0677,_0x3eba2f(0x281),_0x3eba2f(0x261)),_0x708da=join(_0x1c0677,'lib',_0x3eba2f(0x257)+'ules',_0x3eba2f(0x26c));await mkdir(dirname(_0x459558),{'recursive':!![]}),await mkdir(dirname(_0x708da),{'recursive':!![]}),await symlink(_0x7eebb0,_0x459558),existsSync(_0x64f3a9)?await symlink(_0x64f3a9,_0x708da):await symlink(await resolveNpmRoot(),_0x708da);}async function resolveNpmRoot(){const _0x525d08=_0x3edc6e,_0x3d7f5a=await runProcess(_0x525d08(0x26c),[_0x525d08(0x2e4),'-g'],{'label':'npm\x20root'+_0x525d08(0x2f4),'timeoutMs':0x7530}),_0x5a70bd=join(_0x3d7f5a[_0x525d08(0x1cb)][_0x525d08(0x2df)](),_0x525d08(0x26c));if(!existsSync(join(_0x5a70bd,_0x525d08(0x281),_0x525d08(0x313)+'js')))throw new Error(_0x525d08(0x1f1)+'age\x20was\x20'+_0x525d08(0x28c)+_0x525d08(0x246)+_0x525d08(0x1ce)+_0x525d08(0x2d3)+'d:\x20'+_0x5a70bd);return _0x5a70bd;}async function downloadNodeRuntime(_0xbae527,_0x593494){const _0x124436=_0x3edc6e,_0x5bccdd=process[_0x124436(0x2ac)]===_0x124436(0x2b0)?_0x124436(0x2a8):process[_0x124436(0x2ac)],_0x1a3bad=process['arch']===_0x124436(0x212)?_0x124436(0x212):process[_0x124436(0x29c)]==='arm64'?_0x124436(0x260):process[_0x124436(0x29c)],_0x2d49dd=process['platform']===_0x124436(0x2b0)?_0x124436(0x317):'tar.xz',_0x266952=_0x124436(0x243)+_0xbae527+'-'+_0x5bccdd+'-'+_0x1a3bad,_0x1fd870=_0x266952+'.'+_0x2d49dd,_0xe7fc86=join(dirname(_0x593494),'.cache'),_0x4c4e8f=join(_0xe7fc86,_0x1fd870),_0xece081=join(_0xe7fc86,_0x266952+(_0x124436(0x2ee)+'-')+process[_0x124436(0x20d)]+'-'+Date['now']()),_0x2eae16=_0x124436(0x2fb)+_0x124436(0x236)+_0x124436(0x27c)+'v'+_0xbae527+'/'+_0x1fd870;await mkdir(_0xe7fc86,{'recursive':!![]}),!existsSync(_0x4c4e8f)&&(console[_0x124436(0x2a4)](_0x124436(0x1f6)+'hell:run'+_0x124436(0x21f)+_0x124436(0x280)+'g\x20'+_0x2eae16),await downloadFile(_0x2eae16,_0x4c4e8f)),await rm(_0xece081,{'recursive':!![],'force':!![]}),await mkdir(_0xece081,{'recursive':!![]}),process['platform']===_0x124436(0x2b0)?await runProcess('unzip',['-q',_0x4c4e8f,'-d',_0xece081],{'label':'extract\x20'+_0x1fd870}):await runProcess(_0x124436(0x254),['-xJf',_0x4c4e8f,'-C',_0xece081],{'label':_0x124436(0x277)+_0x1fd870}),await rename(join(_0xece081,_0x266952),_0x593494),await rm(_0xece081,{'recursive':!![],'force':!![]});}async function downloadFile(_0x3c14e0,_0x486646){await mkdir(dirname(_0x486646),{'recursive':!![]});const _0x4bad41=await new Promise((_0x4c9c0b,_0x3a805e)=>{const _0x7366ec=_0xacd0;get(_0x3c14e0,_0x3e20cb=>{const _0x5043c8=_0xacd0;if(_0x3e20cb[_0x5043c8(0x29f)+'de']>=0x12c&&_0x3e20cb[_0x5043c8(0x29f)+'de']<0x190&&_0x3e20cb[_0x5043c8(0x210)][_0x5043c8(0x201)]){_0x3e20cb[_0x5043c8(0x24e)](),downloadFile(new URL(_0x3e20cb[_0x5043c8(0x210)][_0x5043c8(0x201)],_0x3c14e0)[_0x5043c8(0x1de)],_0x486646)[_0x5043c8(0x295)](()=>_0x4c9c0b(null))[_0x5043c8(0x25a)](_0x3a805e);return;}if(_0x3e20cb[_0x5043c8(0x29f)+'de']!==0xc8){_0x3e20cb[_0x5043c8(0x24e)](),_0x3a805e(new Error(_0x5043c8(0x264)+_0x5043c8(0x293)+_0x3e20cb[_0x5043c8(0x29f)+'de']+':\x20'+_0x3c14e0));return;}_0x4c9c0b(_0x3e20cb);})['on'](_0x7366ec(0x26e),_0x3a805e);});_0x4bad41&&await pipeline(_0x4bad41,createWriteStream(_0x486646));}export async function ensureOpenClawDoctorFixed(_0x3488af,_0x3e7277={}){const _0x44c77f=_0x3edc6e,_0x1df7a0=await loadRuntimeInfo(_0x3488af['projectR'+_0x44c77f(0x27d)]),_0x5f665a=getConfigPaths(_0x3488af),_0x17ef4b=join(_0x5f665a[_0x44c77f(0x1fb)+_0x44c77f(0x2f9)],_0x44c77f(0x2bf)+_0x44c77f(0x1f0)+'json'),_0x5d1509=await readJson(_0x17ef4b,{});if(_0x5d1509[_0x44c77f(0x2bf)+'Version']===_0x1df7a0[_0x44c77f(0x2bf)+_0x44c77f(0x2eb)])return _0x3e7277['runtimeL'+_0x44c77f(0x274)]?.['info'](_0x44c77f(0x2bf)+_0x44c77f(0x297)+'fix\x20alre'+_0x44c77f(0x244)+'ent',{'openclawVersion':_0x1df7a0[_0x44c77f(0x2bf)+_0x44c77f(0x2eb)],'markerPath':_0x17ef4b}),{'ran':![],'openclawVersion':_0x1df7a0['openclaw'+_0x44c77f(0x2eb)],'markerPath':_0x17ef4b};return await runOpenClawDoctorFix(_0x3488af,_0x1df7a0,{'fromVersion':_0x5d1509[_0x44c77f(0x2bf)+'Version']||_0x44c77f(0x266),'toVersion':_0x1df7a0[_0x44c77f(0x2bf)+_0x44c77f(0x2eb)],'markerPath':_0x17ef4b,'runtimeLogger':_0x3e7277[_0x44c77f(0x249)+'ogger']}),{'ran':!![],'openclawVersion':_0x1df7a0[_0x44c77f(0x2bf)+_0x44c77f(0x2eb)],'markerPath':_0x17ef4b};}async function runOpenClawDoctorFix(_0x2428ac,_0x5af2b5,{fromVersion:_0x39d578,toVersion:_0x5cf859,markerPath:markerPath='',runtimeLogger:_0x5ccaa7}={}){const _0x5aa2db=_0x3edc6e;_0x5ccaa7?.['info']('openclaw'+_0x5aa2db(0x297)+_0x5aa2db(0x312)+_0x5aa2db(0x271),{'fromVersion':_0x39d578,'toVersion':_0x5cf859});const _0x574c61=await createRuntimeEnv(_0x5af2b5,{'OPENCLAW_HOME':_0x2428ac['dataDir'],'OPENCLAW_STATE_DIR':_0x2428ac[_0x5aa2db(0x2a1)],'OPENCLAW_CONFIG_PATH':getConfigPaths(_0x2428ac)['configPa'+'th']});console[_0x5aa2db(0x2a4)]('[wujie-s'+_0x5aa2db(0x289)+_0x5aa2db(0x2c1)+_0x5aa2db(0x28e)+'enclaw\x20d'+_0x5aa2db(0x354)+_0x5aa2db(0x1e2));const _0x401071=await runProcess(_0x5af2b5[_0x5aa2db(0x283)+_0x5aa2db(0x2cc)],[_0x5af2b5[_0x5aa2db(0x2bf)+_0x5aa2db(0x2f7)],_0x5aa2db(0x2de),_0x5aa2db(0x215)],{'cwd':_0x5af2b5[_0x5aa2db(0x2bf)+'WorkingD'+'ir'],'env':_0x574c61,'label':_0x5aa2db(0x2bf)+'\x20doctor\x20'+_0x5aa2db(0x215),'timeoutMs':0x1d4c0});_0x5ccaa7?.['info']('openclaw'+'\x20doctor\x20'+_0x5aa2db(0x349)+_0x5aa2db(0x1d5),{'fromVersion':_0x39d578,'toVersion':_0x5cf859,'stdout':_0x401071[_0x5aa2db(0x1cb)][_0x5aa2db(0x2df)]()[_0x5aa2db(0x2c2)](-0xfa0),'stderr':_0x401071[_0x5aa2db(0x32f)]['trim']()[_0x5aa2db(0x2c2)](-0xfa0)}),markerPath&&(await writeJson(markerPath,{'openclawVersion':_0x5af2b5[_0x5aa2db(0x2bf)+'Version'],'fixedAt':new Date()['toISOStr'+'ing']()}),_0x5ccaa7?.['info'](_0x5aa2db(0x2bf)+_0x5aa2db(0x297)+_0x5aa2db(0x1ea)+'er\x20writt'+'en',{'markerPath':markerPath,'openclawVersion':_0x5af2b5['openclaw'+_0x5aa2db(0x2eb)]}));}export async function readRuntimeManifest(_0x290a5d){return await readJson(resolveManifestPath(_0x290a5d),{});}export async function loadRuntimeInfo(_0x528a1d){const _0x1224a4=resolveRuntimeRoot(_0x528a1d),_0x41614e=await readRuntimeManifest(_0x1224a4);return createRuntimeInfoFromManifest(_0x1224a4,_0x41614e);}function createRuntimeInfoFromManifest(_0x5b3836,_0x447d89,_0x1aea25={}){const _0x9e1991=_0x3edc6e;for(const _0x5b85ee of[_0x9e1991(0x283)+_0x9e1991(0x2cc),_0x9e1991(0x1df),'openclaw'+_0x9e1991(0x290)+'ir',_0x9e1991(0x2bf)+'Bin']){if(typeof _0x447d89[_0x5b85ee]!==_0x9e1991(0x276)||!_0x447d89[_0x5b85ee][_0x9e1991(0x2df)]())throw new Error(_0x9e1991(0x2d6)+_0x9e1991(0x294)+_0x9e1991(0x23d)+'ing\x20\x22'+_0x5b85ee+'\x22\x20at\x20'+resolveManifestPath(_0x5b3836)+(_0x9e1991(0x2cf)+_0x9e1991(0x2e6)+_0x9e1991(0x20a)+'e'));}const _0x465185=resolve(_0x5b3836,_0x447d89[_0x9e1991(0x283)+'utable']),_0x54fd78=resolve(_0x5b3836,_0x447d89['npmCli']),_0x5ad3ec=resolve(_0x5b3836,_0x447d89['openclaw'+'WorkingD'+'ir']),_0x2a939b=resolve(_0x5b3836,_0x447d89['openclaw'+_0x9e1991(0x2f7)]),_0x4bd6d9=Array[_0x9e1991(0x319)](_0x447d89[_0x9e1991(0x2e2)])?_0x447d89[_0x9e1991(0x2e2)][_0x9e1991(0x21a)](_0x523ece=>({..._0x523ece,'installPath':resolve(_0x5b3836,_0x523ece['installP'+_0x9e1991(0x31f)])})):[],_0x1576ba=_0x1aea25[_0x9e1991(0x1e8)+_0x9e1991(0x2ff)+'Claw']?[_0x465185,_0x54fd78]:[_0x465185,_0x54fd78,_0x5ad3ec,_0x2a939b];for(const _0xa0f6ef of _0x1576ba){if(!existsSync(_0xa0f6ef))throw new Error(_0x9e1991(0x2d6)+'missing\x20'+_0x9e1991(0x213)+_0xa0f6ef);}return{'runtimeRoot':_0x5b3836,'manifest':_0x447d89,'openclawVersion':_0x447d89[_0x9e1991(0x2bf)+_0x9e1991(0x2eb)]||_0x9e1991(0x266),'nodeExecutable':_0x465185,'npmCli':_0x54fd78,'openclawWorkingDir':_0x5ad3ec,'openclawBin':_0x2a939b,'plugins':_0x4bd6d9};}export async function spawnClaw(_0x409328,_0x16eb45=[],_0x3a27d5={}){const _0x10220d=_0x3edc6e,_0x14f586=await loadRuntimeInfo(_0x409328),_0x8c08=await createRuntimeEnv(_0x14f586,_0x3a27d5[_0x10220d(0x346)]??{});return spawn(_0x14f586[_0x10220d(0x283)+_0x10220d(0x2cc)],[_0x14f586['openclaw'+_0x10220d(0x2f7)],..._0x16eb45],{'cwd':_0x14f586[_0x10220d(0x2bf)+'WorkingD'+'ir'],'stdio':'pipe',..._0x3a27d5,'env':_0x8c08});}export async function runClawOnce(_0x3a2d86,_0x30e22f=[],_0x20d60b=0x15f90){const _0x260a4d=await spawnClaw(_0x3a2d86,_0x30e22f);return await new Promise((_0x578390,_0x153fd5)=>{const _0x2af4c3=_0xacd0;let _0xf99354='',_0x4b403a='',_0x5b9e32=![];const _0x222012=setTimeout(()=>{const _0x1179d0=_0xacd0;if(_0x5b9e32)return;_0x5b9e32=!![],_0x260a4d[_0x1179d0(0x355)](_0x1179d0(0x200)),_0x153fd5(new Error(_0x1179d0(0x2bf)+_0x1179d0(0x2b4)+_0x1179d0(0x2d8)+'\x20'+_0x20d60b+'ms'));},_0x20d60b);_0x260a4d[_0x2af4c3(0x1cb)]['on']('data',_0x5dfcc5=>{const _0x1b8831=_0x2af4c3;_0xf99354+=_0x5dfcc5[_0x1b8831(0x267)]();}),_0x260a4d[_0x2af4c3(0x32f)]['on']('data',_0x8fc3ce=>{const _0xcc7860=_0x2af4c3;_0x4b403a+=_0x8fc3ce[_0xcc7860(0x267)]();}),_0x260a4d['on'](_0x2af4c3(0x26e),_0x4d5e8a=>{if(_0x5b9e32)return;_0x5b9e32=!![],clearTimeout(_0x222012),_0x153fd5(_0x4d5e8a);}),_0x260a4d['on'](_0x2af4c3(0x2a3),(_0x4ae32b,_0xfc9ac4)=>{if(_0x5b9e32)return;_0x5b9e32=!![],clearTimeout(_0x222012),_0x578390({'code':_0x4ae32b,'signal':_0xfc9ac4,'stdout':_0xf99354,'stderr':_0x4b403a});});});}async function findRuntimeLarkCliBin(_0x31fc9c){const _0x2efde0=_0x3edc6e,_0x16b94e=join(_0x31fc9c[_0x2efde0(0x2bf)+_0x2efde0(0x290)+'ir'],_0x2efde0(0x257)+_0x2efde0(0x30b),'@larksui'+'te',_0x2efde0(0x269)),_0x1759bf=join(_0x16b94e,_0x2efde0(0x314)+'json');if(!existsSync(_0x1759bf))return{'packageDir':_0x16b94e,'binPath':null};try{const _0x216b9b=JSON['parse'](await readFile(_0x1759bf,_0x2efde0(0x2ed))),_0x2e19f7=typeof _0x216b9b[_0x2efde0(0x281)]==='string'?_0x216b9b['bin']:_0x216b9b[_0x2efde0(0x281)]&&typeof _0x216b9b[_0x2efde0(0x281)]===_0x2efde0(0x356)?_0x216b9b['bin']['lark-cli']||Object['values'](_0x216b9b['bin'])[0x0]:'';return{'packageDir':_0x16b94e,'binPath':_0x2e19f7?join(_0x16b94e,_0x2e19f7):null};}catch{return{'packageDir':_0x16b94e,'binPath':null};}}async function findRuntimeKdocsCliBin(_0x1fbdc0){const _0x1c68e4=_0x3edc6e,_0x43c907=join(_0x1fbdc0['openclaw'+'WorkingD'+'ir'],_0x1c68e4(0x324),'kdocs-cl'+'i'),_0x4ecd53=join(_0x43c907,process[_0x1c68e4(0x2ac)]===_0x1c68e4(0x2b0)?_0x1c68e4(0x30c)+_0x1c68e4(0x296):_0x1c68e4(0x30c)+'i');return{'installDir':_0x43c907,'binPath':existsSync(_0x4ecd53)?_0x4ecd53:null};}export async function resolveRuntimeLarkCliCommand(_0x1ad5be){const _0x4876b4=_0x3edc6e,{packageDir:_0x24d133,binPath:_0x4b2abe}=await findRuntimeLarkCliBin(_0x1ad5be);if(!_0x4b2abe||!existsSync(_0x4b2abe))throw new Error(_0x4876b4(0x21e)+_0x4876b4(0x286)+'te/cli\x20i'+_0x4876b4(0x34a)+_0x4876b4(0x31a)+'penClaw\x20'+'runtime:'+'\x20'+_0x24d133+('.\x20Run\x20\x22w'+_0x4876b4(0x23a)+_0x4876b4(0x248)+'re\x22\x20to\x20r'+_0x4876b4(0x252)+_0x4876b4(0x1f2)+_0x4876b4(0x2ec)));return{'nodeExecutable':_0x1ad5be['nodeExec'+_0x4876b4(0x2cc)],'scriptPath':_0x4b2abe,'packageDir':_0x24d133};}export async function resolveRuntimeKdocsCliCommand(_0x3b030e){const _0x519452=_0x3edc6e,{installDir:_0xb11145,binPath:_0x1cbf1c}=await findRuntimeKdocsCliBin(_0x3b030e);if(!_0x1cbf1c||!existsSync(_0x1cbf1c))throw new Error(_0x519452(0x21e)+_0x519452(0x30c)+_0x519452(0x2d9)+'sing\x20fro'+'m\x20OpenCl'+_0x519452(0x1da)+'me:\x20'+_0xb11145+('.\x20Run\x20\x22w'+_0x519452(0x23a)+'ll\x20prepa'+'re\x22\x20to\x20r'+_0x519452(0x252)+_0x519452(0x1f2)+_0x519452(0x2ec)));return{'executablePath':_0x1cbf1c,'installDir':_0xb11145};}async function createRuntimeEnv(_0xddd579,_0x3acb55={}){const _0x172def=_0x3edc6e,_0x356f8c=process.env.OPENCLAW_STATE_DIR||'',_0x58db48=_0x356f8c?join(_0x356f8c,_0x172def(0x2b2)+_0x172def(0x26d)+'ls'):join(_0xddd579[_0x172def(0x311)+_0x172def(0x27d)],_0x172def(0x251)),_0x554a91=join(_0x58db48,_0x172def(0x22e)+'al'),_0x556e85=join(_0x58db48,_0x172def(0x2a9)+'e'),_0x334638=join(_0x554a91,_0x172def(0x281));await mkdir(_0x334638,{'recursive':!![]}),await mkdir(_0x556e85,{'recursive':!![]});const _0xd5e029=[_0x334638,dirname(_0xddd579['nodeExec'+'utable']),process.env.PATH||''];return{...process.env,..._0x3acb55,'PATH':_0xd5e029[_0x172def(0x273)](Boolean)[_0x172def(0x2aa)](delimiter),'npm_config_prefix':_0x554a91,'NPM_CONFIG_PREFIX':_0x554a91,'npm_config_cache':_0x556e85,'NPM_CONFIG_CACHE':_0x556e85,'npm_config_registry':_0x172def(0x2fb)+_0x172def(0x227)+_0x172def(0x220)+_0x172def(0x326),'NPM_CONFIG_REGISTRY':'https://'+_0x172def(0x227)+_0x172def(0x220)+_0x172def(0x326),'npm_execpath':_0xddd579[_0x172def(0x1df)],'npm_node_execpath':_0xddd579['nodeExec'+_0x172def(0x2cc)],'OPENCLAW_RUNTIME_NPM_PREFIX':_0x554a91,'OPENCLAW_RUNTIME_NPM_BIN':_0x334638,'OPENCLAW_RUNTIME_NPM_REGISTRY':_0x172def(0x2fb)+_0x172def(0x227)+_0x172def(0x220)+_0x172def(0x326)};}export async function getRuntimeSpawnContext(_0x5a1b52,_0x5db733={}){const _0x59c3a4=_0x3edc6e,_0x280d54=await loadRuntimeInfo(_0x5a1b52),_0x42182d=await createRuntimeEnv(_0x280d54,_0x5db733);return{'cwd':_0x280d54['openclaw'+_0x59c3a4(0x290)+'ir'],'env':_0x42182d,'runtime':_0x280d54};}async function ensureBundledOpenClawTools(_0x412916,_0xa010a7,_0x8dc32,_0x31cf36={}){const _0x1a4c21=_0x3edc6e;if(_0x31cf36[_0x1a4c21(0x2d2)])return;const _0x4f9bc4=createRuntimeInfoFromManifest(_0xa010a7,_0x8dc32);await installKdocsCliBinary(_0x412916,_0x4f9bc4,_0x31cf36);}function toKdocsCliPlatform(_0x24844c){const _0x4c3a87=_0x3edc6e;if(_0x24844c===_0x4c3a87(0x2b0))return _0x4c3a87(0x287);return _0x24844c;}function toKdocsCliArch(_0x3ce7b7){const _0x458f54=_0x3edc6e;if(_0x3ce7b7===_0x458f54(0x212))return'amd64';return _0x3ce7b7;}async function resolveKdocsSkillVersion(_0x504f8d){const _0x1d26aa=_0x3edc6e,_0x2b98b2=_0x504f8d[_0x1d26aa(0x2bf)][_0x1d26aa(0x1d1)+'r'],_0x2fd513=existsSync(_0x2b98b2)?(await readdir(_0x2b98b2,{'withFileTypes':!![]}))[_0x1d26aa(0x273)](_0x1a07ee=>_0x1a07ee[_0x1d26aa(0x1ec)+_0x1d26aa(0x2bc)]())[_0x1d26aa(0x21a)](_0x1b7669=>join(_0x2b98b2,_0x1b7669[_0x1d26aa(0x2f5)],_0x1d26aa(0x33e))):[];for(const _0x3d6114 of _0x2fd513){if(!existsSync(_0x3d6114))continue;const _0x5bbd19=await readFile(_0x3d6114,'utf8');if(!/^name:\s*kdocs\s*$/m['test'](_0x5bbd19))continue;const _0x58769c=_0x5bbd19[_0x1d26aa(0x233)](/^version:\s*"?([^"\s]+)"?\s*$/m);if(_0x58769c?.[0x1])return _0x58769c[0x1];}throw new Error(_0x1d26aa(0x2da)+_0x1d26aa(0x332)+_0x1d26aa(0x2e5)+_0x1d26aa(0x337)+'rsion\x20fr'+_0x1d26aa(0x2b3)+_0x2b98b2);}function findFileByName(_0x5e3ee2,_0x47159b){const _0x4b62a1=_0x3edc6e;if(!existsSync(_0x5e3ee2))return null;for(const _0x59e278 of readdirSync(_0x5e3ee2,{'withFileTypes':!![]})){const _0x52986d=join(_0x5e3ee2,_0x59e278['name']);if(_0x59e278['isDirect'+'ory']()){const _0x1602fb=findFileByName(_0x52986d,_0x47159b);if(_0x1602fb)return _0x1602fb;continue;}if(_0x59e278[_0x4b62a1(0x1e7)]()&&_0x59e278[_0x4b62a1(0x2f5)]===_0x47159b)return _0x52986d;}return null;}async function installKdocsCliBinary(_0x5715ce,_0x21adc0,_0x278acb={}){const _0x20cbdc=_0x3edc6e,_0x168933=await resolveKdocsSkillVersion(_0x5715ce),_0x132fb4=toKdocsCliPlatform(process['platform']),_0x151d52=toKdocsCliArch(process[_0x20cbdc(0x29c)]),_0x4202c5=process['platform']===_0x20cbdc(0x2b0)?_0x20cbdc(0x30c)+_0x20cbdc(0x296):_0x20cbdc(0x30c)+'i',_0xa81fef=join(_0x21adc0['openclaw'+_0x20cbdc(0x290)+'ir'],_0x20cbdc(0x324),'kdocs-cl'+'i'),_0x56c498=join(_0xa81fef,_0x4202c5);if(existsSync(_0x56c498))try{const _0x248173=(await runProcess(_0x56c498,['version'],{'label':_0x20cbdc(0x30c)+'i\x20versio'+'n','timeoutMs':0x7530}))['stdout'][_0x20cbdc(0x2df)]();if(_0x248173===_0x168933){_0x278acb[_0x20cbdc(0x249)+_0x20cbdc(0x274)]?.[_0x20cbdc(0x34b)]('kdocs-cl'+_0x20cbdc(0x359)+'y\x20instal'+_0x20cbdc(0x21b),{'version':_0x168933,'installDir':_0xa81fef});return;}}catch{}const _0x2f7cc8=_0x132fb4===_0x20cbdc(0x287)?_0x20cbdc(0x23f):_0x20cbdc(0x21c),_0x2bddce=_0x20cbdc(0x30c)+'i-'+_0x168933+'-'+_0x132fb4+'-'+_0x151d52+_0x2f7cc8,_0x5dc96d=join(_0x21adc0['runtimeR'+'oot'],'.cache'),_0x305a15=join(_0x5dc96d,_0x2bddce),_0x33b764=join(_0x21adc0[_0x20cbdc(0x311)+'oot'],_0x20cbdc(0x24b)+_0x20cbdc(0x209)+_0x20cbdc(0x2db)+process['pid']+'-'+Date[_0x20cbdc(0x265)]()),_0x3d77b7=KDOCS_CLI_CDN_BASE+'/v'+_0x168933+('/release'+'s/')+_0x2bddce;await mkdir(_0x5dc96d,{'recursive':!![]});!existsSync(_0x305a15)&&(console['log'](_0x20cbdc(0x1f6)+'hell:run'+_0x20cbdc(0x21f)+'wnloadin'+'g\x20'+_0x3d77b7),await downloadFile(_0x3d77b7,_0x305a15));await rm(_0x33b764,{'recursive':!![],'force':!![]}),await mkdir(_0x33b764,{'recursive':!![]});_0x305a15[_0x20cbdc(0x279)](_0x20cbdc(0x23f))?await runProcess(_0x20cbdc(0x315),['-q',_0x305a15,'-d',_0x33b764],{'label':_0x20cbdc(0x277)+_0x2bddce}):await runProcess(_0x20cbdc(0x254),['-xzf',_0x305a15,'-C',_0x33b764],{'label':'extract\x20'+_0x2bddce});const _0x22cf03=findFileByName(_0x33b764,_0x4202c5);if(!_0x22cf03)throw new Error(_0x20cbdc(0x30c)+_0x20cbdc(0x284)+'\x20not\x20fou'+_0x20cbdc(0x304)+_0x20cbdc(0x2f0)+_0x2bddce);await rm(_0xa81fef,{'recursive':!![],'force':!![]}),await mkdir(_0xa81fef,{'recursive':!![]}),await cp(_0x22cf03,_0x56c498);if(process[_0x20cbdc(0x2ac)]!==_0x20cbdc(0x2b0))await chmod(_0x56c498,0x1ed);await writeFile(join(_0xa81fef,_0x20cbdc(0x1d2)),_0x20cbdc(0x2ad)+_0x20cbdc(0x1d3)+'ime\x0a',_0x20cbdc(0x2ed)),await rm(_0x33b764,{'recursive':!![],'force':!![]}),_0x278acb[_0x20cbdc(0x249)+_0x20cbdc(0x274)]?.[_0x20cbdc(0x34b)](_0x20cbdc(0x30c)+_0x20cbdc(0x211)+_0x20cbdc(0x21b),{'version':_0x168933,'installDir':_0xa81fef,'binPath':_0x56c498});}function resolvePackageNameFromNpmSpec(_0x289bff){const _0x2d5af6=_0x3edc6e,_0x2d7385=_0x289bff[_0x2d5af6(0x2df)]()[_0x2d5af6(0x203)](/^npm:/,'');if(!_0x2d7385)throw new Error(_0x2d5af6(0x263)+_0x2d5af6(0x258)+_0x2d5af6(0x20b)+'c');if(_0x2d7385[_0x2d5af6(0x278)+'th']('@')){const _0x41a35d=_0x2d7385['indexOf']('/');if(_0x41a35d===-0x1)throw new Error('Invalid\x20'+_0x2d5af6(0x1e0)+_0x2d5af6(0x2d7)+_0x289bff);const _0x4cb7b2=_0x2d7385['indexOf']('@',_0x41a35d+0x1);return _0x4cb7b2===-0x1?_0x2d7385:_0x2d7385[_0x2d5af6(0x2c2)](0x0,_0x4cb7b2);}const _0x40e08e=_0x2d7385[_0x2d5af6(0x30e)]('@');return _0x40e08e===-0x1?_0x2d7385:_0x2d7385[_0x2d5af6(0x2c2)](0x0,_0x40e08e);}function resolvePluginDirNameFromSpec(_0x1fb129){const _0x1527ec=_0x3edc6e,_0x3ef0c6=resolvePackageNameFromNpmSpec(_0x1fb129),_0x47940e=_0x3ef0c6[_0x1527ec(0x2d5)]('/')[_0x1527ec(0x273)](Boolean),_0x558530=_0x47940e['at'](-0x1)??'';if(!_0x558530)throw new Error(_0x1527ec(0x263)+'plugin\x20s'+_0x1527ec(0x2d7)+_0x1fb129);return _0x558530;}async function resolvePluginIdFromPackageDir(_0x5e8c4a,_0x2b1bf4){const _0x36ab2e=_0x3edc6e,_0x579d46=await readJson(join(_0x5e8c4a,'package.'+_0x36ab2e(0x2c6)),{}),_0x33b4e0=await readPluginManifest(_0x5e8c4a),_0x4bd0b9=[_0x33b4e0?.['id'],_0x33b4e0?.['pluginId'],_0x33b4e0?.[_0x36ab2e(0x2f5)],_0x579d46?.[_0x36ab2e(0x2bf)]?.['id'],_0x579d46?.[_0x36ab2e(0x2bf)+'Id'],_0x2b1bf4],_0x2b1fa4=_0x4bd0b9[_0x36ab2e(0x309)](_0x434f39=>typeof _0x434f39===_0x36ab2e(0x276)&&_0x434f39[_0x36ab2e(0x2df)]());if(!_0x2b1fa4)throw new Error(_0x36ab2e(0x2da)+_0x36ab2e(0x332)+_0x36ab2e(0x2a0)+_0x36ab2e(0x328)+'\x20'+_0x5e8c4a);return _0x2b1fa4['trim']();}function pluginSpecMatches(_0x1641ec,_0x4caaba){const _0xb0ec1a=_0x3edc6e,_0x1ca408=_0x4caaba[_0xb0ec1a(0x2df)](),_0x4680a7=resolvePackageNameFromNpmSpec(_0x1ca408);return[_0x1641ec['spec'],_0x1641ec[_0xb0ec1a(0x1cd)+'Spec'],_0x1641ec[_0xb0ec1a(0x1cd)+'Name']]['some'](_0x4bca65=>_0x4bca65===_0x1ca408||_0x4bca65===_0x4680a7);}async function installPluginFromNpmSpec(_0x3a896f,_0x5299aa,_0x3cb922={}){const _0x3a25dd=_0x3edc6e,_0x4510ab=_0x3a896f['trim']()[_0x3a25dd(0x203)](/^npm:/,''),_0xfb0c4f=resolvePluginDirNameFromSpec(_0x4510ab),_0x2a28bb=join(_0x5299aa[_0x3a25dd(0x2bf)+_0x3a25dd(0x290)+'ir'],_0x3a25dd(0x33c),'extensio'+'ns'),_0x5e854f=join(_0x2a28bb,_0xfb0c4f),_0x2c0b39=join(_0x5299aa[_0x3a25dd(0x311)+_0x3a25dd(0x27d)],_0x3a25dd(0x25c)+_0x3a25dd(0x2a6)+process[_0x3a25dd(0x20d)]+'-'+Date[_0x3a25dd(0x265)]()),_0x5169f7=await createRuntimeEnv(_0x5299aa),_0x167577=new Date()[_0x3a25dd(0x1f7)+_0x3a25dd(0x308)](),_0x5e13b0=join(_0x5299aa[_0x3a25dd(0x311)+_0x3a25dd(0x27d)],_0x3a25dd(0x28d));await mkdir(_0x5e13b0,{'recursive':!![]}),await rm(_0x2c0b39,{'recursive':!![],'force':!![]}),await rm(_0x5e854f,{'recursive':!![],'force':!![]}),await mkdir(_0x2c0b39,{'recursive':!![]}),await mkdir(_0x2a28bb,{'recursive':!![]}),console[_0x3a25dd(0x2a4)](_0x3a25dd(0x1f6)+'hell:run'+'time]\x20fe'+'tching\x20p'+_0x3a25dd(0x2b9)+_0x4510ab);const _0x50622a=await runProcess(_0x5299aa[_0x3a25dd(0x283)+_0x3a25dd(0x2cc)],[_0x5299aa[_0x3a25dd(0x1df)],_0x3a25dd(0x29a),_0x4510ab,'--json'],{'cwd':_0x5e13b0,'env':_0x5169f7,'label':_0x3a25dd(0x1f1)+'\x20'+_0x4510ab}),_0x74f8df=parseNpmPackJson(_0x50622a[_0x3a25dd(0x1cb)]),_0x238d33=normalizePackedTarballFilename(_0x74f8df['filename']),_0x4bcd71=join(_0x5e13b0,_0x238d33);if(!existsSync(_0x4bcd71))throw new Error('npm\x20pack'+'\x20did\x20not'+_0x3a25dd(0x25d)+_0x3a25dd(0x291)+'\x20'+_0x4bcd71);await runProcess(_0x3a25dd(0x254),[_0x3a25dd(0x2d1),_0x4bcd71,'-C',_0x2c0b39],{'label':_0x3a25dd(0x277)+_0x238d33}),await rename(join(_0x2c0b39,_0x3a25dd(0x300)),_0x5e854f),await rm(_0x2c0b39,{'recursive':!![],'force':!![]});const _0x4292b6=join(_0x5e854f,'package.'+'json'),_0x23c507=await readJson(_0x4292b6,{});(_0x23c507[_0x3a25dd(0x238)+_0x3a25dd(0x347)]||_0x23c507[_0x3a25dd(0x226)])&&(delete _0x23c507[_0x3a25dd(0x238)+'dencies'],delete _0x23c507[_0x3a25dd(0x226)],await writeJson(_0x4292b6,_0x23c507));await runProcess(_0x5299aa['nodeExec'+_0x3a25dd(0x2cc)],[_0x5299aa[_0x3a25dd(0x1df)],_0x3a25dd(0x224),'--omit=d'+'ev',_0x3a25dd(0x2c9)+_0x3a25dd(0x1e1),_0x3a25dd(0x262)+'it',_0x3a25dd(0x272)+'d','--legacy'+'-peer-de'+'ps'],{'cwd':_0x5e854f,'env':_0x5169f7,'label':'npm\x20inst'+_0x3a25dd(0x31e)+_0x3a25dd(0x1cc)+_0x4510ab});const _0x5e8563=new Date()[_0x3a25dd(0x1f7)+_0x3a25dd(0x308)](),_0x2b132c=await resolvePluginIdFromPackageDir(_0x5e854f,_0x74f8df[_0x3a25dd(0x2f5)]);return _0x3cb922[_0x3a25dd(0x249)+_0x3a25dd(0x274)]?.[_0x3a25dd(0x34b)](_0x3a25dd(0x30f)+'in\x20insta'+'lled',{'spec':_0x4510ab,'pluginId':_0x2b132c,'installPath':_0x5e854f}),{'pluginId':_0x2b132c,'source':'npm','spec':_0x4510ab,'installPath':toRuntimeRelative(_0x5299aa['runtimeR'+'oot'],_0x5e854f),'version':_0x74f8df[_0x3a25dd(0x2af)],'resolvedName':_0x74f8df['name'],'resolvedVersion':_0x74f8df[_0x3a25dd(0x2af)],'resolvedSpec':_0x74f8df['name']+'@'+_0x74f8df[_0x3a25dd(0x2af)],'integrity':typeof _0x74f8df[_0x3a25dd(0x330)+'y']===_0x3a25dd(0x276)?_0x74f8df[_0x3a25dd(0x330)+'y']:'','shasum':typeof _0x74f8df[_0x3a25dd(0x2ba)]===_0x3a25dd(0x276)?_0x74f8df['shasum']:'','resolvedAt':_0x167577,'installedAt':_0x5e8563};}async function syncConfiguredNpmPlugins(_0x3a59c8,_0x10a8e8,_0x2ae54b,_0x5121f1={}){const _0xf985bb=_0x3edc6e;if(_0x5121f1[_0xf985bb(0x2d2)])return;const _0x2249e8=createRuntimeInfoFromManifest(_0x10a8e8,_0x2ae54b),_0x5b6f35=Array[_0xf985bb(0x319)](_0x2ae54b[_0xf985bb(0x2e2)])?_0x2ae54b['plugins']:[],_0x205212=[];for(const _0x8f0edd of _0x3a59c8['openclaw'][_0xf985bb(0x1fc)+_0xf985bb(0x1e9)]){const _0x6f8a8b=_0x5b6f35[_0xf985bb(0x309)](_0x40160d=>_0x40160d?.[_0xf985bb(0x299)]==='npm'&&pluginSpecMatches(_0x40160d,_0x8f0edd)&&typeof _0x40160d[_0xf985bb(0x34d)+_0xf985bb(0x31f)]===_0xf985bb(0x276)&&existsSync(resolve(_0x10a8e8,_0x40160d[_0xf985bb(0x34d)+_0xf985bb(0x31f)])));if(_0x6f8a8b){_0x205212[_0xf985bb(0x352)](_0x6f8a8b);continue;}_0x205212[_0xf985bb(0x352)](await installPluginFromNpmSpec(_0x8f0edd,_0x2249e8,_0x5121f1));}const _0x3d29d7=new Set(_0x3a59c8[_0xf985bb(0x2bf)]['pluginSp'+_0xf985bb(0x1e9)]['map'](resolvePackageNameFromNpmSpec)),_0x332989=_0x5b6f35[_0xf985bb(0x273)](_0x55b3a5=>_0x55b3a5?.['source']!==_0xf985bb(0x26c)||!_0x3d29d7[_0xf985bb(0x2b5)](resolvePackageNameFromNpmSpec(_0x55b3a5[_0xf985bb(0x1cd)+_0xf985bb(0x35a)]||_0x55b3a5[_0xf985bb(0x225)]||'')));_0x2ae54b[_0xf985bb(0x2e2)]=[..._0x332989,..._0x205212];}function hasRuntimeDependencies(_0x14be4b){const _0x23fac5=_0x3edc6e,_0x5d8c3b=_0x14be4b?.[_0x23fac5(0x26b)+'cies']&&typeof _0x14be4b[_0x23fac5(0x26b)+_0x23fac5(0x1cf)]==='object'?Object['keys'](_0x14be4b[_0x23fac5(0x26b)+_0x23fac5(0x1cf)]):[],_0x533fd5=_0x14be4b?.['optional'+_0x23fac5(0x1d0)+_0x23fac5(0x1cf)]&&typeof _0x14be4b[_0x23fac5(0x26a)+'Dependen'+_0x23fac5(0x1cf)]===_0x23fac5(0x356)?Object[_0x23fac5(0x2c4)](_0x14be4b[_0x23fac5(0x26a)+_0x23fac5(0x1d0)+_0x23fac5(0x1cf)]):[];return _0x5d8c3b['length']>0x0||_0x533fd5[_0x23fac5(0x2bd)]>0x0;}async function installLocalPluginRuntimeDependencies(_0x581f85,_0x2110ad,_0x129f8b){const _0x4813c4=_0x3edc6e,_0x491a17=join(_0x581f85,_0x4813c4(0x314)+_0x4813c4(0x2c6)),_0x1fea4c=await readJson(_0x491a17,{});(_0x1fea4c['devDepen'+_0x4813c4(0x347)]||_0x1fea4c[_0x4813c4(0x226)])&&(delete _0x1fea4c[_0x4813c4(0x238)+_0x4813c4(0x347)],delete _0x1fea4c[_0x4813c4(0x226)],await writeJson(_0x491a17,_0x1fea4c));if(!hasRuntimeDependencies(_0x1fea4c))return;const _0x1f931a=await createRuntimeEnv(_0x2110ad);console['log']('[wujie-s'+_0x4813c4(0x289)+_0x4813c4(0x2c7)+_0x4813c4(0x235)+_0x4813c4(0x325)+_0x4813c4(0x275)+_0x4813c4(0x2d0)+_0x4813c4(0x2cd)+_0x581f85),await runProcess(_0x2110ad[_0x4813c4(0x283)+_0x4813c4(0x2cc)],[_0x2110ad[_0x4813c4(0x1df)],'install','--omit=d'+'ev','--omit=p'+_0x4813c4(0x1e1),_0x4813c4(0x262)+'it','--no-fun'+'d',_0x4813c4(0x33f)+_0x4813c4(0x2b6)+'ps'],{'cwd':_0x581f85,'env':_0x1f931a,'label':_0x4813c4(0x288)+_0x4813c4(0x255)+_0x4813c4(0x2c5)+'\x20'+_0x581f85}),_0x129f8b[_0x4813c4(0x249)+_0x4813c4(0x274)]?.[_0x4813c4(0x34b)]('local\x20pl'+'ugin\x20dep'+'endencie'+_0x4813c4(0x216)+_0x4813c4(0x21b),{'installPath':_0x581f85});}async function syncSharedPluginModules(_0x5d4eac,_0x511f54){const _0x3672b1=_0x3edc6e,_0x41a21b=new Set();for(const _0x252cfb of _0x5d4eac){const _0x43f58f=join(dirname(_0x252cfb),'_shared');if(existsSync(_0x43f58f))_0x41a21b[_0x3672b1(0x31b)](_0x43f58f);}for(const _0x509cf4 of _0x41a21b){await copyDirFresh(_0x509cf4,join(_0x511f54,_0x3672b1(0x219)));}}function _0x3871(){const _0x4d54c3=['path:\x20','\x22\x20\x22$@\x22','--fix','s\x20instal','eted','\x20return\x20','_shared','map','led','.tar.gz','IPT_DIR=','Bundled\x20','time]\x20do','.npmjs.o','skills\x20s','tall\x20the','configur','install','spec','scripts','registry','1\x20]\x20&&\x20[','\x22%SCRIPT','NCLAW_HO','JSON:\x20','NCLAW_ST','pluginId','npm-glob','314901LdrHko','cope\x20syn','\x20runtime','2ibLelT','match',',\x20shell.','stalling','nodejs.o','\x20validat','devDepen','replaceA','ujie-she','red\x20Node','\x22\x20so\x20the','\x20is\x20miss','IR=$(CDP','.zip','ame','lib/node','configFi','node-v','ady\x20curr','generate','d\x20for\x20lo',':\x20manife','ll\x20prepa','runtimeL','missing\x20','.kdocs-c','tools\x20sy','failed','resume','pipe','ATH=\x22${O','.tools','ebuild\x20t','projectR','tar','all\x20loca','Run\x20\x22wuj','node_mod','empty\x20pl','required','catch','/pro','.plugin-','\x20create\x20','every','ie-shell','arm64','node','--no-aud','Invalid\x20','download','now','unknown','toString','ld\x20compl','cli','optional','dependen','npm','time-too','error','base\x20bui','Spec','ted','--no-fun','filter','ogger','lugin\x20de','string','extract\x20','startsWi','endsWith','timeoutM','27474USaUDC','rg/dist/','oot','Configur','\x20written','wnloadin','bin','config=','nodeExec','i\x20binary','CONFIG_P','@larksui','windows','npm\x20inst','hell:run','if\x20[\x20-t\x20','PT_DIR/w','not\x20foun','.cache','nning\x20op','\x20signal=','WorkingD','tarball:','alid\x20pay','\x20failed\x20','manifest','then','i.exe','\x20doctor\x20','5000XlmPGI','source','pack','dataDirN','arch','d\x20an\x20inv','nifest=','statusCo','e\x20plugin','dataDir','\x22\x20\x22$SCRI','close','log','ATE_DIR:','extract-','\x20paths','win','npm-cach','join','base\x20alr','platform','wujie-sh','4948265gyZPtd','version','win32','local:','claw-run','om\x20','\x20timed\x20o','has','-peer-de','11759seRNHQ','JIE_NO_L','lugin\x20','shasum','rname\x20--','ory','length','parse','openclaw','nodeVers','time]\x20ru','slice','runtime-','keys','l\x20plugin','json','time]\x20in','../asset','--omit=p','set\x20\x22OPE','node/lib','utable','es\x20','wujiecla',';\x20run\x20wu','pendenci','-xzf','syncOnly','ime\x20buil','dAt','split','runtime\x20','pec:\x20','ut\x20after','i\x20is\x20mis','Unable\x20t','ct-','.json','STATE_DI','doctor','trim','PENCLAW_','11619VtMdhz','plugins','>/dev/nu','root','e\x20kdocs\x20','jie-shel','if\x20\x22%OPE','3860kXDKZK','agents','o.mjs\x22\x202','Version','me.','utf8','-extract','ATH:-','chive:\x20','skillhub','\x20-z\x20\x22$WU','ujie-log','\x20-g','name','E_DIR=','Bin','st=','tateDir','product\x20','https://','versions','ed\x20OpenC','rent','singOpen','package','started','\x20version','PT_DIR/','nd\x20in\x20ar','\x22==\x22\x22\x20se','nd\x20after','skills','ing','find','NCLAW_CO','ules','kdocs-cl','logo.mjs','indexOf','npm\x20plug','ed\x20npm\x20p','runtimeR','fix\x20star','npm-cli.','package.','unzip','.tmp/run','zip','CRIPT_DI','isArray','g\x20from\x20O','add','.opencla','productN','all\x20plug','ath','wBin','LAW_STAT','wujieai.','flush','tools','\x20local\x20p','rg/','PT_DIR%','\x20id\x20from','\x20started','581076Nmuaqc','rebuilt\x20','OpenClaw','H%\x22==\x22\x22\x20','LocalPlu','stderr','integrit','nced','o\x20resolv','\x20package','agentsDi','R=\x22${OPE','ignore','skill\x20ve','\x20complet','set\x20\x22SCR','s/wujie-','runtime','dist','agents\x20s','SKILL.md','--legacy','ld\x20start','\x20can\x20be\x20','load:\x20','OPENCLAW','\x20returne','--omit=d','env','dencies','process.','fix\x20comp','s\x20missin','info','/npm','installP','t\x20\x22OPENC','agentSco','data','eady\x20cur','push','ion\x20mism','octor\x20--','kill','object','time','/node_mo','i\x20alread','Name','2258000FSiaIs','stdout','in\x20','resolved','cal\x20runt','cies','Dependen','skillsDi','.source','ell-runt','ll\x20||\x20tr','leted','filename','node\x20ver','_HOME:-','\x20prepare','aw\x20runti','ion','ynced','export\x20O','href','npmCli','scoped\x20s','eer','fix','prepare\x20','node/bin','with\x20cod','\x20did\x20not','isFile','allowMis','ecs','fix\x20mark','%~dp0\x22','isDirect','ginPaths','product','\x20install','-doctor.','npm\x20pack','he\x20runti','null','label','cwd','[wujie-s','toISOStr','synced','extensio','lugins\x20s','runtimeS','pluginSp','sion.','ATH=\x20cd\x20','OGO\x22\x20];\x20','SIGTERM','location','\x20resolve','replace','\x20bin\x20was','local','NFIG_PAT','205RFtYCe','leName','li-extra','l\x20prepar','ugin\x20spe','\x20depende','pid','all\x20','bundled\x20','headers','i\x20instal','x64'];_0x3871=function(){return _0x4d54c3;};return _0x3871();}async function syncProductPlugins(_0x1c4a42,_0x11edad,_0x1744e3,_0x394427={}){const _0x469dc7=_0x3edc6e,_0x2e1f18=join(_0x11edad,'openclaw',_0x469dc7(0x33c),_0x469dc7(0x1f9)+'ns'),_0x2f024e=createRuntimeInfoFromManifest(_0x11edad,_0x1744e3),_0x56efbf=[];await syncSharedPluginModules(_0x1c4a42[_0x469dc7(0x2bf)][_0x469dc7(0x1cd)+_0x469dc7(0x32e)+_0x469dc7(0x1ed)],_0x2e1f18);for(const _0x386f02 of _0x1c4a42['openclaw'][_0x469dc7(0x1cd)+_0x469dc7(0x32e)+'ginPaths']){const _0x28ec82=await getPackageMetadata(_0x386f02),_0x4b1e19=await readPluginManifest(_0x386f02),_0x3f2958=join(_0x2e1f18,_0x28ec82[_0x469dc7(0x22d)]);await copyDirFresh(_0x386f02,_0x3f2958),await installLocalPluginRuntimeDependencies(_0x3f2958,_0x2f024e,_0x394427),_0x56efbf[_0x469dc7(0x352)]({'pluginId':_0x28ec82[_0x469dc7(0x22d)],'source':_0x469dc7(0x205),'spec':_0x469dc7(0x2b1)+_0x386f02,'installPath':toRuntimeRelative(_0x11edad,_0x3f2958),'version':_0x28ec82[_0x469dc7(0x2af)],'resolvedName':_0x28ec82['name'],'resolvedVersion':_0x28ec82[_0x469dc7(0x2af)],'resolvedSpec':_0x469dc7(0x2b1)+_0x386f02,'integrity':'','shasum':'','resolvedAt':new Date()[_0x469dc7(0x1f7)+_0x469dc7(0x308)](),'installedAt':new Date()[_0x469dc7(0x1f7)+_0x469dc7(0x308)](),'agentScope':_0x4b1e19[_0x469dc7(0x34f)+'pe'],'skills':_0x4b1e19[_0x469dc7(0x307)]});}const _0x1ecdf3=new Set(_0x56efbf['map'](_0x359c92=>_0x359c92[_0x469dc7(0x22d)])),_0x8d8a46=Array[_0x469dc7(0x319)](_0x1744e3[_0x469dc7(0x2e2)])?_0x1744e3[_0x469dc7(0x2e2)][_0x469dc7(0x273)](_0x1453a0=>!_0x1ecdf3[_0x469dc7(0x2b5)](_0x1453a0[_0x469dc7(0x22d)])):[];_0x1744e3[_0x469dc7(0x2e2)]=[..._0x8d8a46,..._0x56efbf];}async function syncManifestPluginScope(_0x1613d3,_0x1dd337,_0x4a0220){const _0x46228c=_0x3edc6e,_0x51f6e0=join(_0x1dd337,_0x46228c(0x2bf),_0x46228c(0x33c),_0x46228c(0x1f9)+'ns'),_0x27a98e=new Set(_0x1613d3[_0x46228c(0x2bf)][_0x46228c(0x1fc)+_0x46228c(0x1e9)]??[]),_0xcee129=new Set([..._0x27a98e]['map'](_0x1127bb=>_0x1127bb[_0x46228c(0x203)](/^npm:/,''))[_0x46228c(0x21a)](_0x491649=>{const _0x160126=_0x46228c;if(_0x491649['startsWi'+'th']('@')){const _0x3af446=_0x491649[_0x160126(0x2d5)]('@');return _0x3af446[_0x160126(0x2bd)]>=0x3?'@'+_0x3af446[0x1]:_0x491649;}return _0x491649['split']('@')[0x0];})[_0x46228c(0x273)](Boolean)),_0x2bffb2=new Set();for(const _0x4b29e8 of _0x1613d3[_0x46228c(0x2bf)][_0x46228c(0x1cd)+_0x46228c(0x32e)+_0x46228c(0x1ed)]){const _0xedbb09=await getPackageMetadata(_0x4b29e8);if(_0xedbb09[_0x46228c(0x22d)])_0x2bffb2['add'](_0xedbb09[_0x46228c(0x22d)]);}const _0x3d3add=Array[_0x46228c(0x319)](_0x4a0220[_0x46228c(0x2e2)])?_0x4a0220[_0x46228c(0x2e2)]:[];_0x4a0220[_0x46228c(0x1fc)+_0x46228c(0x1e9)]=[..._0x1613d3[_0x46228c(0x2bf)][_0x46228c(0x1fc)+'ecs'],..._0x1613d3[_0x46228c(0x2bf)][_0x46228c(0x1cd)+_0x46228c(0x32e)+_0x46228c(0x1ed)][_0x46228c(0x21a)](_0x385acb=>_0x46228c(0x2b1)+_0x385acb)],_0x4a0220['plugins']=_0x3d3add[_0x46228c(0x273)](_0x2a7599=>{const _0x284b8c=_0x46228c;if(!_0x2a7599||typeof _0x2a7599!=='object')return![];if(_0x2a7599['source']===_0x284b8c(0x205))return _0x2bffb2[_0x284b8c(0x2b5)](_0x2a7599[_0x284b8c(0x22d)]);if(_0x2a7599[_0x284b8c(0x299)]===_0x284b8c(0x26c))return _0x27a98e[_0x284b8c(0x2b5)](_0x2a7599[_0x284b8c(0x225)])||_0x27a98e[_0x284b8c(0x2b5)](_0x2a7599['resolved'+_0x284b8c(0x270)])||_0xcee129['has'](_0x2a7599[_0x284b8c(0x1cd)+'Name']);return![];});const _0xf8a4d5=new Set(_0x4a0220['plugins'][_0x46228c(0x21a)](_0x16a0d5=>_0x16a0d5[_0x46228c(0x22d)]));for(const _0x1ac634 of _0x3d3add){if(!_0x1ac634[_0x46228c(0x22d)]||_0xf8a4d5['has'](_0x1ac634['pluginId']))continue;const _0x25ef9f=typeof _0x1ac634[_0x46228c(0x34d)+_0x46228c(0x31f)]==='string'&&_0x1ac634['installP'+'ath'][_0x46228c(0x2df)]()?resolve(_0x1dd337,_0x1ac634[_0x46228c(0x34d)+_0x46228c(0x31f)]):join(_0x51f6e0,_0x1ac634[_0x46228c(0x22d)]),_0x19d9e7=relative(_0x51f6e0,_0x25ef9f);if(_0x19d9e7['startsWi'+'th']('..')||_0x19d9e7==='')continue;await rm(_0x25ef9f,{'recursive':!![],'force':!![]});}}async function syncProductAgents(_0x4ac941,_0x6ec92e,_0x512b4b){const _0x57df85=_0x3edc6e,_0x116d93=join(_0x6ec92e,_0x57df85(0x2bf),_0x57df85(0x2e9));await copyDirFresh(_0x4ac941[_0x57df85(0x2bf)][_0x57df85(0x334)+'r'],_0x116d93),_0x512b4b[_0x57df85(0x2e9)]={'source':'product','installPath':toRuntimeRelative(_0x6ec92e,_0x116d93)};}async function syncProductSkills(_0x4968a2,_0x145a7f,_0x9f0397){const _0x528315=_0x3edc6e,_0x1d9c45=join(_0x145a7f,_0x528315(0x2bf),_0x528315(0x307));await copyDirFresh(_0x4968a2[_0x528315(0x2bf)][_0x528315(0x1d1)+'r'],_0x1d9c45),_0x9f0397[_0x528315(0x307)]={'source':_0x528315(0x1ee),'installPath':toRuntimeRelative(_0x145a7f,_0x1d9c45)};}
@@ -1 +0,0 @@
1
- (function(_0x36e726,_0x503620){const _0x28d194=_0x8854,_0x1a7cfa=_0x36e726();while(!![]){try{const _0x28c25e=parseInt(_0x28d194(0x1ae))/0x1*(-parseInt(_0x28d194(0x15b))/0x2)+parseInt(_0x28d194(0x1b2))/0x3+-parseInt(_0x28d194(0x158))/0x4*(parseInt(_0x28d194(0x191))/0x5)+parseInt(_0x28d194(0x1cb))/0x6*(parseInt(_0x28d194(0x194))/0x7)+parseInt(_0x28d194(0x187))/0x8*(parseInt(_0x28d194(0x18b))/0x9)+-parseInt(_0x28d194(0x1a2))/0xa+parseInt(_0x28d194(0x1c1))/0xb*(-parseInt(_0x28d194(0x1a6))/0xc);if(_0x28c25e===_0x503620)break;else _0x1a7cfa['push'](_0x1a7cfa['shift']());}catch(_0x28cfc0){_0x1a7cfa['push'](_0x1a7cfa['shift']());}}}(_0x24de,0x7cc09));import{execFile}from'node:child_process';function _0x8854(_0x4c5d4e,_0x415042){_0x4c5d4e=_0x4c5d4e-0x14b;const _0x24dee4=_0x24de();let _0x88547=_0x24dee4[_0x4c5d4e];return _0x88547;}import{existsSync}from'node:fs';import{cp,mkdir,mkdtemp,readFile,readdir,rename,rm,writeFile}from'node:fs/promises';import{basename,dirname,join,parse}from'node:path';import{asRecord,dedupeStrings,getTrimmedString,writeJson}from'./utils.mjs';function sanitizeManagedSkillDirSegment(_0x55d6ee){const _0x42dd3b=_0x8854;let _0x236ad3=getTrimmedString(_0x55d6ee)[_0x42dd3b(0x197)](/[<>:"/\\|?*\u0000-\u001f]/g,'-');return _0x236ad3=_0x236ad3['replace'](/-+/g,'-')[_0x42dd3b(0x197)](/^[-.]+|[-.]+$/g,''),_0x236ad3[_0x42dd3b(0x157)](0x0,0x78);}function buildManagedSkillDirectoryName(_0x4d78d4,_0x264e7e,_0x36e596){const _0x43af3d=_0x8854,_0x553b3c=sanitizeManagedSkillDirSegment(_0x4d78d4)||sanitizeManagedSkillDirSegment(_0x36e596)||_0x43af3d(0x1c6)+'-skill',_0x43c184=sanitizeManagedSkillDirSegment(_0x264e7e),_0x3a24b3=_0x43c184?_0x553b3c+'-'+_0x43c184:_0x553b3c;return _0x3a24b3[_0x43af3d(0x157)](0x0,0xc8)||_0x43af3d(0x1c6)+_0x43af3d(0x19d);}function extractVersionFromZipUrl(_0x379da3){const _0x3a3d1d=_0x8854;if(!getTrimmedString(_0x379da3))return null;try{const _0x593333=basename(new URL(_0x379da3)[_0x3a3d1d(0x1ce)]),_0x388582=_0x593333[_0x3a3d1d(0x197)](/\.zip$/i,'');return _0x388582[_0x3a3d1d(0x174)](/(?:^|[-_v])(\d+\.\d+\.\d+(?:[-+][\w.-]+)?)(?:$|[-_])/i)?.[0x1]??null;}catch{return null;}}async function extractZipToDirectory(_0x155532,_0x4644b2){await new Promise((_0x4acdd9,_0x4e2895)=>{const _0xa3f96=_0x8854;let _0x17b08f;if(process['platform']===_0xa3f96(0x151)){const _0x2d5296=_0x155532[_0xa3f96(0x197)](/'/g,'\x27\x27'),_0x28b3f9=_0x4644b2[_0xa3f96(0x197)](/'/g,'\x27\x27');_0x17b08f=execFile(_0xa3f96(0x179)+_0xa3f96(0x1e0),[_0xa3f96(0x1b3)+'le','-NonInte'+_0xa3f96(0x1c7),'-Command',_0xa3f96(0x183)+_0xa3f96(0x196)+_0xa3f96(0x1b8)+_0xa3f96(0x17e)+_0x2d5296+('\x27\x20-Desti'+_0xa3f96(0x15f)+_0xa3f96(0x169))+_0x28b3f9+'\x27\x20-Force'],_0x3103f9=>_0x3103f9?_0x4e2895(_0x3103f9):_0x4acdd9());}else _0x17b08f=execFile(_0xa3f96(0x14c),['-q',_0x155532,'-d',_0x4644b2],_0xbd608=>_0xbd608?_0x4e2895(_0xbd608):_0x4acdd9());_0x17b08f['on'](_0xa3f96(0x1a1),_0x4e2895);});}async function findSkillManifestDirectories(_0x51489a){const _0x4ece85=[];async function _0x27e716(_0x1cb0fe){const _0x827a98=_0x8854,_0x452acd=await readdir(_0x1cb0fe,{'withFileTypes':!![]}),_0x4fb7db=new Set(_0x452acd['map'](_0x1a41a4=>_0x1a41a4[_0x827a98(0x173)]['toUpperC'+_0x827a98(0x19e)]()));if(_0x4fb7db[_0x827a98(0x1d9)](_0x827a98(0x1d3))||_0x4fb7db[_0x827a98(0x1d9)]('SKILLS.M'+'D')){_0x4ece85[_0x827a98(0x1c2)](_0x1cb0fe);return;}for(const _0x6e8337 of _0x452acd){if(!_0x6e8337['isDirect'+'ory']()||_0x6e8337[_0x827a98(0x173)]===_0x827a98(0x199)||_0x6e8337[_0x827a98(0x173)][_0x827a98(0x171)+'th']('.'))continue;await _0x27e716(join(_0x1cb0fe,_0x6e8337['name']));}}return await _0x27e716(_0x51489a),_0x4ece85;}async function normalizeImportedSkillManifest(_0x53878d){const _0x3010e8=_0x8854,_0x1cee4c=join(_0x53878d,_0x3010e8(0x1df)),_0x2ce30a=await readdir(_0x53878d,{'withFileTypes':!![]})[_0x3010e8(0x192)](()=>[]);let _0x38b0b5=null,_0x426119=null;for(const _0x65059 of _0x2ce30a){if(!_0x65059['isFile']())continue;const _0xca5df3=_0x65059[_0x3010e8(0x173)][_0x3010e8(0x19b)+_0x3010e8(0x19e)]();if(_0xca5df3===_0x3010e8(0x1d3))_0x38b0b5=_0x65059[_0x3010e8(0x173)];else{if(_0xca5df3===_0x3010e8(0x168)+'D')_0x426119=_0x65059[_0x3010e8(0x173)];}}if(_0x38b0b5==='SKILL.md')return;const _0x231535=_0x38b0b5??_0x426119;if(!_0x231535)return;const _0x3b22f7=join(_0x53878d,_0x231535);if(_0x3b22f7!==_0x1cee4c)await rename(_0x3b22f7,_0x1cee4c);}async function moveDirectoryWithOverwrite(_0xa52f7,_0xed8360){const _0x3fe44a=_0x8854;await mkdir(dirname(_0xed8360),{'recursive':!![]});try{await rename(_0xa52f7,_0xed8360);return;}catch(_0x8b8cbd){if(_0x8b8cbd?.[_0x3fe44a(0x17c)]!==_0x3fe44a(0x1ca))throw _0x8b8cbd;}await cp(_0xa52f7,_0xed8360,{'recursive':!![],'force':!![]}),await rm(_0xa52f7,{'recursive':!![],'force':!![]});}async function readManifestText(_0x5936b3){const _0x49279a=_0x8854,_0x2e09ec=[join(_0x5936b3,_0x49279a(0x1df)),join(_0x5936b3,'SKILLS.m'+'d')][_0x49279a(0x1ab)](_0x2b32f8=>existsSync(_0x2b32f8));if(!_0x2e09ec)return'';return await readFile(_0x2e09ec,_0x49279a(0x195))[_0x49279a(0x192)](()=>'');}function resolveFrontmatterValue(_0x512a21,_0x89921f){const _0x365223=_0x8854,_0xb38ea6=_0x512a21[_0x365223(0x174)](/^---\s*\r?\n([\s\S]*?)\r?\n---/),_0x36fcf3=_0xb38ea6?.[0x1]??'',_0x32fc0e=_0x36fcf3['match'](new RegExp(_0x365223(0x184)+_0x89921f+(':\x5cs*(.+)'+'$'),'m'))?.[0x1];return getTrimmedString(_0x32fc0e)[_0x365223(0x197)](/^["']|["']$/g,'')||null;}async function resolveSkillKeyFromManifest(_0x316048){const _0x214310=_0x8854,_0x294cf7=await readManifestText(_0x316048);if(!_0x294cf7[_0x214310(0x19c)]())return null;const _0x1c1ce4=_0x294cf7[_0x214310(0x174)](/"skillKey"\s*:\s*"([^"]+)"/);if(_0x1c1ce4?.[0x1])return getTrimmedString(_0x1c1ce4[0x1]);return resolveFrontmatterValue(_0x294cf7,_0x214310(0x175))||resolveFrontmatterValue(_0x294cf7,'name');}async function resolveSkillVersionFromManifest(_0x44797b){const _0x38f39c=_0x8854,_0xb6eeb7=await readManifestText(_0x44797b);if(!_0xb6eeb7[_0x38f39c(0x19c)]())return null;const _0x3f74ac=_0xb6eeb7['match'](/"version"\s*:\s*"([^"]+)"/);if(_0x3f74ac?.[0x1])return getTrimmedString(_0x3f74ac[0x1]);return resolveFrontmatterValue(_0xb6eeb7,_0x38f39c(0x1b7));}async function readMarketSkillRegistry(_0x5023f0){const _0x50a2ae=_0x8854;try{const _0x401a63=JSON['parse'](await readFile(_0x5023f0,'utf8'));if(!_0x401a63||typeof _0x401a63!==_0x50a2ae(0x1d0)||Array[_0x50a2ae(0x1ac)](_0x401a63))return{};return _0x401a63;}catch{return{};}}export async function readSkillMarketRegistry(_0x1e6616){const _0x16ab1f=_0x8854;return await readMarketSkillRegistry(join(_0x1e6616,_0x16ab1f(0x189)+_0x16ab1f(0x1af)+'on'));}async function removeMarketSkillRegistryKeys(_0x553b46,_0x2a296e){const _0x4375ca=_0x8854,_0x42e9da=new Set(_0x2a296e['map'](getTrimmedString)[_0x4375ca(0x170)](Boolean));if(_0x42e9da[_0x4375ca(0x1c4)]===0x0)return;const _0x273278=await readMarketSkillRegistry(_0x553b46);let _0x52141a=![];for(const _0x2f4b4e of Object[_0x4375ca(0x1b4)](_0x273278)){const _0x2aace2=asRecord(_0x273278[_0x2f4b4e]);(_0x42e9da['has'](_0x2f4b4e)||_0x42e9da[_0x4375ca(0x1d9)](getTrimmedString(_0x2aace2[_0x4375ca(0x17c)])))&&(delete _0x273278[_0x2f4b4e],_0x52141a=!![]);}if(_0x52141a){const _0x240c78=Object[_0x4375ca(0x19a)+'ies'](Object[_0x4375ca(0x1a9)](_0x273278)[_0x4375ca(0x16d)](([_0x4f2110],[_0x17e332])=>_0x4f2110[_0x4375ca(0x1ad)+'mpare'](_0x17e332)));await writeJson(_0x553b46,_0x240c78);}}async function collectSkillDirsUnderRoot(_0x326212,_0x3ece60,_0xa14693){const _0x43bd5c=_0x8854;if(!existsSync(_0x326212))return;for(const _0x51d7ef of await readdir(_0x326212,{'withFileTypes':!![]})[_0x43bd5c(0x192)](()=>[])){if(!_0x51d7ef[_0x43bd5c(0x1e2)+'ory']())continue;const _0x3156a3=join(_0x326212,_0x51d7ef[_0x43bd5c(0x173)]),_0x42835f=await resolveSkillKeyFromManifest(_0x3156a3);if(_0x42835f&&_0x3ece60[_0x43bd5c(0x1d9)](_0x42835f))_0xa14693['add'](_0x3156a3);}}async function removeSkillConfigEntries(_0x43ddf4,_0x22915b){const _0x294ce8=_0x8854,_0x3036ea=new Set(_0x22915b['map'](getTrimmedString)[_0x294ce8(0x170)](Boolean));if(_0x3036ea[_0x294ce8(0x1c4)]===0x0)return;const _0x2e7a9d=await _0x43ddf4[_0x294ce8(0x162)+'ig']()[_0x294ce8(0x192)](()=>({})),_0xf0663a=asRecord(_0x2e7a9d[_0x294ce8(0x1c9)]),_0x53f7b1={...asRecord(_0xf0663a[_0x294ce8(0x1a9)])};let _0x538cf1=![];for(const _0x20707d of _0x3036ea){Object[_0x294ce8(0x1d7)+'e'][_0x294ce8(0x193)+_0x294ce8(0x181)][_0x294ce8(0x1c0)](_0x53f7b1,_0x20707d)&&(delete _0x53f7b1[_0x20707d],_0x538cf1=!![]);}if(!_0x538cf1)return;_0xf0663a[_0x294ce8(0x1a9)]=_0x53f7b1,_0x2e7a9d[_0x294ce8(0x1c9)]=_0xf0663a,_0x43ddf4[_0x294ce8(0x18f)+_0x294ce8(0x14b)+_0x294ce8(0x163)+_0x294ce8(0x188)]?.(),await _0x43ddf4[_0x294ce8(0x18e)+_0x294ce8(0x18c)](_0x2e7a9d,'skill\x20co'+'nfig\x20ent'+'ries\x20rem'+_0x294ce8(0x1c3));}export async function deleteManagedSkill({payload:payload={},gateway:_0x1348ea,configController:_0x3ca8a5}){const _0x120d36=_0x8854,_0x232146=asRecord(payload),_0x10e891=getTrimmedString(_0x232146[_0x120d36(0x175)]??_0x232146[_0x120d36(0x173)]);if(!_0x10e891)throw new Error('Skill\x20ke'+_0x120d36(0x1cf)+_0x120d36(0x166));const _0x1955fb=await _0x1348ea[_0x120d36(0x1c9)]['status']()['catch'](()=>({'skills':[]})),_0x1439ee=Array[_0x120d36(0x1ac)](asRecord(_0x1955fb)[_0x120d36(0x1c9)])?asRecord(_0x1955fb)[_0x120d36(0x1c9)]:[],_0x561e79=_0x1439ee[_0x120d36(0x1bf)](asRecord)[_0x120d36(0x1ab)](_0x507fd8=>{const _0xc0b296=_0x120d36;return getTrimmedString(_0x507fd8['skillKey'])===_0x10e891||getTrimmedString(_0x507fd8[_0xc0b296(0x1e1)+_0xc0b296(0x153)])===_0x10e891||getTrimmedString(_0x507fd8[_0xc0b296(0x173)])===_0x10e891;});if(!_0x561e79)throw new Error(_0x120d36(0x160)+'除');if(_0x561e79[_0x120d36(0x15a)])throw new Error(_0x120d36(0x15e));if(_0x561e79[_0x120d36(0x16b)]||_0x561e79[_0x120d36(0x1d8)]===_0x120d36(0x1a8)+_0x120d36(0x1dc)||_0x561e79['source']===_0x120d36(0x1a8)+'-extra')throw new Error(_0x120d36(0x1b0)+_0x120d36(0x1da));if(!_0x561e79[_0x120d36(0x1cc)])throw new Error(_0x120d36(0x1a0)+'删除');const _0x3649f7=join(_0x3ca8a5['resolveS'+'tateDir'](),'market-s'+'kills.js'+'on'),_0xe8472f=await readMarketSkillRegistry(_0x3649f7),_0xc72452=asRecord(_0xe8472f[_0x10e891]),_0x35c3dc=getTrimmedString(_0x561e79[_0x120d36(0x1e1)+_0x120d36(0x153)])||getTrimmedString(_0xc72452[_0x120d36(0x17c)])||_0x10e891,_0xb816f8=new Set([_0x10e891,_0x35c3dc,getTrimmedString(_0x561e79[_0x120d36(0x173)])][_0x120d36(0x170)](Boolean)),_0x3b49e2=new Set([join(_0x3ca8a5[_0x120d36(0x198)+_0x120d36(0x16f)](),_0x120d36(0x1c9)),join(_0x3ca8a5[_0x120d36(0x198)+_0x120d36(0x16f)](),_0x120d36(0x1b1)+'e',_0x120d36(0x1c9))]),_0xe7161a=new Set();for(const _0x24a2e1 of _0x3b49e2)await collectSkillDirsUnderRoot(_0x24a2e1,_0xb816f8,_0xe7161a);if(_0xe7161a[_0x120d36(0x1c4)]===0x0)throw new Error('未找到该技能在磁'+_0x120d36(0x164)+'位于自定义\x20sk'+_0x120d36(0x156)+_0x120d36(0x185));for(const _0x382909 of _0xe7161a)await rm(_0x382909,{'recursive':!![],'force':!![]});return await removeMarketSkillRegistryKeys(_0x3649f7,[..._0xb816f8]),await removeSkillConfigEntries(_0x3ca8a5,[..._0xb816f8]),{'ok':!![],'skillKey':_0x10e891};}export async function updateManagedSkillConfig({payload:payload={},configController:_0x10513b}){const _0x5964ca=_0x8854,_0x2d88d7=asRecord(payload),_0x34d836=getTrimmedString(_0x2d88d7[_0x5964ca(0x175)]??_0x2d88d7['name']);if(!_0x34d836)throw new Error(_0x5964ca(0x155)+'y\x20is\x20req'+_0x5964ca(0x166));const _0x1216d8=await _0x10513b[_0x5964ca(0x162)+'ig']()['catch'](()=>({})),_0x4a8868=asRecord(_0x1216d8[_0x5964ca(0x1c9)]),_0x59595d={...asRecord(_0x4a8868['entries'])},_0x1c77aa=asRecord(_0x59595d[_0x34d836]),_0x593a80={..._0x1c77aa};typeof _0x2d88d7['enabled']===_0x5964ca(0x1bb)&&(_0x593a80[_0x5964ca(0x17d)]=_0x2d88d7[_0x5964ca(0x17d)]);const _0x5bffe2={...asRecord(_0x2d88d7['env'])},_0x2025bf=getTrimmedString(_0x2d88d7[_0x5964ca(0x190)]);if(_0x2025bf)_0x5bffe2[_0x5964ca(0x190)]=_0x2025bf;Object[_0x5964ca(0x1b4)](_0x5bffe2)[_0x5964ca(0x18d)]>0x0&&(_0x593a80['env']={...asRecord(_0x1c77aa['env']),..._0x5bffe2});const _0x473338=asRecord(_0x2d88d7['config']);return Object['keys'](_0x473338)[_0x5964ca(0x18d)]>0x0&&(_0x593a80['config']={...asRecord(_0x1c77aa[_0x5964ca(0x14f)]),..._0x473338}),_0x59595d[_0x34d836]=_0x593a80,_0x4a8868['entries']=_0x59595d,_0x1216d8[_0x5964ca(0x1c9)]=_0x4a8868,_0x10513b['markConf'+_0x5964ca(0x14b)+'andledIn'+_0x5964ca(0x188)]?.(),await _0x10513b[_0x5964ca(0x18e)+_0x5964ca(0x18c)](_0x1216d8,_0x5964ca(0x1a3)+'nfig\x20upd'+_0x5964ca(0x1d1)),{'ok':!![],'skillKey':_0x34d836};}function _0x24de(){const _0x3022c4=['ills\x20路径,','slice','33412ftMEZB','from','always','14iCuWrI','ory','mpare','该技能不允许删除','nationPa','技能不存在或已移','个\x20skill\x20','readConf','andledIn','盘上的目录,可能','kill.zip','uired','status','SKILLS.M','th\x20\x27','技能商店安装需要','bundled','导入技能\x20ZIP','sort','zipUrl','tateDir','filter','startsWi','showOpen','name','match','skillKey','openFile','Dialog','接口返回的\x20ve','powershe','toString','rt-','code','enabled','ath\x20\x27','rsion','已取消导入','operty','extracte','Expand-A','^\x5cs*','请手动删除','\x22已存在,请确认','5704MPiGrA','ternally','market-s','技能目录\x22','873YEvMES','fig','length','writeCon','markConf','apiKey','295JvnnaU','catch','hasOwnPr','7dDZoDo','utf8','rchive\x20-','replace','resolveS','__MACOSX','fromEntr','toUpperC','trim','-skill','ase','load','请先关闭技能后再','error','2318850MluFoC','skill\x20co','\x20SKILL.m','th\x20ensur','84YhBuiI','getPath','openclaw','entries','stringif','find','isArray','localeCo','5537DAuSwl','kills.js','内置/扩展技能无','workspac','2357301TdVHdn','-NoProfi','keys','ZIP\x20Arch','ZIP\x20中包含多','version','LiteralP','是否覆盖','extraDir','boolean','能导入一个','下载技能\x20ZIP','logoUrl','map','call','89221pcozPQ','push','oved','size','filePath','imported','ractive','skills\x20i','skills','EXDEV','2857830nTHAPJ','disabled','overwrit','pathname','y\x20is\x20req','object','ated','fer','SKILL.MD','temp','LS.md','接口返回的\x20na','prototyp','source','has','法删除','arrayBuf','-bundled','ive','ill-impo','SKILL.md','ll.exe','gatewayS','isDirect','managed\x20','igWriteH','unzip','ion','descript','config','market','win32','ZIP\x20中未找到','killKey','ies','Skill\x20ke'];_0x24de=function(){return _0x3022c4;};return _0x24de();}async function upsertMarketSkillRegistryEntry(_0x3312be,_0x3da5c6,_0x261fe5,_0x10c9de,_0x825e0f={}){const _0x23220c=_0x8854,_0x50cb51=getTrimmedString(_0x3da5c6),_0x1e8470=getTrimmedString(_0x261fe5),_0x444ac9=getTrimmedString(_0x10c9de);if(!_0x50cb51||!_0x1e8470||!_0x444ac9)return;const _0x399d37=await readMarketSkillRegistry(_0x3312be);_0x399d37[_0x50cb51]={'version':_0x444ac9,'code':_0x1e8470,...getTrimmedString(_0x825e0f['name'])?{'name':getTrimmedString(_0x825e0f[_0x23220c(0x173)])}:{},...getTrimmedString(_0x825e0f[_0x23220c(0x1be)])?{'logo_url':getTrimmedString(_0x825e0f[_0x23220c(0x1be)])}:{},...getTrimmedString(_0x825e0f[_0x23220c(0x14e)+_0x23220c(0x14d)])?{'description':getTrimmedString(_0x825e0f[_0x23220c(0x14e)+'ion'])}:{}};if(_0x399d37[_0x1e8470]&&_0x1e8470!==_0x50cb51)delete _0x399d37[_0x1e8470];for(const [_0xdfcfa4,_0x2a6106]of Object['entries'](_0x399d37)){if(_0xdfcfa4!==_0x50cb51&&asRecord(_0x2a6106)[_0x23220c(0x17c)]===_0x1e8470)delete _0x399d37[_0xdfcfa4];}const _0xf33bfc=Object[_0x23220c(0x19a)+_0x23220c(0x154)](Object[_0x23220c(0x1a9)](_0x399d37)['sort'](([_0x3d3bd1],[_0x3ec2e4])=>_0x3d3bd1[_0x23220c(0x1ad)+_0x23220c(0x15d)](_0x3ec2e4)));await writeJson(_0x3312be,_0xf33bfc);}async function ensureManagedSkillsExtraDir(_0x25b8df){const _0xabdf54=_0x8854,_0x745c40=await _0x25b8df[_0xabdf54(0x162)+'ig']()[_0xabdf54(0x192)](()=>({})),_0x20fb5e=asRecord(_0x745c40[_0xabdf54(0x1c9)]),_0x5cf6db=asRecord(_0x20fb5e['load']),_0x1f7581=Array[_0xabdf54(0x1ac)](_0x5cf6db[_0xabdf54(0x1ba)+'s'])?_0x5cf6db[_0xabdf54(0x1ba)+'s']:[],_0x4ec325=dedupeStrings([..._0x1f7581,_0xabdf54(0x1c9)]);if(JSON[_0xabdf54(0x1aa)+'y'](_0x1f7581)===JSON[_0xabdf54(0x1aa)+'y'](_0x4ec325))return;_0x5cf6db[_0xabdf54(0x1ba)+'s']=_0x4ec325,_0x20fb5e[_0xabdf54(0x19f)]=_0x5cf6db,_0x745c40[_0xabdf54(0x1c9)]=_0x20fb5e,_0x25b8df[_0xabdf54(0x18f)+'igWriteH'+'andledIn'+_0xabdf54(0x188)]?.(),await _0x25b8df[_0xabdf54(0x18e)+_0xabdf54(0x18c)](_0x745c40,_0xabdf54(0x1e3)+_0xabdf54(0x1c8)+'mport\x20pa'+_0xabdf54(0x1a5)+'ed');}async function resolveZipPath({payload:_0x5be518,app:_0x580921,dialog:_0x4c14fb,dialogWindow:_0xb39ff3}){const _0x4a30e4=_0x8854,_0x2e2f64=getTrimmedString(_0x5be518[_0x4a30e4(0x16e)]);let _0x4c48f6=getTrimmedString(_0x5be518['selected'+'ZipPath']),_0x8e404e=null;if(!_0x4c48f6&&_0x2e2f64){const _0x5b6780=new URL(_0x2e2f64);_0x8e404e=await mkdtemp(join(_0x580921[_0x4a30e4(0x1a7)]('temp'),'wujie-sk'+'ill-down'+'load-')),_0x4c48f6=join(_0x8e404e,basename(_0x5b6780[_0x4a30e4(0x1ce)])||_0x4a30e4(0x189)+_0x4a30e4(0x165));const _0xccbad7=await fetch(_0x5b6780[_0x4a30e4(0x17a)]());if(!_0xccbad7['ok'])throw new Error(_0x4a30e4(0x1bd)+'\x20失败(HTTP'+'\x20'+_0xccbad7[_0x4a30e4(0x167)]+')');await writeFile(_0x4c48f6,Buffer[_0x4a30e4(0x159)](await _0xccbad7[_0x4a30e4(0x1db)+_0x4a30e4(0x1d2)]()));}if(!_0x4c48f6){const _0x588f28={'title':_0x4a30e4(0x16c),'properties':[_0x4a30e4(0x176)],'filters':[{'name':_0x4a30e4(0x1b5)+_0x4a30e4(0x1dd),'extensions':['zip']}]},_0x4d6b4e=_0xb39ff3?await _0x4c14fb['showOpen'+'Dialog'](_0xb39ff3,_0x588f28):await _0x4c14fb[_0x4a30e4(0x172)+_0x4a30e4(0x177)](_0x588f28);if(_0x4d6b4e['canceled']||_0x4d6b4e[_0x4a30e4(0x1c5)+'s'][_0x4a30e4(0x18d)]===0x0)return{'cancelled':!![],'zipPath':null,'downloadedZipDir':_0x8e404e};_0x4c48f6=_0x4d6b4e[_0x4a30e4(0x1c5)+'s'][0x0];}return{'cancelled':![],'zipPath':_0x4c48f6,'downloadedZipDir':_0x8e404e};}export async function importSkillZip({payload:payload={},app:_0x193b60,dialog:_0x4a7dd5,dialogWindow:_0x5d8c85,configController:_0x265b1f}){const _0xaecc42=_0x8854,_0x34b10a=asRecord(payload),_0x346028=getTrimmedString(_0x34b10a['zipUrl']),{cancelled:_0x205165,zipPath:_0xd28db2,downloadedZipDir:_0x29f59f}=await resolveZipPath({'payload':_0x34b10a,'app':_0x193b60,'dialog':_0x4a7dd5,'dialogWindow':_0x5d8c85});if(_0x205165)return{'cancelled':!![],'imported':![],'overwritten':![],'skillDirName':null,'selectedZipPath':null,'zipUrl':_0x346028||null,'message':_0xaecc42(0x180)};const _0x4225c6=await mkdtemp(join(_0x193b60[_0xaecc42(0x1a7)](_0xaecc42(0x1d4)),'wujie-sk'+_0xaecc42(0x1de)+_0xaecc42(0x17b))),_0x55e3c1=join(_0x4225c6,_0xaecc42(0x182)+'d');try{await ensureManagedSkillsExtraDir(_0x265b1f),await mkdir(_0x55e3c1,{'recursive':!![]}),await extractZipToDirectory(_0xd28db2,_0x55e3c1);const _0x1466f4=await findSkillManifestDirectories(_0x55e3c1);if(_0x1466f4['length']===0x0)throw new Error(_0xaecc42(0x152)+_0xaecc42(0x1a4)+'d\x20或\x20SKIL'+_0xaecc42(0x1d5));if(_0x1466f4[_0xaecc42(0x18d)]>0x1)throw new Error(_0xaecc42(0x1b6)+_0xaecc42(0x161)+'目录,当前一次只'+_0xaecc42(0x1bc));const _0x4146d1=_0x1466f4[0x0];await normalizeImportedSkillManifest(_0x4146d1);const _0xcba69a=basename(_0x4146d1),_0x4683b7=parse(_0xd28db2)[_0xaecc42(0x173)][_0xaecc42(0x19c)]()||_0xaecc42(0x1c6)+_0xaecc42(0x19d),_0x2047d6=_0xcba69a==='extracte'+'d'?_0x4683b7:_0xcba69a,_0x2c4b89=await resolveSkillKeyFromManifest(_0x4146d1)??_0x2047d6,_0x5a4df6=_0x34b10a['source']===_0xaecc42(0x150),_0x7a116d=getTrimmedString(_0x34b10a['code']),_0x45a4f1=getTrimmedString(_0x34b10a[_0xaecc42(0x1b7)]),_0x520ffd=getTrimmedString(_0x34b10a['name']);if(_0x5a4df6&&!_0x7a116d)throw new Error(_0xaecc42(0x16a)+'接口返回的\x20co'+'de');if(_0x5a4df6&&!_0x45a4f1)throw new Error('技能商店安装需要'+_0xaecc42(0x178)+_0xaecc42(0x17f));if(_0x5a4df6&&!_0x520ffd)throw new Error(_0xaecc42(0x16a)+_0xaecc42(0x1d6)+'me');const _0x3914b9=_0x5a4df6?_0x45a4f1:await resolveSkillVersionFromManifest(_0x4146d1)??extractVersionFromZipUrl(_0x346028),_0x4da723=buildManagedSkillDirectoryName(_0x2c4b89,_0x3914b9,_0x2047d6),_0x4284e9=join(_0x265b1f[_0xaecc42(0x198)+_0xaecc42(0x16f)](),_0xaecc42(0x1c9)),_0x1244bb=join(_0x4284e9,_0x4da723);if(existsSync(_0x1244bb)){if(_0x34b10a['overwrit'+'e']!==!![])return{'cancelled':![],'imported':![],'overwritten':![],'needConfirmOverwrite':!![],'skillDirName':_0x4da723,'overwriteTargetPath':_0x1244bb,'selectedZipPath':_0xd28db2,'zipUrl':_0x346028||null,'message':_0xaecc42(0x18a)+_0x4da723+(_0xaecc42(0x186)+_0xaecc42(0x1b9))};await rm(_0x1244bb,{'recursive':!![],'force':!![]});}let _0xc16b53=_0x4146d1;_0xcba69a==='extracte'+'d'&&(_0xc16b53=join(_0x4225c6,_0x4da723),await rename(_0x4146d1,_0xc16b53));await moveDirectoryWithOverwrite(_0xc16b53,_0x1244bb);if(_0x5a4df6){for(const _0x48ef12 of await readdir(_0x4284e9,{'withFileTypes':!![]})[_0xaecc42(0x192)](()=>[])){if(!_0x48ef12[_0xaecc42(0x1e2)+_0xaecc42(0x15c)]())continue;const _0x18269b=join(_0x4284e9,_0x48ef12[_0xaecc42(0x173)]);if(_0x18269b===_0x1244bb)continue;const _0x576ff6=await resolveSkillKeyFromManifest(_0x18269b);_0x576ff6&&_0x576ff6['trim']()===_0x2c4b89[_0xaecc42(0x19c)]()&&await rm(_0x18269b,{'recursive':!![],'force':!![]});}await upsertMarketSkillRegistryEntry(join(_0x265b1f[_0xaecc42(0x198)+'tateDir'](),_0xaecc42(0x189)+_0xaecc42(0x1af)+'on'),_0x2c4b89,_0x7a116d,_0x45a4f1,{'name':_0x520ffd,'logoUrl':getTrimmedString(_0x34b10a[_0xaecc42(0x1be)]),'description':getTrimmedString(_0x34b10a[_0xaecc42(0x14e)+_0xaecc42(0x14d)])});}return{'cancelled':![],'imported':!![],'overwritten':_0x34b10a[_0xaecc42(0x1cd)+'e']===!![],'skillDirName':_0x4da723,'targetPath':_0x1244bb,'selectedZipPath':_0xd28db2,'zipUrl':_0x346028||null,'message':_0x4da723+'\x20添加成功'};}finally{await rm(_0x4225c6,{'recursive':!![],'force':!![]});if(_0x29f59f)await rm(_0x29f59f,{'recursive':!![],'force':!![]});}}
@@ -1 +0,0 @@
1
- (function(_0x38a5b3,_0x538fd9){const _0x39fd55=_0x3127,_0x21fe21=_0x38a5b3();while(!![]){try{const _0x91580f=parseInt(_0x39fd55(0xfb))/0x1+-parseInt(_0x39fd55(0xf5))/0x2+-parseInt(_0x39fd55(0xde))/0x3*(parseInt(_0x39fd55(0xf8))/0x4)+parseInt(_0x39fd55(0xfe))/0x5*(parseInt(_0x39fd55(0x104))/0x6)+parseInt(_0x39fd55(0xdc))/0x7*(-parseInt(_0x39fd55(0x103))/0x8)+-parseInt(_0x39fd55(0xd8))/0x9*(-parseInt(_0x39fd55(0xd9))/0xa)+parseInt(_0x39fd55(0xfc))/0xb;if(_0x91580f===_0x538fd9)break;else _0x21fe21['push'](_0x21fe21['shift']());}catch(_0x2d261c){_0x21fe21['push'](_0x21fe21['shift']());}}}(_0x2889,0x73e1c));import{spawn}from'node:child_process';import{randomUUID}from'node:crypto';import{accessSync,constants,existsSync}from'node:fs';function _0x3127(_0x575964,_0x2752cd){_0x575964=_0x575964-0xc5;const _0x28891b=_0x2889();let _0x312798=_0x28891b[_0x575964];return _0x312798;}import{mkdir}from'node:fs/promises';import{basename,delimiter,join}from'node:path';const FILE_EXTENSION_REGEX=/\.[a-z0-9]+$/i;function resolvePathEntries(_0x2f8aa0){const _0x54d6c4=_0x3127,_0x5ad572=Object[_0x54d6c4(0xd7)](_0x2f8aa0)[_0x54d6c4(0xf4)](_0xfaef19=>_0xfaef19[_0x54d6c4(0xf0)+'ase']()===_0x54d6c4(0x100))??_0x54d6c4(0xe6);return String(_0x2f8aa0[_0x5ad572]||'')[_0x54d6c4(0xc7)](delimiter)[_0x54d6c4(0xed)](Boolean);}function _0x2889(){const _0x4a17a8=['data','darwin','al/bin/z','clear','set','X_OK','filter','win32','platform','toLowerC','pipe','push','/bin/zsh','find','1887610yNdBZA','stdin','ll\x20found','2804hHJuRG','cwd','object','330200zGyIUG','20254476emEbro','.bat','1129315lFwqAi','write','path','message','rted\x20Win','8rVWRjL','6rcdJVi','Terminal','xterm-25','/usr/loc','split','.exe','toString','kill','ebrew/bi','No\x20suppo','child','/bin/bas','env','al/bin/b','F_OK','trim','cmd','n/bash','dows\x20she','stderr','keys','480069BaiNwN','50muwwcz','includes','error','2840803IBdKQZ','get','3594bNmtLg','/opt/hom','truecolo','--login','sessionI','ash','-NoLogo','bash','PATH'];_0x2889=function(){return _0x4a17a8;};return _0x2889();}function canExecute(_0x3a141e){const _0x58117a=_0x3127;try{return accessSync(_0x3a141e,process[_0x58117a(0xef)]===_0x58117a(0xee)?constants[_0x58117a(0xd1)]:constants[_0x58117a(0xec)]),!![];}catch{return![];}}function resolveExecutableOnPath(_0x437d0c,_0x5d861e){const _0x27f701=_0x3127,_0x3e65d2=String(_0x437d0c||'')['trim']();if(!_0x3e65d2)return null;if(_0x3e65d2[_0x27f701(0xda)]('/')||_0x3e65d2[_0x27f701(0xda)]('\x5c'))return existsSync(_0x3e65d2)?_0x3e65d2:null;const _0x504fc8=[_0x3e65d2];process[_0x27f701(0xef)]==='win32'&&!FILE_EXTENSION_REGEX['test'](_0x3e65d2)&&_0x504fc8[_0x27f701(0xf2)](_0x3e65d2+_0x27f701(0xc8),_0x3e65d2+'.cmd',_0x3e65d2+_0x27f701(0xfd));for(const _0x43da11 of resolvePathEntries(_0x5d861e)){for(const _0x5b754f of _0x504fc8){const _0x3caa6e=join(_0x43da11,_0x5b754f);if(canExecute(_0x3caa6e))return _0x3caa6e;}}return null;}function resolveShellLaunchConfig(_0x5e20ff){const _0x1ec54b=_0x3127;if(process[_0x1ec54b(0xef)]===_0x1ec54b(0xee)){const _0x2f37ea=resolveExecutableOnPath('pwsh',_0x5e20ff)??resolveExecutableOnPath('powershe'+'ll',_0x5e20ff);if(_0x2f37ea)return{'command':_0x2f37ea,'args':[_0x1ec54b(0xe4)]};const _0x273183=resolveExecutableOnPath(_0x1ec54b(0xd3),_0x5e20ff);if(_0x273183)return{'command':_0x273183,'args':['/Q']};throw new Error(_0x1ec54b(0xcc)+_0x1ec54b(0x102)+_0x1ec54b(0xd5)+_0x1ec54b(0xf7));}if(process[_0x1ec54b(0xef)]===_0x1ec54b(0xe8)){const _0x25ad98=[_0x1ec54b(0xf3),_0x1ec54b(0xc6)+_0x1ec54b(0xe9)+'sh',_0x1ec54b(0xdf)+_0x1ec54b(0xcb)+'n/zsh']['find'](canExecute);if(_0x25ad98)return{'command':_0x25ad98,'args':['-i']};const _0x25ffda=[_0x1ec54b(0xce)+'h',_0x1ec54b(0xc6)+_0x1ec54b(0xd0)+_0x1ec54b(0xe3),_0x1ec54b(0xdf)+_0x1ec54b(0xcb)+_0x1ec54b(0xd4)][_0x1ec54b(0xf4)](canExecute);if(_0x25ffda)return{'command':_0x25ffda,'args':[_0x1ec54b(0xe1),'-i']};}const _0x540c74=resolveExecutableOnPath(process.env.SHELL||'',_0x5e20ff)??resolveExecutableOnPath(_0x1ec54b(0xe5),_0x5e20ff)??resolveExecutableOnPath('sh',_0x5e20ff);if(!_0x540c74)throw new Error(_0x1ec54b(0xcc)+'rted\x20she'+_0x1ec54b(0xf7));return{'command':_0x540c74,'args':['-l','-i']};}export function createTerminalManager({cwd:_0x56c50c,emitData:_0x4fe08b,emitExit:_0x3cdb2e}){const _0x3a1580=new Map();function _0x457e66(_0x26bfbc){const _0x8c3a03=_0x3127,_0x40925b=_0x3a1580[_0x8c3a03(0xdd)](_0x26bfbc);if(!_0x40925b)throw new Error(_0x8c3a03(0x105)+'\x20session'+'\x20not\x20fou'+'nd');return _0x40925b;}async function _0x520c6c(_0x11c495={}){const _0x1867c0=_0x3127,_0x536e7e={...process.env,'TERM':_0x1867c0(0xc5)+'6color','COLORTERM':_0x1867c0(0xe0)+'r',..._0x11c495[_0x1867c0(0xcf)]&&typeof _0x11c495['env']===_0x1867c0(0xfa)?_0x11c495[_0x1867c0(0xcf)]:{}},_0x3b2869=typeof _0x11c495[_0x1867c0(0xf9)]==='string'&&_0x11c495[_0x1867c0(0xf9)][_0x1867c0(0xd2)]()?_0x11c495[_0x1867c0(0xf9)]:'',_0x2617d4=_0x3b2869||_0x56c50c;await mkdir(_0x2617d4,{'recursive':!![]});const {command:_0x3283fb,args:_0x347ed4}=resolveShellLaunchConfig(_0x536e7e),_0x29324d=randomUUID(),_0x3a1c5d=spawn(_0x3283fb,_0x347ed4,{'cwd':_0x2617d4,'env':_0x536e7e,'stdio':_0x1867c0(0xf1)});return _0x3a1580[_0x1867c0(0xeb)](_0x29324d,{'sessionId':_0x29324d,'child':_0x3a1c5d}),_0x3a1c5d['stdout']['on']('data',_0x589cd5=>_0x4fe08b({'sessionId':_0x29324d,'data':_0x589cd5['toString']()})),_0x3a1c5d[_0x1867c0(0xd6)]['on'](_0x1867c0(0xe7),_0x479bd1=>_0x4fe08b({'sessionId':_0x29324d,'data':_0x479bd1[_0x1867c0(0xc9)]()})),_0x3a1c5d['on']('close',(_0x43401a,_0x28a953)=>{_0x3a1580['delete'](_0x29324d),_0x3cdb2e({'sessionId':_0x29324d,'exitCode':_0x43401a,'signal':_0x28a953});}),_0x3a1c5d['on'](_0x1867c0(0xdb),_0xc18851=>{const _0x271d69=_0x1867c0;_0x4fe08b({'sessionId':_0x29324d,'data':_0xc18851[_0x271d69(0x101)]+'\x0a'});}),{'sessionId':_0x29324d,'shell':basename(_0x3283fb),'cwd':_0x2617d4};}function _0x294f13(_0x87fd89={}){const _0x23d7d0=_0x3127,_0x4075ea=_0x457e66(String(_0x87fd89[_0x23d7d0(0xe2)+'d']||''));return _0x4075ea[_0x23d7d0(0xcd)][_0x23d7d0(0xf6)][_0x23d7d0(0xff)](String(_0x87fd89['data']||'')),{'ok':!![]};}function _0x53c24a(_0x5d476a={}){const _0xc8e74b=_0x3127,_0x502440=String(_0x5d476a[_0xc8e74b(0xe2)+'d']||'');return _0x457e66(_0x502440),{'ok':!![],'ignored':!![]};}function _0x15319f(_0x426479={}){const _0x1fe0b4=_0x3127,_0x32a56b=String(_0x426479[_0x1fe0b4(0xe2)+'d']||''),_0x217ecb=_0x3a1580[_0x1fe0b4(0xdd)](_0x32a56b);if(!_0x217ecb)return{'ok':!![],'closed':![]};return _0x3a1580['delete'](_0x32a56b),_0x217ecb['child']['kill'](),{'ok':!![],'closed':!![]};}function _0x3189e2(){const _0x1d25c8=_0x3127;for(const _0x32eb04 of _0x3a1580['values']())_0x32eb04[_0x1d25c8(0xcd)][_0x1d25c8(0xca)]();_0x3a1580[_0x1d25c8(0xea)]();}return{'create':_0x520c6c,'input':_0x294f13,'resize':_0x53c24a,'close':_0x15319f,'dispose':_0x3189e2};}