@wujie-shell/core 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +7 -5
  2. package/dist/bin/wujie-shell.mjs +1 -1
  3. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  4. package/dist/src/agents/bundled-agents.mjs +1 -1
  5. package/dist/src/agents/runtime-config.mjs +1 -1
  6. package/dist/src/chat/media-archive.mjs +1 -1
  7. package/dist/src/chat/queue.mjs +1 -1
  8. package/dist/src/common/cron-session-key.mjs +1 -0
  9. package/dist/src/common/diagnostics.mjs +1 -1
  10. package/dist/src/common/logging.mjs +1 -1
  11. package/dist/src/common/runtime-logger.mjs +1 -1
  12. package/dist/src/common/sqlite-paths.mjs +1 -0
  13. package/dist/src/common/user-events.mjs +1 -1
  14. package/dist/src/common/utils.mjs +1 -1
  15. package/dist/src/config/controller.mjs +1 -1
  16. package/dist/src/connectors/config-utils.mjs +1 -1
  17. package/dist/src/connectors/constants.mjs +1 -1
  18. package/dist/src/connectors/controller.mjs +1 -1
  19. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  20. package/dist/src/connectors/lark-cli.mjs +1 -1
  21. package/dist/src/electron/main.mjs +1 -1
  22. package/dist/src/electron/preload.mjs +1 -1
  23. package/dist/src/electron/protocol-url-state.mjs +1 -0
  24. package/dist/src/events/domain-event-journal.mjs +1 -0
  25. package/dist/src/files/generated-files-store.mjs +1 -1
  26. package/dist/src/files/handlers.mjs +1 -1
  27. package/dist/src/gateway/chat-delta.mjs +1 -1
  28. package/dist/src/gateway/controller.mjs +1 -1
  29. package/dist/src/gateway/request-id-title-events.mjs +1 -0
  30. package/dist/src/gateway/ws-client.mjs +1 -1
  31. package/dist/src/index.mjs +1 -1
  32. package/dist/src/log-reporting/handlers.mjs +1 -1
  33. package/dist/src/log-reporting/report-logs.mjs +1 -1
  34. package/dist/src/models/handlers.mjs +1 -1
  35. package/dist/src/preferences/store.mjs +1 -1
  36. package/dist/src/request-id/handlers.mjs +1 -0
  37. package/dist/src/request-id/runtime-bridge.mjs +1 -0
  38. package/dist/src/request-id/session-store.mjs +1 -0
  39. package/dist/src/request-id/title.mjs +1 -0
  40. package/dist/src/runtime/cron-missed-run-policy.mjs +1 -0
  41. package/dist/src/runtime/index.mjs +1 -1
  42. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  43. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  44. package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
  45. package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -0
  46. package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -0
  47. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
  48. package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -0
  49. package/dist/src/runtime/plugin-sync.mjs +1 -1
  50. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  51. package/dist/src/sessions/runtime-bridge.mjs +1 -1
  52. package/dist/src/sessions/session-data-service.mjs +1 -1
  53. package/dist/src/sessions/session-runtime-state-service.mjs +1 -0
  54. package/dist/src/sessions/session-runtime-state.mjs +1 -0
  55. package/dist/src/sessions/session-sqlite-store.mjs +1 -1
  56. package/dist/src/sessions/sql/001_init.sql +2 -1
  57. package/dist/src/sessions/sql/004_request_id_titles.sql +15 -0
  58. package/dist/src/sessions/sql/005_session_subagents.sql +31 -0
  59. package/dist/src/sessions/sql/006_session_process_snapshot.sql +24 -0
  60. package/dist/src/sessions/sql/schema.md +53 -3
  61. package/dist/src/skills/import.mjs +1 -1
  62. package/dist/src/skills/market.mjs +1 -1
  63. package/dist/src/terminal/manager.mjs +1 -1
  64. package/dist/src/updates/controller.mjs +1 -1
  65. package/dist/src/updates/loader.mjs +1 -1
  66. package/package.json +3 -3
@@ -1 +1 @@
1
- const _0x565dfd=_0x505b;(function(_0x9e71d2,_0x1f5259){const _0x760279=_0x505b,_0x5c927f=_0x9e71d2();while(!![]){try{const _0x5642f8=parseInt(_0x760279(0x2d8))/0x1+parseInt(_0x760279(0x26c))/0x2+parseInt(_0x760279(0x38d))/0x3*(parseInt(_0x760279(0xdd))/0x4)+parseInt(_0x760279(0x26a))/0x5+parseInt(_0x760279(0x3b6))/0x6+-parseInt(_0x760279(0xa7))/0x7*(parseInt(_0x760279(0x2cb))/0x8)+-parseInt(_0x760279(0x120))/0x9*(parseInt(_0x760279(0x242))/0xa);if(_0x5642f8===_0x1f5259)break;else _0x5c927f['push'](_0x5c927f['shift']());}catch(_0x12eb16){_0x5c927f['push'](_0x5c927f['shift']());}}}(_0x199b,0xeddb6));import _0x4b3f61 from'electron';import{fileURLToPath,pathToFileURL}from'node:url';import{dirname,join,resolve,sep}from'node:path';import{createReadStream,existsSync,statSync}from'node:fs';import{readFile,readdir,stat,writeFile}from'node:fs/promises';import{spawn}from'node:child_process';function _0x199b(){const _0x15b311=['kUserQue','ove','ted','app:open','ector\x20se','setName','zed','byteLeng','te\x20compl','edCount','1002365ppXlKg','ishuDocC','darwin','GET,\x20HEA','ingleIns','ipc','ontent-t','Context','cron:rem','rce','t-messag','skills:i','settings','redConte','i-window','audio/mp',':list','m-channe','content','command','restart','disable','d-local','est_fail','info','stomMode','CliConne',':gateway','shouldLo','-port','\x20a\x20provi','-url','getRevis',':diagnos',':save','led','illEntry','boot\x20ele','contextW','chatChan','aries','setSelfO','InFolder','image/jp','video/we','agent\x20de','Invalid\x20','some','skills','Suppress','focus','agents:c','product-','from','content-','returnVa','ignore','deleteCu','startBac','openFile','Terminal','-weixin','te:quit-','logs\x20dir','cancelFe','provider','quitAndI','manifest','torConfi','ncident','find','config','teway','string','payload','e:open-d','parse','ettings','operated','logs\x20exp','Config','-by-sess','controll','productN','e\x20direct','hidden','OPTIONS','files:wr','isIntege','cwd','saveWeco','pdated','url','#!/bin/s','t-stream','POST','ot\x20faile','ot\x20compl','agent\x20up','e\x20comple','com-chan','roductCo','Observed','indexOf','ion','artifact','rnal','-status',':set-clo','applicat','quit','ccept-ra','product\x20','tatus','te:get-s','elConfig','catch','ndow','messages','sync-bun','getFeish','lastInde','.flag','min','one','openPath','harset=u','agentId','loadFile','limit','ges','ame','icktime','bytes','ileName','alized','pdate','child-pr','entDocsC','in;\x20char','startsWi','install','tateDir','range,\x20c','key','api.open','show','runtimeR','get','ell\x20gate','gateway-','lect-fil','model\x20ht','director','app:tray','-once','tp\x20',':artifac','ile\x20writ','pened','\x20configu','tory','timeoutM','ype','failed','isFile','://','n\x20loaded','\x20failed','writeSha','untimeHa','tabs:req','dCheck','filter','-request','saveKdoc','producti','ted-stat','runtime:','ModelId','.webm','206046vxUqTR','number','ipc\x20requ','ion/octe','window:c','file\x20rea','projectR','loadURL','tup:get',':agent-m','logsDir','essed','image/gi','rver','hecks','name','ools','.aac','eted',':reorder','ximize','fig','index.ht','les:dele','keys','meta','agents:l','ing','bytes\x20*/','ig\x20is\x20no','window:t','cron','entries','s:reveal','level','event','primary','csCliCon','ready\x20ex','logs:exp','setSetti','3123996BwTwMD','defaults','filters','quired','markQuit','onnectSt','remove','files','gatewayT','will-qui',':usage','electron','meFilter',':downloa','config:c','detach','model','stration','openclaw','ProductR','dist','getRecen','stopped\x20','includes','Keys','showOpen','getSumma','isPackag','ionEntry','send','t:\x20','initiali','EventCou','l\x20first','startWec','select\x20d','\x20log','before-q','patch','parseInt','.jpeg','video/qu','window_f','emoji','annelCon','apiKey','onfig','agent\x20cr','oad','s:hide','ncent-ex','creating','mpletion','appId','saveQqMa','logs:lis','ItemSett','agent\x20al','startFei','toWeb','bot-chan','win32','th\x20is\x20re','extensio','ent','mChannel','hell:eve','plugin\x20c','ired','generate','defaultF','efault','_session','20006KvugUO',':save-te','protocol','length,\x20','ntext','BodyRead','listImCh','t-loadin','-shortcu','kgroundC','dled-res','ources','abort','getVersi','runtimeI','config:r',':summary','trationS','mjs','targetDi','-restart','pluginId','Exceptio','getPinne','ocsCliCo','relaunch','\x20is\x20requ','\x20gone','assign','Custom','_body_re','object','getStatu','sender','agent_id','-ready','open','context','origin','ocess\x20go','-data','ate','wujiecla','Update','pper\x20not',':revisio','complete','cancelWe','n\x20failed','ilConnec','-questio','huDocCon','reorderP','canceled','36DlwYGf','register','getState',':save-di','video/x-','sPath','plugins','cron:lis','model-id','getLogin','tabs-age','then','length','ectory',':open-cl','Dialog','irectory','huChanne','ensureIn','ntime','uDocCliC','window:m','preload.','.mp4','trim','leted','app:file','ure','dRejecti','e\x20first.','tate','les:upse','.m4a','before\x20q','sessionK','showSave','set','red;\x20set','lawMcpSe','requestS','rated-fi','range','close','window:o','files:re','[wujie-s','enClawMc','unhandle','ernal\x20ur','cron:upd','ite-bina','json','ctron\x20ma','isArray','.mkv','ssion:\x20','app_acti','agent-ev','node:fs/','input','list','maximize','models','t\x20initia','ctory','nectorCo','before-i','1087767rIoiRw',':create','feishu','aseMailC','\x20main\x20bo',':runtime','no\x20defau','ort','lect-dir','ion/json','-status-','agent-','ndows','bytes\x20','kdown;\x20c','preventD','.\x20Run\x20wu','arch','stream','tf-8','igWriteH','migrateP',':save-qq','ite','entExmai','tedModel','map','setOpenC','edWindow','lt\x20model','ocess-go','readSess','\x20complet','wBin','feishu_d','maxToken','tease-ma','warn','match','plugin\x20d','app:upda','gin','logs:ope','updateOp','saveQqbo','skills:s','shuDocCl','ap:entry','dels','lawChann','Version','isabled','diagnost','bin','code','agents-u','paths','groups','s-maximi','enable','path','getArtif','setImCha','create','itialize','nts','app:syst','uired','dated','lized','entModel','talkDocC','eam-even','unregist','lue','temp','eived','openDire','te:check','\x20open\x20bl','ectSessi','roductDa','omplete','und','nges','attachGa','ipc_requ','agents:u','wujie-sh','andledIn','Everywhe','fromWebC','method','parentSe','onnector','ocus','Entry','yed','ections','succeede','count','pop','\x20found:\x20','record','function','g+xml','config:i','tabs:nav',':cancel','multiSel','\x20failed:','audio/wa','nstance','getMessa','orted','platform','tanceLoc','logs:rea','lose','resource','toISOStr','slice','gMainFra','fromIpc',':save-kd','choices','title','isDestro','sharedCo','dataDir','replace','toLowerC','uit:\x20sto','snapshot','patched','keyDown','nConfig','elete','ackgroun','oot','customNa',':status','ist','nectSess','ead','lawPlugi','setSelec','ell:even','markConf','hell:ipc','all','saveFeis','plugins:','update-c','recursiv','text/pla','wechat','orConfig','ot\x20start','error','uncaught','resize','rocess-g','open\x20ext',':loading','enClawCo','\x20metric\x20','st-direc','dSession',':save-ne','dow\x20load','e\x20url','set=utf-','reload','clawspac','agents:w','deleteFi','status','em:resta','resolveS','n\x20not\x20fo',':start','agent','FeishuDo',':input','hatChann','split','sessions','.mov','ted-ever','cCliConn','saveNetE','filePath','workspac','selected','customMo','channelI','shared-c','ged','lConnect','unknown','logs:wri','window:i','handle','vate','ith-sess','lConfig','showItem','iConnect','ngtalk-d','image/we','ase','chat-str',':fork','tSession','whenRead','devtools','headers','agents','HEAD','\x20request','dev','range,\x20a','models:s','Unsuppor','isMaximi','hell]\x20fa','ists','mail','minimize','ad_suppr','webConte','ssionKey','getAllWi','tChannel','nfig','pServer','inimize','ocol-url','max','ready','iled\x20to\x20','d-state','chat','captureI','runtime\x20','ens','required','child\x20pr','upsert','tup:set','now','resolveC','checkFor','image/bm','nnel','getURL','g_conten','\x20CLI\x20wra','imePlugi','changeKi','utf8','answerAs','openDevT','ectory\x20o','inned','deletedS','binary\x20f','app.asar','window-a','ontents','startKdo','saveTenc','cle','versions','ionUsage','kdocs','ocked','runOnce','href','message','ory','models:c','nnectSes','reasonin','ocolClie','size','/chat/co','deleteOp','gatewayP','150RdeZoX','ell\x20conf','dispose','Bearer\x20','d\x20reject','maxEntri','uit','sourcePa','image/pn','getKdocs','nel','uri','indowTok','resh-age','lawSkill','ndlers','dAt','et-selec','ask-user',':answer-','test','s:delete','fromEntr','mand','getFocus','closeToT','local','nstall','deleteIm','.mp3','way\x20is\x20n','.flac','file\x20wri','.ogg','get-conf','rayOnClo','liConnec','nt-state','inactive','app:gene','8152305diSGAS','ls:set-e','1106362IlZnLu','#ffffff','\x20main\x20wi','promises','plugin\x20e','type','ot\x20initi','nfo','te:downl','agent\x20id','yInfo','text','readCurr','tic','ap:upser','saveCust','-session','openExte','e:shared','nabled','-mail','est\x20comp','\x20shortcu','ctStatus','ed:\x20','listSumm','uRegistr','main','est\x20fail','est\x20star','open-url','temperat','syncRunt','.webp','sConnect','renderer',':close','ies','start','path\x20is\x20','hide','app:star','terminal',':save-fe','delete',':pin','.png','jie-shel','https://','tabs-com','ssion','index.mj','restore','\x20url\x20rec','getPath','ey\x20is\x20re','stop','d\x20failed','rControl','ap:get','les:reve','Session','and-inst','did-star','les:list','ell\x20boot','started','timeout','enClawSk','ile\x20comp','s:list','igSnapsh','eam',':choose','ai.com/v','ted\x20conn','requestB','pen-devt','tabs:ref','ontext','ls:list','files:se','.jpg','-context','ile\x20read','folder','isMinimi','tabs:pos','audio/aa','image/sv','ocs','\x20not\x20con','gateway\x20','logs','et-self-','4304BDamFw','enClawCh','isFinite'];_0x199b=function(){return _0x15b311;};return _0x199b();}import{Readable}from'node:stream';import{loadShellConfig}from'@wujie-shell/config';import{createConfigController}from'../config/controller.mjs';import{createGatewayController}from'../gateway/controller.mjs';import{deleteManagedSkill,importSkillZip,updateManagedSkillConfig}from'../skills/import.mjs';import{deleteMarketSkillRegistryEntry,importMarketSkillZip}from'../skills/market.mjs';import{createAgentSessionsMapStore}from'../sessions/agent-sessions-map-store.mjs';import{createSessionDataService}from'../sessions/session-data-service.mjs';import{createSessionSqliteStore}from'../sessions/session-sqlite-store.mjs';import{createTerminalManager}from'../terminal/manager.mjs';import{createShellLogger,exportLogsArchive,summarizeError,summarizePayload,summarizeText,toHomePath}from'../common/logging.mjs';import{createDiagnosticsWriter,diagnosticEventFromError}from'../common/diagnostics.mjs';import{createUserEventWriter}from'../common/user-events.mjs';import{createConnectorController}from'../connectors/controller.mjs';import{resolveRuntimeKdocsCliCommand}from'../connectors/kdocs-cli.mjs';import{createGeneratedFilesStore}from'../files/generated-files-store.mjs';import{registerFileHandlers}from'../files/handlers.mjs';import{registerProductLogHandlers}from'../log-reporting/handlers.mjs';import{resolveWujieApiEndpoint}from'../log-reporting/report-logs.mjs';import{extractModelMessageContent,registerModelHandlers}from'../models/handlers.mjs';import{createPreferencesStore}from'../preferences/store.mjs';import{loadRuntimeInfo,prepareRuntime,resolveRuntimeRoot,getRuntimeSpawnContext,resolveRuntimeLarkCliCommand,runClawOnce}from'../runtime/index.mjs';import{loadCreateUpdateController}from'../updates/loader.mjs';const __dirname=dirname(fileURLToPath(import.meta.url)),preloadPath=join(__dirname,_0x565dfd(0xf3)+_0x565dfd(0xb9)),{app,BrowserWindow,clipboard,dialog,globalShortcut,ipcMain,protocol,shell}=_0x4b3f61,DEVTOOLS_ACCELERATOR='CommandO'+_0x565dfd(0x2a6)+'+Shift+I',CLAWSPACE_PROTOCOL_SCHEME=_0x565dfd(0x1ce)+'e',DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x565dfd(0x388)+'on',IPC_SLOW_REQUEST_THRESHOLD_MS=0x1f4,LOCAL_FILE_MIME_TYPES=new Map([['.txt',_0x565dfd(0x1bb)+_0x565dfd(0x363)+_0x565dfd(0x1cc)+'8'],['.md','text/mar'+_0x565dfd(0x12e)+_0x565dfd(0x356)+_0x565dfd(0x133)],[_0x565dfd(0x2be),_0x565dfd(0x303)+'eg'],[_0x565dfd(0x86),_0x565dfd(0x303)+'eg'],[_0x565dfd(0x29a),_0x565dfd(0x24a)+'g'],['.gif',_0x565dfd(0x399)+'f'],['.bmp',_0x565dfd(0x21e)+'p'],['.svg',_0x565dfd(0x2c5)+_0x565dfd(0x189)],[_0x565dfd(0x28d),_0x565dfd(0x1f2)+'bp'],[_0x565dfd(0xf4),'video/mp'+'4'],[_0x565dfd(0x1dc),_0x565dfd(0x87)+_0x565dfd(0x35c)],['.avi',_0x565dfd(0xe1)+'msvideo'],[_0x565dfd(0x113),_0x565dfd(0xe1)+'matroska'],[_0x565dfd(0x38c),_0x565dfd(0x304)+'bm'],[_0x565dfd(0x25f),_0x565dfd(0x2e7)+'eg'],['.wav',_0x565dfd(0x18f)+'v'],[_0x565dfd(0xfd),'audio/mp'+'4'],[_0x565dfd(0x39e),_0x565dfd(0x2c4)+'c'],[_0x565dfd(0x263),'audio/og'+'g'],[_0x565dfd(0x261),'audio/fl'+'ac']]);protocol['register'+'SchemesA'+'sPrivile'+_0x565dfd(0x1e6)]([{'scheme':CLAWSPACE_PROTOCOL_SCHEME,'privileges':{'secure':!![],'standard':!![],'supportFetchAPI':!![],'corsEnabled':!![]}}]);let mainWindow=null,shellConfig=null,configController=null,gatewayController=null,bootError=null,mainLogger=null,ipcLogger=null,filesLogger=null,rendererLogger=null,terminalManager=null,connectorController=null,generatedFilesStore=null,productRuntime=null,productRuntimeHooks={},sessionSqliteStore=null,sessionDataService=null,diagnosticsWriter=null,userEventWriter=null,isQuitting=![],updateController=null,pendingProtocolUrl=null,pendingProtocolArgs=null,protocolRendererReady=![];const rendererSessionMetrics={'inactiveEventCount':0x0,'inactiveBodyReadSuppressedCount':0x0},RENDERER_SESSION_METRIC_LOG_INTERVAL=0x19;function isProductionMode(){const _0x53c38d=_0x565dfd;return process.env.NODE_ENV===_0x53c38d(0x388)+'on';}function resolveDevToolsFlagPath(){const _0x548209=_0x565dfd;return shellConfig?.[_0x548209(0x1a1)]?join(shellConfig[_0x548209(0x1a1)],_0x548209(0x1f8)+_0x548209(0x352)):'';}function isDevToolsEnabled(){if(!isProductionMode())return!![];const _0x4a5aa7=resolveDevToolsFlagPath();return Boolean(_0x4a5aa7)&&existsSync(_0x4a5aa7);}function attachGatewayBroadcastHandlers(_0x2bb89b){const _0x5b7303=_0x565dfd;for(const _0x1f74aa of[_0x5b7303(0x36e)+_0x5b7303(0x1d1),_0x5b7303(0x36e)+'log',_0x5b7303(0x1f4)+_0x5b7303(0x168)+'t',_0x5b7303(0x116)+_0x5b7303(0x9e),_0x5b7303(0x157)+_0x5b7303(0x333),_0x5b7303(0x254)+_0x5b7303(0xd9)+'n']){_0x2bb89b['on'](_0x1f74aa,_0x12200e=>broadcast(_0x1f74aa,_0x12200e));}}function ensureSessionSqliteStore(){const _0x13be17=_0x565dfd;if(sessionSqliteStore)return sessionSqliteStore;if(!configController)throw new Error('wujie-sh'+_0x13be17(0x243)+'ig\x20is\x20no'+_0x13be17(0x11c)+_0x13be17(0x165));return sessionSqliteStore=createSessionSqliteStore({'stateDir':configController[_0x13be17(0x1d3)+_0x13be17(0x366)]()}),sessionSqliteStore;}function ensureSessionDataService(){const _0x3cf902=_0x565dfd;if(sessionDataService)return sessionDataService;if(!configController)throw new Error(_0x3cf902(0x178)+'ell\x20conf'+_0x3cf902(0x3aa)+_0x3cf902(0x11c)+_0x3cf902(0x165));return sessionDataService=createSessionDataService({'stateDir':configController[_0x3cf902(0x1d3)+_0x3cf902(0x366)](),'sessionSqliteStore':ensureSessionSqliteStore(),'gatewayController':gatewayController,'broadcast':broadcast,'logger':mainLogger}),sessionDataService[_0x3cf902(0x175)+'tewayEve'+_0x3cf902(0x161)]?.(),sessionDataService;}function updateRendererSessionMetrics(_0x422dbc){const _0x2e20f3=_0x565dfd;if(!_0x422dbc||typeof _0x422dbc!==_0x2e20f3(0xc6))return;if(_0x422dbc[_0x2e20f3(0x3b0)]!==_0x2e20f3(0x268)+_0x2e20f3(0xa6)+'_body_re'+_0x2e20f3(0x206)+_0x2e20f3(0x398))return;const _0x51ab98=_0x422dbc[_0x2e20f3(0x3a6)]&&typeof _0x422dbc[_0x2e20f3(0x3a6)]==='object'?_0x422dbc[_0x2e20f3(0x3a6)]:{},_0x34095c=Number(_0x51ab98[_0x2e20f3(0x184)]);if(!Number[_0x2e20f3(0x2cd)](_0x34095c)||_0x34095c<=rendererSessionMetrics[_0x2e20f3(0x268)+_0x2e20f3(0xac)+'Suppress'+_0x2e20f3(0x2d7)])return;rendererSessionMetrics[_0x2e20f3(0x268)+_0x2e20f3(0xac)+_0x2e20f3(0x309)+_0x2e20f3(0x2d7)]=_0x34095c,rendererSessionMetrics[_0x2e20f3(0x268)+_0x2e20f3(0x7e)+'nt']=Math['max'](rendererSessionMetrics[_0x2e20f3(0x268)+_0x2e20f3(0x7e)+'nt'],_0x34095c);if(_0x34095c!==0x1&&_0x34095c%RENDERER_SESSION_METRIC_LOG_INTERVAL!==0x0)return;mainLogger?.[_0x2e20f3(0x2f0)]?.('session\x20'+_0x2e20f3(0x28f)+_0x2e20f3(0x1c6)+'updated',{'metric':'inactive'+_0x2e20f3(0xa6)+_0x2e20f3(0xc5)+_0x2e20f3(0x206)+_0x2e20f3(0x398),'inactiveEventCount':rendererSessionMetrics[_0x2e20f3(0x268)+_0x2e20f3(0x7e)+'nt'],'inactiveBodyReadSuppressedCount':rendererSessionMetrics[_0x2e20f3(0x268)+_0x2e20f3(0xac)+_0x2e20f3(0x309)+_0x2e20f3(0x2d7)],'changeKind':typeof _0x51ab98[_0x2e20f3(0x224)+'nd']===_0x2e20f3(0x321)?_0x51ab98['changeKi'+'nd']:null,'origin':typeof _0x51ab98['origin']==='string'?_0x51ab98[_0x2e20f3(0xcd)]:null});}function ensureGeneratedFilesStore(){const _0x33f514=_0x565dfd;if(generatedFilesStore)return generatedFilesStore;if(!configController)throw new Error(_0x33f514(0x178)+_0x33f514(0x243)+'ig\x20is\x20no'+_0x33f514(0x11c)+_0x33f514(0x165));return generatedFilesStore=createGeneratedFilesStore({'stateDir':configController[_0x33f514(0x1d3)+_0x33f514(0x366)]()}),generatedFilesStore;}async function ensureGatewayControllerStarted(){const _0x5608da=_0x565dfd;if(!gatewayController&&(!shellConfig||!configController))throw new Error(bootError?_0x5608da(0x178)+_0x5608da(0x2ad)+_0x5608da(0x18e)+'\x20'+bootError:'wujie-sh'+'ell\x20gate'+'way\x20is\x20n'+_0x5608da(0x272)+_0x5608da(0x35f));return!gatewayController&&(mainLogger?.[_0x5608da(0x145)](_0x5608da(0x2c8)+_0x5608da(0x32a)+'er\x20missi'+'ng;\x20recr'+'eating'),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x5608da(0xb4)+'on'](),'productRuntimeHooks':productRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),attachGatewayBroadcastHandlers(gatewayController)),await gatewayController[_0x5608da(0x292)](),gatewayController;}function getMode(){const _0x4ac653=_0x565dfd;return process.env.VITE_DEV_SERVER_URL?_0x4ac653(0x1fd):'prod';}function isGatewayNotInitializedError(_0x5aef80){const _0x3df89d=_0x565dfd;return _0x5aef80 instanceof Error&&_0x5aef80[_0x3df89d(0x238)]===_0x3df89d(0x178)+_0x3df89d(0x36d)+_0x3df89d(0x260)+_0x3df89d(0x272)+_0x3df89d(0x35f);}function revealPathInFolder(_0x5aa304){const _0x52a1d0=_0x565dfd,_0xb31dfc=String(_0x5aa304||'')[_0x52a1d0(0xf5)]();if(!_0xb31dfc)return{'ok':![],'error':_0x52a1d0(0x293)+_0x52a1d0(0x217)};return shell[_0x52a1d0(0x1ef)+_0x52a1d0(0x302)](_0xb31dfc),{'ok':!![]};}function resolveProjectRoot(){const _0x31718d=_0x565dfd;if(process.env.WUJIE_SHELL_PROJECT_ROOT)return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT);if(app['isPackag'+'ed']&&process[_0x31718d(0x197)+_0x31718d(0xe2)])return join(process[_0x31718d(0x197)+_0x31718d(0xe2)],_0x31718d(0x22c));return resolve(process[_0x31718d(0x331)]());}function resolveProtocolScheme(){const _0x4e8ccd=_0x565dfd;return typeof shellConfig?.[_0x4e8ccd(0xa9)]===_0x4e8ccd(0x321)?shellConfig['protocol']['trim']():'';}function extractProtocolUrlFromArgs(_0x346a18=[]){const _0x405234=_0x565dfd,_0x1a3d25=resolveProtocolScheme();if(!_0x1a3d25)return null;return _0x346a18[_0x405234(0x31e)](_0x1e3506=>{const _0x379663=_0x405234;if(typeof _0x1e3506!=='string')return![];return _0x1e3506[_0x379663(0x364)+'th'](_0x1a3d25+_0x379663(0x37e));})||null;}function dispatchProtocolUrl(_0x4d068b){const _0xd19b29=_0x565dfd,_0x10bfc2=resolveProtocolScheme();if(typeof _0x4d068b!==_0xd19b29(0x321))return;if(!_0x10bfc2){pendingProtocolUrl=_0x4d068b;return;}if(!_0x4d068b['startsWi'+'th'](_0x10bfc2+_0xd19b29(0x37e)))return;mainLogger?.[_0xd19b29(0x2f0)](_0xd19b29(0xa9)+_0xd19b29(0x2a1)+_0xd19b29(0x16c),{'url':summarizeText(_0x4d068b,0xa0)});if(!mainWindow||mainWindow[_0xd19b29(0x207)+_0xd19b29(0x161)]['isLoadin'+_0xd19b29(0x19a)+'me']()||!protocolRendererReady){pendingProtocolUrl=_0x4d068b;return;}mainWindow['show'](),mainWindow['focus'](),broadcast('app:prot'+'ocol-url',_0x4d068b),mainLogger?.[_0xd19b29(0x2f0)]('protocol'+'\x20url\x20dis'+_0xd19b29(0x1a6),{'url':summarizeText(_0x4d068b,0xa0)});}function flushPendingProtocolUrl(){const _0x564c43=pendingProtocolUrl;if(!_0x564c43)return;pendingProtocolUrl=null,dispatchProtocolUrl(_0x564c43);}function getLocalFileMimeType(_0x30197e){const _0x29ac9d=_0x565dfd;return LOCAL_FILE_MIME_TYPES[_0x29ac9d(0x36c)](_0x30197e[_0x29ac9d(0x199)](_0x30197e['lastInde'+'xOf']('.'))['toLowerC'+_0x29ac9d(0x1f3)]())||'applicat'+_0x29ac9d(0x390)+_0x29ac9d(0x336);}function parseSingleRangeHeader(_0x2fae56,_0x249490){const _0x1ba0e0=_0x565dfd,_0xc828f=/^bytes=(\d*)-(\d*)$/i['exec'](_0x2fae56[_0x1ba0e0(0xf5)]());if(!_0xc828f)return null;const [,_0x288bee,_0x1ab3e8]=_0xc828f;if(!_0x288bee&&!_0x1ab3e8)return null;if(!_0x288bee){const _0xff16b0=Number[_0x1ba0e0(0x85)](_0x1ab3e8,0xa);if(!Number[_0x1ba0e0(0x2cd)](_0xff16b0)||_0xff16b0<=0x0)return null;const _0x3bfb71=Math[_0x1ba0e0(0x20f)](_0x249490-_0xff16b0,0x0);return{'start':_0x3bfb71,'end':_0x249490-0x1};}const _0x8be159=Number[_0x1ba0e0(0x85)](_0x288bee,0xa);if(!Number[_0x1ba0e0(0x2cd)](_0x8be159)||_0x8be159<0x0||_0x8be159>=_0x249490)return null;const _0x44219c=_0x1ab3e8?Number['parseInt'](_0x1ab3e8,0xa):_0x249490-0x1;if(!Number['isFinite'](_0x44219c)||_0x44219c<_0x8be159)return null;return{'start':_0x8be159,'end':Math[_0x1ba0e0(0x353)](_0x44219c,_0x249490-0x1)};}function decodeClawspacePath(_0x30ed6c){const _0x23fb8c=_0x565dfd;try{const _0x490d00=new URL(_0x30ed6c);if(_0x490d00[_0x23fb8c(0xa9)]!==CLAWSPACE_PROTOCOL_SCHEME+':')return null;if(_0x490d00['hostname']!==_0x23fb8c(0x25c))return null;const _0x2a512a=decodeURIComponent(_0x490d00['pathname']);if(!_0x2a512a)return null;if(/^\/[A-Za-z]:\//[_0x23fb8c(0x256)](_0x2a512a))return _0x2a512a[_0x23fb8c(0x199)](0x1);return _0x2a512a;}catch{return null;}}function createClawspaceHeaders(_0x1e12d7={}){const _0x178e7b=_0x565dfd;return new Headers({'access-control-allow-origin':'*','access-control-allow-methods':_0x178e7b(0x2db)+'D,\x20OPTIO'+'NS','access-control-allow-headers':_0x178e7b(0x367)+_0x178e7b(0x2de)+_0x178e7b(0x37b),'access-control-expose-headers':_0x178e7b(0x30e)+_0x178e7b(0xaa)+_0x178e7b(0x30e)+_0x178e7b(0x1fe)+_0x178e7b(0x347)+_0x178e7b(0x174),..._0x1e12d7});}function createLocalFileResponse(_0x5cf4c3,_0x591503){const _0x208087=_0x565dfd,_0x34b893=statSync(_0x591503);if(!_0x34b893[_0x208087(0x37d)]())return new Response('Not\x20foun'+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x208087(0x1bb)+_0x208087(0x363)+_0x208087(0x1cc)+'8'})});const _0x175dd0=getLocalFileMimeType(_0x591503),_0x38722f=createClawspaceHeaders({'content-type':_0x175dd0,'accept-ranges':_0x208087(0x35d),'cache-control':'no-store'});if(_0x5cf4c3[_0x208087(0x17c)]===_0x208087(0x1fb))return _0x38722f[_0x208087(0x101)](_0x208087(0x30e)+_0x208087(0xe9),String(_0x34b893[_0x208087(0x23e)])),new Response(null,{'status':0xc8,'headers':_0x38722f});const _0x1f42ec=_0x5cf4c3[_0x208087(0x1f9)]['get'](_0x208087(0x106));if(!_0x1f42ec)return _0x38722f[_0x208087(0x101)](_0x208087(0x30e)+_0x208087(0xe9),String(_0x34b893[_0x208087(0x23e)])),new Response(Readable[_0x208087(0x99)](createReadStream(_0x591503)),{'status':0xc8,'headers':_0x38722f});const _0x15962f=parseSingleRangeHeader(_0x1f42ec,_0x34b893[_0x208087(0x23e)]);if(!_0x15962f)return new Response(null,{'status':0x1a0,'headers':createClawspaceHeaders({...Object[_0x208087(0x258)+_0x208087(0x291)](_0x38722f[_0x208087(0x3ad)]()),'content-range':_0x208087(0x3a9)+_0x34b893[_0x208087(0x23e)]})});const {start:_0x44aaa7,end:_0x129fb1}=_0x15962f,_0x26424e=_0x129fb1-_0x44aaa7+0x1,_0x4f8157=new Headers(_0x38722f);return _0x4f8157[_0x208087(0x101)]('content-'+_0x208087(0xe9),String(_0x26424e)),_0x4f8157[_0x208087(0x101)](_0x208087(0x30e)+'range',_0x208087(0x12d)+_0x44aaa7+'-'+_0x129fb1+'/'+_0x34b893['size']),new Response(Readable['toWeb'](createReadStream(_0x591503,{'start':_0x44aaa7,'end':_0x129fb1})),{'status':0xce,'headers':_0x4f8157});}function installClawspaceProtocolHandler(){const _0xe40fe9=_0x565dfd;protocol[_0xe40fe9(0x1eb)](CLAWSPACE_PROTOCOL_SCHEME,_0x166e8b=>{const _0x1bba6a=_0xe40fe9;if(_0x166e8b[_0x1bba6a(0x17c)]===_0x1bba6a(0x32e))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x4d46e5=decodeClawspacePath(_0x166e8b[_0x1bba6a(0x334)]);if(!_0x4d46e5)return new Response(_0x1bba6a(0x306)+_0x1bba6a(0x1ce)+_0x1bba6a(0x1cb),{'status':0x190,'headers':createClawspaceHeaders({'content-type':_0x1bba6a(0x1bb)+_0x1bba6a(0x363)+_0x1bba6a(0x1cc)+'8'})});if(!existsSync(_0x4d46e5))return new Response('Not\x20foun'+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x1bba6a(0x1bb)+_0x1bba6a(0x363)+_0x1bba6a(0x1cc)+'8'})});return createLocalFileResponse(_0x166e8b,_0x4d46e5);});}function broadcast(_0x36a5ec,_0x419951){const _0x3fc243=_0x565dfd;DEBUG_STDOUT&&console[_0x3fc243(0x2f0)]('[wujie-s'+_0x3fc243(0xa0)+'nt]',_0x36a5ec,summarizePayload(_0x419951,{'maxDepth':0x2}));for(const _0x15865e of BrowserWindow[_0x3fc243(0x209)+_0x3fc243(0x12c)]()){!_0x15865e[_0x3fc243(0x207)+_0x3fc243(0x161)][_0x3fc243(0x19f)+_0x3fc243(0x181)]()&&_0x15865e[_0x3fc243(0x207)+_0x3fc243(0x161)][_0x3fc243(0x7b)](_0x3fc243(0x178)+_0x3fc243(0x1b3)+'t',{'name':_0x36a5ec,'payload':_0x419951});}}async function loadProductRuntime(){const _0x5d4031=_0x565dfd,_0x16491f=[join(shellConfig[_0x5d4031(0x393)+_0x5d4031(0x1ab)],'shell-ru'+_0x5d4031(0xf0),_0x5d4031(0x29f)+'s'),join(app['getAppPa'+'th'](),'shell-ru'+'ntime',_0x5d4031(0x29f)+'s')],_0x19e233=_0x16491f['find'](_0xe760ca=>existsSync(_0xe760ca));if(!_0x19e233)return mainLogger?.[_0x5d4031(0x2f0)](_0x5d4031(0x348)+'runtime\x20'+_0x5d4031(0x9d)+_0x5d4031(0x1d4)+_0x5d4031(0x173),{'runtimeCandidates':_0x16491f}),{};try{const _0x55dedf=await import(pathToFileURL(_0x19e233)[_0x5d4031(0x237)]);return mainLogger?.[_0x5d4031(0x2f0)](_0x5d4031(0x348)+_0x5d4031(0x215)+'extensio'+_0x5d4031(0x37f),{'runtimePath':_0x19e233}),_0x55dedf;}catch(_0x4b8a64){mainLogger?.['error']('product\x20'+'runtime\x20'+'extensio'+_0x5d4031(0xd7)+'\x20to\x20load',{'runtimePath':_0x19e233,'error':summarizeError(_0x4b8a64)});throw _0x4b8a64;}}function openDevToolsForActiveContext(){const _0x14bc96=_0x565dfd;if(!isDevToolsEnabled())return mainLogger?.[_0x14bc96(0x2f0)]('devtools'+_0x14bc96(0x16f)+_0x14bc96(0x235),{'mode':getMode(),'flagPath':resolveDevToolsFlagPath()}),{'ok':![]};const _0x1e9166=BrowserWindow[_0x14bc96(0x25a)+_0x14bc96(0x13c)]()||mainWindow;if(!_0x1e9166||_0x1e9166[_0x14bc96(0x19f)+'yed']())return{'ok':![]};return _0x1e9166['webConte'+_0x14bc96(0x161)][_0x14bc96(0x227)+_0x14bc96(0x39d)]({'mode':_0x14bc96(0x3c5)}),_0x1e9166['webConte'+_0x14bc96(0x161)][_0x14bc96(0x7b)](_0x14bc96(0x178)+_0x14bc96(0x1b3)+'t',{'name':_0x14bc96(0x1f8)+_0x14bc96(0xaf)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0x26f5ff=_0x565dfd;globalShortcut[_0x26f5ff(0x169)+'er'](DEVTOOLS_ACCELERATOR);if(!isDevToolsEnabled())return;const _0x31e63f=globalShortcut[_0x26f5ff(0xde)](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x31e63f&&console[_0x26f5ff(0x145)](_0x26f5ff(0x10a)+_0x26f5ff(0x202)+_0x26f5ff(0x211)+_0x26f5ff(0xde)+_0x26f5ff(0x282)+_0x26f5ff(0x7c)+DEVTOOLS_ACCELERATOR);}async function getRuntimeResourceStatus(){const _0x229b10=_0x565dfd;try{const _0x15e7d8=await loadRuntimeInfo(shellConfig[_0x229b10(0x393)+_0x229b10(0x1ab)]),_0x439054=_0x15e7d8[_0x229b10(0x31b)]||{};return{'ok':!![],'runtimeRoot':_0x15e7d8[_0x229b10(0x36b)+'oot'],'openclawVersion':_0x15e7d8[_0x229b10(0x3c8)+_0x229b10(0x152)],'generatedAt':_0x439054[_0x229b10(0xa3)+_0x229b10(0x252)]||null,'pluginCount':Array[_0x229b10(0x112)](_0x439054[_0x229b10(0xe3)])?_0x439054[_0x229b10(0xe3)][_0x229b10(0xe9)]:0x0,'plugins':Array[_0x229b10(0x112)](_0x439054[_0x229b10(0xe3)])?_0x439054['plugins']:[],'agents':_0x439054['agents']||null,'skills':_0x439054[_0x229b10(0x308)]||null,'wrapper':_0x439054[_0x229b10(0xd1)+_0x229b10(0x141)]||null,'product':_0x439054['product']||null};}catch(_0x2dcb53){return{'ok':![],'runtimeRoot':resolveRuntimeRoot(shellConfig?.[_0x229b10(0x393)+'oot']||resolveProjectRoot()),'error':_0x2dcb53 instanceof Error?_0x2dcb53[_0x229b10(0x238)]:String(_0x2dcb53)};}}async function createWindow(){const _0xc100a1=_0x565dfd,_0x396a56=process.env.VITE_DEV_SERVER_URL||join(shellConfig[_0xc100a1(0x393)+'oot'],_0xc100a1(0x3ca),_0xc100a1(0x3a3)+'ml'),_0x5c1004=process[_0xc100a1(0x193)]===_0xc100a1(0x2da),_0x5d5859=process['platform']===_0xc100a1(0x9b)?![]:!![],_0x57a239=isDevToolsEnabled();mainLogger?.[_0xc100a1(0x2f0)](_0xc100a1(0x91)+_0xc100a1(0x26e)+_0xc100a1(0x34d),{'rendererUrl':_0x396a56,'mode':getMode(),'devToolsEnabled':_0x57a239,'devToolsFlagPath':resolveDevToolsFlagPath()}),mainWindow=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig[_0xc100a1(0x32b)+_0xc100a1(0x35b)],'backgroundColor':_0x5c1004?_0xc100a1(0x26d):'#f8fafc','autoHideMenuBar':!![],'titleBarStyle':_0xc100a1(0x32d),'titleBarOverlay':_0x5d5859,..._0x5c1004?{'trafficLightPosition':{'x':0x10,'y':0xc}}:{},'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![],'devTools':_0x57a239}}),protocolRendererReady=![],mainWindow[_0xc100a1(0x207)+_0xc100a1(0x161)]['on'](_0xc100a1(0x11f)+'nput-eve'+'nt',_0x31e3cc=>{const _0x3bb899=_0xc100a1,_0x2f2335=_0x31e3cc['input'];if(!_0x2f2335||_0x2f2335[_0x3bb899(0x271)]!==_0x3bb899(0x1a7))return;const _0x2b22fc=String(_0x2f2335[_0x3bb899(0x368)]||'')[_0x3bb899(0x1a3)+_0x3bb899(0x1f3)](),_0x5367e9=_0x2b22fc==='r',_0x218b23=process[_0x3bb899(0x193)]==='darwin'?_0x2f2335['meta']===!![]:_0x2f2335['control']===!![];if(!_0x5367e9||!_0x218b23)return;_0x31e3cc[_0x3bb899(0x12f)+_0x3bb899(0xa5)](),broadcast(_0x3bb899(0x29d)+'mand',{'type':'navigati'+'on','action':_0x3bb899(0x1cd)});}),mainWindow['on'](_0xc100a1(0x30a),()=>{const _0xa01d53=_0xc100a1;updateController?.[_0xa01d53(0x2b8)+'ackgroun'+_0xa01d53(0x384)](_0xa01d53(0x88)+_0xa01d53(0x17f));}),mainWindow[_0xc100a1(0x207)+'nts']['on'](_0xc100a1(0x2ab)+_0xc100a1(0xae)+'g',()=>{protocolRendererReady=![];});const _0x127fe7=process.env.VITE_DEV_SERVER_URL;_0x127fe7?(await mainWindow[_0xc100a1(0x394)](_0x127fe7),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&_0x57a239&&mainWindow[_0xc100a1(0x207)+'nts'][_0xc100a1(0x227)+_0xc100a1(0x39d)]({'mode':_0xc100a1(0x3c5)})):await mainWindow[_0xc100a1(0x358)](join(shellConfig[_0xc100a1(0x393)+_0xc100a1(0x1ab)],'dist',_0xc100a1(0x3a3)+'ml')),mainLogger?.[_0xc100a1(0x2f0)]('main\x20win'+_0xc100a1(0x1ca)+'ed',{'rendererUrl':_0x396a56,'mode':getMode(),'devToolsEnabled':_0x57a239});}function registerProtocolHandlers(){const _0x150ee1=_0x565dfd,_0x11351f=resolveProtocolScheme();if(!_0x11351f)return;const _0x1a82d4=app[_0x150ee1(0x3d1)+'ed']?app['setAsDef'+'aultProt'+_0x150ee1(0x23d)+'nt'](_0x11351f):![];mainLogger?.[_0x150ee1(0x2f0)](_0x150ee1(0xa9)+'\x20client\x20'+_0x150ee1(0xde)+'ed',{'protocol':_0x11351f,'registered':_0x1a82d4,'packaged':app[_0x150ee1(0x3d1)+'ed']});const _0xdaf987=extractProtocolUrlFromArgs(process['argv']);if(_0xdaf987)pendingProtocolUrl=_0xdaf987;const _0xcff4b3=extractProtocolUrlFromArgs(pendingProtocolArgs||[]);pendingProtocolArgs=null;if(_0xcff4b3)pendingProtocolUrl=_0xcff4b3;}async function installIpcHandlers(){const _0x1c4f85=_0x565dfd,_0x403bb3=(_0x4c577f,_0x288f30)=>{const _0x392600=_0x505b;ipcMain[_0x392600(0x1eb)](_0x4c577f,async(_0x309904,_0x4e259c)=>{const _0x44c5b9=_0x392600,_0x1176ee=Date[_0x44c5b9(0x21b)](),_0x20e22d=_0x309904['senderFr'+_0x44c5b9(0x35b)]?.['url']||_0x309904[_0x44c5b9(0xc8)][_0x44c5b9(0x220)](),_0x589a9a=ipcLogger?.[_0x44c5b9(0x2f4)+'g']('debug');_0x589a9a&&ipcLogger[_0x44c5b9(0x2f0)](_0x44c5b9(0x38f)+_0x44c5b9(0x289)+_0x44c5b9(0x2d0),{'channel':_0x4c577f,'senderUrl':_0x20e22d});DEBUG_STDOUT&&_0x589a9a&&console[_0x44c5b9(0x2f0)]('[wujie-s'+_0x44c5b9(0x1b5)+']',_0x4c577f,_0x44c5b9(0x2ae));try{let _0x19c4fa;try{_0x19c4fa=await _0x288f30(_0x309904,_0x4e259c);}catch(_0x4f24ba){if(!isGatewayNotInitializedError(_0x4f24ba))throw _0x4f24ba;await ensureGatewayControllerStarted(),_0x19c4fa=await _0x288f30(_0x309904,_0x4e259c);}const _0x19a27f=Date[_0x44c5b9(0x21b)]()-_0x1176ee;return(_0x589a9a||_0x19a27f>IPC_SLOW_REQUEST_THRESHOLD_MS)&&ipcLogger?.['info'](_0x44c5b9(0x38f)+_0x44c5b9(0x281)+_0x44c5b9(0xf6),{'channel':_0x4c577f,'durationMs':_0x19a27f,'status':_0x44c5b9(0x183)+'d'}),await userEventWriter?.['fromIpc']({'channel':_0x4c577f,'payload':_0x4e259c,'result':_0x19c4fa,'durationMs':_0x19a27f,'status':_0x44c5b9(0x183)+'d'}),DEBUG_STDOUT&&_0x589a9a&&console[_0x44c5b9(0x2f0)](_0x44c5b9(0x10a)+_0x44c5b9(0x1b5)+']',_0x4c577f,'complete'+'d',{'durationMs':_0x19a27f,'status':_0x44c5b9(0x183)+'d'}),_0x19c4fa;}catch(_0x43ce25){const _0x43371b=Date[_0x44c5b9(0x21b)]()-_0x1176ee;ipcLogger?.[_0x44c5b9(0x1bf)](_0x44c5b9(0x38f)+_0x44c5b9(0x288)+'ed',{'channel':_0x4c577f,'durationMs':_0x43371b,'error':summarizeError(_0x43ce25)}),await userEventWriter?.[_0x44c5b9(0x19b)]({'channel':_0x4c577f,'payload':_0x4e259c,'error':_0x43ce25,'durationMs':_0x43371b,'status':'failed'}),await diagnosticsWriter?.[_0x44c5b9(0x214)+'ncident'](diagnosticEventFromError(_0x43ce25,{'category':'ipc','event':_0x44c5b9(0x176)+_0x44c5b9(0x2ef)+'ed','message':'IPC\x20requ'+_0x44c5b9(0x288)+_0x44c5b9(0x284)+_0x4c577f,'durationMs':_0x43371b,'meta':{'channel':_0x4c577f,'senderUrl':_0x20e22d,'payload':summarizePayload(_0x4e259c)}}));DEBUG_STDOUT&&console[_0x44c5b9(0x1bf)](_0x44c5b9(0x10a)+_0x44c5b9(0x1b5)+']',_0x4c577f,_0x44c5b9(0x37c),summarizeError(_0x43ce25));throw _0x43ce25;}});},_0x37f266=()=>{const _0x56ff16=_0x505b;if(!gatewayController)throw new Error(bootError?'wujie-sh'+'ell\x20boot'+'\x20failed:'+'\x20'+bootError:_0x56ff16(0x178)+_0x56ff16(0x36d)+_0x56ff16(0x260)+_0x56ff16(0x272)+'alized');return gatewayController;},_0x3f3057=()=>{const _0x348ee9=_0x505b;if(typeof productRuntime[_0x348ee9(0xde)+_0x348ee9(0x3c9)+_0x348ee9(0x382)+'ndlers']!=='function')return;const _0x102246=productRuntime['register'+'ProductR'+_0x348ee9(0x382)+_0x348ee9(0x251)]({'app':app,'BrowserWindow':BrowserWindow,'broadcast':broadcast,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'dialog':dialog,'exportLogsArchive':exportLogsArchive,'filesLogger':filesLogger,'getRuntimeSpawnContext':getRuntimeSpawnContext,'handle':_0x403bb3,'mainLogger':mainLogger,'mainWindow':mainWindow,'rendererLogger':rendererLogger,'requireGateway':_0x37f266,'sep':sep,'openClawConfigHandlers':{'update':(..._0x1341d9)=>configController[_0x348ee9(0x14b)+_0x348ee9(0x1c5)+_0x348ee9(0x20b)](..._0x1341d9),'setPluginConfig':_0x18d535=>configController[_0x348ee9(0x13b)+_0x348ee9(0x1b1)+_0x348ee9(0x1a8)](_0x18d535),'setChannelConfig':_0x2bc9ad=>configController[_0x348ee9(0x13b)+_0x348ee9(0x151)+_0x348ee9(0x34b)](_0x2bc9ad),'deleteChannelConfig':_0x193958=>configController['deleteOp'+'enClawCh'+_0x348ee9(0x8a)+_0x348ee9(0x3a2)](_0x193958),'setSkillEntry':_0x3abd06=>configController[_0x348ee9(0x13b)+_0x348ee9(0x250)+_0x348ee9(0x180)](_0x3abd06),'deleteSkillEntry':_0x5efd4=>configController['deleteOp'+_0x348ee9(0x2b0)+_0x348ee9(0x2fc)](_0x5efd4),'setMcpServer':_0x5979c2=>configController[_0x348ee9(0x13b)+_0x348ee9(0x103)+_0x348ee9(0x39a)](_0x5979c2),'deleteMcpServer':_0x3199d8=>configController[_0x348ee9(0x240)+'enClawMc'+_0x348ee9(0x20c)](_0x3199d8)},'shell':shell,'shellConfig':shellConfig,'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand,'summarizePayload':summarizePayload,'summarizeText':summarizeText,'toHomePath':toHomePath,'writeMutableConfig':_0x3a912a})||{};Object[_0x348ee9(0xc3)](productRuntimeHooks,_0x102246);};ipcMain['on']('app:prot'+_0x1c4f85(0x20e)+_0x1c4f85(0xca),()=>{protocolRendererReady=!![],flushPendingProtocolUrl();}),_0x403bb3('app:info',async()=>({'name':shellConfig[_0x1c4f85(0x32b)+'ame'],'version':app[_0x1c4f85(0xb4)+'on'](),'appId':shellConfig[_0x1c4f85(0x93)],'dataDir':shellConfig['dataDir']})),_0x403bb3(_0x1c4f85(0x2d1)+_0x1c4f85(0x2f7),async(_0xb1f310,_0x544339)=>{const _0x3ccd87=_0x1c4f85,_0x3349eb=typeof _0x544339===_0x3ccd87(0x321)?_0x544339:'';if(!_0x3349eb)return{'ok':![]};return filesLogger?.[_0x3ccd87(0x2f0)](_0x3ccd87(0x1c3)+_0x3ccd87(0x10d)+'l\x20reques'+'ted',{'url':summarizeText(_0x3349eb,0xa0)}),await shell[_0x3ccd87(0x27d)+_0x3ccd87(0x342)](_0x3349eb),{'ok':!![]};});const _0x3a912a=async(_0x3849c9,_0x3ee595)=>{const _0x50a662=_0x1c4f85;return configController[_0x50a662(0x1b4)+_0x50a662(0x134)+_0x50a662(0x179)+'ternally'](),await configController['writeCon'+'fig'](_0x3849c9,_0x3ee595),{'ok':!![]};};_0x3f3057(),_0x403bb3(_0x1c4f85(0x2e3)+'mport-zi'+'p',async(_0x41cae2,_0x356ab3)=>importMarketSkillZip({'payload':_0x356ab3,'importSkillZip':_0x29d2e3=>importSkillZip({..._0x29d2e3,'app':app,'dialog':dialog,'dialogWindow':BrowserWindow[_0x1c4f85(0x17b)+_0x1c4f85(0x22e)](_0x41cae2['sender'])||mainWindow,'configController':configController}),'configController':configController})),_0x403bb3('skills:u'+_0x1c4f85(0x360),(_0x17d8ff,_0x273237)=>updateManagedSkillConfig({'payload':_0x273237,'configController':configController})),_0x403bb3('skills:d'+_0x1c4f85(0x1a9),(_0x57d76e,_0x236a42)=>deleteMarketSkillRegistryEntry({'payload':_0x236a42,'deleteManagedSkill':_0xbf65ef=>deleteManagedSkill({..._0xbf65ef,'gateway':_0x37f266(),'configController':configController}),'configController':configController}));const _0x21da5f=ensureGeneratedFilesStore();_0x403bb3('app:gene'+_0x1c4f85(0x105)+_0x1c4f85(0x2ac),async()=>_0x21da5f['list']()),_0x403bb3(_0x1c4f85(0x269)+'rated-fi'+_0x1c4f85(0xfc)+'rt',async(_0x67ddd,_0x2c2b6b={})=>_0x21da5f[_0x1c4f85(0x219)](_0x2c2b6b)),_0x403bb3(_0x1c4f85(0x269)+_0x1c4f85(0x105)+'les:hide',async(_0x4eb86d,_0x43242f)=>_0x21da5f[_0x1c4f85(0x294)](String(_0x43242f||''))),_0x403bb3('app:gene'+_0x1c4f85(0x105)+'les:hide'+_0x1c4f85(0x329)+_0x1c4f85(0x340),async(_0x28e709,_0x5e2c48)=>_0x21da5f['hideBySe'+_0x1c4f85(0x29e)](String(_0x5e2c48||''))),_0x403bb3(_0x1c4f85(0x269)+_0x1c4f85(0x105)+'les:dele'+'te',async(_0x1aa90f,_0x1fd83e)=>_0x21da5f[_0x1c4f85(0x1d0)+'le'](String(_0x1fd83e||''))),_0x403bb3(_0x1c4f85(0x269)+_0x1c4f85(0x105)+_0x1c4f85(0x3a4)+_0x1c4f85(0x389)+'e',async(_0x10dfdc,_0xe41b94=[])=>_0x21da5f['deletedS'+_0x1c4f85(0xfb)](_0xe41b94)),_0x403bb3(_0x1c4f85(0x269)+_0x1c4f85(0x105)+_0x1c4f85(0x2a8)+'al',async(_0x439640,_0xee156d)=>revealPathInFolder(_0xee156d)),_0x403bb3(_0x1c4f85(0x341)+_0x1c4f85(0x2b2),async()=>_0x21da5f[_0x1c4f85(0x119)]()),_0x403bb3(_0x1c4f85(0x341)+'s:upsert',async(_0x4341e4,_0x8315d5={})=>_0x21da5f['upsert'](_0x8315d5)),_0x403bb3('artifact'+_0x1c4f85(0x8f),async(_0x18b8f6,_0x13cddb={})=>_0x21da5f['hide'](String(_0x13cddb['id']||_0x13cddb||''))),_0x403bb3(_0x1c4f85(0x341)+_0x1c4f85(0x257),async(_0x4fb32b,_0x5599fd={})=>_0x21da5f['deleteFi'+'le'](String(_0x5599fd['id']||_0x5599fd||''))),_0x403bb3('artifact'+_0x1c4f85(0x257)+_0x1c4f85(0x212),async(_0x16e4b8,_0x2ddc5a={})=>_0x21da5f[_0x1c4f85(0x22a)+_0x1c4f85(0xfb)](_0x2ddc5a['paths']||_0x2ddc5a)),_0x403bb3(_0x1c4f85(0x341)+_0x1c4f85(0x3ae),async(_0x410c1b,_0x50c7d1={})=>{const _0x5d8fa4=_0x1c4f85,_0x317f1a=typeof _0x50c7d1==='string'?_0x50c7d1:_0x50c7d1['path']||_0x50c7d1[_0x5d8fa4(0x24d)];return revealPathInFolder(_0x317f1a);});const _0xa81532=createPreferencesStore({'stateDir':configController['resolveS'+_0x1c4f85(0x366)](),'storeFile':_0x1c4f85(0x30c)+'preferen'+'ces.json'});_0x403bb3('app:tray'+':get-clo'+'se',async()=>_0xa81532['get'](_0x1c4f85(0x25b)+_0x1c4f85(0x265)+'se',![])),_0x403bb3(_0x1c4f85(0x372)+_0x1c4f85(0x344)+'se',async(_0x1f48e2,_0x2c194c)=>_0xa81532[_0x1c4f85(0x101)](_0x1c4f85(0x25b)+_0x1c4f85(0x265)+'se',_0x2c194c===!![])),registerFileHandlers({'app':app,'filesLogger':filesLogger,'handle':_0x403bb3,'sep':sep,'stateDir':configController[_0x1c4f85(0x1d3)+_0x1c4f85(0x366)](),'toHomePath':toHomePath}),registerProductLogHandlers({'app':app,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'exportLogsArchive':exportLogsArchive,'handle':_0x403bb3,'mainLogger':mainLogger,'rendererLogger':rendererLogger,'summarizeText':summarizeText,'toHomePath':toHomePath}),registerModelHandlers({'handle':_0x403bb3,'modelHandlers':{'saveCustomModel':_0x1a40c6=>_0x37f266()[_0x1c4f85(0x11b)][_0x1c4f85(0x27b)+'omModel'](_0x1a40c6),'deleteCustomModel':_0x375f21=>_0x37f266()[_0x1c4f85(0x11b)][_0x1c4f85(0x311)+_0x1c4f85(0x2f1)+'l'](_0x375f21)}}),connectorController=createConnectorController({'shellConfig':shellConfig,'configController':configController,'broadcast':broadcast,'shell':shell,'getRuntimeSpawnContext':getRuntimeSpawnContext,'openClawConfigHandlers':{'update':(..._0x25b027)=>configController[_0x1c4f85(0x14b)+_0x1c4f85(0x1c5)+_0x1c4f85(0x20b)](..._0x25b027),'setPluginConfig':_0x5694a1=>configController['setOpenC'+'lawPlugi'+_0x1c4f85(0x1a8)](_0x5694a1),'setChannelConfig':_0x2fd759=>configController[_0x1c4f85(0x13b)+'lawChann'+_0x1c4f85(0x34b)](_0x2fd759),'deleteChannelConfig':_0x1fecde=>configController['deleteOp'+_0x1c4f85(0x2cc)+_0x1c4f85(0x8a)+_0x1c4f85(0x3a2)](_0x1fecde),'setSkillEntry':_0x4b23cd=>configController[_0x1c4f85(0x13b)+_0x1c4f85(0x250)+_0x1c4f85(0x180)](_0x4b23cd),'deleteSkillEntry':_0x28193e=>configController[_0x1c4f85(0x240)+_0x1c4f85(0x2b0)+_0x1c4f85(0x2fc)](_0x28193e),'setMcpServer':_0x572c31=>configController['setOpenC'+_0x1c4f85(0x103)+_0x1c4f85(0x39a)](_0x572c31),'deleteMcpServer':_0x1713da=>configController[_0x1c4f85(0x240)+_0x1c4f85(0x10b)+_0x1c4f85(0x20c)](_0x1713da)},'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand}),_0x403bb3(_0x1c4f85(0x18a)+_0x1c4f85(0x2e9)+_0x1c4f85(0x2bc),async()=>connectorController[_0x1c4f85(0xad)+_0x1c4f85(0x8a)+'figs']()),_0x403bb3(_0x1c4f85(0x18a)+_0x1c4f85(0x2e9)+'ls:delet'+'e',async(_0x11eb74,_0x4f70a9={})=>connectorController[_0x1c4f85(0x25e)+'ChannelC'+_0x1c4f85(0x8c)](_0x4f70a9)),_0x403bb3('config:i'+'m-channe'+_0x1c4f85(0x26b)+_0x1c4f85(0x27f),async(_0x166ba8,_0x474749={})=>connectorController[_0x1c4f85(0x15e)+'nnelEnab'+_0x1c4f85(0x2fb)](_0x474749)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+_0x1c4f85(0x2fa),async(_0x23a608,_0x526230={})=>{const _0x229240=_0x1c4f85,_0xd8d8c=String(_0x526230[_0x229240(0x1e4)+'d']||_0x526230[_0x229240(0x322)]?.['channelI'+'d']||_0x526230['payload']?.['id']||'');if(!_0xd8d8c)throw new Error(_0x229240(0x1e4)+'d\x20is\x20req'+_0x229240(0x163));const _0x3478e9=_0x526230[_0x229240(0x322)]||_0x526230,_0x5d7b98={'feishu':connectorController[_0x229240(0x1b7)+_0x229240(0xee)+_0x229240(0x1ee)],'qqbot':connectorController[_0x229240(0x14c)+'tChannel'+_0x229240(0x328)],'wecom':connectorController[_0x229240(0x332)+'mChannel'+_0x229240(0x328)],'qq_mail':connectorController[_0x229240(0x94)+'ilConnec'+'torConfi'+'g'],'netease_mail':connectorController['saveNetE'+_0x229240(0x123)+_0x229240(0x17e)+_0x229240(0x328)],'tencent_exmail':connectorController[_0x229240(0x230)+_0x229240(0x138)+'lConnect'+'orConfig'],'feishu_doc':connectorController[_0x229240(0x1b7)+_0x229240(0xda)+_0x229240(0x11e)+_0x229240(0x20b)],'tencent_docs':connectorController[_0x229240(0x230)+_0x229240(0x362)+_0x229240(0x17e)+'Config'],'kdocs':connectorController[_0x229240(0x387)+_0x229240(0x28e)+_0x229240(0x1bd)],'dingtalk_doc':connectorController['saveDing'+_0x229240(0x167)+_0x229240(0x17e)+_0x229240(0x328)]},_0x2d3774=_0x5d7b98[_0xd8d8c];if(!_0x2d3774)throw new Error('Unsuppor'+_0x229240(0x2b7)+'ector:\x20'+_0xd8d8c);return _0x2d3774(_0x3478e9);}),_0x403bb3('config:c'+_0x1c4f85(0x17e)+_0x1c4f85(0x297)+'ishu-cha'+_0x1c4f85(0x21f),async(_0x4fe51b,_0x3477c3={})=>connectorController[_0x1c4f85(0x1b7)+_0x1c4f85(0xee)+_0x1c4f85(0x1ee)](_0x3477c3)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+_0x1c4f85(0x136)+_0x1c4f85(0x9a)+_0x1c4f85(0x24c),async(_0x4e21dd,_0x11713c={})=>connectorController['saveQqbo'+_0x1c4f85(0x20a)+'Config'](_0x11713c)),_0x403bb3(_0x1c4f85(0x3c4)+'onnector'+':save-we'+_0x1c4f85(0x33c)+_0x1c4f85(0x24c),async(_0x61d264,_0x501f6c={})=>connectorController[_0x1c4f85(0x332)+_0x1c4f85(0x9f)+_0x1c4f85(0x328)](_0x501f6c)),_0x403bb3('config:c'+_0x1c4f85(0x17e)+_0x1c4f85(0x136)+_0x1c4f85(0x280),async(_0x42f0fb,_0x132f6d={})=>connectorController['saveQqMa'+_0x1c4f85(0xd8)+_0x1c4f85(0x31c)+'g'](_0x132f6d)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+_0x1c4f85(0x1c9)+_0x1c4f85(0x144)+'il',async(_0x317e77,_0x597707={})=>connectorController[_0x1c4f85(0x1df)+_0x1c4f85(0x123)+'onnector'+'Config'](_0x597707)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+_0x1c4f85(0xa8)+_0x1c4f85(0x90)+_0x1c4f85(0x204),async(_0x3299aa,_0x109b73={})=>connectorController[_0x1c4f85(0x230)+_0x1c4f85(0x138)+_0x1c4f85(0x1e7)+_0x1c4f85(0x1bd)](_0x109b73)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+_0x1c4f85(0x297)+'ishu-doc',async(_0x3bc71c,_0x276afd={})=>connectorController['saveFeis'+_0x1c4f85(0xda)+'nectorCo'+_0x1c4f85(0x20b)](_0x276afd)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+':save-te'+'ncent-do'+'cs',async(_0xc16383,_0x1ab395={})=>connectorController[_0x1c4f85(0x230)+_0x1c4f85(0x362)+_0x1c4f85(0x17e)+'Config'](_0x1ab395)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+_0x1c4f85(0x19c)+_0x1c4f85(0x2c6),async(_0x26c6a5,_0x4ba34f={})=>connectorController[_0x1c4f85(0x387)+'sConnect'+'orConfig'](_0x4ba34f)),_0x403bb3(_0x1c4f85(0x3c4)+'onnector'+_0x1c4f85(0xe0)+_0x1c4f85(0x1f1)+'oc',async(_0x88ca3d,_0x58cca3={})=>connectorController['saveDing'+_0x1c4f85(0x167)+_0x1c4f85(0x17e)+_0x1c4f85(0x328)](_0x58cca3)),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+'-session'+_0x1c4f85(0x1d5),async(_0x78686e,_0x762919={})=>{const _0x1ee856=_0x1c4f85,_0x4ebb1e=String(_0x762919[_0x1ee856(0x1e4)+'d']||_0x762919[_0x1ee856(0x271)]||'');if(_0x4ebb1e==='kdocs')return connectorController[_0x1ee856(0x22f)+_0x1ee856(0x3b2)+_0x1ee856(0x1af)+_0x1ee856(0x340)]();if(_0x4ebb1e===_0x1ee856(0x142)+'oc')return connectorController[_0x1ee856(0x98)+_0x1ee856(0x14e)+_0x1ee856(0x1f0)+_0x1ee856(0x2a9)]();if(_0x4ebb1e===_0x1ee856(0x122))return connectorController[_0x1ee856(0x98)+'shuRegis'+_0x1ee856(0xb8)+'ession'](_0x762919);if(_0x4ebb1e===_0x1ee856(0x3c8)+'-weixin'||_0x4ebb1e===_0x1ee856(0x1bc))return connectorController[_0x1ee856(0x80)+_0x1ee856(0x1d9)+'elSessio'+'n']({'gatewayPort':_0x37f266()[_0x1ee856(0x241)+'ort'](),'gatewayToken':_0x37f266()[_0x1ee856(0x3be)+'oken']()});throw new Error('Unsuppor'+_0x1ee856(0x2b7)+_0x1ee856(0x2d2)+_0x1ee856(0x114)+(_0x4ebb1e||_0x1ee856(0x1e8)));}),_0x403bb3(_0x1c4f85(0x3c4)+'onnector'+'-session'+_0x1c4f85(0x1ad),async(_0x247e2f,_0x399b0b={})=>{const _0x2d51ef=_0x1c4f85,_0x381961=String(_0x399b0b['channelI'+'d']||_0x399b0b['type']||'');if(_0x381961==='kdocs')return connectorController[_0x2d51ef(0x24b)+_0x2d51ef(0x2f2)+_0x2d51ef(0x283)](_0x399b0b);if(_0x381961===_0x2d51ef(0x142)+'oc')return connectorController[_0x2d51ef(0x350)+_0x2d51ef(0xf1)+_0x2d51ef(0x3bb)+'atus'](_0x399b0b);if(_0x381961===_0x2d51ef(0x122))return connectorController['getFeish'+_0x2d51ef(0x286)+'ationSta'+'tus'](_0x399b0b);throw new Error('Unsuppor'+_0x2d51ef(0x2b7)+_0x2d51ef(0x2d2)+_0x2d51ef(0x114)+(_0x381961||_0x2d51ef(0x1e8)));}),_0x403bb3(_0x1c4f85(0x3c4)+_0x1c4f85(0x17e)+'-session'+_0x1c4f85(0x18c),async(_0x10450f,_0x499c27={})=>{const _0x2c4031=_0x1c4f85,_0x301907=String(_0x499c27[_0x2c4031(0x1e4)+'d']||_0x499c27[_0x2c4031(0x271)]||'');if(_0x301907===_0x2c4031(0x234))return connectorController['cancelKd'+_0x2c4031(0xbf)+_0x2c4031(0x23b)+'sion'](_0x499c27);if(_0x301907===_0x2c4031(0x142)+'oc')return connectorController[_0x2c4031(0x318)+_0x2c4031(0x2d9)+_0x2c4031(0x266)+_0x2c4031(0x1f6)](_0x499c27);if(_0x301907===_0x2c4031(0x122))return connectorController[_0x2c4031(0x318)+'ishuRegi'+_0x2c4031(0x3c7)+_0x2c4031(0x2a9)](_0x499c27);if(_0x301907===_0x2c4031(0x3c8)+_0x2c4031(0x315)||_0x301907===_0x2c4031(0x1bc))return connectorController[_0x2c4031(0xd6)+_0x2c4031(0x2ff)+'nelSessi'+'on']();return{'ok':!![]};}),_0x403bb3('config:c'+'onnector'+_0x1c4f85(0x27c)+':complet'+'e',async(_0x4f3d2e,_0x8d8ae7={})=>{const _0x1120c6=_0x1c4f85,_0x5c865f=String(_0x8d8ae7[_0x1120c6(0x1e4)+'d']||_0x8d8ae7[_0x1120c6(0x271)]||'');if(_0x5c865f===_0x1120c6(0x142)+'oc')return connectorController[_0x1120c6(0xd5)+_0x1120c6(0x1d7)+_0x1120c6(0x1de)+_0x1120c6(0x170)+'on'](_0x8d8ae7);throw new Error(_0x1120c6(0x200)+_0x1120c6(0x2b7)+_0x1120c6(0x2d2)+_0x1120c6(0x114)+(_0x5c865f||_0x1120c6(0x1e8)));}),_0x403bb3(_0x1c4f85(0xb6)+_0x1c4f85(0x1b0),()=>connectorController['readConf'+_0x1c4f85(0x2b3)+'ot']());const _0x5195c2=_0x542ac4=>{const _0x412fea=_0x1c4f85,_0x25bfc2=_0x542ac4[_0x412fea(0x1fa)]&&typeof _0x542ac4[_0x412fea(0x1fa)]===_0x412fea(0xc6)?_0x542ac4[_0x412fea(0x1fa)]:{};return Array[_0x412fea(0x112)](_0x25bfc2[_0x412fea(0x119)])?_0x25bfc2[_0x412fea(0x119)]:[];},_0x5545ed=_0x177ca3=>{const _0x4680b9=_0x1c4f85,_0x14e3e1=typeof _0x177ca3===_0x4680b9(0x321)?_0x177ca3[_0x4680b9(0xf5)]():'',_0x5f4e0a=_0x14e3e1[_0x4680b9(0x146)](/^agent:([^:]+):/);return _0x5f4e0a?.[0x1]||'';},_0x2fce5e=(_0xd4f5b8={},_0xec800d=[])=>{const _0x50fb49=_0x1c4f85,_0x43853c=Array[_0x50fb49(0x112)](_0xd4f5b8[_0x50fb49(0x159)])?_0xd4f5b8[_0x50fb49(0x159)]:[],_0x2bec48=Array[_0x50fb49(0x112)](_0xd4f5b8['agents'])?_0xd4f5b8[_0x50fb49(0x1fa)]:Array[_0x50fb49(0x112)](_0xd4f5b8[_0x50fb49(0x119)])?_0xd4f5b8[_0x50fb49(0x119)]:_0x43853c[_0x50fb49(0x13a)](_0xafc36a=>_0xafc36a?.['agent'])['filter'](Boolean),_0x47dfc5=Array['isArray'](_0xec800d)?_0xec800d:[];return _0x2bec48[_0x50fb49(0x13a)](_0x30e5f0=>{const _0x601fdf=_0x50fb49,_0xa5dad7=String(_0x30e5f0?.['id']||_0x30e5f0?.['agentId']||'')[_0x601fdf(0xf5)](),_0x96c213=_0x43853c['find'](_0x4c3168=>{const _0xacf3f0=_0x601fdf,_0x994eed=String(_0x4c3168?.[_0xacf3f0(0x1d6)]?.['id']||_0x4c3168?.[_0xacf3f0(0x1d6)]?.['agentId']||'')[_0xacf3f0(0xf5)]();return _0x994eed===_0xa5dad7;});return{..._0x96c213&&typeof _0x96c213===_0x601fdf(0xc6)?_0x96c213:{},'agent':_0x30e5f0,'sessions':_0xa5dad7?_0x47dfc5[_0x601fdf(0x385)](_0x1bec8e=>{const _0x2f8ebe=_0x601fdf,_0x46ce0c=String(_0x1bec8e?.[_0x2f8ebe(0x357)]||_0x1bec8e?.[_0x2f8ebe(0xc9)]||_0x1bec8e?.[_0x2f8ebe(0x1d6)]?.['id']||_0x5545ed(_0x1bec8e?.[_0x2f8ebe(0x368)])||'')[_0x2f8ebe(0xf5)]();return _0x46ce0c?_0x46ce0c===_0xa5dad7:_0xa5dad7===_0x2f8ebe(0x287);}):[]};});};_0x403bb3(_0x1c4f85(0x148)+_0x1c4f85(0x34a)+_0x1c4f85(0xfb),async()=>updateController?.[_0x1c4f85(0xdf)]()),_0x403bb3(_0x1c4f85(0x148)+_0x1c4f85(0x16e),async()=>updateController?.[_0x1c4f85(0x21d)+'Updates']()),_0x403bb3(_0x1c4f85(0x148)+_0x1c4f85(0x274)+_0x1c4f85(0x8e),async()=>updateController?.['download'+_0x1c4f85(0xd2)]()),_0x403bb3(_0x1c4f85(0x148)+_0x1c4f85(0x316)+_0x1c4f85(0x2aa)+_0x1c4f85(0x1b6),async()=>updateController?.[_0x1c4f85(0x31a)+_0x1c4f85(0x25d)]()),_0x403bb3(_0x1c4f85(0xf7)+_0x1c4f85(0x2b5),async(_0x345ac9,_0x552689={})=>{const _0x5f3735=_0x1c4f85,_0x3fb2c4=await dialog[_0x5f3735(0x3cf)+_0x5f3735(0xec)](BrowserWindow['fromWebC'+'ontents'](_0x345ac9[_0x5f3735(0xc8)])??mainWindow,{'properties':[_0x5f3735(0x313),..._0x552689?.[_0x5f3735(0x359)]!==0x1?[_0x5f3735(0x18d)+_0x5f3735(0x182)]:[]],'filters':_0x552689?.[_0x5f3735(0x1ac)+'meFilter'+'s']?[{'name':_0x5f3735(0xc4),'extensions':_0x552689[_0x5f3735(0x1ac)+_0x5f3735(0x3c2)+'s']}]:undefined});return _0x3fb2c4['filePath'+'s'][_0x5f3735(0x13a)](_0x297a16=>({'path':_0x297a16,'name':_0x297a16[_0x5f3735(0x1da)](/[\\/]/)[_0x5f3735(0x185)]()||_0x297a16}));}),_0x403bb3(_0x1c4f85(0xf7)+_0x1c4f85(0x3c3)+_0x1c4f85(0x2ee),async(_0x7d871b,_0x535e13={})=>{const _0x3ba3e4=_0x1c4f85,_0x18b6e4=String(_0x535e13[_0x3ba3e4(0x249)+'th']||'');if(!_0x18b6e4)return{'success':![],'error':_0x3ba3e4(0x249)+_0x3ba3e4(0x9c)+_0x3ba3e4(0x3b9)};const _0xd0599=await dialog[_0x3ba3e4(0x100)+_0x3ba3e4(0xec)](mainWindow,{'defaultPath':_0x535e13[_0x3ba3e4(0xa4)+_0x3ba3e4(0x35e)]||_0x18b6e4[_0x3ba3e4(0x1da)](/[\\/]/)['pop']()});if(_0xd0599[_0x3ba3e4(0xdc)]||!_0xd0599['filePath'])return{'success':![],'canceled':!![]};const {copyFile:_0x19624b}=await import(_0x3ba3e4(0x117)+_0x3ba3e4(0x26f));return await _0x19624b(_0x18b6e4,_0xd0599[_0x3ba3e4(0x1e0)]),{'success':!![],'filePath':_0xd0599[_0x3ba3e4(0x1e0)]};}),_0x403bb3('app:clip'+'board:wr'+_0x1c4f85(0x137),async(_0x476979,_0x1469f9)=>{return clipboard['writeTex'+'t'](String(_0x1469f9??'')),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x162)+_0x1c4f85(0x1d2)+'rt',async()=>{const _0x388e17=_0x1c4f85;return app[_0x388e17(0xc0)](),app['quit'](),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x1ea)+_0x1c4f85(0x15a)+_0x1c4f85(0x2d4),_0x140d25=>Boolean(BrowserWindow[_0x1c4f85(0x17b)+'ontents'](_0x140d25[_0x1c4f85(0xc8)])?.['isMaximi'+_0x1c4f85(0x2d4)]())),_0x403bb3(_0x1c4f85(0x295)+_0x1c4f85(0x21a),async(_0xc454ee,_0x69fd45)=>{return app['setLogin'+'ItemSett'+'ings']({'openAtLogin':_0x69fd45===!![]}),{'ok':!![],'enabled':_0x69fd45===!![]};}),_0x403bb3(_0x1c4f85(0x295)+_0x1c4f85(0x395),async()=>app[_0x1c4f85(0xe6)+_0x1c4f85(0x96)+'ings']()['openAtLo'+_0x1c4f85(0x149)]),_0x403bb3(_0x1c4f85(0xf7)+':choose-'+_0x1c4f85(0x2c1),async _0x3b7e03=>{const _0x2648d3=_0x1c4f85,_0xdfd0ee=await dialog[_0x2648d3(0x3cf)+'Dialog'](BrowserWindow[_0x2648d3(0x17b)+_0x2648d3(0x22e)](_0x3b7e03[_0x2648d3(0xc8)])??mainWindow,{'properties':[_0x2648d3(0x16d)+_0x2648d3(0x11d)]});return _0xdfd0ee[_0x2648d3(0x1e0)+'s'][0x0]||'';}),_0x403bb3(_0x1c4f85(0x162)+'em:open-'+'folder',async(_0x10d796,_0x371a34)=>{const _0x46a948=_0x1c4f85,_0x5cf453=await shell[_0x46a948(0x355)](String(_0x371a34||''));return _0x5cf453||'';}),_0x403bb3('openclaw'+_0x1c4f85(0x2f3)+'-token',async()=>_0x37f266()[_0x1c4f85(0x3be)+'oken']()),_0x403bb3(_0x1c4f85(0x3c8)+_0x1c4f85(0x2f3)+_0x1c4f85(0x2f5),async()=>_0x37f266()[_0x1c4f85(0x241)+_0x1c4f85(0x127)]()),_0x403bb3(_0x1c4f85(0x3c8)+':run-onc'+'e',async(_0x122749,_0x27e2b5=[])=>{const _0x4a5491=_0x1c4f85,_0x56dc74=await runClawOnce(shellConfig[_0x4a5491(0x393)+_0x4a5491(0x1ab)],Array[_0x4a5491(0x112)](_0x27e2b5)?_0x27e2b5:[]);return{'ok':_0x56dc74[_0x4a5491(0x156)]===0x0,..._0x56dc74};}),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x1f5),async(_0x38a27e,_0x44b90a={})=>_0x37f266()[_0x1c4f85(0x1db)][_0x1c4f85(0x15f)]({..._0x44b90a,'parentSessionKey':_0x44b90a[_0x1c4f85(0x17d)+_0x1c4f85(0x208)]||_0x44b90a['sessionK'+'ey']}));const _0x33d681=configController['resolveS'+_0x1c4f85(0x366)]();sessionSqliteStore=ensureSessionSqliteStore();const _0x5d0b12=createAgentSessionsMapStore({'stateDir':_0x33d681});_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x396)+_0x1c4f85(0x2a7),async(_0x35ec9b,_0x43f150={})=>_0x5d0b12['get'](_0x43f150)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x396)+_0x1c4f85(0x27a)+'t',async(_0x2afebd,_0x3b255f={})=>_0x5d0b12[_0x1c4f85(0x219)](_0x3b255f)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x396)+_0x1c4f85(0x14f),async(_0x73a4f7,_0xb4d6c4={})=>{const _0x596833=_0x1c4f85,_0xb3b7d6=String(_0xb4d6c4[_0x596833(0xff)+'ey']||'')[_0x596833(0xf5)]();if(!_0xb3b7d6)return null;return await sessionSqliteStore[_0x596833(0x13f)+_0x596833(0x7a)](_0xb3b7d6);}),_0x403bb3(_0x1c4f85(0x30b)+'reate',async(_0x21e5a1,_0x39abc1={})=>{const _0x5252f4=_0x1c4f85,_0x3d3da2=await readMutableConfig(),_0x5a1ede=_0x3d3da2[_0x5252f4(0x1fa)]&&typeof _0x3d3da2['agents']===_0x5252f4(0xc6)?_0x3d3da2[_0x5252f4(0x1fa)]:{},_0x40bd72=_0x5195c2(_0x3d3da2),_0x1aae60=String(_0x39abc1['id']||_0x39abc1[_0x5252f4(0x39c)]||_0x5252f4(0x12b)+Date[_0x5252f4(0x21b)]())[_0x5252f4(0xf5)]()[_0x5252f4(0x1a2)](/\s+/g,'-'),_0x2bae6f={'id':_0x1aae60,'name':String(_0x39abc1['name']||_0x1aae60),..._0x39abc1[_0x5252f4(0x1e1)+'e']?{'workspace':String(_0x39abc1[_0x5252f4(0x1e1)+'e'])}:{},..._0x39abc1[_0x5252f4(0x3c6)]?{'model':_0x39abc1['model']}:{},..._0x39abc1[_0x5252f4(0x89)]?{'emoji':_0x39abc1[_0x5252f4(0x89)]}:{},..._0x39abc1['avatar']?{'avatar':_0x39abc1['avatar']}:{},...Array[_0x5252f4(0x112)](_0x39abc1[_0x5252f4(0x308)])?{'skills':_0x39abc1[_0x5252f4(0x308)]}:{}};if(_0x40bd72[_0x5252f4(0x307)](_0x447129=>_0x447129?.['id']===_0x1aae60))throw new Error(_0x5252f4(0x97)+_0x5252f4(0x3b3)+_0x5252f4(0x203));return _0x5a1ede['list']=[..._0x40bd72,_0x2bae6f],_0x3d3da2[_0x5252f4(0x1fa)]=_0x5a1ede,await _0x3a912a(_0x3d3da2,_0x5252f4(0x8d)+'eated'),{'ok':!![],'agent':_0x2bae6f};}),_0x403bb3(_0x1c4f85(0x177)+_0x1c4f85(0x360),async(_0x483dd1,_0x5e0f41={})=>{const _0x2fff3b=_0x1c4f85,_0x2a9671=String(_0x5e0f41['id']||_0x5e0f41[_0x2fff3b(0x357)]||'')['trim']();if(!_0x2a9671)throw new Error(_0x2fff3b(0x275)+'\x20is\x20requ'+_0x2fff3b(0xa2));const _0x1235f6=await readMutableConfig(),_0x49ca20=_0x1235f6['agents']&&typeof _0x1235f6['agents']===_0x2fff3b(0xc6)?_0x1235f6['agents']:{},_0x21db26=_0x5195c2(_0x1235f6),_0x4285b5=_0x21db26[_0x2fff3b(0x13a)](_0x2ac814=>_0x2ac814?.['id']===_0x2a9671?{..._0x2ac814,..._0x5e0f41,'id':_0x2a9671}:_0x2ac814);return _0x49ca20[_0x2fff3b(0x119)]=_0x4285b5,_0x1235f6[_0x2fff3b(0x1fa)]=_0x49ca20,await _0x3a912a(_0x1235f6,_0x2fff3b(0x33a)+_0x2fff3b(0x164)),{'ok':!![],'agent':_0x4285b5[_0x2fff3b(0x31e)](_0x1999e7=>_0x1999e7?.['id']===_0x2a9671)||null};}),_0x403bb3('agents:d'+_0x1c4f85(0x1a9),async(_0x212378,_0x561209={})=>{const _0x1d3b1e=_0x1c4f85,_0xe39d12=String(_0x561209['id']||_0x561209[_0x1d3b1e(0x357)]||'')[_0x1d3b1e(0xf5)]();if(!_0xe39d12)throw new Error('agent\x20id'+'\x20is\x20requ'+_0x1d3b1e(0xa2));const _0x20361f=await readMutableConfig(),_0x30c356=_0x20361f['agents']&&typeof _0x20361f[_0x1d3b1e(0x1fa)]===_0x1d3b1e(0xc6)?_0x20361f[_0x1d3b1e(0x1fa)]:{};return _0x30c356[_0x1d3b1e(0x119)]=_0x5195c2(_0x20361f)['filter'](_0x396695=>_0x396695?.['id']!==_0xe39d12),_0x20361f[_0x1d3b1e(0x1fa)]=_0x30c356,await _0x3a912a(_0x20361f,_0x1d3b1e(0x305)+_0x1d3b1e(0xf6)),{'ok':!![],'agentId':_0xe39d12};}),_0x403bb3(_0x1c4f85(0x1cf)+_0x1c4f85(0x1ed)+'ions-lis'+'t',async(_0x363a0d,_0x15473d={})=>{const _0x1b4109=_0x1c4f85,[_0x59bcbc,_0x4bf4e4]=await Promise[_0x1b4109(0x1b6)]([_0x37f266()[_0x1b4109(0x1fa)][_0x1b4109(0x119)](),ensureSessionDataService()[_0x1b4109(0x285)+_0x1b4109(0x300)](_0x15473d)['catch'](()=>({'sessions':[]}))]),_0x417b38=Array['isArray'](_0x4bf4e4[_0x1b4109(0x1db)])?_0x4bf4e4[_0x1b4109(0x1db)]:[];return{..._0x59bcbc,'sessions':_0x417b38,'groups':_0x2fce5e(_0x59bcbc,_0x417b38)};}),terminalManager=createTerminalManager({'cwd':join(configController[_0x1c4f85(0x1d3)+_0x1c4f85(0x366)](),'workspac'+'e'),'emitData':_0x2cda16=>broadcast('terminal'+_0x1c4f85(0xcf),_0x2cda16),'emitExit':_0x1a6544=>broadcast(_0x1c4f85(0x296)+'-exit',_0x1a6544)}),_0x403bb3(_0x1c4f85(0x296)+_0x1c4f85(0x121),async(_0x5be7a3,_0x492e68={})=>terminalManager[_0x1c4f85(0x15f)](_0x492e68)),_0x403bb3(_0x1c4f85(0x296)+_0x1c4f85(0x1d8),async(_0x169301,_0x61e947={})=>terminalManager[_0x1c4f85(0x118)](_0x61e947)),_0x403bb3(_0x1c4f85(0x296)+':resize',async(_0x45cb82,_0x4b78a1={})=>terminalManager[_0x1c4f85(0x1c1)](_0x4b78a1)),_0x403bb3(_0x1c4f85(0x296)+_0x1c4f85(0x290),async(_0x4ff7c3,_0x2dd5f4={})=>terminalManager[_0x1c4f85(0x107)](_0x2dd5f4)),_0x403bb3('plugins:'+_0x1c4f85(0x119),async()=>{const _0x597448=_0x1c4f85,_0x37688b=gatewayController?.[_0x597448(0xb5)+_0x597448(0x273)]?.()||{};return _0x37688b[_0x597448(0xe3)]||[];}),_0x403bb3('plugins:'+_0x1c4f85(0x264)+'ig',async(_0x4aa2d8,_0x44c226={})=>{const _0x1d265e=_0x1c4f85,_0x163acd=String(_0x44c226[_0x1d265e(0xbc)]||_0x44c226['id']||''),_0x52b3b9=await readMutableConfig(),_0x3f5a80=_0x52b3b9['plugins']?.[_0x1d265e(0x3ad)]||{};return _0x163acd?_0x3f5a80[_0x163acd]||null:_0x3f5a80;}),_0x403bb3(_0x1c4f85(0x1b8)+_0x1c4f85(0x1b9)+'onfig',async(_0x2a18a1,_0x20ed9b={})=>{const _0x4a5bda=_0x1c4f85,_0x2efcca=String(_0x20ed9b[_0x4a5bda(0xbc)]||_0x20ed9b['id']||'');if(!_0x2efcca)throw new Error(_0x4a5bda(0xbc)+'\x20is\x20requ'+_0x4a5bda(0xa2));const _0x394657=await readMutableConfig(),_0x33c93c=_0x394657[_0x4a5bda(0xe3)]&&typeof _0x394657[_0x4a5bda(0xe3)]===_0x4a5bda(0xc6)?_0x394657[_0x4a5bda(0xe3)]:{},_0x492307=_0x33c93c[_0x4a5bda(0x3ad)]&&typeof _0x33c93c['entries']===_0x4a5bda(0xc6)?_0x33c93c[_0x4a5bda(0x3ad)]:{};return _0x492307[_0x2efcca]={..._0x492307[_0x2efcca]||{},..._0x20ed9b[_0x4a5bda(0x31f)]||_0x20ed9b[_0x4a5bda(0x84)]||{}},_0x33c93c[_0x4a5bda(0x3ad)]=_0x492307,_0x394657['plugins']=_0x33c93c,_0x3a912a(_0x394657,_0x4a5bda(0xa1)+'onfig\x20up'+_0x4a5bda(0x164));}),_0x403bb3(_0x1c4f85(0x1b8)+_0x1c4f85(0x15b),async(_0x17e590,_0x581874={})=>{const _0x536064=_0x1c4f85,_0x55040b=String(_0x581874[_0x536064(0xbc)]||_0x581874['id']||'');if(!_0x55040b)throw new Error(_0x536064(0xbc)+_0x536064(0xc1)+'ired');const _0x3b9bde=await readMutableConfig(),_0x2bc5b4=_0x3b9bde[_0x536064(0xe3)]&&typeof _0x3b9bde[_0x536064(0xe3)]===_0x536064(0xc6)?_0x3b9bde[_0x536064(0xe3)]:{},_0x1f6444=_0x2bc5b4[_0x536064(0x3ad)]&&typeof _0x2bc5b4[_0x536064(0x3ad)]===_0x536064(0xc6)?_0x2bc5b4[_0x536064(0x3ad)]:{};return _0x1f6444[_0x55040b]={..._0x1f6444[_0x55040b]||{},'enabled':!![]},_0x2bc5b4['entries']=_0x1f6444,_0x3b9bde[_0x536064(0xe3)]=_0x2bc5b4,_0x3a912a(_0x3b9bde,_0x536064(0x270)+_0x536064(0x27f));}),_0x403bb3(_0x1c4f85(0x1b8)+_0x1c4f85(0x2ed),async(_0x138a38,_0xa5e4a6={})=>{const _0xd05682=_0x1c4f85,_0x885bfc=String(_0xa5e4a6[_0xd05682(0xbc)]||_0xa5e4a6['id']||'');if(!_0x885bfc)throw new Error(_0xd05682(0xbc)+'\x20is\x20requ'+_0xd05682(0xa2));const _0x1433c4=await readMutableConfig(),_0x3f85a7=_0x1433c4[_0xd05682(0xe3)]&&typeof _0x1433c4[_0xd05682(0xe3)]===_0xd05682(0xc6)?_0x1433c4[_0xd05682(0xe3)]:{},_0xa1e9bd=_0x3f85a7[_0xd05682(0x3ad)]&&typeof _0x3f85a7[_0xd05682(0x3ad)]===_0xd05682(0xc6)?_0x3f85a7[_0xd05682(0x3ad)]:{};return _0xa1e9bd[_0x885bfc]={..._0xa1e9bd[_0x885bfc]||{},'enabled':![]},_0x3f85a7[_0xd05682(0x3ad)]=_0xa1e9bd,_0x1433c4[_0xd05682(0xe3)]=_0x3f85a7,_0x3a912a(_0x1433c4,_0xd05682(0x147)+_0xd05682(0x153));}),_0x403bb3(_0x1c4f85(0x1b8)+_0x1c4f85(0x1d1),async(_0x1598df,_0x421e87={})=>({'plugins':await((async()=>{const _0x3d7019=_0x1c4f85,_0x301fa4=gatewayController?.[_0x3d7019(0xb5)+_0x3d7019(0x273)]?.()||{};if(!_0x421e87?.[_0x3d7019(0xbc)]&&!_0x421e87?.['id'])return _0x301fa4['plugins']||[];const _0x1da23a=String(_0x421e87[_0x3d7019(0xbc)]||_0x421e87['id']||'');return(_0x301fa4[_0x3d7019(0xe3)]||[])[_0x3d7019(0x385)](_0x57e336=>_0x57e336[_0x3d7019(0xbc)]===_0x1da23a);})())})),_0x403bb3(_0x1c4f85(0x18b)+'igate',async(_0x25eb0c,_0x3a78f0)=>({'ok':!![],'payload':_0x3a78f0})),_0x403bb3(_0x1c4f85(0x2c3)+_0x1c4f85(0x2e2)+'e',async(_0x4235d8,_0x1d87b2)=>{const _0x5536a7=_0x1c4f85;return broadcast(_0x5536a7(0x29d)+_0x5536a7(0x259),_0x1d87b2),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x383)+'uest-age'+_0x1c4f85(0x267),async()=>{const _0x21e846=_0x1c4f85;return broadcast(_0x21e846(0xe7)+_0x21e846(0x267)+_0x21e846(0x386),{}),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x2ba)+_0x1c4f85(0x24f)+'nt-state',async(_0x23b23e,_0x267346={})=>{const _0x2c0fd6=_0x1c4f85;return broadcast(_0x2c0fd6(0xe7)+_0x2c0fd6(0x267)+'-refresh'+_0x2c0fd6(0x386),_0x267346),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0xf2)+_0x1c4f85(0x20d),_0x13de40=>{const _0x350d0d=_0x1c4f85;return BrowserWindow[_0x350d0d(0x17b)+'ontents'](_0x13de40['sender'])?.[_0x350d0d(0x205)](),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x3ab)+'oggle-ma'+_0x1c4f85(0x3a1),_0x369304=>{const _0x557a9e=_0x1c4f85,_0x580e90=BrowserWindow[_0x557a9e(0x17b)+_0x557a9e(0x22e)](_0x369304[_0x557a9e(0xc8)]);if(!_0x580e90)return{'isMaximized':![]};if(_0x580e90[_0x557a9e(0x201)+_0x557a9e(0x2d4)]())_0x580e90['unmaximi'+'ze']();else _0x580e90[_0x557a9e(0x11a)]();return{'isMaximized':_0x580e90[_0x557a9e(0x201)+_0x557a9e(0x2d4)]()};}),_0x403bb3(_0x1c4f85(0x391)+_0x1c4f85(0x196),_0x7afc55=>{const _0x5c2fc5=_0x1c4f85;return BrowserWindow[_0x5c2fc5(0x17b)+'ontents'](_0x7afc55[_0x5c2fc5(0xc8)])?.[_0x5c2fc5(0x107)](),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x108)+_0x1c4f85(0x2b9)+_0x1c4f85(0x39d),()=>openDevToolsForActiveContext()),_0x403bb3(_0x1c4f85(0x3c8)+_0x1c4f85(0x125)+'-info',()=>_0x37f266()['runtimeI'+_0x1c4f85(0x273)]()),_0x403bb3(_0x1c4f85(0x3c8)+':gateway'+_0x1c4f85(0x343),async()=>(await ensureGatewayControllerStarted())[_0x1c4f85(0xc7)+'s']()),ipcMain['on'](_0x1c4f85(0x3c8)+_0x1c4f85(0x2f3)+_0x1c4f85(0x12a)+_0x1c4f85(0x1a5),_0x4200ca=>{const _0x2553f5=_0x1c4f85;_0x4200ca[_0x2553f5(0x30f)+_0x2553f5(0x16a)]=gatewayController?.[_0x2553f5(0xc7)+'s']?.()??null;}),_0x403bb3('openclaw'+_0x1c4f85(0x2f3)+_0x1c4f85(0xbb),()=>_0x37f266()[_0x1c4f85(0x2ec)](_0x1c4f85(0x28f)+_0x1c4f85(0x1fc))),_0x403bb3(_0x1c4f85(0x3c8)+_0x1c4f85(0x1c4)+'-life-cy'+_0x1c4f85(0x231),async()=>({'loadingLifeCycle':_0x1c4f85(0x210),'message':'','updatedAt':new Date()[_0x1c4f85(0x198)+'ing']()})),_0x403bb3(_0x1c4f85(0x3c8)+_0x1c4f85(0x2f3)+'-logs',(_0x1c3e80,_0x454734={})=>_0x37f266()[_0x1c4f85(0x3cb)+'tLogs'](_0x454734?.['limit']??0xc8)),_0x403bb3('openclaw'+_0x1c4f85(0x255)+_0x1c4f85(0x254)+_0x1c4f85(0xd9)+'n',(_0x2917ae,_0x3f9076)=>_0x37f266()[_0x1c4f85(0x226)+_0x1c4f85(0x2ce)+'stion'](_0x3f9076)),_0x403bb3(_0x1c4f85(0x3c8)+_0x1c4f85(0xeb)+_0x1c4f85(0x2e6),async()=>{const _0x18564e=_0x1c4f85,_0x4c83e9=join(resolveRuntimeRoot(shellConfig['projectR'+_0x18564e(0x1ab)]),_0x18564e(0x155),'wujiecla'+'w');if(!existsSync(_0x4c83e9))throw new Error('openclaw'+_0x18564e(0x222)+_0x18564e(0xd3)+_0x18564e(0x186)+_0x4c83e9+(_0x18564e(0x130)+_0x18564e(0x29b)+'l\x20prepar'+_0x18564e(0xfa)));const _0x683d89=join(app[_0x18564e(0x2a2)](_0x18564e(0x16b)),_0x18564e(0x178)+'ell-cli.'+_0x18564e(0x2eb));await writeFile(_0x683d89,_0x18564e(0x335)+'h\x0aexec\x20\x22'+_0x4c83e9[_0x18564e(0x1a2)](/\\/g,'\x5c\x5c')[_0x18564e(0x1a2)](/"/g,'\x5c\x22')+'\x22\x0a',{'mode':0x1ed});const _0x246ec2=spawn(_0x18564e(0xcb),['-a',_0x18564e(0x314),_0x683d89],{'detached':!![],'stdio':_0x18564e(0x310)});return _0x246ec2['unref'](),{'ok':!![],'cliPath':_0x4c83e9};}),_0x403bb3(_0x1c4f85(0x3a7)+_0x1c4f85(0x1ae),()=>_0x37f266()['agents'][_0x1c4f85(0x119)]()),_0x403bb3(_0x1c4f85(0x14d)+_0x1c4f85(0x349),(_0x3a3de9,_0x5c3323)=>_0x37f266()['skills'][_0x1c4f85(0x1d1)](_0x5c3323)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x121),(_0xf7c1ac,_0x2434a7)=>_0x37f266()[_0x1c4f85(0x1db)][_0x1c4f85(0x15f)](_0x2434a7)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x2e8),(_0x1a1ace,_0x5290fe)=>ensureSessionDataService()['listSumm'+_0x1c4f85(0x300)](_0x5290fe)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0xb7),(_0x56510c,_0x5cce37)=>ensureSessionDataService()[_0x1c4f85(0x3d0)+'ry'](_0x5cce37)),_0x403bb3('sessions'+_0x1c4f85(0xd4)+'n',(_0x39eb0c,_0x24563e)=>ensureSessionDataService()[_0x1c4f85(0x2f8)+_0x1c4f85(0x340)](_0x24563e)),_0x403bb3('sessions'+':message'+'s',(_0x46bc6b,_0x3589a1)=>ensureSessionDataService()[_0x1c4f85(0x191)+_0x1c4f85(0x35a)](_0x3589a1)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x375)+'ts',(_0xea3409,_0x90691)=>ensureSessionDataService()[_0x1c4f85(0x15d)+'acts'](_0x90691)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x3c0),async(_0x4d3193,_0xa59773={})=>{const _0x4f143d=_0x1c4f85,_0x4f1494=String(_0xa59773[_0x4f143d(0xff)+'ey']||_0xa59773[_0x4f143d(0x368)]||'')[_0x4f143d(0xf5)](),_0x41a04d=await ensureSessionSqliteStore()[_0x4f143d(0x13f)+_0x4f143d(0x233)](_0x4f1494),_0x2277be=await configController[_0x4f143d(0x278)+_0x4f143d(0x166)+_0x4f143d(0x2df)]();return{..._0x41a04d,'contextWindowTokens':_0x2277be['contextW'+_0x4f143d(0x24e)+_0x4f143d(0x216)],'contextWindowSource':_0x2277be[_0x4f143d(0x2fe)+'indowSou'+_0x4f143d(0x2e1)]};}),_0x403bb3(_0x1c4f85(0x1db)+':delete',(_0x5624f4,_0x4405b2)=>_0x37f266()['sessions'][_0x1c4f85(0x298)](_0x4405b2)),_0x403bb3('chat:str'+_0x1c4f85(0x2b4),(_0x31de75,_0x20cc6c)=>_0x37f266()[_0x1c4f85(0x213)][_0x1c4f85(0x132)](_0x20cc6c)),_0x403bb3('chat:abo'+'rt',(_0x10883d,_0x1eb861)=>_0x37f266()[_0x1c4f85(0x213)][_0x1c4f85(0xb3)](_0x1eb861)),_0x403bb3(_0x1c4f85(0x1e9)+'te',async(_0x4f10d7,_0x1988f9={})=>{const _0x10e70a=_0x1c4f85,_0x36c149=typeof _0x1988f9['level']===_0x10e70a(0x321)?_0x1988f9[_0x10e70a(0x3af)]:'info',_0x12335b=typeof _0x1988f9[_0x10e70a(0x238)]===_0x10e70a(0x321)?_0x1988f9[_0x10e70a(0x238)]:_0x10e70a(0x28f)+_0x10e70a(0x82),_0x2a4fb4=typeof _0x1988f9[_0x10e70a(0xcc)]===_0x10e70a(0x321)&&_0x1988f9[_0x10e70a(0xcc)][_0x10e70a(0xf5)]()?_0x10e70a(0x28f)+':'+_0x1988f9['context'][_0x10e70a(0xf5)]():'renderer',_0x2b906a=_0x1988f9[_0x10e70a(0x3a6)]&&typeof _0x1988f9[_0x10e70a(0x3a6)]===_0x10e70a(0xc6)?{...summarizePayload(_0x1988f9[_0x10e70a(0x3a6)]),'context':_0x2a4fb4}:{'context':_0x2a4fb4},_0x1a982c=rendererLogger;if(_0x1a982c?.[_0x36c149])await _0x1a982c[_0x36c149](_0x12335b,_0x2b906a);else await _0x1a982c?.[_0x10e70a(0x2f0)](_0x12335b,_0x2b906a);if(_0x1988f9[_0x10e70a(0x154)+'ic']===!![]||_0x2a4fb4==='renderer'+_0x10e70a(0x2f9)+_0x10e70a(0x279)){const _0x397288=_0x1988f9[_0x10e70a(0x187)]&&typeof _0x1988f9[_0x10e70a(0x187)]===_0x10e70a(0xc6)?_0x1988f9[_0x10e70a(0x187)]:_0x1988f9[_0x10e70a(0x3a6)]?.[_0x10e70a(0x187)]&&typeof _0x1988f9[_0x10e70a(0x3a6)][_0x10e70a(0x187)]===_0x10e70a(0xc6)?_0x1988f9[_0x10e70a(0x3a6)][_0x10e70a(0x187)]:{'level':_0x36c149,'category':_0x10e70a(0x28f),'event':_0x2a4fb4,'message':_0x12335b,'meta':_0x1988f9[_0x10e70a(0x3a6)]};updateRendererSessionMetrics(_0x397288),await diagnosticsWriter?.['writeEve'+'nt'](_0x397288,{'captureIncident':String(_0x397288[_0x10e70a(0x3af)]||_0x36c149)[_0x10e70a(0x1a3)+_0x10e70a(0x1f3)]()===_0x10e70a(0x1bf)||_0x1988f9[_0x10e70a(0x214)+_0x10e70a(0x31d)]===!![]});}return{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x3b4)+_0x1c4f85(0x127),async(_0x536279,_0x4483b8={})=>{const _0x10d68b=_0x1c4f85,_0x4dd92e=typeof _0x4483b8['targetDi'+'r']==='string'&&_0x4483b8[_0x10d68b(0xba)+'r']['trim']()?_0x4483b8[_0x10d68b(0xba)+'r']:undefined,_0x279d07=await exportLogsArchive({'logsDir':configController[_0x10d68b(0x158)][_0x10d68b(0x397)],'targetDir':_0x4dd92e,'appVersion':app[_0x10d68b(0xb4)+'on']()});return mainLogger?.['info'](_0x10d68b(0x327)+_0x10d68b(0x192),{'path':toHomePath(_0x279d07[_0x10d68b(0x15c)])}),_0x279d07;}),_0x403bb3(_0x1c4f85(0x14a)+'n-direct'+_0x1c4f85(0x239),async()=>{const _0x1ab62f=_0x1c4f85;return await shell['openPath'](configController[_0x1ab62f(0x158)][_0x1ab62f(0x397)]),mainLogger?.['info'](_0x1ab62f(0x317)+_0x1ab62f(0x228)+_0x1ab62f(0x377),{'logsDir':toHomePath(configController[_0x1ab62f(0x158)][_0x1ab62f(0x397)])}),{'ok':!![],'path':configController[_0x1ab62f(0x158)][_0x1ab62f(0x397)]};}),_0x403bb3(_0x1c4f85(0x95)+'t',async()=>{const _0x1c9bc5=_0x1c4f85,_0x37f6af=await readdir(configController[_0x1c9bc5(0x158)]['logsDir'],{'recursive':!![]})[_0x1c9bc5(0x34c)](()=>[]);return _0x37f6af;}),_0x403bb3(_0x1c4f85(0x195)+'d',async(_0x17deb3,_0x637d95={})=>{const _0x54078e=_0x1c4f85,_0x1b6a52=String(_0x637d95[_0x54078e(0x15c)]||'');if(!_0x1b6a52)throw new Error(_0x54078e(0x293)+_0x54078e(0x217));return readFile(_0x1b6a52,'utf8');}),_0x403bb3('files:re'+'ad',async(_0x3126fa,_0x22770c)=>{const _0x1cc7ad=_0x1c4f85,_0x4c8490=Date[_0x1cc7ad(0x21b)]();try{const _0x32dd7d=await readFile(_0x22770c,_0x1cc7ad(0x225));return filesLogger?.[_0x1cc7ad(0x2f0)](_0x1cc7ad(0x392)+'d\x20comple'+_0x1cc7ad(0x2d0),{'path':toHomePath(_0x22770c),'bytes':Buffer[_0x1cc7ad(0x2d5)+'th'](_0x32dd7d),'durationMs':Date[_0x1cc7ad(0x21b)]()-_0x4c8490}),_0x32dd7d;}catch(_0x3814ee){filesLogger?.[_0x1cc7ad(0x1bf)](_0x1cc7ad(0x392)+_0x1cc7ad(0x2a5),{'path':toHomePath(_0x22770c),'durationMs':Date[_0x1cc7ad(0x21b)]()-_0x4c8490,'error':summarizeError(_0x3814ee)});throw _0x3814ee;}}),_0x403bb3(_0x1c4f85(0x109)+'ad-binar'+'y',async(_0x367a19,_0x17beda)=>{const _0x17bf1f=_0x1c4f85,_0x2d3d42=Date[_0x17bf1f(0x21b)]();try{const _0x4e2c7e=await readFile(_0x17beda);return filesLogger?.[_0x17bf1f(0x2f0)](_0x17bf1f(0x22b)+_0x17bf1f(0x2c0)+_0x17bf1f(0x140)+'ed',{'path':toHomePath(_0x17beda),'bytes':_0x4e2c7e[_0x17bf1f(0x2d5)+'th'],'durationMs':Date[_0x17bf1f(0x21b)]()-_0x2d3d42}),new Uint8Array(_0x4e2c7e);}catch(_0x3aab38){filesLogger?.['error'](_0x17bf1f(0x22b)+_0x17bf1f(0x2c0)+_0x17bf1f(0x380),{'path':toHomePath(_0x17beda),'durationMs':Date[_0x17bf1f(0x21b)]()-_0x2d3d42,'error':summarizeError(_0x3aab38)});throw _0x3aab38;}}),_0x403bb3(_0x1c4f85(0x32f)+_0x1c4f85(0x137),async(_0x4e4214,_0xe67263={})=>{const _0x3c9424=_0x1c4f85,_0x27faa6=Date[_0x3c9424(0x21b)]();return await writeFile(_0xe67263[_0x3c9424(0x15c)],_0xe67263[_0x3c9424(0x2ea)]??'',_0x3c9424(0x225)),filesLogger?.[_0x3c9424(0x2f0)](_0x3c9424(0x262)+_0x3c9424(0x2d6)+_0x3c9424(0x39f),{'path':toHomePath(_0xe67263[_0x3c9424(0x15c)]),'bytes':Buffer[_0x3c9424(0x2d5)+'th'](String(_0xe67263[_0x3c9424(0x2ea)]??'')),'durationMs':Date[_0x3c9424(0x21b)]()-_0x27faa6}),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x32f)+_0x1c4f85(0x10f)+'ry',async(_0x581240,_0x251597={})=>{const _0x2c38d9=_0x1c4f85,_0x2c289d=Date[_0x2c38d9(0x21b)]();await writeFile(_0x251597['path'],Buffer[_0x2c38d9(0x30d)](_0x251597[_0x2c38d9(0x2ea)]??[]));const _0xa40489=await stat(_0x251597[_0x2c38d9(0x15c)])[_0x2c38d9(0x34c)](()=>null);return filesLogger?.[_0x2c38d9(0x2f0)]('binary\x20f'+_0x2c38d9(0x376)+_0x2c38d9(0x33b)+'ted',{'path':toHomePath(_0x251597[_0x2c38d9(0x15c)]),'bytes':_0xa40489?.[_0x2c38d9(0x23e)]??0x0,'durationMs':Date['now']()-_0x2c289d}),{'ok':!![]};}),_0x403bb3(_0x1c4f85(0x2bd)+_0x1c4f85(0x36f)+'e',async(_0x1f4074,_0x4179b3={})=>{const _0x5eeaac=_0x1c4f85,_0x3aaa82=await dialog[_0x5eeaac(0x3cf)+'Dialog'](BrowserWindow[_0x5eeaac(0x17b)+_0x5eeaac(0x22e)](_0x1f4074[_0x5eeaac(0xc8)])??mainWindow,{'title':typeof _0x4179b3[_0x5eeaac(0x19e)]===_0x5eeaac(0x321)?_0x4179b3[_0x5eeaac(0x19e)]:undefined,'properties':['openFile',..._0x4179b3[_0x5eeaac(0x18d)+'ections']?[_0x5eeaac(0x18d)+'ections']:[]],'filters':Array['isArray'](_0x4179b3[_0x5eeaac(0x3b8)])?_0x4179b3[_0x5eeaac(0x3b8)]:undefined});return filesLogger?.[_0x5eeaac(0x2f0)]('select\x20f'+_0x5eeaac(0x2b1)+'leted',{'canceled':_0x3aaa82[_0x5eeaac(0xdc)],'count':_0x3aaa82['filePath'+'s'][_0x5eeaac(0xe9)],'paths':_0x3aaa82[_0x5eeaac(0x1e0)+'s'][_0x5eeaac(0x13a)](toHomePath)}),{'canceled':_0x3aaa82[_0x5eeaac(0xdc)],'paths':_0x3aaa82[_0x5eeaac(0x1e0)+'s']};}),_0x403bb3('files:li'+_0x1c4f85(0x1c7)+_0x1c4f85(0x379),async(_0x1e2dbf,_0x1b3bef={})=>{const _0xc9a15c=_0x1c4f85,_0x152c1f=resolve(String(_0x1b3bef['path']||'')),_0x45d0b9=_0x1b3bef[_0xc9a15c(0x1ba)+'e']!==![],_0x387a17=Array[_0xc9a15c(0x112)](_0x1b3bef[_0xc9a15c(0x9d)+'ns'])?_0x1b3bef['extensio'+'ns'][_0xc9a15c(0x13a)](_0x35dbbd=>String(_0x35dbbd)[_0xc9a15c(0x1a3)+_0xc9a15c(0x1f3)]()[_0xc9a15c(0x1a2)](/^\./,''))[_0xc9a15c(0x385)](Boolean):null,_0x1bbc5b=Number[_0xc9a15c(0x330)+'r'](_0x1b3bef[_0xc9a15c(0x247)+'es'])&&_0x1b3bef[_0xc9a15c(0x247)+'es']>0x0?_0x1b3bef[_0xc9a15c(0x247)+'es']:0xc350,_0x1bdc02=[];let _0x14e44c=![];async function _0x1cd447(_0x2027e3){const _0x4de32f=_0xc9a15c;if(_0x14e44c)return;let _0x33ed20;try{_0x33ed20=await readdir(_0x2027e3,{'withFileTypes':!![]});}catch{return;}for(const _0x36750e of _0x33ed20){if(_0x14e44c)return;if(_0x36750e[_0x4de32f(0x39c)][_0x4de32f(0x364)+'th']('.'))continue;const _0x4839ec=join(_0x2027e3,_0x36750e['name']);if(_0x36750e['isDirect'+'ory']()){if(_0x45d0b9)await _0x1cd447(_0x4839ec);continue;}if(!_0x36750e['isFile']())continue;if(_0x387a17){const _0x115a9c=_0x36750e[_0x4de32f(0x39c)][_0x4de32f(0x351)+'xOf']('.'),_0x294d5a=_0x115a9c>=0x0?_0x36750e[_0x4de32f(0x39c)][_0x4de32f(0x199)](_0x115a9c+0x1)['toLowerC'+'ase']():'';if(!_0x387a17[_0x4de32f(0x3cd)](_0x294d5a))continue;}if(_0x1bdc02[_0x4de32f(0xe9)]>=_0x1bbc5b){_0x14e44c=!![];return;}_0x1bdc02['push']({'name':_0x36750e[_0x4de32f(0x39c)],'path':_0x4839ec});}}return await _0x1cd447(_0x152c1f),{'path':_0x152c1f,'entries':_0x1bdc02,'truncated':_0x14e44c};}),_0x403bb3(_0x1c4f85(0x2bd)+_0x1c4f85(0x128)+_0x1c4f85(0xea),async(_0x4d0c57,_0x5f2e4f={})=>{const _0x1c1791=_0x1c4f85,_0x5c56c2=await dialog[_0x1c1791(0x3cf)+_0x1c1791(0xec)](BrowserWindow[_0x1c1791(0x17b)+_0x1c1791(0x22e)](_0x4d0c57[_0x1c1791(0xc8)])??mainWindow,{'title':typeof _0x5f2e4f[_0x1c1791(0x19e)]===_0x1c1791(0x321)?_0x5f2e4f['title']:undefined,'properties':['openDire'+_0x1c1791(0x11d)]});return filesLogger?.[_0x1c1791(0x2f0)](_0x1c1791(0x81)+_0x1c1791(0xed)+_0x1c1791(0x140)+'ed',{'canceled':_0x5c56c2[_0x1c1791(0xdc)],'count':_0x5c56c2[_0x1c1791(0x1e0)+'s'][_0x1c1791(0xe9)],'paths':_0x5c56c2['filePath'+'s']['map'](toHomePath)}),{'canceled':_0x5c56c2[_0x1c1791(0xdc)],'paths':_0x5c56c2[_0x1c1791(0x1e0)+'s']};}),_0x403bb3(_0x1c4f85(0x1e1)+'e:direct'+'ory-info',()=>_0x37f266()[_0x1c4f85(0x1e1)+'e'][_0x1c4f85(0x371)+'yInfo']()),_0x403bb3(_0x1c4f85(0x1e1)+_0x1c4f85(0x323)+_0x1c4f85(0xed),async()=>{const _0x545d0f=_0x1c4f85,_0x1fb462=await _0x37f266()[_0x545d0f(0x1e1)+'e'][_0x545d0f(0x371)+_0x545d0f(0x276)]();return await shell[_0x545d0f(0x355)](_0x1fb462[_0x545d0f(0x15c)]),filesLogger?.['info']('workspac'+_0x545d0f(0x32c)+'ory\x20open'+'ed',{'path':toHomePath(_0x1fb462[_0x545d0f(0x15c)])}),{'ok':!![],'path':_0x1fb462[_0x545d0f(0x15c)]};}),_0x403bb3(_0x1c4f85(0x1e1)+_0x1c4f85(0x27e)+_0x1c4f85(0x2bf),()=>_0x37f266()[_0x1c4f85(0x1e1)+'e'][_0x1c4f85(0x1a0)+_0x1c4f85(0xab)]()),_0x403bb3(_0x1c4f85(0x1e1)+'e:write-'+_0x1c4f85(0x1e5)+_0x1c4f85(0x2bb),(_0x300d00,_0x4d00b3)=>_0x37f266()['workspac'+'e'][_0x1c4f85(0x381)+_0x1c4f85(0x2e5)+'xt'](_0x4d00b3)),_0x403bb3(_0x1c4f85(0x1db)+':rename',(_0x2f42d3,_0x311343)=>_0x37f266()['sessions']['rename'](_0x311343)),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x299),async(_0x3191fe,_0x6d81e7={})=>{const _0x1e9f48=_0x1c4f85,_0x4f1f81=String(_0x6d81e7['sessionK'+'ey']||_0x6d81e7['key']||'')[_0x1e9f48(0xf5)]();if(!_0x4f1f81)throw new Error(_0x1e9f48(0xff)+_0x1e9f48(0x2a3)+_0x1e9f48(0x3b9));const _0x108302=await ensureSessionSqliteStore()[_0x1e9f48(0xbe)+_0x1e9f48(0x1c8)+'Keys'](),_0x355713=await _0x37f266()[_0x1e9f48(0x1db)][_0x1e9f48(0xdb)+_0x1e9f48(0x229)]([_0x4f1f81,..._0x108302[_0x1e9f48(0x385)](_0x340056=>_0x340056!==_0x4f1f81)]);return _0x355713;}),_0x403bb3(_0x1c4f85(0x1db)+':unpin',async(_0x139f2a,_0x467480={})=>{const _0x50615c=_0x1c4f85,_0x3051f0=String(_0x467480[_0x50615c(0xff)+'ey']||_0x467480['key']||'')[_0x50615c(0xf5)]();if(!_0x3051f0)throw new Error(_0x50615c(0xff)+'ey\x20is\x20re'+_0x50615c(0x3b9));const _0x3d82d1=await ensureSessionSqliteStore()[_0x50615c(0xbe)+'dSession'+_0x50615c(0x3ce)]();return await _0x37f266()['sessions']['reorderP'+_0x50615c(0x229)](_0x3d82d1[_0x50615c(0x385)](_0x1939b1=>_0x1939b1!==_0x3051f0));}),_0x403bb3(_0x1c4f85(0x1db)+_0x1c4f85(0x3a0)+'-pinned',async(_0x4e92d1,_0x59c5f5={})=>{const _0xf126e1=_0x1c4f85,_0x17d507=Array[_0xf126e1(0x112)](_0x59c5f5[_0xf126e1(0x3a5)])?_0x59c5f5[_0xf126e1(0x3a5)]:_0x59c5f5;return await _0x37f266()['sessions'][_0xf126e1(0xdb)+_0xf126e1(0x229)](_0x17d507);}),_0x403bb3(_0x1c4f85(0x2e3)+_0x1c4f85(0x25d),(_0x5b4944,_0x475b63)=>_0x37f266()[_0x1c4f85(0x308)][_0x1c4f85(0x365)](_0x475b63)),_0x403bb3(_0x1c4f85(0xe4)+'t',(_0x253976,_0x29207b)=>_0x37f266()[_0x1c4f85(0x3ac)][_0x1c4f85(0x119)](_0x29207b)),_0x403bb3('cron:cre'+_0x1c4f85(0xd0),(_0x533c36,_0x584fe7)=>_0x37f266()[_0x1c4f85(0x3ac)][_0x1c4f85(0x15f)](_0x584fe7)),_0x403bb3(_0x1c4f85(0x10e)+_0x1c4f85(0xd0),(_0x396e3f,_0x377a84)=>_0x37f266()[_0x1c4f85(0x3ac)]['update'](_0x377a84)),_0x403bb3(_0x1c4f85(0x2e0)+_0x1c4f85(0x2cf),(_0x2de034,_0x1c23de)=>_0x37f266()['cron'][_0x1c4f85(0x3bc)](_0x1c23de)),_0x403bb3('cron:run'+_0x1c4f85(0x373),(_0x20dafb,_0xd8fae2)=>_0x37f266()[_0x1c4f85(0x3ac)][_0x1c4f85(0x236)](_0xd8fae2)),_0x403bb3('cron:log'+'s',(_0x37cbe0,_0x37c04)=>_0x37f266()[_0x1c4f85(0x3ac)][_0x1c4f85(0x2c9)](_0x37c04)),_0x403bb3(_0x1c4f85(0x23a)+_0x1c4f85(0x172),async(_0x590dbe,_0xa749ea={})=>{const _0xd7685=_0x1c4f85,_0xae0c70=configController[_0xd7685(0x21c)+'onfigPat'+'h'](),_0x3682f8=JSON[_0xd7685(0x324)](await readFile(_0xae0c70,_0xd7685(0x225))),_0x56ce0c=_0x3682f8?.['models']?.['provider'+'s']&&typeof _0x3682f8[_0xd7685(0x11b)][_0xd7685(0x319)+'s']===_0xd7685(0xc6)?_0x3682f8[_0xd7685(0x11b)][_0xd7685(0x319)+'s']:{},_0x467d63=typeof _0x3682f8?.[_0xd7685(0x1fa)]?.[_0xd7685(0x3b7)]?.[_0xd7685(0x3c6)]?.['primary']===_0xd7685(0x321)?_0x3682f8[_0xd7685(0x1fa)]['defaults'][_0xd7685(0x3c6)][_0xd7685(0x3b1)]:'',_0x471755=String(_0xa749ea[_0xd7685(0x3c6)]||_0x467d63||'');if(!_0x471755[_0xd7685(0x3cd)]('/'))throw new Error(_0xd7685(0x126)+_0xd7685(0x13d)+_0xd7685(0x378)+_0xd7685(0x102)+_0xd7685(0x2f6)+'der/mode'+_0xd7685(0x7f));const _0x270c36=_0x471755[_0xd7685(0x33f)]('/'),_0x53882f=_0x471755[_0xd7685(0x199)](0x0,_0x270c36),_0x161e4d=_0x471755[_0xd7685(0x199)](_0x270c36+0x1),_0xaffebb=_0x56ce0c[_0x53882f];if(!_0xaffebb||typeof _0xaffebb!==_0xd7685(0xc6))throw new Error(_0xd7685(0x319)+_0xd7685(0x2c7)+'figured:'+'\x20'+_0x53882f);const _0x560efd=String(_0xaffebb['baseUrl']||_0xd7685(0x29c)+_0xd7685(0x369)+_0xd7685(0x2b6)+'1')[_0xd7685(0xf5)]()[_0xd7685(0x1a2)](/\/$/,''),_0x3ce3c0=await fetch(_0x560efd+(_0xd7685(0x23f)+_0xd7685(0x92)+'s'),{'method':_0xd7685(0x337),'headers':{'content-type':_0xd7685(0x345)+_0xd7685(0x129),'Authorization':_0xd7685(0x245)+(_0xaffebb[_0xd7685(0x8b)]||''),..._0xaffebb['headers']&&typeof _0xaffebb[_0xd7685(0x1f9)]===_0xd7685(0xc6)?_0xaffebb[_0xd7685(0x1f9)]:{}},'body':JSON['stringif'+'y']({'model':_0x161e4d,'max_tokens':Number[_0xd7685(0x330)+'r'](_0xa749ea['maxToken'+'s'])?_0xa749ea[_0xd7685(0x143)+'s']:0x400,'temperature':typeof _0xa749ea[_0xd7685(0x28b)+_0xd7685(0xf8)]===_0xd7685(0x38e)?_0xa749ea[_0xd7685(0x28b)+_0xd7685(0xf8)]:undefined,'messages':Array[_0xd7685(0x112)](_0xa749ea[_0xd7685(0x34e)])?_0xa749ea[_0xd7685(0x34e)]:[]}),'signal':AbortSignal[_0xd7685(0x2af)](Number[_0xd7685(0x330)+'r'](_0xa749ea[_0xd7685(0x37a)+'s'])?_0xa749ea[_0xd7685(0x37a)+'s']:0x1d4c0)});if(!_0x3ce3c0['ok']){const _0x5eeac1=await _0x3ce3c0[_0xd7685(0x277)]();throw new Error(_0xd7685(0x370)+_0xd7685(0x374)+_0x3ce3c0[_0xd7685(0x1d1)]+':\x20'+_0x5eeac1['slice'](0x0,0x190));}const _0x3a5fd0=await _0x3ce3c0[_0xd7685(0x110)](),_0xd42b34=_0x3a5fd0?.[_0xd7685(0x19d)]?.[0x0]?.[_0xd7685(0x238)]??{};return{'content':extractModelMessageContent(_0xd42b34[_0xd7685(0x2ea)]),'reasoning':typeof _0xd42b34[_0xd7685(0x23c)+_0xd7685(0x221)+'t']===_0xd7685(0x321)?_0xd42b34[_0xd7685(0x23c)+_0xd7685(0x221)+'t']:'','model':_0x3a5fd0?.[_0xd7685(0x3c6)]||_0x161e4d};}),_0x403bb3('models:s'+_0x1c4f85(0x325),()=>_0x37f266()['models'][_0x1c4f85(0x2e4)]()),_0x403bb3('models:s'+'et-setti'+'ngs',(_0x51a912,_0x3c595b)=>_0x37f266()['models'][_0x1c4f85(0x3b5)+'ngs'](_0x3c595b)),_0x403bb3(_0x1c4f85(0x1ff)+_0x1c4f85(0x253)+_0x1c4f85(0x1dd)+'ywhere',(_0x52ee11,_0x13b45b)=>_0x37f266()['models'][_0x1c4f85(0x1b2)+_0x1c4f85(0x139)+_0x1c4f85(0x17a)+'re'](_0x13b45b)),_0x403bb3('models:s'+_0x1c4f85(0x2ca)+_0x1c4f85(0x326),(_0x2f4bb9,_0x24f7c3)=>_0x37f266()[_0x1c4f85(0x11b)][_0x1c4f85(0x301)+'peratedM'+'odels'](_0x24f7c3)),_0x403bb3(_0x1c4f85(0x1ff)+'elected-'+_0x1c4f85(0xe5),()=>_0x37f266()[_0x1c4f85(0x11b)][_0x1c4f85(0x1e2)+_0x1c4f85(0x38b)]()),_0x403bb3(_0x1c4f85(0x23a)+'ustom-mo'+_0x1c4f85(0x150),()=>_0x37f266()['models'][_0x1c4f85(0x1e3)+_0x1c4f85(0x150)]()),_0x403bb3(_0x1c4f85(0x38a)+_0x1c4f85(0x34f)+_0x1c4f85(0xb1)+_0x1c4f85(0xb2),async()=>{const _0x198c2b=_0x1c4f85,_0x2de4c5=await prepareRuntime(shellConfig,{'syncOnly':!![]});return await configController[_0x198c2b(0x28c)+_0x198c2b(0x223)+'ns'](),{'ok':!![],'syncedAt':new Date()['toISOStr'+_0x198c2b(0x3a8)](),'manifest':_0x2de4c5,'status':await getRuntimeResourceStatus()};}),_0x403bb3(_0x1c4f85(0x38a)+_0x1c4f85(0x197)+_0x1c4f85(0x343),async()=>getRuntimeResourceStatus());}function _0x505b(_0x42d132,_0x3a3a40){_0x42d132=_0x42d132-0x7a;const _0x199b81=_0x199b();let _0x505b47=_0x199b81[_0x42d132];return _0x505b47;}async function boot(){const _0x4dbecf=_0x565dfd;shellConfig=await loadShellConfig(resolveProjectRoot()),app[_0x4dbecf(0x2d3)](shellConfig[_0x4dbecf(0x32b)+'ame']),configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController[_0x4dbecf(0x158)],'main'),ipcLogger=createShellLogger(configController[_0x4dbecf(0x158)],_0x4dbecf(0x2dd)),filesLogger=createShellLogger(configController[_0x4dbecf(0x158)],_0x4dbecf(0x3bd)),rendererLogger=createShellLogger(configController[_0x4dbecf(0x158)],_0x4dbecf(0x28f)),productRuntime=await loadProductRuntime();const _0x3cb86a=resolveWujieApiEndpoint();diagnosticsWriter=createDiagnosticsWriter({'logsDir':configController[_0x4dbecf(0x158)]['logsDir'],'appContext':{'productName':shellConfig[_0x4dbecf(0x32b)+'ame'],'appId':shellConfig[_0x4dbecf(0x93)],'appVersion':app[_0x4dbecf(0xb4)+'on'](),'platform':process[_0x4dbecf(0x193)],'arch':process[_0x4dbecf(0x131)],..._0x3cb86a?{'apiEndpoint':_0x3cb86a}:{}}}),userEventWriter=createUserEventWriter({'logsDir':configController[_0x4dbecf(0x158)][_0x4dbecf(0x397)],'diagnosticsWriter':diagnosticsWriter});const _0xef4d3=await loadCreateUpdateController({'logger':mainLogger});updateController=_0xef4d3({'shellConfig':shellConfig,'appName':()=>app[_0x4dbecf(0x39c)],'appVersion':()=>app[_0x4dbecf(0xb4)+'on'](),'broadcast':broadcast,'logger':mainLogger}),updateController[_0x4dbecf(0x7d)+'ze'](),registerProcessLogHooks(),registerProtocolHandlers(),mainLogger?.[_0x4dbecf(0x2f0)](_0x4dbecf(0x3c1)+_0x4dbecf(0x124)+_0x4dbecf(0x1be)+'ed',{'appVersion':app[_0x4dbecf(0xb4)+'on'](),'electronVersion':process['versions']['electron'],'nodeVersion':process[_0x4dbecf(0x232)]['node'],'chromeVersion':process[_0x4dbecf(0x232)]['chrome'],'platform':process['platform'],'arch':process[_0x4dbecf(0x131)],'mode':getMode(),'projectRoot':shellConfig[_0x4dbecf(0x393)+_0x4dbecf(0x1ab)],'configPath':shellConfig['configPa'+'th'],'dataDir':shellConfig[_0x4dbecf(0x1a1)],'devToolsEnabled':isDevToolsEnabled(),'devToolsFlagPath':resolveDevToolsFlagPath(),'logsDir':configController['paths'][_0x4dbecf(0x397)],'rendererUrl':process.env.VITE_DEV_SERVER_URL||join(shellConfig[_0x4dbecf(0x393)+_0x4dbecf(0x1ab)],_0x4dbecf(0x3ca),_0x4dbecf(0x3a3)+'ml')}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app['getVersi'+'on'](),'productRuntimeHooks':productRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),typeof productRuntime[_0x4dbecf(0x135)+'roductCo'+_0x4dbecf(0x20b)]===_0x4dbecf(0x188)&&await productRuntime['migrateP'+_0x4dbecf(0x33d)+'nfig']({'configController':configController,'mainLogger':mainLogger}),typeof productRuntime[_0x4dbecf(0x135)+_0x4dbecf(0x171)+'ta']===_0x4dbecf(0x188)?await productRuntime[_0x4dbecf(0x135)+_0x4dbecf(0x171)+'ta']({'configController':configController,'generatedFilesStore':ensureGeneratedFilesStore(),'mainLogger':mainLogger,'sessionSqliteStore':ensureSessionSqliteStore()}):await ensureGeneratedFilesStore()[_0x4dbecf(0xef)+_0x4dbecf(0x160)+'d'](),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService(),await installIpcHandlers(),installClawspaceProtocolHandler(),registerShellShortcuts(),await createWindow(),await gatewayController['start'](),updateController[_0x4dbecf(0x312)+_0x4dbecf(0xb0)+_0x4dbecf(0x39b)](),mainLogger?.['info']('electron'+'\x20main\x20bo'+_0x4dbecf(0x339)+_0x4dbecf(0x39f));}function registerProcessLogHooks(){const _0x2e6f4a=_0x565dfd;if(registerProcessLogHooks['register'+'ed'])return;registerProcessLogHooks[_0x2e6f4a(0xde)+'ed']=!![],process['on']('uncaught'+_0x2e6f4a(0xbd)+'n',_0x597efd=>{const _0x345210=_0x2e6f4a;mainLogger?.[_0x345210(0x1bf)](_0x345210(0x1c0)+'\x20excepti'+'on',summarizeError(_0x597efd));}),process['on']('unhandle'+_0x2e6f4a(0xf9)+'on',_0x44a95a=>{const _0x1e9515=_0x2e6f4a;mainLogger?.[_0x1e9515(0x1bf)](_0x1e9515(0x10c)+_0x1e9515(0x246)+_0x1e9515(0x340),summarizeError(_0x44a95a));}),app['on']('render-p'+_0x2e6f4a(0x1c2)+_0x2e6f4a(0x354),(_0x20d0de,_0x46fd9b,_0x241bc3)=>{const _0x84dd80=_0x2e6f4a;mainLogger?.[_0x84dd80(0x1bf)](_0x84dd80(0x28f)+'\x20process'+_0x84dd80(0xc2),{'url':_0x46fd9b[_0x84dd80(0x220)](),'details':_0x241bc3});}),app['on'](_0x2e6f4a(0x361)+_0x2e6f4a(0x13e)+'ne',(_0x5e8925,_0x19d6eb)=>{const _0x4c348a=_0x2e6f4a;mainLogger?.[_0x4c348a(0x1bf)](_0x4c348a(0x218)+_0x4c348a(0xce)+'ne',{'details':_0x19d6eb});});}app['on'](_0x565dfd(0x22d)+'ll-close'+'d',()=>{const _0x3a23ec=_0x565dfd;if(process[_0x3a23ec(0x193)]!==_0x3a23ec(0x2da))app[_0x3a23ec(0x346)]();}),app['on'](_0x565dfd(0x28a),(_0x29f880,_0x25741c)=>{const _0x22963d=_0x565dfd;_0x29f880[_0x22963d(0x12f)+_0x22963d(0xa5)](),dispatchProtocolUrl(_0x25741c);});const gotSingleInstanceLock=app[_0x565dfd(0x104)+_0x565dfd(0x2dc)+_0x565dfd(0x194)+'k']();!gotSingleInstanceLock?app[_0x565dfd(0x346)]():app['on']('second-i'+_0x565dfd(0x190),(_0x1141fd,_0x475735)=>{const _0x29c2ec=_0x565dfd;if(!resolveProtocolScheme()){pendingProtocolArgs=_0x475735;return;}const _0x4a349a=extractProtocolUrlFromArgs(_0x475735);if(_0x4a349a){dispatchProtocolUrl(_0x4a349a);return;}if(mainWindow){if(mainWindow[_0x29c2ec(0x2c2)+_0x29c2ec(0x2d4)]())mainWindow[_0x29c2ec(0x2a0)]();mainWindow[_0x29c2ec(0x36a)](),mainWindow[_0x29c2ec(0x30a)]();}});app['on']('activate',async()=>{const _0x4b99f5=_0x565dfd;if(isQuitting){app['quit']();return;}updateController?.[_0x4b99f5(0x2b8)+_0x4b99f5(0x1aa)+_0x4b99f5(0x384)](_0x4b99f5(0x115)+_0x4b99f5(0x1ec)),BrowserWindow['getAllWi'+_0x4b99f5(0x12c)]()[_0x4b99f5(0xe9)]===0x0&&shellConfig&&await createWindow();}),app['on'](_0x565dfd(0x83)+_0x565dfd(0x248),_0x555a2a=>{const _0xf2c073=_0x565dfd;isQuitting=!![],updateController?.[_0xf2c073(0x3ba)+_0xf2c073(0x33e)](),terminalManager?.['dispose'](),terminalManager=null,productRuntimeHooks?.[_0xf2c073(0x244)]?.();for(const _0x54fc83 of Object[_0xf2c073(0x3a5)](productRuntimeHooks))delete productRuntimeHooks[_0x54fc83];if(!gatewayController)return;mainLogger?.[_0xf2c073(0x2f0)](_0xf2c073(0xfe)+_0xf2c073(0x1a4)+'pping\x20ga'+_0xf2c073(0x320)),_0x555a2a[_0xf2c073(0x12f)+_0xf2c073(0xa5)](),void gatewayController[_0xf2c073(0x2a4)]()['finally'](()=>{const _0x268625=_0xf2c073;gatewayController=null,mainLogger?.[_0x268625(0x2f0)](_0x268625(0x2c8)+_0x268625(0x3cc)+_0x268625(0xfe)+'uit'),app[_0x268625(0x346)]();});}),app['on'](_0x565dfd(0x3bf)+'t',()=>{globalShortcut['unregist'+'er'](DEVTOOLS_ACCELERATOR);}),app[_0x565dfd(0x1f7)+'y']()[_0x565dfd(0xe8)](boot)[_0x565dfd(0x34c)](_0x5084fa=>{const _0x51b076=_0x565dfd;bootError=_0x5084fa instanceof Error?_0x5084fa[_0x51b076(0x238)]:String(_0x5084fa),mainLogger?.[_0x51b076(0x1bf)](_0x51b076(0x3c1)+_0x51b076(0x124)+_0x51b076(0x338)+'d',summarizeError(_0x5084fa)),console['error'](_0x51b076(0x10a)+_0x51b076(0x202)+_0x51b076(0x211)+_0x51b076(0x2fd)+_0x51b076(0x111)+'in',_0x5084fa);});
1
+ const _0x5c8109=_0x44a9;(function(_0xe9f330,_0x4b4e25){const _0x5e61a8=_0x44a9,_0x34fce9=_0xe9f330();while(!![]){try{const _0x4023c5=parseInt(_0x5e61a8(0x4be))/0x1+-parseInt(_0x5e61a8(0x27f))/0x2+-parseInt(_0x5e61a8(0x11c))/0x3*(-parseInt(_0x5e61a8(0x207))/0x4)+parseInt(_0x5e61a8(0x2dd))/0x5*(-parseInt(_0x5e61a8(0x334))/0x6)+parseInt(_0x5e61a8(0x4f0))/0x7+-parseInt(_0x5e61a8(0x1a8))/0x8+parseInt(_0x5e61a8(0x4b5))/0x9*(parseInt(_0x5e61a8(0x46f))/0xa);if(_0x4023c5===_0x4b4e25)break;else _0x34fce9['push'](_0x34fce9['shift']());}catch(_0x226407){_0x34fce9['push'](_0x34fce9['shift']());}}}(_0x1b82,0x9fa95));import _0x2b4286 from'electron';import{fileURLToPath,pathToFileURL}from'node:url';import{dirname,join,resolve,sep}from'node:path';import{createReadStream,existsSync,statSync}from'node:fs';import{readFile,readdir,stat,writeFile}from'node:fs/promises';import{spawn}from'node:child_process';import{Readable}from'node:stream';import{loadShellConfig}from'@wujie-shell/config';import{formatLogLine}from'@wujie-shell/logger';import{createConfigController}from'../config/controller.mjs';import{createGatewayController}from'../gateway/controller.mjs';import{deleteManagedSkill,importSkillZip,updateManagedSkillConfig}from'../skills/import.mjs';function _0x44a9(_0x4e8e0e,_0x47b790){_0x4e8e0e=_0x4e8e0e-0x112;const _0x1b82f8=_0x1b82();let _0x44a9ae=_0x1b82f8[_0x4e8e0e];return _0x44a9ae;}import{deleteMarketSkillRegistryEntry,importMarketSkillZip}from'../skills/market.mjs';import{createAgentSessionsMapStore}from'../sessions/agent-sessions-map-store.mjs';import{createSessionDataService}from'../sessions/session-data-service.mjs';import{createSessionSqliteStore}from'../sessions/session-sqlite-store.mjs';import{createTerminalManager}from'../terminal/manager.mjs';import{createShellLogger,exportLogsArchive,getShellLoggerLevel,setShellLoggerLevel,summarizeError,summarizePayload,summarizeText,toHomePath}from'../common/logging.mjs';import{createDiagnosticsWriter,diagnosticEventFromError}from'../common/diagnostics.mjs';function _0x1b82(){const _0x5895bb=['tabs-com','lingUpda','Level','\x20log','range','writeSha','-life-cy','figs','harset=u','now','saveFeis','gMainFra','versions','6DcFfZz','nel','file\x20wri','ith-sess','POST','audio/wa','vate','electron','chat:abo','video/qu','g_conten','n-direct','d\x20comple','bin','lawChann','nt]',':events','protocol','://','ask-user','\x20shortcu','headers',':save-ne','stomMode','preload.','-refresh','slice','index.ht','nConfig','font/wof','EventCou','enClawCh','files:se','senderFr','ngUrl','main\x20win','lue','hell:ipc','isFile','ndows','startKdo','logs','\x20failed','unknown','entModel','ory\x20open','open-url','charset=','ile\x20not\x20','update_g','d-local','\x20main\x20bo','annelCon','subscrib','dow\x20load','tory','lawPlugi','ges','cron','devtools','ontent-t','isInstal','t-stream','start','irectory','setPendi','s-maximi','prod','\x20window\x20','platform','succeede','feishu','-info','eted','ile\x20comp','ions-lis','ot\x20start','startsWi','window:t','font/otf','resolveS','Suppress','text/pla','.woff2','open\x20ext','ocess-go','ent','ndow','ead','s:upsert','aries','isDefaul','ailed','ntime','ipc_requ','info','talkDocC','attachGa','tate','activate','ectSessi','setSetti','image/jp','ssion:\x20','nges','before\x20i','enClawSk','bytes\x20','essed','sessions','split','sourceSe','stop','oggle-ma','ion','Exceptio','ng;\x20recr','creating','set=utf-','te:get-s','\x20not\x20con','meta','quitAndI',':\x20stoppi','\x20is\x20requ','canceled','togglefu','folder','nfig','queueUrl','sessionK','getKdocs','onfig','.otf','navigati','-status','upsert','HEAD','ionEvent','iled\x20to\x20','board:wr','rams','quit','.mov','cCliConn','main-fra','bot-chan','ion/java','nnectSes','wujie-sh','ssion','Not\x20foun','darwin','ate\x20inst','closeToT',':cancel','get','.css','BodyRead','ocs','warn','g+xml','shell-ru','controll','sses','audio/fl','method','app:upda','limit','getFocus','clawspac','agents','sharedCo','binary\x20f','cwd','aseMailC','ion/vnd.','Ready','getRecen','nabled','meState','logsDir','rControl','\x20a\x20provi','ndlers','saveKdoc','getPath','e:open-d','syncRunt','parseInt','ls:set-e','.eot','.jpeg','setAsDef','recordBo','product-','plugin\x20e','dCheck','restart','ure','ort','y\x20stoppe','tup:set',':snapsho','Observed','i-window','max','uit','files','e:shared','ipc','t-messag','\x20client\x20','ntext','getProce','hell]\x20fa',':close','omplete\x20','eating','entries','lose','tf-8','toString','text','customNa','ngs','uest-age','abort','nstance','ired','ontents','ory-info','model\x20ht','openclaw','nfo','id\x20title','ng\x20gatew','[wujie-s','ationSta','.png','ackgroun','input','relaunch','isLoadin','l\x20reques','est\x20comp','saveQqMa','gin','ionEntry','lConnect','omModel','.md','set','s:delete','.gif','dingUrl','content','ap:get','roductDa','ded','top_done','agents-u','app:star','.html',';\x20charse','setSelfO','catch','keyDown','les:reve','elete','focus','register','State','sPrivile','deleteFi','_body_re','generate','workspac','ion/json','rocess-g','openPath','lastInde','imePlugi','searchPa','-questio','oken','app:prot','icktime','n\x20not\x20fo','pdate','andledIn','emoji','\x20to\x20load','tIdTitle',':summary','\x20updater','avatar','enClawCo','.aac','sync-bun','isFinite','channelI','d\x20failed','finally','Invalid\x20','igate','ector\x20se','models:c','dled-res','boot\x20ele','key','-mail','ists','agent\x20id','nnel','2141610hVbQTH','video/x-','size','sConnect','product\x20','message','plugin\x20c','shuRegis','\x20excepti','models','zed','setOpenC','handle','ections','ate','image/sv','\x20configu','dRejecti','ctory','\x20url\x20flu','copy','quired','ged','sender','then','em:open-','keepUnti','wechat','ximize','-context','isMinimi','hostname','changeKi','targetDi','ed:\x20','onnector','nstance\x20','temperat','Entry','models:s','ot\x20faile','ies','isIntege','listImCh','-shortcu','roductCo','ProductR','models\x20c','nnelEnab','ModelId','lClient','\x20complet','trim','t:\x20','unmaximi','utf8','.flag','manifest','runtime\x20','ls:list','help','nectorCo','cancelFe','\x20failed:','agent_id','edWindow','win32','selectAl','app:file','temp','9FOCHWa','arch','maximize','provider','.js','projectR','red;\x20set','registra','atus','53750vWRJVs','cutoffTe','tus','tabs:ref','.webm','cron:upd','resolveC','csCliCon','acts','untimeHa','multiSel','no\x20defau','oad','isArray',':run-onc','reverse','ted-stat','-session','markConf','startWec','window','g\x20native','openDevT','ell-cli.','and-inst','Bearer\x20','et-setti','product','window:m','yed','cron:run','toWeb','updateOp','filter','https://','-weixin','-once','rver','rce','.txt','agent\x20al','reasonin','groups','Session','bytes\x20*/','getAppPa','re\x20confi','getStatu','\x20url\x20que','SchemesA','7856618mdliyb','status','failed','ued\x20for\x20','window-a','openExte','et-selec','child\x20pr','\x20entry\x20f','#!/bin/s','getRevis','hell:eve','dataDir','te:check','t=utf-8','resize','remove','rayOnClo','test','sPath','json',':gateway','-request','.mjs','dAt','parse','setRende','length,\x20','Unsuppor','logs:ope','saveQqbo','ite','Everywhe','-logs','close','replace','223647vabtbE','origin','context','ustom-mo','app:tray','fromWebC','exec','ishuDocC','te:quit-','.\x20Run\x20wu','yInfo','hecks','efault','sion','/index.h','eived','led','selected','closed','content-','ngtalk-d','logs:get','icon','.map','in;\x20char','select\x20d','eated','migrateP','ateway_s','object','bject','tewayEve','title','isMaximi','agents:u','producti','Keys','pop','skills:s','openDire','l\x20prepar','ools','detach','onfigPat','markQuit','choices','ssionKey','text/htm','messages','indexOf','url','top_star','type','operated','nstallin','patch','.webp',':process','.bmp','listSumm','ccept-ra','nput-eve','ued\x20befo','e:direct','st-direc','reorderP','rerReady','agent\x20de','text/mar','inned','g\x20update','\x20rendere','ted','odels','auth_cod','returnVa','toLowerC',':save-qq','get-conf','uired','isDirect','ove','-data','initiali','omplete','fromIpc','terminal','select\x20f','Event','model',':reorder','\x20open\x20bl','#f8fafc','startFei','checkFor','.mp4','image/pn','les:list','app:open','create','ms-fonto','diagnost','dSession','logs:rea','OPTIONS',':start','agents:l','d\x20is\x20req','app:clip','answerAs',':save','text/css','cron:lis','\x20event\x20f','Dialog','d-state','setImCha','config:c','appId','gatewayP','filePath','readSess','peratedM','runtimeI','ready','lized','-token','agent\x20cr','way\x20is\x20n','ionUsage','l\x20first','second-i','les:dele','unhide','ame','mChannel','inactive','unhandle','saveWeco','update-c','4784416poftFt','.ogg',':create','config:r','est\x20fail','applicat','send','ell:even','separato','D,\x20OPTIO','indowSou','request-','contextW',':save-fe','GET,\x20HEA','ishu-cha',':runtime','tabs:req','getMessa','code','tateDir','error','orted','productN','orConfig','count','.svg','deleteIm','saveNetE','illEntry','rogress,','ap:upser','jie-shel','wujiecla','\x20allowin','l;\x20chars','g\x20level\x20','from','s:reveal','director','tProtoco','.ico','deleteOp','isDestro','isPackag','sourcePa','script;\x20','runtimeR','app_acti','list','cle','ell\x20gate','function','ilConnec','logs:lis','cut','lt\x20model','t\x20initia','patched','s:hide','config:i','getFeish','showOpen','-by-sess',':save-di','writeCon','chatChan','maxEntri','saveDing','tp\x20','disable','s-snapsh','length','shouldLo',':artifac',':answer-','started','string','\x20open-ur','_session','before-i','pluginId','files:re','chat','-restart','node','r\x20ready','\x20main\x20wi','includes',':save-kd','payload','tatus',':unpin','skills:d','has','28eQbfik','lect-fil','ile\x20read','record','restore','.flac','stration','ternally','ileName','logs:wri','.htm','unregist','ishu-doc','pen-devt','-not-rea','path','getPinne','argv','enClawMc','und','-level','minimize','files:wr','hide','ipc\x20requ','est_fail','runtime:','onReques','stringif',':status','lawSkill','meFilter','execPath','uri','push','wBin','ncident','onChatHi','state','nectSess','customMo','liConnec','cationMe','ase','openFile','getVersi','report-r','dispose','lawMcpSe','itialize','trationS','te\x20compl','href','otAfterI','oot','tanceLoc','app:log-','shell\x20lo','-exit','toISOStr','e:write-','llscreen','match','clearPen','Config','ap:entry','mpletion',':set-clo','preferen','files:li','requestB','control','map','artifact','shellLog',':loading','file\x20rea','apiKey','Update',':fork','alized','event','huChanne','app:info','nts','ctron\x20ma','setName','skills','mport-zi','window:i','maxToken','hatChann','n\x20failed','torConfi','openAtLo','ontext','app:gene','.woff','kUserQue','eam','child-pr','resolve',':diagnos','FeishuDo','hanged','listBySe','timeout','ocol-url','error、wa','agent-ev','ile\x20writ','ot\x20initi','kdown;\x20c','getAllWi','\x20metric\x20','elSessio','mjs','app:syst','storyLoa','skills:i','1311240KsusKJ','chat-str','promises','preventD','renderer','d\x20reject','missing-','gatewayT','fig','elConfig','getURL',':delete','edCount','before\x20q','elected-','ig\x20is\x20no','ell\x20conf','captureI','keys','ey\x20is\x20re','ai.com/v','pathname','ing','ensureIn','open','nelSessi','download','tabs:pos','ll-close','undo','hideOthe','IPC\x20requ','saveTenc','leted','ishuRegi','debug','.wasm','lTs','logs\x20exp','isabled','ywhere','defaultF','ted-ever','log','Custom','rename','rated-fi','settings',':save-te','m-channe','required','changed','uDocCliC','igWriteH','entDocsC','\x20process','\x20pending','filters','les:hide','g\x20ready','ources','ItemSett','rnal','command','image/we',':downloa','huDocCon','enable','e\x20url',':agent-m','plugins','showItem','timeoutM','nt-state','deleteCu','some','cutoffRo','app\x20url','tup:get','nstall','found','ted\x20conn','find','requestS','ectory','ion-menu','\x20CLI\x20wra','agent','font/ttf','equested','ot\x20compl','defaults','\x20quit','level','22415MoWQvg','deletedS','plugins:','figured:','.m4a','Version','getState','readConf','reate','show','iConnect','logLevel','ory','paste','ocsCliCo','kdocs','e\x20comple','agent\x20up','extensio','cron:rem','em:resta','byteLeng','webConte','inimize','resource','e\x20first.','runOnce','all\x20in\x20p',':get-clo','dev','tease-ma','listSess','ocked','before-q','image/gi','loadURL','feishu_d','entExmai','name','all','assign','uncaught','uRegistr','one','ings','mand','paths','dist',':resize','utf-8','lConfig','getRunti','main','bytes','unref','local','ype','Updates','tic','delete','index.mj','CliConne','baseUrl','showSave','reload','complete','writeTex',':message','onfig\x20up','com-chan','primary','api.open','ession','app'];_0x1b82=function(){return _0x5895bb;};return _0x1b82();}import{setRuntimeLoggerLevel}from'../common/runtime-logger.mjs';import{createUserEventWriter}from'../common/user-events.mjs';import{createConnectorController}from'../connectors/controller.mjs';import{resolveRuntimeKdocsCliCommand}from'../connectors/kdocs-cli.mjs';import{createGeneratedFilesStore}from'../files/generated-files-store.mjs';import{registerFileHandlers}from'../files/handlers.mjs';import{registerProductLogHandlers}from'../log-reporting/handlers.mjs';import{resolveWujieApiEndpoint}from'../log-reporting/report-logs.mjs';import{extractModelMessageContent,registerModelHandlers}from'../models/handlers.mjs';import{createPreferencesStore}from'../preferences/store.mjs';import{registerRequestIdHandlers}from'../request-id/handlers.mjs';import{loadRuntimeInfo,prepareRuntime,resolveRuntimeRoot,getRuntimeSpawnContext,resolveRuntimeLarkCliCommand,runClawOnce}from'../runtime/index.mjs';import{loadCreateUpdateController}from'../updates/loader.mjs';import{createProtocolUrlState}from'./protocol-url-state.mjs';const __dirname=dirname(fileURLToPath(import.meta.url)),preloadPath=join(__dirname,_0x5c8109(0x34c)+_0x5c8109(0x27b)),{app,BrowserWindow,Menu,clipboard,dialog,globalShortcut,ipcMain,protocol,shell}=_0x2b4286,DEVTOOLS_ACCELERATOR='CommandO'+_0x5c8109(0x3ea)+'+Shift+I',APP_RENDERER_PROTOCOL_SCHEME=_0x5c8109(0x326),APP_RENDERER_PROTOCOL_HOST='-',APP_RENDERER_ENTRY_URL=APP_RENDERER_PROTOCOL_SCHEME+_0x5c8109(0x346)+APP_RENDERER_PROTOCOL_HOST+(_0x5c8109(0x12a)+'tml'),CLAWSPACE_PROTOCOL_SCHEME=_0x5c8109(0x3de)+'e',DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!=='producti'+'on',IPC_SLOW_REQUEST_THRESHOLD_MS=0x1f4,SHELL_LOG_LEVELS=new Set(['error',_0x5c8109(0x3d4),'info','debug']),LOCAL_FILE_MIME_TYPES=new Map([[_0x5c8109(0x43b),_0x5c8109(0x14b)+_0x5c8109(0x1cb)+'et=utf-8'],[_0x5c8109(0x211),'text/htm'+_0x5c8109(0x1cb)+'et=utf-8'],[_0x5c8109(0x4e5),_0x5c8109(0x386)+_0x5c8109(0x134)+_0x5c8109(0x3aa)+'8'],[_0x5c8109(0x42f),_0x5c8109(0x160)+_0x5c8109(0x277)+_0x5c8109(0x32f)+_0x5c8109(0x411)],[_0x5c8109(0x4b9),_0x5c8109(0x1ad)+_0x5c8109(0x3c7)+_0x5c8109(0x1d6)+_0x5c8109(0x363)+_0x5c8109(0x30e)],[_0x5c8109(0x507),'applicat'+_0x5c8109(0x3c7)+'script;\x20'+_0x5c8109(0x363)+_0x5c8109(0x30e)],[_0x5c8109(0x3d1),_0x5c8109(0x18b)+';\x20charse'+_0x5c8109(0x4fe)],['.json',_0x5c8109(0x1ad)+_0x5c8109(0x44a)+_0x5c8109(0x43c)+_0x5c8109(0x4fe)],[_0x5c8109(0x133),_0x5c8109(0x1ad)+_0x5c8109(0x44a)+_0x5c8109(0x43c)+_0x5c8109(0x4fe)],['.jpg',_0x5c8109(0x39a)+'eg'],[_0x5c8109(0x3f4),_0x5c8109(0x39a)+'eg'],[_0x5c8109(0x423),_0x5c8109(0x17c)+'g'],[_0x5c8109(0x432),_0x5c8109(0x2ff)+'f'],[_0x5c8109(0x156),'image/bm'+'p'],[_0x5c8109(0x1c2),_0x5c8109(0x47e)+_0x5c8109(0x3d5)],[_0x5c8109(0x154),_0x5c8109(0x2bf)+'bp'],[_0x5c8109(0x1d1),'image/x-'+_0x5c8109(0x132)],[_0x5c8109(0x17b),'video/mp'+'4'],[_0x5c8109(0x3c3),_0x5c8109(0x33d)+_0x5c8109(0x453)],['.avi',_0x5c8109(0x470)+'msvideo'],['.mkv',_0x5c8109(0x470)+'matroska'],[_0x5c8109(0x4c2),'video/we'+'bm'],['.mp3','audio/mp'+'eg'],['.wav',_0x5c8109(0x339)+'v'],[_0x5c8109(0x2e1),'audio/mp'+'4'],[_0x5c8109(0x45e),'audio/aa'+'c'],[_0x5c8109(0x1a9),'audio/og'+'g'],[_0x5c8109(0x20c),_0x5c8109(0x3d9)+'ac'],[_0x5c8109(0x268),_0x5c8109(0x351)+'f'],[_0x5c8109(0x387),'font/wof'+'f2'],['.ttf',_0x5c8109(0x2d7)],[_0x5c8109(0x3b9),_0x5c8109(0x383)],[_0x5c8109(0x3f3),'applicat'+_0x5c8109(0x3e4)+_0x5c8109(0x180)+_0x5c8109(0x13a)],[_0x5c8109(0x2a3),_0x5c8109(0x1ad)+'ion/wasm']]);protocol[_0x5c8109(0x443)+_0x5c8109(0x4ef)+_0x5c8109(0x445)+_0x5c8109(0x485)]([{'scheme':APP_RENDERER_PROTOCOL_SCHEME,'privileges':{'secure':!![],'standard':!![],'supportFetchAPI':!![],'corsEnabled':!![]}},{'scheme':CLAWSPACE_PROTOCOL_SCHEME,'privileges':{'secure':!![],'standard':!![],'supportFetchAPI':!![],'corsEnabled':!![]}}]);let mainWindow=null,shellConfig=null,configController=null,gatewayController=null,bootError=null,mainLogger=null,ipcLogger=null,filesLogger=null,rendererLogger=null,terminalManager=null,connectorController=null,generatedFilesStore=null,productRuntime=null,productRuntimeHooks={},requestIdHooks={},gatewayRuntimeHooks={},sessionSqliteStore=null,sessionDataService=null,diagnosticsWriter=null,userEventWriter=null,isQuitting=![],updateController=null,pendingProtocolArgs=null;const protocolUrlState=createProtocolUrlState();let createWindowPromise=null,ipcHandlersInstalled=![];const rendererSessionMetrics={'inactiveEventCount':0x0,'inactiveBodyReadSuppressedCount':0x0},RENDERER_SESSION_METRIC_LOG_INTERVAL=0x19;function isProductionMode(){const _0x25df1a=_0x5c8109;return process.env.NODE_ENV===_0x25df1a(0x13f)+'on';}function resolveDevToolsFlagPath(){const _0x329457=_0x5c8109;return shellConfig?.['dataDir']?join(shellConfig[_0x329457(0x4fc)],_0x329457(0x36f)+_0x329457(0x4a7)):'';}function isDevToolsEnabled(){if(!isProductionMode())return!![];const _0x16c92b=resolveDevToolsFlagPath();return Boolean(_0x16c92b)&&existsSync(_0x16c92b);}function attachGatewayBroadcastHandlers(_0x57745c){const _0x1a3d6c=_0x5c8109;for(const _0x2913e2 of['gateway-'+_0x1a3d6c(0x4f1),'gateway-'+_0x1a3d6c(0x2aa),_0x1a3d6c(0x280)+'eam-even'+'t',_0x1a3d6c(0x274)+_0x1a3d6c(0x38a),_0x1a3d6c(0x439)+'pdated',_0x1a3d6c(0x347)+_0x1a3d6c(0x450)+'n']){_0x57745c['on'](_0x2913e2,_0x12c355=>broadcast(_0x2913e2,_0x12c355));}}function ensureSessionSqliteStore(){const _0xfe58e1=_0x5c8109;if(sessionSqliteStore)return sessionSqliteStore;if(!configController)throw new Error(_0xfe58e1(0x3c9)+_0xfe58e1(0x28f)+_0xfe58e1(0x28e)+_0xfe58e1(0x1e1)+'lized');return sessionSqliteStore=createSessionSqliteStore({'stateDir':configController[_0xfe58e1(0x384)+'tateDir']()}),sessionSqliteStore;}function ensureSessionDataService(){const _0x390d64=_0x5c8109;if(sessionDataService)return sessionDataService['attachGa'+_0x390d64(0x13b)+_0x390d64(0x25b)]?.(gatewayController),sessionDataService;if(!configController)throw new Error(_0x390d64(0x3c9)+_0x390d64(0x28f)+_0x390d64(0x28e)+_0x390d64(0x1e1)+'lized');return sessionDataService=createSessionDataService({'stateDir':configController[_0x390d64(0x384)+_0x390d64(0x1bc)](),'sessionSqliteStore':ensureSessionSqliteStore(),'gatewayController':gatewayController,'broadcast':broadcast,'logger':mainLogger}),sessionDataService[_0x390d64(0x369)+'eRuntime'+_0x390d64(0x444)]?.(_0x5d3e21=>{const _0x337056=_0x390d64;broadcast(_0x337056(0x3a1)+':runtime'+'-state-c'+_0x337056(0x26f),_0x5d3e21);}),sessionDataService[_0x390d64(0x395)+_0x390d64(0x13b)+_0x390d64(0x25b)]?.(),sessionDataService;}function updateRendererSessionMetrics(_0xecb078){const _0x4198b9=_0x5c8109;if(!_0xecb078||typeof _0xecb078!==_0x4198b9(0x139))return;if(_0xecb078[_0x4198b9(0x258)]!==_0x4198b9(0x1a4)+_0x4198b9(0x1f7)+_0x4198b9(0x447)+'ad_suppr'+_0x4198b9(0x3a0))return;const _0x373b87=_0xecb078[_0x4198b9(0x3ad)]&&typeof _0xecb078[_0x4198b9(0x3ad)]==='object'?_0xecb078[_0x4198b9(0x3ad)]:{},_0x151288=Number(_0x373b87[_0x4198b9(0x1c1)]);if(!Number[_0x4198b9(0x460)](_0x151288)||_0x151288<=rendererSessionMetrics[_0x4198b9(0x1a4)+_0x4198b9(0x3d2)+_0x4198b9(0x385)+'edCount'])return;rendererSessionMetrics[_0x4198b9(0x1a4)+_0x4198b9(0x3d2)+_0x4198b9(0x385)+_0x4198b9(0x28b)]=_0x151288,rendererSessionMetrics[_0x4198b9(0x1a4)+_0x4198b9(0x352)+'nt']=Math['max'](rendererSessionMetrics[_0x4198b9(0x1a4)+_0x4198b9(0x352)+'nt'],_0x151288);if(_0x151288!==0x1&&_0x151288%RENDERER_SESSION_METRIC_LOG_INTERVAL!==0x0)return;mainLogger?.[_0x4198b9(0x393)]?.('session\x20'+'renderer'+_0x4198b9(0x279)+'updated',{'metric':_0x4198b9(0x1a4)+'_session'+_0x4198b9(0x447)+'ad_suppr'+_0x4198b9(0x3a0),'inactiveEventCount':rendererSessionMetrics[_0x4198b9(0x1a4)+_0x4198b9(0x352)+'nt'],'inactiveBodyReadSuppressedCount':rendererSessionMetrics['inactive'+_0x4198b9(0x3d2)+_0x4198b9(0x385)+_0x4198b9(0x28b)],'changeKind':typeof _0x373b87[_0x4198b9(0x48f)+'nd']===_0x4198b9(0x1f5)?_0x373b87[_0x4198b9(0x48f)+'nd']:null,'origin':typeof _0x373b87[_0x4198b9(0x11d)]===_0x4198b9(0x1f5)?_0x373b87[_0x4198b9(0x11d)]:null});}function ensureGeneratedFilesStore(){const _0x260817=_0x5c8109;if(generatedFilesStore)return generatedFilesStore;if(!configController)throw new Error(_0x260817(0x3c9)+'ell\x20conf'+'ig\x20is\x20no'+_0x260817(0x1e1)+_0x260817(0x199));return generatedFilesStore=createGeneratedFilesStore({'stateDir':configController[_0x260817(0x384)+_0x260817(0x1bc)]()}),generatedFilesStore;}async function ensureGatewayControllerStarted(){const _0x593889=_0x5c8109;if(!gatewayController&&(!shellConfig||!configController))throw new Error(bootError?_0x593889(0x3c9)+'ell\x20boot'+'\x20failed:'+'\x20'+bootError:'wujie-sh'+'ell\x20gate'+_0x593889(0x19c)+_0x593889(0x276)+_0x593889(0x257));return!gatewayController&&(mainLogger?.['warn']('gateway\x20'+_0x593889(0x3d7)+'er\x20missi'+_0x593889(0x3a8)+_0x593889(0x40e)),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x593889(0x234)+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService()),await gatewayController['start'](),gatewayController;}function getMode(){const _0x3525d8=_0x5c8109;return process.env.VITE_DEV_SERVER_URL?_0x3525d8(0x2fa):_0x3525d8(0x377);}function isGatewayNotInitializedError(_0xb1ba6d){const _0x20d699=_0x5c8109;return _0xb1ba6d instanceof Error&&_0xb1ba6d['message']==='wujie-sh'+_0x20d699(0x1db)+_0x20d699(0x19c)+_0x20d699(0x276)+'alized';}function revealPathInFolder(_0x2d881a){const _0x34e191=_0x5c8109,_0x1d99fd=String(_0x2d881a||'')['trim']();if(!_0x1d99fd)return{'ok':![],'error':'path\x20is\x20'+_0x34e191(0x2b1)};return shell[_0x34e191(0x2c6)+'InFolder'](_0x1d99fd),{'ok':!![]};}function resolveProjectRoot(){const _0x360e68=_0x5c8109;if(process.env.WUJIE_SHELL_PROJECT_ROOT)return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT);if(app['isPackag'+'ed']&&process['resource'+_0x360e68(0x503)])return join(process['resource'+_0x360e68(0x503)],'app.asar');return resolve(process[_0x360e68(0x3e2)]());}function resolveProtocolScheme(){const _0x302df9=_0x5c8109;return typeof shellConfig?.[_0x302df9(0x345)]===_0x302df9(0x1f5)?shellConfig[_0x302df9(0x345)][_0x302df9(0x4a3)]():'';}function summarizeProtocolUrl(_0x11bef5){const _0x33a79d=_0x5c8109,_0x54683e=typeof _0x11bef5===_0x33a79d(0x1f5)?_0x11bef5:'';if(!_0x54683e)return summarizeText('',0xa0);try{const _0x479d3a=new URL(_0x54683e);for(const _0x253105 of['authCode',_0x33a79d(0x166)+'e','code','token',_0x33a79d(0x22d)]){_0x479d3a[_0x33a79d(0x44f)+_0x33a79d(0x3c1)][_0x33a79d(0x206)](_0x253105)&&_0x479d3a[_0x33a79d(0x44f)+_0x33a79d(0x3c1)]['set'](_0x253105,'[REDACTE'+'D]');}return summarizeText(_0x479d3a[_0x33a79d(0x412)](),0xa0);}catch{return summarizeText(_0x54683e,0xa0);}}function extractProtocolUrlFromArgs(_0x34e68a=[]){const _0x32d89a=_0x5c8109,_0x43d546=resolveProtocolScheme();if(!_0x43d546)return null;return _0x34e68a[_0x32d89a(0x2d1)](_0x5d425c=>{const _0x22bab4=_0x32d89a;if(typeof _0x5d425c!==_0x22bab4(0x1f5))return![];return _0x5d425c[_0x22bab4(0x381)+'th'](_0x43d546+_0x22bab4(0x346));})||null;}function getUsableMainWindow(){const _0x272b39=_0x5c8109;if(!mainWindow)return null;if(mainWindow[_0x272b39(0x1d3)+_0x272b39(0x4db)]())return mainWindow=null,protocolUrlState[_0x272b39(0x112)+_0x272b39(0x15e)](![]),null;if(mainWindow['webConte'+_0x272b39(0x25b)]?.[_0x272b39(0x1d3)+_0x272b39(0x4db)]?.())return mainWindow=null,protocolUrlState['setRende'+'rerReady'](![]),null;return mainWindow;}async function ensureMainWindow(){const _0x5c8ea3=getUsableMainWindow();if(_0x5c8ea3)return _0x5c8ea3;if(!shellConfig||!ipcHandlersInstalled)return null;return!createWindowPromise&&(createWindowPromise=createWindow()['finally'](()=>{createWindowPromise=null;})),await createWindowPromise,getUsableMainWindow();}function restoreMainWindowForPendingProtocolUrl(){const _0x54a5c0=_0x5c8109;if(!shellConfig)return;void ensureMainWindow()[_0x54a5c0(0x43e)](_0x13c87c=>{const _0x25f391=_0x54a5c0;mainLogger?.['error'](_0x25f391(0x345)+_0x25f391(0x378)+'restore\x20'+_0x25f391(0x4f2),summarizeError(_0x13c87c));});}function queueProtocolUrl(_0x3f67b0,_0x582812,_0x5f2aac=null){const _0x2fe653=_0x5c8109,{duplicate:_0x176951}=protocolUrlState[_0x2fe653(0x3b5)](_0x3f67b0);mainLogger?.[_0x2fe653(0x3d4)](_0x2fe653(0x345)+'\x20url\x20que'+_0x2fe653(0x4f3)+_0x2fe653(0x283),{'url':summarizeProtocolUrl(_0x3f67b0),'reason':_0x582812,'duplicatePending':_0x176951,'hasWindow':Boolean(_0x5f2aac),'isLoadingMainFrame':Boolean(_0x5f2aac?.[_0x2fe653(0x2f3)+'nts'][_0x2fe653(0x427)+'gMainFra'+'me']()),'protocolRendererReady':protocolUrlState['renderer'+_0x2fe653(0x3e5)]});}function dispatchProtocolUrl(_0x5e366d){const _0x2e473a=_0x5c8109,_0x791990=resolveProtocolScheme();if(typeof _0x5e366d!==_0x2e473a(0x1f5))return;if(!_0x791990){protocolUrlState['setPendi'+_0x2e473a(0x356)](_0x5e366d),mainLogger?.[_0x2e473a(0x3d4)](_0x2e473a(0x345)+_0x2e473a(0x4ee)+_0x2e473a(0x15a)+_0x2e473a(0x4ec)+_0x2e473a(0x2ba),{'url':summarizeProtocolUrl(_0x5e366d)});return;}if(!_0x5e366d[_0x2e473a(0x381)+'th'](_0x791990+'://'))return;mainLogger?.[_0x2e473a(0x3d4)](_0x2e473a(0x345)+'\x20url\x20rec'+_0x2e473a(0x12b),{'url':summarizeProtocolUrl(_0x5e366d)});const _0x502755=getUsableMainWindow();if(!_0x502755){queueProtocolUrl(_0x5e366d,_0x2e473a(0x285)+_0x2e473a(0x4d2));if(!_0x502755)restoreMainWindowForPendingProtocolUrl();return;}if(_0x502755[_0x2e473a(0x2f3)+_0x2e473a(0x25b)]['isLoadin'+_0x2e473a(0x332)+'me']()){queueProtocolUrl(_0x5e366d,'loading-'+_0x2e473a(0x3c5)+'me',_0x502755);return;}if(!protocolUrlState[_0x2e473a(0x283)+_0x2e473a(0x3e5)]){queueProtocolUrl(_0x5e366d,_0x2e473a(0x283)+_0x2e473a(0x215)+'dy',_0x502755);return;}_0x502755[_0x2e473a(0x2e6)](),_0x502755[_0x2e473a(0x442)](),broadcast(_0x2e473a(0x452)+_0x2e473a(0x272),_0x5e366d),mainLogger?.[_0x2e473a(0x3d4)]('protocol'+'\x20url\x20dis'+_0x2e473a(0x1e2),{'url':summarizeProtocolUrl(_0x5e366d),'protocolRendererReady':protocolUrlState[_0x2e473a(0x283)+_0x2e473a(0x3e5)]});}function flushPendingProtocolUrl(){const _0x3a5446=_0x5c8109,_0x5cfc28=protocolUrlState[_0x3a5446(0x246)+_0x3a5446(0x433)]();if(!_0x5cfc28)return;mainLogger?.[_0x3a5446(0x3d4)](_0x3a5446(0x345)+_0x3a5446(0x2b7)+_0x3a5446(0x482)+'shing',{'url':summarizeProtocolUrl(_0x5cfc28)}),void dispatchProtocolUrl(_0x5cfc28);}function getLocalFileMimeType(_0x531dc2){const _0x43114a=_0x5c8109;return LOCAL_FILE_MIME_TYPES[_0x43114a(0x3d0)](_0x531dc2[_0x43114a(0x34e)](_0x531dc2[_0x43114a(0x44d)+'xOf']('.'))[_0x43114a(0x168)+'ase']())||_0x43114a(0x1ad)+'ion/octe'+_0x43114a(0x372);}function resolveRendererDistDir(){const _0x29883d=_0x5c8109;return join(shellConfig[_0x29883d(0x4ba)+_0x29883d(0x23d)],_0x29883d(0x30c));}function decodeAppRendererPath(_0x46956b){const _0xdd48df=_0x5c8109;try{const _0x2b82a5=new URL(_0x46956b);if(_0x2b82a5[_0xdd48df(0x345)]!==APP_RENDERER_PROTOCOL_SCHEME+':')return null;if(_0x2b82a5[_0xdd48df(0x48e)]!==APP_RENDERER_PROTOCOL_HOST)return null;const _0x1f7404=resolveRendererDistDir(),_0x884e20=decodeURIComponent(_0x2b82a5[_0xdd48df(0x294)]||_0xdd48df(0x12a)+'tml'),_0x3c198d=_0x884e20[_0xdd48df(0x11b)](/^\/+/,'')||_0xdd48df(0x34f)+'ml',_0x4f0a65=resolve(_0x1f7404,_0x3c198d);if(_0x4f0a65!==_0x1f7404&&!_0x4f0a65['startsWi'+'th'](''+_0x1f7404+sep))return null;return{'url':_0x2b82a5,'distDir':_0x1f7404,'filePath':_0x4f0a65};}catch{return null;}}function parseSingleRangeHeader(_0x2cd3b6,_0x297835){const _0x247999=_0x5c8109,_0x578b9b=/^bytes=(\d*)-(\d*)$/i[_0x247999(0x122)](_0x2cd3b6['trim']());if(!_0x578b9b)return null;const [,_0x230d8c,_0x327ba8]=_0x578b9b;if(!_0x230d8c&&!_0x327ba8)return null;if(!_0x230d8c){const _0x1e8de2=Number['parseInt'](_0x327ba8,0xa);if(!Number[_0x247999(0x460)](_0x1e8de2)||_0x1e8de2<=0x0)return null;const _0x41f0d8=Math[_0x247999(0x402)](_0x297835-_0x1e8de2,0x0);return{'start':_0x41f0d8,'end':_0x297835-0x1};}const _0x15ab6b=Number[_0x247999(0x3f1)](_0x230d8c,0xa);if(!Number[_0x247999(0x460)](_0x15ab6b)||_0x15ab6b<0x0||_0x15ab6b>=_0x297835)return null;const _0x354b0e=_0x327ba8?Number[_0x247999(0x3f1)](_0x327ba8,0xa):_0x297835-0x1;if(!Number[_0x247999(0x460)](_0x354b0e)||_0x354b0e<_0x15ab6b)return null;return{'start':_0x15ab6b,'end':Math['min'](_0x354b0e,_0x297835-0x1)};}function decodeClawspacePath(_0x2b14a3){const _0x367911=_0x5c8109;try{const _0x51bd51=new URL(_0x2b14a3);if(_0x51bd51[_0x367911(0x345)]!==CLAWSPACE_PROTOCOL_SCHEME+':')return null;if(_0x51bd51['hostname']!==_0x367911(0x314))return null;const _0x48ba16=decodeURIComponent(_0x51bd51['pathname']);if(!_0x48ba16)return null;if(/^\/[A-Za-z]:\//[_0x367911(0x502)](_0x48ba16))return _0x48ba16[_0x367911(0x34e)](0x1);return _0x48ba16;}catch{return null;}}function createClawspaceHeaders(_0x2e6e49={}){const _0x503365=_0x5c8109;return new Headers({'access-control-allow-origin':'*','access-control-allow-methods':_0x503365(0x1b6)+_0x503365(0x1b1)+'NS','access-control-allow-headers':'range,\x20c'+_0x503365(0x370)+_0x503365(0x315),'access-control-expose-headers':_0x503365(0x12f)+_0x503365(0x113)+'content-'+'range,\x20a'+_0x503365(0x158)+_0x503365(0x39c),..._0x2e6e49});}function createLocalFileResponse(_0x187bdc,_0x12ea45){const _0x175a2b=_0x5c8109,_0x30bbf0=statSync(_0x12ea45);if(!_0x30bbf0[_0x175a2b(0x35a)]())return new Response(_0x175a2b(0x3cb)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x175a2b(0x134)+_0x175a2b(0x3aa)+'8'})});const _0x1b6a2b=getLocalFileMimeType(_0x12ea45),_0x2c6597=createClawspaceHeaders({'content-type':_0x1b6a2b,'accept-ranges':_0x175a2b(0x312),'cache-control':'no-store'});if(_0x187bdc[_0x175a2b(0x3da)]===_0x175a2b(0x3bd))return _0x2c6597['set'](_0x175a2b(0x12f)+_0x175a2b(0x1f0),String(_0x30bbf0[_0x175a2b(0x471)])),new Response(null,{'status':0xc8,'headers':_0x2c6597});const _0x48d608=_0x187bdc[_0x175a2b(0x349)][_0x175a2b(0x3d0)](_0x175a2b(0x32b));if(!_0x48d608)return _0x2c6597[_0x175a2b(0x430)](_0x175a2b(0x12f)+_0x175a2b(0x1f0),String(_0x30bbf0['size'])),new Response(Readable[_0x175a2b(0x4dd)](createReadStream(_0x12ea45)),{'status':0xc8,'headers':_0x2c6597});const _0x1fa8a0=parseSingleRangeHeader(_0x48d608,_0x30bbf0[_0x175a2b(0x471)]);if(!_0x1fa8a0)return new Response(null,{'status':0x1a0,'headers':createClawspaceHeaders({...Object['fromEntr'+_0x175a2b(0x498)](_0x2c6597[_0x175a2b(0x40f)]()),'content-range':_0x175a2b(0x4ea)+_0x30bbf0[_0x175a2b(0x471)]})});const {start:_0x14574a,end:_0x5b1a49}=_0x1fa8a0,_0x50e04a=_0x5b1a49-_0x14574a+0x1,_0x1b1621=new Headers(_0x2c6597);return _0x1b1621[_0x175a2b(0x430)]('content-'+_0x175a2b(0x1f0),String(_0x50e04a)),_0x1b1621[_0x175a2b(0x430)]('content-'+_0x175a2b(0x32b),_0x175a2b(0x39f)+_0x14574a+'-'+_0x5b1a49+'/'+_0x30bbf0['size']),new Response(Readable['toWeb'](createReadStream(_0x12ea45,{'start':_0x14574a,'end':_0x5b1a49})),{'status':0xce,'headers':_0x1b1621});}function installClawspaceProtocolHandler(){const _0x531cce=_0x5c8109;protocol[_0x531cce(0x47b)](CLAWSPACE_PROTOCOL_SCHEME,_0x2257e5=>{const _0x10d7db=_0x531cce;if(_0x2257e5[_0x10d7db(0x3da)]===_0x10d7db(0x184))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x57ae12=decodeClawspacePath(_0x2257e5['url']);if(!_0x57ae12)return new Response(_0x10d7db(0x464)+_0x10d7db(0x3de)+_0x10d7db(0x2c3),{'status':0x190,'headers':createClawspaceHeaders({'content-type':_0x10d7db(0x386)+_0x10d7db(0x134)+_0x10d7db(0x3aa)+'8'})});if(!existsSync(_0x57ae12))return new Response('Not\x20foun'+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x10d7db(0x386)+'in;\x20char'+_0x10d7db(0x3aa)+'8'})});return createLocalFileResponse(_0x2257e5,_0x57ae12);});}function installAppRendererProtocolHandler(){const _0x210042=_0x5c8109;protocol[_0x210042(0x47b)](APP_RENDERER_PROTOCOL_SCHEME,_0x972c40=>{const _0x145900=_0x210042;if(_0x972c40['method']===_0x145900(0x184))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x35c933=decodeAppRendererPath(_0x972c40[_0x145900(0x14e)]);if(!_0x35c933)return new Response(_0x145900(0x464)+_0x145900(0x2cc),{'status':0x190,'headers':createClawspaceHeaders({'content-type':_0x145900(0x386)+_0x145900(0x134)+_0x145900(0x3aa)+'8'})});const {url:_0x42a28d,distDir:_0x2ec404,filePath:_0x19b313}=_0x35c933,_0x401a8c=join(_0x2ec404,_0x145900(0x34f)+'ml'),_0x4ba355=existsSync(_0x19b313),_0x163f12=_0x4ba355?_0x19b313:_0x401a8c;if(!_0x4ba355&&_0x42a28d[_0x145900(0x294)][_0x145900(0x200)]('.'))return new Response('Not\x20foun'+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x145900(0x386)+_0x145900(0x134)+_0x145900(0x3aa)+'8'})});if(!existsSync(_0x163f12))return mainLogger?.[_0x145900(0x1bd)]('renderer'+_0x145900(0x4f8)+_0x145900(0x364)+_0x145900(0x2cf),{'requestUrl':_0x972c40[_0x145900(0x14e)],'targetPath':_0x163f12}),new Response(_0x145900(0x3cb)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x145900(0x386)+'in;\x20char'+_0x145900(0x3aa)+'8'})});return createLocalFileResponse(_0x972c40,_0x163f12);});}function broadcast(_0x58ca23,_0x12b2f2){const _0x5ed862=_0x5c8109;DEBUG_STDOUT&&console[_0x5ed862(0x393)]('[wujie-s'+_0x5ed862(0x4fb)+_0x5ed862(0x343),_0x58ca23,summarizePayload(_0x12b2f2,{'maxDepth':0x2}));for(const _0x4ddf50 of BrowserWindow[_0x5ed862(0x278)+_0x5ed862(0x35b)]()){!_0x4ddf50['webConte'+'nts']['isDestro'+_0x5ed862(0x4db)]()&&_0x4ddf50[_0x5ed862(0x2f3)+_0x5ed862(0x25b)][_0x5ed862(0x1ae)](_0x5ed862(0x3c9)+'ell:even'+'t',{'name':_0x58ca23,'payload':_0x12b2f2});}}function requestLogReportFromRenderer(_0x36d39a){const _0x88d6ef=_0x5c8109,_0x404b12=BrowserWindow['getFocus'+_0x88d6ef(0x4b0)]()||(mainWindow&&!mainWindow[_0x88d6ef(0x1d3)+'yed']()?mainWindow:null),_0x221352={'source':_0x36d39a};if(!_0x404b12||_0x404b12[_0x88d6ef(0x2f3)+_0x88d6ef(0x25b)][_0x88d6ef(0x1d3)+_0x88d6ef(0x4db)]()){broadcast(_0x88d6ef(0x23f)+_0x88d6ef(0x235)+_0x88d6ef(0x2d8),_0x221352);return;}_0x404b12[_0x88d6ef(0x48d)+_0x88d6ef(0x479)]()&&_0x404b12[_0x88d6ef(0x20b)](),_0x404b12[_0x88d6ef(0x2e6)](),_0x404b12[_0x88d6ef(0x442)](),_0x404b12[_0x88d6ef(0x2f3)+_0x88d6ef(0x25b)][_0x88d6ef(0x1ae)](_0x88d6ef(0x3c9)+_0x88d6ef(0x1af)+'t',{'name':'app:log-'+_0x88d6ef(0x235)+'equested','payload':_0x221352});}function installApplicationMenu(){const _0x58da56=_0x5c8109;if(process[_0x58da56(0x379)]!=='darwin')return;const _0x40ab42=[{'label':shellConfig?.[_0x58da56(0x1bf)+_0x58da56(0x1a2)]||app['name'],'submenu':[{'role':'about'},{'type':_0x58da56(0x1b0)+'r'},{'role':'services'},{'type':_0x58da56(0x1b0)+'r'},{'role':_0x58da56(0x21e)},{'role':_0x58da56(0x29d)+'rs'},{'role':_0x58da56(0x1a1)},{'type':_0x58da56(0x1b0)+'r'},{'role':_0x58da56(0x3c2)}]},{'label':'编辑','submenu':[{'role':_0x58da56(0x29c)},{'role':'redo'},{'type':_0x58da56(0x1b0)+'r'},{'role':_0x58da56(0x1df)},{'role':_0x58da56(0x483)},{'role':_0x58da56(0x2ea)},{'role':_0x58da56(0x4b2)+'l'}]},{'label':'显示','submenu':[{'role':_0x58da56(0x31d)},{'role':'forceRel'+_0x58da56(0x4ca)},{'type':_0x58da56(0x1b0)+'r'},{'role':_0x58da56(0x3b2)+_0x58da56(0x244)}]},{'role':'windowMe'+'nu','label':'窗口'},{'role':_0x58da56(0x4ab),'label':'帮助','submenu':[{'label':'上传日志...','click':()=>{const _0x3dc09f=_0x58da56;requestLogReportFromRenderer('applicat'+_0x3dc09f(0x2d4));}}]}];Menu['setAppli'+_0x58da56(0x231)+'nu'](Menu['buildFro'+'mTemplat'+'e'](_0x40ab42));}async function loadProductRuntime(){const _0x537eed=_0x5c8109,_0x228f36=[join(shellConfig[_0x537eed(0x4ba)+_0x537eed(0x23d)],_0x537eed(0x3d6)+_0x537eed(0x391),_0x537eed(0x319)+'s'),join(app['getAppPa'+'th'](),_0x537eed(0x3d6)+'ntime',_0x537eed(0x319)+'s')],_0x37c295=_0x228f36[_0x537eed(0x2d1)](_0x50824e=>existsSync(_0x50824e));if(!_0x37c295)return mainLogger?.['info'](_0x537eed(0x473)+_0x537eed(0x4a9)+'extensio'+_0x537eed(0x454)+_0x537eed(0x21a),{'runtimeCandidates':_0x228f36}),{};try{const _0x385296=await import(pathToFileURL(_0x37c295)[_0x537eed(0x23b)]);return mainLogger?.['info']('product\x20'+_0x537eed(0x4a9)+_0x537eed(0x2ef)+'n\x20loaded',{'runtimePath':_0x37c295}),_0x385296;}catch(_0x46f5bc){mainLogger?.[_0x537eed(0x1bd)](_0x537eed(0x473)+_0x537eed(0x4a9)+_0x537eed(0x2ef)+_0x537eed(0x263)+_0x537eed(0x458),{'runtimePath':_0x37c295,'error':summarizeError(_0x46f5bc)});throw _0x46f5bc;}}function openDevToolsForActiveContext(){const _0x4e01af=_0x5c8109;if(!isDevToolsEnabled())return mainLogger?.[_0x4e01af(0x393)](_0x4e01af(0x36f)+_0x4e01af(0x177)+_0x4e01af(0x2fd),{'mode':getMode(),'flagPath':resolveDevToolsFlagPath()}),{'ok':![]};const _0x2c39f9=BrowserWindow[_0x4e01af(0x3dd)+_0x4e01af(0x4b0)]()||mainWindow;if(!_0x2c39f9||_0x2c39f9[_0x4e01af(0x1d3)+'yed']())return{'ok':![]};return _0x2c39f9[_0x4e01af(0x2f3)+_0x4e01af(0x25b)][_0x4e01af(0x4d4)+_0x4e01af(0x145)]({'mode':_0x4e01af(0x146)}),_0x2c39f9[_0x4e01af(0x2f3)+_0x4e01af(0x25b)][_0x4e01af(0x1ae)](_0x4e01af(0x3c9)+'ell:even'+'t',{'name':_0x4e01af(0x36f)+_0x4e01af(0x49b)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0x43ce7d=_0x5c8109;globalShortcut[_0x43ce7d(0x212)+'er'](DEVTOOLS_ACCELERATOR);if(!isDevToolsEnabled())return;const _0x3be6bc=globalShortcut['register'](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x3be6bc&&console[_0x43ce7d(0x3d4)]('[wujie-s'+_0x43ce7d(0x40b)+_0x43ce7d(0x3bf)+_0x43ce7d(0x443)+_0x43ce7d(0x348)+_0x43ce7d(0x4a4)+DEVTOOLS_ACCELERATOR);}async function getRuntimeResourceStatus(){const _0x144765=_0x5c8109;try{const _0x20fe70=await loadRuntimeInfo(shellConfig[_0x144765(0x4ba)+_0x144765(0x23d)]),_0x323a0f=_0x20fe70[_0x144765(0x4a8)]||{};return{'ok':!![],'runtimeRoot':_0x20fe70[_0x144765(0x1d7)+_0x144765(0x23d)],'openclawVersion':_0x20fe70[_0x144765(0x41d)+_0x144765(0x2e2)],'generatedAt':_0x323a0f[_0x144765(0x448)+_0x144765(0x508)]||null,'pluginCount':Array['isArray'](_0x323a0f[_0x144765(0x2c5)])?_0x323a0f[_0x144765(0x2c5)]['length']:0x0,'plugins':Array['isArray'](_0x323a0f[_0x144765(0x2c5)])?_0x323a0f[_0x144765(0x2c5)]:[],'agents':_0x323a0f['agents']||null,'skills':_0x323a0f[_0x144765(0x25e)]||null,'wrapper':_0x323a0f[_0x144765(0x1c9)+_0x144765(0x22a)]||null,'product':_0x323a0f[_0x144765(0x4d9)]||null};}catch(_0x2b2d66){return{'ok':![],'runtimeRoot':resolveRuntimeRoot(shellConfig?.[_0x144765(0x4ba)+_0x144765(0x23d)]||resolveProjectRoot()),'error':_0x2b2d66 instanceof Error?_0x2b2d66[_0x144765(0x474)]:String(_0x2b2d66)};}}async function createWindow(){const _0x4e1c7e=_0x5c8109,_0x4861a9=process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL,_0x2b1561=process[_0x4e1c7e(0x379)]===_0x4e1c7e(0x3cc),_0x36d6a7=process['platform']===_0x4e1c7e(0x4b1)?![]:!![],_0xe6613=isDevToolsEnabled();mainLogger?.[_0x4e1c7e(0x393)](_0x4e1c7e(0x3a9)+_0x4e1c7e(0x1ff)+_0x4e1c7e(0x38b),{'rendererUrl':_0x4861a9,'mode':getMode(),'devToolsEnabled':_0xe6613,'devToolsFlagPath':resolveDevToolsFlagPath()});const _0x3f4b12=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig['productN'+_0x4e1c7e(0x1a2)],'backgroundColor':_0x2b1561?'#ffffff':_0x4e1c7e(0x178),'autoHideMenuBar':!![],'titleBarStyle':'hidden','titleBarOverlay':_0x36d6a7,..._0x2b1561?{'trafficLightPosition':{'x':0x10,'y':0xc}}:{},'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![],'devTools':_0xe6613}});mainWindow=_0x3f4b12,protocolUrlState[_0x4e1c7e(0x112)+_0x4e1c7e(0x15e)](![]),_0x3f4b12['on'](_0x4e1c7e(0x12e),()=>{const _0xb311ed=_0x4e1c7e;if(mainWindow!==_0x3f4b12)return;mainWindow=null,protocolUrlState[_0xb311ed(0x112)+_0xb311ed(0x15e)](![]);}),_0x3f4b12['webConte'+_0x4e1c7e(0x25b)]['on'](_0x4e1c7e(0x1f8)+_0x4e1c7e(0x159)+'nt',_0x4e789d=>{const _0x29597e=_0x4e1c7e,_0x43dad5=_0x4e789d[_0x29597e(0x425)];if(!_0x43dad5||_0x43dad5[_0x29597e(0x150)]!==_0x29597e(0x43f))return;const _0x388e50=String(_0x43dad5[_0x29597e(0x46a)]||'')['toLowerC'+'ase'](),_0x2cd230=_0x388e50==='r',_0x1069a8=process[_0x29597e(0x379)]===_0x29597e(0x3cc)?_0x43dad5['meta']===!![]:_0x43dad5[_0x29597e(0x24e)]===!![];if(!_0x2cd230||!_0x1069a8)return;_0x4e789d[_0x29597e(0x282)+_0x29597e(0x128)](),broadcast(_0x29597e(0x327)+_0x29597e(0x30a),{'type':_0x29597e(0x3ba)+'on','action':_0x29597e(0x31d)});}),_0x3f4b12['on'](_0x4e1c7e(0x442),()=>{const _0x177a7d=_0x4e1c7e;updateController?.['requestB'+_0x177a7d(0x424)+_0x177a7d(0x3f9)]('window_f'+'ocus');});const _0x1f904e=process.env.VITE_DEV_SERVER_URL;_0x1f904e?(await _0x3f4b12[_0x4e1c7e(0x300)](_0x1f904e),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&_0xe6613&&_0x3f4b12[_0x4e1c7e(0x2f3)+_0x4e1c7e(0x25b)][_0x4e1c7e(0x4d4)+_0x4e1c7e(0x145)]({'mode':'detach'})):await _0x3f4b12[_0x4e1c7e(0x300)](APP_RENDERER_ENTRY_URL),mainLogger?.[_0x4e1c7e(0x393)](_0x4e1c7e(0x357)+_0x4e1c7e(0x36a)+'ed',{'rendererUrl':_0x4861a9,'mode':getMode(),'devToolsEnabled':_0xe6613});}function registerProtocolHandlers(){const _0x8e1ebe=_0x5c8109,_0x268064=resolveProtocolScheme();if(!_0x268064)return;let _0x1c0779=![];try{_0x1c0779=app[_0x8e1ebe(0x1d4)+'ed']?app[_0x8e1ebe(0x3f5)+'aultProt'+'ocolClie'+'nt'](_0x268064,process['execPath'],[app[_0x8e1ebe(0x4eb)+'th']()]):![];}catch(_0x24fb84){mainLogger?.['error'](_0x8e1ebe(0x345)+_0x8e1ebe(0x408)+_0x8e1ebe(0x4bc)+'tion\x20fai'+'led',{'protocol':_0x268064,'error':summarizeError(_0x24fb84)});}mainLogger?.['warn']('protocol'+_0x8e1ebe(0x408)+_0x8e1ebe(0x443)+'ed',{'protocol':_0x268064,'registered':_0x1c0779,'packaged':app['isPackag'+'ed'],'defaultClient':app[_0x8e1ebe(0x38f)+_0x8e1ebe(0x1d0)+_0x8e1ebe(0x4a1)](_0x268064),'execPath':toHomePath(process[_0x8e1ebe(0x227)]),'appPath':toHomePath(app['getAppPa'+'th']())});const _0x1696a8=extractProtocolUrlFromArgs(process[_0x8e1ebe(0x218)]);if(_0x1696a8)protocolUrlState[_0x8e1ebe(0x375)+_0x8e1ebe(0x356)](_0x1696a8);const _0x1bf25d=extractProtocolUrlFromArgs(pendingProtocolArgs||[]);pendingProtocolArgs=null;if(_0x1bf25d)protocolUrlState[_0x8e1ebe(0x375)+'ngUrl'](_0x1bf25d);}function normalizeRequestedLogLevel(_0x411ebd){const _0x40b64e=_0x5c8109,_0x5c69e8=typeof _0x411ebd===_0x40b64e(0x1f5)?_0x411ebd['trim']()[_0x40b64e(0x168)+'ase']():'';if(!SHELL_LOG_LEVELS[_0x40b64e(0x206)](_0x5c69e8))throw new Error('日志等级必须是\x20'+_0x40b64e(0x273)+'rn、info\x20'+'或\x20debug');return _0x5c69e8;}function writeMainAuditLog(_0xb0bf74,_0x1c71f5){return mainLogger?.['write']?.(formatLogLine({'level':'INFO','context':'main','message':_0xb0bf74,'meta':_0x1c71f5}));}async function installIpcHandlers(){const _0x1be63c=_0x5c8109,_0x5efaba=(_0x592fef,_0x3ffbd5)=>{const _0x542c0b=_0x44a9;ipcMain[_0x542c0b(0x47b)](_0x592fef,async(_0x4cc568,_0x32ca42)=>{const _0x2f7109=_0x542c0b,_0x54958e=Date[_0x2f7109(0x330)](),_0x3d93e6=_0x4cc568[_0x2f7109(0x355)+_0x2f7109(0x1a2)]?.[_0x2f7109(0x14e)]||_0x4cc568[_0x2f7109(0x486)][_0x2f7109(0x289)](),_0x1c9dfa=ipcLogger?.[_0x2f7109(0x1f1)+'g'](_0x2f7109(0x2a2));_0x1c9dfa&&ipcLogger[_0x2f7109(0x393)]('ipc\x20requ'+'est\x20star'+_0x2f7109(0x164),{'channel':_0x592fef,'senderUrl':_0x3d93e6});DEBUG_STDOUT&&_0x1c9dfa&&console['info'](_0x2f7109(0x421)+_0x2f7109(0x359)+']',_0x592fef,_0x2f7109(0x1f4));try{let _0x548751;try{_0x548751=await _0x3ffbd5(_0x4cc568,_0x32ca42);}catch(_0x1b151d){if(!isGatewayNotInitializedError(_0x1b151d))throw _0x1b151d;await ensureGatewayControllerStarted(),_0x548751=await _0x3ffbd5(_0x4cc568,_0x32ca42);}const _0x1f69d2=Date[_0x2f7109(0x330)]()-_0x54958e;return(_0x1c9dfa||_0x1f69d2>IPC_SLOW_REQUEST_THRESHOLD_MS)&&ipcLogger?.[_0x2f7109(0x393)](_0x2f7109(0x21f)+_0x2f7109(0x429)+_0x2f7109(0x2a0),{'channel':_0x592fef,'durationMs':_0x1f69d2,'status':_0x2f7109(0x37a)+'d'}),await userEventWriter?.['fromIpc']({'channel':_0x592fef,'payload':_0x32ca42,'result':_0x548751,'durationMs':_0x1f69d2,'status':_0x2f7109(0x37a)+'d'}),DEBUG_STDOUT&&_0x1c9dfa&&console[_0x2f7109(0x393)](_0x2f7109(0x421)+'hell:ipc'+']',_0x592fef,_0x2f7109(0x31e)+'d',{'durationMs':_0x1f69d2,'status':_0x2f7109(0x37a)+'d'}),_0x548751;}catch(_0x1c5e1a){const _0x2109f2=Date[_0x2f7109(0x330)]()-_0x54958e;ipcLogger?.[_0x2f7109(0x1bd)](_0x2f7109(0x21f)+_0x2f7109(0x1ac)+'ed',{'channel':_0x592fef,'durationMs':_0x2109f2,'error':summarizeError(_0x1c5e1a)}),await userEventWriter?.[_0x2f7109(0x171)]({'channel':_0x592fef,'payload':_0x32ca42,'error':_0x1c5e1a,'durationMs':_0x2109f2,'status':_0x2f7109(0x4f2)}),await diagnosticsWriter?.[_0x2f7109(0x290)+'ncident'](diagnosticEventFromError(_0x1c5e1a,{'category':'ipc','event':_0x2f7109(0x392)+_0x2f7109(0x220)+'ed','message':_0x2f7109(0x29e)+_0x2f7109(0x1ac)+_0x2f7109(0x491)+_0x592fef,'durationMs':_0x2109f2,'meta':{'channel':_0x592fef,'senderUrl':_0x3d93e6,'payload':summarizePayload(_0x32ca42)}}));DEBUG_STDOUT&&console[_0x2f7109(0x1bd)](_0x2f7109(0x421)+_0x2f7109(0x359)+']',_0x592fef,_0x2f7109(0x4f2),summarizeError(_0x1c5e1a));throw _0x1c5e1a;}});},_0x2fa75b=()=>{const _0x5a1083=_0x44a9;if(!gatewayController)throw new Error(bootError?_0x5a1083(0x3c9)+'ell\x20boot'+_0x5a1083(0x4ae)+'\x20'+bootError:_0x5a1083(0x3c9)+_0x5a1083(0x1db)+'way\x20is\x20n'+_0x5a1083(0x276)+'alized');return gatewayController;};function _0x2aab33(){const _0x14106d=_0x44a9;for(const _0x3a7382 of Object[_0x14106d(0x291)](gatewayRuntimeHooks)){delete gatewayRuntimeHooks[_0x3a7382];}Object[_0x14106d(0x305)](gatewayRuntimeHooks,productRuntimeHooks,{'onChatHistoryLoaded':async _0x3f7fd3=>{const _0x2ec9f3=_0x14106d;await requestIdHooks?.[_0x2ec9f3(0x22c)+_0x2ec9f3(0x27d)+_0x2ec9f3(0x437)]?.(_0x3f7fd3),await productRuntimeHooks?.['onChatHi'+_0x2ec9f3(0x27d)+_0x2ec9f3(0x437)]?.(_0x3f7fd3);},'onRequestIdTitleEvent':async _0x533675=>{const _0x2da1c1=_0x14106d;await requestIdHooks?.['onReques'+'tIdTitle'+_0x2da1c1(0x174)]?.(_0x533675),await productRuntimeHooks?.['onReques'+_0x2da1c1(0x459)+'Event']?.(_0x533675);}});}const _0x118015=()=>{const _0x45003b=_0x44a9;if(typeof productRuntime[_0x45003b(0x443)+_0x45003b(0x49d)+'untimeHa'+_0x45003b(0x3ec)]!==_0x45003b(0x1dc))return;const _0x457afb=productRuntime['register'+_0x45003b(0x49d)+_0x45003b(0x4c7)+_0x45003b(0x3ec)]({'app':app,'BrowserWindow':BrowserWindow,'broadcast':broadcast,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'dialog':dialog,'exportLogsArchive':exportLogsArchive,'filesLogger':filesLogger,'getRuntimeSpawnContext':getRuntimeSpawnContext,'handle':_0x5efaba,'mainLogger':mainLogger,'mainWindow':mainWindow,'rendererLogger':rendererLogger,'requireGateway':_0x2fa75b,'sep':sep,'openClawConfigHandlers':{'update':(..._0x444db2)=>configController[_0x45003b(0x4de)+_0x45003b(0x45d)+_0x45003b(0x3b4)](..._0x444db2),'setPluginConfig':_0x53a2b0=>configController[_0x45003b(0x47a)+_0x45003b(0x36c)+_0x45003b(0x350)](_0x53a2b0),'setChannelConfig':_0x57b46e=>configController[_0x45003b(0x47a)+_0x45003b(0x342)+_0x45003b(0x288)](_0x57b46e),'deleteChannelConfig':_0x1ccfb5=>configController[_0x45003b(0x1d2)+'enClawCh'+_0x45003b(0x368)+_0x45003b(0x287)](_0x1ccfb5),'setSkillEntry':_0x2cebcb=>configController[_0x45003b(0x47a)+'lawSkill'+_0x45003b(0x495)](_0x2cebcb),'deleteSkillEntry':_0x71c627=>configController[_0x45003b(0x1d2)+_0x45003b(0x39e)+_0x45003b(0x1c5)](_0x71c627),'setMcpServer':_0x1b6256=>configController[_0x45003b(0x47a)+'lawMcpSe'+'rver'](_0x1b6256),'deleteMcpServer':_0x164aa3=>configController[_0x45003b(0x1d2)+_0x45003b(0x219)+'pServer'](_0x164aa3)},'shell':shell,'shellConfig':shellConfig,'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand,'summarizePayload':summarizePayload,'summarizeText':summarizeText,'toHomePath':toHomePath,'writeMutableConfig':_0x851aaf})||{};Object['assign'](productRuntimeHooks,_0x457afb),_0x2aab33();};ipcMain['on']('app:prot'+_0x1be63c(0x272)+'-ready',()=>{const _0x5601d1=_0x1be63c;protocolUrlState['setRende'+_0x5601d1(0x15e)](!![]),mainLogger?.[_0x5601d1(0x3d4)](_0x5601d1(0x345)+_0x5601d1(0x163)+_0x5601d1(0x1fe),{'hasPendingProtocolUrl':Boolean(protocolUrlState['pendingU'+'rl'])}),flushPendingProtocolUrl();}),_0x5efaba(_0x1be63c(0x25a),async()=>({'name':shellConfig[_0x1be63c(0x1bf)+_0x1be63c(0x1a2)],'version':app[_0x1be63c(0x234)+'on'](),'appId':shellConfig[_0x1be63c(0x192)],'dataDir':shellConfig[_0x1be63c(0x4fc)]})),_0x5efaba(_0x1be63c(0x17e)+'-url',async(_0x20e9f4,_0x29e8dc)=>{const _0x1ed661=_0x1be63c,_0x3e76ed=typeof _0x29e8dc===_0x1ed661(0x1f5)?_0x29e8dc:'';if(!_0x3e76ed)return{'ok':![]};return filesLogger?.[_0x1ed661(0x393)](_0x1ed661(0x388)+'ernal\x20ur'+_0x1ed661(0x428)+_0x1ed661(0x164),{'url':summarizeText(_0x3e76ed,0xa0)}),await shell[_0x1ed661(0x4f5)+_0x1ed661(0x2bd)](_0x3e76ed),{'ok':!![]};});const _0x851aaf=async(_0x4b0da6,_0x54209e)=>{const _0x346385=_0x1be63c;return configController[_0x346385(0x4d0)+_0x346385(0x2b4)+_0x346385(0x456)+_0x346385(0x20e)](),await configController[_0x346385(0x1e9)+'fig'](_0x4b0da6,_0x54209e),{'ok':!![]};};Object[_0x1be63c(0x305)](requestIdHooks,registerRequestIdHandlers({'configController':configController,'handle':_0x5efaba,'mainLogger':mainLogger})),_0x2aab33(),_0x118015(),_0x5efaba(_0x1be63c(0x27e)+_0x1be63c(0x25f)+'p',async(_0x4544be,_0x1cea6f)=>importMarketSkillZip({'payload':_0x1cea6f,'importSkillZip':_0x174a76=>importSkillZip({..._0x174a76,'app':app,'dialog':dialog,'dialogWindow':BrowserWindow[_0x1be63c(0x121)+_0x1be63c(0x41a)](_0x4544be[_0x1be63c(0x486)])||mainWindow,'configController':configController}),'configController':configController})),_0x5efaba('skills:u'+'pdate',(_0x3fb8c8,_0x14b2e9)=>updateManagedSkillConfig({'payload':_0x14b2e9,'configController':configController})),_0x5efaba(_0x1be63c(0x205)+'elete',(_0x39f396,_0x1dac58)=>deleteMarketSkillRegistryEntry({'payload':_0x1dac58,'deleteManagedSkill':_0x241f73=>deleteManagedSkill({..._0x241f73,'gateway':_0x2fa75b(),'configController':configController}),'configController':configController}));const _0x5488c2=ensureGeneratedFilesStore();_0x5efaba(_0x1be63c(0x267)+'rated-fi'+'les:list',async()=>_0x5488c2[_0x1be63c(0x1d9)]()),_0x5efaba(_0x1be63c(0x267)+_0x1be63c(0x2ad)+_0x1be63c(0x17d)+_0x1be63c(0x1e7)+_0x1be63c(0x3a6),async(_0x57ee62,_0x2abd4f)=>_0x5488c2['listBySe'+_0x1be63c(0x3ca)](String(_0x2abd4f||''))),_0x5efaba(_0x1be63c(0x267)+_0x1be63c(0x2ad)+'les:upse'+'rt',async(_0x1a5007,_0x1a7938={})=>_0x5488c2[_0x1be63c(0x3bc)](_0x1a7938)),_0x5efaba('app:gene'+_0x1be63c(0x2ad)+_0x1be63c(0x2b9),async(_0x412a5b,_0x3ca748)=>_0x5488c2[_0x1be63c(0x21e)](String(_0x3ca748||''))),_0x5efaba('app:gene'+_0x1be63c(0x2ad)+_0x1be63c(0x2b9)+_0x1be63c(0x1e7)+_0x1be63c(0x3a6),async(_0x2c6c5f,_0x3b28f7)=>_0x5488c2['hideBySe'+_0x1be63c(0x3ca)](String(_0x3b28f7||''))),_0x5efaba(_0x1be63c(0x267)+_0x1be63c(0x2ad)+'les:dele'+'te',async(_0x34b996,_0x46d8e9)=>_0x5488c2['deleteFi'+'le'](String(_0x46d8e9||''))),_0x5efaba(_0x1be63c(0x267)+_0x1be63c(0x2ad)+_0x1be63c(0x1a0)+_0x1be63c(0x4ce)+'e',async(_0x3d3b59,_0x32e04d=[])=>_0x5488c2[_0x1be63c(0x2de)+_0x1be63c(0x396)](_0x32e04d)),_0x5efaba('app:gene'+'rated-fi'+_0x1be63c(0x440)+'al',async(_0x59c59f,_0x5444df)=>revealPathInFolder(_0x5444df)),_0x5efaba('artifact'+'s:list',async(_0xbc05e9,_0x4ccecb={})=>{const _0x301efb=_0x1be63c,_0xa5b50a=_0x4ccecb&&typeof _0x4ccecb==='object'&&_0x301efb(0x3b6)+'ey'in _0x4ccecb?String(_0x4ccecb[_0x301efb(0x3b6)+'ey']||''):'';return _0xa5b50a?_0x5488c2[_0x301efb(0x270)+_0x301efb(0x3ca)](_0xa5b50a):_0x5488c2[_0x301efb(0x1d9)]();}),_0x5efaba(_0x1be63c(0x250)+_0x1be63c(0x38d),async(_0x2b5e78,_0x489faa={})=>_0x5488c2[_0x1be63c(0x3bc)](_0x489faa)),_0x5efaba(_0x1be63c(0x250)+_0x1be63c(0x1e3),async(_0x2fcebd,_0x30ea9b={})=>_0x5488c2[_0x1be63c(0x21e)](String(_0x30ea9b['id']||_0x30ea9b||''))),_0x5efaba(_0x1be63c(0x250)+_0x1be63c(0x431),async(_0x230e11,_0xbbd7={})=>_0x5488c2[_0x1be63c(0x446)+'le'](String(_0xbbd7['id']||_0xbbd7||''))),_0x5efaba(_0x1be63c(0x250)+_0x1be63c(0x431)+_0x1be63c(0x18f),async(_0x3049cc,_0x4dcfab={})=>_0x5488c2['deletedS'+_0x1be63c(0x396)](_0x4dcfab[_0x1be63c(0x30b)]||_0x4dcfab)),_0x5efaba('artifact'+_0x1be63c(0x1ce),async(_0x4370d0,_0xa40087={})=>{const _0x4ec59d=_0x1be63c,_0x338a77=typeof _0xa40087===_0x4ec59d(0x1f5)?_0xa40087:_0xa40087[_0x4ec59d(0x216)]||_0xa40087[_0x4ec59d(0x228)];return revealPathInFolder(_0x338a77);});const _0x4cc67d=createPreferencesStore({'stateDir':configController[_0x1be63c(0x384)+_0x1be63c(0x1bc)](),'storeFile':_0x1be63c(0x3f7)+_0x1be63c(0x24b)+'ces.json'}),_0x371bb8=await _0x4cc67d[_0x1be63c(0x3d0)](_0x1be63c(0x251)+_0x1be63c(0x329),configController['paths']['logLevel']),_0x3dfb78=setShellLoggerLevel(_0x371bb8);setRuntimeLoggerLevel(_0x371bb8),mainLogger?.[_0x1be63c(0x393)](_0x1be63c(0x240)+_0x1be63c(0x1cc)+_0x1be63c(0x16f)+_0x1be63c(0x479),{'level':_0x3dfb78,'configuredLevel':configController[_0x1be63c(0x30b)][_0x1be63c(0x2e8)],'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),_0x5efaba(_0x1be63c(0x120)+_0x1be63c(0x2f9)+'se',async()=>_0x4cc67d[_0x1be63c(0x3d0)](_0x1be63c(0x3ce)+_0x1be63c(0x501)+'se',![])),_0x5efaba('app:tray'+_0x1be63c(0x24a)+'se',async(_0x180bd7,_0x1dd13a)=>_0x4cc67d[_0x1be63c(0x430)](_0x1be63c(0x3ce)+'rayOnClo'+'se',_0x1dd13a===!![])),_0x5efaba(_0x1be63c(0x131)+_0x1be63c(0x21b),async()=>({'level':getShellLoggerLevel(configController[_0x1be63c(0x30b)]),'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)})),_0x5efaba('logs:set'+_0x1be63c(0x21b),async(_0x2af879,_0x1edf99={})=>{const _0xcfb7e7=_0x1be63c,_0x4f3036=normalizeRequestedLogLevel(typeof _0x1edf99===_0xcfb7e7(0x1f5)?_0x1edf99:_0x1edf99['level']);await _0x4cc67d[_0xcfb7e7(0x430)](_0xcfb7e7(0x251)+_0xcfb7e7(0x329),_0x4f3036);const _0x4db6d0=setShellLoggerLevel(_0x4f3036);return setRuntimeLoggerLevel(_0x4f3036),await writeMainAuditLog(_0xcfb7e7(0x240)+_0xcfb7e7(0x1cc)+_0xcfb7e7(0x2b2),{'requestedLevel':_0x4f3036,'level':_0x4db6d0,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),{'ok':!![],'level':_0x4db6d0,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)};}),registerFileHandlers({'app':app,'filesLogger':filesLogger,'handle':_0x5efaba,'sep':sep,'stateDir':configController[_0x1be63c(0x384)+_0x1be63c(0x1bc)](),'toHomePath':toHomePath}),registerProductLogHandlers({'app':app,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'exportLogsArchive':exportLogsArchive,'handle':_0x5efaba,'mainLogger':mainLogger,'rendererLogger':rendererLogger,'summarizeText':summarizeText,'toHomePath':toHomePath}),registerModelHandlers({'handle':_0x5efaba,'modelHandlers':{'saveCustomModel':_0x55232e=>_0x2fa75b()['models']['saveCust'+_0x1be63c(0x42e)](_0x55232e),'deleteCustomModel':_0x46b3c2=>_0x2fa75b()[_0x1be63c(0x478)][_0x1be63c(0x2c9)+_0x1be63c(0x34b)+'l'](_0x46b3c2)}}),connectorController=createConnectorController({'shellConfig':shellConfig,'configController':configController,'broadcast':broadcast,'shell':shell,'getRuntimeSpawnContext':getRuntimeSpawnContext,'openClawConfigHandlers':{'update':(..._0x2bc469)=>configController['updateOp'+'enClawCo'+_0x1be63c(0x3b4)](..._0x2bc469),'setPluginConfig':_0x522e8a=>configController[_0x1be63c(0x47a)+_0x1be63c(0x36c)+_0x1be63c(0x350)](_0x522e8a),'setChannelConfig':_0x207f47=>configController['setOpenC'+_0x1be63c(0x342)+_0x1be63c(0x288)](_0x207f47),'deleteChannelConfig':_0x2e20c8=>configController[_0x1be63c(0x1d2)+_0x1be63c(0x353)+_0x1be63c(0x368)+_0x1be63c(0x287)](_0x2e20c8),'setSkillEntry':_0xb6d2b0=>configController[_0x1be63c(0x47a)+_0x1be63c(0x225)+_0x1be63c(0x495)](_0xb6d2b0),'deleteSkillEntry':_0x82c745=>configController[_0x1be63c(0x1d2)+_0x1be63c(0x39e)+_0x1be63c(0x1c5)](_0x82c745),'setMcpServer':_0x40deb1=>configController['setOpenC'+_0x1be63c(0x237)+_0x1be63c(0x4e3)](_0x40deb1),'deleteMcpServer':_0x1bd9de=>configController[_0x1be63c(0x1d2)+_0x1be63c(0x219)+'pServer'](_0x1bd9de)},'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand}),_0x5efaba(_0x1be63c(0x1e4)+'m-channe'+_0x1be63c(0x4aa),async()=>connectorController[_0x1be63c(0x49a)+_0x1be63c(0x368)+_0x1be63c(0x32e)]()),_0x5efaba(_0x1be63c(0x1e4)+_0x1be63c(0x2b0)+'ls:delet'+'e',async(_0x579d32,_0x2d0567={})=>connectorController[_0x1be63c(0x1c3)+'ChannelC'+'onfig'](_0x2d0567)),_0x5efaba(_0x1be63c(0x1e4)+_0x1be63c(0x2b0)+_0x1be63c(0x3f2)+'nabled',async(_0x42772b,_0x41c3ca={})=>connectorController[_0x1be63c(0x190)+_0x1be63c(0x49f)+_0x1be63c(0x12c)](_0x41c3ca)),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x18a),async(_0xd93151,_0x311fec={})=>{const _0x261b3d=_0x1be63c,_0x2cfa63=String(_0x311fec[_0x261b3d(0x461)+'d']||_0x311fec[_0x261b3d(0x202)]?.['channelI'+'d']||_0x311fec['payload']?.['id']||'');if(!_0x2cfa63)throw new Error(_0x261b3d(0x461)+_0x261b3d(0x187)+_0x261b3d(0x16b));const _0x87fb65=_0x311fec[_0x261b3d(0x202)]||_0x311fec,_0x13fa27={'feishu':connectorController[_0x261b3d(0x331)+_0x261b3d(0x259)+_0x261b3d(0x30f)],'qqbot':connectorController[_0x261b3d(0x116)+'tChannel'+'Config'],'wecom':connectorController[_0x261b3d(0x1a6)+_0x261b3d(0x1a3)+'Config'],'qq_mail':connectorController[_0x261b3d(0x42a)+_0x261b3d(0x1dd)+'torConfi'+'g'],'netease_mail':connectorController[_0x261b3d(0x1c4)+_0x261b3d(0x3e3)+_0x261b3d(0x492)+_0x261b3d(0x247)],'tencent_exmail':connectorController[_0x261b3d(0x29f)+_0x261b3d(0x302)+_0x261b3d(0x42d)+_0x261b3d(0x1c0)],'feishu_doc':connectorController[_0x261b3d(0x331)+_0x261b3d(0x2c1)+_0x261b3d(0x4ac)+_0x261b3d(0x3b4)],'tencent_docs':connectorController['saveTenc'+_0x261b3d(0x2b5)+_0x261b3d(0x492)+_0x261b3d(0x247)],'kdocs':connectorController[_0x261b3d(0x3ed)+_0x261b3d(0x472)+_0x261b3d(0x1c0)],'dingtalk_doc':connectorController[_0x261b3d(0x1ec)+_0x261b3d(0x394)+_0x261b3d(0x492)+_0x261b3d(0x247)]},_0x2e3c28=_0x13fa27[_0x2cfa63];if(!_0x2e3c28)throw new Error(_0x261b3d(0x114)+'ted\x20conn'+'ector:\x20'+_0x2cfa63);return _0x2e3c28(_0x87fb65);}),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x1b5)+_0x1be63c(0x1b7)+_0x1be63c(0x46e),async(_0x2bf2ee,_0x4b1313={})=>connectorController[_0x1be63c(0x331)+_0x1be63c(0x259)+'lConfig'](_0x4b1313)),_0x5efaba('config:c'+_0x1be63c(0x492)+_0x1be63c(0x169)+_0x1be63c(0x3c6)+_0x1be63c(0x335),async(_0x32f5a4,_0x18aa7a={})=>connectorController[_0x1be63c(0x116)+'tChannel'+_0x1be63c(0x247)](_0x18aa7a)),_0x5efaba(_0x1be63c(0x191)+'onnector'+':save-we'+_0x1be63c(0x322)+_0x1be63c(0x335),async(_0x51be02,_0x362de0={})=>connectorController[_0x1be63c(0x1a6)+_0x1be63c(0x1a3)+_0x1be63c(0x247)](_0x362de0)),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+':save-qq'+_0x1be63c(0x46b),async(_0x430f92,_0x4c245f={})=>connectorController['saveQqMa'+'ilConnec'+_0x1be63c(0x264)+'g'](_0x4c245f)),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x34a)+_0x1be63c(0x2fb)+'il',async(_0x32d509,_0x56bfa5={})=>connectorController[_0x1be63c(0x1c4)+'aseMailC'+'onnector'+_0x1be63c(0x247)](_0x56bfa5)),_0x5efaba('config:c'+_0x1be63c(0x492)+_0x1be63c(0x2af)+'ncent-ex'+'mail',async(_0xc1043c,_0x3a484e={})=>connectorController[_0x1be63c(0x29f)+_0x1be63c(0x302)+_0x1be63c(0x42d)+_0x1be63c(0x1c0)](_0x3a484e)),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x1b5)+_0x1be63c(0x213),async(_0x1ef6aa,_0x4d968c={})=>connectorController[_0x1be63c(0x331)+_0x1be63c(0x2c1)+_0x1be63c(0x4ac)+'nfig'](_0x4d968c)),_0x5efaba(_0x1be63c(0x191)+'onnector'+':save-te'+'ncent-do'+'cs',async(_0x3665cd,_0x7353fc={})=>connectorController[_0x1be63c(0x29f)+_0x1be63c(0x2b5)+_0x1be63c(0x492)+_0x1be63c(0x247)](_0x7353fc)),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x201)+_0x1be63c(0x3d3),async(_0xa91d4a,_0x197f2f={})=>connectorController[_0x1be63c(0x3ed)+'sConnect'+_0x1be63c(0x1c0)](_0x197f2f)),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x1e8)+_0x1be63c(0x130)+'oc',async(_0x293658,_0x21da86={})=>connectorController[_0x1be63c(0x1ec)+_0x1be63c(0x394)+_0x1be63c(0x492)+_0x1be63c(0x247)](_0x21da86)),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x4cf)+_0x1be63c(0x185),async(_0x52342f,_0x3b5551={})=>{const _0x5e1889=_0x1be63c,_0xdedfa7=String(_0x3b5551['channelI'+'d']||_0x3b5551[_0x5e1889(0x150)]||'');if(_0xdedfa7===_0x5e1889(0x2ec))return connectorController[_0x5e1889(0x35c)+_0x5e1889(0x4c5)+_0x5e1889(0x22e)+'ion']();if(_0xdedfa7===_0x5e1889(0x301)+'oc')return connectorController[_0x5e1889(0x179)+'shuDocCl'+_0x5e1889(0x2e7)+'Session']();if(_0xdedfa7===_0x5e1889(0x37b))return connectorController[_0x5e1889(0x179)+_0x5e1889(0x476)+_0x5e1889(0x239)+_0x5e1889(0x325)](_0x3b5551);if(_0xdedfa7==='openclaw'+_0x5e1889(0x4e1)||_0xdedfa7===_0x5e1889(0x48a))return connectorController[_0x5e1889(0x4d1)+_0x5e1889(0x262)+_0x5e1889(0x27a)+'n']({'gatewayPort':_0x2fa75b()[_0x5e1889(0x193)+_0x5e1889(0x3fc)](),'gatewayToken':_0x2fa75b()[_0x5e1889(0x286)+_0x5e1889(0x451)]()});throw new Error(_0x5e1889(0x114)+_0x5e1889(0x2d0)+'ector\x20se'+'ssion:\x20'+(_0xdedfa7||'unknown'));}),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x4cf)+_0x1be63c(0x224),async(_0x323a1b,_0x252837={})=>{const _0x30e685=_0x1be63c,_0x497828=String(_0x252837[_0x30e685(0x461)+'d']||_0x252837[_0x30e685(0x150)]||'');if(_0x497828===_0x30e685(0x2ec))return connectorController[_0x30e685(0x3b7)+_0x30e685(0x31a)+'ctStatus'](_0x252837);if(_0x497828===_0x30e685(0x301)+'oc')return connectorController[_0x30e685(0x1e5)+_0x30e685(0x2b3)+'onnectSt'+_0x30e685(0x4bd)](_0x252837);if(_0x497828===_0x30e685(0x37b))return connectorController[_0x30e685(0x1e5)+_0x30e685(0x307)+_0x30e685(0x422)+_0x30e685(0x4c0)](_0x252837);throw new Error(_0x30e685(0x114)+_0x30e685(0x2d0)+_0x30e685(0x466)+_0x30e685(0x39b)+(_0x497828||'unknown'));}),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x4cf)+_0x1be63c(0x3cf),async(_0x514cc8,_0x45be60={})=>{const _0xcd6d01=_0x1be63c,_0x3d3868=String(_0x45be60['channelI'+'d']||_0x45be60['type']||'');if(_0x3d3868===_0xcd6d01(0x2ec))return connectorController['cancelKd'+_0xcd6d01(0x2eb)+_0xcd6d01(0x3c8)+_0xcd6d01(0x129)](_0x45be60);if(_0x3d3868==='feishu_d'+'oc')return connectorController['cancelFe'+_0xcd6d01(0x123)+_0xcd6d01(0x230)+'tSession'](_0x45be60);if(_0x3d3868==='feishu')return connectorController[_0xcd6d01(0x4ad)+_0xcd6d01(0x2a1)+_0xcd6d01(0x20d)+_0xcd6d01(0x4e9)](_0x45be60);if(_0x3d3868===_0xcd6d01(0x41d)+_0xcd6d01(0x4e1)||_0x3d3868==='wechat')return connectorController['cancelWe'+_0xcd6d01(0x1ea)+_0xcd6d01(0x298)+'on']();return{'ok':!![]};}),_0x5efaba(_0x1be63c(0x191)+_0x1be63c(0x492)+_0x1be63c(0x4cf)+':complet'+'e',async(_0x2fabde,_0x2014e0={})=>{const _0x419172=_0x1be63c,_0x226868=String(_0x2014e0['channelI'+'d']||_0x2014e0[_0x419172(0x150)]||'');if(_0x226868===_0x419172(0x301)+'oc')return connectorController[_0x419172(0x31e)+_0x419172(0x26e)+_0x419172(0x3c4)+_0x419172(0x398)+'on'](_0x2014e0);throw new Error(_0x419172(0x114)+'ted\x20conn'+_0x419172(0x466)+_0x419172(0x39b)+(_0x226868||_0x419172(0x35f)));}),_0x5efaba(_0x1be63c(0x1ab)+_0x1be63c(0x38c),()=>connectorController[_0x1be63c(0x2e4)+'igSnapsh'+'ot']());const _0x241678=_0x5b7d9a=>{const _0x2d4f4c=_0x1be63c,_0x1c440b=_0x5b7d9a[_0x2d4f4c(0x3df)]&&typeof _0x5b7d9a[_0x2d4f4c(0x3df)]===_0x2d4f4c(0x139)?_0x5b7d9a[_0x2d4f4c(0x3df)]:{};return Array['isArray'](_0x1c440b[_0x2d4f4c(0x1d9)])?_0x1c440b[_0x2d4f4c(0x1d9)]:[];},_0x2d20ff=_0x508ff5=>{const _0x12d881=_0x1be63c,_0x5b3d87=typeof _0x508ff5===_0x12d881(0x1f5)?_0x508ff5[_0x12d881(0x4a3)]():'',_0x590dba=_0x5b3d87[_0x12d881(0x245)](/^agent:([^:]+):/);return _0x590dba?.[0x1]||'';},_0x8efb0c=(_0x478b68={},_0x37507e=[])=>{const _0x2eded5=_0x1be63c,_0x4987d4=Array[_0x2eded5(0x4cb)](_0x478b68[_0x2eded5(0x4e8)])?_0x478b68[_0x2eded5(0x4e8)]:[],_0x5ee579=Array[_0x2eded5(0x4cb)](_0x478b68['agents'])?_0x478b68[_0x2eded5(0x3df)]:Array['isArray'](_0x478b68[_0x2eded5(0x1d9)])?_0x478b68[_0x2eded5(0x1d9)]:_0x4987d4[_0x2eded5(0x24f)](_0x57d0f4=>_0x57d0f4?.[_0x2eded5(0x2d6)])[_0x2eded5(0x4df)](Boolean),_0x4977ea=Array['isArray'](_0x37507e)?_0x37507e:[];return _0x5ee579[_0x2eded5(0x24f)](_0x1d8a1b=>{const _0x54dc60=_0x2eded5,_0x381a35=String(_0x1d8a1b?.['id']||_0x1d8a1b?.['agentId']||'')[_0x54dc60(0x4a3)](),_0x46d399=_0x4987d4[_0x54dc60(0x2d1)](_0x33e559=>{const _0x1b3c13=_0x54dc60,_0x3b07ce=String(_0x33e559?.[_0x1b3c13(0x2d6)]?.['id']||_0x33e559?.[_0x1b3c13(0x2d6)]?.['agentId']||'')[_0x1b3c13(0x4a3)]();return _0x3b07ce===_0x381a35;});return{..._0x46d399&&typeof _0x46d399===_0x54dc60(0x139)?_0x46d399:{},'agent':_0x1d8a1b,'sessions':_0x381a35?_0x4977ea['filter'](_0x5dcb3a=>{const _0x23fafe=_0x54dc60,_0x2294cb=String(_0x5dcb3a?.['agentId']||_0x5dcb3a?.[_0x23fafe(0x4af)]||_0x5dcb3a?.[_0x23fafe(0x2d6)]?.['id']||_0x2d20ff(_0x5dcb3a?.['key'])||'')[_0x23fafe(0x4a3)]();return _0x2294cb?_0x2294cb===_0x381a35:_0x381a35===_0x23fafe(0x311);}):[]};});};_0x5efaba('app:upda'+_0x1be63c(0x3ab)+_0x1be63c(0x396),async()=>updateController?.[_0x1be63c(0x2e3)]()),_0x5efaba(_0x1be63c(0x3db)+_0x1be63c(0x4fd),async()=>updateController?.[_0x1be63c(0x17a)+_0x1be63c(0x316)]()),_0x5efaba('app:upda'+'te:downl'+_0x1be63c(0x4ca),async()=>updateController?.[_0x1be63c(0x299)+_0x1be63c(0x255)]()),_0x5efaba(_0x1be63c(0x3db)+_0x1be63c(0x124)+_0x1be63c(0x4d6)+_0x1be63c(0x304),async()=>updateController?.[_0x1be63c(0x3ae)+_0x1be63c(0x2ce)]()),_0x5efaba('app:file'+':choose',async(_0x5bc3a6,_0x54dac8={})=>{const _0x556e0a=_0x1be63c,_0xca2125=await dialog[_0x556e0a(0x1e6)+'Dialog'](BrowserWindow['fromWebC'+_0x556e0a(0x41a)](_0x5bc3a6['sender'])??mainWindow,{'properties':[_0x556e0a(0x233),..._0x54dac8?.[_0x556e0a(0x3dc)]!==0x1?['multiSel'+_0x556e0a(0x47c)]:[]],'filters':_0x54dac8?.[_0x556e0a(0x414)+_0x556e0a(0x226)+'s']?[{'name':_0x556e0a(0x2ab),'extensions':_0x54dac8['customNa'+_0x556e0a(0x226)+'s']}]:undefined});return _0xca2125[_0x556e0a(0x194)+'s'][_0x556e0a(0x24f)](_0x48328b=>({'path':_0x48328b,'name':_0x48328b[_0x556e0a(0x3a2)](/[\\/]/)['pop']()||_0x48328b}));}),_0x5efaba('app:file'+_0x1be63c(0x2c0)+_0x1be63c(0x366),async(_0x3e36cd,_0x502994={})=>{const _0xae14d=_0x1be63c,_0x1ac024=String(_0x502994[_0xae14d(0x1d5)+'th']||'');if(!_0x1ac024)return{'success':![],'error':_0xae14d(0x1d5)+'th\x20is\x20re'+_0xae14d(0x484)};const _0x168c16=await dialog[_0xae14d(0x31c)+'Dialog'](mainWindow,{'defaultPath':_0x502994[_0xae14d(0x2a8)+_0xae14d(0x20f)]||_0x1ac024[_0xae14d(0x3a2)](/[\\/]/)[_0xae14d(0x141)]()});if(_0x168c16[_0xae14d(0x3b1)]||!_0x168c16[_0xae14d(0x194)])return{'success':![],'canceled':!![]};const {copyFile:_0x531ce5}=await import('node:fs/'+_0xae14d(0x281));return await _0x531ce5(_0x1ac024,_0x168c16[_0xae14d(0x194)]),{'success':!![],'filePath':_0x168c16[_0xae14d(0x194)]};}),_0x5efaba(_0x1be63c(0x188)+_0x1be63c(0x3c0)+_0x1be63c(0x117),async(_0x4f416e,_0x3f4e6f)=>{const _0x161c0e=_0x1be63c;return clipboard[_0x161c0e(0x31f)+'t'](String(_0x3f4e6f??'')),{'ok':!![]};}),_0x5efaba(_0x1be63c(0x27c)+_0x1be63c(0x2f1)+'rt',async()=>{const _0x437aa3=_0x1be63c;return app[_0x437aa3(0x426)](),app[_0x437aa3(0x3c2)](),{'ok':!![]};}),_0x5efaba(_0x1be63c(0x260)+_0x1be63c(0x376)+_0x1be63c(0x479),_0x46cce9=>Boolean(BrowserWindow['fromWebC'+_0x1be63c(0x41a)](_0x46cce9[_0x1be63c(0x486)])?.[_0x1be63c(0x13d)+_0x1be63c(0x479)]())),_0x5efaba(_0x1be63c(0x43a)+_0x1be63c(0x3fe),async(_0x4f480e,_0x5d1aae)=>{const _0x3d132a=_0x1be63c;return app['setLogin'+_0x3d132a(0x2bc)+_0x3d132a(0x309)]({'openAtLogin':_0x5d1aae===!![]}),{'ok':!![],'enabled':_0x5d1aae===!![]};}),_0x5efaba('app:star'+_0x1be63c(0x2cd),async()=>app['getLogin'+_0x1be63c(0x2bc)+_0x1be63c(0x309)]()[_0x1be63c(0x265)+_0x1be63c(0x42b)]),_0x5efaba(_0x1be63c(0x4b3)+':choose-'+'folder',async _0x4433d6=>{const _0x577a3f=_0x1be63c,_0x4612a4=await dialog[_0x577a3f(0x1e6)+_0x577a3f(0x18e)](BrowserWindow[_0x577a3f(0x121)+'ontents'](_0x4433d6[_0x577a3f(0x486)])??mainWindow,{'properties':[_0x577a3f(0x143)+_0x577a3f(0x481)]});return _0x4612a4[_0x577a3f(0x194)+'s'][0x0]||'';}),_0x5efaba(_0x1be63c(0x27c)+_0x1be63c(0x488)+_0x1be63c(0x3b3),async(_0xf105f9,_0x695ce1)=>{const _0x379764=_0x1be63c,_0x11a957=await shell[_0x379764(0x44c)](String(_0x695ce1||''));return _0x11a957||'';}),_0x5efaba('openclaw'+_0x1be63c(0x505)+_0x1be63c(0x19a),async()=>_0x2fa75b()['gatewayT'+_0x1be63c(0x451)]()),_0x5efaba(_0x1be63c(0x41d)+_0x1be63c(0x505)+'-port',async()=>_0x2fa75b()[_0x1be63c(0x193)+_0x1be63c(0x3fc)]()),_0x5efaba(_0x1be63c(0x41d)+_0x1be63c(0x4cc)+'e',async(_0x3bd360,_0x3be346=[])=>{const _0x21106f=_0x1be63c,_0x5c5c78=await runClawOnce(shellConfig[_0x21106f(0x4ba)+_0x21106f(0x23d)],Array[_0x21106f(0x4cb)](_0x3be346)?_0x3be346:[]);return{'ok':_0x5c5c78[_0x21106f(0x1bb)]===0x0,..._0x5c5c78};});const _0x3fc355=configController[_0x1be63c(0x384)+'tateDir']();sessionSqliteStore=ensureSessionSqliteStore();const _0xe4b1d5=createAgentSessionsMapStore({'stateDir':_0x3fc355});_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x256),async(_0x138311,_0x5cccb4={})=>{const _0x3853cb=_0x1be63c,_0x2f1e91=_0x5cccb4&&typeof _0x5cccb4===_0x3853cb(0x139)?_0x5cccb4:{},_0x5ecd52=_0x2f1e91['parentSe'+'ssionKey']||_0x2f1e91[_0x3853cb(0x3b6)+'ey'],_0x2da7b9=await _0x2fa75b()['sessions']['create']({..._0x2f1e91,'parentSessionKey':_0x5ecd52}),_0x3951a3=String(_0x2da7b9?.[_0x3853cb(0x46a)]||'')[_0x3853cb(0x4a3)](),_0x151eba=String(_0x2da7b9?.['sessionI'+'d']||'')[_0x3853cb(0x4a3)]();return _0x3951a3&&_0x151eba&&await _0xe4b1d5['upsert']({'sessionKey':_0x3951a3,'sessionId':_0x151eba,'sourceSessionKey':_0x2f1e91[_0x3853cb(0x3a3)+_0x3853cb(0x14a)]||_0x5ecd52,...typeof _0x2f1e91['keepUnti'+'lTs']==='number'?{'keepUntilTs':_0x2f1e91[_0x3853cb(0x489)+_0x3853cb(0x2a4)]}:{},...typeof _0x2f1e91[_0x3853cb(0x2cb)+'le']===_0x3853cb(0x1f5)?{'cutoffRole':_0x2f1e91[_0x3853cb(0x2cb)+'le']}:{},...typeof _0x2f1e91[_0x3853cb(0x4bf)+'xt']===_0x3853cb(0x1f5)?{'cutoffText':_0x2f1e91['cutoffTe'+'xt']}:{}}),_0x2da7b9;}),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x2c4)+_0x1be63c(0x435),async(_0x5eb0ed,_0x351302={})=>_0xe4b1d5['get'](_0x351302)),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x2c4)+_0x1be63c(0x1c7)+'t',async(_0x40d4df,_0x389f9e={})=>_0xe4b1d5[_0x1be63c(0x3bc)](_0x389f9e)),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x2c4)+_0x1be63c(0x248),async(_0x4b91e8,_0xf88e7b={})=>{const _0x47c6d2=_0x1be63c,_0x3f0fd5=String(_0xf88e7b[_0x47c6d2(0x3b6)+'ey']||'')[_0x47c6d2(0x4a3)]();if(!_0x3f0fd5)return null;return await sessionSqliteStore[_0x47c6d2(0x195)+_0x47c6d2(0x42c)](_0x3f0fd5);}),_0x5efaba('agents:c'+_0x1be63c(0x2e5),async(_0x7782ee,_0x99bdc0={})=>{const _0x79ca5c=_0x1be63c,_0x3252e6=await readMutableConfig(),_0x9ce879=_0x3252e6[_0x79ca5c(0x3df)]&&typeof _0x3252e6['agents']===_0x79ca5c(0x139)?_0x3252e6[_0x79ca5c(0x3df)]:{},_0x12579a=_0x241678(_0x3252e6),_0x3faaf6=String(_0x99bdc0['id']||_0x99bdc0['name']||'agent-'+Date[_0x79ca5c(0x330)]())['trim']()[_0x79ca5c(0x11b)](/\s+/g,'-'),_0x15c9b3={'id':_0x3faaf6,'name':String(_0x99bdc0[_0x79ca5c(0x303)]||_0x3faaf6),..._0x99bdc0[_0x79ca5c(0x449)+'e']?{'workspace':String(_0x99bdc0[_0x79ca5c(0x449)+'e'])}:{},..._0x99bdc0['model']?{'model':_0x99bdc0[_0x79ca5c(0x175)]}:{},..._0x99bdc0[_0x79ca5c(0x457)]?{'emoji':_0x99bdc0[_0x79ca5c(0x457)]}:{},..._0x99bdc0[_0x79ca5c(0x45c)]?{'avatar':_0x99bdc0['avatar']}:{},...Array['isArray'](_0x99bdc0[_0x79ca5c(0x25e)])?{'skills':_0x99bdc0[_0x79ca5c(0x25e)]}:{}};if(_0x12579a[_0x79ca5c(0x2ca)](_0x34fff4=>_0x34fff4?.['id']===_0x3faaf6))throw new Error(_0x79ca5c(0x4e6)+'ready\x20ex'+_0x79ca5c(0x46c));return _0x9ce879[_0x79ca5c(0x1d9)]=[..._0x12579a,_0x15c9b3],_0x3252e6[_0x79ca5c(0x3df)]=_0x9ce879,await _0x851aaf(_0x3252e6,_0x79ca5c(0x19b)+_0x79ca5c(0x136)),{'ok':!![],'agent':_0x15c9b3};}),_0x5efaba(_0x1be63c(0x13e)+_0x1be63c(0x455),async(_0x36f22c,_0x83f805={})=>{const _0x2f1df3=_0x1be63c,_0x4c968f=String(_0x83f805['id']||_0x83f805['agentId']||'')[_0x2f1df3(0x4a3)]();if(!_0x4c968f)throw new Error('agent\x20id'+_0x2f1df3(0x3b0)+_0x2f1df3(0x419));const _0x3f76ea=await readMutableConfig(),_0x28f6b2=_0x3f76ea['agents']&&typeof _0x3f76ea[_0x2f1df3(0x3df)]===_0x2f1df3(0x139)?_0x3f76ea[_0x2f1df3(0x3df)]:{},_0x2ea238=_0x241678(_0x3f76ea),_0x258d34=_0x2ea238[_0x2f1df3(0x24f)](_0x19d837=>_0x19d837?.['id']===_0x4c968f?{..._0x19d837,..._0x83f805,'id':_0x4c968f}:_0x19d837);return _0x28f6b2['list']=_0x258d34,_0x3f76ea[_0x2f1df3(0x3df)]=_0x28f6b2,await _0x851aaf(_0x3f76ea,_0x2f1df3(0x2ee)+'dated'),{'ok':!![],'agent':_0x258d34[_0x2f1df3(0x2d1)](_0x2932fd=>_0x2932fd?.['id']===_0x4c968f)||null};}),_0x5efaba('agents:d'+_0x1be63c(0x441),async(_0x516c32,_0x289b0e={})=>{const _0x52c121=_0x1be63c,_0x5e94bb=String(_0x289b0e['id']||_0x289b0e['agentId']||'')['trim']();if(!_0x5e94bb)throw new Error(_0x52c121(0x46d)+_0x52c121(0x3b0)+'ired');const _0x5834cb=await readMutableConfig(),_0x308a6b=_0x5834cb[_0x52c121(0x3df)]&&typeof _0x5834cb[_0x52c121(0x3df)]==='object'?_0x5834cb[_0x52c121(0x3df)]:{};return _0x308a6b['list']=_0x241678(_0x5834cb)[_0x52c121(0x4df)](_0x568bb7=>_0x568bb7?.['id']!==_0x5e94bb),_0x5834cb[_0x52c121(0x3df)]=_0x308a6b,await _0x851aaf(_0x5834cb,_0x52c121(0x15f)+_0x52c121(0x2a0)),{'ok':!![],'agentId':_0x5e94bb};}),_0x5efaba('agents:w'+_0x1be63c(0x337)+_0x1be63c(0x37f)+'t',async(_0x2d73f5,_0x2a264e={})=>{const _0x9a82a1=_0x1be63c,[_0x577f1b,_0x2379cb]=await Promise['all']([_0x2fa75b()[_0x9a82a1(0x3df)][_0x9a82a1(0x1d9)](),ensureSessionDataService()[_0x9a82a1(0x157)+_0x9a82a1(0x38e)](_0x2a264e)[_0x9a82a1(0x43e)](()=>({'sessions':[]}))]),_0x3efd23=Array[_0x9a82a1(0x4cb)](_0x2379cb[_0x9a82a1(0x3a1)])?_0x2379cb[_0x9a82a1(0x3a1)]:[];return{..._0x577f1b,'sessions':_0x3efd23,'groups':_0x8efb0c(_0x577f1b,_0x3efd23)};}),terminalManager=createTerminalManager({'cwd':join(configController['resolveS'+'tateDir'](),_0x1be63c(0x449)+'e'),'emitData':_0x44e336=>broadcast('terminal'+_0x1be63c(0x16e),_0x44e336),'emitExit':_0x1a9a8e=>broadcast(_0x1be63c(0x172)+_0x1be63c(0x241),_0x1a9a8e)}),_0x5efaba(_0x1be63c(0x172)+_0x1be63c(0x1aa),async(_0x13d71a,_0x210f3a={})=>terminalManager[_0x1be63c(0x17f)](_0x210f3a)),_0x5efaba(_0x1be63c(0x172)+':input',async(_0x12fed0,_0x408315={})=>terminalManager['input'](_0x408315)),_0x5efaba(_0x1be63c(0x172)+_0x1be63c(0x30d),async(_0x2a0d5f,_0x551f6f={})=>terminalManager[_0x1be63c(0x4ff)](_0x551f6f)),_0x5efaba(_0x1be63c(0x172)+_0x1be63c(0x40c),async(_0x2a1d93,_0x1591a7={})=>terminalManager[_0x1be63c(0x11a)](_0x1591a7)),_0x5efaba(_0x1be63c(0x2df)+_0x1be63c(0x1d9),async()=>{const _0x3252bf=_0x1be63c,_0x21fd3b=gatewayController?.[_0x3252bf(0x197)+_0x3252bf(0x41e)]?.()||{};return _0x21fd3b[_0x3252bf(0x2c5)]||[];}),_0x5efaba('plugins:'+_0x1be63c(0x16a)+'ig',async(_0x2aec9d,_0xd50927={})=>{const _0x1c2caa=_0x1be63c,_0x22d27d=String(_0xd50927[_0x1c2caa(0x1f9)]||_0xd50927['id']||''),_0x4040cc=await readMutableConfig(),_0x9d7626=_0x4040cc['plugins']?.[_0x1c2caa(0x40f)]||{};return _0x22d27d?_0x9d7626[_0x22d27d]||null:_0x9d7626;}),_0x5efaba(_0x1be63c(0x2df)+_0x1be63c(0x1a7)+_0x1be63c(0x3b8),async(_0x163ce2,_0x1eb37a={})=>{const _0x22f159=_0x1be63c,_0x566b1e=String(_0x1eb37a[_0x22f159(0x1f9)]||_0x1eb37a['id']||'');if(!_0x566b1e)throw new Error(_0x22f159(0x1f9)+'\x20is\x20requ'+_0x22f159(0x419));const _0x59cfc3=await readMutableConfig(),_0xb0fdb1=_0x59cfc3[_0x22f159(0x2c5)]&&typeof _0x59cfc3['plugins']===_0x22f159(0x139)?_0x59cfc3[_0x22f159(0x2c5)]:{},_0x304590=_0xb0fdb1[_0x22f159(0x40f)]&&typeof _0xb0fdb1[_0x22f159(0x40f)]===_0x22f159(0x139)?_0xb0fdb1['entries']:{};return _0x304590[_0x566b1e]={..._0x304590[_0x566b1e]||{},..._0x1eb37a['config']||_0x1eb37a[_0x22f159(0x153)]||{}},_0xb0fdb1['entries']=_0x304590,_0x59cfc3[_0x22f159(0x2c5)]=_0xb0fdb1,_0x851aaf(_0x59cfc3,_0x22f159(0x475)+_0x22f159(0x321)+'dated');}),_0x5efaba('plugins:'+_0x1be63c(0x2c2),async(_0x8d9e40,_0x38bd95={})=>{const _0x1203d0=_0x1be63c,_0xea88e6=String(_0x38bd95['pluginId']||_0x38bd95['id']||'');if(!_0xea88e6)throw new Error(_0x1203d0(0x1f9)+_0x1203d0(0x3b0)+'ired');const _0x356fbb=await readMutableConfig(),_0x56521=_0x356fbb[_0x1203d0(0x2c5)]&&typeof _0x356fbb[_0x1203d0(0x2c5)]===_0x1203d0(0x139)?_0x356fbb[_0x1203d0(0x2c5)]:{},_0x3e467a=_0x56521['entries']&&typeof _0x56521[_0x1203d0(0x40f)]===_0x1203d0(0x139)?_0x56521[_0x1203d0(0x40f)]:{};return _0x3e467a[_0xea88e6]={..._0x3e467a[_0xea88e6]||{},'enabled':!![]},_0x56521['entries']=_0x3e467a,_0x356fbb[_0x1203d0(0x2c5)]=_0x56521,_0x851aaf(_0x356fbb,_0x1203d0(0x3f8)+_0x1203d0(0x3e7));}),_0x5efaba(_0x1be63c(0x2df)+_0x1be63c(0x1ee),async(_0x2c12e8,_0x4a3a9a={})=>{const _0x1a5bcf=_0x1be63c,_0x49a694=String(_0x4a3a9a[_0x1a5bcf(0x1f9)]||_0x4a3a9a['id']||'');if(!_0x49a694)throw new Error('pluginId'+'\x20is\x20requ'+_0x1a5bcf(0x419));const _0x305fe4=await readMutableConfig(),_0x8c7420=_0x305fe4[_0x1a5bcf(0x2c5)]&&typeof _0x305fe4[_0x1a5bcf(0x2c5)]===_0x1a5bcf(0x139)?_0x305fe4['plugins']:{},_0x28b725=_0x8c7420[_0x1a5bcf(0x40f)]&&typeof _0x8c7420[_0x1a5bcf(0x40f)]===_0x1a5bcf(0x139)?_0x8c7420['entries']:{};return _0x28b725[_0x49a694]={..._0x28b725[_0x49a694]||{},'enabled':![]},_0x8c7420[_0x1a5bcf(0x40f)]=_0x28b725,_0x305fe4[_0x1a5bcf(0x2c5)]=_0x8c7420,_0x851aaf(_0x305fe4,'plugin\x20d'+_0x1a5bcf(0x2a6));}),_0x5efaba(_0x1be63c(0x2df)+_0x1be63c(0x4f1),async(_0x5ca9eb,_0xb56c81={})=>({'plugins':await((async()=>{const _0x35ac98=_0x1be63c,_0x3963d0=gatewayController?.[_0x35ac98(0x197)+_0x35ac98(0x41e)]?.()||{};if(!_0xb56c81?.[_0x35ac98(0x1f9)]&&!_0xb56c81?.['id'])return _0x3963d0[_0x35ac98(0x2c5)]||[];const _0x2fd8c9=String(_0xb56c81[_0x35ac98(0x1f9)]||_0xb56c81['id']||'');return(_0x3963d0[_0x35ac98(0x2c5)]||[])['filter'](_0x4d7d6e=>_0x4d7d6e['pluginId']===_0x2fd8c9);})())})),_0x5efaba('tabs:nav'+_0x1be63c(0x465),async(_0x586267,_0x45459f)=>({'ok':!![],'payload':_0x45459f})),_0x5efaba(_0x1be63c(0x29a)+_0x1be63c(0x407)+'e',async(_0x354242,_0x3a156f)=>{const _0x239208=_0x1be63c;return broadcast(_0x239208(0x327)+_0x239208(0x30a),_0x3a156f),{'ok':!![]};}),_0x5efaba(_0x1be63c(0x1b9)+_0x1be63c(0x416)+_0x1be63c(0x2c8),async()=>{const _0x36c5a6=_0x1be63c;return broadcast('tabs-age'+'nt-state'+_0x36c5a6(0x506),{}),{'ok':!![]};}),_0x5efaba(_0x1be63c(0x4c1)+'resh-age'+_0x1be63c(0x2c8),async(_0x56dcce,_0x24be89={})=>{const _0x243daa=_0x1be63c;return broadcast('tabs-age'+_0x243daa(0x2c8)+_0x243daa(0x34d)+_0x243daa(0x506),_0x24be89),{'ok':!![]};}),_0x5efaba(_0x1be63c(0x4da)+_0x1be63c(0x2f4),_0x309e91=>{const _0x27f18e=_0x1be63c;return BrowserWindow[_0x27f18e(0x121)+_0x27f18e(0x41a)](_0x309e91[_0x27f18e(0x486)])?.[_0x27f18e(0x21c)](),{'ok':!![]};}),_0x5efaba(_0x1be63c(0x382)+_0x1be63c(0x3a5)+_0x1be63c(0x48b),_0x5cba24=>{const _0x2a725c=_0x1be63c,_0x3cbcb6=BrowserWindow[_0x2a725c(0x121)+_0x2a725c(0x41a)](_0x5cba24[_0x2a725c(0x486)]);if(!_0x3cbcb6)return{'isMaximized':![]};if(_0x3cbcb6['isMaximi'+_0x2a725c(0x479)]())_0x3cbcb6[_0x2a725c(0x4a5)+'ze']();else _0x3cbcb6[_0x2a725c(0x4b7)]();return{'isMaximized':_0x3cbcb6[_0x2a725c(0x13d)+'zed']()};}),_0x5efaba('window:c'+_0x1be63c(0x410),_0x2634bb=>{const _0x5a3dae=_0x1be63c;return BrowserWindow[_0x5a3dae(0x121)+_0x5a3dae(0x41a)](_0x2634bb['sender'])?.[_0x5a3dae(0x11a)](),{'ok':!![]};}),_0x5efaba('window:o'+_0x1be63c(0x214)+'ools',()=>openDevToolsForActiveContext()),_0x5efaba(_0x1be63c(0x41d)+':runtime'+_0x1be63c(0x37c),()=>_0x2fa75b()[_0x1be63c(0x197)+_0x1be63c(0x41e)]()),_0x5efaba(_0x1be63c(0x41d)+_0x1be63c(0x505)+_0x1be63c(0x3bb),async()=>(await ensureGatewayControllerStarted())[_0x1be63c(0x4ed)+'s']()),ipcMain['on'](_0x1be63c(0x41d)+_0x1be63c(0x505)+'-status-'+'snapshot',_0x2d5f96=>{const _0x262ae3=_0x1be63c;_0x2d5f96[_0x262ae3(0x167)+_0x262ae3(0x358)]=gatewayController?.[_0x262ae3(0x4ed)+'s']?.()??null;}),_0x5efaba(_0x1be63c(0x41d)+_0x1be63c(0x505)+_0x1be63c(0x1fc),()=>_0x2fa75b()[_0x1be63c(0x3fa)](_0x1be63c(0x283)+'\x20request')),_0x5efaba(_0x1be63c(0x41d)+_0x1be63c(0x252)+_0x1be63c(0x32d)+_0x1be63c(0x1da),async()=>({'loadingLifeCycle':_0x1be63c(0x198),'message':'','updatedAt':new Date()[_0x1be63c(0x242)+_0x1be63c(0x295)]()})),_0x5efaba(_0x1be63c(0x41d)+_0x1be63c(0x505)+_0x1be63c(0x119),(_0x986a30,_0x3bc288={})=>_0x2fa75b()[_0x1be63c(0x3e6)+'tLogs'](_0x3bc288?.[_0x1be63c(0x3dc)]??0xc8)),_0x5efaba('openclaw'+_0x1be63c(0x1f3)+'ask-user'+'-questio'+'n',(_0x739361,_0x12be28)=>_0x2fa75b()[_0x1be63c(0x189)+_0x1be63c(0x269)+'stion'](_0x12be28)),_0x5efaba(_0x1be63c(0x41d)+':open-cl'+_0x1be63c(0x401),async()=>{const _0x539ece=_0x1be63c,_0x149733=join(resolveRuntimeRoot(shellConfig['projectR'+_0x539ece(0x23d)]),_0x539ece(0x341),_0x539ece(0x1c9)+'w');if(!existsSync(_0x149733))throw new Error(_0x539ece(0x41d)+_0x539ece(0x2d5)+'pper\x20not'+'\x20found:\x20'+_0x149733+(_0x539ece(0x125)+_0x539ece(0x1c8)+_0x539ece(0x144)+_0x539ece(0x2f6)));const _0x1061e7=join(app[_0x539ece(0x3ee)](_0x539ece(0x4b4)),_0x539ece(0x3c9)+_0x539ece(0x4d5)+_0x539ece(0x2be));await writeFile(_0x1061e7,_0x539ece(0x4f9)+'h\x0aexec\x20\x22'+_0x149733['replace'](/\\/g,'\x5c\x5c')[_0x539ece(0x11b)](/"/g,'\x5c\x22')+'\x22\x0a',{'mode':0x1ed});const _0x27f6f0=spawn(_0x539ece(0x297),['-a','Terminal',_0x1061e7],{'detached':!![],'stdio':'ignore'});return _0x27f6f0[_0x539ece(0x313)](),{'ok':!![],'cliPath':_0x149733};}),_0x5efaba(_0x1be63c(0x186)+'ist',()=>_0x2fa75b()[_0x1be63c(0x3df)]['list']()),_0x5efaba(_0x1be63c(0x142)+_0x1be63c(0x203),(_0xedbeb,_0x36d885)=>_0x2fa75b()[_0x1be63c(0x25e)][_0x1be63c(0x4f1)](_0x36d885)),_0x5efaba('sessions'+_0x1be63c(0x1aa),(_0x3c8b86,_0x2a2a67)=>_0x2fa75b()[_0x1be63c(0x3a1)][_0x1be63c(0x17f)](_0x2a2a67)),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x3ff)+'t',(_0x5f276b,_0x4c03db)=>ensureSessionDataService()['listSumm'+'aries'](_0x4c03db)),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x45a),(_0x4195a4,_0x3852e1)=>ensureSessionDataService()['getSumma'+'ry'](_0x3852e1)),_0x5efaba('sessions'+':revisio'+'n',(_0x110f64,_0x51548b)=>ensureSessionDataService()[_0x1be63c(0x4fa)+_0x1be63c(0x3a6)](_0x51548b)),_0x5efaba('sessions'+_0x1be63c(0x320)+_0x1be63c(0x1ef)+'ot',(_0x3cefdb,_0x581558)=>ensureSessionDataService()[_0x1be63c(0x1ba)+_0x1be63c(0x36d)](_0x581558)),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x1f2)+'ts',(_0x1ed431,_0x9f7bbe)=>ensureSessionDataService()['getArtif'+_0x1be63c(0x4c6)](_0x9f7bbe)),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x155)+'es',(_0x51b8d0,_0x1ddd6e)=>ensureSessionDataService()[_0x1be63c(0x40a)+_0x1be63c(0x3d8)](_0x1ddd6e)),_0x5efaba('sessions'+_0x1be63c(0x1b8)+'-state-s'+'napshot',(_0x22a9e7,_0x13b17b={})=>ensureSessionDataService()[_0x1be63c(0x310)+_0x1be63c(0x3e8)](String(_0x13b17b[_0x1be63c(0x3b6)+'ey']||_0x13b17b[_0x1be63c(0x46a)]||''))),_0x5efaba('sessions'+_0x1be63c(0x344),(_0x57397d,_0x4652c2={})=>ensureSessionDataService()[_0x1be63c(0x2fc)+_0x1be63c(0x3be)+'s'](_0x4652c2)),_0x5efaba('sessions'+':usage',async(_0x3b7e9a,_0x3534f3={})=>{const _0x21cd25=_0x1be63c,_0x28a581=String(_0x3534f3[_0x21cd25(0x3b6)+'ey']||_0x3534f3[_0x21cd25(0x46a)]||'')[_0x21cd25(0x4a3)](),_0x466e49=await ensureSessionSqliteStore()[_0x21cd25(0x195)+_0x21cd25(0x19d)](_0x28a581),_0x260d65=await configController['readCurr'+_0x21cd25(0x360)+'Context']();return{..._0x466e49,'contextWindowTokens':_0x260d65[_0x21cd25(0x1b4)+'indowTok'+'ens'],'contextWindowSource':_0x260d65[_0x21cd25(0x1b4)+_0x21cd25(0x1b2)+_0x21cd25(0x4e4)]};}),_0x5efaba('sessions'+_0x1be63c(0x28a),(_0x20f707,_0x389afc)=>_0x2fa75b()[_0x1be63c(0x3a1)][_0x1be63c(0x318)](_0x389afc)),_0x5efaba('chat:str'+_0x1be63c(0x26a),(_0x423951,_0x5ae13c)=>_0x2fa75b()[_0x1be63c(0x1fb)]['stream'](_0x5ae13c)),_0x5efaba(_0x1be63c(0x33c)+'rt',(_0x25e481,_0x44d8a9)=>_0x2fa75b()[_0x1be63c(0x1fb)][_0x1be63c(0x417)](_0x44d8a9)),_0x5efaba(_0x1be63c(0x210)+'te',async(_0x11800b,_0x53c74d={})=>{const _0x147bb9=_0x1be63c,_0x249858=typeof _0x53c74d[_0x147bb9(0x2dc)]===_0x147bb9(0x1f5)?_0x53c74d[_0x147bb9(0x2dc)]:'info',_0x145568=typeof _0x53c74d[_0x147bb9(0x474)]===_0x147bb9(0x1f5)?_0x53c74d[_0x147bb9(0x474)]:_0x147bb9(0x283)+_0x147bb9(0x32a),_0x55d125=typeof _0x53c74d[_0x147bb9(0x11e)]===_0x147bb9(0x1f5)&&_0x53c74d[_0x147bb9(0x11e)]['trim']()?'renderer'+':'+_0x53c74d[_0x147bb9(0x11e)]['trim']():_0x147bb9(0x283),_0x1ccf5c=_0x53c74d['meta']&&typeof _0x53c74d[_0x147bb9(0x3ad)]===_0x147bb9(0x139)?{...summarizePayload(_0x53c74d['meta']),'context':_0x55d125}:{'context':_0x55d125},_0x124e6b=rendererLogger;if(_0x124e6b?.[_0x249858])await _0x124e6b[_0x249858](_0x145568,_0x1ccf5c);else await _0x124e6b?.[_0x147bb9(0x393)](_0x145568,_0x1ccf5c);if(_0x53c74d[_0x147bb9(0x181)+'ic']===!![]||_0x55d125===_0x147bb9(0x283)+_0x147bb9(0x26d)+_0x147bb9(0x317)){const _0x5684fd=_0x53c74d[_0x147bb9(0x20a)]&&typeof _0x53c74d[_0x147bb9(0x20a)]===_0x147bb9(0x139)?_0x53c74d[_0x147bb9(0x20a)]:_0x53c74d[_0x147bb9(0x3ad)]?.[_0x147bb9(0x20a)]&&typeof _0x53c74d['meta'][_0x147bb9(0x20a)]==='object'?_0x53c74d['meta'][_0x147bb9(0x20a)]:{'level':_0x249858,'category':'renderer','event':_0x55d125,'message':_0x145568,'meta':_0x53c74d[_0x147bb9(0x3ad)]};updateRendererSessionMetrics(_0x5684fd),await diagnosticsWriter?.['writeEve'+'nt'](_0x5684fd,{'captureIncident':String(_0x5684fd['level']||_0x249858)[_0x147bb9(0x168)+_0x147bb9(0x232)]()==='error'||_0x53c74d[_0x147bb9(0x290)+_0x147bb9(0x22b)]===!![]});}return{'ok':!![]};}),_0x5efaba('logs:exp'+_0x1be63c(0x3fc),async(_0x49218f,_0x160fc7={})=>{const _0x4ce3df=_0x1be63c,_0x47a5b0=typeof _0x160fc7[_0x4ce3df(0x490)+'r']===_0x4ce3df(0x1f5)&&_0x160fc7[_0x4ce3df(0x490)+'r'][_0x4ce3df(0x4a3)]()?_0x160fc7['targetDi'+'r']:undefined,_0x4593b9=await exportLogsArchive({'logsDir':configController[_0x4ce3df(0x30b)]['logsDir'],'targetDir':_0x47a5b0,'appVersion':app['getVersi'+'on']()});return mainLogger?.[_0x4ce3df(0x393)](_0x4ce3df(0x2a5)+_0x4ce3df(0x1be),{'path':toHomePath(_0x4593b9[_0x4ce3df(0x216)])}),_0x4593b9;}),_0x5efaba(_0x1be63c(0x115)+_0x1be63c(0x33f)+'ory',async()=>{const _0x30db47=_0x1be63c;return await shell[_0x30db47(0x44c)](configController[_0x30db47(0x30b)][_0x30db47(0x3e9)]),mainLogger?.[_0x30db47(0x393)]('logs\x20dir'+'ectory\x20o'+'pened',{'logsDir':toHomePath(configController[_0x30db47(0x30b)][_0x30db47(0x3e9)])}),{'ok':!![],'path':configController[_0x30db47(0x30b)][_0x30db47(0x3e9)]};}),_0x5efaba(_0x1be63c(0x1de)+'t',async()=>{const _0x4f1f7f=_0x1be63c,_0x3779c6=await readdir(configController['paths']['logsDir'],{'recursive':!![]})[_0x4f1f7f(0x43e)](()=>[]);return _0x3779c6;}),_0x5efaba(_0x1be63c(0x183)+'d',async(_0x539a54,_0x23d53e={})=>{const _0x51b08c=_0x1be63c,_0x33c473=String(_0x23d53e[_0x51b08c(0x216)]||'');if(!_0x33c473)throw new Error('path\x20is\x20'+'required');return readFile(_0x33c473,'utf8');}),_0x5efaba(_0x1be63c(0x1fa)+'ad',async(_0x28d7da,_0x199687)=>{const _0x47c54a=_0x1be63c,_0x573618=Date[_0x47c54a(0x330)]();try{const _0x203c38=await readFile(_0x199687,_0x47c54a(0x4a6));return filesLogger?.[_0x47c54a(0x393)](_0x47c54a(0x253)+_0x47c54a(0x340)+_0x47c54a(0x164),{'path':toHomePath(_0x199687),'bytes':Buffer[_0x47c54a(0x2f2)+'th'](_0x203c38),'durationMs':Date['now']()-_0x573618}),_0x203c38;}catch(_0x386378){filesLogger?.[_0x47c54a(0x1bd)](_0x47c54a(0x253)+_0x47c54a(0x462),{'path':toHomePath(_0x199687),'durationMs':Date[_0x47c54a(0x330)]()-_0x573618,'error':summarizeError(_0x386378)});throw _0x386378;}}),_0x5efaba(_0x1be63c(0x1fa)+'ad-binar'+'y',async(_0x1cd134,_0x4c0760)=>{const _0x5b4147=_0x1be63c,_0x2216e4=Date[_0x5b4147(0x330)]();try{const _0x509a31=await readFile(_0x4c0760);return filesLogger?.[_0x5b4147(0x393)](_0x5b4147(0x3e1)+'ile\x20read'+_0x5b4147(0x4a2)+'ed',{'path':toHomePath(_0x4c0760),'bytes':_0x509a31['byteLeng'+'th'],'durationMs':Date[_0x5b4147(0x330)]()-_0x2216e4}),new Uint8Array(_0x509a31);}catch(_0x5862f3){filesLogger?.['error'](_0x5b4147(0x3e1)+_0x5b4147(0x209)+_0x5b4147(0x35e),{'path':toHomePath(_0x4c0760),'durationMs':Date[_0x5b4147(0x330)]()-_0x2216e4,'error':summarizeError(_0x5862f3)});throw _0x5862f3;}}),_0x5efaba(_0x1be63c(0x21d)+_0x1be63c(0x117),async(_0x5c55bb,_0x58084c={})=>{const _0x443f80=_0x1be63c,_0xc17f1=Date['now']();return await writeFile(_0x58084c['path'],_0x58084c[_0x443f80(0x434)]??'',_0x443f80(0x4a6)),filesLogger?.[_0x443f80(0x393)](_0x443f80(0x336)+_0x443f80(0x23a)+_0x443f80(0x37d),{'path':toHomePath(_0x58084c['path']),'bytes':Buffer[_0x443f80(0x2f2)+'th'](String(_0x58084c[_0x443f80(0x434)]??'')),'durationMs':Date['now']()-_0xc17f1}),{'ok':!![]};}),_0x5efaba(_0x1be63c(0x21d)+'ite-bina'+'ry',async(_0x5f5c20,_0x3144d6={})=>{const _0x46dac5=_0x1be63c,_0x56ae4c=Date[_0x46dac5(0x330)]();await writeFile(_0x3144d6['path'],Buffer[_0x46dac5(0x1cd)](_0x3144d6['content']??[]));const _0x2dded0=await stat(_0x3144d6[_0x46dac5(0x216)])[_0x46dac5(0x43e)](()=>null);return filesLogger?.[_0x46dac5(0x393)](_0x46dac5(0x3e1)+_0x46dac5(0x275)+_0x46dac5(0x2ed)+_0x46dac5(0x164),{'path':toHomePath(_0x3144d6[_0x46dac5(0x216)]),'bytes':_0x2dded0?.['size']??0x0,'durationMs':Date[_0x46dac5(0x330)]()-_0x56ae4c}),{'ok':!![]};}),_0x5efaba('files:se'+_0x1be63c(0x208)+'e',async(_0x18a9b1,_0x3edda3={})=>{const _0x23c760=_0x1be63c,_0x5178c0=await dialog[_0x23c760(0x1e6)+'Dialog'](BrowserWindow['fromWebC'+_0x23c760(0x41a)](_0x18a9b1[_0x23c760(0x486)])??mainWindow,{'title':typeof _0x3edda3[_0x23c760(0x13c)]===_0x23c760(0x1f5)?_0x3edda3[_0x23c760(0x13c)]:undefined,'properties':['openFile',..._0x3edda3[_0x23c760(0x4c8)+_0x23c760(0x47c)]?[_0x23c760(0x4c8)+'ections']:[]],'filters':Array[_0x23c760(0x4cb)](_0x3edda3[_0x23c760(0x2b8)])?_0x3edda3[_0x23c760(0x2b8)]:undefined});return filesLogger?.[_0x23c760(0x393)](_0x23c760(0x173)+_0x23c760(0x37e)+'leted',{'canceled':_0x5178c0[_0x23c760(0x3b1)],'count':_0x5178c0[_0x23c760(0x194)+'s'][_0x23c760(0x1f0)],'paths':_0x5178c0[_0x23c760(0x194)+'s'][_0x23c760(0x24f)](toHomePath)}),{'canceled':_0x5178c0[_0x23c760(0x3b1)],'paths':_0x5178c0[_0x23c760(0x194)+'s']};}),_0x5efaba(_0x1be63c(0x24c)+_0x1be63c(0x15c)+_0x1be63c(0x36b),async(_0x465336,_0x36c14c={})=>{const _0x3ff038=_0x1be63c,_0x54ec55=resolve(String(_0x36c14c[_0x3ff038(0x216)]||'')),_0x2c145e=_0x36c14c['recursiv'+'e']!==![],_0x52bd16=Array[_0x3ff038(0x4cb)](_0x36c14c[_0x3ff038(0x2ef)+'ns'])?_0x36c14c[_0x3ff038(0x2ef)+'ns'][_0x3ff038(0x24f)](_0xdb7067=>String(_0xdb7067)['toLowerC'+_0x3ff038(0x232)]()[_0x3ff038(0x11b)](/^\./,''))[_0x3ff038(0x4df)](Boolean):null,_0x128ad3=Number['isIntege'+'r'](_0x36c14c[_0x3ff038(0x1eb)+'es'])&&_0x36c14c['maxEntri'+'es']>0x0?_0x36c14c[_0x3ff038(0x1eb)+'es']:0xc350,_0x37c120=[];let _0x18830c=![];async function _0x3c0201(_0x52b83c){const _0x294a23=_0x3ff038;if(_0x18830c)return;let _0x3d05ab;try{_0x3d05ab=await readdir(_0x52b83c,{'withFileTypes':!![]});}catch{return;}for(const _0x227750 of _0x3d05ab){if(_0x18830c)return;if(_0x227750['name'][_0x294a23(0x381)+'th']('.'))continue;const _0x1710c8=join(_0x52b83c,_0x227750['name']);if(_0x227750[_0x294a23(0x16c)+_0x294a23(0x2e9)]()){if(_0x2c145e)await _0x3c0201(_0x1710c8);continue;}if(!_0x227750[_0x294a23(0x35a)]())continue;if(_0x52bd16){const _0x20c217=_0x227750[_0x294a23(0x303)][_0x294a23(0x44d)+'xOf']('.'),_0x18f127=_0x20c217>=0x0?_0x227750[_0x294a23(0x303)]['slice'](_0x20c217+0x1)[_0x294a23(0x168)+_0x294a23(0x232)]():'';if(!_0x52bd16[_0x294a23(0x200)](_0x18f127))continue;}if(_0x37c120['length']>=_0x128ad3){_0x18830c=!![];return;}_0x37c120[_0x294a23(0x229)]({'name':_0x227750[_0x294a23(0x303)],'path':_0x1710c8});}}return await _0x3c0201(_0x54ec55),{'path':_0x54ec55,'entries':_0x37c120,'truncated':_0x18830c};}),_0x5efaba(_0x1be63c(0x354)+'lect-dir'+_0x1be63c(0x2d3),async(_0x14223e,_0x33c81d={})=>{const _0x8757ab=_0x1be63c,_0x29649e=await dialog[_0x8757ab(0x1e6)+_0x8757ab(0x18e)](BrowserWindow[_0x8757ab(0x121)+_0x8757ab(0x41a)](_0x14223e['sender'])??mainWindow,{'title':typeof _0x33c81d[_0x8757ab(0x13c)]===_0x8757ab(0x1f5)?_0x33c81d[_0x8757ab(0x13c)]:undefined,'properties':['openDire'+_0x8757ab(0x481)]});return filesLogger?.['info'](_0x8757ab(0x135)+_0x8757ab(0x374)+_0x8757ab(0x4a2)+'ed',{'canceled':_0x29649e[_0x8757ab(0x3b1)],'count':_0x29649e[_0x8757ab(0x194)+'s']['length'],'paths':_0x29649e[_0x8757ab(0x194)+'s'][_0x8757ab(0x24f)](toHomePath)}),{'canceled':_0x29649e[_0x8757ab(0x3b1)],'paths':_0x29649e[_0x8757ab(0x194)+'s']};}),_0x5efaba(_0x1be63c(0x449)+_0x1be63c(0x15b)+_0x1be63c(0x41b),()=>_0x2fa75b()[_0x1be63c(0x449)+'e'][_0x1be63c(0x1cf)+_0x1be63c(0x126)]()),_0x5efaba(_0x1be63c(0x449)+_0x1be63c(0x3ef)+'irectory',async()=>{const _0x1c1912=_0x1be63c,_0x1507f0=await _0x2fa75b()[_0x1c1912(0x449)+'e'][_0x1c1912(0x1cf)+_0x1c1912(0x126)]();return await shell[_0x1c1912(0x44c)](_0x1507f0[_0x1c1912(0x216)]),filesLogger?.[_0x1c1912(0x393)](_0x1c1912(0x449)+'e\x20direct'+_0x1c1912(0x361)+'ed',{'path':toHomePath(_0x1507f0[_0x1c1912(0x216)])}),{'ok':!![],'path':_0x1507f0['path']};}),_0x5efaba(_0x1be63c(0x449)+_0x1be63c(0x405)+_0x1be63c(0x48c),()=>_0x2fa75b()[_0x1be63c(0x449)+'e'][_0x1be63c(0x3e0)+_0x1be63c(0x409)]()),_0x5efaba(_0x1be63c(0x449)+_0x1be63c(0x243)+'shared-c'+_0x1be63c(0x266),(_0x19387b,_0x4ee4d7)=>_0x2fa75b()[_0x1be63c(0x449)+'e'][_0x1be63c(0x32c)+'redConte'+'xt'](_0x4ee4d7)),_0x5efaba(_0x1be63c(0x3a1)+':rename',(_0x27d3b6,_0x1f5724)=>_0x2fa75b()[_0x1be63c(0x3a1)][_0x1be63c(0x2ac)](_0x1f5724)),_0x5efaba('sessions'+':pin',async(_0xa1cb9a,_0x4dd293={})=>{const _0x1ea1c8=_0x1be63c,_0x1f413c=String(_0x4dd293['sessionK'+'ey']||_0x4dd293[_0x1ea1c8(0x46a)]||'')['trim']();if(!_0x1f413c)throw new Error(_0x1ea1c8(0x3b6)+_0x1ea1c8(0x292)+_0x1ea1c8(0x484));const _0x476891=await ensureSessionSqliteStore()[_0x1ea1c8(0x217)+_0x1ea1c8(0x182)+_0x1ea1c8(0x140)](),_0x3472e5=await _0x2fa75b()[_0x1ea1c8(0x3a1)][_0x1ea1c8(0x15d)+_0x1ea1c8(0x161)]([_0x1f413c,..._0x476891[_0x1ea1c8(0x4df)](_0x5a6838=>_0x5a6838!==_0x1f413c)]);return _0x3472e5;}),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x204),async(_0x18df44,_0x439035={})=>{const _0x25650c=_0x1be63c,_0x2cc7f4=String(_0x439035[_0x25650c(0x3b6)+'ey']||_0x439035[_0x25650c(0x46a)]||'')[_0x25650c(0x4a3)]();if(!_0x2cc7f4)throw new Error(_0x25650c(0x3b6)+_0x25650c(0x292)+_0x25650c(0x484));const _0x2a3d83=await ensureSessionSqliteStore()['getPinne'+_0x25650c(0x182)+_0x25650c(0x140)]();return await _0x2fa75b()[_0x25650c(0x3a1)]['reorderP'+_0x25650c(0x161)](_0x2a3d83['filter'](_0x3c342a=>_0x3c342a!==_0x2cc7f4));}),_0x5efaba(_0x1be63c(0x3a1)+_0x1be63c(0x176)+'-pinned',async(_0x226ac6,_0x5583f9={})=>{const _0x337974=_0x1be63c,_0x99b0c9=Array[_0x337974(0x4cb)](_0x5583f9['keys'])?_0x5583f9[_0x337974(0x291)]:_0x5583f9;return await _0x2fa75b()[_0x337974(0x3a1)][_0x337974(0x15d)+'inned'](_0x99b0c9);}),_0x5efaba(_0x1be63c(0x27e)+_0x1be63c(0x2ce),(_0x572ab7,_0x4476bc)=>_0x2fa75b()[_0x1be63c(0x25e)]['install'](_0x4476bc)),_0x5efaba(_0x1be63c(0x18c)+'t',(_0x3f689,_0x3cfbc1)=>_0x2fa75b()[_0x1be63c(0x36e)][_0x1be63c(0x1d9)](_0x3cfbc1)),_0x5efaba('cron:cre'+_0x1be63c(0x47d),(_0x508313,_0x17992f)=>_0x2fa75b()['cron'][_0x1be63c(0x17f)](_0x17992f)),_0x5efaba(_0x1be63c(0x4c3)+'ate',(_0x558a7d,_0x2bde5e)=>_0x2fa75b()[_0x1be63c(0x36e)]['update'](_0x2bde5e)),_0x5efaba(_0x1be63c(0x2f0)+_0x1be63c(0x16d),(_0x1a31f5,_0xe57785)=>_0x2fa75b()[_0x1be63c(0x36e)][_0x1be63c(0x500)](_0xe57785)),_0x5efaba(_0x1be63c(0x4dc)+_0x1be63c(0x4e2),(_0x3e85b4,_0x10130d)=>_0x2fa75b()[_0x1be63c(0x36e)][_0x1be63c(0x2f7)](_0x10130d)),_0x5efaba('cron:log'+'s',(_0x2152a4,_0x4c6c38)=>_0x2fa75b()[_0x1be63c(0x36e)][_0x1be63c(0x35d)](_0x4c6c38)),_0x5efaba(_0x1be63c(0x467)+_0x1be63c(0x170),async(_0x34927b,_0x27cc80={})=>{const _0x36a185=_0x1be63c,_0x38f482=configController[_0x36a185(0x4c4)+_0x36a185(0x147)+'h'](),_0x4b5d89=JSON[_0x36a185(0x509)](await readFile(_0x38f482,_0x36a185(0x4a6))),_0x46cdbf=_0x4b5d89?.['models']?.[_0x36a185(0x4b8)+'s']&&typeof _0x4b5d89[_0x36a185(0x478)]['provider'+'s']===_0x36a185(0x139)?_0x4b5d89[_0x36a185(0x478)][_0x36a185(0x4b8)+'s']:{},_0x4e40ea=typeof _0x4b5d89?.[_0x36a185(0x3df)]?.[_0x36a185(0x2da)]?.[_0x36a185(0x175)]?.[_0x36a185(0x323)]===_0x36a185(0x1f5)?_0x4b5d89[_0x36a185(0x3df)][_0x36a185(0x2da)]['model'][_0x36a185(0x323)]:'',_0x43319e=String(_0x27cc80[_0x36a185(0x175)]||_0x4e40ea||'');if(!_0x43319e[_0x36a185(0x200)]('/'))throw new Error(_0x36a185(0x4c9)+_0x36a185(0x1e0)+_0x36a185(0x47f)+_0x36a185(0x4bb)+_0x36a185(0x3eb)+'der/mode'+_0x36a185(0x19e));const _0x4a4770=_0x43319e[_0x36a185(0x14d)]('/'),_0x29af96=_0x43319e[_0x36a185(0x34e)](0x0,_0x4a4770),_0x5543c0=_0x43319e[_0x36a185(0x34e)](_0x4a4770+0x1),_0x12271a=_0x46cdbf[_0x29af96];if(!_0x12271a||typeof _0x12271a!==_0x36a185(0x139))throw new Error(_0x36a185(0x4b8)+_0x36a185(0x3ac)+_0x36a185(0x2e0)+'\x20'+_0x29af96);const _0x3f7a22=String(_0x12271a[_0x36a185(0x31b)]||_0x36a185(0x4e0)+_0x36a185(0x324)+_0x36a185(0x293)+'1')[_0x36a185(0x4a3)]()[_0x36a185(0x11b)](/\/$/,''),_0x4f195a=await fetch(_0x3f7a22+('/chat/co'+_0x36a185(0x249)+'s'),{'method':_0x36a185(0x338),'headers':{'content-type':_0x36a185(0x1ad)+_0x36a185(0x44a),'Authorization':_0x36a185(0x4d7)+(_0x12271a[_0x36a185(0x254)]||''),..._0x12271a[_0x36a185(0x349)]&&typeof _0x12271a[_0x36a185(0x349)]===_0x36a185(0x139)?_0x12271a['headers']:{}},'body':JSON[_0x36a185(0x223)+'y']({'model':_0x5543c0,'max_tokens':Number[_0x36a185(0x499)+'r'](_0x27cc80[_0x36a185(0x261)+'s'])?_0x27cc80[_0x36a185(0x261)+'s']:0x400,'temperature':typeof _0x27cc80[_0x36a185(0x494)+_0x36a185(0x3fb)]==='number'?_0x27cc80[_0x36a185(0x494)+'ure']:undefined,'messages':Array[_0x36a185(0x4cb)](_0x27cc80['messages'])?_0x27cc80[_0x36a185(0x14c)]:[]}),'signal':AbortSignal[_0x36a185(0x271)](Number[_0x36a185(0x499)+'r'](_0x27cc80[_0x36a185(0x2c7)+'s'])?_0x27cc80[_0x36a185(0x2c7)+'s']:0x1d4c0)});if(!_0x4f195a['ok']){const _0x3d7935=await _0x4f195a[_0x36a185(0x413)]();throw new Error(_0x36a185(0x41c)+_0x36a185(0x1ed)+_0x4f195a[_0x36a185(0x4f1)]+':\x20'+_0x3d7935[_0x36a185(0x34e)](0x0,0x190));}const _0x3ce146=_0x4f195a[_0x36a185(0x349)][_0x36a185(0x3d0)]('request-'+'id'),_0x493f54=await _0x4f195a[_0x36a185(0x504)](),_0x577da9=_0x493f54?.[_0x36a185(0x149)]?.[0x0]?.['message']??{};if(_0x3ce146){const _0x363f5d=typeof _0x27cc80[_0x36a185(0x13c)]==='string'&&_0x27cc80[_0x36a185(0x13c)][_0x36a185(0x4a3)]()?_0x27cc80[_0x36a185(0x13c)][_0x36a185(0x4a3)]():Array[_0x36a185(0x4cb)](_0x27cc80[_0x36a185(0x14c)])?String([..._0x27cc80[_0x36a185(0x14c)]][_0x36a185(0x4cd)]()[_0x36a185(0x2d1)](_0x26ae49=>_0x26ae49?.['role']==='user')?.[_0x36a185(0x434)]||'')[_0x36a185(0x4a3)]():'';_0x363f5d&&Promise[_0x36a185(0x26c)](requestIdHooks?.[_0x36a185(0x222)+_0x36a185(0x459)+'Event']?.({'requestId':_0x3ce146,'title':_0x363f5d,'source':'provider'+'_respons'+'e','model':_0x493f54?.[_0x36a185(0x175)]||_0x5543c0,'provider':_0x29af96,'timestamp':Date[_0x36a185(0x330)]()}))[_0x36a185(0x43e)](_0x10fbbf=>{const _0x11a0d6=_0x36a185;mainLogger?.[_0x11a0d6(0x3d4)]?.(_0x11a0d6(0x49e)+_0x11a0d6(0x40d)+_0x11a0d6(0x1b3)+_0x11a0d6(0x41f)+_0x11a0d6(0x18d)+_0x11a0d6(0x390),{'error':_0x10fbbf?.[_0x11a0d6(0x474)]||String(_0x10fbbf)});});}return{'content':extractModelMessageContent(_0x577da9[_0x36a185(0x434)]),'reasoning':typeof _0x577da9[_0x36a185(0x4e7)+_0x36a185(0x33e)+'t']===_0x36a185(0x1f5)?_0x577da9['reasonin'+_0x36a185(0x33e)+'t']:'','model':_0x493f54?.[_0x36a185(0x175)]||_0x5543c0};}),_0x5efaba('models:s'+'ettings',()=>_0x2fa75b()['models'][_0x1be63c(0x2ae)]()),_0x5efaba(_0x1be63c(0x496)+_0x1be63c(0x4d8)+'ngs',(_0x51a017,_0x5b6f3b)=>_0x2fa75b()['models'][_0x1be63c(0x399)+_0x1be63c(0x415)](_0x5b6f3b)),_0x5efaba('models:s'+_0x1be63c(0x4f6)+_0x1be63c(0x2a9)+_0x1be63c(0x2a7),(_0x2309c3,_0x1ff600)=>_0x2fa75b()[_0x1be63c(0x478)]['setSelec'+'tedModel'+_0x1be63c(0x118)+'re'](_0x1ff600)),_0x5efaba(_0x1be63c(0x496)+'et-self-'+_0x1be63c(0x151),(_0x186fab,_0x32303a)=>_0x2fa75b()[_0x1be63c(0x478)][_0x1be63c(0x43d)+_0x1be63c(0x196)+_0x1be63c(0x165)](_0x32303a)),_0x5efaba(_0x1be63c(0x496)+_0x1be63c(0x28d)+'model-id',()=>_0x2fa75b()[_0x1be63c(0x478)][_0x1be63c(0x12d)+_0x1be63c(0x4a0)]()),_0x5efaba(_0x1be63c(0x467)+_0x1be63c(0x11f)+'dels',()=>_0x2fa75b()[_0x1be63c(0x478)][_0x1be63c(0x22f)+'dels']()),_0x5efaba(_0x1be63c(0x221)+_0x1be63c(0x45f)+_0x1be63c(0x468)+_0x1be63c(0x2bb),async()=>{const _0x5c030=_0x1be63c,_0x189a0d=await prepareRuntime(shellConfig,{'syncOnly':!![]});return await configController[_0x5c030(0x3f0)+_0x5c030(0x44e)+'ns'](),{'ok':!![],'syncedAt':new Date()['toISOStr'+'ing'](),'manifest':_0x189a0d,'status':await getRuntimeResourceStatus()};}),_0x5efaba('runtime:'+_0x1be63c(0x2f5)+_0x1be63c(0x3bb),async()=>getRuntimeResourceStatus());}async function boot(){const _0x3c4025=_0x5c8109;shellConfig=await loadShellConfig(resolveProjectRoot()),app[_0x3c4025(0x25d)](shellConfig['productN'+'ame']),configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController[_0x3c4025(0x30b)],_0x3c4025(0x311)),ipcLogger=createShellLogger(configController[_0x3c4025(0x30b)],_0x3c4025(0x406)),filesLogger=createShellLogger(configController[_0x3c4025(0x30b)],_0x3c4025(0x404)),rendererLogger=createShellLogger(configController[_0x3c4025(0x30b)],_0x3c4025(0x283)),productRuntime=await loadProductRuntime();const _0x5b0165=resolveWujieApiEndpoint();diagnosticsWriter=createDiagnosticsWriter({'logsDir':configController['paths'][_0x3c4025(0x3e9)],'appContext':{'productName':shellConfig[_0x3c4025(0x1bf)+'ame'],'appId':shellConfig[_0x3c4025(0x192)],'appVersion':app[_0x3c4025(0x234)+'on'](),'platform':process[_0x3c4025(0x379)],'arch':process[_0x3c4025(0x4b6)],..._0x5b0165?{'apiEndpoint':_0x5b0165}:{}}}),userEventWriter=createUserEventWriter({'logsDir':configController[_0x3c4025(0x30b)]['logsDir'],'diagnosticsWriter':diagnosticsWriter});const _0x1abdcd=await loadCreateUpdateController({'logger':mainLogger});updateController=_0x1abdcd({'shellConfig':shellConfig,'appName':()=>app[_0x3c4025(0x303)],'appVersion':()=>app[_0x3c4025(0x234)+'on'](),'broadcast':broadcast,'logger':mainLogger,'prepareQuitAndInstall':async()=>{const _0x1fe578=_0x3c4025;await stopGatewayBeforeQuit(_0x1fe578(0x39d)+_0x1fe578(0x152)+_0x1fe578(0x162));}}),updateController['initiali'+'ze'](),registerProcessLogHooks(),registerProtocolHandlers(),installApplicationMenu(),mainLogger?.[_0x3c4025(0x393)](_0x3c4025(0x33b)+_0x3c4025(0x367)+_0x3c4025(0x380)+'ed',{'appVersion':app[_0x3c4025(0x234)+'on'](),'electronVersion':process[_0x3c4025(0x333)][_0x3c4025(0x33b)],'nodeVersion':process['versions'][_0x3c4025(0x1fd)],'chromeVersion':process[_0x3c4025(0x333)]['chrome'],'platform':process[_0x3c4025(0x379)],'arch':process[_0x3c4025(0x4b6)],'mode':getMode(),'projectRoot':shellConfig[_0x3c4025(0x4ba)+_0x3c4025(0x23d)],'configPath':shellConfig['configPa'+'th'],'dataDir':shellConfig[_0x3c4025(0x4fc)],'devToolsEnabled':isDevToolsEnabled(),'devToolsFlagPath':resolveDevToolsFlagPath(),'logsDir':configController['paths'][_0x3c4025(0x3e9)],'rendererUrl':process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app['getVersi'+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),typeof productRuntime[_0x3c4025(0x137)+'roductCo'+_0x3c4025(0x3b4)]===_0x3c4025(0x1dc)&&await productRuntime[_0x3c4025(0x137)+_0x3c4025(0x49c)+_0x3c4025(0x3b4)]({'configController':configController,'mainLogger':mainLogger}),typeof productRuntime[_0x3c4025(0x137)+_0x3c4025(0x436)+'ta']==='function'?await productRuntime[_0x3c4025(0x137)+_0x3c4025(0x436)+'ta']({'configController':configController,'generatedFilesStore':ensureGeneratedFilesStore(),'mainLogger':mainLogger,'sessionSqliteStore':ensureSessionSqliteStore()}):await ensureGeneratedFilesStore()[_0x3c4025(0x296)+_0x3c4025(0x238)+'d'](),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService(),await installIpcHandlers(),ipcHandlersInstalled=!![],installAppRendererProtocolHandler(),installClawspaceProtocolHandler(),registerShellShortcuts(),await ensureMainWindow(),await gatewayController[_0x3c4025(0x373)](),updateController['startBac'+'kgroundC'+_0x3c4025(0x127)](),mainLogger?.['info'](_0x3c4025(0x33b)+_0x3c4025(0x367)+_0x3c4025(0x2d9)+_0x3c4025(0x37d)),updateController[_0x3c4025(0x3f6)+_0x3c4025(0x23c)+_0x3c4025(0x2ce)]?.();}function registerProcessLogHooks(){const _0x549e55=_0x5c8109;if(registerProcessLogHooks[_0x549e55(0x443)+'ed'])return;registerProcessLogHooks[_0x549e55(0x443)+'ed']=!![],process['on'](_0x549e55(0x306)+_0x549e55(0x3a7)+'n',_0x29995c=>{const _0x43e988=_0x549e55;mainLogger?.['error'](_0x43e988(0x306)+_0x43e988(0x477)+'on',summarizeError(_0x29995c));}),process['on'](_0x549e55(0x1a5)+_0x549e55(0x480)+'on',_0x218ab7=>{const _0x440609=_0x549e55;mainLogger?.['error'](_0x440609(0x1a5)+_0x440609(0x284)+_0x440609(0x3a6),summarizeError(_0x218ab7));}),app['on']('render-p'+_0x549e55(0x44b)+_0x549e55(0x308),(_0x4e05ae,_0x490373,_0x520925)=>{const _0x4fc1e5=_0x549e55;mainLogger?.[_0x4fc1e5(0x1bd)](_0x4fc1e5(0x283)+_0x4fc1e5(0x2b6)+'\x20gone',{'url':_0x490373[_0x4fc1e5(0x289)](),'details':_0x520925});}),app['on'](_0x549e55(0x26b)+_0x549e55(0x389)+'ne',(_0x5c789f,_0x26c671)=>{const _0x170b2b=_0x549e55;mainLogger?.['error'](_0x170b2b(0x4f7)+'ocess\x20go'+'ne',{'details':_0x26c671});});}async function stopGatewayBeforeQuit(_0x50e8fe){const _0x4c3820=_0x5c8109;if(!gatewayController)return;const _0x5882e3=gatewayController,_0x13887f=Date[_0x4c3820(0x330)]();mainLogger?.[_0x4c3820(0x393)](_0x50e8fe+(_0x4c3820(0x3af)+_0x4c3820(0x420)+'ay'),{'event':_0x50e8fe===_0x4c3820(0x39d)+_0x4c3820(0x152)+'g\x20update'?'update_g'+_0x4c3820(0x138)+_0x4c3820(0x14f)+'t':undefined}),await _0x5882e3[_0x4c3820(0x3a4)](),gatewayController===_0x5882e3&&(gatewayController=null),mainLogger?.[_0x4c3820(0x393)](_0x50e8fe+(':\x20gatewa'+_0x4c3820(0x3fd)+'d'),{'event':_0x50e8fe===_0x4c3820(0x39d)+'nstallin'+_0x4c3820(0x162)?_0x4c3820(0x365)+_0x4c3820(0x138)+_0x4c3820(0x438):undefined,'elapsedMs':Date['now']()-_0x13887f});}app['on'](_0x5c8109(0x4f4)+_0x5c8109(0x29b)+'d',()=>{const _0x1ba85f=_0x5c8109;if(process['platform']!==_0x1ba85f(0x3cc))app[_0x1ba85f(0x3c2)]();}),app['on'](_0x5c8109(0x362),(_0x3f5137,_0x576e93)=>{const _0xeeeb16=_0x5c8109;_0x3f5137[_0xeeeb16(0x282)+_0xeeeb16(0x128)](),mainLogger?.[_0xeeeb16(0x3d4)](_0xeeeb16(0x345)+_0xeeeb16(0x1f6)+'l\x20event',{'url':summarizeProtocolUrl(_0x576e93),'hasShellConfig':Boolean(shellConfig)}),dispatchProtocolUrl(_0x576e93);});const gotSingleInstanceLock=app[_0x5c8109(0x2d2)+'ingleIns'+_0x5c8109(0x23e)+'k']();!gotSingleInstanceLock?app[_0x5c8109(0x3c2)]():app['on'](_0x5c8109(0x19f)+_0x5c8109(0x418),(_0x169f3c,_0x22ca98)=>{const _0x2f802d=_0x5c8109,_0x2d8501=extractProtocolUrlFromArgs(_0x22ca98);mainLogger?.[_0x2f802d(0x3d4)](_0x2f802d(0x19f)+_0x2f802d(0x493)+_0x2f802d(0x258),{'argc':Array['isArray'](_0x22ca98)?_0x22ca98[_0x2f802d(0x1f0)]:0x0,'hasShellConfig':Boolean(shellConfig),'hasProtocolUrl':Boolean(_0x2d8501),'protocolUrl':_0x2d8501?summarizeProtocolUrl(_0x2d8501):undefined});if(!resolveProtocolScheme()){pendingProtocolArgs=_0x22ca98;return;}if(_0x2d8501){dispatchProtocolUrl(_0x2d8501);return;}const _0x2bd432=getUsableMainWindow();if(_0x2bd432){if(_0x2bd432[_0x2f802d(0x48d)+_0x2f802d(0x479)]())_0x2bd432[_0x2f802d(0x20b)]();_0x2bd432[_0x2f802d(0x2e6)](),_0x2bd432['focus']();}});app['on'](_0x5c8109(0x397),async()=>{const _0x55b2d7=_0x5c8109;if(isQuitting){app[_0x55b2d7(0x3c2)]();return;}updateController?.[_0x55b2d7(0x24d)+_0x55b2d7(0x424)+_0x55b2d7(0x3f9)](_0x55b2d7(0x1d8)+_0x55b2d7(0x33a)),BrowserWindow[_0x55b2d7(0x278)+_0x55b2d7(0x35b)]()[_0x55b2d7(0x1f0)]===0x0&&shellConfig&&await ensureMainWindow();}),app['on'](_0x5c8109(0x2fe)+_0x5c8109(0x403),_0x1457fc=>{const _0x89a1ec=_0x5c8109;isQuitting=!![],updateController?.[_0x89a1ec(0x148)+_0x89a1ec(0x400)](),terminalManager?.[_0x89a1ec(0x236)](),terminalManager=null,productRuntimeHooks?.['dispose']?.();for(const _0x26a6f3 of Object[_0x89a1ec(0x291)](productRuntimeHooks))delete productRuntimeHooks[_0x26a6f3];requestIdHooks?.[_0x89a1ec(0x236)]?.();for(const _0x329f4c of Object[_0x89a1ec(0x291)](requestIdHooks))delete requestIdHooks[_0x329f4c];if(updateController?.[_0x89a1ec(0x371)+_0x89a1ec(0x328)+'te']?.()){mainLogger?.[_0x89a1ec(0x393)]('before\x20q'+'uit:\x20upd'+_0x89a1ec(0x3cd)+_0x89a1ec(0x2f8)+_0x89a1ec(0x1c6)+_0x89a1ec(0x1ca)+_0x89a1ec(0x4d3)+_0x89a1ec(0x45b)+_0x89a1ec(0x2db));return;}if(!gatewayController)return;_0x1457fc[_0x89a1ec(0x282)+_0x89a1ec(0x128)](),void stopGatewayBeforeQuit(_0x89a1ec(0x28c)+_0x89a1ec(0x403))[_0x89a1ec(0x463)](()=>{const _0x2fbe16=_0x89a1ec;app[_0x2fbe16(0x3c2)]();});}),app['on']('will-qui'+'t',()=>{const _0x1841a0=_0x5c8109;globalShortcut[_0x1841a0(0x212)+'er'](DEVTOOLS_ACCELERATOR);}),app['whenRead'+'y']()[_0x5c8109(0x487)](boot)[_0x5c8109(0x43e)](_0x15d4f4=>{const _0x376f3a=_0x5c8109;bootError=_0x15d4f4 instanceof Error?_0x15d4f4[_0x376f3a(0x474)]:String(_0x15d4f4),mainLogger?.[_0x376f3a(0x1bd)](_0x376f3a(0x33b)+_0x376f3a(0x367)+_0x376f3a(0x497)+'d',summarizeError(_0x15d4f4)),console[_0x376f3a(0x1bd)](_0x376f3a(0x421)+_0x376f3a(0x40b)+_0x376f3a(0x3bf)+_0x376f3a(0x469)+_0x376f3a(0x25c)+'in',_0x15d4f4);});