@wujie-shell/core 2.0.2 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/wujie-shell.mjs +65 -0
- package/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -1
- package/dist/src/agents/bundled-agents.mjs +1 -1
- package/dist/src/chat/media-archive.mjs +1 -1
- package/dist/src/chat/queue.mjs +1 -1
- package/dist/src/common/diagnostics.mjs +1 -1
- package/dist/src/common/logging.mjs +1 -1
- package/dist/src/common/runtime-logger.mjs +1 -1
- package/dist/src/common/user-events.mjs +1 -1
- package/dist/src/common/utils.mjs +1 -1
- package/dist/src/config/controller.mjs +1 -1
- package/dist/src/connectors/config-utils.mjs +1 -1
- package/dist/src/connectors/constants.mjs +1 -1
- package/dist/src/connectors/controller.mjs +1 -1
- package/dist/src/connectors/kdocs-cli.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/files/generated-files-store.mjs +1 -1
- package/dist/src/files/handlers.mjs +1 -1
- package/dist/src/gateway/chat-delta.mjs +1 -0
- package/dist/src/gateway/controller.mjs +1 -1
- package/dist/src/gateway/ws-client.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -1
- package/dist/src/log-reporting/report-logs.mjs +1 -1
- package/dist/src/models/handlers.mjs +1 -1
- package/dist/src/preferences/store.mjs +1 -1
- package/dist/src/runtime/index.mjs +1 -1
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -0
- package/dist/src/runtime/plugin-sync.mjs +1 -1
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
- package/dist/src/sessions/runtime-bridge.mjs +1 -0
- package/dist/src/sessions/session-sqlite-store.mjs +1 -0
- package/dist/src/sessions/sql/001_init.sql +120 -0
- package/dist/src/sessions/sql/002_session_local_metadata.sql +15 -0
- package/dist/src/sessions/sql/schema.md +115 -0
- package/dist/src/skills/import.mjs +1 -1
- package/dist/src/skills/market.mjs +1 -1
- package/dist/src/terminal/manager.mjs +1 -1
- package/dist/src/updates/controller.mjs +1 -0
- 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 _0x34a1c4=_0x9f01;(function(_0xe713f9,_0x2e5f29){const _0x19e87=_0x9f01,_0xa4b5d0=_0xe713f9();while(!![]){try{const _0x56e7a4=-parseInt(_0x19e87(0xe1))/0x1*(parseInt(_0x19e87(0x1b8))/0x2)+-parseInt(_0x19e87(0x289))/0x3*(parseInt(_0x19e87(0x188))/0x4)+-parseInt(_0x19e87(0x180))/0x5+parseInt(_0x19e87(0xfd))/0x6*(parseInt(_0x19e87(0x173))/0x7)+parseInt(_0x19e87(0x20f))/0x8+parseInt(_0x19e87(0x24e))/0x9*(parseInt(_0x19e87(0x27c))/0xa)+parseInt(_0x19e87(0x1b4))/0xb;if(_0x56e7a4===_0x2e5f29)break;else _0xa4b5d0['push'](_0xa4b5d0['shift']());}catch(_0x332a52){_0xa4b5d0['push'](_0xa4b5d0['shift']());}}}(_0x1fab,0xbeb6d));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 _0xb3df8d,{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';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';function _0x9f01(_0x2f5a57,_0x51e1e0){_0x2f5a57=_0x2f5a57-0xb6;const _0x1fab85=_0x1fab();let _0x9f01b4=_0x1fab85[_0x2f5a57];return _0x9f01b4;}function _0x1fab(){const _0x46c72c=['now','TED]\x20--p','cron','leName','markConf','parse','values','mModels','utf8','once','6342325OXtWJy','modelRef','kill','127.0.0.','4lmQfVo','pted','ng:\x20','sent','chat','session','anscript','stall\x20fa','pluginId','remove','Settings','itialCon','user','ompleted','base64','ested','image/sv','finally','delete','log','allow','persistD','delete\x20c','onOrphan','ted','tatus\x20lo','sionLoca','achments','notifyGa','user_inp','skill\x20in','call','installP','MEMORY.m','ties','led:\x20','ame','aborted','bundled-','hell:gat','\x20list\x20co','length','ath','\x20failed','data','model','version','ubscribe','t\x20startu','setPinne',':run:','allowGat','eys\x20upda','manual\x20r','--port','nstall','process\x20','succeede','reate','rebuild','ing,\x20ple','default','agents.l','eded','skills',':session','\x20gateway','messageI','quired','Timer','stack','url','timeout','renamed','json','ready','sessionI','\x20waiting','enabled','toLowerC','eam\x20queu','unknown','\x20write\x20r','elete\x20is','servers','agentId','omModel','6051896uXFdRT','sessions','pop','--allow-','.delete','agent\x20ru','info','limit','exitCode','defaultI','writeCon','unconfig','cron.run','controll','updated_','\x20require','g+xml','port','started,','watchCon','toolsDen','close','models','eam.acce','agents','system','enqueue','keys','off','catch','.changed','chat\x20his','skills\x20c','onWarn','SIGTERM','oot','exited\x20u','led','Keys','ed;\x20plug','warn','channel','n\x20callba','nts.prep','image/gi','t\x20output','nexpecte','ync\x20fail','set','ntityPat','e\x20update','ucceeded','openclaw','\x20signal=','chat\x20fai','main','eam\x20requ','resolveS','res','stderr','odels','orphan\x20s','toString','16299RBoFRH','stionPlu','gateway-','applySes','session_','mcp','Claw\x20gat','cron-cha','agent_id','gateway','deny','running','agents\x20e','r-questi','Session','chat_str','iled','attachme','cursor','event\x20re','tewayRea','skills\x20s','0.1.0','in\x20disab','startedA','restart\x20','/ask-use','list','skillKey','ngs','starting','skills.s','ion/octe','has','nPluginE','text','chat.abo','isAskUse','stopped','clear','tools','tateDir','skill\x20up','request','reason','l-core,\x20','2290YlaDrF','setModel','hasOwnPr','onfig\x20sy','restart','updatedA','deleted','estart','mpleted','ated','image/we','websocke','unhealth','3fdFChV','ewayRest','spawn\x20re','then','ent','requeste','started','indexOf','-invalid','nfig\x20syn','chat\x20str','ion/json','closed','hex','cron.upd','\x20handled','WorkingD','--token','nd-poll','igRaw','pdate','create\x20r','done','ceived','changed','floor','ssionRec','pinned\x20k','not\x20Open','chat\x20abo','sStatus','state','modelNam','archive\x20','eway','ed\x20behin','ensureIn','text/csv','image/jp','errorMes','onfigure','provider','created','saveCust','技能安装失败:\x20','rename.s','sessionK','runtimeR','tatus','object','by\x20gatew','\x20settled','agent-ev','SIGKILL','chat-str','paths','ode=','mapSkill','test','workspac','patch','not_foun','pted\x20by\x20','session-','POST','sage','phase','igWriteH','chat\x20att','resolve','label','rQuestio','message','readConf','settled','cron.lis','file','skills.d','messageS','ents\x20syn','\x20failed\x20','behavior','\x20prepare','sted','dSession','ase','modelPro','ey\x20is\x20re','resolved','events\x20s','next-mes','tory\x20loa','string','ured','client','error','tings','image/pn','ginConfi','[wujie-s','get','end','getCusto','skills.i','splice','10059UFzZWa','nc\x20compl','ask-user','skills.u','terminal','fig','entries','ared','HEARTBEA','settings','27.0.0.1','method','image','run','er\x20stop\x20','fileName','n\x20[REDAC','dated','add','start','runId','eam\x20fail','.succeed','odel\x20set','ced','null','message\x20','.create','4610394pFEdUa','.patch','operty','stomMode','dispose','agents.c','status','Bin','outputTe','andledIn','find','session\x20','name','equired','restarti','bundled\x20','backgrou','agents.u','eam\x20acce','-questio','getModel','ay\x20state','efaultMo','join','.subscri','gatewayS','\x20context','uested','final','gateway\x20','pinnedKe','mcpServe','[REDACTE','\x20run\x20--a','ut.recei','history_','headers','ove','ck\x20disab','isArray','eady','exited','key','ded','toISOStr','Fallback','figChang','agent\x20sk','failed','uired','sha256','tokenPre','resolveC','not\x20foun','nChange','ist','onfigPat','text/pla','date\x20req','tings\x20up','setSelfO','eviceIde','ion/pdf','deleteCu','slice','getPinne','stop','jobId\x20is','configur','random','nged','ills\x20syn','destroy','ayRestar','e\x20shared','sync','filter','ntime\x20co','create.s','emit','stringif','deleteTr','producti','nt\x20recei','projectR','signalCo','reconnec','filePath','IDENTITY','max','ws://127','restartO','is\x20start','push','ndled\x20ag','writeHea','updated','achment\x20','lifecycl','equested','T.md','source','map','stall\x20re','exited\x20c','connecte','chat\x20run','invalid\x20','\x20for\x20WS','\x20run','pdate\x20is','applicat','agents-u','text/mar','session.','t\x20discon','ed:\x20','startsWi','7RVbHgZ','pinned-k','pid','user\x20inp','content','jobId','ternally','gnored','key\x20is\x20r','exit','function','c\x20failed','productN','1288390ebTTNG','assistan','agents\x20s','requestI','discover','t_output','er-secre','hydratio','5828876IipTNy','agents\x20l','expr','agents-r','dly','kUserQue','mimeType','stall\x20co','answers','digest','resolveD','chat.sen','new-sess','unauthor','wujieai.','health','type','cron-run','ion','d-files-','image/','\x20complet','debug','nsured','trimEnd','kdown','answer','configFi','USER.md','er\x20start','rename\x20c','ting:\x20','some','flush'];_0x1fab=function(){return _0x46c72c;};return _0x1fab();}import{createSessionSqliteStore}from'../sessions/session-sqlite-store.mjs';const LOG_LIMIT=0x3e8,CLIENT_ID=_0x34a1c4(0x250)+_0x34a1c4(0xd6),CLIENT_MODE='backend',CLIENT_DEVICE_FAMILY='desktop',TERMINAL_STREAM_FALLBACK_DELAY_MS=0x4b0,ATTACHMENT_MAX_BYTES=0x19*0x400*0x400,AGENT_EVENT_SESSION_INVALIDATION_DEBOUNCE_MS=0x320,SHARED_CONTEXT_FILES=['AGENTS.m'+'d',_0x34a1c4(0xe9)+_0x34a1c4(0x161),_0x34a1c4(0x155)+'.md',_0x34a1c4(0x1d9)+'d','SOUL.md','TOOLS.md',_0x34a1c4(0x1a4)],DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x34a1c4(0x14f)+'on',IS_PACKAGED_RUNTIME=!process.env.VITE_DEV_SERVER_URL&&process.env.NODE_ENV==='producti'+'on',BACKGROUND_CHAT_HISTORY_SOURCES=new Set(['agent-ev'+_0x34a1c4(0x28d),_0x34a1c4(0x10d)+_0x34a1c4(0x29b),'channel-'+_0x34a1c4(0x187)+'n',_0x34a1c4(0x250)+_0x34a1c4(0x203),'generate'+_0x34a1c4(0x19b)+_0x34a1c4(0x1f3),'generate'+_0x34a1c4(0x19b)+_0x34a1c4(0xb7)+_0x34a1c4(0x148),_0x34a1c4(0xb7)+_0x34a1c4(0x15d)]);function hashForDiagnostic(_0x1e93f9){const _0x227646=_0x34a1c4;return createHash(_0x227646(0x12f))['update'](String(_0x1e93f9??''))[_0x227646(0x191)](_0x227646(0x296))['slice'](0x0,0xc);}function createEmptyChatHistoryResult(_0x1eb2d3){return{'messages':[],'limit':_0x1eb2d3,'hasMore':![],'nextCursor':null};}function isChatHistoryNotFoundError(_0x4bd67a){const _0x5b713d=_0x34a1c4;return _0x4bd67a instanceof Error&&/\bHTTP 404\b/[_0x5b713d(0x2c3)](_0x4bd67a[_0x5b713d(0xc0)]);}function isCronRunSessionKey(_0x32ee7a){const _0x22530e=_0x34a1c4;return/^agent:[^:]+:cron:automation-[^:]+:run:[^:]+$/[_0x22530e(0x2c3)](String(_0x32ee7a??''));}function normalizeCronRunSessionKey(_0x54d167){const _0x469f63=_0x34a1c4,_0x3cabce=getTrimmedString(_0x54d167);if(!isCronRunSessionKey(_0x3cabce))return _0x3cabce;return _0x3cabce['slice'](0x0,_0x3cabce[_0x469f63(0x290)](_0x469f63(0x1ea)));}export function syncBundledAgentRuntimeConfig(_0x5956d8,_0x36cd8f=[]){const _0x18845e=_0x34a1c4,_0x3370fe=_0x36cd8f[_0x18845e(0x149)](_0x4c678c=>{const _0x19467c=_0x18845e,_0x1a21dd=asRecord(_0x4c678c);return asStringArray(_0x1a21dd[_0x19467c(0x223)+'y'])[_0x19467c(0x1e1)]>0x0||Object[_0x19467c(0x22a)](asRecord(_0x1a21dd[_0x19467c(0x11c)+'rs']))[_0x19467c(0x1e1)]>0x0;});if(_0x3370fe[_0x18845e(0x1e1)]===0x0)return{'config':_0x5956d8,'changed':![]};let _0x45842c=![];const _0x2aac13={...asRecord(_0x5956d8)},_0x2940b6={...asRecord(_0x2aac13['agents'])},_0x3faf23=Array[_0x18845e(0x124)](_0x2940b6[_0x18845e(0x269)])?_0x2940b6[_0x18845e(0x269)]:[],_0x1cb19f=_0x3faf23[_0x18845e(0x163)](_0x3900d6=>_0x3900d6&&typeof _0x3900d6===_0x18845e(0x2ba)?{..._0x3900d6}:_0x3900d6),_0x40d625={...asRecord(_0x2aac13[_0x18845e(0x276)])};let _0x34f888=asStringArray(_0x40d625[_0x18845e(0x258)]);const _0xcf53c0={...asRecord(_0x2aac13['mcp'])},_0x2a4cab={...asRecord(_0xcf53c0[_0x18845e(0x20c)]??_0x2aac13[_0x18845e(0x11c)+'rs'])};for(const _0x26d228 of _0x3370fe){const _0x260d81=getTrimmedString(_0x26d228[_0x18845e(0x109)]);if(!_0x260d81)continue;const _0x1a3ceb=_0x260d81===_0x18845e(0x246)?null:_0x1cb19f['find'](_0x3843d2=>getTrimmedString(asRecord(_0x3843d2)['id'])===_0x260d81),_0x1e0d0a=asStringArray(_0x26d228[_0x18845e(0x223)+'y']);if(_0x1a3ceb&&_0x1e0d0a[_0x18845e(0x1e1)]>0x0){'toolsDen'+'y'in _0x1a3ceb&&(delete _0x1a3ceb[_0x18845e(0x223)+'y'],_0x45842c=!![]);const _0x4fb439=dedupeStrings([..._0x34f888,..._0x1e0d0a]);JSON[_0x18845e(0x14d)+'y'](_0x4fb439)!==JSON['stringif'+'y'](_0x34f888)&&(_0x34f888=_0x4fb439,_0x45842c=!![]);}const _0x332eec=asRecord(_0x26d228[_0x18845e(0x11c)+'rs']);if(Object[_0x18845e(0x22a)](_0x332eec)[_0x18845e(0x1e1)]>0x0){_0x1a3ceb&&(_0x18845e(0x11c)+'rs'in _0x1a3ceb&&(delete _0x1a3ceb['mcpServe'+'rs'],_0x45842c=!![]));for(const [_0x2bdeda,_0xb5dac8]of Object[_0x18845e(0xe7)](_0x332eec)){if(JSON[_0x18845e(0x14d)+'y'](_0x2a4cab[_0x2bdeda])===JSON['stringif'+'y'](_0xb5dac8))continue;_0x2a4cab[_0x2bdeda]=_0xb5dac8,_0x45842c=!![];}}}return _0x45842c&&(_0x2940b6[_0x18845e(0x269)]=_0x1cb19f,_0x2aac13[_0x18845e(0x227)]=_0x2940b6,Object[_0x18845e(0x22a)](_0x2a4cab)[_0x18845e(0x1e1)]>0x0&&(_0xcf53c0['servers']=_0x2a4cab,_0x2aac13[_0x18845e(0x253)]=_0xcf53c0),_0x34f888[_0x18845e(0x1e1)]>0x0&&(_0x40d625[_0x18845e(0x258)]=_0x34f888,_0x2aac13[_0x18845e(0x276)]=_0x40d625)),{'config':_0x2aac13,'changed':_0x45842c};}function nowIso(){const _0xe3a84e=_0x34a1c4;return new Date()[_0xe3a84e(0x129)+'ing']();}function waitForChildExit(_0x25b25f,_0x25b231=0x1388){const _0x5cefed=_0x34a1c4;if(!_0x25b25f||_0x25b25f[_0x5cefed(0x217)]!==null||_0x25b25f[_0x5cefed(0x152)+'de'])return Promise[_0x5cefed(0xbd)](!![]);return new Promise(_0x28aaba=>{const _0x141730=_0x5cefed;let _0x58cc1c=![];const _0x3ee019=_0x3ca504=>{const _0x3b82e6=_0x9f01;if(_0x58cc1c)return;_0x58cc1c=!![],clearTimeout(_0x44c400),_0x25b25f[_0x3b82e6(0x22b)]('exit',_0x2be1b8),_0x25b25f[_0x3b82e6(0x22b)](_0x3b82e6(0x224),_0x2be1b8),_0x28aaba(_0x3ca504);},_0x2be1b8=()=>_0x3ee019(!![]),_0x44c400=setTimeout(()=>_0x3ee019(![]),_0x25b231);_0x25b25f[_0x141730(0x1b3)](_0x141730(0x17c),_0x2be1b8),_0x25b25f[_0x141730(0x1b3)]('close',_0x2be1b8);});}function buildGatewayWsUrl(_0x37f4c0){const _0x3041c9=_0x34a1c4;return _0x3041c9(0x157)+'.0.0.1:'+_0x37f4c0;}function createInitialStatus(){const _0x673a7c=_0x34a1c4;return{'lifecycle':_0x673a7c(0x274),'health':_0x673a7c(0x209),'port':null,'tokenPresent':![],'initialStartupComplete':![],'message':_0x673a7c(0x11a)+_0x673a7c(0x274),'updatedAt':nowIso()};}export function createMainAgentFallback(_0x1fdd24){const _0xe87090=_0x34a1c4;return{'id':_0xe87090(0x246),'name':'通用','workspace':join(_0x1fdd24['resolveS'+_0xe87090(0x277)](),_0xe87090(0x2c4)+'e')};}export async function readConfiguredAgentsForPendingList(_0x28bf0a){const _0x5483b7=_0x34a1c4;try{const _0x220260=await _0x28bf0a['readConf'+'igRaw'](),_0x4a6693=asRecord(_0x220260[_0x5483b7(0x227)]);return Array[_0x5483b7(0x124)](_0x4a6693[_0x5483b7(0x269)])?_0x4a6693[_0x5483b7(0x269)]:[];}catch{return[];}}export function orderAgentsByConfiguredList(_0x419d61,_0x5003d6){const _0x58a184=_0x34a1c4,_0x241e8f=Array[_0x58a184(0x124)](_0x419d61)?_0x419d61:[],_0x1c4d63=Array[_0x58a184(0x124)](_0x5003d6)?_0x5003d6:[];if(_0x1c4d63['length']===0x0)return[..._0x241e8f];const _0x311318=new Map();for(const _0x592983 of _0x241e8f){const _0x6985c9=getTrimmedString(asRecord(_0x592983)['id']);if(_0x6985c9&&!_0x311318[_0x58a184(0x26f)](_0x6985c9))_0x311318[_0x58a184(0x23f)](_0x6985c9,_0x592983);}const _0x1e8596=new Set(),_0x4a512a=[];for(const _0x3f2229 of _0x1c4d63){const _0x4d3435=getTrimmedString(asRecord(_0x3f2229)['id']);if(!_0x4d3435||_0x1e8596[_0x58a184(0x26f)](_0x4d3435))continue;const _0x59acfc=_0x311318[_0x58a184(0xdc)](_0x4d3435);_0x4a512a['push'](_0x59acfc?{..._0x3f2229,..._0x59acfc}:_0x3f2229),_0x1e8596[_0x58a184(0xf3)](_0x4d3435);}for(const _0x4518a3 of _0x241e8f){const _0x4b3433=getTrimmedString(asRecord(_0x4518a3)['id']);if(!_0x4b3433||_0x1e8596['has'](_0x4b3433))continue;_0x4a512a['push'](_0x4518a3),_0x1e8596['add'](_0x4b3433);}return _0x4a512a;}function extractGatewayMessageText(_0x3ed053){const _0x4c6a63=_0x34a1c4;if(typeof _0x3ed053===_0x4c6a63(0xd4))return _0x3ed053;if(!Array[_0x4c6a63(0x124)](_0x3ed053))return'';const _0x5afb65=[];for(const _0x72e8a0 of _0x3ed053){if(typeof _0x72e8a0==='string'){if(_0x72e8a0)_0x5afb65[_0x4c6a63(0x15a)](_0x72e8a0);continue;}const _0x36d882=asRecord(_0x72e8a0);_0x36d882['type']===_0x4c6a63(0x271)&&typeof _0x36d882[_0x4c6a63(0x271)]===_0x4c6a63(0xd4)&&_0x36d882[_0x4c6a63(0x271)]&&_0x5afb65['push'](_0x36d882['text']);}return _0x5afb65[_0x4c6a63(0x114)]('\x0a');}function extractGatewayChatText(_0x301ad6){const _0x4df2ae=_0x34a1c4,_0x2a3eb4=asRecord(_0x301ad6);if(typeof _0x2a3eb4[_0x4df2ae(0x271)]===_0x4df2ae(0xd4))return _0x2a3eb4[_0x4df2ae(0x271)];return extractGatewayMessageText(_0x2a3eb4[_0x4df2ae(0x177)]);}function applySkillConfigStateToStatus(_0x53453d,_0x925989){const _0x1b6ed3=_0x34a1c4,_0x649120=asRecord(_0x53453d),_0x40237c=Array[_0x1b6ed3(0x124)](_0x649120['skills'])?_0x649120[_0x1b6ed3(0x1f8)]:[];if(_0x40237c['length']===0x0)return _0x53453d;const _0x1ebd84=asRecord(asRecord(asRecord(_0x925989)[_0x1b6ed3(0x1f8)])[_0x1b6ed3(0xe7)]);if(Object[_0x1b6ed3(0x22a)](_0x1ebd84)['length']===0x0)return _0x53453d;const _0x1cd3ef=_0x40237c[_0x1b6ed3(0x163)](_0x1b3a5f=>{const _0x4a0291=_0x1b6ed3,_0x4d2f7d=asRecord(_0x1b3a5f),_0x3273f6=[getTrimmedString(_0x4d2f7d[_0x4a0291(0x116)+'killKey']),getTrimmedString(_0x4d2f7d[_0x4a0291(0x26a)]),getTrimmedString(_0x4d2f7d['name'])][_0x4a0291(0x149)](Boolean),_0x27b9eb=_0x3273f6[_0x4a0291(0x107)](_0x28ecc8=>Object['prototyp'+'e'][_0x4a0291(0x27e)+_0x4a0291(0xff)][_0x4a0291(0x1d7)](_0x1ebd84,_0x28ecc8));if(!_0x27b9eb)return _0x1b3a5f;const _0x533f36=asRecord(_0x1ebd84[_0x27b9eb]);if(typeof _0x533f36[_0x4a0291(0x206)]!=='boolean')return _0x1b3a5f;return{..._0x4d2f7d,'disabled':_0x533f36[_0x4a0291(0x206)]===![]};});return{..._0x649120,'skills':_0x1cd3ef};}function guessMimeType(_0x33a43b){const _0x4923c6=_0x34a1c4,_0xaf4596=_0x33a43b['split']('.')[_0x4923c6(0x211)]()?.[_0x4923c6(0x207)+_0x4923c6(0xcd)]()??'',_0x2985ef={'png':_0x4923c6(0xd9)+'g','jpg':_0x4923c6(0x2af)+'eg','jpeg':'image/jp'+'eg','webp':_0x4923c6(0x286)+'bp','gif':_0x4923c6(0x23b)+'f','svg':_0x4923c6(0x1c8)+_0x4923c6(0x21f),'pdf':_0x4923c6(0x16c)+_0x4923c6(0x13b),'txt':_0x4923c6(0x136)+'in','md':_0x4923c6(0x16e)+_0x4923c6(0x1a1),'json':_0x4923c6(0x16c)+_0x4923c6(0x294),'csv':_0x4923c6(0x2ae)};return _0x2985ef[_0xaf4596]||_0x4923c6(0x16c)+_0x4923c6(0x26e)+'t-stream';}async function buildAttachments(_0x45c32e=[],_0x26badf={}){const _0x197f58=_0x34a1c4,_0x27223a=[],_0x3cb694=[];for(const _0x5862c1 of _0x45c32e){const _0x5b9b8c=getTrimmedString(_0x5862c1);if(!_0x5b9b8c)continue;const _0x549d93=await stat(_0x5b9b8c);if(!_0x549d93['isFile']())continue;if(_0x549d93['size']>ATTACHMENT_MAX_BYTES)throw new Error(_0x197f58(0x25f)+'nt\x20too\x20l'+'arge:\x20'+basename(_0x5b9b8c));const _0x4d0551=guessMimeType(_0x5b9b8c);_0x27223a[_0x197f58(0x15a)]({'type':_0x4d0551[_0x197f58(0x172)+'th'](_0x197f58(0x19c))?_0x197f58(0xed):_0x197f58(0xc4),'mimeType':_0x4d0551,'content':(await readFile(_0x5b9b8c))[_0x197f58(0x24d)](_0x197f58(0x1c6)),'fileName':basename(_0x5b9b8c)});if(_0x26badf[_0x197f58(0x2b7)+'ey']&&_0x26badf['stateDir']){const _0x22e6e1=await archiveChatAttachmentForHistory({'mediaPath':_0x5b9b8c,'sessionKey':_0x26badf[_0x197f58(0x2b7)+'ey'],'stateDir':_0x26badf['stateDir'],'onWarn':_0x244d74=>_0x26badf[_0x197f58(0x230)]?.(_0x244d74)});_0x3cb694[_0x197f58(0x15a)]('[media\x20a'+'ttached:'+'\x20'+_0x22e6e1+'\x20('+_0x4d0551+')]');}}return{'attachments':_0x27223a,'historyMediaLines':_0x3cb694};}function buildSessionCreateRequestPayload(_0x1fea5e={}){const _0x1dbd7c=_0x34a1c4,_0x362351={},_0x50be19=Math[_0x1dbd7c(0x142)]()[_0x1dbd7c(0x24d)](0x24)[_0x1dbd7c(0x13d)](0x2,0xf),_0x4fa761=getTrimmedString(_0x1fea5e[_0x1dbd7c(0x20d)])||_0x1dbd7c(0x246),_0x2dc83a=getTrimmedString(_0x1fea5e[_0x1dbd7c(0x127)])||'agent:'+_0x4fa761+(_0x1dbd7c(0x1f9)+'-')+Date[_0x1dbd7c(0x1aa)]();_0x362351[_0x1dbd7c(0x127)]=_0x2dc83a+'-'+_0x50be19,_0x362351[_0x1dbd7c(0x20d)]=_0x4fa761;const _0xc02f43=getTrimmedString(_0x1fea5e[_0x1dbd7c(0xbe)]);if(_0xc02f43)_0x362351['label']=_0xc02f43+'-'+_0x50be19;for(const _0x9c3c5a of[_0x1dbd7c(0x1e5),'parentSe'+'ssionKey','task',_0x1dbd7c(0xc0)]){const _0x1b9923=getTrimmedString(_0x1fea5e[_0x9c3c5a]);if(_0x1b9923)_0x362351[_0x9c3c5a]=_0x1b9923;}return _0x362351;}function normalizeCronMutationParams(_0x5cbc2b={}){const _0x3fdca0=_0x34a1c4,_0x21e923={...asRecord(_0x5cbc2b)},_0x440d00=asRecord(_0x21e923['schedule']);if(Object['keys'](_0x440d00)[_0x3fdca0(0x1e1)]>0x0){const _0x2ef5e2={..._0x440d00},_0x480add=getTrimmedString(_0x2ef5e2[_0x3fdca0(0x1ac)]);_0x480add&&!getTrimmedString(_0x2ef5e2[_0x3fdca0(0x18a)])&&(_0x2ef5e2[_0x3fdca0(0x18a)]=_0x480add),delete _0x2ef5e2[_0x3fdca0(0x1ac)],_0x21e923['schedule']=_0x2ef5e2;}return _0x21e923;}function parseSessionCreateResult(_0x2a7f2a){const _0x26673e=_0x34a1c4,_0x1a107c=asRecord(_0x2a7f2a),_0x16b7bc=asRecord(_0x1a107c[_0x26673e(0x1bd)]);return{'ok':!![],'key':getTrimmedString(_0x1a107c['key'])||getTrimmedString(_0x1a107c['sessionK'+'ey'])||getTrimmedString(_0x16b7bc['key'])||null,'sessionId':getTrimmedString(_0x1a107c[_0x26673e(0x204)+'d'])||getTrimmedString(_0x16b7bc[_0x26673e(0x204)+'d'])||null};}function getSessionKeyFromValue(_0x131b7a){const _0xaf4a78=_0x34a1c4,_0x44ee17=asRecord(_0x131b7a);return getTrimmedString(_0x44ee17['sessionK'+'ey']??_0x44ee17[_0xaf4a78(0x127)]??_0x44ee17['id']);}function filterValidSessionList(_0x1b15dc,_0x4342bb={}){const _0x3ca294=_0x34a1c4,_0x34ecf9=asRecord(_0x1b15dc),_0x225dab=Array[_0x3ca294(0x124)](_0x34ecf9[_0x3ca294(0x210)])?_0x34ecf9[_0x3ca294(0x210)]:[],_0x9ae33d=typeof _0x4342bb[_0x3ca294(0x1cf)+_0x3ca294(0x25c)]===_0x3ca294(0x17d)?_0x4342bb['onOrphan'+_0x3ca294(0x25c)]:null;return{..._0x34ecf9,'sessions':_0x225dab[_0x3ca294(0x163)](_0xc1a9a2=>{const _0x42378a=_0x3ca294,_0xdb0d9b=asRecord(_0xc1a9a2),_0x37ea3c=getSessionKeyFromValue(_0xdb0d9b);if(!_0x37ea3c)return _0xc1a9a2;const _0xbe069=getTrimmedString(_0xdb0d9b[_0x42378a(0x204)+'d'])||getTrimmedString(_0xdb0d9b[_0x42378a(0x252)+'id']);if(!_0xbe069)return _0x9ae33d?.(_0x37ea3c,{'updatedAt':_0xdb0d9b[_0x42378a(0x281)+'t']??_0xdb0d9b[_0x42378a(0x21d)+'at']??null,'agentId':getTrimmedString(_0xdb0d9b['agentId']??_0xdb0d9b[_0x42378a(0x256)])}),null;return _0xdb0d9b;})['filter'](Boolean)};}function sanitizeSharedContextPayload(_0x4886b5){const _0x589a0d=_0x34a1c4,_0x344d47=asRecord(_0x4886b5),_0x26ec62={};for(const _0x3695a7 of SHARED_CONTEXT_FILES){if(typeof _0x344d47[_0x3695a7]===_0x589a0d(0xd4))_0x26ec62[_0x3695a7]=_0x344d47[_0x3695a7];}return _0x26ec62;}async function readSharedContext(_0x38a40a){const _0x458f33=_0x34a1c4,_0x86520a={};for(const _0x4df129 of SHARED_CONTEXT_FILES){try{_0x86520a[_0x4df129]=await readFile(join(_0x38a40a,_0x4df129),_0x458f33(0x1b2));}catch{_0x86520a[_0x4df129]='';}}return _0x86520a;}async function writeSharedContext(_0x1af9d4,_0x3cc1d8){const _0x6c95b4=_0x34a1c4,_0x31886d=sanitizeSharedContextPayload(_0x3cc1d8);await mkdir(_0x1af9d4,{'recursive':!![]});for(const [_0x1ed3f5,_0x220dcc]of Object[_0x6c95b4(0xe7)](_0x31886d)){await writeFile(join(_0x1af9d4,_0x1ed3f5),_0x220dcc,'utf8');}return{'ok':!![],'files':Object['keys'](_0x31886d)};}function createAskUserQuestionServer({configController:_0xd8fe03,emit:_0x54ebc9}){const _0x4ebb88=new Map();let _0x39c1f4=null,_0x7266ad='',_0x44f97b='';async function _0x347cdc(){const _0x24e271=_0x9f01;if(_0x39c1f4)return{'callbackUrl':_0x7266ad,'secret':_0x44f97b};_0x44f97b=randomUUID();const _0x50e0ad=await _0xb3df8d({'port':portNumbers(0x332c,0x338f)});return _0x7266ad='http://1'+_0x24e271(0xeb)+':'+_0x50e0ad+(_0x24e271(0x268)+_0x24e271(0x25b)+'on'),_0x39c1f4=createServer(async(_0x2d0cb7,_0xcf7e8)=>{const _0x1a1af6=_0x24e271;if(_0x2d0cb7[_0x1a1af6(0xec)]!==_0x1a1af6(0xb8)||_0x2d0cb7[_0x1a1af6(0x1ff)]!==_0x1a1af6(0x268)+_0x1a1af6(0x25b)+'on'){_0xcf7e8[_0x1a1af6(0x15c)+'d'](0x194),_0xcf7e8[_0x1a1af6(0xdd)](_0x1a1af6(0x132)+'d');return;}if(_0x2d0cb7[_0x1a1af6(0x121)]['x-ask-us'+_0x1a1af6(0x186)+'t']!==_0x44f97b){_0xcf7e8[_0x1a1af6(0x15c)+'d'](0x191),_0xcf7e8[_0x1a1af6(0xdd)](_0x1a1af6(0x195)+'ized');return;}let _0x21a3ad='';_0x2d0cb7['on'](_0x1a1af6(0x1e4),_0x44a5b8=>{const _0x134772=_0x1a1af6;_0x21a3ad+=_0x44a5b8[_0x134772(0x24d)]();if(_0x21a3ad[_0x134772(0x1e1)]>0x400*0x400)_0x2d0cb7[_0x134772(0x145)]();}),_0x2d0cb7['on'](_0x1a1af6(0xdd),()=>{const _0x537444=_0x1a1af6;let _0x450019={};try{_0x450019=JSON[_0x537444(0x1af)](_0x21a3ad||'{}');}catch{_0xcf7e8[_0x537444(0x15c)+'d'](0x190),_0xcf7e8[_0x537444(0xdd)](_0x537444(0x168)+'json');return;}const _0x1936c2=randomUUID(),_0x4dc3ea=setTimeout(()=>{const _0x8f16de=_0x537444;if(!_0x4ebb88[_0x8f16de(0x26f)](_0x1936c2))return;_0x4ebb88[_0x8f16de(0x1ca)](_0x1936c2),_0xcf7e8[_0x8f16de(0x15c)+'d'](0xc8,{'content-type':'applicat'+'ion/json'}),_0xcf7e8[_0x8f16de(0xdd)](JSON[_0x8f16de(0x14d)+'y']({'behavior':'deny'}));},0x1d4c0);_0x4ebb88['set'](_0x1936c2,{'res':_0xcf7e8,'timeout':_0x4dc3ea}),_0x54ebc9(_0x537444(0xe3)+_0x537444(0x110)+'n',{'requestId':_0x1936c2,...asRecord(_0x450019)});});}),await new Promise((_0x5e8752,_0x2aac2e)=>{const _0x52fca1=_0x24e271;_0x39c1f4['once'](_0x52fca1(0xd7),_0x2aac2e),_0x39c1f4['listen'](_0x50e0ad,_0x52fca1(0x1b7)+'1',()=>{const _0x1e0c38=_0x52fca1;_0x39c1f4[_0x1e0c38(0x22b)](_0x1e0c38(0xd7),_0x2aac2e),_0x5e8752();});}),await _0xd8fe03['ensureAs'+_0x24e271(0x18d)+_0x24e271(0x24f)+_0x24e271(0xda)+'g']({'callbackUrl':_0x7266ad,'secret':_0x44f97b}),{'callbackUrl':_0x7266ad,'secret':_0x44f97b};}function _0x43c3ad(_0x4bf440={}){const _0x1abded=_0x9f01,_0x4ef63f=getTrimmedString(_0x4bf440[_0x1abded(0x183)+'d']);if(!_0x4ef63f||!_0x4ebb88[_0x1abded(0x26f)](_0x4ef63f))throw new Error('ask-user'+_0x1abded(0x110)+'n\x20reques'+'t\x20not\x20fo'+'und');const _0x468226=_0x4ebb88[_0x1abded(0xdc)](_0x4ef63f);return _0x4ebb88['delete'](_0x4ef63f),clearTimeout(_0x468226[_0x1abded(0x200)]),_0x468226[_0x1abded(0x249)][_0x1abded(0x15c)+'d'](0xc8,{'content-type':_0x1abded(0x16c)+_0x1abded(0x294)}),_0x468226[_0x1abded(0x249)][_0x1abded(0xdd)](JSON[_0x1abded(0x14d)+'y']({'behavior':_0x4bf440[_0x1abded(0xc9)]==='deny'?'deny':_0x1abded(0x1cc),'answers':asRecord(_0x4bf440[_0x1abded(0x190)])})),{'ok':!![]};}async function _0x2f160c(){const _0x38cb84=_0x9f01;for(const [_0x5e1d7c,_0x3d7c4b]of _0x4ebb88){_0x4ebb88['delete'](_0x5e1d7c),clearTimeout(_0x3d7c4b['timeout']),_0x3d7c4b[_0x38cb84(0x249)][_0x38cb84(0x15c)+'d'](0xc8,{'content-type':_0x38cb84(0x16c)+_0x38cb84(0x294)}),_0x3d7c4b[_0x38cb84(0x249)]['end'](JSON[_0x38cb84(0x14d)+'y']({'behavior':_0x38cb84(0x258)}));}if(!_0x39c1f4)return;await new Promise(_0x1df636=>_0x39c1f4[_0x38cb84(0x224)](_0x1df636)),_0x39c1f4=null;}return{'start':_0x347cdc,'answer':_0x43c3ad,'stop':_0x2f160c};}export function createGatewayController({shellConfig:_0x4eac97,configController:_0x42cb2c,appVersion:appVersion=_0x34a1c4(0x264),productRuntimeHooks:productRuntimeHooks={},userEventWriter:userEventWriter=null,sessionSqliteStore:sessionSqliteStore=null}){const _0x5afb57=_0x34a1c4,_0x3d1111=new EventEmitter(),_0x315aeb=new ClawGatewayWsClient(),_0x479e17=[],_0x126cfd=new Map(),_0x42d218=createGatewayChatQueue(),_0xe7f1de=new Map(),_0x409265=new Set();let _0x369c22=null,_0x1e493b='';const _0x3b7318=createShellLogger(_0x42cb2c['paths'],'gateway'),_0x4199a0=createShellLogger(_0x42cb2c[_0x5afb57(0x2c0)],_0x5afb57(0x1bc)),_0x480b31=createShellLogger(_0x42cb2c['paths'],_0x5afb57(0x210)),_0x5b43a2=createShellLogger(_0x42cb2c[_0x5afb57(0x2c0)],'capabili'+_0x5afb57(0x1da)),_0x5ec064=sessionSqliteStore||createSessionSqliteStore({'stateDir':_0x42cb2c[_0x5afb57(0x248)+_0x5afb57(0x277)]()}),_0xccca97=createMarketSkillRuntime({'configController':_0x42cb2c}),_0x50bb77=createAskUserQuestionServer({'configController':_0x42cb2c,'emit':(_0x702ab2,_0x5d61ad)=>_0x3d1111['emit'](_0x702ab2,_0x5d61ad)});let _0x16b181=createInitialStatus(),_0x2a6254=null,_0xc09a8c=null,_0x56d6b=null,_0x2c3811=![],_0x50753c=![],_0x3c56f0=![],_0x9c7dd5=Promise[_0x5afb57(0xbd)](),_0xe3882d=null,_0x130255=0x0,_0x4e9b88=0x0;function _0x500188(_0x535d34,_0x5a4650){const _0x5b2262=_0x5afb57;_0x3d1111[_0x5b2262(0x14c)](_0x535d34,_0x5a4650);}function _0xa5dbac(_0x6f7835,_0x4ec66f){const _0x7edf5d=_0x5afb57;return _0x3d1111['on'](_0x6f7835,_0x4ec66f),()=>_0x3d1111[_0x7edf5d(0x22b)](_0x6f7835,_0x4ec66f);}function _0x54ce4f(_0x521e30){const _0x4487ca=_0x5afb57;userEventWriter?.['write'](_0x521e30)?.[_0x4487ca(0x22c)](()=>{});}function _0x4e37e7(_0x375396){const _0x2f297d=_0x5afb57;_0x16b181={..._0x16b181,..._0x375396,'updatedAt':nowIso()},_0x500188(_0x2f297d(0x250)+'status',_0x16b181);}function _0x203cca(_0x1233bc,_0x19fd74,_0x26d780={}){const _0x2882d7=_0x5afb57;_0x4e37e7({'lifecycle':_0x1233bc,'message':_0x19fd74,..._0x1233bc===_0x2882d7(0x259)?{'initialStartupComplete':!![]}:{},..._0x26d780}),_0x30bfe1(_0x2882d7(0x228),_0x1233bc['toUpperC'+_0x2882d7(0xcd)]()+'\x20'+_0x19fd74),_0x3b7318?.[_0x2882d7(0x215)](_0x2882d7(0x11a)+_0x2882d7(0x15f)+_0x2882d7(0x241)+'d',{'lifecycle':_0x1233bc,'message':_0x19fd74,'status':{'health':_0x16b181[_0x2882d7(0x197)],'port':_0x16b181[_0x2882d7(0x220)],'tokenPresent':_0x16b181[_0x2882d7(0x130)+_0x2882d7(0x1bb)]},...summarizePayload(_0x26d780)});}function _0x30bfe1(_0x4f12b0,_0x414ad7){const _0x4eaf41=_0x5afb57,_0x45ff60=String(_0x414ad7??'')[_0x4eaf41(0x1a0)]();if(!_0x45ff60)return;if(DEBUG_STDOUT){const _0x21c7be=_0x4f12b0===_0x4eaf41(0x24a)?console['error']:console[_0x4eaf41(0x215)];_0x21c7be(_0x4eaf41(0xdb)+_0x4eaf41(0x1df)+'eway:'+_0x4f12b0+']',_0x45ff60);}const _0x3e9939={'source':_0x4f12b0,'text':_0x45ff60,'timestamp':nowIso()};_0x479e17[_0x4eaf41(0x15a)](_0x3e9939);if(_0x479e17[_0x4eaf41(0x1e1)]>LOG_LIMIT)_0x479e17[_0x4eaf41(0xe0)](0x0,_0x479e17[_0x4eaf41(0x1e1)]-LOG_LIMIT);_0x500188('gateway-'+_0x4eaf41(0x1cb),_0x3e9939),/\[gateway\]\s+ready\b/['test'](_0x45ff60)&&_0x315aeb[_0x4eaf41(0x1d4)+_0x4eaf41(0x262)+'dy'](),_0x3b7318?.[_0x4eaf41(0x215)]('gateway\x20'+_0x4eaf41(0x1cb),{'source':_0x4f12b0,'text':_0x45ff60});}function _0x1f5335(_0x79ae0a,_0x31dd0d,_0x3a5b23={}){const _0xd7948d=_0x5afb57,_0x394469=_0x31dd0d+':'+_0x79ae0a;if(_0x409265[_0xd7948d(0x26f)](_0x394469))return;_0x409265[_0xd7948d(0xf3)](_0x394469),_0x480b31?.['warn'](_0xd7948d(0x24c)+'ession\x20i'+_0xd7948d(0x17a),{'reason':_0x31dd0d,'sessionKeyHash':hashForDiagnostic(_0x79ae0a),..._0x3a5b23});}function _0x69782f(_0x300853=0xc8){const _0x57e929=_0x5afb57;return _0x479e17[_0x57e929(0x13d)](-Math[_0x57e929(0x156)](0x1,Math[_0x57e929(0x2a2)](_0x300853)));}function _0x4d754b(){const _0x284e08=_0x5afb57;if(!_0x2a6254||_0x16b181[_0x284e08(0x15f)+'e']!==_0x284e08(0x259))throw new Error(_0x284e08(0x11a)+_0x284e08(0x159)+_0x284e08(0x1f4)+'ase\x20retr'+'y\x20shortl'+'y');}async function _0x418b31(_0x3ed9a4=0x3a98){const _0x168f43=_0x5afb57;if(_0x3fbcdc())return!![];const _0x151bce=Date[_0x168f43(0x1aa)]();while(Date['now']()-_0x151bce<_0x3ed9a4){await new Promise(_0x53ad93=>setTimeout(_0x53ad93,0xfa));if(_0x3fbcdc())return!![];}return _0x4d754b(),!![];}function _0x3fbcdc(){const _0x5db0b3=_0x5afb57;return Boolean(_0x2a6254&&_0x16b181[_0x5db0b3(0x15f)+'e']===_0x5db0b3(0x259));}function _0x4cb931(_0x1f3217){const _0x42095f=_0x5afb57;_0x500188(_0x42095f(0x2bf)+'eam-even'+'t',_0x1f3217);}function _0xa18cc9(){let _0x3e5658=![],_0x640a33=()=>{};const _0x44f501=new Promise(_0x1cf755=>{_0x640a33=()=>{if(_0x3e5658)return;_0x3e5658=!![],_0x1cf755();};});return{'settled':_0x44f501,'resolveSettled':_0x640a33};}function _0x43e120(_0x426e87){const _0x504999=_0x5afb57,_0x1d11e2=_0x126cfd[_0x504999(0xdc)](_0x426e87);if(!_0x1d11e2)return null;_0x126cfd[_0x504999(0x1ca)](_0x426e87);if(_0x1d11e2['terminal'+_0x504999(0x12a)+'Timer'])clearTimeout(_0x1d11e2[_0x504999(0xe5)+_0x504999(0x12a)+'Timer']);_0x42d218[_0x504999(0x1c1)](_0x1d11e2),_0x1d11e2['resolveS'+'ettled']?.();const _0x371616=_0xe7f1de[_0x504999(0xdc)](_0x1d11e2[_0x504999(0x2b7)+'ey']);return(_0x371616===_0x1d11e2['runId']||_0x371616===_0x1d11e2['requestI'+'d'])&&_0xe7f1de['delete'](_0x1d11e2[_0x504999(0x2b7)+'ey']),_0x1d11e2;}function _0x1d17c8(_0x548107,_0x492676,_0x34b534=''){const _0x452af9=_0x5afb57,_0x31fd39=_0x43e120(_0x548107[_0x452af9(0xf5)]);if(!_0x31fd39)return;const _0xd27612=Date[_0x452af9(0x1aa)]()-_0x31fd39[_0x452af9(0x266)+'t'];_0x4199a0?.[_0x452af9(0x215)](_0x452af9(0x167)+_0x452af9(0x2bc),{'requestId':_0x31fd39['requestI'+'d'],'runId':_0x31fd39[_0x452af9(0xf5)],'sessionKey':_0x31fd39[_0x452af9(0x2b7)+'ey'],'outcome':_0x492676,'durationMs':_0xd27612,'textLength':_0x31fd39[_0x452af9(0x105)+'xt'][_0x452af9(0x1e1)],..._0x34b534?{'message':_0x34b534}:{}}),_0x54ce4f({'priority':'P0','category':_0x452af9(0x1bc),'event':_0x492676===_0x452af9(0xd7)?_0x452af9(0x181)+_0x452af9(0x185)+'.failed':'assistan'+_0x452af9(0x185)+_0x452af9(0xf7)+'ed','status':_0x492676===_0x452af9(0xd7)?'failed':_0x492676,'level':_0x492676===_0x452af9(0xd7)?_0x452af9(0xd7):_0x452af9(0x215),'message':_0x492676==='error'?'assistan'+_0x452af9(0x23c)+_0x452af9(0x1e3):_0x452af9(0x181)+_0x452af9(0x23c)+_0x452af9(0x19d)+'ed','sessionKey':_0x31fd39[_0x452af9(0x2b7)+'ey'],'runId':_0x31fd39[_0x452af9(0xf5)],'agentId':_0x31fd39[_0x452af9(0x20d)],'outputSummary':{'length':_0x31fd39['outputTe'+'xt'][_0x452af9(0x1e1)],'preview':'','truncated':![]},'visibleError':_0x492676==='error'?_0x34b534:undefined,'durationMs':_0xd27612,'captureIncident':_0x492676===_0x452af9(0xd7),'meta':{'requestId':_0x31fd39[_0x452af9(0x183)+'d'],'outcome':_0x492676}}),_0x4cb931({'requestId':_0x31fd39[_0x452af9(0x183)+'d'],'sessionKey':_0x31fd39[_0x452af9(0x2b7)+'ey'],'type':_0x492676,..._0x34b534?{'message':_0x34b534}:{}});}function _0x44555d(_0x550ce5){const _0x3d328f=_0x5afb57;let _0x8b611b=null,_0x48baac=null;for(const _0x25e8e3 of _0x126cfd[_0x3d328f(0x1b0)]()){if(_0x25e8e3[_0x3d328f(0x2b7)+'ey']===_0x550ce5){_0x8b611b=_0x25e8e3;if(_0x25e8e3[_0x3d328f(0x28f)])_0x48baac=_0x25e8e3;}}return _0x48baac??_0x8b611b;}function _0x69b4e3(_0x35970f){const _0x4da184=_0x5afb57;let _0x439400=null;for(const _0x370a0e of _0x126cfd[_0x4da184(0x1b0)]()){_0x370a0e[_0x4da184(0x2b7)+'ey']===_0x35970f&&_0x370a0e[_0x4da184(0x28f)]&&(_0x439400=_0x370a0e);}return _0x439400;}function _0xc5284f(_0x17aa14){const _0x50879a=_0x5afb57;if(!_0x17aa14)return null;for(const _0x4c2b89 of _0x126cfd[_0x50879a(0x1b0)]()){if(_0x4c2b89[_0x50879a(0x183)+'d']===_0x17aa14)return _0x4c2b89;}return null;}function _0x4d50ce(_0x260ef3,_0x55bc9e){const _0x4d3bf2=_0x5afb57,{nextText:_0x19baca,delta:_0x5a62ed}=resolveGatewayChatDelta(_0x260ef3[_0x4d3bf2(0x105)+'xt'],_0x55bc9e);_0x260ef3[_0x4d3bf2(0x105)+'xt']=_0x19baca,_0x5a62ed&&_0x4cb931({'requestId':_0x260ef3[_0x4d3bf2(0x183)+'d'],'sessionKey':_0x260ef3[_0x4d3bf2(0x2b7)+'ey'],'type':'delta','delta':_0x5a62ed});}function _0xea950f(_0x365fa0,_0x1a0f26,_0x5a9864=''){const _0x1e4370=_0x5afb57;if(_0x365fa0[_0x1e4370(0xe5)+_0x1e4370(0x12a)+_0x1e4370(0x1fd)])clearTimeout(_0x365fa0['terminal'+_0x1e4370(0x12a)+_0x1e4370(0x1fd)]);_0x365fa0[_0x1e4370(0xe5)+_0x1e4370(0x12a)+_0x1e4370(0x1fd)]=setTimeout(()=>{const _0x2a2f77=_0x1e4370,_0x4fb303=_0x126cfd['get'](_0x365fa0['runId']);if(!_0x4fb303)return;_0x1d17c8(_0x4fb303,_0x1a0f26===_0x2a2f77(0xd7)?_0x2a2f77(0xd7):'done',_0x5a9864);},TERMINAL_STREAM_FALLBACK_DELAY_MS);}function _0x17eaa3(_0x564411){const _0x4dc87e=_0x5afb57;for(const _0x41e60f of[..._0x126cfd['values']()]){_0x4199a0?.['warn'](_0x4dc87e(0x167)+_0x4dc87e(0xc8)+_0x4dc87e(0x2bb)+_0x4dc87e(0x112),{'requestId':_0x41e60f[_0x4dc87e(0x183)+'d'],'runId':_0x41e60f[_0x4dc87e(0xf5)],'sessionKey':_0x41e60f[_0x4dc87e(0x2b7)+'ey'],'durationMs':Date[_0x4dc87e(0x1aa)]()-_0x41e60f[_0x4dc87e(0x266)+'t'],'reason':_0x564411}),_0x4cb931({'requestId':_0x41e60f[_0x4dc87e(0x183)+'d'],'sessionKey':_0x41e60f[_0x4dc87e(0x2b7)+'ey'],'type':_0x4dc87e(0xd7),'message':_0x564411}),_0x43e120(_0x41e60f['runId']);}_0x42d218[_0x4dc87e(0x275)](),_0xe7f1de[_0x4dc87e(0x275)](),_0x369c22&&(clearTimeout(_0x369c22),_0x369c22=null),_0x1e493b='';}function _0x52e7e3(_0x36f197){const _0x4e944d=_0x5afb57;_0x500188(_0x4e944d(0x210)+_0x4e944d(0x291)+_0x4e944d(0x285),_0x36f197);}function _0x934644(_0x6aee18=''){if(_0x6aee18)_0x1e493b=_0x6aee18;_0x369c22&&clearTimeout(_0x369c22),_0x369c22=setTimeout(()=>{const _0x76a4f0=_0x9f01;_0x369c22=null,_0x52e7e3({'reason':_0x76a4f0(0x2bd)+_0x76a4f0(0x28d),..._0x1e493b?{'sessionKey':_0x1e493b}:{}}),_0x1e493b='';},AGENT_EVENT_SESSION_INVALIDATION_DEBOUNCE_MS);}function _0x3586a4(_0x43076f){const _0x1a9dd1=_0x5afb57,_0x4600ad=getTrimmedString(_0x43076f?.['sessionK'+'ey']),_0x34f8cc=normalizeCronRunSessionKey(_0x4600ad),_0x1e5c32=_0x43076f?.[_0x1a9dd1(0x198)]==='deleted'?_0x1a9dd1(0xb7)+_0x1a9dd1(0x282):_0x1a9dd1(0xb7)+_0x1a9dd1(0x15d),_0x15e6e1=_0x4600ad&&_0x4600ad!==_0x34f8cc?{..._0x43076f,'sessionKey':_0x34f8cc,'sourceSessionKey':_0x4600ad}:_0x43076f;_0x52e7e3({'reason':_0x1e5c32,..._0x34f8cc?{'sessionKey':_0x34f8cc}:{},..._0x4600ad&&_0x4600ad!==_0x34f8cc?{'sourceSessionKey':_0x4600ad}:{}}),_0x500188('session-'+_0x1a9dd1(0x15d),_0x15e6e1);}function _0x1f6bfa(_0x24ae86){const _0x5d8c9e=_0x5afb57,_0x58e26a=getTrimmedString(_0x24ae86[_0x5d8c9e(0xf5)]),_0x1723cc=getTrimmedString(_0x24ae86[_0x5d8c9e(0x2a8)])||_0x5d8c9e(0x15d),_0x282090=getTrimmedString(_0x24ae86[_0x5d8c9e(0x2b7)+'ey']),_0x407976=(_0x58e26a?_0x126cfd[_0x5d8c9e(0xdc)](_0x58e26a):null)??(_0x282090?_0x69b4e3(_0x282090):null);if(_0x58e26a&&_0x282090)_0xe7f1de[_0x5d8c9e(0x23f)](_0x282090,_0x58e26a);if(_0x282090)_0x3586a4({'sessionKey':_0x282090,'state':_0x1723cc});_0x4199a0?.[_0x5d8c9e(0x215)](_0x5d8c9e(0x11a)+'chat\x20eve'+_0x5d8c9e(0x150)+'ved',{'runId':_0x58e26a,'sessionKey':_0x282090,'state':_0x1723cc,'hasActiveRun':Boolean(_0x407976),'messageText':summarizeText(extractGatewayChatText(_0x24ae86[_0x5d8c9e(0xc0)]),0x78),'errorMessage':getTrimmedString(_0x24ae86[_0x5d8c9e(0x2b0)+_0x5d8c9e(0xb9)])});_0x407976&&(_0x1723cc===_0x5d8c9e(0x119)||_0x1723cc===_0x5d8c9e(0x1dd)||_0x1723cc===_0x5d8c9e(0xd7))&&_0xea950f(_0x407976,_0x1723cc,typeof _0x24ae86['errorMes'+_0x5d8c9e(0xb9)]==='string'?_0x24ae86['errorMes'+_0x5d8c9e(0xb9)]:'gateway\x20'+_0x5d8c9e(0x245)+_0x5d8c9e(0x234));if(!_0x407976)return;if(_0x282090&&_0x282090!==_0x407976[_0x5d8c9e(0x2b7)+'ey'])return;if(_0x1723cc==='delta'){_0x4d50ce(_0x407976,extractGatewayChatText(_0x24ae86['message']));return;}if(_0x1723cc===_0x5d8c9e(0x119)||_0x1723cc==='aborted'){_0x4d50ce(_0x407976,extractGatewayChatText(_0x24ae86[_0x5d8c9e(0xc0)])),_0x1d17c8(_0x407976,_0x5d8c9e(0x29f));return;}_0x1723cc===_0x5d8c9e(0xd7)&&_0x1d17c8(_0x407976,_0x5d8c9e(0xd7),typeof _0x24ae86['errorMes'+_0x5d8c9e(0xb9)]===_0x5d8c9e(0xd4)?_0x24ae86[_0x5d8c9e(0x2b0)+_0x5d8c9e(0xb9)]:'gateway\x20'+_0x5d8c9e(0x245)+_0x5d8c9e(0x234));}function _0x3baf84(_0x134a50){const _0x49557e=_0x5afb57,_0x2125a0=asRecord(_0x134a50);return getTrimmedString(_0x2125a0['sessionK'+'ey'])||getTrimmedString(_0x2125a0['key'])||getTrimmedString(_0x2125a0[_0x49557e(0x252)+'key']);}function _0x4b9651(_0xfbae1){const _0x2664bc=_0x5afb57,_0x2e7cb2=asRecord(_0xfbae1),_0x2c5ac0=_0x3baf84(_0x2e7cb2),_0x203c5e=getTrimmedString(_0x2e7cb2[_0x2664bc(0xba)])||getTrimmedString(_0x2e7cb2['state'])||getTrimmedString(_0x2e7cb2[_0x2664bc(0x27a)])||_0x2664bc(0x15d);_0x480b31?.[_0x2664bc(0x215)](_0x2664bc(0x11a)+'session\x20'+'event\x20re'+_0x2664bc(0x2a0),{'event':_0x2664bc(0x210)+_0x2664bc(0x22d),'sessionKey':_0x2c5ac0,'state':_0x203c5e,'channel':getTrimmedString(_0x2e7cb2[_0x2664bc(0x238)]),'agentId':getTrimmedString(_0x2e7cb2[_0x2664bc(0x20d)]),'messageId':getTrimmedString(_0x2e7cb2[_0x2664bc(0x1fb)+'d']),'runId':getTrimmedString(_0x2e7cb2[_0x2664bc(0xf5)])}),_0x3586a4({..._0x2e7cb2,'type':getTrimmedString(_0x2e7cb2[_0x2664bc(0x198)])||_0x2664bc(0x2a1),'state':_0x203c5e,..._0x2c5ac0?{'sessionKey':_0x2c5ac0}:{}});}function _0x559e75(_0x19a30e){const _0xa49c45=_0x5afb57,_0x407a30=asRecord(_0x19a30e),_0x52ff0c=_0x3baf84(_0x407a30);_0x480b31?.[_0xa49c45(0x215)](_0xa49c45(0x11a)+_0xa49c45(0x108)+_0xa49c45(0xfb)+_0xa49c45(0x261)+_0xa49c45(0x2a0),{'event':_0xa49c45(0x16f)+_0xa49c45(0xc0),'sessionKey':_0x52ff0c,'channel':getTrimmedString(_0x407a30['channel']),'agentId':getTrimmedString(_0x407a30['agentId']),'messageId':getTrimmedString(_0x407a30[_0xa49c45(0x1fb)+'d']),'messageSeq':_0x407a30[_0xa49c45(0xc6)+'eq']}),_0x3586a4({..._0x407a30,'type':'message','state':_0xa49c45(0xc0),..._0x52ff0c?{'sessionKey':_0x52ff0c}:{}});}async function _0x1fdea9(){const _0x457c5c=_0x5afb57;try{const _0x5af03e=await _0x315aeb[_0x457c5c(0x279)]('sessions'+_0x457c5c(0x115)+'be',{},{'timeoutMs':0x2710});_0x480b31?.['info']('gateway\x20'+'session\x20'+_0x457c5c(0xd1)+'ubscribe'+'d',{'result':summarizePayload(_0x5af03e,{'maxDepth':0x2})});}catch(_0x47c723){_0x480b31?.[_0x457c5c(0x237)](_0x457c5c(0x11a)+'session\x20'+_0x457c5c(0xd1)+_0x457c5c(0x1e7)+'\x20failed',{'error':summarizeError(_0x47c723)});}}async function _0x41173e(_0x5cf5b4,_0x532a23){const _0x346a91=_0x5afb57;_0x315aeb[_0x346a91(0x141)+'e']({'url':buildGatewayWsUrl(_0x532a23),'token':_0x5cf5b4,'clientId':CLIENT_ID,'clientMode':CLIENT_MODE,'clientVersion':appVersion,'clientDisplayName':_0x4eac97[_0x346a91(0x17f)+_0x346a91(0x1dc)],'clientDeviceFamily':CLIENT_DEVICE_FAMILY,'identityPath':_0x42cb2c[_0x346a91(0x192)+_0x346a91(0x13a)+_0x346a91(0x240)+'h'](),'onChatEvent':_0x1f6bfa,'onAgentEvent':_0x1bde76=>{const _0x448422=_0x346a91,_0xf0853d=asRecord(_0x1bde76),_0x230077=getTrimmedString(_0xf0853d['runId']),_0x3b277b=getTrimmedString(_0xf0853d[_0x448422(0x2b7)+'ey']),_0x56ccbd=_0x230077?_0x126cfd[_0x448422(0xdc)](_0x230077):null;if(_0x3b277b&&!_0x56ccbd)_0x934644(_0x3b277b);_0x500188(_0x448422(0x2bd)+'ent',_0x1bde76);},'onSessionEvent':_0x4b9651,'onSessionMessageEvent':_0x559e75,'onStartupTiming':(_0x31357c,_0x3928a8={})=>{const _0x3c7b5c=_0x346a91;_0x3b7318?.[_0x3c7b5c(0x19e)]('gateway\x20'+_0x3c7b5c(0x287)+_0x3c7b5c(0x1e8)+'p\x20timing',{'label':_0x31357c,..._0x3928a8});},'onConnected':async()=>{const _0x5c81c0=_0x346a91;if(!_0x2a6254||!_0x56d6b||!_0xc09a8c)return;const _0x3273a4=++_0x4e9b88,_0xdf41e4=()=>_0x3273a4===_0x4e9b88&&Boolean(_0x2a6254&&_0x56d6b&&_0xc09a8c);_0x3b7318?.[_0x5c81c0(0x215)]('gateway\x20'+_0x5c81c0(0x287)+'t\x20connec'+_0x5c81c0(0x1d0),{'port':_0x56d6b,'pid':_0x2a6254[_0x5c81c0(0x175)],'readyMs':_0x130255?Date[_0x5c81c0(0x1aa)]()-_0x130255:undefined}),_0x203cca(_0x5c81c0(0x259),'gateway\x20'+_0x5c81c0(0x166)+'d',{'health':'healthy','port':_0x56d6b,'tokenPresent':!![]}),await _0x1fdea9();try{const _0x4602a1=await syncManagedSkillsToConfig(_0x42cb2c);_0x5b43a2?.[_0x5c81c0(0x215)]('managed\x20'+_0x5c81c0(0x22f)+_0x5c81c0(0x27f)+_0x5c81c0(0xe2)+'eted',{'skillCount':_0x4602a1[_0x5c81c0(0x26a)+'s'][_0x5c81c0(0x1e1)],'skillKeys':_0x4602a1[_0x5c81c0(0x26a)+'s']}),await ensureBundledAgents({'runtimeBundledAgentsDir':join((await loadRuntimeInfo(_0x4eac97[_0x5c81c0(0x151)+_0x5c81c0(0x232)]))[_0x5c81c0(0x2b8)+_0x5c81c0(0x232)],_0x5c81c0(0x243),_0x5c81c0(0x227)),'stateDir':_0x42cb2c[_0x5c81c0(0x248)+'tateDir'](),'isPackaged':IS_PACKAGED_RUNTIME,'listAgents':_0x1f08dd,'shouldContinue':_0xdf41e4,'createAgent':_0x2ec85e=>{const _0x494ad3=_0x5c81c0;if(!_0xdf41e4())return{'skipped':!![]};return _0x315aeb[_0x494ad3(0x279)](_0x494ad3(0x102)+_0x494ad3(0x1f2),_0x2ec85e);},'updateAgent':_0x56fd2c=>{const _0x13f4fd=_0x5c81c0;if(!_0xdf41e4())return{'skipped':!![]};return _0x315aeb['request'](_0x13f4fd(0x10e)+_0x13f4fd(0x29d),_0x56fd2c);},'syncSkills':async({agentIds:_0x45dc64,mainWorkspace:_0x2f6669})=>{const _0x174c74=_0x5c81c0;if(!_0xdf41e4())return;_0x5b43a2?.['info'](_0x174c74(0x10c)+_0x174c74(0x12c)+_0x174c74(0x144)+'c\x20starte'+'d',{'agentIds':_0x45dc64,'mainWorkspace':toHomePath(_0x2f6669)});const _0x2967b8=dirname(_0x2f6669),_0x5b15fb=await syncBundledAgentSkillsToConfig({'agentIds':_0x45dc64,'resolveSkillsDir':_0x2c3b54=>_0x2c3b54==='main'?join(_0x2f6669,_0x174c74(0x1f8)):join(_0x2967b8,'workspac'+'e-'+_0x2c3b54,_0x174c74(0x1f8)),'readConfig':()=>_0x42cb2c[_0x174c74(0xc1)+'ig'](),'writeConfig':_0x3c2bdb=>_0x42cb2c[_0x174c74(0x219)+'fig'](_0x3c2bdb),'markConfigWriteHandledInternally':()=>_0x42cb2c[_0x174c74(0x1ae)+'igWriteH'+'andledIn'+_0x174c74(0x179)]()});_0xe3882d=_0x5b15fb['discover'+'y'],_0x5b43a2?.[_0x174c74(0x215)](_0x174c74(0x10c)+_0x174c74(0x12c)+_0x174c74(0x144)+'c\x20comple'+_0x174c74(0x1d0),{'agentCount':_0x45dc64[_0x174c74(0x1e1)],'changed':_0x5b15fb[_0x174c74(0x2a1)],'discovery':summarizePayload(_0x5b15fb[_0x174c74(0x184)+'y'],{'maxDepth':0x3})});},'syncConfig':async({bundledAgents:_0x514bf7})=>{const _0x249e27=_0x5c81c0;if(!_0xdf41e4())return;const _0x35325f=await _0x42cb2c['readConf'+'ig'](),_0x23f604=syncBundledAgentRuntimeConfig(_0x35325f,_0x514bf7);if(!_0x23f604[_0x249e27(0x2a1)])return;_0x42cb2c['markConf'+_0x249e27(0xbb)+_0x249e27(0x106)+_0x249e27(0x179)](),await _0x42cb2c[_0x249e27(0x219)+_0x249e27(0xe6)](_0x23f604['config'],_0x249e27(0x10c)+'agent\x20ru'+_0x249e27(0x14a)+'nfig\x20syn'+'ced'),_0x5b43a2?.[_0x249e27(0x215)](_0x249e27(0x10c)+_0x249e27(0x214)+'ntime\x20co'+_0x249e27(0x292)+_0x249e27(0xf9),{'agentCount':_0x514bf7[_0x249e27(0x1e1)]});}}),_0x5b43a2?.['info']('bundled\x20'+_0x5c81c0(0x25a)+_0x5c81c0(0x19f)),_0x500188(_0x5c81c0(0x16d)+'pdated',{'reason':_0x5c81c0(0x1de)+_0x5c81c0(0x18b)+_0x5c81c0(0x125)});}catch(_0x2d5cef){const _0x448c16=_0x2d5cef instanceof Error?_0x2d5cef[_0x5c81c0(0x1fe)]||_0x2d5cef[_0x5c81c0(0xc0)]:String(_0x2d5cef);_0x30bfe1(_0x5c81c0(0x228),_0x5c81c0(0x10c)+_0x5c81c0(0x182)+_0x5c81c0(0x23e)+_0x5c81c0(0x171)+_0x448c16),_0x5b43a2?.[_0x5c81c0(0xd7)](_0x5c81c0(0x10c)+_0x5c81c0(0x182)+_0x5c81c0(0x23e)+'ed',{'error':summarizeError(_0x2d5cef)}),console[_0x5c81c0(0xd7)](_0x5c81c0(0xdb)+'hell:gat'+'eway]\x20bu'+_0x5c81c0(0x15b)+_0x5c81c0(0xc7)+_0x5c81c0(0x17e),_0x2d5cef);}},'onDisconnected':_0x2b6dad=>{const _0x42c4cc=_0x346a91;_0x3b7318?.[_0x42c4cc(0x237)](_0x42c4cc(0x11a)+_0x42c4cc(0x287)+_0x42c4cc(0x170)+'nected',{'reason':_0x2b6dad}),_0x17eaa3(_0x2b6dad);if(_0x3c56f0||!_0x2a6254)return;_0x4e37e7({'health':_0x42c4cc(0x209),'message':_0x42c4cc(0x11a)+_0x42c4cc(0x153)+_0x42c4cc(0x1a7)+_0x2b6dad});}});}async function _0x15dba5(_0x34efed,_0x21b0b0){const _0x3db7cd=_0x5afb57;if(_0x2a6254)return;_0x130255=Date[_0x3db7cd(0x1aa)](),_0x203cca(_0x3db7cd(0x26c),_0x3db7cd(0x11a)+_0x3db7cd(0x26c),{'health':_0x3db7cd(0x209),'port':_0x21b0b0,'tokenPresent':!![]});const _0x5b57a1=[_0x3db7cd(0x257),_0x3db7cd(0xee),_0x3db7cd(0x212)+'unconfig'+_0x3db7cd(0xd5),'--token',_0x34efed,_0x3db7cd(0x1ee),String(_0x21b0b0)];_0x30bfe1(_0x3db7cd(0x228),_0x3db7cd(0x243)+_0x3db7cd(0x1fa)+_0x3db7cd(0x11e)+'llow-unc'+_0x3db7cd(0x2b1)+'d\x20--toke'+_0x3db7cd(0xf1)+_0x3db7cd(0x1ab)+'ort\x20'+_0x21b0b0),_0x3b7318?.['info']('gateway\x20'+'process\x20'+_0x3db7cd(0x28b)+'quested',{'args':[_0x3db7cd(0x257),'run',_0x3db7cd(0x212)+_0x3db7cd(0x21a)+'ured',_0x3db7cd(0x29a),_0x3db7cd(0x11d)+'D]',_0x3db7cd(0x1ee),String(_0x21b0b0)],'env':{'OPENCLAW_STATE_DIR':toHomePath(_0x42cb2c[_0x3db7cd(0x248)+_0x3db7cd(0x277)]()),'OPENCLAW_CONFIG_PATH':toHomePath(_0x42cb2c[_0x3db7cd(0x131)+_0x3db7cd(0x135)+'h']()),'OPENCLAW_CONFIG_FILE_NAME':_0x4eac97[_0x3db7cd(0x243)]?.[_0x3db7cd(0x1a3)+'leName']??_0x3db7cd(0x196)+_0x3db7cd(0x202)}}),_0x2a6254=await spawnClaw(_0x4eac97[_0x3db7cd(0x151)+_0x3db7cd(0x232)],_0x5b57a1,{'env':{'OPENCLAW_STATE_DIR':_0x42cb2c[_0x3db7cd(0x248)+_0x3db7cd(0x277)](),'OPENCLAW_CONFIG_PATH':_0x42cb2c['resolveC'+_0x3db7cd(0x135)+'h'](),'OPENCLAW_CONFIG_FILE_NAME':_0x4eac97[_0x3db7cd(0x243)]?.[_0x3db7cd(0x1a3)+_0x3db7cd(0x1ad)]??'wujieai.'+_0x3db7cd(0x202)}}),_0xc09a8c=_0x34efed,_0x56d6b=_0x21b0b0,_0x3b7318?.[_0x3db7cd(0x215)](_0x3db7cd(0x11a)+_0x3db7cd(0x1f0)+_0x3db7cd(0x28f),{'pid':_0x2a6254[_0x3db7cd(0x175)],'port':_0x56d6b}),_0x4e37e7({'health':_0x3db7cd(0x209),'port':_0x56d6b,'tokenPresent':!![],'message':_0x3db7cd(0x11a)+_0x3db7cd(0x1f0)+_0x3db7cd(0x221)+_0x3db7cd(0x205)+_0x3db7cd(0x169)}),await _0x41173e(_0x34efed,_0x21b0b0);const _0x382c79=createLineBuffer({'trim':!![],'onLine':_0x55d5e3=>_0x30bfe1('stdout',_0x55d5e3)}),_0x56022e=createLineBuffer({'trim':!![],'onLine':_0x1689a3=>_0x30bfe1(_0x3db7cd(0x24a),_0x1689a3)});_0x2a6254['stdout']['on'](_0x3db7cd(0x1e4),_0x1d5d05=>{const _0x1ed9a5=_0x3db7cd;_0x382c79[_0x1ed9a5(0x15a)](_0x1d5d05[_0x1ed9a5(0x24d)]());}),_0x2a6254[_0x3db7cd(0x24a)]['on'](_0x3db7cd(0x1e4),_0xd0fbdd=>{const _0x540862=_0x3db7cd;_0x56022e['push'](_0xd0fbdd[_0x540862(0x24d)]());}),_0x2a6254['on'](_0x3db7cd(0xd7),_0x403a90=>{const _0x39510a=_0x3db7cd;_0x3b7318?.[_0x39510a(0xd7)](_0x39510a(0x11a)+_0x39510a(0x1f0)+_0x39510a(0xd7),{'error':summarizeError(_0x403a90)}),_0x30bfe1(_0x39510a(0x24a),_0x403a90 instanceof Error?_0x403a90['stack']||_0x403a90['message']:String(_0x403a90));}),_0x2a6254['on'](_0x3db7cd(0x224),(_0x4bc126,_0x2f0537)=>{const _0x3ee117=_0x3db7cd;_0x382c79[_0x3ee117(0x1a9)](),_0x56022e[_0x3ee117(0x1a9)](),_0x3b7318?.[_0x3ee117(0x237)]('gateway\x20'+_0x3ee117(0x1f0)+_0x3ee117(0x295),{'pid':_0x2a6254?.['pid']??null,'code':_0x4bc126,'signal':_0x2f0537,'uptimeMs':_0x130255?Date[_0x3ee117(0x1aa)]()-_0x130255:undefined}),_0x30bfe1('system',_0x3ee117(0x11a)+_0x3ee117(0x165)+_0x3ee117(0x2c1)+(_0x4bc126??_0x3ee117(0xfa))+_0x3ee117(0x244)+(_0x2f0537??_0x3ee117(0xfa))),_0x2a6254=null,_0xc09a8c=null,_0x56d6b=null,_0x315aeb['configur'+'e'](null),_0x17eaa3('gateway\x20'+_0x3ee117(0x1f0)+_0x3ee117(0x126));if(_0x3c56f0){_0x203cca(_0x3ee117(0x274),'gateway\x20'+_0x3ee117(0x274),{'health':_0x3ee117(0x209),'port':null,'tokenPresent':![]});return;}if(_0x50753c){_0x203cca(_0x3ee117(0x10b)+'ng',_0x3ee117(0x11a)+_0x3ee117(0x10b)+'ng',{'health':_0x3ee117(0x209),'port':null,'tokenPresent':![]});return;}_0x203cca(_0x3ee117(0xd7),_0x3ee117(0x11a)+_0x3ee117(0x233)+_0x3ee117(0x23d)+_0x3ee117(0x18c),{'health':_0x3ee117(0x288)+'y','port':null,'tokenPresent':![]});});}async function _0x21f45f(){const _0x1f5777=_0x5afb57;if(_0x2a6254)return;_0x3c56f0=![],_0x3b7318?.[_0x1f5777(0x215)](_0x1f5777(0x11a)+_0x1f5777(0x21c)+_0x1f5777(0x1a5)+'\x20request'+'ed'),await _0x42cb2c[_0x1f5777(0x2ad)+_0x1f5777(0x1c3)+_0x1f5777(0xe6)]();const _0x1a42d0=await _0x42cb2c[_0x1f5777(0x273)+_0x1f5777(0xbf)+_0x1f5777(0x270)+'nabled']();_0x1a42d0?await _0x50bb77[_0x1f5777(0xf4)]()[_0x1f5777(0x22c)](_0x7ff511=>{const _0x150660=_0x1f5777;_0x30bfe1(_0x150660(0x228),_0x150660(0xe3)+_0x150660(0x110)+_0x150660(0x239)+_0x150660(0x123)+_0x150660(0x1db)+(_0x7ff511 instanceof Error?_0x7ff511[_0x150660(0xc0)]:String(_0x7ff511)));}):_0x3b7318?.['info'](_0x1f5777(0xe3)+_0x1f5777(0x110)+_0x1f5777(0x239)+'ck\x20skipp'+_0x1f5777(0x236)+_0x1f5777(0x265)+_0x1f5777(0x234));await ensureOpenClawDoctorFixed(_0x4eac97,{'runtimeLogger':_0x3b7318}),_0x42cb2c[_0x1f5777(0x222)+_0x1f5777(0x12b)+'es'](),_0x42cb2c['setGatew'+_0x1f5777(0x146)+'tHandler'](_0x3444d3=>{void _0x22d1b8(_0x3444d3);});const _0x5f1773=await _0x42cb2c['ensureGa'+'tewaySet'+_0x1f5777(0xd8)]();_0x3b7318?.[_0x1f5777(0x215)](_0x1f5777(0x11a)+_0x1f5777(0xea)+'\x20allocat'+'ed',{'port':_0x5f1773[_0x1f5777(0x220)],'tokenPresent':Boolean(_0x5f1773['token'])}),await _0x15dba5(_0x5f1773['token'],_0x5f1773[_0x1f5777(0x220)]);}async function _0x5627f6(){const _0xf551da=_0x5afb57;_0x3c56f0=!![],_0x4e9b88+=0x1,_0x3b7318?.[_0xf551da(0x215)](_0xf551da(0x11a)+_0xf551da(0x21c)+_0xf551da(0xef)+_0xf551da(0x28e)+'d',{'pid':_0x2a6254?.[_0xf551da(0x175)]??null,'port':_0x56d6b}),_0x315aeb[_0xf551da(0x141)+'e'](null);if(_0x2a6254){const _0x912cab=_0x2a6254;_0x2a6254=null;try{_0x912cab[_0xf551da(0x1b6)](_0xf551da(0x231));}catch{}const _0x403bea=await waitForChildExit(_0x912cab,0x1388);if(!_0x403bea){try{_0x912cab['kill'](_0xf551da(0x2be));}catch{}await waitForChildExit(_0x912cab,0x7d0);}}_0xc09a8c=null,_0x56d6b=null,_0x17eaa3(_0xf551da(0x11a)+_0xf551da(0x274)),await _0x50bb77[_0xf551da(0x13f)](),_0x42cb2c[_0xf551da(0x101)](),_0x203cca('stopped',_0xf551da(0x11a)+_0xf551da(0x274),{'health':_0xf551da(0x209),'port':null,'tokenPresent':![]}),_0x3c56f0=![];}async function _0x22d1b8(_0x45b92a=_0x5afb57(0x1ed)+_0x5afb57(0x283)){const _0x116dd6=_0x5afb57;if(_0x2c3811)return{'ok':!![]};return _0x2c3811=!![],_0x50753c=!![],_0x3b7318?.['info'](_0x116dd6(0x11a)+_0x116dd6(0x267)+'requeste'+'d',{'reason':_0x45b92a}),_0x9c7dd5=_0x9c7dd5[_0x116dd6(0x28c)](async()=>{const _0xa91aae=_0x116dd6;_0x203cca('restarti'+'ng',_0xa91aae(0x11a)+_0xa91aae(0x10b)+_0xa91aae(0x1ba)+_0x45b92a,{'health':_0xa91aae(0x209)}),await _0x5627f6(),await _0x21f45f();})[_0x116dd6(0x1c9)](()=>{_0x50753c=![],_0x2c3811=![];}),await _0x9c7dd5,{'ok':!![]};}async function _0xc55838(){const _0x5dda1d=_0x5afb57,_0x189770=await loadRuntimeInfo(_0x4eac97[_0x5dda1d(0x151)+_0x5dda1d(0x232)]);return{'runtimeRoot':_0x189770[_0x5dda1d(0x2b8)+'oot'],'openclawVersion':_0x189770[_0x5dda1d(0x243)+'Version'],'openclawWorkingDir':_0x189770[_0x5dda1d(0x243)+_0x5dda1d(0x299)+'ir'],'openclawBin':_0x189770[_0x5dda1d(0x243)+_0x5dda1d(0x104)],'plugins':_0x189770['plugins'][_0x5dda1d(0x163)](_0x23b335=>({'pluginId':_0x23b335[_0x5dda1d(0x1c0)],'source':_0x23b335[_0x5dda1d(0x162)],'version':_0x23b335[_0x5dda1d(0x1e6)],'installPath':_0x23b335[_0x5dda1d(0x1d8)+_0x5dda1d(0x1e2)]})),'configPath':_0x42cb2c[_0x5dda1d(0x131)+_0x5dda1d(0x135)+'h'](),'stateDir':_0x42cb2c[_0x5dda1d(0x248)+_0x5dda1d(0x277)](),'bundledAgentSkillsDiscovery':_0xe3882d};}async function _0x1f08dd(){const _0x1ea852=_0x5afb57;_0x5b43a2?.['info'](_0x1ea852(0x189)+'ist\x20requ'+'ested');const _0x2b8598=asRecord(await _0x315aeb[_0x1ea852(0x279)](_0x1ea852(0x1f6)+_0x1ea852(0x134),{})),_0x5ec038=getTrimmedString(_0x2b8598[_0x1ea852(0x218)+'d'])||_0x1ea852(0x246),_0x3c6a1b=Array['isArray'](_0x2b8598[_0x1ea852(0x227)])?[..._0x2b8598['agents']]:[];return{..._0x2b8598,'defaultId':_0x5ec038,'agents':_0x3c6a1b};}async function _0x1fc224(){const _0x28d279=_0x5afb57;if(!_0x3fbcdc()){const _0x3a0bd1=await readConfiguredAgentsForPendingList(_0x42cb2c);return{'defaultId':_0x28d279(0x246),'mainKey':'','scope':'','pending':!![],'agents':_0x3a0bd1['length']>0x0?_0x3a0bd1:[createMainAgentFallback(_0x42cb2c)]};}const _0x1f26dd=await _0x1f08dd(),_0x4a8026=getTrimmedString(_0x1f26dd['defaultI'+'d'])||_0x28d279(0x246),_0x40fd84=await readConfiguredAgentsForPendingList(_0x42cb2c),_0x29511c=orderAgentsByConfiguredList(_0x1f26dd['agents'],_0x40fd84);return!_0x29511c[_0x28d279(0x1a8)](_0x234ab3=>asRecord(_0x234ab3)['id']==='main')&&_0x29511c['unshift'](createMainAgentFallback(_0x42cb2c)),{..._0x1f26dd,'defaultId':_0x4a8026,'agents':_0x29511c};}async function _0x37899d(_0x16e476={}){const _0x334d3f=_0x5afb57;await _0x418b31();const _0x2bd5b3=Date[_0x334d3f(0x1aa)]();_0x480b31?.[_0x334d3f(0x215)](_0x334d3f(0x108)+_0x334d3f(0x29e)+_0x334d3f(0x160),{'payload':summarizePayload(_0x16e476)});const _0x1c988b=await _0x315aeb[_0x334d3f(0x279)](_0x334d3f(0x210)+_0x334d3f(0xfc),buildSessionCreateRequestPayload(_0x16e476)),_0x3be4d7=parseSessionCreateResult(_0x1c988b);return _0x480b31?.['info'](_0x334d3f(0x108)+'create\x20c'+'ompleted',{'key':_0x3be4d7[_0x334d3f(0x127)],'sessionId':_0x3be4d7[_0x334d3f(0x204)+'d'],'durationMs':Date['now']()-_0x2bd5b3}),_0x54ce4f({'priority':'P0','category':_0x334d3f(0x1bd),'event':'session_'+_0x334d3f(0x14b)+'ucceeded','status':_0x334d3f(0x1f1)+'d','message':_0x334d3f(0x108)+_0x334d3f(0x2b3),'sessionKey':_0x3be4d7[_0x334d3f(0x127)],'durationMs':Date['now']()-_0x2bd5b3,'meta':{'sessionId':_0x3be4d7[_0x334d3f(0x204)+'d'],'request':summarizePayload(_0x16e476,{'maxDepth':0x2})}}),_0x3be4d7;}async function _0x1eaa0b(_0x2520e8={}){const _0x3ef84d=_0x5afb57;if(!_0x3fbcdc())return{'pending':!![],'sessions':[],'pinnedKeys':await _0x5ec064[_0x3ef84d(0x13e)+_0x3ef84d(0xcc)+'Keys']()};const _0x10eac1=Date[_0x3ef84d(0x1aa)](),_0x35b263=Math[_0x3ef84d(0x156)](0x1,Math['floor'](Number(_0x2520e8[_0x3ef84d(0x216)])||0x64)),_0x268755={'limit':_0x35b263,'includeGlobal':!![],'includeUnknown':![]},_0x24c5ce=getTrimmedString(_0x2520e8[_0x3ef84d(0x20d)]);if(_0x24c5ce)_0x268755[_0x3ef84d(0x20d)]=_0x24c5ce;const _0xa9d8bd=await _0x5ec064[_0x3ef84d(0x251)+_0x3ef84d(0x1d2)+'lMetadat'+'aToList'](filterValidSessionList(await _0x315aeb['request']('sessions'+'.list',_0x268755),{'onOrphanSession':(_0x4d491c,_0x465de2)=>_0x1f5335(_0x4d491c,'missing_'+'session_'+'id',{..._0x465de2,'agentId':_0x24c5ce||_0x465de2[_0x3ef84d(0x20d)]||null})}));return _0x480b31?.[_0x3ef84d(0x215)](_0x3ef84d(0x210)+_0x3ef84d(0x1e0)+'mpleted',{'payload':_0x268755,'count':Array[_0x3ef84d(0x124)](_0xa9d8bd[_0x3ef84d(0x210)])?_0xa9d8bd['sessions'][_0x3ef84d(0x1e1)]:0x0,'durationMs':Date['now']()-_0x10eac1}),_0xa9d8bd;}async function _0x36fa71(_0x5a1548={}){const _0x19c9f4=_0x5afb57;await _0x418b31();const _0x1dd9e1=getTrimmedString(_0x5a1548[_0x19c9f4(0x2b7)+'ey']??_0x5a1548[_0x19c9f4(0x127)]);if(!_0x1dd9e1)throw new Error(_0x19c9f4(0x2b7)+_0x19c9f4(0xcf)+'quired');const _0x34274f=Date[_0x19c9f4(0x1aa)](),_0x5a3747=await _0x315aeb[_0x19c9f4(0x279)]('sessions'+_0x19c9f4(0x213),{'key':_0x1dd9e1,'deleteTranscript':_0x5a1548[_0x19c9f4(0x14e)+_0x19c9f4(0x1be)]!==![],'emitLifecycleHooks':!![]});return await _0x5ec064['deleteSe'+_0x19c9f4(0x2a3)+'ord'](_0x1dd9e1),_0x3586a4({'type':_0x19c9f4(0x282),'sessionKey':_0x1dd9e1}),_0x480b31?.[_0x19c9f4(0x215)]('session\x20'+_0x19c9f4(0x1ce)+_0x19c9f4(0x1c5),{'sessionKey':_0x1dd9e1,'deleteTranscript':_0x5a1548['deleteTr'+_0x19c9f4(0x1be)]!==![],'durationMs':Date['now']()-_0x34274f}),_0x54ce4f({'priority':'P0','category':'session','event':_0x19c9f4(0x252)+'delete.s'+_0x19c9f4(0x242),'status':'succeede'+'d','message':_0x19c9f4(0x108)+_0x19c9f4(0x282),'sessionKey':_0x1dd9e1,'durationMs':Date['now']()-_0x34274f,'meta':{'deleteTranscript':_0x5a1548[_0x19c9f4(0x14e)+_0x19c9f4(0x1be)]!==![]}}),_0x5a3747;}async function _0x2cbbf5(_0x3b38e0={}){const _0x8b6c7b=_0x5afb57,_0x36489e=getTrimmedString(_0x3b38e0['sessionK'+'ey']??_0x3b38e0['key']);if(!_0x36489e)throw new Error(_0x8b6c7b(0x2b7)+_0x8b6c7b(0xcf)+_0x8b6c7b(0x1fc));const _0x5be556=getTrimmedString(_0x3b38e0[_0x8b6c7b(0x109)]??_0x3b38e0[_0x8b6c7b(0xbe)]??_0x3b38e0['title']);return await _0x5ec064['setSessi'+'onCustom'+'Name'](_0x36489e,_0x5be556),_0x3586a4({'type':'renamed','sessionKey':_0x36489e,'name':_0x5be556}),_0x480b31?.[_0x8b6c7b(0x215)]('session\x20'+_0x8b6c7b(0x1a6)+_0x8b6c7b(0x1c5),{'sessionKey':_0x36489e,'hasName':Boolean(_0x5be556),'name':_0x5be556?summarizeText(_0x5be556,0x50):undefined}),_0x54ce4f({'priority':'P0','category':_0x8b6c7b(0x1bd),'event':'session_'+_0x8b6c7b(0x2b6)+_0x8b6c7b(0x242),'status':_0x8b6c7b(0x1f1)+'d','message':_0x8b6c7b(0x108)+_0x8b6c7b(0x201),'sessionKey':_0x36489e,'inputSummary':_0x5be556?summarizeText(_0x5be556,0x50):undefined,'meta':{'hasName':Boolean(_0x5be556)}}),{'ok':!![]};}async function _0x40bfd1(_0x1c6b09,_0x2fd300){const _0xb32541=_0x5afb57;await _0x418b31();const _0x4a424e=getTrimmedString(_0x1c6b09),_0x1e329f=getTrimmedString(_0x2fd300);if(!_0x4a424e)throw new Error('session\x20'+_0xb32541(0x17b)+_0xb32541(0x10a));if(!_0x1e329f)throw new Error('model\x20re'+'f\x20is\x20req'+_0xb32541(0x12e));const _0x51e314=asRecord(await _0x315aeb[_0xb32541(0x279)](_0xb32541(0x210)+_0xb32541(0xfe),{'key':_0x4a424e,'model':_0x1e329f})),_0x4aad5f=asRecord(_0x51e314[_0xb32541(0xd0)]);return{'ok':!![],'key':getTrimmedString(_0x51e314[_0xb32541(0x127)])||_0x4a424e,'modelRef':_0x1e329f,'resolved':{'modelProvider':getTrimmedString(_0x4aad5f[_0xb32541(0xce)+'vider'])||null,'model':getTrimmedString(_0x4aad5f[_0xb32541(0x1e5)])||null,'agentRuntime':_0x4aad5f['agentRun'+'time']}};}async function _0xc44b1d(_0x22ad29=[]){const _0x13b175=_0x5afb57,_0x2c6754=await _0x5ec064[_0x13b175(0x1e9)+_0x13b175(0xcc)+_0x13b175(0x235)](Array[_0x13b175(0x124)](_0x22ad29)?_0x22ad29[_0x13b175(0x163)](getTrimmedString)[_0x13b175(0x149)](Boolean):[]);return _0x3586a4({'type':_0x13b175(0x174)+'eys-upda'+_0x13b175(0x1d0),'pinnedKeys':_0x2c6754['pinnedKe'+'ys']}),_0x480b31?.[_0x13b175(0x215)](_0x13b175(0x108)+_0x13b175(0x2a4)+_0x13b175(0x1ec)+_0x13b175(0x1d0),{'count':_0x2c6754['pinnedKe'+'ys'][_0x13b175(0x1e1)]}),_0x54ce4f({'priority':'P0','category':'session','event':'session_'+'pin_upda'+'te.succe'+_0x13b175(0x1f7),'status':_0x13b175(0x1f1)+'d','message':'session\x20'+_0x13b175(0x2a4)+_0x13b175(0x1ec)+_0x13b175(0x1d0),'meta':{'count':_0x2c6754[_0x13b175(0x11b)+'ys'][_0x13b175(0x1e1)]}}),_0x2c6754;}async function _0x1771b3(){const _0x3ec5b9=_0x5afb57,_0x3d77c6=join(_0x42cb2c[_0x3ec5b9(0x248)+_0x3ec5b9(0x277)](),'workspac'+'e');return{'path':_0x3d77c6,'exists':Boolean(await stat(_0x3d77c6)[_0x3ec5b9(0x22c)](()=>null))};}async function _0x7323bb(){const _0x4d1c82=_0x5afb57;return readSharedContext(join(_0x42cb2c[_0x4d1c82(0x248)+_0x4d1c82(0x277)](),_0x4d1c82(0x2c4)+'e'));}async function _0x2baebf(_0x2c7e3a={}){const _0x461075=_0x5afb57;return _0x5b43a2?.[_0x461075(0x215)]('workspac'+_0x461075(0x147)+_0x461075(0x117)+_0x461075(0x20a)+_0x461075(0x160),{'files':Object['keys'](sanitizeSharedContextPayload(_0x2c7e3a))}),writeSharedContext(join(_0x42cb2c['resolveS'+_0x461075(0x277)](),'workspac'+'e'),_0x2c7e3a);}async function _0x61a366(_0x4d1600={}){const _0x1463a1=_0x5afb57;if(!_0x3fbcdc())return{'pending':!![],'jobs':[],'hasMore':![],'nextOffset':0x0};return await _0x315aeb[_0x1463a1(0x279)](_0x1463a1(0xc3)+'t',_0x4d1600);}async function _0x481a3e(_0x496177={}){const _0x1ec8a4=_0x5afb57;await _0x418b31();const _0x4b81f5=await _0x315aeb[_0x1ec8a4(0x279)]('cron.add',normalizeCronMutationParams(_0x496177));return _0x52e7e3({'reason':_0x1ec8a4(0x255)+_0x1ec8a4(0x143)}),_0x4b81f5;}async function _0x5b842e(_0x379a14={}){const _0x5c4329=_0x5afb57;await _0x418b31();const _0x363847=getTrimmedString(_0x379a14[_0x5c4329(0x178)]??_0x379a14['id']);if(!_0x363847)throw new Error(_0x5c4329(0x140)+'\x20require'+'d');const _0x2a4be9=asRecord(_0x379a14[_0x5c4329(0x2c5)]),_0xdd6842=Object[_0x5c4329(0x22a)](_0x2a4be9)[_0x5c4329(0x1e1)]>0x0?_0x2a4be9:{..._0x379a14};delete _0xdd6842[_0x5c4329(0x178)],delete _0xdd6842['id'];const _0x3dea7c=await _0x315aeb['request'](_0x5c4329(0x297)+'ate',{'jobId':_0x363847,'patch':normalizeCronMutationParams(_0xdd6842)});return _0x52e7e3({'reason':_0x5c4329(0x255)+_0x5c4329(0x143)}),_0x3dea7c;}async function _0x4211c1(_0x482fd5={}){const _0x47bcef=_0x5afb57;await _0x418b31();const _0xda45da=getTrimmedString(_0x482fd5['jobId']??_0x482fd5['id']);if(!_0xda45da)throw new Error(_0x47bcef(0x140)+'\x20require'+'d');const _0x33ae6d=await _0x315aeb[_0x47bcef(0x279)]('cron.rem'+_0x47bcef(0x122),{'jobId':_0xda45da});return _0x52e7e3({'reason':_0x47bcef(0x255)+_0x47bcef(0x143)}),_0x33ae6d;}async function _0x5c987d(_0xe3c04a={}){const _0x442e68=_0x5afb57;await _0x418b31();const _0x4171f2=getTrimmedString(_0xe3c04a['jobId']??_0xe3c04a['id']);if(!_0x4171f2)throw new Error(_0x442e68(0x140)+_0x442e68(0x21e)+'d');const _0x174654=await _0x315aeb[_0x442e68(0x279)](_0x442e68(0x21b),{'jobId':_0x4171f2}),_0xdf3125=getTrimmedString(asRecord(_0x174654)['sessionK'+'ey']);if(_0xdf3125)_0x3586a4({'sessionKey':_0xdf3125,'state':'final'});else _0x52e7e3({'reason':_0x442e68(0x199)});return _0x174654;}async function _0x147a75(_0x38ec89={}){const _0x1806b6=_0x5afb57;return await _0x418b31(),await _0x315aeb[_0x1806b6(0x279)]('cron.run'+'s',_0x38ec89);}async function _0x41a280(_0x3eb121={}){const _0x19091e=_0x5afb57;await _0x418b31();const _0x2dc2d9=Date[_0x19091e(0x1aa)]();_0x5b43a2?.[_0x19091e(0x215)](_0x19091e(0x1d6)+_0x19091e(0x164)+'quested',{'payload':summarizePayload(_0x3eb121)});try{const _0x51bfd4=await _0x315aeb['request'](_0x19091e(0xdf)+_0x19091e(0x1ef),_0x3eb121);return _0x5b43a2?.[_0x19091e(0x215)]('skill\x20in'+_0x19091e(0x18f)+_0x19091e(0x284),{'durationMs':Date[_0x19091e(0x1aa)]()-_0x2dc2d9,'result':summarizePayload(_0x51bfd4,{'maxDepth':0x2})}),_0x51bfd4;}catch(_0x5cd9ab){_0x5b43a2?.[_0x19091e(0xd7)](_0x19091e(0x1d6)+_0x19091e(0x1bf)+_0x19091e(0x25e),{'durationMs':Date['now']()-_0x2dc2d9,'error':summarizeError(_0x5cd9ab)});const _0x28c89c=_0x5cd9ab instanceof Error?_0x5cd9ab[_0x19091e(0xc0)]:String(_0x5cd9ab);throw new Error(_0x19091e(0x2b5)+_0x28c89c);}}async function _0x110fc6(_0x4ea893={}){const _0x273f9b=_0x5afb57;_0x5b43a2?.[_0x273f9b(0x215)](_0x273f9b(0x278)+_0x273f9b(0x137)+_0x273f9b(0x118),{'payload':summarizePayload(_0x4ea893)});throw new Error(_0x273f9b(0xe4)+_0x273f9b(0x16b)+_0x273f9b(0x298)+'\x20by\x20shel'+'l-core,\x20'+'not\x20Open'+_0x273f9b(0x254)+_0x273f9b(0x2ab));}async function _0x499e32(_0x3ef914={}){const _0x1cd4b6=_0x5afb57;_0x5b43a2?.[_0x1cd4b6(0x215)]('skill\x20de'+'lete\x20req'+_0x1cd4b6(0x118),{'payload':summarizePayload(_0x3ef914)});throw new Error(_0x1cd4b6(0xc5)+_0x1cd4b6(0x20b)+'\x20handled'+'\x20by\x20shel'+_0x1cd4b6(0x27b)+_0x1cd4b6(0x2a5)+_0x1cd4b6(0x254)+_0x1cd4b6(0x2ab));}async function _0x47cb9c(_0x3ca015={}){const _0x48c902=_0x5afb57;await _0x418b31();const _0x17f486=getTrimmedString(_0x3ca015[_0x48c902(0x2b7)+'ey']),_0x3011c0=getTrimmedString(_0x3ca015[_0x48c902(0xc0)]),_0x5b2e0a=getTrimmedString(_0x3ca015[_0x48c902(0x183)+'d'])||randomUUID();if(!_0x17f486)throw new Error('sessionK'+_0x48c902(0xcf)+_0x48c902(0x1fc));if(!_0x3011c0)throw new Error(_0x48c902(0xfb)+'is\x20requi'+'red');const _0x5b17fb=Date[_0x48c902(0x1aa)]();_0x4199a0?.[_0x48c902(0x215)](_0x48c902(0x293)+_0x48c902(0x247)+_0x48c902(0x1c7),{'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'message':summarizeText(_0x3011c0),'filePaths':summarizeFilePaths(_0x3ca015[_0x48c902(0x154)+'s'])}),_0x54ce4f({'priority':'P0','category':_0x48c902(0x1bc),'event':_0x48c902(0x1d5)+_0x48c902(0x11f)+'ved','status':'requeste'+'d','message':_0x48c902(0x176)+'ut\x20recei'+'ved','sessionKey':_0x17f486,'runId':_0x5b2e0a,'agentId':getTrimmedString(_0x3ca015['agentId']),'inputSummary':summarizeText(_0x3011c0,0xc8),'attachments':summarizeUserEventAttachments(_0x3ca015),'meta':{'requestId':_0x5b2e0a,'source':getTrimmedString(_0x3ca015[_0x48c902(0x162)])||_0x48c902(0x1c4)}});const _0x2aec9d=_0xa18cc9(),_0x2eed78={'runId':_0x5b2e0a,'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'outputText':'','startedAt':_0x5b17fb,'started':![],'agentId':getTrimmedString(_0x3ca015['agentId']),..._0x2aec9d};_0x126cfd[_0x48c902(0x23f)](_0x5b2e0a,_0x2eed78);const _0x30bb20=_0x42d218[_0x48c902(0x229)](_0x2eed78);try{if(_0x30bb20){_0x4199a0?.[_0x48c902(0x215)](_0x48c902(0x293)+_0x48c902(0x208)+_0x48c902(0x2ac)+'d\x20active'+_0x48c902(0x16a),{'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'previousRequestId':_0x30bb20[_0x48c902(0x183)+'d'],'previousRunId':_0x30bb20[_0x48c902(0xf5)]}),await _0x30bb20[_0x48c902(0xc2)];if(!_0x126cfd[_0x48c902(0x26f)](_0x5b2e0a))return{'ok':!![],'requestId':_0x5b2e0a};}const {attachments:_0x10205a,historyMediaLines:_0x4701b7}=await buildAttachments(Array[_0x48c902(0x124)](_0x3ca015['filePath'+'s'])?_0x3ca015['filePath'+'s']:[],{'sessionKey':_0x17f486,'stateDir':_0x42cb2c[_0x48c902(0x248)+_0x48c902(0x277)](),'onWarn':_0x4eca0d=>_0x4199a0?.[_0x48c902(0x237)](_0x48c902(0xbc)+_0x48c902(0x15e)+_0x48c902(0x2aa)+'warning',{'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'warning':_0x4eca0d})}),_0x456439=_0x4701b7[_0x48c902(0x1e1)]>0x0?_0x3011c0+'\x0a'+_0x4701b7[_0x48c902(0x114)]('\x0a'):_0x3011c0;_0x4199a0?.[_0x48c902(0x215)](_0x48c902(0xbc)+_0x48c902(0x1d3)+_0x48c902(0xca)+'d',{'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'attachmentCount':_0x10205a[_0x48c902(0x1e1)],'historyMediaLineCount':_0x4701b7[_0x48c902(0x1e1)],'attachments':_0x10205a[_0x48c902(0x163)](_0x402786=>({'type':_0x402786[_0x48c902(0x198)],'mimeType':_0x402786[_0x48c902(0x18e)],'fileName':_0x402786[_0x48c902(0xf0)],'contentLength':_0x402786[_0x48c902(0x177)][_0x48c902(0x1e1)]}))}),_0x54ce4f({'priority':'P0','category':_0x48c902(0x1bc),'event':'attachme'+_0x48c902(0x23a)+_0x48c902(0xe8),'status':'succeede'+'d','message':'chat\x20att'+_0x48c902(0x1d3)+_0x48c902(0xca)+'d','sessionKey':_0x17f486,'runId':_0x5b2e0a,'agentId':getTrimmedString(_0x3ca015[_0x48c902(0x20d)]),'attachments':{'count':_0x10205a[_0x48c902(0x1e1)],'types':[...new Set(_0x10205a[_0x48c902(0x163)](_0x5a5cde=>_0x5a5cde[_0x48c902(0x18e)]||_0x5a5cde[_0x48c902(0x198)])[_0x48c902(0x149)](Boolean))],'files':_0x10205a['slice'](0x0,0xa)[_0x48c902(0x163)](_0x49885b=>({'type':_0x49885b[_0x48c902(0x198)],'mimeType':_0x49885b[_0x48c902(0x18e)],'fileName':_0x49885b[_0x48c902(0xf0)],'contentLength':_0x49885b[_0x48c902(0x177)]['length']})),'truncated':_0x10205a[_0x48c902(0x1e1)]>0xa},'meta':{'historyMediaLineCount':_0x4701b7[_0x48c902(0x1e1)],'requestId':_0x5b2e0a}});const _0x426bd4=asRecord(await _0x315aeb['request'](_0x48c902(0x193)+'d',{'sessionKey':_0x17f486,'message':_0x456439,'deliver':![],'idempotencyKey':_0x5b2e0a,..._0x10205a[_0x48c902(0x1e1)]>0x0?{'attachments':_0x10205a}:{}})),_0x2e426f=getTrimmedString(_0x426bd4[_0x48c902(0xf5)])||_0x5b2e0a,_0x4e5533=_0x126cfd[_0x48c902(0xdc)](_0x5b2e0a);if(!_0x4e5533)return{'ok':!![],'requestId':_0x5b2e0a,'runId':_0x2e426f};return _0x4e5533[_0x48c902(0x28f)]=!![],_0x2e426f!==_0x4e5533['runId']&&(_0x126cfd['delete'](_0x4e5533[_0x48c902(0xf5)]),_0x4e5533[_0x48c902(0xf5)]=_0x2e426f,_0x126cfd[_0x48c902(0x23f)](_0x2e426f,_0x4e5533)),_0xe7f1de[_0x48c902(0x23f)](_0x17f486,_0x2e426f),_0x4cb931({'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'type':_0x48c902(0x28f)}),_0x4199a0?.[_0x48c902(0x215)](_0x48c902(0x293)+_0x48c902(0x10f)+_0x48c902(0xb6)+_0x48c902(0x257),{'requestId':_0x5b2e0a,'runId':_0x2e426f,'sessionKey':_0x17f486,'durationMs':Date[_0x48c902(0x1aa)]()-_0x5b17fb,'status':_0x426bd4[_0x48c902(0x103)]}),_0x54ce4f({'priority':'P0','category':'chat','event':_0x48c902(0x25d)+_0x48c902(0x226)+_0x48c902(0x1b9),'status':_0x426bd4[_0x48c902(0x103)]==='error'?_0x48c902(0x12d):'accepted','level':_0x426bd4['status']===_0x48c902(0xd7)?_0x48c902(0xd7):_0x48c902(0x215),'message':_0x48c902(0x293)+'eam\x20acce'+_0x48c902(0xb6)+_0x48c902(0x257),'sessionKey':_0x17f486,'runId':_0x2e426f,'agentId':getTrimmedString(_0x3ca015[_0x48c902(0x20d)]),'visibleError':_0x426bd4[_0x48c902(0x103)]===_0x48c902(0xd7)?getTrimmedString(_0x426bd4['errorMes'+_0x48c902(0xb9)])||_0x48c902(0x11a)+_0x48c902(0x245)+_0x48c902(0x234):undefined,'durationMs':Date[_0x48c902(0x1aa)]()-_0x5b17fb,'captureIncident':_0x426bd4[_0x48c902(0x103)]===_0x48c902(0xd7),'meta':{'requestId':_0x5b2e0a,'gatewayStatus':_0x426bd4[_0x48c902(0x103)]}}),_0x426bd4[_0x48c902(0x103)]==='error'&&_0x1d17c8(_0x4e5533,_0x48c902(0xd7),getTrimmedString(_0x426bd4[_0x48c902(0x2b0)+'sage'])||_0x48c902(0x11a)+_0x48c902(0x245)+_0x48c902(0x234)),{'ok':!![],'requestId':_0x5b2e0a,'runId':_0x2e426f,'response':_0x426bd4};}catch(_0x3ab65e){const _0xbb4ec=_0xc5284f(_0x5b2e0a),_0x18862f=_0x3ab65e instanceof Error?_0x3ab65e[_0x48c902(0xc0)]:String(_0x3ab65e);_0x4199a0?.[_0x48c902(0xd7)](_0x48c902(0x293)+_0x48c902(0xf6)+'ed',{'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'durationMs':Date[_0x48c902(0x1aa)]()-_0x5b17fb,'error':summarizeError(_0x3ab65e)}),_0x54ce4f({'priority':'P0','category':_0x48c902(0x1bc),'event':'chat_str'+'eam.fail'+'ed','status':'failed','level':_0x48c902(0xd7),'message':_0x48c902(0x293)+_0x48c902(0xf6)+'ed','sessionKey':_0x17f486,'runId':_0xbb4ec?.[_0x48c902(0xf5)]||_0x5b2e0a,'agentId':getTrimmedString(_0x3ca015[_0x48c902(0x20d)]),'inputSummary':summarizeText(_0x3011c0,0xc8),'attachments':summarizeUserEventAttachments(_0x3ca015),'visibleError':_0x18862f,'durationMs':Date[_0x48c902(0x1aa)]()-_0x5b17fb,'captureIncident':!![],'meta':{'requestId':_0x5b2e0a,'error':summarizeError(_0x3ab65e)}});if(_0xbb4ec)_0x1d17c8(_0xbb4ec,_0x48c902(0xd7),_0x18862f);else _0x4cb931({'requestId':_0x5b2e0a,'sessionKey':_0x17f486,'type':'error','message':_0x18862f});throw _0x3ab65e;}}async function _0x3630f1(_0x3679ca={}){const _0x32a40b=_0x5afb57;_0x4d754b();const _0x44406b=getTrimmedString(_0x3679ca[_0x32a40b(0x2b7)+'ey']);if(!_0x44406b)throw new Error(_0x32a40b(0x2b7)+_0x32a40b(0xcf)+_0x32a40b(0x1fc));const _0x1d4f2c=Date[_0x32a40b(0x1aa)](),_0x32f221=_0xc5284f(getTrimmedString(_0x3679ca['requestI'+'d']))??_0x44555d(_0x44406b),_0x5bcbe7=_0xe7f1de['get'](_0x44406b),_0x8c5a7f={'sessionKey':_0x44406b};if(_0x32f221?.[_0x32a40b(0xf5)])_0x8c5a7f[_0x32a40b(0xf5)]=_0x32f221['runId'];else{if(_0x5bcbe7)_0x8c5a7f[_0x32a40b(0xf5)]=_0x5bcbe7;}const _0x352748=await _0x315aeb[_0x32a40b(0x279)](_0x32a40b(0x272)+'rt',_0x8c5a7f);if(_0x32f221)_0x1d17c8(_0x32f221,_0x32a40b(0x29f));return _0x4199a0?.[_0x32a40b(0x215)](_0x32a40b(0x2a6)+'rt\x20reque'+_0x32a40b(0xcb),{'sessionKey':_0x44406b,'requestId':getTrimmedString(_0x3679ca[_0x32a40b(0x183)+'d']),'runId':_0x8c5a7f[_0x32a40b(0xf5)],'durationMs':Date[_0x32a40b(0x1aa)]()-_0x1d4f2c}),_0x352748;}async function _0x271347(_0x4c0e48={}){const _0x342e0b=_0x5afb57,_0x1da5c3=getTrimmedString(_0x4c0e48[_0x342e0b(0x2b7)+'ey']);if(!_0x1da5c3)throw new Error('sessionK'+_0x342e0b(0xcf)+_0x342e0b(0x1fc));const _0x743a3f=Math[_0x342e0b(0x156)](0x1,Math[_0x342e0b(0x2a2)](Number(_0x4c0e48[_0x342e0b(0x216)])||0xc8)),_0x54a1e1=getTrimmedString(_0x4c0e48[_0x342e0b(0x260)])||null;if(!_0x3fbcdc())return{'messages':[],'limit':_0x743a3f,'hasMore':![],'nextCursor':null};const _0x4d4b9b={'sessionKey':_0x1da5c3,'limit':_0x743a3f};if(_0x54a1e1)_0x4d4b9b[_0x342e0b(0x260)]=_0x54a1e1;let _0x3bc113;try{_0x3bc113=await _0x315aeb[_0x342e0b(0x279)]('chat.his'+'tory',_0x4d4b9b);}catch(_0x304126){if(isChatHistoryNotFoundError(_0x304126)){_0x1f5335(_0x1da5c3,_0x342e0b(0x120)+_0x342e0b(0x2c6)+'d',{'cursorPresent':Boolean(_0x54a1e1),'limit':_0x743a3f,'source':getTrimmedString(_0x4c0e48[_0x342e0b(0x162)])||null});if(BACKGROUND_CHAT_HISTORY_SOURCES[_0x342e0b(0x26f)](getTrimmedString(_0x4c0e48[_0x342e0b(0x162)])))return createEmptyChatHistoryResult(_0x743a3f);}throw _0x304126;}return _0x4199a0?.[_0x342e0b(0x215)](_0x342e0b(0x22e)+_0x342e0b(0xd3)+_0x342e0b(0x128),{'sessionKey':_0x1da5c3,'limit':_0x743a3f,'cursorPresent':Boolean(_0x54a1e1),'result':summarizePayload(_0x3bc113,{'maxDepth':0x2})}),_0x3bc113;}async function _0x1fc354(_0x672e8c=''){const _0xd0332b=_0x5afb57;if(!_0x3fbcdc())return{'pending':!![],'skills':[]};const _0x268f74=getTrimmedString(_0x672e8c),_0x29708f=await _0x315aeb['request'](_0xd0332b(0x26d)+_0xd0332b(0x2b9),_0x268f74?{'agentId':_0x268f74}:{}),_0x1b5693=await _0x42cb2c['readConf'+'ig']()[_0xd0332b(0x22c)](()=>({})),_0x4f9bf5=await _0xccca97[_0xd0332b(0x2c2)+_0xd0332b(0x2a7)](_0x29708f),_0x2a6f4b=applySkillConfigStateToStatus(_0x4f9bf5,_0x1b5693),_0x2ec499=filterSkillsForAgent(_0x2a6f4b,_0x1b5693,_0x268f74,_0xe3882d);return _0x5b43a2?.['info'](_0xd0332b(0x263)+_0xd0332b(0x1d1)+'aded',{'agentId':_0x268f74||_0xd0332b(0x1f5),'result':summarizePayload(_0x2ec499,{'maxDepth':0x2})}),_0x2ec499;}return{'on':_0xa5dbac,'start':_0x21f45f,'stop':_0x5627f6,'restart':_0x22d1b8,'runtimeInfo':_0xc55838,'gatewayToken':()=>_0xc09a8c||'','gatewayPort':()=>_0x56d6b||0x0,'getStatus':()=>_0x16b181,'getRecentLogs':_0x69782f,'answerAskUserQuestion':_0x2caab3=>_0x50bb77[_0x5afb57(0x1a2)](_0x2caab3),'agents':{'list':_0x1fc224},'skills':{'status':_0x1fc354,'install':_0x41a280,'update':_0x110fc6,'delete':_0x499e32},'sessions':{'create':_0x37899d,'list':_0x1eaa0b,'delete':_0x36fa71,'rename':_0x2cbbf5,'patchModel':_0x40bfd1,'reorderPinned':_0xc44b1d},'workspace':{'directoryInfo':_0x1771b3,'sharedContext':_0x7323bb,'writeSharedContext':_0x2baebf},'cron':{'list':_0x61a366,'create':_0x481a3e,'update':_0x5b842e,'remove':_0x4211c1,'runOnce':_0x5c987d,'logs':_0x147a75},'models':{'settings':()=>_0x42cb2c['getModel'+_0x5afb57(0x1c2)](),'setSettings':async(_0x59898c={})=>{const _0x47f2ef=_0x5afb57,_0x200c14=_0x59898c?.[_0x47f2ef(0x158)+_0x47f2ef(0x133)]!==![];return await _0x42cb2c[_0x47f2ef(0x27d)+'Settings'](_0x59898c,{'restartOnChange':_0x200c14}),_0x42cb2c[_0x47f2ef(0x111)+_0x47f2ef(0x1c2)]();},'setSelectedModelEverywhere':async(_0x51d95a={})=>{const _0x1e8563=_0x5afb57,_0x44b04f=await _0x42cb2c[_0x1e8563(0x1cd)+_0x1e8563(0x113)+'delSetti'+_0x1e8563(0x26b)](_0x51d95a),_0x306967=getTrimmedString(_0x51d95a['sessionK'+'ey']);if(!_0x306967)return{'ok':!![],'modelRef':_0x44b04f[_0x1e8563(0x1b5)],'defaultPersisted':!![],'currentSessionApplied':![],'effectiveFrom':'new-sess'+_0x1e8563(0x19a),'sessionKey':null};try{const _0x262652=await _0x40bfd1(_0x306967,_0x44b04f[_0x1e8563(0x1b5)]);return{'ok':!![],'modelRef':_0x44b04f['modelRef'],'defaultPersisted':!![],'currentSessionApplied':!![],'effectiveFrom':'next-mes'+_0x1e8563(0xb9),'sessionKey':_0x262652[_0x1e8563(0x127)]};}catch(_0x1a759b){if(_0x51d95a[_0x1e8563(0x1eb)+_0x1e8563(0x28a)+'artFallb'+'ack'])return void _0x22d1b8('custom\x20m'+_0x1e8563(0xf8)+_0x1e8563(0x138)+_0x1e8563(0xf2)),{'ok':!![],'modelRef':_0x44b04f[_0x1e8563(0x1b5)],'defaultPersisted':!![],'currentSessionApplied':![],'effectiveFrom':_0x1e8563(0x250)+_0x1e8563(0x280),'sessionKey':_0x306967,'sessionPatchError':_0x1a759b instanceof Error?_0x1a759b[_0x1e8563(0xc0)]:String(_0x1a759b),'gatewayRestartRequested':!![]};return{'ok':!![],'modelRef':_0x44b04f['modelRef'],'defaultPersisted':!![],'currentSessionApplied':![],'effectiveFrom':_0x1e8563(0x194)+_0x1e8563(0x19a),'sessionKey':_0x306967,'sessionPatchError':_0x1a759b instanceof Error?_0x1a759b['message']:String(_0x1a759b)};}},'setSelfOperatedModels':_0xa100b9=>_0x42cb2c[_0x5afb57(0x139)+'peratedM'+_0x5afb57(0x24b)](_0xa100b9),'selectedModelId':async()=>{const _0x3f5747=_0x5afb57,_0x58cd26=await _0x42cb2c[_0x3f5747(0x111)+_0x3f5747(0x1c2)]();return _0x58cd26[_0x3f5747(0x2b2)]&&_0x58cd26['modelNam'+'e']?_0x58cd26[_0x3f5747(0x2b2)]+'/'+_0x58cd26[_0x3f5747(0x2a9)+'e']:'';},'customModels':async()=>{const _0x1ad99a=_0x5afb57;return _0x42cb2c[_0x1ad99a(0xde)+_0x1ad99a(0x1b1)]();},'saveCustomModel':async _0x4fe7bc=>{const _0x273305=_0x5afb57;return _0x42cb2c[_0x273305(0x2b4)+_0x273305(0x20e)](_0x4fe7bc);},'deleteCustomModel':async(_0x5db675={})=>{const _0x28e394=_0x5afb57,_0x2a2f79=typeof _0x5db675===_0x28e394(0xd4)?{'id':_0x5db675}:asRecord(_0x5db675),_0x54e587=await _0x42cb2c[_0x28e394(0x13c)+_0x28e394(0x100)+'l'](_0x2a2f79),_0xc6ba68=getTrimmedString(_0x2a2f79[_0x28e394(0x2b7)+'ey']);if(!_0x54e587['modelRef']||!_0xc6ba68)return{'ok':!![],'id':_0x54e587['id'],'models':_0x54e587['models'],'modelRef':_0x54e587[_0x28e394(0x1b5)],'currentSessionApplied':![],'effectiveFrom':_0x28e394(0x194)+_0x28e394(0x19a),'sessionKey':_0xc6ba68||null};try{const _0x4850d6=await _0x40bfd1(_0xc6ba68,_0x54e587[_0x28e394(0x1b5)]);return{'ok':!![],'id':_0x54e587['id'],'models':_0x54e587['models'],'modelRef':_0x54e587[_0x28e394(0x1b5)],'currentSessionApplied':!![],'effectiveFrom':_0x28e394(0xd2)+'sage','sessionKey':_0x4850d6[_0x28e394(0x127)]};}catch(_0x1d175b){return{'ok':!![],'id':_0x54e587['id'],'models':_0x54e587[_0x28e394(0x225)],'modelRef':_0x54e587[_0x28e394(0x1b5)],'currentSessionApplied':![],'effectiveFrom':_0x28e394(0x194)+_0x28e394(0x19a),'sessionKey':_0xc6ba68,'sessionPatchError':_0x1d175b instanceof Error?_0x1d175b['message']:String(_0x1d175b)};}}},'config':{'read':()=>_0x42cb2c[_0x5afb57(0xc1)+_0x5afb57(0x29c)]()},'chat':{'stream':_0x47cb9c,'abort':_0x3630f1,'history':_0x271347}};}
|
|
@@ -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 _0x1fa202=_0x5db9;(function(_0x1a4ebe,_0x288798){const _0x58a264=_0x5db9,_0xef72e1=_0x1a4ebe();while(!![]){try{const _0x304881=-parseInt(_0x58a264(0xb5))/0x1*(-parseInt(_0x58a264(0x140))/0x2)+-parseInt(_0x58a264(0x11c))/0x3*(-parseInt(_0x58a264(0x14b))/0x4)+parseInt(_0x58a264(0x104))/0x5*(-parseInt(_0x58a264(0x125))/0x6)+parseInt(_0x58a264(0x157))/0x7+-parseInt(_0x58a264(0x16f))/0x8+parseInt(_0x58a264(0x13c))/0x9+-parseInt(_0x58a264(0x11b))/0xa*(parseInt(_0x58a264(0x176))/0xb);if(_0x304881===_0x288798)break;else _0xef72e1['push'](_0xef72e1['shift']());}catch(_0x3d291b){_0xef72e1['push'](_0xef72e1['shift']());}}}(_0x23cd,0xbf25a));import{Buffer}from'node:buffer';function _0x23cd(){const _0x592442=['lengeTim','ateway\x20i','sha256','code=','Format','d\x20(','artedAt','WS\x20hands','onStartu','min','.changed','connectC','object','connecte','eout','restart','rsion','timeoutM','splayNam','chat','connectA','mily','ting','digest','t\x20config','ws_conne','send','platform','push','unavaila','operator','nectChal','pTiming','e\x20timeou','ssage','clientMo','onnectTi','g\x20nonce','fromChar','readyWai','ters','Options','onDiscon','connectN','close','req','4225ZFaEvK','replaceA','sendConn','ateway\x20r','resolve','70032100','dentity\x20','ing_retr','viceFami','equals','toString','.write','export','connect\x20','tewayRea','med\x20out','.pairing','rejectRe','hake\x20tim','ed25519','clientDe','from','ted','10TSUvmu','12SSQzBN','onSessio','reconnec','resolved','handleMe','payload','Code','fore_rea','shouldRe','1926WJwdOr','configur','ect','.admin','res','tTimer','is\x20not\x20l','e\x20missin','filter','onAgentE','WS\x20clien','accepted','agent','subarray','Timer','handleDi','now','ct\x20faile','ct_attem','WS\x20error','yPem','ent','url','10040661yxWBxb','eyPem','clientId','token','104AXvYJp','resolveR','t\x20stoppe','der','OPEN','entity','gateway\x20','parse','_schedul','timed\x20ou','utf8','976172OAHvCR','.read','error','failed','challeng','clearTim','once','socket_c','\x20yet','base64','tBackoff','slice','4931682pcsTgr','request','connectS','mer','hallenge','failed:\x20','lReady','rejectPe','entries','removeAl','delete','ttemptSt','sessions','adyWaite','ers','notifyGa','charCode','terminat','sconnect','nnected','join','pending','ws_gatew','stop','9341136pvCtGc','privateK','config','test','Event','ured','ws_start','12062402btRCdb','readySta','reject','nal','onConnec','event','.approva','ble','publicKe','losed_be','ay_ready','clearRec','deviceId','queueCon','06032b65','hake\x20mis','nonce','led','nected','isArray','clientVe','lListene','cted','gateway_','type','nEvent','WS\x20disco','pt_faile','equest','scopes','pem','10040feozYH','Path','status','message','replace','WS\x20is\x20no','_retry_n','t\x20restar','yCheck','y_schedu','identity','WS\x20conne','set','role','deviceFa','wujie-sh','sing\x20non','waitUnti','trim','timeout','spki','length','way\x20设备身份','nding','o\x20load\x20g','expectFi','string','connect','method','open','ttempt','signedAt','hex'];_0x23cd=function(){return _0x592442;};return _0x23cd();}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 _0x3d955f from'ws';const ED25519_SPKI_PREFIX=Buffer['from']('302a3005'+_0x1fa202(0xa4)+_0x1fa202(0x109),_0x1fa202(0xd5)),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(_0x22b2ff){const _0x332b52=_0x1fa202;return Boolean(_0x22b2ff)&&typeof _0x22b2ff===_0x332b52(0xe2)&&!Array[_0x332b52(0xa9)](_0x22b2ff);}function formatUnknownError(_0x144b93){const _0x21f7b0=_0x1fa202;if(_0x144b93 instanceof Error)return _0x144b93[_0x21f7b0(0xb8)];return String(_0x144b93??'');}function isLocalGatewayConnRefused(_0x4e0c01){const _0x591f94=_0x1fa202,_0xe1ec5b=formatUnknownError(_0x4e0c01);return/\bECONNREFUSED\b/i[_0x591f94(0x172)](_0xe1ec5b)&&/127\.0\.0\.1:\d+/['test'](_0xe1ec5b);}function isGatewayStartingRetryReason(_0x557435){const _0x137706=_0x1fa202;return/\bgateway starting;\s*retry shortly\b/i[_0x137706(0x172)](_0x557435);}function base64UrlEncode(_0x517945){const _0x385fed=_0x1fa202;return _0x517945['toString'](_0x385fed(0x154))[_0x385fed(0x105)+'ll']('+','-')[_0x385fed(0x105)+'ll']('/','_')[_0x385fed(0xb9)](BASE64_PADDING_REGEX,'');}function derivePublicKeyRaw(_0x3f1af3){const _0x3506e5=_0x1fa202,_0x1b4d09=createPublicKey(_0x3f1af3)[_0x3506e5(0x110)]({'type':'spki','format':_0x3506e5(0x143)}),_0x21ac70=Buffer['isBuffer'](_0x1b4d09)?_0x1b4d09:Buffer[_0x3506e5(0x119)](_0x1b4d09),_0x2bb5cb=_0x21ac70[_0x3506e5(0xca)]===ED25519_SPKI_PREFIX[_0x3506e5(0xca)]+0x20&&_0x21ac70['subarray'](0x0,ED25519_SPKI_PREFIX[_0x3506e5(0xca)])[_0x3506e5(0x10d)](ED25519_SPKI_PREFIX);return _0x2bb5cb?_0x21ac70[_0x3506e5(0x132)](ED25519_SPKI_PREFIX['length']):_0x21ac70;}function fingerprintPublicKey(_0x4acd8f){const _0x36076e=_0x1fa202;return createHash(_0x36076e(0xd8))['update'](derivePublicKeyRaw(_0x4acd8f))[_0x36076e(0xed)]('hex');}function publicKeyRawBase64UrlFromPem(_0x45b9d8){return base64UrlEncode(derivePublicKeyRaw(_0x45b9d8));}function signDevicePayload(_0x46550e,_0x2161ea){const _0x3a381a=_0x1fa202,_0x188e7e=createPrivateKey(_0x46550e);return base64UrlEncode(sign(null,Buffer[_0x3a381a(0x119)](_0x2161ea,_0x3a381a(0x14a)),_0x188e7e));}function normalizeDeviceMetadataForAuth(_0x580fc5){const _0x3bf910=_0x1fa202,_0x1ebfab=typeof _0x580fc5===_0x3bf910(0xcf)?_0x580fc5[_0x3bf910(0xc7)]():'';if(!_0x1ebfab)return'';return _0x1ebfab[_0x3bf910(0xb9)](UPPERCASE_ASCII_REGEX,_0x4cf094=>String[_0x3bf910(0xfc)+_0x3bf910(0x122)](_0x4cf094[_0x3bf910(0x167)+'At'](0x0)+0x20));}function buildDeviceAuthPayloadV3(_0x4097da){const _0x4d4551=_0x1fa202;return['v3',_0x4097da[_0x4d4551(0xa2)],_0x4097da[_0x4d4551(0x13e)],_0x4097da['clientMo'+'de'],_0x4097da[_0x4d4551(0xc2)],_0x4097da[_0x4d4551(0xb3)][_0x4d4551(0x16b)](','),String(_0x4097da[_0x4d4551(0xd4)+'Ms']),_0x4097da[_0x4d4551(0x13f)]??'',_0x4097da[_0x4d4551(0xa6)],normalizeDeviceMetadataForAuth(_0x4097da[_0x4d4551(0xf1)]),normalizeDeviceMetadataForAuth(_0x4097da[_0x4d4551(0xc3)+_0x4d4551(0xeb)])][_0x4d4551(0x16b)]('|');}function _0x5db9(_0x3c23b2,_0x2d911d){_0x3c23b2=_0x3c23b2-0x9f;const _0x23cdbe=_0x23cd();let _0x5db936=_0x23cdbe[_0x3c23b2];return _0x5db936;}function writeIdentityFile(_0x18a0dc,_0xc6c42b,_0x413d23){mkdirSync(dirname(_0x18a0dc),{'recursive':!![]}),writeFileSync(_0x18a0dc,JSON['stringif'+'y']({'version':0x1,..._0xc6c42b,'createdAtMs':_0x413d23},null,0x2)+'\x0a',{'mode':0x180});try{chmodSync(_0x18a0dc,0x180);}catch{}}function generateDeviceIdentity(){const _0x3af2c2=_0x1fa202,{publicKey:_0x27089a,privateKey:_0x218e6a}=generateKeyPairSync(_0x3af2c2(0x117)),_0x13688d=_0x27089a[_0x3af2c2(0x110)]({'type':_0x3af2c2(0xc9),'format':'pem'})[_0x3af2c2(0x10e)](),_0x29e971=_0x218e6a[_0x3af2c2(0x110)]({'type':'pkcs8','format':_0x3af2c2(0xb4)})[_0x3af2c2(0x10e)]();return{'deviceId':fingerprintPublicKey(_0x13688d),'publicKeyPem':_0x13688d,'privateKeyPem':_0x29e971};}function loadOrCreateDeviceIdentity(_0x390bd3){const _0x316284=_0x1fa202;if(existsSync(_0x390bd3))try{const _0x32cb6d=JSON['parse'](readFileSync(_0x390bd3,_0x316284(0x14a))),_0xb602cb=typeof _0x32cb6d?.[_0x316284(0x17e)+_0x316284(0x139)]===_0x316284(0xcf)?_0x32cb6d['publicKe'+_0x316284(0x139)]:'',_0xbdfd4d=typeof _0x32cb6d?.[_0x316284(0x170)+_0x316284(0x13d)]===_0x316284(0xcf)?_0x32cb6d[_0x316284(0x170)+_0x316284(0x13d)]:'';if(_0xb602cb&&_0xbdfd4d){const _0xde23cd={'deviceId':fingerprintPublicKey(_0xb602cb),'publicKeyPem':_0xb602cb,'privateKeyPem':_0xbdfd4d};return _0x32cb6d?.[_0x316284(0xa2)]!==_0xde23cd[_0x316284(0xa2)]&&writeIdentityFile(_0x390bd3,_0xde23cd,Date[_0x316284(0x135)]()),_0xde23cd;}}catch{}const _0x1710e3=generateDeviceIdentity();return writeIdentityFile(_0x390bd3,_0x1710e3,Date[_0x316284(0x135)]()),_0x1710e3;}export class ClawGatewayWsClient{['ws']=null;[_0x1fa202(0x171)]=null;[_0x1fa202(0x16c)]=new Map();[_0x1fa202(0xfd)+_0x1fa202(0xfe)]=[];[_0x1fa202(0x124)+_0x1fa202(0xd0)]=![];[_0x1fa202(0x11e)+_0x1fa202(0x12a)]=null;[_0x1fa202(0xe1)+_0x1fa202(0x15b)+'Timer']=null;[_0x1fa202(0x101)+_0x1fa202(0x151)]=null;[_0x1fa202(0x159)+'ent']=![];[_0x1fa202(0xe3)+'d']=![];[_0x1fa202(0x11e)+_0x1fa202(0x155)+'Ms']=INITIAL_RECONNECT_BACKOFF_MS;[_0x1fa202(0xa2)+_0x1fa202(0x145)]=null;[_0x1fa202(0xea)+_0x1fa202(0xd3)]=0x0;['connectA'+_0x1fa202(0x162)+_0x1fa202(0xdc)]=0x0;[_0x1fa202(0x126)+'e'](_0x42bceb){const _0x4ba6a8=_0x1fa202;if(!_0x42bceb){this[_0x4ba6a8(0x16e)]();return;}const _0x315c19=this[_0x4ba6a8(0x171)];this['config']=_0x42bceb,this[_0x4ba6a8(0x124)+'connect']=!![];try{this[_0x4ba6a8(0xa2)+_0x4ba6a8(0x145)]=loadOrCreateDeviceIdentity(_0x42bceb['identity'+'Path']);}catch(_0xec051b){const _0x7b3bdb=_0xec051b instanceof Error?_0xec051b[_0x4ba6a8(0xb8)]:'初始化\x20gate'+_0x4ba6a8(0xcb)+'失败';this[_0x4ba6a8(0x16e)](),_0x42bceb[_0x4ba6a8(0x100)+_0x4ba6a8(0xa8)](_0x7b3bdb);return;}const _0x5eeed8=!_0x315c19||_0x315c19[_0x4ba6a8(0x13b)]!==_0x42bceb['url']||_0x315c19[_0x4ba6a8(0x13f)]!==_0x42bceb[_0x4ba6a8(0x13f)]||_0x315c19[_0x4ba6a8(0x13e)]!==_0x42bceb['clientId']||_0x315c19[_0x4ba6a8(0xf9)+'de']!==_0x42bceb['clientMo'+'de']||_0x315c19['clientVe'+'rsion']!==_0x42bceb['clientVe'+_0x4ba6a8(0xe6)]||_0x315c19[_0x4ba6a8(0xbf)+_0x4ba6a8(0xb6)]!==_0x42bceb['identity'+_0x4ba6a8(0xb6)];if(_0x5eeed8){this[_0x4ba6a8(0xe5)]();return;}if(!this['ws'])this[_0x4ba6a8(0xd0)]();}['stop'](){const _0x26fa04=_0x1fa202;this[_0x26fa04(0x124)+_0x26fa04(0xd0)]=![],this[_0x26fa04(0xe3)+'d']=![],this['connectN'+_0x26fa04(0x151)]=null,this[_0x26fa04(0x159)+_0x26fa04(0x13a)]=![],this[_0x26fa04(0x150)+_0x26fa04(0x165)](),this[_0x26fa04(0x15e)+_0x26fa04(0xcc)](new Error('gateway\x20'+'WS\x20clien'+_0x26fa04(0x142)+'d')),this[_0x26fa04(0x115)+'adyWaite'+'rs'](new Error(_0x26fa04(0x146)+_0x26fa04(0x12f)+_0x26fa04(0x142)+'d'));if(this['ws']){try{this['ws'][_0x26fa04(0x102)]();}catch{}this['ws']=null;}this[_0x26fa04(0xa2)+_0x26fa04(0x145)]=null,this['config']=null;}async[_0x1fa202(0x158)](_0x5af90e,_0x3333b4={},_0x38a6b8={}){const _0x514490=_0x1fa202;if(!_0x38a6b8['skipRead'+_0x514490(0xbd)])await this['waitUnti'+_0x514490(0x15d)]();const _0x354cc5=this['ws'];if(!_0x354cc5||_0x354cc5['readySta'+'te']!==_0x3d955f[_0x514490(0x144)])throw new Error('gateway\x20'+_0x514490(0xba)+'t\x20connec'+_0x514490(0x11a));const _0x6c01d7=randomUUID(),_0x4773fd=_0x38a6b8[_0x514490(0xe7)+'s']??0x7530;return await new Promise((_0xea1bd2,_0x5e2b31)=>{const _0x361ed1=_0x514490,_0x1abcc2=setTimeout(()=>{const _0x2cc613=_0x5db9;this[_0x2cc613(0x16c)][_0x2cc613(0x161)](_0x6c01d7),_0x5e2b31(new Error('gateway\x20'+'request\x20'+_0x2cc613(0x149)+'t:\x20'+_0x5af90e));},_0x4773fd);this[_0x361ed1(0x16c)][_0x361ed1(0xc1)](_0x6c01d7,{'method':_0x5af90e,'resolve':_0x5880a5=>{clearTimeout(_0x1abcc2),_0xea1bd2(_0x5880a5);},'reject':_0x4e329b=>{clearTimeout(_0x1abcc2),_0x5e2b31(_0x4e329b);},'expectFinal':_0x38a6b8[_0x361ed1(0xce)+_0x361ed1(0x179)]===!![],'timeout':_0x1abcc2});try{_0x354cc5[_0x361ed1(0xf0)](JSON['stringif'+'y']({'type':_0x361ed1(0x103),'id':_0x6c01d7,'method':_0x5af90e,'params':_0x3333b4}));}catch(_0x49430a){this[_0x361ed1(0x16c)][_0x361ed1(0x161)](_0x6c01d7),clearTimeout(_0x1abcc2),_0x5e2b31(_0x49430a instanceof Error?_0x49430a:new Error('failed\x20t'+'o\x20send\x20g'+_0x361ed1(0x107)+_0x361ed1(0xb2)));}});}[_0x1fa202(0xe5)](){const _0x27600b=_0x1fa202;this['connecte'+'d']=![],this['connectN'+_0x27600b(0x151)]=null,this['connectS'+_0x27600b(0x13a)]=![],this['clearTim'+_0x27600b(0x165)](),this[_0x27600b(0x15e)+'nding'](new Error(_0x27600b(0x146)+_0x27600b(0x12f)+_0x27600b(0xbc)+_0x27600b(0xec))),this[_0x27600b(0x115)+_0x27600b(0x164)+'rs'](new Error('gateway\x20'+_0x27600b(0x12f)+'t\x20restar'+_0x27600b(0xec)));if(this['ws']){try{this['ws'][_0x27600b(0x168)+'e']();}catch{}this['ws']=null;}this[_0x27600b(0xd0)]();}[_0x1fa202(0x166)+_0x1fa202(0x112)+'dy'](){const _0x5bdef2=_0x1fa202;if(this[_0x5bdef2(0xe3)+'d']||!this[_0x5bdef2(0x124)+_0x5bdef2(0xd0)]||!this[_0x5bdef2(0x171)])return;if(!this[_0x5bdef2(0x11e)+_0x5bdef2(0x12a)])return;this['clearRec'+_0x5bdef2(0xfa)+_0x5bdef2(0x15a)](),this['config'][_0x5bdef2(0xde)+_0x5bdef2(0xf6)]?.(_0x5bdef2(0x16d)+_0x5bdef2(0xa0)+_0x5bdef2(0xbb)+'ow',{'attempt':this[_0x5bdef2(0xea)+_0x5bdef2(0xd3)],'reason':_0x5bdef2(0xad)+'ready'}),this[_0x5bdef2(0xd0)]();}['connect'](){const _0x2a2401=_0x1fa202;if(!this['config']||this['ws'])return;this['connectA'+_0x2a2401(0xd3)]+=0x1,this[_0x2a2401(0xea)+_0x2a2401(0x162)+'artedAt']=Date['now'](),this[_0x2a2401(0x171)]['onStartu'+_0x2a2401(0xf6)]?.(_0x2a2401(0xef)+_0x2a2401(0x137)+'pt_start',{'attempt':this[_0x2a2401(0xea)+_0x2a2401(0xd3)]});const _0x257fde=new _0x3d955f(this[_0x2a2401(0x171)][_0x2a2401(0x13b)]);this['ws']=_0x257fde,_0x257fde['on'](_0x2a2401(0xd2),()=>this[_0x2a2401(0xa3)+_0x2a2401(0xf5)+_0x2a2401(0xd6)+'eout']()),_0x257fde['on'](_0x2a2401(0xb8),_0x5cdda6=>this[_0x2a2401(0x120)+_0x2a2401(0xf8)](_0x5cdda6['toString']())),_0x257fde['on']('close',(_0xde3510,_0xac4cc5)=>{const _0x2e4f67=_0x2a2401;if(this[_0x2e4f67(0xe3)+'d']){const _0x892156=_0xac4cc5['toString']()||_0x2e4f67(0xd9)+_0xde3510;this[_0x2e4f67(0x134)+_0x2e4f67(0x169)]('gateway\x20'+'WS\x20close'+_0x2e4f67(0xdb)+_0x892156+')');}else this[_0x2e4f67(0x134)+'sconnect']('');}),_0x257fde['on'](_0x2a2401(0x14d),_0x56006d=>{const _0x10f224=_0x2a2401;if(isLocalGatewayConnRefused(_0x56006d)){this[_0x10f224(0x134)+_0x10f224(0x169)](_0x10f224(0x146)+_0x10f224(0x12b)+'istening'+_0x10f224(0x153));return;}const _0x450e23=formatUnknownError(_0x56006d);this[_0x10f224(0x134)+_0x10f224(0x169)](_0x450e23?_0x10f224(0x146)+_0x10f224(0x138)+':\x20'+_0x450e23:'gateway\x20'+_0x10f224(0x138));});}['queueCon'+_0x1fa202(0xf5)+_0x1fa202(0xd6)+_0x1fa202(0xe4)](){const _0x5cc4d6=_0x1fa202;this[_0x5cc4d6(0x101)+_0x5cc4d6(0x151)]=null,this[_0x5cc4d6(0x159)+_0x5cc4d6(0x13a)]=![];if(this['connectC'+_0x5cc4d6(0x15b)+_0x5cc4d6(0x133)])clearTimeout(this[_0x5cc4d6(0xe1)+_0x5cc4d6(0x15b)+_0x5cc4d6(0x133)]);this[_0x5cc4d6(0xe1)+_0x5cc4d6(0x15b)+_0x5cc4d6(0x133)]=setTimeout(()=>{const _0x44f3e4=_0x5cc4d6;if(this['connectS'+_0x44f3e4(0x13a)]||!this['ws']||this['ws'][_0x44f3e4(0x177)+'te']!==_0x3d955f[_0x44f3e4(0x144)])return;this[_0x44f3e4(0x134)+_0x44f3e4(0x169)]('gateway\x20'+'WS\x20hands'+_0x44f3e4(0x116)+'ed\x20out'),this['ws']?.[_0x44f3e4(0x102)](0x3f0,'connect\x20'+_0x44f3e4(0x14f)+_0x44f3e4(0xf7)+'t');},0x7d0);}async[_0x1fa202(0x106)+_0x1fa202(0x127)](){const _0x204afb=_0x1fa202,_0x3f0e41=this[_0x204afb(0x171)];if(!_0x3f0e41||this[_0x204afb(0x159)+_0x204afb(0x13a)])return;const _0xad0477=this[_0x204afb(0x101)+_0x204afb(0x151)]?.[_0x204afb(0xc7)]()??'';if(!_0xad0477){this[_0x204afb(0x134)+_0x204afb(0x169)](_0x204afb(0x146)+_0x204afb(0xdd)+_0x204afb(0xa5)+'sing\x20non'+'ce'),this['ws']?.['close'](0x3f0,'connect\x20'+_0x204afb(0x14f)+_0x204afb(0x12c)+_0x204afb(0xfb));return;}this[_0x204afb(0x159)+_0x204afb(0x13a)]=!![];this['connectC'+_0x204afb(0x15b)+_0x204afb(0x133)]&&(clearTimeout(this[_0x204afb(0xe1)+_0x204afb(0x15b)+_0x204afb(0x133)]),this['connectC'+'hallenge'+_0x204afb(0x133)]=null);if(!this[_0x204afb(0xa2)+_0x204afb(0x145)])try{this['deviceId'+_0x204afb(0x145)]=loadOrCreateDeviceIdentity(_0x3f0e41[_0x204afb(0xbf)+_0x204afb(0xb6)]);}catch(_0x5a3ae8){this['handleDi'+'sconnect'](_0x5a3ae8 instanceof Error?_0x5a3ae8[_0x204afb(0xb8)]:'failed\x20t'+_0x204afb(0xcd)+_0x204afb(0xd7)+'dentity'),this['ws']?.['close'](0x3f0,'device\x20i'+_0x204afb(0x10a)+_0x204afb(0xf3)+_0x204afb(0x17d));return;}const _0x6faa4f=_0x204afb(0xf4),_0x378f8d=[_0x204afb(0xf4)+_0x204afb(0x14c),_0x204afb(0xf4)+_0x204afb(0x10f),_0x204afb(0xf4)+_0x204afb(0x128),_0x204afb(0xf4)+_0x204afb(0x17c)+'ls',_0x204afb(0xf4)+_0x204afb(0x114)],_0x5e03a5=_0x3f0e41[_0x204afb(0x13f)]['trim'](),_0x38fc4d=Date[_0x204afb(0x135)](),_0x3cc7c4=buildDeviceAuthPayloadV3({'deviceId':this[_0x204afb(0xa2)+_0x204afb(0x145)][_0x204afb(0xa2)],'clientId':_0x3f0e41[_0x204afb(0x13e)],'clientMode':_0x3f0e41[_0x204afb(0xf9)+'de'],'role':_0x6faa4f,'scopes':_0x378f8d,'signedAtMs':_0x38fc4d,'token':_0x5e03a5||null,'nonce':_0xad0477,'platform':process[_0x204afb(0xf1)],'deviceFamily':_0x3f0e41[_0x204afb(0x118)+'viceFami'+'ly']}),_0x51493f={'minProtocol':0x4,'maxProtocol':0x4,'client':{'id':_0x3f0e41[_0x204afb(0x13e)],'displayName':_0x3f0e41['clientDi'+_0x204afb(0xe8)+'e'],'version':_0x3f0e41[_0x204afb(0xaa)+_0x204afb(0xe6)],'platform':process['platform'],'deviceFamily':_0x3f0e41[_0x204afb(0x118)+_0x204afb(0x10c)+'ly'],'mode':_0x3f0e41[_0x204afb(0xf9)+'de']},'caps':[],'role':_0x6faa4f,'scopes':_0x378f8d,'auth':_0x5e03a5?{'token':_0x5e03a5}:undefined,'device':{'id':this[_0x204afb(0xa2)+_0x204afb(0x145)][_0x204afb(0xa2)],'publicKey':publicKeyRawBase64UrlFromPem(this['deviceId'+_0x204afb(0x145)][_0x204afb(0x17e)+_0x204afb(0x139)]),'signature':signDevicePayload(this[_0x204afb(0xa2)+_0x204afb(0x145)][_0x204afb(0x170)+'eyPem'],_0x3cc7c4),'signedAt':_0x38fc4d,'nonce':_0xad0477},'locale':Intl['DateTime'+_0x204afb(0xda)]()[_0x204afb(0x11f)+_0x204afb(0xff)]()['locale'],'userAgent':_0x204afb(0xc4)+'ell/'+_0x3f0e41[_0x204afb(0xaa)+_0x204afb(0xe6)]};try{await this[_0x204afb(0x158)](_0x204afb(0xd0),_0x51493f,{'timeoutMs':0x2710,'skipReadyCheck':!![]}),this[_0x204afb(0xe3)+'d']=!![],this['reconnec'+_0x204afb(0x155)+'Ms']=INITIAL_RECONNECT_BACKOFF_MS,this[_0x204afb(0x171)]?.[_0x204afb(0xde)+_0x204afb(0xf6)]?.(_0x204afb(0xef)+_0x204afb(0xac),{'attempt':this[_0x204afb(0xea)+_0x204afb(0xd3)],'phaseElapsedMs':this[_0x204afb(0xea)+_0x204afb(0x162)+'artedAt']?Date['now']()-this[_0x204afb(0xea)+_0x204afb(0x162)+_0x204afb(0xdc)]:0x0}),this['resolveR'+'eadyWait'+'ers'](),this['config']?.[_0x204afb(0x17a)+'ted']?.();}catch(_0x397e01){this['handleDi'+'sconnect'](_0x397e01 instanceof Error?_0x397e01['message']:_0x204afb(0x146)+_0x204afb(0xc0)+_0x204afb(0x136)+'d'),this['ws']?.['close'](0x3f0,_0x204afb(0x111)+_0x204afb(0x14e));}}['handleMe'+_0x1fa202(0xf8)](_0x5d3243){const _0x4d2bca=_0x1fa202;let _0x57cc7c;try{_0x57cc7c=JSON[_0x4d2bca(0x147)](_0x5d3243);}catch{return;}if(!isRecord(_0x57cc7c)||typeof _0x57cc7c[_0x4d2bca(0xae)]!==_0x4d2bca(0xcf))return;if(_0x57cc7c[_0x4d2bca(0xae)]===_0x4d2bca(0x17b)){const _0x45ef7d=typeof _0x57cc7c[_0x4d2bca(0x17b)]===_0x4d2bca(0xcf)?_0x57cc7c['event']:'';if(!_0x45ef7d)return;const _0x899016=isRecord(_0x57cc7c[_0x4d2bca(0x121)])?_0x57cc7c['payload']:{};if(_0x45ef7d==='connect.'+'challeng'+'e'){const _0x452ec6=typeof _0x899016['nonce']===_0x4d2bca(0xcf)?_0x899016[_0x4d2bca(0xa6)]['trim']():'';if(!_0x452ec6){this['handleDi'+_0x4d2bca(0x169)](_0x4d2bca(0x146)+'WS\x20hands'+_0x4d2bca(0xa5)+_0x4d2bca(0xc5)+'ce'),this['ws']?.[_0x4d2bca(0x102)](0x3f0,_0x4d2bca(0x111)+_0x4d2bca(0x14f)+_0x4d2bca(0x12c)+_0x4d2bca(0xfb));return;}this[_0x4d2bca(0x101)+_0x4d2bca(0x151)]=_0x452ec6,void this[_0x4d2bca(0x106)+_0x4d2bca(0x127)]();return;}if(_0x45ef7d===_0x4d2bca(0xe9))this[_0x4d2bca(0x171)]?.['onChatEv'+_0x4d2bca(0x13a)]?.(_0x899016);if(_0x45ef7d===_0x4d2bca(0x131))this[_0x4d2bca(0x171)]?.[_0x4d2bca(0x12e)+'vent']?.(_0x899016);if(_0x45ef7d===_0x4d2bca(0x163)+_0x4d2bca(0xe0))this[_0x4d2bca(0x171)]?.[_0x4d2bca(0x11d)+_0x4d2bca(0xaf)]?.(_0x899016);if(_0x45ef7d==='session.'+'message')this[_0x4d2bca(0x171)]?.[_0x4d2bca(0x11d)+'nMessage'+_0x4d2bca(0x173)]?.(_0x899016);return;}if(_0x57cc7c['type']!==_0x4d2bca(0x129))return;const _0x32730=typeof _0x57cc7c['id']===_0x4d2bca(0xcf)?_0x57cc7c['id']:'';if(!_0x32730)return;const _0x2f4140=this['pending']['get'](_0x32730);if(!_0x2f4140)return;const _0x3919fc=isRecord(_0x57cc7c[_0x4d2bca(0x121)])?_0x57cc7c[_0x4d2bca(0x121)]:{},_0x1ea9d9=typeof _0x3919fc[_0x4d2bca(0xb7)]===_0x4d2bca(0xcf)?_0x3919fc[_0x4d2bca(0xb7)]:'';if(_0x2f4140[_0x4d2bca(0xce)+_0x4d2bca(0x179)]&&_0x1ea9d9===_0x4d2bca(0x130))return;this[_0x4d2bca(0x16c)][_0x4d2bca(0x161)](_0x32730);_0x2f4140[_0x4d2bca(0xc8)]&&(clearTimeout(_0x2f4140[_0x4d2bca(0xc8)]),_0x2f4140[_0x4d2bca(0xc8)]=null);if(_0x57cc7c['ok']===!![]){_0x2f4140[_0x4d2bca(0x108)](_0x57cc7c[_0x4d2bca(0x121)]);return;}const _0x3647fa=isRecord(_0x57cc7c['error'])?_0x57cc7c['error']:{},_0x315d37=typeof _0x3647fa[_0x4d2bca(0xb8)]===_0x4d2bca(0xcf)?_0x3647fa[_0x4d2bca(0xb8)]:_0x4d2bca(0x146)+'request\x20'+_0x4d2bca(0x15c)+_0x2f4140[_0x4d2bca(0xd1)];_0x2f4140[_0x4d2bca(0x178)](new Error(_0x315d37));}[_0x1fa202(0xc6)+'lReady'](_0x2b778e=0x2ee0){const _0x1eca3d=_0x1fa202;if(this[_0x1eca3d(0xe3)+'d'])return Promise[_0x1eca3d(0x108)]();if(!this[_0x1eca3d(0x171)])return Promise[_0x1eca3d(0x178)](new Error('gateway\x20'+_0x1eca3d(0xba)+_0x1eca3d(0xee)+_0x1eca3d(0x174)));if(!this['ws'])this[_0x1eca3d(0xd0)]();return new Promise((_0x3b1779,_0x5e703b)=>{const _0x16f57c=_0x1eca3d,_0x32f094=setTimeout(()=>{const _0x101e59=_0x5db9;this[_0x101e59(0xfd)+_0x101e59(0xfe)]=this[_0x101e59(0xfd)+_0x101e59(0xfe)][_0x101e59(0x12d)](_0x283d4c=>_0x283d4c[_0x101e59(0x108)]!==_0x3b1779),_0x5e703b(new Error(_0x101e59(0x146)+_0x101e59(0xc0)+'ction\x20ti'+_0x101e59(0x113)));},_0x2b778e);this[_0x16f57c(0xfd)+'ters'][_0x16f57c(0xf2)]({'resolve':_0x3b1779,'reject':_0x5e703b,'timeout':_0x32f094});});}[_0x1fa202(0x141)+'eadyWait'+_0x1fa202(0x165)](){const _0x542442=_0x1fa202,_0x9c332c=[...this[_0x542442(0xfd)+_0x542442(0xfe)]];this[_0x542442(0xfd)+_0x542442(0xfe)]=[];for(const _0x6c634 of _0x9c332c){clearTimeout(_0x6c634[_0x542442(0xc8)]),_0x6c634[_0x542442(0x108)]();}}[_0x1fa202(0x115)+_0x1fa202(0x164)+'rs'](_0x3ec0bc){const _0x301497=_0x1fa202,_0x51a983=[...this[_0x301497(0xfd)+_0x301497(0xfe)]];this['readyWai'+_0x301497(0xfe)]=[];for(const _0x526db5 of _0x51a983){clearTimeout(_0x526db5[_0x301497(0xc8)]),_0x526db5['reject'](_0x3ec0bc);}}[_0x1fa202(0x15e)+_0x1fa202(0xcc)](_0x5ada1e){const _0x3302bf=_0x1fa202;for(const [_0x3bd418,_0x562019]of this['pending'][_0x3302bf(0x15f)]()){this[_0x3302bf(0x16c)]['delete'](_0x3bd418),_0x562019['timeout']&&(clearTimeout(_0x562019[_0x3302bf(0xc8)]),_0x562019[_0x3302bf(0xc8)]=null),_0x562019[_0x3302bf(0x178)](_0x5ada1e);}}['handleDi'+_0x1fa202(0x169)](_0x4f3121){const _0x3ba664=_0x1fa202,_0x1d5e34=this[_0x3ba664(0xe3)+'d'],_0x514a55=this[_0x3ba664(0xea)+_0x3ba664(0xd3)],_0x1ac260=this[_0x3ba664(0xea)+_0x3ba664(0x162)+_0x3ba664(0xdc)]?Date['now']()-this[_0x3ba664(0xea)+_0x3ba664(0x162)+'artedAt']:0x0;this['ws']&&(this['ws'][_0x3ba664(0x160)+_0x3ba664(0xab)+'rs'](),this['ws']=null);this[_0x3ba664(0xe3)+'d']=![],this[_0x3ba664(0x101)+_0x3ba664(0x151)]=null,this['connectS'+_0x3ba664(0x13a)]=![],this[_0x3ba664(0x15e)+_0x3ba664(0xcc)](new Error(_0x4f3121||'gateway\x20'+_0x3ba664(0xb0)+_0x3ba664(0x16a))),this[_0x3ba664(0x115)+_0x3ba664(0x164)+'rs'](new Error(_0x4f3121||_0x3ba664(0x146)+_0x3ba664(0xb0)+_0x3ba664(0x16a))),this[_0x3ba664(0x150)+'ers']();!_0x1d5e34&&this[_0x3ba664(0x171)]?.[_0x3ba664(0xde)+_0x3ba664(0xf6)]?.(_0x3ba664(0xef)+_0x3ba664(0x137)+_0x3ba664(0xb1)+'d',{'attempt':_0x514a55,'phaseElapsedMs':_0x1ac260,'reason':_0x4f3121?_0x4f3121[_0x3ba664(0x156)](0x0,0xa0):_0x3ba664(0x152)+_0x3ba664(0x9f)+_0x3ba664(0x123)+'dy'});if(_0x4f3121)this['config']?.['onDiscon'+_0x3ba664(0xa8)]?.(_0x4f3121);if(!this[_0x3ba664(0x124)+_0x3ba664(0xd0)]||!this[_0x3ba664(0x171)])return;const _0x6dfe83=isGatewayStartingRetryReason(_0x4f3121),_0x5c3b30=_0x6dfe83?GATEWAY_STARTING_RETRY_DELAY_MS:this['reconnec'+'tBackoff'+'Ms'];!_0x6dfe83&&(this[_0x3ba664(0x11e)+_0x3ba664(0x155)+'Ms']=Math[_0x3ba664(0xdf)](this[_0x3ba664(0x11e)+_0x3ba664(0x155)+'Ms']*0x2,MAX_RECONNECT_BACKOFF_MS)),this[_0x3ba664(0x171)][_0x3ba664(0xde)+_0x3ba664(0xf6)]?.(_0x6dfe83?_0x3ba664(0x175)+_0x3ba664(0x10b)+_0x3ba664(0xbe)+_0x3ba664(0xa7):'ws_conne'+'ct_retry'+_0x3ba664(0x148)+'ed',{'attempt':_0x514a55,'delayMs':_0x5c3b30,'nextDelayMs':this['reconnec'+_0x3ba664(0x155)+'Ms'],'reason':_0x4f3121?_0x4f3121[_0x3ba664(0x156)](0x0,0xa0):_0x3ba664(0x152)+_0x3ba664(0x9f)+_0x3ba664(0x123)+'dy'}),this['reconnec'+_0x3ba664(0x12a)]=setTimeout(()=>{const _0x2725f1=_0x3ba664;this[_0x2725f1(0x11e)+_0x2725f1(0x12a)]=null,this['connect']();},_0x5c3b30);}[_0x1fa202(0xa1)+_0x1fa202(0xfa)+_0x1fa202(0x15a)](){const _0x10f3f3=_0x1fa202;this['reconnec'+_0x10f3f3(0x12a)]&&(clearTimeout(this[_0x10f3f3(0x11e)+_0x10f3f3(0x12a)]),this[_0x10f3f3(0x11e)+_0x10f3f3(0x12a)]=null);}[_0x1fa202(0x150)+_0x1fa202(0x165)](){const _0x3cdbbb=_0x1fa202;this['clearRec'+_0x3cdbbb(0xfa)+_0x3cdbbb(0x15a)](),this[_0x3cdbbb(0xe1)+_0x3cdbbb(0x15b)+_0x3cdbbb(0x133)]&&(clearTimeout(this[_0x3cdbbb(0xe1)+_0x3cdbbb(0x15b)+'Timer']),this['connectC'+_0x3cdbbb(0x15b)+_0x3cdbbb(0x133)]=null);}}
|