@wujie-shell/core 2.0.2 → 3.0.0

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 (44) hide show
  1. package/bin/wujie-shell.mjs +65 -0
  2. package/dist/bin/wujie-shell.mjs +1 -1
  3. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  4. package/dist/src/agents/bundled-agents.mjs +1 -1
  5. package/dist/src/chat/media-archive.mjs +1 -1
  6. package/dist/src/chat/queue.mjs +1 -1
  7. package/dist/src/common/diagnostics.mjs +1 -1
  8. package/dist/src/common/logging.mjs +1 -1
  9. package/dist/src/common/runtime-logger.mjs +1 -1
  10. package/dist/src/common/user-events.mjs +1 -1
  11. package/dist/src/common/utils.mjs +1 -1
  12. package/dist/src/config/controller.mjs +1 -1
  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 -1
  16. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  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 -1
  20. package/dist/src/files/handlers.mjs +1 -1
  21. package/dist/src/gateway/chat-delta.mjs +1 -0
  22. package/dist/src/gateway/controller.mjs +1 -1
  23. package/dist/src/gateway/ws-client.mjs +1 -1
  24. package/dist/src/index.mjs +1 -1
  25. package/dist/src/log-reporting/handlers.mjs +1 -1
  26. package/dist/src/log-reporting/report-logs.mjs +1 -1
  27. package/dist/src/models/handlers.mjs +1 -1
  28. package/dist/src/preferences/store.mjs +1 -1
  29. package/dist/src/runtime/index.mjs +1 -1
  30. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  31. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  32. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -0
  33. package/dist/src/runtime/plugin-sync.mjs +1 -1
  34. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  35. package/dist/src/sessions/runtime-bridge.mjs +1 -0
  36. package/dist/src/sessions/session-sqlite-store.mjs +1 -0
  37. package/dist/src/sessions/sql/001_init.sql +120 -0
  38. package/dist/src/sessions/sql/002_session_local_metadata.sql +15 -0
  39. package/dist/src/sessions/sql/schema.md +115 -0
  40. package/dist/src/skills/import.mjs +1 -1
  41. package/dist/src/skills/market.mjs +1 -1
  42. package/dist/src/terminal/manager.mjs +1 -1
  43. package/dist/src/updates/controller.mjs +1 -0
  44. package/package.json +10 -4
@@ -1 +1 @@
1
- const _0x229ad6=_0x24c2;(function(_0x26fad9,_0x3a947a){const _0xc66a3b=_0x24c2,_0x5eaa00=_0x26fad9();while(!![]){try{const _0x471a58=parseInt(_0xc66a3b(0x285))/0x1*(-parseInt(_0xc66a3b(0x3c6))/0x2)+parseInt(_0xc66a3b(0x312))/0x3+parseInt(_0xc66a3b(0x1f5))/0x4*(parseInt(_0xc66a3b(0x1fa))/0x5)+parseInt(_0xc66a3b(0x244))/0x6*(parseInt(_0xc66a3b(0x378))/0x7)+-parseInt(_0xc66a3b(0x363))/0x8+-parseInt(_0xc66a3b(0x336))/0x9+parseInt(_0xc66a3b(0x39d))/0xa;if(_0x471a58===_0x3a947a)break;else _0x5eaa00['push'](_0x5eaa00['shift']());}catch(_0x28bfdb){_0x5eaa00['push'](_0x5eaa00['shift']());}}}(_0x1f4a,0xa7751));import{createHash,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 _0x294784,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'../common/utils.mjs';import{ensureOpenClawDoctorFixed,loadRuntimeInfo,spawnClaw}from'../runtime/index.mjs';function _0x24c2(_0x1069e3,_0x5e111b){_0x1069e3=_0x1069e3-0x1f2;const _0x1f4aa9=_0x1f4a();let _0x24c20c=_0x1f4aa9[_0x1069e3];return _0x24c20c;}import{ClawGatewayWsClient}from'./ws-client.mjs';import{ensureBundledAgents}from'../agents/bundled-agents.mjs';import{archiveChatAttachmentForHistory}from'../chat/media-archive.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'../agents/bundled-agent-skills.mjs';import{syncManagedSkillsToConfig}from'../skills/import.mjs';import{createMarketSkillRuntime}from'../skills/market.mjs';import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'../common/logging.mjs';import{summarizeUserEventAttachments}from'../common/user-events.mjs';import{createGatewayChatQueue}from'../chat/queue.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID='gateway-'+'client',CLIENT_MODE='backend',CLIENT_DEVICE_FAMILY=_0x229ad6(0x23e),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,SESSION_METADATA_FILE=_0x229ad6(0x369)+_0x229ad6(0x33a)+_0x229ad6(0x26b),AGENT_EVENT_SESSION_INVALIDATION_DEBOUNCE_MS=0x320,SHARED_CONTEXT_FILES=[_0x229ad6(0x2ec)+'d',_0x229ad6(0x2dc)+_0x229ad6(0x265),'IDENTITY'+_0x229ad6(0x394),_0x229ad6(0x3cd)+'d',_0x229ad6(0x30d),_0x229ad6(0x39f),_0x229ad6(0x214)],DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x229ad6(0x3c0)+'on',IS_PACKAGED_RUNTIME=!process.env.VITE_DEV_SERVER_URL&&process.env.NODE_ENV==='producti'+'on',BACKGROUND_CHAT_HISTORY_SOURCES=new Set([_0x229ad6(0x2e5)+_0x229ad6(0x28a),_0x229ad6(0x2cb)+_0x229ad6(0x398),_0x229ad6(0x264)+_0x229ad6(0x25e)+'n',_0x229ad6(0x2da)+_0x229ad6(0x319),_0x229ad6(0x2ff)+_0x229ad6(0x38d)+_0x229ad6(0x370),_0x229ad6(0x2ff)+'d-files-'+_0x229ad6(0x369)+'sync',_0x229ad6(0x369)+_0x229ad6(0x2ac)]);function hashForDiagnostic(_0x53e143){const _0x51411c=_0x229ad6;return createHash(_0x51411c(0x295))[_0x51411c(0x3e3)](String(_0x53e143??''))[_0x51411c(0x3ee)](_0x51411c(0x1f3))['slice'](0x0,0xc);}function createEmptyChatHistoryResult(_0x5d170d){return{'messages':[],'limit':_0x5d170d,'hasMore':![],'nextCursor':null};}function isChatHistoryNotFoundError(_0x401c36){const _0x22a1a6=_0x229ad6;return _0x401c36 instanceof Error&&/\bHTTP 404\b/[_0x22a1a6(0x387)](_0x401c36[_0x22a1a6(0x2a0)]);}export function syncBundledAgentRuntimeConfig(_0xbd7770,_0x2d3e37=[]){const _0x32bb8c=_0x229ad6,_0x17f508=_0x2d3e37['filter'](_0x4f1889=>{const _0x6ff956=_0x24c2,_0xea9227=asRecord(_0x4f1889);return asStringArray(_0xea9227[_0x6ff956(0x3f5)+'y'])[_0x6ff956(0x37a)]>0x0||Object['keys'](asRecord(_0xea9227[_0x6ff956(0x367)+'rs']))[_0x6ff956(0x37a)]>0x0;});if(_0x17f508['length']===0x0)return{'config':_0xbd7770,'changed':![]};let _0x576183=![];const _0x2b8e47={...asRecord(_0xbd7770)},_0x14e777={...asRecord(_0x2b8e47[_0x32bb8c(0x2c0)])},_0x6b5756=Array[_0x32bb8c(0x2ef)](_0x14e777[_0x32bb8c(0x311)])?_0x14e777['list']:[],_0x271c3c=_0x6b5756[_0x32bb8c(0x261)](_0x414b15=>_0x414b15&&typeof _0x414b15===_0x32bb8c(0x351)?{..._0x414b15}:_0x414b15),_0x2e92f8={...asRecord(_0x2b8e47['tools'])};let _0xa4b90e=asStringArray(_0x2e92f8[_0x32bb8c(0x274)]);const _0x288164={...asRecord(_0x2b8e47[_0x32bb8c(0x20c)])},_0x1a5994={...asRecord(_0x288164[_0x32bb8c(0x322)]??_0x2b8e47[_0x32bb8c(0x367)+'rs'])};for(const _0x1c89e1 of _0x17f508){const _0x302993=getTrimmedString(_0x1c89e1[_0x32bb8c(0x308)]);if(!_0x302993)continue;const _0x5d4d53=_0x302993===_0x32bb8c(0x3a1)?null:_0x271c3c[_0x32bb8c(0x31e)](_0x3a30ff=>getTrimmedString(asRecord(_0x3a30ff)['id'])===_0x302993),_0x33cc30=asStringArray(_0x1c89e1[_0x32bb8c(0x3f5)+'y']);if(_0x5d4d53&&_0x33cc30[_0x32bb8c(0x37a)]>0x0){'toolsDen'+'y'in _0x5d4d53&&(delete _0x5d4d53[_0x32bb8c(0x3f5)+'y'],_0x576183=!![]);const _0x43b440=dedupeStrings([..._0xa4b90e,..._0x33cc30]);JSON[_0x32bb8c(0x200)+'y'](_0x43b440)!==JSON[_0x32bb8c(0x200)+'y'](_0xa4b90e)&&(_0xa4b90e=_0x43b440,_0x576183=!![]);}const _0x46cc20=asRecord(_0x1c89e1['mcpServe'+'rs']);if(Object[_0x32bb8c(0x2a5)](_0x46cc20)[_0x32bb8c(0x37a)]>0x0){_0x5d4d53&&('mcpServe'+'rs'in _0x5d4d53&&(delete _0x5d4d53[_0x32bb8c(0x367)+'rs'],_0x576183=!![]));for(const [_0xb9ca31,_0x204851]of Object[_0x32bb8c(0x24f)](_0x46cc20)){if(JSON[_0x32bb8c(0x200)+'y'](_0x1a5994[_0xb9ca31])===JSON['stringif'+'y'](_0x204851))continue;_0x1a5994[_0xb9ca31]=_0x204851,_0x576183=!![];}}}return _0x576183&&(_0x14e777[_0x32bb8c(0x311)]=_0x271c3c,_0x2b8e47[_0x32bb8c(0x2c0)]=_0x14e777,Object[_0x32bb8c(0x2a5)](_0x1a5994)[_0x32bb8c(0x37a)]>0x0&&(_0x288164['servers']=_0x1a5994,_0x2b8e47[_0x32bb8c(0x20c)]=_0x288164),_0xa4b90e[_0x32bb8c(0x37a)]>0x0&&(_0x2e92f8[_0x32bb8c(0x274)]=_0xa4b90e,_0x2b8e47[_0x32bb8c(0x2c2)]=_0x2e92f8)),{'config':_0x2b8e47,'changed':_0x576183};}function nowIso(){const _0x4bd70d=_0x229ad6;return new Date()[_0x4bd70d(0x2b6)+_0x4bd70d(0x271)]();}function waitForChildExit(_0x393abb,_0x5c1a8a=0x1388){const _0x5e632d=_0x229ad6;if(!_0x393abb||_0x393abb['exitCode']!==null||_0x393abb['signalCo'+'de'])return Promise[_0x5e632d(0x3b8)](!![]);return new Promise(_0x5e690b=>{const _0x38e669=_0x5e632d;let _0x5b6b2c=![];const _0x201f47=_0x4d6b8e=>{const _0x117f4e=_0x24c2;if(_0x5b6b2c)return;_0x5b6b2c=!![],clearTimeout(_0x62798d),_0x393abb[_0x117f4e(0x247)](_0x117f4e(0x257),_0x162b32),_0x393abb[_0x117f4e(0x247)](_0x117f4e(0x2e7),_0x162b32),_0x5e690b(_0x4d6b8e);},_0x162b32=()=>_0x201f47(!![]),_0x62798d=setTimeout(()=>_0x201f47(![]),_0x5c1a8a);_0x393abb[_0x38e669(0x22a)](_0x38e669(0x257),_0x162b32),_0x393abb['once']('close',_0x162b32);});}function buildGatewayWsUrl(_0x4c04da){const _0x51c3c7=_0x229ad6;return _0x51c3c7(0x23d)+_0x51c3c7(0x318)+_0x4c04da;}function createInitialStatus(){const _0x18591a=_0x229ad6;return{'lifecycle':'stopped','health':_0x18591a(0x253),'port':null,'tokenPresent':![],'initialStartupComplete':![],'message':'gateway\x20'+'stopped','updatedAt':nowIso()};}function extractGatewayMessageText(_0x192d92){const _0x15ba72=_0x229ad6;if(typeof _0x192d92===_0x15ba72(0x2e4))return _0x192d92;if(!Array['isArray'](_0x192d92))return'';const _0x2d8a44=[];for(const _0x4e6a35 of _0x192d92){if(typeof _0x4e6a35===_0x15ba72(0x2e4)){if(_0x4e6a35)_0x2d8a44[_0x15ba72(0x3e8)](_0x4e6a35);continue;}const _0x1ea975=asRecord(_0x4e6a35);_0x1ea975[_0x15ba72(0x3a3)]==='text'&&typeof _0x1ea975[_0x15ba72(0x384)]===_0x15ba72(0x2e4)&&_0x1ea975[_0x15ba72(0x384)]&&_0x2d8a44[_0x15ba72(0x3e8)](_0x1ea975['text']);}return _0x2d8a44[_0x15ba72(0x3ad)]('\x0a');}function extractGatewayChatText(_0x1271dd){const _0x5cfa64=_0x229ad6,_0x433843=asRecord(_0x1271dd);if(typeof _0x433843['text']===_0x5cfa64(0x2e4))return _0x433843[_0x5cfa64(0x384)];return extractGatewayMessageText(_0x433843[_0x5cfa64(0x2f3)]);}function guessMimeType(_0x36a99a){const _0x3bed73=_0x229ad6,_0x495aa1=_0x36a99a[_0x3bed73(0x3cf)]('.')[_0x3bed73(0x3e0)]()?.[_0x3bed73(0x3c1)+_0x3bed73(0x3f4)]()??'',_0x2ce104={'png':_0x3bed73(0x3e5)+'g','jpg':_0x3bed73(0x3b6)+'eg','jpeg':_0x3bed73(0x3b6)+'eg','webp':_0x3bed73(0x2f2)+'bp','gif':_0x3bed73(0x305)+'f','svg':_0x3bed73(0x227)+_0x3bed73(0x1fd),'pdf':'applicat'+_0x3bed73(0x33f),'txt':_0x3bed73(0x21a)+'in','md':_0x3bed73(0x25c)+_0x3bed73(0x216),'json':'applicat'+_0x3bed73(0x250),'csv':_0x3bed73(0x20a)};return _0x2ce104[_0x495aa1]||_0x3bed73(0x35f)+_0x3bed73(0x3df)+'t-stream';}async function buildAttachments(_0x19dd1a=[],_0x55de6f={}){const _0x27c7c2=_0x229ad6,_0x8e3004=[],_0x557c6d=[];for(const _0x589bf3 of _0x19dd1a){const _0x2c5d2a=getTrimmedString(_0x589bf3);if(!_0x2c5d2a)continue;const _0x5bdd8c=await stat(_0x2c5d2a);if(!_0x5bdd8c[_0x27c7c2(0x39a)]())continue;if(_0x5bdd8c[_0x27c7c2(0x2db)]>ATTACHMENT_MAX_BYTES)throw new Error('attachme'+_0x27c7c2(0x35d)+_0x27c7c2(0x279)+basename(_0x2c5d2a));const _0x882c9f=guessMimeType(_0x2c5d2a);_0x8e3004[_0x27c7c2(0x3e8)]({'type':_0x882c9f[_0x27c7c2(0x36e)+'th'](_0x27c7c2(0x3ba))?'image':_0x27c7c2(0x357),'mimeType':_0x882c9f,'content':(await readFile(_0x2c5d2a))[_0x27c7c2(0x2f0)](_0x27c7c2(0x3ef)),'fileName':basename(_0x2c5d2a)});if(_0x55de6f[_0x27c7c2(0x3f2)+'ey']&&_0x55de6f[_0x27c7c2(0x327)]){const _0x2add87=await archiveChatAttachmentForHistory({'mediaPath':_0x2c5d2a,'sessionKey':_0x55de6f[_0x27c7c2(0x3f2)+'ey'],'stateDir':_0x55de6f[_0x27c7c2(0x327)],'onWarn':_0x43f51f=>_0x55de6f[_0x27c7c2(0x3a0)]?.(_0x43f51f)});_0x557c6d['push'](_0x27c7c2(0x337)+_0x27c7c2(0x32e)+'\x20'+_0x2add87+'\x20('+_0x882c9f+')]');}}return{'attachments':_0x8e3004,'historyMediaLines':_0x557c6d};}function buildSessionCreateRequestPayload(_0x5ea211={}){const _0x3ca611=_0x229ad6,_0x30e71a={},_0x3f6373=Math[_0x3ca611(0x27a)]()[_0x3ca611(0x2f0)](0x24)[_0x3ca611(0x2d9)](0x2,0xf),_0x2e3f35=getTrimmedString(_0x5ea211[_0x3ca611(0x282)])||_0x3ca611(0x3a1),_0x8fd81a=getTrimmedString(_0x5ea211[_0x3ca611(0x3a9)])||_0x3ca611(0x263)+_0x2e3f35+(_0x3ca611(0x38e)+'-')+Date[_0x3ca611(0x3a8)]();_0x30e71a[_0x3ca611(0x3a9)]=_0x8fd81a+'-'+_0x3f6373,_0x30e71a[_0x3ca611(0x282)]=_0x2e3f35;const _0x1f2e46=getTrimmedString(_0x5ea211[_0x3ca611(0x217)]);if(_0x1f2e46)_0x30e71a[_0x3ca611(0x217)]=_0x1f2e46+'-'+_0x3f6373;for(const _0x5612b of['model',_0x3ca611(0x379)+_0x3ca611(0x2c8),_0x3ca611(0x2cf),'message']){const _0x73cac9=getTrimmedString(_0x5ea211[_0x5612b]);if(_0x73cac9)_0x30e71a[_0x5612b]=_0x73cac9;}return _0x30e71a;}function _0x1f4a(){const _0x677890=['delta','customMo','onfigure','-questio','red','skills.s','ay\x20state','ucceeded','\x20gateway','status','equested','ws://127','desktop','ettled','listen','message\x20','p\x20timing','filePath','6WimFfk','cron-cha','stall\x20fa','off','ort\x20','rQuestio','skills','sessions','ync\x20fail','settled','finally','entries','ion/json','eady','ested','unknown','.create','skills.u','expr','exit','is\x20requi','cron.run','tatus\x20lo','by\x20gatew','text/mar','c\x20failed','hydratio','ensureAs','\x20request','map','\x20handled','agent:','channel-','T.md','lifecycl','info','answer','eam\x20requ','models','.json','chat-str','session\x20','restarti','tings','reason','ing','method','getModel','deny','bundled\x20','create.s','ted','und','arge:\x20','random','er\x20start','tory','catch','filter','nged','ase\x20retr','session.','agentId','eam-even','res','2miPcKu','y\x20shortl','history_','\x20run','user_inp','ent','writeHea','dispose','resolveC','date\x20req','.list','remove','ate','run','ills\x20syn','openclaw','sha256','t\x20output','gateway\x20','data','[REDACTE','l-core,\x20','ame','allow','function','floor','source','message','pin_upda','names','.delete','r-questi','keys','has','eam.acce','stopped','cron','warning','tateDir','updated','d\x20active','running','setModel','t\x20connec','agent\x20sk','ntityPat','behavior','not\x20foun','default','toISOStr','ternally','token','title','create\x20r','t_output','stdout','nstall','phase','27.0.0.1','agents','stderr','tools','skills.d','aborted','chat_str','start','tokenPre','ssionKey','session_','ured','backgrou','in\x20disab','modelNam','chat','task','limit','chat\x20str','cron-run','aded','nChange','ubscribe','sted','chat\x20eve','\x20complet','slice','gateway-','size','HEARTBEA','stionPlu','Settings','ey\x20is\x20re','some','nc\x20compl','estart','skill\x20up','string','agent-ev','ed\x20behin','close','request','eam.fail','deleteCu','skill\x20de','AGENTS.m','flush','installP','isArray','toString','is\x20start','image/we','content','achments','assistan','ession\x20i','tory\x20loa','ved','eys-upda','TED]\x20--p','health','textLeng','accepted','gnored','generate','Timer','archive\x20','ed;\x20plug','toUpperC','.failed','image/gi','session','cursor','name','pinnedKe','led:\x20','pdate','\x20write\x20r','SOUL.md','t\x20startu','dels','state','list','1967883ijOaCh','eway','cron.rem','e\x20update','settings','create\x20c','.0.0.1:','ready','eted','igRaw','ut.recei','json','find','healthy','restart\x20','stomMode','servers','Session','trim','技能安装失败:\x20','deleted','stateDir','ayRestar','ng:\x20','succeede','chat\x20fai','ist','started','ttached:','started,','--port','failed','events\x20s','nts.prep','not_foun','version','10491219xaIzTV','[media\x20a','n\x20[REDAC','ginConfi','metadata','resolveS','messageI','missing_','onfig\x20sy','ion/pdf','fileName','iled','skills\x20s','timeout','utf8','paths','resolveD','pted','unconfig','onOrphan','terminal','error','defaultI','n\x20callba','values','notifyGa','ist\x20requ','object','bundled-','end','readConf','anscript','kill','file','eway:','destroy','nfig\x20syn','quired','eam\x20queu','nt\x20too\x20l','user','applicat','watchCon','runtimeR','POST','4363360wUowmr','debug','restartO','SIGTERM','mcpServe','done','session-','nexpecte','startedA','\x20require','\x20prepare','startsWi','er-secre','rebuild','errorMes','\x20failed','jobId\x20is','uested','onfigPat','pdate\x20is','managed\x20','436478bWQYio','parentSe','length','c\x20starte','agents-r','\x20waiting','chat\x20run','ompleted','\x20failed\x20','odels','itialCon','jobId','text','ove','ode=','test','--token','warn','agents.u','schedule','t\x20not\x20fo','d-files-',':session','tHandler','parse','ut\x20recei','invalid\x20','tewaySet','.md','requeste','websocke','nt\x20recei','nd-poll','mimeType','isFile','eded','figChang','18032710hTICvp','delete','TOOLS.md','onWarn','main','ck\x20disab','type','channel','nabled','saveCust','chat.his','now','key','quested','not\x20Open','unauthor','join','pinned-k','plugins','cron.add','x-ask-us','delete\x20c','null','Bin','rt\x20reque','image/jp','requestI','resolve','led','image/','process\x20','markConf','agents\x20e','Version','andledIn','producti','toLowerC','rename\x20c','changed','exited\x20c','nPluginE','1098420sttlcP','nsured','\x20for\x20WS','mapSkill','productN','agents.c','renamed','MEMORY.m','gateway','split','sage','agent\x20ru','ask-user','pdated','mpleted','Claw\x20gat','cron.lis','get','provider','eam\x20acce','discover','port','deleteTr','e\x20shared','skill\x20in','ion/octe','pop','workspac','agents.l','update','starting','image/pn','max','hell:gat','push','\x20by\x20shel','ed:\x20','includes','exited','skills.i','digest','base64','chat\x20his','stack','sessionK','trimEnd','ase','toolsDen','projectR','dly','configur','hex','setGatew','4nwgCMd','ntime\x20co','llow-unc','final','ized','4869250TbgiBE','pluginId','runId','g+xml','eam\x20fail','eys\x20upda','stringif','ndled\x20ag','\x20context','updatedA','agents-u','igWriteH','fig','sessionI','isAskUse','pinned\x20k','text/csv','writeCon','mcp','stop','ced','connecte','http://1','--allow-','.changed','unshift','USER.md','er\x20stop\x20','kdown','label','oot','omModel','text/pla','eway]\x20bu','/ask-use','t\x20discon','\x20allocat','log','c\x20comple','patch','sent','set','exited\x20u','splice','reconnec','image/sv','tatus','chat\x20att','once','ared','pid','ensureIn','Fallback','0.1.0','ing,\x20ple','system'];_0x1f4a=function(){return _0x677890;};return _0x1f4a();}function normalizeCronMutationParams(_0x3098b0={}){const _0x297e76=_0x229ad6,_0x88220e={...asRecord(_0x3098b0)},_0x88515c=asRecord(_0x88220e[_0x297e76(0x38b)]);if(Object[_0x297e76(0x2a5)](_0x88515c)[_0x297e76(0x37a)]>0x0){const _0xed413b={..._0x88515c},_0xe20b7b=getTrimmedString(_0xed413b[_0x297e76(0x2a9)]);_0xe20b7b&&!getTrimmedString(_0xed413b[_0x297e76(0x256)])&&(_0xed413b[_0x297e76(0x256)]=_0xe20b7b),delete _0xed413b['cron'],_0x88220e[_0x297e76(0x38b)]=_0xed413b;}return _0x88220e;}function parseSessionCreateResult(_0x2b556d){const _0x28c85b=_0x229ad6,_0x4e5de4=asRecord(_0x2b556d),_0x4207bd=asRecord(_0x4e5de4[_0x28c85b(0x306)]);return{'ok':!![],'key':getTrimmedString(_0x4e5de4['key'])||getTrimmedString(_0x4e5de4[_0x28c85b(0x3f2)+'ey'])||getTrimmedString(_0x4207bd[_0x28c85b(0x3a9)])||null,'sessionId':getTrimmedString(_0x4e5de4[_0x28c85b(0x207)+'d'])||getTrimmedString(_0x4207bd[_0x28c85b(0x207)+'d'])||null};}function getSessionKeyFromValue(_0x3e3cba){const _0x51c361=_0x229ad6,_0x3e22e3=asRecord(_0x3e3cba);return getTrimmedString(_0x3e22e3['sessionK'+'ey']??_0x3e22e3[_0x51c361(0x3a9)]??_0x3e22e3['id']);}function createEmptySessionMetadata(){return{'names':{},'pinnedKeys':[]};}async function readSessionMetadata(_0x188cc3){const _0x582cf8=_0x229ad6;try{const _0x49ddbe=JSON[_0x582cf8(0x390)](await readFile(join(_0x188cc3,SESSION_METADATA_FILE),_0x582cf8(0x344))),_0x5da533=asRecord(_0x49ddbe);return{'names':asRecord(_0x5da533[_0x582cf8(0x2a2)]),'pinnedKeys':Array[_0x582cf8(0x2ef)](_0x5da533[_0x582cf8(0x309)+'ys'])?_0x5da533[_0x582cf8(0x309)+'ys']['filter'](_0x39b7a8=>typeof _0x39b7a8===_0x582cf8(0x2e4)&&_0x39b7a8[_0x582cf8(0x324)]()):[]};}catch{return createEmptySessionMetadata();}}async function writeSessionMetadata(_0x3dee11,_0x71e706){const _0x4614b8=_0x229ad6;await mkdir(_0x3dee11,{'recursive':!![]}),await writeFile(join(_0x3dee11,SESSION_METADATA_FILE),JSON[_0x4614b8(0x200)+'y'](_0x71e706,null,0x2)+'\x0a',_0x4614b8(0x344));}function applySessionMetadata(_0x1cdc4e,_0x572d4d,_0x5aecc1={}){const _0x4fc54b=_0x229ad6,_0x3bb69c=asRecord(_0x1cdc4e),_0x20df9c=Array[_0x4fc54b(0x2ef)](_0x3bb69c[_0x4fc54b(0x24b)])?_0x3bb69c[_0x4fc54b(0x24b)]:[],_0x950368=typeof _0x5aecc1['onOrphan'+_0x4fc54b(0x323)]===_0x4fc54b(0x29d)?_0x5aecc1[_0x4fc54b(0x349)+_0x4fc54b(0x323)]:null;return{..._0x3bb69c,'pinnedKeys':_0x572d4d['pinnedKe'+'ys'],'sessions':_0x20df9c[_0x4fc54b(0x261)](_0x4cb739=>{const _0x28ef0d=_0x4fc54b,_0x4fb48d=asRecord(_0x4cb739),_0xf610b=getSessionKeyFromValue(_0x4fb48d);if(!_0xf610b)return _0x4cb739;const _0x43e31a=getTrimmedString(_0x4fb48d[_0x28ef0d(0x207)+'d'])||getTrimmedString(_0x4fb48d[_0x28ef0d(0x2c9)+'id']);if(!_0x43e31a)return _0x950368?.(_0xf610b,{'updatedAt':_0x4fb48d[_0x28ef0d(0x203)+'t']??_0x4fb48d['updated_'+'at']??null,'agentId':getTrimmedString(_0x4fb48d[_0x28ef0d(0x282)]??_0x4fb48d['agent_id'])}),null;const _0x1a5c0b=getTrimmedString(_0x572d4d[_0x28ef0d(0x2a2)][_0xf610b]),_0x5409b1=_0x572d4d[_0x28ef0d(0x309)+'ys'][_0x28ef0d(0x3eb)](_0xf610b);return{..._0x4fb48d,..._0x1a5c0b?{'name':_0x1a5c0b,'displayName':_0x1a5c0b,'label':_0x1a5c0b}:{},'pinned':_0x5409b1};})['filter'](Boolean)};}function sanitizeSharedContextPayload(_0x349b29){const _0x54d62a=_0x229ad6,_0x2d350b=asRecord(_0x349b29),_0x26e61d={};for(const _0x110d77 of SHARED_CONTEXT_FILES){if(typeof _0x2d350b[_0x110d77]===_0x54d62a(0x2e4))_0x26e61d[_0x110d77]=_0x2d350b[_0x110d77];}return _0x26e61d;}async function readSharedContext(_0x139a6f){const _0x3959bd={};for(const _0x17d392 of SHARED_CONTEXT_FILES){try{_0x3959bd[_0x17d392]=await readFile(join(_0x139a6f,_0x17d392),'utf8');}catch{_0x3959bd[_0x17d392]='';}}return _0x3959bd;}async function writeSharedContext(_0x534e90,_0x33f25a){const _0x12a358=_0x229ad6,_0x5590c2=sanitizeSharedContextPayload(_0x33f25a);await mkdir(_0x534e90,{'recursive':!![]});for(const [_0x4fb3e6,_0x4c0522]of Object['entries'](_0x5590c2)){await writeFile(join(_0x534e90,_0x4fb3e6),_0x4c0522,_0x12a358(0x344));}return{'ok':!![],'files':Object[_0x12a358(0x2a5)](_0x5590c2)};}function createAskUserQuestionServer({configController:_0x56dd7f,emit:_0x10ca6b}){const _0x111713=new Map();let _0x51d44b=null,_0x367792='',_0x16da94='';async function _0x4d37f3(){const _0xd923de=_0x24c2;if(_0x51d44b)return{'callbackUrl':_0x367792,'secret':_0x16da94};_0x16da94=randomUUID();const _0x17d607=await _0x294784({'port':portNumbers(0x332c,0x338f)});return _0x367792=_0xd923de(0x210)+_0xd923de(0x2bf)+':'+_0x17d607+(_0xd923de(0x21c)+_0xd923de(0x2a4)+'on'),_0x51d44b=createServer(async(_0x5c6c30,_0x1a9417)=>{const _0x349321=_0xd923de;if(_0x5c6c30[_0x349321(0x272)]!==_0x349321(0x362)||_0x5c6c30['url']!==_0x349321(0x21c)+_0x349321(0x2a4)+'on'){_0x1a9417[_0x349321(0x28b)+'d'](0x194),_0x1a9417['end'](_0x349321(0x2b4)+'d');return;}if(_0x5c6c30['headers'][_0x349321(0x3b1)+_0x349321(0x36f)+'t']!==_0x16da94){_0x1a9417[_0x349321(0x28b)+'d'](0x191),_0x1a9417[_0x349321(0x353)](_0x349321(0x3ac)+_0x349321(0x1f9));return;}let _0x6ef2e1='';_0x5c6c30['on'](_0x349321(0x298),_0x314822=>{const _0x4cc124=_0x349321;_0x6ef2e1+=_0x314822['toString']();if(_0x6ef2e1[_0x4cc124(0x37a)]>0x400*0x400)_0x5c6c30[_0x4cc124(0x359)]();}),_0x5c6c30['on'](_0x349321(0x353),()=>{const _0x1aa7a3=_0x349321;let _0x20ba7c={};try{_0x20ba7c=JSON[_0x1aa7a3(0x390)](_0x6ef2e1||'{}');}catch{_0x1a9417['writeHea'+'d'](0x190),_0x1a9417[_0x1aa7a3(0x353)](_0x1aa7a3(0x392)+_0x1aa7a3(0x31d));return;}const _0x231510=randomUUID(),_0x5b016a=setTimeout(()=>{const _0x5a6dd7=_0x1aa7a3;if(!_0x111713[_0x5a6dd7(0x2a6)](_0x231510))return;_0x111713[_0x5a6dd7(0x39e)](_0x231510),_0x1a9417[_0x5a6dd7(0x28b)+'d'](0xc8,{'content-type':_0x5a6dd7(0x35f)+_0x5a6dd7(0x250)}),_0x1a9417[_0x5a6dd7(0x353)](JSON['stringif'+'y']({'behavior':'deny'}));},0x1d4c0);_0x111713['set'](_0x231510,{'res':_0x1a9417,'timeout':_0x5b016a}),_0x10ca6b(_0x1aa7a3(0x3d2)+_0x1aa7a3(0x235)+'n',{'requestId':_0x231510,...asRecord(_0x20ba7c)});});}),await new Promise((_0x2994c2,_0xa9bc33)=>{const _0x1a369e=_0xd923de;_0x51d44b['once']('error',_0xa9bc33),_0x51d44b[_0x1a369e(0x240)](_0x17d607,'127.0.0.'+'1',()=>{const _0x59fc3b=_0x1a369e;_0x51d44b['off'](_0x59fc3b(0x34b),_0xa9bc33),_0x2994c2();});}),await _0x56dd7f[_0xd923de(0x25f)+'kUserQue'+_0xd923de(0x2dd)+_0xd923de(0x339)+'g']({'callbackUrl':_0x367792,'secret':_0x16da94}),{'callbackUrl':_0x367792,'secret':_0x16da94};}function _0x70de3d(_0x4096f4={}){const _0x486d06=_0x24c2,_0x2f5c4f=getTrimmedString(_0x4096f4[_0x486d06(0x3b7)+'d']);if(!_0x2f5c4f||!_0x111713[_0x486d06(0x2a6)](_0x2f5c4f))throw new Error(_0x486d06(0x3d2)+_0x486d06(0x235)+'n\x20reques'+_0x486d06(0x38c)+_0x486d06(0x278));const _0x3664ec=_0x111713[_0x486d06(0x3d7)](_0x2f5c4f);return _0x111713['delete'](_0x2f5c4f),clearTimeout(_0x3664ec[_0x486d06(0x343)]),_0x3664ec[_0x486d06(0x284)][_0x486d06(0x28b)+'d'](0xc8,{'content-type':'applicat'+_0x486d06(0x250)}),_0x3664ec['res'][_0x486d06(0x353)](JSON[_0x486d06(0x200)+'y']({'behavior':_0x4096f4[_0x486d06(0x2b3)]===_0x486d06(0x274)?'deny':_0x486d06(0x29c),'answers':asRecord(_0x4096f4['answers'])})),{'ok':!![]};}async function _0x340d6d(){const _0x2a6fb5=_0x24c2;for(const [_0x15763d,_0x59b7bc]of _0x111713){_0x111713[_0x2a6fb5(0x39e)](_0x15763d),clearTimeout(_0x59b7bc[_0x2a6fb5(0x343)]),_0x59b7bc['res'][_0x2a6fb5(0x28b)+'d'](0xc8,{'content-type':_0x2a6fb5(0x35f)+_0x2a6fb5(0x250)}),_0x59b7bc['res'][_0x2a6fb5(0x353)](JSON[_0x2a6fb5(0x200)+'y']({'behavior':_0x2a6fb5(0x274)}));}if(!_0x51d44b)return;await new Promise(_0xc1144=>_0x51d44b[_0x2a6fb5(0x2e7)](_0xc1144)),_0x51d44b=null;}return{'start':_0x4d37f3,'answer':_0x70de3d,'stop':_0x340d6d};}export function createGatewayController({shellConfig:_0x1e3e76,configController:_0x10b4ea,appVersion:appVersion=_0x229ad6(0x22f),productRuntimeHooks:productRuntimeHooks={},userEventWriter:userEventWriter=null}){const _0xb2ad40=_0x229ad6,_0x169fe2=new EventEmitter(),_0x1c6ea6=new ClawGatewayWsClient(),_0x4681fc=[],_0xb51180=new Map(),_0x41bf96=createGatewayChatQueue(),_0x5eb95c=new Map(),_0x239936=new Set();let _0x59cb65=null,_0x4a01f9='';const _0x48be7f=createShellLogger(_0x10b4ea[_0xb2ad40(0x345)],_0xb2ad40(0x3ce)),_0x9cc28b=createShellLogger(_0x10b4ea[_0xb2ad40(0x345)],_0xb2ad40(0x2ce)),_0x5e3d06=createShellLogger(_0x10b4ea['paths'],_0xb2ad40(0x24b)),_0x170e23=createShellLogger(_0x10b4ea['paths'],'capabili'+'ties'),_0x44516a=createMarketSkillRuntime({'configController':_0x10b4ea}),_0x46174a=createAskUserQuestionServer({'configController':_0x10b4ea,'emit':(_0x4cc0b8,_0x3a0dba)=>_0x169fe2['emit'](_0x4cc0b8,_0x3a0dba)});let _0x525cb6=createInitialStatus(),_0x2db77c=null,_0x484b1a=null,_0x1dd510=null,_0x60e7c5=![],_0x55ec18=![],_0x407916=![],_0x185eb5=Promise[_0xb2ad40(0x3b8)](),_0x180c50=null,_0x5ddf0e=0x0,_0x2b45c1=0x0;function _0x171cc8(_0xf60519,_0x484029){_0x169fe2['emit'](_0xf60519,_0x484029);}function _0x18ae7b(_0x5a52f5,_0x1e7aee){return _0x169fe2['on'](_0x5a52f5,_0x1e7aee),()=>_0x169fe2['off'](_0x5a52f5,_0x1e7aee);}function _0x289e00(_0x1fb53e){const _0x32b9e7=_0xb2ad40;userEventWriter?.['write'](_0x1fb53e)?.[_0x32b9e7(0x27d)](()=>{});}function _0x41d713(_0x477072){const _0x36f181=_0xb2ad40;_0x525cb6={..._0x525cb6,..._0x477072,'updatedAt':nowIso()},_0x171cc8('gateway-'+_0x36f181(0x23b),_0x525cb6);}function _0xf9836b(_0x10a0ad,_0x27df80,_0x473e2d={}){const _0x5da9c7=_0xb2ad40;_0x41d713({'lifecycle':_0x10a0ad,'message':_0x27df80,..._0x10a0ad===_0x5da9c7(0x2ae)?{'initialStartupComplete':!![]}:{},..._0x473e2d}),_0x14b3ce(_0x5da9c7(0x231),_0x10a0ad[_0x5da9c7(0x303)+'ase']()+'\x20'+_0x27df80),_0x48be7f?.[_0x5da9c7(0x267)](_0x5da9c7(0x297)+'lifecycl'+_0x5da9c7(0x315)+'d',{'lifecycle':_0x10a0ad,'message':_0x27df80,'status':{'health':_0x525cb6[_0x5da9c7(0x2fb)],'port':_0x525cb6[_0x5da9c7(0x3db)],'tokenPresent':_0x525cb6[_0x5da9c7(0x2c7)+_0x5da9c7(0x222)]},...summarizePayload(_0x473e2d)});}function _0x14b3ce(_0x3e2bf6,_0x5bf411){const _0x14db1a=_0xb2ad40,_0x563c43=String(_0x5bf411??'')[_0x14db1a(0x3f3)]();if(!_0x563c43)return;if(DEBUG_STDOUT){const _0x9efe21=_0x3e2bf6==='stderr'?console[_0x14db1a(0x34b)]:console['info'];_0x9efe21('[wujie-s'+'hell:gat'+_0x14db1a(0x358)+_0x3e2bf6+']',_0x563c43);}const _0x43bebb={'source':_0x3e2bf6,'text':_0x563c43,'timestamp':nowIso()};_0x4681fc[_0x14db1a(0x3e8)](_0x43bebb);if(_0x4681fc[_0x14db1a(0x37a)]>LOG_LIMIT)_0x4681fc[_0x14db1a(0x225)](0x0,_0x4681fc[_0x14db1a(0x37a)]-LOG_LIMIT);_0x171cc8(_0x14db1a(0x2da)+_0x14db1a(0x21f),_0x43bebb),/\[gateway\]\s+ready\b/[_0x14db1a(0x387)](_0x563c43)&&_0x1c6ea6[_0x14db1a(0x34f)+'tewayRea'+'dy'](),_0x48be7f?.[_0x14db1a(0x267)]('gateway\x20'+_0x14db1a(0x21f),{'source':_0x3e2bf6,'text':_0x563c43});}function _0xa309d0(_0xf240ee,_0x379b4c,_0x4d162f={}){const _0x2e323b=_0xb2ad40,_0xc21e86=_0x379b4c+':'+_0xf240ee;if(_0x239936['has'](_0xc21e86))return;_0x239936['add'](_0xc21e86),_0x5e3d06?.['warn']('orphan\x20s'+_0x2e323b(0x2f6)+_0x2e323b(0x2fe),{'reason':_0x379b4c,'sessionKeyHash':hashForDiagnostic(_0xf240ee),..._0x4d162f});}function _0x6bb79c(_0x5d4837=0xc8){const _0x1b73ce=_0xb2ad40;return _0x4681fc[_0x1b73ce(0x2d9)](-Math['max'](0x1,Math[_0x1b73ce(0x29e)](_0x5d4837)));}function _0x31c247(){const _0x2da14f=_0xb2ad40;if(!_0x2db77c||_0x525cb6[_0x2da14f(0x266)+'e']!==_0x2da14f(0x2ae))throw new Error(_0x2da14f(0x297)+_0x2da14f(0x2f1)+_0x2da14f(0x230)+_0x2da14f(0x280)+_0x2da14f(0x286)+'y');}async function _0x381039(_0x61a437=0x3a98){const _0x501b3e=_0xb2ad40;if(_0x5104bb())return!![];const _0x8f6446=Date[_0x501b3e(0x3a8)]();while(Date['now']()-_0x8f6446<_0x61a437){await new Promise(_0x405b48=>setTimeout(_0x405b48,0xfa));if(_0x5104bb())return!![];}return _0x31c247(),!![];}function _0x5104bb(){const _0x1b4433=_0xb2ad40;return Boolean(_0x2db77c&&_0x525cb6[_0x1b4433(0x266)+'e']===_0x1b4433(0x2ae));}function _0x455463(_0x197acd){const _0x36e09f=_0xb2ad40;_0x171cc8(_0x36e09f(0x26c)+_0x36e09f(0x283)+'t',_0x197acd);}function _0x39bb31(){let _0x5e48d4=![],_0x54eec6=()=>{};const _0x14046c=new Promise(_0x400c7f=>{_0x54eec6=()=>{if(_0x5e48d4)return;_0x5e48d4=!![],_0x400c7f();};});return{'settled':_0x14046c,'resolveSettled':_0x54eec6};}function _0x58f448(_0x2b3ecb){const _0x43fa36=_0xb2ad40,_0x1e244=_0xb51180['get'](_0x2b3ecb);if(!_0x1e244)return null;_0xb51180[_0x43fa36(0x39e)](_0x2b3ecb);if(_0x1e244[_0x43fa36(0x34a)+_0x43fa36(0x22e)+_0x43fa36(0x300)])clearTimeout(_0x1e244[_0x43fa36(0x34a)+_0x43fa36(0x22e)+_0x43fa36(0x300)]);_0x41bf96[_0x43fa36(0x290)](_0x1e244),_0x1e244[_0x43fa36(0x33b)+_0x43fa36(0x23f)]?.();const _0x1f6dff=_0x5eb95c[_0x43fa36(0x3d7)](_0x1e244['sessionK'+'ey']);return(_0x1f6dff===_0x1e244[_0x43fa36(0x1fc)]||_0x1f6dff===_0x1e244[_0x43fa36(0x3b7)+'d'])&&_0x5eb95c[_0x43fa36(0x39e)](_0x1e244['sessionK'+'ey']),_0x1e244;}function _0x4a7670(_0x4de30e,_0x428aa3,_0xa3d826=''){const _0x4c473c=_0xb2ad40,_0x44358e=_0x58f448(_0x4de30e[_0x4c473c(0x1fc)]);if(!_0x44358e)return;const _0x19aa5c=Date['now']()-_0x44358e[_0x4c473c(0x36b)+'t'];_0x9cc28b?.[_0x4c473c(0x267)](_0x4c473c(0x37e)+'\x20settled',{'requestId':_0x44358e[_0x4c473c(0x3b7)+'d'],'runId':_0x44358e[_0x4c473c(0x1fc)],'sessionKey':_0x44358e[_0x4c473c(0x3f2)+'ey'],'outcome':_0x428aa3,'durationMs':_0x19aa5c,'textLength':_0x44358e[_0x4c473c(0x2fc)+'th'],..._0xa3d826?{'message':_0xa3d826}:{}}),_0x289e00({'priority':'P0','category':_0x4c473c(0x2ce),'event':_0x428aa3===_0x4c473c(0x34b)?'assistan'+_0x4c473c(0x2bb)+_0x4c473c(0x304):'assistan'+_0x4c473c(0x2bb)+'.succeed'+'ed','status':_0x428aa3===_0x4c473c(0x34b)?'failed':_0x428aa3,'level':_0x428aa3===_0x4c473c(0x34b)?_0x4c473c(0x34b):'info','message':_0x428aa3===_0x4c473c(0x34b)?'assistan'+_0x4c473c(0x296)+_0x4c473c(0x372):_0x4c473c(0x2f5)+'t\x20output'+_0x4c473c(0x2d8)+'ed','sessionKey':_0x44358e[_0x4c473c(0x3f2)+'ey'],'runId':_0x44358e[_0x4c473c(0x1fc)],'agentId':_0x44358e[_0x4c473c(0x282)],'outputSummary':{'length':_0x44358e[_0x4c473c(0x2fc)+'th'],'preview':'','truncated':![]},'visibleError':_0x428aa3===_0x4c473c(0x34b)?_0xa3d826:undefined,'durationMs':_0x19aa5c,'captureIncident':_0x428aa3===_0x4c473c(0x34b),'meta':{'requestId':_0x44358e[_0x4c473c(0x3b7)+'d'],'outcome':_0x428aa3}}),_0x455463({'requestId':_0x44358e[_0x4c473c(0x3b7)+'d'],'sessionKey':_0x44358e[_0x4c473c(0x3f2)+'ey'],'type':_0x428aa3,..._0xa3d826?{'message':_0xa3d826}:{}});}function _0x34561c(_0x348bf7){const _0x288eb1=_0xb2ad40;let _0x3b6d1b=null,_0x59a183=null;for(const _0x522d0e of _0xb51180[_0x288eb1(0x34e)]()){if(_0x522d0e['sessionK'+'ey']===_0x348bf7){_0x3b6d1b=_0x522d0e;if(_0x522d0e[_0x288eb1(0x32d)])_0x59a183=_0x522d0e;}}return _0x59a183??_0x3b6d1b;}function _0x4f4708(_0x55a486){const _0x38c195=_0xb2ad40;let _0x5ba2d0=null;for(const _0x1cfc9e of _0xb51180[_0x38c195(0x34e)]()){_0x1cfc9e[_0x38c195(0x3f2)+'ey']===_0x55a486&&_0x1cfc9e['started']&&(_0x5ba2d0=_0x1cfc9e);}return _0x5ba2d0;}function _0x4ed7fb(_0x224676){const _0x36e9d4=_0xb2ad40;if(!_0x224676)return null;for(const _0x465aa7 of _0xb51180[_0x36e9d4(0x34e)]()){if(_0x465aa7['requestI'+'d']===_0x224676)return _0x465aa7;}return null;}function _0x10808c(_0x10faa7,_0x20f93b){const _0x47a941=_0xb2ad40;if(_0x20f93b[_0x47a941(0x37a)]<=_0x10faa7[_0x47a941(0x2fc)+'th'])return;const _0x5e2aa7=_0x20f93b[_0x47a941(0x2d9)](_0x10faa7[_0x47a941(0x2fc)+'th']);_0x10faa7[_0x47a941(0x2fc)+'th']=_0x20f93b[_0x47a941(0x37a)],_0x5e2aa7&&_0x455463({'requestId':_0x10faa7[_0x47a941(0x3b7)+'d'],'sessionKey':_0x10faa7['sessionK'+'ey'],'type':_0x47a941(0x232),'delta':_0x5e2aa7});}function _0x4e48c5(_0x299e4b,_0xdd5b1a,_0xd5ca3f=''){const _0x4b725f=_0xb2ad40;if(_0x299e4b[_0x4b725f(0x34a)+_0x4b725f(0x22e)+_0x4b725f(0x300)])clearTimeout(_0x299e4b['terminal'+_0x4b725f(0x22e)+_0x4b725f(0x300)]);_0x299e4b[_0x4b725f(0x34a)+_0x4b725f(0x22e)+'Timer']=setTimeout(()=>{const _0x25d255=_0x4b725f,_0x3790c1=_0xb51180['get'](_0x299e4b[_0x25d255(0x1fc)]);if(!_0x3790c1)return;_0x4a7670(_0x3790c1,_0xdd5b1a==='error'?_0x25d255(0x34b):_0x25d255(0x368),_0xd5ca3f);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x16f537(_0x1fbd23){const _0x2e529f=_0xb2ad40;for(const _0x26049c of[..._0xb51180[_0x2e529f(0x34e)]()]){_0x9cc28b?.['warn']('chat\x20run'+_0x2e529f(0x380)+_0x2e529f(0x25b)+_0x2e529f(0x238),{'requestId':_0x26049c[_0x2e529f(0x3b7)+'d'],'runId':_0x26049c[_0x2e529f(0x1fc)],'sessionKey':_0x26049c[_0x2e529f(0x3f2)+'ey'],'durationMs':Date[_0x2e529f(0x3a8)]()-_0x26049c[_0x2e529f(0x36b)+'t'],'reason':_0x1fbd23}),_0x455463({'requestId':_0x26049c[_0x2e529f(0x3b7)+'d'],'sessionKey':_0x26049c[_0x2e529f(0x3f2)+'ey'],'type':_0x2e529f(0x34b),'message':_0x1fbd23}),_0x58f448(_0x26049c[_0x2e529f(0x1fc)]);}_0x41bf96['clear'](),_0x5eb95c['clear'](),_0x59cb65&&(clearTimeout(_0x59cb65),_0x59cb65=null),_0x4a01f9='';}function _0x4ae1a0(_0x24da0d){_0x171cc8('sessions'+'-invalid'+'ated',_0x24da0d);}function _0x4ff1cc(_0x37fa9f=''){if(_0x37fa9f)_0x4a01f9=_0x37fa9f;_0x59cb65&&clearTimeout(_0x59cb65),_0x59cb65=setTimeout(()=>{const _0x44494d=_0x24c2;_0x59cb65=null,_0x4ae1a0({'reason':_0x44494d(0x2e5)+_0x44494d(0x28a),..._0x4a01f9?{'sessionKey':_0x4a01f9}:{}}),_0x4a01f9='';},AGENT_EVENT_SESSION_INVALIDATION_DEBOUNCE_MS);}function _0x3b5119(_0x23807d){const _0x2e57fd=_0xb2ad40;_0x4ae1a0({'reason':_0x2e57fd(0x369)+_0x2e57fd(0x2ac),..._0x23807d?.[_0x2e57fd(0x3f2)+'ey']?{'sessionKey':_0x23807d[_0x2e57fd(0x3f2)+'ey']}:{}}),_0x171cc8(_0x2e57fd(0x369)+_0x2e57fd(0x2ac),_0x23807d);}function _0x342c2a(_0x386a85){const _0x54c420=_0xb2ad40,_0x14a19d=getTrimmedString(_0x386a85[_0x54c420(0x1fc)]),_0x550d42=getTrimmedString(_0x386a85[_0x54c420(0x310)])||_0x54c420(0x2ac),_0x54d61d=getTrimmedString(_0x386a85[_0x54c420(0x3f2)+'ey']),_0x1ed988=(_0x14a19d?_0xb51180[_0x54c420(0x3d7)](_0x14a19d):null)??(_0x54d61d?_0x4f4708(_0x54d61d):null);if(_0x14a19d&&_0x54d61d)_0x5eb95c[_0x54c420(0x223)](_0x54d61d,_0x14a19d);if(_0x54d61d)_0x3b5119({'sessionKey':_0x54d61d,'state':_0x550d42});_0x9cc28b?.[_0x54c420(0x267)](_0x54c420(0x297)+_0x54c420(0x2d7)+_0x54c420(0x397)+_0x54c420(0x2f8),{'runId':_0x14a19d,'sessionKey':_0x54d61d,'state':_0x550d42,'hasActiveRun':Boolean(_0x1ed988),'messageText':summarizeText(extractGatewayChatText(_0x386a85['message']),0x78),'errorMessage':getTrimmedString(_0x386a85[_0x54c420(0x371)+_0x54c420(0x3d0)])});_0x1ed988&&(_0x550d42===_0x54c420(0x1f8)||_0x550d42===_0x54c420(0x2c4)||_0x550d42===_0x54c420(0x34b))&&_0x4e48c5(_0x1ed988,_0x550d42,typeof _0x386a85[_0x54c420(0x371)+_0x54c420(0x3d0)]==='string'?_0x386a85[_0x54c420(0x371)+_0x54c420(0x3d0)]:_0x54c420(0x297)+_0x54c420(0x32b)+'led');if(!_0x1ed988)return;if(_0x54d61d&&_0x54d61d!==_0x1ed988['sessionK'+'ey'])return;if(_0x550d42===_0x54c420(0x232)){_0x10808c(_0x1ed988,extractGatewayChatText(_0x386a85['message']));return;}if(_0x550d42==='final'||_0x550d42===_0x54c420(0x2c4)){_0x10808c(_0x1ed988,extractGatewayChatText(_0x386a85[_0x54c420(0x2a0)])),_0x4a7670(_0x1ed988,_0x54c420(0x368));return;}_0x550d42===_0x54c420(0x34b)&&_0x4a7670(_0x1ed988,_0x54c420(0x34b),typeof _0x386a85[_0x54c420(0x371)+_0x54c420(0x3d0)]===_0x54c420(0x2e4)?_0x386a85[_0x54c420(0x371)+_0x54c420(0x3d0)]:'gateway\x20'+_0x54c420(0x32b)+_0x54c420(0x3b9));}function _0x3259d3(_0x306bd4){const _0x148aeb=_0xb2ad40,_0x4b14d2=asRecord(_0x306bd4);return getTrimmedString(_0x4b14d2[_0x148aeb(0x3f2)+'ey'])||getTrimmedString(_0x4b14d2[_0x148aeb(0x3a9)])||getTrimmedString(_0x4b14d2[_0x148aeb(0x2c9)+_0x148aeb(0x3a9)]);}function _0x426f43(_0x556d20){const _0x940269=_0xb2ad40,_0x106ab8=asRecord(_0x556d20),_0x26e03e=_0x3259d3(_0x106ab8),_0x42179f=getTrimmedString(_0x106ab8[_0x940269(0x2be)])||getTrimmedString(_0x106ab8[_0x940269(0x310)])||getTrimmedString(_0x106ab8[_0x940269(0x270)])||_0x940269(0x2ac);_0x5e3d06?.[_0x940269(0x267)](_0x940269(0x297)+_0x940269(0x26d)+'event\x20re'+'ceived',{'event':_0x940269(0x24b)+_0x940269(0x212),'sessionKey':_0x26e03e,'state':_0x42179f,'channel':getTrimmedString(_0x106ab8[_0x940269(0x3a4)]),'agentId':getTrimmedString(_0x106ab8[_0x940269(0x282)]),'messageId':getTrimmedString(_0x106ab8[_0x940269(0x33c)+'d']),'runId':getTrimmedString(_0x106ab8['runId'])}),_0x3b5119({..._0x106ab8,'type':getTrimmedString(_0x106ab8[_0x940269(0x3a3)])||_0x940269(0x3c3),'state':_0x42179f,..._0x26e03e?{'sessionKey':_0x26e03e}:{}});}function _0x12d67b(_0x5cfe0d){const _0x159c0b=_0xb2ad40,_0x453b8e=asRecord(_0x5cfe0d),_0x3504ea=_0x3259d3(_0x453b8e);_0x5e3d06?.[_0x159c0b(0x267)](_0x159c0b(0x297)+_0x159c0b(0x26d)+'message\x20'+'event\x20re'+'ceived',{'event':_0x159c0b(0x281)+'message','sessionKey':_0x3504ea,'channel':getTrimmedString(_0x453b8e['channel']),'agentId':getTrimmedString(_0x453b8e[_0x159c0b(0x282)]),'messageId':getTrimmedString(_0x453b8e[_0x159c0b(0x33c)+'d']),'messageSeq':_0x453b8e['messageS'+'eq']}),_0x3b5119({..._0x453b8e,'type':_0x159c0b(0x2a0),'state':'message',..._0x3504ea?{'sessionKey':_0x3504ea}:{}});}async function _0x42829b(){const _0xb8d6c1=_0xb2ad40;try{const _0x5b653f=await _0x1c6ea6[_0xb8d6c1(0x2e8)]('sessions'+'.subscri'+'be',{},{'timeoutMs':0x2710});_0x5e3d06?.[_0xb8d6c1(0x267)](_0xb8d6c1(0x297)+'session\x20'+'events\x20s'+_0xb8d6c1(0x2d5)+'d',{'result':summarizePayload(_0x5b653f,{'maxDepth':0x2})});}catch(_0x4fa0dd){_0x5e3d06?.[_0xb8d6c1(0x389)](_0xb8d6c1(0x297)+'session\x20'+_0xb8d6c1(0x332)+_0xb8d6c1(0x2d5)+_0xb8d6c1(0x372),{'error':summarizeError(_0x4fa0dd)});}}async function _0x1d9de1(_0x4962a4,_0x433fe0){const _0x15d61a=_0xb2ad40;_0x1c6ea6[_0x15d61a(0x1f2)+'e']({'url':buildGatewayWsUrl(_0x433fe0),'token':_0x4962a4,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x1e3e76['productN'+_0x15d61a(0x29b)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x10b4ea[_0x15d61a(0x346)+'eviceIde'+_0x15d61a(0x2b2)+'h'](),'onChatEvent':_0x342c2a,'onAgentEvent':_0x50645d=>{const _0x105385=_0x15d61a,_0x438850=asRecord(_0x50645d),_0x183803=getTrimmedString(_0x438850[_0x105385(0x1fc)]),_0xf8e297=getTrimmedString(_0x438850['sessionK'+'ey']),_0x5b4a4b=_0x183803?_0xb51180['get'](_0x183803):null;if(_0xf8e297&&!_0x5b4a4b)_0x4ff1cc(_0xf8e297);_0x171cc8(_0x105385(0x2e5)+_0x105385(0x28a),_0x50645d);},'onSessionEvent':_0x426f43,'onSessionMessageEvent':_0x12d67b,'onStartupTiming':(_0x172a2c,_0x5eba02={})=>{const _0x93e1f9=_0x15d61a;_0x48be7f?.[_0x93e1f9(0x364)](_0x93e1f9(0x297)+'websocke'+_0x93e1f9(0x30e)+_0x93e1f9(0x242),{'label':_0x172a2c,..._0x5eba02});},'onConnected':async()=>{const _0x1d0030=_0x15d61a;if(!_0x2db77c||!_0x1dd510||!_0x484b1a)return;const _0x446899=++_0x2b45c1,_0x1fa7e5=()=>_0x446899===_0x2b45c1&&Boolean(_0x2db77c&&_0x1dd510&&_0x484b1a);_0x48be7f?.[_0x1d0030(0x267)]('gateway\x20'+_0x1d0030(0x396)+_0x1d0030(0x2b0)+_0x1d0030(0x277),{'port':_0x1dd510,'pid':_0x2db77c[_0x1d0030(0x22c)],'readyMs':_0x5ddf0e?Date['now']()-_0x5ddf0e:undefined}),_0xf9836b(_0x1d0030(0x2ae),_0x1d0030(0x297)+_0x1d0030(0x20f)+'d',{'health':_0x1d0030(0x31f),'port':_0x1dd510,'tokenPresent':!![]}),await _0x42829b();try{const _0x43ec61=await syncManagedSkillsToConfig(_0x10b4ea);_0x170e23?.['info'](_0x1d0030(0x377)+'skills\x20c'+_0x1d0030(0x33e)+_0x1d0030(0x2e1)+_0x1d0030(0x31a),{'skillCount':_0x43ec61['skillKey'+'s'][_0x1d0030(0x37a)],'skillKeys':_0x43ec61['skillKey'+'s']}),await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x1e3e76['projectR'+_0x1d0030(0x218)]))[_0x1d0030(0x361)+_0x1d0030(0x218)],_0x1d0030(0x294),'agents'),'stateDir':_0x10b4ea[_0x1d0030(0x33b)+_0x1d0030(0x2ab)](),'isPackaged':IS_PACKAGED_RUNTIME,'listAgents':_0x112221,'shouldContinue':_0x1fa7e5,'createAgent':_0x514905=>{const _0x55edbf=_0x1d0030;if(!_0x1fa7e5())return{'skipped':!![]};return _0x1c6ea6['request'](_0x55edbf(0x3cb)+'reate',_0x514905);},'updateAgent':_0x3974d2=>{const _0x46de8c=_0x1d0030;if(!_0x1fa7e5())return{'skipped':!![]};return _0x1c6ea6['request'](_0x46de8c(0x38a)+_0x46de8c(0x30b),_0x3974d2);},'syncSkills':async({agentIds:_0x211135,mainWorkspace:_0xe731c9})=>{const _0x19d9e4=_0x1d0030;if(!_0x1fa7e5())return;_0x170e23?.[_0x19d9e4(0x267)](_0x19d9e4(0x275)+'agent\x20sk'+_0x19d9e4(0x293)+_0x19d9e4(0x37b)+'d',{'agentIds':_0x211135,'mainWorkspace':toHomePath(_0xe731c9)});const _0x37c147=dirname(_0xe731c9),_0x4b033a=await syncBundledAgentSkillsToConfig({'agentIds':_0x211135,'resolveSkillsDir':_0x45eeaf=>_0x45eeaf==='main'?join(_0xe731c9,_0x19d9e4(0x24a)):join(_0x37c147,_0x19d9e4(0x3e1)+'e-'+_0x45eeaf,_0x19d9e4(0x24a)),'readConfig':()=>_0x10b4ea[_0x19d9e4(0x354)+'ig'](),'writeConfig':_0x367250=>_0x10b4ea[_0x19d9e4(0x20b)+'fig'](_0x367250),'markConfigWriteHandledInternally':()=>_0x10b4ea[_0x19d9e4(0x3bc)+'igWriteH'+'andledIn'+_0x19d9e4(0x2b7)]()});_0x180c50=_0x4b033a['discover'+'y'],_0x170e23?.[_0x19d9e4(0x267)]('bundled\x20'+_0x19d9e4(0x2b1)+'ills\x20syn'+_0x19d9e4(0x220)+'ted',{'agentCount':_0x211135[_0x19d9e4(0x37a)],'changed':_0x4b033a['changed'],'discovery':summarizePayload(_0x4b033a[_0x19d9e4(0x3da)+'y'],{'maxDepth':0x3})});},'syncConfig':async({bundledAgents:_0x316d61})=>{const _0x3e4b7b=_0x1d0030;if(!_0x1fa7e5())return;const _0x125c3a=await _0x10b4ea['readConf'+'ig'](),_0x2f8a05=syncBundledAgentRuntimeConfig(_0x125c3a,_0x316d61);if(!_0x2f8a05['changed'])return;_0x10b4ea[_0x3e4b7b(0x3bc)+_0x3e4b7b(0x205)+_0x3e4b7b(0x3bf)+'ternally'](),await _0x10b4ea[_0x3e4b7b(0x20b)+_0x3e4b7b(0x206)](_0x2f8a05['config'],_0x3e4b7b(0x275)+_0x3e4b7b(0x3d1)+_0x3e4b7b(0x1f6)+_0x3e4b7b(0x35a)+_0x3e4b7b(0x20e)),_0x170e23?.[_0x3e4b7b(0x267)]('bundled\x20'+'agent\x20ru'+_0x3e4b7b(0x1f6)+_0x3e4b7b(0x35a)+_0x3e4b7b(0x20e),{'agentCount':_0x316d61[_0x3e4b7b(0x37a)]});}}),_0x170e23?.[_0x1d0030(0x267)](_0x1d0030(0x275)+_0x1d0030(0x3bd)+_0x1d0030(0x3c7)),_0x171cc8(_0x1d0030(0x204)+_0x1d0030(0x3d3),{'reason':_0x1d0030(0x352)+_0x1d0030(0x37c)+_0x1d0030(0x251)});}catch(_0x5c60f8){const _0x162826=_0x5c60f8 instanceof Error?_0x5c60f8[_0x1d0030(0x3f1)]||_0x5c60f8['message']:String(_0x5c60f8);_0x14b3ce(_0x1d0030(0x231),'bundled\x20'+'agents\x20s'+_0x1d0030(0x24c)+_0x1d0030(0x3ea)+_0x162826),_0x170e23?.[_0x1d0030(0x34b)](_0x1d0030(0x275)+'agents\x20s'+'ync\x20fail'+'ed',{'error':summarizeError(_0x5c60f8)}),console['error']('[wujie-s'+_0x1d0030(0x3e7)+_0x1d0030(0x21b)+_0x1d0030(0x201)+'ents\x20syn'+_0x1d0030(0x25d),_0x5c60f8);}},'onDisconnected':_0x5771c9=>{const _0x338652=_0x15d61a;_0x48be7f?.[_0x338652(0x389)](_0x338652(0x297)+_0x338652(0x396)+_0x338652(0x21d)+'nected',{'reason':_0x5771c9}),_0x16f537(_0x5771c9);if(_0x407916||!_0x2db77c)return;_0x41d713({'health':_0x338652(0x253),'message':_0x338652(0x297)+_0x338652(0x226)+'ting:\x20'+_0x5771c9});}});}async function _0xc7bedb(_0x27a1d0,_0x4e8550){const _0x36a76c=_0xb2ad40;if(_0x2db77c)return;_0x5ddf0e=Date[_0x36a76c(0x3a8)](),_0xf9836b(_0x36a76c(0x3e4),'gateway\x20'+_0x36a76c(0x3e4),{'health':'unknown','port':_0x4e8550,'tokenPresent':!![]});const _0x2be410=[_0x36a76c(0x3ce),_0x36a76c(0x292),_0x36a76c(0x211)+_0x36a76c(0x348)+'ured',_0x36a76c(0x388),_0x27a1d0,'--port',String(_0x4e8550)];_0x14b3ce(_0x36a76c(0x231),'openclaw'+_0x36a76c(0x23a)+'\x20run\x20--a'+_0x36a76c(0x1f7)+_0x36a76c(0x234)+'d\x20--toke'+_0x36a76c(0x338)+_0x36a76c(0x2fa)+_0x36a76c(0x248)+_0x4e8550),_0x48be7f?.[_0x36a76c(0x267)](_0x36a76c(0x297)+_0x36a76c(0x3bb)+'spawn\x20re'+_0x36a76c(0x3aa),{'args':[_0x36a76c(0x3ce),_0x36a76c(0x292),'--allow-'+_0x36a76c(0x348)+_0x36a76c(0x2ca),_0x36a76c(0x388),_0x36a76c(0x299)+'D]',_0x36a76c(0x330),String(_0x4e8550)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x10b4ea[_0x36a76c(0x33b)+_0x36a76c(0x2ab)]()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x10b4ea[_0x36a76c(0x28d)+_0x36a76c(0x375)+'h']())}}),_0x2db77c=await spawnClaw(_0x1e3e76[_0x36a76c(0x3f6)+_0x36a76c(0x218)],_0x2be410,{'env':{'OPENCLAW_STATE_DIR':_0x10b4ea[_0x36a76c(0x33b)+'tateDir'](),'OPENCLAW_CONFIG_PATH':_0x10b4ea[_0x36a76c(0x28d)+_0x36a76c(0x375)+'h']()}}),_0x484b1a=_0x27a1d0,_0x1dd510=_0x4e8550,_0x48be7f?.[_0x36a76c(0x267)]('gateway\x20'+_0x36a76c(0x3bb)+_0x36a76c(0x32d),{'pid':_0x2db77c[_0x36a76c(0x22c)],'port':_0x1dd510}),_0x41d713({'health':_0x36a76c(0x253),'port':_0x1dd510,'tokenPresent':!![],'message':_0x36a76c(0x297)+_0x36a76c(0x3bb)+_0x36a76c(0x32f)+_0x36a76c(0x37d)+_0x36a76c(0x3c8)}),await _0x1d9de1(_0x27a1d0,_0x4e8550);const _0x4794bf=createLineBuffer({'trim':!![],'onLine':_0x21bb3e=>_0x14b3ce(_0x36a76c(0x2bc),_0x21bb3e)}),_0x21fde2=createLineBuffer({'trim':!![],'onLine':_0x19c53f=>_0x14b3ce(_0x36a76c(0x2c1),_0x19c53f)});_0x2db77c['stdout']['on'](_0x36a76c(0x298),_0x3ca3de=>{const _0xa25faa=_0x36a76c;_0x4794bf[_0xa25faa(0x3e8)](_0x3ca3de[_0xa25faa(0x2f0)]());}),_0x2db77c[_0x36a76c(0x2c1)]['on'](_0x36a76c(0x298),_0x3617d8=>{const _0x53d11e=_0x36a76c;_0x21fde2[_0x53d11e(0x3e8)](_0x3617d8[_0x53d11e(0x2f0)]());}),_0x2db77c['on'](_0x36a76c(0x34b),_0x51cf1b=>{const _0x5ebd99=_0x36a76c;_0x48be7f?.[_0x5ebd99(0x34b)](_0x5ebd99(0x297)+'process\x20'+_0x5ebd99(0x34b),{'error':summarizeError(_0x51cf1b)}),_0x14b3ce(_0x5ebd99(0x2c1),_0x51cf1b instanceof Error?_0x51cf1b[_0x5ebd99(0x3f1)]||_0x51cf1b['message']:String(_0x51cf1b));}),_0x2db77c['on'](_0x36a76c(0x2e7),(_0x213812,_0x38a2ad)=>{const _0xd36b5a=_0x36a76c;_0x4794bf[_0xd36b5a(0x2ed)](),_0x21fde2[_0xd36b5a(0x2ed)](),_0x48be7f?.[_0xd36b5a(0x389)]('gateway\x20'+'process\x20'+'closed',{'pid':_0x2db77c?.[_0xd36b5a(0x22c)]??null,'code':_0x213812,'signal':_0x38a2ad,'uptimeMs':_0x5ddf0e?Date['now']()-_0x5ddf0e:undefined}),_0x14b3ce('system',_0xd36b5a(0x297)+_0xd36b5a(0x3c4)+_0xd36b5a(0x386)+(_0x213812??'null')+'\x20signal='+(_0x38a2ad??_0xd36b5a(0x3b3))),_0x2db77c=null,_0x484b1a=null,_0x1dd510=null,_0x1c6ea6[_0xd36b5a(0x1f2)+'e'](null),_0x16f537('gateway\x20'+_0xd36b5a(0x3bb)+_0xd36b5a(0x3ec));if(_0x407916){_0xf9836b('stopped',_0xd36b5a(0x297)+_0xd36b5a(0x2a8),{'health':'unknown','port':null,'tokenPresent':![]});return;}if(_0x55ec18){_0xf9836b(_0xd36b5a(0x26e)+'ng',_0xd36b5a(0x297)+_0xd36b5a(0x26e)+'ng',{'health':_0xd36b5a(0x253),'port':null,'tokenPresent':![]});return;}_0xf9836b(_0xd36b5a(0x34b),_0xd36b5a(0x297)+_0xd36b5a(0x224)+_0xd36b5a(0x36a)+_0xd36b5a(0x3f7),{'health':'unhealth'+'y','port':null,'tokenPresent':![]});});}async function _0x1e589d(){const _0x5782b9=_0xb2ad40;if(_0x2db77c)return;_0x407916=![],_0x48be7f?.[_0x5782b9(0x267)](_0x5782b9(0x297)+'controll'+_0x5782b9(0x27b)+_0x5782b9(0x260)+'ed'),await _0x10b4ea[_0x5782b9(0x22d)+_0x5782b9(0x382)+_0x5782b9(0x206)]();const _0x1bff7d=await _0x10b4ea[_0x5782b9(0x208)+_0x5782b9(0x249)+_0x5782b9(0x3c5)+_0x5782b9(0x3a5)]();_0x1bff7d?await _0x46174a[_0x5782b9(0x2c6)]()[_0x5782b9(0x27d)](_0x44a4be=>{const _0x259609=_0x5782b9;_0x14b3ce(_0x259609(0x231),_0x259609(0x3d2)+_0x259609(0x235)+_0x259609(0x34d)+_0x259609(0x3a2)+_0x259609(0x30a)+(_0x44a4be instanceof Error?_0x44a4be['message']:String(_0x44a4be)));}):_0x48be7f?.['info']('ask-user'+'-questio'+'n\x20callba'+'ck\x20skipp'+_0x5782b9(0x302)+_0x5782b9(0x2cc)+_0x5782b9(0x3b9));await ensureOpenClawDoctorFixed(_0x1e3e76,{'runtimeLogger':_0x48be7f}),_0x10b4ea[_0x5782b9(0x360)+_0x5782b9(0x39c)+'es'](),_0x10b4ea[_0x5782b9(0x1f4)+_0x5782b9(0x328)+_0x5782b9(0x38f)](_0x38616b=>{void _0x4c63f0(_0x38616b);});const _0x5ecd0e=await _0x10b4ea['ensureGa'+_0x5782b9(0x393)+_0x5782b9(0x26f)]();_0x48be7f?.[_0x5782b9(0x267)](_0x5782b9(0x297)+_0x5782b9(0x316)+_0x5782b9(0x21e)+'ed',{'port':_0x5ecd0e[_0x5782b9(0x3db)],'tokenPresent':Boolean(_0x5ecd0e[_0x5782b9(0x2b8)])}),await _0xc7bedb(_0x5ecd0e[_0x5782b9(0x2b8)],_0x5ecd0e[_0x5782b9(0x3db)]);}async function _0x1dbb31(){const _0x4b131e=_0xb2ad40;_0x407916=!![],_0x2b45c1+=0x1,_0x48be7f?.[_0x4b131e(0x267)](_0x4b131e(0x297)+'controll'+_0x4b131e(0x215)+_0x4b131e(0x395)+'d',{'pid':_0x2db77c?.[_0x4b131e(0x22c)]??null,'port':_0x1dd510}),_0x1c6ea6[_0x4b131e(0x1f2)+'e'](null);if(_0x2db77c){const _0x26da84=_0x2db77c;_0x2db77c=null;try{_0x26da84[_0x4b131e(0x356)](_0x4b131e(0x366));}catch{}const _0x4128cb=await waitForChildExit(_0x26da84,0x1388);if(!_0x4128cb){try{_0x26da84[_0x4b131e(0x356)]('SIGKILL');}catch{}await waitForChildExit(_0x26da84,0x7d0);}}_0x484b1a=null,_0x1dd510=null,_0x16f537(_0x4b131e(0x297)+_0x4b131e(0x2a8)),await _0x46174a[_0x4b131e(0x20d)](),_0x10b4ea[_0x4b131e(0x28c)](),_0xf9836b(_0x4b131e(0x2a8),'gateway\x20'+'stopped',{'health':_0x4b131e(0x253),'port':null,'tokenPresent':![]}),_0x407916=![];}async function _0x4c63f0(_0x1d20b7='manual\x20r'+_0xb2ad40(0x2e2)){const _0x14f370=_0xb2ad40;if(_0x60e7c5)return{'ok':!![]};return _0x60e7c5=!![],_0x55ec18=!![],_0x48be7f?.[_0x14f370(0x267)](_0x14f370(0x297)+_0x14f370(0x320)+_0x14f370(0x395)+'d',{'reason':_0x1d20b7}),_0x185eb5=_0x185eb5['then'](async()=>{const _0x1a7783=_0x14f370;_0xf9836b('restarti'+'ng',_0x1a7783(0x297)+_0x1a7783(0x26e)+_0x1a7783(0x329)+_0x1d20b7,{'health':_0x1a7783(0x253)}),await _0x1dbb31(),await _0x1e589d();})[_0x14f370(0x24e)](()=>{_0x55ec18=![],_0x60e7c5=![];}),await _0x185eb5,{'ok':!![]};}async function _0x424ecd(){const _0x113020=_0xb2ad40,_0x46ff6d=await loadRuntimeInfo(_0x1e3e76[_0x113020(0x3f6)+'oot']);return{'runtimeRoot':_0x46ff6d['runtimeR'+'oot'],'openclawVersion':_0x46ff6d[_0x113020(0x294)+_0x113020(0x3be)],'openclawWorkingDir':_0x46ff6d[_0x113020(0x294)+'WorkingD'+'ir'],'openclawBin':_0x46ff6d[_0x113020(0x294)+_0x113020(0x3b4)],'plugins':_0x46ff6d[_0x113020(0x3af)][_0x113020(0x261)](_0x5d25bc=>({'pluginId':_0x5d25bc[_0x113020(0x1fb)],'source':_0x5d25bc[_0x113020(0x29f)],'version':_0x5d25bc[_0x113020(0x335)],'installPath':_0x5d25bc[_0x113020(0x2ee)+'ath']})),'configPath':_0x10b4ea['resolveC'+_0x113020(0x375)+'h'](),'stateDir':_0x10b4ea['resolveS'+_0x113020(0x2ab)](),'bundledAgentSkillsDiscovery':_0x180c50};}async function _0x112221(){const _0x194410=_0xb2ad40;_0x170e23?.[_0x194410(0x267)]('agents\x20l'+_0x194410(0x350)+_0x194410(0x252));const _0x77c51d=asRecord(await _0x1c6ea6[_0x194410(0x2e8)](_0x194410(0x3e2)+_0x194410(0x32c),{})),_0x46cd2d=getTrimmedString(_0x77c51d[_0x194410(0x34c)+'d'])||_0x194410(0x3a1),_0x4007e0=Array[_0x194410(0x2ef)](_0x77c51d[_0x194410(0x2c0)])?[..._0x77c51d[_0x194410(0x2c0)]]:[];return{..._0x77c51d,'defaultId':_0x46cd2d,'agents':_0x4007e0};}async function _0x367579(){const _0x52504d=_0xb2ad40;if(!_0x5104bb())return{'defaultId':'main','mainKey':'','scope':'','pending':!![],'agents':[{'id':_0x52504d(0x3a1),'name':_0x1e3e76['productN'+_0x52504d(0x29b)],'workspace':join(_0x10b4ea['resolveS'+_0x52504d(0x2ab)](),_0x52504d(0x3e1)+'e')}]};const _0x14927d=await _0x112221(),_0x4e3e6c=getTrimmedString(_0x14927d[_0x52504d(0x34c)+'d'])||'main',_0x5604d2=Array[_0x52504d(0x2ef)](_0x14927d[_0x52504d(0x2c0)])?[..._0x14927d[_0x52504d(0x2c0)]]:[];return!_0x5604d2[_0x52504d(0x2e0)](_0x3f05ad=>asRecord(_0x3f05ad)['id']===_0x52504d(0x3a1))&&_0x5604d2[_0x52504d(0x213)]({'id':_0x52504d(0x3a1),'name':_0x1e3e76[_0x52504d(0x3ca)+_0x52504d(0x29b)],'workspace':join(_0x10b4ea[_0x52504d(0x33b)+'tateDir'](),_0x52504d(0x3e1)+'e')}),{..._0x14927d,'defaultId':_0x4e3e6c,'agents':_0x5604d2};}async function _0x2f29bb(_0x8315c0={}){const _0x50338c=_0xb2ad40;await _0x381039();const _0x4dcaa7=Date[_0x50338c(0x3a8)]();_0x5e3d06?.[_0x50338c(0x267)]('session\x20'+_0x50338c(0x2ba)+_0x50338c(0x23c),{'payload':summarizePayload(_0x8315c0)});const _0x508f37=await _0x1c6ea6['request'](_0x50338c(0x24b)+_0x50338c(0x254),buildSessionCreateRequestPayload(_0x8315c0)),_0x1fbe09=parseSessionCreateResult(_0x508f37);return _0x5e3d06?.['info'](_0x50338c(0x26d)+_0x50338c(0x317)+_0x50338c(0x37f),{'key':_0x1fbe09['key'],'sessionId':_0x1fbe09['sessionI'+'d'],'durationMs':Date['now']()-_0x4dcaa7}),_0x289e00({'priority':'P0','category':_0x50338c(0x306),'event':_0x50338c(0x2c9)+_0x50338c(0x276)+_0x50338c(0x239),'status':_0x50338c(0x32a)+'d','message':'session\x20'+'created','sessionKey':_0x1fbe09['key'],'durationMs':Date[_0x50338c(0x3a8)]()-_0x4dcaa7,'meta':{'sessionId':_0x1fbe09[_0x50338c(0x207)+'d'],'request':summarizePayload(_0x8315c0,{'maxDepth':0x2})}}),_0x1fbe09;}async function _0x32458a(_0xfb06de={}){const _0x2d8c99=_0xb2ad40,_0x2c1aaa=await readSessionMetadata(_0x10b4ea[_0x2d8c99(0x33b)+_0x2d8c99(0x2ab)]());if(!_0x5104bb())return{'pending':!![],'sessions':[],'pinnedKeys':_0x2c1aaa[_0x2d8c99(0x309)+'ys']};const _0x30d48e=Date[_0x2d8c99(0x3a8)](),_0x2e554e=Math[_0x2d8c99(0x3e6)](0x1,Math[_0x2d8c99(0x29e)](Number(_0xfb06de[_0x2d8c99(0x2d0)])||0x64)),_0x249d4a={'limit':_0x2e554e,'includeGlobal':!![],'includeUnknown':![]},_0x4d178e=getTrimmedString(_0xfb06de[_0x2d8c99(0x282)]);if(_0x4d178e)_0x249d4a[_0x2d8c99(0x282)]=_0x4d178e;const _0x44da77=applySessionMetadata(await _0x1c6ea6['request']('sessions'+_0x2d8c99(0x28f),_0x249d4a),_0x2c1aaa,{'onOrphanSession':(_0x59a162,_0x328f1f)=>_0xa309d0(_0x59a162,_0x2d8c99(0x33d)+_0x2d8c99(0x2c9)+'id',{..._0x328f1f,'agentId':_0x4d178e||_0x328f1f[_0x2d8c99(0x282)]||null})});return _0x5e3d06?.[_0x2d8c99(0x267)](_0x2d8c99(0x24b)+'\x20list\x20co'+_0x2d8c99(0x3d4),{'payload':_0x249d4a,'count':Array[_0x2d8c99(0x2ef)](_0x44da77['sessions'])?_0x44da77['sessions'][_0x2d8c99(0x37a)]:0x0,'durationMs':Date[_0x2d8c99(0x3a8)]()-_0x30d48e}),_0x44da77;}async function _0x26a85c(_0x175a6a={}){const _0x22083b=_0xb2ad40;await _0x381039();const _0x12e022=getTrimmedString(_0x175a6a['sessionK'+'ey']??_0x175a6a['key']);if(!_0x12e022)throw new Error(_0x22083b(0x3f2)+_0x22083b(0x2df)+'quired');const _0x74022d=Date[_0x22083b(0x3a8)](),_0x92ceff=await _0x1c6ea6[_0x22083b(0x2e8)](_0x22083b(0x24b)+_0x22083b(0x2a3),{'key':_0x12e022,'deleteTranscript':_0x175a6a[_0x22083b(0x3dc)+_0x22083b(0x355)]!==![],'emitLifecycleHooks':!![]}),_0x249b7d=await readSessionMetadata(_0x10b4ea[_0x22083b(0x33b)+_0x22083b(0x2ab)]());return delete _0x249b7d['names'][_0x12e022],_0x249b7d['pinnedKe'+'ys']=_0x249b7d[_0x22083b(0x309)+'ys']['filter'](_0x151dc1=>_0x151dc1!==_0x12e022),await writeSessionMetadata(_0x10b4ea[_0x22083b(0x33b)+_0x22083b(0x2ab)](),_0x249b7d),_0x3b5119({'type':_0x22083b(0x326),'sessionKey':_0x12e022}),_0x5e3d06?.[_0x22083b(0x267)]('session\x20'+_0x22083b(0x3b2)+_0x22083b(0x37f),{'sessionKey':_0x12e022,'deleteTranscript':_0x175a6a[_0x22083b(0x3dc)+_0x22083b(0x355)]!==![],'durationMs':Date[_0x22083b(0x3a8)]()-_0x74022d}),_0x289e00({'priority':'P0','category':_0x22083b(0x306),'event':_0x22083b(0x2c9)+'delete.s'+_0x22083b(0x239),'status':'succeede'+'d','message':_0x22083b(0x26d)+'deleted','sessionKey':_0x12e022,'durationMs':Date[_0x22083b(0x3a8)]()-_0x74022d,'meta':{'deleteTranscript':_0x175a6a[_0x22083b(0x3dc)+_0x22083b(0x355)]!==![]}}),_0x92ceff;}async function _0x28c40e(_0x1e028b={}){const _0x40b55a=_0xb2ad40,_0x4da114=getTrimmedString(_0x1e028b[_0x40b55a(0x3f2)+'ey']??_0x1e028b[_0x40b55a(0x3a9)]);if(!_0x4da114)throw new Error(_0x40b55a(0x3f2)+'ey\x20is\x20re'+_0x40b55a(0x35b));const _0xe5e8f4=getTrimmedString(_0x1e028b['name']??_0x1e028b[_0x40b55a(0x217)]??_0x1e028b[_0x40b55a(0x2b9)]),_0x258107=await readSessionMetadata(_0x10b4ea[_0x40b55a(0x33b)+_0x40b55a(0x2ab)]());if(_0xe5e8f4)_0x258107[_0x40b55a(0x2a2)][_0x4da114]=_0xe5e8f4;else delete _0x258107[_0x40b55a(0x2a2)][_0x4da114];return await writeSessionMetadata(_0x10b4ea[_0x40b55a(0x33b)+_0x40b55a(0x2ab)](),_0x258107),_0x3b5119({'type':'renamed','sessionKey':_0x4da114,'name':_0xe5e8f4}),_0x5e3d06?.[_0x40b55a(0x267)](_0x40b55a(0x26d)+_0x40b55a(0x3c2)+_0x40b55a(0x37f),{'sessionKey':_0x4da114,'hasName':Boolean(_0xe5e8f4),'name':_0xe5e8f4?summarizeText(_0xe5e8f4,0x50):undefined}),_0x289e00({'priority':'P0','category':_0x40b55a(0x306),'event':_0x40b55a(0x2c9)+'rename.s'+'ucceeded','status':_0x40b55a(0x32a)+'d','message':'session\x20'+_0x40b55a(0x3cc),'sessionKey':_0x4da114,'inputSummary':_0xe5e8f4?summarizeText(_0xe5e8f4,0x50):undefined,'meta':{'hasName':Boolean(_0xe5e8f4)}}),{'ok':!![]};}async function _0x1cef3b(){const _0x34c1ba=_0xb2ad40,_0x220aad=await readSessionMetadata(_0x10b4ea['resolveS'+'tateDir']());return _0x220aad[_0x34c1ba(0x309)+'ys'];}async function _0xb39231(_0x4bf442=[]){const _0x57bc28=_0xb2ad40,_0x257112=await readSessionMetadata(_0x10b4ea[_0x57bc28(0x33b)+_0x57bc28(0x2ab)]());return _0x257112[_0x57bc28(0x309)+'ys']=Array['isArray'](_0x4bf442)?[...new Set(_0x4bf442[_0x57bc28(0x261)](getTrimmedString)[_0x57bc28(0x27e)](Boolean))]:[],await writeSessionMetadata(_0x10b4ea['resolveS'+_0x57bc28(0x2ab)](),_0x257112),_0x3b5119({'type':_0x57bc28(0x3ae)+_0x57bc28(0x2f9)+'ted','pinnedKeys':_0x257112[_0x57bc28(0x309)+'ys']}),_0x5e3d06?.[_0x57bc28(0x267)](_0x57bc28(0x26d)+_0x57bc28(0x209)+_0x57bc28(0x1ff)+'ted',{'count':_0x257112[_0x57bc28(0x309)+'ys'][_0x57bc28(0x37a)]}),_0x289e00({'priority':'P0','category':'session','event':_0x57bc28(0x2c9)+_0x57bc28(0x2a1)+'te.succe'+_0x57bc28(0x39b),'status':_0x57bc28(0x32a)+'d','message':'session\x20'+_0x57bc28(0x209)+_0x57bc28(0x1ff)+_0x57bc28(0x277),'meta':{'count':_0x257112[_0x57bc28(0x309)+'ys']['length']}}),{'ok':!![],'pinnedKeys':_0x257112['pinnedKe'+'ys']};}async function _0x22a2ad(){const _0x1ee488=_0xb2ad40,_0x22cbd3=join(_0x10b4ea['resolveS'+'tateDir'](),_0x1ee488(0x3e1)+'e');return{'path':_0x22cbd3,'exists':Boolean(await stat(_0x22cbd3)[_0x1ee488(0x27d)](()=>null))};}async function _0x141dfc(){const _0x5c8eef=_0xb2ad40;return readSharedContext(join(_0x10b4ea[_0x5c8eef(0x33b)+_0x5c8eef(0x2ab)](),_0x5c8eef(0x3e1)+'e'));}async function _0xe86e60(_0x1e5ab1={}){const _0x21edac=_0xb2ad40;return _0x170e23?.['info'](_0x21edac(0x3e1)+_0x21edac(0x3dd)+_0x21edac(0x202)+_0x21edac(0x30c)+'equested',{'files':Object['keys'](sanitizeSharedContextPayload(_0x1e5ab1))}),writeSharedContext(join(_0x10b4ea['resolveS'+_0x21edac(0x2ab)](),_0x21edac(0x3e1)+'e'),_0x1e5ab1);}async function _0x219579(_0x56531a={}){const _0x5ab009=_0xb2ad40;if(!_0x5104bb())return{'pending':!![],'jobs':[],'hasMore':![],'nextOffset':0x0};return await _0x1c6ea6[_0x5ab009(0x2e8)](_0x5ab009(0x3d6)+'t',_0x56531a);}async function _0x1fc4e7(_0x5a4f25={}){const _0x21d65a=_0xb2ad40;await _0x381039();const _0x3f088a=await _0x1c6ea6[_0x21d65a(0x2e8)](_0x21d65a(0x3b0),normalizeCronMutationParams(_0x5a4f25));return _0x4ae1a0({'reason':_0x21d65a(0x245)+_0x21d65a(0x27f)}),_0x3f088a;}async function _0x5c1293(_0xcdcf60={}){const _0x1e2130=_0xb2ad40;await _0x381039();const _0x57c390=getTrimmedString(_0xcdcf60[_0x1e2130(0x383)]??_0xcdcf60['id']);if(!_0x57c390)throw new Error(_0x1e2130(0x373)+_0x1e2130(0x36c)+'d');const _0x3e0282=asRecord(_0xcdcf60[_0x1e2130(0x221)]),_0x4e90f2=Object[_0x1e2130(0x2a5)](_0x3e0282)[_0x1e2130(0x37a)]>0x0?_0x3e0282:{..._0xcdcf60};delete _0x4e90f2['jobId'],delete _0x4e90f2['id'];const _0xade7ea=await _0x1c6ea6[_0x1e2130(0x2e8)]('cron.upd'+_0x1e2130(0x291),{'jobId':_0x57c390,'patch':normalizeCronMutationParams(_0x4e90f2)});return _0x4ae1a0({'reason':_0x1e2130(0x245)+_0x1e2130(0x27f)}),_0xade7ea;}async function _0x571a65(_0x580649={}){const _0x162044=_0xb2ad40;await _0x381039();const _0xf4229=getTrimmedString(_0x580649[_0x162044(0x383)]??_0x580649['id']);if(!_0xf4229)throw new Error('jobId\x20is'+_0x162044(0x36c)+'d');const _0x235f28=await _0x1c6ea6['request'](_0x162044(0x314)+_0x162044(0x385),{'jobId':_0xf4229});return _0x4ae1a0({'reason':'cron-cha'+_0x162044(0x27f)}),_0x235f28;}async function _0x21a7c6(_0x884ad8={}){const _0x5d54c8=_0xb2ad40;await _0x381039();const _0x440009=getTrimmedString(_0x884ad8[_0x5d54c8(0x383)]??_0x884ad8['id']);if(!_0x440009)throw new Error(_0x5d54c8(0x373)+_0x5d54c8(0x36c)+'d');const _0x56b46d=await _0x1c6ea6[_0x5d54c8(0x2e8)](_0x5d54c8(0x259),{'jobId':_0x440009}),_0x5bc705=getTrimmedString(asRecord(_0x56b46d)['sessionK'+'ey']);if(_0x5bc705)_0x3b5119({'sessionKey':_0x5bc705,'state':_0x5d54c8(0x1f8)});else _0x4ae1a0({'reason':_0x5d54c8(0x2d2)});return _0x56b46d;}async function _0x3b243a(_0x27300d={}){const _0x13041a=_0xb2ad40;return await _0x381039(),await _0x1c6ea6[_0x13041a(0x2e8)](_0x13041a(0x259)+'s',_0x27300d);}async function _0x176afb(_0x2a3c41={}){const _0x441052=_0xb2ad40;await _0x381039();const _0x249192=Date[_0x441052(0x3a8)]();_0x170e23?.[_0x441052(0x267)](_0x441052(0x3de)+'stall\x20re'+'quested',{'payload':summarizePayload(_0x2a3c41)});try{const _0x132d2d=await _0x1c6ea6['request'](_0x441052(0x3ed)+_0x441052(0x2bd),_0x2a3c41);return _0x170e23?.['info'](_0x441052(0x3de)+'stall\x20co'+'mpleted',{'durationMs':Date[_0x441052(0x3a8)]()-_0x249192,'result':summarizePayload(_0x132d2d,{'maxDepth':0x2})}),_0x132d2d;}catch(_0x4d3e01){_0x170e23?.[_0x441052(0x34b)]('skill\x20in'+_0x441052(0x246)+_0x441052(0x341),{'durationMs':Date[_0x441052(0x3a8)]()-_0x249192,'error':summarizeError(_0x4d3e01)});const _0x56ed1d=_0x4d3e01 instanceof Error?_0x4d3e01['message']:String(_0x4d3e01);throw new Error(_0x441052(0x325)+_0x56ed1d);}}async function _0x427cd8(_0x14a961={}){const _0x31e615=_0xb2ad40;_0x170e23?.[_0x31e615(0x267)](_0x31e615(0x2e3)+_0x31e615(0x28e)+'uested',{'payload':summarizePayload(_0x14a961)});throw new Error(_0x31e615(0x255)+_0x31e615(0x376)+_0x31e615(0x262)+_0x31e615(0x3e9)+_0x31e615(0x29a)+'not\x20Open'+_0x31e615(0x3d5)+_0x31e615(0x313));}async function _0x151051(_0xfdbf4a={}){const _0x17dde8=_0xb2ad40;_0x170e23?.[_0x17dde8(0x267)](_0x17dde8(0x2eb)+'lete\x20req'+_0x17dde8(0x374),{'payload':summarizePayload(_0xfdbf4a)});throw new Error(_0x17dde8(0x2c3)+'elete\x20is'+_0x17dde8(0x262)+'\x20by\x20shel'+_0x17dde8(0x29a)+_0x17dde8(0x3ab)+_0x17dde8(0x3d5)+_0x17dde8(0x313));}async function _0x3103f3(_0x318c37={}){const _0x2ae2cd=_0xb2ad40;await _0x381039();const _0x2b2253=getTrimmedString(_0x318c37[_0x2ae2cd(0x3f2)+'ey']),_0x4f7308=getTrimmedString(_0x318c37[_0x2ae2cd(0x2a0)]),_0x23f066=getTrimmedString(_0x318c37[_0x2ae2cd(0x3b7)+'d'])||randomUUID();if(!_0x2b2253)throw new Error(_0x2ae2cd(0x3f2)+_0x2ae2cd(0x2df)+_0x2ae2cd(0x35b));if(!_0x4f7308)throw new Error(_0x2ae2cd(0x241)+_0x2ae2cd(0x258)+_0x2ae2cd(0x236));const _0x5b7287=Date[_0x2ae2cd(0x3a8)]();_0x9cc28b?.[_0x2ae2cd(0x267)](_0x2ae2cd(0x2d1)+_0x2ae2cd(0x269)+'ested',{'requestId':_0x23f066,'sessionKey':_0x2b2253,'message':summarizeText(_0x4f7308),'filePaths':summarizeFilePaths(_0x318c37['filePath'+'s'])}),_0x289e00({'priority':'P0','category':_0x2ae2cd(0x2ce),'event':_0x2ae2cd(0x289)+_0x2ae2cd(0x31c)+_0x2ae2cd(0x2f8),'status':_0x2ae2cd(0x395)+'d','message':'user\x20inp'+_0x2ae2cd(0x391)+'ved','sessionKey':_0x2b2253,'runId':_0x23f066,'agentId':getTrimmedString(_0x318c37[_0x2ae2cd(0x282)]),'inputSummary':summarizeText(_0x4f7308,0xc8),'attachments':summarizeUserEventAttachments(_0x318c37),'meta':{'requestId':_0x23f066,'source':getTrimmedString(_0x318c37[_0x2ae2cd(0x29f)])||_0x2ae2cd(0x35e)}});const _0xc0c381=_0x39bb31(),_0x1af0b0={'runId':_0x23f066,'requestId':_0x23f066,'sessionKey':_0x2b2253,'textLength':0x0,'startedAt':_0x5b7287,'started':![],'agentId':getTrimmedString(_0x318c37['agentId']),..._0xc0c381};_0xb51180[_0x2ae2cd(0x223)](_0x23f066,_0x1af0b0);const _0x6d270f=_0x41bf96['enqueue'](_0x1af0b0);try{if(_0x6d270f){_0x9cc28b?.['info'](_0x2ae2cd(0x2d1)+_0x2ae2cd(0x35c)+_0x2ae2cd(0x2e6)+_0x2ae2cd(0x2ad)+_0x2ae2cd(0x288),{'requestId':_0x23f066,'sessionKey':_0x2b2253,'previousRequestId':_0x6d270f[_0x2ae2cd(0x3b7)+'d'],'previousRunId':_0x6d270f[_0x2ae2cd(0x1fc)]}),await _0x6d270f[_0x2ae2cd(0x24d)];if(!_0xb51180[_0x2ae2cd(0x2a6)](_0x23f066))return{'ok':!![],'requestId':_0x23f066};}const {attachments:_0x274673,historyMediaLines:_0x38df97}=await buildAttachments(Array[_0x2ae2cd(0x2ef)](_0x318c37[_0x2ae2cd(0x243)+'s'])?_0x318c37['filePath'+'s']:[],{'sessionKey':_0x2b2253,'stateDir':_0x10b4ea[_0x2ae2cd(0x33b)+_0x2ae2cd(0x2ab)](),'onWarn':_0x289854=>_0x9cc28b?.['warn'](_0x2ae2cd(0x229)+'achment\x20'+_0x2ae2cd(0x301)+_0x2ae2cd(0x2aa),{'requestId':_0x23f066,'sessionKey':_0x2b2253,'warning':_0x289854})}),_0x1a6447=_0x38df97[_0x2ae2cd(0x37a)]>0x0?_0x4f7308+'\x0a'+_0x38df97[_0x2ae2cd(0x3ad)]('\x0a'):_0x4f7308;_0x9cc28b?.[_0x2ae2cd(0x267)]('chat\x20att'+_0x2ae2cd(0x2f4)+'\x20prepare'+'d',{'requestId':_0x23f066,'sessionKey':_0x2b2253,'attachmentCount':_0x274673[_0x2ae2cd(0x37a)],'historyMediaLineCount':_0x38df97['length'],'attachments':_0x274673[_0x2ae2cd(0x261)](_0x43f8b7=>({'type':_0x43f8b7[_0x2ae2cd(0x3a3)],'mimeType':_0x43f8b7[_0x2ae2cd(0x399)],'fileName':_0x43f8b7[_0x2ae2cd(0x340)],'contentLength':_0x43f8b7[_0x2ae2cd(0x2f3)][_0x2ae2cd(0x37a)]}))}),_0x289e00({'priority':'P0','category':'chat','event':'attachme'+_0x2ae2cd(0x333)+_0x2ae2cd(0x22b),'status':_0x2ae2cd(0x32a)+'d','message':_0x2ae2cd(0x229)+_0x2ae2cd(0x2f4)+_0x2ae2cd(0x36d)+'d','sessionKey':_0x2b2253,'runId':_0x23f066,'agentId':getTrimmedString(_0x318c37[_0x2ae2cd(0x282)]),'attachments':{'count':_0x274673[_0x2ae2cd(0x37a)],'types':[...new Set(_0x274673[_0x2ae2cd(0x261)](_0x30025f=>_0x30025f['mimeType']||_0x30025f[_0x2ae2cd(0x3a3)])[_0x2ae2cd(0x27e)](Boolean))],'files':_0x274673[_0x2ae2cd(0x2d9)](0x0,0xa)[_0x2ae2cd(0x261)](_0xf472ac=>({'type':_0xf472ac[_0x2ae2cd(0x3a3)],'mimeType':_0xf472ac['mimeType'],'fileName':_0xf472ac['fileName'],'contentLength':_0xf472ac[_0x2ae2cd(0x2f3)][_0x2ae2cd(0x37a)]})),'truncated':_0x274673[_0x2ae2cd(0x37a)]>0xa},'meta':{'historyMediaLineCount':_0x38df97[_0x2ae2cd(0x37a)],'requestId':_0x23f066}});const _0x3906d5=asRecord(await _0x1c6ea6[_0x2ae2cd(0x2e8)]('chat.sen'+'d',{'sessionKey':_0x2b2253,'message':_0x1a6447,'deliver':![],'idempotencyKey':_0x23f066,..._0x274673[_0x2ae2cd(0x37a)]>0x0?{'attachments':_0x274673}:{}})),_0x580555=getTrimmedString(_0x3906d5['runId'])||_0x23f066,_0x19111b=_0xb51180[_0x2ae2cd(0x3d7)](_0x23f066);if(!_0x19111b)return{'ok':!![],'requestId':_0x23f066,'runId':_0x580555};return _0x19111b[_0x2ae2cd(0x32d)]=!![],_0x580555!==_0x19111b[_0x2ae2cd(0x1fc)]&&(_0xb51180[_0x2ae2cd(0x39e)](_0x19111b[_0x2ae2cd(0x1fc)]),_0x19111b[_0x2ae2cd(0x1fc)]=_0x580555,_0xb51180[_0x2ae2cd(0x223)](_0x580555,_0x19111b)),_0x5eb95c[_0x2ae2cd(0x223)](_0x2b2253,_0x580555),_0x455463({'requestId':_0x23f066,'sessionKey':_0x2b2253,'type':_0x2ae2cd(0x32d)}),_0x9cc28b?.['info'](_0x2ae2cd(0x2d1)+_0x2ae2cd(0x3d9)+'pted\x20by\x20'+_0x2ae2cd(0x3ce),{'requestId':_0x23f066,'runId':_0x580555,'sessionKey':_0x2b2253,'durationMs':Date[_0x2ae2cd(0x3a8)]()-_0x5b7287,'status':_0x3906d5['status']}),_0x289e00({'priority':'P0','category':_0x2ae2cd(0x2ce),'event':_0x2ae2cd(0x2c5)+_0x2ae2cd(0x2a7)+_0x2ae2cd(0x347),'status':_0x3906d5[_0x2ae2cd(0x23b)]===_0x2ae2cd(0x34b)?_0x2ae2cd(0x331):_0x2ae2cd(0x2fd),'level':_0x3906d5['status']==='error'?_0x2ae2cd(0x34b):'info','message':_0x2ae2cd(0x2d1)+_0x2ae2cd(0x3d9)+'pted\x20by\x20'+_0x2ae2cd(0x3ce),'sessionKey':_0x2b2253,'runId':_0x580555,'agentId':getTrimmedString(_0x318c37[_0x2ae2cd(0x282)]),'visibleError':_0x3906d5['status']===_0x2ae2cd(0x34b)?getTrimmedString(_0x3906d5[_0x2ae2cd(0x371)+_0x2ae2cd(0x3d0)])||_0x2ae2cd(0x297)+'chat\x20fai'+_0x2ae2cd(0x3b9):undefined,'durationMs':Date['now']()-_0x5b7287,'captureIncident':_0x3906d5[_0x2ae2cd(0x23b)]===_0x2ae2cd(0x34b),'meta':{'requestId':_0x23f066,'gatewayStatus':_0x3906d5['status']}}),_0x3906d5[_0x2ae2cd(0x23b)]===_0x2ae2cd(0x34b)&&_0x4a7670(_0x19111b,_0x2ae2cd(0x34b),getTrimmedString(_0x3906d5[_0x2ae2cd(0x371)+_0x2ae2cd(0x3d0)])||'gateway\x20'+_0x2ae2cd(0x32b)+'led'),{'ok':!![],'requestId':_0x23f066,'runId':_0x580555,'response':_0x3906d5};}catch(_0x47c064){const _0x43eba1=_0x4ed7fb(_0x23f066),_0x3014a7=_0x47c064 instanceof Error?_0x47c064['message']:String(_0x47c064);_0x9cc28b?.[_0x2ae2cd(0x34b)](_0x2ae2cd(0x2d1)+_0x2ae2cd(0x1fe)+'ed',{'requestId':_0x23f066,'sessionKey':_0x2b2253,'durationMs':Date['now']()-_0x5b7287,'error':summarizeError(_0x47c064)}),_0x289e00({'priority':'P0','category':'chat','event':_0x2ae2cd(0x2c5)+_0x2ae2cd(0x2e9)+'ed','status':_0x2ae2cd(0x331),'level':_0x2ae2cd(0x34b),'message':_0x2ae2cd(0x2d1)+_0x2ae2cd(0x1fe)+'ed','sessionKey':_0x2b2253,'runId':_0x43eba1?.[_0x2ae2cd(0x1fc)]||_0x23f066,'agentId':getTrimmedString(_0x318c37[_0x2ae2cd(0x282)]),'inputSummary':summarizeText(_0x4f7308,0xc8),'attachments':summarizeUserEventAttachments(_0x318c37),'visibleError':_0x3014a7,'durationMs':Date[_0x2ae2cd(0x3a8)]()-_0x5b7287,'captureIncident':!![],'meta':{'requestId':_0x23f066,'error':summarizeError(_0x47c064)}});if(_0x43eba1)_0x4a7670(_0x43eba1,_0x2ae2cd(0x34b),_0x3014a7);else _0x455463({'requestId':_0x23f066,'sessionKey':_0x2b2253,'type':_0x2ae2cd(0x34b),'message':_0x3014a7});throw _0x47c064;}}async function _0x3e5033(_0x39262a={}){const _0x1c5f81=_0xb2ad40;_0x31c247();const _0xbd54dd=getTrimmedString(_0x39262a[_0x1c5f81(0x3f2)+'ey']);if(!_0xbd54dd)throw new Error(_0x1c5f81(0x3f2)+_0x1c5f81(0x2df)+_0x1c5f81(0x35b));const _0x1655da=Date['now'](),_0x5d2f5d=_0x4ed7fb(getTrimmedString(_0x39262a[_0x1c5f81(0x3b7)+'d']))??_0x34561c(_0xbd54dd),_0x135558=_0x5eb95c[_0x1c5f81(0x3d7)](_0xbd54dd),_0xf34be9={'sessionKey':_0xbd54dd};if(_0x5d2f5d?.[_0x1c5f81(0x1fc)])_0xf34be9['runId']=_0x5d2f5d[_0x1c5f81(0x1fc)];else{if(_0x135558)_0xf34be9[_0x1c5f81(0x1fc)]=_0x135558;}const _0x2ad85a=await _0x1c6ea6['request']('chat.abo'+'rt',_0xf34be9);if(_0x5d2f5d)_0x4a7670(_0x5d2f5d,'done');return _0x9cc28b?.['info']('chat\x20abo'+_0x1c5f81(0x3b5)+_0x1c5f81(0x2d6),{'sessionKey':_0xbd54dd,'requestId':getTrimmedString(_0x39262a[_0x1c5f81(0x3b7)+'d']),'runId':_0xf34be9[_0x1c5f81(0x1fc)],'durationMs':Date[_0x1c5f81(0x3a8)]()-_0x1655da}),_0x2ad85a;}async function _0xd5244(_0x4658ee={}){const _0x33cae3=_0xb2ad40,_0x5774bf=getTrimmedString(_0x4658ee[_0x33cae3(0x3f2)+'ey']);if(!_0x5774bf)throw new Error(_0x33cae3(0x3f2)+'ey\x20is\x20re'+_0x33cae3(0x35b));const _0x2aaf81=Math[_0x33cae3(0x3e6)](0x1,Math[_0x33cae3(0x29e)](Number(_0x4658ee[_0x33cae3(0x2d0)])||0xc8)),_0x3775e1=getTrimmedString(_0x4658ee[_0x33cae3(0x307)])||null;if(!_0x5104bb())return{'messages':[],'limit':_0x2aaf81,'hasMore':![],'nextCursor':null};const _0x1b2a54={'sessionKey':_0x5774bf,'limit':_0x2aaf81};if(_0x3775e1)_0x1b2a54[_0x33cae3(0x307)]=_0x3775e1;let _0x2a41f7;try{_0x2a41f7=await _0x1c6ea6['request'](_0x33cae3(0x3a7)+_0x33cae3(0x27c),_0x1b2a54);}catch(_0x5de51d){if(isChatHistoryNotFoundError(_0x5de51d)){_0xa309d0(_0x5774bf,_0x33cae3(0x287)+_0x33cae3(0x334)+'d',{'cursorPresent':Boolean(_0x3775e1),'limit':_0x2aaf81,'source':getTrimmedString(_0x4658ee[_0x33cae3(0x29f)])||null});if(BACKGROUND_CHAT_HISTORY_SOURCES[_0x33cae3(0x2a6)](getTrimmedString(_0x4658ee[_0x33cae3(0x29f)])))return createEmptyChatHistoryResult(_0x2aaf81);}throw _0x5de51d;}return _0x9cc28b?.[_0x33cae3(0x267)](_0x33cae3(0x3f0)+_0x33cae3(0x2f7)+'ded',{'sessionKey':_0x5774bf,'limit':_0x2aaf81,'cursorPresent':Boolean(_0x3775e1),'result':summarizePayload(_0x2a41f7,{'maxDepth':0x2})}),_0x2a41f7;}async function _0x5c1897(_0xadb552=''){const _0x111f78=_0xb2ad40;if(!_0x5104bb())return{'pending':!![],'skills':[]};const _0x4f7e4d=getTrimmedString(_0xadb552),_0x26312c=await _0x1c6ea6['request'](_0x111f78(0x237)+_0x111f78(0x228),_0x4f7e4d?{'agentId':_0x4f7e4d}:{}),_0x1366b0=await _0x10b4ea[_0x111f78(0x354)+'ig']()['catch'](()=>({})),_0xedc0ea=await _0x44516a[_0x111f78(0x3c9)+'sStatus'](_0x26312c),_0x4b7a0f=filterSkillsForAgent(_0xedc0ea,_0x1366b0,_0x4f7e4d);return _0x170e23?.[_0x111f78(0x267)](_0x111f78(0x342)+_0x111f78(0x25a)+_0x111f78(0x2d3),{'agentId':_0x4f7e4d||_0x111f78(0x2b5),'result':summarizePayload(_0x4b7a0f,{'maxDepth':0x2})}),_0x4b7a0f;}return{'on':_0x18ae7b,'start':_0x1e589d,'stop':_0x1dbb31,'restart':_0x4c63f0,'runtimeInfo':_0x424ecd,'gatewayToken':()=>_0x484b1a||'','gatewayPort':()=>_0x1dd510||0x0,'getStatus':()=>_0x525cb6,'getRecentLogs':_0x6bb79c,'answerAskUserQuestion':_0x336811=>_0x46174a[_0xb2ad40(0x268)](_0x336811),'agents':{'list':_0x367579},'skills':{'status':_0x5c1897,'install':_0x176afb,'update':_0x427cd8,'delete':_0x151051},'sessions':{'create':_0x2f29bb,'list':_0x32458a,'delete':_0x26a85c,'rename':_0x28c40e,'pinnedKeys':_0x1cef3b,'setPinnedKeys':_0xb39231},'workspace':{'directoryInfo':_0x22a2ad,'sharedContext':_0x141dfc,'writeSharedContext':_0xe86e60},'cron':{'list':_0x219579,'create':_0x1fc4e7,'update':_0x5c1293,'remove':_0x571a65,'runOnce':_0x21a7c6,'logs':_0x3b243a},'models':{'settings':()=>_0x10b4ea[_0xb2ad40(0x273)+_0xb2ad40(0x2de)](),'setSettings':async(_0x14601c={})=>{const _0x329d0f=_0xb2ad40,_0x253745=_0x14601c?.[_0x329d0f(0x365)+_0x329d0f(0x2d4)]!==![];return await _0x10b4ea[_0x329d0f(0x2af)+'Settings'](_0x14601c,{'restartOnChange':_0x253745}),_0x10b4ea[_0x329d0f(0x273)+_0x329d0f(0x2de)]();},'setSelfOperatedModels':_0x33f246=>_0x10b4ea['setSelfO'+'peratedM'+_0xb2ad40(0x381)](_0x33f246),'selectedModelId':async()=>{const _0x3cd771=_0xb2ad40,_0x267049=await _0x10b4ea[_0x3cd771(0x273)+_0x3cd771(0x2de)]();return _0x267049['provider']&&_0x267049[_0x3cd771(0x2cd)+'e']?_0x267049[_0x3cd771(0x3d8)]+'/'+_0x267049['modelNam'+'e']:'';},'customModels':async()=>{const _0x6d44b=_0xb2ad40,_0x18f0a1=await _0x10b4ea[_0x6d44b(0x354)+_0x6d44b(0x31b)](),_0x2bb24a=asRecord(_0x18f0a1[_0x6d44b(0x26a)]);return Array['isArray'](_0x2bb24a[_0x6d44b(0x233)+_0x6d44b(0x30f)])?_0x2bb24a[_0x6d44b(0x233)+_0x6d44b(0x30f)]:[];},'saveCustomModel':_0x438ee7=>_0x10b4ea[_0xb2ad40(0x3a6)+_0xb2ad40(0x219)](_0x438ee7),'deleteCustomModel':_0x29d8a9=>_0x10b4ea[_0xb2ad40(0x2ea)+_0xb2ad40(0x321)+'l'](_0x29d8a9)},'config':{'read':()=>_0x10b4ea[_0xb2ad40(0x354)+_0xb2ad40(0x31b)]()},'chat':{'stream':_0x3103f3,'abort':_0x3e5033,'history':_0xd5244}};}
1
+ const _0x39b9ed=_0x2825;(function(_0x52e517,_0x57f265){const _0x20ae55=_0x2825,_0x272d1f=_0x52e517();while(!![]){try{const _0x5b6d2c=parseInt(_0x20ae55(0x18d))/0x1+parseInt(_0x20ae55(0x276))/0x2+parseInt(_0x20ae55(0x23f))/0x3*(-parseInt(_0x20ae55(0x1ac))/0x4)+-parseInt(_0x20ae55(0x1fd))/0x5+parseInt(_0x20ae55(0x176))/0x6*(-parseInt(_0x20ae55(0x116))/0x7)+-parseInt(_0x20ae55(0x12b))/0x8+parseInt(_0x20ae55(0x147))/0x9;if(_0x5b6d2c===_0x57f265)break;else _0x272d1f['push'](_0x272d1f['shift']());}catch(_0x1a8142){_0x272d1f['push'](_0x272d1f['shift']());}}}(_0x2395,0xad8ba));import{createHash,randomUUID}from'node:crypto';import{createServer}from'node:http';import{EventEmitter}from'node:events';import{readFile,stat,writeFile}from'node:fs/promises';import{basename,dirname,join}from'node:path';import _0x5274b4,{portNumbers}from'get-port';import{createLineBuffer}from'@wujie-shell/logger';import{asRecord,asStringArray,dedupeStrings,getTrimmedString}from'../common/utils.mjs';import{ensureOpenClawDoctorFixed,loadRuntimeInfo,spawnClaw}from'../runtime/index.mjs';import{ClawGatewayWsClient}from'./ws-client.mjs';import{ensureBundledAgents}from'../agents/bundled-agents.mjs';import{archiveChatAttachmentForHistory}from'../chat/media-archive.mjs';import{syncBundledAgentSkillsToConfig,filterSkillsForAgent}from'../agents/bundled-agent-skills.mjs';import{syncManagedSkillsToConfig}from'../skills/import.mjs';import{createMarketSkillRuntime}from'../skills/market.mjs';function _0x2395(){const _0x40aafb=['models','getCusto','IDENTITY','requestI','filePath','exitCode','set','ternally','projectR','values','c\x20starte','3913310mbotSP','cron.lis','find','configFi','saveCust','writeCon','plugins','splice','eam.acce','skills.i','-invalid','updatedA','stringif','controll','ssionRec','applicat','applySes','operty','ceived','tatus\x20lo','reconnec','expr','parentSe','toString','split','ed:\x20','t_output','attachme','not\x20foun','nsured','\x20list\x20co','ask-user','ay\x20state','nfig\x20syn','cron.run','jobId\x20is','warning','model','y\x20shortl','killKey','.succeed','deleted','missing_','session\x20','sted','0.1.0','aToList','--allow-','image/we','image/gi','pinnedKe','dSession','test','pdated','toISOStr','discover','unauthor','TED]\x20--p','.create','restart','ewayRest','POST','SIGTERM','connecte','t\x20startu','started,','2304117iyaXbK','ttached:','toUpperC','l-core,\x20','mpleted','deny','chat-str','sent','eway:','modelRef','.patch','finally','process\x20','mimeType','mcpServe','state','unknown','stopped','agent:','system','ngs','exited\x20u','stdout','[REDACTE','.0.0.1:','image/','messageS','mModels','pdate\x20is','errorMes','chat\x20str','limit','skill\x20de','27.0.0.1','deleteSe','pinned\x20k','ated','servers','delta','token','backgrou','hasOwnPr','equested','status','stall\x20fa','\x20run','push','run','cron','messageI','signalCo','leName','setModel','configur','add','2505470yJgxVV','then','channel','generate','nt\x20too\x20l','t\x20connec','gnored','chat\x20run','join','delSetti','.list','next-mes','parse','failed','--token','deleteTr','eys-upda','destroy','chat_str','ove','utf8','isArray','e\x20shared','ck\x20disab','invalid\x20','lMetadat','anscript','stop','.changed','pluginId','done','timeout','ents\x20syn','schedule','chat\x20fai','er\x20stop\x20','ing','g+xml','runId','history_','ase','red','markConf','SOUL.md','some','agent-ev','getModel','ting:\x20','created','Session','data','sha256','updated','\x20by\x20shel','list','info','tools','startedA','warn','agents-u','led:\x20','ndled\x20ag','ode=','starting','tewaySet','behavior','eway','end','n\x20reques','resolveD','d-files-','running','event\x20re','name','succeede','session_','ompleted','c\x20comple','chat.abo','ded','chat\x20his','tHandler','ck\x20skipp','equired','/ask-use','sionLoca','productN','gateway\x20','remove','127.0.0.','setGatew','onfigure','ut.recei','[media\x20a','\x20run\x20--a','skills\x20c','cron-run','sage','nt\x20recei','key\x20is\x20r','tokenPre','chat.sen','nected','startsWi','tory','string','date\x20req','restart\x20','gateway','ested','entries','skills','accepted','ensureGa','pdate','t\x20not\x20fo','ready','HEARTBEA','sessionK','te.succe','ured','gateway-','Claw\x20gat','close','message\x20','delete','agents','led','tings\x20up','ties','e\x20update','session-','jobId','final','agents\x20l','stack','unshift','estart','port','skills.d','outputTe','ate','Timer','enabled','ntityPat','random','rt\x20reque','agent\x20ru','label','clear','persistD','quested','agents.u','text/pla','has','exit','message','sessions','main','ord','object','n\x20[REDAC','ync\x20fail','skill\x20up','agents.l','sessionI','cron-cha','\x20prepare','odels','kUserQue','request','tateDir','\x20handled','resolveC','by\x20gatew','renamed','resolved','setPinne','\x20gateway','iled','ared','in\x20disab','onfig\x20sy','ed;\x20plug','unconfig','model\x20re','ntime\x20co','method','16457kLGzQn','off','TOOLS.md','enqueue','paths','artFallb','ved','length','catch','not_foun','chat\x20att','agents.c','Name','cron.upd','archive\x20','pted\x20by\x20','resolveS','fileName','figChang','health','eviceIde','11080672svUqrc','skillKey','ensureAs','source','ills\x20syn','call','odel\x20set','oot','flush','create.s','modelNam','ced','pin_upda','map','und','eam\x20acce','pop','f\x20is\x20req',':run:','aded','r-questi','Fallback','agents-r','max','session','ame','USER.md','json','22485906rbJCBX','eam\x20fail','closed','default','nged','t\x20output','T.md','MEMORY.m','create\x20c','ucceeded','cursor','openclaw','pid','eys\x20upda','n\x20callba','once','bundled-','fig','reason','arge:\x20','backend','websocke','skills.s','\x20waiting','efaultMo','is\x20requi','ion/pdf','ack','onfigPat','ion/json','watchCon','toolsDen','setSessi','null','ted','\x20settled','requeste','restarti','x-ask-us','stionPlu','lifecycl','floor','runtimeR','ession\x20i','chat','image/jp','achments','1572fRPBsS','key','type','.md','mcp','ubscribe','kill','nd-poll','pinned-k','uired','tory\x20loa','sync','stall\x20co','now','nts.prep','hydratio','new-sess','defaultI','agent_id','title','eam\x20requ','hell:gat','\x20context','511420ufKubZ','onCustom','quired','\x20request','skills\x20s','image/pn','andledIn','task','eam.fail','res','\x20complet','desktop','ist','\x20failed','get','filter','allow','provider','error','text','updated_','skill\x20in','Keys','er-secre','Bin','igRaw','not\x20Open','notifyGa','Settings','ginConfi','[wujie-s','4uSrIjB','text/mar','ized','tewayRea','stateDir','-questio','workspac','file','log','aborted','url','ayRestar','http://1','achment\x20','producti','ion','keys','.delete','kdown','agentId','技能安装失败:\x20','AGENTS.m','channel-','slice','t-stream','custom\x20m','nexpecte','terminal','igWriteH','user\x20inp','eady','start','healthy','changed','isFile','stderr','wujieai.','session.','manual\x20r','digest','tatus','\x20require','writeHea','started','listen','prototyp','patch','spawn\x20re','emit','ey\x20is\x20re','ion/octe','--port','agent\x20sk','getPinne','readConf','agents\x20e','ent','rebuild','assistan','delete.s','bundled\x20','sStatus','events\x20s','onOrphan','rename\x20c','exited','base64','ist\x20requ','version','user'];_0x2395=function(){return _0x40aafb;};return _0x2395();}import{createShellLogger,summarizeError,summarizeFilePaths,summarizePayload,summarizeText,toHomePath}from'../common/logging.mjs';import{summarizeUserEventAttachments}from'../common/user-events.mjs';import{createGatewayChatQueue}from'../chat/queue.mjs';import{resolveGatewayChatDelta}from'./chat-delta.mjs';import{createSessionSqliteStore}from'../sessions/session-sqlite-store.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID=_0x39b9ed(0xd3)+'client',CLIENT_MODE=_0x39b9ed(0x15b),CLIENT_DEVICE_FAMILY=_0x39b9ed(0x198),TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,AGENT_EVENT_SESSION_INVALIDATION_DEBOUNCE_MS=0x320,SHARED_CONTEXT_FILES=[_0x39b9ed(0x1c1)+'d',_0x39b9ed(0xcf)+_0x39b9ed(0x14d),_0x39b9ed(0x1f4)+_0x39b9ed(0x179),_0x39b9ed(0x14e)+'d',_0x39b9ed(0x2a1),_0x39b9ed(0x118),_0x39b9ed(0x145)],DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x39b9ed(0x1ba)+'on',IS_PACKAGED_RUNTIME=!process.env.VITE_DEV_SERVER_URL&&process.env.NODE_ENV==='producti'+'on',BACKGROUND_CHAT_HISTORY_SOURCES=new Set(['agent-ev'+'ent',_0x39b9ed(0x267)+_0x39b9ed(0x17d),_0x39b9ed(0x1c2)+_0x39b9ed(0x185)+'n',_0x39b9ed(0xd3)+_0x39b9ed(0xce),_0x39b9ed(0x279)+_0x39b9ed(0x2bc)+_0x39b9ed(0x1e5),_0x39b9ed(0x279)+'d-files-'+'session-'+_0x39b9ed(0x181),_0x39b9ed(0xdd)+_0x39b9ed(0x2aa)]);function hashForDiagnostic(_0x102919){const _0x24cb41=_0x39b9ed;return createHash(_0x24cb41(0x2a9))['update'](String(_0x102919??''))[_0x24cb41(0x1d3)]('hex')[_0x24cb41(0x1c3)](0x0,0xc);}function createEmptyChatHistoryResult(_0x51fac7){return{'messages':[],'limit':_0x51fac7,'hasMore':![],'nextCursor':null};}function isChatHistoryNotFoundError(_0x1cec47){const _0x4b330d=_0x39b9ed;return _0x1cec47 instanceof Error&&/\bHTTP 404\b/['test'](_0x1cec47[_0x4b330d(0xf6)]);}function isCronRunSessionKey(_0x2891d1){const _0x2cf59f=_0x39b9ed;return/^agent:[^:]+:cron:automation-[^:]+:run:[^:]+$/[_0x2cf59f(0x231)](String(_0x2891d1??''));}function normalizeCronRunSessionKey(_0x3f9e14){const _0x34fe2b=_0x39b9ed,_0x3b7751=getTrimmedString(_0x3f9e14);if(!isCronRunSessionKey(_0x3b7751))return _0x3b7751;return _0x3b7751[_0x34fe2b(0x1c3)](0x0,_0x3b7751['indexOf'](_0x34fe2b(0x13d)));}export function syncBundledAgentRuntimeConfig(_0x21508d,_0x2517e0=[]){const _0x570206=_0x39b9ed,_0x2bb6d8=_0x2517e0[_0x570206(0x19c)](_0x3f5a56=>{const _0x46c544=_0x570206,_0x2d1a66=asRecord(_0x3f5a56);return asStringArray(_0x2d1a66[_0x46c544(0x166)+'y'])[_0x46c544(0x11d)]>0x0||Object[_0x46c544(0x1bc)](asRecord(_0x2d1a66[_0x46c544(0x24d)+'rs']))[_0x46c544(0x11d)]>0x0;});if(_0x2bb6d8[_0x570206(0x11d)]===0x0)return{'config':_0x21508d,'changed':![]};let _0x1d6ddc=![];const _0x434384={...asRecord(_0x21508d)},_0x52f61e={...asRecord(_0x434384[_0x570206(0xd8)])},_0x6e8a40=Array[_0x570206(0x28b)](_0x52f61e['list'])?_0x52f61e[_0x570206(0x2ac)]:[],_0x3f433a=_0x6e8a40[_0x570206(0x138)](_0x5230cc=>_0x5230cc&&typeof _0x5230cc===_0x570206(0xfa)?{..._0x5230cc}:_0x5230cc),_0x41efa4={...asRecord(_0x434384[_0x570206(0x2ae)])};let _0x1cc042=asStringArray(_0x41efa4[_0x570206(0x244)]);const _0x4bd3b4={...asRecord(_0x434384['mcp'])},_0x105e4a={...asRecord(_0x4bd3b4[_0x570206(0x264)]??_0x434384['mcpServe'+'rs'])};for(const _0x217097 of _0x2bb6d8){const _0x241c9a=getTrimmedString(_0x217097[_0x570206(0x2bf)]);if(!_0x241c9a)continue;const _0x270948=_0x241c9a===_0x570206(0xf8)?null:_0x3f433a['find'](_0x538925=>getTrimmedString(asRecord(_0x538925)['id'])===_0x241c9a),_0x1e0765=asStringArray(_0x217097[_0x570206(0x166)+'y']);if(_0x270948&&_0x1e0765[_0x570206(0x11d)]>0x0){_0x570206(0x166)+'y'in _0x270948&&(delete _0x270948[_0x570206(0x166)+'y'],_0x1d6ddc=!![]);const _0x170bf1=dedupeStrings([..._0x1cc042,..._0x1e0765]);JSON[_0x570206(0x209)+'y'](_0x170bf1)!==JSON['stringif'+'y'](_0x1cc042)&&(_0x1cc042=_0x170bf1,_0x1d6ddc=!![]);}const _0x3afa45=asRecord(_0x217097[_0x570206(0x24d)+'rs']);if(Object[_0x570206(0x1bc)](_0x3afa45)[_0x570206(0x11d)]>0x0){_0x270948&&(_0x570206(0x24d)+'rs'in _0x270948&&(delete _0x270948[_0x570206(0x24d)+'rs'],_0x1d6ddc=!![]));for(const [_0x430620,_0x418709]of Object[_0x570206(0xc8)](_0x3afa45)){if(JSON[_0x570206(0x209)+'y'](_0x105e4a[_0x430620])===JSON[_0x570206(0x209)+'y'](_0x418709))continue;_0x105e4a[_0x430620]=_0x418709,_0x1d6ddc=!![];}}}return _0x1d6ddc&&(_0x52f61e['list']=_0x3f433a,_0x434384[_0x570206(0xd8)]=_0x52f61e,Object[_0x570206(0x1bc)](_0x105e4a)['length']>0x0&&(_0x4bd3b4[_0x570206(0x264)]=_0x105e4a,_0x434384[_0x570206(0x17a)]=_0x4bd3b4),_0x1cc042['length']>0x0&&(_0x41efa4[_0x570206(0x244)]=_0x1cc042,_0x434384[_0x570206(0x2ae)]=_0x41efa4)),{'config':_0x434384,'changed':_0x1d6ddc};}function nowIso(){const _0x4743a8=_0x39b9ed;return new Date()[_0x4743a8(0x233)+_0x4743a8(0x29a)]();}function waitForChildExit(_0x197646,_0xcff708=0x1388){const _0x37bb91=_0x39b9ed;if(!_0x197646||_0x197646[_0x37bb91(0x1f7)]!==null||_0x197646[_0x37bb91(0x271)+'de'])return Promise['resolve'](!![]);return new Promise(_0x2d6148=>{const _0x4b12dc=_0x37bb91;let _0xca782e=![];const _0x55b0a6=_0x1ca2e0=>{const _0x47d990=_0x2825;if(_0xca782e)return;_0xca782e=!![],clearTimeout(_0x4dded0),_0x197646[_0x47d990(0x117)](_0x47d990(0xf5),_0x17c523),_0x197646[_0x47d990(0x117)](_0x47d990(0xd5),_0x17c523),_0x2d6148(_0x1ca2e0);},_0x17c523=()=>_0x55b0a6(!![]),_0x4dded0=setTimeout(()=>_0x55b0a6(![]),_0xcff708);_0x197646[_0x4b12dc(0x156)](_0x4b12dc(0xf5),_0x17c523),_0x197646[_0x4b12dc(0x156)](_0x4b12dc(0xd5),_0x17c523);});}function buildGatewayWsUrl(_0x2c7f50){const _0x3df37d=_0x39b9ed;return'ws://127'+_0x3df37d(0x257)+_0x2c7f50;}function _0x2825(_0x3a2bd4,_0x326917){_0x3a2bd4=_0x3a2bd4-0xb1;const _0x239539=_0x2395();let _0x282581=_0x239539[_0x3a2bd4];return _0x282581;}function createInitialStatus(){const _0x1d7ac9=_0x39b9ed;return{'lifecycle':'stopped','health':_0x1d7ac9(0x24f),'port':null,'tokenPresent':![],'initialStartupComplete':![],'message':'gateway\x20'+_0x1d7ac9(0x250),'updatedAt':nowIso()};}export function createMainAgentFallback(_0x16c6a5){const _0x1d80d8=_0x39b9ed;return{'id':_0x1d80d8(0xf8),'name':'通用','workspace':join(_0x16c6a5[_0x1d80d8(0x126)+_0x1d80d8(0x105)](),_0x1d80d8(0x1b2)+'e')};}export async function readConfiguredAgentsForPendingList(_0x6a2eda){const _0x1fb2fa=_0x39b9ed;try{const _0x24749d=await _0x6a2eda[_0x1fb2fa(0x1e2)+_0x1fb2fa(0x1a6)](),_0x4c2842=asRecord(_0x24749d[_0x1fb2fa(0xd8)]);return Array[_0x1fb2fa(0x28b)](_0x4c2842[_0x1fb2fa(0x2ac)])?_0x4c2842[_0x1fb2fa(0x2ac)]:[];}catch{return[];}}export function orderAgentsByConfiguredList(_0x177e28,_0x2416f3){const _0x89bee9=_0x39b9ed,_0x1b290b=Array[_0x89bee9(0x28b)](_0x177e28)?_0x177e28:[],_0x3fdaab=Array[_0x89bee9(0x28b)](_0x2416f3)?_0x2416f3:[];if(_0x3fdaab[_0x89bee9(0x11d)]===0x0)return[..._0x1b290b];const _0x339418=new Map();for(const _0x31becb of _0x1b290b){const _0x3082fa=getTrimmedString(asRecord(_0x31becb)['id']);if(_0x3082fa&&!_0x339418[_0x89bee9(0xf4)](_0x3082fa))_0x339418[_0x89bee9(0x1f8)](_0x3082fa,_0x31becb);}const _0x58fe06=new Set(),_0x47b8b1=[];for(const _0x59ab5a of _0x3fdaab){const _0x496c85=getTrimmedString(asRecord(_0x59ab5a)['id']);if(!_0x496c85||_0x58fe06[_0x89bee9(0xf4)](_0x496c85))continue;const _0x5a4a82=_0x339418[_0x89bee9(0x19b)](_0x496c85);_0x47b8b1[_0x89bee9(0x26d)](_0x5a4a82?{..._0x59ab5a,..._0x5a4a82}:_0x59ab5a),_0x58fe06[_0x89bee9(0x275)](_0x496c85);}for(const _0x2aa55d of _0x1b290b){const _0x47c2b6=getTrimmedString(asRecord(_0x2aa55d)['id']);if(!_0x47c2b6||_0x58fe06[_0x89bee9(0xf4)](_0x47c2b6))continue;_0x47b8b1[_0x89bee9(0x26d)](_0x2aa55d),_0x58fe06[_0x89bee9(0x275)](_0x47c2b6);}return _0x47b8b1;}function extractGatewayMessageText(_0x209aa9){const _0x280c3e=_0x39b9ed;if(typeof _0x209aa9==='string')return _0x209aa9;if(!Array['isArray'](_0x209aa9))return'';const _0xec514a=[];for(const _0x2ef48d of _0x209aa9){if(typeof _0x2ef48d===_0x280c3e(0xc3)){if(_0x2ef48d)_0xec514a[_0x280c3e(0x26d)](_0x2ef48d);continue;}const _0x59cf19=asRecord(_0x2ef48d);_0x59cf19[_0x280c3e(0x178)]===_0x280c3e(0x1a0)&&typeof _0x59cf19[_0x280c3e(0x1a0)]==='string'&&_0x59cf19[_0x280c3e(0x1a0)]&&_0xec514a[_0x280c3e(0x26d)](_0x59cf19[_0x280c3e(0x1a0)]);}return _0xec514a[_0x280c3e(0x27e)]('\x0a');}function extractGatewayChatText(_0x1baf8a){const _0x30f1f5=_0x39b9ed,_0x209e16=asRecord(_0x1baf8a);if(typeof _0x209e16[_0x30f1f5(0x1a0)]==='string')return _0x209e16[_0x30f1f5(0x1a0)];return extractGatewayMessageText(_0x209e16['content']);}function applySkillConfigStateToStatus(_0x55064b,_0x26dc3a){const _0x3e2df2=_0x39b9ed,_0x19c730=asRecord(_0x55064b),_0x124e5f=Array[_0x3e2df2(0x28b)](_0x19c730[_0x3e2df2(0xc9)])?_0x19c730[_0x3e2df2(0xc9)]:[];if(_0x124e5f[_0x3e2df2(0x11d)]===0x0)return _0x55064b;const _0x22971f=asRecord(asRecord(asRecord(_0x26dc3a)['skills'])[_0x3e2df2(0xc8)]);if(Object[_0x3e2df2(0x1bc)](_0x22971f)[_0x3e2df2(0x11d)]===0x0)return _0x55064b;const _0x4010fd=_0x124e5f[_0x3e2df2(0x138)](_0xca074b=>{const _0x3426b8=_0x3e2df2,_0x47e527=asRecord(_0xca074b),_0x504f23=[getTrimmedString(_0x47e527['gatewayS'+_0x3426b8(0x224)]),getTrimmedString(_0x47e527[_0x3426b8(0x12c)]),getTrimmedString(_0x47e527['name'])]['filter'](Boolean),_0x1b668b=_0x504f23[_0x3426b8(0x1ff)](_0x3ba95e=>Object[_0x3426b8(0x1d9)+'e'][_0x3426b8(0x268)+_0x3426b8(0x20e)][_0x3426b8(0x130)](_0x22971f,_0x3ba95e));if(!_0x1b668b)return _0xca074b;const _0x513e1d=asRecord(_0x22971f[_0x1b668b]);if(typeof _0x513e1d[_0x3426b8(0xe9)]!=='boolean')return _0xca074b;return{..._0x47e527,'disabled':_0x513e1d[_0x3426b8(0xe9)]===![]};});return{..._0x19c730,'skills':_0x4010fd};}function guessMimeType(_0x482dd7){const _0x1706c5=_0x39b9ed,_0x2c1887=_0x482dd7[_0x1706c5(0x215)]('.')[_0x1706c5(0x13b)]()?.['toLowerC'+_0x1706c5(0x29e)]()??'',_0x38461e={'png':_0x1706c5(0x192)+'g','jpg':_0x1706c5(0x174)+'eg','jpeg':'image/jp'+'eg','webp':_0x1706c5(0x22d)+'bp','gif':_0x1706c5(0x22e)+'f','svg':'image/sv'+_0x1706c5(0x29b),'pdf':_0x1706c5(0x20c)+_0x1706c5(0x161),'txt':_0x1706c5(0xf3)+'in','md':_0x1706c5(0x1ad)+_0x1706c5(0x1be),'json':_0x1706c5(0x20c)+_0x1706c5(0x164),'csv':'text/csv'};return _0x38461e[_0x2c1887]||_0x1706c5(0x20c)+_0x1706c5(0x1de)+_0x1706c5(0x1c4);}async function buildAttachments(_0x2a85b6=[],_0x48026e={}){const _0x28a472=_0x39b9ed,_0x50e9c6=[],_0x1d4adf=[];for(const _0x2c5859 of _0x2a85b6){const _0x2a8542=getTrimmedString(_0x2c5859);if(!_0x2a8542)continue;const _0x58dcdd=await stat(_0x2a8542);if(!_0x58dcdd[_0x28a472(0x1ce)]())continue;if(_0x58dcdd['size']>ATTACHMENT_MAX_BYTES)throw new Error(_0x28a472(0x218)+_0x28a472(0x27a)+_0x28a472(0x15a)+basename(_0x2a8542));const _0x4f9e52=guessMimeType(_0x2a8542);_0x50e9c6[_0x28a472(0x26d)]({'type':_0x4f9e52[_0x28a472(0xc1)+'th'](_0x28a472(0x258))?'image':_0x28a472(0x1b3),'mimeType':_0x4f9e52,'content':(await readFile(_0x2a8542))['toString'](_0x28a472(0x1ee)),'fileName':basename(_0x2a8542)});if(_0x48026e[_0x28a472(0xd0)+'ey']&&_0x48026e[_0x28a472(0x1b0)]){const _0x225403=await archiveChatAttachmentForHistory({'mediaPath':_0x2a8542,'sessionKey':_0x48026e[_0x28a472(0xd0)+'ey'],'stateDir':_0x48026e[_0x28a472(0x1b0)],'onWarn':_0x42b347=>_0x48026e['onWarn']?.(_0x42b347)});_0x1d4adf['push'](_0x28a472(0xb7)+_0x28a472(0x240)+'\x20'+_0x225403+'\x20('+_0x4f9e52+')]');}}return{'attachments':_0x50e9c6,'historyMediaLines':_0x1d4adf};}function buildSessionCreateRequestPayload(_0x243deb={}){const _0x135ff6=_0x39b9ed,_0x2d80bc={},_0x615543=Math[_0x135ff6(0xeb)]()[_0x135ff6(0x214)](0x24)[_0x135ff6(0x1c3)](0x2,0xf),_0x7ce642=getTrimmedString(_0x243deb['agentId'])||_0x135ff6(0xf8),_0x413242=getTrimmedString(_0x243deb['key'])||_0x135ff6(0x251)+_0x7ce642+(':session'+'-')+Date['now']();_0x2d80bc['key']=_0x413242+'-'+_0x615543,_0x2d80bc[_0x135ff6(0x1bf)]=_0x7ce642;const _0x4c7cc8=getTrimmedString(_0x243deb[_0x135ff6(0xee)]);if(_0x4c7cc8)_0x2d80bc[_0x135ff6(0xee)]=_0x4c7cc8+'-'+_0x615543;for(const _0x25680c of[_0x135ff6(0x222),_0x135ff6(0x213)+'ssionKey',_0x135ff6(0x194),_0x135ff6(0xf6)]){const _0x3f14df=getTrimmedString(_0x243deb[_0x25680c]);if(_0x3f14df)_0x2d80bc[_0x25680c]=_0x3f14df;}return _0x2d80bc;}function normalizeCronMutationParams(_0x2d836d={}){const _0xb23197=_0x39b9ed,_0x429c92={...asRecord(_0x2d836d)},_0x7a4863=asRecord(_0x429c92[_0xb23197(0x297)]);if(Object[_0xb23197(0x1bc)](_0x7a4863)[_0xb23197(0x11d)]>0x0){const _0x61ff21={..._0x7a4863},_0x52d21f=getTrimmedString(_0x61ff21[_0xb23197(0x26f)]);_0x52d21f&&!getTrimmedString(_0x61ff21[_0xb23197(0x212)])&&(_0x61ff21[_0xb23197(0x212)]=_0x52d21f),delete _0x61ff21['cron'],_0x429c92['schedule']=_0x61ff21;}return _0x429c92;}function parseSessionCreateResult(_0x25de9e){const _0x12eb14=_0x39b9ed,_0x58b228=asRecord(_0x25de9e),_0x55d994=asRecord(_0x58b228[_0x12eb14(0x143)]);return{'ok':!![],'key':getTrimmedString(_0x58b228[_0x12eb14(0x177)])||getTrimmedString(_0x58b228[_0x12eb14(0xd0)+'ey'])||getTrimmedString(_0x55d994['key'])||null,'sessionId':getTrimmedString(_0x58b228[_0x12eb14(0xff)+'d'])||getTrimmedString(_0x55d994[_0x12eb14(0xff)+'d'])||null};}function getSessionKeyFromValue(_0x2b774b){const _0x1246d6=_0x39b9ed,_0x1de085=asRecord(_0x2b774b);return getTrimmedString(_0x1de085['sessionK'+'ey']??_0x1de085[_0x1246d6(0x177)]??_0x1de085['id']);}function filterValidSessionList(_0x351853,_0x48507a={}){const _0x51a209=_0x39b9ed,_0x1ad30a=asRecord(_0x351853),_0x3ca7ec=Array[_0x51a209(0x28b)](_0x1ad30a[_0x51a209(0xf7)])?_0x1ad30a[_0x51a209(0xf7)]:[],_0x3893f9=typeof _0x48507a['onOrphan'+_0x51a209(0x2a7)]==='function'?_0x48507a[_0x51a209(0x1eb)+_0x51a209(0x2a7)]:null;return{..._0x1ad30a,'sessions':_0x3ca7ec[_0x51a209(0x138)](_0x4337fc=>{const _0x56ee31=_0x51a209,_0x5bdfdd=asRecord(_0x4337fc),_0x3ac65e=getSessionKeyFromValue(_0x5bdfdd);if(!_0x3ac65e)return _0x4337fc;const _0x3148a2=getTrimmedString(_0x5bdfdd[_0x56ee31(0xff)+'d'])||getTrimmedString(_0x5bdfdd['session_'+'id']);if(!_0x3148a2)return _0x3893f9?.(_0x3ac65e,{'updatedAt':_0x5bdfdd[_0x56ee31(0x208)+'t']??_0x5bdfdd[_0x56ee31(0x1a1)+'at']??null,'agentId':getTrimmedString(_0x5bdfdd[_0x56ee31(0x1bf)]??_0x5bdfdd[_0x56ee31(0x188)])}),null;return _0x5bdfdd;})[_0x51a209(0x19c)](Boolean)};}function sanitizeSharedContextPayload(_0x45c6d5){const _0x46b6c9=_0x39b9ed,_0xbd3d21=asRecord(_0x45c6d5),_0x36331c={};for(const _0x5d9fe6 of SHARED_CONTEXT_FILES){if(typeof _0xbd3d21[_0x5d9fe6]===_0x46b6c9(0xc3))_0x36331c[_0x5d9fe6]=_0xbd3d21[_0x5d9fe6];}return _0x36331c;}async function readSharedContext(_0x20bf3a){const _0x24a642=_0x39b9ed,_0x5d56e4={};for(const _0x15b2a0 of SHARED_CONTEXT_FILES){try{_0x5d56e4[_0x15b2a0]=await readFile(join(_0x20bf3a,_0x15b2a0),_0x24a642(0x28a));}catch{_0x5d56e4[_0x15b2a0]='';}}return _0x5d56e4;}async function writeSharedContext(_0x4ccf9e,_0xcdb826){const _0x517c76=_0x39b9ed,_0x5ec933=sanitizeSharedContextPayload(_0xcdb826);await mkdir(_0x4ccf9e,{'recursive':!![]});for(const [_0x35535a,_0x3fd0db]of Object[_0x517c76(0xc8)](_0x5ec933)){await writeFile(join(_0x4ccf9e,_0x35535a),_0x3fd0db,_0x517c76(0x28a));}return{'ok':!![],'files':Object['keys'](_0x5ec933)};}function createAskUserQuestionServer({configController:_0x1f8b36,emit:_0x20f353}){const _0x385549=new Map();let _0x3cc71a=null,_0x583bb6='',_0xb00e80='';async function _0x1afba7(){const _0x3891b4=_0x2825;if(_0x3cc71a)return{'callbackUrl':_0x583bb6,'secret':_0xb00e80};_0xb00e80=randomUUID();const _0x514c08=await _0x5274b4({'port':portNumbers(0x332c,0x338f)});return _0x583bb6=_0x3891b4(0x1b8)+_0x3891b4(0x260)+':'+_0x514c08+(_0x3891b4(0x2ca)+_0x3891b4(0x13f)+'on'),_0x3cc71a=createServer(async(_0x2c4554,_0x842d2)=>{const _0x2d0670=_0x3891b4;if(_0x2c4554[_0x2d0670(0x115)]!==_0x2d0670(0x23a)||_0x2c4554[_0x2d0670(0x1b6)]!==_0x2d0670(0x2ca)+_0x2d0670(0x13f)+'on'){_0x842d2[_0x2d0670(0x1d6)+'d'](0x194),_0x842d2[_0x2d0670(0x2b9)](_0x2d0670(0x219)+'d');return;}if(_0x2c4554['headers'][_0x2d0670(0x16d)+_0x2d0670(0x1a4)+'t']!==_0xb00e80){_0x842d2[_0x2d0670(0x1d6)+'d'](0x191),_0x842d2['end'](_0x2d0670(0x235)+_0x2d0670(0x1ae));return;}let _0x3903e9='';_0x2c4554['on'](_0x2d0670(0x2a8),_0x4b0499=>{const _0x266de8=_0x2d0670;_0x3903e9+=_0x4b0499['toString']();if(_0x3903e9[_0x266de8(0x11d)]>0x400*0x400)_0x2c4554[_0x266de8(0x287)]();}),_0x2c4554['on'](_0x2d0670(0x2b9),()=>{const _0x4ef40c=_0x2d0670;let _0x52b0f2={};try{_0x52b0f2=JSON[_0x4ef40c(0x282)](_0x3903e9||'{}');}catch{_0x842d2['writeHea'+'d'](0x190),_0x842d2[_0x4ef40c(0x2b9)](_0x4ef40c(0x28e)+_0x4ef40c(0x146));return;}const _0x4823b0=randomUUID(),_0xd4a078=setTimeout(()=>{const _0x2eea8a=_0x4ef40c;if(!_0x385549[_0x2eea8a(0xf4)](_0x4823b0))return;_0x385549[_0x2eea8a(0xd7)](_0x4823b0),_0x842d2[_0x2eea8a(0x1d6)+'d'](0xc8,{'content-type':'applicat'+_0x2eea8a(0x164)}),_0x842d2['end'](JSON['stringif'+'y']({'behavior':_0x2eea8a(0x244)}));},0x1d4c0);_0x385549[_0x4ef40c(0x1f8)](_0x4823b0,{'res':_0x842d2,'timeout':_0xd4a078}),_0x20f353('ask-user'+_0x4ef40c(0x1b1)+'n',{'requestId':_0x4823b0,...asRecord(_0x52b0f2)});});}),await new Promise((_0x1bf849,_0x505e63)=>{const _0x761081=_0x3891b4;_0x3cc71a['once'](_0x761081(0x19f),_0x505e63),_0x3cc71a[_0x761081(0x1d8)](_0x514c08,_0x761081(0xb3)+'1',()=>{const _0x12eb52=_0x761081;_0x3cc71a['off'](_0x12eb52(0x19f),_0x505e63),_0x1bf849();});}),await _0x1f8b36[_0x3891b4(0x12d)+_0x3891b4(0x103)+_0x3891b4(0x16e)+_0x3891b4(0x1aa)+'g']({'callbackUrl':_0x583bb6,'secret':_0xb00e80}),{'callbackUrl':_0x583bb6,'secret':_0xb00e80};}function _0x5ca9e9(_0x562228={}){const _0x43dd82=_0x2825,_0xe26f78=getTrimmedString(_0x562228['requestI'+'d']);if(!_0xe26f78||!_0x385549['has'](_0xe26f78))throw new Error(_0x43dd82(0x21c)+'-questio'+_0x43dd82(0x2ba)+_0x43dd82(0xcd)+_0x43dd82(0x139));const _0x4f628a=_0x385549[_0x43dd82(0x19b)](_0xe26f78);return _0x385549['delete'](_0xe26f78),clearTimeout(_0x4f628a['timeout']),_0x4f628a['res'][_0x43dd82(0x1d6)+'d'](0xc8,{'content-type':_0x43dd82(0x20c)+_0x43dd82(0x164)}),_0x4f628a[_0x43dd82(0x196)]['end'](JSON[_0x43dd82(0x209)+'y']({'behavior':_0x562228[_0x43dd82(0x2b7)]==='deny'?'deny':_0x43dd82(0x19d),'answers':asRecord(_0x562228['answers'])})),{'ok':!![]};}async function _0x2cc1bd(){const _0x536a2f=_0x2825;for(const [_0x433124,_0x52eacf]of _0x385549){_0x385549['delete'](_0x433124),clearTimeout(_0x52eacf[_0x536a2f(0x295)]),_0x52eacf['res'][_0x536a2f(0x1d6)+'d'](0xc8,{'content-type':_0x536a2f(0x20c)+'ion/json'}),_0x52eacf[_0x536a2f(0x196)][_0x536a2f(0x2b9)](JSON[_0x536a2f(0x209)+'y']({'behavior':'deny'}));}if(!_0x3cc71a)return;await new Promise(_0x32e76b=>_0x3cc71a['close'](_0x32e76b)),_0x3cc71a=null;}return{'start':_0x1afba7,'answer':_0x5ca9e9,'stop':_0x2cc1bd};}export function createGatewayController({shellConfig:_0x24e04a,configController:_0x247276,appVersion:appVersion=_0x39b9ed(0x22a),productRuntimeHooks:productRuntimeHooks={},userEventWriter:userEventWriter=null,sessionSqliteStore:sessionSqliteStore=null}){const _0x279ae3=_0x39b9ed,_0x2bed6c=new EventEmitter(),_0x3df8a9=new ClawGatewayWsClient(),_0x48464e=[],_0x9a5288=new Map(),_0x5b5c2d=createGatewayChatQueue(),_0xa240bb=new Map(),_0x22ac5e=new Set();let _0x182446=null,_0x4ee6ef='';const _0x12765d=createShellLogger(_0x247276[_0x279ae3(0x11a)],_0x279ae3(0xc6)),_0x113a59=createShellLogger(_0x247276[_0x279ae3(0x11a)],_0x279ae3(0x173)),_0x47f130=createShellLogger(_0x247276['paths'],_0x279ae3(0xf7)),_0x4bdb43=createShellLogger(_0x247276[_0x279ae3(0x11a)],'capabili'+_0x279ae3(0xdb)),_0x490160=sessionSqliteStore||createSessionSqliteStore({'stateDir':_0x247276[_0x279ae3(0x126)+_0x279ae3(0x105)]()}),_0x26c535=createMarketSkillRuntime({'configController':_0x247276}),_0x146819=createAskUserQuestionServer({'configController':_0x247276,'emit':(_0x13d4d2,_0x3194fd)=>_0x2bed6c[_0x279ae3(0x1dc)](_0x13d4d2,_0x3194fd)});let _0x1673e0=createInitialStatus(),_0x35417a=null,_0x5b48af=null,_0x264a34=null,_0x518d66=![],_0x2c46eb=![],_0x979e2e=![],_0x27555d=Promise['resolve'](),_0x16477a=null,_0x2c2b90=0x0,_0x2392e4=0x0;function _0x4c57e3(_0xa386c9,_0x40d3ff){const _0x5c1d71=_0x279ae3;_0x2bed6c[_0x5c1d71(0x1dc)](_0xa386c9,_0x40d3ff);}function _0xd946f6(_0x23e59d,_0x2e85db){return _0x2bed6c['on'](_0x23e59d,_0x2e85db),()=>_0x2bed6c['off'](_0x23e59d,_0x2e85db);}function _0x176e0b(_0x2f4592){const _0x3bd62c=_0x279ae3;userEventWriter?.['write'](_0x2f4592)?.[_0x3bd62c(0x11e)](()=>{});}function _0xd52e3c(_0x4793e6){const _0x3d7966=_0x279ae3;_0x1673e0={..._0x1673e0,..._0x4793e6,'updatedAt':nowIso()},_0x4c57e3(_0x3d7966(0xd3)+'status',_0x1673e0);}function _0x3fc87d(_0x210b5a,_0x7bad2a,_0x57bec9={}){const _0x64a2eb=_0x279ae3;_0xd52e3c({'lifecycle':_0x210b5a,'message':_0x7bad2a,..._0x210b5a==='running'?{'initialStartupComplete':!![]}:{},..._0x57bec9}),_0x52c117(_0x64a2eb(0x252),_0x210b5a[_0x64a2eb(0x241)+_0x64a2eb(0x29e)]()+'\x20'+_0x7bad2a),_0x12765d?.[_0x64a2eb(0x2ad)](_0x64a2eb(0xb1)+'lifecycl'+_0x64a2eb(0xdc)+'d',{'lifecycle':_0x210b5a,'message':_0x7bad2a,'status':{'health':_0x1673e0[_0x64a2eb(0x129)],'port':_0x1673e0['port'],'tokenPresent':_0x1673e0[_0x64a2eb(0xbe)+_0x64a2eb(0x246)]},...summarizePayload(_0x57bec9)});}function _0x52c117(_0x4831bc,_0x58b2fc){const _0x465f87=_0x279ae3,_0x5b5818=String(_0x58b2fc??'')['trimEnd']();if(!_0x5b5818)return;if(DEBUG_STDOUT){const _0x2a9c5b=_0x4831bc===_0x465f87(0x1cf)?console[_0x465f87(0x19f)]:console[_0x465f87(0x2ad)];_0x2a9c5b(_0x465f87(0x1ab)+'hell:gat'+_0x465f87(0x247)+_0x4831bc+']',_0x5b5818);}const _0x525bbd={'source':_0x4831bc,'text':_0x5b5818,'timestamp':nowIso()};_0x48464e[_0x465f87(0x26d)](_0x525bbd);if(_0x48464e[_0x465f87(0x11d)]>LOG_LIMIT)_0x48464e[_0x465f87(0x204)](0x0,_0x48464e['length']-LOG_LIMIT);_0x4c57e3(_0x465f87(0xd3)+_0x465f87(0x1b4),_0x525bbd),/\[gateway\]\s+ready\b/[_0x465f87(0x231)](_0x5b5818)&&_0x3df8a9[_0x465f87(0x1a8)+_0x465f87(0x1af)+'dy'](),_0x12765d?.[_0x465f87(0x2ad)](_0x465f87(0xb1)+_0x465f87(0x1b4),{'source':_0x4831bc,'text':_0x5b5818});}function _0x5b4f1a(_0x11f307,_0x3e5b98,_0xdc5ee7={}){const _0x2b1e5c=_0x279ae3,_0x13a579=_0x3e5b98+':'+_0x11f307;if(_0x22ac5e[_0x2b1e5c(0xf4)](_0x13a579))return;_0x22ac5e[_0x2b1e5c(0x275)](_0x13a579),_0x47f130?.[_0x2b1e5c(0x2b0)]('orphan\x20s'+_0x2b1e5c(0x172)+_0x2b1e5c(0x27c),{'reason':_0x3e5b98,'sessionKeyHash':hashForDiagnostic(_0x11f307),..._0xdc5ee7});}function _0x510726(_0x4e1187=0xc8){return _0x48464e['slice'](-Math['max'](0x1,Math['floor'](_0x4e1187)));}function _0x5cbf92(){const _0x419b31=_0x279ae3;if(!_0x35417a||_0x1673e0[_0x419b31(0x16f)+'e']!==_0x419b31(0x2bd))throw new Error(_0x419b31(0xb1)+'is\x20start'+'ing,\x20ple'+'ase\x20retr'+_0x419b31(0x223)+'y');}async function _0x594948(_0x2b7641=0x3a98){const _0x5cd1eb=_0x279ae3;if(_0x51ab16())return!![];const _0xb14e53=Date[_0x5cd1eb(0x183)]();while(Date[_0x5cd1eb(0x183)]()-_0xb14e53<_0x2b7641){await new Promise(_0x3c7c6e=>setTimeout(_0x3c7c6e,0xfa));if(_0x51ab16())return!![];}return _0x5cbf92(),!![];}function _0x51ab16(){const _0xcd4cc5=_0x279ae3;return Boolean(_0x35417a&&_0x1673e0[_0xcd4cc5(0x16f)+'e']==='running');}function _0x2af14f(_0xd72596){const _0x43bd6c=_0x279ae3;_0x4c57e3(_0x43bd6c(0x245)+'eam-even'+'t',_0xd72596);}function _0x11295b(){let _0x38bfc0=![],_0x31d158=()=>{};const _0xd3d3c1=new Promise(_0xc6d00e=>{_0x31d158=()=>{if(_0x38bfc0)return;_0x38bfc0=!![],_0xc6d00e();};});return{'settled':_0xd3d3c1,'resolveSettled':_0x31d158};}function _0x54d7f0(_0x5560bf){const _0x77f10b=_0x279ae3,_0x22d38a=_0x9a5288[_0x77f10b(0x19b)](_0x5560bf);if(!_0x22d38a)return null;_0x9a5288[_0x77f10b(0xd7)](_0x5560bf);if(_0x22d38a[_0x77f10b(0x1c7)+_0x77f10b(0x140)+_0x77f10b(0xe8)])clearTimeout(_0x22d38a[_0x77f10b(0x1c7)+'Fallback'+_0x77f10b(0xe8)]);_0x5b5c2d[_0x77f10b(0xb2)](_0x22d38a),_0x22d38a[_0x77f10b(0x126)+'ettled']?.();const _0x4f3651=_0xa240bb[_0x77f10b(0x19b)](_0x22d38a[_0x77f10b(0xd0)+'ey']);return(_0x4f3651===_0x22d38a[_0x77f10b(0x29c)]||_0x4f3651===_0x22d38a[_0x77f10b(0x1f5)+'d'])&&_0xa240bb[_0x77f10b(0xd7)](_0x22d38a['sessionK'+'ey']),_0x22d38a;}function _0x4fbb48(_0x3b5e41,_0x20bd67,_0x43d130=''){const _0x19c363=_0x279ae3,_0x231065=_0x54d7f0(_0x3b5e41[_0x19c363(0x29c)]);if(!_0x231065)return;const _0x3e28de=Date['now']()-_0x231065[_0x19c363(0x2af)+'t'];_0x113a59?.['info']('chat\x20run'+_0x19c363(0x16a),{'requestId':_0x231065[_0x19c363(0x1f5)+'d'],'runId':_0x231065['runId'],'sessionKey':_0x231065['sessionK'+'ey'],'outcome':_0x20bd67,'durationMs':_0x3e28de,'textLength':_0x231065[_0x19c363(0xe6)+'xt'][_0x19c363(0x11d)],..._0x43d130?{'message':_0x43d130}:{}}),_0x176e0b({'priority':'P0','category':_0x19c363(0x173),'event':_0x20bd67===_0x19c363(0x19f)?'assistan'+_0x19c363(0x217)+'.failed':_0x19c363(0x1e6)+_0x19c363(0x217)+_0x19c363(0x225)+'ed','status':_0x20bd67==='error'?_0x19c363(0x283):_0x20bd67,'level':_0x20bd67===_0x19c363(0x19f)?'error':_0x19c363(0x2ad),'message':_0x20bd67===_0x19c363(0x19f)?'assistan'+_0x19c363(0x14c)+_0x19c363(0x19a):'assistan'+_0x19c363(0x14c)+_0x19c363(0x197)+'ed','sessionKey':_0x231065[_0x19c363(0xd0)+'ey'],'runId':_0x231065[_0x19c363(0x29c)],'agentId':_0x231065[_0x19c363(0x1bf)],'outputSummary':{'length':_0x231065[_0x19c363(0xe6)+'xt'][_0x19c363(0x11d)],'preview':'','truncated':![]},'visibleError':_0x20bd67===_0x19c363(0x19f)?_0x43d130:undefined,'durationMs':_0x3e28de,'captureIncident':_0x20bd67===_0x19c363(0x19f),'meta':{'requestId':_0x231065[_0x19c363(0x1f5)+'d'],'outcome':_0x20bd67}}),_0x2af14f({'requestId':_0x231065['requestI'+'d'],'sessionKey':_0x231065[_0x19c363(0xd0)+'ey'],'type':_0x20bd67,..._0x43d130?{'message':_0x43d130}:{}});}function _0x47a508(_0x48d134){const _0x1ceea0=_0x279ae3;let _0x23dacb=null,_0x1f0b3c=null;for(const _0x34d79f of _0x9a5288['values']()){if(_0x34d79f[_0x1ceea0(0xd0)+'ey']===_0x48d134){_0x23dacb=_0x34d79f;if(_0x34d79f[_0x1ceea0(0x1d7)])_0x1f0b3c=_0x34d79f;}}return _0x1f0b3c??_0x23dacb;}function _0x38a362(_0x366c06){const _0x2d7aac=_0x279ae3;let _0x572bfe=null;for(const _0x269314 of _0x9a5288[_0x2d7aac(0x1fb)]()){_0x269314[_0x2d7aac(0xd0)+'ey']===_0x366c06&&_0x269314['started']&&(_0x572bfe=_0x269314);}return _0x572bfe;}function _0x3b5c4c(_0x536204){const _0x350b72=_0x279ae3;if(!_0x536204)return null;for(const _0x39dfb8 of _0x9a5288[_0x350b72(0x1fb)]()){if(_0x39dfb8[_0x350b72(0x1f5)+'d']===_0x536204)return _0x39dfb8;}return null;}function _0x662d0c(_0x2e2eb8,_0x299df6){const _0x9d4d38=_0x279ae3,{nextText:_0x4c64f4,delta:_0x2213a8}=resolveGatewayChatDelta(_0x2e2eb8[_0x9d4d38(0xe6)+'xt'],_0x299df6);_0x2e2eb8[_0x9d4d38(0xe6)+'xt']=_0x4c64f4,_0x2213a8&&_0x2af14f({'requestId':_0x2e2eb8['requestI'+'d'],'sessionKey':_0x2e2eb8[_0x9d4d38(0xd0)+'ey'],'type':_0x9d4d38(0x265),'delta':_0x2213a8});}function _0x3ff489(_0x548c32,_0x298d2c,_0x26fcc1=''){const _0x404cce=_0x279ae3;if(_0x548c32[_0x404cce(0x1c7)+_0x404cce(0x140)+_0x404cce(0xe8)])clearTimeout(_0x548c32[_0x404cce(0x1c7)+'Fallback'+_0x404cce(0xe8)]);_0x548c32[_0x404cce(0x1c7)+_0x404cce(0x140)+_0x404cce(0xe8)]=setTimeout(()=>{const _0x1ab374=_0x404cce,_0x42af03=_0x9a5288[_0x1ab374(0x19b)](_0x548c32[_0x1ab374(0x29c)]);if(!_0x42af03)return;_0x4fbb48(_0x42af03,_0x298d2c===_0x1ab374(0x19f)?'error':_0x1ab374(0x294),_0x26fcc1);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x5968e7(_0xad2c79){const _0x5ebe31=_0x279ae3;for(const _0x2e2005 of[..._0x9a5288[_0x5ebe31(0x1fb)]()]){_0x113a59?.[_0x5ebe31(0x2b0)](_0x5ebe31(0x27d)+'\x20failed\x20'+_0x5ebe31(0x108)+_0x5ebe31(0x21d),{'requestId':_0x2e2005[_0x5ebe31(0x1f5)+'d'],'runId':_0x2e2005['runId'],'sessionKey':_0x2e2005[_0x5ebe31(0xd0)+'ey'],'durationMs':Date['now']()-_0x2e2005[_0x5ebe31(0x2af)+'t'],'reason':_0xad2c79}),_0x2af14f({'requestId':_0x2e2005[_0x5ebe31(0x1f5)+'d'],'sessionKey':_0x2e2005['sessionK'+'ey'],'type':_0x5ebe31(0x19f),'message':_0xad2c79}),_0x54d7f0(_0x2e2005[_0x5ebe31(0x29c)]);}_0x5b5c2d[_0x5ebe31(0xef)](),_0xa240bb[_0x5ebe31(0xef)](),_0x182446&&(clearTimeout(_0x182446),_0x182446=null),_0x4ee6ef='';}function _0x49e864(_0x45ca9d){const _0x121b6d=_0x279ae3;_0x4c57e3(_0x121b6d(0xf7)+_0x121b6d(0x207)+_0x121b6d(0x263),_0x45ca9d);}function _0x18594b(_0x1e1a79=''){if(_0x1e1a79)_0x4ee6ef=_0x1e1a79;_0x182446&&clearTimeout(_0x182446),_0x182446=setTimeout(()=>{const _0x2d0f74=_0x2825;_0x182446=null,_0x49e864({'reason':_0x2d0f74(0x2a3)+_0x2d0f74(0x1e4),..._0x4ee6ef?{'sessionKey':_0x4ee6ef}:{}}),_0x4ee6ef='';},AGENT_EVENT_SESSION_INVALIDATION_DEBOUNCE_MS);}function _0x4f2a58(_0x24c790){const _0x3f5065=_0x279ae3,_0x15fb2b=getTrimmedString(_0x24c790?.[_0x3f5065(0xd0)+'ey']),_0x11d904=normalizeCronRunSessionKey(_0x15fb2b),_0x35660d=_0x24c790?.[_0x3f5065(0x178)]===_0x3f5065(0x226)?_0x3f5065(0xdd)+_0x3f5065(0x226):_0x3f5065(0xdd)+_0x3f5065(0x2aa),_0xb95b6b=_0x15fb2b&&_0x15fb2b!==_0x11d904?{..._0x24c790,'sessionKey':_0x11d904,'sourceSessionKey':_0x15fb2b}:_0x24c790;_0x49e864({'reason':_0x35660d,..._0x11d904?{'sessionKey':_0x11d904}:{},..._0x15fb2b&&_0x15fb2b!==_0x11d904?{'sourceSessionKey':_0x15fb2b}:{}}),_0x4c57e3(_0x3f5065(0xdd)+_0x3f5065(0x2aa),_0xb95b6b);}function _0xe0b9f(_0x1323f1){const _0x29ca41=_0x279ae3,_0x2514f5=getTrimmedString(_0x1323f1['runId']),_0x2a19d2=getTrimmedString(_0x1323f1[_0x29ca41(0x24e)])||_0x29ca41(0x2aa),_0x263283=getTrimmedString(_0x1323f1[_0x29ca41(0xd0)+'ey']),_0x3060c0=(_0x2514f5?_0x9a5288[_0x29ca41(0x19b)](_0x2514f5):null)??(_0x263283?_0x38a362(_0x263283):null);if(_0x2514f5&&_0x263283)_0xa240bb[_0x29ca41(0x1f8)](_0x263283,_0x2514f5);if(_0x263283)_0x4f2a58({'sessionKey':_0x263283,'state':_0x2a19d2});_0x113a59?.[_0x29ca41(0x2ad)]('gateway\x20'+'chat\x20eve'+_0x29ca41(0xbc)+_0x29ca41(0x11c),{'runId':_0x2514f5,'sessionKey':_0x263283,'state':_0x2a19d2,'hasActiveRun':Boolean(_0x3060c0),'messageText':summarizeText(extractGatewayChatText(_0x1323f1['message']),0x78),'errorMessage':getTrimmedString(_0x1323f1['errorMes'+_0x29ca41(0xbb)])});_0x3060c0&&(_0x2a19d2==='final'||_0x2a19d2===_0x29ca41(0x1b5)||_0x2a19d2===_0x29ca41(0x19f))&&_0x3ff489(_0x3060c0,_0x2a19d2,typeof _0x1323f1[_0x29ca41(0x25c)+'sage']===_0x29ca41(0xc3)?_0x1323f1[_0x29ca41(0x25c)+'sage']:_0x29ca41(0xb1)+_0x29ca41(0x298)+'led');if(!_0x3060c0)return;if(_0x263283&&_0x263283!==_0x3060c0[_0x29ca41(0xd0)+'ey'])return;if(_0x2a19d2===_0x29ca41(0x265)){_0x662d0c(_0x3060c0,extractGatewayChatText(_0x1323f1[_0x29ca41(0xf6)]));return;}if(_0x2a19d2==='final'||_0x2a19d2===_0x29ca41(0x1b5)){_0x662d0c(_0x3060c0,extractGatewayChatText(_0x1323f1[_0x29ca41(0xf6)])),_0x4fbb48(_0x3060c0,'done');return;}_0x2a19d2==='error'&&_0x4fbb48(_0x3060c0,_0x29ca41(0x19f),typeof _0x1323f1['errorMes'+_0x29ca41(0xbb)]===_0x29ca41(0xc3)?_0x1323f1[_0x29ca41(0x25c)+_0x29ca41(0xbb)]:_0x29ca41(0xb1)+'chat\x20fai'+'led');}function _0x4db2cb(_0x44ad39){const _0x429151=_0x279ae3,_0x2ccf6c=asRecord(_0x44ad39);return getTrimmedString(_0x2ccf6c[_0x429151(0xd0)+'ey'])||getTrimmedString(_0x2ccf6c[_0x429151(0x177)])||getTrimmedString(_0x2ccf6c[_0x429151(0x2c1)+'key']);}function _0x49eb89(_0x211970){const _0x4ae05e=_0x279ae3,_0x2d8c7e=asRecord(_0x211970),_0x1b1e6c=_0x4db2cb(_0x2d8c7e),_0x5696af=getTrimmedString(_0x2d8c7e['phase'])||getTrimmedString(_0x2d8c7e[_0x4ae05e(0x24e)])||getTrimmedString(_0x2d8c7e[_0x4ae05e(0x159)])||_0x4ae05e(0x2aa);_0x47f130?.[_0x4ae05e(0x2ad)](_0x4ae05e(0xb1)+_0x4ae05e(0x228)+_0x4ae05e(0x2be)+_0x4ae05e(0x20f),{'event':'sessions'+_0x4ae05e(0x292),'sessionKey':_0x1b1e6c,'state':_0x5696af,'channel':getTrimmedString(_0x2d8c7e[_0x4ae05e(0x278)]),'agentId':getTrimmedString(_0x2d8c7e[_0x4ae05e(0x1bf)]),'messageId':getTrimmedString(_0x2d8c7e[_0x4ae05e(0x270)+'d']),'runId':getTrimmedString(_0x2d8c7e['runId'])}),_0x4f2a58({..._0x2d8c7e,'type':getTrimmedString(_0x2d8c7e[_0x4ae05e(0x178)])||'changed','state':_0x5696af,..._0x1b1e6c?{'sessionKey':_0x1b1e6c}:{}});}function _0x272bb3(_0x214781){const _0x4213c4=_0x279ae3,_0x12b287=asRecord(_0x214781),_0x1cb077=_0x4db2cb(_0x12b287);_0x47f130?.['info'](_0x4213c4(0xb1)+_0x4213c4(0x228)+_0x4213c4(0xd6)+_0x4213c4(0x2be)+_0x4213c4(0x20f),{'event':_0x4213c4(0x1d1)+_0x4213c4(0xf6),'sessionKey':_0x1cb077,'channel':getTrimmedString(_0x12b287[_0x4213c4(0x278)]),'agentId':getTrimmedString(_0x12b287['agentId']),'messageId':getTrimmedString(_0x12b287[_0x4213c4(0x270)+'d']),'messageSeq':_0x12b287[_0x4213c4(0x259)+'eq']}),_0x4f2a58({..._0x12b287,'type':_0x4213c4(0xf6),'state':_0x4213c4(0xf6),..._0x1cb077?{'sessionKey':_0x1cb077}:{}});}async function _0x39d0bd(){const _0x5e3dd4=_0x279ae3;try{const _0x54d49c=await _0x3df8a9['request'](_0x5e3dd4(0xf7)+'.subscri'+'be',{},{'timeoutMs':0x2710});_0x47f130?.[_0x5e3dd4(0x2ad)](_0x5e3dd4(0xb1)+_0x5e3dd4(0x228)+_0x5e3dd4(0x1ea)+'ubscribe'+'d',{'result':summarizePayload(_0x54d49c,{'maxDepth':0x2})});}catch(_0x218460){_0x47f130?.[_0x5e3dd4(0x2b0)](_0x5e3dd4(0xb1)+'session\x20'+_0x5e3dd4(0x1ea)+_0x5e3dd4(0x17b)+_0x5e3dd4(0x19a),{'error':summarizeError(_0x218460)});}}async function _0x5781eb(_0x411925,_0xf1efcc){const _0x9c4014=_0x279ae3;_0x3df8a9[_0x9c4014(0x274)+'e']({'url':buildGatewayWsUrl(_0xf1efcc),'token':_0x411925,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x24e04a[_0x9c4014(0x2cc)+_0x9c4014(0x144)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x247276[_0x9c4014(0x2bb)+_0x9c4014(0x12a)+_0x9c4014(0xea)+'h'](),'onChatEvent':_0xe0b9f,'onAgentEvent':_0x28d984=>{const _0x10e55a=_0x9c4014,_0x1f5d6d=asRecord(_0x28d984),_0x3263e1=getTrimmedString(_0x1f5d6d[_0x10e55a(0x29c)]),_0x261242=getTrimmedString(_0x1f5d6d[_0x10e55a(0xd0)+'ey']),_0x1455a0=_0x3263e1?_0x9a5288[_0x10e55a(0x19b)](_0x3263e1):null;if(_0x261242&&!_0x1455a0)_0x18594b(_0x261242);_0x4c57e3(_0x10e55a(0x2a3)+'ent',_0x28d984);},'onSessionEvent':_0x49eb89,'onSessionMessageEvent':_0x272bb3,'onStartupTiming':(_0x5e9e03,_0x17fac2={})=>{const _0x26cd82=_0x9c4014;_0x12765d?.['debug']('gateway\x20'+_0x26cd82(0x15c)+_0x26cd82(0x23d)+'p\x20timing',{'label':_0x5e9e03,..._0x17fac2});},'onConnected':async()=>{const _0x1ac783=_0x9c4014;if(!_0x35417a||!_0x264a34||!_0x5b48af)return;const _0x43c73b=++_0x2392e4,_0x43bef8=()=>_0x43c73b===_0x2392e4&&Boolean(_0x35417a&&_0x264a34&&_0x5b48af);_0x12765d?.[_0x1ac783(0x2ad)](_0x1ac783(0xb1)+'websocke'+_0x1ac783(0x27b)+_0x1ac783(0x169),{'port':_0x264a34,'pid':_0x35417a['pid'],'readyMs':_0x2c2b90?Date['now']()-_0x2c2b90:undefined}),_0x3fc87d(_0x1ac783(0x2bd),_0x1ac783(0xb1)+_0x1ac783(0x23c)+'d',{'health':_0x1ac783(0x1cc),'port':_0x264a34,'tokenPresent':!![]}),await _0x39d0bd();try{const _0x31c7b0=await syncManagedSkillsToConfig(_0x247276);_0x4bdb43?.[_0x1ac783(0x2ad)]('managed\x20'+_0x1ac783(0xb9)+_0x1ac783(0x110)+'nc\x20compl'+'eted',{'skillCount':_0x31c7b0[_0x1ac783(0x12c)+'s'][_0x1ac783(0x11d)],'skillKeys':_0x31c7b0[_0x1ac783(0x12c)+'s']}),await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x24e04a[_0x1ac783(0x1fa)+'oot']))[_0x1ac783(0x171)+'oot'],_0x1ac783(0x152),_0x1ac783(0xd8)),'stateDir':_0x247276['resolveS'+_0x1ac783(0x105)](),'isPackaged':IS_PACKAGED_RUNTIME,'listAgents':_0x48a21e,'shouldContinue':_0x43bef8,'createAgent':_0x905989=>{const _0x387876=_0x1ac783;if(!_0x43bef8())return{'skipped':!![]};return _0x3df8a9[_0x387876(0x104)](_0x387876(0x121)+'reate',_0x905989);},'updateAgent':_0x319fc6=>{const _0x42c2c2=_0x1ac783;if(!_0x43bef8())return{'skipped':!![]};return _0x3df8a9[_0x42c2c2(0x104)](_0x42c2c2(0xf2)+_0x42c2c2(0xcc),_0x319fc6);},'syncSkills':async({agentIds:_0x39a043,mainWorkspace:_0x18b779})=>{const _0x564d72=_0x1ac783;if(!_0x43bef8())return;_0x4bdb43?.['info'](_0x564d72(0x1e8)+_0x564d72(0x1e0)+'ills\x20syn'+_0x564d72(0x1fc)+'d',{'agentIds':_0x39a043,'mainWorkspace':toHomePath(_0x18b779)});const _0x4c7807=dirname(_0x18b779),_0x4b1168=await syncBundledAgentSkillsToConfig({'agentIds':_0x39a043,'resolveSkillsDir':_0x1edef6=>_0x1edef6==='main'?join(_0x18b779,_0x564d72(0xc9)):join(_0x4c7807,_0x564d72(0x1b2)+'e-'+_0x1edef6,'skills'),'readConfig':()=>_0x247276['readConf'+'ig'](),'writeConfig':_0x330a2c=>_0x247276[_0x564d72(0x202)+_0x564d72(0x158)](_0x330a2c),'markConfigWriteHandledInternally':()=>_0x247276[_0x564d72(0x2a0)+_0x564d72(0x1c8)+_0x564d72(0x193)+_0x564d72(0x1f9)]()});_0x16477a=_0x4b1168['discover'+'y'],_0x4bdb43?.[_0x564d72(0x2ad)](_0x564d72(0x1e8)+_0x564d72(0x1e0)+_0x564d72(0x12f)+_0x564d72(0x2c3)+'ted',{'agentCount':_0x39a043['length'],'changed':_0x4b1168[_0x564d72(0x1cd)],'discovery':summarizePayload(_0x4b1168[_0x564d72(0x234)+'y'],{'maxDepth':0x3})});},'syncConfig':async({bundledAgents:_0x318603})=>{const _0x4ac607=_0x1ac783;if(!_0x43bef8())return;const _0x590f2f=await _0x247276[_0x4ac607(0x1e2)+'ig'](),_0x41baf8=syncBundledAgentRuntimeConfig(_0x590f2f,_0x318603);if(!_0x41baf8[_0x4ac607(0x1cd)])return;_0x247276[_0x4ac607(0x2a0)+_0x4ac607(0x1c8)+'andledIn'+_0x4ac607(0x1f9)](),await _0x247276['writeCon'+_0x4ac607(0x158)](_0x41baf8['config'],_0x4ac607(0x1e8)+_0x4ac607(0xed)+_0x4ac607(0x114)+_0x4ac607(0x21e)+_0x4ac607(0x136)),_0x4bdb43?.[_0x4ac607(0x2ad)]('bundled\x20'+'agent\x20ru'+'ntime\x20co'+_0x4ac607(0x21e)+_0x4ac607(0x136),{'agentCount':_0x318603[_0x4ac607(0x11d)]});}}),_0x4bdb43?.[_0x1ac783(0x2ad)](_0x1ac783(0x1e8)+_0x1ac783(0x1e3)+_0x1ac783(0x21a)),_0x4c57e3(_0x1ac783(0x2b1)+_0x1ac783(0x232),{'reason':_0x1ac783(0x157)+_0x1ac783(0x141)+_0x1ac783(0x1ca)});}catch(_0x5f4c68){const _0x3902e4=_0x5f4c68 instanceof Error?_0x5f4c68[_0x1ac783(0xe1)]||_0x5f4c68[_0x1ac783(0xf6)]:String(_0x5f4c68);_0x52c117(_0x1ac783(0x252),'bundled\x20'+'agents\x20s'+_0x1ac783(0xfc)+_0x1ac783(0x216)+_0x3902e4),_0x4bdb43?.[_0x1ac783(0x19f)](_0x1ac783(0x1e8)+'agents\x20s'+_0x1ac783(0xfc)+'ed',{'error':summarizeError(_0x5f4c68)}),console[_0x1ac783(0x19f)](_0x1ac783(0x1ab)+_0x1ac783(0x18b)+'eway]\x20bu'+_0x1ac783(0x2b3)+_0x1ac783(0x296)+'c\x20failed',_0x5f4c68);}},'onDisconnected':_0x3e9747=>{const _0x22f67d=_0x9c4014;_0x12765d?.[_0x22f67d(0x2b0)](_0x22f67d(0xb1)+'websocke'+'t\x20discon'+_0x22f67d(0xc0),{'reason':_0x3e9747}),_0x5968e7(_0x3e9747);if(_0x979e2e||!_0x35417a)return;_0xd52e3c({'health':'unknown','message':_0x22f67d(0xb1)+_0x22f67d(0x211)+_0x22f67d(0x2a5)+_0x3e9747});}});}async function _0x42c638(_0x2b8978,_0x4c64b5){const _0x34b0ab=_0x279ae3;if(_0x35417a)return;_0x2c2b90=Date[_0x34b0ab(0x183)](),_0x3fc87d(_0x34b0ab(0x2b5),_0x34b0ab(0xb1)+_0x34b0ab(0x2b5),{'health':_0x34b0ab(0x24f),'port':_0x4c64b5,'tokenPresent':!![]});const _0x3ac05f=['gateway',_0x34b0ab(0x26e),_0x34b0ab(0x22c)+_0x34b0ab(0x112)+_0x34b0ab(0xd2),_0x34b0ab(0x284),_0x2b8978,_0x34b0ab(0x1df),String(_0x4c64b5)];_0x52c117(_0x34b0ab(0x252),_0x34b0ab(0x152)+_0x34b0ab(0x10c)+_0x34b0ab(0xb8)+'llow-unc'+_0x34b0ab(0xb5)+'d\x20--toke'+_0x34b0ab(0xfb)+_0x34b0ab(0x236)+'ort\x20'+_0x4c64b5),_0x12765d?.[_0x34b0ab(0x2ad)](_0x34b0ab(0xb1)+_0x34b0ab(0x24b)+_0x34b0ab(0x1db)+_0x34b0ab(0xf1),{'args':[_0x34b0ab(0xc6),'run',_0x34b0ab(0x22c)+_0x34b0ab(0x112)+_0x34b0ab(0xd2),_0x34b0ab(0x284),_0x34b0ab(0x256)+'D]',_0x34b0ab(0x1df),String(_0x4c64b5)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x247276[_0x34b0ab(0x126)+'tateDir']()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x247276[_0x34b0ab(0x107)+'onfigPat'+'h']()),'OPENCLAW_CONFIG_FILE_NAME':_0x24e04a['openclaw']?.[_0x34b0ab(0x200)+_0x34b0ab(0x272)]??_0x34b0ab(0x1d0)+_0x34b0ab(0x146)}}),_0x35417a=await spawnClaw(_0x24e04a[_0x34b0ab(0x1fa)+'oot'],_0x3ac05f,{'env':{'OPENCLAW_STATE_DIR':_0x247276[_0x34b0ab(0x126)+_0x34b0ab(0x105)](),'OPENCLAW_CONFIG_PATH':_0x247276['resolveC'+_0x34b0ab(0x163)+'h'](),'OPENCLAW_CONFIG_FILE_NAME':_0x24e04a[_0x34b0ab(0x152)]?.[_0x34b0ab(0x200)+_0x34b0ab(0x272)]??_0x34b0ab(0x1d0)+_0x34b0ab(0x146)}}),_0x5b48af=_0x2b8978,_0x264a34=_0x4c64b5,_0x12765d?.[_0x34b0ab(0x2ad)](_0x34b0ab(0xb1)+_0x34b0ab(0x24b)+_0x34b0ab(0x1d7),{'pid':_0x35417a[_0x34b0ab(0x153)],'port':_0x264a34}),_0xd52e3c({'health':_0x34b0ab(0x24f),'port':_0x264a34,'tokenPresent':!![],'message':_0x34b0ab(0xb1)+_0x34b0ab(0x24b)+_0x34b0ab(0x23e)+_0x34b0ab(0x15e)+'\x20for\x20WS'}),await _0x5781eb(_0x2b8978,_0x4c64b5);const _0x117080=createLineBuffer({'trim':!![],'onLine':_0x1374ad=>_0x52c117('stdout',_0x1374ad)}),_0x4db73c=createLineBuffer({'trim':!![],'onLine':_0x57c7e7=>_0x52c117(_0x34b0ab(0x1cf),_0x57c7e7)});_0x35417a[_0x34b0ab(0x255)]['on'](_0x34b0ab(0x2a8),_0x2794ed=>{_0x117080['push'](_0x2794ed['toString']());}),_0x35417a[_0x34b0ab(0x1cf)]['on'](_0x34b0ab(0x2a8),_0x572cec=>{const _0x3ac6fa=_0x34b0ab;_0x4db73c[_0x3ac6fa(0x26d)](_0x572cec[_0x3ac6fa(0x214)]());}),_0x35417a['on']('error',_0x31d408=>{const _0x535560=_0x34b0ab;_0x12765d?.[_0x535560(0x19f)]('gateway\x20'+_0x535560(0x24b)+_0x535560(0x19f),{'error':summarizeError(_0x31d408)}),_0x52c117(_0x535560(0x1cf),_0x31d408 instanceof Error?_0x31d408['stack']||_0x31d408[_0x535560(0xf6)]:String(_0x31d408));}),_0x35417a['on'](_0x34b0ab(0xd5),(_0x367f45,_0x2ea863)=>{const _0x43f5d4=_0x34b0ab;_0x117080[_0x43f5d4(0x133)](),_0x4db73c['flush'](),_0x12765d?.[_0x43f5d4(0x2b0)](_0x43f5d4(0xb1)+'process\x20'+_0x43f5d4(0x149),{'pid':_0x35417a?.['pid']??null,'code':_0x367f45,'signal':_0x2ea863,'uptimeMs':_0x2c2b90?Date[_0x43f5d4(0x183)]()-_0x2c2b90:undefined}),_0x52c117(_0x43f5d4(0x252),_0x43f5d4(0xb1)+'exited\x20c'+_0x43f5d4(0x2b4)+(_0x367f45??'null')+'\x20signal='+(_0x2ea863??_0x43f5d4(0x168))),_0x35417a=null,_0x5b48af=null,_0x264a34=null,_0x3df8a9['configur'+'e'](null),_0x5968e7(_0x43f5d4(0xb1)+_0x43f5d4(0x24b)+_0x43f5d4(0x1ed));if(_0x979e2e){_0x3fc87d(_0x43f5d4(0x250),_0x43f5d4(0xb1)+_0x43f5d4(0x250),{'health':_0x43f5d4(0x24f),'port':null,'tokenPresent':![]});return;}if(_0x2c46eb){_0x3fc87d('restarti'+'ng',_0x43f5d4(0xb1)+_0x43f5d4(0x16c)+'ng',{'health':_0x43f5d4(0x24f),'port':null,'tokenPresent':![]});return;}_0x3fc87d('error','gateway\x20'+_0x43f5d4(0x254)+_0x43f5d4(0x1c6)+'dly',{'health':'unhealth'+'y','port':null,'tokenPresent':![]});});}async function _0x1831b3(){const _0x1c8251=_0x279ae3;if(_0x35417a)return;_0x979e2e=![],_0x12765d?.[_0x1c8251(0x2ad)](_0x1c8251(0xb1)+_0x1c8251(0x20a)+'er\x20start'+_0x1c8251(0x190)+'ed'),await _0x247276['ensureIn'+'itialCon'+_0x1c8251(0x158)]();const _0x2b100f=await _0x247276['isAskUse'+'rQuestio'+'nPluginE'+'nabled']();_0x2b100f?await _0x146819[_0x1c8251(0x1cb)]()[_0x1c8251(0x11e)](_0x3bbb8c=>{const _0x15ef45=_0x1c8251;_0x52c117(_0x15ef45(0x252),_0x15ef45(0x21c)+_0x15ef45(0x1b1)+_0x15ef45(0x155)+_0x15ef45(0x28d)+_0x15ef45(0x2b2)+(_0x3bbb8c instanceof Error?_0x3bbb8c[_0x15ef45(0xf6)]:String(_0x3bbb8c)));}):_0x12765d?.['info']('ask-user'+_0x1c8251(0x1b1)+_0x1c8251(0x155)+_0x1c8251(0x2c8)+_0x1c8251(0x111)+_0x1c8251(0x10f)+_0x1c8251(0xd9));await ensureOpenClawDoctorFixed(_0x24e04a,{'runtimeLogger':_0x12765d}),_0x247276[_0x1c8251(0x165)+_0x1c8251(0x128)+'es'](),_0x247276[_0x1c8251(0xb4)+_0x1c8251(0x1b7)+_0x1c8251(0x2c7)](_0x310578=>{void _0x1a245f(_0x310578);});const _0x2752ea=await _0x247276[_0x1c8251(0xcb)+_0x1c8251(0x2b6)+'tings']();_0x12765d?.[_0x1c8251(0x2ad)](_0x1c8251(0xb1)+'settings'+'\x20allocat'+'ed',{'port':_0x2752ea[_0x1c8251(0xe4)],'tokenPresent':Boolean(_0x2752ea[_0x1c8251(0x266)])}),await _0x42c638(_0x2752ea['token'],_0x2752ea['port']);}async function _0x42b68c(){const _0x4fbb8e=_0x279ae3;_0x979e2e=!![],_0x2392e4+=0x1,_0x12765d?.[_0x4fbb8e(0x2ad)](_0x4fbb8e(0xb1)+_0x4fbb8e(0x20a)+_0x4fbb8e(0x299)+'requeste'+'d',{'pid':_0x35417a?.[_0x4fbb8e(0x153)]??null,'port':_0x264a34}),_0x3df8a9[_0x4fbb8e(0x274)+'e'](null);if(_0x35417a){const _0x36a659=_0x35417a;_0x35417a=null;try{_0x36a659[_0x4fbb8e(0x17c)](_0x4fbb8e(0x23b));}catch{}const _0x5b8538=await waitForChildExit(_0x36a659,0x1388);if(!_0x5b8538){try{_0x36a659[_0x4fbb8e(0x17c)]('SIGKILL');}catch{}await waitForChildExit(_0x36a659,0x7d0);}}_0x5b48af=null,_0x264a34=null,_0x5968e7(_0x4fbb8e(0xb1)+_0x4fbb8e(0x250)),await _0x146819[_0x4fbb8e(0x291)](),_0x247276['dispose'](),_0x3fc87d(_0x4fbb8e(0x250),_0x4fbb8e(0xb1)+_0x4fbb8e(0x250),{'health':'unknown','port':null,'tokenPresent':![]}),_0x979e2e=![];}async function _0x1a245f(_0x32904b=_0x279ae3(0x1d2)+_0x279ae3(0xe3)){const _0x301b7a=_0x279ae3;if(_0x518d66)return{'ok':!![]};return _0x518d66=!![],_0x2c46eb=!![],_0x12765d?.['info']('gateway\x20'+_0x301b7a(0xc5)+_0x301b7a(0x16b)+'d',{'reason':_0x32904b}),_0x27555d=_0x27555d[_0x301b7a(0x277)](async()=>{const _0x517a5e=_0x301b7a;_0x3fc87d(_0x517a5e(0x16c)+'ng',_0x517a5e(0xb1)+_0x517a5e(0x16c)+'ng:\x20'+_0x32904b,{'health':'unknown'}),await _0x42b68c(),await _0x1831b3();})[_0x301b7a(0x24a)](()=>{_0x2c46eb=![],_0x518d66=![];}),await _0x27555d,{'ok':!![]};}async function _0x2c934e(){const _0x1a31fc=_0x279ae3,_0xed3a23=await loadRuntimeInfo(_0x24e04a[_0x1a31fc(0x1fa)+_0x1a31fc(0x132)]);return{'runtimeRoot':_0xed3a23[_0x1a31fc(0x171)+_0x1a31fc(0x132)],'openclawVersion':_0xed3a23['openclaw'+'Version'],'openclawWorkingDir':_0xed3a23[_0x1a31fc(0x152)+'WorkingD'+'ir'],'openclawBin':_0xed3a23[_0x1a31fc(0x152)+_0x1a31fc(0x1a5)],'plugins':_0xed3a23[_0x1a31fc(0x203)][_0x1a31fc(0x138)](_0x1a82a3=>({'pluginId':_0x1a82a3[_0x1a31fc(0x293)],'source':_0x1a82a3[_0x1a31fc(0x12e)],'version':_0x1a82a3[_0x1a31fc(0x1f0)],'installPath':_0x1a82a3['installP'+'ath']})),'configPath':_0x247276['resolveC'+_0x1a31fc(0x163)+'h'](),'stateDir':_0x247276[_0x1a31fc(0x126)+_0x1a31fc(0x105)](),'bundledAgentSkillsDiscovery':_0x16477a};}async function _0x48a21e(){const _0x12939a=_0x279ae3;_0x4bdb43?.['info'](_0x12939a(0xe0)+_0x12939a(0x1ef)+_0x12939a(0xc7));const _0x5dc41b=asRecord(await _0x3df8a9[_0x12939a(0x104)](_0x12939a(0xfe)+_0x12939a(0x199),{})),_0x129255=getTrimmedString(_0x5dc41b[_0x12939a(0x187)+'d'])||'main',_0x16b263=Array['isArray'](_0x5dc41b['agents'])?[..._0x5dc41b[_0x12939a(0xd8)]]:[];return{..._0x5dc41b,'defaultId':_0x129255,'agents':_0x16b263};}async function _0x525a4c(){const _0x1e416b=_0x279ae3;if(!_0x51ab16()){const _0x22c917=await readConfiguredAgentsForPendingList(_0x247276);return{'defaultId':_0x1e416b(0xf8),'mainKey':'','scope':'','pending':!![],'agents':_0x22c917[_0x1e416b(0x11d)]>0x0?_0x22c917:[createMainAgentFallback(_0x247276)]};}const _0x3f2a79=await _0x48a21e(),_0x71882a=getTrimmedString(_0x3f2a79[_0x1e416b(0x187)+'d'])||_0x1e416b(0xf8),_0x1eb614=await readConfiguredAgentsForPendingList(_0x247276),_0x23f25e=orderAgentsByConfiguredList(_0x3f2a79[_0x1e416b(0xd8)],_0x1eb614);return!_0x23f25e[_0x1e416b(0x2a2)](_0x318246=>asRecord(_0x318246)['id']===_0x1e416b(0xf8))&&_0x23f25e[_0x1e416b(0xe2)](createMainAgentFallback(_0x247276)),{..._0x3f2a79,'defaultId':_0x71882a,'agents':_0x23f25e};}async function _0x53d573(_0x4f1c71={}){const _0xde9903=_0x279ae3;await _0x594948();const _0x5d5adf=Date[_0xde9903(0x183)]();_0x47f130?.[_0xde9903(0x2ad)](_0xde9903(0x228)+'create\x20r'+_0xde9903(0x269),{'payload':summarizePayload(_0x4f1c71)});const _0x1d3a60=await _0x3df8a9[_0xde9903(0x104)]('sessions'+_0xde9903(0x237),buildSessionCreateRequestPayload(_0x4f1c71)),_0x1ec7ae=parseSessionCreateResult(_0x1d3a60);return _0x47f130?.[_0xde9903(0x2ad)](_0xde9903(0x228)+_0xde9903(0x14f)+_0xde9903(0x2c2),{'key':_0x1ec7ae['key'],'sessionId':_0x1ec7ae[_0xde9903(0xff)+'d'],'durationMs':Date[_0xde9903(0x183)]()-_0x5d5adf}),_0x176e0b({'priority':'P0','category':_0xde9903(0x143),'event':_0xde9903(0x2c1)+_0xde9903(0x134)+'ucceeded','status':_0xde9903(0x2c0)+'d','message':_0xde9903(0x228)+_0xde9903(0x2a6),'sessionKey':_0x1ec7ae[_0xde9903(0x177)],'durationMs':Date[_0xde9903(0x183)]()-_0x5d5adf,'meta':{'sessionId':_0x1ec7ae[_0xde9903(0xff)+'d'],'request':summarizePayload(_0x4f1c71,{'maxDepth':0x2})}}),_0x1ec7ae;}async function _0x66fc94(_0x5365c4={}){const _0x1a7dc4=_0x279ae3;if(!_0x51ab16())return{'pending':!![],'sessions':[],'pinnedKeys':await _0x490160[_0x1a7dc4(0x1e1)+_0x1a7dc4(0x230)+_0x1a7dc4(0x1a3)]()};const _0x19b534=Date[_0x1a7dc4(0x183)](),_0x29114c=Math[_0x1a7dc4(0x142)](0x1,Math['floor'](Number(_0x5365c4[_0x1a7dc4(0x25e)])||0x64)),_0x15abe9={'limit':_0x29114c,'includeGlobal':!![],'includeUnknown':![]},_0x5950ba=getTrimmedString(_0x5365c4[_0x1a7dc4(0x1bf)]);if(_0x5950ba)_0x15abe9['agentId']=_0x5950ba;const _0x6c3aaf=await _0x490160[_0x1a7dc4(0x20d)+_0x1a7dc4(0x2cb)+_0x1a7dc4(0x28f)+_0x1a7dc4(0x22b)](filterValidSessionList(await _0x3df8a9[_0x1a7dc4(0x104)]('sessions'+_0x1a7dc4(0x280),_0x15abe9),{'onOrphanSession':(_0x43ddb1,_0x38e577)=>_0x5b4f1a(_0x43ddb1,_0x1a7dc4(0x227)+_0x1a7dc4(0x2c1)+'id',{..._0x38e577,'agentId':_0x5950ba||_0x38e577[_0x1a7dc4(0x1bf)]||null})}));return _0x47f130?.[_0x1a7dc4(0x2ad)](_0x1a7dc4(0xf7)+_0x1a7dc4(0x21b)+_0x1a7dc4(0x243),{'payload':_0x15abe9,'count':Array[_0x1a7dc4(0x28b)](_0x6c3aaf['sessions'])?_0x6c3aaf[_0x1a7dc4(0xf7)][_0x1a7dc4(0x11d)]:0x0,'durationMs':Date[_0x1a7dc4(0x183)]()-_0x19b534}),_0x6c3aaf;}async function _0x7560ca(_0x483aa1={}){const _0x2b0269=_0x279ae3;await _0x594948();const _0xbdf579=getTrimmedString(_0x483aa1[_0x2b0269(0xd0)+'ey']??_0x483aa1[_0x2b0269(0x177)]);if(!_0xbdf579)throw new Error('sessionK'+_0x2b0269(0x1dd)+_0x2b0269(0x18f));const _0x4e6dfa=Date[_0x2b0269(0x183)](),_0x5ca84d=await _0x3df8a9[_0x2b0269(0x104)]('sessions'+_0x2b0269(0x1bd),{'key':_0xbdf579,'deleteTranscript':_0x483aa1['deleteTr'+_0x2b0269(0x290)]!==![],'emitLifecycleHooks':!![]});return await _0x490160[_0x2b0269(0x261)+_0x2b0269(0x20b)+_0x2b0269(0xf9)](_0xbdf579),_0x4f2a58({'type':_0x2b0269(0x226),'sessionKey':_0xbdf579}),_0x47f130?.[_0x2b0269(0x2ad)](_0x2b0269(0x228)+'delete\x20c'+_0x2b0269(0x2c2),{'sessionKey':_0xbdf579,'deleteTranscript':_0x483aa1[_0x2b0269(0x285)+_0x2b0269(0x290)]!==![],'durationMs':Date[_0x2b0269(0x183)]()-_0x4e6dfa}),_0x176e0b({'priority':'P0','category':_0x2b0269(0x143),'event':_0x2b0269(0x2c1)+_0x2b0269(0x1e7)+'ucceeded','status':_0x2b0269(0x2c0)+'d','message':_0x2b0269(0x228)+'deleted','sessionKey':_0xbdf579,'durationMs':Date['now']()-_0x4e6dfa,'meta':{'deleteTranscript':_0x483aa1[_0x2b0269(0x285)+'anscript']!==![]}}),_0x5ca84d;}async function _0x23bd2b(_0x4bbc79={}){const _0x53e2a3=_0x279ae3,_0x2c0e2f=getTrimmedString(_0x4bbc79[_0x53e2a3(0xd0)+'ey']??_0x4bbc79[_0x53e2a3(0x177)]);if(!_0x2c0e2f)throw new Error(_0x53e2a3(0xd0)+_0x53e2a3(0x1dd)+_0x53e2a3(0x18f));const _0x2c06d7=getTrimmedString(_0x4bbc79[_0x53e2a3(0x2bf)]??_0x4bbc79[_0x53e2a3(0xee)]??_0x4bbc79[_0x53e2a3(0x189)]);return await _0x490160[_0x53e2a3(0x167)+_0x53e2a3(0x18e)+_0x53e2a3(0x122)](_0x2c0e2f,_0x2c06d7),_0x4f2a58({'type':'renamed','sessionKey':_0x2c0e2f,'name':_0x2c06d7}),_0x47f130?.[_0x53e2a3(0x2ad)](_0x53e2a3(0x228)+_0x53e2a3(0x1ec)+_0x53e2a3(0x2c2),{'sessionKey':_0x2c0e2f,'hasName':Boolean(_0x2c06d7),'name':_0x2c06d7?summarizeText(_0x2c06d7,0x50):undefined}),_0x176e0b({'priority':'P0','category':_0x53e2a3(0x143),'event':_0x53e2a3(0x2c1)+'rename.s'+_0x53e2a3(0x150),'status':_0x53e2a3(0x2c0)+'d','message':_0x53e2a3(0x228)+_0x53e2a3(0x109),'sessionKey':_0x2c0e2f,'inputSummary':_0x2c06d7?summarizeText(_0x2c06d7,0x50):undefined,'meta':{'hasName':Boolean(_0x2c06d7)}}),{'ok':!![]};}async function _0x286de3(_0x1621dd,_0x3fb65c){const _0xf93ca5=_0x279ae3;await _0x594948();const _0x5d2bf8=getTrimmedString(_0x1621dd),_0xcff656=getTrimmedString(_0x3fb65c);if(!_0x5d2bf8)throw new Error(_0xf93ca5(0x228)+_0xf93ca5(0xbd)+_0xf93ca5(0x2c9));if(!_0xcff656)throw new Error(_0xf93ca5(0x113)+_0xf93ca5(0x13c)+_0xf93ca5(0x17f));const _0x1bd1c0=asRecord(await _0x3df8a9[_0xf93ca5(0x104)](_0xf93ca5(0xf7)+_0xf93ca5(0x249),{'key':_0x5d2bf8,'model':_0xcff656})),_0xcb3de9=asRecord(_0x1bd1c0[_0xf93ca5(0x10a)]);return{'ok':!![],'key':getTrimmedString(_0x1bd1c0[_0xf93ca5(0x177)])||_0x5d2bf8,'modelRef':_0xcff656,'resolved':{'modelProvider':getTrimmedString(_0xcb3de9['modelPro'+'vider'])||null,'model':getTrimmedString(_0xcb3de9[_0xf93ca5(0x222)])||null,'agentRuntime':_0xcb3de9['agentRun'+'time']}};}async function _0x1d7f28(_0x54c450=[]){const _0x5431cd=_0x279ae3,_0x1a00fe=await _0x490160[_0x5431cd(0x10b)+'dSession'+_0x5431cd(0x1a3)](Array[_0x5431cd(0x28b)](_0x54c450)?_0x54c450[_0x5431cd(0x138)](getTrimmedString)[_0x5431cd(0x19c)](Boolean):[]);return _0x4f2a58({'type':_0x5431cd(0x17e)+_0x5431cd(0x286)+'ted','pinnedKeys':_0x1a00fe[_0x5431cd(0x22f)+'ys']}),_0x47f130?.[_0x5431cd(0x2ad)](_0x5431cd(0x228)+_0x5431cd(0x262)+_0x5431cd(0x154)+_0x5431cd(0x169),{'count':_0x1a00fe[_0x5431cd(0x22f)+'ys'][_0x5431cd(0x11d)]}),_0x176e0b({'priority':'P0','category':_0x5431cd(0x143),'event':_0x5431cd(0x2c1)+_0x5431cd(0x137)+_0x5431cd(0xd1)+'eded','status':_0x5431cd(0x2c0)+'d','message':_0x5431cd(0x228)+_0x5431cd(0x262)+'eys\x20upda'+'ted','meta':{'count':_0x1a00fe[_0x5431cd(0x22f)+'ys']['length']}}),_0x1a00fe;}async function _0x316f8d(){const _0xd1f2a=_0x279ae3,_0x2b35a5=join(_0x247276[_0xd1f2a(0x126)+'tateDir'](),_0xd1f2a(0x1b2)+'e');return{'path':_0x2b35a5,'exists':Boolean(await stat(_0x2b35a5)['catch'](()=>null))};}async function _0x4637a4(){const _0x207319=_0x279ae3;return readSharedContext(join(_0x247276[_0x207319(0x126)+_0x207319(0x105)](),_0x207319(0x1b2)+'e'));}async function _0x25665b(_0x2f8157={}){const _0x594126=_0x279ae3;return _0x4bdb43?.['info'](_0x594126(0x1b2)+_0x594126(0x28c)+_0x594126(0x18c)+'\x20write\x20r'+'equested',{'files':Object[_0x594126(0x1bc)](sanitizeSharedContextPayload(_0x2f8157))}),writeSharedContext(join(_0x247276[_0x594126(0x126)+_0x594126(0x105)](),_0x594126(0x1b2)+'e'),_0x2f8157);}async function _0x48bb87(_0x48a741={}){const _0x2c91e1=_0x279ae3;if(!_0x51ab16())return{'pending':!![],'jobs':[],'hasMore':![],'nextOffset':0x0};return await _0x3df8a9[_0x2c91e1(0x104)](_0x2c91e1(0x1fe)+'t',_0x48a741);}async function _0x2411e0(_0x4e781b={}){const _0x20cd43=_0x279ae3;await _0x594948();const _0x4c650c=await _0x3df8a9['request']('cron.add',normalizeCronMutationParams(_0x4e781b));return _0x49e864({'reason':_0x20cd43(0x100)+'nged'}),_0x4c650c;}async function _0x13b944(_0x2203a5={}){const _0xc1d0f6=_0x279ae3;await _0x594948();const _0x4a9c1b=getTrimmedString(_0x2203a5[_0xc1d0f6(0xde)]??_0x2203a5['id']);if(!_0x4a9c1b)throw new Error('jobId\x20is'+_0xc1d0f6(0x1d5)+'d');const _0x342b71=asRecord(_0x2203a5[_0xc1d0f6(0x1da)]),_0x9f30bd=Object[_0xc1d0f6(0x1bc)](_0x342b71)['length']>0x0?_0x342b71:{..._0x2203a5};delete _0x9f30bd['jobId'],delete _0x9f30bd['id'];const _0x3a80a7=await _0x3df8a9[_0xc1d0f6(0x104)](_0xc1d0f6(0x123)+_0xc1d0f6(0xe7),{'jobId':_0x4a9c1b,'patch':normalizeCronMutationParams(_0x9f30bd)});return _0x49e864({'reason':'cron-cha'+_0xc1d0f6(0x14b)}),_0x3a80a7;}async function _0x266c5e(_0x27d9f5={}){const _0x442533=_0x279ae3;await _0x594948();const _0x5ed878=getTrimmedString(_0x27d9f5[_0x442533(0xde)]??_0x27d9f5['id']);if(!_0x5ed878)throw new Error(_0x442533(0x220)+_0x442533(0x1d5)+'d');const _0x2fb17f=await _0x3df8a9['request']('cron.rem'+_0x442533(0x289),{'jobId':_0x5ed878});return _0x49e864({'reason':_0x442533(0x100)+'nged'}),_0x2fb17f;}async function _0x47e88e(_0x40d2e5={}){const _0x55148e=_0x279ae3;await _0x594948();const _0x461f46=getTrimmedString(_0x40d2e5[_0x55148e(0xde)]??_0x40d2e5['id']);if(!_0x461f46)throw new Error(_0x55148e(0x220)+_0x55148e(0x1d5)+'d');const _0x1831e4=await _0x3df8a9[_0x55148e(0x104)](_0x55148e(0x21f),{'jobId':_0x461f46}),_0x29b744=getTrimmedString(asRecord(_0x1831e4)[_0x55148e(0xd0)+'ey']);if(_0x29b744)_0x4f2a58({'sessionKey':_0x29b744,'state':_0x55148e(0xdf)});else _0x49e864({'reason':_0x55148e(0xba)});return _0x1831e4;}async function _0x2d1456(_0x3c168b={}){const _0x3e82b0=_0x279ae3;return await _0x594948(),await _0x3df8a9['request'](_0x3e82b0(0x21f)+'s',_0x3c168b);}async function _0x13aa11(_0x237900={}){const _0x53788e=_0x279ae3;await _0x594948();const _0x52161c=Date[_0x53788e(0x183)]();_0x4bdb43?.['info'](_0x53788e(0x1a2)+'stall\x20re'+'quested',{'payload':summarizePayload(_0x237900)});try{const _0x277f1d=await _0x3df8a9[_0x53788e(0x104)](_0x53788e(0x206)+'nstall',_0x237900);return _0x4bdb43?.[_0x53788e(0x2ad)](_0x53788e(0x1a2)+_0x53788e(0x182)+_0x53788e(0x243),{'durationMs':Date[_0x53788e(0x183)]()-_0x52161c,'result':summarizePayload(_0x277f1d,{'maxDepth':0x2})}),_0x277f1d;}catch(_0x45b2ba){_0x4bdb43?.[_0x53788e(0x19f)](_0x53788e(0x1a2)+_0x53788e(0x26b)+_0x53788e(0x10d),{'durationMs':Date['now']()-_0x52161c,'error':summarizeError(_0x45b2ba)});const _0x2fbdba=_0x45b2ba instanceof Error?_0x45b2ba[_0x53788e(0xf6)]:String(_0x45b2ba);throw new Error(_0x53788e(0x1c0)+_0x2fbdba);}}async function _0x8e3e76(_0x3fc6e1={}){const _0x56b3dd=_0x279ae3;_0x4bdb43?.['info'](_0x56b3dd(0xfd)+_0x56b3dd(0xc4)+'uested',{'payload':summarizePayload(_0x3fc6e1)});throw new Error('skills.u'+_0x56b3dd(0x25b)+_0x56b3dd(0x106)+_0x56b3dd(0x2ab)+_0x56b3dd(0x242)+_0x56b3dd(0x1a7)+_0x56b3dd(0xd4)+'eway');}async function _0x5b92f1(_0x4626e2={}){const _0x2d7cb4=_0x279ae3;_0x4bdb43?.[_0x2d7cb4(0x2ad)](_0x2d7cb4(0x25f)+'lete\x20req'+'uested',{'payload':summarizePayload(_0x4626e2)});throw new Error(_0x2d7cb4(0xe5)+'elete\x20is'+_0x2d7cb4(0x106)+_0x2d7cb4(0x2ab)+_0x2d7cb4(0x242)+_0x2d7cb4(0x1a7)+_0x2d7cb4(0xd4)+_0x2d7cb4(0x2b8));}async function _0x494706(_0x159794={}){const _0x2300ae=_0x279ae3;await _0x594948();const _0x583d2b=getTrimmedString(_0x159794[_0x2300ae(0xd0)+'ey']),_0x26e295=getTrimmedString(_0x159794['message']),_0x46170a=getTrimmedString(_0x159794[_0x2300ae(0x1f5)+'d'])||randomUUID();if(!_0x583d2b)throw new Error(_0x2300ae(0xd0)+_0x2300ae(0x1dd)+_0x2300ae(0x18f));if(!_0x26e295)throw new Error(_0x2300ae(0xd6)+_0x2300ae(0x160)+_0x2300ae(0x29f));const _0x169dc2=Date[_0x2300ae(0x183)]();_0x113a59?.[_0x2300ae(0x2ad)](_0x2300ae(0x25d)+_0x2300ae(0x18a)+'ested',{'requestId':_0x46170a,'sessionKey':_0x583d2b,'message':summarizeText(_0x26e295),'filePaths':summarizeFilePaths(_0x159794[_0x2300ae(0x1f6)+'s'])}),_0x176e0b({'priority':'P0','category':_0x2300ae(0x173),'event':'user_inp'+_0x2300ae(0xb6)+'ved','status':_0x2300ae(0x16b)+'d','message':_0x2300ae(0x1c9)+'ut\x20recei'+_0x2300ae(0x11c),'sessionKey':_0x583d2b,'runId':_0x46170a,'agentId':getTrimmedString(_0x159794[_0x2300ae(0x1bf)]),'inputSummary':summarizeText(_0x26e295,0xc8),'attachments':summarizeUserEventAttachments(_0x159794),'meta':{'requestId':_0x46170a,'source':getTrimmedString(_0x159794['source'])||_0x2300ae(0x1f1)}});const _0x1bbba0=_0x11295b(),_0x42af19={'runId':_0x46170a,'requestId':_0x46170a,'sessionKey':_0x583d2b,'outputText':'','startedAt':_0x169dc2,'started':![],'agentId':getTrimmedString(_0x159794[_0x2300ae(0x1bf)]),..._0x1bbba0};_0x9a5288[_0x2300ae(0x1f8)](_0x46170a,_0x42af19);const _0x284312=_0x5b5c2d[_0x2300ae(0x119)](_0x42af19);try{if(_0x284312){_0x113a59?.['info'](_0x2300ae(0x25d)+'eam\x20queu'+'ed\x20behin'+'d\x20active'+_0x2300ae(0x26c),{'requestId':_0x46170a,'sessionKey':_0x583d2b,'previousRequestId':_0x284312[_0x2300ae(0x1f5)+'d'],'previousRunId':_0x284312[_0x2300ae(0x29c)]}),await _0x284312['settled'];if(!_0x9a5288['has'](_0x46170a))return{'ok':!![],'requestId':_0x46170a};}const {attachments:_0x195b33,historyMediaLines:_0x47d897}=await buildAttachments(Array[_0x2300ae(0x28b)](_0x159794[_0x2300ae(0x1f6)+'s'])?_0x159794[_0x2300ae(0x1f6)+'s']:[],{'sessionKey':_0x583d2b,'stateDir':_0x247276[_0x2300ae(0x126)+_0x2300ae(0x105)](),'onWarn':_0x59c58e=>_0x113a59?.[_0x2300ae(0x2b0)](_0x2300ae(0x120)+_0x2300ae(0x1b9)+_0x2300ae(0x124)+_0x2300ae(0x221),{'requestId':_0x46170a,'sessionKey':_0x583d2b,'warning':_0x59c58e})}),_0x548363=_0x47d897[_0x2300ae(0x11d)]>0x0?_0x26e295+'\x0a'+_0x47d897[_0x2300ae(0x27e)]('\x0a'):_0x26e295;_0x113a59?.['info'](_0x2300ae(0x120)+_0x2300ae(0x175)+_0x2300ae(0x101)+'d',{'requestId':_0x46170a,'sessionKey':_0x583d2b,'attachmentCount':_0x195b33[_0x2300ae(0x11d)],'historyMediaLineCount':_0x47d897[_0x2300ae(0x11d)],'attachments':_0x195b33[_0x2300ae(0x138)](_0xa2b9a5=>({'type':_0xa2b9a5[_0x2300ae(0x178)],'mimeType':_0xa2b9a5[_0x2300ae(0x24c)],'fileName':_0xa2b9a5[_0x2300ae(0x127)],'contentLength':_0xa2b9a5['content'][_0x2300ae(0x11d)]}))}),_0x176e0b({'priority':'P0','category':_0x2300ae(0x173),'event':_0x2300ae(0x218)+_0x2300ae(0x184)+_0x2300ae(0x10e),'status':_0x2300ae(0x2c0)+'d','message':_0x2300ae(0x120)+_0x2300ae(0x175)+'\x20prepare'+'d','sessionKey':_0x583d2b,'runId':_0x46170a,'agentId':getTrimmedString(_0x159794[_0x2300ae(0x1bf)]),'attachments':{'count':_0x195b33[_0x2300ae(0x11d)],'types':[...new Set(_0x195b33['map'](_0x2b89b4=>_0x2b89b4[_0x2300ae(0x24c)]||_0x2b89b4['type'])[_0x2300ae(0x19c)](Boolean))],'files':_0x195b33['slice'](0x0,0xa)[_0x2300ae(0x138)](_0x1fd8c1=>({'type':_0x1fd8c1[_0x2300ae(0x178)],'mimeType':_0x1fd8c1[_0x2300ae(0x24c)],'fileName':_0x1fd8c1['fileName'],'contentLength':_0x1fd8c1['content']['length']})),'truncated':_0x195b33['length']>0xa},'meta':{'historyMediaLineCount':_0x47d897['length'],'requestId':_0x46170a}});const _0x5efc5d=asRecord(await _0x3df8a9[_0x2300ae(0x104)](_0x2300ae(0xbf)+'d',{'sessionKey':_0x583d2b,'message':_0x548363,'deliver':![],'idempotencyKey':_0x46170a,..._0x195b33[_0x2300ae(0x11d)]>0x0?{'attachments':_0x195b33}:{}})),_0x2df5c0=getTrimmedString(_0x5efc5d[_0x2300ae(0x29c)])||_0x46170a,_0x50ea93=_0x9a5288[_0x2300ae(0x19b)](_0x46170a);if(!_0x50ea93)return{'ok':!![],'requestId':_0x46170a,'runId':_0x2df5c0};return _0x50ea93[_0x2300ae(0x1d7)]=!![],_0x2df5c0!==_0x50ea93[_0x2300ae(0x29c)]&&(_0x9a5288['delete'](_0x50ea93[_0x2300ae(0x29c)]),_0x50ea93[_0x2300ae(0x29c)]=_0x2df5c0,_0x9a5288[_0x2300ae(0x1f8)](_0x2df5c0,_0x50ea93)),_0xa240bb[_0x2300ae(0x1f8)](_0x583d2b,_0x2df5c0),_0x2af14f({'requestId':_0x46170a,'sessionKey':_0x583d2b,'type':_0x2300ae(0x1d7)}),_0x113a59?.[_0x2300ae(0x2ad)](_0x2300ae(0x25d)+_0x2300ae(0x13a)+'pted\x20by\x20'+'gateway',{'requestId':_0x46170a,'runId':_0x2df5c0,'sessionKey':_0x583d2b,'durationMs':Date[_0x2300ae(0x183)]()-_0x169dc2,'status':_0x5efc5d[_0x2300ae(0x26a)]}),_0x176e0b({'priority':'P0','category':_0x2300ae(0x173),'event':_0x2300ae(0x288)+_0x2300ae(0x205)+'pted','status':_0x5efc5d[_0x2300ae(0x26a)]===_0x2300ae(0x19f)?'failed':_0x2300ae(0xca),'level':_0x5efc5d[_0x2300ae(0x26a)]===_0x2300ae(0x19f)?_0x2300ae(0x19f):_0x2300ae(0x2ad),'message':'chat\x20str'+_0x2300ae(0x13a)+_0x2300ae(0x125)+_0x2300ae(0xc6),'sessionKey':_0x583d2b,'runId':_0x2df5c0,'agentId':getTrimmedString(_0x159794[_0x2300ae(0x1bf)]),'visibleError':_0x5efc5d[_0x2300ae(0x26a)]===_0x2300ae(0x19f)?getTrimmedString(_0x5efc5d[_0x2300ae(0x25c)+'sage'])||'gateway\x20'+'chat\x20fai'+_0x2300ae(0xd9):undefined,'durationMs':Date[_0x2300ae(0x183)]()-_0x169dc2,'captureIncident':_0x5efc5d[_0x2300ae(0x26a)]===_0x2300ae(0x19f),'meta':{'requestId':_0x46170a,'gatewayStatus':_0x5efc5d['status']}}),_0x5efc5d[_0x2300ae(0x26a)]===_0x2300ae(0x19f)&&_0x4fbb48(_0x50ea93,_0x2300ae(0x19f),getTrimmedString(_0x5efc5d['errorMes'+_0x2300ae(0xbb)])||_0x2300ae(0xb1)+_0x2300ae(0x298)+_0x2300ae(0xd9)),{'ok':!![],'requestId':_0x46170a,'runId':_0x2df5c0,'response':_0x5efc5d};}catch(_0x30b0be){const _0x2ad176=_0x3b5c4c(_0x46170a),_0x599111=_0x30b0be instanceof Error?_0x30b0be[_0x2300ae(0xf6)]:String(_0x30b0be);_0x113a59?.['error'](_0x2300ae(0x25d)+'eam\x20fail'+'ed',{'requestId':_0x46170a,'sessionKey':_0x583d2b,'durationMs':Date[_0x2300ae(0x183)]()-_0x169dc2,'error':summarizeError(_0x30b0be)}),_0x176e0b({'priority':'P0','category':_0x2300ae(0x173),'event':_0x2300ae(0x288)+_0x2300ae(0x195)+'ed','status':'failed','level':_0x2300ae(0x19f),'message':_0x2300ae(0x25d)+_0x2300ae(0x148)+'ed','sessionKey':_0x583d2b,'runId':_0x2ad176?.['runId']||_0x46170a,'agentId':getTrimmedString(_0x159794[_0x2300ae(0x1bf)]),'inputSummary':summarizeText(_0x26e295,0xc8),'attachments':summarizeUserEventAttachments(_0x159794),'visibleError':_0x599111,'durationMs':Date['now']()-_0x169dc2,'captureIncident':!![],'meta':{'requestId':_0x46170a,'error':summarizeError(_0x30b0be)}});if(_0x2ad176)_0x4fbb48(_0x2ad176,'error',_0x599111);else _0x2af14f({'requestId':_0x46170a,'sessionKey':_0x583d2b,'type':_0x2300ae(0x19f),'message':_0x599111});throw _0x30b0be;}}async function _0x53abb6(_0x999ad9={}){const _0x22e357=_0x279ae3;_0x5cbf92();const _0x51b59c=getTrimmedString(_0x999ad9[_0x22e357(0xd0)+'ey']);if(!_0x51b59c)throw new Error(_0x22e357(0xd0)+_0x22e357(0x1dd)+_0x22e357(0x18f));const _0x5b5e1d=Date[_0x22e357(0x183)](),_0x5313e1=_0x3b5c4c(getTrimmedString(_0x999ad9['requestI'+'d']))??_0x47a508(_0x51b59c),_0x55e1ab=_0xa240bb[_0x22e357(0x19b)](_0x51b59c),_0x17c029={'sessionKey':_0x51b59c};if(_0x5313e1?.[_0x22e357(0x29c)])_0x17c029[_0x22e357(0x29c)]=_0x5313e1['runId'];else{if(_0x55e1ab)_0x17c029[_0x22e357(0x29c)]=_0x55e1ab;}const _0xd47aa4=await _0x3df8a9[_0x22e357(0x104)](_0x22e357(0x2c4)+'rt',_0x17c029);if(_0x5313e1)_0x4fbb48(_0x5313e1,'done');return _0x113a59?.[_0x22e357(0x2ad)]('chat\x20abo'+_0x22e357(0xec)+_0x22e357(0x229),{'sessionKey':_0x51b59c,'requestId':getTrimmedString(_0x999ad9[_0x22e357(0x1f5)+'d']),'runId':_0x17c029[_0x22e357(0x29c)],'durationMs':Date[_0x22e357(0x183)]()-_0x5b5e1d}),_0xd47aa4;}async function _0x45db77(_0x43234d={}){const _0x2f70bd=_0x279ae3,_0xc67d00=getTrimmedString(_0x43234d[_0x2f70bd(0xd0)+'ey']);if(!_0xc67d00)throw new Error('sessionK'+_0x2f70bd(0x1dd)+'quired');const _0x2adf8a=Math[_0x2f70bd(0x142)](0x1,Math[_0x2f70bd(0x170)](Number(_0x43234d[_0x2f70bd(0x25e)])||0xc8)),_0x4137f1=getTrimmedString(_0x43234d[_0x2f70bd(0x151)])||null;if(!_0x51ab16())return{'messages':[],'limit':_0x2adf8a,'hasMore':![],'nextCursor':null};const _0x2a38c8={'sessionKey':_0xc67d00,'limit':_0x2adf8a};if(_0x4137f1)_0x2a38c8[_0x2f70bd(0x151)]=_0x4137f1;let _0x2c8835;try{_0x2c8835=await _0x3df8a9[_0x2f70bd(0x104)]('chat.his'+_0x2f70bd(0xc2),_0x2a38c8);}catch(_0x36de2c){if(isChatHistoryNotFoundError(_0x36de2c)){_0x5b4f1a(_0xc67d00,_0x2f70bd(0x29d)+_0x2f70bd(0x11f)+'d',{'cursorPresent':Boolean(_0x4137f1),'limit':_0x2adf8a,'source':getTrimmedString(_0x43234d[_0x2f70bd(0x12e)])||null});if(BACKGROUND_CHAT_HISTORY_SOURCES[_0x2f70bd(0xf4)](getTrimmedString(_0x43234d[_0x2f70bd(0x12e)])))return createEmptyChatHistoryResult(_0x2adf8a);}throw _0x36de2c;}return _0x113a59?.['info'](_0x2f70bd(0x2c6)+_0x2f70bd(0x180)+_0x2f70bd(0x2c5),{'sessionKey':_0xc67d00,'limit':_0x2adf8a,'cursorPresent':Boolean(_0x4137f1),'result':summarizePayload(_0x2c8835,{'maxDepth':0x2})}),_0x2c8835;}async function _0x159d07(_0x5c1f35=''){const _0x5a2efb=_0x279ae3;if(!_0x51ab16())return{'pending':!![],'skills':[]};const _0x7cd5d=getTrimmedString(_0x5c1f35),_0x47a283=await _0x3df8a9[_0x5a2efb(0x104)](_0x5a2efb(0x15d)+_0x5a2efb(0x1d4),_0x7cd5d?{'agentId':_0x7cd5d}:{}),_0x2ec0ed=await _0x247276['readConf'+'ig']()[_0x5a2efb(0x11e)](()=>({})),_0x261508=await _0x26c535['mapSkill'+_0x5a2efb(0x1e9)](_0x47a283),_0x321924=applySkillConfigStateToStatus(_0x261508,_0x2ec0ed),_0x73f567=filterSkillsForAgent(_0x321924,_0x2ec0ed,_0x7cd5d,_0x16477a);return _0x4bdb43?.[_0x5a2efb(0x2ad)](_0x5a2efb(0x191)+_0x5a2efb(0x210)+_0x5a2efb(0x13e),{'agentId':_0x7cd5d||_0x5a2efb(0x14a),'result':summarizePayload(_0x73f567,{'maxDepth':0x2})}),_0x73f567;}return{'on':_0xd946f6,'start':_0x1831b3,'stop':_0x42b68c,'restart':_0x1a245f,'runtimeInfo':_0x2c934e,'gatewayToken':()=>_0x5b48af||'','gatewayPort':()=>_0x264a34||0x0,'getStatus':()=>_0x1673e0,'getRecentLogs':_0x510726,'answerAskUserQuestion':_0x56902b=>_0x146819['answer'](_0x56902b),'agents':{'list':_0x525a4c},'skills':{'status':_0x159d07,'install':_0x13aa11,'update':_0x8e3e76,'delete':_0x5b92f1},'sessions':{'create':_0x53d573,'list':_0x66fc94,'delete':_0x7560ca,'rename':_0x23bd2b,'patchModel':_0x286de3,'reorderPinned':_0x1d7f28},'workspace':{'directoryInfo':_0x316f8d,'sharedContext':_0x4637a4,'writeSharedContext':_0x25665b},'cron':{'list':_0x48bb87,'create':_0x2411e0,'update':_0x13b944,'remove':_0x266c5e,'runOnce':_0x47e88e,'logs':_0x2d1456},'models':{'settings':()=>_0x247276[_0x279ae3(0x2a4)+_0x279ae3(0x1a9)](),'setSettings':async(_0x3c86fe={})=>{const _0x30371e=_0x279ae3,_0x1fe7d8=_0x3c86fe?.['restartO'+'nChange']!==![];return await _0x247276[_0x30371e(0x273)+_0x30371e(0x1a9)](_0x3c86fe,{'restartOnChange':_0x1fe7d8}),_0x247276[_0x30371e(0x2a4)+'Settings']();},'setSelectedModelEverywhere':async(_0x1a0594={})=>{const _0x4b985c=_0x279ae3,_0x1d9a2d=await _0x247276[_0x4b985c(0xf0)+_0x4b985c(0x15f)+_0x4b985c(0x27f)+_0x4b985c(0x253)](_0x1a0594),_0xd96a05=getTrimmedString(_0x1a0594[_0x4b985c(0xd0)+'ey']);if(!_0xd96a05)return{'ok':!![],'modelRef':_0x1d9a2d['modelRef'],'defaultPersisted':!![],'currentSessionApplied':![],'effectiveFrom':_0x4b985c(0x186)+_0x4b985c(0x1bb),'sessionKey':null};try{const _0x334dae=await _0x286de3(_0xd96a05,_0x1d9a2d[_0x4b985c(0x248)]);return{'ok':!![],'modelRef':_0x1d9a2d[_0x4b985c(0x248)],'defaultPersisted':!![],'currentSessionApplied':!![],'effectiveFrom':_0x4b985c(0x281)+_0x4b985c(0xbb),'sessionKey':_0x334dae[_0x4b985c(0x177)]};}catch(_0x8dbbe8){if(_0x1a0594['allowGat'+_0x4b985c(0x239)+_0x4b985c(0x11b)+_0x4b985c(0x162)])return void _0x1a245f(_0x4b985c(0x1c5)+_0x4b985c(0x131)+_0x4b985c(0xda)+'dated'),{'ok':!![],'modelRef':_0x1d9a2d[_0x4b985c(0x248)],'defaultPersisted':!![],'currentSessionApplied':![],'effectiveFrom':_0x4b985c(0xd3)+_0x4b985c(0x238),'sessionKey':_0xd96a05,'sessionPatchError':_0x8dbbe8 instanceof Error?_0x8dbbe8[_0x4b985c(0xf6)]:String(_0x8dbbe8),'gatewayRestartRequested':!![]};return{'ok':!![],'modelRef':_0x1d9a2d['modelRef'],'defaultPersisted':!![],'currentSessionApplied':![],'effectiveFrom':_0x4b985c(0x186)+_0x4b985c(0x1bb),'sessionKey':_0xd96a05,'sessionPatchError':_0x8dbbe8 instanceof Error?_0x8dbbe8[_0x4b985c(0xf6)]:String(_0x8dbbe8)};}},'setSelfOperatedModels':_0x444f07=>_0x247276['setSelfO'+'peratedM'+_0x279ae3(0x102)](_0x444f07),'selectedModelId':async()=>{const _0x3fa828=_0x279ae3,_0x158c4b=await _0x247276[_0x3fa828(0x2a4)+_0x3fa828(0x1a9)]();return _0x158c4b[_0x3fa828(0x19e)]&&_0x158c4b[_0x3fa828(0x135)+'e']?_0x158c4b[_0x3fa828(0x19e)]+'/'+_0x158c4b[_0x3fa828(0x135)+'e']:'';},'customModels':async()=>{const _0x3ff851=_0x279ae3;return _0x247276[_0x3ff851(0x1f3)+_0x3ff851(0x25a)]();},'saveCustomModel':async _0x5290d4=>{const _0x5e26b2=_0x279ae3;return _0x247276[_0x5e26b2(0x201)+'omModel'](_0x5290d4);},'deleteCustomModel':async(_0x9b04b={})=>{const _0x28fe3f=_0x279ae3,_0xc1fb78=typeof _0x9b04b===_0x28fe3f(0xc3)?{'id':_0x9b04b}:asRecord(_0x9b04b),_0x18adc=await _0x247276['deleteCu'+'stomMode'+'l'](_0xc1fb78),_0x3ce66c=getTrimmedString(_0xc1fb78[_0x28fe3f(0xd0)+'ey']);if(!_0x18adc[_0x28fe3f(0x248)]||!_0x3ce66c)return{'ok':!![],'id':_0x18adc['id'],'models':_0x18adc[_0x28fe3f(0x1f2)],'modelRef':_0x18adc[_0x28fe3f(0x248)],'currentSessionApplied':![],'effectiveFrom':_0x28fe3f(0x186)+_0x28fe3f(0x1bb),'sessionKey':_0x3ce66c||null};try{const _0x5a0114=await _0x286de3(_0x3ce66c,_0x18adc['modelRef']);return{'ok':!![],'id':_0x18adc['id'],'models':_0x18adc['models'],'modelRef':_0x18adc['modelRef'],'currentSessionApplied':!![],'effectiveFrom':_0x28fe3f(0x281)+_0x28fe3f(0xbb),'sessionKey':_0x5a0114['key']};}catch(_0x332d07){return{'ok':!![],'id':_0x18adc['id'],'models':_0x18adc[_0x28fe3f(0x1f2)],'modelRef':_0x18adc[_0x28fe3f(0x248)],'currentSessionApplied':![],'effectiveFrom':_0x28fe3f(0x186)+'ion','sessionKey':_0x3ce66c,'sessionPatchError':_0x332d07 instanceof Error?_0x332d07['message']:String(_0x332d07)};}}},'config':{'read':()=>_0x247276[_0x279ae3(0x1e2)+'igRaw']()},'chat':{'stream':_0x494706,'abort':_0x53abb6,'history':_0x45db77}};}
@@ -1 +1 @@
1
- const _0x2d0baa=_0x4559;(function(_0x3f6100,_0x115a24){const _0x2ed6ee=_0x4559,_0x9af0af=_0x3f6100();while(!![]){try{const _0x4319d1=parseInt(_0x2ed6ee(0x153))/0x1*(parseInt(_0x2ed6ee(0x154))/0x2)+-parseInt(_0x2ed6ee(0x89))/0x3*(parseInt(_0x2ed6ee(0x92))/0x4)+parseInt(_0x2ed6ee(0x12e))/0x5*(-parseInt(_0x2ed6ee(0x86))/0x6)+-parseInt(_0x2ed6ee(0x145))/0x7*(-parseInt(_0x2ed6ee(0xa3))/0x8)+parseInt(_0x2ed6ee(0xc4))/0x9+parseInt(_0x2ed6ee(0x88))/0xa+parseInt(_0x2ed6ee(0x14e))/0xb;if(_0x4319d1===_0x115a24)break;else _0x9af0af['push'](_0x9af0af['shift']());}catch(_0x33d8e1){_0x9af0af['push'](_0x9af0af['shift']());}}}(_0x55ab,0xab813));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';function _0x4559(_0x23dfe5,_0x3b604e){_0x23dfe5=_0x23dfe5-0x75;const _0x55ab6b=_0x55ab();let _0x455905=_0x55ab6b[_0x23dfe5];return _0x455905;}import{dirname}from'node:path';import _0xe20406 from'ws';function _0x55ab(){const _0x23ee8b=['failed:\x20','yCheck','queueCon','delete','y_schedu','63488irhVqK','fore_rea','nMessage','DateTime','nected','pt_start','clearRec','payload','config','agent','object','.admin','der','pem','eout','ateway\x20i','connect\x20','120LpOApN','t\x20config','publicKe','e\x20missin','fromChar','error','connect','WS\x20error','Event','ssage','connectA','clientVe','gateway\x20','nding','tewayRea','ay_ready','WS\x20disco','locale','resolved','spki','parse','token','istening','operator','nEvent','viceFami','device\x20i','pt_faile','export','onnectTi','lReady','code=','once','6464097ZFvMPF','WS\x20hands','.read','session.','waitUnti','lengeTim','is\x20not\x20l','resolveR','.approva','t\x20restar','vent','terminat','ws_conne','unavaila','06032b65','o\x20load\x20g','connectC','pTiming','splayNam','ct_retry','sconnect','ers','entries','status','yPem','adyWaite','role','_schedul','hex','equest','clientDe','eyPem','70032100','base64','OPEN','nal','tBackoff','trim','send','charCode','connecte','rejectRe','sendConn','clientDi','losed_be','reconnec','rejectPe','timeout','Code','stringif','subarray','ent','mer','nnected','filter','eadyWait','Options','update','nectChal','now','ws_start','failed','failed\x20t','ct_attem','request\x20','med\x20out','req','led','get','hallenge','pkcs8','onSessio','stop','string','o\x20send\x20g','restart','replace','d\x20(','connectN','reject','ting','onChatEv','WS\x20conne','replaceA','ction\x20ti','removeAl','connect.','ws_gatew','clearTim','length','tTimer','t:\x20','sessions','.write','push','WS\x20is\x20no','expectFi','handleMe','wujie-sh','_retry_n','connectS','test','clientId','socket_c','sing\x20non','accepted','35qejPQS','Path','deviceId','ters','shouldRe','challeng','dentity\x20','close','onDiscon','type','WS\x20clien','slice','pending','configur','equals','gateway_','rsion','signedAt','event','nonce','identity','\x20yet','ttempt','290283phyLjy','join','ted','notifyGa','resolve','message','set','way\x20设备身份','.changed','6843496KibgFF','t\x20stoppe','privateK','open','onStartu','7433cfjSsy','212RnKWYy','artedAt','clientMo','utf8','g\x20nonce','platform','ed25519','toString','Timer','handleDi','entity','readyWai','hake\x20mis','request','ateway\x20r','timeoutM','onConnec','from','302a3005','1086960MJRdDf','ttemptSt','1091330IyDqhq','168ArXydl','chat','ble','url'];_0x55ab=function(){return _0x23ee8b;};return _0x55ab();}const ED25519_SPKI_PREFIX=Buffer['from'](_0x2d0baa(0x85)+_0x2d0baa(0xd2)+_0x2d0baa(0xe4),_0x2d0baa(0xe0)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g,INITIAL_RECONNECT_BACKOFF_MS=0x320,MAX_RECONNECT_BACKOFF_MS=0x3a98,GATEWAY_STARTING_RETRY_DELAY_MS=0x12c;function isRecord(_0x29bf74){const _0x5c4eea=_0x2d0baa;return Boolean(_0x29bf74)&&typeof _0x29bf74===_0x5c4eea(0x9c)&&!Array['isArray'](_0x29bf74);}function formatUnknownError(_0x2748f1){const _0x40b0e1=_0x2d0baa;if(_0x2748f1 instanceof Error)return _0x2748f1[_0x40b0e1(0x14a)];return String(_0x2748f1??'');}function isLocalGatewayConnRefused(_0xa4e56){const _0x20be1e=_0x2d0baa,_0x4aaf10=formatUnknownError(_0xa4e56);return/\bECONNREFUSED\b/i['test'](_0x4aaf10)&&/127\.0\.0\.1:\d+/[_0x20be1e(0x129)](_0x4aaf10);}function isGatewayStartingRetryReason(_0x1dc2a0){const _0x2eb0b0=_0x2d0baa;return/\bgateway starting;\s*retry shortly\b/i[_0x2eb0b0(0x129)](_0x1dc2a0);}function base64UrlEncode(_0x445713){const _0x472a97=_0x2d0baa;return _0x445713[_0x472a97(0x7a)](_0x472a97(0xe5))[_0x472a97(0x117)+'ll']('+','-')[_0x472a97(0x117)+'ll']('/','_')[_0x472a97(0x110)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x2362f2){const _0x5f0232=_0x2d0baa,_0x440054=createPublicKey(_0x2362f2)[_0x5f0232(0xbf)]({'type':_0x5f0232(0xb6),'format':_0x5f0232(0x9e)}),_0xfb1f00=Buffer['isBuffer'](_0x440054)?_0x440054:Buffer['from'](_0x440054),_0x269f2f=_0xfb1f00[_0x5f0232(0x11d)]===ED25519_SPKI_PREFIX[_0x5f0232(0x11d)]+0x20&&_0xfb1f00[_0x5f0232(0xf6)](0x0,ED25519_SPKI_PREFIX[_0x5f0232(0x11d)])[_0x5f0232(0x13c)](ED25519_SPKI_PREFIX);return _0x269f2f?_0xfb1f00[_0x5f0232(0xf6)](ED25519_SPKI_PREFIX['length']):_0xfb1f00;}function fingerprintPublicKey(_0x371328){const _0x5372bc=_0x2d0baa;return createHash('sha256')[_0x5372bc(0xfd)](derivePublicKeyRaw(_0x371328))['digest']('hex');}function publicKeyRawBase64UrlFromPem(_0x454bb3){return base64UrlEncode(derivePublicKeyRaw(_0x454bb3));}function signDevicePayload(_0x2796f2,_0x335dd8){const _0x1ad4f9=_0x2d0baa,_0x5d8107=createPrivateKey(_0x2796f2);return base64UrlEncode(sign(null,Buffer[_0x1ad4f9(0x84)](_0x335dd8,_0x1ad4f9(0x76)),_0x5d8107));}function normalizeDeviceMetadataForAuth(_0x2039fb){const _0x3f14ef=_0x2d0baa,_0x4a6a62=typeof _0x2039fb===_0x3f14ef(0x10d)?_0x2039fb['trim']():'';if(!_0x4a6a62)return'';return _0x4a6a62[_0x3f14ef(0x110)](UPPERCASE_ASCII_REGEX,_0x207c89=>String[_0x3f14ef(0xa7)+_0x3f14ef(0xf4)](_0x207c89[_0x3f14ef(0xeb)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x2546f3){const _0x225d46=_0x2d0baa;return['v3',_0x2546f3[_0x225d46(0x130)],_0x2546f3[_0x225d46(0x12a)],_0x2546f3['clientMo'+'de'],_0x2546f3[_0x225d46(0xde)],_0x2546f3['scopes'][_0x225d46(0x146)](','),String(_0x2546f3[_0x225d46(0x13f)+'Ms']),_0x2546f3[_0x225d46(0xb8)]??'',_0x2546f3[_0x225d46(0x141)],normalizeDeviceMetadataForAuth(_0x2546f3['platform']),normalizeDeviceMetadataForAuth(_0x2546f3['deviceFa'+'mily'])]['join']('|');}function writeIdentityFile(_0x24b52a,_0x28f0ec,_0x36d543){const _0x2dcee8=_0x2d0baa;mkdirSync(dirname(_0x24b52a),{'recursive':!![]}),writeFileSync(_0x24b52a,JSON[_0x2dcee8(0xf5)+'y']({'version':0x1,..._0x28f0ec,'createdAtMs':_0x36d543},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x24b52a,0x180);}catch{}}function generateDeviceIdentity(){const _0x5bc292=_0x2d0baa,{publicKey:_0x7f49d,privateKey:_0x1ec044}=generateKeyPairSync(_0x5bc292(0x79)),_0x2c1e28=_0x7f49d['export']({'type':'spki','format':_0x5bc292(0x9f)})[_0x5bc292(0x7a)](),_0x251cb3=_0x1ec044[_0x5bc292(0xbf)]({'type':_0x5bc292(0x10a),'format':'pem'})['toString']();return{'deviceId':fingerprintPublicKey(_0x2c1e28),'publicKeyPem':_0x2c1e28,'privateKeyPem':_0x251cb3};}function loadOrCreateDeviceIdentity(_0x389e2e){const _0x3e7a62=_0x2d0baa;if(existsSync(_0x389e2e))try{const _0x5bac4d=JSON[_0x3e7a62(0xb7)](readFileSync(_0x389e2e,_0x3e7a62(0x76))),_0x117e5c=typeof _0x5bac4d?.['publicKe'+_0x3e7a62(0xdc)]===_0x3e7a62(0x10d)?_0x5bac4d[_0x3e7a62(0xa5)+'yPem']:'',_0x1118c4=typeof _0x5bac4d?.['privateK'+_0x3e7a62(0xe3)]===_0x3e7a62(0x10d)?_0x5bac4d[_0x3e7a62(0x150)+_0x3e7a62(0xe3)]:'';if(_0x117e5c&&_0x1118c4){const _0x174d73={'deviceId':fingerprintPublicKey(_0x117e5c),'publicKeyPem':_0x117e5c,'privateKeyPem':_0x1118c4};return _0x5bac4d?.['deviceId']!==_0x174d73[_0x3e7a62(0x130)]&&writeIdentityFile(_0x389e2e,_0x174d73,Date[_0x3e7a62(0xff)]()),_0x174d73;}}catch{}const _0x448f5b=generateDeviceIdentity();return writeIdentityFile(_0x389e2e,_0x448f5b,Date[_0x3e7a62(0xff)]()),_0x448f5b;}export class ClawGatewayWsClient{['ws']=null;[_0x2d0baa(0x9a)]=null;[_0x2d0baa(0x13a)]=new Map();[_0x2d0baa(0x7e)+'ters']=[];[_0x2d0baa(0x132)+'connect']=![];[_0x2d0baa(0xf1)+_0x2d0baa(0x11e)]=null;[_0x2d0baa(0xd4)+_0x2d0baa(0x109)+_0x2d0baa(0x7b)]=null;[_0x2d0baa(0x112)+_0x2d0baa(0xc3)]=null;['connectS'+_0x2d0baa(0xf7)]=![];[_0x2d0baa(0xec)+'d']=![];[_0x2d0baa(0xf1)+_0x2d0baa(0xe8)+'Ms']=INITIAL_RECONNECT_BACKOFF_MS;[_0x2d0baa(0x130)+'entity']=null;['connectA'+_0x2d0baa(0x144)]=0x0;[_0x2d0baa(0xad)+_0x2d0baa(0x87)+'artedAt']=0x0;[_0x2d0baa(0x13b)+'e'](_0x59113f){const _0x5726e3=_0x2d0baa;if(!_0x59113f){this[_0x5726e3(0x10c)]();return;}const _0x58b060=this[_0x5726e3(0x9a)];this['config']=_0x59113f,this[_0x5726e3(0x132)+_0x5726e3(0xa9)]=!![];try{this[_0x5726e3(0x130)+_0x5726e3(0x7d)]=loadOrCreateDeviceIdentity(_0x59113f[_0x5726e3(0x142)+_0x5726e3(0x12f)]);}catch(_0x1f0b01){const _0x2df893=_0x1f0b01 instanceof Error?_0x1f0b01[_0x5726e3(0x14a)]:'初始化\x20gate'+_0x5726e3(0x14c)+'失败';this[_0x5726e3(0x10c)](),_0x59113f[_0x5726e3(0x136)+'nected'](_0x2df893);return;}const _0x214872=!_0x58b060||_0x58b060['url']!==_0x59113f[_0x5726e3(0x8c)]||_0x58b060[_0x5726e3(0xb8)]!==_0x59113f[_0x5726e3(0xb8)]||_0x58b060[_0x5726e3(0x12a)]!==_0x59113f[_0x5726e3(0x12a)]||_0x58b060[_0x5726e3(0x75)+'de']!==_0x59113f[_0x5726e3(0x75)+'de']||_0x58b060['clientVe'+_0x5726e3(0x13e)]!==_0x59113f[_0x5726e3(0xae)+_0x5726e3(0x13e)]||_0x58b060[_0x5726e3(0x142)+'Path']!==_0x59113f[_0x5726e3(0x142)+_0x5726e3(0x12f)];if(_0x214872){this['restart']();return;}if(!this['ws'])this['connect']();}[_0x2d0baa(0x10c)](){const _0x266982=_0x2d0baa;this[_0x266982(0x132)+_0x266982(0xa9)]=![],this[_0x266982(0xec)+'d']=![],this[_0x266982(0x112)+'once']=null,this[_0x266982(0x128)+_0x266982(0xf7)]=![],this[_0x266982(0x11c)+_0x266982(0xd9)](),this[_0x266982(0xf2)+_0x266982(0xb0)](new Error(_0x266982(0xaf)+_0x266982(0x138)+'t\x20stoppe'+'d')),this[_0x266982(0xed)+_0x266982(0xdd)+'rs'](new Error(_0x266982(0xaf)+_0x266982(0x138)+_0x266982(0x14f)+'d'));if(this['ws']){try{this['ws'][_0x266982(0x135)]();}catch{}this['ws']=null;}this[_0x266982(0x130)+_0x266982(0x7d)]=null,this[_0x266982(0x9a)]=null;}async[_0x2d0baa(0x80)](_0x373663,_0x5b96e2={},_0x5c0081={}){const _0x44a2c9=_0x2d0baa;if(!_0x5c0081['skipRead'+_0x44a2c9(0x8e)])await this[_0x44a2c9(0xc8)+_0x44a2c9(0xc1)]();const _0x3bc46c=this['ws'];if(!_0x3bc46c||_0x3bc46c['readySta'+'te']!==_0xe20406[_0x44a2c9(0xe6)])throw new Error(_0x44a2c9(0xaf)+_0x44a2c9(0x123)+'t\x20connec'+_0x44a2c9(0x147));const _0x41413a=randomUUID(),_0x5217ab=_0x5c0081[_0x44a2c9(0x82)+'s']??0x7530;return await new Promise((_0x2dc388,_0x1ea018)=>{const _0x397286=_0x44a2c9,_0x557238=setTimeout(()=>{const _0x558b0f=_0x4559;this['pending'][_0x558b0f(0x90)](_0x41413a),_0x1ea018(new Error(_0x558b0f(0xaf)+_0x558b0f(0x104)+'timed\x20ou'+_0x558b0f(0x11f)+_0x373663));},_0x5217ab);this[_0x397286(0x13a)][_0x397286(0x14b)](_0x41413a,{'method':_0x373663,'resolve':_0x388441=>{clearTimeout(_0x557238),_0x2dc388(_0x388441);},'reject':_0x209f2d=>{clearTimeout(_0x557238),_0x1ea018(_0x209f2d);},'expectFinal':_0x5c0081[_0x397286(0x124)+_0x397286(0xe7)]===!![],'timeout':_0x557238});try{_0x3bc46c[_0x397286(0xea)](JSON[_0x397286(0xf5)+'y']({'type':_0x397286(0x106),'id':_0x41413a,'method':_0x373663,'params':_0x5b96e2}));}catch(_0x2fa8af){this['pending']['delete'](_0x41413a),clearTimeout(_0x557238),_0x1ea018(_0x2fa8af instanceof Error?_0x2fa8af:new Error(_0x397286(0x102)+_0x397286(0x10e)+_0x397286(0x81)+_0x397286(0xe1)));}});}[_0x2d0baa(0x10f)](){const _0x409c84=_0x2d0baa;this['connecte'+'d']=![],this[_0x409c84(0x112)+_0x409c84(0xc3)]=null,this[_0x409c84(0x128)+'ent']=![],this[_0x409c84(0x11c)+_0x409c84(0xd9)](),this['rejectPe'+_0x409c84(0xb0)](new Error(_0x409c84(0xaf)+_0x409c84(0x138)+_0x409c84(0xcd)+_0x409c84(0x114))),this[_0x409c84(0xed)+_0x409c84(0xdd)+'rs'](new Error(_0x409c84(0xaf)+'WS\x20clien'+_0x409c84(0xcd)+_0x409c84(0x114)));if(this['ws']){try{this['ws'][_0x409c84(0xcf)+'e']();}catch{}this['ws']=null;}this[_0x409c84(0xa9)]();}[_0x2d0baa(0x148)+_0x2d0baa(0xb1)+'dy'](){const _0x1af219=_0x2d0baa;if(this[_0x1af219(0xec)+'d']||!this[_0x1af219(0x132)+_0x1af219(0xa9)]||!this[_0x1af219(0x9a)])return;if(!this[_0x1af219(0xf1)+'tTimer'])return;this[_0x1af219(0x98)+_0x1af219(0xc0)+_0x1af219(0xf8)](),this['config'][_0x1af219(0x152)+_0x1af219(0xd5)]?.(_0x1af219(0x11b)+_0x1af219(0xb2)+_0x1af219(0x127)+'ow',{'attempt':this[_0x1af219(0xad)+_0x1af219(0x144)],'reason':_0x1af219(0x13d)+'ready'}),this[_0x1af219(0xa9)]();}['connect'](){const _0x775752=_0x2d0baa;if(!this['config']||this['ws'])return;this[_0x775752(0xad)+_0x775752(0x144)]+=0x1,this[_0x775752(0xad)+_0x775752(0x87)+_0x775752(0x155)]=Date[_0x775752(0xff)](),this[_0x775752(0x9a)][_0x775752(0x152)+_0x775752(0xd5)]?.('ws_conne'+_0x775752(0x103)+_0x775752(0x97),{'attempt':this[_0x775752(0xad)+_0x775752(0x144)]});const _0x410df1=new _0xe20406(this[_0x775752(0x9a)][_0x775752(0x8c)]);this['ws']=_0x410df1,_0x410df1['on'](_0x775752(0x151),()=>this[_0x775752(0x8f)+_0x775752(0xfe)+'lengeTim'+'eout']()),_0x410df1['on']('message',_0x2a4c85=>this[_0x775752(0x125)+_0x775752(0xac)](_0x2a4c85[_0x775752(0x7a)]())),_0x410df1['on'](_0x775752(0x135),(_0x294bb9,_0x1304e9)=>{const _0x41a236=_0x775752;if(this[_0x41a236(0xec)+'d']){const _0x3021cb=_0x1304e9[_0x41a236(0x7a)]()||_0x41a236(0xc2)+_0x294bb9;this[_0x41a236(0x7c)+_0x41a236(0xd8)](_0x41a236(0xaf)+'WS\x20close'+_0x41a236(0x111)+_0x3021cb+')');}else this[_0x41a236(0x7c)+_0x41a236(0xd8)]('');}),_0x410df1['on'](_0x775752(0xa8),_0x529632=>{const _0x37a880=_0x775752;if(isLocalGatewayConnRefused(_0x529632)){this[_0x37a880(0x7c)+_0x37a880(0xd8)](_0x37a880(0xaf)+_0x37a880(0xca)+_0x37a880(0xb9)+_0x37a880(0x143));return;}const _0x1a86fd=formatUnknownError(_0x529632);this[_0x37a880(0x7c)+_0x37a880(0xd8)](_0x1a86fd?_0x37a880(0xaf)+_0x37a880(0xaa)+':\x20'+_0x1a86fd:_0x37a880(0xaf)+_0x37a880(0xaa));});}['queueCon'+_0x2d0baa(0xfe)+_0x2d0baa(0xc9)+_0x2d0baa(0xa0)](){const _0x457553=_0x2d0baa;this[_0x457553(0x112)+'once']=null,this[_0x457553(0x128)+_0x457553(0xf7)]=![];if(this[_0x457553(0xd4)+'hallenge'+_0x457553(0x7b)])clearTimeout(this[_0x457553(0xd4)+_0x457553(0x109)+_0x457553(0x7b)]);this[_0x457553(0xd4)+_0x457553(0x109)+_0x457553(0x7b)]=setTimeout(()=>{const _0x2fe237=_0x457553;if(this[_0x2fe237(0x128)+_0x2fe237(0xf7)]||!this['ws']||this['ws']['readySta'+'te']!==_0xe20406['OPEN'])return;this[_0x2fe237(0x7c)+_0x2fe237(0xd8)](_0x2fe237(0xaf)+_0x2fe237(0xc5)+'hake\x20tim'+'ed\x20out'),this['ws']?.[_0x2fe237(0x135)](0x3f0,_0x2fe237(0xa2)+'challeng'+'e\x20timeou'+'t');},0x7d0);}async[_0x2d0baa(0xee)+'ect'](){const _0x3333e0=_0x2d0baa,_0x3b413e=this['config'];if(!_0x3b413e||this[_0x3333e0(0x128)+_0x3333e0(0xf7)])return;const _0x215dc5=this[_0x3333e0(0x112)+_0x3333e0(0xc3)]?.[_0x3333e0(0xe9)]()??'';if(!_0x215dc5){this['handleDi'+_0x3333e0(0xd8)](_0x3333e0(0xaf)+'WS\x20hands'+'hake\x20mis'+_0x3333e0(0x12c)+'ce'),this['ws']?.[_0x3333e0(0x135)](0x3f0,_0x3333e0(0xa2)+_0x3333e0(0x133)+'e\x20missin'+_0x3333e0(0x77));return;}this[_0x3333e0(0x128)+'ent']=!![];this[_0x3333e0(0xd4)+_0x3333e0(0x109)+_0x3333e0(0x7b)]&&(clearTimeout(this[_0x3333e0(0xd4)+_0x3333e0(0x109)+_0x3333e0(0x7b)]),this[_0x3333e0(0xd4)+_0x3333e0(0x109)+_0x3333e0(0x7b)]=null);if(!this[_0x3333e0(0x130)+_0x3333e0(0x7d)])try{this['deviceId'+_0x3333e0(0x7d)]=loadOrCreateDeviceIdentity(_0x3b413e[_0x3333e0(0x142)+_0x3333e0(0x12f)]);}catch(_0x1b3af6){this[_0x3333e0(0x7c)+_0x3333e0(0xd8)](_0x1b3af6 instanceof Error?_0x1b3af6['message']:'failed\x20t'+_0x3333e0(0xd3)+_0x3333e0(0xa1)+'dentity'),this['ws']?.[_0x3333e0(0x135)](0x3f0,_0x3333e0(0xbd)+_0x3333e0(0x134)+_0x3333e0(0xd1)+_0x3333e0(0x8b));return;}const _0x39963f=_0x3333e0(0xba),_0x7a8f17=[_0x3333e0(0xba)+_0x3333e0(0xc6),_0x3333e0(0xba)+_0x3333e0(0x121),_0x3333e0(0xba)+_0x3333e0(0x9d),'operator'+_0x3333e0(0xcc)+'ls',_0x3333e0(0xba)+'.pairing'],_0x5be69f=_0x3b413e['token'][_0x3333e0(0xe9)](),_0x208785=Date['now'](),_0x2a38ee=buildDeviceAuthPayloadV3({'deviceId':this[_0x3333e0(0x130)+'entity'][_0x3333e0(0x130)],'clientId':_0x3b413e[_0x3333e0(0x12a)],'clientMode':_0x3b413e['clientMo'+'de'],'role':_0x39963f,'scopes':_0x7a8f17,'signedAtMs':_0x208785,'token':_0x5be69f||null,'nonce':_0x215dc5,'platform':process[_0x3333e0(0x78)],'deviceFamily':_0x3b413e['clientDe'+_0x3333e0(0xbc)+'ly']}),_0x3b3325={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x3b413e[_0x3333e0(0x12a)],'displayName':_0x3b413e[_0x3333e0(0xef)+_0x3333e0(0xd6)+'e'],'version':_0x3b413e[_0x3333e0(0xae)+_0x3333e0(0x13e)],'platform':process['platform'],'deviceFamily':_0x3b413e[_0x3333e0(0xe2)+_0x3333e0(0xbc)+'ly'],'mode':_0x3b413e[_0x3333e0(0x75)+'de']},'caps':[],'role':_0x39963f,'scopes':_0x7a8f17,'auth':_0x5be69f?{'token':_0x5be69f}:undefined,'device':{'id':this[_0x3333e0(0x130)+'entity'][_0x3333e0(0x130)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x3333e0(0x130)+_0x3333e0(0x7d)][_0x3333e0(0xa5)+_0x3333e0(0xdc)]),'signature':signDevicePayload(this[_0x3333e0(0x130)+_0x3333e0(0x7d)][_0x3333e0(0x150)+_0x3333e0(0xe3)],_0x2a38ee),'signedAt':_0x208785,'nonce':_0x215dc5},'locale':Intl[_0x3333e0(0x95)+'Format']()[_0x3333e0(0xb5)+_0x3333e0(0xfc)]()[_0x3333e0(0xb4)],'userAgent':_0x3333e0(0x126)+'ell/'+_0x3b413e[_0x3333e0(0xae)+_0x3333e0(0x13e)]};try{await this[_0x3333e0(0x80)](_0x3333e0(0xa9),_0x3b3325,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this['connecte'+'d']=!![],this['reconnec'+_0x3333e0(0xe8)+'Ms']=INITIAL_RECONNECT_BACKOFF_MS,this[_0x3333e0(0x9a)]?.[_0x3333e0(0x152)+_0x3333e0(0xd5)]?.(_0x3333e0(0xd0)+'cted',{'attempt':this['connectA'+_0x3333e0(0x144)],'phaseElapsedMs':this[_0x3333e0(0xad)+_0x3333e0(0x87)+_0x3333e0(0x155)]?Date[_0x3333e0(0xff)]()-this[_0x3333e0(0xad)+_0x3333e0(0x87)+_0x3333e0(0x155)]:0x0}),this['resolveR'+_0x3333e0(0xfb)+_0x3333e0(0xd9)](),this[_0x3333e0(0x9a)]?.[_0x3333e0(0x83)+'ted']?.();}catch(_0x38b729){this[_0x3333e0(0x7c)+_0x3333e0(0xd8)](_0x38b729 instanceof Error?_0x38b729[_0x3333e0(0x14a)]:_0x3333e0(0xaf)+_0x3333e0(0x116)+'ct\x20faile'+'d'),this['ws']?.[_0x3333e0(0x135)](0x3f0,_0x3333e0(0xa2)+_0x3333e0(0x101));}}[_0x2d0baa(0x125)+_0x2d0baa(0xac)](_0x242139){const _0x49cc6a=_0x2d0baa;let _0x583678;try{_0x583678=JSON[_0x49cc6a(0xb7)](_0x242139);}catch{return;}if(!isRecord(_0x583678)||typeof _0x583678[_0x49cc6a(0x137)]!==_0x49cc6a(0x10d))return;if(_0x583678[_0x49cc6a(0x137)]===_0x49cc6a(0x140)){const _0x2e672f=typeof _0x583678[_0x49cc6a(0x140)]===_0x49cc6a(0x10d)?_0x583678[_0x49cc6a(0x140)]:'';if(!_0x2e672f)return;const _0x5b5f22=isRecord(_0x583678[_0x49cc6a(0x99)])?_0x583678['payload']:{};if(_0x2e672f===_0x49cc6a(0x11a)+_0x49cc6a(0x133)+'e'){const _0x2063cf=typeof _0x5b5f22['nonce']===_0x49cc6a(0x10d)?_0x5b5f22[_0x49cc6a(0x141)][_0x49cc6a(0xe9)]():'';if(!_0x2063cf){this[_0x49cc6a(0x7c)+_0x49cc6a(0xd8)](_0x49cc6a(0xaf)+_0x49cc6a(0xc5)+_0x49cc6a(0x7f)+_0x49cc6a(0x12c)+'ce'),this['ws']?.['close'](0x3f0,_0x49cc6a(0xa2)+'challeng'+_0x49cc6a(0xa6)+_0x49cc6a(0x77));return;}this[_0x49cc6a(0x112)+_0x49cc6a(0xc3)]=_0x2063cf,void this[_0x49cc6a(0xee)+'ect']();return;}if(_0x2e672f===_0x49cc6a(0x8a))this[_0x49cc6a(0x9a)]?.[_0x49cc6a(0x115)+_0x49cc6a(0xf7)]?.(_0x5b5f22);if(_0x2e672f===_0x49cc6a(0x9b))this['config']?.['onAgentE'+_0x49cc6a(0xce)]?.(_0x5b5f22);if(_0x2e672f===_0x49cc6a(0x120)+_0x49cc6a(0x14d))this[_0x49cc6a(0x9a)]?.[_0x49cc6a(0x10b)+_0x49cc6a(0xbb)]?.(_0x5b5f22);if(_0x2e672f===_0x49cc6a(0xc7)+_0x49cc6a(0x14a))this[_0x49cc6a(0x9a)]?.[_0x49cc6a(0x10b)+_0x49cc6a(0x94)+_0x49cc6a(0xab)]?.(_0x5b5f22);return;}if(_0x583678[_0x49cc6a(0x137)]!=='res')return;const _0x3dc8af=typeof _0x583678['id']===_0x49cc6a(0x10d)?_0x583678['id']:'';if(!_0x3dc8af)return;const _0x37eda4=this['pending'][_0x49cc6a(0x108)](_0x3dc8af);if(!_0x37eda4)return;const _0x4662fd=isRecord(_0x583678['payload'])?_0x583678[_0x49cc6a(0x99)]:{},_0x4277cd=typeof _0x4662fd['status']===_0x49cc6a(0x10d)?_0x4662fd[_0x49cc6a(0xdb)]:'';if(_0x37eda4[_0x49cc6a(0x124)+_0x49cc6a(0xe7)]&&_0x4277cd===_0x49cc6a(0x12d))return;this[_0x49cc6a(0x13a)][_0x49cc6a(0x90)](_0x3dc8af);_0x37eda4[_0x49cc6a(0xf3)]&&(clearTimeout(_0x37eda4[_0x49cc6a(0xf3)]),_0x37eda4['timeout']=null);if(_0x583678['ok']===!![]){_0x37eda4[_0x49cc6a(0x149)](_0x583678['payload']);return;}const _0x399c1c=isRecord(_0x583678[_0x49cc6a(0xa8)])?_0x583678['error']:{},_0x411d5b=typeof _0x399c1c[_0x49cc6a(0x14a)]===_0x49cc6a(0x10d)?_0x399c1c[_0x49cc6a(0x14a)]:_0x49cc6a(0xaf)+_0x49cc6a(0x104)+_0x49cc6a(0x8d)+_0x37eda4['method'];_0x37eda4[_0x49cc6a(0x113)](new Error(_0x411d5b));}['waitUnti'+_0x2d0baa(0xc1)](_0x41069b=0x2ee0){const _0x19e639=_0x2d0baa;if(this[_0x19e639(0xec)+'d'])return Promise[_0x19e639(0x149)]();if(!this[_0x19e639(0x9a)])return Promise[_0x19e639(0x113)](new Error('gateway\x20'+_0x19e639(0x123)+_0x19e639(0xa4)+'ured'));if(!this['ws'])this[_0x19e639(0xa9)]();return new Promise((_0x4f95a9,_0x2b053d)=>{const _0x3ddecf=_0x19e639,_0x4bbebd=setTimeout(()=>{const _0x30b985=_0x4559;this['readyWai'+_0x30b985(0x131)]=this[_0x30b985(0x7e)+_0x30b985(0x131)][_0x30b985(0xfa)](_0x38a6ef=>_0x38a6ef['resolve']!==_0x4f95a9),_0x2b053d(new Error(_0x30b985(0xaf)+'WS\x20conne'+_0x30b985(0x118)+_0x30b985(0x105)));},_0x41069b);this['readyWai'+_0x3ddecf(0x131)][_0x3ddecf(0x122)]({'resolve':_0x4f95a9,'reject':_0x2b053d,'timeout':_0x4bbebd});});}[_0x2d0baa(0xcb)+_0x2d0baa(0xfb)+_0x2d0baa(0xd9)](){const _0x4a922a=_0x2d0baa,_0x5db36f=[...this[_0x4a922a(0x7e)+'ters']];this['readyWai'+_0x4a922a(0x131)]=[];for(const _0x5c3261 of _0x5db36f){clearTimeout(_0x5c3261['timeout']),_0x5c3261[_0x4a922a(0x149)]();}}[_0x2d0baa(0xed)+_0x2d0baa(0xdd)+'rs'](_0x4b89b1){const _0x2fa1ac=_0x2d0baa,_0x52649d=[...this[_0x2fa1ac(0x7e)+_0x2fa1ac(0x131)]];this['readyWai'+_0x2fa1ac(0x131)]=[];for(const _0x3e46ed of _0x52649d){clearTimeout(_0x3e46ed['timeout']),_0x3e46ed[_0x2fa1ac(0x113)](_0x4b89b1);}}[_0x2d0baa(0xf2)+_0x2d0baa(0xb0)](_0x901f5f){const _0x148504=_0x2d0baa;for(const [_0x38d89d,_0x5da82a]of this[_0x148504(0x13a)][_0x148504(0xda)]()){this['pending'][_0x148504(0x90)](_0x38d89d),_0x5da82a[_0x148504(0xf3)]&&(clearTimeout(_0x5da82a['timeout']),_0x5da82a[_0x148504(0xf3)]=null),_0x5da82a[_0x148504(0x113)](_0x901f5f);}}[_0x2d0baa(0x7c)+_0x2d0baa(0xd8)](_0x5518c8){const _0x29a24b=_0x2d0baa,_0x37ec7c=this[_0x29a24b(0xec)+'d'],_0x44eb22=this[_0x29a24b(0xad)+'ttempt'],_0x21ac42=this[_0x29a24b(0xad)+_0x29a24b(0x87)+_0x29a24b(0x155)]?Date[_0x29a24b(0xff)]()-this[_0x29a24b(0xad)+'ttemptSt'+_0x29a24b(0x155)]:0x0;this['ws']&&(this['ws'][_0x29a24b(0x119)+'lListene'+'rs'](),this['ws']=null);this[_0x29a24b(0xec)+'d']=![],this[_0x29a24b(0x112)+_0x29a24b(0xc3)]=null,this[_0x29a24b(0x128)+_0x29a24b(0xf7)]=![],this[_0x29a24b(0xf2)+'nding'](new Error(_0x5518c8||'gateway\x20'+_0x29a24b(0xb3)+_0x29a24b(0xf9))),this['rejectRe'+_0x29a24b(0xdd)+'rs'](new Error(_0x5518c8||_0x29a24b(0xaf)+_0x29a24b(0xb3)+_0x29a24b(0xf9))),this['clearTim'+'ers']();!_0x37ec7c&&this[_0x29a24b(0x9a)]?.['onStartu'+'pTiming']?.(_0x29a24b(0xd0)+_0x29a24b(0x103)+_0x29a24b(0xbe)+'d',{'attempt':_0x44eb22,'phaseElapsedMs':_0x21ac42,'reason':_0x5518c8?_0x5518c8['slice'](0x0,0xa0):_0x29a24b(0x12b)+'losed_be'+_0x29a24b(0x93)+'dy'});if(_0x5518c8)this[_0x29a24b(0x9a)]?.[_0x29a24b(0x136)+_0x29a24b(0x96)]?.(_0x5518c8);if(!this['shouldRe'+_0x29a24b(0xa9)]||!this[_0x29a24b(0x9a)])return;const _0x293514=isGatewayStartingRetryReason(_0x5518c8),_0x5e3fca=_0x293514?GATEWAY_STARTING_RETRY_DELAY_MS:this[_0x29a24b(0xf1)+_0x29a24b(0xe8)+'Ms'];!_0x293514&&(this['reconnec'+_0x29a24b(0xe8)+'Ms']=Math['min'](this[_0x29a24b(0xf1)+_0x29a24b(0xe8)+'Ms']*0x2,MAX_RECONNECT_BACKOFF_MS)),this[_0x29a24b(0x9a)]['onStartu'+'pTiming']?.(_0x293514?_0x29a24b(0x100)+'ing_retr'+_0x29a24b(0x91)+_0x29a24b(0x107):_0x29a24b(0xd0)+_0x29a24b(0xd7)+_0x29a24b(0xdf)+'ed',{'attempt':_0x44eb22,'delayMs':_0x5e3fca,'nextDelayMs':this[_0x29a24b(0xf1)+_0x29a24b(0xe8)+'Ms'],'reason':_0x5518c8?_0x5518c8[_0x29a24b(0x139)](0x0,0xa0):'socket_c'+_0x29a24b(0xf0)+_0x29a24b(0x93)+'dy'}),this[_0x29a24b(0xf1)+'tTimer']=setTimeout(()=>{const _0x1b5152=_0x29a24b;this[_0x1b5152(0xf1)+_0x1b5152(0x11e)]=null,this[_0x1b5152(0xa9)]();},_0x5e3fca);}['clearRec'+_0x2d0baa(0xc0)+_0x2d0baa(0xf8)](){const _0x35d71d=_0x2d0baa;this[_0x35d71d(0xf1)+_0x35d71d(0x11e)]&&(clearTimeout(this['reconnec'+_0x35d71d(0x11e)]),this['reconnec'+_0x35d71d(0x11e)]=null);}['clearTim'+_0x2d0baa(0xd9)](){const _0x4576ef=_0x2d0baa;this['clearRec'+_0x4576ef(0xc0)+_0x4576ef(0xf8)](),this['connectC'+_0x4576ef(0x109)+_0x4576ef(0x7b)]&&(clearTimeout(this[_0x4576ef(0xd4)+_0x4576ef(0x109)+'Timer']),this[_0x4576ef(0xd4)+'hallenge'+_0x4576ef(0x7b)]=null);}}
1
+ const _0x1d90ba=_0x1f5b;(function(_0x5c381e,_0x18543a){const _0x1dee47=_0x1f5b,_0x35907f=_0x5c381e();while(!![]){try{const _0x2447c2=-parseInt(_0x1dee47(0x18e))/0x1+-parseInt(_0x1dee47(0x195))/0x2+-parseInt(_0x1dee47(0x211))/0x3+parseInt(_0x1dee47(0x206))/0x4+-parseInt(_0x1dee47(0x1c2))/0x5*(parseInt(_0x1dee47(0x1dc))/0x6)+-parseInt(_0x1dee47(0x1b0))/0x7*(parseInt(_0x1dee47(0x1c8))/0x8)+parseInt(_0x1dee47(0x178))/0x9*(parseInt(_0x1dee47(0x216))/0xa);if(_0x2447c2===_0x18543a)break;else _0x35907f['push'](_0x35907f['shift']());}catch(_0x1771ab){_0x35907f['push'](_0x35907f['shift']());}}}(_0x3b09,0xdafd3));import{Buffer}from'node:buffer';import{createHash,createPrivateKey,createPublicKey,generateKeyPairSync,randomUUID,sign}from'node:crypto';import{chmodSync,existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import _0x323dfc from'ws';const ED25519_SPKI_PREFIX=Buffer['from'](_0x1d90ba(0x223)+'06032b65'+_0x1d90ba(0x1a4),_0x1d90ba(0x1a6)),BASE64_PADDING_REGEX=/=+$/g,UPPERCASE_ASCII_REGEX=/[A-Z]/g,INITIAL_RECONNECT_BACKOFF_MS=0x320,MAX_RECONNECT_BACKOFF_MS=0x3a98,GATEWAY_STARTING_RETRY_DELAY_MS=0x12c;function isRecord(_0x21867a){const _0x29ca46=_0x1d90ba;return Boolean(_0x21867a)&&typeof _0x21867a===_0x29ca46(0x236)&&!Array[_0x29ca46(0x161)](_0x21867a);}function formatUnknownError(_0x34f425){const _0xcb6dbf=_0x1d90ba;if(_0x34f425 instanceof Error)return _0x34f425[_0xcb6dbf(0x175)];return String(_0x34f425??'');}function isLocalGatewayConnRefused(_0x414aaa){const _0x471fe8=_0x1d90ba,_0x5840b2=formatUnknownError(_0x414aaa);return/\bECONNREFUSED\b/i[_0x471fe8(0x1cd)](_0x5840b2)&&/127\.0\.0\.1:\d+/[_0x471fe8(0x1cd)](_0x5840b2);}function isGatewayStartingRetryReason(_0x5c0689){const _0x4b3c24=_0x1d90ba;return/\bgateway starting;\s*retry shortly\b/i[_0x4b3c24(0x1cd)](_0x5c0689);}function base64UrlEncode(_0x5dabe3){const _0x5e67a0=_0x1d90ba;return _0x5dabe3[_0x5e67a0(0x1d3)](_0x5e67a0(0x1b7))['replaceA'+'ll']('+','-')['replaceA'+'ll']('/','_')['replace'](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x496429){const _0x46d60f=_0x1d90ba,_0x4a828a=createPublicKey(_0x496429)[_0x46d60f(0x17d)]({'type':_0x46d60f(0x1c3),'format':'der'}),_0x50f9dd=Buffer[_0x46d60f(0x22c)](_0x4a828a)?_0x4a828a:Buffer[_0x46d60f(0x18a)](_0x4a828a),_0x15a954=_0x50f9dd['length']===ED25519_SPKI_PREFIX[_0x46d60f(0x1ae)]+0x20&&_0x50f9dd[_0x46d60f(0x209)](0x0,ED25519_SPKI_PREFIX['length'])[_0x46d60f(0x196)](ED25519_SPKI_PREFIX);return _0x15a954?_0x50f9dd['subarray'](ED25519_SPKI_PREFIX['length']):_0x50f9dd;}function _0x3b09(){const _0x506e4e=['vent','connectN','slice','socket_c','isArray','fore_rea','role','device\x20i','nected','filter','g\x20nonce','WS\x20close','handleDi','utf8','ting','connectA','code=','lReady','tBackoff','is\x20not\x20l','failed\x20t','resolve','signedAt','agent','message','splayNam','onAgentE','42737877QUHnlz','eyPem','nnected','notifyGa','Options','export','clientVe','connect','stop','ws_start','skipRead','resolveR','event','fromChar','ell/','digest','.approva','tewayRea','from','payload','trim','hake\x20tim','4112EMtwlv','ured','ws_conne','WS\x20disco','join','nding','WS\x20hands','2875666uvSJfA','equals','Timer','operator','onChatEv','connect\x20','connectC','parse','pem','replace','expectFi','ed\x20out','clientDe','method','lListene','70032100','mily','hex','dentity','sendConn','pt_start','ters','timed\x20ou','OPEN','res','length','string','35kQivNW','Code','clearTim','t\x20stoppe','o\x20send\x20g','yPem','losed_be','base64','_schedul','publicKe','eadyWait','connectS','ted','o\x20load\x20g','scopes','e\x20missin','rejectPe','rsion','60drHjDh','spki','failed','WS\x20is\x20no','dentity\x20','platform','2738392YSKWQn','waitUnti','locale','identity','viceFami','test','shouldRe','chat','.changed','now','get','toString','ssage','WS\x20clien','hallenge','artedAt','entries','hake\x20mis','queueCon','resolved','378342rLkHVq','timeout','lengeTim','request','once','onDiscon','clientId','d\x20(','WS\x20error','nonce','Path','clearRec','ready','.read','onnectTi','privateK','istening','way\x20设备身份','onSessio','nal','ent','close','reject','equest','e\x20timeou','.admin','error','t\x20config','req','ct_attem','clientMo','config','ay_ready','stringif','challeng','clientDi','pending','初始化\x20gate','deviceId','readyWai','ttempt','sing\x20non','6317560RXRbqS','tTimer','\x20yet','subarray','ttemptSt','sessions','.write','rejectRe','gateway\x20','pTiming','charCode','4562820WABVUE','onStartu','ble','ers','ed25519','10cwtUxS','led','pkcs8','eout','ct\x20faile','restart','nectChal','connecte','url','ws_gatew','ect','delete','t\x20restar','302a3005','nMessage','t\x20connec','entity','gateway_','sconnect','removeAl','ct_retry','type','isBuffer','open','failed:\x20','mer','connect.','adyWaite','handleMe','readySta','deviceFa','set','object','unavaila','token','yCheck','reconnec','WS\x20conne'];_0x3b09=function(){return _0x506e4e;};return _0x3b09();}function fingerprintPublicKey(_0x3dbc78){const _0x41fdbc=_0x1d90ba;return createHash('sha256')['update'](derivePublicKeyRaw(_0x3dbc78))[_0x41fdbc(0x187)]('hex');}function publicKeyRawBase64UrlFromPem(_0x51b3b0){return base64UrlEncode(derivePublicKeyRaw(_0x51b3b0));}function signDevicePayload(_0x86cb51,_0x372437){const _0x46abd3=_0x1d90ba,_0x15e8e2=createPrivateKey(_0x86cb51);return base64UrlEncode(sign(null,Buffer[_0x46abd3(0x18a)](_0x372437,_0x46abd3(0x16a)),_0x15e8e2));}function normalizeDeviceMetadataForAuth(_0x5292dc){const _0x5dc7bd=_0x1d90ba,_0x1c7452=typeof _0x5292dc===_0x5dc7bd(0x1af)?_0x5292dc[_0x5dc7bd(0x18c)]():'';if(!_0x1c7452)return'';return _0x1c7452[_0x5dc7bd(0x19e)](UPPERCASE_ASCII_REGEX,_0xfe1a91=>String[_0x5dc7bd(0x185)+_0x5dc7bd(0x1b1)](_0xfe1a91[_0x5dc7bd(0x210)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x379b03){const _0x26f88e=_0x1d90ba;return['v3',_0x379b03[_0x26f88e(0x202)],_0x379b03[_0x26f88e(0x1e2)],_0x379b03['clientMo'+'de'],_0x379b03[_0x26f88e(0x163)],_0x379b03[_0x26f88e(0x1be)]['join'](','),String(_0x379b03[_0x26f88e(0x173)+'Ms']),_0x379b03['token']??'',_0x379b03[_0x26f88e(0x1e5)],normalizeDeviceMetadataForAuth(_0x379b03['platform']),normalizeDeviceMetadataForAuth(_0x379b03[_0x26f88e(0x234)+_0x26f88e(0x1a5)])][_0x26f88e(0x192)]('|');}function writeIdentityFile(_0x4475b2,_0x3494da,_0x46eb08){mkdirSync(dirname(_0x4475b2),{'recursive':!![]}),writeFileSync(_0x4475b2,JSON['stringif'+'y']({'version':0x1,..._0x3494da,'createdAtMs':_0x46eb08},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x4475b2,0x180);}catch{}}function generateDeviceIdentity(){const _0x3747a5=_0x1d90ba,{publicKey:_0x25e856,privateKey:_0x34243c}=generateKeyPairSync(_0x3747a5(0x215)),_0x123d60=_0x25e856[_0x3747a5(0x17d)]({'type':_0x3747a5(0x1c3),'format':_0x3747a5(0x19d)})[_0x3747a5(0x1d3)](),_0x134e16=_0x34243c[_0x3747a5(0x17d)]({'type':_0x3747a5(0x218),'format':'pem'})[_0x3747a5(0x1d3)]();return{'deviceId':fingerprintPublicKey(_0x123d60),'publicKeyPem':_0x123d60,'privateKeyPem':_0x134e16};}function loadOrCreateDeviceIdentity(_0x1565ab){const _0x2220f9=_0x1d90ba;if(existsSync(_0x1565ab))try{const _0x1b64dc=JSON['parse'](readFileSync(_0x1565ab,_0x2220f9(0x16a))),_0x42a1b9=typeof _0x1b64dc?.[_0x2220f9(0x1b9)+_0x2220f9(0x1b5)]==='string'?_0x1b64dc[_0x2220f9(0x1b9)+_0x2220f9(0x1b5)]:'',_0x57e798=typeof _0x1b64dc?.[_0x2220f9(0x1eb)+_0x2220f9(0x179)]===_0x2220f9(0x1af)?_0x1b64dc['privateK'+'eyPem']:'';if(_0x42a1b9&&_0x57e798){const _0x1ee272={'deviceId':fingerprintPublicKey(_0x42a1b9),'publicKeyPem':_0x42a1b9,'privateKeyPem':_0x57e798};return _0x1b64dc?.[_0x2220f9(0x202)]!==_0x1ee272[_0x2220f9(0x202)]&&writeIdentityFile(_0x1565ab,_0x1ee272,Date[_0x2220f9(0x1d1)]()),_0x1ee272;}}catch{}const _0x15b44f=generateDeviceIdentity();return writeIdentityFile(_0x1565ab,_0x15b44f,Date[_0x2220f9(0x1d1)]()),_0x15b44f;}function _0x1f5b(_0x32a487,_0x376b45){_0x32a487=_0x32a487-0x158;const _0x3b0923=_0x3b09();let _0x1f5b85=_0x3b0923[_0x32a487];return _0x1f5b85;}export class ClawGatewayWsClient{['ws']=null;[_0x1d90ba(0x1fb)]=null;[_0x1d90ba(0x200)]=new Map();[_0x1d90ba(0x203)+_0x1d90ba(0x1aa)]=[];[_0x1d90ba(0x1ce)+'connect']=![];['reconnec'+_0x1d90ba(0x207)]=null;[_0x1d90ba(0x19b)+_0x1d90ba(0x1d6)+'Timer']=null;[_0x1d90ba(0x15e)+_0x1d90ba(0x1e0)]=null;['connectS'+'ent']=![];['connecte'+'d']=![];[_0x1d90ba(0x15b)+_0x1d90ba(0x16f)+'Ms']=INITIAL_RECONNECT_BACKOFF_MS;['deviceId'+_0x1d90ba(0x226)]=null;['connectA'+'ttempt']=0x0;['connectA'+_0x1d90ba(0x20a)+_0x1d90ba(0x1d7)]=0x0;['configur'+'e'](_0x3edf30){const _0x2c6613=_0x1d90ba;if(!_0x3edf30){this[_0x2c6613(0x180)]();return;}const _0x3c0c70=this[_0x2c6613(0x1fb)];this[_0x2c6613(0x1fb)]=_0x3edf30,this['shouldRe'+_0x2c6613(0x17f)]=!![];try{this[_0x2c6613(0x202)+_0x2c6613(0x226)]=loadOrCreateDeviceIdentity(_0x3edf30[_0x2c6613(0x1cb)+_0x2c6613(0x1e6)]);}catch(_0x335fdd){const _0x62b475=_0x335fdd instanceof Error?_0x335fdd[_0x2c6613(0x175)]:_0x2c6613(0x201)+_0x2c6613(0x1ed)+'失败';this[_0x2c6613(0x180)](),_0x3edf30[_0x2c6613(0x1e1)+'nected'](_0x62b475);return;}const _0x29848f=!_0x3c0c70||_0x3c0c70['url']!==_0x3edf30[_0x2c6613(0x21e)]||_0x3c0c70[_0x2c6613(0x159)]!==_0x3edf30['token']||_0x3c0c70[_0x2c6613(0x1e2)]!==_0x3edf30['clientId']||_0x3c0c70[_0x2c6613(0x1fa)+'de']!==_0x3edf30[_0x2c6613(0x1fa)+'de']||_0x3c0c70['clientVe'+'rsion']!==_0x3edf30[_0x2c6613(0x17e)+_0x2c6613(0x1c1)]||_0x3c0c70[_0x2c6613(0x1cb)+_0x2c6613(0x1e6)]!==_0x3edf30['identity'+_0x2c6613(0x1e6)];if(_0x29848f){this[_0x2c6613(0x21b)]();return;}if(!this['ws'])this[_0x2c6613(0x17f)]();}[_0x1d90ba(0x180)](){const _0x1a32a8=_0x1d90ba;this[_0x1a32a8(0x1ce)+_0x1a32a8(0x17f)]=![],this[_0x1a32a8(0x21d)+'d']=![],this[_0x1a32a8(0x15e)+_0x1a32a8(0x1e0)]=null,this['connectS'+_0x1a32a8(0x1f0)]=![],this[_0x1a32a8(0x1b2)+_0x1a32a8(0x214)](),this[_0x1a32a8(0x1c0)+_0x1a32a8(0x193)](new Error(_0x1a32a8(0x20e)+_0x1a32a8(0x1d5)+_0x1a32a8(0x1b3)+'d')),this['rejectRe'+'adyWaite'+'rs'](new Error(_0x1a32a8(0x20e)+_0x1a32a8(0x1d5)+'t\x20stoppe'+'d'));if(this['ws']){try{this['ws'][_0x1a32a8(0x1f1)]();}catch{}this['ws']=null;}this[_0x1a32a8(0x202)+_0x1a32a8(0x226)]=null,this[_0x1a32a8(0x1fb)]=null;}async[_0x1d90ba(0x1df)](_0x8e1aab,_0x21e040={},_0x41c460={}){const _0x48a95d=_0x1d90ba;if(!_0x41c460[_0x48a95d(0x182)+_0x48a95d(0x15a)])await this['waitUnti'+_0x48a95d(0x16e)]();const _0x22166c=this['ws'];if(!_0x22166c||_0x22166c['readySta'+'te']!==_0x323dfc['OPEN'])throw new Error(_0x48a95d(0x20e)+'WS\x20is\x20no'+_0x48a95d(0x225)+'ted');const _0x3bf2fd=randomUUID(),_0x15d158=_0x41c460['timeoutM'+'s']??0x7530;return await new Promise((_0x113584,_0x57fe63)=>{const _0x3477f9=_0x48a95d,_0x52f057=setTimeout(()=>{const _0x2c16b6=_0x1f5b;this[_0x2c16b6(0x200)][_0x2c16b6(0x221)](_0x3bf2fd),_0x57fe63(new Error(_0x2c16b6(0x20e)+'request\x20'+_0x2c16b6(0x1ab)+'t:\x20'+_0x8e1aab));},_0x15d158);this[_0x3477f9(0x200)][_0x3477f9(0x235)](_0x3bf2fd,{'method':_0x8e1aab,'resolve':_0x341dda=>{clearTimeout(_0x52f057),_0x113584(_0x341dda);},'reject':_0x2e8dbd=>{clearTimeout(_0x52f057),_0x57fe63(_0x2e8dbd);},'expectFinal':_0x41c460[_0x3477f9(0x19f)+_0x3477f9(0x1ef)]===!![],'timeout':_0x52f057});try{_0x22166c['send'](JSON[_0x3477f9(0x1fd)+'y']({'type':_0x3477f9(0x1f8),'id':_0x3bf2fd,'method':_0x8e1aab,'params':_0x21e040}));}catch(_0x48c0c5){this['pending']['delete'](_0x3bf2fd),clearTimeout(_0x52f057),_0x57fe63(_0x48c0c5 instanceof Error?_0x48c0c5:new Error(_0x3477f9(0x171)+_0x3477f9(0x1b4)+'ateway\x20r'+_0x3477f9(0x1f3)));}});}[_0x1d90ba(0x21b)](){const _0x364608=_0x1d90ba;this['connecte'+'d']=![],this['connectN'+_0x364608(0x1e0)]=null,this['connectS'+'ent']=![],this[_0x364608(0x1b2)+'ers'](),this['rejectPe'+_0x364608(0x193)](new Error('gateway\x20'+_0x364608(0x1d5)+_0x364608(0x222)+_0x364608(0x16b))),this[_0x364608(0x20d)+_0x364608(0x231)+'rs'](new Error('gateway\x20'+_0x364608(0x1d5)+'t\x20restar'+'ting'));if(this['ws']){try{this['ws']['terminat'+'e']();}catch{}this['ws']=null;}this['connect']();}[_0x1d90ba(0x17b)+_0x1d90ba(0x189)+'dy'](){const _0x44e041=_0x1d90ba;if(this[_0x44e041(0x21d)+'d']||!this[_0x44e041(0x1ce)+'connect']||!this[_0x44e041(0x1fb)])return;if(!this[_0x44e041(0x15b)+_0x44e041(0x207)])return;this['clearRec'+_0x44e041(0x1ea)+_0x44e041(0x22f)](),this[_0x44e041(0x1fb)]['onStartu'+_0x44e041(0x20f)]?.(_0x44e041(0x21f)+_0x44e041(0x1fc)+'_retry_n'+'ow',{'attempt':this[_0x44e041(0x16c)+_0x44e041(0x204)],'reason':_0x44e041(0x227)+_0x44e041(0x1e8)}),this[_0x44e041(0x17f)]();}['connect'](){const _0x422a8f=_0x1d90ba;if(!this[_0x422a8f(0x1fb)]||this['ws'])return;this[_0x422a8f(0x16c)+_0x422a8f(0x204)]+=0x1,this['connectA'+_0x422a8f(0x20a)+_0x422a8f(0x1d7)]=Date[_0x422a8f(0x1d1)](),this[_0x422a8f(0x1fb)][_0x422a8f(0x212)+'pTiming']?.(_0x422a8f(0x190)+_0x422a8f(0x1f9)+_0x422a8f(0x1a9),{'attempt':this[_0x422a8f(0x16c)+_0x422a8f(0x204)]});const _0x5552c8=new _0x323dfc(this['config'][_0x422a8f(0x21e)]);this['ws']=_0x5552c8,_0x5552c8['on'](_0x422a8f(0x22d),()=>this[_0x422a8f(0x1da)+_0x422a8f(0x21c)+_0x422a8f(0x1de)+_0x422a8f(0x219)]()),_0x5552c8['on'](_0x422a8f(0x175),_0x3e3144=>this[_0x422a8f(0x232)+_0x422a8f(0x1d4)](_0x3e3144[_0x422a8f(0x1d3)]())),_0x5552c8['on']('close',(_0x4e718f,_0x49c035)=>{const _0x1b5bb2=_0x422a8f;if(this[_0x1b5bb2(0x21d)+'d']){const _0x503553=_0x49c035[_0x1b5bb2(0x1d3)]()||_0x1b5bb2(0x16d)+_0x4e718f;this[_0x1b5bb2(0x169)+_0x1b5bb2(0x228)](_0x1b5bb2(0x20e)+_0x1b5bb2(0x168)+_0x1b5bb2(0x1e3)+_0x503553+')');}else this[_0x1b5bb2(0x169)+_0x1b5bb2(0x228)]('');}),_0x5552c8['on'](_0x422a8f(0x1f6),_0x4f6d5b=>{const _0x3e40c1=_0x422a8f;if(isLocalGatewayConnRefused(_0x4f6d5b)){this[_0x3e40c1(0x169)+_0x3e40c1(0x228)](_0x3e40c1(0x20e)+_0x3e40c1(0x170)+_0x3e40c1(0x1ec)+_0x3e40c1(0x208));return;}const _0x29840c=formatUnknownError(_0x4f6d5b);this['handleDi'+'sconnect'](_0x29840c?_0x3e40c1(0x20e)+_0x3e40c1(0x1e4)+':\x20'+_0x29840c:_0x3e40c1(0x20e)+'WS\x20error');});}[_0x1d90ba(0x1da)+_0x1d90ba(0x21c)+_0x1d90ba(0x1de)+'eout'](){const _0x147479=_0x1d90ba;this[_0x147479(0x15e)+_0x147479(0x1e0)]=null,this[_0x147479(0x1bb)+'ent']=![];if(this[_0x147479(0x19b)+'hallenge'+_0x147479(0x197)])clearTimeout(this['connectC'+_0x147479(0x1d6)+'Timer']);this[_0x147479(0x19b)+'hallenge'+_0x147479(0x197)]=setTimeout(()=>{const _0x42a3c0=_0x147479;if(this[_0x42a3c0(0x1bb)+'ent']||!this['ws']||this['ws'][_0x42a3c0(0x233)+'te']!==_0x323dfc[_0x42a3c0(0x1ac)])return;this[_0x42a3c0(0x169)+_0x42a3c0(0x228)](_0x42a3c0(0x20e)+_0x42a3c0(0x194)+_0x42a3c0(0x18d)+_0x42a3c0(0x1a0)),this['ws']?.[_0x42a3c0(0x1f1)](0x3f0,_0x42a3c0(0x19a)+_0x42a3c0(0x1fe)+_0x42a3c0(0x1f4)+'t');},0x7d0);}async[_0x1d90ba(0x1a8)+'ect'](){const _0x231064=_0x1d90ba,_0x276ac0=this[_0x231064(0x1fb)];if(!_0x276ac0||this[_0x231064(0x1bb)+_0x231064(0x1f0)])return;const _0x3769a1=this[_0x231064(0x15e)+_0x231064(0x1e0)]?.[_0x231064(0x18c)]()??'';if(!_0x3769a1){this[_0x231064(0x169)+'sconnect']('gateway\x20'+_0x231064(0x194)+_0x231064(0x1d9)+_0x231064(0x205)+'ce'),this['ws']?.[_0x231064(0x1f1)](0x3f0,_0x231064(0x19a)+'challeng'+_0x231064(0x1bf)+_0x231064(0x167));return;}this[_0x231064(0x1bb)+'ent']=!![];this[_0x231064(0x19b)+_0x231064(0x1d6)+_0x231064(0x197)]&&(clearTimeout(this[_0x231064(0x19b)+'hallenge'+_0x231064(0x197)]),this['connectC'+_0x231064(0x1d6)+_0x231064(0x197)]=null);if(!this[_0x231064(0x202)+'entity'])try{this[_0x231064(0x202)+_0x231064(0x226)]=loadOrCreateDeviceIdentity(_0x276ac0['identity'+_0x231064(0x1e6)]);}catch(_0x3da0be){this['handleDi'+_0x231064(0x228)](_0x3da0be instanceof Error?_0x3da0be['message']:_0x231064(0x171)+_0x231064(0x1bd)+'ateway\x20i'+_0x231064(0x1a7)),this['ws']?.[_0x231064(0x1f1)](0x3f0,_0x231064(0x164)+_0x231064(0x1c6)+_0x231064(0x158)+_0x231064(0x213));return;}const _0xf0440f=_0x231064(0x198),_0x57dbe3=['operator'+_0x231064(0x1e9),_0x231064(0x198)+_0x231064(0x20c),'operator'+_0x231064(0x1f5),_0x231064(0x198)+_0x231064(0x188)+'ls',_0x231064(0x198)+'.pairing'],_0xb462d8=_0x276ac0[_0x231064(0x159)][_0x231064(0x18c)](),_0x5b3031=Date[_0x231064(0x1d1)](),_0x3c3f63=buildDeviceAuthPayloadV3({'deviceId':this[_0x231064(0x202)+_0x231064(0x226)][_0x231064(0x202)],'clientId':_0x276ac0[_0x231064(0x1e2)],'clientMode':_0x276ac0[_0x231064(0x1fa)+'de'],'role':_0xf0440f,'scopes':_0x57dbe3,'signedAtMs':_0x5b3031,'token':_0xb462d8||null,'nonce':_0x3769a1,'platform':process[_0x231064(0x1c7)],'deviceFamily':_0x276ac0[_0x231064(0x1a1)+'viceFami'+'ly']}),_0x5cce03={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x276ac0[_0x231064(0x1e2)],'displayName':_0x276ac0[_0x231064(0x1ff)+_0x231064(0x176)+'e'],'version':_0x276ac0['clientVe'+_0x231064(0x1c1)],'platform':process['platform'],'deviceFamily':_0x276ac0[_0x231064(0x1a1)+_0x231064(0x1cc)+'ly'],'mode':_0x276ac0[_0x231064(0x1fa)+'de']},'caps':[],'role':_0xf0440f,'scopes':_0x57dbe3,'auth':_0xb462d8?{'token':_0xb462d8}:undefined,'device':{'id':this['deviceId'+'entity'][_0x231064(0x202)],'publicKey':publicKeyRawBase64UrlFromPem(this[_0x231064(0x202)+_0x231064(0x226)][_0x231064(0x1b9)+_0x231064(0x1b5)]),'signature':signDevicePayload(this[_0x231064(0x202)+_0x231064(0x226)][_0x231064(0x1eb)+_0x231064(0x179)],_0x3c3f63),'signedAt':_0x5b3031,'nonce':_0x3769a1},'locale':Intl['DateTime'+'Format']()[_0x231064(0x1db)+_0x231064(0x17c)]()[_0x231064(0x1ca)],'userAgent':'wujie-sh'+_0x231064(0x186)+_0x276ac0['clientVe'+'rsion']};try{await this[_0x231064(0x1df)](_0x231064(0x17f),_0x5cce03,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0x231064(0x21d)+'d']=!![],this[_0x231064(0x15b)+_0x231064(0x16f)+'Ms']=INITIAL_RECONNECT_BACKOFF_MS,this[_0x231064(0x1fb)]?.[_0x231064(0x212)+_0x231064(0x20f)]?.(_0x231064(0x190)+'cted',{'attempt':this[_0x231064(0x16c)+_0x231064(0x204)],'phaseElapsedMs':this['connectA'+_0x231064(0x20a)+_0x231064(0x1d7)]?Date[_0x231064(0x1d1)]()-this[_0x231064(0x16c)+_0x231064(0x20a)+_0x231064(0x1d7)]:0x0}),this[_0x231064(0x183)+_0x231064(0x1ba)+_0x231064(0x214)](),this[_0x231064(0x1fb)]?.['onConnec'+_0x231064(0x1bc)]?.();}catch(_0x300e2f){this['handleDi'+'sconnect'](_0x300e2f instanceof Error?_0x300e2f[_0x231064(0x175)]:_0x231064(0x20e)+'WS\x20conne'+_0x231064(0x21a)+'d'),this['ws']?.[_0x231064(0x1f1)](0x3f0,_0x231064(0x19a)+_0x231064(0x1c4));}}[_0x1d90ba(0x232)+_0x1d90ba(0x1d4)](_0x53ad63){const _0x32332a=_0x1d90ba;let _0x4c2ce0;try{_0x4c2ce0=JSON[_0x32332a(0x19c)](_0x53ad63);}catch{return;}if(!isRecord(_0x4c2ce0)||typeof _0x4c2ce0[_0x32332a(0x22b)]!==_0x32332a(0x1af))return;if(_0x4c2ce0['type']===_0x32332a(0x184)){const _0x1c0155=typeof _0x4c2ce0[_0x32332a(0x184)]===_0x32332a(0x1af)?_0x4c2ce0[_0x32332a(0x184)]:'';if(!_0x1c0155)return;const _0x1d5f29=isRecord(_0x4c2ce0[_0x32332a(0x18b)])?_0x4c2ce0[_0x32332a(0x18b)]:{};if(_0x1c0155===_0x32332a(0x230)+'challeng'+'e'){const _0x540700=typeof _0x1d5f29[_0x32332a(0x1e5)]==='string'?_0x1d5f29[_0x32332a(0x1e5)][_0x32332a(0x18c)]():'';if(!_0x540700){this['handleDi'+'sconnect'](_0x32332a(0x20e)+'WS\x20hands'+'hake\x20mis'+_0x32332a(0x205)+'ce'),this['ws']?.['close'](0x3f0,_0x32332a(0x19a)+_0x32332a(0x1fe)+_0x32332a(0x1bf)+_0x32332a(0x167));return;}this[_0x32332a(0x15e)+_0x32332a(0x1e0)]=_0x540700,void this[_0x32332a(0x1a8)+_0x32332a(0x220)]();return;}if(_0x1c0155===_0x32332a(0x1cf))this['config']?.[_0x32332a(0x199)+_0x32332a(0x1f0)]?.(_0x1d5f29);if(_0x1c0155===_0x32332a(0x174))this[_0x32332a(0x1fb)]?.[_0x32332a(0x177)+_0x32332a(0x15d)]?.(_0x1d5f29);if(_0x1c0155===_0x32332a(0x20b)+_0x32332a(0x1d0))this[_0x32332a(0x1fb)]?.[_0x32332a(0x1ee)+'nEvent']?.(_0x1d5f29);if(_0x1c0155==='session.'+_0x32332a(0x175))this[_0x32332a(0x1fb)]?.[_0x32332a(0x1ee)+_0x32332a(0x224)+'Event']?.(_0x1d5f29);return;}if(_0x4c2ce0[_0x32332a(0x22b)]!==_0x32332a(0x1ad))return;const _0x4870f6=typeof _0x4c2ce0['id']===_0x32332a(0x1af)?_0x4c2ce0['id']:'';if(!_0x4870f6)return;const _0x1e48cc=this[_0x32332a(0x200)][_0x32332a(0x1d2)](_0x4870f6);if(!_0x1e48cc)return;const _0x4b6cb9=isRecord(_0x4c2ce0[_0x32332a(0x18b)])?_0x4c2ce0[_0x32332a(0x18b)]:{},_0x134046=typeof _0x4b6cb9['status']===_0x32332a(0x1af)?_0x4b6cb9['status']:'';if(_0x1e48cc[_0x32332a(0x19f)+_0x32332a(0x1ef)]&&_0x134046==='accepted')return;this[_0x32332a(0x200)][_0x32332a(0x221)](_0x4870f6);_0x1e48cc[_0x32332a(0x1dd)]&&(clearTimeout(_0x1e48cc[_0x32332a(0x1dd)]),_0x1e48cc[_0x32332a(0x1dd)]=null);if(_0x4c2ce0['ok']===!![]){_0x1e48cc[_0x32332a(0x172)](_0x4c2ce0[_0x32332a(0x18b)]);return;}const _0x51ed2a=isRecord(_0x4c2ce0[_0x32332a(0x1f6)])?_0x4c2ce0['error']:{},_0x267670=typeof _0x51ed2a[_0x32332a(0x175)]==='string'?_0x51ed2a['message']:_0x32332a(0x20e)+'request\x20'+_0x32332a(0x22e)+_0x1e48cc[_0x32332a(0x1a2)];_0x1e48cc[_0x32332a(0x1f2)](new Error(_0x267670));}[_0x1d90ba(0x1c9)+'lReady'](_0x5742ec=0x2ee0){const _0x56a73c=_0x1d90ba;if(this['connecte'+'d'])return Promise[_0x56a73c(0x172)]();if(!this[_0x56a73c(0x1fb)])return Promise[_0x56a73c(0x1f2)](new Error('gateway\x20'+_0x56a73c(0x1c5)+_0x56a73c(0x1f7)+_0x56a73c(0x18f)));if(!this['ws'])this[_0x56a73c(0x17f)]();return new Promise((_0x21cd95,_0x51af85)=>{const _0x5cb1fe=_0x56a73c,_0x5cf9d6=setTimeout(()=>{const _0x5b875d=_0x1f5b;this[_0x5b875d(0x203)+'ters']=this[_0x5b875d(0x203)+_0x5b875d(0x1aa)][_0x5b875d(0x166)](_0x54bc8a=>_0x54bc8a[_0x5b875d(0x172)]!==_0x21cd95),_0x51af85(new Error(_0x5b875d(0x20e)+_0x5b875d(0x15c)+'ction\x20ti'+'med\x20out'));},_0x5742ec);this['readyWai'+_0x5cb1fe(0x1aa)]['push']({'resolve':_0x21cd95,'reject':_0x51af85,'timeout':_0x5cf9d6});});}[_0x1d90ba(0x183)+_0x1d90ba(0x1ba)+_0x1d90ba(0x214)](){const _0x29f3c3=_0x1d90ba,_0x245c97=[...this[_0x29f3c3(0x203)+_0x29f3c3(0x1aa)]];this[_0x29f3c3(0x203)+_0x29f3c3(0x1aa)]=[];for(const _0x4150bd of _0x245c97){clearTimeout(_0x4150bd[_0x29f3c3(0x1dd)]),_0x4150bd[_0x29f3c3(0x172)]();}}[_0x1d90ba(0x20d)+_0x1d90ba(0x231)+'rs'](_0x2e51e1){const _0x4b8e53=_0x1d90ba,_0x305430=[...this[_0x4b8e53(0x203)+_0x4b8e53(0x1aa)]];this['readyWai'+'ters']=[];for(const _0x1ccc0b of _0x305430){clearTimeout(_0x1ccc0b[_0x4b8e53(0x1dd)]),_0x1ccc0b[_0x4b8e53(0x1f2)](_0x2e51e1);}}[_0x1d90ba(0x1c0)+_0x1d90ba(0x193)](_0x8cf93e){const _0xfe9653=_0x1d90ba;for(const [_0x2d24c2,_0x4ccd88]of this[_0xfe9653(0x200)][_0xfe9653(0x1d8)]()){this[_0xfe9653(0x200)][_0xfe9653(0x221)](_0x2d24c2),_0x4ccd88[_0xfe9653(0x1dd)]&&(clearTimeout(_0x4ccd88[_0xfe9653(0x1dd)]),_0x4ccd88[_0xfe9653(0x1dd)]=null),_0x4ccd88[_0xfe9653(0x1f2)](_0x8cf93e);}}[_0x1d90ba(0x169)+_0x1d90ba(0x228)](_0xd84821){const _0x3c0752=_0x1d90ba,_0xc8063e=this[_0x3c0752(0x21d)+'d'],_0x3f6ed8=this[_0x3c0752(0x16c)+_0x3c0752(0x204)],_0xe636ef=this[_0x3c0752(0x16c)+_0x3c0752(0x20a)+_0x3c0752(0x1d7)]?Date[_0x3c0752(0x1d1)]()-this[_0x3c0752(0x16c)+_0x3c0752(0x20a)+_0x3c0752(0x1d7)]:0x0;this['ws']&&(this['ws'][_0x3c0752(0x229)+_0x3c0752(0x1a3)+'rs'](),this['ws']=null);this[_0x3c0752(0x21d)+'d']=![],this[_0x3c0752(0x15e)+'once']=null,this[_0x3c0752(0x1bb)+'ent']=![],this[_0x3c0752(0x1c0)+'nding'](new Error(_0xd84821||_0x3c0752(0x20e)+_0x3c0752(0x191)+_0x3c0752(0x17a))),this['rejectRe'+_0x3c0752(0x231)+'rs'](new Error(_0xd84821||_0x3c0752(0x20e)+_0x3c0752(0x191)+'nnected')),this[_0x3c0752(0x1b2)+_0x3c0752(0x214)]();!_0xc8063e&&this[_0x3c0752(0x1fb)]?.[_0x3c0752(0x212)+_0x3c0752(0x20f)]?.(_0x3c0752(0x190)+_0x3c0752(0x1f9)+'pt_faile'+'d',{'attempt':_0x3f6ed8,'phaseElapsedMs':_0xe636ef,'reason':_0xd84821?_0xd84821[_0x3c0752(0x15f)](0x0,0xa0):_0x3c0752(0x160)+_0x3c0752(0x1b6)+_0x3c0752(0x162)+'dy'});if(_0xd84821)this[_0x3c0752(0x1fb)]?.[_0x3c0752(0x1e1)+_0x3c0752(0x165)]?.(_0xd84821);if(!this[_0x3c0752(0x1ce)+'connect']||!this[_0x3c0752(0x1fb)])return;const _0x36808a=isGatewayStartingRetryReason(_0xd84821),_0x56d239=_0x36808a?GATEWAY_STARTING_RETRY_DELAY_MS:this[_0x3c0752(0x15b)+'tBackoff'+'Ms'];!_0x36808a&&(this[_0x3c0752(0x15b)+_0x3c0752(0x16f)+'Ms']=Math['min'](this[_0x3c0752(0x15b)+_0x3c0752(0x16f)+'Ms']*0x2,MAX_RECONNECT_BACKOFF_MS)),this['config'][_0x3c0752(0x212)+_0x3c0752(0x20f)]?.(_0x36808a?_0x3c0752(0x181)+'ing_retr'+'y_schedu'+_0x3c0752(0x217):_0x3c0752(0x190)+_0x3c0752(0x22a)+_0x3c0752(0x1b8)+'ed',{'attempt':_0x3f6ed8,'delayMs':_0x56d239,'nextDelayMs':this[_0x3c0752(0x15b)+_0x3c0752(0x16f)+'Ms'],'reason':_0xd84821?_0xd84821[_0x3c0752(0x15f)](0x0,0xa0):_0x3c0752(0x160)+_0x3c0752(0x1b6)+_0x3c0752(0x162)+'dy'}),this['reconnec'+_0x3c0752(0x207)]=setTimeout(()=>{const _0x559c00=_0x3c0752;this['reconnec'+_0x559c00(0x207)]=null,this[_0x559c00(0x17f)]();},_0x56d239);}[_0x1d90ba(0x1e7)+_0x1d90ba(0x1ea)+_0x1d90ba(0x22f)](){const _0x588ffc=_0x1d90ba;this[_0x588ffc(0x15b)+_0x588ffc(0x207)]&&(clearTimeout(this[_0x588ffc(0x15b)+_0x588ffc(0x207)]),this[_0x588ffc(0x15b)+_0x588ffc(0x207)]=null);}[_0x1d90ba(0x1b2)+_0x1d90ba(0x214)](){const _0x4eaf5e=_0x1d90ba;this[_0x4eaf5e(0x1e7)+_0x4eaf5e(0x1ea)+_0x4eaf5e(0x22f)](),this['connectC'+_0x4eaf5e(0x1d6)+'Timer']&&(clearTimeout(this[_0x4eaf5e(0x19b)+_0x4eaf5e(0x1d6)+'Timer']),this[_0x4eaf5e(0x19b)+_0x4eaf5e(0x1d6)+_0x4eaf5e(0x197)]=null);}}