@wujie-shell/core 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/bin/wujie-shell.mjs +1 -1
  2. package/dist/src/agents/bundled-agent-skills.mjs +1 -1
  3. package/dist/src/agents/bundled-agents.mjs +1 -1
  4. package/dist/src/agents/codex-home.mjs +1 -1
  5. package/dist/src/agents/runtime-config.mjs +1 -1
  6. package/dist/src/chat/media-archive.mjs +1 -1
  7. package/dist/src/chat/queue.mjs +1 -1
  8. package/dist/src/common/cron-session-key.mjs +1 -1
  9. package/dist/src/common/diagnostics.mjs +1 -1
  10. package/dist/src/common/logging.mjs +1 -1
  11. package/dist/src/common/runtime-logger.mjs +1 -1
  12. package/dist/src/common/sqlite-paths.mjs +1 -1
  13. package/dist/src/common/user-events.mjs +1 -1
  14. package/dist/src/common/utils.mjs +1 -1
  15. package/dist/src/config/controller.mjs +1 -1
  16. package/dist/src/connectors/config-utils.mjs +1 -1
  17. package/dist/src/connectors/constants.mjs +1 -1
  18. package/dist/src/connectors/controller.mjs +1 -1
  19. package/dist/src/connectors/kdocs-cli.mjs +1 -1
  20. package/dist/src/connectors/lark-cli.mjs +1 -1
  21. package/dist/src/electron/instance-identity.mjs +1 -1
  22. package/dist/src/electron/main.mjs +1 -1
  23. package/dist/src/electron/preload.mjs +1 -1
  24. package/dist/src/electron/protocol-url-state.mjs +1 -1
  25. package/dist/src/events/domain-event-journal.mjs +1 -1
  26. package/dist/src/files/generated-files-store.mjs +1 -1
  27. package/dist/src/files/handlers.mjs +1 -1
  28. package/dist/src/gateway/chat-delta.mjs +1 -1
  29. package/dist/src/gateway/controller.mjs +1 -1
  30. package/dist/src/gateway/request-id-title-events.mjs +1 -1
  31. package/dist/src/gateway/ws-client.mjs +1 -1
  32. package/dist/src/index.mjs +1 -1
  33. package/dist/src/log-reporting/handlers.mjs +1 -1
  34. package/dist/src/log-reporting/report-logs.mjs +1 -1
  35. package/dist/src/models/handlers.mjs +1 -1
  36. package/dist/src/preferences/store.mjs +1 -1
  37. package/dist/src/request-id/handlers.mjs +1 -1
  38. package/dist/src/request-id/runtime-bridge.mjs +1 -1
  39. package/dist/src/request-id/session-store.mjs +1 -1
  40. package/dist/src/request-id/title.mjs +1 -1
  41. package/dist/src/review/controller.mjs +1 -1
  42. package/dist/src/runtime/cron-missed-run-policy.mjs +1 -1
  43. package/dist/src/runtime/index.mjs +1 -1
  44. package/dist/src/runtime/patch-channel-plugin-runtime.mjs +1 -1
  45. package/dist/src/runtime/patch-chat-attachment-base64.mjs +1 -1
  46. package/dist/src/runtime/patch-chat-history-mixed-tool-content.mjs +1 -1
  47. package/dist/src/runtime/patch-codex-isolated-auth.mjs +1 -1
  48. package/dist/src/runtime/patch-provider-request-id-header.mjs +1 -1
  49. package/dist/src/runtime/patch-qqbot-outbound-session-route.mjs +1 -1
  50. package/dist/src/runtime/patch-request-id-title-runtime.mjs +1 -1
  51. package/dist/src/runtime/patch-session-store-sqlite.mjs +1 -1
  52. package/dist/src/runtime/patch-weixin-outbound-session-route.mjs +1 -1
  53. package/dist/src/runtime/plugin-sync.mjs +1 -1
  54. package/dist/src/sessions/agent-sessions-map-store.mjs +1 -1
  55. package/dist/src/sessions/runtime-bridge.mjs +1 -1
  56. package/dist/src/sessions/session-data-service.mjs +1 -1
  57. package/dist/src/sessions/session-runtime-state-service.mjs +1 -1
  58. package/dist/src/sessions/session-runtime-state.mjs +1 -1
  59. package/dist/src/sessions/session-sqlite-store.mjs +1 -1
  60. package/dist/src/skills/import.mjs +1 -1
  61. package/dist/src/skills/market.mjs +1 -1
  62. package/dist/src/terminal/manager.mjs +1 -1
  63. package/dist/src/updates/controller.mjs +1 -1
  64. package/dist/src/updates/loader.mjs +1 -1
  65. package/package.json +3 -3
@@ -1 +1 @@
1
- const _0x2764ca=_0x5a9b;(function(_0x4ad616,_0x2af99a){const _0x3917df=_0x5a9b,_0x579612=_0x4ad616();while(!![]){try{const _0xd848be=parseInt(_0x3917df(0x483))/0x1*(parseInt(_0x3917df(0x305))/0x2)+parseInt(_0x3917df(0x14b))/0x3+parseInt(_0x3917df(0x134))/0x4+parseInt(_0x3917df(0x3f6))/0x5*(parseInt(_0x3917df(0x188))/0x6)+-parseInt(_0x3917df(0x45a))/0x7*(-parseInt(_0x3917df(0x1d0))/0x8)+parseInt(_0x3917df(0x29b))/0x9*(-parseInt(_0x3917df(0x7f))/0xa)+-parseInt(_0x3917df(0x40a))/0xb;if(_0xd848be===_0x2af99a)break;else _0x579612['push'](_0x579612['shift']());}catch(_0x364a64){_0x579612['push'](_0x579612['shift']());}}}(_0x3263,0x3f931));import _0x5bf69f 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';function _0x3263(){const _0x2bfd26=[':\x20stoppi','setRende','filePath','sPrivile','ead','entExmai','icon','11065505rJcaiV','loading-','.flag','et-repos','ists','Context','platform','app:info','headers','aseMailC','min','shellLog','\x20pending','code','authCode','ng;\x20recr','-exit','audio/aa','\x20excepti','isMaximi','ings',':get-clo','download','restore','saveFeis','t-stream','get-conf','sion','deletedS','folder','或\x20debug','captureT','lose','ged','ontents','em:resta','g+xml','agent\x20de','function','setImCha','rayOnClo','e:direct','readSess','replace','it-commi','closed','.mp3','tabs:pos','les:list','sessionI','lect-dir','cancelFe','\x20configu','saveWeco','getArtif','t-messag','renderer','tabs-com','d-local','enClawSk','nnel','selectAl','pened','user','isMinimi','ngUrl','producti','groups','start','it-creat','ing','models:c','ctStatus','chat:abo','ot\x20compl','untimeHa','Entry','session\x20','ector\x20se','active','14hofClN','font/otf','targetDi','reorderP','getVersi','file\x20rea','commit','normaliz','nectorCo','settings','elConfig','stream','w\x20prepar','ist','auth_cod','whenRead','protocol','.txt','\x20metric\x20','subscrib','-weixin','versions','e:shared','ontent-t','main-fra','pare','registra','filters','assign','ces.json','in;\x20char','s:hide','isDestro','liConnec','/chat/co','\x20gone','writeEve','catch','setRepos','uit','unknown','19NhtaNj','getPinne',':gateway','Dialog','event','models\x20c',':usage','controll','index.ht','type','-by-sess','w\x20instea','openFile','setLogin','.json','Custom','canceled','.ico','ed\x20mac\x20n','ocsCliCo','text/pla','revertFi','logs:get','configPa','#0000000','video/we','nstance\x20','startFei','lConfig','app:gene','+Shift+I','ls:set-e','searchPa',':unpin','Not\x20foun','IPC\x20requ','all\x20in\x20p','r\x20ready','tIdTitle','ot\x20initi','readConf','logs\x20dir','window:m','id\x20title','-state-c','orConfig','e:write-','ackgroun','showOpen','msvideo','-context','index.mj','url','tateDir','now','config:c','ded','6730icKVwu','nConfig','rControl','ocess\x20go','\x20shortcu','nnelEnab','top_done','rerReady','igSnapsh','ipc\x20requ','window:t','s:delete','ontext','product\x20',':input','ase','match','ryPath','ipc','SchemesA','hanged','onChatHi','saveTenc','binary\x20f','second-i','tease-ma','peratedM','navigati','map','resolve',':save-qq','feishu','agents:w','Invalid\x20','uest-age','nnectSes','handle','zed','ntime','yInfo','ell\x20boot','atus','keepUnti','register','byteLeng','annelCon','openDevT','config','d\x20is\x20req','sses','figs','urnSnaps','ith-sess','Event','changeKi','inactive','skills:i','sourcePa','edCount','debug','requestB','est_fail',':save-we','createBr','://','chatChan','getState','context','lastInde','\x20url\x20dis','und','bytes','get','-once','ncent-do','pull','ad-binar','ile\x20writ','indowTok','tage-fil','files:re','log','plugin\x20e','child-pr','les:upse','l\x20event','content-','text/mar',':runtime','bytes\x20','about','nimize\x20t','sidebar','setAsDef','parentSe','saveNetE','leted','kdown;\x20c','rogress,','无法解析本地文件','et-setti','ionEvent','ectory','onnector','ite','ntext','listSess','skills:d','.woff','\x20log','execPath','artifact','hell]\x20fa','rver','indowSou','isLoadin',':complet','[wujie-s','sPath','Updates','openDire','i-window','nectSess','\x20quit','pathname','chat:str','getFeish','image/sv','image/jp','audio/wa','\x20updater','tewayEve','InFolder','tion\x20fai','audio/og','app:prot','limit','enable','redo','ProductR','tSession','ile\x20comp','quit','startBac','equested','ory-info','dCheck','contextW','-data','ls:delet','ocs','tic',':rename','payload','then','length,\x20','m-channe','utf8','cationMe','migrateP','bject','efault','\x20main\x20wi','-status-','dSession','captureI','showItem',':reorder',':choose-','fetch',':snapsho','windowMe','finally','product','help','dAt','exec','reposito','omplete','alized','skills','1503448emiyDW','vate','window\x20a','parseInt','lawSkill','tabs-age','.avi','no-store','stage','hide','.jpg','inimize','board:wr','child\x20pr','te:get-s','\x20main\x20bo','top_star','open-url','runOnce','ections','indexOf','der/mode','Ready','756156gvKfNC','c\x20window','.md','emoji','setOpenC','_session','trationS','input','has','send','number','cron:rem','unregist','devtools','igWriteH','shell\x20lo','nel',':save-te','oot','avatar','main','dingUrl','em:open-','stomMode','nelSessi','content','s-snapsh','re\x20confi','agent\x20al','Update','agentId','window:c','nstance','cCliConn','app\x20url',':close','-request','o\x20hide','t\x20initia','ile\x20read','iled\x20to\x20','ted','tabs:nav','path','d\x20of\x20min','webConte','toLowerC','node:fs/','Unsuppor','config:r','runtimeI','\x20before\x20','ms-fonto','resize',':pin','getPath','.mp4','wBin','find','isIntege','chat-str','6gPTRgR','ector:\x20','\x20not\x20con','mac-mini','ywhere','activate','getOpaci','shuRegis','hostname','hell:ipc','llscreen','before-q','paste','app_acti','Config','ig\x20is\x20no','ryInfo','\x20failed:','paths','ndow-pre','delete','enClawCo','range,\x20c','hell:eve','file:','setOpaci','ctory','config:i',':save-kd','rn、info\x20','l\x20first','upsert','set','d\x20comple','will-qui','getRecen','token','argv','.html','maxToken','acts','chat','onfigPat','ionUsage','gateway\x20','all','app:file','isFile','e\x20direct','control','app:clip','\x20found:\x20','tup:get','product-','enClawCh','manifest','lawPlugi','window','\x20open\x20bl','t=utf-8','napshot','choices','jie-shel','Observed','shell-ru','ources','main\x20win','.wasm','files:li','app:syst','ted\x20conn','remove','878704yhFDfa','diagnost','resolveC','nfig','ocol-url','talkDocC','runtimeR','complete','t:\x20','ed\x20windo','queueUrl','dev','redConte','\x20url\x20flu','clawspac','chrome','onnectSt','saveQqMa','before\x20i','\x20event\x20f','.webm','-info','huChanne','select\x20f','stringif','-questio','ort','EventCou','openPath','irectory','review:g','video/x-','toString','openAtLo',':start','syncRunt','warn',':fork',':save-ne',':process','before\x20q','e\x20url','ite-bina','agent_id','plugins:','writeCon','ndow','itialize','tml','ion','json','s:upsert','trim','rce','g\x20level\x20','ishuRegi','ges','prod','lue','cron','it-unsta','-logs','.m4a','wujie-sh','xOf','timeout',':revisio','ion/octe','fromWebC','bot-chan','creating','rated-fi','lized','files','cutoffRo','terminal','listImCh','deleteIm','nts','plugins','iff','split','ishu-doc','OPTIONS','eRuntime','enClawMc','generate','close','open','exit','app.asar','win32','-restart','mport-zi',':set-clo','_body_re','ssion','tanceLoc','ateway_s','quitAndI','ired',';\x20charse','length','ed:\x20','pendingU','ions-lis','roundCol','.jpeg','includes','dataDir','before-i','temperat','reasonin','led','torConfi','te\x20compl','上传日志...','sharedCo','State',':loading','isDirect','openclaw','.eot','file\x20wri','Keys','\x20url\x20que','show','CommandO','promises','setBackg','agent-','video/qu','forceRel','-ready','dled-res','\x20client\x20','models:s','recursiv','keyDown','ion/wasm','loadURL','node','deleteOp','startWec',':events','figured:','changed','model','com-chan','ndows',':status','isabled','runtime:','n-direct','roductDa','ted-stat','/index.h','separato','window:o','ion-menu','install',':diagnos','files:se','request-','-session','push','ctron\x20ma','skills:s','日志等级必须是\x20','list','ell\x20gate','getAppPa','way\x20is\x20n','agent\x20id','storyLoa','add','unhandle','review:r','origin','inned','runtime\x20','ued\x20befo','huDocCon','shuDocCl','requestS','rams','closeToT','workspac','app:tray','services','pServer','ternally','set=utf-','hatChann','.ttf','.wav','found','selected','fromIpc','restore\x20','\x20window\x20','messages','review:s','5841CSUuox','toISOStr','meState','keys','key','ove','detach','model\x20ht','est\x20fail','saveQqbo','listSumm','ready\x20ex','parse',':run-onc','href','answerAs','tLogs','ectSessi','force','onfig\x20up','pluginId','sourceSe','sessions','isDefaul','ap:get','userData','max','ory\x20open','dels','[REDACTE','est\x20comp','getAllWi','local','saveDing','l\x20prepar','status','customNa','g\x20native','edWindow','entDocsC','g\x20ready','sessionK','initiali','font/wof','one','nfo','ools','review:d','s:reveal','record','preferen','ell\x20conf','model-id','toWeb','nt-state','attachGa','deleteCu','multiSel','maximize','director','lawChann','startsWi','showSave','ndlers','app:open','ocolClie','ModelId',':resize','models','ernal\x20ur','\x20process','eam-even','shing','uri','isArray','-url','create','ion/java','size','updateOp','meFilter','setPendi','文件不存在,无法','ll-close','bin','nstallin','gatewayP','s-maximi','cron:log','HEAD','restart','font/ttf','l;\x20chars','Everywhe','arch','shared-c','wujiecla','mChannel','pper\x20not','primary','provider','ssion:\x20','error','mized-wi','saveCust','yed','35876tcGgoz','dow\x20load','ilConnec','maxEntri','agents:d','defaultF','-shortcu','startKdo','\x20allowin','BodyRead','.ogg','audio/mp','GET,\x20HEA','ng\x20gatew','write','ctivatio','ishu-cha','isPackag','defaults','mail','fromEntr','stop','gateway-','\x20url\x20rec','role','lingUpda','method','update_g','rocess-g','audio/fl','Bearer\x20','ionEntry','tabs:ref','Suppress','hideOthe','e\x20first.','dRejecti','ory','ame','no\x20defau','uRegistr','image/we','lawMcpSe','ted-ever','lTs','isFinite','reverse','buildFro','ad_suppr','name','resh-age','harset=u','returnVa','meta','\x20a\x20provi','rnal','y\x20stoppe','writeSha','ItemSett','.mkv','image/x-','nabled','\x20is\x20requ','nstall','omModel','isInstal','-mail','relaunch','wechat','count','open\x20ext','ion/json','app:log-','agent-ev','ssionKey','select\x20d','gatewayT','applicat','ocked','logs:exp','et-selec','text/htm','igate','files:wr','matroska','evert-fi','-status','stageFil','object','filter','mjs','otAfterI','Exceptio','g\x20update','https://','quired','logLevel','darwin','failed','ap:upser','cancelKd','app','-state-s','tus','agents:l','state','gitStatu','logs:ope','dispose','feishu_d','oken','ai.com/v','pdated','it-fetch','timeoutM','uDocCliC','dated','d\x20failed','\x20request','message','onfig',':save','ncy','setVibra','ued\x20for\x20','preload.','checkFor','electron','pdate','\x20minimiz','illEntry','.mjs','title','video/mp','cutoffTe','slice','preventD','channelI','h-branch','ignore','elete','oad','it-switc','te:downl','oggle-ma','writeTex','odels','logs:lis','resource','level','cut','hideBySe','ask-user','ell:even','ate\x20inst','agent','les:reve','required','mTemplat','ncident','some','it-push','POST','.bmp','logs:rea','ocus','lClient',':open-cl','projectR','eated','g_conten','agents','-life-cy','focus','getStatu','ate',':agent-m','ishuDocC','ey\x20is\x20re','path\x20is\x20','string','.otf','minimize','ettings','markQuit','e\x20comple','entries','tate','started','and-inst','logs:wri','report-r','productN','kdocs','.woff2',':save-di','extensio','resolveS','info','hiddenIn','logsDir','recordBo','script;\x20','tp\x20','utf-8','-level','entModel','onReques','ChannelC','ncent-ex','text','logs','n\x20failed','Level','eating','ot\x20faile','sender','.mov','app:upda','dist','missing-','getURL','appId','h\x0aexec\x20\x22','rename','ype','switchBr','ion/vnd.','app:star','tatus','stration','succeede','saveKdoc','getSumma','\x20entry\x20f','image/bm','les:hide','eted','image/gi','lConnect','anch','2573605zADSRn','ing\x20mini','les:dele','operated','fig','cron:cre','th\x20is\x20re','uncaught','s:list','-pinned','\x20complet','ocess-go','readCurr'];_0x3263=function(){return _0x2bfd26;};return _0x3263();}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';function _0x5a9b(_0x57bb8e,_0x4f3752){_0x57bb8e=_0x57bb8e-0x6e;const _0x326372=_0x3263();let _0x5a9b09=_0x326372[_0x57bb8e];return _0x5a9b09;}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{createReviewController}from'../review/controller.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';import{configureElectronInstance}from'./instance-identity.mjs';const __dirname=dirname(fileURLToPath(import.meta.url)),preloadPath=join(__dirname,_0x2764ca(0x382)+_0x2764ca(0x35f)),{app,BrowserWindow,Menu,clipboard,dialog,globalShortcut,ipcMain,protocol,shell}=_0x5bf69f,DEVTOOLS_ACCELERATOR=_0x2764ca(0x24f)+_0x2764ca(0x81)+_0x2764ca(0x4a1),APP_RENDERER_PROTOCOL_SCHEME=_0x2764ca(0x36a),APP_RENDERER_PROTOCOL_HOST='-',APP_RENDERER_ENTRY_URL=APP_RENDERER_PROTOCOL_SCHEME+'://'+APP_RENDERER_PROTOCOL_HOST+(_0x2764ca(0x26c)+_0x2764ca(0x200)),CLAWSPACE_PROTOCOL_SCHEME=_0x2764ca(0x1de)+'e',DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x2764ca(0x44c)+'on',IPC_SLOW_REQUEST_THRESHOLD_MS=0x1f4,SHELL_LOG_LEVELS=new Set(['error',_0x2764ca(0x1f4),_0x2764ca(0x3cb),_0x2764ca(0xba)]),LOCAL_FILE_MIME_TYPES=new Map([[_0x2764ca(0x1ae),'text/htm'+_0x2764ca(0x2f7)+'et=utf-8'],['.htm',_0x2764ca(0x356)+'l;\x20chars'+'et=utf-8'],[_0x2764ca(0x46b),_0x2764ca(0x497)+_0x2764ca(0x478)+_0x2764ca(0x290)+'8'],[_0x2764ca(0x14d),_0x2764ca(0xd6)+_0x2764ca(0xe0)+_0x2764ca(0x338)+'tf-8'],['.js',_0x2764ca(0x352)+_0x2764ca(0x2e8)+_0x2764ca(0x3cf)+'charset='+_0x2764ca(0x3d1)],[_0x2764ca(0x388),'applicat'+_0x2764ca(0x2e8)+_0x2764ca(0x3cf)+'charset='+_0x2764ca(0x3d1)],['.css','text/css'+_0x2764ca(0x235)+_0x2764ca(0x1c3)],[_0x2764ca(0x491),'applicat'+_0x2764ca(0x34c)+';\x20charse'+_0x2764ca(0x1c3)],['.map',_0x2764ca(0x352)+'ion/json'+_0x2764ca(0x235)+_0x2764ca(0x1c3)],[_0x2764ca(0x13e),_0x2764ca(0xff)+'eg'],[_0x2764ca(0x23b),_0x2764ca(0xff)+'eg'],['.png','image/pn'+'g'],['.gif',_0x2764ca(0x3f3)+'f'],[_0x2764ca(0x3a8),_0x2764ca(0x3f0)+'p'],['.svg',_0x2764ca(0xfe)+_0x2764ca(0x42e)],['.webp',_0x2764ca(0x32e)+'bp'],[_0x2764ca(0x494),_0x2764ca(0x341)+_0x2764ca(0x409)],[_0x2764ca(0x183),_0x2764ca(0x38a)+'4'],[_0x2764ca(0x3de),_0x2764ca(0x253)+'icktime'],[_0x2764ca(0x13a),'video/x-'+_0x2764ca(0x77)],[_0x2764ca(0x340),_0x2764ca(0x1ef)+_0x2764ca(0x359)],[_0x2764ca(0x1e4),_0x2764ca(0x49c)+'bm'],[_0x2764ca(0x438),'audio/mp'+'eg'],[_0x2764ca(0x293),_0x2764ca(0x100)+'v'],[_0x2764ca(0x20e),_0x2764ca(0x310)+'4'],['.aac',_0x2764ca(0x41b)+'c'],[_0x2764ca(0x30f),_0x2764ca(0x105)+'g'],['.flac',_0x2764ca(0x322)+'ac'],[_0x2764ca(0xeb),_0x2764ca(0x2c6)+'f'],[_0x2764ca(0x3c7),_0x2764ca(0x2c6)+'f2'],[_0x2764ca(0x292),_0x2764ca(0x2f6)],[_0x2764ca(0x3ba),_0x2764ca(0x45b)],[_0x2764ca(0x24a),_0x2764ca(0x352)+_0x2764ca(0x3e8)+_0x2764ca(0x17f)+_0x2764ca(0x11f)],[_0x2764ca(0x1cb),_0x2764ca(0x352)+_0x2764ca(0x25b)]]);protocol['register'+_0x2764ca(0x92)+_0x2764ca(0x406)+_0x2764ca(0x42b)]([{'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 macMinimizeToHideWindows=new WeakSet(),macMinimizeHidePromises=new WeakMap(),rendererSessionMetrics={'inactiveEventCount':0x0,'inactiveBodyReadSuppressedCount':0x0},RENDERER_SESSION_METRIC_LOG_INTERVAL=0x19;function isProductionMode(){const _0x4a7bf2=_0x2764ca;return process.env.NODE_ENV===_0x4a7bf2(0x44c)+'on';}function resolveDevToolsFlagPath(){const _0x5aec83=_0x2764ca;return shellConfig?.['dataDir']?join(shellConfig['dataDir'],_0x5aec83(0x158)+_0x5aec83(0x40c)):'';}function isDevToolsEnabled(){if(!isProductionMode())return!![];const _0x433617=resolveDevToolsFlagPath();return Boolean(_0x433617)&&existsSync(_0x433617);}function attachGatewayBroadcastHandlers(_0x32ae49){const _0x5c408c=_0x2764ca;for(const _0x3503fe of[_0x5c408c(0x31b)+_0x5c408c(0x2be),'gateway-'+_0x5c408c(0xd0),_0x5c408c(0x187)+_0x5c408c(0x2e2)+'t',_0x5c408c(0x34e)+'ent','agents-u'+_0x5c408c(0x375),'ask-user'+_0x5c408c(0x1e9)+'n']){_0x32ae49['on'](_0x3503fe,_0x2d8fbf=>broadcast(_0x3503fe,_0x2d8fbf));}}function ensureSessionSqliteStore(){const _0x3f543b=_0x2764ca;if(sessionSqliteStore)return sessionSqliteStore;if(!configController)throw new Error(_0x3f543b(0x20f)+_0x3f543b(0x2ce)+_0x3f543b(0x197)+_0x3f543b(0x171)+_0x3f543b(0x218));return sessionSqliteStore=createSessionSqliteStore({'stateDir':configController[_0x3f543b(0x3ca)+_0x3f543b(0x7b)]()}),sessionSqliteStore;}function ensureSessionDataService(){const _0x2f2353=_0x2764ca;if(sessionDataService)return sessionDataService['attachGa'+_0x2f2353(0x102)+_0x2f2353(0x21e)]?.(gatewayController),sessionDataService;if(!configController)throw new Error(_0x2f2353(0x20f)+'ell\x20conf'+'ig\x20is\x20no'+_0x2f2353(0x171)+_0x2f2353(0x218));return sessionDataService=createSessionDataService({'stateDir':configController[_0x2f2353(0x3ca)+_0x2f2353(0x7b)](),'sessionSqliteStore':ensureSessionSqliteStore(),'gatewayController':gatewayController,'broadcast':broadcast,'logger':mainLogger}),sessionDataService[_0x2f2353(0x46d)+_0x2f2353(0x224)+_0x2f2353(0x246)]?.(_0x4da678=>{const _0x57561e=_0x2f2353;broadcast(_0x57561e(0x2b1)+':runtime'+_0x57561e(0x72)+_0x57561e(0x93),_0x4da678);}),sessionDataService[_0x2f2353(0x2d2)+_0x2f2353(0x102)+'nts']?.(),sessionDataService;}function updateRendererSessionMetrics(_0xfb1d62){const _0x446b6e=_0x2764ca;if(!_0xfb1d62||typeof _0xfb1d62!==_0x446b6e(0x35d))return;if(_0xfb1d62[_0x446b6e(0x487)]!=='inactive'+_0x446b6e(0x150)+'_body_re'+_0x446b6e(0x335)+'essed')return;const _0x5f2365=_0xfb1d62[_0x446b6e(0x33a)]&&typeof _0xfb1d62[_0x446b6e(0x33a)]==='object'?_0xfb1d62[_0x446b6e(0x33a)]:{},_0x3f8503=Number(_0x5f2365[_0x446b6e(0x34a)]);if(!Number[_0x446b6e(0x332)](_0x3f8503)||_0x3f8503<=rendererSessionMetrics['inactive'+_0x446b6e(0x30e)+_0x446b6e(0x326)+_0x446b6e(0xb9)])return;rendererSessionMetrics[_0x446b6e(0xb6)+_0x446b6e(0x30e)+_0x446b6e(0x326)+_0x446b6e(0xb9)]=_0x3f8503,rendererSessionMetrics[_0x446b6e(0xb6)+_0x446b6e(0x1eb)+'nt']=Math[_0x446b6e(0x2b5)](rendererSessionMetrics[_0x446b6e(0xb6)+'EventCou'+'nt'],_0x3f8503);if(_0x3f8503!==0x1&&_0x3f8503%RENDERER_SESSION_METRIC_LOG_INTERVAL!==0x0)return;mainLogger?.[_0x446b6e(0x3cb)]?.(_0x446b6e(0x457)+_0x446b6e(0x442)+_0x446b6e(0x46c)+'updated',{'metric':'inactive'+_0x446b6e(0x150)+_0x446b6e(0x22f)+_0x446b6e(0x335)+'essed','inactiveEventCount':rendererSessionMetrics[_0x446b6e(0xb6)+_0x446b6e(0x1eb)+'nt'],'inactiveBodyReadSuppressedCount':rendererSessionMetrics[_0x446b6e(0xb6)+_0x446b6e(0x30e)+'Suppress'+_0x446b6e(0xb9)],'changeKind':typeof _0x5f2365[_0x446b6e(0xb5)+'nd']===_0x446b6e(0x3b9)?_0x5f2365['changeKi'+'nd']:null,'origin':typeof _0x5f2365[_0x446b6e(0x282)]===_0x446b6e(0x3b9)?_0x5f2365['origin']:null});}function ensureGeneratedFilesStore(){const _0x12e209=_0x2764ca;if(generatedFilesStore)return generatedFilesStore;if(!configController)throw new Error(_0x12e209(0x20f)+'ell\x20conf'+_0x12e209(0x197)+_0x12e209(0x171)+_0x12e209(0x218));return generatedFilesStore=createGeneratedFilesStore({'stateDir':configController[_0x12e209(0x3ca)+_0x12e209(0x7b)]()}),generatedFilesStore;}async function ensureGatewayControllerStarted(){const _0x1ac6d0=_0x2764ca;if(!gatewayController&&(!shellConfig||!configController))throw new Error(bootError?_0x1ac6d0(0x20f)+_0x1ac6d0(0xa7)+_0x1ac6d0(0x199)+'\x20'+bootError:_0x1ac6d0(0x20f)+_0x1ac6d0(0x27a)+_0x1ac6d0(0x27c)+'ot\x20initi'+'alized');return!gatewayController&&(mainLogger?.[_0x1ac6d0(0x1f4)](_0x1ac6d0(0x1b4)+_0x1ac6d0(0x48a)+'er\x20missi'+_0x1ac6d0(0x419)+_0x1ac6d0(0x3db)),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app['getVersi'+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService()),await gatewayController['start'](),gatewayController;}function getMode(){const _0x4b40f7=_0x2764ca;return process.env.VITE_DEV_SERVER_URL?_0x4b40f7(0x1db):_0x4b40f7(0x209);}function isGatewayNotInitializedError(_0x3800e0){const _0x483a0d=_0x2764ca;return _0x3800e0 instanceof Error&&_0x3800e0[_0x483a0d(0x37c)]===_0x483a0d(0x20f)+_0x483a0d(0x27a)+_0x483a0d(0x27c)+_0x483a0d(0x4aa)+_0x483a0d(0x132);}function revealPathInFolder(_0x3eff70){const _0x2feee4=_0x2764ca,_0x4417f4=String(_0x3eff70||'')[_0x2feee4(0x204)]();if(!_0x4417f4)return{'ok':![],'error':_0x2feee4(0x3b8)+_0x2feee4(0x3a2)};let _0x680a0=_0x4417f4;if(_0x4417f4[_0x2feee4(0x2d8)+'th'](CLAWSPACE_PROTOCOL_SCHEME+':'))_0x680a0=decodeClawspacePath(_0x4417f4)||'';else{if(_0x4417f4[_0x2feee4(0x2d8)+'th'](_0x2feee4(0x1a0)))try{_0x680a0=fileURLToPath(_0x4417f4);}catch{_0x680a0='';}}if(!_0x680a0)return{'ok':![],'error':_0x2feee4(0xe2)+'路径'};if(!existsSync(_0x680a0))return{'ok':![],'error':_0x2feee4(0x2ed)+'在电脑中显示'};return shell[_0x2feee4(0x125)+_0x2feee4(0x103)](_0x680a0),{'ok':!![]};}function resolveProjectRoot(){const _0x2a175e=_0x2764ca;if(process.env.WUJIE_SHELL_PROJECT_ROOT)return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT);if(app[_0x2a175e(0x316)+'ed']&&process[_0x2a175e(0x399)+_0x2a175e(0xf5)])return join(process[_0x2a175e(0x399)+'sPath'],_0x2a175e(0x22a));return resolve(process['cwd']());}function resolveProtocolScheme(){const _0xef3021=_0x2764ca;return typeof shellConfig?.['protocol']===_0xef3021(0x3b9)?shellConfig[_0xef3021(0x46a)][_0xef3021(0x204)]():'';}function summarizeProtocolUrl(_0x199f0e){const _0x29b913=_0x2764ca,_0x11ef5a=typeof _0x199f0e===_0x29b913(0x3b9)?_0x199f0e:'';if(!_0x11ef5a)return summarizeText('',0xa0);try{const _0x43f127=new URL(_0x11ef5a);for(const _0x36e00d of[_0x29b913(0x418),_0x29b913(0x468)+'e',_0x29b913(0x417),_0x29b913(0x1ac),_0x29b913(0x36e)]){_0x43f127[_0x29b913(0x4a3)+_0x29b913(0x289)][_0x29b913(0x153)](_0x36e00d)&&_0x43f127[_0x29b913(0x4a3)+'rams'][_0x29b913(0x1a8)](_0x36e00d,_0x29b913(0x2b8)+'D]');}return summarizeText(_0x43f127[_0x29b913(0x1f0)](),0xa0);}catch{return summarizeText(_0x11ef5a,0xa0);}}function extractProtocolUrlFromArgs(_0x5246d0=[]){const _0x4b199e=_0x2764ca,_0x4106e2=resolveProtocolScheme();if(!_0x4106e2)return null;return _0x5246d0[_0x4b199e(0x185)](_0x523a1b=>{const _0x3206d3=_0x4b199e;if(typeof _0x523a1b!==_0x3206d3(0x3b9))return![];return _0x523a1b['startsWi'+'th'](_0x4106e2+'://');})||null;}function getUsableMainWindow(){const _0xfd9804=_0x2764ca;if(!mainWindow)return null;if(mainWindow[_0xfd9804(0x47a)+_0xfd9804(0x304)]())return mainWindow=null,protocolUrlState[_0xfd9804(0x404)+_0xfd9804(0x86)](![]),null;if(mainWindow[_0xfd9804(0x178)+_0xfd9804(0x21e)]?.[_0xfd9804(0x47a)+'yed']?.())return mainWindow=null,protocolUrlState['setRende'+'rerReady'](![]),null;return mainWindow;}async function ensureMainWindow(){const _0x4e442b=_0x2764ca,_0x45a14e=getUsableMainWindow();if(_0x45a14e)return _0x45a14e;if(!shellConfig||!ipcHandlersInstalled)return null;return!createWindowPromise&&(createWindowPromise=createWindow()[_0x4e442b(0x12b)](()=>{createWindowPromise=null;})),await createWindowPromise,getUsableMainWindow();}async function prepareMacMinimizedMainWindow(_0x4460f3,_0x570870){const _0x499801=_0x2764ca;if(process[_0x499801(0x410)]!==_0x499801(0x366)||!_0x4460f3||_0x4460f3[_0x499801(0x47a)+_0x499801(0x304)]()||!_0x4460f3[_0x499801(0x44a)+_0x499801(0xa4)]())return _0x4460f3;return mainLogger?.['warn'](_0x499801(0x461)+_0x499801(0x3f7)+'mized\x20ma'+_0x499801(0x14c)+_0x499801(0x17e)+_0x499801(0x24e),{'reason':_0x570870}),await normalizeMacMinimizeHide(_0x4460f3,{'force':!![]}),_0x4460f3;}async function showMainWindowFromExternalActivation(_0x3dfb29,_0x13a150){const _0x5224e6=_0x2764ca,_0x5c2b16=await prepareMacMinimizedMainWindow(_0x3dfb29,_0x13a150);if(!_0x5c2b16||_0x5c2b16[_0x5224e6(0x47a)+_0x5224e6(0x304)]())return null;if(_0x5c2b16[_0x5224e6(0x44a)+_0x5224e6(0xa4)]())_0x5c2b16[_0x5224e6(0x421)]();return _0x5c2b16[_0x5224e6(0x24e)](),_0x5c2b16[_0x5224e6(0x3b2)](),process[_0x5224e6(0x410)]===_0x5224e6(0x366)&&macMinimizeToHideWindows[_0x5224e6(0x19c)](_0x5c2b16),_0x5c2b16;}function minimizeOrHideWindow(_0x5bbec5){const _0x3e48c9=_0x2764ca;if(!_0x5bbec5||_0x5bbec5[_0x3e48c9(0x47a)+'yed']())return;if(process[_0x3e48c9(0x410)]===_0x3e48c9(0x366)){mainLogger?.[_0x3e48c9(0x3cb)]('hiding\x20m'+'ac\x20windo'+_0x3e48c9(0x48e)+_0x3e48c9(0x177)+'imizing'),_0x5bbec5[_0x3e48c9(0x13d)]();return;}_0x5bbec5[_0x3e48c9(0x3bb)]();}function scheduleMacMinimizeHide(_0x529a11){const _0xc6b546=_0x2764ca;if(process[_0xc6b546(0x410)]!==_0xc6b546(0x366)||!_0x529a11||_0x529a11[_0xc6b546(0x47a)+_0xc6b546(0x304)]())return Promise[_0xc6b546(0x9c)]();return macMinimizeToHideWindows[_0xc6b546(0x27f)](_0x529a11),normalizeMacMinimizeHide(_0x529a11);}function normalizeMacMinimizeHide(_0x72007,_0xe04da5={}){const _0x46068a=_0x2764ca;if(process[_0x46068a(0x410)]!==_0x46068a(0x366)||!_0x72007||_0x72007['isDestro'+'yed']()||!_0xe04da5[_0x46068a(0x2ad)]&&!macMinimizeToHideWindows['has'](_0x72007))return Promise[_0x46068a(0x9c)]();const _0x304c02=macMinimizeHidePromises[_0x46068a(0xc7)](_0x72007);if(_0x304c02)return _0x304c02;const _0x1a7283=((async()=>{const _0x23b3c9=_0x46068a;let _0x9173ae=0x1,_0x185e6c=![];try{_0x9173ae=_0x72007[_0x23b3c9(0x18e)+'ty'](),_0x72007[_0x23b3c9(0x1a1)+'ty'](0x0);for(const _0x368f35 of[0x0,0x32,0x78,0xfa]){_0x368f35>0x0&&await new Promise(_0x7cb23f=>setTimeout(_0x7cb23f,_0x368f35));if(_0x72007[_0x23b3c9(0x47a)+_0x23b3c9(0x304)]())return;const _0x128036=_0x72007[_0x23b3c9(0x44a)+_0x23b3c9(0xa4)]();_0x128036&&(_0x72007['restore'](),_0x185e6c=!![]),_0x72007[_0x23b3c9(0x13d)]();}mainLogger?.[_0x23b3c9(0x3cb)]('normaliz'+_0x23b3c9(0x495)+'ative\x20mi'+_0x23b3c9(0xda)+_0x23b3c9(0x170),{'restoredFromMinimize':_0x185e6c});}finally{!_0x72007[_0x23b3c9(0x47a)+_0x23b3c9(0x304)]()&&_0x72007['setOpaci'+'ty'](_0x9173ae),macMinimizeHidePromises['delete'](_0x72007);}})());return macMinimizeHidePromises['set'](_0x72007,_0x1a7283),_0x1a7283;}function restoreMainWindowForPendingProtocolUrl(){const _0x378591=_0x2764ca;if(!shellConfig)return;void ensureMainWindow()[_0x378591(0x47f)](_0x273cf4=>{const _0x9f7ed9=_0x378591;mainLogger?.['error'](_0x9f7ed9(0x46a)+_0x9f7ed9(0x298)+_0x9f7ed9(0x297)+'failed',summarizeError(_0x273cf4));});}function queueProtocolUrl(_0xe67e7d,_0x67abde,_0x52e3c5=null){const _0x2f4edd=_0x2764ca,{duplicate:_0x42a09f}=protocolUrlState[_0x2f4edd(0x1da)](_0xe67e7d);mainLogger?.['warn'](_0x2f4edd(0x46a)+_0x2f4edd(0x24d)+_0x2f4edd(0x381)+'renderer',{'url':summarizeProtocolUrl(_0xe67e7d),'reason':_0x67abde,'duplicatePending':_0x42a09f,'hasWindow':Boolean(_0x52e3c5),'isLoadingMainFrame':Boolean(_0x52e3c5?.[_0x2f4edd(0x178)+_0x2f4edd(0x21e)][_0x2f4edd(0xf2)+'gMainFra'+'me']()),'protocolRendererReady':protocolUrlState[_0x2f4edd(0x442)+'Ready']});}function dispatchProtocolUrl(_0x5a0d60){const _0x5b0b50=_0x2764ca,_0x524236=resolveProtocolScheme();if(typeof _0x5a0d60!=='string')return;if(!_0x524236){protocolUrlState[_0x5b0b50(0x2ec)+'ngUrl'](_0x5a0d60),mainLogger?.['warn'](_0x5b0b50(0x46a)+'\x20url\x20que'+_0x5b0b50(0x285)+_0x5b0b50(0x166)+_0x5b0b50(0x2c3),{'url':summarizeProtocolUrl(_0x5a0d60)});return;}if(!_0x5a0d60[_0x5b0b50(0x2d8)+'th'](_0x524236+_0x5b0b50(0xbf)))return;mainLogger?.[_0x5b0b50(0x1f4)](_0x5b0b50(0x46a)+_0x5b0b50(0x31c)+'eived',{'url':summarizeProtocolUrl(_0x5a0d60)});const _0x176886=getUsableMainWindow();if(!_0x176886){queueProtocolUrl(_0x5a0d60,_0x5b0b50(0x3e1)+_0x5b0b50(0x1c1));if(!_0x176886)restoreMainWindowForPendingProtocolUrl();return;}if(process[_0x5b0b50(0x410)]===_0x5b0b50(0x366)&&_0x176886[_0x5b0b50(0x44a)+_0x5b0b50(0xa4)]()){queueProtocolUrl(_0x5a0d60,_0x5b0b50(0x18b)+_0x5b0b50(0x302)+_0x5b0b50(0x19b)+_0x5b0b50(0x473),_0x176886),void showMainWindowFromExternalActivation(_0x176886,'protocol'+_0x5b0b50(0x2e6))[_0x5b0b50(0x119)](_0x1e2144=>{if(_0x1e2144)flushPendingProtocolUrl();})['catch'](_0x2ff743=>{const _0x413141=_0x5b0b50;mainLogger?.['error']('protocol'+_0x413141(0x386)+_0x413141(0x1d9)+_0x413141(0x466)+'e\x20failed',{'url':summarizeProtocolUrl(_0x5a0d60),'error':summarizeError(_0x2ff743)});});return;}if(_0x176886[_0x5b0b50(0x178)+_0x5b0b50(0x21e)]['isLoadin'+'gMainFra'+'me']()){queueProtocolUrl(_0x5a0d60,_0x5b0b50(0x40b)+_0x5b0b50(0x472)+'me',_0x176886);return;}if(!protocolUrlState[_0x5b0b50(0x442)+_0x5b0b50(0x14a)]){queueProtocolUrl(_0x5a0d60,_0x5b0b50(0x442)+'-not-rea'+'dy',_0x176886);return;}_0x176886[_0x5b0b50(0x24e)](),_0x176886[_0x5b0b50(0x3b2)](),broadcast('app:prot'+_0x5b0b50(0x1d4),_0x5a0d60),mainLogger?.[_0x5b0b50(0x1f4)](_0x5b0b50(0x46a)+_0x5b0b50(0xc4)+'patched',{'url':summarizeProtocolUrl(_0x5a0d60),'protocolRendererReady':protocolUrlState[_0x5b0b50(0x442)+_0x5b0b50(0x14a)]});}function flushPendingProtocolUrl(){const _0x1f6489=_0x2764ca,_0x39298d=protocolUrlState['clearPen'+_0x1f6489(0x160)]();if(!_0x39298d)return;mainLogger?.[_0x1f6489(0x1f4)](_0x1f6489(0x46a)+_0x1f6489(0x416)+_0x1f6489(0x1dd)+_0x1f6489(0x2e3),{'url':summarizeProtocolUrl(_0x39298d)}),void dispatchProtocolUrl(_0x39298d);}function getLocalFileMimeType(_0x59a13a){const _0xd8437b=_0x2764ca;return LOCAL_FILE_MIME_TYPES[_0xd8437b(0xc7)](_0x59a13a[_0xd8437b(0x38c)](_0x59a13a[_0xd8437b(0xc3)+_0xd8437b(0x210)]('.'))[_0xd8437b(0x179)+_0xd8437b(0x8e)]())||_0xd8437b(0x352)+_0xd8437b(0x213)+_0xd8437b(0x423);}function resolveRendererDistDir(){const _0x4c694c=_0x2764ca;return join(shellConfig['projectR'+'oot'],_0x4c694c(0x3e0));}function decodeAppRendererPath(_0x5acf34){const _0x32f7ca=_0x2764ca;try{const _0x4dc68f=new URL(_0x5acf34);if(_0x4dc68f['protocol']!==APP_RENDERER_PROTOCOL_SCHEME+':')return null;if(_0x4dc68f[_0x32f7ca(0x190)]!==APP_RENDERER_PROTOCOL_HOST)return null;const _0x118610=resolveRendererDistDir(),_0x330bfd=decodeURIComponent(_0x4dc68f[_0x32f7ca(0xfb)]||_0x32f7ca(0x26c)+_0x32f7ca(0x200)),_0x458346=_0x330bfd['replace'](/^\/+/,'')||'index.ht'+'ml',_0x3cd875=resolve(_0x118610,_0x458346);if(_0x3cd875!==_0x118610&&!_0x3cd875['startsWi'+'th'](''+_0x118610+sep))return null;return{'url':_0x4dc68f,'distDir':_0x118610,'filePath':_0x3cd875};}catch{return null;}}function parseSingleRangeHeader(_0x5c23f6,_0x5e8ee0){const _0x6e3e17=_0x2764ca,_0x7bea1a=/^bytes=(\d*)-(\d*)$/i[_0x6e3e17(0x12f)](_0x5c23f6['trim']());if(!_0x7bea1a)return null;const [,_0x333d77,_0x40aabe]=_0x7bea1a;if(!_0x333d77&&!_0x40aabe)return null;if(!_0x333d77){const _0x202e67=Number[_0x6e3e17(0x137)](_0x40aabe,0xa);if(!Number[_0x6e3e17(0x332)](_0x202e67)||_0x202e67<=0x0)return null;const _0x16c7e=Math[_0x6e3e17(0x2b5)](_0x5e8ee0-_0x202e67,0x0);return{'start':_0x16c7e,'end':_0x5e8ee0-0x1};}const _0x4b8426=Number[_0x6e3e17(0x137)](_0x333d77,0xa);if(!Number[_0x6e3e17(0x332)](_0x4b8426)||_0x4b8426<0x0||_0x4b8426>=_0x5e8ee0)return null;const _0x4c1a27=_0x40aabe?Number[_0x6e3e17(0x137)](_0x40aabe,0xa):_0x5e8ee0-0x1;if(!Number[_0x6e3e17(0x332)](_0x4c1a27)||_0x4c1a27<_0x4b8426)return null;return{'start':_0x4b8426,'end':Math[_0x6e3e17(0x414)](_0x4c1a27,_0x5e8ee0-0x1)};}function decodeClawspacePath(_0x31c7f5){const _0x2cbf26=_0x2764ca;try{const _0x4f9711=new URL(_0x31c7f5);if(_0x4f9711[_0x2cbf26(0x46a)]!==CLAWSPACE_PROTOCOL_SCHEME+':')return null;if(_0x4f9711['hostname']!==_0x2cbf26(0x2bb))return null;const _0x16ae30=decodeURIComponent(_0x4f9711[_0x2cbf26(0xfb)]);if(!_0x16ae30)return null;if(/^\/[A-Za-z]:\//['test'](_0x16ae30))return _0x16ae30['slice'](0x1);return _0x16ae30;}catch{return null;}}function createClawspaceHeaders(_0x41fe9f={}){const _0x3c988b=_0x2764ca;return new Headers({'access-control-allow-origin':'*','access-control-allow-methods':_0x3c988b(0x311)+'D,\x20OPTIO'+'NS','access-control-allow-headers':_0x3c988b(0x19e)+_0x3c988b(0x471)+_0x3c988b(0x3e6),'access-control-expose-headers':_0x3c988b(0xd5)+_0x3c988b(0x11a)+'content-'+'range,\x20a'+'ccept-ra'+'nges',..._0x41fe9f});}function createLocalFileResponse(_0x577178,_0x110abd){const _0x452788=_0x2764ca,_0x2c0d4c=statSync(_0x110abd);if(!_0x2c0d4c[_0x452788(0x1b7)]())return new Response(_0x452788(0x4a5)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x452788(0x497)+_0x452788(0x478)+'set=utf-'+'8'})});const _0x284481=getLocalFileMimeType(_0x110abd),_0x5365df=createClawspaceHeaders({'content-type':_0x284481,'accept-ranges':_0x452788(0xc6),'cache-control':_0x452788(0x13b)});if(_0x577178['method']===_0x452788(0x2f4))return _0x5365df[_0x452788(0x1a8)](_0x452788(0xd5)+_0x452788(0x236),String(_0x2c0d4c[_0x452788(0x2e9)])),new Response(null,{'status':0xc8,'headers':_0x5365df});const _0x5a15aa=_0x577178[_0x452788(0x412)][_0x452788(0xc7)]('range');if(!_0x5a15aa)return _0x5365df[_0x452788(0x1a8)](_0x452788(0xd5)+_0x452788(0x236),String(_0x2c0d4c[_0x452788(0x2e9)])),new Response(Readable[_0x452788(0x2d0)](createReadStream(_0x110abd)),{'status':0xc8,'headers':_0x5365df});const _0x369e1a=parseSingleRangeHeader(_0x5a15aa,_0x2c0d4c[_0x452788(0x2e9)]);if(!_0x369e1a)return new Response(null,{'status':0x1a0,'headers':createClawspaceHeaders({...Object[_0x452788(0x319)+'ies'](_0x5365df['entries']()),'content-range':'bytes\x20*/'+_0x2c0d4c[_0x452788(0x2e9)]})});const {start:_0x1e481e,end:_0x1447af}=_0x369e1a,_0x528808=_0x1447af-_0x1e481e+0x1,_0x64ef27=new Headers(_0x5365df);return _0x64ef27['set'](_0x452788(0xd5)+_0x452788(0x236),String(_0x528808)),_0x64ef27[_0x452788(0x1a8)](_0x452788(0xd5)+'range',_0x452788(0xd8)+_0x1e481e+'-'+_0x1447af+'/'+_0x2c0d4c['size']),new Response(Readable[_0x452788(0x2d0)](createReadStream(_0x110abd,{'start':_0x1e481e,'end':_0x1447af})),{'status':0xce,'headers':_0x64ef27});}function installClawspaceProtocolHandler(){const _0x434913=_0x2764ca;protocol[_0x434913(0xa3)](CLAWSPACE_PROTOCOL_SCHEME,_0x355c15=>{const _0x406a31=_0x434913;if(_0x355c15[_0x406a31(0x31f)]===_0x406a31(0x223))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x3e7486=decodeClawspacePath(_0x355c15['url']);if(!_0x3e7486)return new Response('Invalid\x20'+'clawspac'+_0x406a31(0x1f9),{'status':0x190,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x406a31(0x478)+_0x406a31(0x290)+'8'})});if(!existsSync(_0x3e7486))return new Response('Not\x20foun'+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x406a31(0x497)+_0x406a31(0x478)+_0x406a31(0x290)+'8'})});return createLocalFileResponse(_0x355c15,_0x3e7486);});}function installAppRendererProtocolHandler(){const _0x38c258=_0x2764ca;protocol[_0x38c258(0xa3)](APP_RENDERER_PROTOCOL_SCHEME,_0x468697=>{const _0x2c2f91=_0x38c258;if(_0x468697[_0x2c2f91(0x31f)]===_0x2c2f91(0x223))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0xa98f40=decodeAppRendererPath(_0x468697[_0x2c2f91(0x7a)]);if(!_0xa98f40)return new Response(_0x2c2f91(0xa0)+_0x2c2f91(0x16d),{'status':0x190,'headers':createClawspaceHeaders({'content-type':_0x2c2f91(0x497)+_0x2c2f91(0x478)+_0x2c2f91(0x290)+'8'})});const {url:_0x1dd61f,distDir:_0x359099,filePath:_0x2f3203}=_0xa98f40,_0x31fa87=join(_0x359099,_0x2c2f91(0x48b)+'ml'),_0x2a01d8=existsSync(_0x2f3203),_0x559f7c=_0x2a01d8?_0x2f3203:_0x31fa87;if(!_0x2a01d8&&_0x1dd61f[_0x2c2f91(0xfb)][_0x2c2f91(0x23c)]('.'))return new Response(_0x2c2f91(0x4a5)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x2c2f91(0x497)+_0x2c2f91(0x478)+_0x2c2f91(0x290)+'8'})});if(!existsSync(_0x559f7c))return mainLogger?.[_0x2c2f91(0x301)](_0x2c2f91(0x442)+_0x2c2f91(0x3ef)+'ile\x20not\x20'+_0x2c2f91(0x294),{'requestUrl':_0x468697[_0x2c2f91(0x7a)],'targetPath':_0x559f7c}),new Response(_0x2c2f91(0x4a5)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x2c2f91(0x478)+_0x2c2f91(0x290)+'8'})});return createLocalFileResponse(_0x468697,_0x559f7c);});}function broadcast(_0x4da869,_0x26eaba){const _0x2f997c=_0x2764ca;DEBUG_STDOUT&&console[_0x2f997c(0x3cb)]('[wujie-s'+_0x2f997c(0x19f)+'nt]',_0x4da869,summarizePayload(_0x26eaba,{'maxDepth':0x2}));for(const _0x291e02 of BrowserWindow[_0x2f997c(0x2ba)+_0x2f997c(0x265)]()){!_0x291e02[_0x2f997c(0x178)+_0x2f997c(0x21e)]['isDestro'+_0x2f997c(0x304)]()&&_0x291e02['webConte'+_0x2f997c(0x21e)]['send'](_0x2f997c(0x20f)+'ell:even'+'t',{'name':_0x4da869,'payload':_0x26eaba});}}function requestLogReportFromRenderer(_0x3b6474){const _0x4ad72d=_0x2764ca,_0xb85c32=BrowserWindow['getFocus'+'edWindow']()||(mainWindow&&!mainWindow[_0x4ad72d(0x47a)+_0x4ad72d(0x304)]()?mainWindow:null),_0x52f96d={'source':_0x3b6474};if(!_0xb85c32||_0xb85c32[_0x4ad72d(0x178)+_0x4ad72d(0x21e)][_0x4ad72d(0x47a)+_0x4ad72d(0x304)]()){broadcast(_0x4ad72d(0x34d)+_0x4ad72d(0x3c4)+'equested',_0x52f96d);return;}_0xb85c32[_0x4ad72d(0x44a)+'zed']()&&_0xb85c32[_0x4ad72d(0x421)](),_0xb85c32[_0x4ad72d(0x24e)](),_0xb85c32[_0x4ad72d(0x3b2)](),_0xb85c32[_0x4ad72d(0x178)+'nts'][_0x4ad72d(0x154)](_0x4ad72d(0x20f)+_0x4ad72d(0x39e)+'t',{'name':_0x4ad72d(0x34d)+_0x4ad72d(0x3c4)+_0x4ad72d(0x10f),'payload':_0x52f96d});}function installApplicationMenu(){const _0x2b08ac=_0x2764ca;if(process[_0x2b08ac(0x410)]!==_0x2b08ac(0x366))return;const _0x2fe94c=[{'label':shellConfig?.[_0x2b08ac(0x3c5)+'ame']||app[_0x2b08ac(0x336)],'submenu':[{'role':_0x2b08ac(0xd9)},{'type':_0x2b08ac(0x26d)+'r'},{'role':_0x2b08ac(0x28d)},{'type':_0x2b08ac(0x26d)+'r'},{'role':'hide'},{'role':_0x2b08ac(0x327)+'rs'},{'role':'unhide'},{'type':'separato'+'r'},{'role':_0x2b08ac(0x10d)}]},{'label':'编辑','submenu':[{'role':'undo'},{'role':_0x2b08ac(0x109)},{'type':_0x2b08ac(0x26d)+'r'},{'role':_0x2b08ac(0x39b)},{'role':'copy'},{'role':_0x2b08ac(0x194)},{'role':_0x2b08ac(0x447)+'l'}]},{'label':'显示','submenu':[{'role':'reload'},{'role':_0x2b08ac(0x254)+_0x2b08ac(0x392)},{'type':_0x2b08ac(0x26d)+'r'},{'role':'togglefu'+_0x2b08ac(0x192)}]},{'role':_0x2b08ac(0x12a)+'nu','label':'窗口'},{'role':_0x2b08ac(0x12d),'label':'帮助','submenu':[{'label':_0x2b08ac(0x244),'click':()=>{const _0x4f1ad3=_0x2b08ac;requestLogReportFromRenderer(_0x4f1ad3(0x352)+_0x4f1ad3(0x26f));}}]}];Menu['setAppli'+_0x2b08ac(0x11d)+'nu'](Menu[_0x2b08ac(0x334)+_0x2b08ac(0x3a3)+'e'](_0x2fe94c));}async function loadProductRuntime(){const _0xbdc4f=_0x2764ca,_0x3a4748=[join(shellConfig['projectR'+_0xbdc4f(0x15d)],_0xbdc4f(0x1c8)+_0xbdc4f(0xa5),'index.mj'+'s'),join(app[_0xbdc4f(0x27b)+'th'](),_0xbdc4f(0x1c8)+_0xbdc4f(0xa5),_0xbdc4f(0x79)+'s')],_0x30be6c=_0x3a4748['find'](_0x175c1c=>existsSync(_0x175c1c));if(!_0x30be6c)return mainLogger?.['info'](_0xbdc4f(0x8c)+'runtime\x20'+_0xbdc4f(0x3c9)+'n\x20not\x20fo'+_0xbdc4f(0xc5),{'runtimeCandidates':_0x3a4748}),{};try{const _0x36c8f0=await import(pathToFileURL(_0x30be6c)[_0xbdc4f(0x2a9)]);return mainLogger?.[_0xbdc4f(0x3cb)](_0xbdc4f(0x8c)+'runtime\x20'+_0xbdc4f(0x3c9)+'n\x20loaded',{'runtimePath':_0x30be6c}),_0x36c8f0;}catch(_0x21f929){mainLogger?.['error'](_0xbdc4f(0x8c)+_0xbdc4f(0x284)+'extensio'+_0xbdc4f(0x3d9)+'\x20to\x20load',{'runtimePath':_0x30be6c,'error':summarizeError(_0x21f929)});throw _0x21f929;}}function openDevToolsForActiveContext(){const _0x5c146c=_0x2764ca;if(!isDevToolsEnabled())return mainLogger?.['info'](_0x5c146c(0x158)+_0x5c146c(0x1c2)+_0x5c146c(0x353),{'mode':getMode(),'flagPath':resolveDevToolsFlagPath()}),{'ok':![]};const _0x4d23f4=BrowserWindow['getFocus'+_0x5c146c(0x2c1)]()||mainWindow;if(!_0x4d23f4||_0x4d23f4['isDestro'+_0x5c146c(0x304)]())return{'ok':![]};return _0x4d23f4[_0x5c146c(0x178)+_0x5c146c(0x21e)]['openDevT'+_0x5c146c(0x2c9)]({'mode':'detach'}),_0x4d23f4[_0x5c146c(0x178)+_0x5c146c(0x21e)]['send'](_0x5c146c(0x20f)+_0x5c146c(0x39e)+'t',{'name':_0x5c146c(0x158)+_0x5c146c(0x30b)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0x2d99b0=_0x2764ca;globalShortcut[_0x2d99b0(0x157)+'er'](DEVTOOLS_ACCELERATOR);if(!isDevToolsEnabled())return;const _0x4510c0=globalShortcut[_0x2d99b0(0xaa)](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x4510c0&&console[_0x2d99b0(0x1f4)](_0x2d99b0(0xf4)+_0x2d99b0(0xef)+_0x2d99b0(0x173)+_0x2d99b0(0xaa)+_0x2d99b0(0x83)+_0x2d99b0(0x1d8)+DEVTOOLS_ACCELERATOR);}async function getRuntimeResourceStatus(){const _0x3ba1d8=_0x2764ca;try{const _0x4ed9fe=await loadRuntimeInfo(shellConfig[_0x3ba1d8(0x3ad)+_0x3ba1d8(0x15d)]),_0x3310ca=_0x4ed9fe[_0x3ba1d8(0x1bf)]||{};return{'ok':!![],'runtimeRoot':_0x4ed9fe[_0x3ba1d8(0x1d6)+_0x3ba1d8(0x15d)],'openclawVersion':_0x4ed9fe[_0x3ba1d8(0x249)+'Version'],'generatedAt':_0x3310ca[_0x3ba1d8(0x226)+_0x3ba1d8(0x12e)]||null,'pluginCount':Array[_0x3ba1d8(0x2e5)](_0x3310ca[_0x3ba1d8(0x21f)])?_0x3310ca[_0x3ba1d8(0x21f)][_0x3ba1d8(0x236)]:0x0,'plugins':Array[_0x3ba1d8(0x2e5)](_0x3310ca['plugins'])?_0x3310ca[_0x3ba1d8(0x21f)]:[],'agents':_0x3310ca[_0x3ba1d8(0x3b0)]||null,'skills':_0x3310ca[_0x3ba1d8(0x133)]||null,'wrapper':_0x3310ca['wujiecla'+_0x3ba1d8(0x184)]||null,'product':_0x3310ca[_0x3ba1d8(0x12c)]||null};}catch(_0x12bef4){return{'ok':![],'runtimeRoot':resolveRuntimeRoot(shellConfig?.[_0x3ba1d8(0x3ad)+_0x3ba1d8(0x15d)]||resolveProjectRoot()),'error':_0x12bef4 instanceof Error?_0x12bef4[_0x3ba1d8(0x37c)]:String(_0x12bef4)};}}function applyMacWindowVibrancy(_0x15a59f){const _0x20896c=_0x2764ca;if(process[_0x20896c(0x410)]!=='darwin'||!_0x15a59f||_0x15a59f[_0x20896c(0x47a)+_0x20896c(0x304)]())return;_0x15a59f[_0x20896c(0x251)+_0x20896c(0x23a)+'or']('#0000000'+'0'),_0x15a59f[_0x20896c(0x380)+_0x20896c(0x37f)](_0x20896c(0xdb),{'animationDuration':0x0});}async function createWindow(){const _0x991e31=_0x2764ca,_0x402162=process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL,_0x5309b4=process[_0x991e31(0x410)]==='darwin',_0x4c06cb=process[_0x991e31(0x410)]===_0x991e31(0x22b)?![]:!![],_0x4cc60f=isDevToolsEnabled();mainLogger?.[_0x991e31(0x3cb)](_0x991e31(0x216)+_0x991e31(0x121)+_0x991e31(0x1fe),{'rendererUrl':_0x402162,'mode':getMode(),'devToolsEnabled':_0x4cc60f,'devToolsFlagPath':resolveDevToolsFlagPath()});const _0x1b84b2=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig[_0x991e31(0x3c5)+_0x991e31(0x32b)],'backgroundColor':_0x5309b4?_0x991e31(0x49b)+'0':'#f8fafc',..._0x5309b4?{'transparent':!![],'vibrancy':_0x991e31(0xdb),'visualEffectState':_0x991e31(0x459)}:{},'autoHideMenuBar':!![],'titleBarStyle':_0x5309b4?_0x991e31(0x3cc)+'set':'hidden','titleBarOverlay':_0x4c06cb,..._0x5309b4?{'trafficLightPosition':{'x':0x1c,'y':0x1a}}:{},'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![],'transparent':_0x5309b4,'devTools':_0x4cc60f}});applyMacWindowVibrancy(_0x1b84b2),mainWindow=_0x1b84b2,protocolUrlState['setRende'+_0x991e31(0x86)](![]),_0x1b84b2['on'](_0x991e31(0x437),()=>{const _0x3b2a6d=_0x991e31;if(mainWindow!==_0x1b84b2)return;mainWindow=null,protocolUrlState[_0x3b2a6d(0x404)+'rerReady'](![]);}),_0x1b84b2['on'](_0x991e31(0x3bb),_0x341066=>{const _0x42621c=_0x991e31;if(process[_0x42621c(0x410)]!=='darwin')return;_0x341066?.['preventD'+_0x42621c(0x120)]?.(),void scheduleMacMinimizeHide(_0x1b84b2);}),_0x1b84b2[_0x991e31(0x178)+_0x991e31(0x21e)]['on'](_0x991e31(0x23e)+'nput-eve'+'nt',_0x2cdd7a=>{const _0x31744e=_0x991e31,_0x5ed58b=_0x2cdd7a['input'];if(!_0x5ed58b||_0x5ed58b['type']!==_0x31744e(0x25a))return;const _0x4ffa05=String(_0x5ed58b[_0x31744e(0x29f)]||'')['toLowerC'+_0x31744e(0x8e)](),_0x5995fd=_0x4ffa05==='r',_0x2d7ef9=process[_0x31744e(0x410)]==='darwin'?_0x5ed58b['meta']===!![]:_0x5ed58b[_0x31744e(0x1b9)]===!![];if(!_0x5995fd||!_0x2d7ef9)return;_0x2cdd7a[_0x31744e(0x38d)+_0x31744e(0x120)](),broadcast(_0x31744e(0x443)+'mand',{'type':_0x31744e(0x9a)+'on','action':'reload'});}),_0x1b84b2['on'](_0x991e31(0x3b2),()=>{const _0x1b5150=_0x991e31;updateController?.['requestB'+_0x1b5150(0x75)+_0x1b5150(0x111)]('window_f'+_0x1b5150(0x3aa));});const _0x4e9ced=process.env.VITE_DEV_SERVER_URL;_0x4e9ced?(await _0x1b84b2['loadURL'](_0x4e9ced),applyMacWindowVibrancy(_0x1b84b2),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&_0x4cc60f&&_0x1b84b2[_0x991e31(0x178)+_0x991e31(0x21e)][_0x991e31(0xad)+_0x991e31(0x2c9)]({'mode':_0x991e31(0x2a1)})):(await _0x1b84b2[_0x991e31(0x25c)](APP_RENDERER_ENTRY_URL),applyMacWindowVibrancy(_0x1b84b2)),mainLogger?.[_0x991e31(0x3cb)](_0x991e31(0x1ca)+_0x991e31(0x306)+'ed',{'rendererUrl':_0x402162,'mode':getMode(),'devToolsEnabled':_0x4cc60f});}function registerProtocolHandlers(){const _0x513e42=_0x2764ca,_0x506973=resolveProtocolScheme();if(!_0x506973)return;let _0x2a307b=![];try{_0x2a307b=app[_0x513e42(0x316)+'ed']?app[_0x513e42(0xdc)+'aultProt'+_0x513e42(0x2dc)+'nt'](_0x506973,process[_0x513e42(0xed)],[app[_0x513e42(0x27b)+'th']()]):![];}catch(_0x489caa){mainLogger?.[_0x513e42(0x301)](_0x513e42(0x46a)+'\x20client\x20'+_0x513e42(0x474)+_0x513e42(0x104)+'led',{'protocol':_0x506973,'error':summarizeError(_0x489caa)});}mainLogger?.[_0x513e42(0x1f4)]('protocol'+_0x513e42(0x257)+_0x513e42(0xaa)+'ed',{'protocol':_0x506973,'registered':_0x2a307b,'packaged':app['isPackag'+'ed'],'defaultClient':app[_0x513e42(0x2b2)+'tProtoco'+_0x513e42(0x3ab)](_0x506973),'execPath':toHomePath(process[_0x513e42(0xed)]),'appPath':toHomePath(app[_0x513e42(0x27b)+'th']())});const _0x4fa5a6=extractProtocolUrlFromArgs(process[_0x513e42(0x1ad)]);if(_0x4fa5a6)protocolUrlState[_0x513e42(0x2ec)+_0x513e42(0x44b)](_0x4fa5a6);const _0x436d73=extractProtocolUrlFromArgs(pendingProtocolArgs||[]);pendingProtocolArgs=null;if(_0x436d73)protocolUrlState[_0x513e42(0x2ec)+'ngUrl'](_0x436d73);}function normalizeRequestedLogLevel(_0x2da0ee){const _0x3c70fe=_0x2764ca,_0x4432ab=typeof _0x2da0ee===_0x3c70fe(0x3b9)?_0x2da0ee[_0x3c70fe(0x204)]()[_0x3c70fe(0x179)+_0x3c70fe(0x8e)]():'';if(!SHELL_LOG_LEVELS[_0x3c70fe(0x153)](_0x4432ab))throw new Error(_0x3c70fe(0x278)+'error、wa'+_0x3c70fe(0x1a5)+_0x3c70fe(0x428));return _0x4432ab;}function writeMainAuditLog(_0x385c4b,_0x19b966){const _0xc67c39=_0x2764ca;return mainLogger?.[_0xc67c39(0x313)]?.(formatLogLine({'level':'INFO','context':_0xc67c39(0x15f),'message':_0x385c4b,'meta':_0x19b966}));}async function installIpcHandlers(){const _0x344996=_0x2764ca,_0x51faa2=(_0xa9508c,_0x39bc32)=>{const _0x1cf57c=_0x5a9b;ipcMain[_0x1cf57c(0xa3)](_0xa9508c,async(_0x3f132b,_0x3a8544)=>{const _0x3bb2ca=_0x1cf57c,_0x483d71=Date['now'](),_0x4f0ed2=_0x3f132b['senderFr'+_0x3bb2ca(0x32b)]?.[_0x3bb2ca(0x7a)]||_0x3f132b[_0x3bb2ca(0x3dd)][_0x3bb2ca(0x3e2)](),_0x4265d0=ipcLogger?.['shouldLo'+'g'](_0x3bb2ca(0xba));_0x4265d0&&ipcLogger['info']('ipc\x20requ'+'est\x20star'+_0x3bb2ca(0x174),{'channel':_0xa9508c,'senderUrl':_0x4f0ed2});DEBUG_STDOUT&&_0x4265d0&&console[_0x3bb2ca(0x3cb)]('[wujie-s'+_0x3bb2ca(0x191)+']',_0xa9508c,_0x3bb2ca(0x3c1));try{let _0x191c26;try{_0x191c26=await _0x39bc32(_0x3f132b,_0x3a8544);}catch(_0x43d1e2){if(!isGatewayNotInitializedError(_0x43d1e2))throw _0x43d1e2;await ensureGatewayControllerStarted(),_0x191c26=await _0x39bc32(_0x3f132b,_0x3a8544);}const _0x399a3f=Date['now']()-_0x483d71;return(_0x4265d0||_0x399a3f>IPC_SLOW_REQUEST_THRESHOLD_MS)&&ipcLogger?.[_0x3bb2ca(0x3cb)]('ipc\x20requ'+_0x3bb2ca(0x2b9)+'leted',{'channel':_0xa9508c,'durationMs':_0x399a3f,'status':_0x3bb2ca(0x3ec)+'d'}),await userEventWriter?.[_0x3bb2ca(0x296)]({'channel':_0xa9508c,'payload':_0x3a8544,'result':_0x191c26,'durationMs':_0x399a3f,'status':_0x3bb2ca(0x3ec)+'d'}),DEBUG_STDOUT&&_0x4265d0&&console['info'](_0x3bb2ca(0xf4)+_0x3bb2ca(0x191)+']',_0xa9508c,_0x3bb2ca(0x1d7)+'d',{'durationMs':_0x399a3f,'status':'succeede'+'d'}),_0x191c26;}catch(_0x71d9b){const _0x7e4df5=Date[_0x3bb2ca(0x7c)]()-_0x483d71;ipcLogger?.[_0x3bb2ca(0x301)](_0x3bb2ca(0x88)+_0x3bb2ca(0x2a3)+'ed',{'channel':_0xa9508c,'durationMs':_0x7e4df5,'error':summarizeError(_0x71d9b)}),await userEventWriter?.[_0x3bb2ca(0x296)]({'channel':_0xa9508c,'payload':_0x3a8544,'error':_0x71d9b,'durationMs':_0x7e4df5,'status':_0x3bb2ca(0x367)}),await diagnosticsWriter?.[_0x3bb2ca(0x124)+_0x3bb2ca(0x3a4)](diagnosticEventFromError(_0x71d9b,{'category':_0x3bb2ca(0x91),'event':'ipc_requ'+_0x3bb2ca(0xbc)+'ed','message':_0x3bb2ca(0x4a6)+_0x3bb2ca(0x2a3)+_0x3bb2ca(0x237)+_0xa9508c,'durationMs':_0x7e4df5,'meta':{'channel':_0xa9508c,'senderUrl':_0x4f0ed2,'payload':summarizePayload(_0x3a8544)}}));DEBUG_STDOUT&&console[_0x3bb2ca(0x301)](_0x3bb2ca(0xf4)+'hell:ipc'+']',_0xa9508c,_0x3bb2ca(0x367),summarizeError(_0x71d9b));throw _0x71d9b;}});},_0x1f269f=()=>{const _0xc5f917=_0x5a9b;if(!gatewayController)throw new Error(bootError?'wujie-sh'+'ell\x20boot'+_0xc5f917(0x199)+'\x20'+bootError:_0xc5f917(0x20f)+_0xc5f917(0x27a)+_0xc5f917(0x27c)+_0xc5f917(0x4aa)+'alized');return gatewayController;},_0x500dab=createReviewController({'getWorkspacePath':async()=>{const _0x3e4b1d=_0x5a9b,_0x5975ad=await _0x1f269f()['workspac'+'e'][_0x3e4b1d(0x2d6)+_0x3e4b1d(0xa6)]();return String(_0x5975ad?.['path']||'');}});function _0xe1a8c7(){const _0x577e34=_0x5a9b;for(const _0xa65608 of Object[_0x577e34(0x29e)](gatewayRuntimeHooks)){delete gatewayRuntimeHooks[_0xa65608];}Object[_0x577e34(0x476)](gatewayRuntimeHooks,productRuntimeHooks,{'onChatHistoryLoaded':async _0x2754a1=>{const _0x5814e3=_0x577e34;await requestIdHooks?.[_0x5814e3(0x94)+_0x5814e3(0x27e)+_0x5814e3(0x7e)]?.(_0x2754a1),await productRuntimeHooks?.[_0x5814e3(0x94)+'storyLoa'+_0x5814e3(0x7e)]?.(_0x2754a1);},'onRequestIdTitleEvent':async _0xcd7218=>{const _0x3f3d33=_0x577e34;await requestIdHooks?.[_0x3f3d33(0x3d4)+'tIdTitle'+_0x3f3d33(0xb4)]?.(_0xcd7218),await productRuntimeHooks?.[_0x3f3d33(0x3d4)+_0x3f3d33(0x4a9)+_0x3f3d33(0xb4)]?.(_0xcd7218);}});}const _0x36c0e8=()=>{const _0x114844=_0x5a9b;if(typeof productRuntime[_0x114844(0xaa)+_0x114844(0x10a)+_0x114844(0x455)+_0x114844(0x2da)]!==_0x114844(0x430))return;const _0x66c38=productRuntime[_0x114844(0xaa)+_0x114844(0x10a)+_0x114844(0x455)+_0x114844(0x2da)]({'app':app,'BrowserWindow':BrowserWindow,'broadcast':broadcast,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'dialog':dialog,'exportLogsArchive':exportLogsArchive,'filesLogger':filesLogger,'getRuntimeSpawnContext':getRuntimeSpawnContext,'handle':_0x51faa2,'mainLogger':mainLogger,'mainWindow':mainWindow,'rendererLogger':rendererLogger,'requireGateway':_0x1f269f,'sep':sep,'openClawConfigHandlers':{'update':(..._0x1211dd)=>configController[_0x114844(0x2ea)+_0x114844(0x19d)+_0x114844(0x1d3)](..._0x1211dd),'setPluginConfig':_0xcae12a=>configController[_0x114844(0x14f)+_0x114844(0x1c0)+_0x114844(0x80)](_0xcae12a),'setChannelConfig':_0x295d5a=>configController[_0x114844(0x14f)+_0x114844(0x2d7)+'elConfig'](_0x295d5a),'deleteChannelConfig':_0x56820a=>configController[_0x114844(0x25e)+_0x114844(0x1be)+'annelCon'+_0x114844(0x3fa)](_0x56820a),'setSkillEntry':_0x17e03c=>configController[_0x114844(0x14f)+_0x114844(0x138)+_0x114844(0x456)](_0x17e03c),'deleteSkillEntry':_0xd53a4f=>configController['deleteOp'+_0x114844(0x445)+'illEntry'](_0xd53a4f),'setMcpServer':_0x16e441=>configController[_0x114844(0x14f)+_0x114844(0x32f)+_0x114844(0xf0)](_0x16e441),'deleteMcpServer':_0x2d89f6=>configController[_0x114844(0x25e)+'enClawMc'+_0x114844(0x28e)](_0x2d89f6)},'shell':shell,'shellConfig':shellConfig,'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand,'summarizePayload':summarizePayload,'summarizeText':summarizeText,'toHomePath':toHomePath,'writeMutableConfig':_0x899f8d})||{};Object['assign'](productRuntimeHooks,_0x66c38),_0xe1a8c7();};ipcMain['on'](_0x344996(0x106)+_0x344996(0x1d4)+_0x344996(0x255),()=>{const _0x5647e6=_0x344996;protocolUrlState['setRende'+_0x5647e6(0x86)](!![]),mainLogger?.[_0x5647e6(0x1f4)](_0x5647e6(0x46a)+'\x20rendere'+_0x5647e6(0x4a8),{'hasPendingProtocolUrl':Boolean(protocolUrlState[_0x5647e6(0x238)+'rl'])}),flushPendingProtocolUrl();}),_0x51faa2(_0x344996(0x411),async()=>({'name':shellConfig[_0x344996(0x3c5)+_0x344996(0x32b)],'version':app[_0x344996(0x45e)+'on'](),'appId':shellConfig[_0x344996(0x3e3)],'dataDir':shellConfig[_0x344996(0x23d)]})),_0x51faa2(_0x344996(0x2db)+_0x344996(0x2e6),async(_0x4d2c8e,_0x5bdd11)=>{const _0x5e95c6=_0x344996,_0x308e75=typeof _0x5bdd11===_0x5e95c6(0x3b9)?_0x5bdd11:'';if(!_0x308e75)return{'ok':![]};return filesLogger?.[_0x5e95c6(0x3cb)](_0x5e95c6(0x34b)+_0x5e95c6(0x2e0)+'l\x20reques'+'ted',{'url':summarizeText(_0x308e75,0xa0)}),await shell['openExte'+_0x5e95c6(0x33c)](_0x308e75),{'ok':!![]};});const _0x899f8d=async(_0x43c189,_0x40c7da)=>{const _0x214489=_0x344996;return configController['markConf'+_0x214489(0x159)+'andledIn'+_0x214489(0x28f)](),await configController[_0x214489(0x1fd)+_0x214489(0x3fa)](_0x43c189,_0x40c7da),{'ok':!![]};};Object[_0x344996(0x476)](requestIdHooks,registerRequestIdHandlers({'configController':configController,'handle':_0x51faa2,'mainLogger':mainLogger})),_0xe1a8c7(),_0x36c0e8(),_0x51faa2(_0x344996(0xb7)+_0x344996(0x22d)+'p',async(_0x20ca87,_0x2dbd54)=>importMarketSkillZip({'payload':_0x2dbd54,'importSkillZip':_0xca1556=>importSkillZip({..._0xca1556,'app':app,'dialog':dialog,'dialogWindow':BrowserWindow[_0x344996(0x214)+_0x344996(0x42c)](_0x20ca87['sender'])||mainWindow,'configController':configController}),'configController':configController})),_0x51faa2('skills:u'+_0x344996(0x385),(_0x47f684,_0xcf8e96)=>updateManagedSkillConfig({'payload':_0xcf8e96,'configController':configController})),_0x51faa2(_0x344996(0xea)+_0x344996(0x391),(_0x499620,_0x2921bf)=>deleteMarketSkillRegistryEntry({'payload':_0x2921bf,'deleteManagedSkill':_0x526338=>deleteManagedSkill({..._0x526338,'gateway':_0x1f269f(),'configController':configController}),'configController':configController}));const _0x1f1a56=ensureGeneratedFilesStore();_0x51faa2(_0x344996(0x4a0)+_0x344996(0x217)+_0x344996(0x43a),async()=>_0x1f1a56[_0x344996(0x279)]()),_0x51faa2(_0x344996(0x4a0)+_0x344996(0x217)+_0x344996(0x43a)+_0x344996(0x48d)+_0x344996(0x201),async(_0x480f1e,_0x298993)=>_0x1f1a56['listBySe'+_0x344996(0x230)](String(_0x298993||''))),_0x51faa2('app:gene'+'rated-fi'+_0x344996(0xd3)+'rt',async(_0x3d2054,_0xad32d5={})=>_0x1f1a56[_0x344996(0x1a7)](_0xad32d5)),_0x51faa2(_0x344996(0x4a0)+_0x344996(0x217)+_0x344996(0x3f1),async(_0xeda652,_0x5d8464)=>_0x1f1a56[_0x344996(0x13d)](String(_0x5d8464||''))),_0x51faa2(_0x344996(0x4a0)+_0x344996(0x217)+_0x344996(0x3f1)+_0x344996(0x48d)+_0x344996(0x201),async(_0x5627f8,_0xaaa438)=>_0x1f1a56[_0x344996(0x39c)+'ssion'](String(_0xaaa438||''))),_0x51faa2('app:gene'+_0x344996(0x217)+_0x344996(0x3f8)+'te',async(_0x14794c,_0x31c17a)=>_0x1f1a56['deleteFi'+'le'](String(_0x31c17a||''))),_0x51faa2(_0x344996(0x4a0)+_0x344996(0x217)+_0x344996(0x3f8)+_0x344996(0x26b)+'e',async(_0x20e7b7,_0x467689=[])=>_0x1f1a56[_0x344996(0x426)+'tate'](_0x467689)),_0x51faa2('app:gene'+_0x344996(0x217)+_0x344996(0x3a1)+'al',async(_0x85fe9,_0xd79a03)=>revealPathInFolder(_0xd79a03)),_0x51faa2(_0x344996(0xee)+_0x344996(0x3fe),async(_0x46fe9e,_0x271d0b={})=>{const _0x201987=_0x344996,_0x47a6e7=_0x271d0b&&typeof _0x271d0b==='object'&&_0x201987(0x2c4)+'ey'in _0x271d0b?String(_0x271d0b[_0x201987(0x2c4)+'ey']||''):'';return _0x47a6e7?_0x1f1a56['listBySe'+_0x201987(0x230)](_0x47a6e7):_0x1f1a56[_0x201987(0x279)]();}),_0x51faa2(_0x344996(0xee)+_0x344996(0x203),async(_0x374230,_0x32149f={})=>_0x1f1a56['upsert'](_0x32149f)),_0x51faa2(_0x344996(0xee)+_0x344996(0x479),async(_0x501cf9,_0x5d3564={})=>_0x1f1a56[_0x344996(0x13d)](String(_0x5d3564['id']||_0x5d3564||''))),_0x51faa2('artifact'+_0x344996(0x8a),async(_0x1fd312,_0x3847dd={})=>_0x1f1a56['deleteFi'+'le'](String(_0x3847dd['id']||_0x3847dd||''))),_0x51faa2('artifact'+_0x344996(0x8a)+'d-state',async(_0x9df790,_0x34b3d5={})=>_0x1f1a56[_0x344996(0x426)+_0x344996(0x3c0)](_0x34b3d5[_0x344996(0x19a)]||_0x34b3d5)),_0x51faa2(_0x344996(0xee)+_0x344996(0x2cb),async(_0x458f33,_0x49941b={})=>{const _0x564be7=_0x344996,_0xb93a1b=typeof _0x49941b===_0x564be7(0x3b9)?_0x49941b:_0x49941b[_0x564be7(0x176)]||_0x49941b[_0x564be7(0x2e4)];return revealPathInFolder(_0xb93a1b);});const _0x4e93f2=createPreferencesStore({'stateDir':configController[_0x344996(0x3ca)+_0x344996(0x7b)](),'storeFile':_0x344996(0x1bd)+_0x344996(0x2cd)+_0x344996(0x477)}),_0x1f741c=await _0x4e93f2[_0x344996(0xc7)](_0x344996(0x415)+_0x344996(0x3da),configController['paths'][_0x344996(0x365)]),_0x3c9841=setShellLoggerLevel(_0x1f741c);setRuntimeLoggerLevel(_0x1f741c),mainLogger?.['info'](_0x344996(0x15a)+_0x344996(0x206)+_0x344996(0x2c5)+_0x344996(0xa4),{'level':_0x3c9841,'configuredLevel':configController[_0x344996(0x19a)][_0x344996(0x365)],'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),_0x51faa2(_0x344996(0x28c)+_0x344996(0x41f)+'se',async()=>_0x4e93f2['get'](_0x344996(0x28a)+_0x344996(0x432)+'se',![])),_0x51faa2('app:tray'+_0x344996(0x22e)+'se',async(_0x5568c8,_0x6c39cd)=>_0x4e93f2[_0x344996(0x1a8)]('closeToT'+_0x344996(0x432)+'se',_0x6c39cd===!![])),_0x51faa2(_0x344996(0x499)+_0x344996(0x3d2),async()=>({'level':getShellLoggerLevel(configController['paths']),'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)})),_0x51faa2('logs:set'+_0x344996(0x3d2),async(_0x3a3d25,_0x328d3b={})=>{const _0x44f3e6=_0x344996,_0xf14137=normalizeRequestedLogLevel(typeof _0x328d3b===_0x44f3e6(0x3b9)?_0x328d3b:_0x328d3b[_0x44f3e6(0x39a)]);await _0x4e93f2[_0x44f3e6(0x1a8)](_0x44f3e6(0x415)+_0x44f3e6(0x3da),_0xf14137);const _0x8e848d=setShellLoggerLevel(_0xf14137);return setRuntimeLoggerLevel(_0xf14137),await writeMainAuditLog(_0x44f3e6(0x15a)+'g\x20level\x20'+_0x44f3e6(0x262),{'requestedLevel':_0xf14137,'level':_0x8e848d,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),{'ok':!![],'level':_0x8e848d,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)};}),registerFileHandlers({'app':app,'filesLogger':filesLogger,'handle':_0x51faa2,'sep':sep,'stateDir':configController['resolveS'+_0x344996(0x7b)](),'toHomePath':toHomePath}),registerProductLogHandlers({'app':app,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'exportLogsArchive':exportLogsArchive,'handle':_0x51faa2,'mainLogger':mainLogger,'rendererLogger':rendererLogger,'summarizeText':summarizeText,'toHomePath':toHomePath}),registerModelHandlers({'handle':_0x51faa2,'modelHandlers':{'saveCustomModel':_0x45f968=>_0x1f269f()[_0x344996(0x2df)][_0x344996(0x303)+_0x344996(0x345)](_0x45f968),'deleteCustomModel':_0x528adc=>_0x1f269f()[_0x344996(0x2df)][_0x344996(0x2d3)+_0x344996(0x162)+'l'](_0x528adc)}}),connectorController=createConnectorController({'shellConfig':shellConfig,'configController':configController,'broadcast':broadcast,'shell':shell,'getRuntimeSpawnContext':getRuntimeSpawnContext,'openClawConfigHandlers':{'update':(..._0x2436d7)=>configController[_0x344996(0x2ea)+_0x344996(0x19d)+_0x344996(0x1d3)](..._0x2436d7),'setPluginConfig':_0x329d29=>configController[_0x344996(0x14f)+'lawPlugi'+_0x344996(0x80)](_0x329d29),'setChannelConfig':_0x4c1d45=>configController[_0x344996(0x14f)+_0x344996(0x2d7)+_0x344996(0x464)](_0x4c1d45),'deleteChannelConfig':_0x354052=>configController['deleteOp'+_0x344996(0x1be)+_0x344996(0xac)+'fig'](_0x354052),'setSkillEntry':_0x2b8a99=>configController[_0x344996(0x14f)+_0x344996(0x138)+_0x344996(0x456)](_0x2b8a99),'deleteSkillEntry':_0xd1123b=>configController[_0x344996(0x25e)+'enClawSk'+_0x344996(0x387)](_0xd1123b),'setMcpServer':_0x39e494=>configController[_0x344996(0x14f)+_0x344996(0x32f)+_0x344996(0xf0)](_0x39e494),'deleteMcpServer':_0x3a1fcc=>configController['deleteOp'+_0x344996(0x225)+'pServer'](_0x3a1fcc)},'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand}),_0x51faa2(_0x344996(0x1a3)+_0x344996(0x11b)+'ls:list',async()=>connectorController[_0x344996(0x21c)+_0x344996(0xac)+_0x344996(0xb1)]()),_0x51faa2(_0x344996(0x1a3)+_0x344996(0x11b)+_0x344996(0x114)+'e',async(_0x55d6cf,_0x48e4aa={})=>connectorController[_0x344996(0x21d)+_0x344996(0x3d5)+_0x344996(0x37d)](_0x48e4aa)),_0x51faa2(_0x344996(0x1a3)+'m-channe'+_0x344996(0x4a2)+_0x344996(0x342),async(_0x33662a,_0x1c414e={})=>connectorController[_0x344996(0x431)+_0x344996(0x84)+_0x344996(0x241)](_0x1c414e)),_0x51faa2(_0x344996(0x7d)+'onnector'+_0x344996(0x37e),async(_0x4998b0,_0x2d0f4={})=>{const _0x47a012=_0x344996,_0x249214=String(_0x2d0f4['channelI'+'d']||_0x2d0f4[_0x47a012(0x118)]?.[_0x47a012(0x38e)+'d']||_0x2d0f4[_0x47a012(0x118)]?.['id']||'');if(!_0x249214)throw new Error('channelI'+_0x47a012(0xaf)+'uired');const _0x427254=_0x2d0f4[_0x47a012(0x118)]||_0x2d0f4,_0x2bad8={'feishu':connectorController[_0x47a012(0x422)+_0x47a012(0x1e6)+'lConfig'],'qqbot':connectorController[_0x47a012(0x2a4)+'tChannel'+'Config'],'wecom':connectorController[_0x47a012(0x43f)+'mChannel'+_0x47a012(0x196)],'qq_mail':connectorController[_0x47a012(0x1e1)+'ilConnec'+'torConfi'+'g'],'netease_mail':connectorController[_0x47a012(0xde)+'aseMailC'+_0x47a012(0xe6)+'Config'],'tencent_exmail':connectorController['saveTenc'+_0x47a012(0x408)+'lConnect'+'orConfig'],'feishu_doc':connectorController[_0x47a012(0x422)+_0x47a012(0x286)+_0x47a012(0x462)+_0x47a012(0x1d3)],'tencent_docs':connectorController[_0x47a012(0x95)+_0x47a012(0x2c2)+_0x47a012(0xe6)+_0x47a012(0x196)],'kdocs':connectorController[_0x47a012(0x3ed)+'sConnect'+_0x47a012(0x73)],'dingtalk_doc':connectorController[_0x47a012(0x2bc)+_0x47a012(0x1d5)+'onnector'+_0x47a012(0x196)]},_0x20ac7c=_0x2bad8[_0x249214];if(!_0x20ac7c)throw new Error(_0x47a012(0x17b)+_0x47a012(0x1ce)+_0x47a012(0x189)+_0x249214);return _0x20ac7c(_0x427254);}),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+':save-fe'+_0x344996(0x315)+_0x344996(0x446),async(_0x4f3f7b,_0x1a09b3={})=>connectorController[_0x344996(0x422)+_0x344996(0x1e6)+_0x344996(0x49f)](_0x1a09b3)),_0x51faa2('config:c'+'onnector'+':save-qq'+_0x344996(0x215)+_0x344996(0x15b),async(_0x18814f,_0x93fffd={})=>connectorController[_0x344996(0x2a4)+'tChannel'+'Config'](_0x93fffd)),_0x51faa2(_0x344996(0x7d)+'onnector'+_0x344996(0xbd)+_0x344996(0x264)+'nel',async(_0x404b09,_0x512f3d={})=>connectorController[_0x344996(0x43f)+_0x344996(0x2fc)+_0x344996(0x196)](_0x512f3d)),_0x51faa2('config:c'+'onnector'+_0x344996(0x9d)+_0x344996(0x347),async(_0x3b6723,_0xc1e1b9={})=>connectorController[_0x344996(0x1e1)+_0x344996(0x307)+_0x344996(0x242)+'g'](_0xc1e1b9)),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+_0x344996(0x1f6)+_0x344996(0x98)+'il',async(_0x220240,_0x3970fb={})=>connectorController[_0x344996(0xde)+_0x344996(0x413)+_0x344996(0xe6)+_0x344996(0x196)](_0x3970fb)),_0x51faa2('config:c'+_0x344996(0xe6)+_0x344996(0x15c)+_0x344996(0x3d6)+_0x344996(0x318),async(_0x4c07e8,_0x46b457={})=>connectorController[_0x344996(0x95)+_0x344996(0x408)+_0x344996(0x3f4)+_0x344996(0x73)](_0x46b457)),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+':save-fe'+_0x344996(0x222),async(_0x4358fe,_0x27030d={})=>connectorController[_0x344996(0x422)+'huDocCon'+_0x344996(0x462)+_0x344996(0x1d3)](_0x27030d)),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+_0x344996(0x15c)+_0x344996(0xc9)+'cs',async(_0x10bb7c,_0x5eea43={})=>connectorController[_0x344996(0x95)+'entDocsC'+_0x344996(0xe6)+'Config'](_0x5eea43)),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+_0x344996(0x1a4)+_0x344996(0x115),async(_0x3f9910,_0x1a4bd9={})=>connectorController[_0x344996(0x3ed)+'sConnect'+_0x344996(0x73)](_0x1a4bd9)),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+_0x344996(0x3c8)+'ngtalk-d'+'oc',async(_0x1b3ff6,_0x1306b3={})=>connectorController[_0x344996(0x2bc)+_0x344996(0x1d5)+_0x344996(0xe6)+_0x344996(0x196)](_0x1306b3)),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+_0x344996(0x274)+_0x344996(0x1f2),async(_0x5a0af4,_0x22458f={})=>{const _0x581e45=_0x344996,_0x162b0a=String(_0x22458f[_0x581e45(0x38e)+'d']||_0x22458f['type']||'');if(_0x162b0a===_0x581e45(0x3c6))return connectorController[_0x581e45(0x30c)+'csCliCon'+_0x581e45(0xf9)+_0x581e45(0x201)]();if(_0x162b0a===_0x581e45(0x372)+'oc')return connectorController[_0x581e45(0x49e)+_0x581e45(0x287)+'iConnect'+'Session']();if(_0x162b0a===_0x581e45(0x9e))return connectorController['startFei'+_0x581e45(0x18f)+_0x581e45(0x151)+'ession'](_0x22458f);if(_0x162b0a===_0x581e45(0x249)+_0x581e45(0x46e)||_0x162b0a==='wechat')return connectorController[_0x581e45(0x25f)+_0x581e45(0x291)+'elSessio'+'n']({'gatewayPort':_0x1f269f()[_0x581e45(0x2f1)+_0x581e45(0x1ea)](),'gatewayToken':_0x1f269f()['gatewayT'+_0x581e45(0x373)]()});throw new Error(_0x581e45(0x17b)+'ted\x20conn'+_0x581e45(0x458)+'ssion:\x20'+(_0x162b0a||_0x581e45(0x482)));}),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+'-session'+_0x344996(0x266),async(_0x40aa0b,_0x12cb8f={})=>{const _0xb6bd16=_0x344996,_0x527134=String(_0x12cb8f[_0xb6bd16(0x38e)+'d']||_0x12cb8f[_0xb6bd16(0x48c)]||'');if(_0x527134===_0xb6bd16(0x3c6))return connectorController['getKdocs'+'CliConne'+_0xb6bd16(0x452)](_0x12cb8f);if(_0x527134==='feishu_d'+'oc')return connectorController[_0xb6bd16(0xfd)+_0xb6bd16(0x378)+_0xb6bd16(0x1e0)+_0xb6bd16(0xa8)](_0x12cb8f);if(_0x527134==='feishu')return connectorController[_0xb6bd16(0xfd)+_0xb6bd16(0x32d)+'ationSta'+_0xb6bd16(0x36c)](_0x12cb8f);throw new Error(_0xb6bd16(0x17b)+'ted\x20conn'+_0xb6bd16(0x458)+_0xb6bd16(0x300)+(_0x527134||_0xb6bd16(0x482)));}),_0x51faa2(_0x344996(0x7d)+_0x344996(0xe6)+_0x344996(0x274)+':cancel',async(_0x4474a8,_0x33dc48={})=>{const _0x30e20f=_0x344996,_0x2ad3bf=String(_0x33dc48[_0x30e20f(0x38e)+'d']||_0x33dc48[_0x30e20f(0x48c)]||'');if(_0x2ad3bf===_0x30e20f(0x3c6))return connectorController[_0x30e20f(0x369)+_0x30e20f(0x496)+_0x30e20f(0xa2)+_0x30e20f(0x425)](_0x33dc48);if(_0x2ad3bf===_0x30e20f(0x372)+'oc')return connectorController['cancelFe'+_0x30e20f(0x3b6)+_0x30e20f(0x47b)+_0x30e20f(0x10b)](_0x33dc48);if(_0x2ad3bf===_0x30e20f(0x9e))return connectorController[_0x30e20f(0x43d)+_0x30e20f(0x207)+_0x30e20f(0x3eb)+'Session'](_0x33dc48);if(_0x2ad3bf===_0x30e20f(0x249)+_0x30e20f(0x46e)||_0x2ad3bf===_0x30e20f(0x349))return connectorController['cancelWe'+_0x30e20f(0xc0)+_0x30e20f(0x163)+'on']();return{'ok':!![]};}),_0x51faa2(_0x344996(0x7d)+'onnector'+_0x344996(0x274)+_0x344996(0xf3)+'e',async(_0x50c936,_0xea904f={})=>{const _0x229fa3=_0x344996,_0x5371d9=String(_0xea904f['channelI'+'d']||_0xea904f[_0x229fa3(0x48c)]||'');if(_0x5371d9===_0x229fa3(0x372)+'oc')return connectorController[_0x229fa3(0x1d7)+'FeishuDo'+_0x229fa3(0x16c)+_0x229fa3(0x2ac)+'on'](_0xea904f);throw new Error('Unsuppor'+_0x229fa3(0x1ce)+'ector\x20se'+_0x229fa3(0x300)+(_0x5371d9||'unknown'));}),_0x51faa2(_0x344996(0x17c)+_0x344996(0x407),()=>connectorController[_0x344996(0x6e)+_0x344996(0x87)+'ot']());const _0x512494=_0x6fe868=>{const _0x159668=_0x344996,_0x2da7a5=_0x6fe868['agents']&&typeof _0x6fe868[_0x159668(0x3b0)]===_0x159668(0x35d)?_0x6fe868['agents']:{};return Array['isArray'](_0x2da7a5[_0x159668(0x279)])?_0x2da7a5[_0x159668(0x279)]:[];},_0x54bed4=_0x1b2d55=>{const _0x2add97=_0x344996,_0xfdeac9=typeof _0x1b2d55===_0x2add97(0x3b9)?_0x1b2d55[_0x2add97(0x204)]():'',_0x222548=_0xfdeac9[_0x2add97(0x8f)](/^agent:([^:]+):/);return _0x222548?.[0x1]||'';},_0x2bce74=(_0x3c5e9a={},_0xeb41da=[])=>{const _0x7febab=_0x344996,_0x45ad2e=Array['isArray'](_0x3c5e9a[_0x7febab(0x44d)])?_0x3c5e9a[_0x7febab(0x44d)]:[],_0x48cb3b=Array[_0x7febab(0x2e5)](_0x3c5e9a[_0x7febab(0x3b0)])?_0x3c5e9a[_0x7febab(0x3b0)]:Array[_0x7febab(0x2e5)](_0x3c5e9a['list'])?_0x3c5e9a['list']:_0x45ad2e[_0x7febab(0x9b)](_0x4349a4=>_0x4349a4?.[_0x7febab(0x3a0)])[_0x7febab(0x35e)](Boolean),_0x299510=Array['isArray'](_0xeb41da)?_0xeb41da:[];return _0x48cb3b[_0x7febab(0x9b)](_0x3a0b09=>{const _0x7b7918=_0x7febab,_0x588375=String(_0x3a0b09?.['id']||_0x3a0b09?.[_0x7b7918(0x169)]||'')[_0x7b7918(0x204)](),_0x241b66=_0x45ad2e[_0x7b7918(0x185)](_0x55cbd3=>{const _0x25df8c=_0x7b7918,_0x46ad3a=String(_0x55cbd3?.[_0x25df8c(0x3a0)]?.['id']||_0x55cbd3?.[_0x25df8c(0x3a0)]?.[_0x25df8c(0x169)]||'')[_0x25df8c(0x204)]();return _0x46ad3a===_0x588375;});return{..._0x241b66&&typeof _0x241b66===_0x7b7918(0x35d)?_0x241b66:{},'agent':_0x3a0b09,'sessions':_0x588375?_0x299510[_0x7b7918(0x35e)](_0x7101d5=>{const _0x20f9ba=_0x7b7918,_0x401ff4=String(_0x7101d5?.[_0x20f9ba(0x169)]||_0x7101d5?.[_0x20f9ba(0x1fb)]||_0x7101d5?.['agent']?.['id']||_0x54bed4(_0x7101d5?.[_0x20f9ba(0x29f)])||'')['trim']();return _0x401ff4?_0x401ff4===_0x588375:_0x588375===_0x20f9ba(0x15f);}):[]};});};_0x51faa2(_0x344996(0x3df)+_0x344996(0x142)+_0x344996(0x3c0),async()=>updateController?.[_0x344996(0xc1)]()),_0x51faa2(_0x344996(0x3df)+'te:check',async()=>updateController?.[_0x344996(0x383)+_0x344996(0xf6)]()),_0x51faa2('app:upda'+_0x344996(0x394)+'oad',async()=>updateController?.[_0x344996(0x420)+_0x344996(0x168)]()),_0x51faa2(_0x344996(0x3df)+'te:quit-'+_0x344996(0x3c2)+_0x344996(0x1b5),async()=>updateController?.[_0x344996(0x233)+_0x344996(0x344)]()),_0x51faa2(_0x344996(0x1b6)+':choose',async(_0x2551e5,_0x4586d7={})=>{const _0x26f3f6=_0x344996,_0x1ea92c=await dialog[_0x26f3f6(0x76)+_0x26f3f6(0x486)](BrowserWindow['fromWebC'+_0x26f3f6(0x42c)](_0x2551e5[_0x26f3f6(0x3dd)])??mainWindow,{'properties':[_0x26f3f6(0x48f),..._0x4586d7?.[_0x26f3f6(0x107)]!==0x1?[_0x26f3f6(0x2d4)+_0x26f3f6(0x147)]:[]],'filters':_0x4586d7?.[_0x26f3f6(0x2bf)+_0x26f3f6(0x2eb)+'s']?[{'name':_0x26f3f6(0x492),'extensions':_0x4586d7[_0x26f3f6(0x2bf)+_0x26f3f6(0x2eb)+'s']}]:undefined});return _0x1ea92c[_0x26f3f6(0x405)+'s'][_0x26f3f6(0x9b)](_0x2e5834=>({'path':_0x2e5834,'name':_0x2e5834[_0x26f3f6(0x221)](/[\\/]/)['pop']()||_0x2e5834}));}),_0x51faa2(_0x344996(0x1b6)+':downloa'+_0x344996(0x444),async(_0xe5bb90,_0x53ad86={})=>{const _0xcd98eb=_0x344996,_0x182a45=String(_0x53ad86[_0xcd98eb(0xb8)+'th']||'');if(!_0x182a45)return{'success':![],'error':'sourcePa'+_0xcd98eb(0x3fc)+_0xcd98eb(0x364)};const _0x16ebe7=await dialog[_0xcd98eb(0x2d9)+_0xcd98eb(0x486)](mainWindow,{'defaultPath':_0x53ad86[_0xcd98eb(0x30a)+'ileName']||_0x182a45[_0xcd98eb(0x221)](/[\\/]/)['pop']()});if(_0x16ebe7[_0xcd98eb(0x493)]||!_0x16ebe7[_0xcd98eb(0x405)])return{'success':![],'canceled':!![]};const {copyFile:_0x1cfdc1}=await import(_0xcd98eb(0x17a)+_0xcd98eb(0x250));return await _0x1cfdc1(_0x182a45,_0x16ebe7['filePath']),{'success':!![],'filePath':_0x16ebe7[_0xcd98eb(0x405)]};}),_0x51faa2(_0x344996(0x1ba)+_0x344996(0x140)+'ite',async(_0x4b2b78,_0x11e13b)=>{const _0x5b86eb=_0x344996;return clipboard[_0x5b86eb(0x396)+'t'](String(_0x11e13b??'')),{'ok':!![]};}),_0x51faa2(_0x344996(0x1cd)+_0x344996(0x42d)+'rt',async()=>{const _0x28d3b4=_0x344996;return app[_0x28d3b4(0x348)](),app[_0x28d3b4(0x10d)](),{'ok':!![]};}),_0x51faa2('window:i'+_0x344996(0x2f2)+_0x344996(0xa4),_0x21ebee=>Boolean(BrowserWindow[_0x344996(0x214)+_0x344996(0x42c)](_0x21ebee[_0x344996(0x3dd)])?.['isMaximi'+_0x344996(0xa4)]())),_0x51faa2('app:star'+'tup:set',async(_0x3cd6f9,_0x4e0247)=>{const _0x495b27=_0x344996;return app[_0x495b27(0x490)+_0x495b27(0x33f)+_0x495b27(0x41e)]({'openAtLogin':_0x4e0247===!![]}),{'ok':!![],'enabled':_0x4e0247===!![]};}),_0x51faa2(_0x344996(0x3e9)+_0x344996(0x1bc),async()=>app['getLogin'+'ItemSett'+_0x344996(0x41e)]()[_0x344996(0x1f1)+'gin']),_0x51faa2(_0x344996(0x1b6)+_0x344996(0x127)+_0x344996(0x427),async _0x217027=>{const _0xcc9942=_0x344996,_0x33b694=await dialog[_0xcc9942(0x76)+'Dialog'](BrowserWindow[_0xcc9942(0x214)+_0xcc9942(0x42c)](_0x217027['sender'])??mainWindow,{'properties':[_0xcc9942(0xf7)+_0xcc9942(0x1a2)]});return _0x33b694[_0xcc9942(0x405)+'s'][0x0]||'';}),_0x51faa2(_0x344996(0x1cd)+_0x344996(0x161)+_0x344996(0x427),async(_0x4fb1c5,_0x3c0c8c)=>{const _0x263333=_0x344996,_0x1e2f60=await shell[_0x263333(0x1ec)](String(_0x3c0c8c||''));return _0x1e2f60||'';}),_0x51faa2('openclaw'+_0x344996(0x485)+'-token',async()=>_0x1f269f()[_0x344996(0x351)+_0x344996(0x373)]()),_0x51faa2(_0x344996(0x249)+_0x344996(0x485)+'-port',async()=>_0x1f269f()[_0x344996(0x2f1)+'ort']()),_0x51faa2('openclaw'+_0x344996(0x2a8)+'e',async(_0x1e038c,_0x5abbac=[])=>{const _0xd178f=_0x344996,_0x22cda3=await runClawOnce(shellConfig[_0xd178f(0x3ad)+_0xd178f(0x15d)],Array[_0xd178f(0x2e5)](_0x5abbac)?_0x5abbac:[]);return{'ok':_0x22cda3['code']===0x0,..._0x22cda3};});const _0x4dbb22=configController[_0x344996(0x3ca)+_0x344996(0x7b)]();sessionSqliteStore=ensureSessionSqliteStore();const _0x43c086=createAgentSessionsMapStore({'stateDir':_0x4dbb22});_0x51faa2('sessions'+_0x344996(0x1f5),async(_0x3d009e,_0x2062fc={})=>{const _0x259c6b=_0x344996,_0x25614f=_0x2062fc&&typeof _0x2062fc===_0x259c6b(0x35d)?_0x2062fc:{},_0x18ffa3=_0x25614f[_0x259c6b(0xdd)+'ssionKey']||_0x25614f['sessionK'+'ey'],_0xc2f0f2=await _0x1f269f()[_0x259c6b(0x2b1)][_0x259c6b(0x2e7)]({..._0x25614f,'parentSessionKey':_0x18ffa3}),_0x4fde9b=String(_0xc2f0f2?.[_0x259c6b(0x29f)]||'')['trim'](),_0x4b4058=String(_0xc2f0f2?.[_0x259c6b(0x43b)+'d']||'')[_0x259c6b(0x204)]();return _0x4fde9b&&_0x4b4058&&await _0x43c086[_0x259c6b(0x1a7)]({'sessionKey':_0x4fde9b,'sessionId':_0x4b4058,'sourceSessionKey':_0x25614f[_0x259c6b(0x2b0)+_0x259c6b(0x34f)]||_0x18ffa3,...typeof _0x25614f['keepUnti'+'lTs']==='number'?{'keepUntilTs':_0x25614f[_0x259c6b(0xa9)+_0x259c6b(0x331)]}:{},...typeof _0x25614f[_0x259c6b(0x21a)+'le']===_0x259c6b(0x3b9)?{'cutoffRole':_0x25614f[_0x259c6b(0x21a)+'le']}:{},...typeof _0x25614f[_0x259c6b(0x38b)+'xt']===_0x259c6b(0x3b9)?{'cutoffText':_0x25614f['cutoffTe'+'xt']}:{}}),_0xc2f0f2;}),_0x51faa2(_0x344996(0x2b1)+':agent-m'+_0x344996(0x2b3),async(_0x25370a,_0x2eb1fe={})=>_0x43c086[_0x344996(0xc7)](_0x2eb1fe)),_0x51faa2('sessions'+_0x344996(0x3b5)+_0x344996(0x368)+'t',async(_0x561e59,_0x5939b6={})=>_0x43c086[_0x344996(0x1a7)](_0x5939b6)),_0x51faa2('sessions'+_0x344996(0x3b5)+'ap:entry',async(_0x285581,_0x501b8e={})=>{const _0x486217=_0x344996,_0x2838d9=String(_0x501b8e['sessionK'+'ey']||'')[_0x486217(0x204)]();if(!_0x2838d9)return null;return await sessionSqliteStore[_0x486217(0x434)+_0x486217(0x324)](_0x2838d9);}),_0x51faa2('agents:c'+'reate',async(_0x365af9,_0x3c94f5={})=>{const _0x28115a=_0x344996,_0x3947a1=await readMutableConfig(),_0x546efc=_0x3947a1['agents']&&typeof _0x3947a1[_0x28115a(0x3b0)]===_0x28115a(0x35d)?_0x3947a1[_0x28115a(0x3b0)]:{},_0x4a1da9=_0x512494(_0x3947a1),_0x23a6a1=String(_0x3c94f5['id']||_0x3c94f5[_0x28115a(0x336)]||_0x28115a(0x252)+Date[_0x28115a(0x7c)]())[_0x28115a(0x204)]()['replace'](/\s+/g,'-'),_0x8d417f={'id':_0x23a6a1,'name':String(_0x3c94f5['name']||_0x23a6a1),..._0x3c94f5[_0x28115a(0x28b)+'e']?{'workspace':String(_0x3c94f5[_0x28115a(0x28b)+'e'])}:{},..._0x3c94f5[_0x28115a(0x263)]?{'model':_0x3c94f5[_0x28115a(0x263)]}:{},..._0x3c94f5[_0x28115a(0x14e)]?{'emoji':_0x3c94f5[_0x28115a(0x14e)]}:{},..._0x3c94f5[_0x28115a(0x15e)]?{'avatar':_0x3c94f5['avatar']}:{},...Array[_0x28115a(0x2e5)](_0x3c94f5[_0x28115a(0x133)])?{'skills':_0x3c94f5[_0x28115a(0x133)]}:{}};if(_0x4a1da9[_0x28115a(0x3a5)](_0x490216=>_0x490216?.['id']===_0x23a6a1))throw new Error(_0x28115a(0x167)+_0x28115a(0x2a6)+_0x28115a(0x40e));return _0x546efc[_0x28115a(0x279)]=[..._0x4a1da9,_0x8d417f],_0x3947a1[_0x28115a(0x3b0)]=_0x546efc,await _0x899f8d(_0x3947a1,'agent\x20cr'+_0x28115a(0x3ae)),{'ok':!![],'agent':_0x8d417f};}),_0x51faa2('agents:u'+'pdate',async(_0x34a63b,_0x4f53f8={})=>{const _0x375e6b=_0x344996,_0x2511ed=String(_0x4f53f8['id']||_0x4f53f8[_0x375e6b(0x169)]||'')[_0x375e6b(0x204)]();if(!_0x2511ed)throw new Error(_0x375e6b(0x27d)+'\x20is\x20requ'+_0x375e6b(0x234));const _0x2a58b4=await readMutableConfig(),_0x239f0b=_0x2a58b4[_0x375e6b(0x3b0)]&&typeof _0x2a58b4[_0x375e6b(0x3b0)]===_0x375e6b(0x35d)?_0x2a58b4[_0x375e6b(0x3b0)]:{},_0x517801=_0x512494(_0x2a58b4),_0x27e002=_0x517801[_0x375e6b(0x9b)](_0x540623=>_0x540623?.['id']===_0x2511ed?{..._0x540623,..._0x4f53f8,'id':_0x2511ed}:_0x540623);return _0x239f0b[_0x375e6b(0x279)]=_0x27e002,_0x2a58b4[_0x375e6b(0x3b0)]=_0x239f0b,await _0x899f8d(_0x2a58b4,'agent\x20up'+_0x375e6b(0x379)),{'ok':!![],'agent':_0x27e002[_0x375e6b(0x185)](_0x57c8a5=>_0x57c8a5?.['id']===_0x2511ed)||null};}),_0x51faa2(_0x344996(0x309)+_0x344996(0x391),async(_0x12d5ed,_0x1110e7={})=>{const _0x5e6b7f=_0x344996,_0x4c5465=String(_0x1110e7['id']||_0x1110e7[_0x5e6b7f(0x169)]||'')[_0x5e6b7f(0x204)]();if(!_0x4c5465)throw new Error('agent\x20id'+_0x5e6b7f(0x343)+_0x5e6b7f(0x234));const _0x136d97=await readMutableConfig(),_0x516b93=_0x136d97[_0x5e6b7f(0x3b0)]&&typeof _0x136d97[_0x5e6b7f(0x3b0)]===_0x5e6b7f(0x35d)?_0x136d97[_0x5e6b7f(0x3b0)]:{};return _0x516b93[_0x5e6b7f(0x279)]=_0x512494(_0x136d97)[_0x5e6b7f(0x35e)](_0x44eb90=>_0x44eb90?.['id']!==_0x4c5465),_0x136d97['agents']=_0x516b93,await _0x899f8d(_0x136d97,_0x5e6b7f(0x42f)+_0x5e6b7f(0xdf)),{'ok':!![],'agentId':_0x4c5465};}),_0x51faa2(_0x344996(0x9f)+_0x344996(0xb3)+_0x344996(0x239)+'t',async(_0x39b36a,_0x22de81={})=>{const _0x34e53b=_0x344996,[_0x412075,_0x188987]=await Promise[_0x34e53b(0x1b5)]([_0x1f269f()[_0x34e53b(0x3b0)][_0x34e53b(0x279)](),ensureSessionDataService()['listSumm'+'aries'](_0x22de81)[_0x34e53b(0x47f)](()=>({'sessions':[]}))]),_0x22ea13=Array[_0x34e53b(0x2e5)](_0x188987[_0x34e53b(0x2b1)])?_0x188987[_0x34e53b(0x2b1)]:[];return{..._0x412075,'sessions':_0x22ea13,'groups':_0x2bce74(_0x412075,_0x22ea13)};}),terminalManager=createTerminalManager({'cwd':join(configController['resolveS'+_0x344996(0x7b)](),_0x344996(0x28b)+'e'),'emitData':_0x3cb28c=>broadcast(_0x344996(0x21b)+_0x344996(0x113),_0x3cb28c),'emitExit':_0x5f1a12=>broadcast(_0x344996(0x21b)+_0x344996(0x41a),_0x5f1a12)}),_0x51faa2(_0x344996(0x21b)+':create',async(_0xa4b611,_0x4a5d18={})=>terminalManager[_0x344996(0x2e7)](_0x4a5d18)),_0x51faa2(_0x344996(0x21b)+_0x344996(0x8d),async(_0xebe562,_0x1dfd98={})=>terminalManager[_0x344996(0x152)](_0x1dfd98)),_0x51faa2(_0x344996(0x21b)+_0x344996(0x2de),async(_0x473aa5,_0x28cd52={})=>terminalManager[_0x344996(0x180)](_0x28cd52)),_0x51faa2(_0x344996(0x21b)+_0x344996(0x16e),async(_0x458d5d,_0x16943b={})=>terminalManager[_0x344996(0x227)](_0x16943b)),_0x51faa2('plugins:'+'list',async()=>{const _0x17b24f=_0x344996,_0x31ec84=gatewayController?.[_0x17b24f(0x17d)+_0x17b24f(0x2c8)]?.()||{};return _0x31ec84[_0x17b24f(0x21f)]||[];}),_0x51faa2('plugins:'+_0x344996(0x424)+'ig',async(_0x303f43,_0x598ace={})=>{const _0x520764=_0x344996,_0x3857af=String(_0x598ace[_0x520764(0x2af)]||_0x598ace['id']||''),_0x50af33=await readMutableConfig(),_0x48578e=_0x50af33[_0x520764(0x21f)]?.[_0x520764(0x3bf)]||{};return _0x3857af?_0x48578e[_0x3857af]||null:_0x48578e;}),_0x51faa2(_0x344996(0x1fc)+'update-c'+_0x344996(0x37d),async(_0x1cc141,_0x5df918={})=>{const _0x89fea4=_0x344996,_0x2d95a4=String(_0x5df918[_0x89fea4(0x2af)]||_0x5df918['id']||'');if(!_0x2d95a4)throw new Error(_0x89fea4(0x2af)+_0x89fea4(0x343)+_0x89fea4(0x234));const _0x103e20=await readMutableConfig(),_0x537c99=_0x103e20[_0x89fea4(0x21f)]&&typeof _0x103e20[_0x89fea4(0x21f)]==='object'?_0x103e20['plugins']:{},_0x3ec73b=_0x537c99[_0x89fea4(0x3bf)]&&typeof _0x537c99[_0x89fea4(0x3bf)]===_0x89fea4(0x35d)?_0x537c99[_0x89fea4(0x3bf)]:{};return _0x3ec73b[_0x2d95a4]={..._0x3ec73b[_0x2d95a4]||{},..._0x5df918[_0x89fea4(0xae)]||_0x5df918['patch']||{}},_0x537c99[_0x89fea4(0x3bf)]=_0x3ec73b,_0x103e20[_0x89fea4(0x21f)]=_0x537c99,_0x899f8d(_0x103e20,'plugin\x20c'+_0x89fea4(0x2ae)+_0x89fea4(0x379));}),_0x51faa2(_0x344996(0x1fc)+_0x344996(0x108),async(_0x23b188,_0x2652d7={})=>{const _0x1bccb5=_0x344996,_0x51b1e2=String(_0x2652d7[_0x1bccb5(0x2af)]||_0x2652d7['id']||'');if(!_0x51b1e2)throw new Error(_0x1bccb5(0x2af)+'\x20is\x20requ'+_0x1bccb5(0x234));const _0x2966a3=await readMutableConfig(),_0xa30710=_0x2966a3[_0x1bccb5(0x21f)]&&typeof _0x2966a3[_0x1bccb5(0x21f)]==='object'?_0x2966a3[_0x1bccb5(0x21f)]:{},_0xb33fdd=_0xa30710[_0x1bccb5(0x3bf)]&&typeof _0xa30710[_0x1bccb5(0x3bf)]===_0x1bccb5(0x35d)?_0xa30710['entries']:{};return _0xb33fdd[_0x51b1e2]={..._0xb33fdd[_0x51b1e2]||{},'enabled':!![]},_0xa30710[_0x1bccb5(0x3bf)]=_0xb33fdd,_0x2966a3['plugins']=_0xa30710,_0x899f8d(_0x2966a3,_0x1bccb5(0xd1)+_0x1bccb5(0x342));}),_0x51faa2('plugins:'+'disable',async(_0x52541d,_0x214728={})=>{const _0x53d316=_0x344996,_0x3840e9=String(_0x214728['pluginId']||_0x214728['id']||'');if(!_0x3840e9)throw new Error(_0x53d316(0x2af)+_0x53d316(0x343)+'ired');const _0x525beb=await readMutableConfig(),_0x569fd5=_0x525beb[_0x53d316(0x21f)]&&typeof _0x525beb['plugins']===_0x53d316(0x35d)?_0x525beb[_0x53d316(0x21f)]:{},_0x2093b3=_0x569fd5[_0x53d316(0x3bf)]&&typeof _0x569fd5[_0x53d316(0x3bf)]===_0x53d316(0x35d)?_0x569fd5['entries']:{};return _0x2093b3[_0x3840e9]={..._0x2093b3[_0x3840e9]||{},'enabled':![]},_0x569fd5[_0x53d316(0x3bf)]=_0x2093b3,_0x525beb[_0x53d316(0x21f)]=_0x569fd5,_0x899f8d(_0x525beb,'plugin\x20d'+_0x53d316(0x267));}),_0x51faa2('plugins:'+_0x344996(0x2be),async(_0x24c5b4,_0x4f8785={})=>({'plugins':await((async()=>{const _0x4a1835=_0x344996,_0x4067d0=gatewayController?.['runtimeI'+'nfo']?.()||{};if(!_0x4f8785?.['pluginId']&&!_0x4f8785?.['id'])return _0x4067d0[_0x4a1835(0x21f)]||[];const _0x1a7b25=String(_0x4f8785[_0x4a1835(0x2af)]||_0x4f8785['id']||'');return(_0x4067d0[_0x4a1835(0x21f)]||[])[_0x4a1835(0x35e)](_0x221a01=>_0x221a01[_0x4a1835(0x2af)]===_0x1a7b25);})())})),_0x51faa2(_0x344996(0x175)+_0x344996(0x357),async(_0x25b929,_0x138d88)=>({'ok':!![],'payload':_0x138d88})),_0x51faa2(_0x344996(0x439)+_0x344996(0x441)+'e',async(_0x8182fe,_0x88de)=>{const _0xa3ae06=_0x344996;return broadcast(_0xa3ae06(0x443)+'mand',_0x88de),{'ok':!![]};}),_0x51faa2('tabs:req'+_0x344996(0xa1)+_0x344996(0x2d1),async()=>{const _0x485228=_0x344996;return broadcast('tabs-age'+_0x485228(0x2d1)+_0x485228(0x16f),{}),{'ok':!![]};}),_0x51faa2(_0x344996(0x325)+_0x344996(0x337)+_0x344996(0x2d1),async(_0x489e04,_0x451354={})=>{const _0x31eea8=_0x344996;return broadcast(_0x31eea8(0x139)+_0x31eea8(0x2d1)+'-refresh'+_0x31eea8(0x16f),_0x451354),{'ok':!![]};}),_0x51faa2(_0x344996(0x70)+_0x344996(0x13f),_0x16022f=>{const _0x2376c8=_0x344996;return minimizeOrHideWindow(BrowserWindow[_0x2376c8(0x214)+_0x2376c8(0x42c)](_0x16022f[_0x2376c8(0x3dd)])),{'ok':!![]};}),_0x51faa2(_0x344996(0x89)+_0x344996(0x395)+'ximize',_0xef1a0=>{const _0x5ac8ae=_0x344996,_0x550b37=BrowserWindow[_0x5ac8ae(0x214)+_0x5ac8ae(0x42c)](_0xef1a0[_0x5ac8ae(0x3dd)]);if(!_0x550b37)return{'isMaximized':![]};if(_0x550b37[_0x5ac8ae(0x41d)+_0x5ac8ae(0xa4)]())_0x550b37['unmaximi'+'ze']();else _0x550b37[_0x5ac8ae(0x2d5)]();return{'isMaximized':_0x550b37['isMaximi'+'zed']()};}),_0x51faa2(_0x344996(0x16a)+_0x344996(0x42a),_0x1fd2a4=>{const _0x76c0cd=_0x344996;return BrowserWindow[_0x76c0cd(0x214)+_0x76c0cd(0x42c)](_0x1fd2a4[_0x76c0cd(0x3dd)])?.['close'](),{'ok':!![]};}),_0x51faa2(_0x344996(0x26e)+'pen-devt'+_0x344996(0x2c9),()=>openDevToolsForActiveContext()),_0x51faa2(_0x344996(0x249)+_0x344996(0xd7)+_0x344996(0x1e5),()=>_0x1f269f()[_0x344996(0x17d)+_0x344996(0x2c8)]()),_0x51faa2('openclaw'+_0x344996(0x485)+_0x344996(0x35b),async()=>(await ensureGatewayControllerStarted())['getStatu'+'s']()),ipcMain['on'](_0x344996(0x249)+_0x344996(0x485)+_0x344996(0x122)+'snapshot',_0x2ce487=>{const _0xfd3a41=_0x344996;_0x2ce487[_0xfd3a41(0x339)+_0xfd3a41(0x20a)]=gatewayController?.[_0xfd3a41(0x3b3)+'s']?.()??null;}),_0x51faa2('openclaw'+_0x344996(0x485)+_0x344996(0x22c),()=>_0x1f269f()[_0x344996(0x2f5)]('renderer'+_0x344996(0x37b))),_0x51faa2(_0x344996(0x249)+_0x344996(0x247)+_0x344996(0x3b1)+'cle',async()=>({'loadingLifeCycle':'ready','message':'','updatedAt':new Date()['toISOStr'+'ing']()})),_0x51faa2('openclaw'+_0x344996(0x485)+_0x344996(0x20d),(_0x449489,_0x29fafe={})=>_0x1f269f()[_0x344996(0x1ab)+_0x344996(0x2ab)](_0x29fafe?.[_0x344996(0x107)]??0xc8)),_0x51faa2(_0x344996(0x249)+':answer-'+_0x344996(0x39d)+_0x344996(0x1e9)+'n',(_0x5e0856,_0x20139f)=>_0x1f269f()[_0x344996(0x2aa)+'kUserQue'+'stion'](_0x20139f)),_0x51faa2(_0x344996(0x249)+_0x344996(0x3ac)+_0x344996(0xf8),async()=>{const _0x421d3d=_0x344996,_0x391fff=join(resolveRuntimeRoot(shellConfig[_0x421d3d(0x3ad)+_0x421d3d(0x15d)]),_0x421d3d(0x2ef),_0x421d3d(0x2fb)+'w');if(!existsSync(_0x391fff))throw new Error('openclaw'+'\x20CLI\x20wra'+_0x421d3d(0x2fd)+_0x421d3d(0x1bb)+_0x391fff+('.\x20Run\x20wu'+_0x421d3d(0x1c6)+_0x421d3d(0x2bd)+_0x421d3d(0x328)));const _0x4840f0=join(app['getPath']('temp'),'wujie-sh'+'ell-cli.'+'command');await writeFile(_0x4840f0,'#!/bin/s'+_0x421d3d(0x3e4)+_0x391fff[_0x421d3d(0x435)](/\\/g,'\x5c\x5c')[_0x421d3d(0x435)](/"/g,'\x5c\x22')+'\x22\x0a',{'mode':0x1ed});const _0x5ae4a2=spawn(_0x421d3d(0x228),['-a','Terminal',_0x4840f0],{'detached':!![],'stdio':_0x421d3d(0x390)});return _0x5ae4a2['unref'](),{'ok':!![],'cliPath':_0x391fff};}),_0x51faa2(_0x344996(0x36d)+_0x344996(0x467),()=>_0x1f269f()['agents'][_0x344996(0x279)]()),_0x51faa2(_0x344996(0x277)+_0x344996(0x3ea),(_0x29061e,_0x1c4742)=>_0x1f269f()[_0x344996(0x133)][_0x344996(0x2be)](_0x1c4742)),_0x51faa2('sessions'+':create',(_0x5f2430,_0x5cafff)=>_0x1f269f()[_0x344996(0x2b1)][_0x344996(0x2e7)](_0x5cafff)),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x129)+'t',(_0x46470b,_0x3ca2ab)=>ensureSessionDataService()[_0x344996(0x2a5)+'aries'](_0x3ca2ab)),_0x51faa2(_0x344996(0x2b1)+':summary',(_0x3f726f,_0x1ebf83)=>ensureSessionDataService()[_0x344996(0x3ee)+'ry'](_0x1ebf83)),_0x51faa2('sessions'+_0x344996(0x212)+'n',(_0x1a0158,_0x28c184)=>ensureSessionDataService()['getRevis'+_0x344996(0x201)](_0x28c184)),_0x51faa2('sessions'+':message'+_0x344996(0x165)+'ot',(_0xf0e04e,_0x573712)=>ensureSessionDataService()['getMessa'+_0x344996(0x208)](_0x573712)),_0x51faa2('sessions'+':artifac'+'ts',(_0x57dcfc,_0x3d04b0)=>ensureSessionDataService()[_0x344996(0x440)+_0x344996(0x1b0)](_0x3d04b0)),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x1f7)+'es',(_0x456e19,_0x15bfb6)=>ensureSessionDataService()['getProce'+_0x344996(0xb0)](_0x15bfb6)),_0x51faa2('sessions'+':runtime'+_0x344996(0x36b)+_0x344996(0x1c4),(_0x74de9,_0x21003d={})=>ensureSessionDataService()['getRunti'+_0x344996(0x29d)](String(_0x21003d[_0x344996(0x2c4)+'ey']||_0x21003d[_0x344996(0x29f)]||''))),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x260),(_0x17f989,_0xe5cbb6={})=>ensureSessionDataService()[_0x344996(0xe9)+_0x344996(0xe4)+'s'](_0xe5cbb6)),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x489),async(_0x19bd18,_0x6f1c5={})=>{const _0x113ea9=_0x344996,_0x332731=String(_0x6f1c5[_0x113ea9(0x2c4)+'ey']||_0x6f1c5['key']||'')['trim'](),_0x13a4fd=await ensureSessionSqliteStore()[_0x113ea9(0x434)+_0x113ea9(0x1b3)](_0x332731),_0x50212c=await configController[_0x113ea9(0x402)+_0x113ea9(0x3d3)+_0x113ea9(0x40f)]();return{..._0x13a4fd,'contextWindowTokens':_0x50212c[_0x113ea9(0x112)+_0x113ea9(0xcd)+'ens'],'contextWindowSource':_0x50212c[_0x113ea9(0x112)+_0x113ea9(0xf1)+_0x113ea9(0x205)]};}),_0x51faa2(_0x344996(0x2b1)+':delete',(_0xc4e53d,_0x4f53fe)=>_0x1f269f()[_0x344996(0x2b1)][_0x344996(0x19c)](_0x4f53fe)),_0x51faa2(_0x344996(0xfc)+'eam',async(_0x16892b,_0x1ae598)=>{const _0x24a764=_0x344996;return await _0x500dab[_0x24a764(0x429)+_0x24a764(0xb2)+'hot'](_0x1ae598?.[_0x24a764(0x2c4)+'ey']||_0x1ae598?.[_0x24a764(0x29f)],_0x1ae598?.[_0x24a764(0x130)+'ryPath']),_0x1f269f()['chat'][_0x24a764(0x465)](_0x1ae598);}),_0x51faa2(_0x344996(0x453)+'rt',(_0x11cf38,_0x4d7b70)=>_0x1f269f()[_0x344996(0x1b1)]['abort'](_0x4d7b70)),_0x51faa2('review:r'+'epositor'+'y-info',(_0x51660f,_0x5afeb7={})=>_0x500dab['reposito'+_0x344996(0x198)](_0x5afeb7[_0x344996(0x130)+'ryPath'])),_0x51faa2(_0x344996(0x29a)+_0x344996(0x40d)+'itory',(_0x51d58c,_0x3197e2={})=>_0x500dab[_0x344996(0x480)+'itory'](_0x3197e2[_0x344996(0x2c4)+'ey'],_0x3197e2[_0x344996(0x130)+_0x344996(0x90)])),_0x51faa2(_0x344996(0x2ca)+_0x344996(0x220),(_0x290ccc,_0x12e8f0={})=>_0x500dab['diff'](_0x12e8f0)),_0x51faa2(_0x344996(0x1ee)+'it-statu'+'s',(_0x2076b7,_0x2e0ba2={})=>_0x500dab[_0x344996(0x36f)+'s'](_0x2e0ba2)),_0x51faa2('review:g'+'it-stage',(_0x3e5d07,_0x5af2ed={})=>_0x500dab[_0x344996(0x13c)](_0x5af2ed[_0x344996(0x130)+_0x344996(0x90)],_0x5af2ed[_0x344996(0x19a)])),_0x51faa2(_0x344996(0x1ee)+_0x344996(0x20c)+'ge',(_0x24bef2,_0x507744={})=>_0x500dab['unstage'](_0x507744['reposito'+_0x344996(0x90)],_0x507744[_0x344996(0x19a)])),_0x51faa2(_0x344996(0x1ee)+_0x344996(0x436)+'t',(_0x497397,_0x2ae144={})=>_0x500dab[_0x344996(0x460)](_0x2ae144['reposito'+_0x344996(0x90)],_0x2ae144[_0x344996(0x37c)])),_0x51faa2('review:g'+_0x344996(0x376),(_0x48d0bb,_0x4ed357={})=>_0x500dab[_0x344996(0x128)](_0x4ed357[_0x344996(0x130)+_0x344996(0x90)])),_0x51faa2(_0x344996(0x1ee)+'it-pull',(_0x3cf7d9,_0x28c1f0={})=>_0x500dab[_0x344996(0xca)](_0x28c1f0[_0x344996(0x130)+_0x344996(0x90)])),_0x51faa2(_0x344996(0x1ee)+_0x344996(0x3a6),(_0x437a23,_0x1412ab={})=>_0x500dab[_0x344996(0x275)](_0x1412ab[_0x344996(0x130)+'ryPath'])),_0x51faa2(_0x344996(0x1ee)+_0x344996(0x393)+_0x344996(0x38f),(_0x160c7b,_0x562453={})=>_0x500dab[_0x344996(0x3e7)+_0x344996(0x3f5)](_0x562453[_0x344996(0x130)+_0x344996(0x90)],_0x562453['branch'])),_0x51faa2(_0x344996(0x1ee)+_0x344996(0x44f)+'e-branch',(_0x47e4b9,_0x5b68a2={})=>_0x500dab[_0x344996(0xbe)+_0x344996(0x3f5)](_0x5b68a2[_0x344996(0x130)+_0x344996(0x90)],_0x5b68a2['branch'])),_0x51faa2(_0x344996(0x29a)+_0x344996(0xce)+'e',(_0x3162f8,_0x3ddca3={})=>_0x500dab[_0x344996(0x35c)+'e'](_0x3ddca3[_0x344996(0x130)+'ryPath'],_0x3ddca3['path'])),_0x51faa2(_0x344996(0x281)+_0x344996(0x35a)+'le',(_0x5cb403,_0x1a6234={})=>_0x500dab[_0x344996(0x498)+'le'](_0x1a6234[_0x344996(0x130)+_0x344996(0x90)],_0x1a6234['path'])),_0x51faa2(_0x344996(0x3c3)+'te',async(_0x2ee5c4,_0x4323ac={})=>{const _0x50a457=_0x344996,_0x49651f=typeof _0x4323ac['level']===_0x50a457(0x3b9)?_0x4323ac[_0x50a457(0x39a)]:_0x50a457(0x3cb),_0x5becce=typeof _0x4323ac['message']===_0x50a457(0x3b9)?_0x4323ac[_0x50a457(0x37c)]:_0x50a457(0x442)+_0x50a457(0xec),_0x5a2e01=typeof _0x4323ac[_0x50a457(0xc2)]===_0x50a457(0x3b9)&&_0x4323ac['context']['trim']()?'renderer'+':'+_0x4323ac[_0x50a457(0xc2)][_0x50a457(0x204)]():_0x50a457(0x442),_0x5f645a=_0x4323ac[_0x50a457(0x33a)]&&typeof _0x4323ac['meta']==='object'?{...summarizePayload(_0x4323ac['meta']),'context':_0x5a2e01}:{'context':_0x5a2e01},_0x13be9e=rendererLogger;if(_0x13be9e?.[_0x49651f])await _0x13be9e[_0x49651f](_0x5becce,_0x5f645a);else await _0x13be9e?.['info'](_0x5becce,_0x5f645a);if(_0x4323ac[_0x50a457(0x1d1)+'ic']===!![]||_0x5a2e01==='renderer'+_0x50a457(0x271)+_0x50a457(0x116)){const _0x2a2a6a=_0x4323ac[_0x50a457(0x2cc)]&&typeof _0x4323ac[_0x50a457(0x2cc)]==='object'?_0x4323ac[_0x50a457(0x2cc)]:_0x4323ac[_0x50a457(0x33a)]?.[_0x50a457(0x2cc)]&&typeof _0x4323ac[_0x50a457(0x33a)][_0x50a457(0x2cc)]===_0x50a457(0x35d)?_0x4323ac[_0x50a457(0x33a)][_0x50a457(0x2cc)]:{'level':_0x49651f,'category':_0x50a457(0x442),'event':_0x5a2e01,'message':_0x5becce,'meta':_0x4323ac[_0x50a457(0x33a)]};updateRendererSessionMetrics(_0x2a2a6a),await diagnosticsWriter?.[_0x50a457(0x47e)+'nt'](_0x2a2a6a,{'captureIncident':String(_0x2a2a6a[_0x50a457(0x39a)]||_0x49651f)['toLowerC'+_0x50a457(0x8e)]()===_0x50a457(0x301)||_0x4323ac['captureI'+_0x50a457(0x3a4)]===!![]});}return{'ok':!![]};}),_0x51faa2(_0x344996(0x354)+'ort',async(_0x1074c3,_0x39f727={})=>{const _0x3c7a6e=_0x344996,_0x71d5f9=typeof _0x39f727[_0x3c7a6e(0x45c)+'r']==='string'&&_0x39f727[_0x3c7a6e(0x45c)+'r'][_0x3c7a6e(0x204)]()?_0x39f727[_0x3c7a6e(0x45c)+'r']:undefined,_0x757607=await exportLogsArchive({'logsDir':configController[_0x3c7a6e(0x19a)][_0x3c7a6e(0x3cd)],'targetDir':_0x71d5f9,'appVersion':app['getVersi'+'on']()});return mainLogger?.[_0x3c7a6e(0x3cb)]('logs\x20exp'+'orted',{'path':toHomePath(_0x757607[_0x3c7a6e(0x176)])}),_0x757607;}),_0x51faa2(_0x344996(0x370)+_0x344996(0x269)+_0x344996(0x32a),async()=>{const _0x4ec972=_0x344996;return await shell['openPath'](configController[_0x4ec972(0x19a)][_0x4ec972(0x3cd)]),mainLogger?.[_0x4ec972(0x3cb)](_0x4ec972(0x6f)+'ectory\x20o'+_0x4ec972(0x448),{'logsDir':toHomePath(configController[_0x4ec972(0x19a)][_0x4ec972(0x3cd)])}),{'ok':!![],'path':configController[_0x4ec972(0x19a)][_0x4ec972(0x3cd)]};}),_0x51faa2(_0x344996(0x398)+'t',async()=>{const _0x3bc6a2=_0x344996,_0x48dbf7=await readdir(configController[_0x3bc6a2(0x19a)]['logsDir'],{'recursive':!![]})[_0x3bc6a2(0x47f)](()=>[]);return _0x48dbf7;}),_0x51faa2(_0x344996(0x3a9)+'d',async(_0x3e4941,_0x535344={})=>{const _0x228de2=_0x344996,_0x29efcc=String(_0x535344[_0x228de2(0x176)]||'');if(!_0x29efcc)throw new Error(_0x228de2(0x3b8)+_0x228de2(0x3a2));return readFile(_0x29efcc,_0x228de2(0x11c));}),_0x51faa2(_0x344996(0xcf)+'ad',async(_0x14f7b1,_0x45f42b)=>{const _0x585d5b=_0x344996,_0x9670f5=Date[_0x585d5b(0x7c)]();try{const _0x44808c=await readFile(_0x45f42b,_0x585d5b(0x11c));return filesLogger?.['info']('file\x20rea'+_0x585d5b(0x1a9)+_0x585d5b(0x174),{'path':toHomePath(_0x45f42b),'bytes':Buffer[_0x585d5b(0xab)+'th'](_0x44808c),'durationMs':Date[_0x585d5b(0x7c)]()-_0x9670f5}),_0x44808c;}catch(_0x2ae215){filesLogger?.[_0x585d5b(0x301)](_0x585d5b(0x45f)+_0x585d5b(0x37a),{'path':toHomePath(_0x45f42b),'durationMs':Date[_0x585d5b(0x7c)]()-_0x9670f5,'error':summarizeError(_0x2ae215)});throw _0x2ae215;}}),_0x51faa2(_0x344996(0xcf)+_0x344996(0xcb)+'y',async(_0x395cf3,_0x558816)=>{const _0x5ac649=_0x344996,_0x4d5f8c=Date[_0x5ac649(0x7c)]();try{const _0x26ec3a=await readFile(_0x558816);return filesLogger?.[_0x5ac649(0x3cb)](_0x5ac649(0x96)+_0x5ac649(0x172)+_0x5ac649(0x400)+'ed',{'path':toHomePath(_0x558816),'bytes':_0x26ec3a[_0x5ac649(0xab)+'th'],'durationMs':Date[_0x5ac649(0x7c)]()-_0x4d5f8c}),new Uint8Array(_0x26ec3a);}catch(_0x13d6a4){filesLogger?.[_0x5ac649(0x301)]('binary\x20f'+_0x5ac649(0x172)+'\x20failed',{'path':toHomePath(_0x558816),'durationMs':Date[_0x5ac649(0x7c)]()-_0x4d5f8c,'error':summarizeError(_0x13d6a4)});throw _0x13d6a4;}}),_0x51faa2(_0x344996(0x358)+_0x344996(0xe7),async(_0x23574a,_0x3e5ed6={})=>{const _0x4e29a7=_0x344996,_0xca45fe=Date[_0x4e29a7(0x7c)]();return await writeFile(_0x3e5ed6['path'],_0x3e5ed6[_0x4e29a7(0x164)]??'','utf8'),filesLogger?.[_0x4e29a7(0x3cb)](_0x4e29a7(0x24b)+_0x4e29a7(0x243)+_0x4e29a7(0x3f2),{'path':toHomePath(_0x3e5ed6['path']),'bytes':Buffer[_0x4e29a7(0xab)+'th'](String(_0x3e5ed6['content']??'')),'durationMs':Date['now']()-_0xca45fe}),{'ok':!![]};}),_0x51faa2(_0x344996(0x358)+_0x344996(0x1fa)+'ry',async(_0xf309da,_0x186e9={})=>{const _0x3f4cf5=_0x344996,_0x1d380d=Date[_0x3f4cf5(0x7c)]();await writeFile(_0x186e9[_0x3f4cf5(0x176)],Buffer['from'](_0x186e9[_0x3f4cf5(0x164)]??[]));const _0x49407e=await stat(_0x186e9[_0x3f4cf5(0x176)])[_0x3f4cf5(0x47f)](()=>null);return filesLogger?.[_0x3f4cf5(0x3cb)](_0x3f4cf5(0x96)+_0x3f4cf5(0xcc)+_0x3f4cf5(0x3be)+_0x3f4cf5(0x174),{'path':toHomePath(_0x186e9['path']),'bytes':_0x49407e?.[_0x3f4cf5(0x2e9)]??0x0,'durationMs':Date[_0x3f4cf5(0x7c)]()-_0x1d380d}),{'ok':!![]};}),_0x51faa2(_0x344996(0x272)+'lect-fil'+'e',async(_0x312263,_0x375312={})=>{const _0x711846=_0x344996,_0x56fbdb=await dialog[_0x711846(0x76)+_0x711846(0x486)](BrowserWindow[_0x711846(0x214)+_0x711846(0x42c)](_0x312263['sender'])??mainWindow,{'title':typeof _0x375312[_0x711846(0x389)]===_0x711846(0x3b9)?_0x375312[_0x711846(0x389)]:undefined,'properties':[_0x711846(0x48f),..._0x375312[_0x711846(0x2d4)+'ections']?[_0x711846(0x2d4)+'ections']:[]],'filters':Array[_0x711846(0x2e5)](_0x375312[_0x711846(0x475)])?_0x375312[_0x711846(0x475)]:undefined});return filesLogger?.['info'](_0x711846(0x1e7)+_0x711846(0x10c)+_0x711846(0xdf),{'canceled':_0x56fbdb['canceled'],'count':_0x56fbdb['filePath'+'s'][_0x711846(0x236)],'paths':_0x56fbdb[_0x711846(0x405)+'s'][_0x711846(0x9b)](toHomePath)}),{'canceled':_0x56fbdb['canceled'],'paths':_0x56fbdb[_0x711846(0x405)+'s']};}),_0x51faa2(_0x344996(0x1cc)+'st-direc'+'tory',async(_0x2b03cd,_0x115e57={})=>{const _0xe29af7=_0x344996,_0x21d7d6=resolve(String(_0x115e57[_0xe29af7(0x176)]||'')),_0x2a379f=_0x115e57[_0xe29af7(0x259)+'e']!==![],_0x1d22c7=Array[_0xe29af7(0x2e5)](_0x115e57['extensio'+'ns'])?_0x115e57[_0xe29af7(0x3c9)+'ns'][_0xe29af7(0x9b)](_0x322bc2=>String(_0x322bc2)[_0xe29af7(0x179)+_0xe29af7(0x8e)]()[_0xe29af7(0x435)](/^\./,''))[_0xe29af7(0x35e)](Boolean):null,_0x53e39f=Number[_0xe29af7(0x186)+'r'](_0x115e57[_0xe29af7(0x308)+'es'])&&_0x115e57[_0xe29af7(0x308)+'es']>0x0?_0x115e57['maxEntri'+'es']:0xc350,_0x3510fb=[];let _0x33f061=![];async function _0x5b732e(_0x3a9792){const _0x4043c5=_0xe29af7;if(_0x33f061)return;let _0x217c53;try{_0x217c53=await readdir(_0x3a9792,{'withFileTypes':!![]});}catch{return;}for(const _0x27f6d7 of _0x217c53){if(_0x33f061)return;if(_0x27f6d7[_0x4043c5(0x336)][_0x4043c5(0x2d8)+'th']('.'))continue;const _0x5bf130=join(_0x3a9792,_0x27f6d7[_0x4043c5(0x336)]);if(_0x27f6d7[_0x4043c5(0x248)+_0x4043c5(0x32a)]()){if(_0x2a379f)await _0x5b732e(_0x5bf130);continue;}if(!_0x27f6d7['isFile']())continue;if(_0x1d22c7){const _0x38b362=_0x27f6d7[_0x4043c5(0x336)]['lastInde'+_0x4043c5(0x210)]('.'),_0x571680=_0x38b362>=0x0?_0x27f6d7[_0x4043c5(0x336)][_0x4043c5(0x38c)](_0x38b362+0x1)[_0x4043c5(0x179)+_0x4043c5(0x8e)]():'';if(!_0x1d22c7[_0x4043c5(0x23c)](_0x571680))continue;}if(_0x3510fb[_0x4043c5(0x236)]>=_0x53e39f){_0x33f061=!![];return;}_0x3510fb['push']({'name':_0x27f6d7[_0x4043c5(0x336)],'path':_0x5bf130});}}return await _0x5b732e(_0x21d7d6),{'path':_0x21d7d6,'entries':_0x3510fb,'truncated':_0x33f061};}),_0x51faa2(_0x344996(0x272)+_0x344996(0x43c)+_0x344996(0xe5),async(_0x2b6705,_0x479da7={})=>{const _0x28774b=_0x344996,_0x5133f4=await dialog['showOpen'+_0x28774b(0x486)](BrowserWindow[_0x28774b(0x214)+_0x28774b(0x42c)](_0x2b6705[_0x28774b(0x3dd)])??mainWindow,{'title':typeof _0x479da7['title']===_0x28774b(0x3b9)?_0x479da7[_0x28774b(0x389)]:undefined,'properties':[_0x28774b(0xf7)+_0x28774b(0x1a2)]});return filesLogger?.[_0x28774b(0x3cb)](_0x28774b(0x350)+_0x28774b(0x1ed)+_0x28774b(0x400)+'ed',{'canceled':_0x5133f4['canceled'],'count':_0x5133f4['filePath'+'s'][_0x28774b(0x236)],'paths':_0x5133f4['filePath'+'s'][_0x28774b(0x9b)](toHomePath)}),{'canceled':_0x5133f4[_0x28774b(0x493)],'paths':_0x5133f4[_0x28774b(0x405)+'s']};}),_0x51faa2(_0x344996(0x28b)+_0x344996(0x433)+_0x344996(0x110),()=>_0x1f269f()[_0x344996(0x28b)+'e'][_0x344996(0x2d6)+_0x344996(0xa6)]()),_0x51faa2(_0x344996(0x28b)+'e:open-d'+_0x344996(0x1ed),async()=>{const _0x289e90=_0x344996,_0x412e6f=await _0x1f269f()['workspac'+'e'][_0x289e90(0x2d6)+_0x289e90(0xa6)]();return await shell[_0x289e90(0x1ec)](_0x412e6f[_0x289e90(0x176)]),filesLogger?.[_0x289e90(0x3cb)]('workspac'+_0x289e90(0x1b8)+_0x289e90(0x2b6)+'ed',{'path':toHomePath(_0x412e6f['path'])}),{'ok':!![],'path':_0x412e6f[_0x289e90(0x176)]};}),_0x51faa2('workspac'+_0x344996(0x470)+_0x344996(0x78),()=>_0x1f269f()[_0x344996(0x28b)+'e'][_0x344996(0x245)+_0x344996(0xe8)]()),_0x51faa2('workspac'+_0x344996(0x74)+_0x344996(0x2fa)+_0x344996(0x8b),(_0x4c5324,_0x34f85e)=>_0x1f269f()[_0x344996(0x28b)+'e'][_0x344996(0x33e)+_0x344996(0x1dc)+'xt'](_0x34f85e)),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x117),(_0x55320c,_0x29bca6)=>_0x1f269f()[_0x344996(0x2b1)][_0x344996(0x3e5)](_0x29bca6)),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x181),async(_0x14bbfe,_0x287523={})=>{const _0x154d40=_0x344996,_0x160d0c=String(_0x287523[_0x154d40(0x2c4)+'ey']||_0x287523[_0x154d40(0x29f)]||'')[_0x154d40(0x204)]();if(!_0x160d0c)throw new Error(_0x154d40(0x2c4)+_0x154d40(0x3b7)+_0x154d40(0x364));const _0x19f583=await ensureSessionSqliteStore()['getPinne'+_0x154d40(0x123)+_0x154d40(0x24c)](),_0x496836=await _0x1f269f()['sessions']['reorderP'+_0x154d40(0x283)]([_0x160d0c,..._0x19f583[_0x154d40(0x35e)](_0x5cf9dc=>_0x5cf9dc!==_0x160d0c)]);return _0x496836;}),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x4a4),async(_0x539ffb,_0x219089={})=>{const _0x3ec99f=_0x344996,_0x303fa5=String(_0x219089[_0x3ec99f(0x2c4)+'ey']||_0x219089[_0x3ec99f(0x29f)]||'')[_0x3ec99f(0x204)]();if(!_0x303fa5)throw new Error('sessionK'+_0x3ec99f(0x3b7)+'quired');const _0x181bc9=await ensureSessionSqliteStore()[_0x3ec99f(0x484)+'dSession'+_0x3ec99f(0x24c)]();return await _0x1f269f()[_0x3ec99f(0x2b1)][_0x3ec99f(0x45d)+_0x3ec99f(0x283)](_0x181bc9['filter'](_0x579352=>_0x579352!==_0x303fa5));}),_0x51faa2(_0x344996(0x2b1)+_0x344996(0x126)+_0x344996(0x3ff),async(_0xfa29a7,_0x5a1c67={})=>{const _0x594666=_0x344996,_0x2b36ee=Array[_0x594666(0x2e5)](_0x5a1c67['keys'])?_0x5a1c67[_0x594666(0x29e)]:_0x5a1c67;return await _0x1f269f()[_0x594666(0x2b1)][_0x594666(0x45d)+'inned'](_0x2b36ee);}),_0x51faa2(_0x344996(0xb7)+_0x344996(0x344),(_0x448310,_0x50a2d3)=>_0x1f269f()['skills'][_0x344996(0x270)](_0x50a2d3)),_0x51faa2('cron:lis'+'t',(_0x3a3f25,_0xe5543f)=>_0x1f269f()[_0x344996(0x20b)][_0x344996(0x279)](_0xe5543f)),_0x51faa2(_0x344996(0x3fb)+_0x344996(0x3b4),(_0x147e51,_0xde7ed4)=>_0x1f269f()[_0x344996(0x20b)][_0x344996(0x2e7)](_0xde7ed4)),_0x51faa2('cron:upd'+'ate',(_0x40df5e,_0x5a3555)=>_0x1f269f()[_0x344996(0x20b)]['update'](_0x5a3555)),_0x51faa2(_0x344996(0x156)+_0x344996(0x2a0),(_0x12be0b,_0x1b6cd6)=>_0x1f269f()[_0x344996(0x20b)][_0x344996(0x1cf)](_0x1b6cd6)),_0x51faa2('cron:run'+_0x344996(0xc8),(_0x549ede,_0x59253a)=>_0x1f269f()[_0x344996(0x20b)][_0x344996(0x146)](_0x59253a)),_0x51faa2(_0x344996(0x2f3)+'s',(_0x3c3344,_0x468b9e)=>_0x1f269f()['cron'][_0x344996(0x3d8)](_0x468b9e)),_0x51faa2(_0x344996(0x451)+_0x344996(0x131),async(_0x3f0e93,_0x24be73={})=>{const _0x19fef7=_0x344996,_0x3ad6d3=configController[_0x19fef7(0x1d2)+_0x19fef7(0x1b2)+'h'](),_0x463b13=JSON[_0x19fef7(0x2a7)](await readFile(_0x3ad6d3,'utf8')),_0x213742=_0x463b13?.['models']?.[_0x19fef7(0x2ff)+'s']&&typeof _0x463b13[_0x19fef7(0x2df)][_0x19fef7(0x2ff)+'s']===_0x19fef7(0x35d)?_0x463b13[_0x19fef7(0x2df)][_0x19fef7(0x2ff)+'s']:{},_0x8ae6de=typeof _0x463b13?.[_0x19fef7(0x3b0)]?.['defaults']?.[_0x19fef7(0x263)]?.[_0x19fef7(0x2fe)]===_0x19fef7(0x3b9)?_0x463b13[_0x19fef7(0x3b0)][_0x19fef7(0x317)][_0x19fef7(0x263)][_0x19fef7(0x2fe)]:'',_0x297dc4=String(_0x24be73[_0x19fef7(0x263)]||_0x8ae6de||'');if(!_0x297dc4[_0x19fef7(0x23c)]('/'))throw new Error(_0x19fef7(0x32c)+'lt\x20model'+_0x19fef7(0x43e)+'red;\x20set'+_0x19fef7(0x33b)+_0x19fef7(0x149)+_0x19fef7(0x1a6));const _0x4f0d9f=_0x297dc4[_0x19fef7(0x148)]('/'),_0x404eb9=_0x297dc4[_0x19fef7(0x38c)](0x0,_0x4f0d9f),_0x5dad53=_0x297dc4[_0x19fef7(0x38c)](_0x4f0d9f+0x1),_0x2f5688=_0x213742[_0x404eb9];if(!_0x2f5688||typeof _0x2f5688!==_0x19fef7(0x35d))throw new Error('provider'+_0x19fef7(0x18a)+_0x19fef7(0x261)+'\x20'+_0x404eb9);const _0x59be88=String(_0x2f5688['baseUrl']||_0x19fef7(0x363)+'api.open'+_0x19fef7(0x374)+'1')[_0x19fef7(0x204)]()[_0x19fef7(0x435)](/\/$/,''),_0x3d34d4=await fetch(_0x59be88+(_0x19fef7(0x47c)+'mpletion'+'s'),{'method':_0x19fef7(0x3a7),'headers':{'content-type':_0x19fef7(0x352)+_0x19fef7(0x34c),'Authorization':_0x19fef7(0x323)+(_0x2f5688['apiKey']||''),..._0x2f5688[_0x19fef7(0x412)]&&typeof _0x2f5688[_0x19fef7(0x412)]==='object'?_0x2f5688['headers']:{}},'body':JSON[_0x19fef7(0x1e8)+'y']({'model':_0x5dad53,'max_tokens':Number['isIntege'+'r'](_0x24be73['maxToken'+'s'])?_0x24be73[_0x19fef7(0x1af)+'s']:0x400,'temperature':typeof _0x24be73['temperat'+'ure']===_0x19fef7(0x155)?_0x24be73[_0x19fef7(0x23f)+'ure']:undefined,'messages':Array[_0x19fef7(0x2e5)](_0x24be73[_0x19fef7(0x299)])?_0x24be73['messages']:[]}),'signal':AbortSignal[_0x19fef7(0x211)](Number[_0x19fef7(0x186)+'r'](_0x24be73[_0x19fef7(0x377)+'s'])?_0x24be73['timeoutM'+'s']:0x1d4c0)});if(!_0x3d34d4['ok']){const _0x569093=await _0x3d34d4[_0x19fef7(0x3d7)]();throw new Error(_0x19fef7(0x2a2)+_0x19fef7(0x3d0)+_0x3d34d4[_0x19fef7(0x2be)]+':\x20'+_0x569093[_0x19fef7(0x38c)](0x0,0x190));}const _0x1ab09d=_0x3d34d4[_0x19fef7(0x412)][_0x19fef7(0xc7)](_0x19fef7(0x273)+'id'),_0x2685e9=await _0x3d34d4[_0x19fef7(0x202)](),_0x693c43=_0x2685e9?.[_0x19fef7(0x1c5)]?.[0x0]?.[_0x19fef7(0x37c)]??{};if(_0x1ab09d){const _0x51e43d=typeof _0x24be73['title']===_0x19fef7(0x3b9)&&_0x24be73[_0x19fef7(0x389)][_0x19fef7(0x204)]()?_0x24be73[_0x19fef7(0x389)][_0x19fef7(0x204)]():Array['isArray'](_0x24be73['messages'])?String([..._0x24be73[_0x19fef7(0x299)]][_0x19fef7(0x333)]()[_0x19fef7(0x185)](_0x2b1316=>_0x2b1316?.[_0x19fef7(0x31d)]===_0x19fef7(0x449))?.[_0x19fef7(0x164)]||'')['trim']():'';_0x51e43d&&Promise[_0x19fef7(0x9c)](requestIdHooks?.[_0x19fef7(0x3d4)+_0x19fef7(0x4a9)+_0x19fef7(0xb4)]?.({'requestId':_0x1ab09d,'title':_0x51e43d,'source':_0x19fef7(0x2ff)+'_respons'+'e','model':_0x2685e9?.[_0x19fef7(0x263)]||_0x5dad53,'provider':_0x404eb9,'timestamp':Date[_0x19fef7(0x7c)]()}))[_0x19fef7(0x47f)](_0x1dac11=>{const _0x15b154=_0x19fef7;mainLogger?.[_0x15b154(0x1f4)]?.(_0x15b154(0x488)+'omplete\x20'+_0x15b154(0x273)+_0x15b154(0x71)+_0x15b154(0x1e3)+'ailed',{'error':_0x1dac11?.[_0x15b154(0x37c)]||String(_0x1dac11)});});}return{'content':extractModelMessageContent(_0x693c43['content']),'reasoning':typeof _0x693c43[_0x19fef7(0x240)+'g_conten'+'t']===_0x19fef7(0x3b9)?_0x693c43['reasonin'+_0x19fef7(0x3af)+'t']:'','model':_0x2685e9?.[_0x19fef7(0x263)]||_0x5dad53};}),_0x51faa2(_0x344996(0x258)+_0x344996(0x3bc),()=>_0x1f269f()['models'][_0x344996(0x463)]()),_0x51faa2(_0x344996(0x258)+_0x344996(0xe3)+'ngs',(_0x7abadb,_0x4975f0)=>_0x1f269f()[_0x344996(0x2df)]['setSetti'+'ngs'](_0x4975f0)),_0x51faa2(_0x344996(0x258)+_0x344996(0x355)+_0x344996(0x330)+_0x344996(0x18c),(_0x52ba11,_0x5bcabd)=>_0x1f269f()[_0x344996(0x2df)]['setSelec'+'tedModel'+_0x344996(0x2f8)+'re'](_0x5bcabd)),_0x51faa2(_0x344996(0x258)+'et-self-'+_0x344996(0x3f9),(_0xabdabc,_0x6c4706)=>_0x1f269f()['models']['setSelfO'+_0x344996(0x99)+_0x344996(0x397)](_0x6c4706)),_0x51faa2(_0x344996(0x258)+'elected-'+_0x344996(0x2cf),()=>_0x1f269f()['models'][_0x344996(0x295)+_0x344996(0x2dd)]()),_0x51faa2(_0x344996(0x451)+'ustom-mo'+_0x344996(0x2b7),()=>_0x1f269f()[_0x344996(0x2df)]['customMo'+_0x344996(0x2b7)]()),_0x51faa2(_0x344996(0x268)+'sync-bun'+_0x344996(0x256)+_0x344996(0x1c9),async()=>{const _0x22e0f9=_0x344996,_0x517c3a=await prepareRuntime(shellConfig,{'syncOnly':!![]});return await configController[_0x22e0f9(0x1f3)+'imePlugi'+'ns'](),{'ok':!![],'syncedAt':new Date()[_0x22e0f9(0x29c)+_0x22e0f9(0x450)](),'manifest':_0x517c3a,'status':await getRuntimeResourceStatus()};}),_0x51faa2(_0x344996(0x268)+_0x344996(0x399)+_0x344996(0x35b),async()=>getRuntimeResourceStatus());}async function boot(){const _0x8724b6=_0x2764ca;configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController[_0x8724b6(0x19a)],_0x8724b6(0x15f)),ipcLogger=createShellLogger(configController[_0x8724b6(0x19a)],'ipc'),filesLogger=createShellLogger(configController[_0x8724b6(0x19a)],_0x8724b6(0x219)),rendererLogger=createShellLogger(configController['paths'],_0x8724b6(0x442)),productRuntime=await loadProductRuntime();const _0x5a15d6=resolveWujieApiEndpoint();diagnosticsWriter=createDiagnosticsWriter({'logsDir':configController[_0x8724b6(0x19a)][_0x8724b6(0x3cd)],'appContext':{'productName':shellConfig[_0x8724b6(0x3c5)+_0x8724b6(0x32b)],'appId':shellConfig['appId'],'appVersion':app[_0x8724b6(0x45e)+'on'](),'platform':process[_0x8724b6(0x410)],'arch':process[_0x8724b6(0x2f9)],..._0x5a15d6?{'apiEndpoint':_0x5a15d6}:{}}}),userEventWriter=createUserEventWriter({'logsDir':configController[_0x8724b6(0x19a)][_0x8724b6(0x3cd)],'diagnosticsWriter':diagnosticsWriter});const _0x7b0c77=await loadCreateUpdateController({'logger':mainLogger});updateController=_0x7b0c77({'shellConfig':shellConfig,'appName':()=>app[_0x8724b6(0x336)],'appVersion':()=>app['getVersi'+'on'](),'broadcast':broadcast,'logger':mainLogger,'prepareQuitAndInstall':async()=>{const _0x1ccd5e=_0x8724b6;await stopGatewayBeforeQuit('before\x20i'+'nstallin'+_0x1ccd5e(0x362));}}),updateController['initiali'+'ze'](),registerProcessLogHooks(),registerProtocolHandlers(),installApplicationMenu(),mainLogger?.['info'](_0x8724b6(0x384)+'\x20main\x20bo'+'ot\x20start'+'ed',{'appVersion':app[_0x8724b6(0x45e)+'on'](),'electronVersion':process[_0x8724b6(0x46f)][_0x8724b6(0x384)],'nodeVersion':process['versions'][_0x8724b6(0x25d)],'chromeVersion':process[_0x8724b6(0x46f)][_0x8724b6(0x1df)],'platform':process['platform'],'arch':process[_0x8724b6(0x2f9)],'mode':getMode(),'projectRoot':shellConfig['projectR'+_0x8724b6(0x15d)],'configPath':shellConfig[_0x8724b6(0x49a)+'th'],'dataDir':shellConfig['dataDir'],'electronUserData':app[_0x8724b6(0x182)](_0x8724b6(0x2b4)),'devToolsEnabled':isDevToolsEnabled(),'devToolsFlagPath':resolveDevToolsFlagPath(),'logsDir':configController[_0x8724b6(0x19a)][_0x8724b6(0x3cd)],'rendererUrl':process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app['getVersi'+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),typeof productRuntime[_0x8724b6(0x11e)+'roductCo'+_0x8724b6(0x1d3)]===_0x8724b6(0x430)&&await productRuntime[_0x8724b6(0x11e)+'roductCo'+_0x8724b6(0x1d3)]({'configController':configController,'mainLogger':mainLogger}),typeof productRuntime[_0x8724b6(0x11e)+_0x8724b6(0x26a)+'ta']===_0x8724b6(0x430)?await productRuntime[_0x8724b6(0x11e)+_0x8724b6(0x26a)+'ta']({'configController':configController,'generatedFilesStore':ensureGeneratedFilesStore(),'mainLogger':mainLogger,'sessionSqliteStore':ensureSessionSqliteStore()}):await ensureGeneratedFilesStore()['ensureIn'+_0x8724b6(0x1ff)+'d'](),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService(),await installIpcHandlers(),ipcHandlersInstalled=!![],installAppRendererProtocolHandler(),installClawspaceProtocolHandler(),registerShellShortcuts(),await ensureMainWindow(),await gatewayController[_0x8724b6(0x44e)](),updateController[_0x8724b6(0x10e)+'kgroundC'+'hecks'](),mainLogger?.[_0x8724b6(0x3cb)](_0x8724b6(0x384)+_0x8724b6(0x143)+_0x8724b6(0x454)+_0x8724b6(0x3f2)),updateController[_0x8724b6(0x3ce)+_0x8724b6(0x360)+_0x8724b6(0x344)]?.();}function registerProcessLogHooks(){const _0x5acf3f=_0x2764ca;if(registerProcessLogHooks[_0x5acf3f(0xaa)+'ed'])return;registerProcessLogHooks[_0x5acf3f(0xaa)+'ed']=!![],process['on'](_0x5acf3f(0x3fd)+_0x5acf3f(0x361)+'n',_0xe09866=>{const _0x1f5f67=_0x5acf3f;mainLogger?.[_0x1f5f67(0x301)](_0x1f5f67(0x3fd)+_0x1f5f67(0x41c)+'on',summarizeError(_0xe09866));}),process['on'](_0x5acf3f(0x280)+_0x5acf3f(0x329)+'on',_0x4df529=>{const _0x4cbc89=_0x5acf3f;mainLogger?.[_0x4cbc89(0x301)]('unhandle'+'d\x20reject'+_0x4cbc89(0x201),summarizeError(_0x4df529));}),app['on']('render-p'+_0x5acf3f(0x321)+_0x5acf3f(0x2c7),(_0x38522f,_0x38d53e,_0x5a2d2a)=>{const _0x2d40d7=_0x5acf3f;mainLogger?.[_0x2d40d7(0x301)](_0x2d40d7(0x442)+_0x2d40d7(0x2e1)+_0x2d40d7(0x47d),{'url':_0x38d53e[_0x2d40d7(0x3e2)](),'details':_0x5a2d2a});}),app['on'](_0x5acf3f(0xd2)+_0x5acf3f(0x401)+'ne',(_0x6442c2,_0x3e178a)=>{const _0x329ddc=_0x5acf3f;mainLogger?.[_0x329ddc(0x301)](_0x329ddc(0x141)+_0x329ddc(0x82)+'ne',{'details':_0x3e178a});});}async function stopGatewayBeforeQuit(_0x562bc0){const _0x37c14d=_0x2764ca;if(!gatewayController)return;const _0x5e899a=gatewayController,_0x5219e3=Date[_0x37c14d(0x7c)]();mainLogger?.[_0x37c14d(0x3cb)](_0x562bc0+(_0x37c14d(0x403)+_0x37c14d(0x312)+'ay'),{'event':_0x562bc0===_0x37c14d(0x1e2)+_0x37c14d(0x2f0)+_0x37c14d(0x362)?_0x37c14d(0x320)+_0x37c14d(0x232)+_0x37c14d(0x144)+'t':undefined}),await _0x5e899a[_0x37c14d(0x31a)](),gatewayController===_0x5e899a&&(gatewayController=null),mainLogger?.[_0x37c14d(0x3cb)](_0x562bc0+(':\x20gatewa'+_0x37c14d(0x33d)+'d'),{'event':_0x562bc0===_0x37c14d(0x1e2)+_0x37c14d(0x2f0)+_0x37c14d(0x362)?_0x37c14d(0x320)+_0x37c14d(0x232)+_0x37c14d(0x85):undefined,'elapsedMs':Date[_0x37c14d(0x7c)]()-_0x5219e3});}app['on']('window-a'+_0x2764ca(0x2ee)+'d',()=>{const _0x412824=_0x2764ca;if(process[_0x412824(0x410)]!=='darwin')app['quit']();}),app['on'](_0x2764ca(0x145),(_0x5d47ae,_0x7b49a8)=>{const _0x1d274a=_0x2764ca;_0x5d47ae[_0x1d274a(0x38d)+_0x1d274a(0x120)](),mainLogger?.[_0x1d274a(0x1f4)](_0x1d274a(0x46a)+'\x20open-ur'+_0x1d274a(0xd4),{'url':summarizeProtocolUrl(_0x7b49a8),'hasShellConfig':Boolean(shellConfig)}),dispatchProtocolUrl(_0x7b49a8);}),shellConfig=await loadShellConfig(resolveProjectRoot()),configureElectronInstance(app,shellConfig);const gotSingleInstanceLock=app[_0x2764ca(0x288)+'ingleIns'+_0x2764ca(0x231)+'k']({'appId':shellConfig[_0x2764ca(0x3e3)],'projectRoot':shellConfig[_0x2764ca(0x3ad)+_0x2764ca(0x15d)]});!gotSingleInstanceLock?app[_0x2764ca(0x229)](0x0):app['on'](_0x2764ca(0x97)+'nstance',(_0x5d633a,_0x491709)=>{const _0x135500=_0x2764ca,_0x183050=extractProtocolUrlFromArgs(_0x491709);mainLogger?.[_0x135500(0x1f4)]('second-i'+_0x135500(0x49d)+'event',{'argc':Array[_0x135500(0x2e5)](_0x491709)?_0x491709['length']:0x0,'hasShellConfig':Boolean(shellConfig),'hasProtocolUrl':Boolean(_0x183050),'protocolUrl':_0x183050?summarizeProtocolUrl(_0x183050):undefined});if(!resolveProtocolScheme()){pendingProtocolArgs=_0x491709;return;}if(_0x183050){dispatchProtocolUrl(_0x183050);return;}const _0x50f18b=getUsableMainWindow();_0x50f18b&&void showMainWindowFromExternalActivation(_0x50f18b,_0x135500(0x97)+_0x135500(0x16b))[_0x135500(0x47f)](_0x3ab2d3=>{const _0x1b5d10=_0x135500;mainLogger?.[_0x1b5d10(0x301)](_0x1b5d10(0x97)+_0x1b5d10(0x49d)+_0x1b5d10(0x136)+_0x1b5d10(0x314)+_0x1b5d10(0x3d9),{'error':summarizeError(_0x3ab2d3)});});});app['on'](_0x2764ca(0x18d),async()=>{const _0x4f6f5d=_0x2764ca;if(isQuitting){app[_0x4f6f5d(0x10d)]();return;}updateController?.[_0x4f6f5d(0xbb)+_0x4f6f5d(0x75)+_0x4f6f5d(0x111)](_0x4f6f5d(0x195)+_0x4f6f5d(0x135));const _0x404123=getUsableMainWindow();if(_0x404123&&(_0x404123[_0x4f6f5d(0x44a)+'zed']()||!_0x404123['isVisibl'+'e']()))await showMainWindowFromExternalActivation(_0x404123,'app-acti'+'vate');else BrowserWindow[_0x4f6f5d(0x2ba)+_0x4f6f5d(0x265)]()[_0x4f6f5d(0x236)]===0x0&&shellConfig&&await ensureMainWindow();}),app['on'](_0x2764ca(0x193)+_0x2764ca(0x481),_0x15a32f=>{const _0x318a4e=_0x2764ca;isQuitting=!![],updateController?.[_0x318a4e(0x3bd)+_0x318a4e(0x1c7)](),terminalManager?.[_0x318a4e(0x371)](),terminalManager=null,productRuntimeHooks?.[_0x318a4e(0x371)]?.();for(const _0x2dc6a3 of Object['keys'](productRuntimeHooks))delete productRuntimeHooks[_0x2dc6a3];requestIdHooks?.[_0x318a4e(0x371)]?.();for(const _0x4b1b77 of Object[_0x318a4e(0x29e)](requestIdHooks))delete requestIdHooks[_0x4b1b77];if(updateController?.[_0x318a4e(0x346)+_0x318a4e(0x31e)+'te']?.()){mainLogger?.[_0x318a4e(0x3cb)](_0x318a4e(0x1f8)+'uit:\x20upd'+_0x318a4e(0x39f)+_0x318a4e(0x4a7)+_0x318a4e(0xe1)+_0x318a4e(0x30d)+_0x318a4e(0x2c0)+_0x318a4e(0x101)+_0x318a4e(0xfa));return;}if(!gatewayController)return;_0x15a32f['preventD'+_0x318a4e(0x120)](),void stopGatewayBeforeQuit(_0x318a4e(0x1f8)+'uit')[_0x318a4e(0x12b)](()=>{const _0x3a7fca=_0x318a4e;app[_0x3a7fca(0x10d)]();});}),app['on'](_0x2764ca(0x1aa)+'t',()=>{const _0x36ffb4=_0x2764ca;globalShortcut[_0x36ffb4(0x157)+'er'](DEVTOOLS_ACCELERATOR);});gotSingleInstanceLock&&app[_0x2764ca(0x469)+'y']()[_0x2764ca(0x119)](boot)[_0x2764ca(0x47f)](_0x56d31d=>{const _0x4b6590=_0x2764ca;bootError=_0x56d31d instanceof Error?_0x56d31d[_0x4b6590(0x37c)]:String(_0x56d31d),mainLogger?.[_0x4b6590(0x301)](_0x4b6590(0x384)+_0x4b6590(0x143)+_0x4b6590(0x3dc)+'d',summarizeError(_0x56d31d)),console[_0x4b6590(0x301)](_0x4b6590(0xf4)+_0x4b6590(0xef)+_0x4b6590(0x173)+'boot\x20ele'+_0x4b6590(0x276)+'in',_0x56d31d);});
1
+ const _0x5d452e=_0x2082;(function(_0x3a5e14,_0x4505df){const _0x512458=_0x2082,_0x5eaccf=_0x3a5e14();while(!![]){try{const _0x51272f=-parseInt(_0x512458(0x1a0))/0x1*(-parseInt(_0x512458(0x4c9))/0x2)+parseInt(_0x512458(0x5a8))/0x3+-parseInt(_0x512458(0x4de))/0x4+parseInt(_0x512458(0x531))/0x5*(-parseInt(_0x512458(0x2a7))/0x6)+-parseInt(_0x512458(0x377))/0x7*(parseInt(_0x512458(0x237))/0x8)+-parseInt(_0x512458(0x238))/0x9*(parseInt(_0x512458(0x41c))/0xa)+parseInt(_0x512458(0x3cc))/0xb;if(_0x51272f===_0x4505df)break;else _0x5eaccf['push'](_0x5eaccf['shift']());}catch(_0x276d30){_0x5eaccf['push'](_0x5eaccf['shift']());}}}(_0x3973,0xe386c));import _0xdbe985 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';function _0x3973(){const _0x23ff45=['.m4a','ontents','userData','all','eted','ile\x20read','top_star','.js','ory','finally','enable',':gateway','win32','send','Level','\x20failed','getPath','length,\x20','image/gi','.woff','Invalid\x20','ready\x20ex','.mov','shouldLo','register','-questio','copy','s-maximi','dRejecti','d\x20is\x20req','no\x20defau','epositor','h\x0aexec\x20\x22','ng;\x20recr','omplete','Exceptio','Update','+Shift+I','EventCou','在电脑中显示','list','min','captureI','tProtoco','snapshot','logs:set','cle','e:open-d','l\x20reques',':runtime','disable','ot\x20faile','main','g\x20level\x20','getProce','utf8','ndows','bin','initiali','branch','wechat','\x20request','tabs-com','ocolClie','stion','markConf','feishu','app.asar','les:dele','2gmbfoi','checkFor','\x20rendere','show',':summary','#0000000','isFinite','models\x20c','ll-close','manifest','ai.com/v','ig\x20is\x20no','about','\x20entry\x20f','lConnect','nabled','object','\x20url\x20flu','.css','update','files:wr','5787688evpWCm','logs\x20exp','write','\x20log','runtimeR','nfo','inimize','ctory','key','ocol-url','ngs','-token','gMainFra','bject','elSessio','e\x20comple','select\x20d','\x20pending','will-qui','.bmp','ded','restore','resize','getVersi','reverse','igSnapsh','.mjs','ateway_s','workspac','image/jp','skills:s','path\x20is\x20','iled\x20to\x20','map','te:get-s','push','nstance','t-stream','defaults','agent','ignore','unmaximi','timeoutM','i-window','\x20allowin','video/mp','nstance\x20',':\x20stoppi','ile\x20comp','tewayEve','pluginId','delete','switchBr',':save-kd','HEAD','sessionK','ryPath','getRecen','getAppPa','\x20url\x20dis','CommandO','prod','parse','window\x20a','led','ion/vnd.','toISOStr','now','reposito','maxEntri','er\x20missi','shuDocCl','deleteCu','te:downl','sPrivile','s:hide','logLevel','restart','urnSnaps','max','chat','cron:cre','leted','2594030fgUDdF','services','yInfo','tLogs','isArray','iff','preload.','figs','gatewayT','\x20failed:','\x20open\x20bl','closed','index.ht','y\x20stoppe','hell]\x20fa','aries','startsWi','cron:upd','\x20open-ur','updated','est_fail','pendingU','onfig','name','tateDir','one','file:','mChannel','binary\x20f','Context','level','close','ove','ingleIns','.jpeg','ame','les:hide','selectAl','shuRegis','warn','d\x20of\x20min','window_f','subscrib','.aac',':answer-','_respons','m-channe','skills','reload','app:prot','listImCh','ocess\x20go','text/htm','.flag','ionUsage','files','figured:','hatChann','matroska','add','code','diagnost','t\x20initia','onReques','preventD','-request','rerReady','nimize\x20t','size','open\x20ext','started','ion','normaliz',':agent-m','ists','tIdTitle','peratedM','searchPa','lTs','resolveS','-refresh','ncent-ex','em:resta','origin','tChannel','image/we','com-chan','uit','gateway-','before\x20i','dAt','equested','showOpen','api.open','agentId','ith-sess','xOf','audio/mp','\x20not\x20con','ad-binar','Ready','image/sv','minimize','lect-fil','edWindow','logs\x20dir','-data','readConf','ssionKey','node:fs/','pull','wujiecla','tage-fil','d-state','ector\x20se','bot-chan','runtime:','t:\x20','ired','515874ybgryw','trim','[REDACTE','review:s','ocsCliCo','Terminal',':open-cl','agents','ate','mand','文件不存在,无法','kgroundC','eating','ces.json','.webp','before-q',':save-we','.mp3','trationS','has','.htm','ntime','ernal\x20ur','loadURL','audio/wa',':artifac','isDefaul','ryInfo','shell-ru','.ttf','chrome','535421jfbJDw','ItemSett','models:c','-shortcu','dev','ed\x20windo','platform','n-direct','keyDown','elected-','sessions','content-','stomMode','open-url','token','nnectSes','folder',':save-di','choices','review:g','set=utf-','et-self-','ModelId','changeKi','est\x20fail','window:i','info','-context','ions-lis','way\x20is\x20n','dels','app:syst','main-fra','limit','revertFi','rnal','window:m','enClawCo','Custom','getRevis','zed','ionEvent','provider','recursiv','.png','isFile','\x20is\x20requ','ion/octe','ocus','ishu-cha','clawspac','chat-str','yed','loading-','cutoffRo','storyLoa','roundCol','-not-rea','eam-even','ot\x20compl','app\x20url','start','file\x20wri','-port','nel','toWeb','app:star','et-setti','complete','remove','D,\x20OPTIO','hide','uri','shell\x20lo',':events','filters','acts','ectSessi','cancelFe','cutoffTe','user','.ico','GET,\x20HEA','nts','meta','\x20a\x20provi','atus','st-direc','l\x20prepar','et-repos','customMo','file\x20rea','updateOp','startKdo','writeSha','imizing','ngtalk-d','dled-res','onChatHi','payload','url','g_conten','clearPen','enClawCh',':snapsho','ncident',':save-qq','forceRel',':choose-','window','debug','controll','entDocsC','multiSel','BodyRead','diff','product-','feishu_d','d\x20reject','rogress,','saveDing','it-pull','\x20metric\x20','SchemesA','entModel','app:file','e\x20first.','required','input','indexOf','lawMcpSe','-status-','ipc\x20requ','agent-','type','ion-menu','ase','-mail','failed','CliConne','getAllWi','projectR','te:quit-','orConfig','tf-8','icon','annelCon','ap:entry','models','tml','unknown','8svxtqi','18jUIgul','in;\x20char','ot\x20initi','exec','kdown;\x20c','config:r','force','enClawSk','cron:rem','shared-c','video/we','configPa','ure','nstallin','ensureIn','edCount','files:li','patched','ctStatus','OPTIONS','reasonin','pdated','missing-','cron:run','product','config:c','.mkv','dow\x20load','ccept-ra','-status','saveQqMa','ndow-pre','ens','-by-sess','it-switc','extensio','deletedS','role','.\x20Run\x20wu','n\x20failed','getArtif','getKdocs','uired',':revisio','iConnect','meFilter','d-local','entries','parseInt','fromIpc','node','terminal','dataDir','runtimeI','ype','before\x20q','requestB','-session','audio/fl','ls:delet','quitAndI','ishuDocC','logs:wri','config:i','focus','ued\x20for\x20','.eot','buildFro','ite-bina','create','help','-state-c','w\x20instea','deleteFi','Config','timeout','Event','ile\x20writ','models:s','lConfig','contextW','app:upda','\x20before\x20','skills:i','it-fetch','ocs','cron:log','files:re','deleteOp','function','auth_cod','targetDi','tion\x20fai','openDevT','icktime','catch','quired','uest-age','tatus','ocked','dist','rated-fi','ory\x20open','agent\x20id','setLogin','index.mj','app:info','onnector','tup:set','l;\x20chars','w\x20prepar','18RBItkG',':save','ncy','fetch','-level','headers','s-snapsh','rn、info\x20','sidebar','cwd','Updates','length','\x20configu','setAppli','startFei','/index.h','path','chat:str','set','upsert','pServer','apiKey','.wasm','message','torConfi','getOpaci','text/mar','illEntry','agents:d','-exit','argv','no-store','app:log-','talkDocC','\x20main\x20bo','re\x20confi','setPendi','saveQqbo','onnectSt','openDire','download','e:direct','detach','setRende','director','ng\x20gatew','wujie-sh','g\x20native','orted','execPath','reate','lawSkill','setAsDef','tanceLoc','applicat',':message','bytes\x20*/','sourceSe','agent-ev','unhandle','e\x20failed','getFocus','ell\x20conf','text/css',':run-onc',':set-clo','customNa','ProductR','senderFr','startWec','napshot','INFO','ssion','resource','stration','readSess','image/pn','producti','cCliConn','files:se','r\x20ready','cron:lis','tabs:nav','assign','无法解析本地文件','nt-state','tup:get','ell:even','saveNetE','chatChan','succeede','sourcePa','/chat/co','nConfig','windowMe','restore\x20','parentSe','plugins','ctivatio','pened','ssion:\x20','l\x20first','ontext','getFeish',':downloa','ad_suppr','resolve','ion/json','update_g','devtools','nstall',';\x20charse','ges','temperat',':cancel','review:d','或\x20debug','replace',':process','meState','nput-eve','[wujie-s','rocess-g','text/pla','split','quit','o\x20hide','sync-bun','indowTok',':usage','elete','-ready','ndlers','isMinimi','authCode','sharedCo','openclaw','event','image/x-','before-i','promises','getURL','huDocCon','lawChann','rControl','lawPlugi','isLoadin','ort','setVibra','\x20found:\x20','ted','getSumma','et-selec','ued\x20befo','ections','e-branch','nectorCo','byteLeng','oad','href','setOpenC','isPackag','e\x20direct','kdocs','fromWebC','getStatu','includes','range,\x20c','eam','writeEve','test','then','evert-fi','video/qu',':unpin','ishu-doc','window:o','saveKdoc','ion/wasm','active','ackgroun','electron','versions','sender','Entry','s:upsert','deleteIm','agents:u','agent\x20al','aseMailC','keepUnti','id\x20title','window-a','-life-cy','image/bm','te:check','dispose','temp','tate','anch','irectory','omModel','paths','utf-8','ntext','migrateP','ell\x20boot','font/wof','256431jYGdxu','Unsuppor','returnVa','rename','n\x20loaded','omplete\x20','isInstal',':create','gatewayP','closeToT','darwin','setSelfO','\x20complet','plugins:','canceled','hell:eve','igate','s:delete','groups',':save-fe','artifact','request-','ell\x20gate','model','keys','ources','openFile','video/x-','baseUrl','rayOnClo','t-messag','enClawMc','efault','script;\x20','abort','ask-user','hell:ipc','isDirect','pathname','answerAs','nectSess','fig','\x20minimiz','ationSta','th\x20is\x20re','get-conf','getState','IPC\x20requ','llscreen','it-push','shing','itialize','dingUrl','uRegistr','saveTenc','\x20to\x20load','les:reve','ilConnec','ist',':save-te','top_done','showSave','isIntege','.txt','toLowerC','maxToken','productN','sConnect','.ogg','-restart','igWriteH',':save-ne','nges','Session','ls:list','ate\x20inst','app-acti','ileName','changed','avatar','pdate','cationMe','separato','inactive','les:upse','47050894WFGEDj','t=utf-8','wBin','eated','filePath','title','ey\x20is\x20re','saveFeis','Suppress','et=utf-8','essed','saveWeco','msvideo','createBr',':resize','bytes','\x20url\x20rec','it-unsta','g\x20ready','ools','child-pr','\x20gone','webConte','mpletion','handle','ap:get',':choose','\x20url\x20que','logsDir','e:shared','logs:ope','ternally','inned','ite','cancelKd','isDestro','charset=','unhide','record','ectory\x20o','FeishuDo','redConte','.webm','get','pop','tory','dCheck','resh-age','tabs:req','rver','runOnce','primary','setOpaci','ChannelC','match','runtime\x20','ettings','itory','syncRunt','whenRead','registra','Dialog','ted\x20conn','app:tray','stop','les:list','method','h-branch','creating','slice','ings','range','pper\x20not','lastInde','error','Not\x20foun','isabled','ionEntry','product\x20','mized\x20ma','5064060wGxhMW','shellLog','paste','tus','\x20process','lt\x20model','string','filter','dated','.otf','captureT','g+xml','://','second-i','_session','find','writeCon','tabs-age','messages','Keys','#f8fafc','model\x20ht','\x20excepti','plugin\x20d','hostname','openAtLo','setRepos','listSumm','.gif','startBac','channelI','te\x20compl','jie-shel','ngUrl','ipc_requ','cron','d\x20comple','app:gene','_body_re','select\x20f','readCurr','content','appId','hiding\x20m',':pin','l\x20event','context','hiddenIn','it-creat','isVisibl','nfig','selected','sses','onfigPat','.jpg','mac-mini','ion/java','mport-zi','ishuRegi','oken','getMessa','font/otf','Version','protocol','entExmai',':\x20gatewa','writeTex','audio/og','update-c','-weixin','it-commi','renderer','logs:exp','number','status','getLogin','.html','listBySe','getPinne','uncaught','setSetti','logs:rea','oot','roductDa','it-stage','alized','.flac','vate','ms-fonto','ing','untimeHa','y-info','tedModel','hidden','ead','harset=u','sPath','session\x20',':get-clo','odels','report-r','window:t','elConfig','plugin\x20c'];_0x3973=function(){return _0x23ff45;};return _0x3973();}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{createReviewController}from'../review/controller.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';import{configureElectronInstance}from'./instance-identity.mjs';const __dirname=dirname(fileURLToPath(import.meta.url)),preloadPath=join(__dirname,_0x5d452e(0x537)+'mjs'),{app,BrowserWindow,Menu,clipboard,dialog,globalShortcut,ipcMain,protocol,shell}=_0xdbe985,DEVTOOLS_ACCELERATOR=_0x5d452e(0x51a)+_0x5d452e(0x337)+_0x5d452e(0x4a9),APP_RENDERER_PROTOCOL_SCHEME='app',APP_RENDERER_PROTOCOL_HOST='-',APP_RENDERER_ENTRY_URL=APP_RENDERER_PROTOCOL_SCHEME+_0x5d452e(0x428)+APP_RENDERER_PROTOCOL_HOST+(_0x5d452e(0x2b6)+'tml'),CLAWSPACE_PROTOCOL_SCHEME='clawspac'+'e',DEBUG_STDOUT=process.env.WUJIE_SHELL_DEBUG==='1'||process.env.VITE_DEV_SERVER_URL||process.env.NODE_ENV!==_0x5d452e(0x2f4)+'on',IPC_SLOW_REQUEST_THRESHOLD_MS=0x1f4,SHELL_LOG_LEVELS=new Set([_0x5d452e(0x416),_0x5d452e(0x558),_0x5d452e(0x1ba),'debug']),LOCAL_FILE_MIME_TYPES=new Map([[_0x5d452e(0x468),_0x5d452e(0x565)+_0x5d452e(0x2a5)+_0x5d452e(0x3d5)],[_0x5d452e(0x195),_0x5d452e(0x565)+_0x5d452e(0x2a5)+_0x5d452e(0x3d5)],[_0x5d452e(0x3b6),'text/pla'+_0x5d452e(0x239)+_0x5d452e(0x1b4)+'8'],['.md',_0x5d452e(0x2c1)+_0x5d452e(0x23c)+_0x5d452e(0x47b)+_0x5d452e(0x230)],[_0x5d452e(0x48b),_0x5d452e(0x2dd)+_0x5d452e(0x454)+'script;\x20'+_0x5d452e(0x3f0)+'utf-8'],[_0x5d452e(0x4f8),_0x5d452e(0x2dd)+_0x5d452e(0x454)+_0x5d452e(0x398)+_0x5d452e(0x3f0)+_0x5d452e(0x372)],[_0x5d452e(0x4db),_0x5d452e(0x2e6)+_0x5d452e(0x316)+_0x5d452e(0x3cd)],['.json',_0x5d452e(0x2dd)+_0x5d452e(0x312)+_0x5d452e(0x316)+_0x5d452e(0x3cd)],['.map',_0x5d452e(0x2dd)+_0x5d452e(0x312)+_0x5d452e(0x316)+_0x5d452e(0x3cd)],[_0x5d452e(0x452),_0x5d452e(0x4fb)+'eg'],[_0x5d452e(0x553),_0x5d452e(0x4fb)+'eg'],[_0x5d452e(0x1cc),_0x5d452e(0x2f3)+'g'],[_0x5d452e(0x438),_0x5d452e(0x496)+'f'],[_0x5d452e(0x4f1),_0x5d452e(0x369)+'p'],['.svg',_0x5d452e(0x596)+_0x5d452e(0x427)],[_0x5d452e(0x18f),_0x5d452e(0x586)+'bp'],[_0x5d452e(0x1f1),_0x5d452e(0x331)+_0x5d452e(0x231)],['.mp4',_0x5d452e(0x50b)+'4'],[_0x5d452e(0x49a),_0x5d452e(0x354)+_0x5d452e(0x296)],['.avi',_0x5d452e(0x392)+_0x5d452e(0x3d8)],[_0x5d452e(0x252),'video/x-'+_0x5d452e(0x56b)],[_0x5d452e(0x3f6),_0x5d452e(0x242)+'bm'],[_0x5d452e(0x192),_0x5d452e(0x592)+'eg'],['.wav',_0x5d452e(0x199)+'v'],[_0x5d452e(0x484),_0x5d452e(0x592)+'4'],[_0x5d452e(0x55c),'audio/aa'+'c'],[_0x5d452e(0x3bb),_0x5d452e(0x45f)+'g'],[_0x5d452e(0x472),_0x5d452e(0x272)+'ac'],[_0x5d452e(0x497),_0x5d452e(0x376)+'f'],['.woff2','font/wof'+'f2'],[_0x5d452e(0x19e),'font/ttf'],[_0x5d452e(0x425),_0x5d452e(0x459)],[_0x5d452e(0x27a),_0x5d452e(0x2dd)+_0x5d452e(0x51f)+_0x5d452e(0x474)+_0x5d452e(0x4eb)],[_0x5d452e(0x2bd),_0x5d452e(0x2dd)+_0x5d452e(0x359)]]);protocol['register'+_0x5d452e(0x21b)+_0x5d452e(0x528)+'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 macMinimizeToHideWindows=new WeakSet(),macMinimizeHidePromises=new WeakMap(),rendererSessionMetrics={'inactiveEventCount':0x0,'inactiveBodyReadSuppressedCount':0x0},RENDERER_SESSION_METRIC_LOG_INTERVAL=0x19;function isProductionMode(){const _0x46c7d1=_0x5d452e;return process.env.NODE_ENV===_0x46c7d1(0x2f4)+'on';}function resolveDevToolsFlagPath(){const _0x874352=_0x5d452e;return shellConfig?.[_0x874352(0x26c)]?join(shellConfig[_0x874352(0x26c)],_0x874352(0x314)+_0x874352(0x566)):'';}function isDevToolsEnabled(){if(!isProductionMode())return!![];const _0x3690d2=resolveDevToolsFlagPath();return Boolean(_0x3690d2)&&existsSync(_0x3690d2);}function attachGatewayBroadcastHandlers(_0x31d6ba){const _0x69b42a=_0x5d452e;for(const _0x5b5055 of[_0x69b42a(0x589)+'status',_0x69b42a(0x589)+'log',_0x69b42a(0x1d3)+_0x69b42a(0x1da)+'t',_0x69b42a(0x2e1)+'ent','agents-u'+_0x69b42a(0x24d),_0x69b42a(0x39a)+_0x69b42a(0x49d)+'n']){_0x31d6ba['on'](_0x5b5055,_0x40b7b2=>broadcast(_0x5b5055,_0x40b7b2));}}function ensureSessionSqliteStore(){const _0x16533c=_0x5d452e;if(sessionSqliteStore)return sessionSqliteStore;if(!configController)throw new Error(_0x16533c(0x2d5)+_0x16533c(0x2e5)+_0x16533c(0x4d4)+'t\x20initia'+'lized');return sessionSqliteStore=createSessionSqliteStore({'stateDir':configController['resolveS'+_0x16533c(0x549)]()}),sessionSqliteStore;}function ensureSessionDataService(){const _0x1e4ee6=_0x5d452e;if(sessionDataService)return sessionDataService['attachGa'+'tewayEve'+_0x1e4ee6(0x1f3)]?.(gatewayController),sessionDataService;if(!configController)throw new Error(_0x1e4ee6(0x2d5)+_0x1e4ee6(0x2e5)+_0x1e4ee6(0x4d4)+_0x1e4ee6(0x56f)+'lized');return sessionDataService=createSessionDataService({'stateDir':configController[_0x1e4ee6(0x580)+_0x1e4ee6(0x549)](),'sessionSqliteStore':ensureSessionSqliteStore(),'gatewayController':gatewayController,'broadcast':broadcast,'logger':mainLogger}),sessionDataService[_0x1e4ee6(0x55b)+'eRuntime'+'State']?.(_0x8c32fd=>{const _0x5bc130=_0x1e4ee6;broadcast('sessions'+_0x5bc130(0x4b5)+_0x5bc130(0x27f)+'hanged',_0x8c32fd);}),sessionDataService['attachGa'+_0x1e4ee6(0x50f)+_0x1e4ee6(0x1f3)]?.(),sessionDataService;}function updateRendererSessionMetrics(_0x2d149d){const _0x1b6bd0=_0x5d452e;if(!_0x2d149d||typeof _0x2d149d!=='object')return;if(_0x2d149d[_0x1b6bd0(0x330)]!=='inactive'+_0x1b6bd0(0x42a)+_0x1b6bd0(0x442)+_0x1b6bd0(0x310)+'essed')return;const _0x53a214=_0x2d149d[_0x1b6bd0(0x1f4)]&&typeof _0x2d149d['meta']===_0x1b6bd0(0x4d9)?_0x2d149d[_0x1b6bd0(0x1f4)]:{},_0x3189b5=Number(_0x53a214['count']);if(!Number['isFinite'](_0x3189b5)||_0x3189b5<=rendererSessionMetrics[_0x1b6bd0(0x3ca)+_0x1b6bd0(0x212)+_0x1b6bd0(0x3d4)+_0x1b6bd0(0x247)])return;rendererSessionMetrics['inactive'+_0x1b6bd0(0x212)+'Suppress'+_0x1b6bd0(0x247)]=_0x3189b5,rendererSessionMetrics[_0x1b6bd0(0x3ca)+_0x1b6bd0(0x4aa)+'nt']=Math[_0x1b6bd0(0x52d)](rendererSessionMetrics[_0x1b6bd0(0x3ca)+_0x1b6bd0(0x4aa)+'nt'],_0x3189b5);if(_0x3189b5!==0x1&&_0x3189b5%RENDERER_SESSION_METRIC_LOG_INTERVAL!==0x0)return;mainLogger?.[_0x1b6bd0(0x1ba)]?.(_0x1b6bd0(0x47d)+'renderer'+_0x1b6bd0(0x21a)+_0x1b6bd0(0x544),{'metric':_0x1b6bd0(0x3ca)+_0x1b6bd0(0x42a)+_0x1b6bd0(0x442)+_0x1b6bd0(0x310)+_0x1b6bd0(0x3d6),'inactiveEventCount':rendererSessionMetrics[_0x1b6bd0(0x3ca)+_0x1b6bd0(0x4aa)+'nt'],'inactiveBodyReadSuppressedCount':rendererSessionMetrics[_0x1b6bd0(0x3ca)+_0x1b6bd0(0x212)+_0x1b6bd0(0x3d4)+'edCount'],'changeKind':typeof _0x53a214[_0x1b6bd0(0x1b7)+'nd']===_0x1b6bd0(0x422)?_0x53a214['changeKi'+'nd']:null,'origin':typeof _0x53a214[_0x1b6bd0(0x584)]===_0x1b6bd0(0x422)?_0x53a214[_0x1b6bd0(0x584)]:null});}function ensureGeneratedFilesStore(){const _0x491f19=_0x5d452e;if(generatedFilesStore)return generatedFilesStore;if(!configController)throw new Error('wujie-sh'+_0x491f19(0x2e5)+_0x491f19(0x4d4)+_0x491f19(0x56f)+'lized');return generatedFilesStore=createGeneratedFilesStore({'stateDir':configController[_0x491f19(0x580)+'tateDir']()}),generatedFilesStore;}async function ensureGatewayControllerStarted(){const _0x3f2750=_0x5d452e;if(!gatewayController&&(!shellConfig||!configController))throw new Error(bootError?_0x3f2750(0x2d5)+_0x3f2750(0x375)+_0x3f2750(0x53a)+'\x20'+bootError:_0x3f2750(0x2d5)+_0x3f2750(0x38d)+_0x3f2750(0x1bd)+_0x3f2750(0x23a)+_0x3f2750(0x471));return!gatewayController&&(mainLogger?.[_0x3f2750(0x558)]('gateway\x20'+_0x3f2750(0x20f)+_0x3f2750(0x524)+_0x3f2750(0x4a5)+_0x3f2750(0x18d)),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app[_0x3f2750(0x4f5)+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService()),await gatewayController['start'](),gatewayController;}function getMode(){const _0x240548=_0x5d452e;return process.env.VITE_DEV_SERVER_URL?_0x240548(0x1a4):_0x240548(0x51b);}function isGatewayNotInitializedError(_0x49d815){const _0x196d1c=_0x5d452e;return _0x49d815 instanceof Error&&_0x49d815[_0x196d1c(0x2be)]===_0x196d1c(0x2d5)+_0x196d1c(0x38d)+'way\x20is\x20n'+_0x196d1c(0x23a)+_0x196d1c(0x471);}function revealPathInFolder(_0x190193){const _0x5ce84a=_0x5d452e,_0xd9acf5=String(_0x190193||'')['trim']();if(!_0xd9acf5)return{'ok':![],'error':'path\x20is\x20'+_0x5ce84a(0x21f)};let _0x608de8=_0xd9acf5;if(_0xd9acf5['startsWi'+'th'](CLAWSPACE_PROTOCOL_SCHEME+':'))_0x608de8=decodeClawspacePath(_0xd9acf5)||'';else{if(_0xd9acf5[_0x5ce84a(0x541)+'th'](_0x5ce84a(0x54b)))try{_0x608de8=fileURLToPath(_0xd9acf5);}catch{_0x608de8='';}}if(!_0x608de8)return{'ok':![],'error':_0x5ce84a(0x2fb)+'路径'};if(!existsSync(_0x608de8))return{'ok':![],'error':_0x5ce84a(0x18b)+_0x5ce84a(0x4ab)};return shell['showItem'+'InFolder'](_0x608de8),{'ok':!![]};}function resolveProjectRoot(){const _0x51696e=_0x5d452e;if(process.env.WUJIE_SHELL_PROJECT_ROOT)return resolve(process.env.WUJIE_SHELL_PROJECT_ROOT);if(app[_0x51696e(0x348)+'ed']&&process['resource'+_0x51696e(0x47c)])return join(process[_0x51696e(0x2f0)+_0x51696e(0x47c)],_0x51696e(0x4c7));return resolve(process[_0x51696e(0x2b0)]());}function resolveProtocolScheme(){const _0x2e7639=_0x5d452e;return typeof shellConfig?.[_0x2e7639(0x45b)]===_0x2e7639(0x422)?shellConfig[_0x2e7639(0x45b)]['trim']():'';}function summarizeProtocolUrl(_0x5023d7){const _0x13a11e=_0x5d452e,_0x12eda6=typeof _0x5023d7==='string'?_0x5023d7:'';if(!_0x12eda6)return summarizeText('',0xa0);try{const _0x2e47d5=new URL(_0x12eda6);for(const _0x33fb34 of[_0x13a11e(0x32d),_0x13a11e(0x292)+'e',_0x13a11e(0x56d),_0x13a11e(0x1ae),'state']){_0x2e47d5[_0x13a11e(0x57e)+'rams'][_0x13a11e(0x194)](_0x33fb34)&&_0x2e47d5[_0x13a11e(0x57e)+'rams'][_0x13a11e(0x2b9)](_0x33fb34,_0x13a11e(0x5aa)+'D]');}return summarizeText(_0x2e47d5['toString'](),0xa0);}catch{return summarizeText(_0x12eda6,0xa0);}}function extractProtocolUrlFromArgs(_0x225ece=[]){const _0xd5d49f=resolveProtocolScheme();if(!_0xd5d49f)return null;return _0x225ece['find'](_0x4aac9d=>{const _0x4a3b7a=_0x2082;if(typeof _0x4aac9d!=='string')return![];return _0x4aac9d[_0x4a3b7a(0x541)+'th'](_0xd5d49f+_0x4a3b7a(0x428));})||null;}function getUsableMainWindow(){const _0x510759=_0x5d452e;if(!mainWindow)return null;if(mainWindow[_0x510759(0x3ef)+'yed']())return mainWindow=null,protocolUrlState[_0x510759(0x2d2)+_0x510759(0x573)](![]),null;if(mainWindow[_0x510759(0x3e2)+_0x510759(0x1f3)]?.[_0x510759(0x3ef)+_0x510759(0x1d4)]?.())return mainWindow=null,protocolUrlState[_0x510759(0x2d2)+_0x510759(0x573)](![]),null;return mainWindow;}async function ensureMainWindow(){const _0x12cf56=_0x5d452e,_0x1fe133=getUsableMainWindow();if(_0x1fe133)return _0x1fe133;if(!shellConfig||!ipcHandlersInstalled)return null;return!createWindowPromise&&(createWindowPromise=createWindow()[_0x12cf56(0x48d)](()=>{createWindowPromise=null;})),await createWindowPromise,getUsableMainWindow();}async function prepareMacMinimizedMainWindow(_0x7871bf,_0x3ce4a9){const _0xf040ee=_0x5d452e;if(process['platform']!=='darwin'||!_0x7871bf||_0x7871bf[_0xf040ee(0x3ef)+'yed']()||!_0x7871bf['isMinimi'+_0xf040ee(0x1c8)]())return _0x7871bf;return mainLogger?.[_0xf040ee(0x558)](_0xf040ee(0x579)+'ing\x20mini'+_0xf040ee(0x41b)+'c\x20window'+_0xf040ee(0x28a)+_0xf040ee(0x4cc),{'reason':_0x3ce4a9}),await normalizeMacMinimizeHide(_0x7871bf,{'force':!![]}),_0x7871bf;}function _0x2082(_0x3020a3,_0x446d3c){_0x3020a3=_0x3020a3-0x185;const _0x397363=_0x3973();let _0x20820f=_0x397363[_0x3020a3];return _0x20820f;}async function showMainWindowFromExternalActivation(_0x552cbf,_0x22659a){const _0x14c057=_0x5d452e,_0x3f661b=await prepareMacMinimizedMainWindow(_0x552cbf,_0x22659a);if(!_0x3f661b||_0x3f661b['isDestro'+'yed']())return null;if(_0x3f661b[_0x14c057(0x32c)+_0x14c057(0x1c8)]())_0x3f661b['restore']();return _0x3f661b[_0x14c057(0x4cc)](),_0x3f661b[_0x14c057(0x278)](),process['platform']===_0x14c057(0x381)&&macMinimizeToHideWindows[_0x14c057(0x511)](_0x3f661b),_0x3f661b;}function minimizeOrHideWindow(_0x5d79d9){const _0x4fec6e=_0x5d452e;if(!_0x5d79d9||_0x5d79d9[_0x4fec6e(0x3ef)+_0x4fec6e(0x1d4)]())return;if(process[_0x4fec6e(0x1a6)]===_0x4fec6e(0x381)){mainLogger?.[_0x4fec6e(0x1ba)](_0x4fec6e(0x447)+'ac\x20windo'+_0x4fec6e(0x280)+_0x4fec6e(0x559)+_0x4fec6e(0x1ff)),_0x5d79d9['hide']();return;}_0x5d79d9[_0x4fec6e(0x597)]();}function scheduleMacMinimizeHide(_0x2a0658){const _0x313028=_0x5d452e;if(process[_0x313028(0x1a6)]!=='darwin'||!_0x2a0658||_0x2a0658['isDestro'+'yed']())return Promise[_0x313028(0x311)]();return macMinimizeToHideWindows[_0x313028(0x56c)](_0x2a0658),normalizeMacMinimizeHide(_0x2a0658);}function normalizeMacMinimizeHide(_0x565ddb,_0x351b57={}){const _0x247b65=_0x5d452e;if(process[_0x247b65(0x1a6)]!=='darwin'||!_0x565ddb||_0x565ddb[_0x247b65(0x3ef)+'yed']()||!_0x351b57[_0x247b65(0x23e)]&&!macMinimizeToHideWindows[_0x247b65(0x194)](_0x565ddb))return Promise[_0x247b65(0x311)]();const _0x174ba6=macMinimizeHidePromises[_0x247b65(0x3f7)](_0x565ddb);if(_0x174ba6)return _0x174ba6;const _0x2eafa4=((async()=>{const _0x5c8978=_0x247b65;let _0x2edfe2=0x1,_0xb6a7ab=![];try{_0x2edfe2=_0x565ddb[_0x5c8978(0x2c0)+'ty'](),_0x565ddb['setOpaci'+'ty'](0x0);for(const _0x8bffb7 of[0x0,0x32,0x78,0xfa]){_0x8bffb7>0x0&&await new Promise(_0xe8dfed=>setTimeout(_0xe8dfed,_0x8bffb7));if(_0x565ddb[_0x5c8978(0x3ef)+_0x5c8978(0x1d4)]())return;const _0x5ee405=_0x565ddb[_0x5c8978(0x32c)+'zed']();_0x5ee405&&(_0x565ddb[_0x5c8978(0x4f3)](),_0xb6a7ab=!![]),_0x565ddb[_0x5c8978(0x1e7)]();}mainLogger?.[_0x5c8978(0x1ba)](_0x5c8978(0x579)+'ed\x20mac\x20n'+'ative\x20mi'+_0x5c8978(0x574)+_0x5c8978(0x325),{'restoredFromMinimize':_0xb6a7ab});}finally{!_0x565ddb[_0x5c8978(0x3ef)+_0x5c8978(0x1d4)]()&&_0x565ddb[_0x5c8978(0x400)+'ty'](_0x2edfe2),macMinimizeHidePromises[_0x5c8978(0x511)](_0x565ddb);}})());return macMinimizeHidePromises[_0x247b65(0x2b9)](_0x565ddb,_0x2eafa4),_0x2eafa4;}function restoreMainWindowForPendingProtocolUrl(){const _0x381771=_0x5d452e;if(!shellConfig)return;void ensureMainWindow()[_0x381771(0x297)](_0x850bf5=>{const _0xffa59f=_0x381771;mainLogger?.[_0xffa59f(0x416)]('protocol'+'\x20window\x20'+_0xffa59f(0x306)+_0xffa59f(0x22a),summarizeError(_0x850bf5));});}function queueProtocolUrl(_0x220fd4,_0x41f75c,_0x4f64f4=null){const _0x5eb5d5=_0x5d452e,{duplicate:_0x58f6aa}=protocolUrlState['queueUrl'](_0x220fd4);mainLogger?.[_0x5eb5d5(0x558)](_0x5eb5d5(0x45b)+_0x5eb5d5(0x3e7)+_0x5eb5d5(0x279)+_0x5eb5d5(0x463),{'url':summarizeProtocolUrl(_0x220fd4),'reason':_0x41f75c,'duplicatePending':_0x58f6aa,'hasWindow':Boolean(_0x4f64f4),'isLoadingMainFrame':Boolean(_0x4f64f4?.['webConte'+_0x5eb5d5(0x1f3)][_0x5eb5d5(0x339)+_0x5eb5d5(0x4ea)+'me']()),'protocolRendererReady':protocolUrlState[_0x5eb5d5(0x463)+_0x5eb5d5(0x595)]});}function dispatchProtocolUrl(_0x53618b){const _0x4314dc=_0x5d452e,_0x507ae4=resolveProtocolScheme();if(typeof _0x53618b!==_0x4314dc(0x422))return;if(!_0x507ae4){protocolUrlState[_0x4314dc(0x2cb)+'ngUrl'](_0x53618b),mainLogger?.[_0x4314dc(0x558)](_0x4314dc(0x45b)+'\x20url\x20que'+_0x4314dc(0x340)+_0x4314dc(0x2ca)+_0x4314dc(0x3de),{'url':summarizeProtocolUrl(_0x53618b)});return;}if(!_0x53618b['startsWi'+'th'](_0x507ae4+_0x4314dc(0x428)))return;mainLogger?.['warn'](_0x4314dc(0x45b)+_0x4314dc(0x3dc)+'eived',{'url':summarizeProtocolUrl(_0x53618b)});const _0x45d913=getUsableMainWindow();if(!_0x45d913){queueProtocolUrl(_0x53618b,_0x4314dc(0x24e)+_0x4314dc(0x20d));if(!_0x45d913)restoreMainWindowForPendingProtocolUrl();return;}if(process['platform']===_0x4314dc(0x381)&&_0x45d913['isMinimi'+_0x4314dc(0x1c8)]()){queueProtocolUrl(_0x53618b,_0x4314dc(0x453)+'mized-wi'+_0x4314dc(0x257)+'pare',_0x45d913),void showMainWindowFromExternalActivation(_0x45d913,'protocol'+'-url')[_0x4314dc(0x352)](_0x211974=>{if(_0x211974)flushPendingProtocolUrl();})[_0x4314dc(0x297)](_0x163eb8=>{const _0x1310a5=_0x4314dc;mainLogger?.[_0x1310a5(0x416)](_0x1310a5(0x45b)+_0x1310a5(0x3a1)+_0x1310a5(0x1a5)+_0x1310a5(0x2a6)+_0x1310a5(0x2e3),{'url':summarizeProtocolUrl(_0x53618b),'error':summarizeError(_0x163eb8)});});return;}if(_0x45d913[_0x4314dc(0x3e2)+_0x4314dc(0x1f3)][_0x4314dc(0x339)+_0x4314dc(0x4ea)+'me']()){queueProtocolUrl(_0x53618b,_0x4314dc(0x1d5)+_0x4314dc(0x1c0)+'me',_0x45d913);return;}if(!protocolUrlState['renderer'+_0x4314dc(0x595)]){queueProtocolUrl(_0x53618b,_0x4314dc(0x463)+_0x4314dc(0x1d9)+'dy',_0x45d913);return;}_0x45d913[_0x4314dc(0x4cc)](),_0x45d913[_0x4314dc(0x278)](),broadcast(_0x4314dc(0x562)+'ocol-url',_0x53618b),mainLogger?.['warn'](_0x4314dc(0x45b)+_0x4314dc(0x519)+_0x4314dc(0x249),{'url':summarizeProtocolUrl(_0x53618b),'protocolRendererReady':protocolUrlState[_0x4314dc(0x463)+_0x4314dc(0x595)]});}function flushPendingProtocolUrl(){const _0x4ac77a=_0x5d452e,_0x9c77b9=protocolUrlState[_0x4ac77a(0x206)+_0x4ac77a(0x3ab)]();if(!_0x9c77b9)return;mainLogger?.[_0x4ac77a(0x558)](_0x4ac77a(0x45b)+_0x4ac77a(0x4ef)+_0x4ac77a(0x4da)+_0x4ac77a(0x3a9),{'url':summarizeProtocolUrl(_0x9c77b9)}),void dispatchProtocolUrl(_0x9c77b9);}function getLocalFileMimeType(_0x1fc1ae){const _0xf940df=_0x5d452e;return LOCAL_FILE_MIME_TYPES['get'](_0x1fc1ae[_0xf940df(0x411)](_0x1fc1ae['lastInde'+_0xf940df(0x591)]('.'))['toLowerC'+_0xf940df(0x228)]())||_0xf940df(0x2dd)+_0xf940df(0x1cf)+_0xf940df(0x503);}function resolveRendererDistDir(){const _0xb8f561=_0x5d452e;return join(shellConfig['projectR'+_0xb8f561(0x46e)],_0xb8f561(0x29c));}function decodeAppRendererPath(_0x25a7a0){const _0x2d6130=_0x5d452e;try{const _0x5942a0=new URL(_0x25a7a0);if(_0x5942a0[_0x2d6130(0x45b)]!==APP_RENDERER_PROTOCOL_SCHEME+':')return null;if(_0x5942a0[_0x2d6130(0x434)]!==APP_RENDERER_PROTOCOL_HOST)return null;const _0x349a0c=resolveRendererDistDir(),_0x255da9=decodeURIComponent(_0x5942a0[_0x2d6130(0x39d)]||_0x2d6130(0x2b6)+_0x2d6130(0x235)),_0x27feea=_0x255da9[_0x2d6130(0x31c)](/^\/+/,'')||_0x2d6130(0x53d)+'ml',_0x13599c=resolve(_0x349a0c,_0x27feea);if(_0x13599c!==_0x349a0c&&!_0x13599c['startsWi'+'th'](''+_0x349a0c+sep))return null;return{'url':_0x5942a0,'distDir':_0x349a0c,'filePath':_0x13599c};}catch{return null;}}function parseSingleRangeHeader(_0x46923d,_0x36b1d9){const _0x1e597a=_0x5d452e,_0x460cb3=/^bytes=(\d*)-(\d*)$/i[_0x1e597a(0x23b)](_0x46923d[_0x1e597a(0x5a9)]());if(!_0x460cb3)return null;const [,_0x380387,_0x29b2ef]=_0x460cb3;if(!_0x380387&&!_0x29b2ef)return null;if(!_0x380387){const _0x488189=Number['parseInt'](_0x29b2ef,0xa);if(!Number['isFinite'](_0x488189)||_0x488189<=0x0)return null;const _0x500f87=Math[_0x1e597a(0x52d)](_0x36b1d9-_0x488189,0x0);return{'start':_0x500f87,'end':_0x36b1d9-0x1};}const _0x4f4b6c=Number[_0x1e597a(0x268)](_0x380387,0xa);if(!Number['isFinite'](_0x4f4b6c)||_0x4f4b6c<0x0||_0x4f4b6c>=_0x36b1d9)return null;const _0xac67d7=_0x29b2ef?Number[_0x1e597a(0x268)](_0x29b2ef,0xa):_0x36b1d9-0x1;if(!Number[_0x1e597a(0x4cf)](_0xac67d7)||_0xac67d7<_0x4f4b6c)return null;return{'start':_0x4f4b6c,'end':Math[_0x1e597a(0x4ad)](_0xac67d7,_0x36b1d9-0x1)};}function decodeClawspacePath(_0x265ee2){const _0x5dcadd=_0x5d452e;try{const _0x30287f=new URL(_0x265ee2);if(_0x30287f[_0x5dcadd(0x45b)]!==CLAWSPACE_PROTOCOL_SCHEME+':')return null;if(_0x30287f[_0x5dcadd(0x434)]!=='local')return null;const _0x3d2f83=decodeURIComponent(_0x30287f['pathname']);if(!_0x3d2f83)return null;if(/^\/[A-Za-z]:\//[_0x5dcadd(0x351)](_0x3d2f83))return _0x3d2f83[_0x5dcadd(0x411)](0x1);return _0x3d2f83;}catch{return null;}}function createClawspaceHeaders(_0x1731f0={}){const _0x50a9d5=_0x5d452e;return new Headers({'access-control-allow-origin':'*','access-control-allow-methods':_0x50a9d5(0x1f2)+_0x50a9d5(0x1e6)+'NS','access-control-allow-headers':_0x50a9d5(0x34e)+'ontent-t'+_0x50a9d5(0x26e),'access-control-expose-headers':_0x50a9d5(0x1ab)+_0x50a9d5(0x495)+_0x50a9d5(0x1ab)+'range,\x20a'+_0x50a9d5(0x254)+_0x50a9d5(0x3bf),..._0x1731f0});}function createLocalFileResponse(_0x21c3e5,_0x15c589){const _0x2d5397=_0x5d452e,_0x28f765=statSync(_0x15c589);if(!_0x28f765[_0x2d5397(0x1cd)]())return new Response(_0x2d5397(0x417)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x2d5397(0x322)+_0x2d5397(0x239)+_0x2d5397(0x1b4)+'8'})});const _0x8de609=getLocalFileMimeType(_0x15c589),_0x25b5df=createClawspaceHeaders({'content-type':_0x8de609,'accept-ranges':_0x2d5397(0x3db),'cache-control':_0x2d5397(0x2c6)});if(_0x21c3e5['method']===_0x2d5397(0x514))return _0x25b5df['set'](_0x2d5397(0x1ab)+_0x2d5397(0x2b2),String(_0x28f765['size'])),new Response(null,{'status':0xc8,'headers':_0x25b5df});const _0x24dd1a=_0x21c3e5[_0x2d5397(0x2ac)]['get'](_0x2d5397(0x413));if(!_0x24dd1a)return _0x25b5df[_0x2d5397(0x2b9)](_0x2d5397(0x1ab)+_0x2d5397(0x2b2),String(_0x28f765['size'])),new Response(Readable[_0x2d5397(0x1e1)](createReadStream(_0x15c589)),{'status':0xc8,'headers':_0x25b5df});const _0x43c222=parseSingleRangeHeader(_0x24dd1a,_0x28f765['size']);if(!_0x43c222)return new Response(null,{'status':0x1a0,'headers':createClawspaceHeaders({...Object['fromEntr'+'ies'](_0x25b5df[_0x2d5397(0x267)]()),'content-range':_0x2d5397(0x2df)+_0x28f765[_0x2d5397(0x575)]})});const {start:_0x3d5efa,end:_0x543696}=_0x43c222,_0x3e987f=_0x543696-_0x3d5efa+0x1,_0x513a09=new Headers(_0x25b5df);return _0x513a09[_0x2d5397(0x2b9)](_0x2d5397(0x1ab)+_0x2d5397(0x2b2),String(_0x3e987f)),_0x513a09[_0x2d5397(0x2b9)](_0x2d5397(0x1ab)+_0x2d5397(0x413),'bytes\x20'+_0x3d5efa+'-'+_0x543696+'/'+_0x28f765['size']),new Response(Readable['toWeb'](createReadStream(_0x15c589,{'start':_0x3d5efa,'end':_0x543696})),{'status':0xce,'headers':_0x513a09});}function installClawspaceProtocolHandler(){protocol['handle'](CLAWSPACE_PROTOCOL_SCHEME,_0x27dd30=>{const _0x5988f5=_0x2082;if(_0x27dd30[_0x5988f5(0x40e)]===_0x5988f5(0x24b))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x18c67b=decodeClawspacePath(_0x27dd30[_0x5988f5(0x204)]);if(!_0x18c67b)return new Response('Invalid\x20'+_0x5988f5(0x1d2)+'e\x20url',{'status':0x190,'headers':createClawspaceHeaders({'content-type':'text/pla'+_0x5988f5(0x239)+_0x5988f5(0x1b4)+'8'})});if(!existsSync(_0x18c67b))return new Response(_0x5988f5(0x417)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x5988f5(0x322)+'in;\x20char'+_0x5988f5(0x1b4)+'8'})});return createLocalFileResponse(_0x27dd30,_0x18c67b);});}function installAppRendererProtocolHandler(){protocol['handle'](APP_RENDERER_PROTOCOL_SCHEME,_0x33d994=>{const _0x401655=_0x2082;if(_0x33d994['method']===_0x401655(0x24b))return new Response(null,{'status':0xcc,'headers':createClawspaceHeaders()});const _0x416bae=decodeAppRendererPath(_0x33d994['url']);if(!_0x416bae)return new Response(_0x401655(0x498)+_0x401655(0x1dc),{'status':0x190,'headers':createClawspaceHeaders({'content-type':_0x401655(0x322)+_0x401655(0x239)+_0x401655(0x1b4)+'8'})});const {url:_0xc3f4e,distDir:_0x20bd1c,filePath:_0x586896}=_0x416bae,_0x2c5bf4=join(_0x20bd1c,'index.ht'+'ml'),_0x133df7=existsSync(_0x586896),_0x4026b7=_0x133df7?_0x586896:_0x2c5bf4;if(!_0x133df7&&_0xc3f4e[_0x401655(0x39d)][_0x401655(0x34d)]('.'))return new Response(_0x401655(0x417)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x401655(0x322)+'in;\x20char'+_0x401655(0x1b4)+'8'})});if(!existsSync(_0x4026b7))return mainLogger?.[_0x401655(0x416)](_0x401655(0x463)+_0x401655(0x4d6)+'ile\x20not\x20'+'found',{'requestUrl':_0x33d994[_0x401655(0x204)],'targetPath':_0x4026b7}),new Response(_0x401655(0x417)+'d',{'status':0x194,'headers':createClawspaceHeaders({'content-type':_0x401655(0x322)+_0x401655(0x239)+_0x401655(0x1b4)+'8'})});return createLocalFileResponse(_0x33d994,_0x4026b7);});}function broadcast(_0x380bbb,_0x40a4b2){const _0x85c070=_0x5d452e;DEBUG_STDOUT&&console[_0x85c070(0x1ba)]('[wujie-s'+_0x85c070(0x386)+'nt]',_0x380bbb,summarizePayload(_0x40a4b2,{'maxDepth':0x2}));for(const _0xc6104d of BrowserWindow['getAllWi'+_0x85c070(0x4bc)]()){!_0xc6104d[_0x85c070(0x3e2)+_0x85c070(0x1f3)]['isDestro'+_0x85c070(0x1d4)]()&&_0xc6104d['webConte'+'nts']['send']('wujie-sh'+_0x85c070(0x2fe)+'t',{'name':_0x380bbb,'payload':_0x40a4b2});}}function requestLogReportFromRenderer(_0x11e3cb){const _0x45b36a=_0x5d452e,_0x4463b7=BrowserWindow[_0x45b36a(0x2e4)+'edWindow']()||(mainWindow&&!mainWindow[_0x45b36a(0x3ef)+'yed']()?mainWindow:null),_0x20a74d={'source':_0x11e3cb};if(!_0x4463b7||_0x4463b7['webConte'+'nts'][_0x45b36a(0x3ef)+'yed']()){broadcast(_0x45b36a(0x2c7)+_0x45b36a(0x480)+_0x45b36a(0x58c),_0x20a74d);return;}_0x4463b7[_0x45b36a(0x32c)+_0x45b36a(0x1c8)]()&&_0x4463b7[_0x45b36a(0x4f3)](),_0x4463b7[_0x45b36a(0x4cc)](),_0x4463b7[_0x45b36a(0x278)](),_0x4463b7[_0x45b36a(0x3e2)+_0x45b36a(0x1f3)][_0x45b36a(0x491)](_0x45b36a(0x2d5)+'ell:even'+'t',{'name':_0x45b36a(0x2c7)+_0x45b36a(0x480)+_0x45b36a(0x58c),'payload':_0x20a74d});}function installApplicationMenu(){const _0x9c8573=_0x5d452e;if(process['platform']!=='darwin')return;const _0x4bfbff=[{'label':shellConfig?.['productN'+_0x9c8573(0x554)]||app[_0x9c8573(0x548)],'submenu':[{'role':_0x9c8573(0x4d5)},{'type':_0x9c8573(0x3c9)+'r'},{'role':_0x9c8573(0x532)},{'type':'separato'+'r'},{'role':'hide'},{'role':'hideOthe'+'rs'},{'role':_0x9c8573(0x3f1)},{'type':_0x9c8573(0x3c9)+'r'},{'role':_0x9c8573(0x324)}]},{'label':'编辑','submenu':[{'role':'undo'},{'role':'redo'},{'type':_0x9c8573(0x3c9)+'r'},{'role':'cut'},{'role':_0x9c8573(0x49e)},{'role':_0x9c8573(0x41e)},{'role':_0x9c8573(0x556)+'l'}]},{'label':'显示','submenu':[{'role':_0x9c8573(0x561)},{'role':_0x9c8573(0x20b)+_0x9c8573(0x345)},{'type':'separato'+'r'},{'role':'togglefu'+_0x9c8573(0x3a7)}]},{'role':_0x9c8573(0x305)+'nu','label':'窗口'},{'role':_0x9c8573(0x27e),'label':'帮助','submenu':[{'label':'上传日志...','click':()=>{const _0x56fba8=_0x9c8573;requestLogReportFromRenderer(_0x56fba8(0x2dd)+_0x56fba8(0x227));}}]}];Menu[_0x9c8573(0x2b4)+_0x9c8573(0x3c8)+'nu'](Menu[_0x9c8573(0x27b)+'mTemplat'+'e'](_0x4bfbff));}async function loadProductRuntime(){const _0x93d2c1=_0x5d452e,_0x1c95e6=[join(shellConfig['projectR'+_0x93d2c1(0x46e)],_0x93d2c1(0x19d)+_0x93d2c1(0x196),_0x93d2c1(0x2a1)+'s'),join(app[_0x93d2c1(0x518)+'th'](),'shell-ru'+_0x93d2c1(0x196),'index.mj'+'s')],_0x49325f=_0x1c95e6[_0x93d2c1(0x42b)](_0x219b58=>existsSync(_0x219b58));if(!_0x49325f)return mainLogger?.[_0x93d2c1(0x1ba)](_0x93d2c1(0x41a)+'runtime\x20'+_0x93d2c1(0x25b)+'n\x20not\x20fo'+'und',{'runtimeCandidates':_0x1c95e6}),{};try{const _0x195985=await import(pathToFileURL(_0x49325f)[_0x93d2c1(0x346)]);return mainLogger?.['info'](_0x93d2c1(0x41a)+_0x93d2c1(0x403)+'extensio'+_0x93d2c1(0x37b),{'runtimePath':_0x49325f}),_0x195985;}catch(_0x52b83b){mainLogger?.[_0x93d2c1(0x416)](_0x93d2c1(0x41a)+_0x93d2c1(0x403)+_0x93d2c1(0x25b)+_0x93d2c1(0x25f)+_0x93d2c1(0x3ae),{'runtimePath':_0x49325f,'error':summarizeError(_0x52b83b)});throw _0x52b83b;}}function openDevToolsForActiveContext(){const _0x506d18=_0x5d452e;if(!isDevToolsEnabled())return mainLogger?.['info'](_0x506d18(0x314)+_0x506d18(0x53b)+_0x506d18(0x29b),{'mode':getMode(),'flagPath':resolveDevToolsFlagPath()}),{'ok':![]};const _0x28e608=BrowserWindow[_0x506d18(0x2e4)+_0x506d18(0x599)]()||mainWindow;if(!_0x28e608||_0x28e608[_0x506d18(0x3ef)+_0x506d18(0x1d4)]())return{'ok':![]};return _0x28e608[_0x506d18(0x3e2)+'nts'][_0x506d18(0x295)+_0x506d18(0x3df)]({'mode':_0x506d18(0x2d1)}),_0x28e608[_0x506d18(0x3e2)+_0x506d18(0x1f3)][_0x506d18(0x491)](_0x506d18(0x2d5)+_0x506d18(0x2fe)+'t',{'name':'devtools'+_0x506d18(0x1a3)+'t','payload':{'accelerator':DEVTOOLS_ACCELERATOR}}),{'ok':!![]};}function registerShellShortcuts(){const _0x3f7041=_0x5d452e;globalShortcut['unregist'+'er'](DEVTOOLS_ACCELERATOR);if(!isDevToolsEnabled())return;const _0x25e93c=globalShortcut[_0x3f7041(0x49c)](DEVTOOLS_ACCELERATOR,openDevToolsForActiveContext);!_0x25e93c&&console[_0x3f7041(0x558)](_0x3f7041(0x320)+_0x3f7041(0x53f)+'iled\x20to\x20'+_0x3f7041(0x49c)+'\x20shortcu'+_0x3f7041(0x5a6)+DEVTOOLS_ACCELERATOR);}async function getRuntimeResourceStatus(){const _0x18a7e9=_0x5d452e;try{const _0x4ab906=await loadRuntimeInfo(shellConfig[_0x18a7e9(0x22d)+_0x18a7e9(0x46e)]),_0x3ce017=_0x4ab906[_0x18a7e9(0x4d2)]||{};return{'ok':!![],'runtimeRoot':_0x4ab906[_0x18a7e9(0x4e2)+_0x18a7e9(0x46e)],'openclawVersion':_0x4ab906[_0x18a7e9(0x32f)+_0x18a7e9(0x45a)],'generatedAt':_0x3ce017['generate'+_0x18a7e9(0x58b)]||null,'pluginCount':Array['isArray'](_0x3ce017[_0x18a7e9(0x308)])?_0x3ce017[_0x18a7e9(0x308)][_0x18a7e9(0x2b2)]:0x0,'plugins':Array['isArray'](_0x3ce017[_0x18a7e9(0x308)])?_0x3ce017['plugins']:[],'agents':_0x3ce017['agents']||null,'skills':_0x3ce017[_0x18a7e9(0x560)]||null,'wrapper':_0x3ce017[_0x18a7e9(0x5a0)+_0x18a7e9(0x3ce)]||null,'product':_0x3ce017[_0x18a7e9(0x250)]||null};}catch(_0x308826){return{'ok':![],'runtimeRoot':resolveRuntimeRoot(shellConfig?.[_0x18a7e9(0x22d)+'oot']||resolveProjectRoot()),'error':_0x308826 instanceof Error?_0x308826[_0x18a7e9(0x2be)]:String(_0x308826)};}}function applyMacWindowVibrancy(_0x1ce45c){const _0xd4fc7f=_0x5d452e;if(process['platform']!==_0xd4fc7f(0x381)||!_0x1ce45c||_0x1ce45c[_0xd4fc7f(0x3ef)+'yed']())return;_0x1ce45c['setBackg'+_0xd4fc7f(0x1d8)+'or']('#0000000'+'0'),_0x1ce45c[_0xd4fc7f(0x33b)+_0xd4fc7f(0x2a9)]('sidebar',{'animationDuration':0x0});}async function createWindow(){const _0x3d7f8b=_0x5d452e,_0xb34670=process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL,_0x1e968a=process[_0x3d7f8b(0x1a6)]==='darwin',_0x57540b=process['platform']===_0x3d7f8b(0x490)?![]:!![],_0x5c0c75=isDevToolsEnabled();mainLogger?.['info'](_0x3d7f8b(0x410)+'\x20main\x20wi'+'ndow',{'rendererUrl':_0xb34670,'mode':getMode(),'devToolsEnabled':_0x5c0c75,'devToolsFlagPath':resolveDevToolsFlagPath()});const _0x2bd710=new BrowserWindow({'width':0x49c,'height':0x30c,'minWidth':0x384,'minHeight':0x26c,'title':shellConfig[_0x3d7f8b(0x3b9)+_0x3d7f8b(0x554)],'backgroundColor':_0x1e968a?_0x3d7f8b(0x4ce)+'0':_0x3d7f8b(0x430),..._0x1e968a?{'transparent':!![],'vibrancy':_0x3d7f8b(0x2af),'visualEffectState':_0x3d7f8b(0x35a)}:{},'autoHideMenuBar':!![],'titleBarStyle':_0x1e968a?_0x3d7f8b(0x44b)+_0x3d7f8b(0x2b9):_0x3d7f8b(0x479),'titleBarOverlay':_0x57540b,..._0x1e968a?{'trafficLightPosition':{'x':0x1c,'y':0x1a}}:{},'webPreferences':{'preload':preloadPath,'contextIsolation':!![],'nodeIntegration':![],'sandbox':![],'transparent':_0x1e968a,'devTools':_0x5c0c75}});applyMacWindowVibrancy(_0x2bd710),mainWindow=_0x2bd710,protocolUrlState[_0x3d7f8b(0x2d2)+_0x3d7f8b(0x573)](![]),_0x2bd710['on'](_0x3d7f8b(0x53c),()=>{const _0x3d4c4e=_0x3d7f8b;if(mainWindow!==_0x2bd710)return;mainWindow=null,protocolUrlState[_0x3d4c4e(0x2d2)+_0x3d4c4e(0x573)](![]);}),_0x2bd710['on'](_0x3d7f8b(0x597),_0x26fa25=>{const _0x368f5b=_0x3d7f8b;if(process['platform']!=='darwin')return;_0x26fa25?.[_0x368f5b(0x571)+'efault']?.(),void scheduleMacMinimizeHide(_0x2bd710);}),_0x2bd710[_0x3d7f8b(0x3e2)+_0x3d7f8b(0x1f3)]['on'](_0x3d7f8b(0x332)+_0x3d7f8b(0x31f)+'nt',_0x2f21ea=>{const _0x5ed688=_0x3d7f8b,_0x1dc08b=_0x2f21ea['input'];if(!_0x1dc08b||_0x1dc08b[_0x5ed688(0x226)]!==_0x5ed688(0x1a8))return;const _0x18bccf=String(_0x1dc08b[_0x5ed688(0x4e6)]||'')[_0x5ed688(0x3b7)+_0x5ed688(0x228)](),_0x3eeae0=_0x18bccf==='r',_0x58c809=process[_0x5ed688(0x1a6)]===_0x5ed688(0x381)?_0x1dc08b[_0x5ed688(0x1f4)]===!![]:_0x1dc08b['control']===!![];if(!_0x3eeae0||!_0x58c809)return;_0x2f21ea[_0x5ed688(0x571)+'efault'](),broadcast(_0x5ed688(0x4c2)+_0x5ed688(0x18a),{'type':'navigati'+'on','action':_0x5ed688(0x561)});}),_0x2bd710['on']('focus',()=>{const _0x576299=_0x3d7f8b;updateController?.['requestB'+_0x576299(0x35b)+_0x576299(0x3fa)](_0x576299(0x55a)+_0x576299(0x1d0));});const _0x17f8eb=process.env.VITE_DEV_SERVER_URL;_0x17f8eb?(await _0x2bd710[_0x3d7f8b(0x198)](_0x17f8eb),applyMacWindowVibrancy(_0x2bd710),process.env.WUJIE_SHELL_OPEN_DEVTOOLS==='1'&&_0x5c0c75&&_0x2bd710[_0x3d7f8b(0x3e2)+_0x3d7f8b(0x1f3)]['openDevT'+_0x3d7f8b(0x3df)]({'mode':'detach'})):(await _0x2bd710[_0x3d7f8b(0x198)](APP_RENDERER_ENTRY_URL),applyMacWindowVibrancy(_0x2bd710)),mainLogger?.[_0x3d7f8b(0x1ba)]('main\x20win'+_0x3d7f8b(0x253)+'ed',{'rendererUrl':_0xb34670,'mode':getMode(),'devToolsEnabled':_0x5c0c75});}function registerProtocolHandlers(){const _0x12d0f3=_0x5d452e,_0x4b406c=resolveProtocolScheme();if(!_0x4b406c)return;let _0x2e17a4=![];try{_0x2e17a4=app[_0x12d0f3(0x348)+'ed']?app[_0x12d0f3(0x2db)+'aultProt'+_0x12d0f3(0x4c3)+'nt'](_0x4b406c,process[_0x12d0f3(0x2d8)],[app['getAppPa'+'th']()]):![];}catch(_0x5fc5b){mainLogger?.[_0x12d0f3(0x416)]('protocol'+'\x20client\x20'+_0x12d0f3(0x408)+_0x12d0f3(0x294)+_0x12d0f3(0x51e),{'protocol':_0x4b406c,'error':summarizeError(_0x5fc5b)});}mainLogger?.['warn'](_0x12d0f3(0x45b)+'\x20client\x20'+_0x12d0f3(0x49c)+'ed',{'protocol':_0x4b406c,'registered':_0x2e17a4,'packaged':app[_0x12d0f3(0x348)+'ed'],'defaultClient':app[_0x12d0f3(0x19b)+_0x12d0f3(0x4af)+'lClient'](_0x4b406c),'execPath':toHomePath(process['execPath']),'appPath':toHomePath(app[_0x12d0f3(0x518)+'th']())});const _0x25d041=extractProtocolUrlFromArgs(process[_0x12d0f3(0x2c5)]);if(_0x25d041)protocolUrlState[_0x12d0f3(0x2cb)+_0x12d0f3(0x43d)](_0x25d041);const _0x18de04=extractProtocolUrlFromArgs(pendingProtocolArgs||[]);pendingProtocolArgs=null;if(_0x18de04)protocolUrlState[_0x12d0f3(0x2cb)+'ngUrl'](_0x18de04);}function normalizeRequestedLogLevel(_0x291bef){const _0x1e8c5f=_0x5d452e,_0x18dad7=typeof _0x291bef===_0x1e8c5f(0x422)?_0x291bef[_0x1e8c5f(0x5a9)]()[_0x1e8c5f(0x3b7)+_0x1e8c5f(0x228)]():'';if(!SHELL_LOG_LEVELS['has'](_0x18dad7))throw new Error('日志等级必须是\x20'+'error、wa'+_0x1e8c5f(0x2ae)+_0x1e8c5f(0x31b));return _0x18dad7;}function writeMainAuditLog(_0x254fbd,_0x125cff){const _0x43972b=_0x5d452e;return mainLogger?.[_0x43972b(0x4e0)]?.(formatLogLine({'level':_0x43972b(0x2ee),'context':'main','message':_0x254fbd,'meta':_0x125cff}));}async function installIpcHandlers(){const _0x33ccc9=_0x5d452e,_0x2b0ba8=(_0x35dcf3,_0x631c7c)=>{const _0xeec1a5=_0x2082;ipcMain[_0xeec1a5(0x3e4)](_0x35dcf3,async(_0x15a294,_0x42839b)=>{const _0x48094a=_0xeec1a5,_0x55c78d=Date[_0x48094a(0x521)](),_0x3bcac6=_0x15a294[_0x48094a(0x2eb)+'ame']?.[_0x48094a(0x204)]||_0x15a294[_0x48094a(0x35e)][_0x48094a(0x334)](),_0x413bb0=ipcLogger?.[_0x48094a(0x49b)+'g'](_0x48094a(0x20e));_0x413bb0&&ipcLogger[_0x48094a(0x1ba)](_0x48094a(0x224)+'est\x20star'+_0x48094a(0x33d),{'channel':_0x35dcf3,'senderUrl':_0x3bcac6});DEBUG_STDOUT&&_0x413bb0&&console[_0x48094a(0x1ba)]('[wujie-s'+'hell:ipc'+']',_0x35dcf3,_0x48094a(0x577));try{let _0x5dfb6d;try{_0x5dfb6d=await _0x631c7c(_0x15a294,_0x42839b);}catch(_0x45d459){if(!isGatewayNotInitializedError(_0x45d459))throw _0x45d459;await ensureGatewayControllerStarted(),_0x5dfb6d=await _0x631c7c(_0x15a294,_0x42839b);}const _0x3fa300=Date['now']()-_0x55c78d;return(_0x413bb0||_0x3fa300>IPC_SLOW_REQUEST_THRESHOLD_MS)&&ipcLogger?.['info']('ipc\x20requ'+'est\x20comp'+_0x48094a(0x530),{'channel':_0x35dcf3,'durationMs':_0x3fa300,'status':_0x48094a(0x301)+'d'}),await userEventWriter?.[_0x48094a(0x269)]({'channel':_0x35dcf3,'payload':_0x42839b,'result':_0x5dfb6d,'durationMs':_0x3fa300,'status':'succeede'+'d'}),DEBUG_STDOUT&&_0x413bb0&&console[_0x48094a(0x1ba)](_0x48094a(0x320)+_0x48094a(0x39b)+']',_0x35dcf3,'complete'+'d',{'durationMs':_0x3fa300,'status':_0x48094a(0x301)+'d'}),_0x5dfb6d;}catch(_0x329946){const _0xc7db8c=Date[_0x48094a(0x521)]()-_0x55c78d;ipcLogger?.[_0x48094a(0x416)]('ipc\x20requ'+_0x48094a(0x1b8)+'ed',{'channel':_0x35dcf3,'durationMs':_0xc7db8c,'error':summarizeError(_0x329946)}),await userEventWriter?.['fromIpc']({'channel':_0x35dcf3,'payload':_0x42839b,'error':_0x329946,'durationMs':_0xc7db8c,'status':_0x48094a(0x22a)}),await diagnosticsWriter?.[_0x48094a(0x4ae)+_0x48094a(0x209)](diagnosticEventFromError(_0x329946,{'category':'ipc','event':_0x48094a(0x43e)+_0x48094a(0x545)+'ed','message':_0x48094a(0x3a6)+_0x48094a(0x1b8)+'ed:\x20'+_0x35dcf3,'durationMs':_0xc7db8c,'meta':{'channel':_0x35dcf3,'senderUrl':_0x3bcac6,'payload':summarizePayload(_0x42839b)}}));DEBUG_STDOUT&&console[_0x48094a(0x416)](_0x48094a(0x320)+_0x48094a(0x39b)+']',_0x35dcf3,_0x48094a(0x22a),summarizeError(_0x329946));throw _0x329946;}});},_0x198172=()=>{const _0xb5be4d=_0x2082;if(!gatewayController)throw new Error(bootError?_0xb5be4d(0x2d5)+_0xb5be4d(0x375)+_0xb5be4d(0x53a)+'\x20'+bootError:_0xb5be4d(0x2d5)+_0xb5be4d(0x38d)+'way\x20is\x20n'+_0xb5be4d(0x23a)+_0xb5be4d(0x471));return gatewayController;},_0x2874b5=createReviewController({'getGlobalRepositoryPaths':async()=>[resolveProjectRoot()],'getWorkspacePath':async()=>{const _0x4a6e26=_0x2082,_0x46bb0c=await _0x198172()[_0x4a6e26(0x4fa)+'e'][_0x4a6e26(0x2d3)+_0x4a6e26(0x533)]();return String(_0x46bb0c?.[_0x4a6e26(0x2b7)]||'');}});function _0x3f72fd(){const _0x22b926=_0x2082;for(const _0x4ffff8 of Object['keys'](gatewayRuntimeHooks)){delete gatewayRuntimeHooks[_0x4ffff8];}Object[_0x22b926(0x2fa)](gatewayRuntimeHooks,productRuntimeHooks,{'onChatHistoryLoaded':async _0x271e95=>{const _0x1d1e76=_0x22b926;await requestIdHooks?.[_0x1d1e76(0x202)+'storyLoa'+'ded']?.(_0x271e95),await productRuntimeHooks?.['onChatHi'+_0x1d1e76(0x1d7)+_0x1d1e76(0x4f2)]?.(_0x271e95);},'onRequestIdTitleEvent':async _0x5657a3=>{const _0x24b2bc=_0x22b926;await requestIdHooks?.['onReques'+_0x24b2bc(0x57c)+_0x24b2bc(0x284)]?.(_0x5657a3),await productRuntimeHooks?.[_0x24b2bc(0x570)+'tIdTitle'+_0x24b2bc(0x284)]?.(_0x5657a3);}});}const _0x4fb296=()=>{const _0x1dc78a=_0x2082;if(typeof productRuntime[_0x1dc78a(0x49c)+_0x1dc78a(0x2ea)+'untimeHa'+_0x1dc78a(0x32b)]!==_0x1dc78a(0x291))return;const _0x2ac323=productRuntime[_0x1dc78a(0x49c)+_0x1dc78a(0x2ea)+_0x1dc78a(0x476)+_0x1dc78a(0x32b)]({'app':app,'BrowserWindow':BrowserWindow,'broadcast':broadcast,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'dialog':dialog,'exportLogsArchive':exportLogsArchive,'filesLogger':filesLogger,'getRuntimeSpawnContext':getRuntimeSpawnContext,'handle':_0x2b0ba8,'mainLogger':mainLogger,'mainWindow':mainWindow,'rendererLogger':rendererLogger,'requireGateway':_0x198172,'sep':sep,'openClawConfigHandlers':{'update':(..._0xda87ae)=>configController[_0x1dc78a(0x1fc)+_0x1dc78a(0x1c5)+'nfig'](..._0xda87ae),'setPluginConfig':_0x223384=>configController[_0x1dc78a(0x347)+_0x1dc78a(0x338)+'nConfig'](_0x223384),'setChannelConfig':_0x1e44c5=>configController['setOpenC'+_0x1dc78a(0x336)+_0x1dc78a(0x482)](_0x1e44c5),'deleteChannelConfig':_0x585515=>configController[_0x1dc78a(0x290)+_0x1dc78a(0x207)+_0x1dc78a(0x232)+_0x1dc78a(0x3a0)](_0x585515),'setSkillEntry':_0x5a56ba=>configController[_0x1dc78a(0x347)+_0x1dc78a(0x2da)+_0x1dc78a(0x35f)](_0x5a56ba),'deleteSkillEntry':_0x14088f=>configController[_0x1dc78a(0x290)+_0x1dc78a(0x23f)+_0x1dc78a(0x2c2)](_0x14088f),'setMcpServer':_0x5daeb3=>configController['setOpenC'+_0x1dc78a(0x222)+'rver'](_0x5daeb3),'deleteMcpServer':_0x53d503=>configController['deleteOp'+_0x1dc78a(0x396)+_0x1dc78a(0x2bb)](_0x53d503)},'shell':shell,'shellConfig':shellConfig,'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand,'summarizePayload':summarizePayload,'summarizeText':summarizeText,'toHomePath':toHomePath,'writeMutableConfig':_0xb238a4})||{};Object[_0x1dc78a(0x2fa)](productRuntimeHooks,_0x2ac323),_0x3f72fd();};ipcMain['on'](_0x33ccc9(0x562)+_0x33ccc9(0x4e7)+_0x33ccc9(0x32a),()=>{const _0x1923ae=_0x33ccc9;protocolUrlState[_0x1923ae(0x2d2)+_0x1923ae(0x573)](!![]),mainLogger?.[_0x1923ae(0x558)](_0x1923ae(0x45b)+_0x1923ae(0x4cb)+_0x1923ae(0x2f7),{'hasPendingProtocolUrl':Boolean(protocolUrlState[_0x1923ae(0x546)+'rl'])}),flushPendingProtocolUrl();}),_0x2b0ba8(_0x33ccc9(0x2a2),async()=>({'name':shellConfig['productN'+_0x33ccc9(0x554)],'version':app[_0x33ccc9(0x4f5)+'on'](),'appId':shellConfig[_0x33ccc9(0x446)],'dataDir':shellConfig['dataDir']})),_0x2b0ba8('app:open'+'-url',async(_0x26ca2e,_0x374637)=>{const _0x4b8095=_0x33ccc9,_0x264f00=typeof _0x374637===_0x4b8095(0x422)?_0x374637:'';if(!_0x264f00)return{'ok':![]};return filesLogger?.[_0x4b8095(0x1ba)](_0x4b8095(0x576)+_0x4b8095(0x197)+_0x4b8095(0x4b4)+_0x4b8095(0x33d),{'url':summarizeText(_0x264f00,0xa0)}),await shell['openExte'+_0x4b8095(0x1c3)](_0x264f00),{'ok':!![]};});const _0xb238a4=async(_0x33bdb7,_0x1ec310)=>{const _0x5b8a5b=_0x33ccc9;return configController[_0x5b8a5b(0x4c5)+_0x5b8a5b(0x3bd)+'andledIn'+_0x5b8a5b(0x3eb)](),await configController[_0x5b8a5b(0x42c)+_0x5b8a5b(0x3a0)](_0x33bdb7,_0x1ec310),{'ok':!![]};};Object['assign'](requestIdHooks,registerRequestIdHandlers({'configController':configController,'handle':_0x2b0ba8,'mainLogger':mainLogger})),_0x3f72fd(),_0x4fb296(),_0x2b0ba8('skills:i'+_0x33ccc9(0x455)+'p',async(_0x3ad2e9,_0x44bc68)=>importMarketSkillZip({'payload':_0x44bc68,'importSkillZip':_0x225950=>importSkillZip({..._0x225950,'app':app,'dialog':dialog,'dialogWindow':BrowserWindow[_0x33ccc9(0x34b)+'ontents'](_0x3ad2e9[_0x33ccc9(0x35e)])||mainWindow,'configController':configController}),'configController':configController})),_0x2b0ba8('skills:u'+_0x33ccc9(0x3c7),(_0x116da9,_0x2a4306)=>updateManagedSkillConfig({'payload':_0x2a4306,'configController':configController})),_0x2b0ba8('skills:d'+_0x33ccc9(0x329),(_0x6e577c,_0x3b0d31)=>deleteMarketSkillRegistryEntry({'payload':_0x3b0d31,'deleteManagedSkill':_0x303c98=>deleteManagedSkill({..._0x303c98,'gateway':_0x198172(),'configController':configController}),'configController':configController}));const _0x15dc8f=ensureGeneratedFilesStore();_0x2b0ba8(_0x33ccc9(0x441)+_0x33ccc9(0x29d)+'les:list',async()=>_0x15dc8f[_0x33ccc9(0x4ac)]()),_0x2b0ba8('app:gene'+_0x33ccc9(0x29d)+_0x33ccc9(0x40d)+_0x33ccc9(0x259)+_0x33ccc9(0x578),async(_0x49921d,_0x1c9f9e)=>_0x15dc8f[_0x33ccc9(0x469)+_0x33ccc9(0x2ef)](String(_0x1c9f9e||''))),_0x2b0ba8(_0x33ccc9(0x441)+_0x33ccc9(0x29d)+_0x33ccc9(0x3cb)+'rt',async(_0xb357c1,_0x2c3bab={})=>_0x15dc8f[_0x33ccc9(0x2ba)](_0x2c3bab)),_0x2b0ba8(_0x33ccc9(0x441)+_0x33ccc9(0x29d)+_0x33ccc9(0x555),async(_0x372eab,_0x4dbcf9)=>_0x15dc8f[_0x33ccc9(0x1e7)](String(_0x4dbcf9||''))),_0x2b0ba8(_0x33ccc9(0x441)+_0x33ccc9(0x29d)+_0x33ccc9(0x555)+_0x33ccc9(0x259)+_0x33ccc9(0x578),async(_0x1961bd,_0x1b1b7b)=>_0x15dc8f['hideBySe'+_0x33ccc9(0x2ef)](String(_0x1b1b7b||''))),_0x2b0ba8(_0x33ccc9(0x441)+_0x33ccc9(0x29d)+_0x33ccc9(0x4c8)+'te',async(_0x4fe566,_0x19ac57)=>_0x15dc8f[_0x33ccc9(0x281)+'le'](String(_0x19ac57||''))),_0x2b0ba8(_0x33ccc9(0x441)+_0x33ccc9(0x29d)+_0x33ccc9(0x4c8)+'ted-stat'+'e',async(_0x103ab8,_0x103365=[])=>_0x15dc8f[_0x33ccc9(0x25c)+_0x33ccc9(0x36d)](_0x103365)),_0x2b0ba8('app:gene'+_0x33ccc9(0x29d)+_0x33ccc9(0x3af)+'al',async(_0x2d9fbc,_0x5a34c3)=>revealPathInFolder(_0x5a34c3)),_0x2b0ba8('artifact'+'s:list',async(_0x599de6,_0x55f4d2={})=>{const _0x59b024=_0x33ccc9,_0x39189e=_0x55f4d2&&typeof _0x55f4d2===_0x59b024(0x4d9)&&_0x59b024(0x515)+'ey'in _0x55f4d2?String(_0x55f4d2[_0x59b024(0x515)+'ey']||''):'';return _0x39189e?_0x15dc8f[_0x59b024(0x469)+_0x59b024(0x2ef)](_0x39189e):_0x15dc8f[_0x59b024(0x4ac)]();}),_0x2b0ba8(_0x33ccc9(0x38b)+_0x33ccc9(0x360),async(_0x1bac5a,_0x31e7c6={})=>_0x15dc8f['upsert'](_0x31e7c6)),_0x2b0ba8(_0x33ccc9(0x38b)+_0x33ccc9(0x529),async(_0x1ff239,_0x2623ca={})=>_0x15dc8f[_0x33ccc9(0x1e7)](String(_0x2623ca['id']||_0x2623ca||''))),_0x2b0ba8(_0x33ccc9(0x38b)+_0x33ccc9(0x388),async(_0x272e61,_0x57d4a3={})=>_0x15dc8f['deleteFi'+'le'](String(_0x57d4a3['id']||_0x57d4a3||''))),_0x2b0ba8(_0x33ccc9(0x38b)+'s:delete'+_0x33ccc9(0x5a2),async(_0x5b2805,_0x2b571c={})=>_0x15dc8f['deletedS'+_0x33ccc9(0x36d)](_0x2b571c[_0x33ccc9(0x371)]||_0x2b571c)),_0x2b0ba8(_0x33ccc9(0x38b)+'s:reveal',async(_0x52d704,_0x185352={})=>{const _0xd7f585=_0x33ccc9,_0x514497=typeof _0x185352===_0xd7f585(0x422)?_0x185352:_0x185352[_0xd7f585(0x2b7)]||_0x185352[_0xd7f585(0x1e8)];return revealPathInFolder(_0x514497);});const _0x51a9ce=createPreferencesStore({'stateDir':configController[_0x33ccc9(0x580)+_0x33ccc9(0x549)](),'storeFile':_0x33ccc9(0x214)+'preferen'+_0x33ccc9(0x18e)}),_0x394a70=await _0x51a9ce['get']('shellLog'+_0x33ccc9(0x492),configController['paths']['logLevel']),_0x45a5c7=setShellLoggerLevel(_0x394a70);setRuntimeLoggerLevel(_0x394a70),mainLogger?.[_0x33ccc9(0x1ba)](_0x33ccc9(0x1e9)+'g\x20level\x20'+_0x33ccc9(0x4be)+_0x33ccc9(0x1c8),{'level':_0x45a5c7,'configuredLevel':configController[_0x33ccc9(0x371)][_0x33ccc9(0x52a)],'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),_0x2b0ba8(_0x33ccc9(0x40b)+_0x33ccc9(0x47e)+'se',async()=>_0x51a9ce[_0x33ccc9(0x3f7)](_0x33ccc9(0x380)+_0x33ccc9(0x394)+'se',![])),_0x2b0ba8(_0x33ccc9(0x40b)+_0x33ccc9(0x2e8)+'se',async(_0x2d1ebe,_0x39feec)=>_0x51a9ce[_0x33ccc9(0x2b9)]('closeToT'+_0x33ccc9(0x394)+'se',_0x39feec===!![])),_0x2b0ba8('logs:get'+_0x33ccc9(0x2ab),async()=>({'level':getShellLoggerLevel(configController[_0x33ccc9(0x371)]),'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)})),_0x2b0ba8(_0x33ccc9(0x4b1)+_0x33ccc9(0x2ab),async(_0x10a33f,_0x41d2b4={})=>{const _0x272667=_0x33ccc9,_0x58c8c7=normalizeRequestedLogLevel(typeof _0x41d2b4===_0x272667(0x422)?_0x41d2b4:_0x41d2b4[_0x272667(0x54f)]);await _0x51a9ce[_0x272667(0x2b9)](_0x272667(0x41d)+'Level',_0x58c8c7);const _0x3cbd6e=setShellLoggerLevel(_0x58c8c7);return setRuntimeLoggerLevel(_0x58c8c7),await writeMainAuditLog(_0x272667(0x1e9)+_0x272667(0x4b9)+_0x272667(0x3c5),{'requestedLevel':_0x58c8c7,'level':_0x3cbd6e,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)}),{'ok':!![],'level':_0x3cbd6e,'overriddenByEnv':Boolean(process.env.WUJIE_SHELL_LOG_LEVEL)};}),registerFileHandlers({'app':app,'filesLogger':filesLogger,'handle':_0x2b0ba8,'sep':sep,'stateDir':configController[_0x33ccc9(0x580)+'tateDir'](),'toHomePath':toHomePath}),registerProductLogHandlers({'app':app,'configController':configController,'diagnosticEventFromError':diagnosticEventFromError,'diagnosticsWriter':diagnosticsWriter,'exportLogsArchive':exportLogsArchive,'handle':_0x2b0ba8,'mainLogger':mainLogger,'rendererLogger':rendererLogger,'summarizeText':summarizeText,'toHomePath':toHomePath}),registerModelHandlers({'handle':_0x2b0ba8,'modelHandlers':{'saveCustomModel':_0x17e6fb=>_0x198172()['models']['saveCust'+_0x33ccc9(0x370)](_0x17e6fb),'deleteCustomModel':_0x1d40c0=>_0x198172()['models'][_0x33ccc9(0x526)+_0x33ccc9(0x1ac)+'l'](_0x1d40c0)}}),connectorController=createConnectorController({'shellConfig':shellConfig,'configController':configController,'broadcast':broadcast,'shell':shell,'getRuntimeSpawnContext':getRuntimeSpawnContext,'openClawConfigHandlers':{'update':(..._0x51d7dc)=>configController[_0x33ccc9(0x1fc)+_0x33ccc9(0x1c5)+_0x33ccc9(0x44e)](..._0x51d7dc),'setPluginConfig':_0x3eb38d=>configController[_0x33ccc9(0x347)+_0x33ccc9(0x338)+_0x33ccc9(0x304)](_0x3eb38d),'setChannelConfig':_0x13e282=>configController[_0x33ccc9(0x347)+_0x33ccc9(0x336)+_0x33ccc9(0x482)](_0x13e282),'deleteChannelConfig':_0x565f0a=>configController['deleteOp'+_0x33ccc9(0x207)+'annelCon'+_0x33ccc9(0x3a0)](_0x565f0a),'setSkillEntry':_0x1cacc8=>configController['setOpenC'+_0x33ccc9(0x2da)+_0x33ccc9(0x35f)](_0x1cacc8),'deleteSkillEntry':_0x4ab877=>configController[_0x33ccc9(0x290)+_0x33ccc9(0x23f)+_0x33ccc9(0x2c2)](_0x4ab877),'setMcpServer':_0x4ae360=>configController[_0x33ccc9(0x347)+_0x33ccc9(0x222)+_0x33ccc9(0x3fd)](_0x4ae360),'deleteMcpServer':_0x649a5d=>configController[_0x33ccc9(0x290)+_0x33ccc9(0x396)+_0x33ccc9(0x2bb)](_0x649a5d)},'resolveRuntimeKdocsCliCommand':resolveRuntimeKdocsCliCommand,'resolveRuntimeLarkCliCommand':resolveRuntimeLarkCliCommand}),_0x2b0ba8(_0x33ccc9(0x277)+'m-channe'+_0x33ccc9(0x3c1),async()=>connectorController[_0x33ccc9(0x563)+'annelCon'+_0x33ccc9(0x538)]()),_0x2b0ba8(_0x33ccc9(0x277)+_0x33ccc9(0x55f)+_0x33ccc9(0x273)+'e',async(_0x53f0bc,_0x37b505={})=>connectorController[_0x33ccc9(0x361)+_0x33ccc9(0x401)+_0x33ccc9(0x547)](_0x37b505)),_0x2b0ba8('config:i'+_0x33ccc9(0x55f)+'ls:set-e'+_0x33ccc9(0x4d8),async(_0x4ee3a9,_0x4c333b={})=>connectorController['setImCha'+'nnelEnab'+_0x33ccc9(0x51e)](_0x4c333b)),_0x2b0ba8('config:c'+_0x33ccc9(0x2a3)+_0x33ccc9(0x2a8),async(_0x3cfbee,_0x1fb545={})=>{const _0x22acdc=_0x33ccc9,_0x1179c8=String(_0x1fb545[_0x22acdc(0x43a)+'d']||_0x1fb545['payload']?.[_0x22acdc(0x43a)+'d']||_0x1fb545[_0x22acdc(0x203)]?.['id']||'');if(!_0x1179c8)throw new Error(_0x22acdc(0x43a)+_0x22acdc(0x4a1)+_0x22acdc(0x262));const _0x377b11=_0x1fb545[_0x22acdc(0x203)]||_0x1fb545,_0x5afa8d={'feishu':connectorController[_0x22acdc(0x3d3)+'huChanne'+_0x22acdc(0x287)],'qqbot':connectorController[_0x22acdc(0x2cc)+_0x22acdc(0x585)+_0x22acdc(0x282)],'wecom':connectorController['saveWeco'+_0x22acdc(0x54c)+_0x22acdc(0x282)],'qq_mail':connectorController['saveQqMa'+_0x22acdc(0x3b0)+_0x22acdc(0x2bf)+'g'],'netease_mail':connectorController[_0x22acdc(0x2ff)+_0x22acdc(0x364)+_0x22acdc(0x2a3)+_0x22acdc(0x282)],'tencent_exmail':connectorController[_0x22acdc(0x3ad)+'entExmai'+_0x22acdc(0x4d7)+_0x22acdc(0x22f)],'feishu_doc':connectorController[_0x22acdc(0x3d3)+'huDocCon'+_0x22acdc(0x343)+_0x22acdc(0x44e)],'tencent_docs':connectorController[_0x22acdc(0x3ad)+_0x22acdc(0x210)+_0x22acdc(0x2a3)+_0x22acdc(0x282)],'kdocs':connectorController[_0x22acdc(0x358)+_0x22acdc(0x3ba)+_0x22acdc(0x22f)],'dingtalk_doc':connectorController[_0x22acdc(0x218)+_0x22acdc(0x2c8)+_0x22acdc(0x2a3)+'Config']},_0x5006b2=_0x5afa8d[_0x1179c8];if(!_0x5006b2)throw new Error(_0x22acdc(0x378)+_0x22acdc(0x40a)+'ector:\x20'+_0x1179c8);return _0x5006b2(_0x377b11);}),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x38a)+_0x33ccc9(0x1d1)+'nnel',async(_0x81a644,_0x521128={})=>connectorController['saveFeis'+'huChanne'+'lConfig'](_0x521128)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+':save-qq'+_0x33ccc9(0x5a4)+_0x33ccc9(0x1e0),async(_0x2731d8,_0x5b2660={})=>connectorController['saveQqbo'+'tChannel'+_0x33ccc9(0x282)](_0x5b2660)),_0x2b0ba8('config:c'+'onnector'+_0x33ccc9(0x191)+_0x33ccc9(0x587)+'nel',async(_0x4da3e5,_0x3cd9ff={})=>connectorController[_0x33ccc9(0x3d7)+'mChannel'+_0x33ccc9(0x282)](_0x3cd9ff)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x20a)+_0x33ccc9(0x229),async(_0x360b59,_0x4d1884={})=>connectorController[_0x33ccc9(0x256)+_0x33ccc9(0x3b0)+'torConfi'+'g'](_0x4d1884)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x3be)+'tease-ma'+'il',async(_0x5cae1a,_0x112380={})=>connectorController['saveNetE'+'aseMailC'+_0x33ccc9(0x2a3)+'Config'](_0x112380)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x3b2)+_0x33ccc9(0x582)+'mail',async(_0x5b0aa,_0x23c28a={})=>connectorController['saveTenc'+_0x33ccc9(0x45c)+'lConnect'+'orConfig'](_0x23c28a)),_0x2b0ba8(_0x33ccc9(0x251)+'onnector'+_0x33ccc9(0x38a)+_0x33ccc9(0x356),async(_0x4478e3,_0x1c0f03={})=>connectorController['saveFeis'+_0x33ccc9(0x335)+_0x33ccc9(0x343)+_0x33ccc9(0x44e)](_0x1c0f03)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x3b2)+'ncent-do'+'cs',async(_0x1ab214,_0xe4e1da={})=>connectorController[_0x33ccc9(0x3ad)+_0x33ccc9(0x210)+_0x33ccc9(0x2a3)+_0x33ccc9(0x282)](_0xe4e1da)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x513)+_0x33ccc9(0x28d),async(_0x44b6cd,_0x337077={})=>connectorController[_0x33ccc9(0x358)+_0x33ccc9(0x3ba)+_0x33ccc9(0x22f)](_0x337077)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x1b1)+_0x33ccc9(0x200)+'oc',async(_0x26e0fc,_0x2ada3c={})=>connectorController[_0x33ccc9(0x218)+_0x33ccc9(0x2c8)+_0x33ccc9(0x2a3)+_0x33ccc9(0x282)](_0x2ada3c)),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x271)+':start',async(_0x186d8e,_0x426284={})=>{const _0x4762ad=_0x33ccc9,_0x51e4a7=String(_0x426284[_0x4762ad(0x43a)+'d']||_0x426284[_0x4762ad(0x226)]||'');if(_0x51e4a7===_0x4762ad(0x34a))return connectorController[_0x4762ad(0x1fd)+'csCliCon'+_0x4762ad(0x39f)+'ion']();if(_0x51e4a7===_0x4762ad(0x215)+'oc')return connectorController[_0x4762ad(0x2b5)+_0x4762ad(0x525)+_0x4762ad(0x264)+_0x4762ad(0x3c0)]();if(_0x51e4a7===_0x4762ad(0x4c6))return connectorController[_0x4762ad(0x2b5)+_0x4762ad(0x557)+_0x4762ad(0x193)+'ession'](_0x426284);if(_0x51e4a7===_0x4762ad(0x32f)+_0x4762ad(0x461)||_0x51e4a7===_0x4762ad(0x4c0))return connectorController[_0x4762ad(0x2ec)+_0x4762ad(0x56a)+_0x4762ad(0x4ec)+'n']({'gatewayPort':_0x198172()[_0x4762ad(0x37f)+_0x4762ad(0x33a)](),'gatewayToken':_0x198172()['gatewayT'+'oken']()});throw new Error(_0x4762ad(0x378)+_0x4762ad(0x40a)+_0x4762ad(0x5a3)+'ssion:\x20'+(_0x51e4a7||'unknown'));}),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x271)+':status',async(_0x3ce31f,_0x238ad0={})=>{const _0x54dbe1=_0x33ccc9,_0x173b2c=String(_0x238ad0[_0x54dbe1(0x43a)+'d']||_0x238ad0['type']||'');if(_0x173b2c==='kdocs')return connectorController[_0x54dbe1(0x261)+_0x54dbe1(0x22b)+_0x54dbe1(0x24a)](_0x238ad0);if(_0x173b2c===_0x54dbe1(0x215)+'oc')return connectorController[_0x54dbe1(0x30e)+'uDocCliC'+_0x54dbe1(0x2cd)+_0x54dbe1(0x1f6)](_0x238ad0);if(_0x173b2c===_0x54dbe1(0x4c6))return connectorController[_0x54dbe1(0x30e)+_0x54dbe1(0x3ac)+_0x54dbe1(0x3a2)+_0x54dbe1(0x41f)](_0x238ad0);throw new Error(_0x54dbe1(0x378)+_0x54dbe1(0x40a)+_0x54dbe1(0x5a3)+_0x54dbe1(0x30b)+(_0x173b2c||_0x54dbe1(0x236)));}),_0x2b0ba8(_0x33ccc9(0x251)+'onnector'+_0x33ccc9(0x271)+_0x33ccc9(0x319),async(_0xfccaa6,_0x98e653={})=>{const _0x5ecf43=_0x33ccc9,_0x1519f8=String(_0x98e653[_0x5ecf43(0x43a)+'d']||_0x98e653[_0x5ecf43(0x226)]||'');if(_0x1519f8==='kdocs')return connectorController[_0x5ecf43(0x3ee)+_0x5ecf43(0x185)+_0x5ecf43(0x1af)+'sion'](_0x98e653);if(_0x1519f8===_0x5ecf43(0x215)+'oc')return connectorController[_0x5ecf43(0x1ee)+_0x5ecf43(0x275)+'liConnec'+'tSession'](_0x98e653);if(_0x1519f8===_0x5ecf43(0x4c6))return connectorController[_0x5ecf43(0x1ee)+_0x5ecf43(0x456)+_0x5ecf43(0x2f1)+'Session'](_0x98e653);if(_0x1519f8===_0x5ecf43(0x32f)+_0x5ecf43(0x461)||_0x1519f8===_0x5ecf43(0x4c0))return connectorController['cancelWe'+_0x5ecf43(0x300)+'nelSessi'+'on']();return{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x251)+_0x33ccc9(0x2a3)+_0x33ccc9(0x271)+':complet'+'e',async(_0x157303,_0x332311={})=>{const _0x298941=_0x33ccc9,_0x142304=String(_0x332311[_0x298941(0x43a)+'d']||_0x332311['type']||'');if(_0x142304===_0x298941(0x215)+'oc')return connectorController[_0x298941(0x1e4)+_0x298941(0x3f4)+_0x298941(0x2f5)+_0x298941(0x1ed)+'on'](_0x332311);throw new Error(_0x298941(0x378)+_0x298941(0x40a)+_0x298941(0x5a3)+_0x298941(0x30b)+(_0x142304||_0x298941(0x236)));}),_0x2b0ba8(_0x33ccc9(0x23d)+_0x33ccc9(0x47a),()=>connectorController[_0x33ccc9(0x59c)+_0x33ccc9(0x4f7)+'ot']());const _0x2f0404=_0x3a1349=>{const _0x1faf52=_0x33ccc9,_0x135eb7=_0x3a1349[_0x1faf52(0x188)]&&typeof _0x3a1349[_0x1faf52(0x188)]===_0x1faf52(0x4d9)?_0x3a1349['agents']:{};return Array['isArray'](_0x135eb7[_0x1faf52(0x4ac)])?_0x135eb7[_0x1faf52(0x4ac)]:[];},_0x3994b5=_0x1dd9dd=>{const _0xe2a1bb=_0x33ccc9,_0x2da9b1=typeof _0x1dd9dd===_0xe2a1bb(0x422)?_0x1dd9dd[_0xe2a1bb(0x5a9)]():'',_0x31a03=_0x2da9b1[_0xe2a1bb(0x402)](/^agent:([^:]+):/);return _0x31a03?.[0x1]||'';},_0xbdb888=(_0x2c7239={},_0x329acc=[])=>{const _0x8cdae6=_0x33ccc9,_0x1c0401=Array[_0x8cdae6(0x535)](_0x2c7239[_0x8cdae6(0x389)])?_0x2c7239[_0x8cdae6(0x389)]:[],_0x43d785=Array['isArray'](_0x2c7239[_0x8cdae6(0x188)])?_0x2c7239[_0x8cdae6(0x188)]:Array[_0x8cdae6(0x535)](_0x2c7239[_0x8cdae6(0x4ac)])?_0x2c7239['list']:_0x1c0401['map'](_0x5ca85d=>_0x5ca85d?.[_0x8cdae6(0x505)])['filter'](Boolean),_0xb3a648=Array[_0x8cdae6(0x535)](_0x329acc)?_0x329acc:[];return _0x43d785[_0x8cdae6(0x4ff)](_0x1ca515=>{const _0xee88b2=_0x8cdae6,_0x25aa33=String(_0x1ca515?.['id']||_0x1ca515?.['agentId']||'')[_0xee88b2(0x5a9)](),_0x528fb9=_0x1c0401['find'](_0x2428ff=>{const _0x41319b=_0xee88b2,_0x2f9ee8=String(_0x2428ff?.['agent']?.['id']||_0x2428ff?.[_0x41319b(0x505)]?.[_0x41319b(0x58f)]||'')[_0x41319b(0x5a9)]();return _0x2f9ee8===_0x25aa33;});return{..._0x528fb9&&typeof _0x528fb9===_0xee88b2(0x4d9)?_0x528fb9:{},'agent':_0x1ca515,'sessions':_0x25aa33?_0xb3a648[_0xee88b2(0x423)](_0x52edd9=>{const _0x332ea4=_0xee88b2,_0x33789=String(_0x52edd9?.['agentId']||_0x52edd9?.['agent_id']||_0x52edd9?.[_0x332ea4(0x505)]?.['id']||_0x3994b5(_0x52edd9?.['key'])||'')[_0x332ea4(0x5a9)]();return _0x33789?_0x33789===_0x25aa33:_0x25aa33==='main';}):[]};});};_0x2b0ba8(_0x33ccc9(0x289)+_0x33ccc9(0x500)+_0x33ccc9(0x36d),async()=>updateController?.[_0x33ccc9(0x3a5)]()),_0x2b0ba8(_0x33ccc9(0x289)+_0x33ccc9(0x36a),async()=>updateController?.[_0x33ccc9(0x4ca)+_0x33ccc9(0x2b1)]()),_0x2b0ba8(_0x33ccc9(0x289)+_0x33ccc9(0x527)+_0x33ccc9(0x345),async()=>updateController?.[_0x33ccc9(0x2cf)+_0x33ccc9(0x4a8)]()),_0x2b0ba8('app:upda'+_0x33ccc9(0x22e)+'and-inst'+_0x33ccc9(0x487),async()=>updateController?.[_0x33ccc9(0x274)+_0x33ccc9(0x315)]()),_0x2b0ba8(_0x33ccc9(0x21d)+_0x33ccc9(0x3e6),async(_0x27b2e5,_0x4effe0={})=>{const _0x7e286a=_0x33ccc9,_0x21861c=await dialog['showOpen'+_0x7e286a(0x409)](BrowserWindow[_0x7e286a(0x34b)+_0x7e286a(0x485)](_0x27b2e5[_0x7e286a(0x35e)])??mainWindow,{'properties':[_0x7e286a(0x391),..._0x4effe0?.[_0x7e286a(0x1c1)]!==0x1?[_0x7e286a(0x211)+_0x7e286a(0x341)]:[]],'filters':_0x4effe0?.[_0x7e286a(0x2e9)+_0x7e286a(0x265)+'s']?[{'name':_0x7e286a(0x1c6),'extensions':_0x4effe0[_0x7e286a(0x2e9)+'meFilter'+'s']}]:undefined});return _0x21861c['filePath'+'s'][_0x7e286a(0x4ff)](_0x1b8b32=>({'path':_0x1b8b32,'name':_0x1b8b32[_0x7e286a(0x323)](/[\\/]/)['pop']()||_0x1b8b32}));}),_0x2b0ba8(_0x33ccc9(0x21d)+_0x33ccc9(0x30f)+_0x33ccc9(0x266),async(_0x2c5a2d,_0x4f5f47={})=>{const _0x10a527=_0x33ccc9,_0x47b434=String(_0x4f5f47[_0x10a527(0x302)+'th']||'');if(!_0x47b434)return{'success':![],'error':'sourcePa'+_0x10a527(0x3a3)+_0x10a527(0x298)};const _0xaf89b=await dialog[_0x10a527(0x3b4)+_0x10a527(0x409)](mainWindow,{'defaultPath':_0x4f5f47['defaultF'+_0x10a527(0x3c4)]||_0x47b434['split'](/[\\/]/)[_0x10a527(0x3f8)]()});if(_0xaf89b[_0x10a527(0x385)]||!_0xaf89b['filePath'])return{'success':![],'canceled':!![]};const {copyFile:_0x121f8c}=await import(_0x10a527(0x59e)+_0x10a527(0x333));return await _0x121f8c(_0x47b434,_0xaf89b[_0x10a527(0x3d0)]),{'success':!![],'filePath':_0xaf89b[_0x10a527(0x3d0)]};}),_0x2b0ba8('app:clip'+'board:wr'+_0x33ccc9(0x3ed),async(_0x3291ea,_0x1ec7fd)=>{const _0x211535=_0x33ccc9;return clipboard[_0x211535(0x45e)+'t'](String(_0x1ec7fd??'')),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x1bf)+_0x33ccc9(0x583)+'rt',async()=>{const _0xe356c7=_0x33ccc9;return app['relaunch'](),app[_0xe356c7(0x324)](),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x1b9)+_0x33ccc9(0x49f)+_0x33ccc9(0x1c8),_0x53b76f=>Boolean(BrowserWindow['fromWebC'+'ontents'](_0x53b76f[_0x33ccc9(0x35e)])?.['isMaximi'+_0x33ccc9(0x1c8)]())),_0x2b0ba8(_0x33ccc9(0x1e2)+_0x33ccc9(0x2a4),async(_0x1750d7,_0x277375)=>{const _0x3af499=_0x33ccc9;return app[_0x3af499(0x2a0)+'ItemSett'+_0x3af499(0x412)]({'openAtLogin':_0x277375===!![]}),{'ok':!![],'enabled':_0x277375===!![]};}),_0x2b0ba8(_0x33ccc9(0x1e2)+_0x33ccc9(0x2fd),async()=>app[_0x33ccc9(0x467)+_0x33ccc9(0x1a1)+_0x33ccc9(0x412)]()[_0x33ccc9(0x435)+'gin']),_0x2b0ba8('app:file'+_0x33ccc9(0x20c)+'folder',async _0x1ac165=>{const _0xefa777=_0x33ccc9,_0x29a74b=await dialog[_0xefa777(0x58d)+_0xefa777(0x409)](BrowserWindow[_0xefa777(0x34b)+_0xefa777(0x485)](_0x1ac165[_0xefa777(0x35e)])??mainWindow,{'properties':[_0xefa777(0x2ce)+_0xefa777(0x4e5)]});return _0x29a74b[_0xefa777(0x3d0)+'s'][0x0]||'';}),_0x2b0ba8(_0x33ccc9(0x1bf)+'em:open-'+_0x33ccc9(0x1b0),async(_0x1a5009,_0x17e4ba)=>{const _0x41c56b=await shell['openPath'](String(_0x17e4ba||''));return _0x41c56b||'';}),_0x2b0ba8('openclaw'+':gateway'+_0x33ccc9(0x4e9),async()=>_0x198172()[_0x33ccc9(0x539)+_0x33ccc9(0x457)]()),_0x2b0ba8(_0x33ccc9(0x32f)+':gateway'+_0x33ccc9(0x1df),async()=>_0x198172()[_0x33ccc9(0x37f)+'ort']()),_0x2b0ba8(_0x33ccc9(0x32f)+_0x33ccc9(0x2e7)+'e',async(_0x3eb071,_0x31f0a7=[])=>{const _0x5976b2=_0x33ccc9,_0x3ef4ec=await runClawOnce(shellConfig[_0x5976b2(0x22d)+_0x5976b2(0x46e)],Array[_0x5976b2(0x535)](_0x31f0a7)?_0x31f0a7:[]);return{'ok':_0x3ef4ec[_0x5976b2(0x56d)]===0x0,..._0x3ef4ec};});const _0x592a2a=configController[_0x33ccc9(0x580)+_0x33ccc9(0x549)]();sessionSqliteStore=ensureSessionSqliteStore();const _0x2e220b=createAgentSessionsMapStore({'stateDir':_0x592a2a});_0x2b0ba8(_0x33ccc9(0x1aa)+':fork',async(_0x31fb27,_0x345161={})=>{const _0x11b40=_0x33ccc9,_0x51c12d=_0x345161&&typeof _0x345161===_0x11b40(0x4d9)?_0x345161:{},_0x9aa7b1=_0x51c12d[_0x11b40(0x307)+_0x11b40(0x59d)]||_0x51c12d[_0x11b40(0x515)+'ey'],_0x278965=await _0x198172()[_0x11b40(0x1aa)][_0x11b40(0x27d)]({..._0x51c12d,'parentSessionKey':_0x9aa7b1}),_0x38c40c=String(_0x278965?.[_0x11b40(0x4e6)]||'')[_0x11b40(0x5a9)](),_0x47713a=String(_0x278965?.['sessionI'+'d']||'')[_0x11b40(0x5a9)]();return _0x38c40c&&_0x47713a&&await _0x2e220b[_0x11b40(0x2ba)]({'sessionKey':_0x38c40c,'sessionId':_0x47713a,'sourceSessionKey':_0x51c12d[_0x11b40(0x2e0)+_0x11b40(0x59d)]||_0x9aa7b1,...typeof _0x51c12d[_0x11b40(0x365)+_0x11b40(0x57f)]==='number'?{'keepUntilTs':_0x51c12d[_0x11b40(0x365)+_0x11b40(0x57f)]}:{},...typeof _0x51c12d[_0x11b40(0x1d6)+'le']===_0x11b40(0x422)?{'cutoffRole':_0x51c12d[_0x11b40(0x1d6)+'le']}:{},...typeof _0x51c12d[_0x11b40(0x1ef)+'xt']===_0x11b40(0x422)?{'cutoffText':_0x51c12d[_0x11b40(0x1ef)+'xt']}:{}}),_0x278965;}),_0x2b0ba8('sessions'+_0x33ccc9(0x57a)+_0x33ccc9(0x3e5),async(_0x3904df,_0x34afc5={})=>_0x2e220b[_0x33ccc9(0x3f7)](_0x34afc5)),_0x2b0ba8(_0x33ccc9(0x1aa)+':agent-m'+'ap:upser'+'t',async(_0xedb74b,_0x316b79={})=>_0x2e220b[_0x33ccc9(0x2ba)](_0x316b79)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x57a)+_0x33ccc9(0x233),async(_0x9059e3,_0x252c41={})=>{const _0x2a99d2=_0x33ccc9,_0x202e7b=String(_0x252c41['sessionK'+'ey']||'')[_0x2a99d2(0x5a9)]();if(!_0x202e7b)return null;return await sessionSqliteStore[_0x2a99d2(0x2f2)+_0x2a99d2(0x419)](_0x202e7b);}),_0x2b0ba8('agents:c'+_0x33ccc9(0x2d9),async(_0x53676d,_0x5067bd={})=>{const _0xb2a56a=_0x33ccc9,_0x35930f=await readMutableConfig(),_0x214c3c=_0x35930f[_0xb2a56a(0x188)]&&typeof _0x35930f[_0xb2a56a(0x188)]==='object'?_0x35930f['agents']:{},_0x1ec58e=_0x2f0404(_0x35930f),_0x18a994=String(_0x5067bd['id']||_0x5067bd[_0xb2a56a(0x548)]||_0xb2a56a(0x225)+Date[_0xb2a56a(0x521)]())['trim']()[_0xb2a56a(0x31c)](/\s+/g,'-'),_0x335ee0={'id':_0x18a994,'name':String(_0x5067bd[_0xb2a56a(0x548)]||_0x18a994),..._0x5067bd[_0xb2a56a(0x4fa)+'e']?{'workspace':String(_0x5067bd['workspac'+'e'])}:{},..._0x5067bd[_0xb2a56a(0x38e)]?{'model':_0x5067bd['model']}:{},..._0x5067bd['emoji']?{'emoji':_0x5067bd['emoji']}:{},..._0x5067bd[_0xb2a56a(0x3c6)]?{'avatar':_0x5067bd[_0xb2a56a(0x3c6)]}:{},...Array['isArray'](_0x5067bd[_0xb2a56a(0x560)])?{'skills':_0x5067bd[_0xb2a56a(0x560)]}:{}};if(_0x1ec58e['some'](_0x3680fe=>_0x3680fe?.['id']===_0x18a994))throw new Error(_0xb2a56a(0x363)+_0xb2a56a(0x499)+_0xb2a56a(0x57b));return _0x214c3c['list']=[..._0x1ec58e,_0x335ee0],_0x35930f[_0xb2a56a(0x188)]=_0x214c3c,await _0xb238a4(_0x35930f,'agent\x20cr'+_0xb2a56a(0x3cf)),{'ok':!![],'agent':_0x335ee0};}),_0x2b0ba8(_0x33ccc9(0x362)+_0x33ccc9(0x3c7),async(_0x103c8a,_0x58322b={})=>{const _0x14b22d=_0x33ccc9,_0x4703a5=String(_0x58322b['id']||_0x58322b['agentId']||'')[_0x14b22d(0x5a9)]();if(!_0x4703a5)throw new Error(_0x14b22d(0x29f)+'\x20is\x20requ'+_0x14b22d(0x5a7));const _0x54f9f1=await readMutableConfig(),_0x2ccfc9=_0x54f9f1[_0x14b22d(0x188)]&&typeof _0x54f9f1[_0x14b22d(0x188)]===_0x14b22d(0x4d9)?_0x54f9f1[_0x14b22d(0x188)]:{},_0x2ff0c8=_0x2f0404(_0x54f9f1),_0x36e4f5=_0x2ff0c8[_0x14b22d(0x4ff)](_0x56b269=>_0x56b269?.['id']===_0x4703a5?{..._0x56b269,..._0x58322b,'id':_0x4703a5}:_0x56b269);return _0x2ccfc9[_0x14b22d(0x4ac)]=_0x36e4f5,_0x54f9f1['agents']=_0x2ccfc9,await _0xb238a4(_0x54f9f1,'agent\x20up'+_0x14b22d(0x424)),{'ok':!![],'agent':_0x36e4f5[_0x14b22d(0x42b)](_0x2b6945=>_0x2b6945?.['id']===_0x4703a5)||null};}),_0x2b0ba8(_0x33ccc9(0x2c3)+_0x33ccc9(0x329),async(_0x4135d5,_0x111970={})=>{const _0x2ca9b2=_0x33ccc9,_0x468c4c=String(_0x111970['id']||_0x111970[_0x2ca9b2(0x58f)]||'')[_0x2ca9b2(0x5a9)]();if(!_0x468c4c)throw new Error(_0x2ca9b2(0x29f)+'\x20is\x20requ'+_0x2ca9b2(0x5a7));const _0xae4f8d=await readMutableConfig(),_0x3f7fe5=_0xae4f8d[_0x2ca9b2(0x188)]&&typeof _0xae4f8d[_0x2ca9b2(0x188)]===_0x2ca9b2(0x4d9)?_0xae4f8d[_0x2ca9b2(0x188)]:{};return _0x3f7fe5['list']=_0x2f0404(_0xae4f8d)[_0x2ca9b2(0x423)](_0x469a73=>_0x469a73?.['id']!==_0x468c4c),_0xae4f8d[_0x2ca9b2(0x188)]=_0x3f7fe5,await _0xb238a4(_0xae4f8d,'agent\x20de'+_0x2ca9b2(0x530)),{'ok':!![],'agentId':_0x468c4c};}),_0x2b0ba8('agents:w'+_0x33ccc9(0x590)+_0x33ccc9(0x1bc)+'t',async(_0x33c777,_0x48906f={})=>{const _0x3a27a5=_0x33ccc9,[_0x19f7a7,_0xe29907]=await Promise[_0x3a27a5(0x487)]([_0x198172()[_0x3a27a5(0x188)][_0x3a27a5(0x4ac)](),ensureSessionDataService()['listSumm'+_0x3a27a5(0x540)](_0x48906f)[_0x3a27a5(0x297)](()=>({'sessions':[]}))]),_0x15eaab=Array[_0x3a27a5(0x535)](_0xe29907['sessions'])?_0xe29907['sessions']:[];return{..._0x19f7a7,'sessions':_0x15eaab,'groups':_0xbdb888(_0x19f7a7,_0x15eaab)};}),terminalManager=createTerminalManager({'cwd':join(configController[_0x33ccc9(0x580)+_0x33ccc9(0x549)](),_0x33ccc9(0x4fa)+'e'),'emitData':_0x8bbd10=>broadcast('terminal'+_0x33ccc9(0x59b),_0x8bbd10),'emitExit':_0x50ab95=>broadcast(_0x33ccc9(0x26b)+_0x33ccc9(0x2c4),_0x50ab95)}),_0x2b0ba8(_0x33ccc9(0x26b)+_0x33ccc9(0x37e),async(_0x4dc2a0,_0x37b188={})=>terminalManager[_0x33ccc9(0x27d)](_0x37b188)),_0x2b0ba8('terminal'+':input',async(_0x42eaf7,_0x1e0fa8={})=>terminalManager[_0x33ccc9(0x220)](_0x1e0fa8)),_0x2b0ba8('terminal'+_0x33ccc9(0x3da),async(_0x1e0e9a,_0x92998f={})=>terminalManager[_0x33ccc9(0x4f4)](_0x92998f)),_0x2b0ba8('terminal'+':close',async(_0x4b1bcd,_0x2f3584={})=>terminalManager[_0x33ccc9(0x550)](_0x2f3584)),_0x2b0ba8(_0x33ccc9(0x384)+_0x33ccc9(0x4ac),async()=>{const _0x4cc41a=_0x33ccc9,_0x5eaae7=gatewayController?.[_0x4cc41a(0x26d)+_0x4cc41a(0x4e3)]?.()||{};return _0x5eaae7['plugins']||[];}),_0x2b0ba8('plugins:'+_0x33ccc9(0x3a4)+'ig',async(_0x56ffb6,_0xdc9473={})=>{const _0xcab5e2=_0x33ccc9,_0x4d213d=String(_0xdc9473[_0xcab5e2(0x510)]||_0xdc9473['id']||''),_0x19f5d9=await readMutableConfig(),_0x5842bf=_0x19f5d9[_0xcab5e2(0x308)]?.[_0xcab5e2(0x267)]||{};return _0x4d213d?_0x5842bf[_0x4d213d]||null:_0x5842bf;}),_0x2b0ba8('plugins:'+_0x33ccc9(0x460)+_0x33ccc9(0x547),async(_0x384f76,_0xadd65d={})=>{const _0x5abd68=_0x33ccc9,_0x5b74e6=String(_0xadd65d['pluginId']||_0xadd65d['id']||'');if(!_0x5b74e6)throw new Error('pluginId'+_0x5abd68(0x1ce)+_0x5abd68(0x5a7));const _0x45f80b=await readMutableConfig(),_0x5d293f=_0x45f80b[_0x5abd68(0x308)]&&typeof _0x45f80b[_0x5abd68(0x308)]===_0x5abd68(0x4d9)?_0x45f80b['plugins']:{},_0x177f0c=_0x5d293f[_0x5abd68(0x267)]&&typeof _0x5d293f['entries']===_0x5abd68(0x4d9)?_0x5d293f[_0x5abd68(0x267)]:{};return _0x177f0c[_0x5b74e6]={..._0x177f0c[_0x5b74e6]||{},..._0xadd65d['config']||_0xadd65d['patch']||{}},_0x5d293f[_0x5abd68(0x267)]=_0x177f0c,_0x45f80b['plugins']=_0x5d293f,_0xb238a4(_0x45f80b,_0x5abd68(0x483)+'onfig\x20up'+_0x5abd68(0x424));}),_0x2b0ba8('plugins:'+_0x33ccc9(0x48e),async(_0x4ce1b5,_0x11ec70={})=>{const _0x1627c4=_0x33ccc9,_0xba2129=String(_0x11ec70[_0x1627c4(0x510)]||_0x11ec70['id']||'');if(!_0xba2129)throw new Error('pluginId'+_0x1627c4(0x1ce)+'ired');const _0x5b312e=await readMutableConfig(),_0x1f90ee=_0x5b312e[_0x1627c4(0x308)]&&typeof _0x5b312e[_0x1627c4(0x308)]==='object'?_0x5b312e['plugins']:{},_0x11e716=_0x1f90ee[_0x1627c4(0x267)]&&typeof _0x1f90ee[_0x1627c4(0x267)]==='object'?_0x1f90ee[_0x1627c4(0x267)]:{};return _0x11e716[_0xba2129]={..._0x11e716[_0xba2129]||{},'enabled':!![]},_0x1f90ee[_0x1627c4(0x267)]=_0x11e716,_0x5b312e[_0x1627c4(0x308)]=_0x1f90ee,_0xb238a4(_0x5b312e,'plugin\x20e'+_0x1627c4(0x4d8));}),_0x2b0ba8(_0x33ccc9(0x384)+_0x33ccc9(0x4b6),async(_0x219b8e,_0x414be0={})=>{const _0x2f54f9=_0x33ccc9,_0x3136e0=String(_0x414be0[_0x2f54f9(0x510)]||_0x414be0['id']||'');if(!_0x3136e0)throw new Error(_0x2f54f9(0x510)+_0x2f54f9(0x1ce)+_0x2f54f9(0x5a7));const _0x57b9ba=await readMutableConfig(),_0x5968be=_0x57b9ba[_0x2f54f9(0x308)]&&typeof _0x57b9ba['plugins']===_0x2f54f9(0x4d9)?_0x57b9ba[_0x2f54f9(0x308)]:{},_0x6ad18b=_0x5968be['entries']&&typeof _0x5968be[_0x2f54f9(0x267)]===_0x2f54f9(0x4d9)?_0x5968be['entries']:{};return _0x6ad18b[_0x3136e0]={..._0x6ad18b[_0x3136e0]||{},'enabled':![]},_0x5968be[_0x2f54f9(0x267)]=_0x6ad18b,_0x57b9ba['plugins']=_0x5968be,_0xb238a4(_0x57b9ba,_0x2f54f9(0x433)+_0x2f54f9(0x418));}),_0x2b0ba8(_0x33ccc9(0x384)+_0x33ccc9(0x466),async(_0x2d1dd9,_0x28ab66={})=>({'plugins':await((async()=>{const _0x5afce9=_0x33ccc9,_0xa1a83d=gatewayController?.[_0x5afce9(0x26d)+'nfo']?.()||{};if(!_0x28ab66?.[_0x5afce9(0x510)]&&!_0x28ab66?.['id'])return _0xa1a83d[_0x5afce9(0x308)]||[];const _0x12a034=String(_0x28ab66[_0x5afce9(0x510)]||_0x28ab66['id']||'');return(_0xa1a83d[_0x5afce9(0x308)]||[])['filter'](_0x1415b5=>_0x1415b5[_0x5afce9(0x510)]===_0x12a034);})())})),_0x2b0ba8(_0x33ccc9(0x2f9)+_0x33ccc9(0x387),async(_0x3532c3,_0x2f6efa)=>({'ok':!![],'payload':_0x2f6efa})),_0x2b0ba8('tabs:pos'+_0x33ccc9(0x395)+'e',async(_0xcb3d0e,_0x328f94)=>{const _0x1f4974=_0x33ccc9;return broadcast(_0x1f4974(0x4c2)+_0x1f4974(0x18a),_0x328f94),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x3fc)+_0x33ccc9(0x299)+_0x33ccc9(0x2fc),async()=>{const _0x47614a=_0x33ccc9;return broadcast('tabs-age'+'nt-state'+_0x47614a(0x572),{}),{'ok':!![]};}),_0x2b0ba8('tabs:ref'+_0x33ccc9(0x3fb)+_0x33ccc9(0x2fc),async(_0x4ff704,_0x2630c3={})=>{const _0x43ea26=_0x33ccc9;return broadcast(_0x43ea26(0x42d)+'nt-state'+_0x43ea26(0x581)+_0x43ea26(0x572),_0x2630c3),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x1c4)+_0x33ccc9(0x4e4),_0x326078=>{const _0x3e0a0d=_0x33ccc9;return minimizeOrHideWindow(BrowserWindow[_0x3e0a0d(0x34b)+_0x3e0a0d(0x485)](_0x326078[_0x3e0a0d(0x35e)])),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x481)+'oggle-ma'+'ximize',_0x2919cb=>{const _0x527a9e=_0x33ccc9,_0x477117=BrowserWindow[_0x527a9e(0x34b)+_0x527a9e(0x485)](_0x2919cb[_0x527a9e(0x35e)]);if(!_0x477117)return{'isMaximized':![]};if(_0x477117['isMaximi'+_0x527a9e(0x1c8)]())_0x477117[_0x527a9e(0x507)+'ze']();else _0x477117['maximize']();return{'isMaximized':_0x477117['isMaximi'+_0x527a9e(0x1c8)]()};}),_0x2b0ba8('window:c'+'lose',_0x42129b=>{const _0x56ff0e=_0x33ccc9;return BrowserWindow[_0x56ff0e(0x34b)+_0x56ff0e(0x485)](_0x42129b[_0x56ff0e(0x35e)])?.[_0x56ff0e(0x550)](),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x357)+'pen-devt'+_0x33ccc9(0x3df),()=>openDevToolsForActiveContext()),_0x2b0ba8(_0x33ccc9(0x32f)+_0x33ccc9(0x4b5)+'-info',()=>_0x198172()[_0x33ccc9(0x26d)+_0x33ccc9(0x4e3)]()),_0x2b0ba8('openclaw'+':gateway'+_0x33ccc9(0x255),async()=>(await ensureGatewayControllerStarted())[_0x33ccc9(0x34c)+'s']()),ipcMain['on'](_0x33ccc9(0x32f)+_0x33ccc9(0x48f)+_0x33ccc9(0x223)+_0x33ccc9(0x4b0),_0x416d05=>{const _0x1bebf6=_0x33ccc9;_0x416d05[_0x1bebf6(0x379)+'lue']=gatewayController?.[_0x1bebf6(0x34c)+'s']?.()??null;}),_0x2b0ba8(_0x33ccc9(0x32f)+_0x33ccc9(0x48f)+_0x33ccc9(0x3bc),()=>_0x198172()[_0x33ccc9(0x52b)]('renderer'+_0x33ccc9(0x4c1))),_0x2b0ba8(_0x33ccc9(0x32f)+':loading'+_0x33ccc9(0x368)+_0x33ccc9(0x4b2),async()=>({'loadingLifeCycle':'ready','message':'','updatedAt':new Date()[_0x33ccc9(0x520)+_0x33ccc9(0x475)]()})),_0x2b0ba8(_0x33ccc9(0x32f)+_0x33ccc9(0x48f)+'-logs',(_0xaef5e1,_0x270e96={})=>_0x198172()[_0x33ccc9(0x517)+_0x33ccc9(0x534)](_0x270e96?.['limit']??0xc8)),_0x2b0ba8(_0x33ccc9(0x32f)+_0x33ccc9(0x55d)+'ask-user'+_0x33ccc9(0x49d)+'n',(_0x573452,_0x5c1b74)=>_0x198172()[_0x33ccc9(0x39e)+'kUserQue'+_0x33ccc9(0x4c4)](_0x5c1b74)),_0x2b0ba8('openclaw'+_0x33ccc9(0x187)+_0x33ccc9(0x509),async()=>{const _0x5f5a4a=_0x33ccc9,_0x3444f9=join(resolveRuntimeRoot(shellConfig[_0x5f5a4a(0x22d)+'oot']),_0x5f5a4a(0x4bd),_0x5f5a4a(0x5a0)+'w');if(!existsSync(_0x3444f9))throw new Error(_0x5f5a4a(0x32f)+'\x20CLI\x20wra'+_0x5f5a4a(0x414)+_0x5f5a4a(0x33c)+_0x3444f9+(_0x5f5a4a(0x25e)+_0x5f5a4a(0x43c)+_0x5f5a4a(0x1f8)+_0x5f5a4a(0x21e)));const _0x424534=join(app[_0x5f5a4a(0x494)](_0x5f5a4a(0x36c)),_0x5f5a4a(0x2d5)+'ell-cli.'+'command');await writeFile(_0x424534,'#!/bin/s'+_0x5f5a4a(0x4a4)+_0x3444f9[_0x5f5a4a(0x31c)](/\\/g,'\x5c\x5c')['replace'](/"/g,'\x5c\x22')+'\x22\x0a',{'mode':0x1ed});const _0x33947c=spawn('open',['-a',_0x5f5a4a(0x186),_0x424534],{'detached':!![],'stdio':_0x5f5a4a(0x506)});return _0x33947c['unref'](),{'ok':!![],'cliPath':_0x3444f9};}),_0x2b0ba8('agents:l'+_0x33ccc9(0x3b1),()=>_0x198172()[_0x33ccc9(0x188)][_0x33ccc9(0x4ac)]()),_0x2b0ba8(_0x33ccc9(0x4fc)+_0x33ccc9(0x29a),(_0x3c2b84,_0x1cd8cc)=>_0x198172()['skills'][_0x33ccc9(0x466)](_0x1cd8cc)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x37e),(_0x58ef0f,_0x3f696c)=>_0x198172()['sessions']['create'](_0x3f696c)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x208)+'t',(_0x2b0520,_0xd6e961)=>ensureSessionDataService()[_0x33ccc9(0x437)+_0x33ccc9(0x540)](_0xd6e961)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x4cd),(_0xc1c45f,_0x5a2d83)=>ensureSessionDataService()[_0x33ccc9(0x33e)+'ry'](_0x5a2d83)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x263)+'n',(_0x5d3300,_0x19ebff)=>ensureSessionDataService()[_0x33ccc9(0x1c7)+_0x33ccc9(0x578)](_0x19ebff)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x2de)+_0x33ccc9(0x2ad)+'ot',(_0x51e5f3,_0xcd41d7)=>ensureSessionDataService()[_0x33ccc9(0x458)+_0x33ccc9(0x317)](_0xcd41d7)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x19a)+'ts',(_0x3f732d,_0x16ba1e)=>ensureSessionDataService()[_0x33ccc9(0x260)+_0x33ccc9(0x1ec)](_0x16ba1e)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x31d)+'es',(_0x530621,_0xc1af2)=>ensureSessionDataService()[_0x33ccc9(0x4ba)+_0x33ccc9(0x450)](_0xc1af2)),_0x2b0ba8(_0x33ccc9(0x1aa)+':runtime'+'-state-s'+_0x33ccc9(0x2ed),(_0x4c0fca,_0x551c57={})=>ensureSessionDataService()['getRunti'+_0x33ccc9(0x31e)](String(_0x551c57['sessionK'+'ey']||_0x551c57[_0x33ccc9(0x4e6)]||''))),_0x2b0ba8('sessions'+_0x33ccc9(0x1ea),(_0xbd0d44,_0xe0a111={})=>ensureSessionDataService()['listSess'+_0x33ccc9(0x1c9)+'s'](_0xe0a111)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x328),async(_0x30a4c0,_0x1af92e={})=>{const _0x47bbbb=_0x33ccc9,_0x3faddd=String(_0x1af92e[_0x47bbbb(0x515)+'ey']||_0x1af92e[_0x47bbbb(0x4e6)]||'')[_0x47bbbb(0x5a9)](),_0x5a345b=await ensureSessionSqliteStore()['readSess'+_0x47bbbb(0x567)](_0x3faddd),_0x3b242f=await configController[_0x47bbbb(0x444)+_0x47bbbb(0x21c)+_0x47bbbb(0x54e)]();return{..._0x5a345b,'contextWindowTokens':_0x3b242f['contextW'+_0x47bbbb(0x327)+_0x47bbbb(0x258)],'contextWindowSource':_0x3b242f[_0x47bbbb(0x288)+'indowSou'+'rce']};}),_0x2b0ba8(_0x33ccc9(0x1aa)+':delete',(_0xc7b5db,_0x878c05)=>_0x198172()[_0x33ccc9(0x1aa)][_0x33ccc9(0x511)](_0x878c05)),_0x2b0ba8(_0x33ccc9(0x2b8)+_0x33ccc9(0x34f),async(_0x35f04a,_0x450dc4)=>{const _0x42bdd4=_0x33ccc9;return await _0x2874b5[_0x42bdd4(0x426)+_0x42bdd4(0x52c)+'hot'](_0x450dc4?.[_0x42bdd4(0x515)+'ey']||_0x450dc4?.[_0x42bdd4(0x4e6)],_0x450dc4?.['reposito'+_0x42bdd4(0x516)]),_0x198172()[_0x42bdd4(0x52e)]['stream'](_0x450dc4);}),_0x2b0ba8('chat:abo'+'rt',(_0x398055,_0x57af6e)=>_0x198172()[_0x33ccc9(0x52e)][_0x33ccc9(0x399)](_0x57af6e)),_0x2b0ba8('review:r'+_0x33ccc9(0x4a3)+_0x33ccc9(0x477),(_0x3c615b,_0x3727d2={})=>_0x2874b5['reposito'+_0x33ccc9(0x19c)](_0x3727d2[_0x33ccc9(0x522)+_0x33ccc9(0x516)])),_0x2b0ba8(_0x33ccc9(0x5ab)+_0x33ccc9(0x1f9)+_0x33ccc9(0x405),(_0x4db31e,_0x511a8e={})=>_0x2874b5[_0x33ccc9(0x436)+_0x33ccc9(0x405)](_0x511a8e[_0x33ccc9(0x515)+'ey'],_0x511a8e['reposito'+'ryPath'])),_0x2b0ba8(_0x33ccc9(0x31a)+_0x33ccc9(0x536),(_0x436834,_0x37e6a6={})=>_0x2874b5[_0x33ccc9(0x213)](_0x37e6a6)),_0x2b0ba8(_0x33ccc9(0x1b3)+'it-statu'+'s',(_0x1c0ff3,_0x221db9={})=>_0x2874b5['gitStatu'+'s'](_0x221db9)),_0x2b0ba8(_0x33ccc9(0x1b3)+_0x33ccc9(0x470),(_0x5ed9d2,_0x584c03={})=>_0x2874b5['stage'](_0x584c03[_0x33ccc9(0x522)+_0x33ccc9(0x516)],_0x584c03[_0x33ccc9(0x371)])),_0x2b0ba8(_0x33ccc9(0x1b3)+_0x33ccc9(0x3dd)+'ge',(_0xeb0996,_0x3dd5c2={})=>_0x2874b5['unstage'](_0x3dd5c2['reposito'+'ryPath'],_0x3dd5c2[_0x33ccc9(0x371)])),_0x2b0ba8(_0x33ccc9(0x1b3)+_0x33ccc9(0x462)+'t',(_0x1bd491,_0x31dc67={})=>_0x2874b5['commit'](_0x31dc67[_0x33ccc9(0x522)+_0x33ccc9(0x516)],_0x31dc67['message'])),_0x2b0ba8(_0x33ccc9(0x1b3)+_0x33ccc9(0x28c),(_0x46db96,_0x597b23={})=>_0x2874b5[_0x33ccc9(0x2aa)](_0x597b23[_0x33ccc9(0x522)+_0x33ccc9(0x516)])),_0x2b0ba8(_0x33ccc9(0x1b3)+_0x33ccc9(0x219),(_0x40245a,_0x499ef0={})=>_0x2874b5[_0x33ccc9(0x59f)](_0x499ef0[_0x33ccc9(0x522)+'ryPath'])),_0x2b0ba8(_0x33ccc9(0x1b3)+_0x33ccc9(0x3a8),(_0xa313e2,_0x20523b={})=>_0x2874b5[_0x33ccc9(0x501)](_0x20523b[_0x33ccc9(0x522)+'ryPath'])),_0x2b0ba8(_0x33ccc9(0x1b3)+_0x33ccc9(0x25a)+_0x33ccc9(0x40f),(_0x2a5b79,_0x36fb28={})=>_0x2874b5[_0x33ccc9(0x512)+_0x33ccc9(0x36e)](_0x36fb28['reposito'+_0x33ccc9(0x516)],_0x36fb28[_0x33ccc9(0x4bf)])),_0x2b0ba8('review:g'+_0x33ccc9(0x44c)+_0x33ccc9(0x342),(_0x1aa6a2,_0x3d4d8f={})=>_0x2874b5[_0x33ccc9(0x3d9)+_0x33ccc9(0x36e)](_0x3d4d8f['reposito'+_0x33ccc9(0x516)],_0x3d4d8f[_0x33ccc9(0x4bf)])),_0x2b0ba8(_0x33ccc9(0x5ab)+_0x33ccc9(0x5a1)+'e',(_0x4ce589,_0x220cf5={})=>_0x2874b5['stageFil'+'e'](_0x220cf5[_0x33ccc9(0x522)+_0x33ccc9(0x516)],_0x220cf5[_0x33ccc9(0x2b7)])),_0x2b0ba8('review:r'+_0x33ccc9(0x353)+'le',(_0x17fe6a,_0x50b6f0={})=>_0x2874b5[_0x33ccc9(0x1c2)+'le'](_0x50b6f0[_0x33ccc9(0x522)+_0x33ccc9(0x516)],_0x50b6f0[_0x33ccc9(0x2b7)])),_0x2b0ba8(_0x33ccc9(0x276)+'te',async(_0x1b1608,_0x2c140c={})=>{const _0x110d9c=_0x33ccc9,_0x250a19=typeof _0x2c140c[_0x110d9c(0x54f)]===_0x110d9c(0x422)?_0x2c140c['level']:'info',_0x11911f=typeof _0x2c140c[_0x110d9c(0x2be)]===_0x110d9c(0x422)?_0x2c140c[_0x110d9c(0x2be)]:'renderer'+_0x110d9c(0x4e1),_0x4d3b71=typeof _0x2c140c[_0x110d9c(0x44a)]===_0x110d9c(0x422)&&_0x2c140c[_0x110d9c(0x44a)][_0x110d9c(0x5a9)]()?_0x110d9c(0x463)+':'+_0x2c140c[_0x110d9c(0x44a)][_0x110d9c(0x5a9)]():_0x110d9c(0x463),_0x3a6950=_0x2c140c[_0x110d9c(0x1f4)]&&typeof _0x2c140c[_0x110d9c(0x1f4)]===_0x110d9c(0x4d9)?{...summarizePayload(_0x2c140c[_0x110d9c(0x1f4)]),'context':_0x4d3b71}:{'context':_0x4d3b71},_0x4d1b2d=rendererLogger;if(_0x4d1b2d?.[_0x250a19])await _0x4d1b2d[_0x250a19](_0x11911f,_0x3a6950);else await _0x4d1b2d?.[_0x110d9c(0x1ba)](_0x11911f,_0x3a6950);if(_0x2c140c[_0x110d9c(0x56e)+'ic']===!![]||_0x4d3b71===_0x110d9c(0x463)+':diagnos'+'tic'){const _0x3b11b8=_0x2c140c['record']&&typeof _0x2c140c[_0x110d9c(0x3f2)]==='object'?_0x2c140c[_0x110d9c(0x3f2)]:_0x2c140c[_0x110d9c(0x1f4)]?.[_0x110d9c(0x3f2)]&&typeof _0x2c140c[_0x110d9c(0x1f4)][_0x110d9c(0x3f2)]===_0x110d9c(0x4d9)?_0x2c140c[_0x110d9c(0x1f4)]['record']:{'level':_0x250a19,'category':'renderer','event':_0x4d3b71,'message':_0x11911f,'meta':_0x2c140c[_0x110d9c(0x1f4)]};updateRendererSessionMetrics(_0x3b11b8),await diagnosticsWriter?.[_0x110d9c(0x350)+'nt'](_0x3b11b8,{'captureIncident':String(_0x3b11b8[_0x110d9c(0x54f)]||_0x250a19)[_0x110d9c(0x3b7)+'ase']()==='error'||_0x2c140c[_0x110d9c(0x4ae)+_0x110d9c(0x209)]===!![]});}return{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x464)+_0x33ccc9(0x33a),async(_0x49f7ac,_0x51bb39={})=>{const _0x5239c8=_0x33ccc9,_0x4c5614=typeof _0x51bb39[_0x5239c8(0x293)+'r']===_0x5239c8(0x422)&&_0x51bb39[_0x5239c8(0x293)+'r'][_0x5239c8(0x5a9)]()?_0x51bb39[_0x5239c8(0x293)+'r']:undefined,_0x5f1e09=await exportLogsArchive({'logsDir':configController[_0x5239c8(0x371)][_0x5239c8(0x3e8)],'targetDir':_0x4c5614,'appVersion':app['getVersi'+'on']()});return mainLogger?.['info'](_0x5239c8(0x4df)+_0x5239c8(0x2d7),{'path':toHomePath(_0x5f1e09[_0x5239c8(0x2b7)])}),_0x5f1e09;}),_0x2b0ba8(_0x33ccc9(0x3ea)+_0x33ccc9(0x1a7)+'ory',async()=>{const _0x61063b=_0x33ccc9;return await shell['openPath'](configController[_0x61063b(0x371)][_0x61063b(0x3e8)]),mainLogger?.[_0x61063b(0x1ba)](_0x61063b(0x59a)+_0x61063b(0x3f3)+_0x61063b(0x30a),{'logsDir':toHomePath(configController[_0x61063b(0x371)][_0x61063b(0x3e8)])}),{'ok':!![],'path':configController['paths'][_0x61063b(0x3e8)]};}),_0x2b0ba8('logs:lis'+'t',async()=>{const _0x4be608=_0x33ccc9,_0x4b2b78=await readdir(configController[_0x4be608(0x371)][_0x4be608(0x3e8)],{'recursive':!![]})[_0x4be608(0x297)](()=>[]);return _0x4b2b78;}),_0x2b0ba8(_0x33ccc9(0x46d)+'d',async(_0x30f56f,_0xfcca55={})=>{const _0x4a229d=_0x33ccc9,_0x429c73=String(_0xfcca55[_0x4a229d(0x2b7)]||'');if(!_0x429c73)throw new Error(_0x4a229d(0x4fd)+_0x4a229d(0x21f));return readFile(_0x429c73,_0x4a229d(0x4bb));}),_0x2b0ba8(_0x33ccc9(0x28f)+'ad',async(_0x76b9cd,_0x2af37b)=>{const _0x318f86=_0x33ccc9,_0x119c98=Date[_0x318f86(0x521)]();try{const _0x37c61f=await readFile(_0x2af37b,_0x318f86(0x4bb));return filesLogger?.[_0x318f86(0x1ba)]('file\x20rea'+_0x318f86(0x440)+_0x318f86(0x33d),{'path':toHomePath(_0x2af37b),'bytes':Buffer[_0x318f86(0x344)+'th'](_0x37c61f),'durationMs':Date[_0x318f86(0x521)]()-_0x119c98}),_0x37c61f;}catch(_0x15bed9){filesLogger?.[_0x318f86(0x416)](_0x318f86(0x1fb)+'d\x20failed',{'path':toHomePath(_0x2af37b),'durationMs':Date[_0x318f86(0x521)]()-_0x119c98,'error':summarizeError(_0x15bed9)});throw _0x15bed9;}}),_0x2b0ba8(_0x33ccc9(0x28f)+_0x33ccc9(0x594)+'y',async(_0x368a82,_0x1633b3)=>{const _0x393099=_0x33ccc9,_0x45f9da=Date['now']();try{const _0x21fc4b=await readFile(_0x1633b3);return filesLogger?.[_0x393099(0x1ba)](_0x393099(0x54d)+_0x393099(0x489)+_0x393099(0x383)+'ed',{'path':toHomePath(_0x1633b3),'bytes':_0x21fc4b[_0x393099(0x344)+'th'],'durationMs':Date[_0x393099(0x521)]()-_0x45f9da}),new Uint8Array(_0x21fc4b);}catch(_0x1e254f){filesLogger?.[_0x393099(0x416)]('binary\x20f'+_0x393099(0x489)+_0x393099(0x493),{'path':toHomePath(_0x1633b3),'durationMs':Date[_0x393099(0x521)]()-_0x45f9da,'error':summarizeError(_0x1e254f)});throw _0x1e254f;}}),_0x2b0ba8(_0x33ccc9(0x4dd)+_0x33ccc9(0x3ed),async(_0x2479d1,_0x554d28={})=>{const _0x50ac2f=_0x33ccc9,_0x15104c=Date['now']();return await writeFile(_0x554d28[_0x50ac2f(0x2b7)],_0x554d28['content']??'',_0x50ac2f(0x4bb)),filesLogger?.[_0x50ac2f(0x1ba)](_0x50ac2f(0x1de)+_0x50ac2f(0x43b)+_0x50ac2f(0x488),{'path':toHomePath(_0x554d28[_0x50ac2f(0x2b7)]),'bytes':Buffer[_0x50ac2f(0x344)+'th'](String(_0x554d28[_0x50ac2f(0x445)]??'')),'durationMs':Date['now']()-_0x15104c}),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x4dd)+_0x33ccc9(0x27c)+'ry',async(_0x1a2862,_0x544d3c={})=>{const _0x5bde23=_0x33ccc9,_0xf789bf=Date[_0x5bde23(0x521)]();await writeFile(_0x544d3c[_0x5bde23(0x2b7)],Buffer['from'](_0x544d3c[_0x5bde23(0x445)]??[]));const _0x2e0dfa=await stat(_0x544d3c[_0x5bde23(0x2b7)])[_0x5bde23(0x297)](()=>null);return filesLogger?.['info']('binary\x20f'+_0x5bde23(0x285)+_0x5bde23(0x4ed)+_0x5bde23(0x33d),{'path':toHomePath(_0x544d3c[_0x5bde23(0x2b7)]),'bytes':_0x2e0dfa?.[_0x5bde23(0x575)]??0x0,'durationMs':Date[_0x5bde23(0x521)]()-_0xf789bf}),{'ok':!![]};}),_0x2b0ba8(_0x33ccc9(0x2f6)+_0x33ccc9(0x598)+'e',async(_0x160d50,_0x3481c3={})=>{const _0x2762f2=_0x33ccc9,_0x4657c1=await dialog[_0x2762f2(0x58d)+'Dialog'](BrowserWindow[_0x2762f2(0x34b)+'ontents'](_0x160d50[_0x2762f2(0x35e)])??mainWindow,{'title':typeof _0x3481c3[_0x2762f2(0x3d1)]===_0x2762f2(0x422)?_0x3481c3[_0x2762f2(0x3d1)]:undefined,'properties':[_0x2762f2(0x391),..._0x3481c3['multiSel'+'ections']?[_0x2762f2(0x211)+_0x2762f2(0x341)]:[]],'filters':Array[_0x2762f2(0x535)](_0x3481c3[_0x2762f2(0x1eb)])?_0x3481c3[_0x2762f2(0x1eb)]:undefined});return filesLogger?.[_0x2762f2(0x1ba)](_0x2762f2(0x443)+_0x2762f2(0x50e)+_0x2762f2(0x530),{'canceled':_0x4657c1[_0x2762f2(0x385)],'count':_0x4657c1['filePath'+'s'][_0x2762f2(0x2b2)],'paths':_0x4657c1[_0x2762f2(0x3d0)+'s'][_0x2762f2(0x4ff)](toHomePath)}),{'canceled':_0x4657c1[_0x2762f2(0x385)],'paths':_0x4657c1['filePath'+'s']};}),_0x2b0ba8(_0x33ccc9(0x248)+_0x33ccc9(0x1f7)+_0x33ccc9(0x3f9),async(_0x296582,_0x13a0e3={})=>{const _0x51548c=_0x33ccc9,_0x338184=resolve(String(_0x13a0e3[_0x51548c(0x2b7)]||'')),_0x5d5160=_0x13a0e3[_0x51548c(0x1cb)+'e']!==![],_0x503be3=Array[_0x51548c(0x535)](_0x13a0e3['extensio'+'ns'])?_0x13a0e3[_0x51548c(0x25b)+'ns'][_0x51548c(0x4ff)](_0x2ed12d=>String(_0x2ed12d)[_0x51548c(0x3b7)+_0x51548c(0x228)]()[_0x51548c(0x31c)](/^\./,''))[_0x51548c(0x423)](Boolean):null,_0xe5395f=Number['isIntege'+'r'](_0x13a0e3[_0x51548c(0x523)+'es'])&&_0x13a0e3[_0x51548c(0x523)+'es']>0x0?_0x13a0e3[_0x51548c(0x523)+'es']:0xc350,_0x1a0a30=[];let _0x16dedb=![];async function _0x5c3f78(_0x1e73ac){const _0x4904fe=_0x51548c;if(_0x16dedb)return;let _0x345554;try{_0x345554=await readdir(_0x1e73ac,{'withFileTypes':!![]});}catch{return;}for(const _0xc5f2d7 of _0x345554){if(_0x16dedb)return;if(_0xc5f2d7[_0x4904fe(0x548)][_0x4904fe(0x541)+'th']('.'))continue;const _0x533d83=join(_0x1e73ac,_0xc5f2d7[_0x4904fe(0x548)]);if(_0xc5f2d7[_0x4904fe(0x39c)+_0x4904fe(0x48c)]()){if(_0x5d5160)await _0x5c3f78(_0x533d83);continue;}if(!_0xc5f2d7['isFile']())continue;if(_0x503be3){const _0x35f177=_0xc5f2d7['name'][_0x4904fe(0x415)+_0x4904fe(0x591)]('.'),_0x122d4b=_0x35f177>=0x0?_0xc5f2d7[_0x4904fe(0x548)][_0x4904fe(0x411)](_0x35f177+0x1)[_0x4904fe(0x3b7)+_0x4904fe(0x228)]():'';if(!_0x503be3[_0x4904fe(0x34d)](_0x122d4b))continue;}if(_0x1a0a30[_0x4904fe(0x2b2)]>=_0xe5395f){_0x16dedb=!![];return;}_0x1a0a30[_0x4904fe(0x501)]({'name':_0xc5f2d7[_0x4904fe(0x548)],'path':_0x533d83});}}return await _0x5c3f78(_0x338184),{'path':_0x338184,'entries':_0x1a0a30,'truncated':_0x16dedb};}),_0x2b0ba8('files:se'+'lect-dir'+'ectory',async(_0x8e8528,_0x4d2f05={})=>{const _0x5b1efc=_0x33ccc9,_0x6da9ef=await dialog['showOpen'+_0x5b1efc(0x409)](BrowserWindow[_0x5b1efc(0x34b)+_0x5b1efc(0x485)](_0x8e8528[_0x5b1efc(0x35e)])??mainWindow,{'title':typeof _0x4d2f05['title']===_0x5b1efc(0x422)?_0x4d2f05[_0x5b1efc(0x3d1)]:undefined,'properties':[_0x5b1efc(0x2ce)+_0x5b1efc(0x4e5)]});return filesLogger?.['info'](_0x5b1efc(0x4ee)+_0x5b1efc(0x36f)+'\x20complet'+'ed',{'canceled':_0x6da9ef['canceled'],'count':_0x6da9ef['filePath'+'s']['length'],'paths':_0x6da9ef[_0x5b1efc(0x3d0)+'s'][_0x5b1efc(0x4ff)](toHomePath)}),{'canceled':_0x6da9ef['canceled'],'paths':_0x6da9ef[_0x5b1efc(0x3d0)+'s']};}),_0x2b0ba8(_0x33ccc9(0x4fa)+_0x33ccc9(0x2d0)+'ory-info',()=>_0x198172()[_0x33ccc9(0x4fa)+'e'][_0x33ccc9(0x2d3)+_0x33ccc9(0x533)]()),_0x2b0ba8(_0x33ccc9(0x4fa)+_0x33ccc9(0x4b3)+_0x33ccc9(0x36f),async()=>{const _0x530f16=_0x33ccc9,_0x27b66c=await _0x198172()[_0x530f16(0x4fa)+'e'][_0x530f16(0x2d3)+_0x530f16(0x533)]();return await shell['openPath'](_0x27b66c[_0x530f16(0x2b7)]),filesLogger?.['info'](_0x530f16(0x4fa)+_0x530f16(0x349)+_0x530f16(0x29e)+'ed',{'path':toHomePath(_0x27b66c[_0x530f16(0x2b7)])}),{'ok':!![],'path':_0x27b66c[_0x530f16(0x2b7)]};}),_0x2b0ba8(_0x33ccc9(0x4fa)+_0x33ccc9(0x3e9)+_0x33ccc9(0x1bb),()=>_0x198172()[_0x33ccc9(0x4fa)+'e'][_0x33ccc9(0x32e)+_0x33ccc9(0x373)]()),_0x2b0ba8('workspac'+'e:write-'+_0x33ccc9(0x241)+_0x33ccc9(0x30d),(_0xe2686b,_0x215634)=>_0x198172()[_0x33ccc9(0x4fa)+'e'][_0x33ccc9(0x1fe)+_0x33ccc9(0x3f5)+'xt'](_0x215634)),_0x2b0ba8(_0x33ccc9(0x1aa)+':rename',(_0x3a55f5,_0x52ce1c)=>_0x198172()[_0x33ccc9(0x1aa)][_0x33ccc9(0x37a)](_0x52ce1c)),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x448),async(_0x5afa2f,_0x214613={})=>{const _0x1ae439=_0x33ccc9,_0x1526ec=String(_0x214613[_0x1ae439(0x515)+'ey']||_0x214613['key']||'')['trim']();if(!_0x1526ec)throw new Error(_0x1ae439(0x515)+_0x1ae439(0x3d2)+_0x1ae439(0x298));const _0x1df939=await ensureSessionSqliteStore()[_0x1ae439(0x46a)+'dSession'+_0x1ae439(0x42f)](),_0x3b2caf=await _0x198172()[_0x1ae439(0x1aa)]['reorderP'+_0x1ae439(0x3ec)]([_0x1526ec,..._0x1df939[_0x1ae439(0x423)](_0x2d84c9=>_0x2d84c9!==_0x1526ec)]);return _0x3b2caf;}),_0x2b0ba8(_0x33ccc9(0x1aa)+_0x33ccc9(0x355),async(_0x4cc8bd,_0xd0f1fa={})=>{const _0x3a6b28=_0x33ccc9,_0x57d772=String(_0xd0f1fa['sessionK'+'ey']||_0xd0f1fa[_0x3a6b28(0x4e6)]||'')[_0x3a6b28(0x5a9)]();if(!_0x57d772)throw new Error('sessionK'+_0x3a6b28(0x3d2)+'quired');const _0x5605d2=await ensureSessionSqliteStore()[_0x3a6b28(0x46a)+'dSession'+_0x3a6b28(0x42f)]();return await _0x198172()['sessions']['reorderP'+'inned'](_0x5605d2[_0x3a6b28(0x423)](_0x358199=>_0x358199!==_0x57d772));}),_0x2b0ba8(_0x33ccc9(0x1aa)+':reorder'+'-pinned',async(_0x767298,_0x5b205b={})=>{const _0x109e94=_0x33ccc9,_0x1959b8=Array[_0x109e94(0x535)](_0x5b205b['keys'])?_0x5b205b[_0x109e94(0x38f)]:_0x5b205b;return await _0x198172()['sessions']['reorderP'+_0x109e94(0x3ec)](_0x1959b8);}),_0x2b0ba8(_0x33ccc9(0x28b)+_0x33ccc9(0x315),(_0x222401,_0x264e56)=>_0x198172()['skills']['install'](_0x264e56)),_0x2b0ba8(_0x33ccc9(0x2f8)+'t',(_0x133e7d,_0x548813)=>_0x198172()[_0x33ccc9(0x43f)][_0x33ccc9(0x4ac)](_0x548813)),_0x2b0ba8(_0x33ccc9(0x52f)+_0x33ccc9(0x189),(_0x32fc86,_0x332100)=>_0x198172()['cron'][_0x33ccc9(0x27d)](_0x332100)),_0x2b0ba8(_0x33ccc9(0x542)+_0x33ccc9(0x189),(_0x287bef,_0x3a7650)=>_0x198172()['cron'][_0x33ccc9(0x4dc)](_0x3a7650)),_0x2b0ba8(_0x33ccc9(0x240)+_0x33ccc9(0x551),(_0x2381b0,_0x344a59)=>_0x198172()[_0x33ccc9(0x43f)][_0x33ccc9(0x1e5)](_0x344a59)),_0x2b0ba8(_0x33ccc9(0x24f)+'-once',(_0x18e259,_0x3e2b89)=>_0x198172()[_0x33ccc9(0x43f)][_0x33ccc9(0x3fe)](_0x3e2b89)),_0x2b0ba8(_0x33ccc9(0x28e)+'s',(_0x3ba9c9,_0x1ea4fc)=>_0x198172()['cron']['logs'](_0x1ea4fc)),_0x2b0ba8(_0x33ccc9(0x1a2)+_0x33ccc9(0x4a6),async(_0x2d485e,_0xd6d4d2={})=>{const _0x346574=_0x33ccc9,_0x21ca71=configController['resolveC'+_0x346574(0x451)+'h'](),_0xd874e6=JSON[_0x346574(0x51c)](await readFile(_0x21ca71,_0x346574(0x4bb))),_0x4cec40=_0xd874e6?.['models']?.['provider'+'s']&&typeof _0xd874e6[_0x346574(0x234)][_0x346574(0x1ca)+'s']==='object'?_0xd874e6[_0x346574(0x234)]['provider'+'s']:{},_0x51df=typeof _0xd874e6?.['agents']?.[_0x346574(0x504)]?.[_0x346574(0x38e)]?.[_0x346574(0x3ff)]===_0x346574(0x422)?_0xd874e6[_0x346574(0x188)][_0x346574(0x504)][_0x346574(0x38e)][_0x346574(0x3ff)]:'',_0x5102bf=String(_0xd6d4d2['model']||_0x51df||'');if(!_0x5102bf[_0x346574(0x34d)]('/'))throw new Error(_0x346574(0x4a2)+_0x346574(0x421)+_0x346574(0x2b3)+'red;\x20set'+_0x346574(0x1f5)+'der/mode'+_0x346574(0x30c));const _0xeae945=_0x5102bf[_0x346574(0x221)]('/'),_0x4f69da=_0x5102bf[_0x346574(0x411)](0x0,_0xeae945),_0x58b090=_0x5102bf[_0x346574(0x411)](_0xeae945+0x1),_0x1bd778=_0x4cec40[_0x4f69da];if(!_0x1bd778||typeof _0x1bd778!==_0x346574(0x4d9))throw new Error(_0x346574(0x1ca)+_0x346574(0x593)+_0x346574(0x569)+'\x20'+_0x4f69da);const _0x2b1016=String(_0x1bd778[_0x346574(0x393)]||'https://'+_0x346574(0x58e)+_0x346574(0x4d3)+'1')[_0x346574(0x5a9)]()['replace'](/\/$/,''),_0xdda7e0=await fetch(_0x2b1016+(_0x346574(0x303)+_0x346574(0x3e3)+'s'),{'method':'POST','headers':{'content-type':'applicat'+'ion/json','Authorization':'Bearer\x20'+(_0x1bd778[_0x346574(0x2bc)]||''),..._0x1bd778['headers']&&typeof _0x1bd778['headers']==='object'?_0x1bd778[_0x346574(0x2ac)]:{}},'body':JSON['stringif'+'y']({'model':_0x58b090,'max_tokens':Number[_0x346574(0x3b5)+'r'](_0xd6d4d2['maxToken'+'s'])?_0xd6d4d2[_0x346574(0x3b8)+'s']:0x400,'temperature':typeof _0xd6d4d2[_0x346574(0x318)+_0x346574(0x244)]===_0x346574(0x465)?_0xd6d4d2['temperat'+_0x346574(0x244)]:undefined,'messages':Array[_0x346574(0x535)](_0xd6d4d2[_0x346574(0x42e)])?_0xd6d4d2[_0x346574(0x42e)]:[]}),'signal':AbortSignal[_0x346574(0x283)](Number[_0x346574(0x3b5)+'r'](_0xd6d4d2[_0x346574(0x508)+'s'])?_0xd6d4d2[_0x346574(0x508)+'s']:0x1d4c0)});if(!_0xdda7e0['ok']){const _0x223333=await _0xdda7e0['text']();throw new Error(_0x346574(0x431)+'tp\x20'+_0xdda7e0[_0x346574(0x466)]+':\x20'+_0x223333[_0x346574(0x411)](0x0,0x190));}const _0x4be92e=_0xdda7e0[_0x346574(0x2ac)][_0x346574(0x3f7)](_0x346574(0x38c)+'id'),_0x5495aa=await _0xdda7e0['json'](),_0x4ea8fa=_0x5495aa?.[_0x346574(0x1b2)]?.[0x0]?.[_0x346574(0x2be)]??{};if(_0x4be92e){const _0x2d5909=typeof _0xd6d4d2['title']===_0x346574(0x422)&&_0xd6d4d2['title'][_0x346574(0x5a9)]()?_0xd6d4d2[_0x346574(0x3d1)][_0x346574(0x5a9)]():Array[_0x346574(0x535)](_0xd6d4d2['messages'])?String([..._0xd6d4d2[_0x346574(0x42e)]][_0x346574(0x4f6)]()[_0x346574(0x42b)](_0x559ed8=>_0x559ed8?.[_0x346574(0x25d)]===_0x346574(0x1f0))?.[_0x346574(0x445)]||'')[_0x346574(0x5a9)]():'';_0x2d5909&&Promise[_0x346574(0x311)](requestIdHooks?.[_0x346574(0x570)+_0x346574(0x57c)+_0x346574(0x284)]?.({'requestId':_0x4be92e,'title':_0x2d5909,'source':_0x346574(0x1ca)+_0x346574(0x55e)+'e','model':_0x5495aa?.[_0x346574(0x38e)]||_0x58b090,'provider':_0x4f69da,'timestamp':Date[_0x346574(0x521)]()}))[_0x346574(0x297)](_0x49b95f=>{const _0x563c03=_0x346574;mainLogger?.[_0x563c03(0x558)]?.(_0x563c03(0x4d0)+_0x563c03(0x37c)+_0x563c03(0x38c)+_0x563c03(0x366)+'\x20event\x20f'+'ailed',{'error':_0x49b95f?.['message']||String(_0x49b95f)});});}return{'content':extractModelMessageContent(_0x4ea8fa[_0x346574(0x445)]),'reasoning':typeof _0x4ea8fa[_0x346574(0x24c)+_0x346574(0x205)+'t']===_0x346574(0x422)?_0x4ea8fa[_0x346574(0x24c)+_0x346574(0x205)+'t']:'','model':_0x5495aa?.[_0x346574(0x38e)]||_0x58b090};}),_0x2b0ba8(_0x33ccc9(0x286)+_0x33ccc9(0x404),()=>_0x198172()['models']['settings']()),_0x2b0ba8(_0x33ccc9(0x286)+_0x33ccc9(0x1e3)+_0x33ccc9(0x4e8),(_0x3a34b3,_0x147337)=>_0x198172()[_0x33ccc9(0x234)][_0x33ccc9(0x46c)+'ngs'](_0x147337)),_0x2b0ba8(_0x33ccc9(0x286)+_0x33ccc9(0x33f)+'ted-ever'+'ywhere',(_0x11fe6c,_0x45dd8d)=>_0x198172()[_0x33ccc9(0x234)]['setSelec'+_0x33ccc9(0x478)+'Everywhe'+'re'](_0x45dd8d)),_0x2b0ba8(_0x33ccc9(0x286)+_0x33ccc9(0x1b5)+'operated',(_0xbd7a94,_0x486e90)=>_0x198172()['models'][_0x33ccc9(0x382)+_0x33ccc9(0x57d)+_0x33ccc9(0x47f)](_0x486e90)),_0x2b0ba8(_0x33ccc9(0x286)+_0x33ccc9(0x1a9)+'model-id',()=>_0x198172()[_0x33ccc9(0x234)][_0x33ccc9(0x44f)+_0x33ccc9(0x1b6)]()),_0x2b0ba8(_0x33ccc9(0x1a2)+'ustom-mo'+_0x33ccc9(0x1be),()=>_0x198172()[_0x33ccc9(0x234)][_0x33ccc9(0x1fa)+_0x33ccc9(0x1be)]()),_0x2b0ba8(_0x33ccc9(0x5a5)+_0x33ccc9(0x326)+_0x33ccc9(0x201)+_0x33ccc9(0x390),async()=>{const _0x5cbe3e=_0x33ccc9,_0x6b1b9c=await prepareRuntime(shellConfig,{'syncOnly':!![]});return await configController[_0x5cbe3e(0x406)+'imePlugi'+'ns'](),{'ok':!![],'syncedAt':new Date()[_0x5cbe3e(0x520)+'ing'](),'manifest':_0x6b1b9c,'status':await getRuntimeResourceStatus()};}),_0x2b0ba8(_0x33ccc9(0x5a5)+'resource'+'-status',async()=>getRuntimeResourceStatus());}async function boot(){const _0x2dbaad=_0x5d452e;configController=createConfigController(shellConfig),mainLogger=createShellLogger(configController['paths'],_0x2dbaad(0x4b8)),ipcLogger=createShellLogger(configController[_0x2dbaad(0x371)],'ipc'),filesLogger=createShellLogger(configController[_0x2dbaad(0x371)],_0x2dbaad(0x568)),rendererLogger=createShellLogger(configController[_0x2dbaad(0x371)],_0x2dbaad(0x463)),productRuntime=await loadProductRuntime();const _0x8e0925=resolveWujieApiEndpoint();diagnosticsWriter=createDiagnosticsWriter({'logsDir':configController[_0x2dbaad(0x371)]['logsDir'],'appContext':{'productName':shellConfig['productN'+_0x2dbaad(0x554)],'appId':shellConfig['appId'],'appVersion':app['getVersi'+'on'](),'platform':process['platform'],'arch':process['arch'],..._0x8e0925?{'apiEndpoint':_0x8e0925}:{}}}),userEventWriter=createUserEventWriter({'logsDir':configController[_0x2dbaad(0x371)][_0x2dbaad(0x3e8)],'diagnosticsWriter':diagnosticsWriter});const _0x384f3a=await loadCreateUpdateController({'logger':mainLogger});updateController=_0x384f3a({'shellConfig':shellConfig,'appName':()=>app[_0x2dbaad(0x548)],'appVersion':()=>app['getVersi'+'on'](),'broadcast':broadcast,'logger':mainLogger,'prepareQuitAndInstall':async()=>{const _0x2db79d=_0x2dbaad;await stopGatewayBeforeQuit(_0x2db79d(0x58a)+_0x2db79d(0x245)+'g\x20update');}}),updateController[_0x2dbaad(0x4be)+'ze'](),registerProcessLogHooks(),registerProtocolHandlers(),installApplicationMenu(),mainLogger?.[_0x2dbaad(0x1ba)]('electron'+_0x2dbaad(0x2c9)+'ot\x20start'+'ed',{'appVersion':app[_0x2dbaad(0x4f5)+'on'](),'electronVersion':process[_0x2dbaad(0x35d)][_0x2dbaad(0x35c)],'nodeVersion':process[_0x2dbaad(0x35d)][_0x2dbaad(0x26a)],'chromeVersion':process[_0x2dbaad(0x35d)][_0x2dbaad(0x19f)],'platform':process[_0x2dbaad(0x1a6)],'arch':process['arch'],'mode':getMode(),'projectRoot':shellConfig['projectR'+'oot'],'configPath':shellConfig[_0x2dbaad(0x243)+'th'],'dataDir':shellConfig[_0x2dbaad(0x26c)],'electronUserData':app[_0x2dbaad(0x494)](_0x2dbaad(0x486)),'devToolsEnabled':isDevToolsEnabled(),'devToolsFlagPath':resolveDevToolsFlagPath(),'logsDir':configController[_0x2dbaad(0x371)][_0x2dbaad(0x3e8)],'rendererUrl':process.env.VITE_DEV_SERVER_URL||APP_RENDERER_ENTRY_URL}),gatewayController=createGatewayController({'shellConfig':shellConfig,'configController':configController,'appVersion':app['getVersi'+'on'](),'productRuntimeHooks':gatewayRuntimeHooks,'userEventWriter':userEventWriter,'sessionSqliteStore':ensureSessionSqliteStore()}),typeof productRuntime[_0x2dbaad(0x374)+'roductCo'+_0x2dbaad(0x44e)]==='function'&&await productRuntime[_0x2dbaad(0x374)+'roductCo'+_0x2dbaad(0x44e)]({'configController':configController,'mainLogger':mainLogger}),typeof productRuntime[_0x2dbaad(0x374)+_0x2dbaad(0x46f)+'ta']===_0x2dbaad(0x291)?await productRuntime[_0x2dbaad(0x374)+'roductDa'+'ta']({'configController':configController,'generatedFilesStore':ensureGeneratedFilesStore(),'mainLogger':mainLogger,'sessionSqliteStore':ensureSessionSqliteStore()}):await ensureGeneratedFilesStore()[_0x2dbaad(0x246)+_0x2dbaad(0x3aa)+'d'](),attachGatewayBroadcastHandlers(gatewayController),ensureSessionDataService(),await installIpcHandlers(),ipcHandlersInstalled=!![],installAppRendererProtocolHandler(),installClawspaceProtocolHandler(),registerShellShortcuts(),await ensureMainWindow(),await gatewayController[_0x2dbaad(0x1dd)](),updateController[_0x2dbaad(0x439)+_0x2dbaad(0x18c)+'hecks'](),mainLogger?.[_0x2dbaad(0x1ba)](_0x2dbaad(0x35c)+'\x20main\x20bo'+_0x2dbaad(0x1db)+_0x2dbaad(0x488)),updateController['recordBo'+'otAfterI'+_0x2dbaad(0x315)]?.();}function registerProcessLogHooks(){const _0x3cb11b=_0x5d452e;if(registerProcessLogHooks[_0x3cb11b(0x49c)+'ed'])return;registerProcessLogHooks[_0x3cb11b(0x49c)+'ed']=!![],process['on'](_0x3cb11b(0x46b)+_0x3cb11b(0x4a7)+'n',_0x4c6863=>{const _0x4d2673=_0x3cb11b;mainLogger?.[_0x4d2673(0x416)]('uncaught'+_0x4d2673(0x432)+'on',summarizeError(_0x4c6863));}),process['on'](_0x3cb11b(0x2e2)+_0x3cb11b(0x4a0)+'on',_0x3c5813=>{const _0xe1cf1=_0x3cb11b;mainLogger?.[_0xe1cf1(0x416)]('unhandle'+_0xe1cf1(0x216)+'ion',summarizeError(_0x3c5813));}),app['on']('render-p'+_0x3cb11b(0x321)+_0x3cb11b(0x54a),(_0x51d668,_0x4adf6f,_0x332aa5)=>{const _0x13ea50=_0x3cb11b;mainLogger?.[_0x13ea50(0x416)](_0x13ea50(0x463)+_0x13ea50(0x420)+_0x13ea50(0x3e1),{'url':_0x4adf6f['getURL'](),'details':_0x332aa5});}),app['on'](_0x3cb11b(0x3e0)+'ocess-go'+'ne',(_0x51adfc,_0x45cd68)=>{const _0x314832=_0x3cb11b;mainLogger?.[_0x314832(0x416)]('child\x20pr'+_0x314832(0x564)+'ne',{'details':_0x45cd68});});}async function stopGatewayBeforeQuit(_0x20450d){const _0x305fc8=_0x5d452e;if(!gatewayController)return;const _0x5636f5=gatewayController,_0x5b68cb=Date['now']();mainLogger?.[_0x305fc8(0x1ba)](_0x20450d+(_0x305fc8(0x50d)+_0x305fc8(0x2d4)+'ay'),{'event':_0x20450d===_0x305fc8(0x58a)+_0x305fc8(0x245)+'g\x20update'?'update_g'+_0x305fc8(0x4f9)+_0x305fc8(0x48a)+'t':undefined}),await _0x5636f5[_0x305fc8(0x40c)](),gatewayController===_0x5636f5&&(gatewayController=null),mainLogger?.['info'](_0x20450d+(_0x305fc8(0x45d)+_0x305fc8(0x53e)+'d'),{'event':_0x20450d===_0x305fc8(0x58a)+_0x305fc8(0x245)+'g\x20update'?_0x305fc8(0x313)+_0x305fc8(0x4f9)+_0x305fc8(0x3b3):undefined,'elapsedMs':Date[_0x305fc8(0x521)]()-_0x5b68cb});}app['on'](_0x5d452e(0x367)+_0x5d452e(0x4d1)+'d',()=>{const _0x4dd081=_0x5d452e;if(process['platform']!=='darwin')app[_0x4dd081(0x324)]();}),app['on'](_0x5d452e(0x1ad),(_0x1a0ec3,_0x33399e)=>{const _0x5b5a5e=_0x5d452e;_0x1a0ec3[_0x5b5a5e(0x571)+_0x5b5a5e(0x397)](),mainLogger?.[_0x5b5a5e(0x558)](_0x5b5a5e(0x45b)+_0x5b5a5e(0x543)+_0x5b5a5e(0x449),{'url':summarizeProtocolUrl(_0x33399e),'hasShellConfig':Boolean(shellConfig)}),dispatchProtocolUrl(_0x33399e);}),shellConfig=await loadShellConfig(resolveProjectRoot()),configureElectronInstance(app,shellConfig);const gotSingleInstanceLock=app['requestS'+_0x5d452e(0x552)+_0x5d452e(0x2dc)+'k']({'appId':shellConfig[_0x5d452e(0x446)],'projectRoot':shellConfig[_0x5d452e(0x22d)+_0x5d452e(0x46e)]});!gotSingleInstanceLock?app['exit'](0x0):app['on']('second-i'+_0x5d452e(0x502),(_0x33a471,_0x8e369e)=>{const _0x98bc81=_0x5d452e,_0x442663=extractProtocolUrlFromArgs(_0x8e369e);mainLogger?.[_0x98bc81(0x558)]('second-i'+_0x98bc81(0x50c)+_0x98bc81(0x330),{'argc':Array[_0x98bc81(0x535)](_0x8e369e)?_0x8e369e[_0x98bc81(0x2b2)]:0x0,'hasShellConfig':Boolean(shellConfig),'hasProtocolUrl':Boolean(_0x442663),'protocolUrl':_0x442663?summarizeProtocolUrl(_0x442663):undefined});if(!resolveProtocolScheme()){pendingProtocolArgs=_0x8e369e;return;}if(_0x442663){dispatchProtocolUrl(_0x442663);return;}const _0x3a84cd=getUsableMainWindow();_0x3a84cd&&void showMainWindowFromExternalActivation(_0x3a84cd,_0x98bc81(0x429)+_0x98bc81(0x502))['catch'](_0x1a3d4d=>{const _0x2a47db=_0x98bc81;mainLogger?.[_0x2a47db(0x416)]('second-i'+'nstance\x20'+_0x2a47db(0x51d)+_0x2a47db(0x309)+_0x2a47db(0x25f),{'error':summarizeError(_0x1a3d4d)});});});app['on']('activate',async()=>{const _0x5ebc05=_0x5d452e;if(isQuitting){app[_0x5ebc05(0x324)]();return;}updateController?.[_0x5ebc05(0x270)+_0x5ebc05(0x35b)+_0x5ebc05(0x3fa)]('app_acti'+_0x5ebc05(0x473));const _0x25dbec=getUsableMainWindow();if(_0x25dbec&&(_0x25dbec[_0x5ebc05(0x32c)+_0x5ebc05(0x1c8)]()||!_0x25dbec[_0x5ebc05(0x44d)+'e']()))await showMainWindowFromExternalActivation(_0x25dbec,_0x5ebc05(0x3c3)+_0x5ebc05(0x473));else BrowserWindow[_0x5ebc05(0x22c)+_0x5ebc05(0x4bc)]()[_0x5ebc05(0x2b2)]===0x0&&shellConfig&&await ensureMainWindow();}),app['on'](_0x5d452e(0x190)+_0x5d452e(0x588),_0x32897d=>{const _0x470d9b=_0x5d452e;isQuitting=!![],updateController?.['markQuit'+'Observed'](),terminalManager?.[_0x470d9b(0x36b)](),terminalManager=null,productRuntimeHooks?.[_0x470d9b(0x36b)]?.();for(const _0xeef877 of Object[_0x470d9b(0x38f)](productRuntimeHooks))delete productRuntimeHooks[_0xeef877];requestIdHooks?.[_0x470d9b(0x36b)]?.();for(const _0x55e4b5 of Object[_0x470d9b(0x38f)](requestIdHooks))delete requestIdHooks[_0x55e4b5];if(updateController?.[_0x470d9b(0x37d)+'lingUpda'+'te']?.()){mainLogger?.['info']('before\x20q'+'uit:\x20upd'+_0x470d9b(0x3c2)+'all\x20in\x20p'+_0x470d9b(0x217)+_0x470d9b(0x50a)+_0x470d9b(0x2d6)+'\x20updater'+'\x20quit');return;}if(!gatewayController)return;_0x32897d[_0x470d9b(0x571)+'efault'](),void stopGatewayBeforeQuit(_0x470d9b(0x26f)+_0x470d9b(0x588))[_0x470d9b(0x48d)](()=>{const _0x37fad6=_0x470d9b;app[_0x37fad6(0x324)]();});}),app['on'](_0x5d452e(0x4f0)+'t',()=>{globalShortcut['unregist'+'er'](DEVTOOLS_ACCELERATOR);});gotSingleInstanceLock&&app[_0x5d452e(0x407)+'y']()[_0x5d452e(0x352)](boot)[_0x5d452e(0x297)](_0x399f5a=>{const _0x469760=_0x5d452e;bootError=_0x399f5a instanceof Error?_0x399f5a[_0x469760(0x2be)]:String(_0x399f5a),mainLogger?.[_0x469760(0x416)]('electron'+_0x469760(0x2c9)+_0x469760(0x4b7)+'d',summarizeError(_0x399f5a)),console['error'](_0x469760(0x320)+_0x469760(0x53f)+_0x469760(0x4fe)+'boot\x20ele'+'ctron\x20ma'+'in',_0x399f5a);});