@wujie-shell/core 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -5
- package/dist/bin/wujie-shell.mjs +1 -1
- package/dist/src/agents/bundled-agent-skills.mjs +1 -1
- package/dist/src/agents/bundled-agents.mjs +1 -1
- package/dist/src/agents/runtime-config.mjs +1 -1
- package/dist/src/chat/media-archive.mjs +1 -1
- package/dist/src/chat/queue.mjs +1 -1
- package/dist/src/common/cron-session-key.mjs +1 -0
- package/dist/src/common/diagnostics.mjs +1 -1
- package/dist/src/common/logging.mjs +1 -1
- package/dist/src/common/runtime-logger.mjs +1 -1
- package/dist/src/common/sqlite-paths.mjs +1 -0
- package/dist/src/common/user-events.mjs +1 -1
- package/dist/src/common/utils.mjs +1 -1
- package/dist/src/config/controller.mjs +1 -1
- package/dist/src/connectors/config-utils.mjs +1 -1
- package/dist/src/connectors/constants.mjs +1 -1
- package/dist/src/connectors/controller.mjs +1 -1
- package/dist/src/connectors/kdocs-cli.mjs +1 -1
- package/dist/src/connectors/lark-cli.mjs +1 -1
- package/dist/src/electron/main.mjs +1 -1
- package/dist/src/electron/preload.mjs +1 -1
- package/dist/src/electron/protocol-url-state.mjs +1 -0
- package/dist/src/events/domain-event-journal.mjs +1 -0
- package/dist/src/files/generated-files-store.mjs +1 -1
- package/dist/src/files/handlers.mjs +1 -1
- package/dist/src/gateway/chat-delta.mjs +1 -1
- package/dist/src/gateway/controller.mjs +1 -1
- package/dist/src/gateway/request-id-title-events.mjs +1 -0
- package/dist/src/gateway/ws-client.mjs +1 -1
- package/dist/src/index.mjs +1 -1
- package/dist/src/log-reporting/handlers.mjs +1 -1
- package/dist/src/log-reporting/report-logs.mjs +1 -1
- package/dist/src/models/handlers.mjs +1 -1
- package/dist/src/preferences/store.mjs +1 -1
- package/dist/src/request-id/handlers.mjs +1 -0
- package/dist/src/request-id/runtime-bridge.mjs +1 -0
- package/dist/src/request-id/session-store.mjs +1 -0
- package/dist/src/request-id/title.mjs +1 -0
- package/dist/src/runtime/cron-missed-run-policy.mjs +1 -0
- package/dist/src/runtime/index.mjs +1 -1
- package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
- package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
- package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
- package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -0
- package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -0
- package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
- package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -0
- package/dist/src/runtime/plugin-sync.mjs +1 -1
- package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
- package/dist/src/sessions/runtime-bridge.mjs +1 -1
- package/dist/src/sessions/session-data-service.mjs +1 -1
- package/dist/src/sessions/session-runtime-state-service.mjs +1 -0
- package/dist/src/sessions/session-runtime-state.mjs +1 -0
- package/dist/src/sessions/session-sqlite-store.mjs +1 -1
- package/dist/src/sessions/sql/001_init.sql +2 -1
- package/dist/src/sessions/sql/004_request_id_titles.sql +15 -0
- package/dist/src/sessions/sql/005_session_subagents.sql +31 -0
- package/dist/src/sessions/sql/006_session_process_snapshot.sql +24 -0
- package/dist/src/sessions/sql/schema.md +53 -3
- package/dist/src/skills/import.mjs +1 -1
- package/dist/src/skills/market.mjs +1 -1
- package/dist/src/terminal/manager.mjs +1 -1
- package/dist/src/updates/controller.mjs +1 -1
- package/dist/src/updates/loader.mjs +1 -1
- 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 _0x869a0f=_0x378c;(function(_0x53b586,_0x1a9340){const _0x56fa95=_0x378c,_0x186577=_0x53b586();while(!![]){try{const _0x3b7214=-parseInt(_0x56fa95(0x485))/0x1+parseInt(_0x56fa95(0x2b4))/0x2*(parseInt(_0x56fa95(0x41a))/0x3)+-parseInt(_0x56fa95(0x2d3))/0x4*(-parseInt(_0x56fa95(0x2cf))/0x5)+-parseInt(_0x56fa95(0x2a4))/0x6+-parseInt(_0x56fa95(0x244))/0x7+parseInt(_0x56fa95(0x4d3))/0x8*(-parseInt(_0x56fa95(0x45c))/0x9)+parseInt(_0x56fa95(0x3e7))/0xa*(parseInt(_0x56fa95(0x1ac))/0xb);if(_0x3b7214===_0x1a9340)break;else _0x186577['push'](_0x186577['shift']());}catch(_0x3ccab8){_0x186577['push'](_0x186577['shift']());}}}(_0x2ce2,0x87d5b));import _0x4e78b8 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';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';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,_0x869a0f(0x2f6)+_0x869a0f(0x1bd)),{app,BrowserWindow,Menu,clipboard,dialog,globalShortcut,ipcMain,protocol,shell}=_0x4e78b8,DEVTOOLS_ACCELERATOR=_0x869a0f(0x23e)+_0x869a0f(0x156)+_0x869a0f(0x4e0),APP_RENDERER_PROTOCOL_SCHEME='app',APP_RENDERER_PROTOCOL_HOST='-',APP_RENDERER_ENTRY_URL=APP_RENDERER_PROTOCOL_SCHEME+_0x869a0f(0x2d4)+APP_RENDERER_PROTOCOL_HOST+(_0x869a0f(0x14c)+'tml'),CLAWSPACE_PROTOCOL_SCHEME=_0x869a0f(0x1b5)+'e',DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x869a0f(0x4ab)+'on',IPC_SLOW_REQUEST_THRESHOLD_MS=0x1f4,SHELL_LOG_LEVELS=new Set([_0x869a0f(0x450),_0x869a0f(0x374),_0x869a0f(0x3be),'debug']),LOCAL_FILE_MIME_TYPES=new Map([['.html',_0x869a0f(0x172)+_0x869a0f(0x2d6)+_0x869a0f(0x3ab)],['.htm','text/htm'+'l;\x20chars'+_0x869a0f(0x3ab)],[_0x869a0f(0x1d0),_0x869a0f(0x266)+_0x869a0f(0x322)+_0x869a0f(0x2e2)+'8'],['.md','text/mar'+'kdown;\x20c'+_0x869a0f(0x19f)+_0x869a0f(0x1d3)],[_0x869a0f(0x124),_0x869a0f(0x2fe)+_0x869a0f(0x34b)+'script;\x20'+_0x869a0f(0x270)+'utf-8'],[_0x869a0f(0x438),_0x869a0f(0x2fe)+'ion/java'+_0x869a0f(0x3cd)+'charset='+'utf-8'],[_0x869a0f(0x3ad),'text/css'+_0x869a0f(0x1b8)+_0x869a0f(0x225)],[_0x869a0f(0x31e),_0x869a0f(0x2fe)+_0x869a0f(0x166)+_0x869a0f(0x1b8)+_0x869a0f(0x225)],[_0x869a0f(0x463),_0x869a0f(0x2fe)+_0x869a0f(0x166)+_0x869a0f(0x1b8)+_0x869a0f(0x225)],[_0x869a0f(0x259),_0x869a0f(0x354)+'eg'],['.jpeg',_0x869a0f(0x354)+'eg'],[_0x869a0f(0x3c9),_0x869a0f(0x478)+'g'],[_0x869a0f(0x186),_0x869a0f(0x388)+'f'],[_0x869a0f(0x1c3),'image/bm'+'p'],['.svg',_0x869a0f(0x3c5)+_0x869a0f(0x4a4)],['.webp','image/we'+'bp'],[_0x869a0f(0x27e),_0x869a0f(0x440)+_0x869a0f(0x358)],[_0x869a0f(0x48e),_0x869a0f(0x417)+'4'],[_0x869a0f(0x381),_0x869a0f(0x112)+_0x869a0f(0x4e5)],[_0x869a0f(0x199),_0x869a0f(0x26d)+_0x869a0f(0x37c)],['.mkv',_0x869a0f(0x26d)+'matroska'],['.webm',_0x869a0f(0x4e2)+'bm'],[_0x869a0f(0x2af),_0x869a0f(0x3af)+'eg'],[_0x869a0f(0x4c0),_0x869a0f(0x2e7)+'v'],[_0x869a0f(0x1ed),_0x869a0f(0x3af)+'4'],[_0x869a0f(0x32e),'audio/aa'+'c'],['.ogg',_0x869a0f(0x396)+'g'],[_0x869a0f(0x229),_0x869a0f(0x1eb)+'ac'],['.woff',_0x869a0f(0x169)+'f'],[_0x869a0f(0x284),_0x869a0f(0x169)+'f2'],[_0x869a0f(0x204),_0x869a0f(0x12f)],[_0x869a0f(0x458),_0x869a0f(0x2c1)],[_0x869a0f(0x276),'applicat'+_0x869a0f(0x13a)+_0x869a0f(0x3ea)+_0x869a0f(0x2c5)],['.wasm',_0x869a0f(0x2fe)+_0x869a0f(0x44f)]]);protocol['register'+_0x869a0f(0x3eb)+_0x869a0f(0x2b3)+'ged']([{'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(){return process.env.NODE_ENV==='producti'+'on';}function resolveDevToolsFlagPath(){const _0x2ed0dc=_0x869a0f;return shellConfig?.[_0x2ed0dc(0x23c)]?join(shellConfig[_0x2ed0dc(0x23c)],_0x2ed0dc(0x4bc)+_0x2ed0dc(0x1d9)):'';}function isDevToolsEnabled(){if(!isProductionMode())return!![];const _0x16e5ac=resolveDevToolsFlagPath();return Boolean(_0x16e5ac)&&existsSync(_0x16e5ac);}function attachGatewayBroadcastHandlers(_0x5f4184){const _0x82274d=_0x869a0f;for(const _0x2151d1 of[_0x82274d(0x3dc)+'status',_0x82274d(0x3dc)+_0x82274d(0x437),_0x82274d(0x3da)+_0x82274d(0x392)+'t',_0x82274d(0x1f3)+_0x82274d(0x47b),_0x82274d(0x237)+_0x82274d(0x219),_0x82274d(0x2e0)+_0x82274d(0x30f)+'n']){_0x5f4184['on'](_0x2151d1,_0x448031=>broadcast(_0x2151d1,_0x448031));}}function ensureSessionSqliteStore(){const _0x356d62=_0x869a0f;if(sessionSqliteStore)return sessionSqliteStore;if(!configController)throw new Error('wujie-sh'+_0x356d62(0x371)+'ig\x20is\x20no'+_0x356d62(0x4c7)+_0x356d62(0x2ef));return sessionSqliteStore=createSessionSqliteStore({'stateDir':configController[_0x356d62(0x3d6)+'tateDir']()}),sessionSqliteStore;}function ensureSessionDataService(){const _0x5b0a14=_0x869a0f;if(sessionDataService)return sessionDataService['attachGa'+_0x5b0a14(0x1b0)+_0x5b0a14(0x3c7)]?.(gatewayController),sessionDataService;if(!configController)throw new Error(_0x5b0a14(0x3a7)+_0x5b0a14(0x371)+_0x5b0a14(0x1e6)+'t\x20initia'+_0x5b0a14(0x2ef));return sessionDataService=createSessionDataService({'stateDir':configController[_0x5b0a14(0x3d6)+_0x5b0a14(0x23b)](),'sessionSqliteStore':ensureSessionSqliteStore(),'gatewayController':gatewayController,'broadcast':broadcast,'logger':mainLogger}),sessionDataService[_0x5b0a14(0x192)+'eRuntime'+'State']?.(_0x57fd6b=>{const _0x298278=_0x5b0a14;broadcast('sessions'+_0x298278(0x441)+'-state-c'+_0x298278(0x410),_0x57fd6b);}),sessionDataService['attachGa'+_0x5b0a14(0x1b0)+_0x5b0a14(0x3c7)]?.(),sessionDataService;}function updateRendererSessionMetrics(_0x305a5d){const _0x22b0b8=_0x869a0f;if(!_0x305a5d||typeof _0x305a5d!==_0x22b0b8(0x314))return;if(_0x305a5d['event']!==_0x22b0b8(0x251)+_0x22b0b8(0x3cc)+'_body_re'+_0x22b0b8(0x2a2)+'essed')return;const _0x4b34c4=_0x305a5d[_0x22b0b8(0x380)]&&typeof _0x305a5d[_0x22b0b8(0x380)]===_0x22b0b8(0x314)?_0x305a5d[_0x22b0b8(0x380)]:{},_0x3edb2a=Number(_0x4b34c4[_0x22b0b8(0x1c5)]);if(!Number[_0x22b0b8(0x144)](_0x3edb2a)||_0x3edb2a<=rendererSessionMetrics[_0x22b0b8(0x251)+_0x22b0b8(0x16c)+_0x22b0b8(0x1ad)+_0x22b0b8(0x395)])return;rendererSessionMetrics['inactive'+_0x22b0b8(0x16c)+_0x22b0b8(0x1ad)+_0x22b0b8(0x395)]=_0x3edb2a,rendererSessionMetrics['inactive'+_0x22b0b8(0x198)+'nt']=Math[_0x22b0b8(0x1ca)](rendererSessionMetrics['inactive'+'EventCou'+'nt'],_0x3edb2a);if(_0x3edb2a!==0x1&&_0x3edb2a%RENDERER_SESSION_METRIC_LOG_INTERVAL!==0x0)return;mainLogger?.[_0x22b0b8(0x3be)]?.(_0x22b0b8(0x461)+_0x22b0b8(0x3e9)+_0x22b0b8(0x3e6)+'updated',{'metric':_0x22b0b8(0x251)+_0x22b0b8(0x3cc)+_0x22b0b8(0x25f)+'ad_suppr'+_0x22b0b8(0x413),'inactiveEventCount':rendererSessionMetrics[_0x22b0b8(0x251)+_0x22b0b8(0x198)+'nt'],'inactiveBodyReadSuppressedCount':rendererSessionMetrics['inactive'+_0x22b0b8(0x16c)+'Suppress'+_0x22b0b8(0x395)],'changeKind':typeof _0x4b34c4[_0x22b0b8(0x468)+'nd']==='string'?_0x4b34c4[_0x22b0b8(0x468)+'nd']:null,'origin':typeof _0x4b34c4[_0x22b0b8(0x46e)]===_0x22b0b8(0x25d)?_0x4b34c4[_0x22b0b8(0x46e)]:null});}function ensureGeneratedFilesStore(){const _0x5b2e38=_0x869a0f;if(generatedFilesStore)return generatedFilesStore;if(!configController)throw new Error(_0x5b2e38(0x3a7)+'ell\x20conf'+'ig\x20is\x20no'+_0x5b2e38(0x4c7)+_0x5b2e38(0x2ef));return generatedFilesStore=createGeneratedFilesStore({'stateDir':configController[_0x5b2e38(0x3d6)+_0x5b2e38(0x23b)]()}),generatedFilesStore;}async function ensureGatewayControllerStarted(){const _0x1f397f=_0x869a0f;if(!gatewayController&&(!shellConfig||!configController))throw new Error(bootError?_0x1f397f(0x3a7)+_0x1f397f(0x490)+_0x1f397f(0x1dd)+'\x20'+bootError:_0x1f397f(0x3a7)+_0x1f397f(0x35d)+_0x1f397f(0x35e)+'ot\x20initi'+_0x1f397f(0x14a));return!gatewayController&&(mainLogger?.[_0x1f397f(0x374)](_0x1f397f(0x4a2)+_0x1f397f(0x3f3)+_0x1f397f(0x3f0)+_0x1f397f(0x423)+_0x1f397f(0x29d)),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x1f397f(0x445)+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService()),await gatewayController[_0x1f397f(0x487)](),gatewayController;}function getMode(){const _0x54fa42=_0x869a0f;return process.env.VITE_DEV_SERVER_URL?_0x54fa42(0x4c8):_0x54fa42(0x4eb);}function isGatewayNotInitializedError(_0x3f184c){const _0x5c2359=_0x869a0f;return _0x3f184c instanceof Error&&_0x3f184c[_0x5c2359(0x48f)]===_0x5c2359(0x3a7)+_0x5c2359(0x35d)+_0x5c2359(0x35e)+_0x5c2359(0x4d7)+_0x5c2359(0x14a);}function revealPathInFolder(_0x420245){const _0x2b2d03=_0x869a0f,_0x30fed3=String(_0x420245||'')[_0x2b2d03(0x4c2)]();if(!_0x30fed3)return{'ok':![],'error':_0x2b2d03(0x21a)+_0x2b2d03(0x302)};return shell[_0x2b2d03(0x128)+_0x2b2d03(0x1e0)](_0x30fed3),{'ok':!![]};}function resolveProjectRoot(){const _0x36285a=_0x869a0f;if(process.env.WUJIE_SHELL_PROJECT_ROOT)return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT);if(app[_0x36285a(0x378)+'ed']&&process[_0x36285a(0x474)+_0x36285a(0x3d3)])return join(process[_0x36285a(0x474)+'sPath'],_0x36285a(0x3b4));return resolve(process['cwd']());}function resolveProtocolScheme(){const _0x5a2f0a=_0x869a0f;return typeof shellConfig?.[_0x5a2f0a(0x268)]===_0x5a2f0a(0x25d)?shellConfig[_0x5a2f0a(0x268)][_0x5a2f0a(0x4c2)]():'';}function summarizeProtocolUrl(_0x16e7be){const _0x253993=_0x869a0f,_0x117721=typeof _0x16e7be==='string'?_0x16e7be:'';if(!_0x117721)return summarizeText('',0xa0);try{const _0x4b5e3f=new URL(_0x117721);for(const _0x1dd528 of[_0x253993(0x403),_0x253993(0x1d6)+'e',_0x253993(0x260),_0x253993(0x3ef),'state']){_0x4b5e3f[_0x253993(0x3dd)+_0x253993(0x4c6)][_0x253993(0x170)](_0x1dd528)&&_0x4b5e3f[_0x253993(0x3dd)+_0x253993(0x4c6)][_0x253993(0x35a)](_0x1dd528,_0x253993(0x4a6)+'D]');}return summarizeText(_0x4b5e3f['toString'](),0xa0);}catch{return summarizeText(_0x117721,0xa0);}}function extractProtocolUrlFromArgs(_0x44055c=[]){const _0x430212=_0x869a0f,_0x301990=resolveProtocolScheme();if(!_0x301990)return null;return _0x44055c[_0x430212(0x33d)](_0x592604=>{const _0x2f9549=_0x430212;if(typeof _0x592604!==_0x2f9549(0x25d))return![];return _0x592604[_0x2f9549(0x3b3)+'th'](_0x301990+_0x2f9549(0x2d4));})||null;}function getUsableMainWindow(){const _0x49fe5c=_0x869a0f;if(!mainWindow)return null;if(mainWindow['isDestro'+'yed']())return mainWindow=null,protocolUrlState[_0x49fe5c(0x17f)+_0x49fe5c(0x37a)](![]),null;if(mainWindow[_0x49fe5c(0x4e9)+_0x49fe5c(0x3c7)]?.[_0x49fe5c(0x291)+_0x49fe5c(0x39f)]?.())return mainWindow=null,protocolUrlState[_0x49fe5c(0x17f)+_0x49fe5c(0x37a)](![]),null;return mainWindow;}function _0x2ce2(){const _0x16c600=['isArray','les:list','\x20request','cron:rem',':process','hanged','nt-state','openAtLo','essed','ector\x20se','-weixin','Event','video/mp','mail','HEAD','809181cVgfrM','hostname',':input','top_star','onfig','type','ipc_requ','ap:entry','g\x20native','ng;\x20recr','oggle-ma','pendingU','onnectSt','wechat','ndows','before-i','ll-close','\x20main\x20wi','m-channe','ssionKey','name','startBac','ile\x20read','quired','roductDa','openPath','darwin','IPC\x20requ','entDocsC','log','.mjs','ipc\x20requ','pened','\x20entry\x20f','togglefu','indexOf','extensio','s:upsert','image/x-',':runtime','-status','ocolClie','resh-age','getVersi','filters','nstance\x20','director','h\x0aexec\x20\x22','catch','setAppli',':choose-','window:o','setLogin','ion/wasm','error','length','startKdo','workspac','hell:eve','paths','Context','tedModel','.otf','index.ht','uit:\x20upd','lue','439038KkzTLV','download','ssion:\x20','getFocus','files:se','session\x20','product\x20','.map','arch','nfig','oken','status','changeKi','getRunti','ued\x20befo','igate','help','elete','origin','rce','isMaximi','update_g','shared-c','entExmai','resource','napshot','range,\x20c','agent\x20de','image/pn','g\x20level\x20','readConf','ent','feishu_d','child-pr','shuRegis','lt\x20model','st-direc','loadURL','ens','cron','then','298525qVgxKQ',':status','start','paste','isabled','dispose','inned','Custom','app:syst','.mp4','message','ell\x20boot','toLowerC','sync-bun','slice',':summary','debug','provider','pluginId','n-direct','closeToT','agents:d','ile\x20not\x20','isDirect','tSession','otAfterI','gatewayP','ailed','nstance','gateway\x20','record','g+xml',':save-kd','[REDACTE','url','leted','eated','openclaw','producti','zed','getStatu','s-maximi','dRejecti','setImCha','enClawSk','kdocs','ad-binar','cron:run','app:star','showOpen','groups','s:list','eted','meState','method','devtools',':save-fe','agent_id','get','.wav','ngs','trim','parse','limit','ed:\x20','rams','t\x20initia','dev','les:dele','Entry','eam','cutoffRo','\x20window\x20','ChannelC','\x20client\x20','showSave','getSumma','annelCon','104AnUJZq','ion','cron:cre','cutoffTe','ot\x20initi','getAllWi','request-','nnectSes','Dialog','ngUrl','projectR','and-inst','ion/octe','+Shift+I','now','video/we','n\x20not\x20fo','sessionK','icktime','includes',':choose','ion-menu','webConte','window:i','prod','mand','-by-sess','some',':save-ne','hecks','bot-chan','app:open','t-messag','dated','rn、info\x20','openFile','tion\x20fai','multiSel','video/qu','window:c','lawPlugi','markConf','selectAl','app:file','saveWeco','getKdocs','-logs','before\x20i','listImCh','captureI','logs:wri','tease-ma','index.mj','acts','chat','isIntege','.js','lConnect','ired','ources','showItem','ase','configPa','-info','listBySe','returnVa','ocsCliCo','font/ttf','temperat','window-a','ey\x20is\x20re',':answer-','node','disable','em:resta','ell:even','runtime:','cle','ion/vnd.','writeCon','size','agents:u','app:tray','context','id\x20title','appId','ead','ndow','isFinite','exec','\x20process','text','-state-s','OPTIONS','alized','openDire','/index.h','quitAndI','ishuDocC',':message','aultProt',':unpin','board:wr','omModel','number','indowTok','rControl','restore\x20','rayOnClo','focus','syncRunt','deleteIm','temp','manifest','les:hide','xOf',':save-qq','ory-info','\x20CLI\x20wra','inimize','file\x20rea','logs','ion/json','agent\x20al','storyLoa','font/wof','agents','byteLeng','BodyRead','relaunch','csCliCon','setSelec','has','cancelKd','text/htm','onChatHi','node:fs/','lClient','sender',':save-we','nelSessi','ate\x20inst','pServer','-url','runtimeI','peratedM','meFilter','setRende','tabs-com','d\x20is\x20req','-shortcu','dCheck','-level',':fork','.gif','uit','fromIpc','send','agent\x20id','getURL','te:get-s','Bearer\x20','hell]\x20fa','app:info','unhandle','map','subscrib','rocess-g','deleteCu','ontent-t',':downloa','requestB','EventCou','.avi',':get-clo','deleteFi','onnector','red;\x20set','elConfig','harset=u',':loading','runtime\x20','stream','dSession','rogress,','select\x20d','redo','#f8fafc','Level','defaults','filePath','main-fra','851653wnrfkr','Suppress','title','filter','tewayEve','finally',':gateway','jie-shel','updateOp','clawspac','aries','dist',';\x20charse','unmaximi','nectorCo',':start','stion','mjs','ocus','e\x20direct','Unsuppor','skills:u','saveFeis','.bmp','ssion','count','stomMode','e:direct','boot\x20ele','gatewayT','max','saveQqMa','file\x20wri','ensureIn','productN','\x20found:\x20','.txt','fromEntr','\x20rendere','tf-8','saveKdoc','lect-fil','auth_cod','runOnce','ls:list','.flag','efault','ted\x20conn','llscreen','\x20failed:','pop','\x20pending','InFolder','lConfig','ell-cli.','torConfi','app:log-','enable','ig\x20is\x20no','artifact','orted','nabled','test','audio/fl','windowMe','.m4a','buildFro','execPath','logs:ope','versions','Session','agent-ev','replace','logsDir','ted-ever','-session','nfo','tabs:ref','Update','est\x20comp','redConte','rename','models','ate','path','match','n\x20loaded','-data','.ttf','-token','\x20log','feishu','split','ections','defaultF','https://','recursiv','plugin\x20d','agent-','ings','lawChann','detach','timeout','folder','open-url','skills:s','nel','\x20open\x20bl','ionUsage','pdated','path\x20is\x20','register','targetDi','window:m','settings','uired','complete','les:upse','answerAs','ap:get','electron','t=utf-8','setPendi','isLoadin','tml','.flac','mTemplat','maxToken','ap:upser','te:downl','ilConnec','lingUpda','sessions','\x20quit','config:i','migrateP','timeoutM','Not\x20foun',':resize','agents-u','agent\x20up','whenRead','ready','tateDir','dataDir','ontext','CommandO','channelI','open\x20ext','generate','quit','cron:lis','5787257WIoJYx','selected','enClawCo','upsert','ite-bina','second-i','startFei','CliConne','com-chan','agentId','tabs-age','ncent-do','reload','inactive',':complet','assign','platform','avatar','s:hide','et-selec','FeishuDo','.jpg','files:re','-life-cy','reorderP','string','ocess-go','_body_re','code','handle','est\x20fail','tIdTitle','elected-','agent','text/pla','Everywhe','protocol','ntime','remove','maximize','runtimeR','video/x-','fig','before\x20q','charset=','close','succeede','setSelfO','logs:get','senderFr','.eot','agents:l','argv','\x20url\x20que',':save','hideOthe','preferen','deletedS','.ico','sses','snapshot','ateway_s','entModel','GET,\x20HEA','.woff2','equested','illEntry','l\x20prepar','ession','getFeish','messages','shouldLo','toISOStr','separato','files','saveQqbo','ng\x20gatew','isDestro','resolveC','getState','parentSe','shuDocCl',':pin','registra','customNa','[wujie-s','Config','oad','entries','eating','Invalid\x20','window','sion','input','ad_suppr','或\x20debug','278166BEiBQF','uncaught','g_conten','agents:c','isMinimi','tProtoco','chat:str','nstall','onReques','isFile','\x20gone','.mp3','mpletion','setAsDef','nnel','sPrivile','4QdJmmz','tabs:req','recordBo','fromWebC','ted-stat','ove','getPinne','te:check','huChanne','uDocCliC','getMessa','pen-devt','orConfig','font/otf','pathname','enClawMc','hide','bject','restore','initiali','logs\x20dir','payload','app:prot','skills','Version','models:s','unref','2532685wDWXNg','ued\x20for\x20','primary','sessionI','4xMHtpt','://','atus','l;\x20chars','forceRel','preventD','services','install','hideBySe','before-q','i-window','e\x20comple','\x20url\x20dis','ask-user','sConnect','set=utf-','logLevel','\x20open-ur','et-setti','create','audio/wa',':\x20gatewa','maxEntri','ort','write','edWindow','stop','lect-dir','lized','g\x20update','ipc','ocol-url','-restart',':delete','ame','preload.',':usage','model','update','-request','headers','minimize','te\x20compl','applicat','app:gene','saveNetE',':save-di','required','wBin','ncident','main\x20win','all\x20in\x20p',':create','function','iled\x20to\x20','logs:lis','te:quit-','nstallin','Observed','ishuRegi','-questio','e\x20url','kgroundC','chatChan','yInfo','object','tabs:pos','role','unregist','plugins:','checkFor','ure','ctory','ith-sess','nConfig','.json','roductCo','\x20main\x20bo','tate','in;\x20char','activate','model-id','emoji','sourcePa','tic','POST','agents:w','ded','elSessio','delete','irectory','.aac','shellLog','ype',':open-cl','ishu-doc','customMo','startWec','setName','open','show','r\x20ready',':run-onc','liConnec','dels','onfig\x20up','find','content','readSess','list',':rename','ctron\x20ma','s:delete','min','getPath','failed','contextW','rver','getLogin','config:c','ion/java','Ready','canceled','toWeb',':agent-m',':save-te','\x20excepti','oot','th\x20is\x20re','image/jp','skills:i','t-stream','#ffffff','icon','ools','set','keys','range','ell\x20gate','way\x20is\x20n','hatChann','length,\x20','\x20updater','render-p','dow\x20load','ory','shing','config','ontents','plugin\x20e','ies','nges','main','-pinned','creating','no\x20defau','/chat/co','uRegistr','ell\x20conf','figs','keyDown','warn','ists','setOpenC','y\x20stoppe','isPackag','d-state','rerReady','child\x20pr','msvideo','resolve','href','deleteOp','meta','.mov','\x20url\x20flu','ctStatus','writeEve','terminal','bytes','hell:ipc','image/gi','ItemSett','ingleIns','aseMailC',':set-clo','n\x20failed','ocs','error、wa','getArtif','queueUrl','eam-even','est_fail','reasonin','edCount','audio/og','-once','select\x20f','tabs:nav','logs:set','getAppPa','key','loading-','untimeHa','yed','listSumm','itialize','dled-res','omplete\x20','ProductR','stringif','led','wujie-sh','app_acti','mChannel','vate','et=utf-8','#!/bin/s','.css','sharedCo','audio/mp','ncent-ex','will-qui','content-','startsWi','app.asar','e:open-d','level','lose','d\x20failed','ngtalk-d',':revisio','keepUnti','user','utf8','info','ternally','imePlugi','ectory','rnal','lawSkill','ntext','image/sv','all','nts','lastInde','.png','tp\x20','logs:exp','_session','script;\x20','d\x20reject','Updates','resize','Keys','ite','sPath','sourceSe','tChannel','resolveS','parseInt','unknown','-status-','chat-str','ocked','gateway-','searchPa','gMainFra','files:wr','bytes\x20',':cancel','report-r','about','ModelId','app:upda','\x20metric\x20','170xRDvUR','chat:abo','renderer','ms-fonto','SchemesA','missing-','huDocCon','writeSha','token','er\x20missi','shell\x20lo','\x20is\x20requ','controll','les:reve','ndlers','g\x20ready','ted','ile\x20comp','pdate','diagnost',':artifac','s:reveal','ist','ot\x20compl','shell-ru','saveTenc','rated-fi','plugins','authCode','trationS',':close','openDevT','ishu-cha','enClawCh','binary\x20f','wujiecla'];_0x2ce2=function(){return _0x16c600;};return _0x2ce2();}function _0x378c(_0x4705a6,_0x53a5bf){_0x4705a6=_0x4705a6-0x110;const _0x2ce2cc=_0x2ce2();let _0x378c48=_0x2ce2cc[_0x4705a6];return _0x378c48;}async function ensureMainWindow(){const _0x20b255=_0x869a0f,_0x4c2343=getUsableMainWindow();if(_0x4c2343)return _0x4c2343;if(!shellConfig||!ipcHandlersInstalled)return null;return!createWindowPromise&&(createWindowPromise=createWindow()[_0x20b255(0x1b1)](()=>{createWindowPromise=null;})),await createWindowPromise,getUsableMainWindow();}function restoreMainWindowForPendingProtocolUrl(){const _0x25860e=_0x869a0f;if(!shellConfig)return;void ensureMainWindow()[_0x25860e(0x44a)](_0x5aa030=>{const _0x4ee209=_0x25860e;mainLogger?.[_0x4ee209(0x450)]('protocol'+_0x4ee209(0x4cd)+_0x4ee209(0x157)+_0x4ee209(0x346),summarizeError(_0x5aa030));});}function queueProtocolUrl(_0x14cbfe,_0x368e58,_0x435cb7=null){const _0x45d389=_0x869a0f,{duplicate:_0xbdffde}=protocolUrlState[_0x45d389(0x391)](_0x14cbfe);mainLogger?.[_0x45d389(0x374)](_0x45d389(0x268)+_0x45d389(0x279)+_0x45d389(0x2d0)+_0x45d389(0x3e9),{'url':summarizeProtocolUrl(_0x14cbfe),'reason':_0x368e58,'duplicatePending':_0xbdffde,'hasWindow':Boolean(_0x435cb7),'isLoadingMainFrame':Boolean(_0x435cb7?.[_0x45d389(0x4e9)+_0x45d389(0x3c7)][_0x45d389(0x227)+_0x45d389(0x3de)+'me']()),'protocolRendererReady':protocolUrlState[_0x45d389(0x3e9)+_0x45d389(0x34c)]});}function dispatchProtocolUrl(_0x256ca9){const _0x22bfac=_0x869a0f,_0x49f003=resolveProtocolScheme();if(typeof _0x256ca9!==_0x22bfac(0x25d))return;if(!_0x49f003){protocolUrlState[_0x22bfac(0x226)+_0x22bfac(0x4dc)](_0x256ca9),mainLogger?.[_0x22bfac(0x374)](_0x22bfac(0x268)+_0x22bfac(0x279)+_0x22bfac(0x46a)+'re\x20confi'+_0x22bfac(0x3f6),{'url':summarizeProtocolUrl(_0x256ca9)});return;}if(!_0x256ca9[_0x22bfac(0x3b3)+'th'](_0x49f003+_0x22bfac(0x2d4)))return;mainLogger?.[_0x22bfac(0x374)](_0x22bfac(0x268)+'\x20url\x20rec'+'eived',{'url':summarizeProtocolUrl(_0x256ca9)});const _0x47b615=getUsableMainWindow();if(!_0x47b615){queueProtocolUrl(_0x256ca9,_0x22bfac(0x3ec)+_0x22bfac(0x29f));if(!_0x47b615)restoreMainWindowForPendingProtocolUrl();return;}if(_0x47b615[_0x22bfac(0x4e9)+_0x22bfac(0x3c7)]['isLoadin'+_0x22bfac(0x3de)+'me']()){queueProtocolUrl(_0x256ca9,_0x22bfac(0x39d)+_0x22bfac(0x1ab)+'me',_0x47b615);return;}if(!protocolUrlState['renderer'+'Ready']){queueProtocolUrl(_0x256ca9,'renderer'+'-not-rea'+'dy',_0x47b615);return;}_0x47b615[_0x22bfac(0x337)](),_0x47b615[_0x22bfac(0x159)](),broadcast('app:prot'+_0x22bfac(0x2f2),_0x256ca9),mainLogger?.[_0x22bfac(0x374)](_0x22bfac(0x268)+_0x22bfac(0x2df)+'patched',{'url':summarizeProtocolUrl(_0x256ca9),'protocolRendererReady':protocolUrlState[_0x22bfac(0x3e9)+_0x22bfac(0x34c)]});}function flushPendingProtocolUrl(){const _0x559d2f=_0x869a0f,_0x205b49=protocolUrlState['clearPen'+'dingUrl']();if(!_0x205b49)return;mainLogger?.[_0x559d2f(0x374)](_0x559d2f(0x268)+_0x559d2f(0x1df)+_0x559d2f(0x382)+_0x559d2f(0x365),{'url':summarizeProtocolUrl(_0x205b49)}),void dispatchProtocolUrl(_0x205b49);}function getLocalFileMimeType(_0x3eaccd){const _0x3d920d=_0x869a0f;return LOCAL_FILE_MIME_TYPES['get'](_0x3eaccd[_0x3d920d(0x493)](_0x3eaccd[_0x3d920d(0x3c8)+_0x3d920d(0x15f)]('.'))[_0x3d920d(0x491)+_0x3d920d(0x129)]())||_0x3d920d(0x2fe)+_0x3d920d(0x4df)+_0x3d920d(0x356);}function resolveRendererDistDir(){const _0x4f5d39=_0x869a0f;return join(shellConfig[_0x4f5d39(0x4dd)+_0x4f5d39(0x352)],_0x4f5d39(0x1b7));}function decodeAppRendererPath(_0x378d64){const _0x5bf703=_0x869a0f;try{const _0x4c161e=new URL(_0x378d64);if(_0x4c161e['protocol']!==APP_RENDERER_PROTOCOL_SCHEME+':')return null;if(_0x4c161e[_0x5bf703(0x41b)]!==APP_RENDERER_PROTOCOL_HOST)return null;const _0x52991c=resolveRendererDistDir(),_0x4ab801=decodeURIComponent(_0x4c161e['pathname']||_0x5bf703(0x14c)+_0x5bf703(0x228)),_0xa67dae=_0x4ab801['replace'](/^\/+/,'')||_0x5bf703(0x459)+'ml',_0x34254f=resolve(_0x52991c,_0xa67dae);if(_0x34254f!==_0x52991c&&!_0x34254f[_0x5bf703(0x3b3)+'th'](''+_0x52991c+sep))return null;return{'url':_0x4c161e,'distDir':_0x52991c,'filePath':_0x34254f};}catch{return null;}}function parseSingleRangeHeader(_0x5e7c83,_0x2a2497){const _0x5e6a18=_0x869a0f,_0xc7d87f=/^bytes=(\d*)-(\d*)$/i[_0x5e6a18(0x145)](_0x5e7c83['trim']());if(!_0xc7d87f)return null;const [,_0x37daa8,_0x2fe842]=_0xc7d87f;if(!_0x37daa8&&!_0x2fe842)return null;if(!_0x37daa8){const _0x55753e=Number['parseInt'](_0x2fe842,0xa);if(!Number[_0x5e6a18(0x144)](_0x55753e)||_0x55753e<=0x0)return null;const _0x4cceee=Math[_0x5e6a18(0x1ca)](_0x2a2497-_0x55753e,0x0);return{'start':_0x4cceee,'end':_0x2a2497-0x1};}const _0x574b0c=Number[_0x5e6a18(0x3d7)](_0x37daa8,0xa);if(!Number[_0x5e6a18(0x144)](_0x574b0c)||_0x574b0c<0x0||_0x574b0c>=_0x2a2497)return null;const _0x1e351f=_0x2fe842?Number['parseInt'](_0x2fe842,0xa):_0x2a2497-0x1;if(!Number[_0x5e6a18(0x144)](_0x1e351f)||_0x1e351f<_0x574b0c)return null;return{'start':_0x574b0c,'end':Math[_0x5e6a18(0x344)](_0x1e351f,_0x2a2497-0x1)};}function decodeClawspacePath(_0x2e3a1d){const _0x287340=_0x869a0f;try{const _0x102d89=new URL(_0x2e3a1d);if(_0x102d89['protocol']!==CLAWSPACE_PROTOCOL_SCHEME+':')return null;if(_0x102d89['hostname']!=='local')return null;const _0x49d35b=decodeURIComponent(_0x102d89[_0x287340(0x2c2)]);if(!_0x49d35b)return null;if(/^\/[A-Za-z]:\//[_0x287340(0x1ea)](_0x49d35b))return _0x49d35b['slice'](0x1);return _0x49d35b;}catch{return null;}}function createClawspaceHeaders(_0x4ed525={}){const _0x286b86=_0x869a0f;return new Headers({'access-control-allow-origin':'*','access-control-allow-methods':_0x286b86(0x283)+'D,\x20OPTIO'+'NS','access-control-allow-headers':_0x286b86(0x476)+_0x286b86(0x195)+_0x286b86(0x330),'access-control-expose-headers':_0x286b86(0x3b2)+_0x286b86(0x360)+_0x286b86(0x3b2)+'range,\x20a'+'ccept-ra'+_0x286b86(0x36a),..._0x4ed525});}function createLocalFileResponse(_0x398b5e,_0x37742e){const _0x2cab01=_0x869a0f,_0x420eee=statSync(_0x37742e);if(!_0x420eee[_0x2cab01(0x2ad)]())return new Response(_0x2cab01(0x235)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x2cab01(0x322)+_0x2cab01(0x2e2)+'8'})});const _0x45b59e=getLocalFileMimeType(_0x37742e),_0x530c73=createClawspaceHeaders({'content-type':_0x45b59e,'accept-ranges':_0x2cab01(0x386),'cache-control':'no-store'});if(_0x398b5e[_0x2cab01(0x4bb)]===_0x2cab01(0x419))return _0x530c73[_0x2cab01(0x35a)]('content-'+'length',String(_0x420eee[_0x2cab01(0x13c)])),new Response(null,{'status':0xc8,'headers':_0x530c73});const _0x177792=_0x398b5e['headers'][_0x2cab01(0x4bf)](_0x2cab01(0x35c));if(!_0x177792)return _0x530c73[_0x2cab01(0x35a)]('content-'+_0x2cab01(0x451),String(_0x420eee[_0x2cab01(0x13c)])),new Response(Readable[_0x2cab01(0x34e)](createReadStream(_0x37742e)),{'status':0xc8,'headers':_0x530c73});const _0x3cbf3a=parseSingleRangeHeader(_0x177792,_0x420eee[_0x2cab01(0x13c)]);if(!_0x3cbf3a)return new Response(null,{'status':0x1a0,'headers':createClawspaceHeaders({...Object[_0x2cab01(0x1d1)+_0x2cab01(0x369)](_0x530c73[_0x2cab01(0x29c)]()),'content-range':'bytes\x20*/'+_0x420eee[_0x2cab01(0x13c)]})});const {start:_0x820cd8,end:_0x11eaf3}=_0x3cbf3a,_0x27afa4=_0x11eaf3-_0x820cd8+0x1,_0x39d225=new Headers(_0x530c73);return _0x39d225[_0x2cab01(0x35a)]('content-'+'length',String(_0x27afa4)),_0x39d225[_0x2cab01(0x35a)]('content-'+_0x2cab01(0x35c),_0x2cab01(0x3e0)+_0x820cd8+'-'+_0x11eaf3+'/'+_0x420eee[_0x2cab01(0x13c)]),new Response(Readable[_0x2cab01(0x34e)](createReadStream(_0x37742e,{'start':_0x820cd8,'end':_0x11eaf3})),{'status':0xce,'headers':_0x39d225});}function installClawspaceProtocolHandler(){const _0x5c3ed3=_0x869a0f;protocol[_0x5c3ed3(0x261)](CLAWSPACE_PROTOCOL_SCHEME,_0x4e84e=>{const _0x4182aa=_0x5c3ed3;if(_0x4e84e[_0x4182aa(0x4bb)]==='OPTIONS')return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x1e475b=decodeClawspacePath(_0x4e84e[_0x4182aa(0x4a7)]);if(!_0x1e475b)return new Response(_0x4182aa(0x29e)+_0x4182aa(0x1b5)+_0x4182aa(0x310),{'status':0x190,'headers':createClawspaceHeaders({'content-type':_0x4182aa(0x266)+_0x4182aa(0x322)+'set=utf-'+'8'})});if(!existsSync(_0x1e475b))return new Response(_0x4182aa(0x235)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x4182aa(0x266)+'in;\x20char'+_0x4182aa(0x2e2)+'8'})});return createLocalFileResponse(_0x4e84e,_0x1e475b);});}function installAppRendererProtocolHandler(){const _0x4f7a5d=_0x869a0f;protocol[_0x4f7a5d(0x261)](APP_RENDERER_PROTOCOL_SCHEME,_0xe62e49=>{const _0x558fb7=_0x4f7a5d;if(_0xe62e49[_0x558fb7(0x4bb)]===_0x558fb7(0x149))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x28c676=decodeAppRendererPath(_0xe62e49[_0x558fb7(0x4a7)]);if(!_0x28c676)return new Response(_0x558fb7(0x29e)+'app\x20url',{'status':0x190,'headers':createClawspaceHeaders({'content-type':_0x558fb7(0x266)+_0x558fb7(0x322)+_0x558fb7(0x2e2)+'8'})});const {url:_0x20446b,distDir:_0x465237,filePath:_0x3db860}=_0x28c676,_0x405799=join(_0x465237,_0x558fb7(0x459)+'ml'),_0x44d52f=existsSync(_0x3db860),_0xeaa5dd=_0x44d52f?_0x3db860:_0x405799;if(!_0x44d52f&&_0x20446b[_0x558fb7(0x2c2)]['includes']('.'))return new Response(_0x558fb7(0x235)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x558fb7(0x266)+_0x558fb7(0x322)+_0x558fb7(0x2e2)+'8'})});if(!existsSync(_0xeaa5dd))return mainLogger?.['error']('renderer'+_0x558fb7(0x43b)+_0x558fb7(0x49b)+'found',{'requestUrl':_0xe62e49[_0x558fb7(0x4a7)],'targetPath':_0xeaa5dd}),new Response('Not\x20foun'+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x558fb7(0x266)+_0x558fb7(0x322)+_0x558fb7(0x2e2)+'8'})});return createLocalFileResponse(_0xe62e49,_0xeaa5dd);});}function broadcast(_0x2755e6,_0x542228){const _0x114503=_0x869a0f;DEBUG_STDOUT&&console[_0x114503(0x3be)](_0x114503(0x299)+_0x114503(0x454)+'nt]',_0x2755e6,summarizePayload(_0x542228,{'maxDepth':0x2}));for(const _0x29e896 of BrowserWindow['getAllWi'+'ndows']()){!_0x29e896[_0x114503(0x4e9)+_0x114503(0x3c7)][_0x114503(0x291)+_0x114503(0x39f)]()&&_0x29e896[_0x114503(0x4e9)+_0x114503(0x3c7)][_0x114503(0x189)](_0x114503(0x3a7)+_0x114503(0x137)+'t',{'name':_0x2755e6,'payload':_0x542228});}}function requestLogReportFromRenderer(_0x192316){const _0x32e911=_0x869a0f,_0xfc7082=BrowserWindow[_0x32e911(0x45f)+_0x32e911(0x2ec)]()||(mainWindow&&!mainWindow[_0x32e911(0x291)+_0x32e911(0x39f)]()?mainWindow:null),_0xf5a1d2={'source':_0x192316};if(!_0xfc7082||_0xfc7082[_0x32e911(0x4e9)+'nts'][_0x32e911(0x291)+_0x32e911(0x39f)]()){broadcast(_0x32e911(0x1e4)+_0x32e911(0x3e2)+_0x32e911(0x285),_0xf5a1d2);return;}_0xfc7082[_0x32e911(0x2a8)+_0x32e911(0x4ac)]()&&_0xfc7082[_0x32e911(0x2c6)](),_0xfc7082[_0x32e911(0x337)](),_0xfc7082['focus'](),_0xfc7082['webConte'+_0x32e911(0x3c7)][_0x32e911(0x189)](_0x32e911(0x3a7)+'ell:even'+'t',{'name':_0x32e911(0x1e4)+_0x32e911(0x3e2)+'equested','payload':_0xf5a1d2});}function installApplicationMenu(){const _0x2e3f30=_0x869a0f;if(process[_0x2e3f30(0x254)]!==_0x2e3f30(0x434))return;const _0x5a7368=[{'label':shellConfig?.[_0x2e3f30(0x1ce)+'ame']||app['name'],'submenu':[{'role':_0x2e3f30(0x3e3)},{'type':'separato'+'r'},{'role':_0x2e3f30(0x2d9)},{'type':_0x2e3f30(0x28d)+'r'},{'role':_0x2e3f30(0x2c4)},{'role':_0x2e3f30(0x27b)+'rs'},{'role':'unhide'},{'type':'separato'+'r'},{'role':_0x2e3f30(0x242)}]},{'label':'编辑','submenu':[{'role':'undo'},{'role':_0x2e3f30(0x1a6)},{'type':_0x2e3f30(0x28d)+'r'},{'role':'cut'},{'role':'copy'},{'role':_0x2e3f30(0x488)},{'role':_0x2e3f30(0x116)+'l'}]},{'label':'显示','submenu':[{'role':_0x2e3f30(0x250)},{'role':_0x2e3f30(0x2d7)+_0x2e3f30(0x29b)},{'type':_0x2e3f30(0x28d)+'r'},{'role':_0x2e3f30(0x43c)+_0x2e3f30(0x1dc)}]},{'role':_0x2e3f30(0x1ec)+'nu','label':'窗口'},{'role':_0x2e3f30(0x46c),'label':'帮助','submenu':[{'label':'上传日志...','click':()=>{const _0x3497ba=_0x2e3f30;requestLogReportFromRenderer(_0x3497ba(0x2fe)+_0x3497ba(0x4e8));}}]}];Menu[_0x2e3f30(0x44b)+'cationMe'+'nu'](Menu[_0x2e3f30(0x1ee)+_0x2e3f30(0x22a)+'e'](_0x5a7368));}async function loadProductRuntime(){const _0x3ca582=_0x869a0f,_0x5932c1=[join(shellConfig['projectR'+_0x3ca582(0x352)],_0x3ca582(0x3ff)+_0x3ca582(0x269),_0x3ca582(0x120)+'s'),join(app[_0x3ca582(0x39b)+'th'](),_0x3ca582(0x3ff)+'ntime',_0x3ca582(0x120)+'s')],_0x2a4378=_0x5932c1['find'](_0x6d5d44=>existsSync(_0x6d5d44));if(!_0x2a4378)return mainLogger?.[_0x3ca582(0x3be)]('product\x20'+_0x3ca582(0x1a1)+_0x3ca582(0x43e)+_0x3ca582(0x4e3)+'und',{'runtimeCandidates':_0x5932c1}),{};try{const _0x44a937=await import(pathToFileURL(_0x2a4378)[_0x3ca582(0x37e)]);return mainLogger?.['info']('product\x20'+_0x3ca582(0x1a1)+_0x3ca582(0x43e)+_0x3ca582(0x202),{'runtimePath':_0x2a4378}),_0x44a937;}catch(_0x12e167){mainLogger?.['error'](_0x3ca582(0x462)+_0x3ca582(0x1a1)+_0x3ca582(0x43e)+_0x3ca582(0x38d)+'\x20to\x20load',{'runtimePath':_0x2a4378,'error':summarizeError(_0x12e167)});throw _0x12e167;}}function openDevToolsForActiveContext(){const _0x48e3fa=_0x869a0f;if(!isDevToolsEnabled())return mainLogger?.[_0x48e3fa(0x3be)](_0x48e3fa(0x4bc)+_0x48e3fa(0x217)+_0x48e3fa(0x3db),{'mode':getMode(),'flagPath':resolveDevToolsFlagPath()}),{'ok':![]};const _0x3e2524=BrowserWindow[_0x48e3fa(0x45f)+_0x48e3fa(0x2ec)]()||mainWindow;if(!_0x3e2524||_0x3e2524[_0x48e3fa(0x291)+_0x48e3fa(0x39f)]())return{'ok':![]};return _0x3e2524[_0x48e3fa(0x4e9)+_0x48e3fa(0x3c7)][_0x48e3fa(0x406)+'ools']({'mode':_0x48e3fa(0x211)}),_0x3e2524[_0x48e3fa(0x4e9)+_0x48e3fa(0x3c7)][_0x48e3fa(0x189)]('wujie-sh'+_0x48e3fa(0x137)+'t',{'name':_0x48e3fa(0x4bc)+_0x48e3fa(0x182)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0xe4100=_0x869a0f;globalShortcut[_0xe4100(0x317)+'er'](DEVTOOLS_ACCELERATOR);if(!isDevToolsEnabled())return;const _0x41a8f4=globalShortcut[_0xe4100(0x21b)](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x41a8f4&&console[_0xe4100(0x374)](_0xe4100(0x299)+_0xe4100(0x18e)+_0xe4100(0x309)+_0xe4100(0x21b)+'\x20shortcu'+'t:\x20'+DEVTOOLS_ACCELERATOR);}async function getRuntimeResourceStatus(){const _0x5d745a=_0x869a0f;try{const _0x22da97=await loadRuntimeInfo(shellConfig[_0x5d745a(0x4dd)+'oot']),_0x499fc7=_0x22da97[_0x5d745a(0x15d)]||{};return{'ok':!![],'runtimeRoot':_0x22da97[_0x5d745a(0x26c)+'oot'],'openclawVersion':_0x22da97['openclaw'+_0x5d745a(0x2cc)],'generatedAt':_0x499fc7[_0x5d745a(0x241)+'dAt']||null,'pluginCount':Array[_0x5d745a(0x40b)](_0x499fc7[_0x5d745a(0x402)])?_0x499fc7[_0x5d745a(0x402)][_0x5d745a(0x451)]:0x0,'plugins':Array[_0x5d745a(0x40b)](_0x499fc7[_0x5d745a(0x402)])?_0x499fc7['plugins']:[],'agents':_0x499fc7[_0x5d745a(0x16a)]||null,'skills':_0x499fc7['skills']||null,'wrapper':_0x499fc7[_0x5d745a(0x40a)+_0x5d745a(0x303)]||null,'product':_0x499fc7['product']||null};}catch(_0x2ac2d0){return{'ok':![],'runtimeRoot':resolveRuntimeRoot(shellConfig?.['projectR'+_0x5d745a(0x352)]||resolveProjectRoot()),'error':_0x2ac2d0 instanceof Error?_0x2ac2d0[_0x5d745a(0x48f)]:String(_0x2ac2d0)};}}async function createWindow(){const _0x4348b1=_0x869a0f,_0x208cac=process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL,_0x14d54e=process[_0x4348b1(0x254)]===_0x4348b1(0x434),_0x539627=process[_0x4348b1(0x254)]==='win32'?![]:!![],_0x55394f=isDevToolsEnabled();mainLogger?.[_0x4348b1(0x3be)](_0x4348b1(0x36d)+_0x4348b1(0x42b)+_0x4348b1(0x143),{'rendererUrl':_0x208cac,'mode':getMode(),'devToolsEnabled':_0x55394f,'devToolsFlagPath':resolveDevToolsFlagPath()});const _0x3c0994=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig[_0x4348b1(0x1ce)+_0x4348b1(0x2f5)],'backgroundColor':_0x14d54e?_0x4348b1(0x357):_0x4348b1(0x1a7),'autoHideMenuBar':!![],'titleBarStyle':'hidden','titleBarOverlay':_0x539627,..._0x14d54e?{'trafficLightPosition':{'x':0x10,'y':0xc}}:{},'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![],'devTools':_0x55394f}});mainWindow=_0x3c0994,protocolUrlState[_0x4348b1(0x17f)+'rerReady'](![]),_0x3c0994['on']('closed',()=>{const _0x2ed7e4=_0x4348b1;if(mainWindow!==_0x3c0994)return;mainWindow=null,protocolUrlState[_0x2ed7e4(0x17f)+'rerReady'](![]);}),_0x3c0994['webConte'+'nts']['on'](_0x4348b1(0x429)+'nput-eve'+'nt',_0x2611e3=>{const _0x501b25=_0x4348b1,_0x5d2b6a=_0x2611e3[_0x501b25(0x2a1)];if(!_0x5d2b6a||_0x5d2b6a[_0x501b25(0x41f)]!==_0x501b25(0x373))return;const _0x3b9e59=String(_0x5d2b6a[_0x501b25(0x39c)]||'')[_0x501b25(0x491)+'ase'](),_0x42988c=_0x3b9e59==='r',_0x39b2b5=process[_0x501b25(0x254)]===_0x501b25(0x434)?_0x5d2b6a[_0x501b25(0x380)]===!![]:_0x5d2b6a['control']===!![];if(!_0x42988c||!_0x39b2b5)return;_0x2611e3[_0x501b25(0x2d8)+_0x501b25(0x1da)](),broadcast(_0x501b25(0x180)+_0x501b25(0x4ec),{'type':'navigati'+'on','action':_0x501b25(0x250)});}),_0x3c0994['on']('focus',()=>{const _0x12a178=_0x4348b1;updateController?.[_0x12a178(0x197)+'ackgroun'+_0x12a178(0x183)]('window_f'+_0x12a178(0x1be));});const _0x56e776=process.env.VITE_DEV_SERVER_URL;_0x56e776?(await _0x3c0994['loadURL'](_0x56e776),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&_0x55394f&&_0x3c0994[_0x4348b1(0x4e9)+_0x4348b1(0x3c7)][_0x4348b1(0x406)+_0x4348b1(0x359)]({'mode':_0x4348b1(0x211)})):await _0x3c0994[_0x4348b1(0x481)](APP_RENDERER_ENTRY_URL),mainLogger?.[_0x4348b1(0x3be)](_0x4348b1(0x305)+_0x4348b1(0x363)+'ed',{'rendererUrl':_0x208cac,'mode':getMode(),'devToolsEnabled':_0x55394f});}function registerProtocolHandlers(){const _0x240212=_0x869a0f,_0xeef91b=resolveProtocolScheme();if(!_0xeef91b)return;let _0x1359d7=![];try{_0x1359d7=app[_0x240212(0x378)+'ed']?app[_0x240212(0x2b1)+_0x240212(0x150)+_0x240212(0x443)+'nt'](_0xeef91b,process[_0x240212(0x1ef)],[app[_0x240212(0x39b)+'th']()]):![];}catch(_0x556daa){mainLogger?.[_0x240212(0x450)](_0x240212(0x268)+_0x240212(0x4cf)+_0x240212(0x297)+_0x240212(0x110)+_0x240212(0x3a6),{'protocol':_0xeef91b,'error':summarizeError(_0x556daa)});}mainLogger?.[_0x240212(0x374)](_0x240212(0x268)+_0x240212(0x4cf)+_0x240212(0x21b)+'ed',{'protocol':_0xeef91b,'registered':_0x1359d7,'packaged':app[_0x240212(0x378)+'ed'],'defaultClient':app['isDefaul'+_0x240212(0x2a9)+_0x240212(0x175)](_0xeef91b),'execPath':toHomePath(process[_0x240212(0x1ef)]),'appPath':toHomePath(app[_0x240212(0x39b)+'th']())});const _0x4addeb=extractProtocolUrlFromArgs(process[_0x240212(0x278)]);if(_0x4addeb)protocolUrlState[_0x240212(0x226)+_0x240212(0x4dc)](_0x4addeb);const _0x33407d=extractProtocolUrlFromArgs(pendingProtocolArgs||[]);pendingProtocolArgs=null;if(_0x33407d)protocolUrlState[_0x240212(0x226)+_0x240212(0x4dc)](_0x33407d);}function normalizeRequestedLogLevel(_0x17d644){const _0x6a739f=_0x869a0f,_0x5e9899=typeof _0x17d644===_0x6a739f(0x25d)?_0x17d644[_0x6a739f(0x4c2)]()[_0x6a739f(0x491)+_0x6a739f(0x129)]():'';if(!SHELL_LOG_LEVELS['has'](_0x5e9899))throw new Error('日志等级必须是\x20'+_0x6a739f(0x38f)+_0x6a739f(0x4f5)+_0x6a739f(0x2a3));return _0x5e9899;}function writeMainAuditLog(_0x2628d5,_0x34f365){const _0xb8f376=_0x869a0f;return mainLogger?.[_0xb8f376(0x2eb)]?.(formatLogLine({'level':'INFO','context':_0xb8f376(0x36b),'message':_0x2628d5,'meta':_0x34f365}));}async function installIpcHandlers(){const _0x53d726=_0x869a0f,_0xbaa641=(_0x445203,_0x1e2cd0)=>{const _0x5f345d=_0x378c;ipcMain[_0x5f345d(0x261)](_0x445203,async(_0x1bd23f,_0x133aa6)=>{const _0x1b52a2=_0x5f345d,_0x34f2c0=Date[_0x1b52a2(0x4e1)](),_0x333d13=_0x1bd23f[_0x1b52a2(0x275)+_0x1b52a2(0x2f5)]?.['url']||_0x1bd23f[_0x1b52a2(0x176)][_0x1b52a2(0x18b)](),_0x17679c=ipcLogger?.[_0x1b52a2(0x28b)+'g'](_0x1b52a2(0x495));_0x17679c&&ipcLogger[_0x1b52a2(0x3be)](_0x1b52a2(0x439)+'est\x20star'+_0x1b52a2(0x3f7),{'channel':_0x445203,'senderUrl':_0x333d13});DEBUG_STDOUT&&_0x17679c&&console[_0x1b52a2(0x3be)](_0x1b52a2(0x299)+_0x1b52a2(0x387)+']',_0x445203,'started');try{let _0x1adf9a;try{_0x1adf9a=await _0x1e2cd0(_0x1bd23f,_0x133aa6);}catch(_0xabda0f){if(!isGatewayNotInitializedError(_0xabda0f))throw _0xabda0f;await ensureGatewayControllerStarted(),_0x1adf9a=await _0x1e2cd0(_0x1bd23f,_0x133aa6);}const _0x4afebe=Date['now']()-_0x34f2c0;return(_0x17679c||_0x4afebe>IPC_SLOW_REQUEST_THRESHOLD_MS)&&ipcLogger?.[_0x1b52a2(0x3be)]('ipc\x20requ'+_0x1b52a2(0x1fb)+_0x1b52a2(0x4a8),{'channel':_0x445203,'durationMs':_0x4afebe,'status':_0x1b52a2(0x272)+'d'}),await userEventWriter?.[_0x1b52a2(0x188)]({'channel':_0x445203,'payload':_0x133aa6,'result':_0x1adf9a,'durationMs':_0x4afebe,'status':_0x1b52a2(0x272)+'d'}),DEBUG_STDOUT&&_0x17679c&&console[_0x1b52a2(0x3be)](_0x1b52a2(0x299)+_0x1b52a2(0x387)+']',_0x445203,_0x1b52a2(0x220)+'d',{'durationMs':_0x4afebe,'status':_0x1b52a2(0x272)+'d'}),_0x1adf9a;}catch(_0x4fd65e){const _0x56a8df=Date['now']()-_0x34f2c0;ipcLogger?.[_0x1b52a2(0x450)](_0x1b52a2(0x439)+_0x1b52a2(0x262)+'ed',{'channel':_0x445203,'durationMs':_0x56a8df,'error':summarizeError(_0x4fd65e)}),await userEventWriter?.[_0x1b52a2(0x188)]({'channel':_0x445203,'payload':_0x133aa6,'error':_0x4fd65e,'durationMs':_0x56a8df,'status':_0x1b52a2(0x346)}),await diagnosticsWriter?.[_0x1b52a2(0x11d)+_0x1b52a2(0x304)](diagnosticEventFromError(_0x4fd65e,{'category':'ipc','event':_0x1b52a2(0x420)+_0x1b52a2(0x393)+'ed','message':_0x1b52a2(0x435)+_0x1b52a2(0x262)+_0x1b52a2(0x4c5)+_0x445203,'durationMs':_0x56a8df,'meta':{'channel':_0x445203,'senderUrl':_0x333d13,'payload':summarizePayload(_0x133aa6)}}));DEBUG_STDOUT&&console[_0x1b52a2(0x450)]('[wujie-s'+_0x1b52a2(0x387)+']',_0x445203,_0x1b52a2(0x346),summarizeError(_0x4fd65e));throw _0x4fd65e;}});},_0x5c9636=()=>{const _0x5c5d24=_0x378c;if(!gatewayController)throw new Error(bootError?'wujie-sh'+_0x5c5d24(0x490)+'\x20failed:'+'\x20'+bootError:'wujie-sh'+_0x5c5d24(0x35d)+'way\x20is\x20n'+_0x5c5d24(0x4d7)+_0x5c5d24(0x14a));return gatewayController;};function _0x468ad7(){const _0x1e743e=_0x378c;for(const _0x2fcb88 of Object[_0x1e743e(0x35b)](gatewayRuntimeHooks)){delete gatewayRuntimeHooks[_0x2fcb88];}Object[_0x1e743e(0x253)](gatewayRuntimeHooks,productRuntimeHooks,{'onChatHistoryLoaded':async _0x2c9505=>{const _0x4021f7=_0x1e743e;await requestIdHooks?.[_0x4021f7(0x173)+'storyLoa'+_0x4021f7(0x32a)]?.(_0x2c9505),await productRuntimeHooks?.[_0x4021f7(0x173)+_0x4021f7(0x168)+_0x4021f7(0x32a)]?.(_0x2c9505);},'onRequestIdTitleEvent':async _0x5b5ec3=>{const _0xb2f21c=_0x1e743e;await requestIdHooks?.[_0xb2f21c(0x2ac)+_0xb2f21c(0x263)+_0xb2f21c(0x416)]?.(_0x5b5ec3),await productRuntimeHooks?.['onReques'+_0xb2f21c(0x263)+_0xb2f21c(0x416)]?.(_0x5b5ec3);}});}const _0x54719d=()=>{const _0xe2be0f=_0x378c;if(typeof productRuntime[_0xe2be0f(0x21b)+_0xe2be0f(0x3a4)+_0xe2be0f(0x39e)+_0xe2be0f(0x3f5)]!==_0xe2be0f(0x308))return;const _0x3a7342=productRuntime[_0xe2be0f(0x21b)+'ProductR'+_0xe2be0f(0x39e)+_0xe2be0f(0x3f5)]({'app':app,'BrowserWindow':BrowserWindow,'broadcast':broadcast,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'dialog':dialog,'exportLogsArchive':exportLogsArchive,'filesLogger':filesLogger,'getRuntimeSpawnContext':getRuntimeSpawnContext,'handle':_0xbaa641,'mainLogger':mainLogger,'mainWindow':mainWindow,'rendererLogger':rendererLogger,'requireGateway':_0x5c9636,'sep':sep,'openClawConfigHandlers':{'update':(..._0x29fd9f)=>configController[_0xe2be0f(0x1b4)+'enClawCo'+_0xe2be0f(0x465)](..._0x29fd9f),'setPluginConfig':_0x54d1bd=>configController[_0xe2be0f(0x376)+_0xe2be0f(0x114)+'nConfig'](_0x54d1bd),'setChannelConfig':_0x2033ef=>configController[_0xe2be0f(0x376)+_0xe2be0f(0x210)+_0xe2be0f(0x19e)](_0x2033ef),'deleteChannelConfig':_0x407788=>configController[_0xe2be0f(0x37f)+_0xe2be0f(0x408)+_0xe2be0f(0x4d2)+'fig'](_0x407788),'setSkillEntry':_0x1694a3=>configController[_0xe2be0f(0x376)+_0xe2be0f(0x3c3)+'Entry'](_0x1694a3),'deleteSkillEntry':_0x4c6de6=>configController[_0xe2be0f(0x37f)+_0xe2be0f(0x4b1)+_0xe2be0f(0x286)](_0x4c6de6),'setMcpServer':_0x3bf1b0=>configController['setOpenC'+'lawMcpSe'+_0xe2be0f(0x348)](_0x3bf1b0),'deleteMcpServer':_0x154306=>configController[_0xe2be0f(0x37f)+_0xe2be0f(0x2c3)+'pServer'](_0x154306)},'shell':shell,'shellConfig':shellConfig,'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand,'summarizePayload':summarizePayload,'summarizeText':summarizeText,'toHomePath':toHomePath,'writeMutableConfig':_0x33007e})||{};Object['assign'](productRuntimeHooks,_0x3a7342),_0x468ad7();};ipcMain['on'](_0x53d726(0x2ca)+_0x53d726(0x2f2)+'-ready',()=>{const _0x2153ee=_0x53d726;protocolUrlState[_0x2153ee(0x17f)+_0x2153ee(0x37a)](!![]),mainLogger?.[_0x2153ee(0x374)](_0x2153ee(0x268)+_0x2153ee(0x1d2)+_0x2153ee(0x338),{'hasPendingProtocolUrl':Boolean(protocolUrlState[_0x2153ee(0x425)+'rl'])}),flushPendingProtocolUrl();}),_0xbaa641(_0x53d726(0x18f),async()=>({'name':shellConfig['productN'+_0x53d726(0x2f5)],'version':app[_0x53d726(0x445)+'on'](),'appId':shellConfig[_0x53d726(0x141)],'dataDir':shellConfig['dataDir']})),_0xbaa641(_0x53d726(0x4f2)+_0x53d726(0x17b),async(_0x1b6f76,_0x37e030)=>{const _0x45e6a6=_0x53d726,_0x21bd09=typeof _0x37e030===_0x45e6a6(0x25d)?_0x37e030:'';if(!_0x21bd09)return{'ok':![]};return filesLogger?.[_0x45e6a6(0x3be)](_0x45e6a6(0x240)+'ernal\x20ur'+'l\x20reques'+_0x45e6a6(0x3f7),{'url':summarizeText(_0x21bd09,0xa0)}),await shell['openExte'+_0x45e6a6(0x3c2)](_0x21bd09),{'ok':!![]};});const _0x33007e=async(_0x896af4,_0x4c9fe8)=>{const _0x426b5e=_0x53d726;return configController[_0x426b5e(0x115)+'igWriteH'+'andledIn'+_0x426b5e(0x3bf)](),await configController[_0x426b5e(0x13b)+_0x426b5e(0x26e)](_0x896af4,_0x4c9fe8),{'ok':!![]};};Object[_0x53d726(0x253)](requestIdHooks,registerRequestIdHandlers({'configController':configController,'handle':_0xbaa641,'mainLogger':mainLogger})),_0x468ad7(),_0x54719d(),_0xbaa641(_0x53d726(0x355)+'mport-zi'+'p',async(_0x33187b,_0x24321b)=>importMarketSkillZip({'payload':_0x24321b,'importSkillZip':_0x52427e=>importSkillZip({..._0x52427e,'app':app,'dialog':dialog,'dialogWindow':BrowserWindow[_0x53d726(0x2b7)+_0x53d726(0x367)](_0x33187b[_0x53d726(0x176)])||mainWindow,'configController':configController}),'configController':configController})),_0xbaa641(_0x53d726(0x1c1)+_0x53d726(0x3f9),(_0x4592d5,_0x4a60dc)=>updateManagedSkillConfig({'payload':_0x4a60dc,'configController':configController})),_0xbaa641('skills:d'+_0x53d726(0x46d),(_0x587c7f,_0x3b9cbd)=>deleteMarketSkillRegistryEntry({'payload':_0x3b9cbd,'deleteManagedSkill':_0x188516=>deleteManagedSkill({..._0x188516,'gateway':_0x5c9636(),'configController':configController}),'configController':configController}));const _0x2825dd=ensureGeneratedFilesStore();_0xbaa641('app:gene'+_0x53d726(0x401)+'les:list',async()=>_0x2825dd[_0x53d726(0x340)]()),_0xbaa641(_0x53d726(0x2ff)+_0x53d726(0x401)+_0x53d726(0x40c)+_0x53d726(0x4ed)+'ion',async(_0x468e02,_0x5c7cca)=>_0x2825dd[_0x53d726(0x12c)+_0x53d726(0x1c4)](String(_0x5c7cca||''))),_0xbaa641(_0x53d726(0x2ff)+_0x53d726(0x401)+_0x53d726(0x221)+'rt',async(_0x1c1df9,_0x3b035f={})=>_0x2825dd[_0x53d726(0x247)](_0x3b035f)),_0xbaa641(_0x53d726(0x2ff)+_0x53d726(0x401)+_0x53d726(0x15e),async(_0x1713c2,_0x2c66c4)=>_0x2825dd[_0x53d726(0x2c4)](String(_0x2c66c4||''))),_0xbaa641(_0x53d726(0x2ff)+_0x53d726(0x401)+'les:hide'+_0x53d726(0x4ed)+'ion',async(_0x350540,_0x1a25da)=>_0x2825dd[_0x53d726(0x2db)+_0x53d726(0x1c4)](String(_0x1a25da||''))),_0xbaa641(_0x53d726(0x2ff)+_0x53d726(0x401)+_0x53d726(0x4c9)+'te',async(_0x5e1703,_0xc57a33)=>_0x2825dd['deleteFi'+'le'](String(_0xc57a33||''))),_0xbaa641(_0x53d726(0x2ff)+_0x53d726(0x401)+_0x53d726(0x4c9)+_0x53d726(0x2b8)+'e',async(_0x5ed487,_0x5c78a6=[])=>_0x2825dd[_0x53d726(0x27d)+'tate'](_0x5c78a6)),_0xbaa641(_0x53d726(0x2ff)+'rated-fi'+_0x53d726(0x3f4)+'al',async(_0x4704b1,_0xfe4b10)=>revealPathInFolder(_0xfe4b10)),_0xbaa641('artifact'+_0x53d726(0x4b8),async(_0x4cf803,_0x151a5a={})=>{const _0x36cce0=_0x53d726,_0x2d9efc=_0x151a5a&&typeof _0x151a5a===_0x36cce0(0x314)&&'sessionK'+'ey'in _0x151a5a?String(_0x151a5a[_0x36cce0(0x4e4)+'ey']||''):'';return _0x2d9efc?_0x2825dd[_0x36cce0(0x12c)+_0x36cce0(0x1c4)](_0x2d9efc):_0x2825dd[_0x36cce0(0x340)]();}),_0xbaa641(_0x53d726(0x1e7)+_0x53d726(0x43f),async(_0x33ef5d,_0x10365e={})=>_0x2825dd['upsert'](_0x10365e)),_0xbaa641(_0x53d726(0x1e7)+_0x53d726(0x256),async(_0x2bc02a,_0xfc0122={})=>_0x2825dd['hide'](String(_0xfc0122['id']||_0xfc0122||''))),_0xbaa641(_0x53d726(0x1e7)+_0x53d726(0x343),async(_0x176728,_0x1dd1aa={})=>_0x2825dd[_0x53d726(0x19b)+'le'](String(_0x1dd1aa['id']||_0x1dd1aa||''))),_0xbaa641(_0x53d726(0x1e7)+'s:delete'+_0x53d726(0x379),async(_0xe803e3,_0x48bd57={})=>_0x2825dd[_0x53d726(0x27d)+_0x53d726(0x321)](_0x48bd57['paths']||_0x48bd57)),_0xbaa641('artifact'+_0x53d726(0x3fc),async(_0x21617f,_0x2d7380={})=>{const _0x320fa1=_0x53d726,_0x1e9260=typeof _0x2d7380===_0x320fa1(0x25d)?_0x2d7380:_0x2d7380['path']||_0x2d7380['uri'];return revealPathInFolder(_0x1e9260);});const _0x5bd7f2=createPreferencesStore({'stateDir':configController[_0x53d726(0x3d6)+_0x53d726(0x23b)](),'storeFile':'product-'+_0x53d726(0x27c)+'ces.json'}),_0x6e6fe=await _0x5bd7f2[_0x53d726(0x4bf)]('shellLog'+_0x53d726(0x1a8),configController[_0x53d726(0x455)]['logLevel']),_0x59d3aa=setShellLoggerLevel(_0x6e6fe);setRuntimeLoggerLevel(_0x6e6fe),mainLogger?.[_0x53d726(0x3be)](_0x53d726(0x3f1)+_0x53d726(0x479)+'initiali'+'zed',{'level':_0x59d3aa,'configuredLevel':configController[_0x53d726(0x455)][_0x53d726(0x2e3)],'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),_0xbaa641(_0x53d726(0x13e)+_0x53d726(0x19a)+'se',async()=>_0x5bd7f2[_0x53d726(0x4bf)](_0x53d726(0x499)+_0x53d726(0x158)+'se',![])),_0xbaa641(_0x53d726(0x13e)+_0x53d726(0x38c)+'se',async(_0xef69d9,_0x5e78c2)=>_0x5bd7f2[_0x53d726(0x35a)]('closeToT'+_0x53d726(0x158)+'se',_0x5e78c2===!![])),_0xbaa641(_0x53d726(0x274)+_0x53d726(0x184),async()=>({'level':getShellLoggerLevel(configController['paths']),'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)})),_0xbaa641(_0x53d726(0x39a)+_0x53d726(0x184),async(_0x3d7984,_0x1f6465={})=>{const _0xca4d3f=_0x53d726,_0x1f9fab=normalizeRequestedLogLevel(typeof _0x1f6465===_0xca4d3f(0x25d)?_0x1f6465:_0x1f6465[_0xca4d3f(0x3b6)]);await _0x5bd7f2[_0xca4d3f(0x35a)](_0xca4d3f(0x32f)+_0xca4d3f(0x1a8),_0x1f9fab);const _0xea6e56=setShellLoggerLevel(_0x1f9fab);return setRuntimeLoggerLevel(_0x1f9fab),await writeMainAuditLog(_0xca4d3f(0x3f1)+'g\x20level\x20'+'changed',{'requestedLevel':_0x1f9fab,'level':_0xea6e56,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),{'ok':!![],'level':_0xea6e56,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)};}),registerFileHandlers({'app':app,'filesLogger':filesLogger,'handle':_0xbaa641,'sep':sep,'stateDir':configController[_0x53d726(0x3d6)+_0x53d726(0x23b)](),'toHomePath':toHomePath}),registerProductLogHandlers({'app':app,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'exportLogsArchive':exportLogsArchive,'handle':_0xbaa641,'mainLogger':mainLogger,'rendererLogger':rendererLogger,'summarizeText':summarizeText,'toHomePath':toHomePath}),registerModelHandlers({'handle':_0xbaa641,'modelHandlers':{'saveCustomModel':_0x252d22=>_0x5c9636()[_0x53d726(0x1fe)]['saveCust'+_0x53d726(0x153)](_0x252d22),'deleteCustomModel':_0x568d61=>_0x5c9636()[_0x53d726(0x1fe)][_0x53d726(0x194)+_0x53d726(0x1c6)+'l'](_0x568d61)}}),connectorController=createConnectorController({'shellConfig':shellConfig,'configController':configController,'broadcast':broadcast,'shell':shell,'getRuntimeSpawnContext':getRuntimeSpawnContext,'openClawConfigHandlers':{'update':(..._0x4622a0)=>configController[_0x53d726(0x1b4)+_0x53d726(0x246)+_0x53d726(0x465)](..._0x4622a0),'setPluginConfig':_0x173e56=>configController['setOpenC'+_0x53d726(0x114)+_0x53d726(0x31d)](_0x173e56),'setChannelConfig':_0x1a300d=>configController['setOpenC'+_0x53d726(0x210)+_0x53d726(0x19e)](_0x1a300d),'deleteChannelConfig':_0x1664c9=>configController['deleteOp'+_0x53d726(0x408)+_0x53d726(0x4d2)+'fig'](_0x1664c9),'setSkillEntry':_0xc234f4=>configController[_0x53d726(0x376)+'lawSkill'+_0x53d726(0x4ca)](_0xc234f4),'deleteSkillEntry':_0x5c4ddf=>configController[_0x53d726(0x37f)+'enClawSk'+_0x53d726(0x286)](_0x5c4ddf),'setMcpServer':_0x6d40e=>configController['setOpenC'+'lawMcpSe'+_0x53d726(0x348)](_0x6d40e),'deleteMcpServer':_0x350b40=>configController[_0x53d726(0x37f)+_0x53d726(0x2c3)+_0x53d726(0x17a)](_0x350b40)},'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand}),_0xbaa641(_0x53d726(0x232)+_0x53d726(0x42c)+_0x53d726(0x1d8),async()=>connectorController[_0x53d726(0x11c)+_0x53d726(0x4d2)+_0x53d726(0x372)]()),_0xbaa641(_0x53d726(0x232)+_0x53d726(0x42c)+'ls:delet'+'e',async(_0x2405b8,_0x529045={})=>connectorController[_0x53d726(0x15b)+_0x53d726(0x4ce)+_0x53d726(0x41e)](_0x529045)),_0xbaa641(_0x53d726(0x232)+_0x53d726(0x42c)+'ls:set-e'+_0x53d726(0x1e9),async(_0x43d06b,_0x5a6b84={})=>connectorController[_0x53d726(0x4b0)+'nnelEnab'+'led'](_0x5a6b84)),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x27a),async(_0x6bc95f,_0x3eba30={})=>{const _0x401ee4=_0x53d726,_0x1b7bed=String(_0x3eba30[_0x401ee4(0x23f)+'d']||_0x3eba30[_0x401ee4(0x2c9)]?.[_0x401ee4(0x23f)+'d']||_0x3eba30[_0x401ee4(0x2c9)]?.['id']||'');if(!_0x1b7bed)throw new Error('channelI'+_0x401ee4(0x181)+_0x401ee4(0x21f));const _0x690483=_0x3eba30[_0x401ee4(0x2c9)]||_0x3eba30,_0x4743be={'feishu':connectorController[_0x401ee4(0x1c2)+'huChanne'+_0x401ee4(0x1e1)],'qqbot':connectorController[_0x401ee4(0x28f)+'tChannel'+_0x401ee4(0x29a)],'wecom':connectorController[_0x401ee4(0x118)+_0x401ee4(0x3a9)+_0x401ee4(0x29a)],'qq_mail':connectorController[_0x401ee4(0x1cb)+_0x401ee4(0x22e)+_0x401ee4(0x1e3)+'g'],'netease_mail':connectorController[_0x401ee4(0x300)+'aseMailC'+_0x401ee4(0x19c)+_0x401ee4(0x29a)],'tencent_exmail':connectorController[_0x401ee4(0x400)+_0x401ee4(0x473)+_0x401ee4(0x125)+_0x401ee4(0x2c0)],'feishu_doc':connectorController[_0x401ee4(0x1c2)+_0x401ee4(0x3ed)+_0x401ee4(0x1ba)+_0x401ee4(0x465)],'tencent_docs':connectorController[_0x401ee4(0x400)+_0x401ee4(0x436)+'onnector'+_0x401ee4(0x29a)],'kdocs':connectorController['saveKdoc'+_0x401ee4(0x2e1)+'orConfig'],'dingtalk_doc':connectorController['saveDing'+'talkDocC'+_0x401ee4(0x19c)+_0x401ee4(0x29a)]},_0x3defb2=_0x4743be[_0x1b7bed];if(!_0x3defb2)throw new Error(_0x401ee4(0x1c0)+'ted\x20conn'+'ector:\x20'+_0x1b7bed);return _0x3defb2(_0x690483);}),_0xbaa641(_0x53d726(0x34a)+'onnector'+_0x53d726(0x4bd)+_0x53d726(0x407)+_0x53d726(0x2b2),async(_0x3f9c3e,_0x30142f={})=>connectorController[_0x53d726(0x1c2)+_0x53d726(0x2bc)+_0x53d726(0x1e1)](_0x30142f)),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x160)+_0x53d726(0x4f1)+_0x53d726(0x216),async(_0x4974a7,_0x3987e2={})=>connectorController[_0x53d726(0x28f)+_0x53d726(0x3d5)+'Config'](_0x3987e2)),_0xbaa641(_0x53d726(0x34a)+'onnector'+_0x53d726(0x177)+_0x53d726(0x24c)+_0x53d726(0x216),async(_0x4b3991,_0xf3eef1={})=>connectorController[_0x53d726(0x118)+_0x53d726(0x3a9)+'Config'](_0xf3eef1)),_0xbaa641(_0x53d726(0x34a)+'onnector'+_0x53d726(0x160)+'-mail',async(_0x250a89,_0x3ffc63={})=>connectorController[_0x53d726(0x1cb)+_0x53d726(0x22e)+_0x53d726(0x1e3)+'g'](_0x3ffc63)),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x4ef)+_0x53d726(0x11f)+'il',async(_0x3fe2f5,_0x216005={})=>connectorController[_0x53d726(0x300)+_0x53d726(0x38b)+_0x53d726(0x19c)+_0x53d726(0x29a)](_0x216005)),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x350)+_0x53d726(0x3b0)+_0x53d726(0x418),async(_0x42e303,_0x22edfc={})=>connectorController[_0x53d726(0x400)+_0x53d726(0x473)+_0x53d726(0x125)+_0x53d726(0x2c0)](_0x22edfc)),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x4bd)+_0x53d726(0x332),async(_0x2e57a6,_0x22d37d={})=>connectorController[_0x53d726(0x1c2)+_0x53d726(0x3ed)+_0x53d726(0x1ba)+'nfig'](_0x22d37d)),_0xbaa641('config:c'+_0x53d726(0x19c)+_0x53d726(0x350)+_0x53d726(0x24f)+'cs',async(_0x337f84,_0x51e980={})=>connectorController['saveTenc'+_0x53d726(0x436)+_0x53d726(0x19c)+'Config'](_0x51e980)),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x4a5)+_0x53d726(0x38e),async(_0x520b5a,_0x4b4b2b={})=>connectorController[_0x53d726(0x1d4)+_0x53d726(0x2e1)+_0x53d726(0x2c0)](_0x4b4b2b)),_0xbaa641('config:c'+'onnector'+_0x53d726(0x301)+_0x53d726(0x3b9)+'oc',async(_0x2b8668,_0x4ff3c8={})=>connectorController['saveDing'+'talkDocC'+_0x53d726(0x19c)+'Config'](_0x4ff3c8)),_0xbaa641('config:c'+_0x53d726(0x19c)+_0x53d726(0x1f7)+_0x53d726(0x1bb),async(_0x3c9453,_0x342d59={})=>{const _0x303dd8=_0x53d726,_0x513f60=String(_0x342d59['channelI'+'d']||_0x342d59[_0x303dd8(0x41f)]||'');if(_0x513f60===_0x303dd8(0x4b2))return connectorController[_0x303dd8(0x452)+_0x303dd8(0x16e)+'nectSess'+_0x303dd8(0x4d4)]();if(_0x513f60===_0x303dd8(0x47c)+'oc')return connectorController[_0x303dd8(0x24a)+_0x303dd8(0x295)+'iConnect'+'Session']();if(_0x513f60===_0x303dd8(0x207))return connectorController[_0x303dd8(0x24a)+_0x303dd8(0x47e)+_0x303dd8(0x404)+_0x303dd8(0x288)](_0x342d59);if(_0x513f60===_0x303dd8(0x4aa)+_0x303dd8(0x415)||_0x513f60==='wechat')return connectorController[_0x303dd8(0x334)+_0x303dd8(0x35f)+_0x303dd8(0x32b)+'n']({'gatewayPort':_0x5c9636()[_0x303dd8(0x49f)+_0x303dd8(0x2ea)](),'gatewayToken':_0x5c9636()['gatewayT'+_0x303dd8(0x466)]()});throw new Error(_0x303dd8(0x1c0)+'ted\x20conn'+_0x303dd8(0x414)+_0x303dd8(0x45e)+(_0x513f60||_0x303dd8(0x3d8)));}),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x1f7)+_0x53d726(0x486),async(_0x209194,_0x5b69f8={})=>{const _0x1b0507=_0x53d726,_0x3a4065=String(_0x5b69f8[_0x1b0507(0x23f)+'d']||_0x5b69f8[_0x1b0507(0x41f)]||'');if(_0x3a4065==='kdocs')return connectorController[_0x1b0507(0x119)+_0x1b0507(0x24b)+_0x1b0507(0x383)](_0x5b69f8);if(_0x3a4065===_0x1b0507(0x47c)+'oc')return connectorController[_0x1b0507(0x289)+_0x1b0507(0x2bd)+_0x1b0507(0x426)+_0x1b0507(0x2d5)](_0x5b69f8);if(_0x3a4065===_0x1b0507(0x207))return connectorController[_0x1b0507(0x289)+_0x1b0507(0x370)+'ationSta'+'tus'](_0x5b69f8);throw new Error('Unsuppor'+_0x1b0507(0x1db)+_0x1b0507(0x414)+'ssion:\x20'+(_0x3a4065||_0x1b0507(0x3d8)));}),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+_0x53d726(0x1f7)+_0x53d726(0x3e1),async(_0x4103ca,_0x3d7b5f={})=>{const _0x7c757f=_0x53d726,_0x52c9f0=String(_0x3d7b5f[_0x7c757f(0x23f)+'d']||_0x3d7b5f[_0x7c757f(0x41f)]||'');if(_0x52c9f0===_0x7c757f(0x4b2))return connectorController[_0x7c757f(0x171)+_0x7c757f(0x12e)+_0x7c757f(0x4da)+_0x7c757f(0x2a0)](_0x3d7b5f);if(_0x52c9f0==='feishu_d'+'oc')return connectorController['cancelFe'+_0x7c757f(0x14e)+_0x7c757f(0x33a)+_0x7c757f(0x49d)](_0x3d7b5f);if(_0x52c9f0==='feishu')return connectorController['cancelFe'+_0x7c757f(0x30e)+'stration'+_0x7c757f(0x1f2)](_0x3d7b5f);if(_0x52c9f0===_0x7c757f(0x4aa)+_0x7c757f(0x415)||_0x52c9f0===_0x7c757f(0x427))return connectorController['cancelWe'+_0x7c757f(0x312)+_0x7c757f(0x178)+'on']();return{'ok':!![]};}),_0xbaa641(_0x53d726(0x34a)+_0x53d726(0x19c)+'-session'+_0x53d726(0x252)+'e',async(_0x1b13fd,_0x1f8a21={})=>{const _0x1c35f8=_0x53d726,_0xe390e=String(_0x1f8a21['channelI'+'d']||_0x1f8a21['type']||'');if(_0xe390e===_0x1c35f8(0x47c)+'oc')return connectorController[_0x1c35f8(0x220)+_0x1c35f8(0x258)+'cCliConn'+'ectSessi'+'on'](_0x1f8a21);throw new Error(_0x1c35f8(0x1c0)+_0x1c35f8(0x1db)+_0x1c35f8(0x414)+'ssion:\x20'+(_0xe390e||_0x1c35f8(0x3d8)));}),_0xbaa641('config:r'+_0x53d726(0x142),()=>connectorController[_0x53d726(0x47a)+'igSnapsh'+'ot']());const _0x2d88b6=_0x3e4535=>{const _0x3eb4e6=_0x53d726,_0x6b8dc3=_0x3e4535[_0x3eb4e6(0x16a)]&&typeof _0x3e4535[_0x3eb4e6(0x16a)]===_0x3eb4e6(0x314)?_0x3e4535[_0x3eb4e6(0x16a)]:{};return Array['isArray'](_0x6b8dc3[_0x3eb4e6(0x340)])?_0x6b8dc3[_0x3eb4e6(0x340)]:[];},_0x110d5c=_0x1e5499=>{const _0x295c7f=_0x53d726,_0x5cbf8a=typeof _0x1e5499===_0x295c7f(0x25d)?_0x1e5499[_0x295c7f(0x4c2)]():'',_0x263a5a=_0x5cbf8a[_0x295c7f(0x201)](/^agent:([^:]+):/);return _0x263a5a?.[0x1]||'';},_0x179e30=(_0x418436={},_0x45eada=[])=>{const _0x543eac=_0x53d726,_0x4a43a5=Array[_0x543eac(0x40b)](_0x418436[_0x543eac(0x4b7)])?_0x418436[_0x543eac(0x4b7)]:[],_0x991c95=Array[_0x543eac(0x40b)](_0x418436[_0x543eac(0x16a)])?_0x418436[_0x543eac(0x16a)]:Array[_0x543eac(0x40b)](_0x418436[_0x543eac(0x340)])?_0x418436[_0x543eac(0x340)]:_0x4a43a5[_0x543eac(0x191)](_0x42a7cb=>_0x42a7cb?.[_0x543eac(0x265)])[_0x543eac(0x1af)](Boolean),_0x14551f=Array['isArray'](_0x45eada)?_0x45eada:[];return _0x991c95['map'](_0x50cfff=>{const _0x5e48f4=_0x543eac,_0x1e97c1=String(_0x50cfff?.['id']||_0x50cfff?.[_0x5e48f4(0x24d)]||'')[_0x5e48f4(0x4c2)](),_0xbaf578=_0x4a43a5[_0x5e48f4(0x33d)](_0x2e0bab=>{const _0x349454=_0x5e48f4,_0x31e044=String(_0x2e0bab?.[_0x349454(0x265)]?.['id']||_0x2e0bab?.['agent']?.['agentId']||'')['trim']();return _0x31e044===_0x1e97c1;});return{..._0xbaf578&&typeof _0xbaf578==='object'?_0xbaf578:{},'agent':_0x50cfff,'sessions':_0x1e97c1?_0x14551f[_0x5e48f4(0x1af)](_0x43d3f4=>{const _0x5c2835=_0x5e48f4,_0x318dd1=String(_0x43d3f4?.[_0x5c2835(0x24d)]||_0x43d3f4?.[_0x5c2835(0x4be)]||_0x43d3f4?.[_0x5c2835(0x265)]?.['id']||_0x110d5c(_0x43d3f4?.[_0x5c2835(0x39c)])||'')['trim']();return _0x318dd1?_0x318dd1===_0x1e97c1:_0x1e97c1===_0x5c2835(0x36b);}):[]};});};_0xbaa641(_0x53d726(0x3e5)+_0x53d726(0x18c)+'tate',async()=>updateController?.[_0x53d726(0x293)]()),_0xbaa641(_0x53d726(0x3e5)+_0x53d726(0x2bb),async()=>updateController?.[_0x53d726(0x319)+_0x53d726(0x3cf)]()),_0xbaa641(_0x53d726(0x3e5)+_0x53d726(0x22d)+_0x53d726(0x29b),async()=>updateController?.[_0x53d726(0x45d)+_0x53d726(0x1fa)]()),_0xbaa641(_0x53d726(0x3e5)+_0x53d726(0x30b)+_0x53d726(0x4de)+'all',async()=>updateController?.[_0x53d726(0x14d)+_0x53d726(0x2ab)]()),_0xbaa641('app:file'+_0x53d726(0x4e7),async(_0x4734e5,_0x369539={})=>{const _0x5f099b=_0x53d726,_0x1ae2a2=await dialog['showOpen'+_0x5f099b(0x4db)](BrowserWindow[_0x5f099b(0x2b7)+'ontents'](_0x4734e5[_0x5f099b(0x176)])??mainWindow,{'properties':[_0x5f099b(0x4f6),..._0x369539?.[_0x5f099b(0x4c4)]!==0x1?['multiSel'+_0x5f099b(0x209)]:[]],'filters':_0x369539?.[_0x5f099b(0x298)+_0x5f099b(0x17e)+'s']?[{'name':_0x5f099b(0x48c),'extensions':_0x369539['customNa'+_0x5f099b(0x17e)+'s']}]:undefined});return _0x1ae2a2[_0x5f099b(0x1aa)+'s'][_0x5f099b(0x191)](_0x277469=>({'path':_0x277469,'name':_0x277469['split'](/[\\/]/)[_0x5f099b(0x1de)]()||_0x277469}));}),_0xbaa641(_0x53d726(0x117)+_0x53d726(0x196)+'d-local',async(_0x3c433d,_0x1c3daa={})=>{const _0x131959=_0x53d726,_0x4d401c=String(_0x1c3daa[_0x131959(0x326)+'th']||'');if(!_0x4d401c)return{'success':![],'error':_0x131959(0x326)+_0x131959(0x353)+'quired'};const _0x37000d=await dialog[_0x131959(0x4d0)+_0x131959(0x4db)](mainWindow,{'defaultPath':_0x1c3daa[_0x131959(0x20a)+'ileName']||_0x4d401c[_0x131959(0x208)](/[\\/]/)[_0x131959(0x1de)]()});if(_0x37000d[_0x131959(0x34d)]||!_0x37000d['filePath'])return{'success':![],'canceled':!![]};const {copyFile:_0x462d67}=await import(_0x131959(0x174)+'promises');return await _0x462d67(_0x4d401c,_0x37000d[_0x131959(0x1aa)]),{'success':!![],'filePath':_0x37000d[_0x131959(0x1aa)]};}),_0xbaa641('app:clip'+_0x53d726(0x152)+_0x53d726(0x3d2),async(_0xf9a7d5,_0x38c95d)=>{return clipboard['writeTex'+'t'](String(_0x38c95d??'')),{'ok':!![]};}),_0xbaa641(_0x53d726(0x48d)+_0x53d726(0x136)+'rt',async()=>{const _0x509822=_0x53d726;return app[_0x509822(0x16d)](),app[_0x509822(0x242)](),{'ok':!![]};}),_0xbaa641(_0x53d726(0x4ea)+_0x53d726(0x4ae)+'zed',_0x223b6b=>Boolean(BrowserWindow[_0x53d726(0x2b7)+'ontents'](_0x223b6b[_0x53d726(0x176)])?.[_0x53d726(0x470)+_0x53d726(0x4ac)]())),_0xbaa641(_0x53d726(0x4b5)+'tup:set',async(_0x2dc45a,_0x79ae7f)=>{const _0x39dda5=_0x53d726;return app[_0x39dda5(0x44e)+_0x39dda5(0x389)+_0x39dda5(0x20f)]({'openAtLogin':_0x79ae7f===!![]}),{'ok':!![],'enabled':_0x79ae7f===!![]};}),_0xbaa641('app:star'+'tup:get',async()=>app[_0x53d726(0x349)+_0x53d726(0x389)+_0x53d726(0x20f)]()[_0x53d726(0x412)+'gin']),_0xbaa641(_0x53d726(0x117)+_0x53d726(0x44c)+_0x53d726(0x213),async _0xa9602b=>{const _0x130456=_0x53d726,_0x288233=await dialog[_0x130456(0x4b6)+_0x130456(0x4db)](BrowserWindow[_0x130456(0x2b7)+'ontents'](_0xa9602b[_0x130456(0x176)])??mainWindow,{'properties':[_0x130456(0x14b)+_0x130456(0x31b)]});return _0x288233[_0x130456(0x1aa)+'s'][0x0]||'';}),_0xbaa641(_0x53d726(0x48d)+'em:open-'+_0x53d726(0x213),async(_0x2dda35,_0xd94a16)=>{const _0x48baf9=_0x53d726,_0x3085c5=await shell[_0x48baf9(0x433)](String(_0xd94a16||''));return _0x3085c5||'';}),_0xbaa641(_0x53d726(0x4aa)+_0x53d726(0x1b2)+_0x53d726(0x205),async()=>_0x5c9636()[_0x53d726(0x1c9)+_0x53d726(0x466)]()),_0xbaa641(_0x53d726(0x4aa)+_0x53d726(0x1b2)+'-port',async()=>_0x5c9636()[_0x53d726(0x49f)+_0x53d726(0x2ea)]()),_0xbaa641(_0x53d726(0x4aa)+_0x53d726(0x339)+'e',async(_0x48fb3d,_0x4325c5=[])=>{const _0x340b85=_0x53d726,_0x2b584f=await runClawOnce(shellConfig[_0x340b85(0x4dd)+_0x340b85(0x352)],Array[_0x340b85(0x40b)](_0x4325c5)?_0x4325c5:[]);return{'ok':_0x2b584f[_0x340b85(0x260)]===0x0,..._0x2b584f};});const _0x1d9d63=configController[_0x53d726(0x3d6)+_0x53d726(0x23b)]();sessionSqliteStore=ensureSessionSqliteStore();const _0xb98bff=createAgentSessionsMapStore({'stateDir':_0x1d9d63});_0xbaa641(_0x53d726(0x230)+_0x53d726(0x185),async(_0x73a16c,_0x2bc985={})=>{const _0x1a84af=_0x53d726,_0x119611=_0x2bc985&&typeof _0x2bc985==='object'?_0x2bc985:{},_0x12a5eb=_0x119611[_0x1a84af(0x294)+_0x1a84af(0x42d)]||_0x119611[_0x1a84af(0x4e4)+'ey'],_0x15019c=await _0x5c9636()['sessions'][_0x1a84af(0x2e6)]({..._0x119611,'parentSessionKey':_0x12a5eb}),_0x40a865=String(_0x15019c?.[_0x1a84af(0x39c)]||'')[_0x1a84af(0x4c2)](),_0x13b213=String(_0x15019c?.[_0x1a84af(0x2d2)+'d']||'')[_0x1a84af(0x4c2)]();return _0x40a865&&_0x13b213&&await _0xb98bff['upsert']({'sessionKey':_0x40a865,'sessionId':_0x13b213,'sourceSessionKey':_0x119611[_0x1a84af(0x3d4)+_0x1a84af(0x42d)]||_0x12a5eb,...typeof _0x119611[_0x1a84af(0x3bb)+'lTs']===_0x1a84af(0x154)?{'keepUntilTs':_0x119611[_0x1a84af(0x3bb)+'lTs']}:{},...typeof _0x119611[_0x1a84af(0x4cc)+'le']===_0x1a84af(0x25d)?{'cutoffRole':_0x119611['cutoffRo'+'le']}:{},...typeof _0x119611[_0x1a84af(0x4d6)+'xt']===_0x1a84af(0x25d)?{'cutoffText':_0x119611[_0x1a84af(0x4d6)+'xt']}:{}}),_0x15019c;}),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x34f)+_0x53d726(0x223),async(_0x5850d3,_0x2b4342={})=>_0xb98bff['get'](_0x2b4342)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x34f)+_0x53d726(0x22c)+'t',async(_0x707e51,_0x507743={})=>_0xb98bff['upsert'](_0x507743)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x34f)+_0x53d726(0x421),async(_0x7bd813,_0x69423c={})=>{const _0x5a4d58=String(_0x69423c['sessionK'+'ey']||'')['trim']();if(!_0x5a4d58)return null;return await sessionSqliteStore['readSess'+'ionEntry'](_0x5a4d58);}),_0xbaa641(_0x53d726(0x2a7)+'reate',async(_0x1d58b9,_0x5499d9={})=>{const _0x60687b=_0x53d726,_0x1d404c=await readMutableConfig(),_0x2c868b=_0x1d404c[_0x60687b(0x16a)]&&typeof _0x1d404c[_0x60687b(0x16a)]===_0x60687b(0x314)?_0x1d404c[_0x60687b(0x16a)]:{},_0x2e421d=_0x2d88b6(_0x1d404c),_0x583203=String(_0x5499d9['id']||_0x5499d9[_0x60687b(0x42e)]||_0x60687b(0x20e)+Date[_0x60687b(0x4e1)]())[_0x60687b(0x4c2)]()['replace'](/\s+/g,'-'),_0x4da39a={'id':_0x583203,'name':String(_0x5499d9[_0x60687b(0x42e)]||_0x583203),..._0x5499d9[_0x60687b(0x453)+'e']?{'workspace':String(_0x5499d9['workspac'+'e'])}:{},..._0x5499d9[_0x60687b(0x2f8)]?{'model':_0x5499d9[_0x60687b(0x2f8)]}:{},..._0x5499d9[_0x60687b(0x325)]?{'emoji':_0x5499d9[_0x60687b(0x325)]}:{},..._0x5499d9[_0x60687b(0x255)]?{'avatar':_0x5499d9[_0x60687b(0x255)]}:{},...Array['isArray'](_0x5499d9[_0x60687b(0x2cb)])?{'skills':_0x5499d9[_0x60687b(0x2cb)]}:{}};if(_0x2e421d[_0x60687b(0x4ee)](_0x5b6d94=>_0x5b6d94?.['id']===_0x583203))throw new Error(_0x60687b(0x167)+'ready\x20ex'+_0x60687b(0x375));return _0x2c868b[_0x60687b(0x340)]=[..._0x2e421d,_0x4da39a],_0x1d404c[_0x60687b(0x16a)]=_0x2c868b,await _0x33007e(_0x1d404c,'agent\x20cr'+_0x60687b(0x4a9)),{'ok':!![],'agent':_0x4da39a};}),_0xbaa641(_0x53d726(0x13d)+_0x53d726(0x3f9),async(_0x440f20,_0x757b86={})=>{const _0x234960=_0x53d726,_0x20b2d8=String(_0x757b86['id']||_0x757b86[_0x234960(0x24d)]||'')[_0x234960(0x4c2)]();if(!_0x20b2d8)throw new Error('agent\x20id'+_0x234960(0x3f2)+_0x234960(0x126));const _0x1b7e40=await readMutableConfig(),_0x1a71c1=_0x1b7e40[_0x234960(0x16a)]&&typeof _0x1b7e40[_0x234960(0x16a)]===_0x234960(0x314)?_0x1b7e40[_0x234960(0x16a)]:{},_0x236941=_0x2d88b6(_0x1b7e40),_0x4317e8=_0x236941[_0x234960(0x191)](_0x5e97ae=>_0x5e97ae?.['id']===_0x20b2d8?{..._0x5e97ae,..._0x757b86,'id':_0x20b2d8}:_0x5e97ae);return _0x1a71c1[_0x234960(0x340)]=_0x4317e8,_0x1b7e40['agents']=_0x1a71c1,await _0x33007e(_0x1b7e40,_0x234960(0x238)+'dated'),{'ok':!![],'agent':_0x4317e8[_0x234960(0x33d)](_0x3d6924=>_0x3d6924?.['id']===_0x20b2d8)||null};}),_0xbaa641(_0x53d726(0x49a)+'elete',async(_0x5d8dd5,_0x2c8954={})=>{const _0xda1988=_0x53d726,_0xc8f50d=String(_0x2c8954['id']||_0x2c8954[_0xda1988(0x24d)]||'')[_0xda1988(0x4c2)]();if(!_0xc8f50d)throw new Error(_0xda1988(0x18a)+'\x20is\x20requ'+_0xda1988(0x126));const _0x58928a=await readMutableConfig(),_0x290cea=_0x58928a['agents']&&typeof _0x58928a[_0xda1988(0x16a)]==='object'?_0x58928a[_0xda1988(0x16a)]:{};return _0x290cea['list']=_0x2d88b6(_0x58928a)[_0xda1988(0x1af)](_0x41a564=>_0x41a564?.['id']!==_0xc8f50d),_0x58928a['agents']=_0x290cea,await _0x33007e(_0x58928a,_0xda1988(0x477)+_0xda1988(0x4a8)),{'ok':!![],'agentId':_0xc8f50d};}),_0xbaa641(_0x53d726(0x329)+_0x53d726(0x31c)+'ions-lis'+'t',async(_0x5e1f4e,_0x19bdaa={})=>{const _0x2bb6b2=_0x53d726,[_0x4157b0,_0x59e404]=await Promise[_0x2bb6b2(0x3c6)]([_0x5c9636()[_0x2bb6b2(0x16a)][_0x2bb6b2(0x340)](),ensureSessionDataService()[_0x2bb6b2(0x3a0)+'aries'](_0x19bdaa)['catch'](()=>({'sessions':[]}))]),_0x10093c=Array[_0x2bb6b2(0x40b)](_0x59e404[_0x2bb6b2(0x230)])?_0x59e404[_0x2bb6b2(0x230)]:[];return{..._0x4157b0,'sessions':_0x10093c,'groups':_0x179e30(_0x4157b0,_0x10093c)};}),terminalManager=createTerminalManager({'cwd':join(configController[_0x53d726(0x3d6)+_0x53d726(0x23b)](),_0x53d726(0x453)+'e'),'emitData':_0x401bc5=>broadcast(_0x53d726(0x385)+_0x53d726(0x203),_0x401bc5),'emitExit':_0x2aec8f=>broadcast(_0x53d726(0x385)+'-exit',_0x2aec8f)}),_0xbaa641('terminal'+_0x53d726(0x307),async(_0x12bfce,_0xe42598={})=>terminalManager[_0x53d726(0x2e6)](_0xe42598)),_0xbaa641(_0x53d726(0x385)+_0x53d726(0x41c),async(_0x46d1f1,_0x59d827={})=>terminalManager[_0x53d726(0x2a1)](_0x59d827)),_0xbaa641('terminal'+_0x53d726(0x236),async(_0x2d502c,_0x106d69={})=>terminalManager[_0x53d726(0x3d0)](_0x106d69)),_0xbaa641('terminal'+_0x53d726(0x405),async(_0x86b045,_0x2eb2fb={})=>terminalManager[_0x53d726(0x271)](_0x2eb2fb)),_0xbaa641(_0x53d726(0x318)+'list',async()=>{const _0x23fb65=_0x53d726,_0xc12e47=gatewayController?.[_0x23fb65(0x17c)+'nfo']?.()||{};return _0xc12e47[_0x23fb65(0x402)]||[];}),_0xbaa641(_0x53d726(0x318)+'get-conf'+'ig',async(_0xa6d2ce,_0x881802={})=>{const _0x454f8d=_0x53d726,_0x4aaeee=String(_0x881802[_0x454f8d(0x497)]||_0x881802['id']||''),_0x260f00=await readMutableConfig(),_0x355cc2=_0x260f00[_0x454f8d(0x402)]?.[_0x454f8d(0x29c)]||{};return _0x4aaeee?_0x355cc2[_0x4aaeee]||null:_0x355cc2;}),_0xbaa641(_0x53d726(0x318)+'update-c'+_0x53d726(0x41e),async(_0x3a67fa,_0x75ac38={})=>{const _0x2b8d50=_0x53d726,_0x396273=String(_0x75ac38['pluginId']||_0x75ac38['id']||'');if(!_0x396273)throw new Error('pluginId'+_0x2b8d50(0x3f2)+_0x2b8d50(0x126));const _0x3dba56=await readMutableConfig(),_0x43f0e7=_0x3dba56[_0x2b8d50(0x402)]&&typeof _0x3dba56[_0x2b8d50(0x402)]===_0x2b8d50(0x314)?_0x3dba56[_0x2b8d50(0x402)]:{},_0x3d9919=_0x43f0e7[_0x2b8d50(0x29c)]&&typeof _0x43f0e7['entries']==='object'?_0x43f0e7[_0x2b8d50(0x29c)]:{};return _0x3d9919[_0x396273]={..._0x3d9919[_0x396273]||{},..._0x75ac38[_0x2b8d50(0x366)]||_0x75ac38['patch']||{}},_0x43f0e7['entries']=_0x3d9919,_0x3dba56[_0x2b8d50(0x402)]=_0x43f0e7,_0x33007e(_0x3dba56,'plugin\x20c'+_0x2b8d50(0x33c)+_0x2b8d50(0x4f4));}),_0xbaa641(_0x53d726(0x318)+_0x53d726(0x1e5),async(_0x9cecc1,_0x1e2a14={})=>{const _0x3cd8ec=_0x53d726,_0x36301d=String(_0x1e2a14[_0x3cd8ec(0x497)]||_0x1e2a14['id']||'');if(!_0x36301d)throw new Error('pluginId'+'\x20is\x20requ'+_0x3cd8ec(0x126));const _0x2a3837=await readMutableConfig(),_0x21e727=_0x2a3837[_0x3cd8ec(0x402)]&&typeof _0x2a3837[_0x3cd8ec(0x402)]===_0x3cd8ec(0x314)?_0x2a3837[_0x3cd8ec(0x402)]:{},_0x3637d7=_0x21e727[_0x3cd8ec(0x29c)]&&typeof _0x21e727['entries']===_0x3cd8ec(0x314)?_0x21e727[_0x3cd8ec(0x29c)]:{};return _0x3637d7[_0x36301d]={..._0x3637d7[_0x36301d]||{},'enabled':!![]},_0x21e727[_0x3cd8ec(0x29c)]=_0x3637d7,_0x2a3837[_0x3cd8ec(0x402)]=_0x21e727,_0x33007e(_0x2a3837,_0x3cd8ec(0x368)+_0x3cd8ec(0x1e9));}),_0xbaa641(_0x53d726(0x318)+_0x53d726(0x135),async(_0x4b06f6,_0xd7aa48={})=>{const _0x4e2d36=_0x53d726,_0x1003e4=String(_0xd7aa48['pluginId']||_0xd7aa48['id']||'');if(!_0x1003e4)throw new Error(_0x4e2d36(0x497)+_0x4e2d36(0x3f2)+'ired');const _0x58b286=await readMutableConfig(),_0x4ae841=_0x58b286['plugins']&&typeof _0x58b286['plugins']===_0x4e2d36(0x314)?_0x58b286[_0x4e2d36(0x402)]:{},_0x2091b1=_0x4ae841['entries']&&typeof _0x4ae841[_0x4e2d36(0x29c)]===_0x4e2d36(0x314)?_0x4ae841[_0x4e2d36(0x29c)]:{};return _0x2091b1[_0x1003e4]={..._0x2091b1[_0x1003e4]||{},'enabled':![]},_0x4ae841[_0x4e2d36(0x29c)]=_0x2091b1,_0x58b286['plugins']=_0x4ae841,_0x33007e(_0x58b286,_0x4e2d36(0x20d)+_0x4e2d36(0x489));}),_0xbaa641(_0x53d726(0x318)+_0x53d726(0x467),async(_0x5f5c60,_0x471805={})=>({'plugins':await((async()=>{const _0x274aaf=_0x53d726,_0x1165b3=gatewayController?.[_0x274aaf(0x17c)+_0x274aaf(0x1f8)]?.()||{};if(!_0x471805?.['pluginId']&&!_0x471805?.['id'])return _0x1165b3[_0x274aaf(0x402)]||[];const _0x257c08=String(_0x471805['pluginId']||_0x471805['id']||'');return(_0x1165b3['plugins']||[])[_0x274aaf(0x1af)](_0x2b8397=>_0x2b8397['pluginId']===_0x257c08);})())})),_0xbaa641(_0x53d726(0x399)+_0x53d726(0x46b),async(_0x1c0a36,_0x5a34cf)=>({'ok':!![],'payload':_0x5a34cf})),_0xbaa641(_0x53d726(0x315)+_0x53d726(0x4f3)+'e',async(_0x1f6652,_0x48d686)=>{const _0x4bc0d0=_0x53d726;return broadcast(_0x4bc0d0(0x180)+'mand',_0x48d686),{'ok':!![]};}),_0xbaa641(_0x53d726(0x2b5)+'uest-age'+_0x53d726(0x411),async()=>{const _0x163fa7=_0x53d726;return broadcast(_0x163fa7(0x24e)+_0x163fa7(0x411)+_0x163fa7(0x2fa),{}),{'ok':!![]};}),_0xbaa641(_0x53d726(0x1f9)+_0x53d726(0x444)+'nt-state',async(_0x26d7c0,_0x27084b={})=>{const _0x592a28=_0x53d726;return broadcast(_0x592a28(0x24e)+'nt-state'+'-refresh'+'-request',_0x27084b),{'ok':!![]};}),_0xbaa641(_0x53d726(0x21d)+_0x53d726(0x163),_0x549a9c=>{const _0x4b8842=_0x53d726;return BrowserWindow[_0x4b8842(0x2b7)+'ontents'](_0x549a9c[_0x4b8842(0x176)])?.[_0x4b8842(0x2fc)](),{'ok':!![]};}),_0xbaa641('window:t'+_0x53d726(0x424)+'ximize',_0x2360f2=>{const _0x2358bd=_0x53d726,_0xf0711=BrowserWindow['fromWebC'+'ontents'](_0x2360f2[_0x2358bd(0x176)]);if(!_0xf0711)return{'isMaximized':![]};if(_0xf0711[_0x2358bd(0x470)+_0x2358bd(0x4ac)]())_0xf0711[_0x2358bd(0x1b9)+'ze']();else _0xf0711[_0x2358bd(0x26b)]();return{'isMaximized':_0xf0711[_0x2358bd(0x470)+_0x2358bd(0x4ac)]()};}),_0xbaa641(_0x53d726(0x113)+_0x53d726(0x3b7),_0x299a6a=>{const _0x3399e1=_0x53d726;return BrowserWindow[_0x3399e1(0x2b7)+_0x3399e1(0x367)](_0x299a6a[_0x3399e1(0x176)])?.[_0x3399e1(0x271)](),{'ok':!![]};}),_0xbaa641(_0x53d726(0x44d)+_0x53d726(0x2bf)+'ools',()=>openDevToolsForActiveContext()),_0xbaa641('openclaw'+_0x53d726(0x441)+_0x53d726(0x12b),()=>_0x5c9636()[_0x53d726(0x17c)+'nfo']()),_0xbaa641(_0x53d726(0x4aa)+_0x53d726(0x1b2)+_0x53d726(0x442),async()=>(await ensureGatewayControllerStarted())['getStatu'+'s']()),ipcMain['on'](_0x53d726(0x4aa)+':gateway'+_0x53d726(0x3d9)+_0x53d726(0x280),_0x1775c2=>{const _0x5db278=_0x53d726;_0x1775c2[_0x5db278(0x12d)+_0x5db278(0x45b)]=gatewayController?.[_0x5db278(0x4ad)+'s']?.()??null;}),_0xbaa641(_0x53d726(0x4aa)+':gateway'+_0x53d726(0x2f3),()=>_0x5c9636()['restart']('renderer'+_0x53d726(0x40d))),_0xbaa641('openclaw'+_0x53d726(0x1a0)+_0x53d726(0x25b)+_0x53d726(0x139),async()=>({'loadingLifeCycle':_0x53d726(0x23a),'message':'','updatedAt':new Date()['toISOStr'+'ing']()})),_0xbaa641(_0x53d726(0x4aa)+_0x53d726(0x1b2)+_0x53d726(0x11a),(_0x55e8db,_0x5d0a53={})=>_0x5c9636()['getRecen'+'tLogs'](_0x5d0a53?.[_0x53d726(0x4c4)]??0xc8)),_0xbaa641(_0x53d726(0x4aa)+_0x53d726(0x133)+_0x53d726(0x2e0)+_0x53d726(0x30f)+'n',(_0x23c5b8,_0x4a1025)=>_0x5c9636()[_0x53d726(0x222)+'kUserQue'+_0x53d726(0x1bc)](_0x4a1025)),_0xbaa641(_0x53d726(0x4aa)+_0x53d726(0x331)+_0x53d726(0x2dd),async()=>{const _0x45a8d9=_0x53d726,_0x5ab1f4=join(resolveRuntimeRoot(shellConfig[_0x45a8d9(0x4dd)+_0x45a8d9(0x352)]),'bin',_0x45a8d9(0x40a)+'w');if(!existsSync(_0x5ab1f4))throw new Error(_0x45a8d9(0x4aa)+_0x45a8d9(0x162)+'pper\x20not'+_0x45a8d9(0x1cf)+_0x5ab1f4+('.\x20Run\x20wu'+_0x45a8d9(0x1b3)+_0x45a8d9(0x287)+'e\x20first.'));const _0x3ba5e8=join(app[_0x45a8d9(0x345)](_0x45a8d9(0x15c)),_0x45a8d9(0x3a7)+_0x45a8d9(0x1e2)+'command');await writeFile(_0x3ba5e8,_0x45a8d9(0x3ac)+_0x45a8d9(0x449)+_0x5ab1f4[_0x45a8d9(0x1f4)](/\\/g,'\x5c\x5c')[_0x45a8d9(0x1f4)](/"/g,'\x5c\x22')+'\x22\x0a',{'mode':0x1ed});const _0x2a7c5b=spawn(_0x45a8d9(0x336),['-a','Terminal',_0x3ba5e8],{'detached':!![],'stdio':'ignore'});return _0x2a7c5b[_0x45a8d9(0x2ce)](),{'ok':!![],'cliPath':_0x5ab1f4};}),_0xbaa641(_0x53d726(0x277)+_0x53d726(0x3fd),()=>_0x5c9636()['agents'][_0x53d726(0x340)]()),_0xbaa641(_0x53d726(0x215)+'tatus',(_0x530b5f,_0x5164c2)=>_0x5c9636()[_0x53d726(0x2cb)][_0x53d726(0x467)](_0x5164c2)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x307),(_0x110718,_0x313b7b)=>_0x5c9636()['sessions']['create'](_0x313b7b)),_0xbaa641('sessions'+':snapsho'+'t',(_0x11397f,_0x71009b)=>ensureSessionDataService()[_0x53d726(0x3a0)+_0x53d726(0x1b6)](_0x71009b)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x494),(_0x1da735,_0x4918b5)=>ensureSessionDataService()[_0x53d726(0x4d1)+'ry'](_0x4918b5)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x3ba)+'n',(_0x23b1f5,_0x40785f)=>ensureSessionDataService()['getRevis'+_0x53d726(0x4d4)](_0x40785f)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x14f)+'s-snapsh'+'ot',(_0x149b1f,_0x127451)=>ensureSessionDataService()[_0x53d726(0x2be)+'ges'](_0x127451)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x3fb)+'ts',(_0x1be75d,_0x394949)=>ensureSessionDataService()[_0x53d726(0x390)+_0x53d726(0x121)](_0x394949)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x40f)+'es',(_0x40322b,_0x3b5b9c)=>ensureSessionDataService()['getProce'+_0x53d726(0x27f)](_0x3b5b9c)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x441)+_0x53d726(0x148)+_0x53d726(0x475),(_0x481e5c,_0x22b2ac={})=>ensureSessionDataService()[_0x53d726(0x469)+_0x53d726(0x4ba)](String(_0x22b2ac[_0x53d726(0x4e4)+'ey']||_0x22b2ac[_0x53d726(0x39c)]||''))),_0xbaa641(_0x53d726(0x230)+':events',(_0x1e8aac,_0x390cf0={})=>ensureSessionDataService()['listSess'+'ionEvent'+'s'](_0x390cf0)),_0xbaa641('sessions'+_0x53d726(0x2f7),async(_0x372d86,_0x5412d7={})=>{const _0x10d5a2=_0x53d726,_0x863658=String(_0x5412d7[_0x10d5a2(0x4e4)+'ey']||_0x5412d7[_0x10d5a2(0x39c)]||'')[_0x10d5a2(0x4c2)](),_0x2426ab=await ensureSessionSqliteStore()[_0x10d5a2(0x33f)+_0x10d5a2(0x218)](_0x863658),_0x22198c=await configController['readCurr'+_0x10d5a2(0x282)+_0x10d5a2(0x456)]();return{..._0x2426ab,'contextWindowTokens':_0x22198c[_0x10d5a2(0x347)+_0x10d5a2(0x155)+_0x10d5a2(0x482)],'contextWindowSource':_0x22198c[_0x10d5a2(0x347)+'indowSou'+_0x10d5a2(0x46f)]};}),_0xbaa641('sessions'+_0x53d726(0x2f4),(_0x1c82b4,_0x5356d2)=>_0x5c9636()[_0x53d726(0x230)][_0x53d726(0x32c)](_0x5356d2)),_0xbaa641(_0x53d726(0x2aa)+_0x53d726(0x4cb),(_0x54861b,_0x1c1e9e)=>_0x5c9636()[_0x53d726(0x122)][_0x53d726(0x1a2)](_0x1c1e9e)),_0xbaa641(_0x53d726(0x3e8)+'rt',(_0x14d14b,_0x2d0e5d)=>_0x5c9636()[_0x53d726(0x122)]['abort'](_0x2d0e5d)),_0xbaa641(_0x53d726(0x11e)+'te',async(_0x3cf342,_0x98945a={})=>{const _0x270dcb=_0x53d726,_0x3083f1=typeof _0x98945a[_0x270dcb(0x3b6)]==='string'?_0x98945a['level']:_0x270dcb(0x3be),_0x2d444b=typeof _0x98945a[_0x270dcb(0x48f)]===_0x270dcb(0x25d)?_0x98945a['message']:_0x270dcb(0x3e9)+_0x270dcb(0x206),_0x16eb2c=typeof _0x98945a[_0x270dcb(0x13f)]===_0x270dcb(0x25d)&&_0x98945a[_0x270dcb(0x13f)][_0x270dcb(0x4c2)]()?_0x270dcb(0x3e9)+':'+_0x98945a[_0x270dcb(0x13f)][_0x270dcb(0x4c2)]():_0x270dcb(0x3e9),_0x1712ac=_0x98945a[_0x270dcb(0x380)]&&typeof _0x98945a[_0x270dcb(0x380)]===_0x270dcb(0x314)?{...summarizePayload(_0x98945a[_0x270dcb(0x380)]),'context':_0x16eb2c}:{'context':_0x16eb2c},_0x8cc36e=rendererLogger;if(_0x8cc36e?.[_0x3083f1])await _0x8cc36e[_0x3083f1](_0x2d444b,_0x1712ac);else await _0x8cc36e?.[_0x270dcb(0x3be)](_0x2d444b,_0x1712ac);if(_0x98945a[_0x270dcb(0x3fa)+'ic']===!![]||_0x16eb2c===_0x270dcb(0x3e9)+':diagnos'+_0x270dcb(0x327)){const _0x21940d=_0x98945a[_0x270dcb(0x4a3)]&&typeof _0x98945a[_0x270dcb(0x4a3)]===_0x270dcb(0x314)?_0x98945a[_0x270dcb(0x4a3)]:_0x98945a['meta']?.[_0x270dcb(0x4a3)]&&typeof _0x98945a['meta'][_0x270dcb(0x4a3)]==='object'?_0x98945a[_0x270dcb(0x380)][_0x270dcb(0x4a3)]:{'level':_0x3083f1,'category':_0x270dcb(0x3e9),'event':_0x16eb2c,'message':_0x2d444b,'meta':_0x98945a[_0x270dcb(0x380)]};updateRendererSessionMetrics(_0x21940d),await diagnosticsWriter?.[_0x270dcb(0x384)+'nt'](_0x21940d,{'captureIncident':String(_0x21940d[_0x270dcb(0x3b6)]||_0x3083f1)[_0x270dcb(0x491)+_0x270dcb(0x129)]()==='error'||_0x98945a['captureI'+_0x270dcb(0x304)]===!![]});}return{'ok':!![]};}),_0xbaa641(_0x53d726(0x3cb)+_0x53d726(0x2ea),async(_0x5be903,_0xe79e52={})=>{const _0x4101ef=_0x53d726,_0x4151f2=typeof _0xe79e52[_0x4101ef(0x21c)+'r']===_0x4101ef(0x25d)&&_0xe79e52[_0x4101ef(0x21c)+'r'][_0x4101ef(0x4c2)]()?_0xe79e52['targetDi'+'r']:undefined,_0x5ba796=await exportLogsArchive({'logsDir':configController[_0x4101ef(0x455)][_0x4101ef(0x1f5)],'targetDir':_0x4151f2,'appVersion':app[_0x4101ef(0x445)+'on']()});return mainLogger?.['info']('logs\x20exp'+_0x4101ef(0x1e8),{'path':toHomePath(_0x5ba796[_0x4101ef(0x200)])}),_0x5ba796;}),_0xbaa641(_0x53d726(0x1f0)+_0x53d726(0x498)+_0x53d726(0x364),async()=>{const _0x104ffd=_0x53d726;return await shell['openPath'](configController[_0x104ffd(0x455)][_0x104ffd(0x1f5)]),mainLogger?.[_0x104ffd(0x3be)](_0x104ffd(0x2c8)+'ectory\x20o'+_0x104ffd(0x43a),{'logsDir':toHomePath(configController['paths'][_0x104ffd(0x1f5)])}),{'ok':!![],'path':configController[_0x104ffd(0x455)][_0x104ffd(0x1f5)]};}),_0xbaa641(_0x53d726(0x30a)+'t',async()=>{const _0x36093b=_0x53d726,_0x1c0bd4=await readdir(configController[_0x36093b(0x455)][_0x36093b(0x1f5)],{'recursive':!![]})[_0x36093b(0x44a)](()=>[]);return _0x1c0bd4;}),_0xbaa641('logs:rea'+'d',async(_0x13204b,_0x2c0770={})=>{const _0x4c7afb=_0x53d726,_0x8e994b=String(_0x2c0770[_0x4c7afb(0x200)]||'');if(!_0x8e994b)throw new Error(_0x4c7afb(0x21a)+_0x4c7afb(0x302));return readFile(_0x8e994b,_0x4c7afb(0x3bd));}),_0xbaa641(_0x53d726(0x25a)+'ad',async(_0x1de427,_0x5b0b19)=>{const _0x13dc93=_0x53d726,_0x40d759=Date[_0x13dc93(0x4e1)]();try{const _0x32c2d4=await readFile(_0x5b0b19,'utf8');return filesLogger?.[_0x13dc93(0x3be)](_0x13dc93(0x164)+'d\x20comple'+_0x13dc93(0x3f7),{'path':toHomePath(_0x5b0b19),'bytes':Buffer[_0x13dc93(0x16b)+'th'](_0x32c2d4),'durationMs':Date[_0x13dc93(0x4e1)]()-_0x40d759}),_0x32c2d4;}catch(_0xde8ba){filesLogger?.['error'](_0x13dc93(0x164)+_0x13dc93(0x3b8),{'path':toHomePath(_0x5b0b19),'durationMs':Date[_0x13dc93(0x4e1)]()-_0x40d759,'error':summarizeError(_0xde8ba)});throw _0xde8ba;}}),_0xbaa641(_0x53d726(0x25a)+_0x53d726(0x4b3)+'y',async(_0x202c55,_0x587647)=>{const _0x3e9663=_0x53d726,_0x36b4b1=Date[_0x3e9663(0x4e1)]();try{const _0x5922f8=await readFile(_0x587647);return filesLogger?.[_0x3e9663(0x3be)](_0x3e9663(0x409)+_0x3e9663(0x430)+'\x20complet'+'ed',{'path':toHomePath(_0x587647),'bytes':_0x5922f8[_0x3e9663(0x16b)+'th'],'durationMs':Date[_0x3e9663(0x4e1)]()-_0x36b4b1}),new Uint8Array(_0x5922f8);}catch(_0x4865a8){filesLogger?.[_0x3e9663(0x450)](_0x3e9663(0x409)+_0x3e9663(0x430)+'\x20failed',{'path':toHomePath(_0x587647),'durationMs':Date['now']()-_0x36b4b1,'error':summarizeError(_0x4865a8)});throw _0x4865a8;}}),_0xbaa641(_0x53d726(0x3df)+_0x53d726(0x3d2),async(_0x3252cf,_0x5f0bfe={})=>{const _0x3613e2=_0x53d726,_0x30625c=Date['now']();return await writeFile(_0x5f0bfe[_0x3613e2(0x200)],_0x5f0bfe[_0x3613e2(0x33e)]??'','utf8'),filesLogger?.[_0x3613e2(0x3be)](_0x3613e2(0x1cc)+_0x3613e2(0x2fd)+_0x3613e2(0x4b9),{'path':toHomePath(_0x5f0bfe[_0x3613e2(0x200)]),'bytes':Buffer[_0x3613e2(0x16b)+'th'](String(_0x5f0bfe[_0x3613e2(0x33e)]??'')),'durationMs':Date['now']()-_0x30625c}),{'ok':!![]};}),_0xbaa641(_0x53d726(0x3df)+_0x53d726(0x248)+'ry',async(_0x4328ee,_0x38c8fd={})=>{const _0x2e8e1b=_0x53d726,_0x15d627=Date[_0x2e8e1b(0x4e1)]();await writeFile(_0x38c8fd[_0x2e8e1b(0x200)],Buffer['from'](_0x38c8fd[_0x2e8e1b(0x33e)]??[]));const _0x554317=await stat(_0x38c8fd[_0x2e8e1b(0x200)])[_0x2e8e1b(0x44a)](()=>null);return filesLogger?.[_0x2e8e1b(0x3be)](_0x2e8e1b(0x409)+'ile\x20writ'+_0x2e8e1b(0x2de)+_0x2e8e1b(0x3f7),{'path':toHomePath(_0x38c8fd[_0x2e8e1b(0x200)]),'bytes':_0x554317?.['size']??0x0,'durationMs':Date['now']()-_0x15d627}),{'ok':!![]};}),_0xbaa641(_0x53d726(0x460)+_0x53d726(0x1d5)+'e',async(_0x2efcd3,_0x4dca81={})=>{const _0x3dc812=_0x53d726,_0x179465=await dialog[_0x3dc812(0x4b6)+_0x3dc812(0x4db)](BrowserWindow[_0x3dc812(0x2b7)+_0x3dc812(0x367)](_0x2efcd3[_0x3dc812(0x176)])??mainWindow,{'title':typeof _0x4dca81[_0x3dc812(0x1ae)]===_0x3dc812(0x25d)?_0x4dca81[_0x3dc812(0x1ae)]:undefined,'properties':[_0x3dc812(0x4f6),..._0x4dca81[_0x3dc812(0x111)+_0x3dc812(0x209)]?[_0x3dc812(0x111)+_0x3dc812(0x209)]:[]],'filters':Array['isArray'](_0x4dca81[_0x3dc812(0x446)])?_0x4dca81[_0x3dc812(0x446)]:undefined});return filesLogger?.[_0x3dc812(0x3be)](_0x3dc812(0x398)+_0x3dc812(0x3f8)+_0x3dc812(0x4a8),{'canceled':_0x179465[_0x3dc812(0x34d)],'count':_0x179465[_0x3dc812(0x1aa)+'s'][_0x3dc812(0x451)],'paths':_0x179465['filePath'+'s'][_0x3dc812(0x191)](toHomePath)}),{'canceled':_0x179465[_0x3dc812(0x34d)],'paths':_0x179465[_0x3dc812(0x1aa)+'s']};}),_0xbaa641('files:li'+_0x53d726(0x480)+'tory',async(_0x2c0723,_0x56242c={})=>{const _0x4b7cc0=_0x53d726,_0x486cde=resolve(String(_0x56242c[_0x4b7cc0(0x200)]||'')),_0xd56b5b=_0x56242c[_0x4b7cc0(0x20c)+'e']!==![],_0x212e80=Array[_0x4b7cc0(0x40b)](_0x56242c[_0x4b7cc0(0x43e)+'ns'])?_0x56242c[_0x4b7cc0(0x43e)+'ns']['map'](_0x2b8c40=>String(_0x2b8c40)[_0x4b7cc0(0x491)+_0x4b7cc0(0x129)]()[_0x4b7cc0(0x1f4)](/^\./,''))[_0x4b7cc0(0x1af)](Boolean):null,_0x500cd9=Number['isIntege'+'r'](_0x56242c[_0x4b7cc0(0x2e9)+'es'])&&_0x56242c[_0x4b7cc0(0x2e9)+'es']>0x0?_0x56242c[_0x4b7cc0(0x2e9)+'es']:0xc350,_0x57ecd0=[];let _0x1f4960=![];async function _0x4f06fb(_0x1b2b44){const _0x7e2cc3=_0x4b7cc0;if(_0x1f4960)return;let _0x1e2dfa;try{_0x1e2dfa=await readdir(_0x1b2b44,{'withFileTypes':!![]});}catch{return;}for(const _0x1cfc51 of _0x1e2dfa){if(_0x1f4960)return;if(_0x1cfc51['name'][_0x7e2cc3(0x3b3)+'th']('.'))continue;const _0x424d23=join(_0x1b2b44,_0x1cfc51[_0x7e2cc3(0x42e)]);if(_0x1cfc51[_0x7e2cc3(0x49c)+_0x7e2cc3(0x364)]()){if(_0xd56b5b)await _0x4f06fb(_0x424d23);continue;}if(!_0x1cfc51[_0x7e2cc3(0x2ad)]())continue;if(_0x212e80){const _0x252a24=_0x1cfc51[_0x7e2cc3(0x42e)][_0x7e2cc3(0x3c8)+_0x7e2cc3(0x15f)]('.'),_0xd20c64=_0x252a24>=0x0?_0x1cfc51[_0x7e2cc3(0x42e)][_0x7e2cc3(0x493)](_0x252a24+0x1)['toLowerC'+_0x7e2cc3(0x129)]():'';if(!_0x212e80[_0x7e2cc3(0x4e6)](_0xd20c64))continue;}if(_0x57ecd0['length']>=_0x500cd9){_0x1f4960=!![];return;}_0x57ecd0['push']({'name':_0x1cfc51[_0x7e2cc3(0x42e)],'path':_0x424d23});}}return await _0x4f06fb(_0x486cde),{'path':_0x486cde,'entries':_0x57ecd0,'truncated':_0x1f4960};}),_0xbaa641(_0x53d726(0x460)+_0x53d726(0x2ee)+_0x53d726(0x3c1),async(_0x3d651e,_0x3b773c={})=>{const _0x450d68=_0x53d726,_0x21e63c=await dialog[_0x450d68(0x4b6)+'Dialog'](BrowserWindow['fromWebC'+'ontents'](_0x3d651e[_0x450d68(0x176)])??mainWindow,{'title':typeof _0x3b773c[_0x450d68(0x1ae)]===_0x450d68(0x25d)?_0x3b773c[_0x450d68(0x1ae)]:undefined,'properties':[_0x450d68(0x14b)+'ctory']});return filesLogger?.[_0x450d68(0x3be)](_0x450d68(0x1a5)+_0x450d68(0x32d)+'\x20complet'+'ed',{'canceled':_0x21e63c[_0x450d68(0x34d)],'count':_0x21e63c[_0x450d68(0x1aa)+'s'][_0x450d68(0x451)],'paths':_0x21e63c[_0x450d68(0x1aa)+'s']['map'](toHomePath)}),{'canceled':_0x21e63c[_0x450d68(0x34d)],'paths':_0x21e63c[_0x450d68(0x1aa)+'s']};}),_0xbaa641(_0x53d726(0x453)+_0x53d726(0x1c7)+_0x53d726(0x161),()=>_0x5c9636()[_0x53d726(0x453)+'e'][_0x53d726(0x448)+'yInfo']()),_0xbaa641(_0x53d726(0x453)+_0x53d726(0x3b5)+_0x53d726(0x32d),async()=>{const _0xb60cca=_0x53d726,_0x513907=await _0x5c9636()['workspac'+'e'][_0xb60cca(0x448)+_0xb60cca(0x313)]();return await shell[_0xb60cca(0x433)](_0x513907[_0xb60cca(0x200)]),filesLogger?.['info'](_0xb60cca(0x453)+_0xb60cca(0x1bf)+'ory\x20open'+'ed',{'path':toHomePath(_0x513907[_0xb60cca(0x200)])}),{'ok':!![],'path':_0x513907[_0xb60cca(0x200)]};}),_0xbaa641(_0x53d726(0x453)+'e:shared'+'-context',()=>_0x5c9636()['workspac'+'e'][_0x53d726(0x3ae)+_0x53d726(0x3c4)]()),_0xbaa641(_0x53d726(0x453)+'e:write-'+_0x53d726(0x472)+_0x53d726(0x23d),(_0x311e8d,_0x94ea8a)=>_0x5c9636()['workspac'+'e'][_0x53d726(0x3ee)+_0x53d726(0x1fc)+'xt'](_0x94ea8a)),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x341),(_0xbcf4e4,_0x6b8765)=>_0x5c9636()[_0x53d726(0x230)][_0x53d726(0x1fd)](_0x6b8765)),_0xbaa641('sessions'+_0x53d726(0x296),async(_0x1277bf,_0x3446c1={})=>{const _0x48bafd=_0x53d726,_0x4721d4=String(_0x3446c1[_0x48bafd(0x4e4)+'ey']||_0x3446c1[_0x48bafd(0x39c)]||'')['trim']();if(!_0x4721d4)throw new Error(_0x48bafd(0x4e4)+_0x48bafd(0x132)+_0x48bafd(0x431));const _0x1f1716=await ensureSessionSqliteStore()[_0x48bafd(0x2ba)+_0x48bafd(0x1a3)+_0x48bafd(0x3d1)](),_0x573c49=await _0x5c9636()['sessions'][_0x48bafd(0x25c)+'inned']([_0x4721d4,..._0x1f1716[_0x48bafd(0x1af)](_0x571f03=>_0x571f03!==_0x4721d4)]);return _0x573c49;}),_0xbaa641(_0x53d726(0x230)+_0x53d726(0x151),async(_0x57caf1,_0x46e3a7={})=>{const _0x51ca95=_0x53d726,_0x5f5be4=String(_0x46e3a7[_0x51ca95(0x4e4)+'ey']||_0x46e3a7[_0x51ca95(0x39c)]||'')[_0x51ca95(0x4c2)]();if(!_0x5f5be4)throw new Error(_0x51ca95(0x4e4)+'ey\x20is\x20re'+_0x51ca95(0x431));const _0x20c9bb=await ensureSessionSqliteStore()['getPinne'+_0x51ca95(0x1a3)+_0x51ca95(0x3d1)]();return await _0x5c9636()[_0x51ca95(0x230)][_0x51ca95(0x25c)+_0x51ca95(0x48b)](_0x20c9bb[_0x51ca95(0x1af)](_0x409afc=>_0x409afc!==_0x5f5be4));}),_0xbaa641(_0x53d726(0x230)+':reorder'+_0x53d726(0x36c),async(_0x2d054a,_0x5c52f3={})=>{const _0x4f1e85=_0x53d726,_0x3d8f50=Array[_0x4f1e85(0x40b)](_0x5c52f3['keys'])?_0x5c52f3[_0x4f1e85(0x35b)]:_0x5c52f3;return await _0x5c9636()[_0x4f1e85(0x230)]['reorderP'+_0x4f1e85(0x48b)](_0x3d8f50);}),_0xbaa641(_0x53d726(0x355)+_0x53d726(0x2ab),(_0x57499f,_0x5069a8)=>_0x5c9636()['skills'][_0x53d726(0x2da)](_0x5069a8)),_0xbaa641(_0x53d726(0x243)+'t',(_0xf47b6f,_0x48953d)=>_0x5c9636()[_0x53d726(0x483)][_0x53d726(0x340)](_0x48953d)),_0xbaa641(_0x53d726(0x4d5)+_0x53d726(0x1ff),(_0x3b8e4f,_0x5e253)=>_0x5c9636()[_0x53d726(0x483)]['create'](_0x5e253)),_0xbaa641('cron:upd'+_0x53d726(0x1ff),(_0xc71a0e,_0x52c80f)=>_0x5c9636()[_0x53d726(0x483)][_0x53d726(0x2f9)](_0x52c80f)),_0xbaa641(_0x53d726(0x40e)+_0x53d726(0x2b9),(_0x4d42c5,_0x371f69)=>_0x5c9636()['cron'][_0x53d726(0x26a)](_0x371f69)),_0xbaa641(_0x53d726(0x4b4)+_0x53d726(0x397),(_0x2123ab,_0x4ad487)=>_0x5c9636()['cron'][_0x53d726(0x1d7)](_0x4ad487)),_0xbaa641('cron:log'+'s',(_0x44a7dd,_0x42217f)=>_0x5c9636()[_0x53d726(0x483)][_0x53d726(0x165)](_0x42217f)),_0xbaa641('models:c'+'omplete',async(_0x1690a8,_0x9b6ec2={})=>{const _0x2003b1=_0x53d726,_0x2bcfea=configController[_0x2003b1(0x292)+'onfigPat'+'h'](),_0x50796c=JSON[_0x2003b1(0x4c3)](await readFile(_0x2bcfea,_0x2003b1(0x3bd))),_0x5c9a88=_0x50796c?.[_0x2003b1(0x1fe)]?.[_0x2003b1(0x496)+'s']&&typeof _0x50796c[_0x2003b1(0x1fe)][_0x2003b1(0x496)+'s']===_0x2003b1(0x314)?_0x50796c[_0x2003b1(0x1fe)][_0x2003b1(0x496)+'s']:{},_0xc2d93=typeof _0x50796c?.[_0x2003b1(0x16a)]?.['defaults']?.[_0x2003b1(0x2f8)]?.[_0x2003b1(0x2d1)]===_0x2003b1(0x25d)?_0x50796c[_0x2003b1(0x16a)][_0x2003b1(0x1a9)][_0x2003b1(0x2f8)][_0x2003b1(0x2d1)]:'',_0x59201c=String(_0x9b6ec2['model']||_0xc2d93||'');if(!_0x59201c['includes']('/'))throw new Error(_0x2003b1(0x36e)+_0x2003b1(0x47f)+'\x20configu'+_0x2003b1(0x19d)+'\x20a\x20provi'+'der/mode'+'l\x20first');const _0xc1c8ff=_0x59201c[_0x2003b1(0x43d)]('/'),_0x181f12=_0x59201c['slice'](0x0,_0xc1c8ff),_0x50617d=_0x59201c[_0x2003b1(0x493)](_0xc1c8ff+0x1),_0x2ca29d=_0x5c9a88[_0x181f12];if(!_0x2ca29d||typeof _0x2ca29d!==_0x2003b1(0x314))throw new Error(_0x2003b1(0x496)+'\x20not\x20con'+'figured:'+'\x20'+_0x181f12);const _0x76f550=String(_0x2ca29d['baseUrl']||_0x2003b1(0x20b)+'api.open'+'ai.com/v'+'1')[_0x2003b1(0x4c2)]()['replace'](/\/$/,''),_0x330761=await fetch(_0x76f550+(_0x2003b1(0x36f)+_0x2003b1(0x2b0)+'s'),{'method':_0x2003b1(0x328),'headers':{'content-type':_0x2003b1(0x2fe)+'ion/json','Authorization':_0x2003b1(0x18d)+(_0x2ca29d['apiKey']||''),..._0x2ca29d[_0x2003b1(0x2fb)]&&typeof _0x2ca29d[_0x2003b1(0x2fb)]===_0x2003b1(0x314)?_0x2ca29d[_0x2003b1(0x2fb)]:{}},'body':JSON[_0x2003b1(0x3a5)+'y']({'model':_0x50617d,'max_tokens':Number[_0x2003b1(0x123)+'r'](_0x9b6ec2[_0x2003b1(0x22b)+'s'])?_0x9b6ec2[_0x2003b1(0x22b)+'s']:0x400,'temperature':typeof _0x9b6ec2[_0x2003b1(0x130)+_0x2003b1(0x31a)]===_0x2003b1(0x154)?_0x9b6ec2[_0x2003b1(0x130)+_0x2003b1(0x31a)]:undefined,'messages':Array[_0x2003b1(0x40b)](_0x9b6ec2[_0x2003b1(0x28a)])?_0x9b6ec2[_0x2003b1(0x28a)]:[]}),'signal':AbortSignal[_0x2003b1(0x212)](Number['isIntege'+'r'](_0x9b6ec2[_0x2003b1(0x234)+'s'])?_0x9b6ec2['timeoutM'+'s']:0x1d4c0)});if(!_0x330761['ok']){const _0x32fe7b=await _0x330761[_0x2003b1(0x147)]();throw new Error('model\x20ht'+_0x2003b1(0x3ca)+_0x330761[_0x2003b1(0x467)]+':\x20'+_0x32fe7b[_0x2003b1(0x493)](0x0,0x190));}const _0x4cfadc=_0x330761[_0x2003b1(0x2fb)][_0x2003b1(0x4bf)](_0x2003b1(0x4d9)+'id'),_0x179361=await _0x330761['json'](),_0x18001e=_0x179361?.['choices']?.[0x0]?.[_0x2003b1(0x48f)]??{};if(_0x4cfadc){const _0xdd3de9=typeof _0x9b6ec2[_0x2003b1(0x1ae)]===_0x2003b1(0x25d)&&_0x9b6ec2[_0x2003b1(0x1ae)][_0x2003b1(0x4c2)]()?_0x9b6ec2[_0x2003b1(0x1ae)][_0x2003b1(0x4c2)]():Array[_0x2003b1(0x40b)](_0x9b6ec2[_0x2003b1(0x28a)])?String([..._0x9b6ec2['messages']]['reverse']()[_0x2003b1(0x33d)](_0x5d1697=>_0x5d1697?.[_0x2003b1(0x316)]===_0x2003b1(0x3bc))?.['content']||'')[_0x2003b1(0x4c2)]():'';_0xdd3de9&&Promise[_0x2003b1(0x37d)](requestIdHooks?.[_0x2003b1(0x2ac)+_0x2003b1(0x263)+_0x2003b1(0x416)]?.({'requestId':_0x4cfadc,'title':_0xdd3de9,'source':'provider'+'_respons'+'e','model':_0x179361?.[_0x2003b1(0x2f8)]||_0x50617d,'provider':_0x181f12,'timestamp':Date[_0x2003b1(0x4e1)]()}))['catch'](_0x91feb4=>{const _0x16e7dc=_0x2003b1;mainLogger?.[_0x16e7dc(0x374)]?.('models\x20c'+_0x16e7dc(0x3a3)+_0x16e7dc(0x4d9)+_0x16e7dc(0x140)+'\x20event\x20f'+_0x16e7dc(0x4a0),{'error':_0x91feb4?.['message']||String(_0x91feb4)});});}return{'content':extractModelMessageContent(_0x18001e[_0x2003b1(0x33e)]),'reasoning':typeof _0x18001e[_0x2003b1(0x394)+_0x2003b1(0x2a6)+'t']==='string'?_0x18001e['reasonin'+_0x2003b1(0x2a6)+'t']:'','model':_0x179361?.[_0x2003b1(0x2f8)]||_0x50617d};}),_0xbaa641(_0x53d726(0x2cd)+'ettings',()=>_0x5c9636()[_0x53d726(0x1fe)][_0x53d726(0x21e)]()),_0xbaa641(_0x53d726(0x2cd)+_0x53d726(0x2e5)+_0x53d726(0x4c1),(_0x515143,_0x122794)=>_0x5c9636()['models']['setSetti'+'ngs'](_0x122794)),_0xbaa641(_0x53d726(0x2cd)+_0x53d726(0x257)+_0x53d726(0x1f6)+'ywhere',(_0xa9f3d2,_0x4fa527)=>_0x5c9636()['models'][_0x53d726(0x16f)+_0x53d726(0x457)+_0x53d726(0x267)+'re'](_0x4fa527)),_0xbaa641('models:s'+'et-self-'+'operated',(_0x478cda,_0x48b0ea)=>_0x5c9636()[_0x53d726(0x1fe)][_0x53d726(0x273)+_0x53d726(0x17d)+'odels'](_0x48b0ea)),_0xbaa641(_0x53d726(0x2cd)+_0x53d726(0x264)+_0x53d726(0x324),()=>_0x5c9636()[_0x53d726(0x1fe)][_0x53d726(0x245)+_0x53d726(0x3e4)]()),_0xbaa641('models:c'+'ustom-mo'+_0x53d726(0x33b),()=>_0x5c9636()[_0x53d726(0x1fe)][_0x53d726(0x333)+_0x53d726(0x33b)]()),_0xbaa641('runtime:'+_0x53d726(0x492)+_0x53d726(0x3a2)+_0x53d726(0x127),async()=>{const _0x40a9fc=_0x53d726,_0x1bca44=await prepareRuntime(shellConfig,{'syncOnly':!![]});return await configController[_0x40a9fc(0x15a)+_0x40a9fc(0x3c0)+'ns'](),{'ok':!![],'syncedAt':new Date()[_0x40a9fc(0x28c)+'ing'](),'manifest':_0x1bca44,'status':await getRuntimeResourceStatus()};}),_0xbaa641(_0x53d726(0x138)+_0x53d726(0x474)+_0x53d726(0x442),async()=>getRuntimeResourceStatus());}async function boot(){const _0x1d12b5=_0x869a0f;shellConfig=await loadShellConfig(resolveProjectRoot()),app[_0x1d12b5(0x335)](shellConfig[_0x1d12b5(0x1ce)+'ame']),configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController[_0x1d12b5(0x455)],_0x1d12b5(0x36b)),ipcLogger=createShellLogger(configController['paths'],_0x1d12b5(0x2f1)),filesLogger=createShellLogger(configController['paths'],_0x1d12b5(0x28e)),rendererLogger=createShellLogger(configController[_0x1d12b5(0x455)],'renderer'),productRuntime=await loadProductRuntime();const _0x343dd8=resolveWujieApiEndpoint();diagnosticsWriter=createDiagnosticsWriter({'logsDir':configController['paths'][_0x1d12b5(0x1f5)],'appContext':{'productName':shellConfig[_0x1d12b5(0x1ce)+'ame'],'appId':shellConfig['appId'],'appVersion':app['getVersi'+'on'](),'platform':process[_0x1d12b5(0x254)],'arch':process[_0x1d12b5(0x464)],..._0x343dd8?{'apiEndpoint':_0x343dd8}:{}}}),userEventWriter=createUserEventWriter({'logsDir':configController[_0x1d12b5(0x455)][_0x1d12b5(0x1f5)],'diagnosticsWriter':diagnosticsWriter});const _0x1353e2=await loadCreateUpdateController({'logger':mainLogger});updateController=_0x1353e2({'shellConfig':shellConfig,'appName':()=>app[_0x1d12b5(0x42e)],'appVersion':()=>app['getVersi'+'on'](),'broadcast':broadcast,'logger':mainLogger,'prepareQuitAndInstall':async()=>{const _0x4738ad=_0x1d12b5;await stopGatewayBeforeQuit(_0x4738ad(0x11b)+_0x4738ad(0x30c)+_0x4738ad(0x2f0));}}),updateController[_0x1d12b5(0x2c7)+'ze'](),registerProcessLogHooks(),registerProtocolHandlers(),installApplicationMenu(),mainLogger?.[_0x1d12b5(0x3be)](_0x1d12b5(0x224)+_0x1d12b5(0x320)+'ot\x20start'+'ed',{'appVersion':app[_0x1d12b5(0x445)+'on'](),'electronVersion':process[_0x1d12b5(0x1f1)][_0x1d12b5(0x224)],'nodeVersion':process[_0x1d12b5(0x1f1)][_0x1d12b5(0x134)],'chromeVersion':process[_0x1d12b5(0x1f1)]['chrome'],'platform':process[_0x1d12b5(0x254)],'arch':process['arch'],'mode':getMode(),'projectRoot':shellConfig[_0x1d12b5(0x4dd)+_0x1d12b5(0x352)],'configPath':shellConfig[_0x1d12b5(0x12a)+'th'],'dataDir':shellConfig[_0x1d12b5(0x23c)],'devToolsEnabled':isDevToolsEnabled(),'devToolsFlagPath':resolveDevToolsFlagPath(),'logsDir':configController[_0x1d12b5(0x455)][_0x1d12b5(0x1f5)],'rendererUrl':process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x1d12b5(0x445)+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),typeof productRuntime[_0x1d12b5(0x233)+_0x1d12b5(0x31f)+_0x1d12b5(0x465)]==='function'&&await productRuntime['migrateP'+_0x1d12b5(0x31f)+_0x1d12b5(0x465)]({'configController':configController,'mainLogger':mainLogger}),typeof productRuntime[_0x1d12b5(0x233)+_0x1d12b5(0x432)+'ta']===_0x1d12b5(0x308)?await productRuntime[_0x1d12b5(0x233)+_0x1d12b5(0x432)+'ta']({'configController':configController,'generatedFilesStore':ensureGeneratedFilesStore(),'mainLogger':mainLogger,'sessionSqliteStore':ensureSessionSqliteStore()}):await ensureGeneratedFilesStore()[_0x1d12b5(0x1cd)+_0x1d12b5(0x3a1)+'d'](),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService(),await installIpcHandlers(),ipcHandlersInstalled=!![],installAppRendererProtocolHandler(),installClawspaceProtocolHandler(),registerShellShortcuts(),await ensureMainWindow(),await gatewayController[_0x1d12b5(0x487)](),updateController[_0x1d12b5(0x42f)+_0x1d12b5(0x311)+_0x1d12b5(0x4f0)](),mainLogger?.[_0x1d12b5(0x3be)](_0x1d12b5(0x224)+'\x20main\x20bo'+_0x1d12b5(0x3fe)+'eted'),updateController[_0x1d12b5(0x2b6)+_0x1d12b5(0x49e)+'nstall']?.();}function registerProcessLogHooks(){const _0x1480fb=_0x869a0f;if(registerProcessLogHooks[_0x1480fb(0x21b)+'ed'])return;registerProcessLogHooks['register'+'ed']=!![],process['on']('uncaught'+'Exceptio'+'n',_0x40056a=>{const _0x33ade7=_0x1480fb;mainLogger?.[_0x33ade7(0x450)](_0x33ade7(0x2a5)+_0x33ade7(0x351)+'on',summarizeError(_0x40056a));}),process['on'](_0x1480fb(0x190)+_0x1480fb(0x4af)+'on',_0x4f6df4=>{const _0x59865e=_0x1480fb;mainLogger?.[_0x59865e(0x450)](_0x59865e(0x190)+_0x59865e(0x3ce)+_0x59865e(0x4d4),summarizeError(_0x4f6df4));}),app['on'](_0x1480fb(0x362)+_0x1480fb(0x193)+'one',(_0xaf3782,_0x5d766b,_0x246f8b)=>{const _0x415de6=_0x1480fb;mainLogger?.[_0x415de6(0x450)]('renderer'+_0x415de6(0x146)+_0x415de6(0x2ae),{'url':_0x5d766b['getURL'](),'details':_0x246f8b});}),app['on'](_0x1480fb(0x47d)+_0x1480fb(0x25e)+'ne',(_0x1f2104,_0x2b4ee9)=>{const _0x461def=_0x1480fb;mainLogger?.[_0x461def(0x450)](_0x461def(0x37b)+'ocess\x20go'+'ne',{'details':_0x2b4ee9});});}async function stopGatewayBeforeQuit(_0x2510a4){const _0x574887=_0x869a0f;if(!gatewayController)return;const _0x3a787e=gatewayController,_0x1efcaf=Date[_0x574887(0x4e1)]();mainLogger?.[_0x574887(0x3be)](_0x2510a4+(':\x20stoppi'+_0x574887(0x290)+'ay'),{'event':_0x2510a4==='before\x20i'+_0x574887(0x30c)+_0x574887(0x2f0)?'update_g'+_0x574887(0x281)+_0x574887(0x41d)+'t':undefined}),await _0x3a787e[_0x574887(0x2ed)](),gatewayController===_0x3a787e&&(gatewayController=null),mainLogger?.[_0x574887(0x3be)](_0x2510a4+(_0x574887(0x2e8)+_0x574887(0x377)+'d'),{'event':_0x2510a4===_0x574887(0x11b)+_0x574887(0x30c)+_0x574887(0x2f0)?_0x574887(0x471)+_0x574887(0x281)+'top_done':undefined,'elapsedMs':Date[_0x574887(0x4e1)]()-_0x1efcaf});}app['on'](_0x869a0f(0x131)+_0x869a0f(0x42a)+'d',()=>{const _0x3dbc4d=_0x869a0f;if(process[_0x3dbc4d(0x254)]!==_0x3dbc4d(0x434))app[_0x3dbc4d(0x242)]();}),app['on'](_0x869a0f(0x214),(_0x151799,_0x23039e)=>{const _0x278410=_0x869a0f;_0x151799[_0x278410(0x2d8)+_0x278410(0x1da)](),mainLogger?.['warn'](_0x278410(0x268)+_0x278410(0x2e4)+'l\x20event',{'url':summarizeProtocolUrl(_0x23039e),'hasShellConfig':Boolean(shellConfig)}),dispatchProtocolUrl(_0x23039e);});const gotSingleInstanceLock=app['requestS'+_0x869a0f(0x38a)+'tanceLoc'+'k']();!gotSingleInstanceLock?app[_0x869a0f(0x242)]():app['on'](_0x869a0f(0x249)+_0x869a0f(0x4a1),(_0xc9d69b,_0x57f360)=>{const _0x382d86=_0x869a0f,_0x4178be=extractProtocolUrlFromArgs(_0x57f360);mainLogger?.[_0x382d86(0x374)](_0x382d86(0x249)+_0x382d86(0x447)+'event',{'argc':Array[_0x382d86(0x40b)](_0x57f360)?_0x57f360[_0x382d86(0x451)]:0x0,'hasShellConfig':Boolean(shellConfig),'hasProtocolUrl':Boolean(_0x4178be),'protocolUrl':_0x4178be?summarizeProtocolUrl(_0x4178be):undefined});if(!resolveProtocolScheme()){pendingProtocolArgs=_0x57f360;return;}if(_0x4178be){dispatchProtocolUrl(_0x4178be);return;}const _0x154119=getUsableMainWindow();if(_0x154119){if(_0x154119[_0x382d86(0x2a8)+_0x382d86(0x4ac)]())_0x154119[_0x382d86(0x2c6)]();_0x154119[_0x382d86(0x337)](),_0x154119[_0x382d86(0x159)]();}});app['on'](_0x869a0f(0x323),async()=>{const _0x5ce33b=_0x869a0f;if(isQuitting){app[_0x5ce33b(0x242)]();return;}updateController?.[_0x5ce33b(0x197)+'ackgroun'+'dCheck'](_0x5ce33b(0x3a8)+_0x5ce33b(0x3aa)),BrowserWindow[_0x5ce33b(0x4d8)+_0x5ce33b(0x428)]()[_0x5ce33b(0x451)]===0x0&&shellConfig&&await ensureMainWindow();}),app['on'](_0x869a0f(0x2dc)+_0x869a0f(0x187),_0x43c340=>{const _0xad8894=_0x869a0f;isQuitting=!![],updateController?.['markQuit'+_0xad8894(0x30d)](),terminalManager?.[_0xad8894(0x48a)](),terminalManager=null,productRuntimeHooks?.[_0xad8894(0x48a)]?.();for(const _0x53c15b of Object[_0xad8894(0x35b)](productRuntimeHooks))delete productRuntimeHooks[_0x53c15b];requestIdHooks?.[_0xad8894(0x48a)]?.();for(const _0x126345 of Object[_0xad8894(0x35b)](requestIdHooks))delete requestIdHooks[_0x126345];if(updateController?.['isInstal'+_0xad8894(0x22f)+'te']?.()){mainLogger?.['info']('before\x20q'+_0xad8894(0x45a)+_0xad8894(0x179)+_0xad8894(0x306)+_0xad8894(0x1a4)+'\x20allowin'+_0xad8894(0x422)+_0xad8894(0x361)+_0xad8894(0x231));return;}if(!gatewayController)return;_0x43c340[_0xad8894(0x2d8)+'efault'](),void stopGatewayBeforeQuit(_0xad8894(0x26f)+_0xad8894(0x187))[_0xad8894(0x1b1)](()=>{const _0x150943=_0xad8894;app[_0x150943(0x242)]();});}),app['on'](_0x869a0f(0x3b1)+'t',()=>{const _0x5df491=_0x869a0f;globalShortcut[_0x5df491(0x317)+'er'](DEVTOOLS_ACCELERATOR);}),app[_0x869a0f(0x239)+'y']()[_0x869a0f(0x484)](boot)['catch'](_0x318531=>{const _0x472f72=_0x869a0f;bootError=_0x318531 instanceof Error?_0x318531[_0x472f72(0x48f)]:String(_0x318531),mainLogger?.[_0x472f72(0x450)](_0x472f72(0x224)+_0x472f72(0x320)+'ot\x20faile'+'d',summarizeError(_0x318531)),console[_0x472f72(0x450)](_0x472f72(0x299)+_0x472f72(0x18e)+_0x472f72(0x309)+_0x472f72(0x1c8)+_0x472f72(0x342)+'in',_0x318531);});
|