@wujie-shell/core 1.0.1 → 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 +12 -3
- package/bin/wujie-shell.mjs +22 -1
- 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 -0
- 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 -0
- 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 -0
- 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 -0
- 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/003_session_message_index.sql +29 -0
- 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 _0x596b63=_0x103c;(function(_0x323ec4,_0x4aa425){const _0x10955a=_0x103c,_0x8dfb86=_0x323ec4();while(!![]){try{const _0xbb6b00=-parseInt(_0x10955a(0x13f))/0x1*(parseInt(_0x10955a(0x377))/0x2)+parseInt(_0x10955a(0x1c7))/0x3+parseInt(_0x10955a(0x3d5))/0x4*(parseInt(_0x10955a(0x321))/0x5)+-parseInt(_0x10955a(0x320))/0x6+parseInt(_0x10955a(0x3af))/0x7*(-parseInt(_0x10955a(0x14b))/0x8)+parseInt(_0x10955a(0x300))/0x9+parseInt(_0x10955a(0x374))/0xa*(-parseInt(_0x10955a(0x237))/0xb);if(_0xbb6b00===_0x4aa425)break;else _0x8dfb86['push'](_0x8dfb86['shift']());}catch(_0xdce231){_0x8dfb86['push'](_0x8dfb86['shift']());}}}(_0x51a8,0xb4eb7));import _0x51eada 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{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{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,_0x596b63(0x1f3)+_0x596b63(0x211)),{app,BrowserWindow,clipboard,dialog,globalShortcut,ipcMain,protocol,shell}=_0x51eada,DEVTOOLS_ACCELERATOR=_0x596b63(0x316)+_0x596b63(0x227)+'+Shift+I',CLAWSPACE_PROTOCOL_SCHEME=_0x596b63(0x30e)+'e',DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x596b63(0x266)+'on',LOCAL_FILE_MIME_TYPES=new Map([['.txt',_0x596b63(0x273)+'in;\x20char'+_0x596b63(0x178)+'8'],[_0x596b63(0x270),'text/mar'+'kdown;\x20c'+_0x596b63(0x352)+_0x596b63(0x290)],['.jpg',_0x596b63(0x181)+'eg'],['.jpeg',_0x596b63(0x181)+'eg'],[_0x596b63(0xdb),_0x596b63(0x168)+'g'],['.gif','image/gi'+'f'],['.bmp',_0x596b63(0x234)+'p'],[_0x596b63(0x1d7),_0x596b63(0x2cb)+'g+xml'],[_0x596b63(0x141),'image/we'+'bp'],[_0x596b63(0x317),_0x596b63(0x1a9)+'4'],[_0x596b63(0x11e),_0x596b63(0x39b)+_0x596b63(0x1ed)],[_0x596b63(0x2f5),_0x596b63(0x23e)+_0x596b63(0xe6)],[_0x596b63(0x1b1),_0x596b63(0x23e)+'matroska'],['.webm',_0x596b63(0x2c1)+'bm'],[_0x596b63(0x232),'audio/mp'+'eg'],[_0x596b63(0x1d0),_0x596b63(0x3b6)+'v'],['.m4a',_0x596b63(0x26e)+'4'],[_0x596b63(0x3cc),'audio/aa'+'c'],[_0x596b63(0x138),_0x596b63(0x243)+'g'],[_0x596b63(0x238),'audio/fl'+'ac']]);protocol[_0x596b63(0x32a)+'SchemesA'+'sPrivile'+_0x596b63(0x336)]([{'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,diagnosticsWriter=null,userEventWriter=null,isQuitting=![],updateController=null;function _0x51a8(){const _0x1f3524=['.md','ile\x20writ',':fork','text/pla','\x20request','folder','resolveS',':save-kd','enClawCh','huDocCon','getState','required','whenRead','answerAs',':diagnos','runtimeI','syncRunt','deleteIm','Unsuppor','huChanne','install','ure','agents:d',':open-cl','reasonin','logs\x20dir','-by-sess','th\x20is\x20re','files:re','startsWi',':rename','agents:w','tf-8','efault','disable','ector:\x20','cancelFe','ted-ever','object','ted-stat','update','enable','getURL','\x20is\x20requ','ndlers','main\x20win','bytes\x20*/','config:c','models:c','find','ell\x20gate','cCliConn','loadFile','ocs','setLogin','ove','saveCust','openPath','wujiecla','d\x20is\x20req','updated','lastInde','ame','darwin','deleteCu','appId','keyDown','er\x20missi',':status','index.mj','iConnect','nabled','ocus','gatewayT','.\x20Run\x20wu','[wujie-s','\x20complet','error','limit','eam','enClawSk','video/we','dist','-port','temperat','ist','setName','pened','ishuRegi',':loading','files:wr','image/sv','ectSessi','product\x20','ey\x20is\x20re','ead','filePath',':complet','writeEve','wBin','skills:s','Updates','uired','getAppPa','models','app:star','Observed','mpletion','shuRegis','et-self-','baseUrl','warn','HEAD','e:shared','pluginId','min','configPa','match','string','ncident','markQuit','sender','openDevT','e:direct','productN','\x20found:\x20','agents:l','uit:\x20sto',':agent-m','senderFr','sharedCo','list','kgroundC','.avi','OPTIONS','dRejecti','ll-close','cwd','ntext','t-messag','canceled','et-setti',':save-te','jie-shel','12894102RqnPJN','showOpen','ctron\x20ma','ell\x20conf','plugin\x20d','writeTex','l\x20prepar','models:s','ig\x20is\x20no','deletedS',':list','history','ing','unmaximi','clawspac','openAtLo','app:syst','tup:get','-shortcu','setImCha','nectorCo',':run-onc','CommandO','.mp4','saveQqMa','migrateP','leted','untimeHa','oad','ectory','way\x20is\x20n',':save-di','6859830fwcEIV','55tsXiFi','illEntry','app:open','d\x20reject','startKdo','renderer','director','nt]','settings','register','byteLeng','deleteOp','bytes','uest-age','ap:get','generate','tabs-com','ustom-mo','omplete','sConnect','applicat','ged','kUserQue','sessionK','ell-cli.','agent\x20up','yed','hell]\x20fa','Update','artifact','fromEntr','patch','devtools','map','hell:ipc','startFei','config:r','uRegistr','record','ite','pathname','sidebar','gateway-','ionEntry','zed','-questio','replace','ings','agents:u','harset=u','tus','before\x20q','all','webConte','recursiv','size','ready','terminal','path','rnal','wujie-sh','selected','url','isPackag','toISOStr','unhandle','unknown','st-direc','range','mail','number','local',':save-qq','teway','lawSkill','GET,\x20HEA','redConte','ai.com/v','set','saveDing','closeToT','m-channe','entExmai','10UiscNs','dispose','maxToken','824726HACLOZ','g_conten','ItemSett','no\x20defau','bytes\x20','ies','and-inst','cron:run','fromWebC','isFinite','nfig','targetDi','tabs:req','window:m','pdate','mport-zi','showSave','reload','onfig','ishu-cha','avatar','les:list','before-q','app:tray','customMo','\x20process','nts','igSnapsh','Entry','getAllWi','tLogs','indexOf','eted','shuDocCl','ile\x20comp','finally','video/qu','-weixin','dAt','tp\x20','isIntege','abort','ite-bina','exec','agentId','ackgroun','ssion','onfigPat','andledIn','startWec','meFilter','ot\x20compl','logs:exp','Terminal',':create','ationSta','29393cOOKZG',':save-fe','Keys','s:list','uncaught','ensureIn','ted','audio/wa','hideBySe','uit','ntime','content-','extensio','boot\x20ele','writeCon','create','agents-u','nt-state','binary\x20f','in;\x20char','chat:str','saveTenc','status','includes','agent\x20id','elConfig','setOpenC','gatewayP','defaultF','.aac','updateOp','https://','chat-str','eam-even','elete','dow\x20load','runtime\x20','ngs','274948GrBuax','logs','ssion:\x20','arch','mand','control','ndows','der/mode','em:resta','-token','failed','level','tate','lose','length,\x20','uri','readSess','entries','ell\x20boot','config',':gateway','yInfo','groups','-status','pdated','quit','.png','ap:upser','dCheck',':runtime','e\x20first.',':save','workspac','-exit','getStatu','-pinned','context','msvideo','agent_id','saveWeco','headers','ated','ls:list','ximize','ProductR','atus','ile\x20read','path\x20is\x20','igWriteH','ocess-go','rated-fi','message','showItem','child-pr','ontent-t','feishu_d','session-','promises','files','reorderP','resize','Custom','filters','les:dele','wechat','quitAndI','isArray','ools','assign','stop','toLowerC','trim','unregist','info','files:li','isMaximi','saveNetE',':delete','pServer','defaults','file\x20rea',':answer-','split','preventD','elSessio','model-id','nstall','enClawCo','apiKey','-data','skills:i','nelSessi','aseMailC','.mov','Config','inimize','und','select\x20f','initiali','model\x20ht','app:info','ls:delet','Invalid\x20','dels','chrome','node:fs/',':choose-','est\x20fail','start',':close','\x20failed:','sync-bun','multiSel','range,\x20a','lt\x20model','resource','length','ces.json','-request','.ogg','ileName','oken','ask-user','alized','onnector','ot\x20start','1jicrvJ','i-window','.webp','inned','ectory\x20o','tup:set','ory','plugin\x20c','requestB','chat','pop','les:hide','120MJoxGB','ession','agent\x20cr','platform','model','-restart','#0000000','max','torConfi','ctory','ettings','restart','red;\x20set','node','board:wr','main','channelI','omModel','ate','eating','setSelec','cancelKd','kdocs','sPath','ssionKey','\x20configu','ernal\x20ur','mChannel','bot-chan','image/pn','config:i','sourcePa','annelCon','te:get-s','ort','tabs-age','ad-binar','ion','ilConnec','tease-ma','enClawMc','ase','ists','logsDir','nput-eve','set=utf-','ources','et-selec','ChannelC','range,\x20c','cron:cre','getVersi','/chat/co','xOf','image/jp','onfig\x20up','Session','l\x20first','nnel','parseInt','text','openclaw','tabs:pos','\x20a\x20provi','type','upsert','ent','em:open-','dev','-session','ap:entry','listImCh','tic','paths','dataDir','provider','tabs:ref','slice','checkFor','ion/json','orConfig','name','skills:u','reate','then','child\x20pr','product-','emoji','started','itialize','command','irectory','getRecen','ready\x20ex','video/mp','setSetti','startBac','agent','app:upda','vate','dated','payload','.mkv','sessions','\x20gone','maxEntri','cron:upd','s:reveal','te:quit-','shell-ru','ccept-ra','ocsCliCo','messages','select\x20d','plugins:','chat:abo','update-c','l\x20reques','e\x20comple','files:se','app:gene','ncent-ex','\x20main\x20bo','ions-lis','1695690WoaVCJ','Dialog','download','json','d\x20failed','cle','runtime:','cron:log','getFeish','.wav','electron','ywhere','lawPlugi','detach','temp','unref','.svg','filter','stream','cron','utf8','stion','maximize','ishu-doc','index.ht','ctStatus','logs:wri','talkDocC','getPath','s:delete','ishuDocC','rver','get','meta','ell:even','tateDir','isDirect','d-state','icktime',':reorder','markConf','window:c','d\x20comple','render-p','preload.','e\x20direct','remove','agents','app_acti','entDocsC','roductCo','saveQqbo','cron:rem','primary','elected-','saveFeis','\x20main\x20wi','isDestro','customNa','eated','t:\x20','loadURL','fig','method','gateway\x20','lConfig','ory-info','agent\x20de','ng;\x20recr','lConnect','now','product','lawMcpSe','ipc','mjs','onnectSt','\x20failed','ted\x20conn','ontext','d-local','open','preferen','ignore','code','title','Not\x20foun','gin','catch','imePlugi','keys','get-conf','\x20CLI\x20wra','key','lized','ndow','-life-cy','rControl','ModelId','fromIpc','push','\x20log','tory','e\x20url','hell:eve','saveKdoc','plugins','content','.mp3','ired','image/bm','figured:','getPinne','4337465WHDaFl','.flac','ipc\x20requ','ector\x20se','oot','choices','h\x0aexec\x20\x22','video/x-','toWeb','api.open','writeSha','nfo','audio/og','openDire','skills','timeoutM','iled\x20to\x20','input','ections','hatChann','nnelEnab','rayOnClo','Exceptio','stration','csCliCon','file\x20wri','ipc_requ','close','pping\x20ga',':downloa','isabled','nnectSes','hidden',':pin','function','creating','versions','dSession','nConfig','send','odels','app:file','ot\x20initi','hide','quired','projectR','sion','producti','t\x20initia','CliConne','-info','ontents','com-chan','t-stream','some','audio/mp','deleteFi'];_0x51a8=function(){return _0x1f3524;};return _0x51a8();}function attachGatewayBroadcastHandlers(_0x29d261){const _0x1ace6f=_0x596b63;for(const _0x1257a0 of[_0x1ace6f(0x34b)+_0x1ace6f(0x3c5),_0x1ace6f(0x34b)+'log',_0x1ace6f(0x3cf)+_0x1ace6f(0x3d0)+'t',_0x1ace6f(0xf9)+_0x1ace6f(0x2ac),_0x1ace6f(0x1b2)+'-invalid'+_0x1ace6f(0xea),'agent-ev'+_0x1ace6f(0x18d),_0x1ace6f(0x3bf)+_0x1ace6f(0xd9),_0x1ace6f(0x13b)+'-questio'+'n']){_0x29d261['on'](_0x1257a0,_0x37712e=>broadcast(_0x1257a0,_0x37712e));}}function ensureSessionSqliteStore(){const _0x342e72=_0x596b63;if(sessionSqliteStore)return sessionSqliteStore;if(!configController)throw new Error(_0x342e72(0x35d)+_0x342e72(0x303)+_0x342e72(0x308)+_0x342e72(0x267)+_0x342e72(0x224));return sessionSqliteStore=createSessionSqliteStore({'stateDir':configController[_0x342e72(0x276)+'tateDir']()}),sessionSqliteStore;}function ensureGeneratedFilesStore(){const _0x301999=_0x596b63;if(generatedFilesStore)return generatedFilesStore;if(!configController)throw new Error(_0x301999(0x35d)+_0x301999(0x303)+_0x301999(0x308)+_0x301999(0x267)+_0x301999(0x224));return generatedFilesStore=createGeneratedFilesStore({'stateDir':configController[_0x301999(0x276)+'tateDir']()}),generatedFilesStore;}async function ensureGatewayControllerStarted(){const _0x4b993d=_0x596b63;if(!gatewayController&&(!shellConfig||!configController))throw new Error(bootError?_0x4b993d(0x35d)+_0x4b993d(0xd3)+_0x4b993d(0x12f)+'\x20'+bootError:_0x4b993d(0x35d)+_0x4b993d(0x2a2)+'way\x20is\x20n'+_0x4b993d(0x261)+_0x4b993d(0x13c));return!gatewayController&&(mainLogger?.[_0x4b993d(0x2df)](_0x4b993d(0x207)+'controll'+_0x4b993d(0x2b3)+_0x4b993d(0x20b)+_0x4b993d(0x15e)),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x4b993d(0x17e)+'on'](),'productRuntimeHooks':productRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),attachGatewayBroadcastHandlers(gatewayController)),await gatewayController[_0x4b993d(0x12d)](),gatewayController;}function getMode(){const _0x16cc09=_0x596b63;return process.env.VITE_DEV_SERVER_URL?_0x16cc09(0x18f):'prod';}function isGatewayNotInitializedError(_0x28e410){const _0x5424c0=_0x596b63;return _0x28e410 instanceof Error&&_0x28e410[_0x5424c0(0xf4)]===_0x5424c0(0x35d)+'ell\x20gate'+_0x5424c0(0x31e)+_0x5424c0(0x261)+_0x5424c0(0x13c);}function revealPathInFolder(_0x175984){const _0x41e536=_0x596b63,_0x3c40de=String(_0x175984||'')[_0x41e536(0x108)]();if(!_0x3c40de)return{'ok':![],'error':_0x41e536(0xf0)+_0x41e536(0x27b)};return shell[_0x41e536(0xf5)+'InFolder'](_0x3c40de),{'ok':!![]};}function resolveProjectRoot(){const _0x5e2bd5=_0x596b63;if(process.env.WUJIE_SHELL_PROJECT_ROOT)return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT);if(app[_0x5e2bd5(0x360)+'ed']&&process['resource'+_0x5e2bd5(0x162)])return join(process[_0x5e2bd5(0x134)+_0x5e2bd5(0x162)],'app.asar');return resolve(process[_0x5e2bd5(0x2f9)]());}function getLocalFileMimeType(_0x49d76a){const _0x516384=_0x596b63;return LOCAL_FILE_MIME_TYPES[_0x516384(0x1e7)](_0x49d76a[_0x516384(0x198)](_0x49d76a[_0x516384(0x2ad)+_0x516384(0x180)]('.'))[_0x516384(0x107)+'ase']())||_0x516384(0x335)+'ion/octe'+_0x516384(0x26c);}function parseSingleRangeHeader(_0x4ecc22,_0x534421){const _0x1f684b=_0x596b63,_0x3d8945=/^bytes=(\d*)-(\d*)$/i[_0x1f684b(0x3a2)](_0x4ecc22['trim']());if(!_0x3d8945)return null;const [,_0x32a0b1,_0x42be94]=_0x3d8945;if(!_0x32a0b1&&!_0x42be94)return null;if(!_0x32a0b1){const _0x566412=Number[_0x1f684b(0x186)](_0x42be94,0xa);if(!Number['isFinite'](_0x566412)||_0x566412<=0x0)return null;const _0xeabee8=Math[_0x1f684b(0x152)](_0x534421-_0x566412,0x0);return{'start':_0xeabee8,'end':_0x534421-0x1};}const _0x2c3c22=Number['parseInt'](_0x32a0b1,0xa);if(!Number['isFinite'](_0x2c3c22)||_0x2c3c22<0x0||_0x2c3c22>=_0x534421)return null;const _0x4a9d12=_0x42be94?Number['parseInt'](_0x42be94,0xa):_0x534421-0x1;if(!Number[_0x1f684b(0x380)](_0x4a9d12)||_0x4a9d12<_0x2c3c22)return null;return{'start':_0x2c3c22,'end':Math[_0x1f684b(0x2e3)](_0x4a9d12,_0x534421-0x1)};}function decodeClawspacePath(_0x557c2b){const _0x276507=_0x596b63;try{const _0x1caeb0=new URL(_0x557c2b);if(_0x1caeb0['protocol']!==CLAWSPACE_PROTOCOL_SCHEME+':')return null;if(_0x1caeb0['hostname']!==_0x276507(0x368))return null;const _0x36eabc=decodeURIComponent(_0x1caeb0[_0x276507(0x349)]);if(!_0x36eabc)return null;if(/^\/[A-Za-z]:\//['test'](_0x36eabc))return _0x36eabc[_0x276507(0x198)](0x1);return _0x36eabc;}catch{return null;}}function createClawspaceHeaders(_0x2b7a31={}){const _0x4bb4fc=_0x596b63;return new Headers({'access-control-allow-origin':'*','access-control-allow-methods':_0x4bb4fc(0x36c)+'D,\x20OPTIO'+'NS','access-control-allow-headers':_0x4bb4fc(0x17c)+_0x4bb4fc(0xf7)+'ype','access-control-expose-headers':_0x4bb4fc(0x3ba)+_0x4bb4fc(0xcf)+'content-'+_0x4bb4fc(0x132)+_0x4bb4fc(0x1b9)+'nges',..._0x2b7a31});}function createLocalFileResponse(_0x2fe15e,_0xbb23c0){const _0x3ec95a=_0x596b63,_0x565adb=statSync(_0xbb23c0);if(!_0x565adb['isFile']())return new Response(_0x3ec95a(0x21c)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x3ec95a(0x3c2)+_0x3ec95a(0x178)+'8'})});const _0x561843=getLocalFileMimeType(_0xbb23c0),_0x4a458c=createClawspaceHeaders({'content-type':_0x561843,'accept-ranges':_0x3ec95a(0x32d),'cache-control':'no-store'});if(_0x2fe15e[_0x3ec95a(0x206)]===_0x3ec95a(0x2e0))return _0x4a458c['set'](_0x3ec95a(0x3ba)+_0x3ec95a(0x135),String(_0x565adb[_0x3ec95a(0x358)])),new Response(null,{'status':0xc8,'headers':_0x4a458c});const _0x37cf24=_0x2fe15e[_0x3ec95a(0xe9)]['get'](_0x3ec95a(0x365));if(!_0x37cf24)return _0x4a458c[_0x3ec95a(0x36f)](_0x3ec95a(0x3ba)+_0x3ec95a(0x135),String(_0x565adb['size'])),new Response(Readable[_0x3ec95a(0x23f)](createReadStream(_0xbb23c0)),{'status':0xc8,'headers':_0x4a458c});const _0x4436ce=parseSingleRangeHeader(_0x37cf24,_0x565adb['size']);if(!_0x4436ce)return new Response(null,{'status':0x1a0,'headers':createClawspaceHeaders({...Object[_0x3ec95a(0x33f)+_0x3ec95a(0x37c)](_0x4a458c[_0x3ec95a(0xd2)]()),'content-range':_0x3ec95a(0x29e)+_0x565adb[_0x3ec95a(0x358)]})});const {start:_0x16e924,end:_0x3b3ff9}=_0x4436ce,_0x585ef4=_0x3b3ff9-_0x16e924+0x1,_0x5c62f0=new Headers(_0x4a458c);return _0x5c62f0[_0x3ec95a(0x36f)]('content-'+_0x3ec95a(0x135),String(_0x585ef4)),_0x5c62f0[_0x3ec95a(0x36f)]('content-'+_0x3ec95a(0x365),_0x3ec95a(0x37b)+_0x16e924+'-'+_0x3b3ff9+'/'+_0x565adb[_0x3ec95a(0x358)]),new Response(Readable['toWeb'](createReadStream(_0xbb23c0,{'start':_0x16e924,'end':_0x3b3ff9})),{'status':0xce,'headers':_0x5c62f0});}function _0x103c(_0x24edb5,_0x1e8017){_0x24edb5=_0x24edb5-0xc9;const _0x51a860=_0x51a8();let _0x103c36=_0x51a860[_0x24edb5];return _0x103c36;}function installClawspaceProtocolHandler(){protocol['handle'](CLAWSPACE_PROTOCOL_SCHEME,_0x4a36ac=>{const _0x98cf64=_0x103c;if(_0x4a36ac[_0x98cf64(0x206)]===_0x98cf64(0x2f6))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x41d405=decodeClawspacePath(_0x4a36ac[_0x98cf64(0x35f)]);if(!_0x41d405)return new Response(_0x98cf64(0x127)+'clawspac'+_0x98cf64(0x22d),{'status':0x190,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x98cf64(0x3c2)+'set=utf-'+'8'})});if(!existsSync(_0x41d405))return new Response(_0x98cf64(0x21c)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x98cf64(0x3c2)+_0x98cf64(0x178)+'8'})});return createLocalFileResponse(_0x4a36ac,_0x41d405);});}function broadcast(_0x53ad91,_0x3f690d){const _0x102972=_0x596b63;DEBUG_STDOUT&&console[_0x102972(0x10a)](_0x102972(0x2bb)+_0x102972(0x22e)+_0x102972(0x328),_0x53ad91,summarizePayload(_0x3f690d,{'maxDepth':0x2}));for(const _0x739716 of BrowserWindow[_0x102972(0x394)+_0x102972(0x3db)]()){!_0x739716[_0x102972(0x356)+_0x102972(0x391)][_0x102972(0x200)+_0x102972(0x33b)]()&&_0x739716[_0x102972(0x356)+_0x102972(0x391)][_0x102972(0x25e)](_0x102972(0x35d)+_0x102972(0x1e9)+'t',{'name':_0x53ad91,'payload':_0x3f690d});}}async function loadProductRuntime(){const _0x2f8084=_0x596b63,_0xf04f67=[join(shellConfig[_0x2f8084(0x264)+_0x2f8084(0x23b)],_0x2f8084(0x1b8)+_0x2f8084(0x3b9),'index.mj'+'s'),join(app[_0x2f8084(0x2d7)+'th'](),_0x2f8084(0x1b8)+_0x2f8084(0x3b9),_0x2f8084(0x2b5)+'s')],_0x3ea7e1=_0xf04f67['find'](_0x378e4d=>existsSync(_0x378e4d));if(!_0x3ea7e1)return mainLogger?.['info'](_0x2f8084(0x2cd)+_0x2f8084(0x3d3)+_0x2f8084(0x3bb)+'n\x20not\x20fo'+_0x2f8084(0x121),{'runtimeCandidates':_0xf04f67}),{};try{const _0x1ed9dd=await import(pathToFileURL(_0x3ea7e1)['href']);return mainLogger?.['info'](_0x2f8084(0x2cd)+_0x2f8084(0x3d3)+'extensio'+'n\x20loaded',{'runtimePath':_0x3ea7e1}),_0x1ed9dd;}catch(_0x3d3ecc){mainLogger?.[_0x2f8084(0x2bd)](_0x2f8084(0x2cd)+'runtime\x20'+'extensio'+'n\x20failed'+'\x20to\x20load',{'runtimePath':_0x3ea7e1,'error':summarizeError(_0x3d3ecc)});throw _0x3d3ecc;}}function openDevToolsForActiveContext(){const _0x3e5584=_0x596b63,_0x4daa80=BrowserWindow['getFocus'+'edWindow']()||mainWindow;if(!_0x4daa80||_0x4daa80[_0x3e5584(0x200)+_0x3e5584(0x33b)]())return{'ok':![]};return _0x4daa80['webConte'+_0x3e5584(0x391)][_0x3e5584(0x2ea)+_0x3e5584(0x104)]({'mode':_0x3e5584(0x1d4)}),_0x4daa80[_0x3e5584(0x356)+_0x3e5584(0x391)][_0x3e5584(0x25e)](_0x3e5584(0x35d)+_0x3e5584(0x1e9)+'t',{'name':_0x3e5584(0x341)+_0x3e5584(0x312)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0x124139=_0x596b63;globalShortcut[_0x124139(0x109)+'er'](DEVTOOLS_ACCELERATOR);const _0xf437e7=globalShortcut[_0x124139(0x32a)](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0xf437e7&&console[_0x124139(0x2df)](_0x124139(0x2bb)+_0x124139(0x33c)+'iled\x20to\x20'+_0x124139(0x32a)+'\x20shortcu'+_0x124139(0x203)+DEVTOOLS_ACCELERATOR);}async function getRuntimeResourceStatus(){const _0xd339e0=_0x596b63;try{const _0x7bfdf5=await loadRuntimeInfo(shellConfig['projectR'+_0xd339e0(0x23b)]),_0x4cad5f=_0x7bfdf5['manifest']||{};return{'ok':!![],'runtimeRoot':_0x7bfdf5['runtimeR'+_0xd339e0(0x23b)],'openclawVersion':_0x7bfdf5['openclaw'+'Version'],'generatedAt':_0x4cad5f[_0xd339e0(0x330)+_0xd339e0(0x39d)]||null,'pluginCount':Array[_0xd339e0(0x103)](_0x4cad5f['plugins'])?_0x4cad5f[_0xd339e0(0x230)][_0xd339e0(0x135)]:0x0,'plugins':Array['isArray'](_0x4cad5f[_0xd339e0(0x230)])?_0x4cad5f[_0xd339e0(0x230)]:[],'agents':_0x4cad5f[_0xd339e0(0x1f6)]||null,'skills':_0x4cad5f['skills']||null,'wrapper':_0x4cad5f[_0xd339e0(0x2aa)+_0xd339e0(0x2d3)]||null,'product':_0x4cad5f[_0xd339e0(0x20e)]||null};}catch(_0x5af25a){return{'ok':![],'runtimeRoot':resolveRuntimeRoot(shellConfig?.[_0xd339e0(0x264)+_0xd339e0(0x23b)]||resolveProjectRoot()),'error':_0x5af25a instanceof Error?_0x5af25a[_0xd339e0(0xf4)]:String(_0x5af25a)};}}async function createWindow(){const _0x1e5bed=_0x596b63,_0x180ed7=process.env.VITE_DEV_SERVER_URL||join(shellConfig['projectR'+_0x1e5bed(0x23b)],_0x1e5bed(0x2c2),_0x1e5bed(0x1df)+'ml'),_0x2afb65=process[_0x1e5bed(0x14e)]===_0x1e5bed(0x2af);mainLogger?.['info'](_0x1e5bed(0x25a)+_0x1e5bed(0x1ff)+_0x1e5bed(0x225),{'rendererUrl':_0x180ed7,'mode':getMode()}),mainWindow=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig['productN'+'ame'],'backgroundColor':_0x2afb65?_0x1e5bed(0x151)+'0':'#f8fafc','titleBarStyle':_0x2afb65?_0x1e5bed(0x257):'default',..._0x2afb65?{'titleBarOverlay':!![],'trafficLightPosition':{'x':0x10,'y':0xc}}:{},..._0x2afb65?{'vibrancy':_0x1e5bed(0x34a)}:{},'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![]}}),mainWindow['webConte'+'nts']['on']('before-i'+_0x1e5bed(0x177)+'nt',_0x7d12cb=>{const _0x31e073=_0x1e5bed,_0x29b8c5=_0x7d12cb[_0x31e073(0x248)];if(!_0x29b8c5||_0x29b8c5[_0x31e073(0x18b)]!==_0x31e073(0x2b2))return;const _0x4c8fec=String(_0x29b8c5[_0x31e073(0x223)]||'')[_0x31e073(0x107)+'ase'](),_0x4e1331=_0x4c8fec==='r',_0x1ed0aa=process[_0x31e073(0x14e)]===_0x31e073(0x2af)?_0x29b8c5[_0x31e073(0x1e8)]===!![]:_0x29b8c5[_0x31e073(0x3da)]===!![];if(!_0x4e1331||!_0x1ed0aa)return;_0x7d12cb[_0x31e073(0x114)+'efault'](),broadcast(_0x31e073(0x331)+_0x31e073(0x3d9),{'type':'navigati'+'on','action':_0x31e073(0x388)});}),mainWindow['on']('focus',()=>{const _0x47b5f4=_0x1e5bed;updateController?.[_0x47b5f4(0x147)+'ackgroun'+_0x47b5f4(0xdd)]('window_f'+_0x47b5f4(0x2b8));});const _0xbd4d91=process.env.VITE_DEV_SERVER_URL;_0xbd4d91?(await mainWindow[_0x1e5bed(0x204)](_0xbd4d91),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&mainWindow[_0x1e5bed(0x356)+'nts'][_0x1e5bed(0x2ea)+_0x1e5bed(0x104)]({'mode':'detach'})):await mainWindow[_0x1e5bed(0x2a4)](join(shellConfig[_0x1e5bed(0x264)+_0x1e5bed(0x23b)],_0x1e5bed(0x2c2),_0x1e5bed(0x1df)+'ml')),mainLogger?.[_0x1e5bed(0x10a)](_0x1e5bed(0x29d)+_0x1e5bed(0x3d2)+'ed',{'rendererUrl':_0x180ed7,'mode':getMode()});}async function installIpcHandlers(){const _0x2a8fe7=_0x596b63,_0x2e2fa8=(_0x51d2de,_0x20d04f)=>{ipcMain['handle'](_0x51d2de,async(_0xfb1f8a,_0x2dbe85)=>{const _0x3a5664=_0x103c,_0x4693aa=Date[_0x3a5664(0x20d)](),_0x1051f2=_0xfb1f8a[_0x3a5664(0x2f1)+_0x3a5664(0x2ae)]?.[_0x3a5664(0x35f)]||_0xfb1f8a[_0x3a5664(0x2e9)][_0x3a5664(0x29a)]();ipcLogger?.[_0x3a5664(0x10a)](_0x3a5664(0x239)+'est\x20star'+'ted',{'channel':_0x51d2de,'senderUrl':_0x1051f2,'payload':summarizePayload(_0x2dbe85)});DEBUG_STDOUT&&console[_0x3a5664(0x10a)](_0x3a5664(0x2bb)+'hell:ipc'+']',_0x51d2de,_0x3a5664(0x1a3),summarizePayload(_0x2dbe85));try{let _0x69ba74;try{_0x69ba74=await _0x20d04f(_0xfb1f8a,_0x2dbe85);}catch(_0x503930){if(!isGatewayNotInitializedError(_0x503930))throw _0x503930;await ensureGatewayControllerStarted(),_0x69ba74=await _0x20d04f(_0xfb1f8a,_0x2dbe85);}const _0x48c093=Date[_0x3a5664(0x20d)]()-_0x4693aa;return ipcLogger?.[_0x3a5664(0x10a)](_0x3a5664(0x239)+'est\x20comp'+_0x3a5664(0x31a),{'channel':_0x51d2de,'durationMs':_0x48c093,'result':summarizePayload(_0x69ba74,{'maxDepth':0x2})}),await userEventWriter?.[_0x3a5664(0x229)]({'channel':_0x51d2de,'payload':_0x2dbe85,'result':_0x69ba74,'durationMs':_0x48c093,'status':'succeede'+'d'}),DEBUG_STDOUT&&console[_0x3a5664(0x10a)](_0x3a5664(0x2bb)+_0x3a5664(0x343)+']',_0x51d2de,'complete'+'d',summarizePayload(_0x69ba74,{'maxDepth':0x2})),_0x69ba74;}catch(_0x42f228){const _0x51d010=Date['now']()-_0x4693aa;ipcLogger?.['error']('ipc\x20requ'+_0x3a5664(0x12c)+'ed',{'channel':_0x51d2de,'durationMs':_0x51d010,'error':summarizeError(_0x42f228)}),await userEventWriter?.[_0x3a5664(0x229)]({'channel':_0x51d2de,'payload':_0x2dbe85,'error':_0x42f228,'durationMs':_0x51d010,'status':_0x3a5664(0xcb)}),await diagnosticsWriter?.['captureI'+_0x3a5664(0x2e7)](diagnosticEventFromError(_0x42f228,{'category':_0x3a5664(0x210),'event':_0x3a5664(0x251)+'est_fail'+'ed','message':'IPC\x20requ'+'est\x20fail'+'ed:\x20'+_0x51d2de,'durationMs':_0x51d010,'meta':{'channel':_0x51d2de,'senderUrl':_0x1051f2,'payload':summarizePayload(_0x2dbe85)}}));DEBUG_STDOUT&&console[_0x3a5664(0x2bd)](_0x3a5664(0x2bb)+_0x3a5664(0x343)+']',_0x51d2de,_0x3a5664(0xcb),summarizeError(_0x42f228));throw _0x42f228;}});},_0x547138=()=>{const _0x3dd28c=_0x103c;if(!gatewayController)throw new Error(bootError?_0x3dd28c(0x35d)+_0x3dd28c(0xd3)+_0x3dd28c(0x12f)+'\x20'+bootError:'wujie-sh'+_0x3dd28c(0x2a2)+_0x3dd28c(0x31e)+'ot\x20initi'+'alized');return gatewayController;},_0x490010=()=>{const _0x4f0388=_0x103c;if(typeof productRuntime[_0x4f0388(0x32a)+_0x4f0388(0xed)+_0x4f0388(0x31b)+_0x4f0388(0x29c)]!==_0x4f0388(0x259))return;const _0x35b186=productRuntime[_0x4f0388(0x32a)+_0x4f0388(0xed)+_0x4f0388(0x31b)+_0x4f0388(0x29c)]({'app':app,'BrowserWindow':BrowserWindow,'broadcast':broadcast,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'dialog':dialog,'exportLogsArchive':exportLogsArchive,'filesLogger':filesLogger,'getRuntimeSpawnContext':getRuntimeSpawnContext,'handle':_0x2e2fa8,'mainLogger':mainLogger,'mainWindow':mainWindow,'rendererLogger':rendererLogger,'requireGateway':_0x547138,'sep':sep,'openClawConfigHandlers':{'update':(..._0xd81c74)=>configController['updateOp'+'enClawCo'+_0x4f0388(0x381)](..._0xd81c74),'setPluginConfig':_0x5c3d8a=>configController['setOpenC'+_0x4f0388(0x1d3)+_0x4f0388(0x25d)](_0x5c3d8a),'setChannelConfig':_0x31cc6e=>configController['setOpenC'+'lawChann'+_0x4f0388(0x3c8)](_0x31cc6e),'deleteChannelConfig':_0x522014=>configController[_0x4f0388(0x32c)+_0x4f0388(0x278)+_0x4f0388(0x16b)+'fig'](_0x522014),'setSkillEntry':_0x5aaceb=>configController[_0x4f0388(0x3c9)+_0x4f0388(0x36b)+_0x4f0388(0x393)](_0x5aaceb),'deleteSkillEntry':_0x136a79=>configController[_0x4f0388(0x32c)+_0x4f0388(0x2c0)+_0x4f0388(0x322)](_0x136a79),'setMcpServer':_0x34664a=>configController['setOpenC'+_0x4f0388(0x20f)+'rver'](_0x34664a),'deleteMcpServer':_0x12a837=>configController[_0x4f0388(0x32c)+_0x4f0388(0x173)+_0x4f0388(0x10f)](_0x12a837)},'shell':shell,'shellConfig':shellConfig,'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand,'summarizePayload':summarizePayload,'summarizeText':summarizeText,'toHomePath':toHomePath,'writeMutableConfig':_0x183794})||{};Object[_0x4f0388(0x105)](productRuntimeHooks,_0x35b186);};_0x2e2fa8(_0x2a8fe7(0x125),async()=>({'name':shellConfig[_0x2a8fe7(0x2ec)+_0x2a8fe7(0x2ae)],'version':app['getVersi'+'on'](),'appId':shellConfig[_0x2a8fe7(0x2b1)],'dataDir':shellConfig[_0x2a8fe7(0x195)]})),_0x2e2fa8(_0x2a8fe7(0x323)+'-url',async(_0x1f5dd5,_0x31629a)=>{const _0x5726fc=_0x2a8fe7,_0x53c33e=typeof _0x31629a==='string'?_0x31629a:'';if(!_0x53c33e)return{'ok':![]};return filesLogger?.[_0x5726fc(0x10a)]('open\x20ext'+_0x5726fc(0x165)+_0x5726fc(0x1c0)+'ted',{'url':summarizeText(_0x53c33e,0xa0)}),await shell['openExte'+_0x5726fc(0x35c)](_0x53c33e),{'ok':!![]};});const _0x183794=async(_0x4da656,_0x54a282)=>{const _0x42f493=_0x2a8fe7;return configController[_0x42f493(0x1ef)+_0x42f493(0xf1)+_0x42f493(0x3a7)+'ternally'](),await configController[_0x42f493(0x3bd)+_0x42f493(0x205)](_0x4da656,_0x54a282),{'ok':!![]};};_0x490010(),_0x2e2fa8('skills:i'+_0x2a8fe7(0x386)+'p',async(_0x30d74a,_0xf0bb01)=>importMarketSkillZip({'payload':_0xf0bb01,'importSkillZip':_0x3614f4=>importSkillZip({..._0x3614f4,'app':app,'dialog':dialog,'dialogWindow':BrowserWindow['fromWebC'+'ontents'](_0x30d74a[_0x2a8fe7(0x2e9)])||mainWindow,'configController':configController}),'configController':configController})),_0x2e2fa8(_0x2a8fe7(0x19d)+_0x2a8fe7(0x385),(_0x3b156a,_0x4255c3)=>updateManagedSkillConfig({'payload':_0x4255c3,'configController':configController})),_0x2e2fa8('skills:d'+_0x2a8fe7(0x3d1),(_0x248229,_0x4dbf61)=>deleteMarketSkillRegistryEntry({'payload':_0x4dbf61,'deleteManagedSkill':_0x592e4b=>deleteManagedSkill({..._0x592e4b,'gateway':_0x547138(),'configController':configController}),'configController':configController}));const _0x23cd4f=ensureGeneratedFilesStore();_0x2e2fa8(_0x2a8fe7(0x1c3)+_0x2a8fe7(0xf3)+_0x2a8fe7(0x38c),async()=>_0x23cd4f[_0x2a8fe7(0x2f3)]()),_0x2e2fa8('app:gene'+'rated-fi'+'les:upse'+'rt',async(_0x14c59c,_0x3e5160={})=>_0x23cd4f[_0x2a8fe7(0x18c)](_0x3e5160)),_0x2e2fa8('app:gene'+'rated-fi'+'les:hide',async(_0x2447d7,_0x3deb88)=>_0x23cd4f[_0x2a8fe7(0x262)](String(_0x3deb88||''))),_0x2e2fa8('app:gene'+_0x2a8fe7(0xf3)+_0x2a8fe7(0x14a)+_0x2a8fe7(0x28a)+_0x2a8fe7(0x170),async(_0x2bb2e3,_0x2d5638)=>_0x23cd4f[_0x2a8fe7(0x3b7)+_0x2a8fe7(0x3a5)](String(_0x2d5638||''))),_0x2e2fa8('app:gene'+_0x2a8fe7(0xf3)+'les:dele'+'te',async(_0x1ad510,_0x3e02fa)=>_0x23cd4f[_0x2a8fe7(0x26f)+'le'](String(_0x3e02fa||''))),_0x2e2fa8('app:gene'+_0x2a8fe7(0xf3)+_0x2a8fe7(0x100)+_0x2a8fe7(0x297)+'e',async(_0x146fc3,_0x30b82e=[])=>_0x23cd4f['deletedS'+'tate'](_0x30b82e)),_0x2e2fa8(_0x2a8fe7(0x1c3)+'rated-fi'+'les:reve'+'al',async(_0x161f77,_0x44c1e5)=>revealPathInFolder(_0x44c1e5)),_0x2e2fa8('artifact'+_0x2a8fe7(0x3b2),async()=>_0x23cd4f[_0x2a8fe7(0x2f3)]()),_0x2e2fa8(_0x2a8fe7(0x33e)+'s:upsert',async(_0x128553,_0x608cb9={})=>_0x23cd4f[_0x2a8fe7(0x18c)](_0x608cb9)),_0x2e2fa8(_0x2a8fe7(0x33e)+'s:hide',async(_0x3e5295,_0x43a725={})=>_0x23cd4f[_0x2a8fe7(0x262)](String(_0x43a725['id']||_0x43a725||''))),_0x2e2fa8(_0x2a8fe7(0x33e)+_0x2a8fe7(0x1e4),async(_0x239ebe,_0x1473a3={})=>_0x23cd4f[_0x2a8fe7(0x26f)+'le'](String(_0x1473a3['id']||_0x1473a3||''))),_0x2e2fa8(_0x2a8fe7(0x33e)+_0x2a8fe7(0x1e4)+_0x2a8fe7(0x1ec),async(_0x1c1b8c,_0x18a842={})=>_0x23cd4f[_0x2a8fe7(0x309)+'tate'](_0x18a842[_0x2a8fe7(0x194)]||_0x18a842)),_0x2e2fa8(_0x2a8fe7(0x33e)+_0x2a8fe7(0x1b6),async(_0x50b640,_0x2981d3={})=>{const _0x273b93=_0x2a8fe7,_0x5bcd05=typeof _0x2981d3===_0x273b93(0x2e6)?_0x2981d3:_0x2981d3[_0x273b93(0x35b)]||_0x2981d3[_0x273b93(0xd0)];return revealPathInFolder(_0x5bcd05);});const _0x587ebf=createPreferencesStore({'stateDir':configController[_0x2a8fe7(0x276)+_0x2a8fe7(0x1ea)](),'storeFile':_0x2a8fe7(0x1a1)+_0x2a8fe7(0x218)+_0x2a8fe7(0x136)});_0x2e2fa8(_0x2a8fe7(0x38e)+':get-clo'+'se',async()=>_0x587ebf[_0x2a8fe7(0x1e7)](_0x2a8fe7(0x371)+_0x2a8fe7(0x24c)+'se',![])),_0x2e2fa8(_0x2a8fe7(0x38e)+':set-clo'+'se',async(_0x2e86b4,_0xb4aed2)=>_0x587ebf['set'](_0x2a8fe7(0x371)+'rayOnClo'+'se',_0xb4aed2===!![])),registerFileHandlers({'app':app,'filesLogger':filesLogger,'handle':_0x2e2fa8,'sep':sep,'stateDir':configController[_0x2a8fe7(0x276)+_0x2a8fe7(0x1ea)](),'toHomePath':toHomePath}),registerProductLogHandlers({'app':app,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'exportLogsArchive':exportLogsArchive,'handle':_0x2e2fa8,'mainLogger':mainLogger,'rendererLogger':rendererLogger,'summarizeText':summarizeText,'toHomePath':toHomePath}),registerModelHandlers({'handle':_0x2e2fa8,'modelHandlers':{'saveCustomModel':_0x59fe04=>_0x547138()[_0x2a8fe7(0x2d8)][_0x2a8fe7(0x2a8)+_0x2a8fe7(0x15c)](_0x59fe04),'deleteCustomModel':_0x57d9cd=>_0x547138()[_0x2a8fe7(0x2d8)][_0x2a8fe7(0x2b0)+'stomMode'+'l'](_0x57d9cd)}}),connectorController=createConnectorController({'shellConfig':shellConfig,'configController':configController,'broadcast':broadcast,'shell':shell,'getRuntimeSpawnContext':getRuntimeSpawnContext,'openClawConfigHandlers':{'update':(..._0x3c1e41)=>configController[_0x2a8fe7(0x3cd)+_0x2a8fe7(0x118)+_0x2a8fe7(0x381)](..._0x3c1e41),'setPluginConfig':_0x1749a6=>configController['setOpenC'+_0x2a8fe7(0x1d3)+'nConfig'](_0x1749a6),'setChannelConfig':_0x144dee=>configController[_0x2a8fe7(0x3c9)+'lawChann'+'elConfig'](_0x144dee),'deleteChannelConfig':_0x277749=>configController[_0x2a8fe7(0x32c)+_0x2a8fe7(0x278)+_0x2a8fe7(0x16b)+_0x2a8fe7(0x205)](_0x277749),'setSkillEntry':_0x275edc=>configController[_0x2a8fe7(0x3c9)+_0x2a8fe7(0x36b)+'Entry'](_0x275edc),'deleteSkillEntry':_0x35b72a=>configController['deleteOp'+_0x2a8fe7(0x2c0)+_0x2a8fe7(0x322)](_0x35b72a),'setMcpServer':_0x243445=>configController[_0x2a8fe7(0x3c9)+_0x2a8fe7(0x20f)+_0x2a8fe7(0x1e6)](_0x243445),'deleteMcpServer':_0x52179e=>configController[_0x2a8fe7(0x32c)+_0x2a8fe7(0x173)+_0x2a8fe7(0x10f)](_0x52179e)},'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand}),_0x2e2fa8('config:i'+'m-channe'+_0x2a8fe7(0xeb),async()=>connectorController[_0x2a8fe7(0x192)+_0x2a8fe7(0x16b)+'figs']()),_0x2e2fa8(_0x2a8fe7(0x169)+_0x2a8fe7(0x372)+_0x2a8fe7(0x126)+'e',async(_0x94a6e0,_0x3b03d4={})=>connectorController[_0x2a8fe7(0x281)+_0x2a8fe7(0x17b)+'onfig'](_0x3b03d4)),_0x2e2fa8(_0x2a8fe7(0x169)+_0x2a8fe7(0x372)+'ls:set-e'+_0x2a8fe7(0x2b7),async(_0x3ad0d6,_0x492ee3={})=>connectorController[_0x2a8fe7(0x313)+_0x2a8fe7(0x24b)+'led'](_0x492ee3)),_0x2e2fa8(_0x2a8fe7(0x29f)+'onnector'+_0x2a8fe7(0xe0),async(_0x3a05e7,_0x353ff3={})=>{const _0x171948=_0x2a8fe7,_0x507519=String(_0x353ff3['channelI'+'d']||_0x353ff3[_0x171948(0x1b0)]?.[_0x171948(0x15b)+'d']||_0x353ff3[_0x171948(0x1b0)]?.['id']||'');if(!_0x507519)throw new Error(_0x171948(0x15b)+_0x171948(0x2ab)+_0x171948(0x2d6));const _0x2fd416=_0x353ff3[_0x171948(0x1b0)]||_0x353ff3,_0x1e35ae={'feishu':connectorController[_0x171948(0x1fe)+'huChanne'+_0x171948(0x208)],'qqbot':connectorController['saveQqbo'+'tChannel'+'Config'],'wecom':connectorController[_0x171948(0xe8)+_0x171948(0x166)+_0x171948(0x11f)],'qq_mail':connectorController[_0x171948(0x318)+_0x171948(0x171)+_0x171948(0x153)+'g'],'netease_mail':connectorController[_0x171948(0x10d)+_0x171948(0x11d)+'onnector'+_0x171948(0x11f)],'tencent_exmail':connectorController[_0x171948(0x3c4)+_0x171948(0x373)+_0x171948(0x20c)+_0x171948(0x19b)],'feishu_doc':connectorController[_0x171948(0x1fe)+_0x171948(0x279)+_0x171948(0x314)+_0x171948(0x381)],'tencent_docs':connectorController['saveTenc'+_0x171948(0x1f8)+_0x171948(0x13d)+'Config'],'kdocs':connectorController[_0x171948(0x22f)+'sConnect'+_0x171948(0x19b)],'dingtalk_doc':connectorController[_0x171948(0x370)+_0x171948(0x1e2)+_0x171948(0x13d)+'Config']},_0x3bcd3e=_0x1e35ae[_0x507519];if(!_0x3bcd3e)throw new Error(_0x171948(0x282)+_0x171948(0x214)+_0x171948(0x293)+_0x507519);return _0x3bcd3e(_0x2fd416);}),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x3b0)+_0x2a8fe7(0x38a)+_0x2a8fe7(0x185),async(_0x18e241,_0xf30c22={})=>connectorController['saveFeis'+_0x2a8fe7(0x283)+_0x2a8fe7(0x208)](_0xf30c22)),_0x2e2fa8('config:c'+_0x2a8fe7(0x13d)+_0x2a8fe7(0x369)+_0x2a8fe7(0x167)+'nel',async(_0xc1f737,_0x53139d={})=>connectorController[_0x2a8fe7(0x1fa)+'tChannel'+_0x2a8fe7(0x11f)](_0x53139d)),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+':save-we'+_0x2a8fe7(0x26b)+'nel',async(_0x42fb9d,_0x3ad633={})=>connectorController[_0x2a8fe7(0xe8)+_0x2a8fe7(0x166)+_0x2a8fe7(0x11f)](_0x3ad633)),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x369)+'-mail',async(_0x1edbc0,_0x573858={})=>connectorController[_0x2a8fe7(0x318)+_0x2a8fe7(0x171)+_0x2a8fe7(0x153)+'g'](_0x573858)),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+':save-ne'+_0x2a8fe7(0x172)+'il',async(_0x58cc05,_0x44e77f={})=>connectorController[_0x2a8fe7(0x10d)+_0x2a8fe7(0x11d)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x11f)](_0x44e77f)),_0x2e2fa8('config:c'+_0x2a8fe7(0x13d)+_0x2a8fe7(0x2fe)+_0x2a8fe7(0x1c4)+_0x2a8fe7(0x366),async(_0xc4e0b7,_0x535162={})=>connectorController['saveTenc'+_0x2a8fe7(0x373)+_0x2a8fe7(0x20c)+'orConfig'](_0x535162)),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x3b0)+_0x2a8fe7(0x1de),async(_0x125aa5,_0x3a5d08={})=>connectorController[_0x2a8fe7(0x1fe)+'huDocCon'+_0x2a8fe7(0x314)+'nfig'](_0x3a5d08)),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x2fe)+'ncent-do'+'cs',async(_0x583cb9,_0x34bdec={})=>connectorController[_0x2a8fe7(0x3c4)+'entDocsC'+_0x2a8fe7(0x13d)+'Config'](_0x34bdec)),_0x2e2fa8('config:c'+_0x2a8fe7(0x13d)+_0x2a8fe7(0x277)+_0x2a8fe7(0x2a5),async(_0x888464,_0x4d9d95={})=>connectorController[_0x2a8fe7(0x22f)+_0x2a8fe7(0x334)+_0x2a8fe7(0x19b)](_0x4d9d95)),_0x2e2fa8('config:c'+_0x2a8fe7(0x13d)+_0x2a8fe7(0x31f)+'ngtalk-d'+'oc',async(_0x399065,_0x52761c={})=>connectorController[_0x2a8fe7(0x370)+_0x2a8fe7(0x1e2)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x11f)](_0x52761c)),_0x2e2fa8(_0x2a8fe7(0x29f)+'onnector'+_0x2a8fe7(0x190)+':start',async(_0x531cc7,_0xb0a6b={})=>{const _0x5f4246=_0x2a8fe7,_0x963132=String(_0xb0a6b[_0x5f4246(0x15b)+'d']||_0xb0a6b['type']||'');if(_0x963132===_0x5f4246(0x161))return connectorController[_0x5f4246(0x325)+_0x5f4246(0x24f)+'nectSess'+_0x5f4246(0x170)]();if(_0x963132===_0x5f4246(0xf8)+'oc')return connectorController[_0x5f4246(0x344)+_0x5f4246(0x398)+_0x5f4246(0x2b6)+_0x5f4246(0x183)]();if(_0x963132==='feishu')return connectorController[_0x5f4246(0x344)+_0x5f4246(0x2dc)+'trationS'+_0x5f4246(0x14c)](_0xb0a6b);if(_0x963132===_0x5f4246(0x188)+_0x5f4246(0x39c)||_0x963132===_0x5f4246(0x101))return connectorController[_0x5f4246(0x3a8)+_0x5f4246(0x24a)+_0x5f4246(0x115)+'n']({'gatewayPort':_0x547138()['gatewayP'+_0x5f4246(0x16d)](),'gatewayToken':_0x547138()[_0x5f4246(0x2b9)+_0x5f4246(0x13a)]()});throw new Error('Unsuppor'+'ted\x20conn'+_0x5f4246(0x23a)+_0x5f4246(0x3d7)+(_0x963132||_0x5f4246(0x363)));}),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x190)+_0x2a8fe7(0x2b4),async(_0x3db4c4,_0x38afd2={})=>{const _0x55c27b=_0x2a8fe7,_0x3c99cb=String(_0x38afd2[_0x55c27b(0x15b)+'d']||_0x38afd2[_0x55c27b(0x18b)]||'');if(_0x3c99cb===_0x55c27b(0x161))return connectorController['getKdocs'+_0x55c27b(0x268)+_0x55c27b(0x1e0)](_0x38afd2);if(_0x3c99cb===_0x55c27b(0xf8)+'oc')return connectorController['getFeish'+'uDocCliC'+_0x55c27b(0x212)+_0x55c27b(0xee)](_0x38afd2);if(_0x3c99cb==='feishu')return connectorController[_0x55c27b(0x1cf)+_0x55c27b(0x346)+_0x55c27b(0x3ae)+_0x55c27b(0x353)](_0x38afd2);throw new Error(_0x55c27b(0x282)+_0x55c27b(0x214)+_0x55c27b(0x23a)+_0x55c27b(0x3d7)+(_0x3c99cb||'unknown'));}),_0x2e2fa8('config:c'+'onnector'+'-session'+':cancel',async(_0x524ba9,_0x22ec5e={})=>{const _0x10ad56=_0x2a8fe7,_0x29d7f3=String(_0x22ec5e[_0x10ad56(0x15b)+'d']||_0x22ec5e[_0x10ad56(0x18b)]||'');if(_0x29d7f3==='kdocs')return connectorController[_0x10ad56(0x160)+_0x10ad56(0x1ba)+_0x10ad56(0x256)+_0x10ad56(0x265)](_0x22ec5e);if(_0x29d7f3==='feishu_d'+'oc')return connectorController[_0x10ad56(0x294)+_0x10ad56(0x1e5)+'liConnec'+'tSession'](_0x22ec5e);if(_0x29d7f3==='feishu')return connectorController[_0x10ad56(0x294)+_0x10ad56(0x2c8)+_0x10ad56(0x24e)+'Session'](_0x22ec5e);if(_0x29d7f3===_0x10ad56(0x188)+'-weixin'||_0x29d7f3===_0x10ad56(0x101))return connectorController['cancelWe'+'chatChan'+_0x10ad56(0x11c)+'on']();return{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x29f)+_0x2a8fe7(0x13d)+_0x2a8fe7(0x190)+_0x2a8fe7(0x2d1)+'e',async(_0x16d327,_0x57fa8f={})=>{const _0x158cf8=_0x2a8fe7,_0x282e76=String(_0x57fa8f[_0x158cf8(0x15b)+'d']||_0x57fa8f['type']||'');if(_0x282e76===_0x158cf8(0xf8)+'oc')return connectorController['complete'+'FeishuDo'+_0x158cf8(0x2a3)+_0x158cf8(0x2cc)+'on'](_0x57fa8f);throw new Error(_0x158cf8(0x282)+_0x158cf8(0x214)+_0x158cf8(0x23a)+'ssion:\x20'+(_0x282e76||'unknown'));}),_0x2e2fa8(_0x2a8fe7(0x345)+_0x2a8fe7(0x2cf),()=>connectorController['readConf'+_0x2a8fe7(0x392)+'ot']());const _0x367a49=_0x144c93=>{const _0x2059b5=_0x2a8fe7,_0x3167da=_0x144c93[_0x2059b5(0x1f6)]&&typeof _0x144c93[_0x2059b5(0x1f6)]===_0x2059b5(0x296)?_0x144c93['agents']:{};return Array[_0x2059b5(0x103)](_0x3167da[_0x2059b5(0x2f3)])?_0x3167da[_0x2059b5(0x2f3)]:[];},_0x5bfe90=_0x5516db=>{const _0x4867f9=_0x2a8fe7,_0x258bf8=typeof _0x5516db===_0x4867f9(0x2e6)?_0x5516db['trim']():'',_0x556d82=_0x258bf8[_0x4867f9(0x2e5)](/^agent:([^:]+):/);return _0x556d82?.[0x1]||'';},_0x707cfb=(_0x3a2a09={},_0xbfea4=[])=>{const _0x41e78b=_0x2a8fe7,_0x130b7e=Array[_0x41e78b(0x103)](_0x3a2a09[_0x41e78b(0x1f6)])?_0x3a2a09['agents']:Array[_0x41e78b(0x103)](_0x3a2a09['list'])?_0x3a2a09[_0x41e78b(0x2f3)]:[],_0x3a5a92=Array[_0x41e78b(0x103)](_0xbfea4)?_0xbfea4:[];return _0x130b7e['map'](_0x132bf2=>{const _0x2110a6=_0x41e78b,_0x43e164=String(_0x132bf2?.['id']||_0x132bf2?.[_0x2110a6(0x3a3)]||'')['trim']();return{'agent':_0x132bf2,'sessions':_0x43e164?_0x3a5a92[_0x2110a6(0x1d8)](_0x41214f=>{const _0x3fef2e=_0x2110a6,_0x8bb1ea=String(_0x41214f?.[_0x3fef2e(0x3a3)]||_0x41214f?.[_0x3fef2e(0xe7)]||_0x41214f?.[_0x3fef2e(0x1ac)]?.['id']||_0x5bfe90(_0x41214f?.[_0x3fef2e(0x223)])||'')[_0x3fef2e(0x108)]();return _0x8bb1ea?_0x8bb1ea===_0x43e164:_0x43e164===_0x3fef2e(0x15a);}):[]};});};_0x2e2fa8('app:upda'+_0x2a8fe7(0x16c)+_0x2a8fe7(0xcd),async()=>updateController?.[_0x2a8fe7(0x27a)]()),_0x2e2fa8(_0x2a8fe7(0x1ad)+'te:check',async()=>updateController?.[_0x2a8fe7(0x199)+_0x2a8fe7(0x2d5)]()),_0x2e2fa8(_0x2a8fe7(0x1ad)+'te:downl'+_0x2a8fe7(0x31c),async()=>updateController?.[_0x2a8fe7(0x1c9)+_0x2a8fe7(0x33d)]()),_0x2e2fa8(_0x2a8fe7(0x1ad)+_0x2a8fe7(0x1b7)+_0x2a8fe7(0x37d)+_0x2a8fe7(0x355),async()=>updateController?.[_0x2a8fe7(0x102)+_0x2a8fe7(0x117)]()),_0x2e2fa8(_0x2a8fe7(0x260)+':choose',async(_0x53b3a5,_0x1adc74={})=>{const _0x21d4d7=_0x2a8fe7,_0xe0d110=await dialog[_0x21d4d7(0x301)+'Dialog'](BrowserWindow['fromWebC'+_0x21d4d7(0x26a)](_0x53b3a5[_0x21d4d7(0x2e9)])??mainWindow,{'properties':['openFile',..._0x1adc74?.['limit']!==0x1?[_0x21d4d7(0x131)+_0x21d4d7(0x249)]:[]],'filters':_0x1adc74?.[_0x21d4d7(0x201)+_0x21d4d7(0x3a9)+'s']?[{'name':_0x21d4d7(0xfe),'extensions':_0x1adc74['customNa'+_0x21d4d7(0x3a9)+'s']}]:undefined});return _0xe0d110[_0x21d4d7(0x2d0)+'s'][_0x21d4d7(0x342)](_0x5c4a1f=>({'path':_0x5c4a1f,'name':_0x5c4a1f[_0x21d4d7(0x113)](/[\\/]/)[_0x21d4d7(0x149)]()||_0x5c4a1f}));}),_0x2e2fa8('app:file'+_0x2a8fe7(0x254)+_0x2a8fe7(0x216),async(_0x4d58ae,_0x1cd78a={})=>{const _0x1a4f9e=_0x2a8fe7,_0x1ac530=String(_0x1cd78a[_0x1a4f9e(0x16a)+'th']||'');if(!_0x1ac530)return{'success':![],'error':_0x1a4f9e(0x16a)+_0x1a4f9e(0x28b)+_0x1a4f9e(0x263)};const _0x20180f=await dialog[_0x1a4f9e(0x387)+_0x1a4f9e(0x1c8)](mainWindow,{'defaultPath':_0x1cd78a[_0x1a4f9e(0x3cb)+_0x1a4f9e(0x139)]||_0x1ac530[_0x1a4f9e(0x113)](/[\\/]/)[_0x1a4f9e(0x149)]()});if(_0x20180f[_0x1a4f9e(0x2fc)]||!_0x20180f['filePath'])return{'success':![],'canceled':!![]};const {copyFile:_0x2c7c04}=await import(_0x1a4f9e(0x12a)+_0x1a4f9e(0xfa));return await _0x2c7c04(_0x1ac530,_0x20180f[_0x1a4f9e(0x2d0)]),{'success':!![],'filePath':_0x20180f[_0x1a4f9e(0x2d0)]};}),_0x2e2fa8('app:clip'+_0x2a8fe7(0x159)+_0x2a8fe7(0x348),async(_0x373102,_0x4f14d9)=>{const _0x47d3e0=_0x2a8fe7;return clipboard[_0x47d3e0(0x305)+'t'](String(_0x4f14d9??'')),{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x310)+_0x2a8fe7(0xc9)+'rt',async()=>{const _0x1ee519=_0x2a8fe7;return app['relaunch'](),app[_0x1ee519(0xda)](),{'ok':!![]};}),_0x2e2fa8('window:i'+'s-maximi'+_0x2a8fe7(0x34d),_0x1602bb=>Boolean(BrowserWindow[_0x2a8fe7(0x37f)+_0x2a8fe7(0x26a)](_0x1602bb[_0x2a8fe7(0x2e9)])?.[_0x2a8fe7(0x10c)+_0x2a8fe7(0x34d)]())),_0x2e2fa8(_0x2a8fe7(0x2d9)+_0x2a8fe7(0x144),async(_0x1a265f,_0x2376cc)=>{const _0x4d72bd=_0x2a8fe7;return app[_0x4d72bd(0x2a6)+_0x4d72bd(0x379)+_0x4d72bd(0x350)]({'openAtLogin':_0x2376cc===!![]}),{'ok':!![],'enabled':_0x2376cc===!![]};}),_0x2e2fa8(_0x2a8fe7(0x2d9)+_0x2a8fe7(0x311),async()=>app['getLogin'+_0x2a8fe7(0x379)+'ings']()[_0x2a8fe7(0x30f)+_0x2a8fe7(0x21d)]),_0x2e2fa8('app:file'+_0x2a8fe7(0x12b)+'folder',async _0x2f41aa=>{const _0x38c7a8=_0x2a8fe7,_0x4c0394=await dialog[_0x38c7a8(0x301)+_0x38c7a8(0x1c8)](BrowserWindow[_0x38c7a8(0x37f)+_0x38c7a8(0x26a)](_0x2f41aa[_0x38c7a8(0x2e9)])??mainWindow,{'properties':['openDire'+_0x38c7a8(0x154)]});return _0x4c0394[_0x38c7a8(0x2d0)+'s'][0x0]||'';}),_0x2e2fa8(_0x2a8fe7(0x310)+_0x2a8fe7(0x18e)+_0x2a8fe7(0x275),async(_0x24e00f,_0x2995b6)=>{const _0x599fc8=_0x2a8fe7,_0x448049=await shell[_0x599fc8(0x2a9)](String(_0x2995b6||''));return _0x448049||'';}),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0xd5)+_0x2a8fe7(0xca),async()=>_0x547138()[_0x2a8fe7(0x2b9)+'oken']()),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0xd5)+_0x2a8fe7(0x2c3),async()=>_0x547138()[_0x2a8fe7(0x3ca)+'ort']()),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0x315)+'e',async(_0x595ff5,_0x36e2fa=[])=>{const _0x5912f7=_0x2a8fe7,_0x262ba0=await runClawOnce(shellConfig[_0x5912f7(0x264)+_0x5912f7(0x23b)],Array['isArray'](_0x36e2fa)?_0x36e2fa:[]);return{'ok':_0x262ba0[_0x5912f7(0x21a)]===0x0,..._0x262ba0};}),_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x272),async(_0x507979,_0x6b966={})=>_0x547138()[_0x2a8fe7(0x1b2)][_0x2a8fe7(0x3be)]({..._0x6b966,'parentSessionKey':_0x6b966['parentSe'+_0x2a8fe7(0x163)]||_0x6b966[_0x2a8fe7(0x338)+'ey']}));const _0x1bc25d=configController[_0x2a8fe7(0x276)+_0x2a8fe7(0x1ea)]();sessionSqliteStore=ensureSessionSqliteStore();const _0xefe0e8=createAgentSessionsMapStore({'stateDir':_0x1bc25d});_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x2f0)+_0x2a8fe7(0x32f),async(_0x225b69,_0x30995d={})=>_0xefe0e8[_0x2a8fe7(0x1e7)](_0x30995d)),_0x2e2fa8('sessions'+_0x2a8fe7(0x2f0)+_0x2a8fe7(0xdc)+'t',async(_0x7a70a9,_0x4ec1c0={})=>_0xefe0e8[_0x2a8fe7(0x18c)](_0x4ec1c0)),_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x2f0)+_0x2a8fe7(0x191),async(_0x3cc41d,_0x3bd89d={})=>{const _0x2e7105=_0x2a8fe7,_0xa4248f=String(_0x3bd89d[_0x2e7105(0x338)+'ey']||'')[_0x2e7105(0x108)]();if(!_0xa4248f)return null;return await sessionSqliteStore[_0x2e7105(0xd1)+_0x2e7105(0x34c)](_0xa4248f);}),_0x2e2fa8('agents:c'+_0x2a8fe7(0x19e),async(_0xbd2686,_0xec6402={})=>{const _0x59612e=_0x2a8fe7,_0x20ff97=await readMutableConfig(),_0x3f02e1=_0x20ff97[_0x59612e(0x1f6)]&&typeof _0x20ff97[_0x59612e(0x1f6)]===_0x59612e(0x296)?_0x20ff97[_0x59612e(0x1f6)]:{},_0x58cee0=_0x367a49(_0x20ff97),_0xd89e2c=String(_0xec6402['id']||_0xec6402[_0x59612e(0x19c)]||'agent-'+Date[_0x59612e(0x20d)]())[_0x59612e(0x108)]()[_0x59612e(0x34f)](/\s+/g,'-'),_0x2b5b8a={'id':_0xd89e2c,'name':String(_0xec6402[_0x59612e(0x19c)]||_0xd89e2c),..._0xec6402[_0x59612e(0xe1)+'e']?{'workspace':String(_0xec6402[_0x59612e(0xe1)+'e'])}:{},..._0xec6402[_0x59612e(0x14f)]?{'model':_0xec6402[_0x59612e(0x14f)]}:{},..._0xec6402['emoji']?{'emoji':_0xec6402[_0x59612e(0x1a2)]}:{},..._0xec6402[_0x59612e(0x38b)]?{'avatar':_0xec6402['avatar']}:{},...Array[_0x59612e(0x103)](_0xec6402[_0x59612e(0x245)])?{'skills':_0xec6402[_0x59612e(0x245)]}:{}};if(_0x58cee0[_0x59612e(0x26d)](_0x2666d9=>_0x2666d9?.['id']===_0xd89e2c))throw new Error('agent\x20al'+_0x59612e(0x1a8)+_0x59612e(0x175));return _0x3f02e1[_0x59612e(0x2f3)]=[..._0x58cee0,_0x2b5b8a],_0x20ff97[_0x59612e(0x1f6)]=_0x3f02e1,await _0x183794(_0x20ff97,_0x59612e(0x14d)+_0x59612e(0x202)),{'ok':!![],'agent':_0x2b5b8a};}),_0x2e2fa8(_0x2a8fe7(0x351)+_0x2a8fe7(0x385),async(_0x442cb5,_0xaba05e={})=>{const _0x11b80d=_0x2a8fe7,_0x20003b=String(_0xaba05e['id']||_0xaba05e[_0x11b80d(0x3a3)]||'')['trim']();if(!_0x20003b)throw new Error(_0x11b80d(0x3c7)+_0x11b80d(0x29b)+_0x11b80d(0x233));const _0x33d08f=await readMutableConfig(),_0x4de776=_0x33d08f[_0x11b80d(0x1f6)]&&typeof _0x33d08f[_0x11b80d(0x1f6)]===_0x11b80d(0x296)?_0x33d08f['agents']:{},_0xd45e6e=_0x367a49(_0x33d08f),_0x5d0771=_0xd45e6e[_0x11b80d(0x342)](_0x529001=>_0x529001?.['id']===_0x20003b?{..._0x529001,..._0xaba05e,'id':_0x20003b}:_0x529001);return _0x4de776['list']=_0x5d0771,_0x33d08f[_0x11b80d(0x1f6)]=_0x4de776,await _0x183794(_0x33d08f,_0x11b80d(0x33a)+_0x11b80d(0x1af)),{'ok':!![],'agent':_0x5d0771[_0x11b80d(0x2a1)](_0xbcfea2=>_0xbcfea2?.['id']===_0x20003b)||null};}),_0x2e2fa8(_0x2a8fe7(0x286)+'elete',async(_0x5affd6,_0x474f6a={})=>{const _0x39428d=_0x2a8fe7,_0x53e617=String(_0x474f6a['id']||_0x474f6a['agentId']||'')['trim']();if(!_0x53e617)throw new Error('agent\x20id'+_0x39428d(0x29b)+'ired');const _0x118dff=await readMutableConfig(),_0x3baac3=_0x118dff['agents']&&typeof _0x118dff[_0x39428d(0x1f6)]==='object'?_0x118dff[_0x39428d(0x1f6)]:{};return _0x3baac3[_0x39428d(0x2f3)]=_0x367a49(_0x118dff)[_0x39428d(0x1d8)](_0x56271b=>_0x56271b?.['id']!==_0x53e617),_0x118dff[_0x39428d(0x1f6)]=_0x3baac3,await _0x183794(_0x118dff,_0x39428d(0x20a)+_0x39428d(0x31a)),{'ok':!![],'agentId':_0x53e617};}),_0x2e2fa8(_0x2a8fe7(0x28f)+'ith-sess'+_0x2a8fe7(0x1c6)+'t',async(_0xf2ef72,_0x3e756d={})=>{const _0x566162=_0x2a8fe7,[_0x1fabd9,_0x518db4]=await Promise[_0x566162(0x355)]([_0x547138()[_0x566162(0x1f6)][_0x566162(0x2f3)](),_0x547138()[_0x566162(0x1b2)][_0x566162(0x2f3)](_0x3e756d)['catch'](()=>({'sessions':[]}))]),_0xa63d04=Array[_0x566162(0x103)](_0x518db4[_0x566162(0x1b2)])?_0x518db4[_0x566162(0x1b2)]:[];return{..._0x1fabd9,'sessions':_0xa63d04,'groups':Array[_0x566162(0x103)](_0x1fabd9[_0x566162(0xd7)])?_0x1fabd9[_0x566162(0xd7)]:_0x707cfb(_0x1fabd9,_0xa63d04)};}),terminalManager=createTerminalManager({'cwd':join(configController[_0x2a8fe7(0x276)+_0x2a8fe7(0x1ea)](),_0x2a8fe7(0xe1)+'e'),'emitData':_0x3b9cc4=>broadcast(_0x2a8fe7(0x35a)+_0x2a8fe7(0x11a),_0x3b9cc4),'emitExit':_0x57c025=>broadcast(_0x2a8fe7(0x35a)+_0x2a8fe7(0xe2),_0x57c025)}),_0x2e2fa8(_0x2a8fe7(0x35a)+':create',async(_0x146242,_0x42cc7e={})=>terminalManager[_0x2a8fe7(0x3be)](_0x42cc7e)),_0x2e2fa8(_0x2a8fe7(0x35a)+':input',async(_0x3c40c5,_0x5d8d11={})=>terminalManager[_0x2a8fe7(0x248)](_0x5d8d11)),_0x2e2fa8(_0x2a8fe7(0x35a)+':resize',async(_0x31aaa7,_0x48462c={})=>terminalManager[_0x2a8fe7(0xfd)](_0x48462c)),_0x2e2fa8('terminal'+_0x2a8fe7(0x12e),async(_0x21f5ff,_0x364aea={})=>terminalManager['close'](_0x364aea)),_0x2e2fa8(_0x2a8fe7(0x1bd)+_0x2a8fe7(0x2f3),async()=>{const _0x378757=_0x2a8fe7,_0x1916c6=gatewayController?.[_0x378757(0x27f)+_0x378757(0x242)]?.()||{};return _0x1916c6[_0x378757(0x230)]||[];}),_0x2e2fa8(_0x2a8fe7(0x1bd)+_0x2a8fe7(0x221)+'ig',async(_0x3e66da,_0x13b38d={})=>{const _0x3c7453=_0x2a8fe7,_0xa4efcf=String(_0x13b38d[_0x3c7453(0x2e2)]||_0x13b38d['id']||''),_0x515a8b=await readMutableConfig(),_0x28ce44=_0x515a8b['plugins']?.['entries']||{};return _0xa4efcf?_0x28ce44[_0xa4efcf]||null:_0x28ce44;}),_0x2e2fa8('plugins:'+_0x2a8fe7(0x1bf)+_0x2a8fe7(0x389),async(_0x4873f1,_0x3b2238={})=>{const _0x46e8cc=_0x2a8fe7,_0x15b46e=String(_0x3b2238[_0x46e8cc(0x2e2)]||_0x3b2238['id']||'');if(!_0x15b46e)throw new Error(_0x46e8cc(0x2e2)+_0x46e8cc(0x29b)+'ired');const _0x5bd661=await readMutableConfig(),_0x2ac370=_0x5bd661[_0x46e8cc(0x230)]&&typeof _0x5bd661[_0x46e8cc(0x230)]===_0x46e8cc(0x296)?_0x5bd661[_0x46e8cc(0x230)]:{},_0x5582fe=_0x2ac370[_0x46e8cc(0xd2)]&&typeof _0x2ac370[_0x46e8cc(0xd2)]===_0x46e8cc(0x296)?_0x2ac370[_0x46e8cc(0xd2)]:{};return _0x5582fe[_0x15b46e]={..._0x5582fe[_0x15b46e]||{},..._0x3b2238[_0x46e8cc(0xd4)]||_0x3b2238[_0x46e8cc(0x340)]||{}},_0x2ac370[_0x46e8cc(0xd2)]=_0x5582fe,_0x5bd661[_0x46e8cc(0x230)]=_0x2ac370,_0x183794(_0x5bd661,_0x46e8cc(0x146)+_0x46e8cc(0x182)+_0x46e8cc(0x1af));}),_0x2e2fa8(_0x2a8fe7(0x1bd)+_0x2a8fe7(0x299),async(_0x395c80,_0x54292a={})=>{const _0xa807ec=_0x2a8fe7,_0x1dd5ab=String(_0x54292a[_0xa807ec(0x2e2)]||_0x54292a['id']||'');if(!_0x1dd5ab)throw new Error(_0xa807ec(0x2e2)+_0xa807ec(0x29b)+'ired');const _0x16530d=await readMutableConfig(),_0xf785b6=_0x16530d[_0xa807ec(0x230)]&&typeof _0x16530d[_0xa807ec(0x230)]==='object'?_0x16530d[_0xa807ec(0x230)]:{},_0xf58ec=_0xf785b6[_0xa807ec(0xd2)]&&typeof _0xf785b6['entries']===_0xa807ec(0x296)?_0xf785b6[_0xa807ec(0xd2)]:{};return _0xf58ec[_0x1dd5ab]={..._0xf58ec[_0x1dd5ab]||{},'enabled':!![]},_0xf785b6[_0xa807ec(0xd2)]=_0xf58ec,_0x16530d[_0xa807ec(0x230)]=_0xf785b6,_0x183794(_0x16530d,'plugin\x20e'+_0xa807ec(0x2b7));}),_0x2e2fa8(_0x2a8fe7(0x1bd)+_0x2a8fe7(0x292),async(_0x1ddc1b,_0x31e324={})=>{const _0x396f0c=_0x2a8fe7,_0x579545=String(_0x31e324[_0x396f0c(0x2e2)]||_0x31e324['id']||'');if(!_0x579545)throw new Error('pluginId'+'\x20is\x20requ'+_0x396f0c(0x233));const _0x1950be=await readMutableConfig(),_0x1bff15=_0x1950be['plugins']&&typeof _0x1950be[_0x396f0c(0x230)]===_0x396f0c(0x296)?_0x1950be[_0x396f0c(0x230)]:{},_0x1a3590=_0x1bff15[_0x396f0c(0xd2)]&&typeof _0x1bff15[_0x396f0c(0xd2)]===_0x396f0c(0x296)?_0x1bff15['entries']:{};return _0x1a3590[_0x579545]={..._0x1a3590[_0x579545]||{},'enabled':![]},_0x1bff15['entries']=_0x1a3590,_0x1950be['plugins']=_0x1bff15,_0x183794(_0x1950be,_0x396f0c(0x304)+_0x396f0c(0x255));}),_0x2e2fa8('plugins:'+_0x2a8fe7(0x3c5),async(_0xb5e4aa,_0x52552e={})=>({'plugins':await((async()=>{const _0x5df257=_0x2a8fe7,_0x3a8558=gatewayController?.[_0x5df257(0x27f)+'nfo']?.()||{};if(!_0x52552e?.['pluginId']&&!_0x52552e?.['id'])return _0x3a8558[_0x5df257(0x230)]||[];const _0x4261c9=String(_0x52552e[_0x5df257(0x2e2)]||_0x52552e['id']||'');return(_0x3a8558['plugins']||[])[_0x5df257(0x1d8)](_0x5c7f30=>_0x5c7f30[_0x5df257(0x2e2)]===_0x4261c9);})())})),_0x2e2fa8('tabs:nav'+'igate',async(_0x464189,_0x38e01d)=>({'ok':!![],'payload':_0x38e01d})),_0x2e2fa8(_0x2a8fe7(0x189)+_0x2a8fe7(0x2fb)+'e',async(_0x108b07,_0x16c20b)=>{const _0x55367e=_0x2a8fe7;return broadcast(_0x55367e(0x331)+'mand',_0x16c20b),{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x383)+_0x2a8fe7(0x32e)+_0x2a8fe7(0x3c0),async()=>{const _0x152c23=_0x2a8fe7;return broadcast(_0x152c23(0x16e)+_0x152c23(0x3c0)+_0x152c23(0x137),{}),{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x197)+'resh-age'+'nt-state',async(_0x35b280,_0x160da0={})=>{const _0x216c3d=_0x2a8fe7;return broadcast(_0x216c3d(0x16e)+_0x216c3d(0x3c0)+'-refresh'+_0x216c3d(0x137),_0x160da0),{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x384)+_0x2a8fe7(0x120),_0x1b6dd9=>{const _0x41a97c=_0x2a8fe7;return BrowserWindow[_0x41a97c(0x37f)+_0x41a97c(0x26a)](_0x1b6dd9[_0x41a97c(0x2e9)])?.['minimize'](),{'ok':!![]};}),_0x2e2fa8('window:t'+'oggle-ma'+_0x2a8fe7(0xec),_0x43b7b7=>{const _0x58aeb5=_0x2a8fe7,_0x15d2d2=BrowserWindow[_0x58aeb5(0x37f)+_0x58aeb5(0x26a)](_0x43b7b7[_0x58aeb5(0x2e9)]);if(!_0x15d2d2)return{'isMaximized':![]};if(_0x15d2d2[_0x58aeb5(0x10c)+_0x58aeb5(0x34d)]())_0x15d2d2[_0x58aeb5(0x30d)+'ze']();else _0x15d2d2[_0x58aeb5(0x1dd)]();return{'isMaximized':_0x15d2d2[_0x58aeb5(0x10c)+_0x58aeb5(0x34d)]()};}),_0x2e2fa8(_0x2a8fe7(0x1f0)+_0x2a8fe7(0xce),_0x49713a=>{const _0x52e2c3=_0x2a8fe7;return BrowserWindow['fromWebC'+_0x52e2c3(0x26a)](_0x49713a[_0x52e2c3(0x2e9)])?.[_0x52e2c3(0x252)](),{'ok':!![]};}),_0x2e2fa8('window:o'+'pen-devt'+'ools',()=>openDevToolsForActiveContext()),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0xde)+_0x2a8fe7(0x269),()=>_0x547138()[_0x2a8fe7(0x27f)+_0x2a8fe7(0x242)]()),_0x2e2fa8(_0x2a8fe7(0x188)+':gateway'+_0x2a8fe7(0xd8),async()=>(await ensureGatewayControllerStarted())[_0x2a8fe7(0xe3)+'s']()),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0xd5)+_0x2a8fe7(0x150),()=>_0x547138()[_0x2a8fe7(0x156)](_0x2a8fe7(0x326)+_0x2a8fe7(0x274))),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0x2c9)+_0x2a8fe7(0x226)+_0x2a8fe7(0x1cc),async()=>({'loadingLifeCycle':_0x2a8fe7(0x359),'message':'','updatedAt':new Date()[_0x2a8fe7(0x361)+_0x2a8fe7(0x30c)]()})),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0xd5)+'-logs',(_0x58f5c2,_0x45d574={})=>_0x547138()[_0x2a8fe7(0x1a7)+_0x2a8fe7(0x395)](_0x45d574?.[_0x2a8fe7(0x2be)]??0xc8)),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0x112)+_0x2a8fe7(0x13b)+_0x2a8fe7(0x34e)+'n',(_0x3fb397,_0x5a4305)=>_0x547138()[_0x2a8fe7(0x27d)+_0x2a8fe7(0x337)+_0x2a8fe7(0x1dc)](_0x5a4305)),_0x2e2fa8(_0x2a8fe7(0x188)+_0x2a8fe7(0x287)+_0x2a8fe7(0x140),async()=>{const _0x36eeae=_0x2a8fe7,_0x885947=join(resolveRuntimeRoot(shellConfig[_0x36eeae(0x264)+'oot']),'bin',_0x36eeae(0x2aa)+'w');if(!existsSync(_0x885947))throw new Error(_0x36eeae(0x188)+_0x36eeae(0x222)+'pper\x20not'+_0x36eeae(0x2ed)+_0x885947+(_0x36eeae(0x2ba)+_0x36eeae(0x2ff)+_0x36eeae(0x306)+_0x36eeae(0xdf)));const _0x48158c=join(app[_0x36eeae(0x1e3)](_0x36eeae(0x1d5)),_0x36eeae(0x35d)+_0x36eeae(0x339)+_0x36eeae(0x1a5));await writeFile(_0x48158c,'#!/bin/s'+_0x36eeae(0x23d)+_0x885947['replace'](/\\/g,'\x5c\x5c')[_0x36eeae(0x34f)](/"/g,'\x5c\x22')+'\x22\x0a',{'mode':0x1ed});const _0x5b1dc0=spawn(_0x36eeae(0x217),['-a',_0x36eeae(0x3ac),_0x48158c],{'detached':!![],'stdio':_0x36eeae(0x219)});return _0x5b1dc0[_0x36eeae(0x1d6)](),{'ok':!![],'cliPath':_0x885947};}),_0x2e2fa8(_0x2a8fe7(0x2ee)+_0x2a8fe7(0x2c5),()=>_0x547138()['agents'][_0x2a8fe7(0x2f3)]()),_0x2e2fa8(_0x2a8fe7(0x2d4)+'tatus',(_0x4e4204,_0x5c10a0)=>_0x547138()[_0x2a8fe7(0x245)][_0x2a8fe7(0x3c5)](_0x5c10a0)),_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x3ad),(_0x3e8752,_0x4959fe)=>_0x547138()['sessions'][_0x2a8fe7(0x3be)](_0x4959fe)),_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x30a),(_0x5cb60c,_0x3568fe)=>_0x547138()[_0x2a8fe7(0x1b2)][_0x2a8fe7(0x2f3)](_0x3568fe)),_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x10e),(_0x535451,_0xa30c31)=>_0x547138()[_0x2a8fe7(0x1b2)]['delete'](_0xa30c31)),_0x2e2fa8(_0x2a8fe7(0x3c3)+_0x2a8fe7(0x2bf),(_0x9d8876,_0x290e9d)=>_0x547138()[_0x2a8fe7(0x148)][_0x2a8fe7(0x1d9)](_0x290e9d)),_0x2e2fa8(_0x2a8fe7(0x1be)+'rt',(_0x392088,_0x13b99a)=>_0x547138()[_0x2a8fe7(0x148)][_0x2a8fe7(0x3a0)](_0x13b99a)),_0x2e2fa8('chat:his'+_0x2a8fe7(0x22c),(_0x2700f8,_0x1dc63a)=>_0x547138()[_0x2a8fe7(0x148)][_0x2a8fe7(0x30b)](_0x1dc63a)),_0x2e2fa8(_0x2a8fe7(0x1e1)+'te',async(_0x361893,_0x58de7b={})=>{const _0x35bf48=_0x2a8fe7,_0x531a7c=typeof _0x58de7b[_0x35bf48(0xcc)]===_0x35bf48(0x2e6)?_0x58de7b[_0x35bf48(0xcc)]:_0x35bf48(0x10a),_0x395270=typeof _0x58de7b['message']===_0x35bf48(0x2e6)?_0x58de7b[_0x35bf48(0xf4)]:_0x35bf48(0x326)+_0x35bf48(0x22b),_0x212ea9=typeof _0x58de7b[_0x35bf48(0xe5)]===_0x35bf48(0x2e6)&&_0x58de7b['context'][_0x35bf48(0x108)]()?_0x35bf48(0x326)+':'+_0x58de7b[_0x35bf48(0xe5)]['trim']():_0x35bf48(0x326),_0x405f68=_0x58de7b[_0x35bf48(0x1e8)]&&typeof _0x58de7b['meta']===_0x35bf48(0x296)?{...summarizePayload(_0x58de7b[_0x35bf48(0x1e8)]),'context':_0x212ea9}:{'context':_0x212ea9},_0x3e5ebe=rendererLogger;if(_0x3e5ebe?.[_0x531a7c])await _0x3e5ebe[_0x531a7c](_0x395270,_0x405f68);else await _0x3e5ebe?.[_0x35bf48(0x10a)](_0x395270,_0x405f68);if(_0x58de7b['diagnost'+'ic']===!![]||_0x212ea9===_0x35bf48(0x326)+_0x35bf48(0x27e)+_0x35bf48(0x193)){const _0x2cc0cc=_0x58de7b['record']&&typeof _0x58de7b[_0x35bf48(0x347)]==='object'?_0x58de7b[_0x35bf48(0x347)]:_0x58de7b[_0x35bf48(0x1e8)]?.[_0x35bf48(0x347)]&&typeof _0x58de7b['meta'][_0x35bf48(0x347)]===_0x35bf48(0x296)?_0x58de7b[_0x35bf48(0x1e8)][_0x35bf48(0x347)]:{'level':_0x531a7c,'category':_0x35bf48(0x326),'event':_0x212ea9,'message':_0x395270,'meta':_0x58de7b[_0x35bf48(0x1e8)]};await diagnosticsWriter?.[_0x35bf48(0x2d2)+'nt'](_0x2cc0cc,{'captureIncident':String(_0x2cc0cc[_0x35bf48(0xcc)]||_0x531a7c)[_0x35bf48(0x107)+'ase']()===_0x35bf48(0x2bd)||_0x58de7b['captureI'+_0x35bf48(0x2e7)]===!![]});}return{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x3ab)+_0x2a8fe7(0x16d),async(_0x4a6dd2,_0x254e0e={})=>{const _0x263072=_0x2a8fe7,_0x4b8571=typeof _0x254e0e[_0x263072(0x382)+'r']==='string'&&_0x254e0e['targetDi'+'r'][_0x263072(0x108)]()?_0x254e0e['targetDi'+'r']:undefined,_0x194536=await exportLogsArchive({'logsDir':configController['paths'][_0x263072(0x176)],'targetDir':_0x4b8571,'appVersion':app['getVersi'+'on']()});return mainLogger?.[_0x263072(0x10a)]('logs\x20exp'+'orted',{'path':toHomePath(_0x194536[_0x263072(0x35b)])}),_0x194536;}),_0x2e2fa8('logs:ope'+'n-direct'+_0x2a8fe7(0x145),async()=>{const _0x83eff2=_0x2a8fe7;return await shell[_0x83eff2(0x2a9)](configController['paths']['logsDir']),mainLogger?.['info'](_0x83eff2(0x289)+_0x83eff2(0x143)+_0x83eff2(0x2c7),{'logsDir':toHomePath(configController[_0x83eff2(0x194)][_0x83eff2(0x176)])}),{'ok':!![],'path':configController[_0x83eff2(0x194)][_0x83eff2(0x176)]};}),_0x2e2fa8('logs:lis'+'t',async()=>{const _0xa9e439=_0x2a8fe7,_0x1c3e75=await readdir(configController['paths'][_0xa9e439(0x176)],{'recursive':!![]})[_0xa9e439(0x21e)](()=>[]);return _0x1c3e75;}),_0x2e2fa8('logs:rea'+'d',async(_0x5951a7,_0x2e7107={})=>{const _0x2e9723=_0x2a8fe7,_0x3a3e50=String(_0x2e7107[_0x2e9723(0x35b)]||'');if(!_0x3a3e50)throw new Error(_0x2e9723(0xf0)+_0x2e9723(0x27b));return readFile(_0x3a3e50,_0x2e9723(0x1db));}),_0x2e2fa8(_0x2a8fe7(0x28c)+'ad',async(_0x5d2c80,_0xb55d31)=>{const _0xbc4225=_0x2a8fe7,_0x441e1c=Date[_0xbc4225(0x20d)]();try{const _0x54e9a5=await readFile(_0xb55d31,_0xbc4225(0x1db));return filesLogger?.[_0xbc4225(0x10a)]('file\x20rea'+_0xbc4225(0x1f1)+_0xbc4225(0x3b5),{'path':toHomePath(_0xb55d31),'bytes':Buffer['byteLeng'+'th'](_0x54e9a5),'durationMs':Date[_0xbc4225(0x20d)]()-_0x441e1c}),_0x54e9a5;}catch(_0x3ee6b0){filesLogger?.['error'](_0xbc4225(0x111)+_0xbc4225(0x1cb),{'path':toHomePath(_0xb55d31),'durationMs':Date[_0xbc4225(0x20d)]()-_0x441e1c,'error':summarizeError(_0x3ee6b0)});throw _0x3ee6b0;}}),_0x2e2fa8(_0x2a8fe7(0x28c)+_0x2a8fe7(0x16f)+'y',async(_0x551317,_0x55b71b)=>{const _0x5b3e5b=_0x2a8fe7,_0x5b537e=Date['now']();try{const _0x2a42b2=await readFile(_0x55b71b);return filesLogger?.['info'](_0x5b3e5b(0x3c1)+_0x5b3e5b(0xef)+_0x5b3e5b(0x2bc)+'ed',{'path':toHomePath(_0x55b71b),'bytes':_0x2a42b2[_0x5b3e5b(0x32b)+'th'],'durationMs':Date[_0x5b3e5b(0x20d)]()-_0x5b537e}),new Uint8Array(_0x2a42b2);}catch(_0x5cb1e5){filesLogger?.[_0x5b3e5b(0x2bd)]('binary\x20f'+_0x5b3e5b(0xef)+_0x5b3e5b(0x213),{'path':toHomePath(_0x55b71b),'durationMs':Date[_0x5b3e5b(0x20d)]()-_0x5b537e,'error':summarizeError(_0x5cb1e5)});throw _0x5cb1e5;}}),_0x2e2fa8(_0x2a8fe7(0x2ca)+'ite',async(_0x1608ec,_0x281ee4={})=>{const _0x1bd7ea=_0x2a8fe7,_0x50140c=Date['now']();return await writeFile(_0x281ee4[_0x1bd7ea(0x35b)],_0x281ee4[_0x1bd7ea(0x231)]??'','utf8'),filesLogger?.[_0x1bd7ea(0x10a)](_0x1bd7ea(0x250)+'te\x20compl'+_0x1bd7ea(0x397),{'path':toHomePath(_0x281ee4[_0x1bd7ea(0x35b)]),'bytes':Buffer['byteLeng'+'th'](String(_0x281ee4['content']??'')),'durationMs':Date[_0x1bd7ea(0x20d)]()-_0x50140c}),{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x2ca)+_0x2a8fe7(0x3a1)+'ry',async(_0x2dd4bb,_0x4cca73={})=>{const _0x50a519=_0x2a8fe7,_0x1c7d6c=Date[_0x50a519(0x20d)]();await writeFile(_0x4cca73[_0x50a519(0x35b)],Buffer['from'](_0x4cca73[_0x50a519(0x231)]??[]));const _0xd7fe=await stat(_0x4cca73['path'])[_0x50a519(0x21e)](()=>null);return filesLogger?.[_0x50a519(0x10a)]('binary\x20f'+_0x50a519(0x271)+_0x50a519(0x1c1)+'ted',{'path':toHomePath(_0x4cca73[_0x50a519(0x35b)]),'bytes':_0xd7fe?.[_0x50a519(0x358)]??0x0,'durationMs':Date[_0x50a519(0x20d)]()-_0x1c7d6c}),{'ok':!![]};}),_0x2e2fa8(_0x2a8fe7(0x1c2)+'lect-fil'+'e',async(_0x2f3d6c,_0x580158={})=>{const _0x371cc8=_0x2a8fe7,_0x446e8d=await dialog[_0x371cc8(0x301)+'Dialog'](BrowserWindow['fromWebC'+_0x371cc8(0x26a)](_0x2f3d6c['sender'])??mainWindow,{'title':typeof _0x580158[_0x371cc8(0x21b)]===_0x371cc8(0x2e6)?_0x580158[_0x371cc8(0x21b)]:undefined,'properties':['openFile',..._0x580158[_0x371cc8(0x131)+_0x371cc8(0x249)]?[_0x371cc8(0x131)+_0x371cc8(0x249)]:[]],'filters':Array[_0x371cc8(0x103)](_0x580158[_0x371cc8(0xff)])?_0x580158[_0x371cc8(0xff)]:undefined});return filesLogger?.[_0x371cc8(0x10a)](_0x371cc8(0x122)+_0x371cc8(0x399)+_0x371cc8(0x31a),{'canceled':_0x446e8d['canceled'],'count':_0x446e8d['filePath'+'s'][_0x371cc8(0x135)],'paths':_0x446e8d[_0x371cc8(0x2d0)+'s'][_0x371cc8(0x342)](toHomePath)}),{'canceled':_0x446e8d[_0x371cc8(0x2fc)],'paths':_0x446e8d[_0x371cc8(0x2d0)+'s']};}),_0x2e2fa8(_0x2a8fe7(0x10b)+_0x2a8fe7(0x364)+_0x2a8fe7(0x22c),async(_0x5ce81e,_0x5042cc={})=>{const _0x2d0fab=_0x2a8fe7,_0x195149=resolve(String(_0x5042cc[_0x2d0fab(0x35b)]||'')),_0x240f00=_0x5042cc[_0x2d0fab(0x357)+'e']!==![],_0x5105c3=Array[_0x2d0fab(0x103)](_0x5042cc['extensio'+'ns'])?_0x5042cc[_0x2d0fab(0x3bb)+'ns'][_0x2d0fab(0x342)](_0x2050c6=>String(_0x2050c6)[_0x2d0fab(0x107)+'ase']()[_0x2d0fab(0x34f)](/^\./,''))[_0x2d0fab(0x1d8)](Boolean):null,_0x43ae0e=Number[_0x2d0fab(0x39f)+'r'](_0x5042cc[_0x2d0fab(0x1b4)+'es'])&&_0x5042cc[_0x2d0fab(0x1b4)+'es']>0x0?_0x5042cc[_0x2d0fab(0x1b4)+'es']:0xc350,_0x5296b5=[];let _0x4d5f26=![];async function _0x47e9e5(_0x463f02){const _0x29ed23=_0x2d0fab;if(_0x4d5f26)return;let _0x39731e;try{_0x39731e=await readdir(_0x463f02,{'withFileTypes':!![]});}catch{return;}for(const _0x2e03e8 of _0x39731e){if(_0x4d5f26)return;if(_0x2e03e8[_0x29ed23(0x19c)][_0x29ed23(0x28d)+'th']('.'))continue;const _0x3a9bfd=join(_0x463f02,_0x2e03e8[_0x29ed23(0x19c)]);if(_0x2e03e8[_0x29ed23(0x1eb)+_0x29ed23(0x145)]()){if(_0x240f00)await _0x47e9e5(_0x3a9bfd);continue;}if(!_0x2e03e8['isFile']())continue;if(_0x5105c3){const _0xdedb8b=_0x2e03e8[_0x29ed23(0x19c)][_0x29ed23(0x2ad)+'xOf']('.'),_0x218e50=_0xdedb8b>=0x0?_0x2e03e8[_0x29ed23(0x19c)][_0x29ed23(0x198)](_0xdedb8b+0x1)[_0x29ed23(0x107)+_0x29ed23(0x174)]():'';if(!_0x5105c3[_0x29ed23(0x3c6)](_0x218e50))continue;}if(_0x5296b5['length']>=_0x43ae0e){_0x4d5f26=!![];return;}_0x5296b5[_0x29ed23(0x22a)]({'name':_0x2e03e8[_0x29ed23(0x19c)],'path':_0x3a9bfd});}}return await _0x47e9e5(_0x195149),{'path':_0x195149,'entries':_0x5296b5,'truncated':_0x4d5f26};}),_0x2e2fa8(_0x2a8fe7(0x1c2)+'lect-dir'+_0x2a8fe7(0x31d),async(_0x2dcc6f,_0x5d36c5={})=>{const _0x4258a1=_0x2a8fe7,_0x27fa7e=await dialog[_0x4258a1(0x301)+'Dialog'](BrowserWindow['fromWebC'+_0x4258a1(0x26a)](_0x2dcc6f[_0x4258a1(0x2e9)])??mainWindow,{'title':typeof _0x5d36c5[_0x4258a1(0x21b)]===_0x4258a1(0x2e6)?_0x5d36c5[_0x4258a1(0x21b)]:undefined,'properties':[_0x4258a1(0x244)+'ctory']});return filesLogger?.[_0x4258a1(0x10a)](_0x4258a1(0x1bc)+_0x4258a1(0x1a6)+_0x4258a1(0x2bc)+'ed',{'canceled':_0x27fa7e[_0x4258a1(0x2fc)],'count':_0x27fa7e[_0x4258a1(0x2d0)+'s'][_0x4258a1(0x135)],'paths':_0x27fa7e[_0x4258a1(0x2d0)+'s'][_0x4258a1(0x342)](toHomePath)}),{'canceled':_0x27fa7e['canceled'],'paths':_0x27fa7e['filePath'+'s']};}),_0x2e2fa8(_0x2a8fe7(0xe1)+_0x2a8fe7(0x2eb)+_0x2a8fe7(0x209),()=>_0x547138()[_0x2a8fe7(0xe1)+'e'][_0x2a8fe7(0x327)+'yInfo']()),_0x2e2fa8(_0x2a8fe7(0xe1)+'e:open-d'+'irectory',async()=>{const _0xca1868=_0x2a8fe7,_0x1e0d04=await _0x547138()[_0xca1868(0xe1)+'e'][_0xca1868(0x327)+_0xca1868(0xd6)]();return await shell['openPath'](_0x1e0d04['path']),filesLogger?.[_0xca1868(0x10a)](_0xca1868(0xe1)+_0xca1868(0x1f4)+'ory\x20open'+'ed',{'path':toHomePath(_0x1e0d04['path'])}),{'ok':!![],'path':_0x1e0d04[_0xca1868(0x35b)]};}),_0x2e2fa8(_0x2a8fe7(0xe1)+_0x2a8fe7(0x2e1)+'-context',()=>_0x547138()[_0x2a8fe7(0xe1)+'e'][_0x2a8fe7(0x2f2)+_0x2a8fe7(0x2fa)]()),_0x2e2fa8(_0x2a8fe7(0xe1)+'e:write-'+'shared-c'+_0x2a8fe7(0x215),(_0x356075,_0x2e7cb0)=>_0x547138()['workspac'+'e'][_0x2a8fe7(0x241)+_0x2a8fe7(0x36d)+'xt'](_0x2e7cb0)),_0x2e2fa8('sessions'+_0x2a8fe7(0x28e),(_0x50ba82,_0xd837d0)=>_0x547138()[_0x2a8fe7(0x1b2)]['rename'](_0xd837d0)),_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x258),async(_0x3b74a5,_0xdd99a3={})=>{const _0x382802=_0x2a8fe7,_0x4c6715=String(_0xdd99a3[_0x382802(0x338)+'ey']||_0xdd99a3[_0x382802(0x223)]||'')[_0x382802(0x108)]();if(!_0x4c6715)throw new Error('sessionK'+_0x382802(0x2ce)+'quired');const _0x5c1fe6=await ensureSessionSqliteStore()[_0x382802(0x236)+_0x382802(0x25c)+_0x382802(0x3b1)](),_0x2fadb1=await _0x547138()['sessions'][_0x382802(0xfc)+'inned']([_0x4c6715,..._0x5c1fe6[_0x382802(0x1d8)](_0x2ecf73=>_0x2ecf73!==_0x4c6715)]);return _0x2fadb1;}),_0x2e2fa8(_0x2a8fe7(0x1b2)+':unpin',async(_0x49ffd6,_0x538c78={})=>{const _0x52703a=_0x2a8fe7,_0x3a0214=String(_0x538c78[_0x52703a(0x338)+'ey']||_0x538c78['key']||'')[_0x52703a(0x108)]();if(!_0x3a0214)throw new Error('sessionK'+_0x52703a(0x2ce)+_0x52703a(0x263));const _0x5e3cf6=await ensureSessionSqliteStore()[_0x52703a(0x236)+_0x52703a(0x25c)+_0x52703a(0x3b1)]();return await _0x547138()[_0x52703a(0x1b2)][_0x52703a(0xfc)+_0x52703a(0x142)](_0x5e3cf6[_0x52703a(0x1d8)](_0x3b1c12=>_0x3b1c12!==_0x3a0214));}),_0x2e2fa8(_0x2a8fe7(0x1b2)+_0x2a8fe7(0x1ee)+_0x2a8fe7(0xe4),async(_0x21b1e6,_0x176efb={})=>{const _0xeed363=_0x2a8fe7,_0x114253=Array[_0xeed363(0x103)](_0x176efb[_0xeed363(0x220)])?_0x176efb[_0xeed363(0x220)]:_0x176efb;return await _0x547138()[_0xeed363(0x1b2)][_0xeed363(0xfc)+_0xeed363(0x142)](_0x114253);}),_0x2e2fa8(_0x2a8fe7(0x11b)+_0x2a8fe7(0x117),(_0x37b3b5,_0x4d8786)=>_0x547138()[_0x2a8fe7(0x245)][_0x2a8fe7(0x284)](_0x4d8786)),_0x2e2fa8('cron:lis'+'t',(_0x3b6f9d,_0x3a47b5)=>_0x547138()[_0x2a8fe7(0x1da)][_0x2a8fe7(0x2f3)](_0x3a47b5)),_0x2e2fa8(_0x2a8fe7(0x17d)+_0x2a8fe7(0x15d),(_0x29aab7,_0x565be2)=>_0x547138()[_0x2a8fe7(0x1da)]['create'](_0x565be2)),_0x2e2fa8(_0x2a8fe7(0x1b5)+'ate',(_0x453c5d,_0x428490)=>_0x547138()['cron'][_0x2a8fe7(0x298)](_0x428490)),_0x2e2fa8(_0x2a8fe7(0x1fb)+_0x2a8fe7(0x2a7),(_0x360f9e,_0x48bb37)=>_0x547138()[_0x2a8fe7(0x1da)][_0x2a8fe7(0x1f5)](_0x48bb37)),_0x2e2fa8(_0x2a8fe7(0x37e)+'-once',(_0x2841ea,_0x2cc5d2)=>_0x547138()[_0x2a8fe7(0x1da)]['runOnce'](_0x2cc5d2)),_0x2e2fa8(_0x2a8fe7(0x1ce)+'s',(_0x66adfe,_0x17794a)=>_0x547138()[_0x2a8fe7(0x1da)][_0x2a8fe7(0x3d6)](_0x17794a)),_0x2e2fa8('models:c'+_0x2a8fe7(0x333),async(_0x5d5a78,_0x4536a8={})=>{const _0x911cce=_0x2a8fe7,_0x44646d=configController['resolveC'+_0x911cce(0x3a6)+'h'](),_0x76a27c=JSON['parse'](await readFile(_0x44646d,_0x911cce(0x1db))),_0x542c46=_0x76a27c?.['models']?.[_0x911cce(0x196)+'s']&&typeof _0x76a27c[_0x911cce(0x2d8)]['provider'+'s']===_0x911cce(0x296)?_0x76a27c[_0x911cce(0x2d8)][_0x911cce(0x196)+'s']:{},_0x506618=typeof _0x76a27c?.['agents']?.[_0x911cce(0x110)]?.[_0x911cce(0x14f)]?.[_0x911cce(0x1fc)]===_0x911cce(0x2e6)?_0x76a27c[_0x911cce(0x1f6)]['defaults']['model'][_0x911cce(0x1fc)]:'',_0x20dec1=String(_0x4536a8[_0x911cce(0x14f)]||_0x506618||'');if(!_0x20dec1[_0x911cce(0x3c6)]('/'))throw new Error(_0x911cce(0x37a)+_0x911cce(0x133)+_0x911cce(0x164)+_0x911cce(0x157)+_0x911cce(0x18a)+_0x911cce(0x3dc)+_0x911cce(0x184));const _0x37c13a=_0x20dec1[_0x911cce(0x396)]('/'),_0x468a51=_0x20dec1[_0x911cce(0x198)](0x0,_0x37c13a),_0x24a3ac=_0x20dec1['slice'](_0x37c13a+0x1),_0x395ae0=_0x542c46[_0x468a51];if(!_0x395ae0||typeof _0x395ae0!==_0x911cce(0x296))throw new Error(_0x911cce(0x196)+'\x20not\x20con'+_0x911cce(0x235)+'\x20'+_0x468a51);const _0x294b1c=String(_0x395ae0[_0x911cce(0x2de)]||_0x911cce(0x3ce)+_0x911cce(0x240)+_0x911cce(0x36e)+'1')['trim']()[_0x911cce(0x34f)](/\/$/,''),_0x16dee2=await fetch(_0x294b1c+(_0x911cce(0x17f)+_0x911cce(0x2db)+'s'),{'method':'POST','headers':{'content-type':_0x911cce(0x335)+_0x911cce(0x19a),'Authorization':'Bearer\x20'+(_0x395ae0[_0x911cce(0x119)]||''),..._0x395ae0[_0x911cce(0xe9)]&&typeof _0x395ae0[_0x911cce(0xe9)]===_0x911cce(0x296)?_0x395ae0[_0x911cce(0xe9)]:{}},'body':JSON['stringif'+'y']({'model':_0x24a3ac,'max_tokens':Number[_0x911cce(0x39f)+'r'](_0x4536a8['maxToken'+'s'])?_0x4536a8[_0x911cce(0x376)+'s']:0x400,'temperature':typeof _0x4536a8[_0x911cce(0x2c4)+_0x911cce(0x285)]===_0x911cce(0x367)?_0x4536a8[_0x911cce(0x2c4)+'ure']:undefined,'messages':Array[_0x911cce(0x103)](_0x4536a8[_0x911cce(0x1bb)])?_0x4536a8[_0x911cce(0x1bb)]:[]}),'signal':AbortSignal['timeout'](Number['isIntege'+'r'](_0x4536a8[_0x911cce(0x246)+'s'])?_0x4536a8[_0x911cce(0x246)+'s']:0x1d4c0)});if(!_0x16dee2['ok']){const _0x21fcab=await _0x16dee2[_0x911cce(0x187)]();throw new Error(_0x911cce(0x124)+_0x911cce(0x39e)+_0x16dee2['status']+':\x20'+_0x21fcab[_0x911cce(0x198)](0x0,0x190));}const _0xc2f154=await _0x16dee2[_0x911cce(0x1ca)](),_0x588709=_0xc2f154?.[_0x911cce(0x23c)]?.[0x0]?.['message']??{};return{'content':extractModelMessageContent(_0x588709[_0x911cce(0x231)]),'reasoning':typeof _0x588709[_0x911cce(0x288)+_0x911cce(0x378)+'t']===_0x911cce(0x2e6)?_0x588709[_0x911cce(0x288)+_0x911cce(0x378)+'t']:'','model':_0xc2f154?.[_0x911cce(0x14f)]||_0x24a3ac};}),_0x2e2fa8(_0x2a8fe7(0x307)+_0x2a8fe7(0x155),()=>_0x547138()[_0x2a8fe7(0x2d8)][_0x2a8fe7(0x329)]()),_0x2e2fa8(_0x2a8fe7(0x307)+_0x2a8fe7(0x2fd)+_0x2a8fe7(0x3d4),(_0x34a5e2,_0x46a821)=>_0x547138()[_0x2a8fe7(0x2d8)][_0x2a8fe7(0x1aa)+_0x2a8fe7(0x3d4)](_0x46a821)),_0x2e2fa8('models:s'+_0x2a8fe7(0x17a)+_0x2a8fe7(0x295)+_0x2a8fe7(0x1d2),(_0x3f66c7,_0x550b5b)=>_0x547138()['models'][_0x2a8fe7(0x15f)+'tedModel'+'Everywhe'+'re'](_0x550b5b)),_0x2e2fa8(_0x2a8fe7(0x307)+_0x2a8fe7(0x2dd)+'operated',(_0x1d0451,_0x293cf9)=>_0x547138()[_0x2a8fe7(0x2d8)]['setSelfO'+'peratedM'+_0x2a8fe7(0x25f)](_0x293cf9)),_0x2e2fa8(_0x2a8fe7(0x307)+_0x2a8fe7(0x1fd)+_0x2a8fe7(0x116),()=>_0x547138()[_0x2a8fe7(0x2d8)][_0x2a8fe7(0x35e)+_0x2a8fe7(0x228)]()),_0x2e2fa8(_0x2a8fe7(0x2a0)+_0x2a8fe7(0x332)+_0x2a8fe7(0x128),()=>_0x547138()[_0x2a8fe7(0x2d8)][_0x2a8fe7(0x38f)+_0x2a8fe7(0x128)]()),_0x2e2fa8(_0x2a8fe7(0x1cd)+_0x2a8fe7(0x130)+'dled-res'+_0x2a8fe7(0x179),async()=>{const _0x408a0e=_0x2a8fe7,_0x3d675a=await prepareRuntime(shellConfig,{'syncOnly':!![]});return await configController[_0x408a0e(0x280)+_0x408a0e(0x21f)+'ns'](),{'ok':!![],'syncedAt':new Date()[_0x408a0e(0x361)+_0x408a0e(0x30c)](),'manifest':_0x3d675a,'status':await getRuntimeResourceStatus()};}),_0x2e2fa8(_0x2a8fe7(0x1cd)+_0x2a8fe7(0x134)+_0x2a8fe7(0xd8),async()=>getRuntimeResourceStatus());}async function boot(){const _0x16fc57=_0x596b63;shellConfig=await loadShellConfig(resolveProjectRoot()),app[_0x16fc57(0x2c6)](shellConfig[_0x16fc57(0x2ec)+'ame']),configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController[_0x16fc57(0x194)],_0x16fc57(0x15a)),ipcLogger=createShellLogger(configController[_0x16fc57(0x194)],'ipc'),filesLogger=createShellLogger(configController[_0x16fc57(0x194)],_0x16fc57(0xfb)),rendererLogger=createShellLogger(configController['paths'],_0x16fc57(0x326)),productRuntime=await loadProductRuntime();const _0x50970d=resolveWujieApiEndpoint();diagnosticsWriter=createDiagnosticsWriter({'logsDir':configController[_0x16fc57(0x194)][_0x16fc57(0x176)],'appContext':{'productName':shellConfig[_0x16fc57(0x2ec)+'ame'],'appId':shellConfig[_0x16fc57(0x2b1)],'appVersion':app[_0x16fc57(0x17e)+'on'](),'platform':process[_0x16fc57(0x14e)],'arch':process[_0x16fc57(0x3d8)],..._0x50970d?{'apiEndpoint':_0x50970d}:{}}}),userEventWriter=createUserEventWriter({'logsDir':configController[_0x16fc57(0x194)]['logsDir'],'diagnosticsWriter':diagnosticsWriter});const _0x15f70f=await loadCreateUpdateController({'logger':mainLogger});updateController=_0x15f70f({'shellConfig':shellConfig,'appName':()=>app[_0x16fc57(0x19c)],'appVersion':()=>app['getVersi'+'on'](),'broadcast':broadcast,'logger':mainLogger}),updateController[_0x16fc57(0x123)+'ze'](),registerProcessLogHooks(),mainLogger?.[_0x16fc57(0x10a)](_0x16fc57(0x1d1)+_0x16fc57(0x1c5)+_0x16fc57(0x13e)+'ed',{'appVersion':app[_0x16fc57(0x17e)+'on'](),'electronVersion':process[_0x16fc57(0x25b)][_0x16fc57(0x1d1)],'nodeVersion':process[_0x16fc57(0x25b)][_0x16fc57(0x158)],'chromeVersion':process['versions'][_0x16fc57(0x129)],'platform':process[_0x16fc57(0x14e)],'arch':process['arch'],'mode':getMode(),'projectRoot':shellConfig[_0x16fc57(0x264)+_0x16fc57(0x23b)],'configPath':shellConfig[_0x16fc57(0x2e4)+'th'],'dataDir':shellConfig[_0x16fc57(0x195)],'logsDir':configController[_0x16fc57(0x194)]['logsDir'],'rendererUrl':process.env.VITE_DEV_SERVER_URL||join(shellConfig[_0x16fc57(0x264)+_0x16fc57(0x23b)],_0x16fc57(0x2c2),_0x16fc57(0x1df)+'ml')}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x16fc57(0x17e)+'on'](),'productRuntimeHooks':productRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),typeof productRuntime[_0x16fc57(0x319)+_0x16fc57(0x1f9)+_0x16fc57(0x381)]===_0x16fc57(0x259)&&await productRuntime[_0x16fc57(0x319)+_0x16fc57(0x1f9)+_0x16fc57(0x381)]({'configController':configController,'mainLogger':mainLogger}),typeof productRuntime[_0x16fc57(0x319)+'roductDa'+'ta']===_0x16fc57(0x259)?await productRuntime[_0x16fc57(0x319)+'roductDa'+'ta']({'configController':configController,'generatedFilesStore':ensureGeneratedFilesStore(),'mainLogger':mainLogger,'sessionSqliteStore':ensureSessionSqliteStore()}):await ensureGeneratedFilesStore()[_0x16fc57(0x3b4)+_0x16fc57(0x1a4)+'d'](),attachGatewayBroadcastHandlers(gatewayController),await installIpcHandlers(),installClawspaceProtocolHandler(),registerShellShortcuts(),await createWindow(),await gatewayController[_0x16fc57(0x12d)](),updateController[_0x16fc57(0x1ab)+_0x16fc57(0x2f4)+'hecks'](),mainLogger?.[_0x16fc57(0x10a)](_0x16fc57(0x1d1)+_0x16fc57(0x1c5)+_0x16fc57(0x3aa)+_0x16fc57(0x397));}function registerProcessLogHooks(){const _0x5989ef=_0x596b63;if(registerProcessLogHooks['register'+'ed'])return;registerProcessLogHooks[_0x5989ef(0x32a)+'ed']=!![],process['on'](_0x5989ef(0x3b3)+_0x5989ef(0x24d)+'n',_0x5771dd=>{const _0x4cbec7=_0x5989ef;mainLogger?.[_0x4cbec7(0x2bd)](_0x4cbec7(0x3b3)+'\x20excepti'+'on',summarizeError(_0x5771dd));}),process['on'](_0x5989ef(0x362)+_0x5989ef(0x2f7)+'on',_0x582ce3=>{const _0x4695ba=_0x5989ef;mainLogger?.['error'](_0x4695ba(0x362)+_0x4695ba(0x324)+_0x4695ba(0x170),summarizeError(_0x582ce3));}),app['on'](_0x5989ef(0x1f2)+'rocess-g'+'one',(_0x5bbe94,_0xc65b64,_0x3ff7f8)=>{const _0x22bcf9=_0x5989ef;mainLogger?.[_0x22bcf9(0x2bd)](_0x22bcf9(0x326)+_0x22bcf9(0x390)+_0x22bcf9(0x1b3),{'url':_0xc65b64[_0x22bcf9(0x29a)](),'details':_0x3ff7f8});}),app['on'](_0x5989ef(0xf6)+_0x5989ef(0xf2)+'ne',(_0x38ed61,_0x27c523)=>{const _0x4e1ecd=_0x5989ef;mainLogger?.['error'](_0x4e1ecd(0x1a0)+'ocess\x20go'+'ne',{'details':_0x27c523});});}app['on']('window-a'+_0x596b63(0x2f8)+'d',()=>{const _0x3e6be9=_0x596b63;if(process[_0x3e6be9(0x14e)]!==_0x3e6be9(0x2af))app[_0x3e6be9(0xda)]();}),app['on']('activate',async()=>{const _0x397279=_0x596b63;if(isQuitting){app[_0x397279(0xda)]();return;}updateController?.[_0x397279(0x147)+_0x397279(0x3a4)+_0x397279(0xdd)](_0x397279(0x1f7)+_0x397279(0x1ae)),BrowserWindow[_0x397279(0x394)+_0x397279(0x3db)]()[_0x397279(0x135)]===0x0&&shellConfig&&await createWindow();}),app['on'](_0x596b63(0x38d)+_0x596b63(0x3b8),_0x37b08f=>{const _0x56aa2c=_0x596b63;isQuitting=!![],updateController?.[_0x56aa2c(0x2e8)+_0x56aa2c(0x2da)](),terminalManager?.[_0x56aa2c(0x375)](),terminalManager=null,productRuntimeHooks?.[_0x56aa2c(0x375)]?.();for(const _0x43fa2a of Object[_0x56aa2c(0x220)](productRuntimeHooks))delete productRuntimeHooks[_0x43fa2a];if(!gatewayController)return;mainLogger?.[_0x56aa2c(0x10a)]('before\x20q'+_0x56aa2c(0x2ef)+_0x56aa2c(0x253)+_0x56aa2c(0x36a)),_0x37b08f[_0x56aa2c(0x114)+_0x56aa2c(0x291)](),void gatewayController[_0x56aa2c(0x106)]()[_0x56aa2c(0x39a)](()=>{const _0x3d0161=_0x56aa2c;gatewayController=null,mainLogger?.[_0x3d0161(0x10a)](_0x3d0161(0x207)+'stopped\x20'+_0x3d0161(0x354)+_0x3d0161(0x3b8)),app[_0x3d0161(0xda)]();});}),app['on']('will-qui'+'t',()=>{const _0x3f6eb9=_0x596b63;globalShortcut[_0x3f6eb9(0x109)+'er'](DEVTOOLS_ACCELERATOR);}),app[_0x596b63(0x27c)+'y']()[_0x596b63(0x19f)](boot)[_0x596b63(0x21e)](_0x411de3=>{const _0x4d373c=_0x596b63;bootError=_0x411de3 instanceof Error?_0x411de3[_0x4d373c(0xf4)]:String(_0x411de3),mainLogger?.[_0x4d373c(0x2bd)](_0x4d373c(0x1d1)+'\x20main\x20bo'+'ot\x20faile'+'d',summarizeError(_0x411de3)),console[_0x4d373c(0x2bd)](_0x4d373c(0x2bb)+_0x4d373c(0x33c)+_0x4d373c(0x247)+_0x4d373c(0x3bc)+_0x4d373c(0x302)+'in',_0x411de3);});
|
|
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);});
|