volute 0.50.0 → 0.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{activity-events-H7YI3BTF.js → activity-events-LQII6PZS.js} +3 -3
- package/dist/{ai-service-V4CTNGI3.js → ai-service-YW5SWCSB.js} +7 -3
- package/dist/{archive-ORM3ENHI.js → archive-FOHGXHPT.js} +3 -3
- package/dist/{auth-DT7GY7EZ.js → auth-X6EMNEGB.js} +4 -4
- package/dist/{avatar-image-QEPAP3A5.js → avatar-image-52WGXLHV.js} +3 -3
- package/dist/{backup-IE6PMXJO.js → backup-YVGV2ZNM.js} +7 -7
- package/dist/{chat-W5K6HCBE.js → chat-VAZ25KVT.js} +4 -4
- package/dist/{chunk-5IIVOWSP.js → chunk-2RNMBXD2.js} +16 -0
- package/dist/{chunk-U3EJJ7JN.js → chunk-5N32EN4O.js} +2 -2
- package/dist/{chunk-ZUG76D3P.js → chunk-5Y54AE3L.js} +1 -1
- package/dist/{chunk-5FVANDON.js → chunk-6NLW72HP.js} +2 -2
- package/dist/{chunk-JI67D7O2.js → chunk-7HN63Q7J.js} +120 -25
- package/dist/{chunk-PW65BXY5.js → chunk-7YJY3F2R.js} +11 -1
- package/dist/{chunk-HW6Q7AMB.js → chunk-AI47FDGL.js} +6 -7
- package/dist/{chunk-636GFQNE.js → chunk-BSHZ23MS.js} +8 -7
- package/dist/{chunk-7DXLIYPY.js → chunk-CDKQJWGK.js} +6 -6
- package/dist/{chunk-SSNZ6ZNN.js → chunk-CV6BNGFK.js} +3 -3
- package/dist/{chunk-QFVGPKJI.js → chunk-DMK5ASKV.js} +1 -1
- package/dist/{chunk-MLZBBLMT.js → chunk-DN3LKLYR.js} +4 -4
- package/dist/{chunk-WBBKYUGF.js → chunk-EDR47UE2.js} +2 -2
- package/dist/{chunk-632FJ23O.js → chunk-EGV6R6UF.js} +26 -7
- package/dist/{chunk-KAEZOVP6.js → chunk-FLIEXG2T.js} +1 -1
- package/dist/{chunk-5TPC4KCV.js → chunk-FXWBFDQR.js} +2 -2
- package/dist/{chunk-74T3CEXK.js → chunk-G7A5LEVI.js} +2 -2
- package/dist/{chunk-7UWXAJMK.js → chunk-GLM7TVWP.js} +1 -1
- package/dist/{chunk-CAIYV33P.js → chunk-H6X6CKDN.js} +2 -1
- package/dist/{chunk-UC6BNMGT.js → chunk-HKP6OAJP.js} +3 -3
- package/dist/{chunk-C3KLHJDB.js → chunk-HTRSSOHY.js} +1 -1
- package/dist/{chunk-77IZUVBB.js → chunk-I7U5EEZC.js} +2 -2
- package/dist/{chunk-7OZWKHA3.js → chunk-ICL6T4SN.js} +18 -4
- package/dist/{chunk-X67VT4QO.js → chunk-ICXY54ZC.js} +1 -1
- package/dist/{chunk-YQOYZ6G7.js → chunk-IWAVIJO2.js} +2 -2
- package/dist/{chunk-5PKFJHCR.js → chunk-JHKBALS2.js} +2 -2
- package/dist/{chunk-7XDOTN4R.js → chunk-L7BKTZ5U.js} +1 -1
- package/dist/{chunk-AFSLNUTT.js → chunk-LAUCO2HC.js} +1 -1
- package/dist/{chunk-AJWFDIEY.js → chunk-M77B73VV.js} +1 -1
- package/dist/{chunk-4CN7OCJE.js → chunk-OXWUEU5V.js} +2 -2
- package/dist/{chunk-7FDWPQCU.js → chunk-Q7XQLKZB.js} +6 -6
- package/dist/{chunk-TGJHGVBZ.js → chunk-QT4D5XCI.js} +4 -4
- package/dist/{chunk-574M6I7F.js → chunk-TPX6E6PL.js} +3 -3
- package/dist/{chunk-3BAFMGCJ.js → chunk-U54PJPTB.js} +2 -2
- package/dist/{chunk-6BM2I736.js → chunk-UDZLPR34.js} +1 -1
- package/dist/{chunk-E5S3ILVA.js → chunk-UFTDRTCP.js} +1 -1
- package/dist/{chunk-ALIVXDM4.js → chunk-VAEZCIJC.js} +95 -51
- package/dist/{chunk-EQKSRVDE.js → chunk-VP5PFNZO.js} +89 -41
- package/dist/{chunk-SFRYRW37.js → chunk-VSBMLB2W.js} +9 -9
- package/dist/{chunk-RRZ4RQQU.js → chunk-X67BDDZR.js} +5 -7
- package/dist/cli.js +19 -19
- package/dist/{clock-LH7UFNLJ.js → clock-ZT5YT6HA.js} +2 -2
- package/dist/{cloud-sync-IDJFVDEP.js → cloud-sync-GPXYPTIC.js} +22 -22
- package/dist/{conversations-S2232Y5I.js → conversations-ZL6PHROD.js} +4 -4
- package/dist/{create-2M7DAHQX.js → create-G2RIKQYK.js} +1 -1
- package/dist/{daemon-restart-2AAGYFHE.js → daemon-restart-2EWBRTN5.js} +6 -6
- package/dist/daemon.js +478 -331
- package/dist/{db-QAY45Z56.js → db-BONH4SUG.js} +2 -2
- package/dist/delivery-manager-HGVZSEES.js +35 -0
- package/dist/{delivery-router-JE7SHYNU.js → delivery-router-RHANNTAC.js} +3 -3
- package/dist/{down-D4IRNEMJ.js → down-QSNEMTTX.js} +5 -5
- package/dist/echo-text-6ANI5HHN.js +39 -0
- package/dist/{env-ABM5IMA7.js → env-IBW2QI6K.js} +1 -1
- package/dist/{env-AZK5X4W7.js → env-SQFCWW52.js} +3 -3
- package/dist/{exec-2H65LMTA.js → exec-ABD3DYA2.js} +3 -3
- package/dist/{export-3E3EL6W3.js → export-VBNWM7I4.js} +3 -3
- package/dist/{extensions-7KP3X6G7.js → extensions-NY6WST33.js} +22 -22
- package/dist/{files-6BMKVG5G.js → files-BRY5RRIM.js} +3 -3
- package/dist/{import-UPNTEBBT.js → import-DB2KULRO.js} +6 -6
- package/dist/{isolation-OKDFM6WA.js → isolation-GVV2IBAU.js} +3 -3
- package/dist/{list-4BVGH7AN.js → list-UQGIW7OF.js} +1 -1
- package/dist/{login-MOXVLULE.js → login-SB5OENMV.js} +2 -2
- package/dist/{logout-DWD3OQVT.js → logout-YFZAJRPY.js} +2 -2
- package/dist/message-delivery-JHMAJ2GU.js +43 -0
- package/dist/{migrate-thread-config-4A5LW36Z.js → migrate-thread-config-EQSEP2XG.js} +2 -2
- package/dist/{mind-NYRALSV2.js → mind-WF6QIXWV.js} +7 -7
- package/dist/{mind-activity-tracker-L7GCYXQR.js → mind-activity-tracker-QF6DCX2X.js} +4 -4
- package/dist/{mind-history-NXXOOTX6.js → mind-history-OGNR4L7W.js} +1 -1
- package/dist/mind-service-DZCUUC7J.js +47 -0
- package/dist/{mind-sleep-TH6BRQ5X.js → mind-sleep-LZAFBDZD.js} +2 -2
- package/dist/{package-XYSV7NUT.js → package-B6O5APCZ.js} +1 -1
- package/dist/{prompts-QKFPX6DQ.js → prompts-NBO3HRK3.js} +3 -3
- package/dist/{read-ZXGUT4QC.js → read-RJ5NAW5J.js} +3 -14
- package/dist/{registry-4UF6OCOE.js → registry-TRC2HJXR.js} +2 -2
- package/dist/{sandbox-EGEU5GGE.js → sandbox-NNWCTHRI.js} +3 -3
- package/dist/scheduler-TNBN54ZK.js +25 -0
- package/dist/{schema-C2GIPD4V.js → schema-ZZQVM4GR.js} +3 -1
- package/dist/{seed-3IMBOAGK.js → seed-K2LYODIH.js} +1 -1
- package/dist/{seed-cmd-U73XVQMI.js → seed-cmd-2EWBTR6P.js} +2 -2
- package/dist/{seed-create-FBLNVSUP.js → seed-create-VGTLU5FD.js} +3 -3
- package/dist/{seed-readiness-QRA46ZJQ.js → seed-readiness-DYOVCYHN.js} +4 -4
- package/dist/{seed-sprout-3B4SZX7J.js → seed-sprout-PILHJ3YS.js} +7 -7
- package/dist/{send-NBRZJXKX.js → send-2YKOZJJ5.js} +81 -49
- package/dist/{service-XMXAXGJD.js → service-XQPMZAGI.js} +4 -4
- package/dist/{service-install-MOKTEG7B.js → service-install-2EWD7KXD.js} +5 -5
- package/dist/{setup-JGYAXXW7.js → setup-MDPSK2XG.js} +6 -6
- package/dist/{setup-CAJFOR2N.js → setup-WZSXHHRJ.js} +2 -2
- package/dist/{skill-NXIHDQCG.js → skill-B5OJEQUA.js} +1 -1
- package/dist/{skills-5MSMT7PT.js → skills-NH2GQKAF.js} +4 -4
- package/dist/sleep-manager-7JXEQQ2P.js +41 -0
- package/dist/{spirit-IL5EMWYZ.js → spirit-25JVAL3M.js} +7 -7
- package/dist/spirit-availability-PJDWZJ3J.js +42 -0
- package/dist/{sprout-UPXGJ5HX.js → sprout-EXUZMIOR.js} +1 -1
- package/dist/{status-IL67CYM4.js → status-MWLE3RVC.js} +5 -5
- package/dist/{system-events-A6IGCEC3.js → system-events-ZPSH63QX.js} +3 -3
- package/dist/{tailscale-SJUW2ETR.js → tailscale-KHNZFC7L.js} +2 -2
- package/dist/{template-hash-GSOUARW4.js → template-hash-YKWMVYMM.js} +2 -2
- package/dist/{template-staleness-T27VCGYA.js → template-staleness-PY2CULH6.js} +5 -5
- package/dist/{turn-tracker-6EI2EL7G.js → turn-tracker-TAT2HGK6.js} +5 -5
- package/dist/{up-CLL4665A.js → up-J7XCAH7P.js} +5 -5
- package/dist/{update-HVAUCQPN.js → update-CIWI2JYA.js} +5 -5
- package/dist/{update-check-2MGBBAFF.js → update-check-SZ7B5IFI.js} +3 -3
- package/dist/variant-cleanup-YXN25ZVW.js +22 -0
- package/dist/{version-notify-7BUHWZNT.js → version-notify-EN3KJ7HH.js} +8 -8
- package/dist/web-assets/assets/index-BOyJ4Gqs.css +1 -0
- package/dist/web-assets/assets/{index-ClsUcXiW.js → index-CrxBwnzp.js} +19 -19
- package/dist/web-assets/index.html +2 -2
- package/drizzle/0018_api_tokens.sql +20 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/templates/_base/{biome.json.tmpl → biome.json} +2 -1
- package/templates/_base/gitignore +44 -0
- package/templates/_base/home/public/.gitkeep +0 -0
- package/templates/_base/src/lib/format-prefix.ts +15 -8
- package/templates/_base/src/lib/router.ts +13 -8
- package/templates/claude/volute-template.json +1 -3
- package/templates/codex/volute-template.json +1 -3
- package/templates/pi/{package.json.tmpl → package.json} +2 -2
- package/templates/pi/volute-template.json +1 -3
- package/dist/delivery-manager-B4OKWD2P.js +0 -33
- package/dist/echo-text-WYAAODBV.js +0 -39
- package/dist/message-delivery-3456PXB7.js +0 -43
- package/dist/mind-service-5TA7UJAT.js +0 -47
- package/dist/scheduler-UV6RUJ7P.js +0 -25
- package/dist/sleep-manager-LIEPO6WG.js +0 -41
- package/dist/spirit-availability-YFEGJNJ2.js +0 -42
- package/dist/variant-cleanup-HJ7Z75R6.js +0 -22
- package/dist/web-assets/assets/index-Dz3wTbtR.css +0 -1
- /package/templates/_base/home/.config/{config.json.tmpl → config.json} +0 -0
- /package/templates/claude/{package.json.tmpl → package.json} +0 -0
- /package/templates/codex/home/.config/{config.json.tmpl → config.json} +0 -0
- /package/templates/codex/{package.json.tmpl → package.json} +0 -0
- /package/templates/pi/home/.config/{config.json.tmpl → config.json} +0 -0
|
@@ -68,28 +68,28 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
68
68
|
`))i.startsWith(`id:`)?n=i.slice(3).trim():i.startsWith(`data:`)?r.push(i.slice(5).trimStart()):i===``&&(r.length>0&&t.push({id:n,data:r.join(`
|
|
69
69
|
`)}),n=void 0,r=[]);return t}function Tf(){hf&&=(clearTimeout(hf),null)}function Ef(){pf?.abort(),pf=new AbortController;let e=pf.signal,t=gf?`/api/v1/events?since=${encodeURIComponent(gf)}`:`/api/v1/events`;fetch(t,{signal:e}).then(async t=>{if(!t.ok||!t.body){Df();return}_f=1e3,xf.connected=!0;let n=t.body.getReader(),r=new TextDecoder,i=``;function a(){hf&&clearTimeout(hf),hf=setTimeout(()=>{hf=null,pf?.abort(),Df()},yf)}for(a();;){let{done:e,value:t}=await n.read();if(e)break;a(),i+=r.decode(t,{stream:!0});let o=i.split(`
|
|
70
70
|
|
|
71
|
-
`);i=o.pop()||``;for(let e of o){if(!e.trim())continue;let t=wf(`${e}\n\n`);for(let e of t)if(e.id&&(gf=e.id),e.data)try{Cf(JSON.parse(e.data))}catch(t){e.data.trim()&&console.warn(`[connection] failed to process SSE event:`,e.data.slice(0,200),t)}}}Tf(),e.aborted||Df()}).catch(e=>{Tf(),!(e instanceof DOMException&&e.name===`AbortError`)&&Df()})}function Df(){xf.connected=!1,!mf&&(mf=setTimeout(()=>{mf=null,Ef()},_f),_f=Math.min(_f*2,vf))}function Of(){kf(),gf=``,_f=1e3,Ef()}function kf(){mf&&=(clearTimeout(mf),null),Tf(),pf?.abort(),pf=null}async function Af(){let e=await fetch(`/api/extensions`);return e.ok?e.json():(console.warn(`Failed to fetch extensions: HTTP ${e.status}`),[])}function jf(){`Notification`in window&&Notification.permission==="default"&&Notification.requestPermission()}function Mf(e,t,n){if(!(`Notification`in window)||Notification.permission!==`granted`)return;let r=new Notification(e,{body:t,icon:`/favicon.ico`});n&&(r.onclick=()=>{window.focus(),n(),r.close()})}function Nf(){return{active:!1,provider:``,providerName:``,url:``,flowId:``,polling:!1,needsCode:!1,waitingForCode:!1,codeInput:``,codeSubmitting:!1,error:``,success:!1}}var Pf=L(Nf());async function Ff(e,t){Pf.active=!0,Pf.provider=e,Pf.providerName=t||e,Pf.error=``,Pf.success=!1;try{let t=await Dd(e);Pf.flowId=t.flowId,Pf.needsCode=!!t.needsManualCode,Pf.polling=!0,t.url&&(Pf.url=t.url,window.open(t.url,`_blank`)),If()}catch(e){Pf.error=e instanceof Error?e.message:`OAuth failed`}}async function If(){let e=0;for(;Pf.polling;){await new Promise(e=>setTimeout(e,2500));try{let t=await Od(Pf.flowId);if(e=0,t.waitingForCode&&(Pf.waitingForCode=!0),t.status===`complete`){Pf.polling=!1,Pf.success=!0,Vf();return}else if(t.status===`error`){Pf.polling=!1,Pf.error=t.error??`OAuth failed`;return}}catch{if(e++,e>=5){Pf.polling=!1,Pf.error=`Lost connection while waiting for OAuth`;return}}}}async function Lf(){if(!(!Pf.codeInput.trim()||!Pf.flowId)){Pf.error=``,Pf.codeSubmitting=!0;try{await kd(Pf.flowId,Pf.codeInput.trim()),Pf.codeInput=``}catch(e){Pf.error=e instanceof Error?e.message:`Failed to submit code`}Pf.codeSubmitting=!1}}function Rf(){Pf.polling=!1,zf()}function zf(){Object.assign(Pf,Nf())}function Bf(e){let t=e.filter(e=>e.oauthHealthy===!1);qf.oauthErrors.map(e=>e.id).join(`,`)!==t.map(e=>e.id).join(`,`)&&(qf.oauthErrors=t)}async function Vf(){try{Bf(await Cd())}catch{}}var Hf=L({user:null,checked:!1,systemName:null,localName:null,spiritName:null,setupComplete:!0,setupChecked:!1,setupProgress:null});async function Uf(){try{let e=await fetch(`/api/setup/status`);if(e.ok){let t=await e.json();Hf.setupComplete=t.complete,t.complete||(Hf.setupProgress={hasSystem:t.hasSystem,hasAccount:t.hasAccount,setupType:t.setupType,spiritName:t.spiritName})}}catch{Hf.setupComplete=!0}Hf.setupChecked=!0}async function Wf(){if(await Uf(),!Hf.setupComplete&&!Hf.setupProgress?.hasAccount){Hf.checked=!0;return}try{let e=await Yl();if(Hf.user=e,Hf.checked=!0,e){let e=await gd();Hf.systemName=e.system,Hf.localName=e.name,Hf.spiritName=e.spiritName}}catch{Hf.checked=!0}}async function Gf(){try{await Ql()}catch{}Hf.user=null}async function Kf(e){Hf.user=e;try{let e=await gd();Hf.systemName=e.system,Hf.localName=e.name,Hf.spiritName=e.spiritName}catch{}}var qf=L({minds:[],mindsLoaded:!1,conversations:[],activity:[],extensions:[],oauthErrors:[],get connectionOk(){return xf.connected}}),Jf=new Gl,Yf=new Gl,Xf=new Kl,Zf=L({activeConversationId:null}),Qf=null;function $f(e,t){if(Qf?.username===e&&Qf?.displayName===t)return Qf.regex;let n=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=RegExp(`@(${n(e)}${t?`|${n(t)}`:``})`,`i`);return Qf={username:e,displayName:t,regex:r},r}function ep(){return typeof document>`u`||document.visibilityState!==`hidden`}function tp(e){Zf.activeConversationId=e,e&&ep()&&(Xf.set(e,0),Tu(e).catch(e=>console.warn(`[stores] markAsRead failed:`,e)))}typeof document<`u`&&document.addEventListener(`visibilitychange`,()=>{let e=Zf.activeConversationId;document.visibilityState===`visible`&&e&&(Xf.set(e,0),Tu(e).catch(e=>console.warn(`[stores] markAsRead failed:`,e)))});function np(e){if(e.event===`snapshot`){if(qf.conversations=e.conversations??[],qf.activity=e.activity??[],Jf.clear(),Array.isArray(e.activeMinds))for(let t of e.activeMinds)Jf.add(t);if(Yf.clear(),Array.isArray(e.onlineBrains))for(let t of e.onlineBrains)Yf.add(t);let t=ep()?Zf.activeConversationId:null;Xf.clear();for(let e of qf.conversations)e.unreadCount&&e.id!==t&&Xf.set(e.id,e.unreadCount);t&&qf.conversations.some(e=>e.id===t&&e.unreadCount)&&Tu(t).catch(e=>console.warn(`[stores] markAsRead failed:`,e)),mu().then(e=>{qf.minds=e,qf.mindsLoaded=!0}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)}),Af().then(e=>{qf.extensions=e}).catch(e=>{console.warn(`[stores] failed to refresh extensions:`,e)}),Cd().then(Bf).catch(()=>{})}else if(e.event===`activity`){let{event:t,...n}=e;qf.activity=[n,...qf.activity].slice(0,50),n.type===`mind_active`&&Jf.add(n.mind),(n.type===`mind_idle`||n.type===`mind_stopped`||n.type===`mind_done`||n.type===`mind_sleeping`)&&Jf.delete(n.mind),n.type===`brain_online`&&Yf.add(n.mind),n.type===`brain_offline`&&Yf.delete(n.mind),(n.type===`mind_started`||n.type===`mind_stopped`||n.type===`mind_sleeping`||n.type===`mind_waking`||n.type===`mind_error`||n.type===`mind_sprouted`||n.type===`profile_updated`||n.type===`mind_done`&&qf.minds.some(e=>e.name===n.mind&&e.lastError))&&mu().then(e=>{qf.minds=e,qf.mindsLoaded=!0}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)})}else if(e.event===`conversation_added`)qf.conversations.some(t=>t.id===e.conversation.id)||(qf.conversations=[e.conversation,...qf.conversations]);else if(e.event===`conversation`){let t=qf.conversations.find(t=>t.id===e.conversationId);if(t&&e.type===`message`){let n=``;if(Array.isArray(e.content))for(let t of e.content)t.type===`text`&&(n+=t.text);t.lastMessage={role:e.role,senderName:e.senderName,text:n,createdAt:e.createdAt},t.updated_at=e.createdAt;let r=e.senderName===Hf.user?.username,i=e.conversationId===Zf.activeConversationId&&ep();if(!r&&!i){let r=Xf.get(e.conversationId)??0;Xf.set(e.conversationId,r+1);let i=e.senderName??`Someone`;t.type===`dm`?Mf(i,n.slice(0,200)):t.type===`channel`&&$f(Hf.user?.username??``,Hf.user?.display_name??``).test(n)&&Mf(`${i} in #${t.channel_name??`channel`}`,n.slice(0,200))}else!r&&i&&Tu(e.conversationId).catch(e=>console.warn(`[stores] markAsRead failed:`,e));qf.conversations=[...qf.conversations]}}}var rp=null,ip=null;function ap(){op(),rp=Sf(np),Of(),ip=setInterval(()=>{Cd().then(Bf).catch(()=>{})},6e4)}function op(){rp?.(),rp=null,ip&&=(clearInterval(ip),null),kf()}function sp(){try{let e=localStorage.getItem(`volute:hidden-chats`);return e?new Gl(JSON.parse(e)):new Gl}catch{return new Gl}}var cp=sp();function lp(){localStorage.setItem(`volute:hidden-chats`,JSON.stringify([...cp]))}function up(e){cp.add(e),lp()}var dp=L({sidebarOpen:!1});function fp(){dp.sidebarOpen=!dp.sidebarOpen}function pp(){dp.sidebarOpen=!1}function mp(){try{let e=localStorage.getItem(`volute:sidebar-width`);return e?Math.max(180,Math.min(400,Number(e))):240}catch{return 240}}var hp=L({width:mp()});function gp(){localStorage.setItem(`volute:sidebar-width`,String(hp.width))}function _p(){try{let e=localStorage.getItem(`volute:right-panel-width`);return e?Math.max(240,Math.min(600,Number(e))):360}catch{return 360}}var vp=L({width:_p()});function yp(){localStorage.setItem(`volute:right-panel-width`,String(vp.width))}var bp=W(`<div class="error svelte-bpz96w"> </div>`),xp=W(`<span class="user-username svelte-bpz96w"> </span>`),Sp=W(`<button class="user-row svelte-bpz96w"><span></span> <span class="user-name svelte-bpz96w"> </span> <!></button>`),Cp=W(`<div class="empty svelte-bpz96w"> </div>`),wp=W(`<div class="invite-body svelte-bpz96w"><input type="text" placeholder="Search users..." class="search-input svelte-bpz96w"/> <!> <div class="user-list svelte-bpz96w"></div></div>`);function Tp(e,t){M(t,!0);let n=F(``),r=F(``),i=F(!1),a=F(L([])),o=F(L(new Set)),s=P(()=>new Map(t.minds.map(e=>[e.name,e]))),c=P(()=>{let e=H(a).filter(e=>!H(o).has(e.username));if(!H(n).trim())return e;let t=H(n).toLowerCase();return e.filter(e=>e.username.toLowerCase().includes(t)||e.display_name?.toLowerCase().includes(t))});async function l(){try{I(a,await Yd(),!0)}catch(e){I(r,e instanceof Error?e.message:`Failed to load users`,!0)}}l();async function u(e){if(!H(i)){I(i,!0),I(r,``);try{await Zu(t.channelName,e),I(o,new Set([...H(o),e]),!0),I(n,``),ap()}catch(e){I(r,e instanceof Error?e.message:`Failed to invite`,!0)}finally{I(i,!1)}}}function d(e){if(e.user_type===`mind`){let t=H(s).get(e.username);return t&&Jf.has(t.name)?void 0:t?Ll(t):`var(--text-2)`}return Yf.has(e.username)?`var(--text-0)`:`var(--text-2)`}function f(e){return e.user_type===`mind`&&Jf.has(e.username)}$a(e,{size:`380px`,get title(){return`Invite to #${t.channelName??``}`},get onClose(){return t.onClose},children:(e,t)=>{var o=wp(),s=R(o);Ki(s);var l=B(s,2),p=e=>{var t=bp(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)};J(l,e=>{H(r)&&e(p)});var m=B(l,2);Y(m,21,()=>H(c),ti,(e,t)=>{var n=Sp(),r=R(n);let a,o;var s=B(r,2),c=R(s,!0);A(s);var l=B(s,2),p=e=>{var n=xp(),r=R(n);A(n),V(()=>q(r,`@${H(t).username??``}`)),K(e,n)};J(l,e=>{H(t).display_name&&H(t).display_name!==H(t).username&&e(p)}),A(n),V((e,s)=>{n.disabled=H(i),a=X(r,1,`status-dot svelte-bpz96w`,null,a,e),o=Z(r,``,o,s),q(c,H(t).display_name??H(t).username)},[()=>({iridescent:f(H(t))}),()=>({background:f(H(t))?void 0:d(H(t))})]),U(`click`,n,()=>u(H(t).username)),K(e,n)},e=>{var t=Cp(),n=R(t,!0);A(t),V(()=>q(n,H(a).length===0?`Loading...`:`No users to invite`)),K(e,t)}),A(m),A(o),aa(s,()=>H(n),e=>I(n,e)),K(e,o)},$$slots:{default:!0}}),N()}Lr([`click`]);var Ep=W(`<img alt="" class="avatar svelte-tifzx8" loading="lazy" decoding="async"/>`),Dp=W(`<span class="description svelte-tifzx8"> </span>`),Op=W(`<a class="view-profile svelte-tifzx8">View profile</a>`),kp=W(`<div class="hover-card svelte-tifzx8"><!> <div class="info svelte-tifzx8"><span class="name-row svelte-tifzx8"><span class="display-name svelte-tifzx8"> </span> <span class="type-label svelte-tifzx8"> </span></span> <!> <span class="meta svelte-tifzx8"> <!></span> <!></div></div>`),Ap=W(`<span class="hover-wrapper svelte-tifzx8" role="group"><!></span> <!>`,1);function jp(e,t){M(t,!0);let n=F(!1),r=F(``),i,a,o=F(void 0);function s(e){try{return new Date(Rl(e)).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function c(){i=setTimeout(()=>{let e=a.getBoundingClientRect();I(r,`left:0;top:0;visibility:hidden`),I(n,!0),requestAnimationFrame(()=>{if(!H(o))return;let t=H(o).getBoundingClientRect(),n=t.left,i=t.top,a=H(o).offsetWidth,s=H(o).offsetHeight,c=e.top-8-s,l=e.left;c<8&&(c=e.bottom+8),l+a>window.innerWidth-8&&(l=window.innerWidth-8-a),I(r,`left:${l-n}px;top:${c-i}px`)})},300)}function l(){clearTimeout(i),I(n,!1)}var u=Ap(),d=z(u);di(R(d),()=>t.children),A(d),ua(d,e=>a=e,()=>a);var f=B(d,2),p=e=>{var n=kp(),i=R(n),a=e=>{var n=Ep();V(()=>Xi(n,`src`,t.profile.avatarUrl)),K(e,n)};J(i,e=>{t.profile.avatarUrl&&e(a)});var c=B(i,2),l=R(c),u=R(l),d=R(u,!0);A(u);var f=B(u,2),p=R(f,!0);A(f),A(l);var m=B(l,2),h=e=>{var n=Dp(),r=R(n,!0);A(n),V(()=>q(r,t.profile.description)),K(e,n)};J(m,e=>{t.profile.description&&e(h)});var g=B(m,2),_=R(g),v=B(_),y=e=>{var n=Kr();V(e=>q(n,`· since ${e??``}`),[()=>s(t.profile.created)]),K(e,n)};J(v,e=>{t.profile.created&&e(y)}),A(g);var b=B(g,2),x=e=>{var n=Op();V(()=>Xi(n,`href`,`/minds/${t.profile.name??``}`)),K(e,n)};J(b,e=>{t.profile.userType===`mind`&&e(x)}),A(c),A(n),ua(n,e=>I(o,e),()=>H(o)),V(()=>{Z(n,H(r)),q(d,t.profile.displayName??t.profile.name),q(p,t.profile.userType),q(_,`@${t.profile.name??``}`)}),K(e,n)};J(f,e=>{H(n)&&e(p)}),Ir(`mouseenter`,d,c),Ir(`mouseleave`,d,l),U(`focusin`,d,c),U(`focusout`,d,l),K(e,u),N()}Lr([`focusin`,`focusout`]);var Mp=W(`<button class="header-action-btn svelte-mez0sr" title="Invite"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-mez0sr"><path d="M8 3v10M3 8h10"></path></svg></button>`),Np=W(`<button class="header-action-btn svelte-mez0sr" title="Close"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-mez0sr"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),Pp=W(`<button class="member-row clickable svelte-mez0sr"><span></span> <span class="member-name svelte-mez0sr"> </span> <!></button>`),Fp=W(`<div class="member-row svelte-mez0sr"><span class="status-dot svelte-mez0sr"></span> <span class="member-name svelte-mez0sr"> </span> <!></div>`),Ip=W(`<span class="status-dot svelte-mez0sr"></span>`),Lp=W(`<span></span>`),Rp=W(`<div class="member-row svelte-mez0sr"><!> <span class="member-name svelte-mez0sr"> </span> <!></div>`),zp=W(`<div class="members-panel svelte-mez0sr"><div class="panel-header svelte-mez0sr"><span class="panel-title svelte-mez0sr">Members</span> <span class="member-count svelte-mez0sr"> </span> <div class="header-actions svelte-mez0sr"><!> <!></div></div> <div class="panel-body svelte-mez0sr"><!> <!></div></div> <!>`,1);function Bp(e,t){M(t,!0);let n=pa(t,`typingNames`,19,()=>[]),r=P(()=>new Map(t.minds.map(e=>[e.name,e]))),i=P(()=>new Set(n())),a=P(()=>t.conversation.participants.filter(e=>e.userType===`mind`).map(e=>({participant:e,mind:H(r).get(e.username)}))),o=P(()=>t.conversation.participants.filter(e=>e.userType!==`mind`)),s=P(()=>t.conversation.type===`channel`&&!!t.conversation.channel_name),c=F(!1);function l(e){if(!H(i).has(e))return Yf.has(e)?`var(--text-0)`:`var(--text-2)`}function u(e){return H(i).has(e)}var d=zp(),f=z(d),p=R(f),m=B(R(p),2),h=R(m,!0);A(m);var g=B(m,2),_=R(g),v=e=>{var t=Mp();U(`click`,t,()=>I(c,!0)),K(e,t)};J(_,e=>{H(s)&&e(v)});var y=B(_,2),b=e=>{var n=Np();U(`click`,n,function(...e){t.onClose?.apply(this,e)}),K(e,n)};J(y,e=>{t.onClose&&e(b)}),A(g),A(p);var x=B(p,2),S=R(x);Y(S,17,()=>H(a),ti,(e,n)=>{let r=()=>H(n).participant,i=()=>H(n).mind;var a=G(),o=z(a),s=e=>{{let n=e=>{var n=Pp(),a=R(n);let o,s;var c=B(a,2),l=R(c,!0);A(c),qa(B(c,2),{kind:`mind`,class:`type-icon`}),A(n),V((e,t)=>{o=X(a,1,`status-dot svelte-mez0sr`,null,o,e),s=Z(a,``,s,t),q(l,r().displayName??r().username)},[()=>({iridescent:Jf.has(i().name)}),()=>({background:Jf.has(i().name)?void 0:Ll(i())})]),U(`click`,n,()=>t.onOpenMind(i())),K(e,n)},a=P(()=>({name:i().name,displayName:i().displayName,description:i().description,avatarUrl:i().avatar?`/api/minds/${encodeURIComponent(i().name)}/avatar`:null,userType:`mind`,created:i().created}));jp(e,{get profile(){return H(a)},children:n,$$slots:{default:!0}})}},c=e=>{var t=Fp(),n=R(t);Z(n,``,{},{background:`var(--text-2)`});var i=B(n,2),a=R(i,!0);A(i),qa(B(i,2),{kind:`mind`,class:`type-icon`}),A(t),V(()=>q(a,r().username)),K(e,t)};J(o,e=>{i()?e(s):e(c,-1)}),K(e,a)}),Y(B(S,2),17,()=>H(o),ti,(e,t)=>{{let n=e=>{var n=Rp(),r=R(n),i=e=>{var t=Ip();Z(t,``,{},{background:`var(--text-0)`}),K(e,t)},a=e=>{var n=Lp();let r,i;V((e,t)=>{r=X(n,1,`status-dot svelte-mez0sr`,null,r,e),i=Z(n,``,i,t)},[()=>({iridescent:u(H(t).username)}),()=>({background:l(H(t).username)})]),K(e,n)};J(r,e=>{H(t).userType===`system`?e(i):e(a,-1)});var o=B(r,2),s=R(o,!0);A(o);var c=B(o,2);{let e=P(()=>H(t).userType===`system`?`spiral`:`brain`);qa(c,{get kind(){return H(e)},class:`type-icon`})}A(n),V(()=>q(s,H(t).displayName??H(t).username)),K(e,n)},r=P(()=>({name:H(t).username,displayName:H(t).displayName,description:H(t).description,avatarUrl:H(t).avatar?`/api/auth/avatars/${encodeURIComponent(H(t).avatar)}`:null,userType:H(t).userType}));jp(e,{get profile(){return H(r)},children:n,$$slots:{default:!0}})}}),A(x),A(f);var C=B(f,2),w=e=>{Tp(e,{get channelName(){return t.conversation.channel_name},get minds(){return t.minds},onClose:()=>I(c,!1)})};J(C,e=>{H(c)&&t.conversation.channel_name&&e(w)}),V(()=>q(h,t.conversation.participants.length)),K(e,d),N()}Lr([`click`]);var Vp=`volute_connection`;function Hp(){try{let e=localStorage.getItem(Vp);if(!e)return null;let t=JSON.parse(e);if(t?.daemonUrl&&t?.token)return t}catch{}return null}function Up(e){e?localStorage.setItem(Vp,JSON.stringify(e)):localStorage.removeItem(Vp)}var Wp=L({daemonUrl:null,token:null,detected:!1,swReady:!1});function Gp(){return Wp.daemonUrl!==null}async function Kp(){try{return(await fetch(`/api/health`,{signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}async function qp(e){try{return(await fetch(`${e.replace(/\/$/,``)}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function Jp(e,t,n){let r=`${e.replace(/\/$/,``)}/api/auth/login`,i=await fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({username:t,password:n})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error||`Login failed: ${i.status}`)}let a=await i.json();return{token:a.sessionId,user:a}}async function Yp(e,t){let n=await navigator.serviceWorker.register(`/sw.js`),r=n.active??n.installing??n.waiting;if(!r)throw Error(`Service worker failed to install`);r.state!==`activated`&&await Promise.race([new Promise(e=>{r.addEventListener(`statechange`,function t(){r.state===`activated`&&(r.removeEventListener(`statechange`,t),e())})}),new Promise((e,t)=>setTimeout(()=>t(Error(`Service worker activation timed out`)),1e4))]);let i=await navigator.serviceWorker.ready;navigator.serviceWorker.controller||await Promise.race([new Promise(e=>{navigator.serviceWorker.addEventListener(`controllerchange`,()=>e(),{once:!0})}),new Promise((e,t)=>setTimeout(()=>t(Error(`Service worker claim timed out`)),1e4))]),navigator.serviceWorker.controller.postMessage({type:`configure`,daemonUrl:e,token:t}),i.active?.postMessage({type:`configure`,daemonUrl:e,token:t}),Wp.swReady=!0}async function Xp(){let e=await navigator.serviceWorker.getRegistrations();for(let t of e)await t.unregister();Wp.swReady=!1}async function Zp(){if(await Kp())return Wp.detected=!0,!0;let e=Hp();if(e)try{return await Yp(e.daemonUrl,e.token),Wp.daemonUrl=e.daemonUrl,Wp.token=e.token,Wp.detected=!0,!0}catch(e){console.warn(`[volute] Saved remote connection failed, clearing:`,e.message),Up(null)}return Wp.detected=!0,!1}async function Qp(e,t){let n=e.replace(/\/$/,``);await Yp(n,t),Wp.daemonUrl=n,Wp.token=t,Up({daemonUrl:n,token:t})}async function $p(){await Xp(),Wp.daemonUrl=null,Wp.token=null,Up(null)}var em=W(`<div class="error svelte-1f7yrc4"> </div>`),tm=W(`<form><!> <!> <button type="submit" class="submit-btn svelte-1f7yrc4"> </button></form>`),nm=W(`<div class="warning svelte-1f7yrc4">Connection is not encrypted. Credentials will be sent in plaintext.</div>`),rm=W(`<div class="daemon-info svelte-1f7yrc4"><span class="daemon-url svelte-1f7yrc4"> </span> <button class="link-btn svelte-1f7yrc4">change</button></div> <!> <form><!> <!> <!> <button type="submit" class="submit-btn svelte-1f7yrc4"> </button></form>`,1),im=W(`<div class="container svelte-1f7yrc4"><div class="card svelte-1f7yrc4"><div class="branding svelte-1f7yrc4"><div class="logo-row svelte-1f7yrc4"><span class="logo-wrap svelte-1f7yrc4"><img src="/logo.png" alt="" class="login-spiral svelte-1f7yrc4"/> <span class="hover-dot svelte-1f7yrc4"></span></span> <span class="logo svelte-1f7yrc4">volute</span></div> <div class="subtitle svelte-1f7yrc4">Connect to a daemon</div></div> <!></div></div>`);function am(e,t){M(t,!0);let n=F(`url`),r=F(``),i=F(``),a=F(``),o=F(``),s=F(!1),c=F(!1);async function l(e){if(e.preventDefault(),!H(r).trim())return;I(o,``),I(s,!0);let t=H(r).trim();if(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`https://${t}`),I(r,t,!0),!await qp(t)){if(t.startsWith(`https://`)){let e=t.replace(`https://`,`http://`);if(await qp(e)){I(r,e,!0),I(s,!1),I(c,!0),I(n,`login`);return}}I(o,`Could not reach daemon at this address`),I(s,!1);return}I(s,!1),I(n,`login`)}async function u(e){if(e.preventDefault(),!(!H(i).trim()||!H(a).trim())){I(o,``),I(s,!0);try{let{token:e,user:n}=await Jp(H(r),H(i),H(a));await Qp(H(r),e),t.onConnected(n)}catch(e){I(o,e instanceof Error?e.message:`Login failed`,!0)}I(s,!1)}}var d=im(),f=R(d),p=B(R(f),2),m=e=>{var t=tm(),n=R(t);Xa(n,{inputSize:`md`,type:`text`,placeholder:`daemon address (e.g. mybox.tailnet:1618)`,get value(){return H(r)},set value(e){I(r,e,!0)}});var i=B(n,2),a=e=>{var t=em(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(i,e=>{H(o)&&e(a)});var c=B(i,2);let u;var d=R(c,!0);A(c),A(t),V(e=>{c.disabled=e,u=Z(c,``,u,{opacity:H(s)?.5:1}),q(d,H(s)?`Connecting...`:`Connect`)},[()=>H(s)||!H(r).trim()]),Ir(`submit`,t,l),K(e,t)},h=e=>{var t=rm(),l=z(t),d=R(l),f=R(d,!0);A(d);var p=B(d,2);A(l);var m=B(l,2),h=e=>{K(e,nm())};J(m,e=>{H(c)&&e(h)});var g=B(m,2),_=R(g);Xa(_,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(i)},set value(e){I(i,e,!0)}});var v=B(_,2);Xa(v,{inputSize:`md`,type:`password`,placeholder:`password`,style:`margin-top:8px`,get value(){return H(a)},set value(e){I(a,e,!0)}});var y=B(v,2),b=e=>{var t=em(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(y,e=>{H(o)&&e(b)});var x=B(y,2);let S;var C=R(x,!0);A(x),A(g),V(e=>{q(f,H(r)),x.disabled=e,S=Z(x,``,S,{opacity:H(s)?.5:1}),q(C,H(s)?`Signing in...`:`Sign in`)},[()=>H(s)||!H(i).trim()||!H(a).trim()]),U(`click`,p,()=>{I(n,`url`),I(o,``),I(c,!1)}),Ir(`submit`,g,u),K(e,t)};J(p,e=>{H(n)===`url`?e(m):e(h,-1)}),A(f),A(d),K(e,d),N()}Lr([`click`]);var om=W(`<div class="container svelte-1owmlh"><div class="card svelte-1owmlh"><div class="pending-msg svelte-1owmlh"> </div> <button class="link-btn svelte-1owmlh">Back to login</button></div></div>`),sm=W(`<div class="error svelte-1owmlh"> </div>`),cm=W(`<div class="container svelte-1owmlh"><div class="card svelte-1owmlh"><div class="branding svelte-1owmlh"><div class="logo-row svelte-1owmlh"><span class="logo-wrap svelte-1owmlh"><img src="/logo.png" alt="" class="login-spiral svelte-1owmlh"/> <span class="hover-dot svelte-1owmlh"></span></span> <span class="logo svelte-1owmlh">volute</span></div> <div class="subtitle svelte-1owmlh"> </div></div> <form><!> <!> <!> <button type="submit" class="submit-btn svelte-1owmlh"> </button></form> <div class="toggle svelte-1owmlh"><button class="link-btn svelte-1owmlh"> </button></div></div></div>`);function lm(e,t){M(t,!0);let n=F(`login`),r=F(``),i=F(``),a=F(``),o=F(!1),s=F(``);async function c(e){if(e.preventDefault(),!(!H(r).trim()||!H(i).trim())){I(a,``),I(o,!0);try{if(H(n)===`login`){let e=await Xl(H(r),H(i));e.role===`pending`?I(s,`Your account is pending approval by an admin.`):t.onAuth(e)}else{let e=await Zl(H(r),H(i));e.role===`admin`?t.onAuth(e):I(s,`Account created. Waiting for admin approval.`)}}catch(e){I(a,e instanceof Error?e.message:`Something went wrong`,!0)}I(o,!1)}}var l=G(),u=z(l),d=e=>{var t=om(),r=R(t),i=R(r),a=R(i,!0);A(i);var o=B(i,2);A(r),A(t),V(()=>q(a,H(s))),U(`click`,o,()=>{I(s,``),I(n,`login`)}),K(e,t)},f=e=>{var t=cm(),s=R(t),l=R(s),u=B(R(l),2),d=R(u,!0);A(u),A(l);var f=B(l,2),p=R(f);Xa(p,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(r)},set value(e){I(r,e,!0)}});var m=B(p,2);Xa(m,{inputSize:`md`,type:`password`,placeholder:`password`,style:`margin-top:8px`,get value(){return H(i)},set value(e){I(i,e,!0)}});var h=B(m,2),g=e=>{var t=sm(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(h,e=>{H(a)&&e(g)});var _=B(h,2);let v;var y=R(_,!0);A(_),A(f);var b=B(f,2),x=R(b),S=R(x,!0);A(x),A(b),A(s),A(t),V(e=>{q(d,H(n)===`login`?`Sign in to continue`:`Create an account`),_.disabled=e,v=Z(_,``,v,{opacity:H(o)?.5:1}),q(y,H(o)?`...`:H(n)===`login`?`Sign in`:`Create account`),q(S,H(n)===`login`?`Need an account? Register`:`Have an account? Sign in`)},[()=>H(o)||!H(r).trim()||!H(i).trim()]),Ir(`submit`,f,c),U(`click`,x,()=>{I(n,H(n)===`login`?`register`:`login`,!0),I(a,``)}),K(e,t)};J(u,e=>{H(s)?e(d):e(f,-1)}),K(e,l),N()}Lr([`click`]);function um(e){try{return new Date(Rl(e)).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return``}}function dm(e,t){if(t===0)return!0;let n=e[t-1],r=e[t];return(n.sender_name??n.role)!==(r.sender_name??r.role)}function fm(e){return e.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
71
|
+
`);i=o.pop()||``;for(let e of o){if(!e.trim())continue;let t=wf(`${e}\n\n`);for(let e of t)if(e.id&&(gf=e.id),e.data)try{Cf(JSON.parse(e.data))}catch(t){e.data.trim()&&console.warn(`[connection] failed to process SSE event:`,e.data.slice(0,200),t)}}}Tf(),e.aborted||Df()}).catch(e=>{Tf(),!(e instanceof DOMException&&e.name===`AbortError`)&&Df()})}function Df(){xf.connected=!1,!mf&&(mf=setTimeout(()=>{mf=null,Ef()},_f),_f=Math.min(_f*2,vf))}function Of(){kf(),gf=``,_f=1e3,Ef()}function kf(){mf&&=(clearTimeout(mf),null),Tf(),pf?.abort(),pf=null}async function Af(){let e=await fetch(`/api/extensions`);return e.ok?e.json():(console.warn(`Failed to fetch extensions: HTTP ${e.status}`),[])}function jf(){`Notification`in window&&Notification.permission==="default"&&Notification.requestPermission()}function Mf(e,t,n){if(!(`Notification`in window)||Notification.permission!==`granted`)return;let r=new Notification(e,{body:t,icon:`/favicon.ico`});n&&(r.onclick=()=>{window.focus(),n(),r.close()})}function Nf(){return{active:!1,provider:``,providerName:``,url:``,flowId:``,polling:!1,needsCode:!1,waitingForCode:!1,codeInput:``,codeSubmitting:!1,error:``,success:!1}}var Pf=L(Nf());async function Ff(e,t){Pf.active=!0,Pf.provider=e,Pf.providerName=t||e,Pf.error=``,Pf.success=!1;try{let t=await Dd(e);Pf.flowId=t.flowId,Pf.needsCode=!!t.needsManualCode,Pf.polling=!0,t.url&&(Pf.url=t.url,window.open(t.url,`_blank`)),If()}catch(e){Pf.error=e instanceof Error?e.message:`OAuth failed`}}async function If(){let e=0;for(;Pf.polling;){await new Promise(e=>setTimeout(e,2500));try{let t=await Od(Pf.flowId);if(e=0,t.waitingForCode&&(Pf.waitingForCode=!0),t.status===`complete`){Pf.polling=!1,Pf.success=!0,Vf();return}else if(t.status===`error`){Pf.polling=!1,Pf.error=t.error??`OAuth failed`;return}}catch{if(e++,e>=5){Pf.polling=!1,Pf.error=`Lost connection while waiting for OAuth`;return}}}}async function Lf(){if(!(!Pf.codeInput.trim()||!Pf.flowId)){Pf.error=``,Pf.codeSubmitting=!0;try{await kd(Pf.flowId,Pf.codeInput.trim()),Pf.codeInput=``}catch(e){Pf.error=e instanceof Error?e.message:`Failed to submit code`}Pf.codeSubmitting=!1}}function Rf(){Pf.polling=!1,zf()}function zf(){Object.assign(Pf,Nf())}function Bf(e){let t=e.filter(e=>e.oauthHealthy===!1);qf.oauthErrors.map(e=>e.id).join(`,`)!==t.map(e=>e.id).join(`,`)&&(qf.oauthErrors=t)}async function Vf(){try{Bf(await Cd())}catch{}}var Hf=L({user:null,checked:!1,systemName:null,localName:null,spiritName:null,setupComplete:!0,setupChecked:!1,setupProgress:null});async function Uf(){try{let e=await fetch(`/api/setup/status`);if(e.ok){let t=await e.json();Hf.setupComplete=t.complete,t.complete||(Hf.setupProgress={hasSystem:t.hasSystem,hasAccount:t.hasAccount,setupType:t.setupType,spiritName:t.spiritName})}}catch{Hf.setupComplete=!0}Hf.setupChecked=!0}async function Wf(){if(await Uf(),!Hf.setupComplete&&!Hf.setupProgress?.hasAccount){Hf.checked=!0;return}try{let e=await Yl();if(Hf.user=e,Hf.checked=!0,e){let e=await gd();Hf.systemName=e.system,Hf.localName=e.name,Hf.spiritName=e.spiritName}}catch{Hf.checked=!0}}async function Gf(){try{await Ql()}catch{}Hf.user=null}async function Kf(e){Hf.user=e;try{let e=await gd();Hf.systemName=e.system,Hf.localName=e.name,Hf.spiritName=e.spiritName}catch{}}var qf=L({minds:[],mindsLoaded:!1,conversations:[],activity:[],extensions:[],oauthErrors:[],get connectionOk(){return xf.connected}}),Jf=new Gl,Yf=new Gl,Xf=new Kl,Zf=L({activeConversationId:null}),Qf=null;function $f(e,t){if(Qf?.username===e&&Qf?.displayName===t)return Qf.regex;let n=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=RegExp(`@(${n(e)}${t?`|${n(t)}`:``})`,`i`);return Qf={username:e,displayName:t,regex:r},r}function ep(){return typeof document>`u`||document.visibilityState!==`hidden`}function tp(e){Zf.activeConversationId=e,e&&ep()&&(Xf.set(e,0),Tu(e).catch(e=>console.warn(`[stores] markAsRead failed:`,e)))}typeof document<`u`&&document.addEventListener(`visibilitychange`,()=>{let e=Zf.activeConversationId;document.visibilityState===`visible`&&e&&(Xf.set(e,0),Tu(e).catch(e=>console.warn(`[stores] markAsRead failed:`,e)))});function np(e){if(e.event===`snapshot`){if(qf.conversations=e.conversations??[],qf.activity=e.activity??[],Jf.clear(),Array.isArray(e.activeMinds))for(let t of e.activeMinds)Jf.add(t);if(Yf.clear(),Array.isArray(e.onlineBrains))for(let t of e.onlineBrains)Yf.add(t);let t=ep()?Zf.activeConversationId:null;Xf.clear();for(let e of qf.conversations)e.unreadCount&&e.id!==t&&Xf.set(e.id,e.unreadCount);t&&qf.conversations.some(e=>e.id===t&&e.unreadCount)&&Tu(t).catch(e=>console.warn(`[stores] markAsRead failed:`,e)),mu().then(e=>{qf.minds=e,qf.mindsLoaded=!0}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)}),Af().then(e=>{qf.extensions=e}).catch(e=>{console.warn(`[stores] failed to refresh extensions:`,e)}),Cd().then(Bf).catch(()=>{})}else if(e.event===`activity`){let{event:t,...n}=e;qf.activity=[n,...qf.activity].slice(0,50),n.type===`mind_active`&&Jf.add(n.mind),(n.type===`mind_idle`||n.type===`mind_stopped`||n.type===`mind_done`||n.type===`mind_sleeping`)&&Jf.delete(n.mind),n.type===`brain_online`&&Yf.add(n.mind),n.type===`brain_offline`&&Yf.delete(n.mind),(n.type===`mind_started`||n.type===`mind_stopped`||n.type===`mind_sleeping`||n.type===`mind_waking`||n.type===`mind_error`||n.type===`mind_sprouted`||n.type===`profile_updated`||n.type===`mind_done`&&qf.minds.some(e=>e.name===n.mind&&e.lastError))&&mu().then(e=>{qf.minds=e,qf.mindsLoaded=!0}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)})}else if(e.event===`conversation_added`)qf.conversations.some(t=>t.id===e.conversation.id)||(qf.conversations=[e.conversation,...qf.conversations]);else if(e.event===`conversation`){let t=qf.conversations.find(t=>t.id===e.conversationId);if(t&&e.type===`message`){let n=``;if(Array.isArray(e.content))for(let t of e.content)t.type===`text`&&(n+=t.text);t.lastMessage={role:e.role,senderName:e.senderName,text:n,createdAt:e.createdAt},t.updated_at=e.createdAt;let r=e.senderName===Hf.user?.username,i=e.conversationId===Zf.activeConversationId&&ep();if(!r&&!i){let r=Xf.get(e.conversationId)??0;Xf.set(e.conversationId,r+1);let i=e.senderName??`Someone`;t.type===`dm`?Mf(i,n.slice(0,200)):t.type===`channel`&&$f(Hf.user?.username??``,Hf.user?.display_name??``).test(n)&&Mf(`${i} in #${t.channel_name??`channel`}`,n.slice(0,200))}else!r&&i&&Tu(e.conversationId).catch(e=>console.warn(`[stores] markAsRead failed:`,e));qf.conversations=[...qf.conversations]}}}var rp=null,ip=null;function ap(){op(),rp=Sf(np),Of(),ip=setInterval(()=>{Cd().then(Bf).catch(()=>{})},6e4)}function op(){rp?.(),rp=null,ip&&=(clearInterval(ip),null),kf()}function sp(){try{let e=localStorage.getItem(`volute:hidden-chats`);return e?new Gl(JSON.parse(e)):new Gl}catch{return new Gl}}var cp=sp();function lp(){localStorage.setItem(`volute:hidden-chats`,JSON.stringify([...cp]))}function up(e){cp.add(e),lp()}var dp=L({sidebarOpen:!1});function fp(){dp.sidebarOpen=!dp.sidebarOpen}function pp(){dp.sidebarOpen=!1}function mp(){try{let e=localStorage.getItem(`volute:sidebar-width`);return e?Math.max(180,Math.min(400,Number(e))):240}catch{return 240}}var hp=L({width:mp()});function gp(){localStorage.setItem(`volute:sidebar-width`,String(hp.width))}function _p(){try{let e=localStorage.getItem(`volute:right-panel-width`);return e?Math.max(240,Math.min(600,Number(e))):360}catch{return 360}}var vp=L({width:_p()});function yp(){localStorage.setItem(`volute:right-panel-width`,String(vp.width))}var bp=W(`<div class="error svelte-bpz96w"> </div>`),xp=W(`<span class="user-username svelte-bpz96w"> </span>`),Sp=W(`<button class="user-row svelte-bpz96w"><span></span> <span class="user-name svelte-bpz96w"> </span> <!></button>`),Cp=W(`<div class="empty svelte-bpz96w"> </div>`),wp=W(`<div class="invite-body svelte-bpz96w"><input type="text" placeholder="Search users..." class="search-input svelte-bpz96w"/> <!> <div class="user-list svelte-bpz96w"></div></div>`);function Tp(e,t){M(t,!0);let n=F(``),r=F(``),i=F(!1),a=F(L([])),o=F(L(new Set)),s=P(()=>new Map(t.minds.map(e=>[e.name,e]))),c=P(()=>{let e=H(a).filter(e=>!H(o).has(e.username));if(!H(n).trim())return e;let t=H(n).toLowerCase();return e.filter(e=>e.username.toLowerCase().includes(t)||e.display_name?.toLowerCase().includes(t))});async function l(){try{I(a,await Yd(),!0)}catch(e){I(r,e instanceof Error?e.message:`Failed to load users`,!0)}}l();async function u(e){if(!H(i)){I(i,!0),I(r,``);try{await Zu(t.channelName,e),I(o,new Set([...H(o),e]),!0),I(n,``),ap()}catch(e){I(r,e instanceof Error?e.message:`Failed to invite`,!0)}finally{I(i,!1)}}}function d(e){if(e.user_type===`mind`){let t=H(s).get(e.username);return t&&Jf.has(t.name)?void 0:t?Ll(t):`var(--text-2)`}return Yf.has(e.username)?`var(--text-0)`:`var(--text-2)`}function f(e){return e.user_type===`mind`&&Jf.has(e.username)}$a(e,{size:`380px`,get title(){return`Invite to #${t.channelName??``}`},get onClose(){return t.onClose},children:(e,t)=>{var o=wp(),s=R(o);Ki(s);var l=B(s,2),p=e=>{var t=bp(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)};J(l,e=>{H(r)&&e(p)});var m=B(l,2);Y(m,21,()=>H(c),ti,(e,t)=>{var n=Sp(),r=R(n);let a,o;var s=B(r,2),c=R(s,!0);A(s);var l=B(s,2),p=e=>{var n=xp(),r=R(n);A(n),V(()=>q(r,`@${H(t).username??``}`)),K(e,n)};J(l,e=>{H(t).display_name&&H(t).display_name!==H(t).username&&e(p)}),A(n),V((e,s)=>{n.disabled=H(i),a=X(r,1,`status-dot svelte-bpz96w`,null,a,e),o=Z(r,``,o,s),q(c,H(t).display_name??H(t).username)},[()=>({iridescent:f(H(t))}),()=>({background:f(H(t))?void 0:d(H(t))})]),U(`click`,n,()=>u(H(t).username)),K(e,n)},e=>{var t=Cp(),n=R(t,!0);A(t),V(()=>q(n,H(a).length===0?`Loading...`:`No users to invite`)),K(e,t)}),A(m),A(o),aa(s,()=>H(n),e=>I(n,e)),K(e,o)},$$slots:{default:!0}}),N()}Lr([`click`]);var Ep=W(`<img alt="" class="avatar svelte-tifzx8" loading="lazy" decoding="async"/>`),Dp=W(`<span class="description svelte-tifzx8"> </span>`),Op=W(`<a class="view-profile svelte-tifzx8">View profile</a>`),kp=W(`<div class="hover-card svelte-tifzx8"><!> <div class="info svelte-tifzx8"><span class="name-row svelte-tifzx8"><span class="display-name svelte-tifzx8"> </span> <span class="type-label svelte-tifzx8"> </span></span> <!> <span class="meta svelte-tifzx8"> <!></span> <!></div></div>`),Ap=W(`<span class="hover-wrapper svelte-tifzx8" role="group"><!></span> <!>`,1);function jp(e,t){M(t,!0);let n=F(!1),r=F(``),i,a,o=F(void 0);function s(e){try{return new Date(Rl(e)).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function c(){i=setTimeout(()=>{let e=a.getBoundingClientRect();I(r,`left:0;top:0;visibility:hidden`),I(n,!0),requestAnimationFrame(()=>{if(!H(o))return;let t=H(o).getBoundingClientRect(),n=t.left,i=t.top,a=H(o).offsetWidth,s=H(o).offsetHeight,c=e.top-8-s,l=e.left;c<8&&(c=e.bottom+8),l+a>window.innerWidth-8&&(l=window.innerWidth-8-a),I(r,`left:${l-n}px;top:${c-i}px`)})},300)}function l(){clearTimeout(i),I(n,!1)}var u=Ap(),d=z(u);di(R(d),()=>t.children),A(d),ua(d,e=>a=e,()=>a);var f=B(d,2),p=e=>{var n=kp(),i=R(n),a=e=>{var n=Ep();V(()=>Xi(n,`src`,t.profile.avatarUrl)),K(e,n)};J(i,e=>{t.profile.avatarUrl&&e(a)});var c=B(i,2),l=R(c),u=R(l),d=R(u,!0);A(u);var f=B(u,2),p=R(f,!0);A(f),A(l);var m=B(l,2),h=e=>{var n=Dp(),r=R(n,!0);A(n),V(()=>q(r,t.profile.description)),K(e,n)};J(m,e=>{t.profile.description&&e(h)});var g=B(m,2),_=R(g),v=B(_),y=e=>{var n=Kr();V(e=>q(n,`· since ${e??``}`),[()=>s(t.profile.created)]),K(e,n)};J(v,e=>{t.profile.created&&e(y)}),A(g);var b=B(g,2),x=e=>{var n=Op();V(()=>Xi(n,`href`,`/minds/${t.profile.name??``}`)),K(e,n)};J(b,e=>{t.profile.userType===`mind`&&e(x)}),A(c),A(n),ua(n,e=>I(o,e),()=>H(o)),V(()=>{Z(n,H(r)),q(d,t.profile.displayName??t.profile.name),q(p,t.profile.userType),q(_,`@${t.profile.name??``}`)}),K(e,n)};J(f,e=>{H(n)&&e(p)}),Ir(`mouseenter`,d,c),Ir(`mouseleave`,d,l),U(`focusin`,d,c),U(`focusout`,d,l),K(e,u),N()}Lr([`focusin`,`focusout`]);var Mp=W(`<button class="header-action-btn svelte-mez0sr" title="Invite"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-mez0sr"><path d="M8 3v10M3 8h10"></path></svg></button>`),Np=W(`<button class="header-action-btn svelte-mez0sr" title="Close"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-mez0sr"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),Pp=W(`<button class="member-row clickable svelte-mez0sr"><span></span> <span class="member-name svelte-mez0sr"> </span> <!></button>`),Fp=W(`<div class="member-row svelte-mez0sr"><span class="status-dot svelte-mez0sr"></span> <span class="member-name svelte-mez0sr"> </span> <!></div>`),Ip=W(`<span class="status-dot svelte-mez0sr"></span>`),Lp=W(`<span></span>`),Rp=W(`<div class="member-row svelte-mez0sr"><!> <span class="member-name svelte-mez0sr"> </span> <!></div>`),zp=W(`<div class="members-panel svelte-mez0sr"><div class="panel-header svelte-mez0sr"><span class="panel-title svelte-mez0sr">Members</span> <span class="member-count svelte-mez0sr"> </span> <div class="header-actions svelte-mez0sr"><!> <!></div></div> <div class="panel-body svelte-mez0sr"><!> <!></div></div> <!>`,1);function Bp(e,t){M(t,!0);let n=pa(t,`typingNames`,19,()=>[]),r=P(()=>new Map(t.minds.map(e=>[e.name,e]))),i=P(()=>new Set(n())),a=P(()=>t.conversation.participants.filter(e=>e.userType===`mind`).map(e=>({participant:e,mind:H(r).get(e.username)}))),o=P(()=>t.conversation.participants.filter(e=>e.userType!==`mind`)),s=P(()=>t.conversation.type===`channel`&&!!t.conversation.channel_name),c=F(!1);function l(e){if(!H(i).has(e))return Yf.has(e)?`var(--text-0)`:`var(--text-2)`}function u(e){return H(i).has(e)}var d=zp(),f=z(d),p=R(f),m=B(R(p),2),h=R(m,!0);A(m);var g=B(m,2),_=R(g),v=e=>{var t=Mp();U(`click`,t,()=>I(c,!0)),K(e,t)};J(_,e=>{H(s)&&e(v)});var y=B(_,2),b=e=>{var n=Np();U(`click`,n,function(...e){t.onClose?.apply(this,e)}),K(e,n)};J(y,e=>{t.onClose&&e(b)}),A(g),A(p);var x=B(p,2),S=R(x);Y(S,17,()=>H(a),ti,(e,n)=>{let r=()=>H(n).participant,i=()=>H(n).mind;var a=G(),o=z(a),s=e=>{{let n=e=>{var n=Pp(),a=R(n);let o,s;var c=B(a,2),l=R(c,!0);A(c),qa(B(c,2),{kind:`mind`,class:`type-icon`}),A(n),V((e,t)=>{o=X(a,1,`status-dot svelte-mez0sr`,null,o,e),s=Z(a,``,s,t),q(l,r().displayName??r().username)},[()=>({iridescent:Jf.has(i().name)}),()=>({background:Jf.has(i().name)?void 0:Ll(i())})]),U(`click`,n,()=>t.onOpenMind(i())),K(e,n)},a=P(()=>({name:i().name,displayName:i().displayName,description:i().description,avatarUrl:i().avatar?`/api/minds/${encodeURIComponent(i().name)}/avatar`:null,userType:`mind`,created:i().created}));jp(e,{get profile(){return H(a)},children:n,$$slots:{default:!0}})}},c=e=>{var t=Fp(),n=R(t);Z(n,``,{},{background:`var(--text-2)`});var i=B(n,2),a=R(i,!0);A(i),qa(B(i,2),{kind:`mind`,class:`type-icon`}),A(t),V(()=>q(a,r().username)),K(e,t)};J(o,e=>{i()?e(s):e(c,-1)}),K(e,a)}),Y(B(S,2),17,()=>H(o),ti,(e,t)=>{{let n=e=>{var n=Rp(),r=R(n),i=e=>{var t=Ip();Z(t,``,{},{background:`var(--text-0)`}),K(e,t)},a=e=>{var n=Lp();let r,i;V((e,t)=>{r=X(n,1,`status-dot svelte-mez0sr`,null,r,e),i=Z(n,``,i,t)},[()=>({iridescent:u(H(t).username)}),()=>({background:l(H(t).username)})]),K(e,n)};J(r,e=>{H(t).userType===`system`?e(i):e(a,-1)});var o=B(r,2),s=R(o,!0);A(o);var c=B(o,2);{let e=P(()=>H(t).userType===`system`?`spiral`:`brain`);qa(c,{get kind(){return H(e)},class:`type-icon`})}A(n),V(()=>q(s,H(t).displayName??H(t).username)),K(e,n)},r=P(()=>({name:H(t).username,displayName:H(t).displayName,description:H(t).description,avatarUrl:H(t).avatar?`/api/auth/avatars/${encodeURIComponent(H(t).avatar)}`:null,userType:H(t).userType}));jp(e,{get profile(){return H(r)},children:n,$$slots:{default:!0}})}}),A(x),A(f);var C=B(f,2),w=e=>{Tp(e,{get channelName(){return t.conversation.channel_name},get minds(){return t.minds},onClose:()=>I(c,!1)})};J(C,e=>{H(c)&&t.conversation.channel_name&&e(w)}),V(()=>q(h,t.conversation.participants.length)),K(e,d),N()}Lr([`click`]);var Vp=`volute_connection`;function Hp(){try{let e=localStorage.getItem(Vp);if(!e)return null;let t=JSON.parse(e);if(t?.daemonUrl&&t?.token)return t}catch{}return null}function Up(e){e?localStorage.setItem(Vp,JSON.stringify(e)):localStorage.removeItem(Vp)}var Wp=L({daemonUrl:null,token:null,detected:!1,swReady:!1});function Gp(){return Wp.daemonUrl!==null}async function Kp(){try{return(await fetch(`/api/health`,{signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}async function qp(e){try{return(await fetch(`${e.replace(/\/$/,``)}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function Jp(e,t,n){let r=`${e.replace(/\/$/,``)}/api/auth/login`,i=await fetch(r,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({username:t,password:n})});if(!i.ok){let e=await i.json().catch(()=>({}));throw Error(e.error||`Login failed: ${i.status}`)}let a=await i.json();return{token:a.sessionId,user:a}}async function Yp(e,t){let n=await navigator.serviceWorker.register(`/sw.js`),r=n.active??n.installing??n.waiting;if(!r)throw Error(`Service worker failed to install`);r.state!==`activated`&&await Promise.race([new Promise(e=>{r.addEventListener(`statechange`,function t(){r.state===`activated`&&(r.removeEventListener(`statechange`,t),e())})}),new Promise((e,t)=>setTimeout(()=>t(Error(`Service worker activation timed out`)),1e4))]);let i=await navigator.serviceWorker.ready;navigator.serviceWorker.controller||await Promise.race([new Promise(e=>{navigator.serviceWorker.addEventListener(`controllerchange`,()=>e(),{once:!0})}),new Promise((e,t)=>setTimeout(()=>t(Error(`Service worker claim timed out`)),1e4))]),navigator.serviceWorker.controller.postMessage({type:`configure`,daemonUrl:e,token:t}),i.active?.postMessage({type:`configure`,daemonUrl:e,token:t}),Wp.swReady=!0}async function Xp(){let e=await navigator.serviceWorker.getRegistrations();for(let t of e)await t.unregister();Wp.swReady=!1}async function Zp(){if(await Kp())return Wp.detected=!0,!0;let e=Hp();if(e)try{return await Yp(e.daemonUrl,e.token),Wp.daemonUrl=e.daemonUrl,Wp.token=e.token,Wp.detected=!0,!0}catch(e){console.warn(`[volute] Saved remote connection failed, clearing:`,e.message),Up(null)}return Wp.detected=!0,!1}async function Qp(e,t){let n=e.replace(/\/$/,``);await Yp(n,t),Wp.daemonUrl=n,Wp.token=t,Up({daemonUrl:n,token:t})}async function $p(){await Xp(),Wp.daemonUrl=null,Wp.token=null,Up(null)}var em=W(`<div class="error svelte-1f7yrc4"> </div>`),tm=W(`<form><!> <!> <button type="submit" class="submit-btn svelte-1f7yrc4"> </button></form>`),nm=W(`<div class="warning svelte-1f7yrc4">Connection is not encrypted. Credentials will be sent in plaintext.</div>`),rm=W(`<div class="daemon-info svelte-1f7yrc4"><span class="daemon-url svelte-1f7yrc4"> </span> <button class="link-btn svelte-1f7yrc4">change</button></div> <!> <form><!> <!> <!> <button type="submit" class="submit-btn svelte-1f7yrc4"> </button></form>`,1),im=W(`<div class="container svelte-1f7yrc4"><div class="card svelte-1f7yrc4"><div class="branding svelte-1f7yrc4"><div class="logo-row svelte-1f7yrc4"><span class="logo-wrap svelte-1f7yrc4"><img src="/logo.png" alt="" class="login-spiral svelte-1f7yrc4"/> <span class="hover-dot svelte-1f7yrc4"></span></span> <span class="logo svelte-1f7yrc4">volute</span></div> <div class="subtitle svelte-1f7yrc4">Connect to a daemon</div></div> <!></div></div>`);function am(e,t){M(t,!0);let n=F(`url`),r=F(``),i=F(``),a=F(``),o=F(``),s=F(!1),c=F(!1);async function l(e){if(e.preventDefault(),!H(r).trim())return;I(o,``),I(s,!0);let t=H(r).trim();if(!t.startsWith(`http://`)&&!t.startsWith(`https://`)&&(t=`https://${t}`),I(r,t,!0),!await qp(t)){if(t.startsWith(`https://`)){let e=t.replace(`https://`,`http://`);if(await qp(e)){I(r,e,!0),I(s,!1),I(c,!0),I(n,`login`);return}}I(o,`Could not reach daemon at this address`),I(s,!1);return}I(s,!1),I(n,`login`)}async function u(e){if(e.preventDefault(),!(!H(i).trim()||!H(a).trim())){I(o,``),I(s,!0);try{let{token:e,user:n}=await Jp(H(r),H(i),H(a));await Qp(H(r),e),t.onConnected(n)}catch(e){I(o,e instanceof Error?e.message:`Login failed`,!0)}I(s,!1)}}var d=im(),f=R(d),p=B(R(f),2),m=e=>{var t=tm(),n=R(t);Xa(n,{inputSize:`md`,type:`text`,placeholder:`daemon address (e.g. mybox.tailnet:1618)`,get value(){return H(r)},set value(e){I(r,e,!0)}});var i=B(n,2),a=e=>{var t=em(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(i,e=>{H(o)&&e(a)});var c=B(i,2);let u;var d=R(c,!0);A(c),A(t),V(e=>{c.disabled=e,u=Z(c,``,u,{opacity:H(s)?.5:1}),q(d,H(s)?`Connecting...`:`Connect`)},[()=>H(s)||!H(r).trim()]),Ir(`submit`,t,l),K(e,t)},h=e=>{var t=rm(),l=z(t),d=R(l),f=R(d,!0);A(d);var p=B(d,2);A(l);var m=B(l,2),h=e=>{K(e,nm())};J(m,e=>{H(c)&&e(h)});var g=B(m,2),_=R(g);Xa(_,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(i)},set value(e){I(i,e,!0)}});var v=B(_,2);Xa(v,{inputSize:`md`,type:`password`,placeholder:`password`,style:`margin-top:8px`,get value(){return H(a)},set value(e){I(a,e,!0)}});var y=B(v,2),b=e=>{var t=em(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(y,e=>{H(o)&&e(b)});var x=B(y,2);let S;var C=R(x,!0);A(x),A(g),V(e=>{q(f,H(r)),x.disabled=e,S=Z(x,``,S,{opacity:H(s)?.5:1}),q(C,H(s)?`Signing in...`:`Sign in`)},[()=>H(s)||!H(i).trim()||!H(a).trim()]),U(`click`,p,()=>{I(n,`url`),I(o,``),I(c,!1)}),Ir(`submit`,g,u),K(e,t)};J(p,e=>{H(n)===`url`?e(m):e(h,-1)}),A(f),A(d),K(e,d),N()}Lr([`click`]);var om=W(`<div class="container svelte-1owmlh"><div class="card svelte-1owmlh"><div class="pending-msg svelte-1owmlh"> </div> <button class="link-btn svelte-1owmlh">Back to login</button></div></div>`),sm=W(`<div class="error svelte-1owmlh"> </div>`),cm=W(`<div class="toggle svelte-1owmlh"><button class="link-btn svelte-1owmlh"> </button></div>`),lm=W(`<div class="container svelte-1owmlh"><div class="card svelte-1owmlh"><div class="branding svelte-1owmlh"><div class="logo-row svelte-1owmlh"><span class="logo-wrap svelte-1owmlh"><img src="/logo.png" alt="" class="login-spiral svelte-1owmlh"/> <span class="hover-dot svelte-1owmlh"></span></span> <span class="logo svelte-1owmlh">volute</span></div> <div class="subtitle svelte-1owmlh"> </div></div> <form><!> <!> <!> <button type="submit" class="submit-btn svelte-1owmlh"> </button></form> <!></div></div>`);function um(e,t){M(t,!0);let n=pa(t,`resumeSetup`,3,!1),r=F(`login`),i=F(``),a=F(``),o=F(``),s=F(!1),c=F(``);async function l(e){if(e.preventDefault(),!(!H(i).trim()||!H(a).trim())){I(o,``),I(s,!0);try{if(H(r)===`login`){let e=await Xl(H(i),H(a));e.role===`pending`?I(c,`Your account is pending approval by an admin.`):t.onAuth(e)}else{let e=await Zl(H(i),H(a));e.role===`admin`?t.onAuth(e):I(c,`Account created. Waiting for admin approval.`)}}catch(e){I(o,e instanceof Error?e.message:`Something went wrong`,!0)}I(s,!1)}}var u=G(),d=z(u),f=e=>{var t=om(),n=R(t),i=R(n),a=R(i,!0);A(i);var o=B(i,2);A(n),A(t),V(()=>q(a,H(c))),U(`click`,o,()=>{I(c,``),I(r,`login`)}),K(e,t)},p=e=>{var t=lm(),c=R(t),u=R(c),d=B(R(u),2),f=R(d,!0);A(d),A(u);var p=B(u,2),m=R(p);Xa(m,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(i)},set value(e){I(i,e,!0)}});var h=B(m,2);Xa(h,{inputSize:`md`,type:`password`,placeholder:`password`,style:`margin-top:8px`,get value(){return H(a)},set value(e){I(a,e,!0)}});var g=B(h,2),_=e=>{var t=sm(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(g,e=>{H(o)&&e(_)});var v=B(g,2);let y;var b=R(v,!0);A(v),A(p);var x=B(p,2),S=e=>{var t=cm(),n=R(t),i=R(n,!0);A(n),A(t),V(()=>q(i,H(r)===`login`?`Need an account? Register`:`Have an account? Sign in`)),U(`click`,n,()=>{I(r,H(r)===`login`?`register`:`login`,!0),I(o,``)}),K(e,t)};J(x,e=>{n()||e(S)}),A(c),A(t),V(e=>{q(f,n()?`Sign in to continue setup`:H(r)===`login`?`Sign in to continue`:`Create an account`),v.disabled=e,y=Z(v,``,y,{opacity:H(s)?.5:1}),q(b,H(s)?`...`:H(r)===`login`?`Sign in`:`Create account`)},[()=>H(s)||!H(i).trim()||!H(a).trim()]),Ir(`submit`,p,l),K(e,t)};J(d,e=>{H(c)?e(f):e(p,-1)}),K(e,u),N()}Lr([`click`]);function dm(e){try{return new Date(Rl(e)).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return``}}function fm(e,t){if(t===0)return!0;let n=e[t-1],r=e[t];return(n.sender_name??n.role)!==(r.sender_name??r.role)}function pm(e){return e.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
72
72
|
|
|
73
|
-
`)}function
|
|
74
|
-
and reshape over time.</p> <button class="plant-btn svelte-1sx25j1">Plant your first seed</button> <!></div></div>`);function Wm(e,t){M(t,!0);let n=P(()=>Vm(t.minds));var r=Um(),i=R(r),a=B(R(i),4),o=B(a,2),s=e=>{var t=Hm(),r=B(R(t)),i=R(r);A(r),j(),A(t),V(()=>q(i,`chat with ${H(n).displayName??H(n).name??``}`)),U(`click`,r,()=>Am(`/minds/${H(n).name}`)),K(e,t)};J(o,e=>{H(n)&&e(s)}),A(i),A(r),U(`click`,a,function(...e){t.onSeed?.apply(this,e)}),K(e,r),N()}Lr([`click`]);var Gm=W(`<button class="open-chat-btn svelte-hdi0pv">Chat</button>`),Km=W(`<div class="chat-empty svelte-hdi0pv">Loading...</div>`),qm=W(`<div class="chat-empty svelte-hdi0pv"> </div>`),Jm=W(`<div class="chat-empty svelte-hdi0pv">No messages.</div>`),Ym=W(`<div class="date-divider svelte-hdi0pv"><div class="divider-line svelte-hdi0pv"></div> <span> </span> <div class="divider-line svelte-hdi0pv"></div></div>`),Xm=W(`<div class="chat-entry-header svelte-hdi0pv"><span> </span> <span class="chat-timestamp svelte-hdi0pv"> </span></div>`),Zm=W(`<div class="markdown-body"></div>`),Qm=W(`<!> <div><!> <div><!></div></div>`,1),$m=W(`<div class="chat-scroll svelte-hdi0pv"></div>`),eh=W(`<div class="read-only-chat svelte-hdi0pv"><!></div>`);function th(e,t){M(t,!0);let n=pa(t,`canChat`,3,!1),r=F(L([])),i=F(!0),a=F(null),o=F(void 0),s=P(()=>{if(t.conversation.type===`channel`&&t.conversation.channel_name)return`#${t.conversation.channel_name}`;let e=(t.conversation.participants??[]).filter(e=>e.username!==t.mindName);return e.length>0?e.map(e=>`@${e.username}`).join(`, `):`Conversation`});Tn(()=>{I(i,!0),I(a,null),(t.mindName?Su(t.mindName,t.conversation.id,{limit:50}):Cu(t.conversation.id,{limit:50})).then(e=>{I(r,e.items,!0),requestAnimationFrame(()=>{H(o)&&(H(o).scrollTop=H(o).scrollHeight)})}).catch(e=>{console.warn(`Failed to load conversation messages:`,e),I(r,[],!0),I(a,e?.message?.includes(`403`)||e?.message?.includes(`private`)?`This is a private conversation.`:`Failed to load messages.`,!0)}).finally(()=>{I(i,!1)})});function c(e){try{return new Date(Rl(e)).toLocaleDateString()}catch{return``}}function l(e){return e===0||c(H(r)[e].created_at)!==c(H(r)[e-1].created_at)}$a(e,{get onClose(){return t.onClose},get title(){return H(s)},headerActions:e=>{var r=G(),i=z(r),a=e=>{var n=Gm();U(`click`,n,()=>{t.onClose(),Am(`/chat/${t.conversation.id}`)}),K(e,n)};J(i,e=>{n()&&e(a)}),K(e,r)},children:(e,n)=>{var s=eh(),u=R(s),d=e=>{K(e,Km())},f=e=>{var t=qm(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},p=e=>{K(e,Jm())},m=e=>{var n=$m();Y(n,23,()=>H(r),e=>e.id,(e,n,i)=>{var a=Qm(),o=z(a),s=e=>{var t=Ym(),r=B(R(t),2),i=R(r,!0);A(r),j(2),A(t),V(e=>q(i,e),[()=>c(H(n).created_at)]),K(e,t)},u=P(()=>l(H(i)));J(o,e=>{H(u)&&e(s)});var d=B(o,2);let f;var p=R(d),m=e=>{var r=Xm(),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r),V(e=>{a=X(i,1,`chat-sender svelte-hdi0pv`,null,a,{"chat-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?`user`:t.mindName??`mind`)),q(c,e)},[()=>um(H(n).created_at)]),K(e,r)},h=P(()=>dm(H(r),H(i)));J(p,e=>{H(h)&&e(m)});var g=B(p,2);let _;var v=R(g),y=e=>{var t=Kr();V(e=>q(t,e),[()=>fm(H(n).content)]),K(e,t)},b=e=>{var t=Zm();ui(t,()=>Al(fm(H(n).content)),!0),A(t),K(e,t)};J(v,e=>{H(n).role===`user`?e(y):e(b,-1)}),A(g),A(d),V(e=>{f=X(d,1,`chat-entry svelte-hdi0pv`,null,f,e),_=X(g,1,`chat-entry-content svelte-hdi0pv`,null,_,{"chat-user-text":H(n).role===`user`})},[()=>({"new-sender":dm(H(r),H(i))})]),K(e,a)}),A(n),ua(n,e=>I(o,e),()=>H(o)),K(e,n)};J(u,e=>{H(i)?e(d):H(a)?e(f,1):H(r).length===0?e(p,2):e(m,-1)}),A(s),K(e,s)},$$slots:{headerActions:!0,default:!0}}),N()}Lr([`click`]);var nh=W(`<span class="card-icon svelte-1kjsxpa"></span>`),rh=W(`<span class="card-icon svelte-1kjsxpa"><!></span>`),ih=W(`<span class="card-meta svelte-1kjsxpa"> </span>`),ah=W(`<span class="card-time svelte-1kjsxpa"> </span>`),oh=W(`<button class="card-close svelte-1kjsxpa" aria-label="Collapse">✕</button>`),sh=W(`<div class="card-body svelte-1kjsxpa"><!></div>`),ch=W(`<div class="card-body card-body-iframe svelte-1kjsxpa"><iframe sandbox="allow-same-origin" role="presentation"></iframe></div>`),lh=W(`<div class="card-body card-body-scroll svelte-1kjsxpa"><div class="body-html markdown-body svelte-1kjsxpa"></div></div>`),uh=W(`<div class="card-body card-body-scroll svelte-1kjsxpa"><div class="body-text svelte-1kjsxpa"> </div></div>`),dh=W(`<div><div class="card-header svelte-1kjsxpa"><!> <span class="card-title svelte-1kjsxpa"> </span> <!> <!> <!></div> <!></div>`);function fh(e,t){M(t,!0);let n=pa(t,`color`,3,`text-2`),r=pa(t,`body`,19,()=>({kind:`none`})),i=P(()=>`var(--${n()})`),a=F(!1);function o(e){e.stopPropagation(),t.onclick?.()}function s(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(e))}var c=dh();let l,u;var d=R(c);let f;var p=R(d),m=e=>{var n=nh();let r;ui(n,()=>Pl(t.icon),!0),A(n),V(()=>r=Z(n,``,r,{color:H(i)})),K(e,n)},h=e=>{var n=rh();let r;qa(R(n),{get kind(){return t.iconKind}}),A(n),V(()=>r=Z(n,``,r,{color:H(i)})),K(e,n)};J(p,e=>{t.icon?e(m):t.iconKind&&e(h,1)});var g=B(p,2),_=R(g,!0);A(g);var v=B(g,2),y=e=>{var n=ih(),r=R(n,!0);A(n),V(()=>q(r,t.meta)),K(e,n)};J(v,e=>{t.meta&&e(y)});var b=B(v,2),x=e=>{var n=ah(),r=R(n,!0);A(n),V(()=>q(r,t.time)),K(e,n)};J(b,e=>{t.time&&e(x)});var S=B(b,2),C=e=>{var n=oh();U(`click`,n,e=>{e.stopPropagation(),t.oncollapse()}),K(e,n)};J(S,e=>{t.oncollapse&&e(C)}),A(d);var w=B(d,2),T=e=>{var n=sh();di(R(n),()=>t.children),A(n),K(e,n)},E=e=>{var n=ch(),i=R(n);let o;A(n),V(()=>{Xi(i,`src`,r().url),o=X(i,1,`page-preview svelte-1kjsxpa`,null,o,{loaded:H(a)}),Xi(i,`title`,t.title)}),U(`pointerdown`,i,e=>e.preventDefault()),Ir(`load`,i,()=>I(a,!0)),Pr(i),K(e,n)},ee=e=>{var t=lh(),n=R(t);ui(n,()=>Al(r().source),!0),A(n),A(t),K(e,t)},te=e=>{var t=uh(),n=R(t),i=R(n,!0);A(n),A(t),V(()=>q(i,r().text)),K(e,t)};J(w,e=>{t.children?e(T):r().kind===`iframe`?e(E,1):r().kind===`markdown`?e(ee,2):r().kind===`text`&&e(te,3)}),A(c),V(()=>{l=X(c,1,`timeline-card svelte-1kjsxpa`,null,l,{clickable:!!t.onclick}),Xi(c,`role`,t.onclick?`button`:void 0),Xi(c,`tabindex`,t.onclick?0:void 0),u=Z(c,``,u,{"border-color":`color-mix(in srgb, ${H(i)??``} 25%, var(--border))`}),f=Z(d,``,f,{"border-bottom-color":`color-mix(in srgb, ${H(i)??``} 25%, var(--border))`}),q(_,t.title)}),U(`click`,c,function(...e){(t.onclick?o:void 0)?.apply(this,e)}),U(`keydown`,c,function(...e){(t.onclick?s:void 0)?.apply(this,e)}),K(e,c),N()}Lr([`click`,`keydown`,`pointerdown`]);function ph(e){let t=typeof e?.iframeUrl==`string`?e.iframeUrl:``;if(t)return{kind:`iframe`,url:t};let n=typeof e?.bodyHtml==`string`?e.bodyHtml:``;return n?{kind:`markdown`,source:n}:{kind:`none`}}function mh(e,t){if(typeof e?.url==`string`&&e.url)return e.url;let n=typeof e?.slug==`string`?e.slug:``;if(n)return`/minds/${typeof e?.author==`string`?e.author:t}/notes/${n}`;let r=typeof e?.file==`string`?e.file:``;return r?`/minds/${t}/pages/${r}`:``}var hh=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function gh(e){return hh.test(e)}var _h={mind_sprouted:{color:`green`,icon:wo.mind,label:`sprouted`}};function vh(e){return _h[e]}function yh(e){return _h[e]?.label??e.replace(/_/g,` `)}function bh(e){return typeof e?.color==`string`?e.color:`yellow`}function xh(e,t){return typeof e?.label==`string`&&e.label?e.label:t?.split(`:`)[1]||`event`}function Sh(e,t,n){switch(e.type){case`inbound`:return{color:`blue`,iconKind:`chat`,title:e.channel||`message`,meta:e.sender??`user`,body:{kind:`text`,text:e.content},url:``};case`outbound`:return{color:`red`,iconKind:`chat`,title:e.channel||`message`,meta:n,body:{kind:`text`,text:e.content},url:``};case`event`:return{color:`purple`,iconKind:`gear`,title:xh(t,e.channel),meta:`system event`,body:{kind:`text`,text:e.content},url:``};case`activity`:{let r=typeof t?.icon==`string`?t.icon:void 0;return{color:bh(t),icon:r,iconKind:r?void 0:`document-lines`,title:e.content,meta:typeof t?.author==`string`?t.author:void 0,body:ph(t),url:mh(t,n)}}default:return null}}function Ch(e){return e.iframeUrl?{kind:`iframe`,url:e.iframeUrl}:e.bodyHtml?{kind:`markdown`,source:e.bodyHtml}:{kind:`none`}}var wh=W(`<div class="digest markdown-body svelte-11yxpr8"></div>`),Th=W(`<div class="empty-hint svelte-11yxpr8">Nothing here yet. When your minds do things on their own, it shows up here.</div>`),Eh=W(`<div class="feed-item svelte-11yxpr8"><!></div>`),Dh=W(`<div class="feed-lifecycle svelte-11yxpr8"><!></div>`),Oh=W(`<div class="feed-grid svelte-11yxpr8"></div>`),kh=W(`<!> <!> <!>`,1),Ah=W(`<div class="home svelte-11yxpr8"><!></div> <!>`,1);function jh(e,t){M(t,!0);let n=P(()=>Bm(qf.minds,qf.mindsLoaded)),r=F(L([])),i=F(L([])),a=F(``),o=F(null);Tn(()=>{Pu().then(e=>{I(r,e.events,!0)}).catch(e=>{console.warn(`Failed to fetch feed:`,e)})}),Tn(()=>{Fu().then(e=>{I(a,e.content,!0)}).catch(e=>{console.warn(`Failed to fetch digest:`,e)})}),Tn(()=>{let e=qf.extensions,t=[],n=e.filter(e=>e.feedSource).map(async e=>{try{let n=await fetch(e.feedSource.endpoint);if(!n.ok)return;let r=await n.json();for(let n of r)t.push({...n,extensionId:e.id})}catch(t){console.warn(`Failed to fetch ${e.id} feed:`,t)}});Promise.all(n).then(()=>{I(i,t,!0)})});function s(e){return qf.minds.find(t=>t.name===e)?.displayName??e}let c=P(()=>qf.activity.filter(e=>e.type===`mind_sprouted`).map(e=>({id:e.id,mind:e.mind,date:e.created_at}))),l=P(()=>{let e=[];for(let t of H(r))t.kind===`chat`?e.push({kind:`chat`,event:t,date:t.endedAt}):e.push({kind:`lifecycle`,event:t,date:t.createdAt});for(let t of H(i))e.push({kind:`extension`,item:t,date:t.date});for(let t of H(c))e.push({kind:`sprout`,item:t,date:t.date});return e.sort((e,t)=>{let n=new Date(Rl(e.date)).getTime();return new Date(Rl(t.date)).getTime()-n}),e}),u=P(()=>H(o)?{id:H(o).conversationId,type:H(o).conversationType,user_id:null,private:0,created_at:H(o).startedAt,updated_at:H(o).endedAt,channel_name:H(o).channelName,participants:H(o).participants}:null),d=P(()=>H(o)?.participants.some(e=>e.username===t.username)??!1);var f=Ah(),p=z(f),m=R(p),h=e=>{{let n=P(()=>t.onSeed??(()=>{}));Wm(e,{get minds(){return qf.minds},get onSeed(){return H(n)}})}},g=e=>{var t=kh(),n=z(t);zm(n,{});var r=B(n,2),i=e=>{var t=wh();ui(t,()=>Al(H(a)),!0),A(t),K(e,t)},c=P(()=>H(a).trim());J(r,e=>{H(c)&&e(i)});var u=B(r,2),d=e=>{K(e,Th())},f=e=>{var t=Oh();Y(t,21,()=>H(l),e=>e.kind===`extension`?`ext-${e.item.id}`:e.kind===`sprout`?`sprout-${e.item.id}`:e.kind===`lifecycle`?`life-${e.event.id}`:`chat-${e.event.conversationId}-${e.event.endedAt}`,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Eh(),r=R(n);{let e=P(()=>Bl(H(t).item.date)),n=P(()=>Ch(H(t).item));fh(r,{get title(){return H(t).item.title},get color(){return H(t).item.color},get icon(){return H(t).item.icon},get meta(){return H(t).item.author},get time(){return H(e)},get body(){return H(n)},onclick:()=>Am(H(t).item.url)})}A(n),K(e,n)},a=e=>{let n=P(()=>H(t).item);var r=Eh(),i=R(r);{let e=P(()=>`${s(H(n).mind)} sprouted`),t=P(()=>Bl(H(n).date));fh(i,{get title(){return H(e)},color:`green`,get icon(){return wo.mind},get time(){return H(t)},body:{kind:`markdown`,source:`Left the seed stage and became a full mind — joined #system and began its first week.`},onclick:()=>Am(`/minds/${H(n).mind}`)})}A(r),K(e,r)},c=e=>{var n=Dh();Mm(R(n),{get event(){return H(t).event}}),A(n),K(e,n)},l=e=>{var n=Eh();Cm(R(n),{get event(){return H(t).event},onclick:()=>{I(o,H(t).event,!0)}}),A(n),K(e,n)};J(r,e=>{H(t).kind===`extension`?e(i):H(t).kind===`sprout`?e(a,1):H(t).kind===`lifecycle`?e(c,2):e(l,-1)}),K(e,n)}),A(t),K(e,t)};J(u,e=>{H(l).length===0?e(d):e(f,-1)}),K(e,t)};J(m,e=>{H(n)?e(h):e(g,-1)}),A(p);var _=B(p,2),v=e=>{th(e,{get conversation(){return H(u)},get canChat(){return H(d)},onClose:()=>{I(o,null)}})};J(_,e=>{H(o)&&H(u)&&e(v)}),K(e,f),N()}var Mh=W(`<div class="warning svelte-1lrw9b3">Couldn't load the channel's current settings — saving will overwrite them.</div>`),Nh=W(`<div class="error svelte-1lrw9b3"> </div>`),Ph=W(`<div class="settings-body svelte-1lrw9b3"><!> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Description</span> <textarea rows="2" placeholder="What this channel is about" class="svelte-1lrw9b3"></textarea></label> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Rules</span> <textarea rows="3" placeholder="Guidelines for participants" class="svelte-1lrw9b3"></textarea></label> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Character limit</span> <input type="number" min="1" placeholder="None" class="svelte-1lrw9b3"/> <span class="hint svelte-1lrw9b3">Leave empty for no limit.</span></label> <label class="checkbox-field svelte-1lrw9b3"><input type="checkbox" class="svelte-1lrw9b3"/> <span>Private channel</span></label> <!> <div class="actions svelte-1lrw9b3"><button class="btn-secondary svelte-1lrw9b3">Cancel</button> <button class="btn-primary svelte-1lrw9b3"> </button></div></div>`);function Fh(e,t){M(t,!0);let n=pa(t,`loadFailed`,3,!1),r=F(L(t.settings?.description??``)),i=F(L(t.settings?.rules??``)),a=F(L(t.settings?.charLimit==null?``:String(t.settings.charLimit))),o=F(L(t.settings?.private??!1)),s=F(!1),c=F(``);async function l(){if(H(s))return;I(c,``);let e=H(a).trim(),n=null;if(e){let t=Number(e);if(!Number.isInteger(t)||t<=0){I(c,`Char limit must be a positive whole number.`);return}n=t}I(s,!0);let l={description:H(r).trim()||null,rules:H(i).trim()||null,charLimit:n,private:H(o)};try{let e=await $u(t.channelName,l);t.onSaved(e),t.onClose()}catch(e){I(c,e instanceof Error?e.message:`Failed to save settings`,!0)}finally{I(s,!1)}}$a(e,{size:`420px`,get title(){return`#${t.channelName??``} settings`},get onClose(){return t.onClose},children:(e,u)=>{var d=Ph(),f=R(d),p=e=>{K(e,Mh())};J(f,e=>{n()&&e(p)});var m=B(f,2),h=B(R(m),2);hn(h),A(m);var g=B(m,2),_=B(R(g),2);hn(_),A(g);var v=B(g,2),y=B(R(v),2);Ki(y),j(2),A(v);var b=B(v,2),x=R(b);Ki(x),j(2),A(b);var S=B(b,2),C=e=>{var t=Nh(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)};J(S,e=>{H(c)&&e(C)});var w=B(S,2),T=R(w),E=B(T,2),ee=R(E,!0);A(E),A(w),A(d),V(()=>{T.disabled=H(s),E.disabled=H(s),q(ee,H(s)?`Saving...`:`Save`)}),aa(h,()=>H(r),e=>I(r,e)),aa(_,()=>H(i),e=>I(i,e)),aa(y,()=>H(a),e=>I(a,e)),oa(x,()=>H(o),e=>I(o,e)),U(`click`,T,function(...e){t.onClose?.apply(this,e)}),U(`click`,E,l),K(e,d)},$$slots:{default:!0}}),N()}Lr([`click`]);var Ih={auth_error:`the model credentials were rejected`,rate_limit:`the model provider's rate limit was hit`,overloaded:`the model provider was overloaded`,network:`a network error reaching the model provider`};function Lh(e,t){if(!e)return null;let n=e.displayName||e.name;if(e.status===`stopped`)return{kind:`stopped`,text:`${n} isn't running`,showStart:t};if(e.status===`starting`)return{kind:`starting`,text:`${n} is waking up…`,showStart:!1};if(e.status===`sleeping`){let t=Rh(e.wakeAt);return{kind:`sleeping`,text:t?`${n} is asleep — waking at ${t}`:`${n} is asleep`,showStart:!1}}if(e.lastError){let t=e.lastError,r;return r=t.kind===`crash`?`${n}'s process crashed`:t.kind===`startup`?`${n} failed to start`:`${n}'s last turn failed — ${Ih[t.reason]??`an unexpected error`}`,{kind:`error`,text:r,detail:t.detail,showStart:!1}}return null}function Rh(e){if(!e)return null;let t=new Date(e);if(Number.isNaN(t.getTime()))return null;let n=t.toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`});return t.toDateString()===new Date().toDateString()?n:`${n} on ${t.toLocaleDateString(`en-US`,{weekday:`long`})}`}var zh=W(`<button class="start-btn svelte-19r8zgf"> </button>`),Bh=W(`<span class="start-error svelte-19r8zgf"> </span>`),Vh=W(`<div><span class="text"> </span> <!> <!></div>`);function Hh(e,t){M(t,!0);let n=F(!1),r=F(``),i=P(()=>Lh(t.mind,t.isAdmin));async function a(){if(!(!t.mind||H(n))){I(n,!0),I(r,``);try{await vu(t.mind.name)}catch(e){I(r,e instanceof Error?e.message:`Failed to start`,!0),I(n,!1)}}}var o=G(),s=z(o),c=e=>{var t=Vh(),o=R(t),s=R(o,!0);A(o);var c=B(o,2),l=e=>{var t=zh(),r=R(t,!0);A(t),V(()=>{t.disabled=H(n),q(r,H(n)?`Starting…`:`Start`)}),U(`click`,t,a),K(e,t)};J(c,e=>{H(i).showStart&&e(l)});var u=B(c,2),d=e=>{var t=Bh(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)};J(u,e=>{H(r)&&e(d)}),A(t),V(()=>{X(t,1,`status-bar ${H(i).kind??``}`,`svelte-19r8zgf`),Xi(t,`title`,H(i).detail),q(s,H(i).text)}),K(e,t)};J(s,e=>{H(i)&&e(c)}),K(e,o),N()}Lr([`click`]);var Uh=W(`<div class="image-preview svelte-69hg31"><img alt="" class="preview-thumb svelte-69hg31"/> <button class="remove-image svelte-69hg31" title="Remove">x</button></div>`),Wh=W(`<div class="image-strip svelte-69hg31"></div>`),Gh=W(`<div class="file-preview svelte-69hg31"><span class="file-name svelte-69hg31"> </span> <button class="remove-image svelte-69hg31" title="Remove">x</button></div>`),Kh=W(`<div class="file-strip svelte-69hg31"></div>`),qh=W(`<button>Image</button> <button>File</button>`,1),Jh=Gr(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>`),Yh=Gr(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>`),Xh=W(`<!> <!> <input type="file" accept="image/*" multiple="" style="display: none"/> <input type="file" multiple="" style="display: none"/> <div class="input-area svelte-69hg31"><div><button class="inline-btn attach svelte-69hg31" title="Attach image or file"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></button> <!> <textarea placeholder="Send a message..." class="chat-input svelte-69hg31"></textarea> <button title="Send message"><!></button></div></div>`,1);function Zh(e,t){M(t,!0);let n=pa(t,`mindName`,3,``),r=pa(t,`conversationId`,3,null),i=pa(t,`username`,3,``),a=F(``),o=F(L([])),s=F(L([])),c,l,u,d=0,f=F(!1),p=F(!1);function m(){I(p,!H(p))}function h(){let e=H(a).trim();if(!e&&H(o).length===0&&H(s).length===0||t.sending)return;let l=H(o).map(({media_type:e,data:t})=>({media_type:e,data:t})),u=[...H(s)];I(a,``),I(o,[],!0),I(s,[],!0),c&&(c.style.height=`auto`,c.style.overflow=`hidden`),r()&&n()&&i()&&(Ou(n(),r(),i(),!1),d=0),t.onSend(e,l,u)}function g(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),h())}function _(e){let t=e.currentTarget;if(r()&&n()&&i()){let e=Date.now();e-d>3e3&&(d=e,Ou(n(),r(),i(),!0))}t.style.height=`auto`,t.style.height=`${Math.min(t.scrollHeight,120)}px`,t.style.overflow=t.scrollHeight>120?`auto`:`hidden`}function v(){r()&&n()&&i()&&d>0&&(Ou(n(),r(),i(),!1),d=0)}function y(e){if(e)for(let t of Array.from(e)){if(!t.type.startsWith(`image/`))continue;let e=new FileReader;e.onload=()=>{let n=e.result,r=n.split(`,`)[1];I(o,[...H(o),{media_type:t.type,data:r,preview:n}],!0)},e.readAsDataURL(t)}}function b(e){if(e)for(let t of Array.from(e)){if(t.size>52428800)continue;let e=new FileReader;e.onload=()=>{let n=e.result,r=new Uint8Array(n),i=``;for(let e=0;e<r.length;e++)i+=String.fromCharCode(r[e]);let a=btoa(i);I(s,[...H(s),{filename:t.name,data:a}],!0)},e.readAsArrayBuffer(t)}}Tn(()=>()=>{r()&&n()&&i()&&d>0&&Ou(n(),r(),i(),!1)});var x=Xh(),S=z(x),C=e=>{var t=Wh();Y(t,23,()=>H(o),e=>e.preview,(e,t,n)=>{var r=Uh(),i=R(r),a=B(i,2);A(r),V(()=>Xi(i,`src`,H(t).preview)),U(`click`,a,()=>{I(o,H(o).filter((e,t)=>t!==H(n)),!0)}),K(e,r)}),A(t),K(e,t)};J(S,e=>{H(o).length>0&&e(C)});var w=B(S,2),T=e=>{var t=Kh();Y(t,23,()=>H(s),(e,t)=>e.filename+t,(e,t,n)=>{var r=Gh(),i=R(r),a=R(i,!0);A(i);var o=B(i,2);A(r),V(()=>q(a,H(t).filename)),U(`click`,o,()=>{I(s,H(s).filter((e,t)=>t!==H(n)),!0)}),K(e,r)}),A(t),K(e,t)};J(w,e=>{H(s).length>0&&e(T)});var E=B(w,2);ua(E,e=>l=e,()=>l);var ee=B(E,2);ua(ee,e=>u=e,()=>u);var te=B(ee,2),ne=R(te);let D;var O=R(ne),re=B(O,2);ya(re,{get open(){return H(p)},onclose:()=>I(p,!1),direction:`up`,children:(e,t)=>{var n=qh(),r=z(n),i=B(r,2);U(`click`,r,()=>{I(p,!1),l?.click()}),U(`click`,i,()=>{I(p,!1),u?.click()}),K(e,n)},$$slots:{default:!0}});var ie=B(re,2);hn(ie),Xi(ie,`rows`,1),ua(ie,e=>c=e,()=>c);var ae=B(ie,2);let k;var oe=R(ae),se=e=>{K(e,Jh())},ce=e=>{K(e,Yh())};J(oe,e=>{t.sending?e(se):e(ce,-1)}),A(ae),A(ne),A(te),V((e,t)=>{D=X(ne,1,`input-box svelte-69hg31`,null,D,{focused:H(f)}),ae.disabled=e,k=X(ae,1,`inline-btn send svelte-69hg31`,null,k,t)},[()=>t.sending||!H(a).trim()&&H(o).length===0&&H(s).length===0,()=>({active:!!H(a).trim()||H(o).length>0||H(s).length>0})]),U(`change`,E,e=>y(e.currentTarget.files)),U(`change`,ee,e=>b(e.currentTarget.files)),U(`click`,O,m),U(`keydown`,ie,g),U(`input`,ie,_),Ir(`focus`,ie,()=>I(f,!0)),Ir(`blur`,ie,()=>{I(f,!1),v()}),aa(ie,()=>H(a),e=>I(a,e)),U(`click`,ae,h),K(e,x),N()}Lr([`click`,`change`,`keydown`,`input`]);var Qh=W(`<div class="lightbox-overlay svelte-8uz8bu" role="button" tabindex="-1"><img alt="" class="lightbox-image svelte-8uz8bu"/></div>`);function $h(e,t){M(t,!0);function n(e){e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),t.onClose())}function r(e){return document.body.appendChild(e),{destroy(){e.remove()}}}var i=Qh();Ir(`keydown`,$t,n);var a=R(i);A(i),Si(i,e=>r?.(e)),V(()=>Xi(a,`src`,t.src)),U(`click`,i,function(...e){t.onClose?.apply(this,e)}),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&t.onClose()}),K(e,i),N()}Lr([`click`,`keydown`]);var eg=W(`<span> </span>`),tg=W(`<div class="tool-section-label svelte-iivm65" style="margin-top: 8px">output:</div> <pre> </pre>`,1),ng=W(`<div class="tool-detail svelte-iivm65"><div class="tool-section-label svelte-iivm65">input:</div> <pre class="tool-pre svelte-iivm65"> </pre> <!></div>`),rg=W(`<div class="tool-block svelte-iivm65"><button class="tool-header svelte-iivm65"><span class="tool-label svelte-iivm65"><span class="tool-arrow svelte-iivm65"> </span> </span> <!></button> <!></div>`);function ig(e,t){M(t,!0);let n=pa(t,`isError`,3,!1),r=pa(t,`isOpen`,3,!1);function i(){let e=t.input;switch(t.name){case`Read`:return{label:`Read ${e.file_path??``}`,color:`var(--blue)`};case`Write`:return{label:`Write ${e.file_path??``}`,color:`var(--blue)`};case`Edit`:return{label:`Edit ${e.file_path??``}`,color:`var(--blue)`};case`Glob`:return{label:`Glob ${e.pattern??``}`,color:`var(--yellow)`};case`Grep`:return{label:`Grep "${e.pattern??``}"${e.path?` in ${e.path}`:``}`,color:`var(--yellow)`};case`Bash`:return{label:`Bash: ${String(e.command??``).split(`
|
|
75
|
-
`)[0]}`,color:`var(--red)`};case`WebSearch`:return{label:`Search: "${e.query??``}"`,color:`var(--purple)`};case`WebFetch`:return{label:`Fetch: ${e.url??``}`,color:`var(--purple)`};case`Task`:return{label:`Task: ${e.description??``}`,color:`var(--accent)`};default:return{label:t.name,color:`var(--purple)`}}}let a=P(i);var o=rg(),s=R(o);let c;var l=R(s),u=R(l),d=R(u,!0);A(u);var f=B(u);A(l);var p=B(l,2),m=e=>{var t=eg();let r;var i=R(t,!0);A(t),V(()=>{r=X(t,1,`tool-status svelte-iivm65`,null,r,{error:n()}),q(i,n()?`error`:`done`)}),K(e,t)};J(p,e=>{t.output!==void 0&&e(m)}),A(s);var h=B(s,2),g=e=>{var r=ng(),i=B(R(r),2),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var r=tg(),i=B(z(r),2);let a;var o=R(i,!0);A(i),V(()=>{a=X(i,1,`tool-pre tool-output svelte-iivm65`,null,a,{error:n()}),q(o,t.output)}),K(e,r)};J(o,e=>{t.output!==void 0&&e(s)}),A(r),V(e=>q(a,e),[()=>JSON.stringify(t.input,null,2)]),K(e,r)};J(h,e=>{r()&&e(g)}),A(o),V(()=>{c=Z(s,``,c,{color:H(a).color}),q(d,r()?`▾`:`▸`),q(f,` ${H(a).label??``}`)}),U(`click`,s,function(...e){t.onToggle?.apply(this,e)}),K(e,o),N()}Lr([`click`]);var ag=W(`<button class="sender sender-link svelte-1bfejg9"> </button>`),og=W(`<span class="sender svelte-1bfejg9"> </span>`),sg=W(`<span></span>`),cg=W(`<span class="timestamp svelte-1bfejg9"> </span>`),lg=W(`<div class="entry-header svelte-1bfejg9"><!> <!></div>`),ug=W(`<span class="timestamp inline-time svelte-1bfejg9"> </span>`),dg=W(`<div class="markdown-body"></div>`),fg=W(`<button type="button" class="chat-image-btn svelte-1bfejg9"><img alt="" class="chat-image svelte-1bfejg9" loading="lazy" decoding="async"/></button>`),pg=W(`<div><!> <div class="entry-content svelte-1bfejg9"><!></div></div> <!>`,1);function mg(e,t){M(t,!0);let n=pa(t,`showHeader`,3,!0),r=pa(t,`showDate`,3,!1),i=pa(t,`senderColor`,3,`var(--text-0)`),a=pa(t,`participants`,19,()=>[]),o=pa(t,`showTypingDot`,3,!1),s=F(null);function c(e){let n=t.mindsByName.get(e);if(n)return{name:n.name,displayName:n.displayName,description:n.description,avatarUrl:n.avatar?`/api/minds/${encodeURIComponent(n.name)}/avatar`:null,userType:`mind`,created:n.created};let r=a().find(t=>t.username===e);return r?{name:r.username,displayName:r.displayName,description:r.description,avatarUrl:r.avatar?`/api/auth/avatars/${encodeURIComponent(r.avatar)}`:null,userType:r.userType}:null}function l(e){if(!e)return``;try{let t=new Date(Rl(e)),n=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return r()?`${t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${n}`:n}catch{return``}}function u(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type===`text`)t.push({kind:`text`,text:r.text});else if(r.type===`tool_use`){let i={name:r.name,input:r.input},a=e[n+1];a&&a.type===`tool_result`&&(i.output=a.output,i.isError=a.is_error,n++),t.push({kind:`tool`,tool:i})}else r.type===`tool_result`||r.type===`image`&&t.push({kind:`image`,media_type:r.media_type,data:r.data})}return t}var d=pg(),f=z(d);let p;var m=R(f),h=e=>{var n=lg(),r=R(n),a=e=>{let n=P(()=>c(t.senderName)),r=P(()=>t.mindsByName.get(t.senderName));var a=G(),o=z(a),s=e=>{jp(e,{get profile(){return H(n)},children:e=>{var a=G(),o=z(a),s=e=>{var a=ag();let o;var s=R(a,!0);A(a),V(()=>{o=Z(a,``,o,{color:i()}),q(s,H(n).displayName??t.senderName)}),U(`click`,a,()=>t.onOpenMind(H(r))),K(e,a)},c=e=>{var r=og();let a;var o=R(r,!0);A(r),V(()=>{a=Z(r,``,a,{color:i()}),q(o,H(n).displayName??t.senderName)}),K(e,r)};J(o,e=>{H(r)&&t.onOpenMind?e(s):e(c,-1)}),K(e,a)},$$slots:{default:!0}})},l=e=>{var n=og();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.senderName)}),K(e,n)};J(o,e=>{H(n)?e(s):e(l,-1)}),K(e,a)},s=e=>{var n=og();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.role===`user`?`you`:`mind`)}),K(e,n)};J(r,e=>{t.senderName?e(a):e(s,-1)});var u=B(r,2),d=e=>{var n=sg();let r;V(e=>r=X(n,1,`typing-dot svelte-1bfejg9`,null,r,e),[()=>({iridescent:t.senderName?t.mindsByName.has(t.senderName):!1})]),K(e,n)},f=e=>{var n=cg(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>l(t.createdAt)]),K(e,n)};J(u,e=>{o()?e(d):t.createdAt&&e(f,1)}),A(n),K(e,n)},g=e=>{var n=ug(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>l(t.createdAt)]),K(e,n)};J(m,e=>{n()?e(h):t.createdAt&&e(g,1)});var _=B(m,2),v=R(_),y=e=>{var n=G();Y(z(n),17,()=>t.blocks,ti,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=dg();ui(n,()=>Al(H(t).text),!0),A(n),K(e,n)},a=e=>{let n=P(()=>`data:${H(t).media_type};base64,${H(t).data}`);var r=fg(),i=R(r);A(r),V(()=>Xi(i,`src`,H(n))),U(`click`,r,()=>I(s,H(n))),K(e,r)};J(r,e=>{H(t).type===`text`?e(i):H(t).type===`image`&&e(a,1)}),K(e,n)}),K(e,n)},b=e=>{let n=P(()=>u(t.blocks));var r=G();Y(z(r),17,()=>H(n),ti,(e,n,r)=>{var i=G(),a=z(i),o=e=>{var t=dg();ui(t,()=>Al(H(n).text),!0),A(t),K(e,t)},c=e=>{let i=P(()=>t.entryIndex*1e3+r);{let r=P(()=>H(n).tool.isError??!1),a=P(()=>t.openTools.has(H(i)));ig(e,{get name(){return H(n).tool.name},get input(){return H(n).tool.input},get output(){return H(n).tool.output},get isError(){return H(r)},get isOpen(){return H(a)},onToggle:()=>t.onToggleTool(H(i))})}},l=e=>{let t=P(()=>`data:${H(n).media_type};base64,${H(n).data}`);var r=fg(),i=R(r);A(r),V(()=>Xi(i,`src`,H(t))),U(`click`,r,()=>I(s,H(t))),K(e,r)};J(a,e=>{H(n).kind===`text`?e(o):H(n).kind===`tool`?e(c,1):H(n).kind===`image`&&e(l,2)}),K(e,i)}),K(e,r)};J(v,e=>{t.role===`user`?e(y):e(b,-1)}),A(_),A(f);var x=B(f,2),S=e=>{$h(e,{get src(){return H(s)},onClose:()=>I(s,null)})};J(x,e=>{H(s)&&e(S)}),V(()=>p=X(f,1,`entry svelte-1bfejg9`,null,p,{"new-sender":n()})),K(e,d),N()}Lr([`click`]);var hg=W(`<div class="loading-older svelte-xwfq15">Loading older messages...</div>`),gg=W(`<div class="load-more svelte-xwfq15"><button class="load-more-btn svelte-xwfq15">Load older messages</button></div>`),_g=W(`<div class="empty error svelte-xwfq15"> </div>`),vg=W(`<div class="empty svelte-xwfq15">Send a message to start chatting.</div>`),yg=W(`<div class="divider svelte-xwfq15"><div class="divider-line svelte-xwfq15"></div> <span> </span> <div class="divider-line svelte-xwfq15"></div></div>`),bg=W(`<button class="typing-sender typing-sender-link svelte-xwfq15"> </button>`),xg=W(`<span class="typing-sender svelte-xwfq15"> </span>`),Sg=W(`<div class="typing-entry svelte-xwfq15"><!> <span></span></div>`),Cg=W(`<div class="messages svelte-xwfq15"><!> <!> <!> <!> <!></div>`);function wg(e,t){M(t,!0);let n=pa(t,`loadError`,3,``),r=pa(t,`hasMore`,3,!1),i=pa(t,`loadingOlder`,3,!1),a=pa(t,`minds`,19,()=>[]),o=pa(t,`participants`,19,()=>[]),s=pa(t,`typingNames`,19,()=>[]),c,l=F(L(new Set)),u=!0,d=P(()=>new Map(a().map(e=>[e.name,e]))),f=[`var(--blue)`,`var(--purple)`,`var(--yellow)`,`var(--red)`,`var(--accent)`],p=P(()=>{let e=new Map;for(let n of t.entries){let t=n.senderName;t&&!e.has(t)&&e.set(t,f[e.size%f.length])}return e}),m=P(()=>{let e=t.entries[t.entries.length-1];if(!e?.senderName||!s().includes(e.senderName))return-1;let n=t.entries.length-1;for(;n>0&&t.entries[n-1].senderName===e.senderName;)n--;return n}),h=P(()=>H(m)===-1?s():s().filter(e=>e!==t.entries[H(m)].senderName));function g(e){if(e===0)return!0;let n=t.entries[e-1],r=t.entries[e];return n.senderName!==r.senderName||n.senderName===`system`}function _(e){if(!e)return``;try{return new Date(Rl(e)).toLocaleDateString()}catch{return``}}function v(e){let n=t.entries[e];if(!n.createdAt)return!1;if(e===0)return!0;let r=t.entries[e-1];return _(n.createdAt)!==_(r.createdAt)}function y(e){return e.role===`user`?e.senderName?H(p).get(e.senderName)??`var(--blue)`:`var(--blue)`:e.senderName?H(p).get(e.senderName)??`var(--accent)`:`var(--accent)`}function b(e){let t=new Set(H(l));t.has(e)?t.delete(e):t.add(e),I(l,t,!0)}function x(e){let t=e||u;requestAnimationFrame(()=>{requestAnimationFrame(()=>{!c||!t||(c.scrollTop=c.scrollHeight)})})}function S(){I(l,new Set,!0)}Tn(()=>{if(!c)return;let e=new ResizeObserver(()=>{u&&(c.scrollTop=c.scrollHeight)});return e.observe(c),()=>e.disconnect()});function C(){c&&(u=c.scrollHeight-c.scrollTop-c.clientHeight<100,!(!r()||i()||!t.onLoadOlder)&&c.scrollTop<100&&t.onLoadOlder())}var w={scrollToBottom:x,resetToolState:S},T=Cg(),E=R(T),ee=e=>{K(e,hg())};J(E,e=>{i()&&e(ee)});var te=B(E,2),ne=e=>{var n=gg(),r=R(n);A(n),U(`click`,r,function(...e){t.onLoadOlder?.apply(this,e)}),K(e,n)};J(te,e=>{r()&&!i()&&e(ne)});var D=B(te,2),O=e=>{var t=_g(),r=R(t,!0);A(t),V(()=>q(r,n())),K(e,t)},re=e=>{K(e,vg())};J(D,e=>{n()?e(O):t.entries.length===0&&e(re,1)});var ie=B(D,2);return Y(ie,19,()=>t.entries,e=>e.id,(e,n,r)=>{var i=G(),a=z(i),s=e=>{var t=yg(),r=B(R(t),2),i=R(r,!0);A(r),j(2),A(t),V(e=>q(i,e),[()=>H(n).blocks[0].text.slice(1,-1)]),K(e,t)},c=P(()=>H(n).senderName===`system`&&H(n).blocks.length===1&&H(n).blocks[0].type===`text`&&H(n).blocks[0].text.match(/^\[.+\]$/)),u=e=>{{let i=P(()=>g(H(r))),a=P(()=>v(H(r))),s=P(()=>y(H(n))),c=P(()=>H(r)===H(m));mg(e,{get role(){return H(n).role},get blocks(){return H(n).blocks},get senderName(){return H(n).senderName},get createdAt(){return H(n).createdAt},get showHeader(){return H(i)},get showDate(){return H(a)},get senderColor(){return H(s)},get entryIndex(){return H(r)},get openTools(){return H(l)},onToggleTool:b,get mindsByName(){return H(d)},get participants(){return o()},get onOpenMind(){return t.onOpenMind},get showTypingDot(){return H(c)}})}};J(a,e=>{H(c)?e(s):e(u,-1)}),K(e,i)}),Y(B(ie,2),16,()=>H(h),e=>e,(e,n)=>{let r=P(()=>H(d).get(n)),i=P(()=>H(r)?.displayName??o().find(e=>e.username===n)?.displayName??n),a=P(()=>H(p).get(n)??(H(r)?`var(--accent)`:`var(--blue)`));var s=Sg(),c=R(s),l=e=>{var n=bg();let o;var s=R(n,!0);A(n),V(()=>{o=Z(n,``,o,{color:H(a)}),q(s,H(i))}),U(`click`,n,()=>t.onOpenMind?.(H(r))),K(e,n)},u=e=>{var t=xg();let n;var r=R(t,!0);A(t),V(()=>{n=Z(t,``,n,{color:H(a)}),q(r,H(i))}),K(e,t)};J(c,e=>{H(r)?e(l):e(u,-1)});var f=B(c,2);let m;A(s),V(()=>m=X(f,1,`typing-dot svelte-xwfq15`,null,m,{iridescent:!!H(r)})),K(e,s)}),A(T),ua(T,e=>c=e,()=>c),Ir(`scroll`,T,C),K(e,T),N(w)}Lr([`click`]);var Tg=W(`<li><span class="mark svelte-8ky2s2" aria-hidden="true"> </span> <span class="label"> </span></li>`),Eg=W(`Ready to sprout — the seed can run <code class="svelte-8ky2s2">volute seed sprout</code>.`,1),Dg=W(`<div><div class="header svelte-8ky2s2"><span class="title svelte-8ky2s2">Orientation</span> <span class="count svelte-8ky2s2"> </span></div> <ul class="checklist svelte-8ky2s2"></ul> <p class="hint svelte-8ky2s2"><!></p></div>`);function Og(e,t){M(t,!0);let n=P(()=>[{label:`SOUL.md written`,done:t.checklist.soulWritten},{label:`MEMORY.md written`,done:t.checklist.memoryWritten},{label:`Display name set`,done:t.checklist.displayNameSet},...t.checklist.imagegenEnabled?[{label:`Avatar set`,done:t.checklist.avatarSet}]:[]]),r=P(()=>H(n).filter(e=>e.done).length),i=P(()=>H(r)===H(n).length);var a=Dg();let o;var s=R(a),c=B(R(s),2),l=R(c);A(c),A(s);var u=B(s,2);Y(u,21,()=>H(n),e=>e.label,(e,t)=>{var n=Tg();let r;var i=R(n),a=R(i,!0);A(i);var o=B(i,2),s=R(o,!0);A(o),A(n),V(()=>{r=X(n,1,`svelte-8ky2s2`,null,r,{done:H(t).done}),q(a,H(t).done?`✓`:`○`),q(s,H(t).label)}),K(e,n)}),A(u);var d=B(u,2),f=R(d),p=e=>{var t=Eg();j(2),K(e,t)},m=e=>{K(e,Kr(`Steps the seed completes before it can sprout into a full mind.`))};J(f,e=>{H(i)?e(p):e(m,-1)}),A(d),A(a),V(()=>{o=X(a,1,`seed-progress svelte-8ky2s2`,null,o,{ready:H(i)}),q(l,`${H(r)??``}/${H(n).length??``}`)}),K(e,a),N()}var kg=W(`<div class="orientation-bar svelte-1mfgy18">orientation</div>`),Ag=W(`<span class="channel-description svelte-1mfgy18"> </span>`),jg=W(`<div class="channel-header svelte-1mfgy18"><div class="channel-info svelte-1mfgy18"><span class="channel-title svelte-1mfgy18"> </span> <!></div> <button class="settings-btn svelte-1mfgy18" title="Channel settings"><!></button></div>`),Mg=W(`<div class="spirit-notice svelte-1mfgy18"> </div>`),Ng=W(`<div class="chat svelte-1mfgy18"><!> <!> <!> <!> <!> <!></div> <!>`,1);function Pg(e,t){M(t,!0);let n=pa(t,`convType`,3,`dm`),r=pa(t,`channelName`,3,``),i=pa(t,`minds`,19,()=>[]),a=pa(t,`participants`,19,()=>[]),o=0,s=F(L([])),c=F(``),l=F(!1),u=F(``),d=F(``),f=F(L([])),p=F(!1),m=F(!1),h=null,g=0,_,v=P(()=>n()===`dm`?i().find(e=>e.name===t.name):void 0),y=F(null),b=F(!1),x=F(!1);Tn(()=>{if(I(y,null),I(b,!1),n()!==`channel`||!r())return;let e=r();Qu(e).then(t=>{e===r()&&I(y,t.settings??null,!0)}).catch(t=>{e===r()&&(console.error(`Failed to load settings for #${e}:`,t),I(b,!0))})}),Tn(()=>{t.onTypingNames?.(H(f))});let S=new Map;function C(e){return Array.isArray(e)?e:[{type:`text`,text:String(e)}]}function w(e){return e.map(e=>({id:o++,serverId:e.id,role:e.role,blocks:C(e.content),senderName:e.sender_name??void 0,createdAt:e.created_at}))}async function T(e,t){let n=S.get(e);if(n&&!t){I(s,n.entries,!0),I(p,n.hasMore,!0);return}try{let n=await Cu(e,{limit:50});I(c,``),I(s,w(n.items),!0),I(p,n.hasMore,!0),S.set(e,{entries:H(s),hasMore:H(p)}),t&&_?.scrollToBottom(!0)}catch(e){I(c,e instanceof Error?e.message:`Failed to load messages`,!0)}}async function E(){if(!h||H(m)||!H(p))return;let e=H(s)[0]?.serverId;if(e){I(m,!0);try{let t=await Cu(h,{before:e,limit:50});if(t.items.length>0){let e=w(t.items);I(s,[...e,...H(s)],!0),I(p,t.hasMore,!0),S.set(h,{entries:H(s),hasMore:H(p)})}else I(p,!1)}catch(e){I(c,e instanceof Error?e.message:`Failed to load older messages`,!0)}I(m,!1)}}Tn(()=>{if(h=t.conversationId,clearTimeout(g),I(f,[],!0),I(u,``),I(d,``),_?.resetToolState(),!t.conversationId){I(s,[],!0),I(p,!1);return}T(t.conversationId,!0)}),Tn(()=>{if(!t.conversationId)return;let e=Sf(e=>{if(e.event===`conversation`&&e.conversationId===t.conversationId){if(e.type===`message`){if(e.role===`user`&&e.senderName===t.username)return;H(d)&&e.senderName===H(d)&&I(u,``);let n={id:o++,role:e.role,blocks:C(e.content),senderName:e.senderName??void 0,createdAt:e.createdAt};I(s,[...H(s),n],!0),h&&S.set(h,{entries:H(s),hasMore:H(p)}),_?.scrollToBottom()}else if(e.type===`typing`){let n=e.senders;I(f,n.filter(e=>e!==t.username),!0),H(f).length>0&&_?.scrollToBottom(),clearTimeout(g),H(f).length>0&&(g=window.setTimeout(()=>{I(f,H(f).filter(e=>i().some(t=>t.name===e)),!0)},15e3))}}});return()=>{e(),clearTimeout(g)}});async function ee(e,r,i){let c=[];e&&c.push({type:`text`,text:e});for(let e of r)c.push({type:`image`,media_type:e.media_type,data:e.data});for(let e of i)c.push({type:`text`,text:`[file] ${e.filename}`});I(s,[...H(s),{id:o++,role:`user`,blocks:c,senderName:t.username,createdAt:new Date().toISOString()}],!0),I(l,!0),I(u,``),_?.scrollToBottom(!0);try{let o=await Du({message:e,conversationId:h??void 0,targetMind:n()===`channel`?void 0:t.name,images:r.length>0?r:void 0,files:i.length>0?i:void 0});if(o.spirit&&o.spiritName){I(d,o.spiritName,!0);let e=a().find(e=>e.username===o.spiritName)?.displayName??o.spiritName;o.spirit===`waking`?I(u,`${e} is waking — a reply is on its way.`):o.spirit===`sleeping`?I(u,`${e} is sleeping — they'll reply when they wake.`):o.spirit===`unavailable`&&I(u,`${e} is unavailable. An admin can fix this in Settings.`)}let s=o.conversationId,c=s!==h;h=s,c&&t.onConversationId(s)}catch(e){console.error(`Failed to send message:`,e),I(s,[...H(s),{id:o++,role:`assistant`,blocks:[{type:`text`,text:`*Failed to send message. Please try again.*`}],senderName:`system`}],!0)}I(l,!1)}var te=Ng(),ne=z(te),D=R(ne),O=e=>{var n=G(),r=z(n),i=e=>{Og(e,{get checklist(){return t.seedChecklist}})},a=e=>{K(e,kg())};J(r,e=>{t.seedChecklist?e(i):e(a,-1)}),K(e,n)};J(D,e=>{t.stage===`seed`&&e(O)});var re=B(D,2),ie=e=>{var t=jg(),n=R(t),i=R(n),a=R(i);A(i);var o=B(i,2),s=e=>{var t=Ag(),n=R(t,!0);A(t),V(()=>q(n,H(y).description)),K(e,t)};J(o,e=>{H(y)?.description&&e(s)}),A(n);var c=B(n,2);qa(R(c),{kind:`gear`}),A(c),A(t),V(()=>q(a,`#${r()??``}`)),U(`click`,c,()=>I(x,!0)),K(e,t)};J(re,e=>{n()===`channel`&&r()&&e(ie)});var ae=B(re,2);ua(wg(ae,{get entries(){return H(s)},get loadError(){return H(c)},get hasMore(){return H(p)},get loadingOlder(){return H(m)},onLoadOlder:E,get minds(){return i()},get participants(){return a()},get onOpenMind(){return t.onOpenMind},get typingNames(){return H(f)}}),e=>_=e,()=>_);var k=B(ae,2);ei(k,()=>H(v)?.name,e=>{{let t=P(()=>Hf.user?.role===`admin`);Hh(e,{get mind(){return H(v)},get isAdmin(){return H(t)}})}});var oe=B(k,2),se=e=>{var t=Mg(),n=R(t,!0);A(t),V(()=>q(n,H(u))),K(e,t)};J(oe,e=>{H(u)&&e(se)}),Zh(B(oe,2),{get sending(){return H(l)},onSend:ee,get mindName(){return t.name},get conversationId(){return t.conversationId},get username(){return t.username}}),A(ne);var ce=B(ne,2),le=e=>{Fh(e,{get channelName(){return r()},get settings(){return H(y)},get loadFailed(){return H(b)},onClose:()=>I(x,!1),onSaved:e=>{I(y,e,!0),I(b,!1)}})};J(ce,e=>{H(x)&&e(le)}),K(e,te),N()}Lr([`click`]);var Fg=W(`<div class="not-found svelte-19lcsxc"> </div>`),Ig=W(`<iframe class="ext-iframe page-content-iframe svelte-19lcsxc" title="Page content"></iframe>`),Lg=W(`<iframe class="ext-iframe svelte-19lcsxc" title="Extension"></iframe>`),Rg=W(`<div class="section-content svelte-19lcsxc"><!></div>`),zg=W(`<div class="mind-page svelte-19lcsxc"><!></div>`);function Bg(e,t){M(t,!0);let n=pa(t,`section`,3,`chat`),r=P(()=>qf.minds.find(e=>e.name===t.name)),i=P(()=>t.conversations?.find(e=>e.id===t.conversationId));function a(e){let n=e.target;try{let e=n.contentWindow?.location.pathname;if(!e)return;let r=e.match(/^\/ext\/pages\/public\/([^/]+)\/(.+)$/);if(!r)return;let[,i,a]=r;if(i===t.name&&a===t.subpath)return;Am(`/minds/${i}/pages/${a}`)}catch(e){e instanceof DOMException||console.error(`[pages] unexpected error in iframe nav handler:`,e)}}var o=G(),s=z(o),c=e=>{var n=Fg(),r=R(n);A(n),V(()=>q(r,`Mind "${t.name??``}" not found.`)),K(e,n)},l=e=>{var o=zg(),s=R(o),c=e=>{let r=P(()=>n().split(`:`));var i=Rg(),o=R(i),s=e=>{var n=Ig();V(()=>Xi(n,`src`,`/ext/${H(r)[1]??``}/public/${t.name??``}/${t.subpath??``}`)),Ir(`load`,n,a),Pr(n),K(e,n)},c=e=>{var n=Lg();V(()=>Xi(n,`src`,`/ext/${H(r)[1]??``}/#/mind/${t.name??``}${t.subpath?`/`+t.subpath:``}`)),K(e,n)};J(o,e=>{t.subpath&&H(r)[1]===`pages`?e(s):e(c,-1)}),A(i),K(e,i)},l=P(()=>n()?.startsWith(`ext:`)),u=e=>{{let n=P(()=>t.conversationId??null),a=P(()=>t.onConversationId??(()=>{})),o=P(()=>t.minds??qf.minds),s=P(()=>H(i)?.participants??[]);Pg(e,{get name(){return t.name},get username(){return t.username},get conversationId(){return H(n)},get onConversationId(){return H(a)},get stage(){return H(r).stage},get seedChecklist(){return H(r).seedChecklist},get minds(){return H(o)},get participants(){return H(s)},get onOpenMind(){return t.onOpenMind},get onTypingNames(){return t.onTypingNames}})}};J(s,e=>{H(l)?e(c):e(u,-1)}),A(o),K(e,o)};J(s,e=>{H(r)?e(l,-1):e(c)}),K(e,o),N()}var Vg=e=>String(e).padStart(2,`0`);function Hg(e,t=new Date){if(!e)return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate(),hour:t.getHours()};let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,hour12:!1}).formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??`0`,i=parseInt(r(`hour`),10);return i===24&&(i=0),{year:parseInt(r(`year`),10),month:parseInt(r(`month`),10),day:parseInt(r(`day`),10),hour:i}}function Ug(e){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate());t.setDate(t.getDate()+4-(t.getDay()||7));let n=new Date(t.getFullYear(),0,1),r=Math.ceil(((t.getTime()-n.getTime())/864e5+1)/7);return`${t.getFullYear()}-W${Vg(r)}`}function Wg(e){let[t,n]=e.split(`-W`),r=parseInt(t,10),i=parseInt(n,10),a=new Date(r,0,4),o=a.getDay()||7,s=new Date(a);return s.setDate(a.getDate()-o+1+(i-1)*7),s}function Gg(e){return`${e.year}-${Vg(e.month)}-${Vg(e.day)}`}function Kg(e,t=new Date){let n=Hg(e,t),r=Gg(n),i=new Date(n.year,n.month-1,n.day-7);return{todayKey:r,hourCutoff:`${r}T${Vg(n.hour)}`,todayHourFrom:`${r}T00`,weekCutoff:Gg({year:i.getFullYear(),month:i.getMonth()+1,day:i.getDate()}),currentMonthKey:`${n.year}-${Vg(n.month)}`,currentWeekKey:Ug(new Date(n.year,n.month-1,n.day))}}function qg(e,t){return t.length>0?{tier:`month`,to:t[0].period_key}:e.length>0?{tier:`week`,to:e[0].period_key}:null}function Jg(e,t){let n=new Set(e.map(e=>e.id)),r=t.filter(e=>!n.has(e.id));return r.length===0?{merged:e,exhausted:!0}:{merged:[...e,...r].sort((e,t)=>e.period_key.localeCompare(t.period_key)),exhausted:!1}}var Yg=[1e3,2e3,5e3,1e4];function Xg(e){return Yg[Math.min(Math.max(e,0),Yg.length-1)]}var Zg=2*6e4,Qg=3*6e4;function $g(e){return new Date(Rl(e)).getTime()}function e_(e,t=Date.now()){let n=$g(e);return!Number.isNaN(n)&&t-n<=Zg}function t_(e,t=Date.now()){return e.filter(e=>{let n=$g(e.created_at);return Number.isNaN(n)?!0:t-n<Qg})}var n_=15*6e4;function r_(e,t=Date.now()){return t-e>=n_}function i_(e,t){return t??$g(e)}function a_(e){return e.endsWith(`Z`)?e:`${e}Z`}function o_(e){return String(e).padStart(2,`0`)}function s_(e){return`${e.getFullYear()}-${o_(e.getMonth()+1)}-${o_(e.getDate())}T${o_(e.getHours())}`}function c_(e){let t=e.summary_meta?.to_time;return new Date(a_(t??e.created_at)).getTime()}function l_(e){return new Date(`${e.slice(0,10)}T${e.slice(11,13)}:00:00`).getTime()}function u_(e){let{now:t,hourSummaries:n,turnsData:r,isActive:i}=e,a=new Date(t);a.setMinutes(0,0,0);let o=a.getTime(),s=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),c=new Set(n.map(e=>e.period_key)),l=[];for(let e of n)l.push({sort:l_(e.period_key),item:{kind:`summary`,summary:e}});for(let e of r){let t=c_(e);if(i(e)){l.push({sort:Math.max(t,o),item:{kind:`turn`,turn:e}});continue}(t>=o||t>=s&&!c.has(s_(new Date(t))))&&l.push({sort:t,item:{kind:`turn`,turn:e}})}l.sort((e,t)=>e.sort-t.sort);let u=l.map(e=>e.item),d=l.findIndex(e=>e.item.kind===`turn`&&e.sort>=o);return d>0&&u.splice(d,0,{kind:`separator`,above:`earlier today`,below:`this hour`}),u}var d_={command:`Bash`,file_change:`Edit`,web_search:`WebSearch`,read:`Read`,write:`Write`,edit:`Edit`,bash:`Bash`,grep:`Grep`,glob:`Glob`};function f_(e){return d_[e]??e}function p_(e){switch(f_(e)){case`Bash`:return`shell`;case`Read`:case`Write`:case`Edit`:return`file`;case`Grep`:case`Glob`:return`search`;case`WebSearch`:case`WebFetch`:return`web`;default:return`generic`}}function m_(e){switch(e){case`shell`:return`var(--green)`;case`file`:return`var(--blue)`;case`search`:return`var(--yellow)`;case`web`:return`var(--purple)`;default:return`var(--text-1)`}}function h_(e){switch(e){case`shell`:return`terminal`;case`file`:return`file`;case`search`:return`search`;case`web`:return`globe`;default:return`generic-tool`}}function g_(e,t){let n=f_(e),r={};try{r=JSON.parse(t)}catch{return n}switch(n){case`Bash`:return`$ ${String(r.command??``).split(`
|
|
76
|
-
`)[0]}`;case`Read`:return`Read ${r.file_path??``}`;case`Write`:return`Write ${r.file_path??``}`;case`Edit`:return`Edit ${r.file_path??``}`;case`Grep`:return`Grep "${r.pattern??``}"${r.path?` in ${r.path}`:``}`;case`Glob`:return`Glob ${r.pattern??``}`;case`WebSearch`:return`Search "${r.query??``}"`;case`WebFetch`:return`Fetch ${r.url??``}`;case`Task`:return`Task: ${r.description??``}`;default:return n}}function __(e){let t=new Map;for(let n of e){if(n.type!==`tool_result`)continue;let e=b_(n.metadata)?.tool_use_id;typeof e==`string`&&!t.has(e)&&t.set(e,n)}let n=new Set,r=[];for(let i=0;i<e.length;i++){let a=e[i];if(a.type===`tool_use`){let o=b_(a.metadata),s=typeof o?.name==`string`?o.name:`tool`,c=f_(s),l=p_(s),u=typeof o?.id==`string`?o.id:null,d=null;if(u!==null){let e=t.get(u)??null;e&&!n.has(e)&&(d=e,n.add(e))}else for(let t=i+1;t<e.length&&e[t].type!==`tool_use`;t++)if(e[t].type===`tool_result`&&!n.has(e[t])){d=e[t],n.add(e[t]);break}r.push({kind:`tool-group`,toolUse:a,toolResult:d,toolName:c,category:l})}else a.type===`tool_result`&&n.has(a)||r.push({kind:`event`,event:a})}return r}function v_(e,t){if(t.type===`tool_use`){let n=b_(t.metadata),r=typeof n?.name==`string`?n.name:`tool`;return[...e,{kind:`tool-group`,toolUse:t,toolResult:null,toolName:f_(r),category:p_(r)}]}if(t.type===`tool_result`){let n=b_(t.metadata)?.tool_use_id,r=-1;if(typeof n==`string`)for(let t=0;t<e.length;t++){let i=e[t];if(!(i.kind!==`tool-group`||i.toolResult!==null)&&b_(i.toolUse.metadata)?.id===n){r=t;break}}else for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.kind===`tool-group`&&n.toolResult===null){r=t;break}}if(r===-1)return[...e,{kind:`event`,event:t}];let i=e.slice();return i[r]={...e[r],toolResult:t},i}return[...e,{kind:`event`,event:t}]}function y_(e,t,n){return n.type===`tool_result`&&typeof b_(n.metadata)?.tool_use_id!=`string`?__(t):v_(e,n)}function b_(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function x_(e){let t=e.trigger,n=t&&!t.event?e.conversations.find(e=>e.messages.some(e=>e.source_event_id===t.eventId)):void 0,r=t?.event?e.events.find(e=>e.id===t.eventId):void 0,i=e.conversations.filter(e=>e!==n),a=e.events.filter(e=>e!==r);return{triggerConv:n,triggerEvt:r,stackConvs:i,stackEvents:a,stackCount:i.length+a.length+e.activities.length}}function S_(e){return e?+(e.conversations.length>0)+ +(e.events.length>0)+e.activities.length:0}var C_=W(`<div class="terminal-running svelte-7tn5lf">running...</div>`),w_=W(`<pre> </pre>`),T_=W(`<div class="terminal svelte-7tn5lf"><div class="terminal-cmd svelte-7tn5lf"><span class="terminal-prompt svelte-7tn5lf">$</span> </div> <!></div>`),E_=W(`<div class="section-label svelte-7tn5lf">input</div> <pre class="tool-pre svelte-7tn5lf"> </pre>`,1),D_=W(`<div class="section-label svelte-7tn5lf">output</div> <pre> </pre>`,1),O_=W(`<div class="tool-card-body svelte-7tn5lf"><!> <!></div>`),k_=W(`<span class="status-running svelte-7tn5lf">running...</span>`),A_=W(`<span class="status-error svelte-7tn5lf">error</span>`),j_=W(`<span class="inline-label svelte-7tn5lf"> <!></span>`),M_=W(`<div role="button" tabindex="0"><!></div>`);function N_(e,t){M(t,!0);let n=pa(t,`turnStatus`,3,`complete`),r=F(!1),i=P(()=>{if(!t.group.toolUse.metadata)return null;try{return JSON.parse(t.group.toolUse.metadata)}catch{return null}}),a=P(()=>{if(!t.group.toolResult?.metadata)return null;try{return JSON.parse(t.group.toolResult.metadata)}catch{return null}}),o=P(()=>!!H(a)?.is_error),s=P(()=>!t.group.toolResult&&n()===`active`),c=P(()=>g_(H(i)?.name??`tool`,t.group.toolUse.content)),l=P(()=>m_(t.group.category)),u=P(()=>{if(t.group.category!==`shell`)return``;try{let e=JSON.parse(t.group.toolUse.content);return String(e.command??``)}catch{return t.group.toolUse.content??``}});function d(e){return e?e.replace(/\[volute:[^\]]*\]\s*/g,``):``}function f(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}var p=M_();let m,h;var g=R(p),_=e=>{var n=G(),r=z(n),i=e=>{var n=T_(),r=R(n),i=B(R(r));A(r);var a=B(r,2),c=e=>{K(e,C_())},l=e=>{var n=w_();let r;var i=R(n,!0);A(n),V(e=>{r=X(n,1,`terminal-output svelte-7tn5lf`,null,r,{error:H(o)}),q(i,e)},[()=>d(t.group.toolResult.content)]),K(e,n)};J(a,e=>{H(s)?e(c):t.group.toolResult&&e(l,1)}),A(n),V(()=>q(i,` ${H(u)??``}`)),K(e,n)},a=e=>{var n=O_(),r=R(n),i=e=>{var n=E_(),r=B(z(n),2),i=R(r,!0);A(r),V(e=>q(i,e),[()=>f(t.group.toolUse.content)]),K(e,n)};J(r,e=>{t.group.toolUse.content&&e(i)});var a=B(r,2),c=e=>{K(e,C_())},l=e=>{var n=D_(),r=B(z(n),2);let i;var a=R(r,!0);A(r),V(e=>{i=X(r,1,`tool-pre tool-output svelte-7tn5lf`,null,i,{error:H(o)}),q(a,e)},[()=>d(t.group.toolResult.content)]),K(e,n)};J(a,e=>{H(s)?e(c):t.group.toolResult&&e(l,1)}),A(n),K(e,n)};J(r,e=>{t.group.category===`shell`?e(i):e(a,-1)}),K(e,n)},v=e=>{var t=j_(),n=R(t),r=B(n),i=e=>{K(e,k_())},a=e=>{K(e,A_())};J(r,e=>{H(s)?e(i):H(o)&&e(a,1)}),A(t),V(()=>q(n,`${H(c)??``} `)),K(e,t)};J(g,e=>{H(r)?e(_):e(v,-1)}),A(p),V(()=>{m=X(p,1,`tool-group svelte-7tn5lf`,null,m,{expanded:H(r)}),h=Z(p,``,h,{"--cat-color":H(l)})}),U(`click`,p,()=>{I(r,!H(r))}),U(`keydown`,p,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),I(r,!H(r)))}),K(e,p),N()}Lr([`click`,`keydown`]);var P_=new Set([`inbound`,`event`]);function F_(e){return e.find(e=>P_.has(e.type))?.type===`event`}var I_=W(`<div class="marker marker-icon svelte-1rz13hb"><!></div>`),L_=W(`<div class="marker svelte-1rz13hb"></div>`),R_=W(`<div class="turn-connector svelte-1rz13hb"></div>`),z_=W(`<span class="time svelte-1rz13hb"> </span>`),B_=W(`<div class="summary-header svelte-1rz13hb"><div class="summary-header-line svelte-1rz13hb"><!> <button><!></button></div></div>`),V_=W(`<div class="turn-loading svelte-1rz13hb">loading turn...</div>`),H_=W(`<div class="turn-loading svelte-1rz13hb"> </div>`),U_=W(`<div class="event svelte-1rz13hb"><div class="marker marker-icon svelte-1rz13hb"><!></div> <!></div>`),W_=W(`<div class="turn-branch svelte-1rz13hb" role="presentation"><!> <button class="branch-summary svelte-1rz13hb"><div class="marker marker-icon branch-summary-marker svelte-1rz13hb"><!></div> <span class="summary-text svelte-1rz13hb"> </span></button> <div class="branch-return svelte-1rz13hb"></div></div>`),G_=W(`<span class="summary-text svelte-1rz13hb"> </span>`),K_=W(`<!> <div class="event-body svelte-1rz13hb"><!></div>`,1),q_=W(`<div class="card-wrap svelte-1rz13hb"><!></div>`),J_=W(`<span class="inline-text inline-preview svelte-1rz13hb"> </span>`),Y_=W(`<span class="inline-text inline-text-event inline-preview svelte-1rz13hb"><span class="inline-event-label svelte-1rz13hb"> </span> </span>`),X_=W(`<span class="inline-channel svelte-1rz13hb"> </span> `,1),Z_=W(`<span class="inline-text inline-text-chat inline-preview svelte-1rz13hb"><!><span> </span> </span>`),Q_=W(`<div class="reflection-label svelte-1rz13hb">reflection · private</div>`),$_=W(`<!> <div><div class="markdown-body"></div></div>`,1),ev=W(`<span> <!></span>`),tv=W(`<span> </span>`),nv=W(`<span class="inline-text dim svelte-1rz13hb"> <!></span>`),rv=W(`<span class="inline-text dim svelte-1rz13hb">session started<!></span>`),iv=W(`<span class="inline-text dim svelte-1rz13hb">processing complete</span>`),av=W(`<div class="event-body svelte-1rz13hb"><!></div>`),ov=W(`<div role="button" tabindex="0"><!> <!> <!></div>`);function sv(e,t){M(t,!0);let n=pa(t,`expandable`,3,!1),r=pa(t,`reflection`,3,!1),i=F(!1),a=F(!1),o=F(!1),s=F(``),c=F(L([])),l=F(L([])),u=F(!1),d=F(!1),f={inbound:`var(--blue)`,outbound:`var(--red)`,event:`var(--purple)`,text:`var(--text-1)`,tool_use:`var(--yellow)`,tool_result:`var(--yellow)`,thinking:`var(--text-2)`,usage:`var(--purple)`,log:`var(--text-2)`,session_start:`var(--accent)`,done:`var(--text-2)`,summary:`var(--text-0)`,activity:`var(--yellow)`},p=P(()=>f[t.event.type]??`var(--text-2)`),m=P(()=>{if(!t.event.metadata)return null;try{return JSON.parse(t.event.metadata)}catch{return null}}),h=P(()=>xh(H(m),t.event.channel)),g=P(()=>Sh(t.event,H(m),t.mindName)),_=P(()=>t.event.type===`inbound`||t.event.type===`outbound`||t.event.type===`event`||t.event.type===`activity`||t.event.type===`text`||t.event.type===`thinking`||t.event.type===`tool_use`||t.event.type===`tool_result`||t.event.type===`summary`&&n()||!!t.event.content),v=P(()=>{let e=b(t.event.created_at),n=t.event.type;return n===`tool_use`||n===`tool_result`?`${e} · ${H(m)?.name??`tool`}`:n===`inbound`||n===`outbound`?`${e} · ${n}${t.event.channel?` · ${t.event.channel}`:``}`:n===`event`?`${e} · system event · ${H(h)}`:n===`activity`?`${e} · ${H(m)?.type??`activity`}`:`${e} · ${n}`});function y(e){let t;for(let n of e)n.type===`text`&&(t=n.id);return t}function b(e){return new Date(Rl(e)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function x(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}let S=F(void 0);async function C(){if(t.event.type===`summary`&&n()){if(I(a,!H(a)),H(a)&&H(c).length===0){let e=!!t.event.turn_id,n=t.event.thread&&H(m)?.from_id&&H(m)?.to_id;if(!e&&!n){I(s,`Missing turn data`);return}I(o,!0),I(s,``);try{I(c,await Au(t.mindName,e?{turnId:t.event.turn_id}:{session:t.event.thread,fromId:H(m).from_id,toId:H(m).to_id}),!0)}catch(e){I(s,`Failed to load turn details`),console.warn(`Failed to fetch turn events:`,e)}finally{I(o,!1)}}H(a)&&(await _r(),H(S)?.scrollIntoView({behavior:`smooth`,block:`start`})),t.onexpand?.(H(a),H(S))}else H(_)&&I(i,!H(i))}var w=ov();let T,E;var ee=R(w),te=e=>{var t=I_();Z(t,``,{},{color:`var(--blue)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ne=e=>{var t=I_();Z(t,``,{},{color:`var(--red)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},D=e=>{var t=I_();Z(t,``,{},{color:`var(--purple)`}),qa(R(t),{kind:`gear`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},O=e=>{var t=I_();Z(t,``,{},{color:`var(--text-1)`}),qa(R(t),{kind:`text`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},re=e=>{var t=I_();Z(t,``,{},{color:`var(--text-2)`}),qa(R(t),{kind:`thinking`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ie=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.name==`string`?H(t).name:`tool`),r=P(()=>p_(H(n)));var i=I_();let a;var o=R(i);{let e=P(()=>h_(H(r)));qa(o,{get kind(){return H(e)}})}A(i),Si(i,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(e=>a=Z(i,``,a,e),[()=>({color:m_(H(r))})]),K(e,i)},ae=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.color==`string`?`var(--${H(t).color})`:`var(--yellow)`);var r=I_();let i;var a=R(r),o=e=>{var n=G();ui(z(n),()=>Pl(H(t).icon)),K(e,n)},s=e=>{qa(e,{kind:`document-lines`})};J(a,e=>{typeof H(t)?.icon==`string`?e(o):e(s,-1)}),A(r),Si(r,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>i=Z(r,``,i,{color:H(n)})),K(e,r)},k=e=>{var t=L_();let n;Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>n=Z(t,``,n,{background:H(p)})),K(e,t)};J(ee,e=>{t.event.type===`inbound`?e(te):t.event.type===`outbound`?e(ne,1):t.event.type===`event`?e(D,2):t.event.type===`text`?e(O,3):t.event.type===`thinking`?e(re,4):t.event.type===`tool_use`||t.event.type===`tool_result`?e(ie,5):t.event.type===`activity`?e(ae,6):e(k,-1)});var oe=B(ee,2),se=e=>{K(e,R_())};J(oe,e=>{t.event.type===`summary`&&H(a)&&e(se)});var ce=B(oe,2),le=e=>{var r=K_(),i=z(r),f=e=>{var n=B_(),r=R(n),i=R(r),a=e=>{var t=z_(),n=R(t);A(t),V((e,t)=>q(n,`${e??``} – ${t??``}`),[()=>b(H(m).from_time),()=>b(H(m).to_time)]),K(e,t)},o=e=>{var n=z_(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>b(t.event.created_at)]),K(e,n)};J(i,e=>{H(m)?.from_time&&H(m)?.to_time?e(a):e(o,-1)});var s=B(i,2);let c;var f=R(s),p=e=>{K(e,Kr(`…`))},h=e=>{qa(e,{kind:`search`})};J(f,e=>{H(d)?e(p):e(h,-1)}),A(s),Si(s,(e,t)=>Il?.(e,t),()=>({text:H(u)?`show grouped`:`show all events`,position:`bottom`})),A(r),A(n),V(()=>c=X(s,1,`detail-toggle svelte-1rz13hb`,null,c,{"detail-active":H(u)})),U(`click`,s,async e=>{if(e.stopPropagation(),!H(u)&&H(l).length===0){I(d,!0);try{let e=!!t.event.turn_id,n=t.event.thread&&H(m)?.from_id&&H(m)?.to_id;(e||n)&&I(l,await Au(t.mindName,e?{turnId:t.event.turn_id,detail:!0}:{session:t.event.thread,fromId:H(m).from_id,toId:H(m).to_id,detail:!0}),!0)}catch(e){console.warn(`Failed to fetch detail events:`,e)}finally{I(d,!1)}}I(u,!H(u))}),K(e,n)};J(i,e=>{H(a)&&e(f)});var p=B(i,2),h=R(p),g=e=>{var n=W_(),r=R(n),i=e=>{K(e,V_())},d=e=>{var t=H_(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},f=e=>{let n=P(()=>F_(H(l))),r=P(()=>y(H(l)));var i=G();Y(z(i),17,()=>H(l).filter(e=>e.type!==`summary`),e=>e.id,(e,i)=>{{let a=P(()=>H(n)&&H(i).id===H(r));sv(e,{get event(){return H(i)},get mindName(){return t.mindName},get reflection(){return H(a)}})}}),K(e,i)},p=e=>{let n=P(()=>__(H(c))),r=P(()=>F_(H(c))),i=P(()=>y(H(c)));var a=G();Y(z(a),17,()=>H(n),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,n)=>{var a=G(),o=z(a),s=e=>{let r=P(()=>m_(H(n).category)),i=P(()=>h_(H(n).category)),a=P(()=>`${b(H(n).toolUse.created_at)} · ${H(n).toolName}`);var o=U_();let s;var c=R(o);let l;qa(R(c),{get kind(){return H(i)}}),A(c),Si(c,(e,t)=>Il?.(e,t),()=>({text:H(a),position:`left`})),N_(B(c,2),{get group(){return H(n)},get mindName(){return t.mindName},turnStatus:`complete`}),A(o),V(()=>{s=Z(o,``,s,{"--type-color":H(r)}),l=Z(c,``,l,{color:H(r)})}),K(e,o)},c=e=>{{let a=P(()=>H(r)&&H(n).event.id===H(i));sv(e,{get event(){return H(n).event},get mindName(){return t.mindName},get reflection(){return H(a)}})}};J(o,e=>{H(n).kind===`tool-group`?e(s):e(c,-1)}),K(e,a)}),K(e,a)};J(r,e=>{H(o)?e(i):H(s)?e(d,1):H(u)?e(f,2):e(p,-1)});var m=B(r,2),h=R(m);Z(h,``,{},{color:`var(--text-0)`}),qa(R(h),{kind:`spiral`}),A(h);var g=B(h,2),_=R(g,!0);A(g),A(m),j(2),A(n),V(()=>q(_,t.event.content)),U(`click`,n,e=>e.stopPropagation()),U(`keydown`,n,e=>e.stopPropagation()),U(`click`,m,()=>{I(a,!1)}),K(e,n)},_=e=>{var n=G_(),r=R(n,!0);A(n),V(()=>q(r,t.event.content)),K(e,n)};J(h,e=>{n()&&H(a)?e(g):e(_,-1)}),A(p),K(e,r)},ue=e=>{let n=P(()=>H(g));var r=G(),a=z(r),o=e=>{var r=q_(),a=R(r);{let e=P(()=>b(t.event.created_at)),r=P(()=>H(n).url?()=>Am(H(n).url):void 0);fh(a,{get title(){return H(n).title},get color(){return H(n).color},get icon(){return H(n).icon},get iconKind(){return H(n).iconKind},get meta(){return H(n).meta},get time(){return H(e)},get body(){return H(n).body},get onclick(){return H(r)},oncollapse:()=>I(i,!1)})}A(r),K(e,r)},s=e=>{var r=J_();let i;var a=R(r,!0);A(r),V(()=>{i=Z(r,``,i,{color:`var(--${H(n).color??``})`}),q(a,t.event.content)}),K(e,r)},c=e=>{var n=Y_(),r=R(n),i=R(r,!0);A(r);var a=B(r);A(n),V(()=>{q(i,H(h)),q(a,` ${t.event.content??``}`)}),K(e,n)},l=e=>{var n=Z_(),r=R(n),i=e=>{var n=X_(),r=z(n),i=R(r);A(r);var a=B(r,1,!0);a.nodeValue=` `,V(()=>q(i,`[${t.event.channel??``}]`)),K(e,n)};J(r,e=>{t.event.channel&&e(i)});var a=B(r);let o;var s=R(a);A(a);var c=B(a);A(n),V(()=>{o=X(a,1,`inline-sender svelte-1rz13hb`,null,o,{"inline-sender-user":t.event.type===`inbound`,"inline-sender-mind":t.event.type===`outbound`}),q(s,`${(t.event.type===`inbound`?t.event.sender??`user`:t.mindName)??``}:`),q(c,` ${t.event.content??``}`)}),K(e,n)};J(a,e=>{H(i)?e(o):t.event.type===`activity`?e(s,1):t.event.type===`event`?e(c,2):e(l,-1)}),K(e,r)},de=e=>{var n=av(),a=R(n),o=e=>{var n=$_(),a=z(n),o=e=>{K(e,Q_())};J(a,e=>{r()&&e(o)});var s=B(a,2);let c;var l=R(s);ui(l,()=>Al(t.event.content),!0),A(l),A(s),V(()=>c=X(s,1,`inline-text dim svelte-1rz13hb`,null,c,{"inline-text-expanded":H(i)})),K(e,n)},s=e=>{var n=ev();let r;var a=R(n,!0),o=B(a),s=e=>{var n=Kr();V(e=>q(n,`
|
|
77
|
-
${e??``}`),[()=>x(t.event.content)]),K(e,n)};J(o,e=>{H(i)&&t.event.content&&e(s)}),A(n),V(e=>{r=X(n,1,`inline-text svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)}),q(a,e)},[()=>g_(H(m)?.name??`tool`,t.event.content)]),K(e,n)},c=e=>{var n=tv();let r;var a=R(n,!0);A(n),V(()=>{r=X(n,1,`inline-text svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i),error:H(m)?.is_error}),q(a,t.event.content)}),K(e,n)},l=e=>{var n=tv();let r;var a=R(n,!0);A(n),V(()=>{r=X(n,1,`inline-text dim svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)}),q(a,t.event.content)}),K(e,n)},u=e=>{var t=nv(),n=R(t),r=B(n),i=e=>{var t=Kr();V(()=>q(t,H(m).model)),K(e,t)};J(r,e=>{H(m)?.model&&e(i)}),A(t),V(()=>q(n,`↑${H(m)?.input_tokens??0??``} ↓${H(m)?.output_tokens??0??``}`)),K(e,t)},d=e=>{var n=rv(),r=B(R(n)),i=e=>{var n=Kr();V(()=>q(n,t.event.thread)),K(e,n)};J(r,e=>{t.event.thread&&e(i)}),A(n),K(e,n)},f=e=>{K(e,iv())},p=e=>{var n=nv(),r=R(n,!0),i=B(r),a=e=>{var n=Kr();V(()=>q(n,t.event.content)),K(e,n)};J(i,e=>{t.event.content&&e(a)}),A(n),V(()=>q(r,t.event.type)),K(e,n)};J(a,e=>{t.event.type===`text`?e(o):t.event.type===`tool_use`?e(s,1):t.event.type===`tool_result`?e(c,2):t.event.type===`thinking`?e(l,3):t.event.type===`usage`?e(u,4):t.event.type===`session_start`?e(d,5):t.event.type===`done`?e(f,6):e(p,-1)}),A(n),K(e,n)};J(ce,e=>{t.event.type===`summary`?e(le):H(g)?e(ue,1):e(de,-1)}),A(w),ua(w,e=>I(S,e),()=>H(S)),V(()=>{T=X(w,1,`event svelte-1rz13hb`,null,T,{collapsible:H(_),"expandable-summary":t.event.type===`summary`&&n(),"turn-expanded":t.event.type===`summary`&&H(a)}),E=Z(w,``,E,{"--type-color":H(p)})}),U(`click`,w,C),U(`keydown`,w,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())}),K(e,w),N()}Lr([`click`,`keydown`]);var cv=W(`<span class="peek-msg-md markdown-body svelte-1ly6iad"></span>`),lv=W(`<span> </span>`),uv=W(`<div class="peek-msg svelte-1ly6iad"><span> </span> <!></div>`),dv=W(`<div class="peek-msgs svelte-1ly6iad"></div>`),fv=W(`<div class="peek-popover svelte-1ly6iad"><!></div>`),pv=W(`<div class="peek-popover svelte-1ly6iad" role="button" tabindex="0"><!></div>`),mv=W(`<div class="peek-anchor rail-trigger svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View trigger"><!></button> <!></div>`),hv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View conversation"><!></button> <div class="peek-popover svelte-1ly6iad" role="button" tabindex="0"><!></div></div>`),gv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View system event"><!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),_v=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View activity"><!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),vv=W(`<div><!> <!> <!></div>`),yv=W(`<!> <!>`,1),bv=W(`<span class="peek-count svelte-1ly6iad"> </span>`),xv=W(`<button class="peek-list-item peek-list-link svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <span class="peek-list-count svelte-1ly6iad"> </span></button>`),Sv=W(`<div class="peek-list-item svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <span class="peek-list-count svelte-1ly6iad"> </span></div>`),Cv=W(`<div class="peek-list svelte-1ly6iad"></div>`),wv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View conversations"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Tv=W(`<span class="peek-list-count svelte-1ly6iad"> </span>`),Ev=W(`<div class="peek-list-item svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <!></div>`),Dv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View system events"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Ov=W(`<button class="peek-list-item peek-list-link svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <!></button>`),kv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View activities"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`);function Av(e,t){M(t,!0);let n=(e,n=f)=>{{let r=P(()=>`${n().messages.length} msg${n().messages.length===1?``:`s`}`);fh(e,{get title(){return n().label},color:`blue`,iconKind:`chat`,get meta(){return H(r)},children:(e,r)=>{var i=dv();Y(i,21,()=>n().messages.slice(-5),e=>e.id,(e,n)=>{var r=uv(),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=e=>{var t=cv();ui(t,()=>Al(fm(H(n).content)),!0),A(t),K(e,t)},l=e=>{var t=lv(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>fm(H(n).content)]),K(e,t)};J(s,e=>{H(n).role===`assistant`?e(c):e(l,-1)}),A(r),V(()=>{a=X(i,1,`peek-msg-sender svelte-1ly6iad`,null,a,{"peek-msg-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?`user`:t.mind))}),K(e,r)}),A(i),K(e,i)},$$slots:{default:!0}})}},r=pa(t,`condensed`,3,!1),i=pa(t,`showStack`,3,!0),a=P(()=>t.turn?x_(t.turn):void 0),o=new Gl;function s(e){o.add(e)}var c=G(),l=z(c),u=e=>{var c=yv(),l=z(c),u=e=>{let r=P(()=>t.turn.trigger),i=P(()=>H(a).triggerEvt),c=P(()=>H(a).triggerConv);var l=mv(),u=R(l);let d;var f=R(u);{let e=P(()=>H(r).event?`gear`:`chat`);qa(f,{get kind(){return H(e)}})}A(u);var p=B(u,2),m=e=>{var t=fv(),n=R(t),a=e=>{{let t=P(()=>({kind:`text`,text:H(i)?.content??H(r).content??``}));fh(e,{get title(){return H(r).event.label},color:`purple`,iconKind:`gear`,meta:`system event`,get body(){return H(t)}})}},s=P(()=>o.has(`trigger`));J(n,e=>{H(s)&&e(a)}),A(t),K(e,t)},h=e=>{let r=P(()=>H(c));var i=pv(),a=R(i),s=e=>{n(e,()=>H(r))},l=P(()=>o.has(`trigger`));J(a,e=>{H(l)&&e(s)}),A(i),U(`click`,i,e=>{e.stopPropagation(),t.onopenconversation?.(H(r))}),U(`keydown`,i,e=>{e.key===`Enter`&&(e.stopPropagation(),t.onopenconversation?.(H(r)))}),K(e,i)},g=e=>{var t=fv(),n=R(t),i=e=>{{let t=P(()=>H(r).channel||`message`),n=P(()=>H(r).sender??void 0),i=P(()=>({kind:`text`,text:H(r).content??``}));fh(e,{get title(){return H(t)},color:`blue`,iconKind:`chat`,get meta(){return H(n)},get body(){return H(i)}})}},a=P(()=>o.has(`trigger`));J(n,e=>{H(a)&&e(i)}),A(t),K(e,t)};J(p,e=>{H(r).event?e(m):H(c)?e(h,1):e(g,-1)}),A(l),V(()=>d=Z(u,``,d,{color:H(r).event?`var(--purple)`:`var(--blue)`})),Ir(`mouseenter`,u,()=>s(`trigger`)),Ir(`focus`,u,()=>s(`trigger`)),K(e,l)};J(l,e=>{t.turn.trigger&&e(u)});var d=B(l,2),f=e=>{var i=vv();let c;var l=R(i);Y(l,17,()=>H(a).stackConvs,e=>e.id,(e,r)=>{let i=P(()=>`conv:${H(r).id}`);var a=hv(),c=R(a);qa(R(c),{kind:`chat`}),A(c);var l=B(c,2),u=R(l),d=e=>{n(e,()=>H(r))},f=P(()=>o.has(H(i)));J(u,e=>{H(f)&&e(d)}),A(l),A(a),Ir(`mouseenter`,c,()=>s(H(i))),Ir(`focus`,c,()=>s(H(i))),U(`click`,c,e=>e.stopPropagation()),U(`click`,l,e=>{e.stopPropagation(),t.onopenconversation?.(H(r))}),U(`keydown`,l,e=>{e.key===`Enter`&&(e.stopPropagation(),t.onopenconversation?.(H(r)))}),K(e,a)});var u=B(l,2);Y(u,17,()=>H(a).stackEvents,e=>e.id,(e,t)=>{let n=P(()=>`event:${H(t).id}`);var r=gv(),i=R(r);Z(i,``,{},{color:`var(--purple)`}),qa(R(i),{kind:`gear`}),A(i);var a=B(i,2),c=R(a),l=e=>{{let n=P(()=>({kind:`text`,text:H(t).content??``}));fh(e,{get title(){return H(t).label},color:`purple`,iconKind:`gear`,meta:`system event`,get body(){return H(n)}})}},u=P(()=>o.has(H(n)));J(c,e=>{H(u)&&e(l)}),A(a),A(r),Ir(`mouseenter`,i,()=>s(H(n))),Ir(`focus`,i,()=>s(H(n))),U(`click`,i,e=>e.stopPropagation()),K(e,r)}),Y(B(u,2),17,()=>t.turn.activities,e=>e.id,(e,n)=>{let r=P(()=>`act:${H(n).id}`),i=P(()=>bh(H(n).metadata)),a=P(()=>typeof H(n).metadata?.icon==`string`?Pl(H(n).metadata.icon):``),c=P(()=>mh(H(n).metadata,t.mind));var l=_v(),u=R(l);let d;var f=R(u),p=e=>{var t=G();ui(z(t),()=>H(a)),K(e,t)},m=e=>{qa(e,{kind:`document-lines`})};J(f,e=>{H(a)?e(p):e(m,-1)}),A(u);var h=B(u,2),g=R(h),_=e=>{{let t=P(()=>typeof H(n).metadata?.icon==`string`?H(n).metadata.icon:void 0),r=P(()=>typeof H(n).metadata?.icon==`string`?void 0:`document-lines`),a=P(()=>ph(H(n).metadata));fh(e,{get title(){return H(n).summary},get color(){return H(i)},get icon(){return H(t)},get iconKind(){return H(r)},get body(){return H(a)}})}},v=P(()=>o.has(H(r)));J(g,e=>{H(v)&&e(_)}),A(h),A(l),V(()=>d=Z(u,``,d,{color:`var(--${H(i)??``})`})),Ir(`mouseenter`,u,()=>s(H(r))),Ir(`focus`,u,()=>s(H(r))),U(`click`,u,e=>{e.stopPropagation(),H(c)&&Am(H(c))}),K(e,l)}),A(i),V(()=>c=X(i,1,`rail-stack svelte-1ly6iad`,null,c,{condensed:r()})),K(e,i)};J(d,e=>{i()&&H(a).stackCount>0&&e(f)}),K(e,c)},d=e=>{var n=vv();let i;var a=R(n),c=e=>{let n=P(()=>t.groups.conversations.reduce((e,t)=>e+t.count,0));var r=wv(),i=R(r),a=R(i);qa(a,{kind:`chat`});var c=B(a,2),l=e=>{var n=bv(),r=R(n,!0);A(n),V(()=>q(r,t.groups.conversations.length)),K(e,n)};J(c,e=>{t.groups.conversations.length>1&&e(l)}),A(i);var u=B(i,2),d=R(u),f=e=>{{let r=P(()=>t.groups.conversations.length===1?t.groups.conversations[0].label:`conversations`),i=P(()=>`${H(n)} msg${H(n)===1?``:`s`}`);fh(e,{get title(){return H(r)},color:`blue`,iconKind:`chat`,get meta(){return H(i)},children:(e,n)=>{var r=Cv();Y(r,21,()=>t.groups.conversations,e=>e.id,(e,n)=>{var r=G(),i=z(r),a=e=>{var r=xv(),i=R(r),a=R(i,!0);A(i);var o=B(i,2),s=R(o);A(o),A(r),V(()=>{q(a,H(n).label),q(s,`${H(n).count??``} msg${H(n).count===1?``:`s`}`)}),U(`click`,r,()=>t.onopenconversation?.(H(n))),K(e,r)},o=P(()=>gh(H(n).id)),s=e=>{var t=Sv(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=R(a);A(a),A(t),V(()=>{q(i,H(n).label),q(o,`${H(n).count??``} msg${H(n).count===1?``:`s`}`)}),K(e,t)};J(i,e=>{H(o)?e(a):e(s,-1)}),K(e,r)}),A(r),K(e,r)},$$slots:{default:!0}})}},p=P(()=>o.has(`convs`));J(d,e=>{H(p)&&e(f)}),A(u),A(r),Ir(`mouseenter`,i,()=>s(`convs`)),Ir(`focus`,i,()=>s(`convs`)),K(e,r)};J(a,e=>{t.groups.conversations.length>0&&e(c)});var l=B(a,2),u=e=>{let n=P(()=>t.groups.events.reduce((e,t)=>e+t.count,0));var r=Dv(),i=R(r);Z(i,``,{},{color:`var(--purple)`});var a=R(i);qa(a,{kind:`gear`});var c=B(a,2),l=e=>{var t=bv(),r=R(t,!0);A(t),V(()=>q(r,H(n))),K(e,t)};J(c,e=>{H(n)>1&&e(l)}),A(i);var u=B(i,2),d=R(u),f=e=>{{let r=P(()=>`${H(n)} event${H(n)===1?``:`s`}`);fh(e,{title:`system events`,color:`purple`,iconKind:`gear`,get meta(){return H(r)},children:(e,n)=>{var r=Cv();Y(r,21,()=>t.groups.events,e=>e.label,(e,t)=>{var n=Ev(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{var n=Tv(),r=R(n);A(n),V(()=>q(r,`×${H(t).count??``}`)),K(e,n)};J(a,e=>{H(t).count>1&&e(o)}),A(n),V(()=>q(i,H(t).label)),K(e,n)}),A(r),K(e,r)},$$slots:{default:!0}})}},p=P(()=>o.has(`events`));J(d,e=>{H(p)&&e(f)}),A(u),A(r),Ir(`mouseenter`,i,()=>s(`events`)),Ir(`focus`,i,()=>s(`events`)),K(e,r)};J(l,e=>{t.groups.events.length>0&&e(u)}),Y(B(l,2),17,()=>t.groups.activities,e=>e.type,(e,n)=>{let r=P(()=>`group:${H(n).type}`),i=P(()=>vh(H(n).type)),a=P(()=>H(n).color??H(i)?.color??`yellow`),c=P(()=>H(n).icon??H(i)?.icon),l=P(()=>H(c)?Pl(H(c)):``);var u=kv(),d=R(u);let f;var p=R(d),m=e=>{var t=G();ui(z(t),()=>H(l)),K(e,t)},h=e=>{qa(e,{kind:`document-lines`})};J(p,e=>{H(l)?e(m):e(h,-1)});var g=B(p,2),_=e=>{var t=bv(),r=R(t,!0);A(t),V(()=>q(r,H(n).count)),K(e,t)};J(g,e=>{H(n).count>1&&e(_)}),A(d);var v=B(d,2),y=R(v),b=e=>{{let r=P(()=>yh(H(n).type)),i=P(()=>H(c)?void 0:`document-lines`),o=P(()=>H(n).count>H(n).items.length?`${H(n).items.length} of ${H(n).count}`:`×${H(n).count}`);fh(e,{get title(){return H(r)},get color(){return H(a)},get icon(){return H(c)},get iconKind(){return H(i)},get meta(){return H(o)},children:(e,r)=>{var i=Cv();Y(i,21,()=>H(n).items,e=>e.id,(e,n)=>{let r=P(()=>mh(H(n).metadata,t.mind));var i=G(),a=z(i),o=e=>{var t=Ov(),i=R(t),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var t=Tv(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created_at)]),K(e,t)};J(o,e=>{H(n).created_at&&e(s)}),A(t),V(()=>q(a,H(n).summary)),U(`click`,t,()=>Am(H(r))),K(e,t)},s=e=>{var t=Ev(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=e=>{var t=Tv(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created_at)]),K(e,t)};J(a,e=>{H(n).created_at&&e(o)}),A(t),V(()=>q(i,H(n).summary)),K(e,t)};J(a,e=>{H(r)?e(o):e(s,-1)}),K(e,i)}),A(i),K(e,i)},$$slots:{default:!0}})}},x=P(()=>o.has(H(r)));J(y,e=>{H(x)&&e(b)}),A(v),A(u),V(()=>f=Z(d,``,f,{color:`var(--${H(a)??``})`})),Ir(`mouseenter`,d,()=>s(H(r))),Ir(`focus`,d,()=>s(H(r))),K(e,u)}),A(n),V(()=>i=X(n,1,`rail-stack svelte-1ly6iad`,null,i,{condensed:r()})),U(`click`,n,e=>e.stopPropagation()),K(e,n)};J(l,e=>{t.turn&&H(a)?e(u):t.groups&&i()&&(t.groups.conversations.length>0||t.groups.events.length>0||t.groups.activities.length>0)&&e(d,1)}),K(e,c),N()}Lr([`click`,`keydown`]);var jv=W(`<div class="branch-rail-hit svelte-1wz37xo"></div>`),Mv=W(`<div class="branch-header svelte-1wz37xo"><!></div>`),Nv=W(`<div class="branch-footer svelte-1wz37xo"><!></div>`),Pv=W(`<div class="tb-return svelte-1wz37xo"></div>`),Fv=W(`<div class="branch-wrapper svelte-1wz37xo"><div></div> <!> <div class="branch-content svelte-1wz37xo"><!> <!> <!> <!></div></div>`);function Iv(e,t){let n=pa(t,`gap`,3,16),r=pa(t,`reach`,3,10),i=pa(t,`railTop`,3,15),a=pa(t,`noReturn`,3,!1),o=pa(t,`dashed`,3,!1);var s=Fv();let c;var l=R(s);let u;var d=B(l,2),f=e=>{var n=jv();U(`click`,n,function(...e){t.onrailclick?.apply(this,e)}),K(e,n)};J(d,e=>{o()&&e(f)});var p=B(d,2),m=R(p),h=e=>{var n=Mv();di(R(n),()=>t.header),A(n),U(`click`,n,function(...e){t.onheaderclick?.apply(this,e)}),K(e,n)};J(m,e=>{t.header&&e(h)});var g=B(m,2);di(g,()=>t.children);var _=B(g,2),v=e=>{var n=Nv();di(R(n),()=>t.footer),A(n),U(`click`,n,function(...e){t.onfooterclick?.apply(this,e)}),K(e,n)};J(_,e=>{t.footer&&e(v)});var y=B(_,2),b=e=>{K(e,Pv())};J(y,e=>{a()||e(b)}),A(p),A(s),V(()=>{c=Z(s,``,c,{"--branch-gap":`${n()??``}px`,"--branch-reach":`${r()??``}px`,"--rail-top":`${i()??``}px`}),u=X(l,1,`branch-connector svelte-1wz37xo`,null,u,{"branch-connector-dashed":o()})}),K(e,s)}Lr([`click`]);var Lv=W(`<div class="summary-expand-header svelte-j3zn9j"><span class="active-turn-time svelte-j3zn9j"> </span></div>`),Rv=W(`<div class="summary-expand-loading svelte-j3zn9j">loading...</div>`),zv=W(`<div class="event svelte-j3zn9j"><div class="marker marker-icon svelte-j3zn9j"><!></div> <!></div>`),Bv=W(`<span class="summary-child-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span>`,1),Vv=W(`<div class="nested-branch-wrapper svelte-j3zn9j"><!></div>`),Hv=W(`<div><div class="summary-child-dot summary-dot svelte-j3zn9j"></div> <!> <div class="summary-child-body svelte-j3zn9j"><!></div></div> <!>`,1),Uv=W(`<div><!> <!></div>`),Wv=W(`<div class="summary-expand-collapse svelte-j3zn9j"><div class="summary-full markdown-body svelte-j3zn9j"></div></div>`),Gv=W(`<div class="summary-collapsed svelte-j3zn9j"><span class="summary-collapsed-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span></div>`);function Kv(e,t){M(t,!0);let n=pa(t,`depth`,3,0),r=new Gl,i=P(()=>t.expandedSummaries.has(t.summary.id)||t.directEventsSummaries.has(t.summary.id)),a=P(()=>t.loadingChildren.has(t.summary.id)),o=P(()=>t.directEventsSummaries.get(t.summary.id)),s=P(()=>t.expandedSummaries.get(t.summary.id)??[]),c=P(()=>n()===0?16:12),l=P(()=>n()===0?15:13),u=P(()=>H(s).some(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id))));function d(){let e=H(s).find(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id)));e&&`period`in e&&t.toggleSummaryExpand(e)}function f(e){return e.replace(/^\s*#{1,6}\s+/gm,``).replace(/^\s*[-*+]\s+/gm,``).replace(/(\*\*|__|\*|_|`)/g,``).trim()}var p=G(),m=z(p),h=e=>{Iv(e,{get gap(){return H(c)},reach:8,get railTop(){return H(l)},get dashed(){return H(u)},onheaderclick:()=>t.toggleSummaryExpand(t.summary),onfooterclick:()=>t.toggleSummaryExpand(t.summary),onrailclick:d,header:e=>{var n=Lv(),r=R(n),i=R(r,!0);A(r),A(n),V(e=>q(i,e),[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key)]),K(e,n)},children:e=>{var i=G(),c=z(i),l=e=>{K(e,Rv())},u=e=>{let n=P(()=>__(H(o)));var r=G();Y(z(r),17,()=>H(n),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,n)=>{var r=G(),i=z(r),a=e=>{let r=P(()=>m_(H(n).category)),i=P(()=>h_(H(n).category));var a=zv();let o;var s=R(a);let c;qa(R(s),{get kind(){return H(i)}}),A(s),N_(B(s,2),{get group(){return H(n)},get mindName(){return t.summary.mind},turnStatus:`complete`}),A(a),V(()=>{o=Z(a,``,o,{"--type-color":H(r)}),c=Z(s,``,c,{color:H(r)})}),K(e,a)},o=e=>{sv(e,{get event(){return H(n).event},get mindName(){return t.summary.mind}})};J(i,e=>{H(n).kind===`tool-group`?e(a):e(o,-1)}),K(e,r)}),K(e,r)},d=e=>{var i=G();Y(z(i),17,()=>H(s),e=>`period`in e?`s-${e.id}`:`t-${e.id}`,(e,i)=>{var a=G(),o=z(a),s=e=>{let r=P(()=>H(i)),a=P(()=>t.expandedSummaries.has(H(r).id)||t.directEventsSummaries.has(H(r).id)),o=P(()=>H(a)?0:S_(H(r).icons));var s=Hv(),c=z(s);let l,u;var d=B(R(c),2),p=e=>{Av(e,{get groups(){return H(r).icons},get mind(){return H(r).mind},condensed:!0,onopenconversation:e=>t.onopenconversation?.(e,H(r).created_at)})};J(d,e=>{H(o)>0&&H(r).icons&&e(p)});var m=B(d,2),h=R(m),g=e=>{var n=Bv(),i=z(n),a=R(i,!0);A(i);var o=B(i,2),s=R(o,!0);A(o),V((e,t)=>{q(a,e),q(s,t)},[()=>t.formatPeriodTime(H(r).period,H(r).period_key),()=>f(H(r).content)]),K(e,n)};J(h,e=>{H(a)||e(g)}),A(m),A(c);var _=B(c,2),v=e=>{var i=Vv(),a=R(i);{let e=P(()=>n()+1);Kv(a,{get summary(){return H(r)},get depth(){return H(e)},get expandedSummaries(){return t.expandedSummaries},get directEventsSummaries(){return t.directEventsSummaries},get loadingChildren(){return t.loadingChildren},get toggleSummaryExpand(){return t.toggleSummaryExpand},get formatPeriodTime(){return t.formatPeriodTime},get onopenconversation(){return t.onopenconversation}})}A(i),K(e,i)};J(_,e=>{H(a)&&e(v)}),V(()=>{l=X(c,1,`summary-child-item svelte-j3zn9j`,null,l,{"summary-child-expanded":H(a),"summary-child-collapsed":!H(a)}),u=Z(c,``,u,{"min-height":H(o)>0?`${40+H(o)*30}px`:void 0})}),U(`click`,c,e=>{e.stopPropagation(),t.toggleSummaryExpand(H(r))}),K(e,s)},c=e=>{let n=P(()=>H(i)),a=P(()=>r.has(H(n).id)),o=P(()=>H(a)?0:x_(H(n)).stackCount);var s=Uv();let c,l;var u=R(s);{let e=P(()=>!H(a));Av(u,{get turn(){return H(n)},get mind(){return H(n).mind},condensed:!0,get showStack(){return H(e)},onopenconversation:e=>t.onopenconversation?.(e,H(n).created_at)})}var d=B(u,2);{let e=P(()=>({id:0,mind:H(n).mind,channel:``,thread:null,sender:null,message_id:null,type:`summary`,content:H(n).summary??`(no summary)`,metadata:H(n).summary_meta?JSON.stringify(H(n).summary_meta):null,turn_id:H(n).id,created_at:H(n).created_at}));sv(d,{get event(){return H(e)},get mindName(){return H(n).mind},expandable:!0,onexpand:e=>{e?r.add(H(n).id):r.delete(H(n).id)}})}A(s),V(()=>{c=X(s,1,`summary-child-turn svelte-j3zn9j`,null,c,{"has-trigger":!!H(n).trigger}),l=Z(s,``,l,{"min-height":H(o)>0?`${40+H(o)*30}px`:void 0})}),U(`click`,s,e=>e.stopPropagation()),K(e,s)};J(o,e=>{`period`in H(i)?e(s):e(c,-1)}),K(e,a)}),K(e,i)};J(c,e=>{H(a)?e(l):H(o)?e(u,1):e(d,-1)}),K(e,i)},footer:e=>{var n=Wv(),r=R(n);ui(r,()=>Al(t.summary.content),!0),A(r),A(n),U(`click`,n,e=>e.stopPropagation()),K(e,n)},$$slots:{header:!0,default:!0,footer:!0}})},g=e=>{var n=Gv(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(n),V((e,t)=>{q(i,e),q(o,t)},[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key),()=>f(t.summary.content)]),U(`click`,n,()=>t.toggleSummaryExpand(t.summary)),K(e,n)};J(m,e=>{H(i)?e(h):e(g,-1)}),K(e,p),N()}Lr([`click`]);var qv=W(`<div class="load-older svelte-m7q6b7"><button class="load-older-btn svelte-m7q6b7"> </button></div>`),Jv=W(`<div class="error-hint svelte-m7q6b7"> </div>`),Yv=W(`<div class="empty-hint svelte-m7q6b7">No activity yet.</div>`),Xv=W(`<div class="turn-row scale-break-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"></div> <div class="scale-break-container svelte-m7q6b7"><div class="scale-break-slash svelte-m7q6b7"></div> <div class="scale-break-gap svelte-m7q6b7"></div> <div class="scale-break-slash svelte-m7q6b7"></div> <div class="scale-break-label scale-break-label-above svelte-m7q6b7"><svg class="scale-break-arrow svelte-m7q6b7" viewBox="0 0 8 5"><path d="M4 0L8 5H0z" fill="currentColor"></path></svg> <span> </span></div> <div class="scale-break-label scale-break-label-below svelte-m7q6b7"><svg class="scale-break-arrow svelte-m7q6b7" viewBox="0 0 8 5"><path d="M4 5L0 0h8z" fill="currentColor"></path></svg> <span> </span></div></div> <div class="turn-body svelte-m7q6b7"></div></div>`),Zv=W(`<button class="mind-badge svelte-m7q6b7"> </button>`),Qv=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"><!></div> <div><div class="turn-dot summary-dot svelte-m7q6b7"></div> <!></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),$v=W(`<div class="turn-dot svelte-m7q6b7"></div>`),ey=W(`<div class="turn-stamp svelte-m7q6b7"> </div>`),ty=W(`<div class="active-turn-header svelte-m7q6b7"><span class="active-turn-time svelte-m7q6b7"> </span></div>`),ny=W(`<div class="event svelte-m7q6b7"><div class="marker marker-icon svelte-m7q6b7"><!></div> <!></div>`),ry=W(`<!> <div class="active-indicator svelte-m7q6b7"><div class="active-dot svelte-m7q6b7"></div></div>`,1),iy=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"><!></div> <div role="button" tabindex="0"><!> <!></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!> <!></div></div></div>`),ay=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"> </div> <div class="turn-rail turn-rail-expanded svelte-m7q6b7"><div class="turn-dot-icon svelte-m7q6b7"><!></div></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),oy=W(`<span class="reconnecting-text svelte-m7q6b7">reconnecting…</span>`),sy=W(`<div class="turn-row turn-row-status svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"></div> <div class="turn-rail turn-rail-terminus svelte-m7q6b7"><div></div></div> <div class="turn-body svelte-m7q6b7"><span class="mind-status-text svelte-m7q6b7"> </span> <!></div></div>`),cy=W(`<div class="turn-track svelte-m7q6b7"><!> <!> <!></div>`),ly=W(`<div class="loading-more svelte-m7q6b7">loading...</div>`),uy=W(`<button class="jump-btn svelte-m7q6b7">jump to latest</button>`),dy=W(`<div class="turn-timeline svelte-m7q6b7"><div class="turn-scroll svelte-m7q6b7"><!> <!> <!></div> <!></div> <!>`,1);function fy(e,t){M(t,!0);let n={hour:`turn`,day:`hour`,week:`day`,month:`week`};function r(e,t){return e===`hour`?new Date(`${t.slice(0,10)}T${t.slice(11,13)}:00:00`):e===`day`?new Date(`${t}T00:00:00`):e===`week`?Wg(t):e===`month`?new Date(`${t}-01T00:00:00`):new Date(t)}function i(e,t,n){let i=Hg(n),a=new Date(i.year,i.month-1,i.day),o=new Date(a);if(o.setDate(a.getDate()-1),e===`hour`){let e=r(`hour`,t),n=new Date(e.getTime()+36e5),i=e=>e.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()===a.getTime()?`${i(e)} \u2013 ${i(n)}`:`${e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${i(e)} \u2013 ${i(n)}`}if(e===`day`){let e=r(`day`,t);return e.getTime()===a.getTime()?`Today`:e.getTime()===o.getTime()?`Yesterday`:e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}if(e===`week`){let e=Wg(t),n=new Date(e);n.setDate(e.getDate()+6);let r=e=>e.toLocaleDateString(void 0,{month:`short`,day:`numeric`});return e.getFullYear()===i.year?`${r(e)} \u2013 ${r(n)}`:`${r(e)} \u2013 ${r(n)}, ${e.getFullYear()}`}if(e===`month`){let[e,n]=t.split(`-`);return new Date(parseInt(e,10),parseInt(n,10)-1,1).toLocaleDateString(void 0,{month:`long`,year:`numeric`})}return t}let a=F([]),o=F(!1),s=F(``),c=F(void 0),l=F(!1),u=F(null),d=F([]),f=F([]),p=F([]),m=F([]),h=F(!1),g=F(!0),_=F(!1),v=P(()=>H(g)&&(H(p).length>0||H(m).length>0)),y=F(L(new Kl)),b=new Gl,x=F(L(new Kl)),S=gh,C=new Map,w=new Kl,T=new Gl;function E(e,t){C.set(e,t),w.set(e,__(t)),T.add(e)}function ee(e,t){let n=[...C.get(e)??[],t];C.set(e,n),w.set(e,y_(w.get(e)??[],n,t))}function te(e){C.delete(e),w.delete(e),T.delete(e)}let ne=-1,D=F(L([])),O=new Map,re=F(L(new Set));function ie(e,n={}){return{id:ne--,mind:e.mind??t.name??``,channel:e.channel??``,thread:e.session??null,sender:e.sender??null,message_id:e.messageId??null,type:e.type??``,content:e.content??``,metadata:e.metadata?JSON.stringify(e.metadata):null,turn_id:null,created_at:new Date().toISOString(),...n}}function ae(e){let t=!1,n=[];for(let r of e){let e=H(a).findIndex(e=>e.id===r.id);e===-1?n.push(r):(H(a)[e]=r,t=!0)}n.length>0?I(a,[...H(a),...n]):t&&I(a,[...H(a)])}function k(e,t){I(u,{id:e.id,type:e.type,user_id:null,created_at:t,updated_at:t,private:0,channel_name:e.type===`channel`?e.label.replace(/^#/,``):null,participants:[]},!0)}function oe(e){return new Date(Rl(e)).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}function se(e,t){t?H(re).add(e):H(re).delete(e),I(re,new Set(H(re)),!0)}let ce=F(void 0),le=F(!1),ue=null,de=F(!1),fe=0,pe=null,me=new Map;function he(){pe&&=(clearTimeout(pe),null)}function ge(){if(pe)return;let e=Xg(fe);fe++,pe=setTimeout(()=>{pe=null,ve()},e)}async function _e(){if(t.name)try{ae([...await ju({mind:t.name,limit:100,offset:0})].reverse());for(let e of H(a))if(e.status===`active`){let t=e.id,n=e.mind;me.set(t,Date.now()),C.has(t)||E(t,[]),Au(n,{turnId:t}).then(e=>{C.has(t)&&E(t,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to resync active turn events:`,e))}else C.has(e.id)&&(te(e.id),me.delete(e.id))}catch(e){console.warn(`[TurnTimeline] Failed to resync after reconnect:`,e)}}function ve(){ye();let e=`/api/v1/history/events${t.name?`?mind=${encodeURIComponent(t.name)}`:``}`,n=new EventSource(e);n.onmessage=e=>{let n;try{n=JSON.parse(e.data)}catch(t){console.warn(`[TurnTimeline] Failed to parse SSE event:`,e.data,t);return}let r=n.turnId,i=n.type;if((i===`inbound`||i===`event`)&&!r)I(D,[...H(D),ie(n)],!0);else if(i===`turn_created`&&r){if(H(a).some(e=>e.id===r)||I(a,[...H(a),{id:r,mind:n.mind??t.name??``,summary:null,summary_meta:null,status:`active`,created_at:new Date().toISOString(),trigger:null,conversations:[],events:[],activities:[]}]),H(D).length>0){let e=H(D).map(e=>({...e,turn_id:r})),t=C.get(r)??[];E(r,[...e,...t])}else C.has(r)||E(r,[]);I(D,[],!0),me.set(r,Date.now());let e=n.mind??t.name??``;new Promise(e=>setTimeout(e,500)).then(()=>Au(e,{turnId:r})).then(e=>{C.has(r)&&E(r,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to fetch turn events:`,e))}else if(i===`summary`&&r){clearTimeout(O.get(r)),O.delete(r);let e=C.get(r);te(r),me.delete(r),ju({mind:t.name,turnId:r}).then(e=>{ae(e),requestAnimationFrame(()=>{!H(le)&&H(ce)&&H(ce).scrollTo({top:H(ce).scrollHeight,behavior:`smooth`})})}).catch(t=>{console.warn(`[TurnTimeline] Failed to fetch completed turn:`,t),C.has(r)||E(r,e??[])})}else if(i===`done`&&r){if(!O.has(r)){let e=r;O.set(e,setTimeout(()=>{O.delete(e),C.has(e)&&(te(e),ju({mind:t.name,turnId:e}).then(e=>ae(e)).catch(e=>console.warn(`[TurnTimeline] Failed to refresh turn after done:`,e)))},1e4))}}else r&&C.has(r)&&(ee(r,ie(n,{turn_id:r})),me.set(r,Date.now()));De()},n.onopen=()=>{he();let e=H(de);fe=0,I(de,!1),e&&_e()},n.onerror=()=>{n.readyState===EventSource.CLOSED?(I(de,!0),ge()):n.readyState===EventSource.CONNECTING&&I(de,!0)},ue=n}function ye(){he(),ue&&=(ue.close(),null);for(let e of O.values())clearTimeout(e);O.clear()}async function be(){I(o,!0),I(s,``);try{ae([...await ju({mind:t.name,limit:100})].reverse()),H(D).length===0&&t.name&&ku(t.name,{preset:`all`,limit:10}).then(e=>{let t=e.filter(e=>(e.type===`inbound`||e.type===`event`)&&!e.turn_id&&e_(e.created_at));t.length>0&&H(D).length===0&&I(D,t,!0)}).catch(e=>console.warn(`[TurnTimeline] Failed to check pending inbounds:`,e));for(let e of H(a))e.status===`active`&&!C.has(e.id)&&(E(e.id,[]),Au(e.mind,{turnId:e.id}).then(t=>{C.has(e.id)&&E(e.id,t)}).catch(e=>console.warn(`[TurnTimeline] Failed to backfill active turn events:`,e)))}catch(e){I(s,e instanceof Error?e.message:`Failed to load`,!0)}I(o,!1)}async function xe(){try{let e=Kg(H(c)),[n,r,i,a]=await Promise.all([Mu({mind:t.name,period:`hour`,from:e.todayHourFrom,to:e.hourCutoff,limit:24,icons:!0}),Mu({mind:t.name,period:`day`,from:e.weekCutoff,to:e.todayKey,limit:7,icons:!0}),Mu({mind:t.name,period:`week`,to:e.weekCutoff,limit:12,icons:!0}),Mu({mind:t.name,period:`month`,to:e.currentMonthKey,limit:12,icons:!0})]);I(d,n.sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(f,r.filter(t=>t.period_key<e.todayKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(p,i.filter(t=>t.period_key<e.currentWeekKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(m,a.filter(t=>t.period_key<e.currentMonthKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(g,!0),I(h,!0)}catch(e){console.warn(`[TurnTimeline] Failed to load summaries:`,e),I(h,!0)}}async function Se(){if(H(_))return;let e=qg(H(p),H(m));if(!e){I(g,!1);return}I(_,!0);try{let n=await Mu({mind:t.name,period:e.tier,to:e.to,limit:12,icons:!0});if(e.tier===`month`){let{merged:e,exhausted:t}=Jg(H(m),n);I(m,e),t&&I(g,!1)}else{let{merged:e,exhausted:t}=Jg(H(p),n);I(p,e),t&&I(g,!1)}}catch(e){console.warn(`[TurnTimeline] Failed to load older summaries:`,e)}I(_,!1)}async function Ce(e){if(H(y).has(e.id)||H(x).has(e.id)){H(y).delete(e.id),H(x).delete(e.id);return}b.add(e.id);try{let r=e.mind===`_system`,i=n[e.period];if(r&&i===`turn`){let t=e.metadata?.minds??[],n=(await Promise.all(t.map(t=>Mu({mind:t,period:e.period,from:e.period_key,to:e.period_key,limit:1,icons:!0})))).flat().sort((e,t)=>e.mind.localeCompare(t.mind));H(y).set(e.id,n)}else if(i===`turn`){let t=e.metadata?.source_ids??[];if(t.length>0){let n=await Nu(t),r=n.filter(e=>S(e.period_key));if(r.length<n.length)H(y).set(e.id,n);else if(r.length===1){let t=await Au(r[0].mind,{turnId:r[0].period_key});H(x).set(e.id,t)}else if(r.length>0){let t=await ju({turnIds:r.map(e=>e.period_key)});t.sort((e,t)=>e.created_at.localeCompare(t.created_at)),H(y).set(e.id,t)}else H(y).set(e.id,[])}else H(y).set(e.id,[])}else{let n,r;if(e.period===`day`)n=e.period_key,r=`${e.period_key}T99`;else if(e.period===`week`){let t=Wg(e.period_key),i=new Date(t);i.setDate(t.getDate()+6);let a=e=>String(e).padStart(2,`0`);n=`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())}`,r=`${i.getFullYear()}-${a(i.getMonth()+1)}-${a(i.getDate())}`}else if(e.period===`month`){let[t,i]=e.period_key.split(`-`).map(Number),a=new Date(t,i,0).getDate();n=`${e.period_key}-01`,r=`${e.period_key}-${String(a).padStart(2,`0`)}`}else n=e.period_key,r=e.period_key;let a=await Mu({mind:t.name,period:i,from:n,to:r,limit:100,icons:!0});H(y).set(e.id,a.sort((e,t)=>e.period_key.localeCompare(t.period_key)))}}catch(e){console.warn(`[TurnTimeline] Failed to load summary children:`,e)}b.delete(e.id)}let we=F(L(Date.now())),Te=P(()=>{let e=[],t=new Date(H(we));for(let t of H(m))e.push({kind:`summary`,summary:t});for(let t of H(p))e.push({kind:`summary`,summary:t});(H(m).length>0||H(p).length>0)&&H(f).length>0&&e.push({kind:`separator`,above:`earlier`,below:`this week`});for(let t of H(f))e.push({kind:`summary`,summary:t});let n=u_({now:t,hourSummaries:H(d),turnsData:H(a),isActive:e=>e.status===`active`||T.has(e.id)});e.length>0&&n.length>0&&e.push({kind:`separator`,above:`earlier this week`,below:`today`});for(let t of n)e.push(t);return e}),Ee=!1;function De(){H(le)||Ee||(Ee=!0,requestAnimationFrame(()=>{Ee=!1,!H(le)&&H(ce)&&(H(ce).scrollTop=H(ce).scrollHeight)}))}let Oe=null,ke=null;function Ae(){je(),Oe=setInterval(()=>{H(ce)&&(H(ce).scrollTop=H(ce).scrollHeight)},100),ke=setTimeout(()=>{je()},3e3)}function je(){Oe&&=(clearInterval(Oe),null),ke&&=(clearTimeout(ke),null)}let Me=``;Tn(()=>{let e=t.name;e!==Me&&(Me=e,I(a,[]),C.clear(),w.clear(),T.clear(),ne=-1,I(D,[],!0),I(d,[]),I(f,[]),I(p,[]),I(m,[]),I(h,!1),I(g,!0),I(y,new Kl,!0),I(x,new Kl,!0),I(de,!1),fe=0,me.clear(),Ae(),be())}),Tn(()=>{let e=()=>{document.visibilityState===`visible`&&I(we,Date.now(),!0)};document.addEventListener(`visibilitychange`,e);let n=setInterval(()=>{if(I(we,Date.now(),!0),H(D).length>0){let e=t_(H(D));e.length!==H(D).length&&I(D,e,!0)}let e=Date.now();for(let n of H(a))n.status===`active`&&r_(i_(n.created_at,me.get(n.id)),e)&&(me.set(n.id,e),ju({mind:t.name,turnId:n.id}).then(e=>{let t=e[0];t&&t.status!==`active`&&(te(n.id),me.delete(n.id)),ae(e)}).catch(e=>console.warn(`[TurnTimeline] Failed to check stale turn:`,e)))},3e4);return()=>{clearInterval(n),document.removeEventListener(`visibilitychange`,e)}}),Tn(()=>{gd().then(e=>{I(c,e.timezone??void 0,!0)}).catch(()=>{}).finally(()=>{I(l,!0)})}),Tn(()=>{H(l)&&H(a).length>0&&!H(h)&&!H(o)&&xe()}),Tn(()=>(t.name,ve(),()=>ye())),Tn(()=>()=>je());function Ne(){if(!H(ce))return;let{scrollTop:e,scrollHeight:t,clientHeight:n}=H(ce),r=t-e-n;I(le,r>100)}function Pe(){H(ce)?.scrollTo({top:H(ce).scrollHeight,behavior:`smooth`}),I(le,!1)}var Fe=dy(),Ie=z(Fe),Le=R(Ie),Re=R(Le),ze=e=>{var t=qv(),n=R(t);let r;var i=R(n,!0);A(n),A(t),V(()=>{n.disabled=H(_),r=Z(n,``,r,{opacity:H(_)?.5:1}),q(i,H(_)?`loading...`:`load older`)}),U(`click`,n,Se),K(e,t)};J(Re,e=>{H(v)&&e(ze)});var Be=B(Re,2),Ve=e=>{var t=Jv(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},He=e=>{K(e,Yv())},Ue=e=>{var n=cy(),r=R(n);Y(r,17,()=>H(Te),e=>e.kind===`turn`?`turn-${e.turn.id}`:e.kind===`summary`?`summary-${e.summary.id}`:`sep-${e.above}-${e.below}`,(e,n)=>{var r=G(),a=z(r),o=e=>{var t=Xv(),r=B(R(t),2),i=B(R(r),6),a=B(R(i),2),o=R(a,!0);A(a),A(i);var s=B(i,2),c=B(R(s),2),l=R(c,!0);A(c),A(s),A(r),j(2),A(t),V(()=>{q(o,H(n).above),q(l,H(n).below)}),K(e,t)},s=e=>{let r=P(()=>H(n).summary),a=P(()=>H(y).has(H(r).id)||H(x).has(H(r).id)),o=P(()=>H(r).icons),s=P(()=>H(a)?0:S_(H(o)));var l=Qv();let u;var d=R(l),f=R(d),p=e=>{var t=Zv(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>Am(`/minds/${H(r).mind}/history`)),K(e,t)};J(f,e=>{!t.name&&H(r).mind!==`_system`&&e(p)}),A(d);var m=B(d,2);let h;var g=B(R(m),2),_=e=>{Av(e,{get groups(){return H(o)},get mind(){return H(r).mind},condensed:!0,onopenconversation:e=>k(e,H(r).created_at)})};J(g,e=>{H(s)>0&&H(o)&&e(_)}),A(m);var v=B(m,2),S=R(v);Kv(R(S),{get summary(){return H(r)},get expandedSummaries(){return H(y)},get directEventsSummaries(){return H(x)},get loadingChildren(){return b},toggleSummaryExpand:Ce,formatPeriodTime:(e,t)=>i(e,t,H(c)),onopenconversation:k}),A(S),A(v),A(l),V(()=>{Xi(l,`data-summary-id`,H(r).id),u=Z(l,``,u,{"min-height":H(s)>0?`${42+H(s)*30}px`:void 0}),h=X(m,1,`turn-rail svelte-m7q6b7`,null,h,{"turn-rail-expanded":H(a)})}),U(`click`,m,()=>Ce(H(r))),U(`keydown`,m,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Ce(H(r)))}),K(e,l)},l=e=>{let r=P(()=>H(n).turn),i=P(()=>!H(re).has(H(r).id)&&H(r).status!==`active`),a=P(()=>H(i)?x_(H(r)).stackCount:0);var o=iy();let s;var c=R(o),l=R(c),u=e=>{var t=Zv(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>Am(`/minds/${H(r).mind}/history`)),K(e,t)};J(l,e=>{t.name||e(u)}),A(c);var d=B(c,2);let f;var p=R(d),m=e=>{K(e,$v())};J(p,e=>{H(r).trigger||e(m)}),Av(B(p,2),{get turn(){return H(r)},get mind(){return H(r).mind},get showStack(){return H(i)},onopenconversation:e=>k(e,H(r).created_at)}),A(d);var h=B(d,2),g=R(h),_=R(g),v=e=>{var t=ey(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>oe(H(r).created_at)]),K(e,t)};J(_,e=>{(H(r).summary||H(r).status===`complete`)&&e(v)});var y=B(_,2),b=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:``,thread:null,sender:null,message_id:null,type:`summary`,content:H(r).summary,metadata:H(r).summary_meta?JSON.stringify(H(r).summary_meta):null,turn_id:H(r).id,created_at:H(r).created_at}));sv(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,onexpand:e=>se(H(r).id,e)})}},x=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:H(r).trigger?.event?``:H(r).trigger?.channel??``,thread:null,sender:H(r).trigger?.event?null:H(r).trigger?.sender??null,message_id:null,type:`summary`,content:H(r).trigger?.event?`System event: ${H(r).trigger.event.label}`:H(r).trigger?.content??`(no summary)`,metadata:null,turn_id:H(r).id,created_at:H(r).created_at}));sv(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,onexpand:e=>se(H(r).id,e)})}},S=e=>{let t=P(()=>w.get(H(r).id)??[]),n=P(()=>new Date(H(r).created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}));Iv(e,{gap:24,reach:11,noReturn:!0,header:e=>{var t=ty(),r=R(t),i=R(r);A(r),A(t),V(()=>q(i,`${H(n)??``} – now`)),K(e,t)},children:e=>{var n=ry(),i=z(n),a=e=>{var n=G();Y(z(n),17,()=>H(t),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,t)=>{var n=G(),i=z(n),a=e=>{let n=P(()=>m_(H(t).category)),i=P(()=>h_(H(t).category));var a=ny();let o;var s=R(a);let c;qa(R(s),{get kind(){return H(i)}}),A(s),N_(B(s,2),{get group(){return H(t)},get mindName(){return H(r).mind},turnStatus:`active`}),A(a),V(()=>{o=Z(a,``,o,{"--type-color":H(n)}),c=Z(s,``,c,{color:H(n)})}),K(e,a)},o=e=>{sv(e,{get event(){return H(t).event},get mindName(){return H(r).mind}})};J(i,e=>{H(t).kind===`tool-group`?e(a):e(o,-1)}),K(e,n)}),K(e,n)};J(i,e=>{H(t).length>0&&e(a)}),j(2),K(e,n)},$$slots:{header:!0,default:!0}})};J(y,e=>{H(r).summary?e(b):H(r).status===`complete`?e(x,1):e(S,-1)}),A(g),A(h),A(o),V(e=>{Xi(o,`data-turn-id`,H(r).id),s=Z(o,``,s,{"min-height":H(a)>0?`${36+H(a)*48}px`:void 0}),f=X(d,1,`turn-rail svelte-m7q6b7`,null,f,e)},[()=>({"turn-rail-expanded":H(re).has(H(r).id)||H(r).status===`active`})]),U(`click`,d,e=>{if(!H(r).summary)return;e.stopPropagation();let t=e.currentTarget.closest(`.turn-row`)?.querySelector(`:scope > .turn-body > .turn-summary > .event`);t&&t.click()}),U(`keydown`,d,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.currentTarget.click())}),K(e,o)};J(a,e=>{H(n).kind===`separator`?e(o):H(n).kind===`summary`?e(s,1):e(l,-1)}),K(e,r)});var a=B(r,2),o=e=>{var n=ay(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a);let s;var c=R(o);{let e=P(()=>H(D)[0].type===`event`?`gear`:`chat`);qa(c,{get kind(){return H(e)}})}A(o),A(a);var l=B(a,2),u=R(l);Iv(R(u),{gap:24,reach:11,noReturn:!0,header:e=>{var t=ty(),n=R(t),r=R(n);A(n),A(t),V(e=>q(r,`${e??``} – now`),[()=>new Date(H(D)[0].created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})]),K(e,t)},children:e=>{var n=ry();Y(z(n),17,()=>H(D),e=>e.id,(e,n)=>{{let r=P(()=>H(n).mind||t.name||``);sv(e,{get event(){return H(n)},get mindName(){return H(r)}})}}),j(2),K(e,n)},$$slots:{header:!0,default:!0}}),A(u),A(l),A(n),V(e=>{q(i,e),s=Z(o,``,s,{color:H(D)[0].type===`event`?`var(--purple)`:`var(--blue)`})},[()=>Bl(H(D)[0].created_at)]),K(e,n)};J(a,e=>{H(D).length>0&&e(o)});var s=B(a,2),l=e=>{let n=P(()=>Jf.has(t.name)?`active`:t.mindStatus===`sleeping`?`asleep`:t.mindStatus===`running`?`awake`:`offline`),r=P(()=>Jf.has(t.name)?void 0:t.mindStatus===`sleeping`?`var(--purple)`:t.mindStatus===`running`?`var(--text-0)`:`var(--text-2)`);var i=sy(),a=B(R(i),2),o=R(a);let s,c;A(a);var l=B(a,2),u=R(l);let d;var f=R(u);A(u);var p=B(u,2),m=e=>{K(e,oy())};J(p,e=>{H(de)&&e(m)}),A(l),A(i),V((e,i)=>{s=X(o,1,`mind-status-dot svelte-m7q6b7`,null,s,e),c=Z(o,``,c,{background:H(r)}),d=Z(u,``,d,i),q(f,`${t.name??``} is ${H(n)??``}`)},[()=>({iridescent:Jf.has(t.name)}),()=>({color:Jf.has(t.name)?`var(--accent)`:H(r)})]),K(e,i)};J(s,e=>{t.name&&e(l)}),A(n),K(e,n)};J(Be,e=>{H(s)?e(Ve):H(Te).length===0&&!H(o)?e(He,1):e(Ue,-1)});var We=B(Be,2),Ge=e=>{K(e,ly())};J(We,e=>{H(o)&&H(a).length>0&&e(Ge)}),A(Le),ua(Le,e=>I(ce,e),()=>H(ce));var Ke=B(Le,2),qe=e=>{var t=uy();U(`click`,t,Pe),K(e,t)};J(Ke,e=>{H(le)&&e(qe)}),A(Ie);var Je=B(Ie,2),Ye=e=>{{let n=P(()=>t.name??``);th(e,{get mindName(){return H(n)},get conversation(){return H(u)},canChat:!1,onClose:()=>{I(u,null)}})}};J(Je,e=>{H(u)&&e(Ye)}),Ir(`scroll`,Le,Ne),Ir(`wheel`,Le,()=>je()),K(e,Fe),N()}Lr([`click`,`keydown`]);var py=W(`<button class="context-label-btn svelte-1nq4ldw"> </button>`),my=W(`<div class="frame-content mind-frame svelte-1nq4ldw"><!></div>`),hy=W(`<div class="frame-content padded svelte-1nq4ldw"><div class="not-found svelte-1nq4ldw">Channel not found.</div></div>`),gy=W(`<div class="frame-content svelte-1nq4ldw"><!></div>`),_y=W(`<div class="frame-content svelte-1nq4ldw"><iframe class="page-iframe svelte-1nq4ldw" title="Extension"></iframe></div>`),vy=W(`<div class="frame-content padded svelte-1nq4ldw"><!></div>`),yy=W(`<div class="main-frame svelte-1nq4ldw"><div class="mobile-header svelte-1nq4ldw"><button class="hamburger-btn svelte-1nq4ldw">☰</button> <img src="/logo.png" alt="" class="mobile-logo svelte-1nq4ldw"/> <span class="mobile-title svelte-1nq4ldw">volute</span> <!></div> <!></div>`);function by(e,t){M(t,!0);let n=P(()=>{if(t.selection.kind===`channel`)return t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)}),r=P(()=>H(n)?H(n).participants?.find(e=>e.userType===`mind`)?.username??``:``),i=P(()=>t.selection.kind===`mind`?t.conversations.find(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];return n.length===2&&n.some(e=>e.username===t.selection.name)})?.id??null:null),a=P(()=>t.selection.kind===`channel`&&H(n)?`#${H(n).channel_name??``}`:t.selection.kind===`mind`?t.minds.find(e=>e.name===t.selection.name)?.displayName??t.selection.name:``);var o=yy(),s=R(o),c=R(s),l=B(c,6),u=e=>{var n=py(),r=R(n,!0);A(n),V(()=>q(r,H(a))),U(`click`,n,function(...e){t.onOpenRightPanel?.apply(this,e)}),K(e,n)};J(l,e=>{H(a)&&t.onOpenRightPanel&&e(u)}),A(s);var d=B(s,2),f=e=>{var n=my();Bg(R(n),{get name(){return t.selection.name},get section(){return t.selection.section},get subpath(){return t.selection.subpath},get username(){return t.username},get conversationId(){return H(i)},get onConversationId(){return t.onConversationId},get minds(){return t.minds},get conversations(){return t.conversations},get onSelectConversation(){return t.onSelectConversation},get onOpenMind(){return t.onOpenMind},get onTypingNames(){return t.onTypingNames}}),A(n),K(e,n)},p=e=>{var i=gy(),a=R(i),o=e=>{{let i=P(()=>H(n).channel_name??``),a=P(()=>H(n).participants??[]);Pg(e,{get name(){return H(r)},get username(){return t.username},get conversationId(){return H(n).id},get onConversationId(){return t.onConversationId},convType:`channel`,get channelName(){return H(i)},get minds(){return t.minds},get participants(){return H(a)},get onOpenMind(){return t.onOpenMind},get onTypingNames(){return t.onTypingNames}})}},s=e=>{K(e,hy())};J(a,e=>{H(n)?e(o):e(s,-1)}),A(i),K(e,i)},m=e=>{var n=_y(),r=R(n);A(n),V(()=>Xi(r,`src`,`/ext/${t.selection.extensionId??``}/#${t.selection.path?`/`+t.selection.path:``}`)),K(e,n)},h=e=>{var t=my();fy(R(t),{}),A(t),K(e,t)},g=e=>{var n=vy();jh(R(n),{get username(){return t.username},get conversations(){return t.conversations},get onSelectConversation(){return t.onSelectConversation},get onSeed(){return t.onSeed}}),A(n),K(e,n)};J(d,e=>{t.selection.kind===`mind`?e(f):t.selection.kind===`channel`?e(p,1):t.selection.kind===`extension`?e(m,2):t.selection.kind===`system-history`?e(h,3):e(g,-1)}),A(o),U(`click`,c,()=>t.onToggleSidebar?.()),K(e,o),N()}Lr([`click`]);var xy=W(`<button class="browse-btn svelte-1o8uegr">browse</button>`),Sy=W(`<div class="section-header svelte-1o8uegr"><span>CHANNELS</span> <!></div>`),Cy=Gr(`<svg class="lock-icon svelte-1o8uegr" viewBox="0 0 16 16" fill="currentColor"><path d="M11 7V5a3 3 0 0 0-6 0v2H4v6h8V7h-1zm-4-2a1 1 0 1 1 2 0v2H7V5z"></path></svg>`),wy=W(`<span class="unread-badge svelte-1o8uegr"> </span>`),Ty=W(`<button class="delete-btn svelte-1o8uegr" aria-label="Remove"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1o8uegr"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),Ey=W(`<div role="button" tabindex="0"><div class="conv-item-header svelte-1o8uegr"><div><span class="conv-label-text svelte-1o8uegr"> </span> <!></div> <!></div></div>`),Dy=W(`<!> <!>`,1),Oy=W(`<div class="section-header svelte-1o8uegr"><span>DIRECT MESSAGES</span></div>`),ky=W(`<button></button> <button class="conv-label-mind svelte-1o8uegr"> </button>`,1),Ay=W(`<span class="conv-label-text svelte-1o8uegr"> </span>`),jy=W(`<span class="seed-tag svelte-1o8uegr">seed</span>`),My=W(`<div class="member-count svelte-1o8uegr"> </div>`),Ny=W(`<div role="button" tabindex="0"><div class="conv-item-header svelte-1o8uegr"><div><!> <!> <!></div> <button>...</button> <!></div> <!></div>`),Py=W(`<div class="empty svelte-1o8uegr">No conversations yet</div>`),Fy=W(`<!> <!> <!>`,1),Iy=W(`<button class="context-item svelte-1o8uegr">Open mind</button>`),Ly=W(`<button class="context-item svelte-1o8uegr">Close chat</button>`),Ry=W(`<!> <button class="context-item svelte-1o8uegr"> </button> <!>`,1),zy=W(`<div class="conv-list svelte-1o8uegr"><!> <!></div> <!>`,1);function By(e,t){M(t,!0);let n=P(()=>t.conversations.filter(e=>e.type===`channel`)),r=P(()=>t.conversations.filter(e=>e.type!==`channel`)),i=F(null);function a(e){if(e.type===`channel`)return{isMindDm:!1};let n=e.participants??[];if(n.length!==2)return{isMindDm:!1};let r=n.find(e=>e.username!==t.username);if(!r)return{isMindDm:!1};let i=t.minds.find(e=>e.name===r.username);return i?{isMindDm:!0,mind:i,otherName:r.username}:{isMindDm:!1,otherName:r.username}}function o(e,t){e.stopPropagation();let n=e.currentTarget.getBoundingClientRect();I(i,{id:t,x:n.right+4,y:n.top},!0)}var s=zy(),c=z(s),l=R(c),u=e=>{var r=Dy(),i=z(r),a=e=>{var n=Sy(),r=B(R(n),2),i=e=>{var n=xy();U(`click`,n,function(...e){t.onBrowse?.apply(this,e)}),K(e,n)};J(r,e=>{t.onBrowse&&e(i)}),A(n),K(e,n)};J(i,e=>{t.mode||e(a)}),Y(B(i,2),17,()=>H(n),e=>e.id,(e,n)=>{let r=P(()=>Xf.get(H(n).id)??0);var i=Ey();let a;var o=R(i),s=R(o);let c;var l=R(s),u=R(l,!0);A(l);var d=B(l,2),f=e=>{K(e,Cy())};J(d,e=>{H(n).private===1&&e(f)}),A(s);var p=B(s,2),m=e=>{var t=wy(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)},h=e=>{var r=Ty();U(`click`,r,e=>{e.stopPropagation(),t.onDelete(H(n).id)}),K(e,r)};J(p,e=>{H(r)>0?e(m):e(h,-1)}),A(o),A(i),V(e=>{a=X(i,1,`conv-item svelte-1o8uegr`,null,a,{active:H(n).id===t.activeId}),c=X(s,1,`conv-item-label svelte-1o8uegr`,null,c,{active:H(n).id===t.activeId,unread:H(r)>0}),q(u,e)},[()=>Vl(H(n).participants??[],t.username,H(n))]),U(`click`,i,()=>t.onSelect(H(n).id)),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onSelect(H(n).id))}),K(e,i)}),K(e,r)};J(l,e=>{t.mode!==`dms`&&e(u)});var d=B(l,2),f=e=>{var n=Fy(),s=z(n),c=e=>{K(e,Oy())};J(s,e=>{t.mode||e(c)});var l=B(s,2);Y(l,17,()=>H(r),e=>e.id,(e,n)=>{let r=P(()=>H(n).participants?.find(e=>e.userType===`mind`&&e.username!==t.username)),s=P(()=>H(r)?t.minds.find(e=>e.name===H(r).username)?.stage===`seed`:!1),c=P(()=>a(H(n))),l=P(()=>(H(n).participants?.length??0)>2),u=P(()=>Xf.get(H(n).id)??0);var d=Ny();let f;var p=R(d),m=R(p);let h;var g=R(m),_=e=>{var n=ky(),r=z(n);let i,a;var o=B(r,2),s=R(o,!0);A(o),V((e,t)=>{i=X(r,1,`status-dot svelte-1o8uegr`,null,i,e),Xi(r,`title`,`Open ${H(c).otherName??``}`),a=Z(r,``,a,t),q(s,H(c).otherName)},[()=>({iridescent:Jf.has(H(c).mind.name)}),()=>({background:Jf.has(H(c).mind.name)?void 0:Ll(H(c).mind)})]),U(`click`,r,e=>{e.stopPropagation(),t.onOpenMind(H(c).mind)}),U(`click`,o,e=>{e.stopPropagation(),t.onOpenMind(H(c).mind)}),K(e,n)},v=e=>{var t=Ay(),n=R(t);A(t),V(()=>q(n,`@${H(c).otherName??``}`)),K(e,t)},y=e=>{var r=Ay(),i=R(r,!0);A(r),V(e=>q(i,e),[()=>Vl(H(n).participants??[],t.username,H(n))]),K(e,r)};J(g,e=>{H(c).isMindDm&&H(c).mind?e(_):H(c).otherName?e(v,1):e(y,-1)});var b=B(g,2),x=e=>{K(e,Cy())};J(b,e=>{H(n).private===1&&e(x)});var S=B(b,2),C=e=>{K(e,jy())};J(S,e=>{H(s)&&e(C)}),A(m);var w=B(m,2);let T;var E=B(w,2),ee=e=>{var t=wy(),n=R(t,!0);A(t),V(()=>q(n,H(u))),K(e,t)};J(E,e=>{H(u)>0&&e(ee)}),A(p);var te=B(p,2),ne=e=>{var t=My(),r=R(t);A(t),V(()=>q(r,`${H(n).participants?.length??``} members`)),K(e,t)};J(te,e=>{H(l)&&e(ne)}),A(d),V(()=>{f=X(d,1,`conv-item svelte-1o8uegr`,null,f,{active:H(n).id===t.activeId}),h=X(m,1,`conv-item-label svelte-1o8uegr`,null,h,{active:H(n).id===t.activeId,unread:H(u)>0}),T=X(w,1,`menu-btn svelte-1o8uegr`,null,T,{visible:H(n).id===t.activeId||H(n).id===H(i)?.id})}),U(`click`,d,()=>t.onSelect(H(n).id)),U(`keydown`,d,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onSelect(H(n).id))}),U(`click`,w,e=>o(e,H(n).id)),K(e,d)});var u=B(l,2),d=e=>{K(e,Py())};J(u,e=>{H(r).length===0&&t.mode===`dms`&&e(d)}),K(e,n)};J(d,e=>{t.mode!==`channels`&&e(f)}),A(c);var p=B(c,2),m=e=>{let n=P(()=>H(i).id),r=P(()=>t.conversations.find(e=>e.id===H(n))),o=P(()=>H(r)?a(H(r)):{isMindDm:!1});{let n=P(()=>!!H(i)),a=P(()=>({x:H(i).x,y:H(i).y}));ya(e,{get open(){return H(n)},onclose:()=>I(i,null),get position(){return H(a)},children:(e,n)=>{var a=Ry(),s=z(a),c=e=>{var n=Iy();U(`click`,n,()=>{t.onOpenMind(H(o).mind),I(i,null)}),K(e,n)};J(s,e=>{H(o).isMindDm&&H(o).mind&&e(c)});var l=B(s,2),u=R(l,!0);A(l);var d=B(l,2),f=e=>{var n=Ly();U(`click`,n,()=>{t.onHide(H(i).id),I(i,null)}),K(e,n)};J(d,e=>{t.onHide&&e(f)}),V(()=>q(u,H(r)?.private===1?`Make public`:`Make private`)),U(`click`,l,async()=>{let e=H(i).id,n=t.conversations.find(t=>t.id===e);if(n){let t=n.private!==1;try{await Eu(e,t),n.private=+!!t}catch(e){console.error(`Failed to update conversation privacy:`,e)}}I(i,null)}),K(e,a)},$$slots:{default:!0}})}};J(p,e=>{H(i)&&e(m)}),K(e,s),N()}Lr([`click`,`keydown`]);var Vy=W(`<button class="oauth-warning-btn svelte-1dkz474">!</button>`),Hy=W(`<div class="minds-empty svelte-1dkz474"><span class="minds-empty-label svelte-1dkz474">No minds yet</span> <button class="minds-empty-btn svelte-1dkz474">Plant a seed</button></div>`),Uy=W(`<span class="stale-badge svelte-1dkz474">outdated</span>`),Wy=W(`<span class="unread-dot svelte-1dkz474"></span>`),Gy=W(`<span></span> <span class="nav-label svelte-1dkz474"> </span> <!> <!> <!>`,1),Ky=W(`<div class="mind-item-row svelte-1dkz474"><button><!></button> <div class="menu-container svelte-1dkz474"><button title="More options"><svg viewBox="0 0 16 16" fill="currentColor" class="svelte-1dkz474"><circle cx="8" cy="3" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="8" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="13" r="1.5" class="svelte-1dkz474"></circle></svg></button></div></div>`),qy=W(`<div class="item-list svelte-1dkz474"><!> <!></div>`),Jy=W(`<div class="mind-menu svelte-1dkz474" role="menu" tabindex="-1"><button class="mind-menu-item svelte-1dkz474"><!> Settings</button> <button class="mind-menu-item svelte-1dkz474"><!> Logs</button></div>`),Yy=W(`<button class="mind-menu-item svelte-1dkz474"><!> Variants</button>`),Xy=W(`<button class="mind-menu-item svelte-1dkz474"><!> Context</button>`),Zy=W(`<button class="mind-menu-item svelte-1dkz474"><!> Start</button>`),Qy=W(`<button class="mind-menu-item svelte-1dkz474"><!> Restart</button> <button class="mind-menu-item danger svelte-1dkz474"><!> Stop</button>`,1),$y=W(`<div class="mind-menu svelte-1dkz474" role="menu" tabindex="-1"><button class="mind-menu-item svelte-1dkz474"><!> Files</button> <button class="mind-menu-item svelte-1dkz474"><!> Settings</button> <!> <button class="mind-menu-item svelte-1dkz474"><!> Events</button> <!> <div class="mind-menu-divider svelte-1dkz474"></div> <!></div>`),eb=W(`<span class="reauth-provider-error svelte-1dkz474"> </span>`),tb=W(`<button class="reauth-provider-btn svelte-1dkz474"><span class="reauth-provider-name svelte-1dkz474"> </span> <!></button>`),nb=W(`<div class="reauth-body svelte-1dkz474"><p class="reauth-desc svelte-1dkz474">The following providers need re-authentication:</p> <!></div>`),rb=W(`<p class="reauth-msg reauth-msg-success svelte-1dkz474">Credentials refreshed successfully.</p> <button class="reauth-btn reauth-btn-primary svelte-1dkz474">Done</button>`,1),ib=W(`<p class="reauth-msg reauth-msg-error svelte-1dkz474"> </p> <button class="reauth-btn svelte-1dkz474">Close</button>`,1),ab=W(`<p class="reauth-desc svelte-1dkz474">If the browser is on another machine, paste the redirect URL here:</p> <input type="text" class="reauth-input svelte-1dkz474" placeholder="Paste redirect URL"/>`,1),ob=W(`<p class="reauth-msg svelte-1dkz474">Complete sign-in in the browser window that opened.</p> <!> <span class="reauth-dim svelte-1dkz474">Waiting for authorization...</span> <button class="reauth-btn svelte-1dkz474">Cancel</button>`,1),sb=W(`<div class="reauth-body svelte-1dkz474"><!></div>`),cb=W(`<div class="sidebar-inner svelte-1dkz474"><div class="sections svelte-1dkz474"><div class="section svelte-1dkz474"><div><button><!> <span class="svelte-1dkz474">System</span></button> <div class="menu-container svelte-1dkz474"><button title="More options"><svg viewBox="0 0 16 16" fill="currentColor" class="svelte-1dkz474"><circle cx="8" cy="3" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="8" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="13" r="1.5" class="svelte-1dkz474"></circle></svg></button></div> <!></div></div> <div class="section svelte-1dkz474"><div class="section-header-row svelte-1dkz474"><button class="section-toggle svelte-1dkz474"><!> <span class="svelte-1dkz474">Minds</span></button> <button class="section-action svelte-1dkz474" title="Plant a seed"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1dkz474"><path d="M8 3v10M3 8h10" class="svelte-1dkz474"></path></svg></button></div> <!></div> <div class="section svelte-1dkz474"><div class="section-header-row svelte-1dkz474"><button class="section-toggle svelte-1dkz474"><svg class="section-icon svelte-1dkz474" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 3L5.5 13M10.5 3l-1 10M3 6h10M3 10h10" class="svelte-1dkz474"></path></svg> <span class="svelte-1dkz474">Channels</span></button> <button class="section-action svelte-1dkz474" title="Browse channels"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1dkz474"><path d="M8 3v10M3 8h10" class="svelte-1dkz474"></path></svg></button></div> <!></div></div></div> <!> <!> <!>`,1);function lb(e,t){M(t,!0);let n=P(()=>qf.oauthErrors.length>0),r=F(!1);function i(e){if(e.stopPropagation(),qf.oauthErrors.length===1){let e=qf.oauthErrors[0];Ff(e.id,e.oauthName??e.id)}else I(r,!0)}function a(e,t){I(r,!1),Ff(e,t??e)}function o(){zf(),I(r,!1)}function s(){try{let e=localStorage.getItem(`volute:sidebar-collapsed`);return e?new Set(JSON.parse(e)):new Set}catch{return new Set}}let c=F(L(s()));function l(e){H(c).has(e)?H(c).delete(e):H(c).add(e),I(c,new Set(H(c)),!0),localStorage.setItem(`volute:sidebar-collapsed`,JSON.stringify([...H(c)]))}let u=P(()=>new Set(t.minds.map(e=>e.name))),d=P(()=>new Map(t.conversations.filter(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];if(n.length!==2)return!1;let r=n.find(e=>e.username!==t.username);return r?H(u).has(r.username):!1}).map(e=>[e.participants.find(e=>e.username!==t.username).username,e.id]))),f=P(()=>[...t.minds].sort((e,t)=>{let n=e.mindType===`spirit`?0:1,r=t.mindType===`spirit`?0:1;if(n!==r)return n-r;let i=Jf.has(e.name)?0:e.status===`running`?1:2,a=Jf.has(t.name)?0:t.status===`running`?1:2;return i===a?e.name.localeCompare(t.name):i-a})),p=F(null),m=F(L({top:0,left:0}));function h(e,t=`__system__`){if(e.stopPropagation(),H(p)===t)I(p,null);else{let n=e.currentTarget.getBoundingClientRect();I(m,{top:n.bottom+2,left:n.left},!0),I(p,t,!0)}}function g(e,n){I(p,null),e===`__system__`?t.onSelectSystemSection(n):t.onSelectMindSection(e,n)}function _(e){H(p)&&!e.target.closest(`.menu-container`)&&I(p,null)}function v(){H(p)&&I(p,null)}let y=P(()=>H(p)?t.minds.find(e=>e.name===H(p)):null);async function b(){if(!H(p))return;let e=H(p);I(p,null),await vu(e)}async function x(){if(!H(p))return;let e=H(p);I(p,null),await yu(e)}async function S(){if(!H(p))return;let e=H(p);I(p,null),await yu(e),await vu(e)}let C=P(()=>t.conversations.filter(e=>e.type===`channel`)),w=P(()=>t.selection.kind===`channel`?t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)?.id??null:null),T=P(()=>t.selection.kind===`home`||t.selection.kind===`system-history`||t.selection.kind===`extension`);var E=cb();Ir(`click`,$t,_),Ir(`blur`,$t,v);var ee=z(E),te=R(ee),ne=R(te),D=R(ne);let O;var re=R(D);let ie;qa(R(re),{kind:`spiral`,class:`section-icon`}),j(2),A(re);var ae=B(re,2),k=R(ae);let oe;A(ae);var se=B(ae,2),ce=e=>{var t=Vy();Si(t,(e,t)=>Il?.(e,t),()=>({text:`AI provider credentials expired — click to re-authenticate`,position:`right`})),U(`click`,t,i),K(e,t)};J(se,e=>{H(n)&&e(ce)}),A(D),A(ne);var le=B(ne,2),ue=R(le),de=R(ue);qa(R(de),{kind:`mind`,class:`section-icon`}),j(2),A(de);var fe=B(de,2);A(ue);var pe=B(ue,2),me=e=>{var n=qy(),r=R(n),i=e=>{var n=Hy(),r=B(R(n),2);A(n),U(`click`,r,function(...e){t.onSeed?.apply(this,e)}),K(e,n)},a=P(()=>Bm(t.minds,qf.mindsLoaded));J(r,e=>{H(a)&&e(i)}),Y(B(r,2),17,()=>H(f),ti,(e,n)=>{let r=P(()=>H(d).get(H(n).name)),i=P(()=>H(r)?Xf.get(H(r))??0:0);var a=Ky(),o=R(a);let s;var c=R(o);{let e=e=>{var t=Gy(),r=z(t);let a,o;var s=B(r,2),c=R(s,!0);A(s);var l=B(s,2),u=e=>{qa(e,{kind:`spiral`,class:`spirit-marker`})};J(l,e=>{H(n).mindType===`spirit`&&e(u)});var d=B(l,2),f=e=>{var t=Uy();Si(t,(e,t)=>Il?.(e,t),()=>({text:`Running an outdated template — run 'volute mind upgrade ${H(n).name}'`,position:`right`})),K(e,t)};J(d,e=>{H(n).templateStale&&e(f)});var p=B(d,2),m=e=>{K(e,Wy())};J(p,e=>{H(i)>0&&e(m)}),V((e,t)=>{a=X(r,1,`status-dot svelte-1dkz474`,null,a,e),o=Z(r,``,o,t),q(c,H(n).displayName??H(n).name)},[()=>({iridescent:Jf.has(H(n).name)}),()=>({background:Jf.has(H(n).name)?void 0:Ll(H(n))})]),K(e,t)},t=P(()=>({name:H(n).name,displayName:H(n).displayName,description:H(n).description,avatarUrl:H(n).avatar?`/api/minds/${encodeURIComponent(H(n).name)}/avatar`:null,userType:`mind`,created:H(n).created}));jp(c,{get profile(){return H(t)},children:e,$$slots:{default:!0}})}A(o);var l=B(o,2),u=R(l);let f;A(l),A(a),V(()=>{s=X(o,1,`nav-item svelte-1dkz474`,null,s,{active:t.selection.kind===`mind`&&t.selection.name===H(n).name}),f=X(u,1,`mind-dots-btn svelte-1dkz474`,null,f,{visible:H(p)===H(n).name})}),U(`click`,o,()=>t.onSelectMind(H(n).name)),U(`click`,u,e=>h(e,H(n).name)),K(e,a)}),A(n),K(e,n)},he=P(()=>!H(c).has(`minds`));J(pe,e=>{H(he)&&e(me)}),A(le);var ge=B(le,2),_e=R(ge),ve=R(_e),ye=B(ve,2);A(_e);var be=B(_e,2),xe=e=>{By(e,{get conversations(){return H(C)},get minds(){return t.minds},get activeId(){return H(w)},get username(){return t.username},mode:`channels`,get onSelect(){return t.onSelectConversation},get onDelete(){return t.onDeleteConversation},get onOpenMind(){return t.onOpenMind}})},Se=P(()=>!H(c).has(`channels`));J(be,e=>{H(Se)&&e(xe)}),A(ge),A(te),A(ee);var Ce=B(ee,2),we=e=>{var t=Jy();let n;var r=R(t);qa(R(r),{kind:`gear`,class:`menu-icon`}),j(),A(r);var i=B(r,2);qa(R(i),{kind:`document-lines`,class:`menu-icon`}),j(),A(i),A(t),V(()=>n=Z(t,``,n,{top:`${H(m).top??``}px`,left:`${H(m).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(p,null)}),U(`click`,r,()=>g(`__system__`,`settings`)),U(`click`,i,()=>g(`__system__`,`logs`)),K(e,t)},Te=e=>{var t=$y();let n;var r=R(t);qa(R(r),{kind:`folder`,class:`menu-icon`}),j(),A(r);var i=B(r,2);qa(R(i),{kind:`gear`,class:`menu-icon`}),j(),A(i);var a=B(i,2),o=e=>{var t=Yy();qa(R(t),{kind:`fork`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>g(H(p),`variants`)),K(e,t)};J(a,e=>{H(y)?.stage!==`seed`&&H(y)?.mindType!==`spirit`&&e(o)});var s=B(a,2);qa(R(s),{kind:`clock`,class:`menu-icon`}),j(),A(s);var c=B(s,2),l=e=>{var t=Xy();qa(R(t),{kind:`document-lines`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>g(H(p),`context`)),K(e,t)};J(c,e=>{H(y)?.status===`running`&&e(l)});var u=B(c,4),d=e=>{var t=Zy();qa(R(t),{kind:`play`,class:`menu-icon`}),j(),A(t),U(`click`,t,b),K(e,t)},f=e=>{var t=Qy(),n=z(t);qa(R(n),{kind:`restart`,class:`menu-icon`}),j(),A(n);var r=B(n,2);qa(R(r),{kind:`stop`,class:`menu-icon`}),j(),A(r),U(`click`,n,S),U(`click`,r,x),K(e,t)};J(u,e=>{H(y)?.status===`stopped`?e(d):e(f,-1)}),A(t),V(()=>n=Z(t,``,n,{top:`${H(m).top??``}px`,left:`${H(m).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(p,null)}),U(`click`,r,()=>g(H(p),`files`)),U(`click`,i,()=>g(H(p),`settings`)),U(`click`,s,()=>g(H(p),`events`)),K(e,t)};J(Ce,e=>{H(p)===`__system__`?e(we):H(p)&&e(Te,1)});var Ee=B(Ce,2),De=e=>{$a(e,{onClose:()=>{I(r,!1)},size:`360px`,title:`Re-authenticate`,children:(e,t)=>{var n=nb();Y(B(R(n),2),17,()=>qf.oauthErrors,ti,(e,t)=>{var n=tb(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=e=>{var n=eb(),r=R(n,!0);A(n),V(()=>q(r,H(t).oauthError)),K(e,n)};J(o,e=>{H(t).oauthError&&e(s)}),A(n),V(()=>q(i,H(t).oauthName??H(t).id)),U(`click`,n,()=>a(H(t).id,H(t).oauthName)),K(e,n)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Ee,e=>{H(r)&&e(De)});var Oe=B(Ee,2),ke=e=>{$a(e,{onClose:()=>{Pf.polling||o()},size:`400px`,get title(){return`Re-authenticate ${Pf.providerName??``}`},children:(e,t)=>{var n=sb(),r=R(n),i=e=>{var t=rb();U(`click`,B(z(t),2),o),K(e,t)},a=e=>{var t=ib(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,Pf.error)),U(`click`,i,o),K(e,t)},s=e=>{var t=ob(),n=B(z(t),2),r=e=>{var t=ab(),n=B(z(t),2);Ki(n),Ir(`paste`,n,()=>{setTimeout(()=>{/^https?:\/\//.test(Pf.codeInput.trim())&&Lf()})}),aa(n,()=>Pf.codeInput,e=>Pf.codeInput=e),K(e,t)};J(n,e=>{(Pf.needsCode||Pf.waitingForCode)&&e(r)}),U(`click`,B(n,4),()=>{Rf()}),K(e,t)};J(r,e=>{Pf.success?e(i):Pf.error&&!Pf.polling?e(a,1):e(s,-1)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Oe,e=>{Pf.active&&e(ke)}),V(()=>{O=X(D,1,`section-header-row svelte-1dkz474`,null,O,{active:H(T)}),ie=X(re,1,`section-toggle svelte-1dkz474`,null,ie,{active:H(T)}),oe=X(k,1,`mind-dots-btn svelte-1dkz474`,null,oe,{visible:H(p)===`__system__`})}),U(`click`,re,function(...e){t.onHome?.apply(this,e)}),U(`click`,k,e=>h(e)),U(`click`,de,()=>l(`minds`)),U(`click`,fe,e=>{e.stopPropagation(),t.onSeed()}),U(`click`,ve,()=>l(`channels`)),U(`click`,ye,e=>{e.stopPropagation(),t.onBrowseChannels()}),K(e,E),N()}Lr([`click`,`keydown`]);var ub=W(`<div class="error svelte-159gnuj"> </div>`),db=W(`<div class="muted svelte-159gnuj">Loading…</div>`),fb=W(`<div class="muted svelte-159gnuj">No events.</div>`),pb=W(`<span class="badge svelte-159gnuj">next-turn</span>`),mb=W(`<span class="badge skipped svelte-159gnuj">skipped</span>`),hb=W(`<span class="badge skipped svelte-159gnuj">dropped</span>`),gb=W(`<span class="badge skipped svelte-159gnuj">expired</span>`),_b=W(`<span class="badge pending svelte-159gnuj"> </span>`),vb=W(`<div class="reflection svelte-159gnuj"><span class="reflection-label svelte-159gnuj">Reflection</span> <div class="reflection-body svelte-159gnuj"> </div></div>`),yb=W(`<li class="event-row svelte-159gnuj"><div class="event-head svelte-159gnuj"><span class="event-label svelte-159gnuj"> </span> <!> <!> <span class="event-time svelte-159gnuj"> </span></div> <div class="event-body svelte-159gnuj"> </div> <!></li>`),bb=W(`<ul class="event-list svelte-159gnuj"></ul>`),xb=W(`<div class="events svelte-159gnuj"><!> <!> <!></div>`);function Sb(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``);async function a(){I(r,!0);try{let e=await Lu(t.name);I(n,e.events,!0),I(i,``)}catch(e){console.error(`Failed to load events:`,e),I(i,e instanceof Error?e.message:`Failed to load events`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,a()});var o=xb(),s=R(o);no(s,{title:`Events`,subtitle:`System events from this mind's environment — schedule fires, wake summaries, lifecycle notices. Reflections are the mind's private closing thoughts.`});var c=B(s,2),l=e=>{var t=ub(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(c,e=>{H(i)&&e(l)});var u=B(c,2),d=e=>{K(e,db())},f=e=>{K(e,fb())},p=e=>{var t=bb();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=yb(),r=R(n),i=R(r),a=R(i,!0);A(i);var o=B(i,2),s=e=>{K(e,pb())};J(o,e=>{H(t).delivery===`next-turn`&&e(s)});var c=B(o,2),l=e=>{K(e,mb())},u=e=>{K(e,hb())},d=e=>{K(e,gb())},f=e=>{var n=_b(),r=R(n,!0);A(n),V(()=>q(r,H(t).delivery===`immediate`?`undelivered`:`pending`)),K(e,n)};J(c,e=>{H(t).meta?.skipped?e(l):H(t).meta?.dropped?e(u,1):H(t).meta?.expired?e(d,2):H(t).delivered_at||e(f,3)});var p=B(c,2),m=R(p,!0);A(p),A(r);var h=B(r,2),g=R(h,!0);A(h);var _=B(h,2),v=e=>{var n=vb(),r=B(R(n),2),i=R(r,!0);A(r),A(n),V(()=>q(i,H(t).reflection)),K(e,n)};J(_,e=>{H(t).reflection&&e(v)}),A(n),V(e=>{q(a,H(t).label),q(m,e),q(g,H(t).body)},[()=>Bl(H(t).created_at)]),K(e,n)}),A(t),K(e,t)};J(u,e=>{H(r)?e(d):H(n).length===0?e(f,1):e(p,-1)}),A(o),K(e,o),N()}function Cb(e){try{let t=new Date(e),n=new Date,r=t.getTime()-n.getTime(),i=Math.round(Math.abs(r)/6e4);if(i<1)return`now`;if(i<60){let e=`${i}m`;return r<0?`${e} ago`:`in ${e}`}let a=Math.floor(i/60),o=i%60;if(a<24){let e=o>0?`${a}h ${o}m`:`${a}h`;return r<0?`${e} ago`:`in ${e}`}return t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return e}}function wb(e,t){let n=e.split(` `);if(n.length<5)return e;let[r,i,a,o,s]=n;if(r.startsWith(`*/`)&&i===`*`&&a===`*`&&o===`*`&&s===`*`){let e=+r.slice(2);return e===1?`every minute`:`every ${e} minutes`}if(/^\d+$/.test(r)&&i.startsWith(`*/`)&&a===`*`&&o===`*`&&s===`*`){let e=+i.slice(2);return e===1?`every hour at :${String(+r).padStart(2,`0`)}`:`every ${e} hours`}if(/^\d+$/.test(r)&&/^[\d,]+$/.test(i)&&a===`*`&&o===`*`){let e=i.split(`,`).map(Number),n=+r,a=e.length===1?Tb(e[0],n):e.map(e=>Tb(e,n)).join(`, `),o=t?` ${t}`:``;return s===`*`?`daily at ${a}${o}`:`${Eb(s)} at ${a}${o}`}return e}function Tb(e,t){let n=e>=12?`pm`:`am`,r=e%12||12;return t===0?`${r}${n}`:`${r}:${String(t).padStart(2,`0`)}${n}`}function Eb(e){let t=[`Sundays`,`Mondays`,`Tuesdays`,`Wednesdays`,`Thursdays`,`Fridays`,`Saturdays`],n=e.split(`,`).map(Number);return n.length===1?t[n[0]]??e:n.length===5&&!n.includes(0)&&!n.includes(6)?`weekdays`:n.length===2&&n.includes(0)&&n.includes(6)?`weekends`:n.map(e=>(t[e]??String(e)).replace(/s$/,``)).join(`, `)}function Db(e){let t=e.split(` `);if(t.length<5)return null;let[n,r,i,,a]=t;return/^\d+$/.test(n)&&/^\d+$/.test(r)&&i===`*`&&a===`*`?{hour:+r,minute:+n}:null}function Ob(e,t){return`${t} ${e} * * *`}function kb(e){let t=e.split(` `);if(t.length<5)return{type:`cron`};let[n,r,i,a,o]=t;if(n.startsWith(`*/`)&&r===`*`&&i===`*`&&a===`*`&&o===`*`){let e=+n.slice(2);if(e>=60&&e%60==0)return{type:`hours`,hours:e/60}}if(/^\d+$/.test(n)&&r.startsWith(`*/`)&&i===`*`&&a===`*`&&o===`*`)return{type:`hours`,hours:+r.slice(2)};if(/^\d+$/.test(n)&&/^\d+$/.test(r)&&i===`*`&&a===`*`&&o===`*`)return{type:`daily`,hour:+r,minute:+n};if(/^\d+$/.test(n)&&/^[\d,]+$/.test(r)&&i===`*`&&a===`*`&&o===`*`){let e=r.split(`,`).map(Number);if(e.length>1){let t=e[1]-e[0];if(e.every((n,r)=>r===0||n-e[r-1]===t))return{type:`hours`,hours:t}}return{type:`daily`,hour:e[0],minute:+n}}return{type:`cron`}}function Ab(e,t){return e===`hours`?`0 */${t.hours??4} * * *`:e===`daily`?`${t.minute??0} ${t.hour??12} * * *`:t.cron??``}function jb(e){return e.messages?.length?e.messages.join(`
|
|
78
|
-
`):e.message??``}function
|
|
79
|
-
`).map(e=>e.trim()).filter(Boolean);return t.length===0?{}:t.length===1?{message:t[0]}:{messages:t}}var
|
|
73
|
+
`)}function mm(e,t){let n=new Date(Rl(e)).getTime(),r=new Date(Rl(t)).getTime(),i=Math.round((r-n)/6e4);return i<1?`moment`:i<60?`${i}m`:`${Math.round(i/60)}h`}var hm=W(`<img alt="" class="svelte-xhjids"/>`),gm=W(`<span class="initial svelte-xhjids"> </span>`),_m=W(`<span class="avatar svelte-xhjids"><!></span>`),vm=W(`<span class="avatar more svelte-xhjids"> </span>`),ym=W(`<div class="avatar-stack svelte-xhjids"><!> <!></div>`);function bm(e,t){M(t,!0);let n=pa(t,`max`,3,4),r=P(()=>t.participants.slice(0,n())),i=P(()=>Math.max(0,t.participants.length-n()));function a(e){return e.avatar?e.userType===`mind`?`/api/minds/${encodeURIComponent(e.username)}/avatar`:`/api/auth/avatars/${encodeURIComponent(e.avatar)}`:null}function o(e){return(e.displayName??e.username??`?`).charAt(0).toUpperCase()}var s=ym(),c=R(s);Y(c,17,()=>H(r),e=>e.username,(e,t)=>{let n=P(()=>a(H(t)));var r=_m(),i=R(r),s=e=>{var t=hm();V(()=>Xi(t,`src`,H(n))),K(e,t)},c=e=>{var n=gm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>o(H(t))]),K(e,n)};J(i,e=>{H(n)?e(s):e(c,-1)}),A(r),V(()=>Xi(r,`title`,H(t).displayName??H(t).username)),K(e,r)});var l=B(c,2),u=e=>{var t=vm(),n=R(t);A(t),V(()=>q(n,`+${H(i)??``}`)),K(e,t)};J(l,e=>{H(i)>0&&e(u)}),A(s),K(e,s),N()}var xm=W(`<div class="markdown-body"></div>`),Sm=W(`<div class="snippet-entry svelte-11j8ov"><div class="snippet-head svelte-11j8ov"><span> </span> <span class="snippet-time svelte-11j8ov"> </span></div> <div><!></div></div>`),Cm=W(`<div class="feed-card card-chat svelte-11j8ov" role="button" tabindex="0"><div class="feed-card-header svelte-11j8ov"><!> <span class="feed-card-label svelte-11j8ov"> </span> <span class="feed-card-meta svelte-11j8ov"> </span></div> <div class="feed-card-body svelte-11j8ov"></div> <div class="feed-card-foot svelte-11j8ov"> </div></div>`);function wm(e,t){M(t,!0);let n=P(()=>{if(t.event.conversationType===`channel`&&t.event.channelName)return`#${t.event.channelName}`;let e=t.event.participants.map(e=>e.displayName??e.username);return e.length>0?e.join(` & `):`Conversation`}),r=P(()=>`${t.event.messageCount} message${t.event.messageCount===1?``:`s`} · ${mm(t.event.startedAt,t.event.endedAt)}`);var i=Cm(),a=R(i),o=R(a);bm(o,{get participants(){return t.event.participants}});var s=B(o,2),c=R(s,!0);A(s);var l=B(s,2),u=R(l,!0);A(l),A(a);var d=B(a,2);Y(d,21,()=>t.event.snippet,e=>e.createdAt+(e.senderName??``),(e,t)=>{var n=Sm(),r=R(n),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r);var l=B(r,2);let u;var d=R(l),f=e=>{var n=Kr();V(()=>q(n,H(t).text)),K(e,n)},p=e=>{var n=xm();ui(n,()=>Al(H(t).text),!0),A(n),K(e,n)};J(d,e=>{H(t).role===`user`?e(f):e(p,-1)}),A(l),A(n),V(e=>{a=X(i,1,`snippet-sender svelte-11j8ov`,null,a,{user:H(t).role===`user`}),q(o,H(t).senderName??(H(t).role===`user`?`user`:`mind`)),q(c,e),u=X(l,1,`snippet-text svelte-11j8ov`,null,u,{user:H(t).role===`user`})},[()=>dm(H(t).createdAt)]),K(e,n)}),A(d);var f=B(d,2),p=R(f,!0);A(f),A(i),V(e=>{q(c,H(n)),q(u,e),q(p,H(r))},[()=>Bl(t.event.endedAt)]),U(`click`,i,function(...e){t.onclick?.apply(this,e)}),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onclick())}),K(e,i),N()}Lr([`click`,`keydown`]);function Tm(e){let t=e.split(`/`).filter(Boolean).map(e=>e===`*`?`(.*)`:e.startsWith(`:`)?`([^/]+)`:e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`));return RegExp(`^/${t.join(`/`)}(?:/(.*))?$`)}function Em(e){let t=e.systemSection?.urlPatterns;if(!t?.length)return null;let n=t[0].split(`/`).filter(Boolean)[0];return n?`/${n}`:null}function Dm(e,t){for(let n of t){let t=n.systemSection;if(t?.urlPatterns)for(let r of t.urlPatterns){let t=Tm(r);if(e.match(t)){let t=r.split(`/`).filter(Boolean)[0],i=e.replace(`/${t}`,``).replace(/^\//,``);return{extensionId:n.id,path:i}}}}return null}function Om(e,t){for(let n of t)if(n.mindSections){for(let t of n.mindSections)if(t.id===e)return`ext:${n.id}:${t.id}`}return null}function km(e=[]){let t=window.location.pathname,n=new URLSearchParams(window.location.search);if(t===`/history`)return{kind:`system-history`};if(t===`/system/settings`||t===`/settings`||t.startsWith(`/settings/`))return{kind:`home`};let r=t.match(/^\/minds\/([^/]+)\/([^/]+)\/(.+)$/);if(r){let[,t,n,i]=r;return{kind:`mind`,name:t,section:Om(n,e)??n,subpath:i}}let i=t.match(/^\/minds\/([^/]+)\/([^/]+)$/);if(i){let[,t,n]=i;return{kind:`mind`,name:t,section:Om(n,e)??n}}let a=t.match(/^\/minds\/([^/]+)$/);if(a)return{kind:`mind`,name:a[1]};let o=t.match(/^\/channels\/(.+)$/);if(o)return{kind:`channel`,slug:o[1]};let s=Dm(t,e);if(s)return{kind:`extension`,extensionId:s.extensionId,path:s.path};let c=t.match(/^\/chat\/(.+)$/);if(c)return{kind:`channel`,slug:`__conv:${c[1]}`};if(t===`/chat`){let e=n.get(`mind`);return e?{kind:`mind`,name:e}:{kind:`home`}}return{kind:`home`}}function Am(e,t=[]){switch(e.kind){case`home`:return`/`;case`system-history`:return`/history`;case`mind`:{let t=e.section;if(t?.startsWith(`ext:`)){let e=t.split(`:`);t=e[2]??e[1]}let n=t&&t!==`chat`?`/minds/${e.name}/${t}`:`/minds/${e.name}`;return e.subpath?`${n}/${e.subpath}`:n}case`extension`:{let n=t.find(t=>t.id===e.extensionId),r=n?Em(n):null;return r?e.path?`${r}/${e.path}`:r:e.path?`/ext/${e.extensionId}/${e.path}`:`/ext/${e.extensionId}`}case`channel`:return e.slug.startsWith(`__conv:`)?`/chat/${e.slug.replace(`__conv:`,``)}`:`/channels/${e.slug}`;default:return`/`}}function jm(e){window.history.pushState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))}var Mm=W(`<button><span class="dot svelte-1gzuonn" aria-hidden="true"></span> <span class="text svelte-1gzuonn"> </span> <span class="time svelte-1gzuonn"> </span></button>`);function Nm(e,t){M(t,!0);let n=P(()=>qf.minds.find(e=>e.name===t.event.mind)?.displayName??t.event.mind),r=P(()=>{switch(t.event.type){case`mind_started`:return`started`;case`mind_stopped`:return`stopped`;case`mind_sleeping`:return`asleep`;case`mind_waking`:return`awake`;case`backup_failed`:return`backup`;default:return`error`}}),i=P(()=>{switch(H(r)){case`started`:return`${H(n)} started`;case`stopped`:return`${H(n)} stopped`;case`asleep`:return`${H(n)} went to sleep`;case`awake`:return`${H(n)} woke up`;case`backup`:return`A scheduled backup failed`;default:return`${H(n)} hit an error`}}),a=P(()=>H(r)!==`backup`);var o=Mm();let s;var c=B(R(o),2),l=R(c,!0);A(c);var u=B(c,2),d=R(u,!0);A(u),A(o),V(e=>{s=X(o,1,`lifecycle-row kind-${H(r)??``}`,`svelte-1gzuonn`,s,{static:!H(a)}),o.disabled=!H(a),Xi(o,`title`,t.event.summary),q(l,H(i)),q(d,e)},[()=>Bl(t.event.createdAt)]),U(`click`,o,()=>H(a)&&jm(`/minds/${t.event.mind}`)),K(e,o),N()}Lr([`click`]);var Pm=W(`<img class="avatar svelte-1lwgt1q" alt=""/>`),Fm=W(`<span class="avatar initial svelte-1lwgt1q"> </span>`),Im=W(`<span class="badge moon svelte-1lwgt1q" aria-hidden="true"><svg viewBox="0 0 16 16" fill="currentColor" class="svelte-1lwgt1q"><path d="M6 2a6 6 0 1 0 8 8A5 5 0 0 1 6 2z"></path></svg></span>`),Lm=W(`<span class="badge dot svelte-1lwgt1q" aria-hidden="true"></span>`),Rm=W(`<button><span class="avatar-wrap svelte-1lwgt1q"><!> <!></span> <span class="name svelte-1lwgt1q"> </span></button>`),zm=W(`<div class="presence-strip svelte-1lwgt1q"></div>`);function Bm(e,t){M(t,!0);let n=P(()=>qf.minds.filter(e=>(e.mindType??`mind`)===`mind`));function r(e){return e.status===`sleeping`?`asleep`:e.status===`stopped`?`stopped`:Jf.has(e.name)?`active`:`idle`}let i={active:`active`,idle:`awake`,asleep:`asleep`,stopped:`stopped`};function a(e){return e.avatar?`/api/minds/${encodeURIComponent(e.name)}/avatar`:null}function o(e){return(e.displayName??e.name).charAt(0).toUpperCase()}var s=G(),c=z(s),l=e=>{var t=zm();Y(t,21,()=>H(n),e=>e.name,(e,t)=>{let n=P(()=>r(H(t))),s=P(()=>a(H(t)));var c=Rm(),l=R(c),u=R(l),d=e=>{var t=Pm();V(()=>Xi(t,`src`,H(s))),K(e,t)},f=e=>{var n=Fm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>o(H(t))]),K(e,n)};J(u,e=>{H(s)?e(d):e(f,-1)});var p=B(u,2),m=e=>{K(e,Im())},h=e=>{K(e,Lm())};J(p,e=>{H(n)===`asleep`?e(m):H(n)===`active`&&e(h,1)}),A(l);var g=B(l,2),_=R(g,!0);A(g),A(c),V(()=>{X(c,1,`presence-item state-${H(n)??``}`,`svelte-1lwgt1q`),Xi(c,`title`,`${H(t).displayName??H(t).name??``} · ${i[H(n)]??``}`),q(_,H(t).displayName??H(t).name)}),U(`click`,c,()=>jm(`/minds/${H(t).name}`)),K(e,c)}),A(t),K(e,t)};J(c,e=>{H(n).length>0&&e(l)}),K(e,s),N()}Lr([`click`]);function Vm(e,t){return t&&e.every(e=>e.mindType===`spirit`)}function Hm(e){return e.find(e=>e.mindType===`spirit`)}var Um=W(`<p class="empty-secondary svelte-1sx25j1">or <button class="spirit-link svelte-1sx25j1"> </button> to get oriented.</p>`),Wm=W(`<div class="empty-state svelte-1sx25j1"><div class="empty-card svelte-1sx25j1"><h2 class="empty-heading svelte-1sx25j1">Plant your first seed</h2> <p class="empty-blurb svelte-1sx25j1">A mind is a persistent AI with its own memory, identity, and inner life — one it can grow
|
|
74
|
+
and reshape over time.</p> <button class="plant-btn svelte-1sx25j1">Plant your first seed</button> <!></div></div>`);function Gm(e,t){M(t,!0);let n=P(()=>Hm(t.minds));var r=Wm(),i=R(r),a=B(R(i),4),o=B(a,2),s=e=>{var t=Um(),r=B(R(t)),i=R(r);A(r),j(),A(t),V(()=>q(i,`chat with ${H(n).displayName??H(n).name??``}`)),U(`click`,r,()=>jm(`/minds/${H(n).name}`)),K(e,t)};J(o,e=>{H(n)&&e(s)}),A(i),A(r),U(`click`,a,function(...e){t.onSeed?.apply(this,e)}),K(e,r),N()}Lr([`click`]);var Km=W(`<button class="open-chat-btn svelte-hdi0pv">Chat</button>`),qm=W(`<div class="chat-empty svelte-hdi0pv">Loading...</div>`),Jm=W(`<div class="chat-empty svelte-hdi0pv"> </div>`),Ym=W(`<div class="chat-empty svelte-hdi0pv">No messages.</div>`),Xm=W(`<div class="date-divider svelte-hdi0pv"><div class="divider-line svelte-hdi0pv"></div> <span> </span> <div class="divider-line svelte-hdi0pv"></div></div>`),Zm=W(`<div class="chat-event svelte-hdi0pv"> </div>`),Qm=W(`<div class="chat-entry-header svelte-hdi0pv"><span> </span> <span class="chat-timestamp svelte-hdi0pv"> </span></div>`),$m=W(`<div class="markdown-body"></div>`),eh=W(`<div><!> <div><!></div></div>`),th=W(`<!> <!>`,1),nh=W(`<div class="chat-scroll svelte-hdi0pv"></div>`),rh=W(`<div class="read-only-chat svelte-hdi0pv"><!></div>`);function ih(e,t){M(t,!0);let n=pa(t,`canChat`,3,!1),r=F(L([])),i=F(!0),a=F(null),o=F(void 0),s=P(()=>{if(t.conversation.type===`channel`&&t.conversation.channel_name)return`#${t.conversation.channel_name}`;let e=(t.conversation.participants??[]).filter(e=>e.username!==t.mindName);return e.length>0?e.map(e=>`@${e.username}`).join(`, `):`Conversation`});Tn(()=>{I(i,!0),I(a,null),(t.mindName?Su(t.mindName,t.conversation.id,{limit:50}):Cu(t.conversation.id,{limit:50})).then(e=>{I(r,e.items,!0),requestAnimationFrame(()=>{H(o)&&(H(o).scrollTop=H(o).scrollHeight)})}).catch(e=>{console.warn(`Failed to load conversation messages:`,e),I(r,[],!0),I(a,e?.message?.includes(`403`)||e?.message?.includes(`private`)?`This is a private conversation.`:`Failed to load messages.`,!0)}).finally(()=>{I(i,!1)})});function c(e){try{return new Date(Rl(e)).toLocaleDateString()}catch{return``}}function l(e){return e===0||c(H(r)[e].created_at)!==c(H(r)[e-1].created_at)}$a(e,{get onClose(){return t.onClose},get title(){return H(s)},headerActions:e=>{var r=G(),i=z(r),a=e=>{var n=Km();U(`click`,n,()=>{t.onClose(),jm(`/chat/${t.conversation.id}`)}),K(e,n)};J(i,e=>{n()&&e(a)}),K(e,r)},children:(e,n)=>{var s=rh(),u=R(s),d=e=>{K(e,qm())},f=e=>{var t=Jm(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},p=e=>{K(e,Ym())},m=e=>{var n=nh();Y(n,23,()=>H(r),e=>e.id,(e,n,i)=>{var a=th(),o=z(a),s=e=>{var t=Xm(),r=B(R(t),2),i=R(r,!0);A(r),j(2),A(t),V(e=>q(i,e),[()=>c(H(n).created_at)]),K(e,t)},u=P(()=>l(H(i)));J(o,e=>{H(u)&&e(s)});var d=B(o,2),f=e=>{var t=Zm(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>pm(H(n).content)]),K(e,t)},p=e=>{var a=eh();let o;var s=R(a),c=e=>{var r=Qm(),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r),V(e=>{a=X(i,1,`chat-sender svelte-hdi0pv`,null,a,{"chat-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?`user`:t.mindName??`mind`)),q(c,e)},[()=>dm(H(n).created_at)]),K(e,r)},l=P(()=>fm(H(r),H(i)));J(s,e=>{H(l)&&e(c)});var u=B(s,2);let d;var f=R(u),p=e=>{var t=Kr();V(e=>q(t,e),[()=>pm(H(n).content)]),K(e,t)},m=e=>{var t=$m();ui(t,()=>Al(pm(H(n).content)),!0),A(t),K(e,t)};J(f,e=>{H(n).role===`user`?e(p):e(m,-1)}),A(u),A(a),V(e=>{o=X(a,1,`chat-entry svelte-hdi0pv`,null,o,e),d=X(u,1,`chat-entry-content svelte-hdi0pv`,null,d,{"chat-user-text":H(n).role===`user`})},[()=>({"new-sender":fm(H(r),H(i))})]),K(e,a)};J(d,e=>{H(n).role===`event`?e(f):e(p,-1)}),K(e,a)}),A(n),ua(n,e=>I(o,e),()=>H(o)),K(e,n)};J(u,e=>{H(i)?e(d):H(a)?e(f,1):H(r).length===0?e(p,2):e(m,-1)}),A(s),K(e,s)},$$slots:{headerActions:!0,default:!0}}),N()}Lr([`click`]);var ah=W(`<span class="card-icon svelte-1kjsxpa"></span>`),oh=W(`<span class="card-icon svelte-1kjsxpa"><!></span>`),sh=W(`<span class="card-meta svelte-1kjsxpa"> </span>`),ch=W(`<span class="card-time svelte-1kjsxpa"> </span>`),lh=W(`<button class="card-close svelte-1kjsxpa" aria-label="Collapse">✕</button>`),uh=W(`<div class="card-body svelte-1kjsxpa"><!></div>`),dh=W(`<div class="card-body card-body-iframe svelte-1kjsxpa"><iframe sandbox="allow-same-origin" role="presentation"></iframe></div>`),fh=W(`<div class="card-body card-body-scroll svelte-1kjsxpa"><div class="body-html markdown-body svelte-1kjsxpa"></div></div>`),ph=W(`<div class="card-body card-body-scroll svelte-1kjsxpa"><div class="body-text svelte-1kjsxpa"> </div></div>`),mh=W(`<div><div class="card-header svelte-1kjsxpa"><!> <span class="card-title svelte-1kjsxpa"> </span> <!> <!> <!></div> <!></div>`);function hh(e,t){M(t,!0);let n=pa(t,`color`,3,`text-2`),r=pa(t,`body`,19,()=>({kind:`none`})),i=P(()=>`var(--${n()})`),a=F(!1);function o(e){e.stopPropagation(),t.onclick?.()}function s(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(e))}var c=mh();let l,u;var d=R(c);let f;var p=R(d),m=e=>{var n=ah();let r;ui(n,()=>Pl(t.icon),!0),A(n),V(()=>r=Z(n,``,r,{color:H(i)})),K(e,n)},h=e=>{var n=oh();let r;qa(R(n),{get kind(){return t.iconKind}}),A(n),V(()=>r=Z(n,``,r,{color:H(i)})),K(e,n)};J(p,e=>{t.icon?e(m):t.iconKind&&e(h,1)});var g=B(p,2),_=R(g,!0);A(g);var v=B(g,2),y=e=>{var n=sh(),r=R(n,!0);A(n),V(()=>q(r,t.meta)),K(e,n)};J(v,e=>{t.meta&&e(y)});var b=B(v,2),x=e=>{var n=ch(),r=R(n,!0);A(n),V(()=>q(r,t.time)),K(e,n)};J(b,e=>{t.time&&e(x)});var S=B(b,2),C=e=>{var n=lh();U(`click`,n,e=>{e.stopPropagation(),t.oncollapse()}),K(e,n)};J(S,e=>{t.oncollapse&&e(C)}),A(d);var w=B(d,2),T=e=>{var n=uh();di(R(n),()=>t.children),A(n),K(e,n)},E=e=>{var n=dh(),i=R(n);let o;A(n),V(()=>{Xi(i,`src`,r().url),o=X(i,1,`page-preview svelte-1kjsxpa`,null,o,{loaded:H(a)}),Xi(i,`title`,t.title)}),U(`pointerdown`,i,e=>e.preventDefault()),Ir(`load`,i,()=>I(a,!0)),Pr(i),K(e,n)},ee=e=>{var t=fh(),n=R(t);ui(n,()=>Al(r().source),!0),A(n),A(t),K(e,t)},te=e=>{var t=ph(),n=R(t),i=R(n,!0);A(n),A(t),V(()=>q(i,r().text)),K(e,t)};J(w,e=>{t.children?e(T):r().kind===`iframe`?e(E,1):r().kind===`markdown`?e(ee,2):r().kind===`text`&&e(te,3)}),A(c),V(()=>{l=X(c,1,`timeline-card svelte-1kjsxpa`,null,l,{clickable:!!t.onclick}),Xi(c,`role`,t.onclick?`button`:void 0),Xi(c,`tabindex`,t.onclick?0:void 0),u=Z(c,``,u,{"border-color":`color-mix(in srgb, ${H(i)??``} 25%, var(--border))`}),f=Z(d,``,f,{"border-bottom-color":`color-mix(in srgb, ${H(i)??``} 25%, var(--border))`}),q(_,t.title)}),U(`click`,c,function(...e){(t.onclick?o:void 0)?.apply(this,e)}),U(`keydown`,c,function(...e){(t.onclick?s:void 0)?.apply(this,e)}),K(e,c),N()}Lr([`click`,`keydown`,`pointerdown`]);function gh(e){let t=typeof e?.iframeUrl==`string`?e.iframeUrl:``;if(t)return{kind:`iframe`,url:t};let n=typeof e?.bodyHtml==`string`?e.bodyHtml:``;return n?{kind:`markdown`,source:n}:{kind:`none`}}function _h(e,t){if(typeof e?.url==`string`&&e.url)return e.url;let n=typeof e?.slug==`string`?e.slug:``;if(n)return`/minds/${typeof e?.author==`string`?e.author:t}/notes/${n}`;let r=typeof e?.file==`string`?e.file:``;return r?`/minds/${t}/pages/${r}`:``}var vh=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function yh(e){return vh.test(e)}var bh={mind_sprouted:{color:`green`,icon:wo.mind,label:`sprouted`}};function xh(e){return bh[e]}function Sh(e){return bh[e]?.label??e.replace(/_/g,` `)}function Ch(e){return typeof e?.color==`string`?e.color:`yellow`}function wh(e,t){return typeof e?.label==`string`&&e.label?e.label:t?.split(`:`)[1]||`event`}function Th(e,t,n){switch(e.type){case`inbound`:return{color:`blue`,iconKind:`chat`,title:e.channel||`message`,meta:e.sender??`user`,body:{kind:`text`,text:e.content},url:``};case`outbound`:return{color:`red`,iconKind:`chat`,title:e.channel||`message`,meta:n,body:{kind:`text`,text:e.content},url:``};case`event`:return{color:`purple`,iconKind:`gear`,title:wh(t,e.channel),meta:`system event`,body:{kind:`text`,text:e.content},url:``};case`activity`:{let r=typeof t?.icon==`string`?t.icon:void 0;return{color:Ch(t),icon:r,iconKind:r?void 0:`document-lines`,title:e.content,meta:typeof t?.author==`string`?t.author:void 0,body:gh(t),url:_h(t,n)}}default:return null}}function Eh(e){return e.iframeUrl?{kind:`iframe`,url:e.iframeUrl}:e.bodyHtml?{kind:`markdown`,source:e.bodyHtml}:{kind:`none`}}var Dh=W(`<div class="digest markdown-body svelte-11yxpr8"></div>`),Oh=W(`<div class="empty-hint svelte-11yxpr8">Nothing here yet. When your minds do things on their own, it shows up here.</div>`),kh=W(`<div class="feed-item svelte-11yxpr8"><!></div>`),Ah=W(`<div class="feed-lifecycle svelte-11yxpr8"><!></div>`),jh=W(`<div class="feed-grid svelte-11yxpr8"></div>`),Mh=W(`<!> <!> <!>`,1),Nh=W(`<div class="home svelte-11yxpr8"><!></div> <!>`,1);function Ph(e,t){M(t,!0);let n=P(()=>Vm(qf.minds,qf.mindsLoaded)),r=F(L([])),i=F(L([])),a=F(``),o=F(null);Tn(()=>{Pu().then(e=>{I(r,e.events,!0)}).catch(e=>{console.warn(`Failed to fetch feed:`,e)})}),Tn(()=>{Fu().then(e=>{I(a,e.content,!0)}).catch(e=>{console.warn(`Failed to fetch digest:`,e)})}),Tn(()=>{let e=qf.extensions,t=[],n=e.filter(e=>e.feedSource).map(async e=>{try{let n=await fetch(e.feedSource.endpoint);if(!n.ok)return;let r=await n.json();for(let n of r)t.push({...n,extensionId:e.id})}catch(t){console.warn(`Failed to fetch ${e.id} feed:`,t)}});Promise.all(n).then(()=>{I(i,t,!0)})});function s(e){return qf.minds.find(t=>t.name===e)?.displayName??e}let c=P(()=>qf.activity.filter(e=>e.type===`mind_sprouted`).map(e=>({id:e.id,mind:e.mind,date:e.created_at}))),l=P(()=>{let e=[];for(let t of H(r))t.kind===`chat`?e.push({kind:`chat`,event:t,date:t.endedAt}):e.push({kind:`lifecycle`,event:t,date:t.createdAt});for(let t of H(i))e.push({kind:`extension`,item:t,date:t.date});for(let t of H(c))e.push({kind:`sprout`,item:t,date:t.date});return e.sort((e,t)=>{let n=new Date(Rl(e.date)).getTime();return new Date(Rl(t.date)).getTime()-n}),e}),u=P(()=>H(o)?{id:H(o).conversationId,type:H(o).conversationType,user_id:null,private:0,created_at:H(o).startedAt,updated_at:H(o).endedAt,channel_name:H(o).channelName,participants:H(o).participants}:null),d=P(()=>H(o)?.participants.some(e=>e.username===t.username)??!1);var f=Nh(),p=z(f),m=R(p),h=e=>{{let n=P(()=>t.onSeed??(()=>{}));Gm(e,{get minds(){return qf.minds},get onSeed(){return H(n)}})}},g=e=>{var t=Mh(),n=z(t);Bm(n,{});var r=B(n,2),i=e=>{var t=Dh();ui(t,()=>Al(H(a)),!0),A(t),K(e,t)},c=P(()=>H(a).trim());J(r,e=>{H(c)&&e(i)});var u=B(r,2),d=e=>{K(e,Oh())},f=e=>{var t=jh();Y(t,21,()=>H(l),e=>e.kind===`extension`?`ext-${e.item.id}`:e.kind===`sprout`?`sprout-${e.item.id}`:e.kind===`lifecycle`?`life-${e.event.id}`:`chat-${e.event.conversationId}-${e.event.endedAt}`,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=kh(),r=R(n);{let e=P(()=>Bl(H(t).item.date)),n=P(()=>Eh(H(t).item));hh(r,{get title(){return H(t).item.title},get color(){return H(t).item.color},get icon(){return H(t).item.icon},get meta(){return H(t).item.author},get time(){return H(e)},get body(){return H(n)},onclick:()=>jm(H(t).item.url)})}A(n),K(e,n)},a=e=>{let n=P(()=>H(t).item);var r=kh(),i=R(r);{let e=P(()=>`${s(H(n).mind)} sprouted`),t=P(()=>Bl(H(n).date));hh(i,{get title(){return H(e)},color:`green`,get icon(){return wo.mind},get time(){return H(t)},body:{kind:`markdown`,source:`Left the seed stage and became a full mind — joined #system and began its first week.`},onclick:()=>jm(`/minds/${H(n).mind}`)})}A(r),K(e,r)},c=e=>{var n=Ah();Nm(R(n),{get event(){return H(t).event}}),A(n),K(e,n)},l=e=>{var n=kh();wm(R(n),{get event(){return H(t).event},onclick:()=>{I(o,H(t).event,!0)}}),A(n),K(e,n)};J(r,e=>{H(t).kind===`extension`?e(i):H(t).kind===`sprout`?e(a,1):H(t).kind===`lifecycle`?e(c,2):e(l,-1)}),K(e,n)}),A(t),K(e,t)};J(u,e=>{H(l).length===0?e(d):e(f,-1)}),K(e,t)};J(m,e=>{H(n)?e(h):e(g,-1)}),A(p);var _=B(p,2),v=e=>{ih(e,{get conversation(){return H(u)},get canChat(){return H(d)},onClose:()=>{I(o,null)}})};J(_,e=>{H(o)&&H(u)&&e(v)}),K(e,f),N()}var Fh=W(`<div class="warning svelte-1lrw9b3">Couldn't load the channel's current settings — saving will overwrite them.</div>`),Ih=W(`<div class="error svelte-1lrw9b3"> </div>`),Lh=W(`<div class="settings-body svelte-1lrw9b3"><!> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Description</span> <textarea rows="2" placeholder="What this channel is about" class="svelte-1lrw9b3"></textarea></label> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Rules</span> <textarea rows="3" placeholder="Guidelines for participants" class="svelte-1lrw9b3"></textarea></label> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Character limit</span> <input type="number" min="1" placeholder="None" class="svelte-1lrw9b3"/> <span class="hint svelte-1lrw9b3">Leave empty for no limit.</span></label> <label class="checkbox-field svelte-1lrw9b3"><input type="checkbox" class="svelte-1lrw9b3"/> <span>Private channel</span></label> <!> <div class="actions svelte-1lrw9b3"><button class="btn-secondary svelte-1lrw9b3">Cancel</button> <button class="btn-primary svelte-1lrw9b3"> </button></div></div>`);function Rh(e,t){M(t,!0);let n=pa(t,`loadFailed`,3,!1),r=F(L(t.settings?.description??``)),i=F(L(t.settings?.rules??``)),a=F(L(t.settings?.charLimit==null?``:String(t.settings.charLimit))),o=F(L(t.settings?.private??!1)),s=F(!1),c=F(``);async function l(){if(H(s))return;I(c,``);let e=H(a).trim(),n=null;if(e){let t=Number(e);if(!Number.isInteger(t)||t<=0){I(c,`Char limit must be a positive whole number.`);return}n=t}I(s,!0);let l={description:H(r).trim()||null,rules:H(i).trim()||null,charLimit:n,private:H(o)};try{let e=await $u(t.channelName,l);t.onSaved(e),t.onClose()}catch(e){I(c,e instanceof Error?e.message:`Failed to save settings`,!0)}finally{I(s,!1)}}$a(e,{size:`420px`,get title(){return`#${t.channelName??``} settings`},get onClose(){return t.onClose},children:(e,u)=>{var d=Lh(),f=R(d),p=e=>{K(e,Fh())};J(f,e=>{n()&&e(p)});var m=B(f,2),h=B(R(m),2);hn(h),A(m);var g=B(m,2),_=B(R(g),2);hn(_),A(g);var v=B(g,2),y=B(R(v),2);Ki(y),j(2),A(v);var b=B(v,2),x=R(b);Ki(x),j(2),A(b);var S=B(b,2),C=e=>{var t=Ih(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)};J(S,e=>{H(c)&&e(C)});var w=B(S,2),T=R(w),E=B(T,2),ee=R(E,!0);A(E),A(w),A(d),V(()=>{T.disabled=H(s),E.disabled=H(s),q(ee,H(s)?`Saving...`:`Save`)}),aa(h,()=>H(r),e=>I(r,e)),aa(_,()=>H(i),e=>I(i,e)),aa(y,()=>H(a),e=>I(a,e)),oa(x,()=>H(o),e=>I(o,e)),U(`click`,T,function(...e){t.onClose?.apply(this,e)}),U(`click`,E,l),K(e,d)},$$slots:{default:!0}}),N()}Lr([`click`]);var zh={auth_error:`the model credentials were rejected`,rate_limit:`the model provider's rate limit was hit`,overloaded:`the model provider was overloaded`,network:`a network error reaching the model provider`};function Bh(e,t){if(!e)return null;let n=e.displayName||e.name;if(e.status===`stopped`)return{kind:`stopped`,text:`${n} isn't running`,showStart:t};if(e.status===`starting`)return{kind:`starting`,text:`${n} is waking up…`,showStart:!1};if(e.status===`sleeping`){let t=Vh(e.wakeAt);return{kind:`sleeping`,text:t?`${n} is asleep — waking at ${t}`:`${n} is asleep`,showStart:!1}}if(e.lastError){let t=e.lastError,r;return r=t.kind===`crash`?`${n}'s process crashed`:t.kind===`startup`?`${n} failed to start`:`${n}'s last turn failed — ${zh[t.reason]??`an unexpected error`}`,{kind:`error`,text:r,detail:t.detail,showStart:!1}}return null}function Vh(e){if(!e)return null;let t=new Date(e);if(Number.isNaN(t.getTime()))return null;let n=t.toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`});return t.toDateString()===new Date().toDateString()?n:`${n} on ${t.toLocaleDateString(`en-US`,{weekday:`long`})}`}var Hh=W(`<button class="start-btn svelte-19r8zgf"> </button>`),Uh=W(`<span class="start-error svelte-19r8zgf"> </span>`),Wh=W(`<div><span class="text"> </span> <!> <!></div>`);function Gh(e,t){M(t,!0);let n=F(!1),r=F(``),i=P(()=>Bh(t.mind,t.isAdmin));async function a(){if(!(!t.mind||H(n))){I(n,!0),I(r,``);try{await vu(t.mind.name)}catch(e){I(r,e instanceof Error?e.message:`Failed to start`,!0),I(n,!1)}}}var o=G(),s=z(o),c=e=>{var t=Wh(),o=R(t),s=R(o,!0);A(o);var c=B(o,2),l=e=>{var t=Hh(),r=R(t,!0);A(t),V(()=>{t.disabled=H(n),q(r,H(n)?`Starting…`:`Start`)}),U(`click`,t,a),K(e,t)};J(c,e=>{H(i).showStart&&e(l)});var u=B(c,2),d=e=>{var t=Uh(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)};J(u,e=>{H(r)&&e(d)}),A(t),V(()=>{X(t,1,`status-bar ${H(i).kind??``}`,`svelte-19r8zgf`),Xi(t,`title`,H(i).detail),q(s,H(i).text)}),K(e,t)};J(s,e=>{H(i)&&e(c)}),K(e,o),N()}Lr([`click`]);var Kh=W(`<div class="image-preview svelte-69hg31"><img alt="" class="preview-thumb svelte-69hg31"/> <button class="remove-image svelte-69hg31" title="Remove">x</button></div>`),qh=W(`<div class="image-strip svelte-69hg31"></div>`),Jh=W(`<div class="file-preview svelte-69hg31"><span class="file-name svelte-69hg31"> </span> <button class="remove-image svelte-69hg31" title="Remove">x</button></div>`),Yh=W(`<div class="file-strip svelte-69hg31"></div>`),Xh=W(`<button>Image</button> <button>File</button>`,1),Zh=Gr(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>`),Qh=Gr(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>`),$h=W(`<!> <!> <input type="file" accept="image/*" multiple="" style="display: none"/> <input type="file" multiple="" style="display: none"/> <div class="input-area svelte-69hg31"><div><button class="inline-btn attach svelte-69hg31" title="Attach image or file"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></button> <!> <textarea placeholder="Send a message..." class="chat-input svelte-69hg31"></textarea> <button title="Send message"><!></button></div></div>`,1);function eg(e,t){M(t,!0);let n=pa(t,`mindName`,3,``),r=pa(t,`conversationId`,3,null),i=pa(t,`username`,3,``),a=F(``),o=F(L([])),s=F(L([])),c,l,u,d=0,f=F(!1),p=F(!1);function m(){I(p,!H(p))}function h(){let e=H(a).trim();if(!e&&H(o).length===0&&H(s).length===0||t.sending)return;let l=H(o).map(({media_type:e,data:t})=>({media_type:e,data:t})),u=[...H(s)];I(a,``),I(o,[],!0),I(s,[],!0),c&&(c.style.height=`auto`,c.style.overflow=`hidden`),r()&&n()&&i()&&(Ou(n(),r(),i(),!1),d=0),t.onSend(e,l,u)}function g(e){e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),h())}function _(e){let t=e.currentTarget;if(r()&&n()&&i()){let e=Date.now();e-d>3e3&&(d=e,Ou(n(),r(),i(),!0))}t.style.height=`auto`,t.style.height=`${Math.min(t.scrollHeight,120)}px`,t.style.overflow=t.scrollHeight>120?`auto`:`hidden`}function v(){r()&&n()&&i()&&d>0&&(Ou(n(),r(),i(),!1),d=0)}function y(e){if(e)for(let t of Array.from(e)){if(!t.type.startsWith(`image/`))continue;let e=new FileReader;e.onload=()=>{let n=e.result,r=n.split(`,`)[1];I(o,[...H(o),{media_type:t.type,data:r,preview:n}],!0)},e.readAsDataURL(t)}}function b(e){if(e)for(let t of Array.from(e)){if(t.size>52428800)continue;let e=new FileReader;e.onload=()=>{let n=e.result,r=new Uint8Array(n),i=``;for(let e=0;e<r.length;e++)i+=String.fromCharCode(r[e]);let a=btoa(i);I(s,[...H(s),{filename:t.name,data:a}],!0)},e.readAsArrayBuffer(t)}}Tn(()=>()=>{r()&&n()&&i()&&d>0&&Ou(n(),r(),i(),!1)});var x=$h(),S=z(x),C=e=>{var t=qh();Y(t,23,()=>H(o),e=>e.preview,(e,t,n)=>{var r=Kh(),i=R(r),a=B(i,2);A(r),V(()=>Xi(i,`src`,H(t).preview)),U(`click`,a,()=>{I(o,H(o).filter((e,t)=>t!==H(n)),!0)}),K(e,r)}),A(t),K(e,t)};J(S,e=>{H(o).length>0&&e(C)});var w=B(S,2),T=e=>{var t=Yh();Y(t,23,()=>H(s),(e,t)=>e.filename+t,(e,t,n)=>{var r=Jh(),i=R(r),a=R(i,!0);A(i);var o=B(i,2);A(r),V(()=>q(a,H(t).filename)),U(`click`,o,()=>{I(s,H(s).filter((e,t)=>t!==H(n)),!0)}),K(e,r)}),A(t),K(e,t)};J(w,e=>{H(s).length>0&&e(T)});var E=B(w,2);ua(E,e=>l=e,()=>l);var ee=B(E,2);ua(ee,e=>u=e,()=>u);var te=B(ee,2),ne=R(te);let D;var O=R(ne),re=B(O,2);ya(re,{get open(){return H(p)},onclose:()=>I(p,!1),direction:`up`,children:(e,t)=>{var n=Xh(),r=z(n),i=B(r,2);U(`click`,r,()=>{I(p,!1),l?.click()}),U(`click`,i,()=>{I(p,!1),u?.click()}),K(e,n)},$$slots:{default:!0}});var ie=B(re,2);hn(ie),Xi(ie,`rows`,1),ua(ie,e=>c=e,()=>c);var ae=B(ie,2);let k;var oe=R(ae),se=e=>{K(e,Zh())},ce=e=>{K(e,Qh())};J(oe,e=>{t.sending?e(se):e(ce,-1)}),A(ae),A(ne),A(te),V((e,t)=>{D=X(ne,1,`input-box svelte-69hg31`,null,D,{focused:H(f)}),ae.disabled=e,k=X(ae,1,`inline-btn send svelte-69hg31`,null,k,t)},[()=>t.sending||!H(a).trim()&&H(o).length===0&&H(s).length===0,()=>({active:!!H(a).trim()||H(o).length>0||H(s).length>0})]),U(`change`,E,e=>y(e.currentTarget.files)),U(`change`,ee,e=>b(e.currentTarget.files)),U(`click`,O,m),U(`keydown`,ie,g),U(`input`,ie,_),Ir(`focus`,ie,()=>I(f,!0)),Ir(`blur`,ie,()=>{I(f,!1),v()}),aa(ie,()=>H(a),e=>I(a,e)),U(`click`,ae,h),K(e,x),N()}Lr([`click`,`change`,`keydown`,`input`]);var tg=W(`<div class="lightbox-overlay svelte-8uz8bu" role="button" tabindex="-1"><img alt="" class="lightbox-image svelte-8uz8bu"/></div>`);function ng(e,t){M(t,!0);function n(e){e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),t.onClose())}function r(e){return document.body.appendChild(e),{destroy(){e.remove()}}}var i=tg();Ir(`keydown`,$t,n);var a=R(i);A(i),Si(i,e=>r?.(e)),V(()=>Xi(a,`src`,t.src)),U(`click`,i,function(...e){t.onClose?.apply(this,e)}),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&t.onClose()}),K(e,i),N()}Lr([`click`,`keydown`]);var rg=W(`<span> </span>`),ig=W(`<div class="tool-section-label svelte-iivm65" style="margin-top: 8px">output:</div> <pre> </pre>`,1),ag=W(`<div class="tool-detail svelte-iivm65"><div class="tool-section-label svelte-iivm65">input:</div> <pre class="tool-pre svelte-iivm65"> </pre> <!></div>`),og=W(`<div class="tool-block svelte-iivm65"><button class="tool-header svelte-iivm65"><span class="tool-label svelte-iivm65"><span class="tool-arrow svelte-iivm65"> </span> </span> <!></button> <!></div>`);function sg(e,t){M(t,!0);let n=pa(t,`isError`,3,!1),r=pa(t,`isOpen`,3,!1);function i(){let e=t.input;switch(t.name){case`Read`:return{label:`Read ${e.file_path??``}`,color:`var(--blue)`};case`Write`:return{label:`Write ${e.file_path??``}`,color:`var(--blue)`};case`Edit`:return{label:`Edit ${e.file_path??``}`,color:`var(--blue)`};case`Glob`:return{label:`Glob ${e.pattern??``}`,color:`var(--yellow)`};case`Grep`:return{label:`Grep "${e.pattern??``}"${e.path?` in ${e.path}`:``}`,color:`var(--yellow)`};case`Bash`:return{label:`Bash: ${String(e.command??``).split(`
|
|
75
|
+
`)[0]}`,color:`var(--red)`};case`WebSearch`:return{label:`Search: "${e.query??``}"`,color:`var(--purple)`};case`WebFetch`:return{label:`Fetch: ${e.url??``}`,color:`var(--purple)`};case`Task`:return{label:`Task: ${e.description??``}`,color:`var(--accent)`};default:return{label:t.name,color:`var(--purple)`}}}let a=P(i);var o=og(),s=R(o);let c;var l=R(s),u=R(l),d=R(u,!0);A(u);var f=B(u);A(l);var p=B(l,2),m=e=>{var t=rg();let r;var i=R(t,!0);A(t),V(()=>{r=X(t,1,`tool-status svelte-iivm65`,null,r,{error:n()}),q(i,n()?`error`:`done`)}),K(e,t)};J(p,e=>{t.output!==void 0&&e(m)}),A(s);var h=B(s,2),g=e=>{var r=ag(),i=B(R(r),2),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var r=ig(),i=B(z(r),2);let a;var o=R(i,!0);A(i),V(()=>{a=X(i,1,`tool-pre tool-output svelte-iivm65`,null,a,{error:n()}),q(o,t.output)}),K(e,r)};J(o,e=>{t.output!==void 0&&e(s)}),A(r),V(e=>q(a,e),[()=>JSON.stringify(t.input,null,2)]),K(e,r)};J(h,e=>{r()&&e(g)}),A(o),V(()=>{c=Z(s,``,c,{color:H(a).color}),q(d,r()?`▾`:`▸`),q(f,` ${H(a).label??``}`)}),U(`click`,s,function(...e){t.onToggle?.apply(this,e)}),K(e,o),N()}Lr([`click`]);var cg=W(`<button class="sender sender-link svelte-1bfejg9"> </button>`),lg=W(`<span class="sender svelte-1bfejg9"> </span>`),ug=W(`<span></span>`),dg=W(`<span class="timestamp svelte-1bfejg9"> </span>`),fg=W(`<div class="entry-header svelte-1bfejg9"><!> <!></div>`),pg=W(`<span class="timestamp inline-time svelte-1bfejg9"> </span>`),mg=W(`<div class="markdown-body"></div>`),hg=W(`<button type="button" class="chat-image-btn svelte-1bfejg9"><img alt="" class="chat-image svelte-1bfejg9" loading="lazy" decoding="async"/></button>`),gg=W(`<div><!> <div class="entry-content svelte-1bfejg9"><!></div></div> <!>`,1);function _g(e,t){M(t,!0);let n=pa(t,`showHeader`,3,!0),r=pa(t,`showDate`,3,!1),i=pa(t,`senderColor`,3,`var(--text-0)`),a=pa(t,`participants`,19,()=>[]),o=pa(t,`showTypingDot`,3,!1),s=F(null);function c(e){let n=t.mindsByName.get(e);if(n)return{name:n.name,displayName:n.displayName,description:n.description,avatarUrl:n.avatar?`/api/minds/${encodeURIComponent(n.name)}/avatar`:null,userType:`mind`,created:n.created};let r=a().find(t=>t.username===e);return r?{name:r.username,displayName:r.displayName,description:r.description,avatarUrl:r.avatar?`/api/auth/avatars/${encodeURIComponent(r.avatar)}`:null,userType:r.userType}:null}function l(e){if(!e)return``;try{let t=new Date(Rl(e)),n=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return r()?`${t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${n}`:n}catch{return``}}function u(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type===`text`)t.push({kind:`text`,text:r.text});else if(r.type===`tool_use`){let i={name:r.name,input:r.input},a=e[n+1];a&&a.type===`tool_result`&&(i.output=a.output,i.isError=a.is_error,n++),t.push({kind:`tool`,tool:i})}else r.type===`tool_result`||r.type===`image`&&t.push({kind:`image`,media_type:r.media_type,data:r.data})}return t}var d=gg(),f=z(d);let p;var m=R(f),h=e=>{var n=fg(),r=R(n),a=e=>{let n=P(()=>c(t.senderName)),r=P(()=>t.mindsByName.get(t.senderName));var a=G(),o=z(a),s=e=>{jp(e,{get profile(){return H(n)},children:e=>{var a=G(),o=z(a),s=e=>{var a=cg();let o;var s=R(a,!0);A(a),V(()=>{o=Z(a,``,o,{color:i()}),q(s,H(n).displayName??t.senderName)}),U(`click`,a,()=>t.onOpenMind(H(r))),K(e,a)},c=e=>{var r=lg();let a;var o=R(r,!0);A(r),V(()=>{a=Z(r,``,a,{color:i()}),q(o,H(n).displayName??t.senderName)}),K(e,r)};J(o,e=>{H(r)&&t.onOpenMind?e(s):e(c,-1)}),K(e,a)},$$slots:{default:!0}})},l=e=>{var n=lg();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.senderName)}),K(e,n)};J(o,e=>{H(n)?e(s):e(l,-1)}),K(e,a)},s=e=>{var n=lg();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.role===`user`?`you`:`mind`)}),K(e,n)};J(r,e=>{t.senderName?e(a):e(s,-1)});var u=B(r,2),d=e=>{var n=ug();let r;V(e=>r=X(n,1,`typing-dot svelte-1bfejg9`,null,r,e),[()=>({iridescent:t.senderName?t.mindsByName.has(t.senderName):!1})]),K(e,n)},f=e=>{var n=dg(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>l(t.createdAt)]),K(e,n)};J(u,e=>{o()?e(d):t.createdAt&&e(f,1)}),A(n),K(e,n)},g=e=>{var n=pg(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>l(t.createdAt)]),K(e,n)};J(m,e=>{n()?e(h):t.createdAt&&e(g,1)});var _=B(m,2),v=R(_),y=e=>{var n=G();Y(z(n),17,()=>t.blocks,ti,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=mg();ui(n,()=>Al(H(t).text),!0),A(n),K(e,n)},a=e=>{let n=P(()=>`data:${H(t).media_type};base64,${H(t).data}`);var r=hg(),i=R(r);A(r),V(()=>Xi(i,`src`,H(n))),U(`click`,r,()=>I(s,H(n))),K(e,r)};J(r,e=>{H(t).type===`text`?e(i):H(t).type===`image`&&e(a,1)}),K(e,n)}),K(e,n)},b=e=>{let n=P(()=>u(t.blocks));var r=G();Y(z(r),17,()=>H(n),ti,(e,n,r)=>{var i=G(),a=z(i),o=e=>{var t=mg();ui(t,()=>Al(H(n).text),!0),A(t),K(e,t)},c=e=>{let i=P(()=>t.entryIndex*1e3+r);{let r=P(()=>H(n).tool.isError??!1),a=P(()=>t.openTools.has(H(i)));sg(e,{get name(){return H(n).tool.name},get input(){return H(n).tool.input},get output(){return H(n).tool.output},get isError(){return H(r)},get isOpen(){return H(a)},onToggle:()=>t.onToggleTool(H(i))})}},l=e=>{let t=P(()=>`data:${H(n).media_type};base64,${H(n).data}`);var r=hg(),i=R(r);A(r),V(()=>Xi(i,`src`,H(t))),U(`click`,r,()=>I(s,H(t))),K(e,r)};J(a,e=>{H(n).kind===`text`?e(o):H(n).kind===`tool`?e(c,1):H(n).kind===`image`&&e(l,2)}),K(e,i)}),K(e,r)};J(v,e=>{t.role===`user`?e(y):e(b,-1)}),A(_),A(f);var x=B(f,2),S=e=>{ng(e,{get src(){return H(s)},onClose:()=>I(s,null)})};J(x,e=>{H(s)&&e(S)}),V(()=>p=X(f,1,`entry svelte-1bfejg9`,null,p,{"new-sender":n()})),K(e,d),N()}Lr([`click`]);var vg=W(`<div class="loading-older svelte-xwfq15">Loading older messages...</div>`),yg=W(`<div class="load-more svelte-xwfq15"><button class="load-more-btn svelte-xwfq15">Load older messages</button></div>`),bg=W(`<div class="empty error svelte-xwfq15"> </div>`),xg=W(`<div class="empty svelte-xwfq15">Send a message to start chatting.</div>`),Sg=W(`<span> </span>`),Cg=W(`<div class="event-row svelte-xwfq15"></div>`),wg=W(`<div class="divider svelte-xwfq15"><div class="divider-line svelte-xwfq15"></div> <span> </span> <div class="divider-line svelte-xwfq15"></div></div>`),Tg=W(`<button class="typing-sender typing-sender-link svelte-xwfq15"> </button>`),Eg=W(`<span class="typing-sender svelte-xwfq15"> </span>`),Dg=W(`<div class="typing-entry svelte-xwfq15"><!> <span></span></div>`),Og=W(`<div class="messages svelte-xwfq15"><!> <!> <!> <!> <!></div>`);function kg(e,t){M(t,!0);let n=pa(t,`loadError`,3,``),r=pa(t,`hasMore`,3,!1),i=pa(t,`loadingOlder`,3,!1),a=pa(t,`minds`,19,()=>[]),o=pa(t,`participants`,19,()=>[]),s=pa(t,`typingNames`,19,()=>[]),c,l=F(L(new Set)),u=!0,d=P(()=>new Map(a().map(e=>[e.name,e]))),f=[`var(--blue)`,`var(--purple)`,`var(--yellow)`,`var(--red)`,`var(--accent)`],p=P(()=>{let e=new Map;for(let n of t.entries){let t=n.senderName;t&&!e.has(t)&&e.set(t,f[e.size%f.length])}return e}),m=P(()=>{let e=t.entries[t.entries.length-1];if(!e?.senderName||!s().includes(e.senderName))return-1;let n=t.entries.length-1;for(;n>0&&t.entries[n-1].senderName===e.senderName;)n--;return n}),h=P(()=>H(m)===-1?s():s().filter(e=>e!==t.entries[H(m)].senderName));function g(e){if(e===0)return!0;let n=t.entries[e-1],r=t.entries[e];return n.senderName!==r.senderName||n.senderName===`system`}function _(e){if(!e)return``;try{return new Date(Rl(e)).toLocaleDateString()}catch{return``}}function v(e){let n=t.entries[e];if(!n.createdAt)return!1;if(e===0)return!0;let r=t.entries[e-1];return _(n.createdAt)!==_(r.createdAt)}function y(e){return e.role===`user`?e.senderName?H(p).get(e.senderName)??`var(--blue)`:`var(--blue)`:e.senderName?H(p).get(e.senderName)??`var(--accent)`:`var(--accent)`}function b(e){let t=new Set(H(l));t.has(e)?t.delete(e):t.add(e),I(l,t,!0)}function x(e){let t=e||u;requestAnimationFrame(()=>{requestAnimationFrame(()=>{!c||!t||(c.scrollTop=c.scrollHeight)})})}function S(){I(l,new Set,!0)}Tn(()=>{if(!c)return;let e=new ResizeObserver(()=>{u&&(c.scrollTop=c.scrollHeight)});return e.observe(c),()=>e.disconnect()});function C(){c&&(u=c.scrollHeight-c.scrollTop-c.clientHeight<100,!(!r()||i()||!t.onLoadOlder)&&c.scrollTop<100&&t.onLoadOlder())}var w={scrollToBottom:x,resetToolState:S},T=Og(),E=R(T),ee=e=>{K(e,vg())};J(E,e=>{i()&&e(ee)});var te=B(E,2),ne=e=>{var n=yg(),r=R(n);A(n),U(`click`,r,function(...e){t.onLoadOlder?.apply(this,e)}),K(e,n)};J(te,e=>{r()&&!i()&&e(ne)});var D=B(te,2),O=e=>{var t=bg(),r=R(t,!0);A(t),V(()=>q(r,n())),K(e,t)},re=e=>{K(e,xg())};J(D,e=>{n()?e(O):t.entries.length===0&&e(re,1)});var ie=B(D,2);return Y(ie,19,()=>t.entries,e=>e.id,(e,n,r)=>{var i=G(),a=z(i),s=e=>{var t=Cg();Y(t,21,()=>H(n).blocks,ti,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Sg(),r=R(n,!0);A(n),V(()=>q(r,H(t).text)),K(e,n)};J(r,e=>{H(t).type===`text`&&e(i)}),K(e,n)}),A(t),K(e,t)},c=e=>{var t=wg(),r=B(R(t),2),i=R(r,!0);A(r),j(2),A(t),V(e=>q(i,e),[()=>H(n).blocks[0].text.slice(1,-1)]),K(e,t)},u=P(()=>H(n).senderName===`system`&&H(n).blocks.length===1&&H(n).blocks[0].type===`text`&&H(n).blocks[0].text.match(/^\[.+\]$/)),f=e=>{{let i=P(()=>g(H(r))),a=P(()=>v(H(r))),s=P(()=>y(H(n))),c=P(()=>H(r)===H(m));_g(e,{get role(){return H(n).role},get blocks(){return H(n).blocks},get senderName(){return H(n).senderName},get createdAt(){return H(n).createdAt},get showHeader(){return H(i)},get showDate(){return H(a)},get senderColor(){return H(s)},get entryIndex(){return H(r)},get openTools(){return H(l)},onToggleTool:b,get mindsByName(){return H(d)},get participants(){return o()},get onOpenMind(){return t.onOpenMind},get showTypingDot(){return H(c)}})}};J(a,e=>{H(n).role===`event`?e(s):H(u)?e(c,1):e(f,-1)}),K(e,i)}),Y(B(ie,2),16,()=>H(h),e=>e,(e,n)=>{let r=P(()=>H(d).get(n)),i=P(()=>H(r)?.displayName??o().find(e=>e.username===n)?.displayName??n),a=P(()=>H(p).get(n)??(H(r)?`var(--accent)`:`var(--blue)`));var s=Dg(),c=R(s),l=e=>{var n=Tg();let o;var s=R(n,!0);A(n),V(()=>{o=Z(n,``,o,{color:H(a)}),q(s,H(i))}),U(`click`,n,()=>t.onOpenMind?.(H(r))),K(e,n)},u=e=>{var t=Eg();let n;var r=R(t,!0);A(t),V(()=>{n=Z(t,``,n,{color:H(a)}),q(r,H(i))}),K(e,t)};J(c,e=>{H(r)?e(l):e(u,-1)});var f=B(c,2);let m;A(s),V(()=>m=X(f,1,`typing-dot svelte-xwfq15`,null,m,{iridescent:!!H(r)})),K(e,s)}),A(T),ua(T,e=>c=e,()=>c),Ir(`scroll`,T,C),K(e,T),N(w)}Lr([`click`]);var Ag=W(`<li><span class="mark svelte-8ky2s2" aria-hidden="true"> </span> <span class="label"> </span></li>`),jg=W(`Ready to sprout — the seed can run <code class="svelte-8ky2s2">volute seed sprout</code>.`,1),Mg=W(`<div><div class="header svelte-8ky2s2"><span class="title svelte-8ky2s2">Orientation</span> <span class="count svelte-8ky2s2"> </span></div> <ul class="checklist svelte-8ky2s2"></ul> <p class="hint svelte-8ky2s2"><!></p></div>`);function Ng(e,t){M(t,!0);let n=P(()=>[{label:`SOUL.md written`,done:t.checklist.soulWritten},{label:`MEMORY.md written`,done:t.checklist.memoryWritten},{label:`Display name set`,done:t.checklist.displayNameSet},...t.checklist.imagegenEnabled?[{label:`Avatar set`,done:t.checklist.avatarSet}]:[]]),r=P(()=>H(n).filter(e=>e.done).length),i=P(()=>H(r)===H(n).length);var a=Mg();let o;var s=R(a),c=B(R(s),2),l=R(c);A(c),A(s);var u=B(s,2);Y(u,21,()=>H(n),e=>e.label,(e,t)=>{var n=Ag();let r;var i=R(n),a=R(i,!0);A(i);var o=B(i,2),s=R(o,!0);A(o),A(n),V(()=>{r=X(n,1,`svelte-8ky2s2`,null,r,{done:H(t).done}),q(a,H(t).done?`✓`:`○`),q(s,H(t).label)}),K(e,n)}),A(u);var d=B(u,2),f=R(d),p=e=>{var t=jg();j(2),K(e,t)},m=e=>{K(e,Kr(`Steps the seed completes before it can sprout into a full mind.`))};J(f,e=>{H(i)?e(p):e(m,-1)}),A(d),A(a),V(()=>{o=X(a,1,`seed-progress svelte-8ky2s2`,null,o,{ready:H(i)}),q(l,`${H(r)??``}/${H(n).length??``}`)}),K(e,a),N()}var Pg=W(`<div class="orientation-bar svelte-1mfgy18">orientation</div>`),Fg=W(`<span class="channel-description svelte-1mfgy18"> </span>`),Ig=W(`<div class="channel-header svelte-1mfgy18"><div class="channel-info svelte-1mfgy18"><span class="channel-title svelte-1mfgy18"> </span> <!></div> <button class="settings-btn svelte-1mfgy18" title="Channel settings"><!></button></div>`),Lg=W(`<div class="spirit-notice svelte-1mfgy18"> </div>`),Rg=W(`<div class="chat svelte-1mfgy18"><!> <!> <!> <!> <!> <!></div> <!>`,1);function zg(e,t){M(t,!0);let n=pa(t,`convType`,3,`dm`),r=pa(t,`channelName`,3,``),i=pa(t,`minds`,19,()=>[]),a=pa(t,`participants`,19,()=>[]),o=0,s=F(L([])),c=F(``),l=F(!1),u=F(``),d=F(``),f=F(L([])),p=F(!1),m=F(!1),h=null,g=0,_,v=P(()=>n()===`dm`?i().find(e=>e.name===t.name):void 0),y=F(null),b=F(!1),x=F(!1);Tn(()=>{if(I(y,null),I(b,!1),n()!==`channel`||!r())return;let e=r();Qu(e).then(t=>{e===r()&&I(y,t.settings??null,!0)}).catch(t=>{e===r()&&(console.error(`Failed to load settings for #${e}:`,t),I(b,!0))})}),Tn(()=>{t.onTypingNames?.(H(f))});let S=new Map;function C(e){return Array.isArray(e)?e:[{type:`text`,text:String(e)}]}function w(e){return e.map(e=>({id:o++,serverId:e.id,role:e.role,blocks:C(e.content),senderName:e.sender_name??void 0,createdAt:e.created_at}))}async function T(e,t){let n=S.get(e);if(n&&!t){I(s,n.entries,!0),I(p,n.hasMore,!0);return}try{let n=await Cu(e,{limit:50});I(c,``),I(s,w(n.items),!0),I(p,n.hasMore,!0),S.set(e,{entries:H(s),hasMore:H(p)}),t&&_?.scrollToBottom(!0)}catch(e){I(c,e instanceof Error?e.message:`Failed to load messages`,!0)}}async function E(){if(!h||H(m)||!H(p))return;let e=H(s)[0]?.serverId;if(e){I(m,!0);try{let t=await Cu(h,{before:e,limit:50});if(t.items.length>0){let e=w(t.items);I(s,[...e,...H(s)],!0),I(p,t.hasMore,!0),S.set(h,{entries:H(s),hasMore:H(p)})}else I(p,!1)}catch(e){I(c,e instanceof Error?e.message:`Failed to load older messages`,!0)}I(m,!1)}}Tn(()=>{if(h=t.conversationId,clearTimeout(g),I(f,[],!0),I(u,``),I(d,``),_?.resetToolState(),!t.conversationId){I(s,[],!0),I(p,!1);return}T(t.conversationId,!0)}),Tn(()=>{if(!t.conversationId)return;let e=Sf(e=>{if(e.event===`conversation`&&e.conversationId===t.conversationId){if(e.type===`message`){if(e.role===`user`&&e.senderName===t.username)return;H(d)&&e.senderName===H(d)&&I(u,``);let n={id:o++,role:e.role,blocks:C(e.content),senderName:e.senderName??void 0,createdAt:e.createdAt};I(s,[...H(s),n],!0),h&&S.set(h,{entries:H(s),hasMore:H(p)}),_?.scrollToBottom()}else if(e.type===`typing`){let n=e.senders;I(f,n.filter(e=>e!==t.username),!0),H(f).length>0&&_?.scrollToBottom(),clearTimeout(g),H(f).length>0&&(g=window.setTimeout(()=>{I(f,H(f).filter(e=>i().some(t=>t.name===e)),!0)},15e3))}}});return()=>{e(),clearTimeout(g)}});async function ee(e,r,i){let c=[];e&&c.push({type:`text`,text:e});for(let e of r)c.push({type:`image`,media_type:e.media_type,data:e.data});for(let e of i)c.push({type:`text`,text:`[file] ${e.filename}`});I(s,[...H(s),{id:o++,role:`user`,blocks:c,senderName:t.username,createdAt:new Date().toISOString()}],!0),I(l,!0),I(u,``),_?.scrollToBottom(!0);try{let o=await Du({message:e,conversationId:h??void 0,targetMind:n()===`channel`?void 0:t.name,images:r.length>0?r:void 0,files:i.length>0?i:void 0});if(o.spirit&&o.spiritName){I(d,o.spiritName,!0);let e=a().find(e=>e.username===o.spiritName)?.displayName??o.spiritName;o.spirit===`waking`?I(u,`${e} is waking — a reply is on its way.`):o.spirit===`sleeping`?I(u,`${e} is sleeping — they'll reply when they wake.`):o.spirit===`unavailable`&&I(u,`${e} is unavailable. An admin can fix this in Settings.`)}let s=o.conversationId,c=s!==h;h=s,c&&t.onConversationId(s)}catch(e){console.error(`Failed to send message:`,e),I(s,[...H(s),{id:o++,role:`assistant`,blocks:[{type:`text`,text:`*Failed to send message. Please try again.*`}],senderName:`system`}],!0)}I(l,!1)}var te=Rg(),ne=z(te),D=R(ne),O=e=>{var n=G(),r=z(n),i=e=>{Ng(e,{get checklist(){return t.seedChecklist}})},a=e=>{K(e,Pg())};J(r,e=>{t.seedChecklist?e(i):e(a,-1)}),K(e,n)};J(D,e=>{t.stage===`seed`&&e(O)});var re=B(D,2),ie=e=>{var t=Ig(),n=R(t),i=R(n),a=R(i);A(i);var o=B(i,2),s=e=>{var t=Fg(),n=R(t,!0);A(t),V(()=>q(n,H(y).description)),K(e,t)};J(o,e=>{H(y)?.description&&e(s)}),A(n);var c=B(n,2);qa(R(c),{kind:`gear`}),A(c),A(t),V(()=>q(a,`#${r()??``}`)),U(`click`,c,()=>I(x,!0)),K(e,t)};J(re,e=>{n()===`channel`&&r()&&e(ie)});var ae=B(re,2);ua(kg(ae,{get entries(){return H(s)},get loadError(){return H(c)},get hasMore(){return H(p)},get loadingOlder(){return H(m)},onLoadOlder:E,get minds(){return i()},get participants(){return a()},get onOpenMind(){return t.onOpenMind},get typingNames(){return H(f)}}),e=>_=e,()=>_);var k=B(ae,2);ei(k,()=>H(v)?.name,e=>{{let t=P(()=>Hf.user?.role===`admin`);Gh(e,{get mind(){return H(v)},get isAdmin(){return H(t)}})}});var oe=B(k,2),se=e=>{var t=Lg(),n=R(t,!0);A(t),V(()=>q(n,H(u))),K(e,t)};J(oe,e=>{H(u)&&e(se)}),eg(B(oe,2),{get sending(){return H(l)},onSend:ee,get mindName(){return t.name},get conversationId(){return t.conversationId},get username(){return t.username}}),A(ne);var ce=B(ne,2),le=e=>{Rh(e,{get channelName(){return r()},get settings(){return H(y)},get loadFailed(){return H(b)},onClose:()=>I(x,!1),onSaved:e=>{I(y,e,!0),I(b,!1)}})};J(ce,e=>{H(x)&&e(le)}),K(e,te),N()}Lr([`click`]);var Bg=W(`<div class="not-found svelte-19lcsxc"> </div>`),Vg=W(`<iframe class="ext-iframe page-content-iframe svelte-19lcsxc" title="Page content"></iframe>`),Hg=W(`<iframe class="ext-iframe svelte-19lcsxc" title="Extension"></iframe>`),Ug=W(`<div class="section-content svelte-19lcsxc"><!></div>`),Wg=W(`<div class="mind-page svelte-19lcsxc"><!></div>`);function Gg(e,t){M(t,!0);let n=pa(t,`section`,3,`chat`),r=P(()=>qf.minds.find(e=>e.name===t.name)),i=P(()=>t.conversations?.find(e=>e.id===t.conversationId));function a(e){let n=e.target;try{let e=n.contentWindow?.location.pathname;if(!e)return;let r=e.match(/^\/ext\/pages\/public\/([^/]+)\/(.+)$/);if(!r)return;let[,i,a]=r;if(i===t.name&&a===t.subpath)return;jm(`/minds/${i}/pages/${a}`)}catch(e){e instanceof DOMException||console.error(`[pages] unexpected error in iframe nav handler:`,e)}}var o=G(),s=z(o),c=e=>{var n=Bg(),r=R(n);A(n),V(()=>q(r,`Mind "${t.name??``}" not found.`)),K(e,n)},l=e=>{var o=Wg(),s=R(o),c=e=>{let r=P(()=>n().split(`:`));var i=Ug(),o=R(i),s=e=>{var n=Vg();V(()=>Xi(n,`src`,`/ext/${H(r)[1]??``}/public/${t.name??``}/${t.subpath??``}`)),Ir(`load`,n,a),Pr(n),K(e,n)},c=e=>{var n=Hg();V(()=>Xi(n,`src`,`/ext/${H(r)[1]??``}/#/mind/${t.name??``}${t.subpath?`/`+t.subpath:``}`)),K(e,n)};J(o,e=>{t.subpath&&H(r)[1]===`pages`?e(s):e(c,-1)}),A(i),K(e,i)},l=P(()=>n()?.startsWith(`ext:`)),u=e=>{{let n=P(()=>t.conversationId??null),a=P(()=>t.onConversationId??(()=>{})),o=P(()=>t.minds??qf.minds),s=P(()=>H(i)?.participants??[]);zg(e,{get name(){return t.name},get username(){return t.username},get conversationId(){return H(n)},get onConversationId(){return H(a)},get stage(){return H(r).stage},get seedChecklist(){return H(r).seedChecklist},get minds(){return H(o)},get participants(){return H(s)},get onOpenMind(){return t.onOpenMind},get onTypingNames(){return t.onTypingNames}})}};J(s,e=>{H(l)?e(c):e(u,-1)}),A(o),K(e,o)};J(s,e=>{H(r)?e(l,-1):e(c)}),K(e,o),N()}var Kg=e=>String(e).padStart(2,`0`);function qg(e,t=new Date){if(!e)return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate(),hour:t.getHours()};let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,hour12:!1}).formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??`0`,i=parseInt(r(`hour`),10);return i===24&&(i=0),{year:parseInt(r(`year`),10),month:parseInt(r(`month`),10),day:parseInt(r(`day`),10),hour:i}}function Jg(e){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate());t.setDate(t.getDate()+4-(t.getDay()||7));let n=new Date(t.getFullYear(),0,1),r=Math.ceil(((t.getTime()-n.getTime())/864e5+1)/7);return`${t.getFullYear()}-W${Kg(r)}`}function Yg(e){let[t,n]=e.split(`-W`),r=parseInt(t,10),i=parseInt(n,10),a=new Date(r,0,4),o=a.getDay()||7,s=new Date(a);return s.setDate(a.getDate()-o+1+(i-1)*7),s}function Xg(e){return`${e.year}-${Kg(e.month)}-${Kg(e.day)}`}function Zg(e,t=new Date){let n=qg(e,t),r=Xg(n),i=new Date(n.year,n.month-1,n.day-7);return{todayKey:r,hourCutoff:`${r}T${Kg(n.hour)}`,todayHourFrom:`${r}T00`,weekCutoff:Xg({year:i.getFullYear(),month:i.getMonth()+1,day:i.getDate()}),currentMonthKey:`${n.year}-${Kg(n.month)}`,currentWeekKey:Jg(new Date(n.year,n.month-1,n.day))}}function Qg(e,t){return t.length>0?{tier:`month`,to:t[0].period_key}:e.length>0?{tier:`week`,to:e[0].period_key}:null}function $g(e,t){let n=new Set(e.map(e=>e.id)),r=t.filter(e=>!n.has(e.id));return r.length===0?{merged:e,exhausted:!0}:{merged:[...e,...r].sort((e,t)=>e.period_key.localeCompare(t.period_key)),exhausted:!1}}var e_=[1e3,2e3,5e3,1e4];function t_(e){return e_[Math.min(Math.max(e,0),e_.length-1)]}var n_=2*6e4,r_=3*6e4;function i_(e){return new Date(Rl(e)).getTime()}function a_(e,t=Date.now()){let n=i_(e);return!Number.isNaN(n)&&t-n<=n_}function o_(e,t=Date.now()){return e.filter(e=>{let n=i_(e.created_at);return Number.isNaN(n)?!0:t-n<r_})}var s_=15*6e4;function c_(e,t=Date.now()){return t-e>=s_}function l_(e,t){return t??i_(e)}function u_(e){return e.endsWith(`Z`)?e:`${e}Z`}function d_(e){return String(e).padStart(2,`0`)}function f_(e){return`${e.getFullYear()}-${d_(e.getMonth()+1)}-${d_(e.getDate())}T${d_(e.getHours())}`}function p_(e){let t=e.summary_meta?.to_time;return new Date(u_(t??e.created_at)).getTime()}function m_(e){return new Date(`${e.slice(0,10)}T${e.slice(11,13)}:00:00`).getTime()}function h_(e){let{now:t,hourSummaries:n,turnsData:r,isActive:i}=e,a=new Date(t);a.setMinutes(0,0,0);let o=a.getTime(),s=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),c=new Set(n.map(e=>e.period_key)),l=[];for(let e of n)l.push({sort:m_(e.period_key),item:{kind:`summary`,summary:e}});for(let e of r){let t=p_(e);if(i(e)){l.push({sort:Math.max(t,o),item:{kind:`turn`,turn:e}});continue}(t>=o||t>=s&&!c.has(f_(new Date(t))))&&l.push({sort:t,item:{kind:`turn`,turn:e}})}l.sort((e,t)=>e.sort-t.sort);let u=l.map(e=>e.item),d=l.findIndex(e=>e.item.kind===`turn`&&e.sort>=o);return d>0&&u.splice(d,0,{kind:`separator`,above:`earlier today`,below:`this hour`}),u}var g_={command:`Bash`,file_change:`Edit`,web_search:`WebSearch`,read:`Read`,write:`Write`,edit:`Edit`,bash:`Bash`,grep:`Grep`,glob:`Glob`};function __(e){return g_[e]??e}function v_(e){switch(__(e)){case`Bash`:return`shell`;case`Read`:case`Write`:case`Edit`:return`file`;case`Grep`:case`Glob`:return`search`;case`WebSearch`:case`WebFetch`:return`web`;default:return`generic`}}function y_(e){switch(e){case`shell`:return`var(--green)`;case`file`:return`var(--blue)`;case`search`:return`var(--yellow)`;case`web`:return`var(--purple)`;default:return`var(--text-1)`}}function b_(e){switch(e){case`shell`:return`terminal`;case`file`:return`file`;case`search`:return`search`;case`web`:return`globe`;default:return`generic-tool`}}function x_(e,t){let n=__(e),r={};try{r=JSON.parse(t)}catch{return n}switch(n){case`Bash`:return`$ ${String(r.command??``).split(`
|
|
76
|
+
`)[0]}`;case`Read`:return`Read ${r.file_path??``}`;case`Write`:return`Write ${r.file_path??``}`;case`Edit`:return`Edit ${r.file_path??``}`;case`Grep`:return`Grep "${r.pattern??``}"${r.path?` in ${r.path}`:``}`;case`Glob`:return`Glob ${r.pattern??``}`;case`WebSearch`:return`Search "${r.query??``}"`;case`WebFetch`:return`Fetch ${r.url??``}`;case`Task`:return`Task: ${r.description??``}`;default:return n}}function S_(e){let t=new Map;for(let n of e){if(n.type!==`tool_result`)continue;let e=T_(n.metadata)?.tool_use_id;typeof e==`string`&&!t.has(e)&&t.set(e,n)}let n=new Set,r=[];for(let i=0;i<e.length;i++){let a=e[i];if(a.type===`tool_use`){let o=T_(a.metadata),s=typeof o?.name==`string`?o.name:`tool`,c=__(s),l=v_(s),u=typeof o?.id==`string`?o.id:null,d=null;if(u!==null){let e=t.get(u)??null;e&&!n.has(e)&&(d=e,n.add(e))}else for(let t=i+1;t<e.length&&e[t].type!==`tool_use`;t++)if(e[t].type===`tool_result`&&!n.has(e[t])){d=e[t],n.add(e[t]);break}r.push({kind:`tool-group`,toolUse:a,toolResult:d,toolName:c,category:l})}else a.type===`tool_result`&&n.has(a)||r.push({kind:`event`,event:a})}return r}function C_(e,t){if(t.type===`tool_use`){let n=T_(t.metadata),r=typeof n?.name==`string`?n.name:`tool`;return[...e,{kind:`tool-group`,toolUse:t,toolResult:null,toolName:__(r),category:v_(r)}]}if(t.type===`tool_result`){let n=T_(t.metadata)?.tool_use_id,r=-1;if(typeof n==`string`)for(let t=0;t<e.length;t++){let i=e[t];if(!(i.kind!==`tool-group`||i.toolResult!==null)&&T_(i.toolUse.metadata)?.id===n){r=t;break}}else for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.kind===`tool-group`&&n.toolResult===null){r=t;break}}if(r===-1)return[...e,{kind:`event`,event:t}];let i=e.slice();return i[r]={...e[r],toolResult:t},i}return[...e,{kind:`event`,event:t}]}function w_(e,t,n){return n.type===`tool_result`&&typeof T_(n.metadata)?.tool_use_id!=`string`?S_(t):C_(e,n)}function T_(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function E_(e){let t=e.trigger,n=t&&!t.event?e.conversations.find(e=>e.messages.some(e=>e.source_event_id===t.eventId)):void 0,r=t?.event?e.events.find(e=>e.id===t.eventId):void 0,i=e.conversations.filter(e=>e!==n),a=e.events.filter(e=>e!==r);return{triggerConv:n,triggerEvt:r,stackConvs:i,stackEvents:a,stackCount:i.length+a.length+e.activities.length}}function D_(e){return e?+(e.conversations.length>0)+ +(e.events.length>0)+e.activities.length:0}var O_=W(`<div class="terminal-running svelte-7tn5lf">running...</div>`),k_=W(`<pre> </pre>`),A_=W(`<div class="terminal svelte-7tn5lf"><div class="terminal-cmd svelte-7tn5lf"><span class="terminal-prompt svelte-7tn5lf">$</span> </div> <!></div>`),j_=W(`<div class="section-label svelte-7tn5lf">input</div> <pre class="tool-pre svelte-7tn5lf"> </pre>`,1),M_=W(`<div class="section-label svelte-7tn5lf">output</div> <pre> </pre>`,1),N_=W(`<div class="tool-card-body svelte-7tn5lf"><!> <!></div>`),P_=W(`<span class="status-running svelte-7tn5lf">running...</span>`),F_=W(`<span class="status-error svelte-7tn5lf">error</span>`),I_=W(`<span class="inline-label svelte-7tn5lf"> <!></span>`),L_=W(`<div role="button" tabindex="0"><!></div>`);function R_(e,t){M(t,!0);let n=pa(t,`turnStatus`,3,`complete`),r=F(!1),i=P(()=>{if(!t.group.toolUse.metadata)return null;try{return JSON.parse(t.group.toolUse.metadata)}catch{return null}}),a=P(()=>{if(!t.group.toolResult?.metadata)return null;try{return JSON.parse(t.group.toolResult.metadata)}catch{return null}}),o=P(()=>!!H(a)?.is_error),s=P(()=>!t.group.toolResult&&n()===`active`),c=P(()=>x_(H(i)?.name??`tool`,t.group.toolUse.content)),l=P(()=>y_(t.group.category)),u=P(()=>{if(t.group.category!==`shell`)return``;try{let e=JSON.parse(t.group.toolUse.content);return String(e.command??``)}catch{return t.group.toolUse.content??``}});function d(e){return e?e.replace(/\[volute:[^\]]*\]\s*/g,``):``}function f(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}var p=L_();let m,h;var g=R(p),_=e=>{var n=G(),r=z(n),i=e=>{var n=A_(),r=R(n),i=B(R(r));A(r);var a=B(r,2),c=e=>{K(e,O_())},l=e=>{var n=k_();let r;var i=R(n,!0);A(n),V(e=>{r=X(n,1,`terminal-output svelte-7tn5lf`,null,r,{error:H(o)}),q(i,e)},[()=>d(t.group.toolResult.content)]),K(e,n)};J(a,e=>{H(s)?e(c):t.group.toolResult&&e(l,1)}),A(n),V(()=>q(i,` ${H(u)??``}`)),K(e,n)},a=e=>{var n=N_(),r=R(n),i=e=>{var n=j_(),r=B(z(n),2),i=R(r,!0);A(r),V(e=>q(i,e),[()=>f(t.group.toolUse.content)]),K(e,n)};J(r,e=>{t.group.toolUse.content&&e(i)});var a=B(r,2),c=e=>{K(e,O_())},l=e=>{var n=M_(),r=B(z(n),2);let i;var a=R(r,!0);A(r),V(e=>{i=X(r,1,`tool-pre tool-output svelte-7tn5lf`,null,i,{error:H(o)}),q(a,e)},[()=>d(t.group.toolResult.content)]),K(e,n)};J(a,e=>{H(s)?e(c):t.group.toolResult&&e(l,1)}),A(n),K(e,n)};J(r,e=>{t.group.category===`shell`?e(i):e(a,-1)}),K(e,n)},v=e=>{var t=I_(),n=R(t),r=B(n),i=e=>{K(e,P_())},a=e=>{K(e,F_())};J(r,e=>{H(s)?e(i):H(o)&&e(a,1)}),A(t),V(()=>q(n,`${H(c)??``} `)),K(e,t)};J(g,e=>{H(r)?e(_):e(v,-1)}),A(p),V(()=>{m=X(p,1,`tool-group svelte-7tn5lf`,null,m,{expanded:H(r)}),h=Z(p,``,h,{"--cat-color":H(l)})}),U(`click`,p,()=>{I(r,!H(r))}),U(`keydown`,p,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),I(r,!H(r)))}),K(e,p),N()}Lr([`click`,`keydown`]);var z_=new Set([`inbound`,`event`]);function B_(e){return e.find(e=>z_.has(e.type))?.type===`event`}var V_=W(`<div class="marker marker-icon svelte-1rz13hb"><!></div>`),H_=W(`<div class="marker svelte-1rz13hb"></div>`),U_=W(`<div class="turn-connector svelte-1rz13hb"></div>`),W_=W(`<span class="time svelte-1rz13hb"> </span>`),G_=W(`<div class="summary-header svelte-1rz13hb"><div class="summary-header-line svelte-1rz13hb"><!> <button><!></button></div></div>`),K_=W(`<div class="turn-loading svelte-1rz13hb">loading turn...</div>`),q_=W(`<div class="turn-loading svelte-1rz13hb"> </div>`),J_=W(`<div class="event svelte-1rz13hb"><div class="marker marker-icon svelte-1rz13hb"><!></div> <!></div>`),Y_=W(`<div class="turn-branch svelte-1rz13hb" role="presentation"><!> <button class="branch-summary svelte-1rz13hb"><div class="marker marker-icon branch-summary-marker svelte-1rz13hb"><!></div> <span class="summary-text svelte-1rz13hb"> </span></button> <div class="branch-return svelte-1rz13hb"></div></div>`),X_=W(`<span class="summary-text svelte-1rz13hb"> </span>`),Z_=W(`<!> <div class="event-body svelte-1rz13hb"><!></div>`,1),Q_=W(`<div class="card-wrap svelte-1rz13hb"><!></div>`),$_=W(`<span class="inline-text inline-preview svelte-1rz13hb"> </span>`),ev=W(`<span class="inline-text inline-text-event inline-preview svelte-1rz13hb"><span class="inline-event-label svelte-1rz13hb"> </span> </span>`),tv=W(`<span class="inline-channel svelte-1rz13hb"> </span> `,1),nv=W(`<span class="inline-text inline-text-chat inline-preview svelte-1rz13hb"><!><span> </span> </span>`),rv=W(`<div class="reflection-label svelte-1rz13hb">reflection · private</div>`),iv=W(`<!> <div><div class="markdown-body"></div></div>`,1),av=W(`<span> <!></span>`),ov=W(`<span> </span>`),sv=W(`<span class="inline-text dim svelte-1rz13hb"> <!></span>`),cv=W(`<span class="inline-text dim svelte-1rz13hb">session started<!></span>`),lv=W(`<span class="inline-text dim svelte-1rz13hb">processing complete</span>`),uv=W(`<div class="event-body svelte-1rz13hb"><!></div>`),dv=W(`<div role="button" tabindex="0"><!> <!> <!></div>`);function fv(e,t){M(t,!0);let n=pa(t,`expandable`,3,!1),r=pa(t,`reflection`,3,!1),i=F(!1),a=F(!1),o=F(!1),s=F(``),c=F(L([])),l=F(L([])),u=F(!1),d=F(!1),f={inbound:`var(--blue)`,outbound:`var(--red)`,event:`var(--purple)`,text:`var(--text-1)`,tool_use:`var(--yellow)`,tool_result:`var(--yellow)`,thinking:`var(--text-2)`,usage:`var(--purple)`,log:`var(--text-2)`,session_start:`var(--accent)`,done:`var(--text-2)`,summary:`var(--text-0)`,activity:`var(--yellow)`},p=P(()=>f[t.event.type]??`var(--text-2)`),m=P(()=>{if(!t.event.metadata)return null;try{return JSON.parse(t.event.metadata)}catch{return null}}),h=P(()=>wh(H(m),t.event.channel)),g=P(()=>Th(t.event,H(m),t.mindName)),_=P(()=>t.event.type===`inbound`||t.event.type===`outbound`||t.event.type===`event`||t.event.type===`activity`||t.event.type===`text`||t.event.type===`thinking`||t.event.type===`tool_use`||t.event.type===`tool_result`||t.event.type===`summary`&&n()||!!t.event.content),v=P(()=>{let e=b(t.event.created_at),n=t.event.type;return n===`tool_use`||n===`tool_result`?`${e} · ${H(m)?.name??`tool`}`:n===`inbound`||n===`outbound`?`${e} · ${n}${t.event.channel?` · ${t.event.channel}`:``}`:n===`event`?`${e} · system event · ${H(h)}`:n===`activity`?`${e} · ${H(m)?.type??`activity`}`:`${e} · ${n}`});function y(e){let t;for(let n of e)n.type===`text`&&(t=n.id);return t}function b(e){return new Date(Rl(e)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function x(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}let S=F(void 0);async function C(){if(t.event.type===`summary`&&n()){if(I(a,!H(a)),H(a)&&H(c).length===0){let e=!!t.event.turn_id,n=t.event.thread&&H(m)?.from_id&&H(m)?.to_id;if(!e&&!n){I(s,`Missing turn data`);return}I(o,!0),I(s,``);try{I(c,await Au(t.mindName,e?{turnId:t.event.turn_id}:{session:t.event.thread,fromId:H(m).from_id,toId:H(m).to_id}),!0)}catch(e){I(s,`Failed to load turn details`),console.warn(`Failed to fetch turn events:`,e)}finally{I(o,!1)}}H(a)&&(await _r(),H(S)?.scrollIntoView({behavior:`smooth`,block:`start`})),t.onexpand?.(H(a),H(S))}else H(_)&&I(i,!H(i))}var w=dv();let T,E;var ee=R(w),te=e=>{var t=V_();Z(t,``,{},{color:`var(--blue)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ne=e=>{var t=V_();Z(t,``,{},{color:`var(--red)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},D=e=>{var t=V_();Z(t,``,{},{color:`var(--purple)`}),qa(R(t),{kind:`gear`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},O=e=>{var t=V_();Z(t,``,{},{color:`var(--text-1)`}),qa(R(t),{kind:`text`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},re=e=>{var t=V_();Z(t,``,{},{color:`var(--text-2)`}),qa(R(t),{kind:`thinking`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ie=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.name==`string`?H(t).name:`tool`),r=P(()=>v_(H(n)));var i=V_();let a;var o=R(i);{let e=P(()=>b_(H(r)));qa(o,{get kind(){return H(e)}})}A(i),Si(i,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(e=>a=Z(i,``,a,e),[()=>({color:y_(H(r))})]),K(e,i)},ae=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.color==`string`?`var(--${H(t).color})`:`var(--yellow)`);var r=V_();let i;var a=R(r),o=e=>{var n=G();ui(z(n),()=>Pl(H(t).icon)),K(e,n)},s=e=>{qa(e,{kind:`document-lines`})};J(a,e=>{typeof H(t)?.icon==`string`?e(o):e(s,-1)}),A(r),Si(r,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>i=Z(r,``,i,{color:H(n)})),K(e,r)},k=e=>{var t=H_();let n;Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>n=Z(t,``,n,{background:H(p)})),K(e,t)};J(ee,e=>{t.event.type===`inbound`?e(te):t.event.type===`outbound`?e(ne,1):t.event.type===`event`?e(D,2):t.event.type===`text`?e(O,3):t.event.type===`thinking`?e(re,4):t.event.type===`tool_use`||t.event.type===`tool_result`?e(ie,5):t.event.type===`activity`?e(ae,6):e(k,-1)});var oe=B(ee,2),se=e=>{K(e,U_())};J(oe,e=>{t.event.type===`summary`&&H(a)&&e(se)});var ce=B(oe,2),le=e=>{var r=Z_(),i=z(r),f=e=>{var n=G_(),r=R(n),i=R(r),a=e=>{var t=W_(),n=R(t);A(t),V((e,t)=>q(n,`${e??``} – ${t??``}`),[()=>b(H(m).from_time),()=>b(H(m).to_time)]),K(e,t)},o=e=>{var n=W_(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>b(t.event.created_at)]),K(e,n)};J(i,e=>{H(m)?.from_time&&H(m)?.to_time?e(a):e(o,-1)});var s=B(i,2);let c;var f=R(s),p=e=>{K(e,Kr(`…`))},h=e=>{qa(e,{kind:`search`})};J(f,e=>{H(d)?e(p):e(h,-1)}),A(s),Si(s,(e,t)=>Il?.(e,t),()=>({text:H(u)?`show grouped`:`show all events`,position:`bottom`})),A(r),A(n),V(()=>c=X(s,1,`detail-toggle svelte-1rz13hb`,null,c,{"detail-active":H(u)})),U(`click`,s,async e=>{if(e.stopPropagation(),!H(u)&&H(l).length===0){I(d,!0);try{let e=!!t.event.turn_id,n=t.event.thread&&H(m)?.from_id&&H(m)?.to_id;(e||n)&&I(l,await Au(t.mindName,e?{turnId:t.event.turn_id,detail:!0}:{session:t.event.thread,fromId:H(m).from_id,toId:H(m).to_id,detail:!0}),!0)}catch(e){console.warn(`Failed to fetch detail events:`,e)}finally{I(d,!1)}}I(u,!H(u))}),K(e,n)};J(i,e=>{H(a)&&e(f)});var p=B(i,2),h=R(p),g=e=>{var n=Y_(),r=R(n),i=e=>{K(e,K_())},d=e=>{var t=q_(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},f=e=>{let n=P(()=>B_(H(l))),r=P(()=>y(H(l)));var i=G();Y(z(i),17,()=>H(l).filter(e=>e.type!==`summary`),e=>e.id,(e,i)=>{{let a=P(()=>H(n)&&H(i).id===H(r));fv(e,{get event(){return H(i)},get mindName(){return t.mindName},get reflection(){return H(a)}})}}),K(e,i)},p=e=>{let n=P(()=>S_(H(c))),r=P(()=>B_(H(c))),i=P(()=>y(H(c)));var a=G();Y(z(a),17,()=>H(n),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,n)=>{var a=G(),o=z(a),s=e=>{let r=P(()=>y_(H(n).category)),i=P(()=>b_(H(n).category)),a=P(()=>`${b(H(n).toolUse.created_at)} · ${H(n).toolName}`);var o=J_();let s;var c=R(o);let l;qa(R(c),{get kind(){return H(i)}}),A(c),Si(c,(e,t)=>Il?.(e,t),()=>({text:H(a),position:`left`})),R_(B(c,2),{get group(){return H(n)},get mindName(){return t.mindName},turnStatus:`complete`}),A(o),V(()=>{s=Z(o,``,s,{"--type-color":H(r)}),l=Z(c,``,l,{color:H(r)})}),K(e,o)},c=e=>{{let a=P(()=>H(r)&&H(n).event.id===H(i));fv(e,{get event(){return H(n).event},get mindName(){return t.mindName},get reflection(){return H(a)}})}};J(o,e=>{H(n).kind===`tool-group`?e(s):e(c,-1)}),K(e,a)}),K(e,a)};J(r,e=>{H(o)?e(i):H(s)?e(d,1):H(u)?e(f,2):e(p,-1)});var m=B(r,2),h=R(m);Z(h,``,{},{color:`var(--text-0)`}),qa(R(h),{kind:`spiral`}),A(h);var g=B(h,2),_=R(g,!0);A(g),A(m),j(2),A(n),V(()=>q(_,t.event.content)),U(`click`,n,e=>e.stopPropagation()),U(`keydown`,n,e=>e.stopPropagation()),U(`click`,m,()=>{I(a,!1)}),K(e,n)},_=e=>{var n=X_(),r=R(n,!0);A(n),V(()=>q(r,t.event.content)),K(e,n)};J(h,e=>{n()&&H(a)?e(g):e(_,-1)}),A(p),K(e,r)},ue=e=>{let n=P(()=>H(g));var r=G(),a=z(r),o=e=>{var r=Q_(),a=R(r);{let e=P(()=>b(t.event.created_at)),r=P(()=>H(n).url?()=>jm(H(n).url):void 0);hh(a,{get title(){return H(n).title},get color(){return H(n).color},get icon(){return H(n).icon},get iconKind(){return H(n).iconKind},get meta(){return H(n).meta},get time(){return H(e)},get body(){return H(n).body},get onclick(){return H(r)},oncollapse:()=>I(i,!1)})}A(r),K(e,r)},s=e=>{var r=$_();let i;var a=R(r,!0);A(r),V(()=>{i=Z(r,``,i,{color:`var(--${H(n).color??``})`}),q(a,t.event.content)}),K(e,r)},c=e=>{var n=ev(),r=R(n),i=R(r,!0);A(r);var a=B(r);A(n),V(()=>{q(i,H(h)),q(a,` ${t.event.content??``}`)}),K(e,n)},l=e=>{var n=nv(),r=R(n),i=e=>{var n=tv(),r=z(n),i=R(r);A(r);var a=B(r,1,!0);a.nodeValue=` `,V(()=>q(i,`[${t.event.channel??``}]`)),K(e,n)};J(r,e=>{t.event.channel&&e(i)});var a=B(r);let o;var s=R(a);A(a);var c=B(a);A(n),V(()=>{o=X(a,1,`inline-sender svelte-1rz13hb`,null,o,{"inline-sender-user":t.event.type===`inbound`,"inline-sender-mind":t.event.type===`outbound`}),q(s,`${(t.event.type===`inbound`?t.event.sender??`user`:t.mindName)??``}:`),q(c,` ${t.event.content??``}`)}),K(e,n)};J(a,e=>{H(i)?e(o):t.event.type===`activity`?e(s,1):t.event.type===`event`?e(c,2):e(l,-1)}),K(e,r)},de=e=>{var n=uv(),a=R(n),o=e=>{var n=iv(),a=z(n),o=e=>{K(e,rv())};J(a,e=>{r()&&e(o)});var s=B(a,2);let c;var l=R(s);ui(l,()=>Al(t.event.content),!0),A(l),A(s),V(()=>c=X(s,1,`inline-text dim svelte-1rz13hb`,null,c,{"inline-text-expanded":H(i)})),K(e,n)},s=e=>{var n=av();let r;var a=R(n,!0),o=B(a),s=e=>{var n=Kr();V(e=>q(n,`
|
|
77
|
+
${e??``}`),[()=>x(t.event.content)]),K(e,n)};J(o,e=>{H(i)&&t.event.content&&e(s)}),A(n),V(e=>{r=X(n,1,`inline-text svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)}),q(a,e)},[()=>x_(H(m)?.name??`tool`,t.event.content)]),K(e,n)},c=e=>{var n=ov();let r;var a=R(n,!0);A(n),V(()=>{r=X(n,1,`inline-text svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i),error:H(m)?.is_error}),q(a,t.event.content)}),K(e,n)},l=e=>{var n=ov();let r;var a=R(n,!0);A(n),V(()=>{r=X(n,1,`inline-text dim svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)}),q(a,t.event.content)}),K(e,n)},u=e=>{var t=sv(),n=R(t),r=B(n),i=e=>{var t=Kr();V(()=>q(t,H(m).model)),K(e,t)};J(r,e=>{H(m)?.model&&e(i)}),A(t),V(()=>q(n,`↑${H(m)?.input_tokens??0??``} ↓${H(m)?.output_tokens??0??``}`)),K(e,t)},d=e=>{var n=cv(),r=B(R(n)),i=e=>{var n=Kr();V(()=>q(n,t.event.thread)),K(e,n)};J(r,e=>{t.event.thread&&e(i)}),A(n),K(e,n)},f=e=>{K(e,lv())},p=e=>{var n=sv(),r=R(n,!0),i=B(r),a=e=>{var n=Kr();V(()=>q(n,t.event.content)),K(e,n)};J(i,e=>{t.event.content&&e(a)}),A(n),V(()=>q(r,t.event.type)),K(e,n)};J(a,e=>{t.event.type===`text`?e(o):t.event.type===`tool_use`?e(s,1):t.event.type===`tool_result`?e(c,2):t.event.type===`thinking`?e(l,3):t.event.type===`usage`?e(u,4):t.event.type===`session_start`?e(d,5):t.event.type===`done`?e(f,6):e(p,-1)}),A(n),K(e,n)};J(ce,e=>{t.event.type===`summary`?e(le):H(g)?e(ue,1):e(de,-1)}),A(w),ua(w,e=>I(S,e),()=>H(S)),V(()=>{T=X(w,1,`event svelte-1rz13hb`,null,T,{collapsible:H(_),"expandable-summary":t.event.type===`summary`&&n(),"turn-expanded":t.event.type===`summary`&&H(a)}),E=Z(w,``,E,{"--type-color":H(p)})}),U(`click`,w,C),U(`keydown`,w,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())}),K(e,w),N()}Lr([`click`,`keydown`]);var pv=W(`<span class="peek-msg-md markdown-body svelte-1ly6iad"></span>`),mv=W(`<span> </span>`),hv=W(`<div class="peek-msg svelte-1ly6iad"><span> </span> <!></div>`),gv=W(`<div class="peek-msgs svelte-1ly6iad"></div>`),_v=W(`<div class="peek-popover svelte-1ly6iad"><!></div>`),vv=W(`<div class="peek-popover svelte-1ly6iad" role="button" tabindex="0"><!></div>`),yv=W(`<div class="peek-anchor rail-trigger svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View trigger"><!></button> <!></div>`),bv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View conversation"><!></button> <div class="peek-popover svelte-1ly6iad" role="button" tabindex="0"><!></div></div>`),xv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View system event"><!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Sv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View activity"><!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Cv=W(`<div><!> <!> <!></div>`),wv=W(`<!> <!>`,1),Tv=W(`<span class="peek-count svelte-1ly6iad"> </span>`),Ev=W(`<button class="peek-list-item peek-list-link svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <span class="peek-list-count svelte-1ly6iad"> </span></button>`),Dv=W(`<div class="peek-list-item svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <span class="peek-list-count svelte-1ly6iad"> </span></div>`),Ov=W(`<div class="peek-list svelte-1ly6iad"></div>`),kv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View conversations"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Av=W(`<span class="peek-list-count svelte-1ly6iad"> </span>`),jv=W(`<div class="peek-list-item svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <!></div>`),Mv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View system events"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Nv=W(`<button class="peek-list-item peek-list-link svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <!></button>`),Pv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View activities"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`);function Fv(e,t){M(t,!0);let n=(e,n=f)=>{{let r=P(()=>`${n().messages.length} msg${n().messages.length===1?``:`s`}`);hh(e,{get title(){return n().label},color:`blue`,iconKind:`chat`,get meta(){return H(r)},children:(e,r)=>{var i=gv();Y(i,21,()=>n().messages.slice(-5),e=>e.id,(e,n)=>{var r=hv(),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=e=>{var t=pv();ui(t,()=>Al(pm(H(n).content)),!0),A(t),K(e,t)},l=e=>{var t=mv(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>pm(H(n).content)]),K(e,t)};J(s,e=>{H(n).role===`assistant`?e(c):e(l,-1)}),A(r),V(()=>{a=X(i,1,`peek-msg-sender svelte-1ly6iad`,null,a,{"peek-msg-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?`user`:t.mind))}),K(e,r)}),A(i),K(e,i)},$$slots:{default:!0}})}},r=pa(t,`condensed`,3,!1),i=pa(t,`showStack`,3,!0),a=P(()=>t.turn?E_(t.turn):void 0),o=new Gl;function s(e){o.add(e)}var c=G(),l=z(c),u=e=>{var c=wv(),l=z(c),u=e=>{let r=P(()=>t.turn.trigger),i=P(()=>H(a).triggerEvt),c=P(()=>H(a).triggerConv);var l=yv(),u=R(l);let d;var f=R(u);{let e=P(()=>H(r).event?`gear`:`chat`);qa(f,{get kind(){return H(e)}})}A(u);var p=B(u,2),m=e=>{var t=_v(),n=R(t),a=e=>{{let t=P(()=>({kind:`text`,text:H(i)?.content??H(r).content??``}));hh(e,{get title(){return H(r).event.label},color:`purple`,iconKind:`gear`,meta:`system event`,get body(){return H(t)}})}},s=P(()=>o.has(`trigger`));J(n,e=>{H(s)&&e(a)}),A(t),K(e,t)},h=e=>{let r=P(()=>H(c));var i=vv(),a=R(i),s=e=>{n(e,()=>H(r))},l=P(()=>o.has(`trigger`));J(a,e=>{H(l)&&e(s)}),A(i),U(`click`,i,e=>{e.stopPropagation(),t.onopenconversation?.(H(r))}),U(`keydown`,i,e=>{e.key===`Enter`&&(e.stopPropagation(),t.onopenconversation?.(H(r)))}),K(e,i)},g=e=>{var t=_v(),n=R(t),i=e=>{{let t=P(()=>H(r).channel||`message`),n=P(()=>H(r).sender??void 0),i=P(()=>({kind:`text`,text:H(r).content??``}));hh(e,{get title(){return H(t)},color:`blue`,iconKind:`chat`,get meta(){return H(n)},get body(){return H(i)}})}},a=P(()=>o.has(`trigger`));J(n,e=>{H(a)&&e(i)}),A(t),K(e,t)};J(p,e=>{H(r).event?e(m):H(c)?e(h,1):e(g,-1)}),A(l),V(()=>d=Z(u,``,d,{color:H(r).event?`var(--purple)`:`var(--blue)`})),Ir(`mouseenter`,u,()=>s(`trigger`)),Ir(`focus`,u,()=>s(`trigger`)),K(e,l)};J(l,e=>{t.turn.trigger&&e(u)});var d=B(l,2),f=e=>{var i=Cv();let c;var l=R(i);Y(l,17,()=>H(a).stackConvs,e=>e.id,(e,r)=>{let i=P(()=>`conv:${H(r).id}`);var a=bv(),c=R(a);qa(R(c),{kind:`chat`}),A(c);var l=B(c,2),u=R(l),d=e=>{n(e,()=>H(r))},f=P(()=>o.has(H(i)));J(u,e=>{H(f)&&e(d)}),A(l),A(a),Ir(`mouseenter`,c,()=>s(H(i))),Ir(`focus`,c,()=>s(H(i))),U(`click`,c,e=>e.stopPropagation()),U(`click`,l,e=>{e.stopPropagation(),t.onopenconversation?.(H(r))}),U(`keydown`,l,e=>{e.key===`Enter`&&(e.stopPropagation(),t.onopenconversation?.(H(r)))}),K(e,a)});var u=B(l,2);Y(u,17,()=>H(a).stackEvents,e=>e.id,(e,t)=>{let n=P(()=>`event:${H(t).id}`);var r=xv(),i=R(r);Z(i,``,{},{color:`var(--purple)`}),qa(R(i),{kind:`gear`}),A(i);var a=B(i,2),c=R(a),l=e=>{{let n=P(()=>({kind:`text`,text:H(t).content??``}));hh(e,{get title(){return H(t).label},color:`purple`,iconKind:`gear`,meta:`system event`,get body(){return H(n)}})}},u=P(()=>o.has(H(n)));J(c,e=>{H(u)&&e(l)}),A(a),A(r),Ir(`mouseenter`,i,()=>s(H(n))),Ir(`focus`,i,()=>s(H(n))),U(`click`,i,e=>e.stopPropagation()),K(e,r)}),Y(B(u,2),17,()=>t.turn.activities,e=>e.id,(e,n)=>{let r=P(()=>`act:${H(n).id}`),i=P(()=>Ch(H(n).metadata)),a=P(()=>typeof H(n).metadata?.icon==`string`?Pl(H(n).metadata.icon):``),c=P(()=>_h(H(n).metadata,t.mind));var l=Sv(),u=R(l);let d;var f=R(u),p=e=>{var t=G();ui(z(t),()=>H(a)),K(e,t)},m=e=>{qa(e,{kind:`document-lines`})};J(f,e=>{H(a)?e(p):e(m,-1)}),A(u);var h=B(u,2),g=R(h),_=e=>{{let t=P(()=>typeof H(n).metadata?.icon==`string`?H(n).metadata.icon:void 0),r=P(()=>typeof H(n).metadata?.icon==`string`?void 0:`document-lines`),a=P(()=>gh(H(n).metadata));hh(e,{get title(){return H(n).summary},get color(){return H(i)},get icon(){return H(t)},get iconKind(){return H(r)},get body(){return H(a)}})}},v=P(()=>o.has(H(r)));J(g,e=>{H(v)&&e(_)}),A(h),A(l),V(()=>d=Z(u,``,d,{color:`var(--${H(i)??``})`})),Ir(`mouseenter`,u,()=>s(H(r))),Ir(`focus`,u,()=>s(H(r))),U(`click`,u,e=>{e.stopPropagation(),H(c)&&jm(H(c))}),K(e,l)}),A(i),V(()=>c=X(i,1,`rail-stack svelte-1ly6iad`,null,c,{condensed:r()})),K(e,i)};J(d,e=>{i()&&H(a).stackCount>0&&e(f)}),K(e,c)},d=e=>{var n=Cv();let i;var a=R(n),c=e=>{let n=P(()=>t.groups.conversations.reduce((e,t)=>e+t.count,0));var r=kv(),i=R(r),a=R(i);qa(a,{kind:`chat`});var c=B(a,2),l=e=>{var n=Tv(),r=R(n,!0);A(n),V(()=>q(r,t.groups.conversations.length)),K(e,n)};J(c,e=>{t.groups.conversations.length>1&&e(l)}),A(i);var u=B(i,2),d=R(u),f=e=>{{let r=P(()=>t.groups.conversations.length===1?t.groups.conversations[0].label:`conversations`),i=P(()=>`${H(n)} msg${H(n)===1?``:`s`}`);hh(e,{get title(){return H(r)},color:`blue`,iconKind:`chat`,get meta(){return H(i)},children:(e,n)=>{var r=Ov();Y(r,21,()=>t.groups.conversations,e=>e.id,(e,n)=>{var r=G(),i=z(r),a=e=>{var r=Ev(),i=R(r),a=R(i,!0);A(i);var o=B(i,2),s=R(o);A(o),A(r),V(()=>{q(a,H(n).label),q(s,`${H(n).count??``} msg${H(n).count===1?``:`s`}`)}),U(`click`,r,()=>t.onopenconversation?.(H(n))),K(e,r)},o=P(()=>yh(H(n).id)),s=e=>{var t=Dv(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=R(a);A(a),A(t),V(()=>{q(i,H(n).label),q(o,`${H(n).count??``} msg${H(n).count===1?``:`s`}`)}),K(e,t)};J(i,e=>{H(o)?e(a):e(s,-1)}),K(e,r)}),A(r),K(e,r)},$$slots:{default:!0}})}},p=P(()=>o.has(`convs`));J(d,e=>{H(p)&&e(f)}),A(u),A(r),Ir(`mouseenter`,i,()=>s(`convs`)),Ir(`focus`,i,()=>s(`convs`)),K(e,r)};J(a,e=>{t.groups.conversations.length>0&&e(c)});var l=B(a,2),u=e=>{let n=P(()=>t.groups.events.reduce((e,t)=>e+t.count,0));var r=Mv(),i=R(r);Z(i,``,{},{color:`var(--purple)`});var a=R(i);qa(a,{kind:`gear`});var c=B(a,2),l=e=>{var t=Tv(),r=R(t,!0);A(t),V(()=>q(r,H(n))),K(e,t)};J(c,e=>{H(n)>1&&e(l)}),A(i);var u=B(i,2),d=R(u),f=e=>{{let r=P(()=>`${H(n)} event${H(n)===1?``:`s`}`);hh(e,{title:`system events`,color:`purple`,iconKind:`gear`,get meta(){return H(r)},children:(e,n)=>{var r=Ov();Y(r,21,()=>t.groups.events,e=>e.label,(e,t)=>{var n=jv(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{var n=Av(),r=R(n);A(n),V(()=>q(r,`×${H(t).count??``}`)),K(e,n)};J(a,e=>{H(t).count>1&&e(o)}),A(n),V(()=>q(i,H(t).label)),K(e,n)}),A(r),K(e,r)},$$slots:{default:!0}})}},p=P(()=>o.has(`events`));J(d,e=>{H(p)&&e(f)}),A(u),A(r),Ir(`mouseenter`,i,()=>s(`events`)),Ir(`focus`,i,()=>s(`events`)),K(e,r)};J(l,e=>{t.groups.events.length>0&&e(u)}),Y(B(l,2),17,()=>t.groups.activities,e=>e.type,(e,n)=>{let r=P(()=>`group:${H(n).type}`),i=P(()=>xh(H(n).type)),a=P(()=>H(n).color??H(i)?.color??`yellow`),c=P(()=>H(n).icon??H(i)?.icon),l=P(()=>H(c)?Pl(H(c)):``);var u=Pv(),d=R(u);let f;var p=R(d),m=e=>{var t=G();ui(z(t),()=>H(l)),K(e,t)},h=e=>{qa(e,{kind:`document-lines`})};J(p,e=>{H(l)?e(m):e(h,-1)});var g=B(p,2),_=e=>{var t=Tv(),r=R(t,!0);A(t),V(()=>q(r,H(n).count)),K(e,t)};J(g,e=>{H(n).count>1&&e(_)}),A(d);var v=B(d,2),y=R(v),b=e=>{{let r=P(()=>Sh(H(n).type)),i=P(()=>H(c)?void 0:`document-lines`),o=P(()=>H(n).count>H(n).items.length?`${H(n).items.length} of ${H(n).count}`:`×${H(n).count}`);hh(e,{get title(){return H(r)},get color(){return H(a)},get icon(){return H(c)},get iconKind(){return H(i)},get meta(){return H(o)},children:(e,r)=>{var i=Ov();Y(i,21,()=>H(n).items,e=>e.id,(e,n)=>{let r=P(()=>_h(H(n).metadata,t.mind));var i=G(),a=z(i),o=e=>{var t=Nv(),i=R(t),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var t=Av(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created_at)]),K(e,t)};J(o,e=>{H(n).created_at&&e(s)}),A(t),V(()=>q(a,H(n).summary)),U(`click`,t,()=>jm(H(r))),K(e,t)},s=e=>{var t=jv(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=e=>{var t=Av(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created_at)]),K(e,t)};J(a,e=>{H(n).created_at&&e(o)}),A(t),V(()=>q(i,H(n).summary)),K(e,t)};J(a,e=>{H(r)?e(o):e(s,-1)}),K(e,i)}),A(i),K(e,i)},$$slots:{default:!0}})}},x=P(()=>o.has(H(r)));J(y,e=>{H(x)&&e(b)}),A(v),A(u),V(()=>f=Z(d,``,f,{color:`var(--${H(a)??``})`})),Ir(`mouseenter`,d,()=>s(H(r))),Ir(`focus`,d,()=>s(H(r))),K(e,u)}),A(n),V(()=>i=X(n,1,`rail-stack svelte-1ly6iad`,null,i,{condensed:r()})),U(`click`,n,e=>e.stopPropagation()),K(e,n)};J(l,e=>{t.turn&&H(a)?e(u):t.groups&&i()&&(t.groups.conversations.length>0||t.groups.events.length>0||t.groups.activities.length>0)&&e(d,1)}),K(e,c),N()}Lr([`click`,`keydown`]);var Iv=W(`<div class="branch-rail-hit svelte-1wz37xo"></div>`),Lv=W(`<div class="branch-header svelte-1wz37xo"><!></div>`),Rv=W(`<div class="branch-footer svelte-1wz37xo"><!></div>`),zv=W(`<div class="tb-return svelte-1wz37xo"></div>`),Bv=W(`<div class="branch-wrapper svelte-1wz37xo"><div></div> <!> <div class="branch-content svelte-1wz37xo"><!> <!> <!> <!></div></div>`);function Vv(e,t){let n=pa(t,`gap`,3,16),r=pa(t,`reach`,3,10),i=pa(t,`railTop`,3,15),a=pa(t,`noReturn`,3,!1),o=pa(t,`dashed`,3,!1);var s=Bv();let c;var l=R(s);let u;var d=B(l,2),f=e=>{var n=Iv();U(`click`,n,function(...e){t.onrailclick?.apply(this,e)}),K(e,n)};J(d,e=>{o()&&e(f)});var p=B(d,2),m=R(p),h=e=>{var n=Lv();di(R(n),()=>t.header),A(n),U(`click`,n,function(...e){t.onheaderclick?.apply(this,e)}),K(e,n)};J(m,e=>{t.header&&e(h)});var g=B(m,2);di(g,()=>t.children);var _=B(g,2),v=e=>{var n=Rv();di(R(n),()=>t.footer),A(n),U(`click`,n,function(...e){t.onfooterclick?.apply(this,e)}),K(e,n)};J(_,e=>{t.footer&&e(v)});var y=B(_,2),b=e=>{K(e,zv())};J(y,e=>{a()||e(b)}),A(p),A(s),V(()=>{c=Z(s,``,c,{"--branch-gap":`${n()??``}px`,"--branch-reach":`${r()??``}px`,"--rail-top":`${i()??``}px`}),u=X(l,1,`branch-connector svelte-1wz37xo`,null,u,{"branch-connector-dashed":o()})}),K(e,s)}Lr([`click`]);var Hv=W(`<div class="summary-expand-header svelte-j3zn9j"><span class="active-turn-time svelte-j3zn9j"> </span></div>`),Uv=W(`<div class="summary-expand-loading svelte-j3zn9j">loading...</div>`),Wv=W(`<div class="event svelte-j3zn9j"><div class="marker marker-icon svelte-j3zn9j"><!></div> <!></div>`),Gv=W(`<span class="summary-child-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span>`,1),Kv=W(`<div class="nested-branch-wrapper svelte-j3zn9j"><!></div>`),qv=W(`<div><div class="summary-child-dot summary-dot svelte-j3zn9j"></div> <!> <div class="summary-child-body svelte-j3zn9j"><!></div></div> <!>`,1),Jv=W(`<div><!> <!></div>`),Yv=W(`<div class="summary-expand-collapse svelte-j3zn9j"><div class="summary-full markdown-body svelte-j3zn9j"></div></div>`),Xv=W(`<div class="summary-collapsed svelte-j3zn9j"><span class="summary-collapsed-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span></div>`);function Zv(e,t){M(t,!0);let n=pa(t,`depth`,3,0),r=new Gl,i=P(()=>t.expandedSummaries.has(t.summary.id)||t.directEventsSummaries.has(t.summary.id)),a=P(()=>t.loadingChildren.has(t.summary.id)),o=P(()=>t.directEventsSummaries.get(t.summary.id)),s=P(()=>t.expandedSummaries.get(t.summary.id)??[]),c=P(()=>n()===0?16:12),l=P(()=>n()===0?15:13),u=P(()=>H(s).some(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id))));function d(){let e=H(s).find(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id)));e&&`period`in e&&t.toggleSummaryExpand(e)}function f(e){return e.replace(/^\s*#{1,6}\s+/gm,``).replace(/^\s*[-*+]\s+/gm,``).replace(/(\*\*|__|\*|_|`)/g,``).trim()}var p=G(),m=z(p),h=e=>{Vv(e,{get gap(){return H(c)},reach:8,get railTop(){return H(l)},get dashed(){return H(u)},onheaderclick:()=>t.toggleSummaryExpand(t.summary),onfooterclick:()=>t.toggleSummaryExpand(t.summary),onrailclick:d,header:e=>{var n=Hv(),r=R(n),i=R(r,!0);A(r),A(n),V(e=>q(i,e),[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key)]),K(e,n)},children:e=>{var i=G(),c=z(i),l=e=>{K(e,Uv())},u=e=>{let n=P(()=>S_(H(o)));var r=G();Y(z(r),17,()=>H(n),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,n)=>{var r=G(),i=z(r),a=e=>{let r=P(()=>y_(H(n).category)),i=P(()=>b_(H(n).category));var a=Wv();let o;var s=R(a);let c;qa(R(s),{get kind(){return H(i)}}),A(s),R_(B(s,2),{get group(){return H(n)},get mindName(){return t.summary.mind},turnStatus:`complete`}),A(a),V(()=>{o=Z(a,``,o,{"--type-color":H(r)}),c=Z(s,``,c,{color:H(r)})}),K(e,a)},o=e=>{fv(e,{get event(){return H(n).event},get mindName(){return t.summary.mind}})};J(i,e=>{H(n).kind===`tool-group`?e(a):e(o,-1)}),K(e,r)}),K(e,r)},d=e=>{var i=G();Y(z(i),17,()=>H(s),e=>`period`in e?`s-${e.id}`:`t-${e.id}`,(e,i)=>{var a=G(),o=z(a),s=e=>{let r=P(()=>H(i)),a=P(()=>t.expandedSummaries.has(H(r).id)||t.directEventsSummaries.has(H(r).id)),o=P(()=>H(a)?0:D_(H(r).icons));var s=qv(),c=z(s);let l,u;var d=B(R(c),2),p=e=>{Fv(e,{get groups(){return H(r).icons},get mind(){return H(r).mind},condensed:!0,onopenconversation:e=>t.onopenconversation?.(e,H(r).created_at)})};J(d,e=>{H(o)>0&&H(r).icons&&e(p)});var m=B(d,2),h=R(m),g=e=>{var n=Gv(),i=z(n),a=R(i,!0);A(i);var o=B(i,2),s=R(o,!0);A(o),V((e,t)=>{q(a,e),q(s,t)},[()=>t.formatPeriodTime(H(r).period,H(r).period_key),()=>f(H(r).content)]),K(e,n)};J(h,e=>{H(a)||e(g)}),A(m),A(c);var _=B(c,2),v=e=>{var i=Kv(),a=R(i);{let e=P(()=>n()+1);Zv(a,{get summary(){return H(r)},get depth(){return H(e)},get expandedSummaries(){return t.expandedSummaries},get directEventsSummaries(){return t.directEventsSummaries},get loadingChildren(){return t.loadingChildren},get toggleSummaryExpand(){return t.toggleSummaryExpand},get formatPeriodTime(){return t.formatPeriodTime},get onopenconversation(){return t.onopenconversation}})}A(i),K(e,i)};J(_,e=>{H(a)&&e(v)}),V(()=>{l=X(c,1,`summary-child-item svelte-j3zn9j`,null,l,{"summary-child-expanded":H(a),"summary-child-collapsed":!H(a)}),u=Z(c,``,u,{"min-height":H(o)>0?`${40+H(o)*30}px`:void 0})}),U(`click`,c,e=>{e.stopPropagation(),t.toggleSummaryExpand(H(r))}),K(e,s)},c=e=>{let n=P(()=>H(i)),a=P(()=>r.has(H(n).id)),o=P(()=>H(a)?0:E_(H(n)).stackCount);var s=Jv();let c,l;var u=R(s);{let e=P(()=>!H(a));Fv(u,{get turn(){return H(n)},get mind(){return H(n).mind},condensed:!0,get showStack(){return H(e)},onopenconversation:e=>t.onopenconversation?.(e,H(n).created_at)})}var d=B(u,2);{let e=P(()=>({id:0,mind:H(n).mind,channel:``,thread:null,sender:null,message_id:null,type:`summary`,content:H(n).summary??`(no summary)`,metadata:H(n).summary_meta?JSON.stringify(H(n).summary_meta):null,turn_id:H(n).id,created_at:H(n).created_at}));fv(d,{get event(){return H(e)},get mindName(){return H(n).mind},expandable:!0,onexpand:e=>{e?r.add(H(n).id):r.delete(H(n).id)}})}A(s),V(()=>{c=X(s,1,`summary-child-turn svelte-j3zn9j`,null,c,{"has-trigger":!!H(n).trigger}),l=Z(s,``,l,{"min-height":H(o)>0?`${40+H(o)*30}px`:void 0})}),U(`click`,s,e=>e.stopPropagation()),K(e,s)};J(o,e=>{`period`in H(i)?e(s):e(c,-1)}),K(e,a)}),K(e,i)};J(c,e=>{H(a)?e(l):H(o)?e(u,1):e(d,-1)}),K(e,i)},footer:e=>{var n=Yv(),r=R(n);ui(r,()=>Al(t.summary.content),!0),A(r),A(n),U(`click`,n,e=>e.stopPropagation()),K(e,n)},$$slots:{header:!0,default:!0,footer:!0}})},g=e=>{var n=Xv(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(n),V((e,t)=>{q(i,e),q(o,t)},[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key),()=>f(t.summary.content)]),U(`click`,n,()=>t.toggleSummaryExpand(t.summary)),K(e,n)};J(m,e=>{H(i)?e(h):e(g,-1)}),K(e,p),N()}Lr([`click`]);var Qv=W(`<div class="load-older svelte-m7q6b7"><button class="load-older-btn svelte-m7q6b7"> </button></div>`),$v=W(`<div class="error-hint svelte-m7q6b7"> </div>`),ey=W(`<div class="empty-hint svelte-m7q6b7">No activity yet.</div>`),ty=W(`<div class="turn-row scale-break-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"></div> <div class="scale-break-container svelte-m7q6b7"><div class="scale-break-slash svelte-m7q6b7"></div> <div class="scale-break-gap svelte-m7q6b7"></div> <div class="scale-break-slash svelte-m7q6b7"></div> <div class="scale-break-label scale-break-label-above svelte-m7q6b7"><svg class="scale-break-arrow svelte-m7q6b7" viewBox="0 0 8 5"><path d="M4 0L8 5H0z" fill="currentColor"></path></svg> <span> </span></div> <div class="scale-break-label scale-break-label-below svelte-m7q6b7"><svg class="scale-break-arrow svelte-m7q6b7" viewBox="0 0 8 5"><path d="M4 5L0 0h8z" fill="currentColor"></path></svg> <span> </span></div></div> <div class="turn-body svelte-m7q6b7"></div></div>`),ny=W(`<button class="mind-badge svelte-m7q6b7"> </button>`),ry=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"><!></div> <div><div class="turn-dot summary-dot svelte-m7q6b7"></div> <!></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),iy=W(`<div class="turn-dot svelte-m7q6b7"></div>`),ay=W(`<div class="turn-stamp svelte-m7q6b7"> </div>`),oy=W(`<div class="active-turn-header svelte-m7q6b7"><span class="active-turn-time svelte-m7q6b7"> </span></div>`),sy=W(`<div class="event svelte-m7q6b7"><div class="marker marker-icon svelte-m7q6b7"><!></div> <!></div>`),cy=W(`<!> <div class="active-indicator svelte-m7q6b7"><div class="active-dot svelte-m7q6b7"></div></div>`,1),ly=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"><!></div> <div role="button" tabindex="0"><!> <!></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!> <!></div></div></div>`),uy=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"> </div> <div class="turn-rail turn-rail-expanded svelte-m7q6b7"><div class="turn-dot-icon svelte-m7q6b7"><!></div></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),dy=W(`<span class="reconnecting-text svelte-m7q6b7">reconnecting…</span>`),fy=W(`<div class="turn-row turn-row-status svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"></div> <div class="turn-rail turn-rail-terminus svelte-m7q6b7"><div></div></div> <div class="turn-body svelte-m7q6b7"><span class="mind-status-text svelte-m7q6b7"> </span> <!></div></div>`),py=W(`<div class="turn-track svelte-m7q6b7"><!> <!> <!></div>`),my=W(`<div class="loading-more svelte-m7q6b7">loading...</div>`),hy=W(`<button class="jump-btn svelte-m7q6b7">jump to latest</button>`),gy=W(`<div class="turn-timeline svelte-m7q6b7"><div class="turn-scroll svelte-m7q6b7"><!> <!> <!></div> <!></div> <!>`,1);function _y(e,t){M(t,!0);let n={hour:`turn`,day:`hour`,week:`day`,month:`week`};function r(e,t){return e===`hour`?new Date(`${t.slice(0,10)}T${t.slice(11,13)}:00:00`):e===`day`?new Date(`${t}T00:00:00`):e===`week`?Yg(t):e===`month`?new Date(`${t}-01T00:00:00`):new Date(t)}function i(e,t,n){let i=qg(n),a=new Date(i.year,i.month-1,i.day),o=new Date(a);if(o.setDate(a.getDate()-1),e===`hour`){let e=r(`hour`,t),n=new Date(e.getTime()+36e5),i=e=>e.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()===a.getTime()?`${i(e)} \u2013 ${i(n)}`:`${e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${i(e)} \u2013 ${i(n)}`}if(e===`day`){let e=r(`day`,t);return e.getTime()===a.getTime()?`Today`:e.getTime()===o.getTime()?`Yesterday`:e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}if(e===`week`){let e=Yg(t),n=new Date(e);n.setDate(e.getDate()+6);let r=e=>e.toLocaleDateString(void 0,{month:`short`,day:`numeric`});return e.getFullYear()===i.year?`${r(e)} \u2013 ${r(n)}`:`${r(e)} \u2013 ${r(n)}, ${e.getFullYear()}`}if(e===`month`){let[e,n]=t.split(`-`);return new Date(parseInt(e,10),parseInt(n,10)-1,1).toLocaleDateString(void 0,{month:`long`,year:`numeric`})}return t}let a=F([]),o=F(!1),s=F(``),c=F(void 0),l=F(!1),u=F(null),d=F([]),f=F([]),p=F([]),m=F([]),h=F(!1),g=F(!0),_=F(!1),v=P(()=>H(g)&&(H(p).length>0||H(m).length>0)),y=F(L(new Kl)),b=new Gl,x=F(L(new Kl)),S=yh,C=new Map,w=new Kl,T=new Gl;function E(e,t){C.set(e,t),w.set(e,S_(t)),T.add(e)}function ee(e,t){let n=[...C.get(e)??[],t];C.set(e,n),w.set(e,w_(w.get(e)??[],n,t))}function te(e){C.delete(e),w.delete(e),T.delete(e)}let ne=-1,D=F(L([])),O=new Map,re=F(L(new Set));function ie(e,n={}){return{id:ne--,mind:e.mind??t.name??``,channel:e.channel??``,thread:e.session??null,sender:e.sender??null,message_id:e.messageId??null,type:e.type??``,content:e.content??``,metadata:e.metadata?JSON.stringify(e.metadata):null,turn_id:null,created_at:new Date().toISOString(),...n}}function ae(e){let t=!1,n=[];for(let r of e){let e=H(a).findIndex(e=>e.id===r.id);e===-1?n.push(r):(H(a)[e]=r,t=!0)}n.length>0?I(a,[...H(a),...n]):t&&I(a,[...H(a)])}function k(e,t){I(u,{id:e.id,type:e.type,user_id:null,created_at:t,updated_at:t,private:0,channel_name:e.type===`channel`?e.label.replace(/^#/,``):null,participants:[]},!0)}function oe(e){return new Date(Rl(e)).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}function se(e,t){t?H(re).add(e):H(re).delete(e),I(re,new Set(H(re)),!0)}let ce=F(void 0),le=F(!1),ue=null,de=F(!1),fe=0,pe=null,me=new Map;function he(){pe&&=(clearTimeout(pe),null)}function ge(){if(pe)return;let e=t_(fe);fe++,pe=setTimeout(()=>{pe=null,ve()},e)}async function _e(){if(t.name)try{ae([...await ju({mind:t.name,limit:100,offset:0})].reverse());for(let e of H(a))if(e.status===`active`){let t=e.id,n=e.mind;me.set(t,Date.now()),C.has(t)||E(t,[]),Au(n,{turnId:t}).then(e=>{C.has(t)&&E(t,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to resync active turn events:`,e))}else C.has(e.id)&&(te(e.id),me.delete(e.id))}catch(e){console.warn(`[TurnTimeline] Failed to resync after reconnect:`,e)}}function ve(){ye();let e=`/api/v1/history/events${t.name?`?mind=${encodeURIComponent(t.name)}`:``}`,n=new EventSource(e);n.onmessage=e=>{let n;try{n=JSON.parse(e.data)}catch(t){console.warn(`[TurnTimeline] Failed to parse SSE event:`,e.data,t);return}let r=n.turnId,i=n.type;if((i===`inbound`||i===`event`)&&!r)I(D,[...H(D),ie(n)],!0);else if(i===`turn_created`&&r){if(H(a).some(e=>e.id===r)||I(a,[...H(a),{id:r,mind:n.mind??t.name??``,summary:null,summary_meta:null,status:`active`,created_at:new Date().toISOString(),trigger:null,conversations:[],events:[],activities:[]}]),H(D).length>0){let e=H(D).map(e=>({...e,turn_id:r})),t=C.get(r)??[];E(r,[...e,...t])}else C.has(r)||E(r,[]);I(D,[],!0),me.set(r,Date.now());let e=n.mind??t.name??``;new Promise(e=>setTimeout(e,500)).then(()=>Au(e,{turnId:r})).then(e=>{C.has(r)&&E(r,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to fetch turn events:`,e))}else if(i===`summary`&&r){clearTimeout(O.get(r)),O.delete(r);let e=C.get(r);te(r),me.delete(r),ju({mind:t.name,turnId:r}).then(e=>{ae(e),requestAnimationFrame(()=>{!H(le)&&H(ce)&&H(ce).scrollTo({top:H(ce).scrollHeight,behavior:`smooth`})})}).catch(t=>{console.warn(`[TurnTimeline] Failed to fetch completed turn:`,t),C.has(r)||E(r,e??[])})}else if(i===`done`&&r){if(!O.has(r)){let e=r;O.set(e,setTimeout(()=>{O.delete(e),C.has(e)&&(te(e),ju({mind:t.name,turnId:e}).then(e=>ae(e)).catch(e=>console.warn(`[TurnTimeline] Failed to refresh turn after done:`,e)))},1e4))}}else r&&C.has(r)&&(ee(r,ie(n,{turn_id:r})),me.set(r,Date.now()));De()},n.onopen=()=>{he();let e=H(de);fe=0,I(de,!1),e&&_e()},n.onerror=()=>{n.readyState===EventSource.CLOSED?(I(de,!0),ge()):n.readyState===EventSource.CONNECTING&&I(de,!0)},ue=n}function ye(){he(),ue&&=(ue.close(),null);for(let e of O.values())clearTimeout(e);O.clear()}async function be(){I(o,!0),I(s,``);try{ae([...await ju({mind:t.name,limit:100})].reverse()),H(D).length===0&&t.name&&ku(t.name,{preset:`all`,limit:10}).then(e=>{let t=e.filter(e=>(e.type===`inbound`||e.type===`event`)&&!e.turn_id&&a_(e.created_at));t.length>0&&H(D).length===0&&I(D,t,!0)}).catch(e=>console.warn(`[TurnTimeline] Failed to check pending inbounds:`,e));for(let e of H(a))e.status===`active`&&!C.has(e.id)&&(E(e.id,[]),Au(e.mind,{turnId:e.id}).then(t=>{C.has(e.id)&&E(e.id,t)}).catch(e=>console.warn(`[TurnTimeline] Failed to backfill active turn events:`,e)))}catch(e){I(s,e instanceof Error?e.message:`Failed to load`,!0)}I(o,!1)}async function xe(){try{let e=Zg(H(c)),[n,r,i,a]=await Promise.all([Mu({mind:t.name,period:`hour`,from:e.todayHourFrom,to:e.hourCutoff,limit:24,icons:!0}),Mu({mind:t.name,period:`day`,from:e.weekCutoff,to:e.todayKey,limit:7,icons:!0}),Mu({mind:t.name,period:`week`,to:e.weekCutoff,limit:12,icons:!0}),Mu({mind:t.name,period:`month`,to:e.currentMonthKey,limit:12,icons:!0})]);I(d,n.sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(f,r.filter(t=>t.period_key<e.todayKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(p,i.filter(t=>t.period_key<e.currentWeekKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(m,a.filter(t=>t.period_key<e.currentMonthKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(g,!0),I(h,!0)}catch(e){console.warn(`[TurnTimeline] Failed to load summaries:`,e),I(h,!0)}}async function Se(){if(H(_))return;let e=Qg(H(p),H(m));if(!e){I(g,!1);return}I(_,!0);try{let n=await Mu({mind:t.name,period:e.tier,to:e.to,limit:12,icons:!0});if(e.tier===`month`){let{merged:e,exhausted:t}=$g(H(m),n);I(m,e),t&&I(g,!1)}else{let{merged:e,exhausted:t}=$g(H(p),n);I(p,e),t&&I(g,!1)}}catch(e){console.warn(`[TurnTimeline] Failed to load older summaries:`,e)}I(_,!1)}async function Ce(e){if(H(y).has(e.id)||H(x).has(e.id)){H(y).delete(e.id),H(x).delete(e.id);return}b.add(e.id);try{let r=e.mind===`_system`,i=n[e.period];if(r&&i===`turn`){let t=e.metadata?.minds??[],n=(await Promise.all(t.map(t=>Mu({mind:t,period:e.period,from:e.period_key,to:e.period_key,limit:1,icons:!0})))).flat().sort((e,t)=>e.mind.localeCompare(t.mind));H(y).set(e.id,n)}else if(i===`turn`){let t=e.metadata?.source_ids??[];if(t.length>0){let n=await Nu(t),r=n.filter(e=>S(e.period_key));if(r.length<n.length)H(y).set(e.id,n);else if(r.length===1){let t=await Au(r[0].mind,{turnId:r[0].period_key});H(x).set(e.id,t)}else if(r.length>0){let t=await ju({turnIds:r.map(e=>e.period_key)});t.sort((e,t)=>e.created_at.localeCompare(t.created_at)),H(y).set(e.id,t)}else H(y).set(e.id,[])}else H(y).set(e.id,[])}else{let n,r;if(e.period===`day`)n=e.period_key,r=`${e.period_key}T99`;else if(e.period===`week`){let t=Yg(e.period_key),i=new Date(t);i.setDate(t.getDate()+6);let a=e=>String(e).padStart(2,`0`);n=`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())}`,r=`${i.getFullYear()}-${a(i.getMonth()+1)}-${a(i.getDate())}`}else if(e.period===`month`){let[t,i]=e.period_key.split(`-`).map(Number),a=new Date(t,i,0).getDate();n=`${e.period_key}-01`,r=`${e.period_key}-${String(a).padStart(2,`0`)}`}else n=e.period_key,r=e.period_key;let a=await Mu({mind:t.name,period:i,from:n,to:r,limit:100,icons:!0});H(y).set(e.id,a.sort((e,t)=>e.period_key.localeCompare(t.period_key)))}}catch(e){console.warn(`[TurnTimeline] Failed to load summary children:`,e)}b.delete(e.id)}let we=F(L(Date.now())),Te=P(()=>{let e=[],t=new Date(H(we));for(let t of H(m))e.push({kind:`summary`,summary:t});for(let t of H(p))e.push({kind:`summary`,summary:t});(H(m).length>0||H(p).length>0)&&H(f).length>0&&e.push({kind:`separator`,above:`earlier`,below:`this week`});for(let t of H(f))e.push({kind:`summary`,summary:t});let n=h_({now:t,hourSummaries:H(d),turnsData:H(a),isActive:e=>e.status===`active`||T.has(e.id)});e.length>0&&n.length>0&&e.push({kind:`separator`,above:`earlier this week`,below:`today`});for(let t of n)e.push(t);return e}),Ee=!1;function De(){H(le)||Ee||(Ee=!0,requestAnimationFrame(()=>{Ee=!1,!H(le)&&H(ce)&&(H(ce).scrollTop=H(ce).scrollHeight)}))}let Oe=null,ke=null;function Ae(){je(),Oe=setInterval(()=>{H(ce)&&(H(ce).scrollTop=H(ce).scrollHeight)},100),ke=setTimeout(()=>{je()},3e3)}function je(){Oe&&=(clearInterval(Oe),null),ke&&=(clearTimeout(ke),null)}let Me=``;Tn(()=>{let e=t.name;e!==Me&&(Me=e,I(a,[]),C.clear(),w.clear(),T.clear(),ne=-1,I(D,[],!0),I(d,[]),I(f,[]),I(p,[]),I(m,[]),I(h,!1),I(g,!0),I(y,new Kl,!0),I(x,new Kl,!0),I(de,!1),fe=0,me.clear(),Ae(),be())}),Tn(()=>{let e=()=>{document.visibilityState===`visible`&&I(we,Date.now(),!0)};document.addEventListener(`visibilitychange`,e);let n=setInterval(()=>{if(I(we,Date.now(),!0),H(D).length>0){let e=o_(H(D));e.length!==H(D).length&&I(D,e,!0)}let e=Date.now();for(let n of H(a))n.status===`active`&&c_(l_(n.created_at,me.get(n.id)),e)&&(me.set(n.id,e),ju({mind:t.name,turnId:n.id}).then(e=>{let t=e[0];t&&t.status!==`active`&&(te(n.id),me.delete(n.id)),ae(e)}).catch(e=>console.warn(`[TurnTimeline] Failed to check stale turn:`,e)))},3e4);return()=>{clearInterval(n),document.removeEventListener(`visibilitychange`,e)}}),Tn(()=>{gd().then(e=>{I(c,e.timezone??void 0,!0)}).catch(()=>{}).finally(()=>{I(l,!0)})}),Tn(()=>{H(l)&&H(a).length>0&&!H(h)&&!H(o)&&xe()}),Tn(()=>(t.name,ve(),()=>ye())),Tn(()=>()=>je());function Ne(){if(!H(ce))return;let{scrollTop:e,scrollHeight:t,clientHeight:n}=H(ce),r=t-e-n;I(le,r>100)}function Pe(){H(ce)?.scrollTo({top:H(ce).scrollHeight,behavior:`smooth`}),I(le,!1)}var Fe=gy(),Ie=z(Fe),Le=R(Ie),Re=R(Le),ze=e=>{var t=Qv(),n=R(t);let r;var i=R(n,!0);A(n),A(t),V(()=>{n.disabled=H(_),r=Z(n,``,r,{opacity:H(_)?.5:1}),q(i,H(_)?`loading...`:`load older`)}),U(`click`,n,Se),K(e,t)};J(Re,e=>{H(v)&&e(ze)});var Be=B(Re,2),Ve=e=>{var t=$v(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},He=e=>{K(e,ey())},Ue=e=>{var n=py(),r=R(n);Y(r,17,()=>H(Te),e=>e.kind===`turn`?`turn-${e.turn.id}`:e.kind===`summary`?`summary-${e.summary.id}`:`sep-${e.above}-${e.below}`,(e,n)=>{var r=G(),a=z(r),o=e=>{var t=ty(),r=B(R(t),2),i=B(R(r),6),a=B(R(i),2),o=R(a,!0);A(a),A(i);var s=B(i,2),c=B(R(s),2),l=R(c,!0);A(c),A(s),A(r),j(2),A(t),V(()=>{q(o,H(n).above),q(l,H(n).below)}),K(e,t)},s=e=>{let r=P(()=>H(n).summary),a=P(()=>H(y).has(H(r).id)||H(x).has(H(r).id)),o=P(()=>H(r).icons),s=P(()=>H(a)?0:D_(H(o)));var l=ry();let u;var d=R(l),f=R(d),p=e=>{var t=ny(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>jm(`/minds/${H(r).mind}/history`)),K(e,t)};J(f,e=>{!t.name&&H(r).mind!==`_system`&&e(p)}),A(d);var m=B(d,2);let h;var g=B(R(m),2),_=e=>{Fv(e,{get groups(){return H(o)},get mind(){return H(r).mind},condensed:!0,onopenconversation:e=>k(e,H(r).created_at)})};J(g,e=>{H(s)>0&&H(o)&&e(_)}),A(m);var v=B(m,2),S=R(v);Zv(R(S),{get summary(){return H(r)},get expandedSummaries(){return H(y)},get directEventsSummaries(){return H(x)},get loadingChildren(){return b},toggleSummaryExpand:Ce,formatPeriodTime:(e,t)=>i(e,t,H(c)),onopenconversation:k}),A(S),A(v),A(l),V(()=>{Xi(l,`data-summary-id`,H(r).id),u=Z(l,``,u,{"min-height":H(s)>0?`${42+H(s)*30}px`:void 0}),h=X(m,1,`turn-rail svelte-m7q6b7`,null,h,{"turn-rail-expanded":H(a)})}),U(`click`,m,()=>Ce(H(r))),U(`keydown`,m,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Ce(H(r)))}),K(e,l)},l=e=>{let r=P(()=>H(n).turn),i=P(()=>!H(re).has(H(r).id)&&H(r).status!==`active`),a=P(()=>H(i)?E_(H(r)).stackCount:0);var o=ly();let s;var c=R(o),l=R(c),u=e=>{var t=ny(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>jm(`/minds/${H(r).mind}/history`)),K(e,t)};J(l,e=>{t.name||e(u)}),A(c);var d=B(c,2);let f;var p=R(d),m=e=>{K(e,iy())};J(p,e=>{H(r).trigger||e(m)}),Fv(B(p,2),{get turn(){return H(r)},get mind(){return H(r).mind},get showStack(){return H(i)},onopenconversation:e=>k(e,H(r).created_at)}),A(d);var h=B(d,2),g=R(h),_=R(g),v=e=>{var t=ay(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>oe(H(r).created_at)]),K(e,t)};J(_,e=>{(H(r).summary||H(r).status===`complete`)&&e(v)});var y=B(_,2),b=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:``,thread:null,sender:null,message_id:null,type:`summary`,content:H(r).summary,metadata:H(r).summary_meta?JSON.stringify(H(r).summary_meta):null,turn_id:H(r).id,created_at:H(r).created_at}));fv(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,onexpand:e=>se(H(r).id,e)})}},x=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:H(r).trigger?.event?``:H(r).trigger?.channel??``,thread:null,sender:H(r).trigger?.event?null:H(r).trigger?.sender??null,message_id:null,type:`summary`,content:H(r).trigger?.event?`System event: ${H(r).trigger.event.label}`:H(r).trigger?.content??`(no summary)`,metadata:null,turn_id:H(r).id,created_at:H(r).created_at}));fv(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,onexpand:e=>se(H(r).id,e)})}},S=e=>{let t=P(()=>w.get(H(r).id)??[]),n=P(()=>new Date(H(r).created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}));Vv(e,{gap:24,reach:11,noReturn:!0,header:e=>{var t=oy(),r=R(t),i=R(r);A(r),A(t),V(()=>q(i,`${H(n)??``} – now`)),K(e,t)},children:e=>{var n=cy(),i=z(n),a=e=>{var n=G();Y(z(n),17,()=>H(t),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,t)=>{var n=G(),i=z(n),a=e=>{let n=P(()=>y_(H(t).category)),i=P(()=>b_(H(t).category));var a=sy();let o;var s=R(a);let c;qa(R(s),{get kind(){return H(i)}}),A(s),R_(B(s,2),{get group(){return H(t)},get mindName(){return H(r).mind},turnStatus:`active`}),A(a),V(()=>{o=Z(a,``,o,{"--type-color":H(n)}),c=Z(s,``,c,{color:H(n)})}),K(e,a)},o=e=>{fv(e,{get event(){return H(t).event},get mindName(){return H(r).mind}})};J(i,e=>{H(t).kind===`tool-group`?e(a):e(o,-1)}),K(e,n)}),K(e,n)};J(i,e=>{H(t).length>0&&e(a)}),j(2),K(e,n)},$$slots:{header:!0,default:!0}})};J(y,e=>{H(r).summary?e(b):H(r).status===`complete`?e(x,1):e(S,-1)}),A(g),A(h),A(o),V(e=>{Xi(o,`data-turn-id`,H(r).id),s=Z(o,``,s,{"min-height":H(a)>0?`${36+H(a)*48}px`:void 0}),f=X(d,1,`turn-rail svelte-m7q6b7`,null,f,e)},[()=>({"turn-rail-expanded":H(re).has(H(r).id)||H(r).status===`active`})]),U(`click`,d,e=>{if(!H(r).summary)return;e.stopPropagation();let t=e.currentTarget.closest(`.turn-row`)?.querySelector(`:scope > .turn-body > .turn-summary > .event`);t&&t.click()}),U(`keydown`,d,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.currentTarget.click())}),K(e,o)};J(a,e=>{H(n).kind===`separator`?e(o):H(n).kind===`summary`?e(s,1):e(l,-1)}),K(e,r)});var a=B(r,2),o=e=>{var n=uy(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a);let s;var c=R(o);{let e=P(()=>H(D)[0].type===`event`?`gear`:`chat`);qa(c,{get kind(){return H(e)}})}A(o),A(a);var l=B(a,2),u=R(l);Vv(R(u),{gap:24,reach:11,noReturn:!0,header:e=>{var t=oy(),n=R(t),r=R(n);A(n),A(t),V(e=>q(r,`${e??``} – now`),[()=>new Date(H(D)[0].created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})]),K(e,t)},children:e=>{var n=cy();Y(z(n),17,()=>H(D),e=>e.id,(e,n)=>{{let r=P(()=>H(n).mind||t.name||``);fv(e,{get event(){return H(n)},get mindName(){return H(r)}})}}),j(2),K(e,n)},$$slots:{header:!0,default:!0}}),A(u),A(l),A(n),V(e=>{q(i,e),s=Z(o,``,s,{color:H(D)[0].type===`event`?`var(--purple)`:`var(--blue)`})},[()=>Bl(H(D)[0].created_at)]),K(e,n)};J(a,e=>{H(D).length>0&&e(o)});var s=B(a,2),l=e=>{let n=P(()=>Jf.has(t.name)?`active`:t.mindStatus===`sleeping`?`asleep`:t.mindStatus===`running`?`awake`:`offline`),r=P(()=>Jf.has(t.name)?void 0:t.mindStatus===`sleeping`?`var(--purple)`:t.mindStatus===`running`?`var(--text-0)`:`var(--text-2)`);var i=fy(),a=B(R(i),2),o=R(a);let s,c;A(a);var l=B(a,2),u=R(l);let d;var f=R(u);A(u);var p=B(u,2),m=e=>{K(e,dy())};J(p,e=>{H(de)&&e(m)}),A(l),A(i),V((e,i)=>{s=X(o,1,`mind-status-dot svelte-m7q6b7`,null,s,e),c=Z(o,``,c,{background:H(r)}),d=Z(u,``,d,i),q(f,`${t.name??``} is ${H(n)??``}`)},[()=>({iridescent:Jf.has(t.name)}),()=>({color:Jf.has(t.name)?`var(--accent)`:H(r)})]),K(e,i)};J(s,e=>{t.name&&e(l)}),A(n),K(e,n)};J(Be,e=>{H(s)?e(Ve):H(Te).length===0&&!H(o)?e(He,1):e(Ue,-1)});var We=B(Be,2),Ge=e=>{K(e,my())};J(We,e=>{H(o)&&H(a).length>0&&e(Ge)}),A(Le),ua(Le,e=>I(ce,e),()=>H(ce));var Ke=B(Le,2),qe=e=>{var t=hy();U(`click`,t,Pe),K(e,t)};J(Ke,e=>{H(le)&&e(qe)}),A(Ie);var Je=B(Ie,2),Ye=e=>{{let n=P(()=>t.name??``);ih(e,{get mindName(){return H(n)},get conversation(){return H(u)},canChat:!1,onClose:()=>{I(u,null)}})}};J(Je,e=>{H(u)&&e(Ye)}),Ir(`scroll`,Le,Ne),Ir(`wheel`,Le,()=>je()),K(e,Fe),N()}Lr([`click`,`keydown`]);var vy=W(`<button class="context-label-btn svelte-1nq4ldw"> </button>`),yy=W(`<div class="frame-content mind-frame svelte-1nq4ldw"><!></div>`),by=W(`<div class="frame-content padded svelte-1nq4ldw"><div class="not-found svelte-1nq4ldw">Channel not found.</div></div>`),xy=W(`<div class="frame-content svelte-1nq4ldw"><!></div>`),Sy=W(`<div class="frame-content svelte-1nq4ldw"><iframe class="page-iframe svelte-1nq4ldw" title="Extension"></iframe></div>`),Cy=W(`<div class="frame-content padded svelte-1nq4ldw"><!></div>`),wy=W(`<div class="main-frame svelte-1nq4ldw"><div class="mobile-header svelte-1nq4ldw"><button class="hamburger-btn svelte-1nq4ldw">☰</button> <img src="/logo.png" alt="" class="mobile-logo svelte-1nq4ldw"/> <span class="mobile-title svelte-1nq4ldw">volute</span> <!></div> <!></div>`);function Ty(e,t){M(t,!0);let n=P(()=>{if(t.selection.kind===`channel`)return t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)}),r=P(()=>H(n)?H(n).participants?.find(e=>e.userType===`mind`)?.username??``:``),i=P(()=>t.selection.kind===`mind`?t.conversations.find(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];return n.length===2&&n.some(e=>e.username===t.selection.name)})?.id??null:null),a=P(()=>t.selection.kind===`channel`&&H(n)?`#${H(n).channel_name??``}`:t.selection.kind===`mind`?t.minds.find(e=>e.name===t.selection.name)?.displayName??t.selection.name:``);var o=wy(),s=R(o),c=R(s),l=B(c,6),u=e=>{var n=vy(),r=R(n,!0);A(n),V(()=>q(r,H(a))),U(`click`,n,function(...e){t.onOpenRightPanel?.apply(this,e)}),K(e,n)};J(l,e=>{H(a)&&t.onOpenRightPanel&&e(u)}),A(s);var d=B(s,2),f=e=>{var n=yy();Gg(R(n),{get name(){return t.selection.name},get section(){return t.selection.section},get subpath(){return t.selection.subpath},get username(){return t.username},get conversationId(){return H(i)},get onConversationId(){return t.onConversationId},get minds(){return t.minds},get conversations(){return t.conversations},get onSelectConversation(){return t.onSelectConversation},get onOpenMind(){return t.onOpenMind},get onTypingNames(){return t.onTypingNames}}),A(n),K(e,n)},p=e=>{var i=xy(),a=R(i),o=e=>{{let i=P(()=>H(n).channel_name??``),a=P(()=>H(n).participants??[]);zg(e,{get name(){return H(r)},get username(){return t.username},get conversationId(){return H(n).id},get onConversationId(){return t.onConversationId},convType:`channel`,get channelName(){return H(i)},get minds(){return t.minds},get participants(){return H(a)},get onOpenMind(){return t.onOpenMind},get onTypingNames(){return t.onTypingNames}})}},s=e=>{K(e,by())};J(a,e=>{H(n)?e(o):e(s,-1)}),A(i),K(e,i)},m=e=>{var n=Sy(),r=R(n);A(n),V(()=>Xi(r,`src`,`/ext/${t.selection.extensionId??``}/#${t.selection.path?`/`+t.selection.path:``}`)),K(e,n)},h=e=>{var t=yy();_y(R(t),{}),A(t),K(e,t)},g=e=>{var n=Cy();Ph(R(n),{get username(){return t.username},get conversations(){return t.conversations},get onSelectConversation(){return t.onSelectConversation},get onSeed(){return t.onSeed}}),A(n),K(e,n)};J(d,e=>{t.selection.kind===`mind`?e(f):t.selection.kind===`channel`?e(p,1):t.selection.kind===`extension`?e(m,2):t.selection.kind===`system-history`?e(h,3):e(g,-1)}),A(o),U(`click`,c,()=>t.onToggleSidebar?.()),K(e,o),N()}Lr([`click`]);var Ey=W(`<button class="browse-btn svelte-1o8uegr">browse</button>`),Dy=W(`<div class="section-header svelte-1o8uegr"><span>CHANNELS</span> <!></div>`),Oy=Gr(`<svg class="lock-icon svelte-1o8uegr" viewBox="0 0 16 16" fill="currentColor"><path d="M11 7V5a3 3 0 0 0-6 0v2H4v6h8V7h-1zm-4-2a1 1 0 1 1 2 0v2H7V5z"></path></svg>`),ky=W(`<span class="unread-badge svelte-1o8uegr"> </span>`),Ay=W(`<button class="delete-btn svelte-1o8uegr" aria-label="Remove"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1o8uegr"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),jy=W(`<div role="button" tabindex="0"><div class="conv-item-header svelte-1o8uegr"><div><span class="conv-label-text svelte-1o8uegr"> </span> <!></div> <!></div></div>`),My=W(`<!> <!>`,1),Ny=W(`<div class="section-header svelte-1o8uegr"><span>DIRECT MESSAGES</span></div>`),Py=W(`<button></button> <button class="conv-label-mind svelte-1o8uegr"> </button>`,1),Fy=W(`<span class="conv-label-text svelte-1o8uegr"> </span>`),Iy=W(`<span class="seed-tag svelte-1o8uegr">seed</span>`),Ly=W(`<div class="member-count svelte-1o8uegr"> </div>`),Ry=W(`<div role="button" tabindex="0"><div class="conv-item-header svelte-1o8uegr"><div><!> <!> <!></div> <button>...</button> <!></div> <!></div>`),zy=W(`<div class="empty svelte-1o8uegr">No conversations yet</div>`),By=W(`<!> <!> <!>`,1),Vy=W(`<button class="context-item svelte-1o8uegr">Open mind</button>`),Hy=W(`<button class="context-item svelte-1o8uegr">Close chat</button>`),Uy=W(`<!> <button class="context-item svelte-1o8uegr"> </button> <!>`,1),Wy=W(`<div class="conv-list svelte-1o8uegr"><!> <!></div> <!>`,1);function Gy(e,t){M(t,!0);let n=P(()=>t.conversations.filter(e=>e.type===`channel`)),r=P(()=>t.conversations.filter(e=>e.type!==`channel`)),i=F(null);function a(e){if(e.type===`channel`)return{isMindDm:!1};let n=e.participants??[];if(n.length!==2)return{isMindDm:!1};let r=n.find(e=>e.username!==t.username);if(!r)return{isMindDm:!1};let i=t.minds.find(e=>e.name===r.username);return i?{isMindDm:!0,mind:i,otherName:r.username}:{isMindDm:!1,otherName:r.username}}function o(e,t){e.stopPropagation();let n=e.currentTarget.getBoundingClientRect();I(i,{id:t,x:n.right+4,y:n.top},!0)}var s=Wy(),c=z(s),l=R(c),u=e=>{var r=My(),i=z(r),a=e=>{var n=Dy(),r=B(R(n),2),i=e=>{var n=Ey();U(`click`,n,function(...e){t.onBrowse?.apply(this,e)}),K(e,n)};J(r,e=>{t.onBrowse&&e(i)}),A(n),K(e,n)};J(i,e=>{t.mode||e(a)}),Y(B(i,2),17,()=>H(n),e=>e.id,(e,n)=>{let r=P(()=>Xf.get(H(n).id)??0);var i=jy();let a;var o=R(i),s=R(o);let c;var l=R(s),u=R(l,!0);A(l);var d=B(l,2),f=e=>{K(e,Oy())};J(d,e=>{H(n).private===1&&e(f)}),A(s);var p=B(s,2),m=e=>{var t=ky(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)},h=e=>{var r=Ay();U(`click`,r,e=>{e.stopPropagation(),t.onDelete(H(n).id)}),K(e,r)};J(p,e=>{H(r)>0?e(m):e(h,-1)}),A(o),A(i),V(e=>{a=X(i,1,`conv-item svelte-1o8uegr`,null,a,{active:H(n).id===t.activeId}),c=X(s,1,`conv-item-label svelte-1o8uegr`,null,c,{active:H(n).id===t.activeId,unread:H(r)>0}),q(u,e)},[()=>Vl(H(n).participants??[],t.username,H(n))]),U(`click`,i,()=>t.onSelect(H(n).id)),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onSelect(H(n).id))}),K(e,i)}),K(e,r)};J(l,e=>{t.mode!==`dms`&&e(u)});var d=B(l,2),f=e=>{var n=By(),s=z(n),c=e=>{K(e,Ny())};J(s,e=>{t.mode||e(c)});var l=B(s,2);Y(l,17,()=>H(r),e=>e.id,(e,n)=>{let r=P(()=>H(n).participants?.find(e=>e.userType===`mind`&&e.username!==t.username)),s=P(()=>H(r)?t.minds.find(e=>e.name===H(r).username)?.stage===`seed`:!1),c=P(()=>a(H(n))),l=P(()=>(H(n).participants?.length??0)>2),u=P(()=>Xf.get(H(n).id)??0);var d=Ry();let f;var p=R(d),m=R(p);let h;var g=R(m),_=e=>{var n=Py(),r=z(n);let i,a;var o=B(r,2),s=R(o,!0);A(o),V((e,t)=>{i=X(r,1,`status-dot svelte-1o8uegr`,null,i,e),Xi(r,`title`,`Open ${H(c).otherName??``}`),a=Z(r,``,a,t),q(s,H(c).otherName)},[()=>({iridescent:Jf.has(H(c).mind.name)}),()=>({background:Jf.has(H(c).mind.name)?void 0:Ll(H(c).mind)})]),U(`click`,r,e=>{e.stopPropagation(),t.onOpenMind(H(c).mind)}),U(`click`,o,e=>{e.stopPropagation(),t.onOpenMind(H(c).mind)}),K(e,n)},v=e=>{var t=Fy(),n=R(t);A(t),V(()=>q(n,`@${H(c).otherName??``}`)),K(e,t)},y=e=>{var r=Fy(),i=R(r,!0);A(r),V(e=>q(i,e),[()=>Vl(H(n).participants??[],t.username,H(n))]),K(e,r)};J(g,e=>{H(c).isMindDm&&H(c).mind?e(_):H(c).otherName?e(v,1):e(y,-1)});var b=B(g,2),x=e=>{K(e,Oy())};J(b,e=>{H(n).private===1&&e(x)});var S=B(b,2),C=e=>{K(e,Iy())};J(S,e=>{H(s)&&e(C)}),A(m);var w=B(m,2);let T;var E=B(w,2),ee=e=>{var t=ky(),n=R(t,!0);A(t),V(()=>q(n,H(u))),K(e,t)};J(E,e=>{H(u)>0&&e(ee)}),A(p);var te=B(p,2),ne=e=>{var t=Ly(),r=R(t);A(t),V(()=>q(r,`${H(n).participants?.length??``} members`)),K(e,t)};J(te,e=>{H(l)&&e(ne)}),A(d),V(()=>{f=X(d,1,`conv-item svelte-1o8uegr`,null,f,{active:H(n).id===t.activeId}),h=X(m,1,`conv-item-label svelte-1o8uegr`,null,h,{active:H(n).id===t.activeId,unread:H(u)>0}),T=X(w,1,`menu-btn svelte-1o8uegr`,null,T,{visible:H(n).id===t.activeId||H(n).id===H(i)?.id})}),U(`click`,d,()=>t.onSelect(H(n).id)),U(`keydown`,d,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onSelect(H(n).id))}),U(`click`,w,e=>o(e,H(n).id)),K(e,d)});var u=B(l,2),d=e=>{K(e,zy())};J(u,e=>{H(r).length===0&&t.mode===`dms`&&e(d)}),K(e,n)};J(d,e=>{t.mode!==`channels`&&e(f)}),A(c);var p=B(c,2),m=e=>{let n=P(()=>H(i).id),r=P(()=>t.conversations.find(e=>e.id===H(n))),o=P(()=>H(r)?a(H(r)):{isMindDm:!1});{let n=P(()=>!!H(i)),a=P(()=>({x:H(i).x,y:H(i).y}));ya(e,{get open(){return H(n)},onclose:()=>I(i,null),get position(){return H(a)},children:(e,n)=>{var a=Uy(),s=z(a),c=e=>{var n=Vy();U(`click`,n,()=>{t.onOpenMind(H(o).mind),I(i,null)}),K(e,n)};J(s,e=>{H(o).isMindDm&&H(o).mind&&e(c)});var l=B(s,2),u=R(l,!0);A(l);var d=B(l,2),f=e=>{var n=Hy();U(`click`,n,()=>{t.onHide(H(i).id),I(i,null)}),K(e,n)};J(d,e=>{t.onHide&&e(f)}),V(()=>q(u,H(r)?.private===1?`Make public`:`Make private`)),U(`click`,l,async()=>{let e=H(i).id,n=t.conversations.find(t=>t.id===e);if(n){let t=n.private!==1;try{await Eu(e,t),n.private=+!!t}catch(e){console.error(`Failed to update conversation privacy:`,e)}}I(i,null)}),K(e,a)},$$slots:{default:!0}})}};J(p,e=>{H(i)&&e(m)}),K(e,s),N()}Lr([`click`,`keydown`]);var Ky=W(`<button class="oauth-warning-btn svelte-1dkz474">!</button>`),qy=W(`<div class="minds-empty svelte-1dkz474"><span class="minds-empty-label svelte-1dkz474">No minds yet</span> <button class="minds-empty-btn svelte-1dkz474">Plant a seed</button></div>`),Jy=W(`<span class="stale-badge svelte-1dkz474">outdated</span>`),Yy=W(`<span class="unread-dot svelte-1dkz474"></span>`),Xy=W(`<span></span> <span class="nav-label svelte-1dkz474"> </span> <!> <!> <!>`,1),Zy=W(`<div class="mind-item-row svelte-1dkz474"><button><!></button> <div class="menu-container svelte-1dkz474"><button title="More options"><svg viewBox="0 0 16 16" fill="currentColor" class="svelte-1dkz474"><circle cx="8" cy="3" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="8" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="13" r="1.5" class="svelte-1dkz474"></circle></svg></button></div></div>`),Qy=W(`<div class="item-list svelte-1dkz474"><!> <!></div>`),$y=W(`<div class="mind-menu svelte-1dkz474" role="menu" tabindex="-1"><button class="mind-menu-item svelte-1dkz474"><!> Settings</button> <button class="mind-menu-item svelte-1dkz474"><!> Logs</button></div>`),eb=W(`<button class="mind-menu-item svelte-1dkz474"><!> Variants</button>`),tb=W(`<button class="mind-menu-item svelte-1dkz474"><!> Context</button>`),nb=W(`<button class="mind-menu-item svelte-1dkz474"><!> Start</button>`),rb=W(`<button class="mind-menu-item svelte-1dkz474"><!> Restart</button> <button class="mind-menu-item danger svelte-1dkz474"><!> Stop</button>`,1),ib=W(`<div class="mind-menu svelte-1dkz474" role="menu" tabindex="-1"><button class="mind-menu-item svelte-1dkz474"><!> Files</button> <button class="mind-menu-item svelte-1dkz474"><!> Settings</button> <!> <button class="mind-menu-item svelte-1dkz474"><!> Events</button> <!> <div class="mind-menu-divider svelte-1dkz474"></div> <!></div>`),ab=W(`<span class="reauth-provider-error svelte-1dkz474"> </span>`),ob=W(`<button class="reauth-provider-btn svelte-1dkz474"><span class="reauth-provider-name svelte-1dkz474"> </span> <!></button>`),sb=W(`<div class="reauth-body svelte-1dkz474"><p class="reauth-desc svelte-1dkz474">The following providers need re-authentication:</p> <!></div>`),cb=W(`<p class="reauth-msg reauth-msg-success svelte-1dkz474">Credentials refreshed successfully.</p> <button class="reauth-btn reauth-btn-primary svelte-1dkz474">Done</button>`,1),lb=W(`<p class="reauth-msg reauth-msg-error svelte-1dkz474"> </p> <button class="reauth-btn svelte-1dkz474">Close</button>`,1),ub=W(`<p class="reauth-desc svelte-1dkz474">If the browser is on another machine, paste the redirect URL here:</p> <input type="text" class="reauth-input svelte-1dkz474" placeholder="Paste redirect URL"/>`,1),db=W(`<p class="reauth-msg svelte-1dkz474">Complete sign-in in the browser window that opened.</p> <!> <span class="reauth-dim svelte-1dkz474">Waiting for authorization...</span> <button class="reauth-btn svelte-1dkz474">Cancel</button>`,1),fb=W(`<div class="reauth-body svelte-1dkz474"><!></div>`),pb=W(`<div class="sidebar-inner svelte-1dkz474"><div class="sections svelte-1dkz474"><div class="section svelte-1dkz474"><div><button><!> <span class="svelte-1dkz474">System</span></button> <div class="menu-container svelte-1dkz474"><button title="More options"><svg viewBox="0 0 16 16" fill="currentColor" class="svelte-1dkz474"><circle cx="8" cy="3" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="8" r="1.5" class="svelte-1dkz474"></circle><circle cx="8" cy="13" r="1.5" class="svelte-1dkz474"></circle></svg></button></div> <!></div></div> <div class="section svelte-1dkz474"><div class="section-header-row svelte-1dkz474"><button class="section-toggle svelte-1dkz474"><!> <span class="svelte-1dkz474">Minds</span></button> <button class="section-action svelte-1dkz474" title="Plant a seed"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1dkz474"><path d="M8 3v10M3 8h10" class="svelte-1dkz474"></path></svg></button></div> <!></div> <div class="section svelte-1dkz474"><div class="section-header-row svelte-1dkz474"><button class="section-toggle svelte-1dkz474"><svg class="section-icon svelte-1dkz474" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M6.5 3L5.5 13M10.5 3l-1 10M3 6h10M3 10h10" class="svelte-1dkz474"></path></svg> <span class="svelte-1dkz474">Channels</span></button> <button class="section-action svelte-1dkz474" title="Browse channels"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1dkz474"><path d="M8 3v10M3 8h10" class="svelte-1dkz474"></path></svg></button></div> <!></div></div></div> <!> <!> <!>`,1);function mb(e,t){M(t,!0);let n=P(()=>qf.oauthErrors.length>0),r=F(!1);function i(e){if(e.stopPropagation(),qf.oauthErrors.length===1){let e=qf.oauthErrors[0];Ff(e.id,e.oauthName??e.id)}else I(r,!0)}function a(e,t){I(r,!1),Ff(e,t??e)}function o(){zf(),I(r,!1)}function s(){try{let e=localStorage.getItem(`volute:sidebar-collapsed`);return e?new Set(JSON.parse(e)):new Set}catch{return new Set}}let c=F(L(s()));function l(e){H(c).has(e)?H(c).delete(e):H(c).add(e),I(c,new Set(H(c)),!0),localStorage.setItem(`volute:sidebar-collapsed`,JSON.stringify([...H(c)]))}let u=P(()=>new Set(t.minds.map(e=>e.name))),d=P(()=>new Map(t.conversations.filter(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];if(n.length!==2)return!1;let r=n.find(e=>e.username!==t.username);return r?H(u).has(r.username):!1}).map(e=>[e.participants.find(e=>e.username!==t.username).username,e.id]))),f=P(()=>[...t.minds].sort((e,t)=>{let n=e.mindType===`spirit`?0:1,r=t.mindType===`spirit`?0:1;if(n!==r)return n-r;let i=Jf.has(e.name)?0:e.status===`running`?1:2,a=Jf.has(t.name)?0:t.status===`running`?1:2;return i===a?e.name.localeCompare(t.name):i-a})),p=F(null),m=F(L({top:0,left:0}));function h(e,t=`__system__`){if(e.stopPropagation(),H(p)===t)I(p,null);else{let n=e.currentTarget.getBoundingClientRect();I(m,{top:n.bottom+2,left:n.left},!0),I(p,t,!0)}}function g(e,n){I(p,null),e===`__system__`?t.onSelectSystemSection(n):t.onSelectMindSection(e,n)}function _(e){H(p)&&!e.target.closest(`.menu-container`)&&I(p,null)}function v(){H(p)&&I(p,null)}let y=P(()=>H(p)?t.minds.find(e=>e.name===H(p)):null);async function b(){if(!H(p))return;let e=H(p);I(p,null),await vu(e)}async function x(){if(!H(p))return;let e=H(p);I(p,null),await yu(e)}async function S(){if(!H(p))return;let e=H(p);I(p,null),await yu(e),await vu(e)}let C=P(()=>t.conversations.filter(e=>e.type===`channel`)),w=P(()=>t.selection.kind===`channel`?t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)?.id??null:null),T=P(()=>t.selection.kind===`home`||t.selection.kind===`system-history`||t.selection.kind===`extension`);var E=pb();Ir(`click`,$t,_),Ir(`blur`,$t,v);var ee=z(E),te=R(ee),ne=R(te),D=R(ne);let O;var re=R(D);let ie;qa(R(re),{kind:`spiral`,class:`section-icon`}),j(2),A(re);var ae=B(re,2),k=R(ae);let oe;A(ae);var se=B(ae,2),ce=e=>{var t=Ky();Si(t,(e,t)=>Il?.(e,t),()=>({text:`AI provider credentials expired — click to re-authenticate`,position:`right`})),U(`click`,t,i),K(e,t)};J(se,e=>{H(n)&&e(ce)}),A(D),A(ne);var le=B(ne,2),ue=R(le),de=R(ue);qa(R(de),{kind:`mind`,class:`section-icon`}),j(2),A(de);var fe=B(de,2);A(ue);var pe=B(ue,2),me=e=>{var n=Qy(),r=R(n),i=e=>{var n=qy(),r=B(R(n),2);A(n),U(`click`,r,function(...e){t.onSeed?.apply(this,e)}),K(e,n)},a=P(()=>Vm(t.minds,qf.mindsLoaded));J(r,e=>{H(a)&&e(i)}),Y(B(r,2),17,()=>H(f),ti,(e,n)=>{let r=P(()=>H(d).get(H(n).name)),i=P(()=>H(r)?Xf.get(H(r))??0:0);var a=Zy(),o=R(a);let s;var c=R(o);{let e=e=>{var t=Xy(),r=z(t);let a,o;var s=B(r,2),c=R(s,!0);A(s);var l=B(s,2),u=e=>{qa(e,{kind:`spiral`,class:`spirit-marker`})};J(l,e=>{H(n).mindType===`spirit`&&e(u)});var d=B(l,2),f=e=>{var t=Jy();Si(t,(e,t)=>Il?.(e,t),()=>({text:`Running an outdated template — run 'volute mind upgrade ${H(n).name}'`,position:`right`})),K(e,t)};J(d,e=>{H(n).templateStale&&e(f)});var p=B(d,2),m=e=>{K(e,Yy())};J(p,e=>{H(i)>0&&e(m)}),V((e,t)=>{a=X(r,1,`status-dot svelte-1dkz474`,null,a,e),o=Z(r,``,o,t),q(c,H(n).displayName??H(n).name)},[()=>({iridescent:Jf.has(H(n).name)}),()=>({background:Jf.has(H(n).name)?void 0:Ll(H(n))})]),K(e,t)},t=P(()=>({name:H(n).name,displayName:H(n).displayName,description:H(n).description,avatarUrl:H(n).avatar?`/api/minds/${encodeURIComponent(H(n).name)}/avatar`:null,userType:`mind`,created:H(n).created}));jp(c,{get profile(){return H(t)},children:e,$$slots:{default:!0}})}A(o);var l=B(o,2),u=R(l);let f;A(l),A(a),V(()=>{s=X(o,1,`nav-item svelte-1dkz474`,null,s,{active:t.selection.kind===`mind`&&t.selection.name===H(n).name}),f=X(u,1,`mind-dots-btn svelte-1dkz474`,null,f,{visible:H(p)===H(n).name})}),U(`click`,o,()=>t.onSelectMind(H(n).name)),U(`click`,u,e=>h(e,H(n).name)),K(e,a)}),A(n),K(e,n)},he=P(()=>!H(c).has(`minds`));J(pe,e=>{H(he)&&e(me)}),A(le);var ge=B(le,2),_e=R(ge),ve=R(_e),ye=B(ve,2);A(_e);var be=B(_e,2),xe=e=>{Gy(e,{get conversations(){return H(C)},get minds(){return t.minds},get activeId(){return H(w)},get username(){return t.username},mode:`channels`,get onSelect(){return t.onSelectConversation},get onDelete(){return t.onDeleteConversation},get onOpenMind(){return t.onOpenMind}})},Se=P(()=>!H(c).has(`channels`));J(be,e=>{H(Se)&&e(xe)}),A(ge),A(te),A(ee);var Ce=B(ee,2),we=e=>{var t=$y();let n;var r=R(t);qa(R(r),{kind:`gear`,class:`menu-icon`}),j(),A(r);var i=B(r,2);qa(R(i),{kind:`document-lines`,class:`menu-icon`}),j(),A(i),A(t),V(()=>n=Z(t,``,n,{top:`${H(m).top??``}px`,left:`${H(m).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(p,null)}),U(`click`,r,()=>g(`__system__`,`settings`)),U(`click`,i,()=>g(`__system__`,`logs`)),K(e,t)},Te=e=>{var t=ib();let n;var r=R(t);qa(R(r),{kind:`folder`,class:`menu-icon`}),j(),A(r);var i=B(r,2);qa(R(i),{kind:`gear`,class:`menu-icon`}),j(),A(i);var a=B(i,2),o=e=>{var t=eb();qa(R(t),{kind:`fork`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>g(H(p),`variants`)),K(e,t)};J(a,e=>{H(y)?.stage!==`seed`&&H(y)?.mindType!==`spirit`&&e(o)});var s=B(a,2);qa(R(s),{kind:`clock`,class:`menu-icon`}),j(),A(s);var c=B(s,2),l=e=>{var t=tb();qa(R(t),{kind:`document-lines`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>g(H(p),`context`)),K(e,t)};J(c,e=>{H(y)?.status===`running`&&e(l)});var u=B(c,4),d=e=>{var t=nb();qa(R(t),{kind:`play`,class:`menu-icon`}),j(),A(t),U(`click`,t,b),K(e,t)},f=e=>{var t=rb(),n=z(t);qa(R(n),{kind:`restart`,class:`menu-icon`}),j(),A(n);var r=B(n,2);qa(R(r),{kind:`stop`,class:`menu-icon`}),j(),A(r),U(`click`,n,S),U(`click`,r,x),K(e,t)};J(u,e=>{H(y)?.status===`stopped`?e(d):e(f,-1)}),A(t),V(()=>n=Z(t,``,n,{top:`${H(m).top??``}px`,left:`${H(m).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(p,null)}),U(`click`,r,()=>g(H(p),`files`)),U(`click`,i,()=>g(H(p),`settings`)),U(`click`,s,()=>g(H(p),`events`)),K(e,t)};J(Ce,e=>{H(p)===`__system__`?e(we):H(p)&&e(Te,1)});var Ee=B(Ce,2),De=e=>{$a(e,{onClose:()=>{I(r,!1)},size:`360px`,title:`Re-authenticate`,children:(e,t)=>{var n=sb();Y(B(R(n),2),17,()=>qf.oauthErrors,ti,(e,t)=>{var n=ob(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=e=>{var n=ab(),r=R(n,!0);A(n),V(()=>q(r,H(t).oauthError)),K(e,n)};J(o,e=>{H(t).oauthError&&e(s)}),A(n),V(()=>q(i,H(t).oauthName??H(t).id)),U(`click`,n,()=>a(H(t).id,H(t).oauthName)),K(e,n)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Ee,e=>{H(r)&&e(De)});var Oe=B(Ee,2),ke=e=>{$a(e,{onClose:()=>{Pf.polling||o()},size:`400px`,get title(){return`Re-authenticate ${Pf.providerName??``}`},children:(e,t)=>{var n=fb(),r=R(n),i=e=>{var t=cb();U(`click`,B(z(t),2),o),K(e,t)},a=e=>{var t=lb(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,Pf.error)),U(`click`,i,o),K(e,t)},s=e=>{var t=db(),n=B(z(t),2),r=e=>{var t=ub(),n=B(z(t),2);Ki(n),Ir(`paste`,n,()=>{setTimeout(()=>{/^https?:\/\//.test(Pf.codeInput.trim())&&Lf()})}),aa(n,()=>Pf.codeInput,e=>Pf.codeInput=e),K(e,t)};J(n,e=>{(Pf.needsCode||Pf.waitingForCode)&&e(r)}),U(`click`,B(n,4),()=>{Rf()}),K(e,t)};J(r,e=>{Pf.success?e(i):Pf.error&&!Pf.polling?e(a,1):e(s,-1)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Oe,e=>{Pf.active&&e(ke)}),V(()=>{O=X(D,1,`section-header-row svelte-1dkz474`,null,O,{active:H(T)}),ie=X(re,1,`section-toggle svelte-1dkz474`,null,ie,{active:H(T)}),oe=X(k,1,`mind-dots-btn svelte-1dkz474`,null,oe,{visible:H(p)===`__system__`})}),U(`click`,re,function(...e){t.onHome?.apply(this,e)}),U(`click`,k,e=>h(e)),U(`click`,de,()=>l(`minds`)),U(`click`,fe,e=>{e.stopPropagation(),t.onSeed()}),U(`click`,ve,()=>l(`channels`)),U(`click`,ye,e=>{e.stopPropagation(),t.onBrowseChannels()}),K(e,E),N()}Lr([`click`,`keydown`]);var hb=W(`<div class="error svelte-159gnuj"> </div>`),gb=W(`<div class="muted svelte-159gnuj">Loading…</div>`),_b=W(`<div class="muted svelte-159gnuj">No events.</div>`),vb=W(`<span class="badge svelte-159gnuj">next-turn</span>`),yb=W(`<span class="badge skipped svelte-159gnuj">skipped</span>`),bb=W(`<span class="badge skipped svelte-159gnuj">dropped</span>`),xb=W(`<span class="badge skipped svelte-159gnuj">expired</span>`),Sb=W(`<span class="badge pending svelte-159gnuj"> </span>`),Cb=W(`<div class="reflection svelte-159gnuj"><span class="reflection-label svelte-159gnuj">Reflection</span> <div class="reflection-body svelte-159gnuj"> </div></div>`),wb=W(`<li class="event-row svelte-159gnuj"><div class="event-head svelte-159gnuj"><span class="event-label svelte-159gnuj"> </span> <!> <!> <span class="event-time svelte-159gnuj"> </span></div> <div class="event-body svelte-159gnuj"> </div> <!></li>`),Tb=W(`<ul class="event-list svelte-159gnuj"></ul>`),Eb=W(`<div class="events svelte-159gnuj"><!> <!> <!></div>`);function Db(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``);async function a(){I(r,!0);try{let e=await Lu(t.name);I(n,e.events,!0),I(i,``)}catch(e){console.error(`Failed to load events:`,e),I(i,e instanceof Error?e.message:`Failed to load events`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,a()});var o=Eb(),s=R(o);no(s,{title:`Events`,subtitle:`System events from this mind's environment — schedule fires, wake summaries, lifecycle notices. Reflections are the mind's private closing thoughts.`});var c=B(s,2),l=e=>{var t=hb(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(c,e=>{H(i)&&e(l)});var u=B(c,2),d=e=>{K(e,gb())},f=e=>{K(e,_b())},p=e=>{var t=Tb();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=wb(),r=R(n),i=R(r),a=R(i,!0);A(i);var o=B(i,2),s=e=>{K(e,vb())};J(o,e=>{H(t).delivery===`next-turn`&&e(s)});var c=B(o,2),l=e=>{K(e,yb())},u=e=>{K(e,bb())},d=e=>{K(e,xb())},f=e=>{var n=Sb(),r=R(n,!0);A(n),V(()=>q(r,H(t).delivery===`immediate`?`undelivered`:`pending`)),K(e,n)};J(c,e=>{H(t).meta?.skipped?e(l):H(t).meta?.dropped?e(u,1):H(t).meta?.expired?e(d,2):H(t).delivered_at||e(f,3)});var p=B(c,2),m=R(p,!0);A(p),A(r);var h=B(r,2),g=R(h,!0);A(h);var _=B(h,2),v=e=>{var n=Cb(),r=B(R(n),2),i=R(r,!0);A(r),A(n),V(()=>q(i,H(t).reflection)),K(e,n)};J(_,e=>{H(t).reflection&&e(v)}),A(n),V(e=>{q(a,H(t).label),q(m,e),q(g,H(t).body)},[()=>Bl(H(t).created_at)]),K(e,n)}),A(t),K(e,t)};J(u,e=>{H(r)?e(d):H(n).length===0?e(f,1):e(p,-1)}),A(o),K(e,o),N()}function Ob(e){try{let t=new Date(e),n=new Date,r=t.getTime()-n.getTime(),i=Math.round(Math.abs(r)/6e4);if(i<1)return`now`;if(i<60){let e=`${i}m`;return r<0?`${e} ago`:`in ${e}`}let a=Math.floor(i/60),o=i%60;if(a<24){let e=o>0?`${a}h ${o}m`:`${a}h`;return r<0?`${e} ago`:`in ${e}`}return t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return e}}function kb(e,t){let n=e.split(` `);if(n.length<5)return e;let[r,i,a,o,s]=n;if(r.startsWith(`*/`)&&i===`*`&&a===`*`&&o===`*`&&s===`*`){let e=+r.slice(2);return e===1?`every minute`:`every ${e} minutes`}if(/^\d+$/.test(r)&&i.startsWith(`*/`)&&a===`*`&&o===`*`&&s===`*`){let e=+i.slice(2);return e===1?`every hour at :${String(+r).padStart(2,`0`)}`:`every ${e} hours`}if(/^\d+$/.test(r)&&/^[\d,]+$/.test(i)&&a===`*`&&o===`*`){let e=i.split(`,`).map(Number),n=+r,a=e.length===1?Ab(e[0],n):e.map(e=>Ab(e,n)).join(`, `),o=t?` ${t}`:``;return s===`*`?`daily at ${a}${o}`:`${jb(s)} at ${a}${o}`}return e}function Ab(e,t){let n=e>=12?`pm`:`am`,r=e%12||12;return t===0?`${r}${n}`:`${r}:${String(t).padStart(2,`0`)}${n}`}function jb(e){let t=[`Sundays`,`Mondays`,`Tuesdays`,`Wednesdays`,`Thursdays`,`Fridays`,`Saturdays`],n=e.split(`,`).map(Number);return n.length===1?t[n[0]]??e:n.length===5&&!n.includes(0)&&!n.includes(6)?`weekdays`:n.length===2&&n.includes(0)&&n.includes(6)?`weekends`:n.map(e=>(t[e]??String(e)).replace(/s$/,``)).join(`, `)}function Mb(e){let t=e.split(` `);if(t.length<5)return null;let[n,r,i,,a]=t;return/^\d+$/.test(n)&&/^\d+$/.test(r)&&i===`*`&&a===`*`?{hour:+r,minute:+n}:null}function Nb(e,t){return`${t} ${e} * * *`}function Pb(e){let t=e.split(` `);if(t.length<5)return{type:`cron`};let[n,r,i,a,o]=t;if(n.startsWith(`*/`)&&r===`*`&&i===`*`&&a===`*`&&o===`*`){let e=+n.slice(2);if(e>=60&&e%60==0)return{type:`hours`,hours:e/60}}if(/^\d+$/.test(n)&&r.startsWith(`*/`)&&i===`*`&&a===`*`&&o===`*`)return{type:`hours`,hours:+r.slice(2)};if(/^\d+$/.test(n)&&/^\d+$/.test(r)&&i===`*`&&a===`*`&&o===`*`)return{type:`daily`,hour:+r,minute:+n};if(/^\d+$/.test(n)&&/^[\d,]+$/.test(r)&&i===`*`&&a===`*`&&o===`*`){let e=r.split(`,`).map(Number);if(e.length>1){let t=e[1]-e[0];if(e.every((n,r)=>r===0||n-e[r-1]===t))return{type:`hours`,hours:t}}return{type:`daily`,hour:e[0],minute:+n}}return{type:`cron`}}function Fb(e,t){return e===`hours`?`0 */${t.hours??4} * * *`:e===`daily`?`${t.minute??0} ${t.hour??12} * * *`:t.cron??``}function Ib(e){return e.messages?.length?e.messages.join(`
|
|
78
|
+
`):e.message??``}function Lb(e){let t=e.split(`
|
|
79
|
+
`).map(e=>e.trim()).filter(Boolean);return t.length===0?{}:t.length===1?{message:t[0]}:{messages:t}}var Rb=W(`<span class="summary-item svelte-lb23vu"><span><!></span> <span class="summary-label svelte-lb23vu"> </span> <span class="summary-detail svelte-lb23vu"> </span></span>`),zb=W(`<span class="summary-sep svelte-lb23vu">·</span>`),Bb=W(`<!> <span class="summary-item svelte-lb23vu"><span><!></span> <span class="summary-label svelte-lb23vu"> </span> <span class="summary-detail svelte-lb23vu"> </span></span>`,1),Vb=W(`<span class="summary-item svelte-lb23vu"><!> <span class="summary-label svelte-lb23vu">Schedule</span></span>`),Hb=W(`<span><!></span>`),Ub=W(`<span class="color-dot svelte-lb23vu"></span>`),Wb=W(`<div><span class="row-name svelte-lb23vu"><!> <span class="clock-label svelte-lb23vu"> </span></span> <span class="row-times svelte-lb23vu"> </span> <span class="row-next svelte-lb23vu"> </span></div>`),Gb=W(`<div class="clock-details svelte-lb23vu"></div>`),Kb=W(`<div class="mind-clock svelte-lb23vu"><button class="clock-summary svelte-lb23vu"><div class="summary-items svelte-lb23vu"><!> <!> <!></div> <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M5 6l3 3 3-3"></path></svg></button> <!></div>`);function qb(e,t){M(t,!0);let n=[`var(--blue)`,`var(--yellow)`,`var(--red)`,`var(--green)`,`var(--purple)`],r={heartbeat:`var(--red)`,pulse:`var(--red)`,dream:`var(--purple)`,dreaming:`var(--purple)`,sleep:`var(--blue)`,wake:`var(--blue)`},i=F(null),a=F(!1);Tn(()=>{Zd(t.name).then(e=>{I(i,e,!0)}).catch(e=>{console.warn(`Failed to load clock status:`,e),I(i,null)})});function o(e){let t=e.toLowerCase();return t===`heartbeat`||t===`pulse`?`heartbeat`:t===`dream`||t===`dreaming`?`dream`:t===`sleep`||t===`wake`?`sleep`:`clock`}function s(e){return e.toLowerCase()in r}let c=new Map;function l(e){let t=e.toLowerCase();if(r[t])return r[t];if(!c.has(t)){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n)|0;c.set(t,n[Math.abs(e)%n.length])}return c.get(t)}function u(e){let t=[];return e.script?t.push(`Script: ${e.script}`):e.messages?.length?t.push(`Messages (rotating):\n${e.messages.join(`
|
|
80
80
|
`)}`):e.message&&t.push(`Message: ${e.message}`),e.channel&&t.push(`Channel: ${e.channel}`),e.whileSleeping&&t.push(`While sleeping: ${e.whileSleeping}`),t.join(`
|
|
81
|
-
`)}let d=P(()=>{let e=H(i)?.timezone;if(!(!e||e===Intl.DateTimeFormat().resolvedOptions().timeZone))try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value}catch{return}});function f(e){try{return new Date(e).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return e}}let p=P(()=>{if(!H(i))return[];let e=[],t=new Map;for(let e of H(i).upcoming)t.has(e.id)||t.set(e.id,e.at);if(H(i).sleep?.sleeping){let t=H(i).sleep.scheduledWakeAt??H(i).sleep.voluntaryWakeAt;e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`sleeping now`,next:t?`wake ${Cb(t)}`:``,disabled:!1,tooltip:``})}else if(H(i).sleepConfig?.enabled&&H(i).sleepConfig.schedule){let n=H(i).sleepConfig.schedule,r=t.get(`sleep`);e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`${wb(n.sleep,H(d))} \u2192 ${wb(n.wake,H(d))}`,next:r?Cb(r):``,disabled:!1,tooltip:``})}for(let n of H(i).schedules){let r=``;n.cron?r=wb(n.cron,H(d)):n.fireAt&&(r=f(n.fireAt));let i=t.get(n.id);e.push({id:n.id,icon:o(n.id),color:l(n.id),times:r,next:i?Cb(i):``,disabled:!n.enabled,tooltip:u(n)})}return e}),m=P(()=>{if(!H(i))return null;if(H(i).sleep?.sleeping){if(H(i).sleep.wokenByTrigger)return{icon:`sleep`,label:`Briefly awake`,color:l(`wake`),detail:`trigger · sleeps when idle`};let e=H(i).sleep.scheduledWakeAt??H(i).sleep.voluntaryWakeAt;return{icon:`sleep`,label:`Sleeping`,color:l(`sleep`),detail:e?`wake ${Cb(e)}`:`now`}}if(H(i).previous?.length>0){let e=H(i).previous[0];return{icon:o(e.id),label:e.id,color:l(e.id),detail:Cb(e.at)}}return null}),h=P(()=>{if(!H(i))return null;let e=H(i).sleep?.sleeping,t=H(i).upcoming.find(t=>!(e&&t.id===`wake`));return t?{icon:o(t.id),label:t.id,color:l(t.id),detail:Cb(t.at)}:null}),g=P(()=>H(i)&&(H(i).schedules.length>0||H(i).sleep?.sleeping||H(i).sleepConfig?.enabled));var _=G(),v=z(_),y=e=>{var t=Vb(),n=R(t),r=R(n),i=R(r),o=e=>{var t=Nb(),n=R(t);let r;qa(R(n),{get kind(){return H(m).icon},class:`summary-icon`}),A(n);var i=B(n,2);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(t),V(()=>{r=Z(n,``,r,{color:H(m).color}),a=Z(i,``,a,{color:H(m).color}),q(o,H(m).label),q(c,H(m).detail)}),K(e,t)};J(i,e=>{H(m)&&e(o)});var c=B(i,2),l=e=>{var t=Fb(),n=z(t),r=e=>{K(e,Pb())};J(n,e=>{H(m)&&e(r)});var i=B(n,2),a=R(i);let o;qa(R(a),{get kind(){return H(h).icon},class:`summary-icon`}),A(a);var s=B(a,2);let c;var l=R(s,!0);A(s);var u=B(s,2),d=R(u,!0);A(u),A(i),V(()=>{o=Z(a,``,o,{color:H(h).color}),c=Z(s,``,c,{color:H(h).color}),q(l,H(h).label),q(d,H(h).detail)}),K(e,t)};J(c,e=>{H(h)&&e(l)});var u=B(c,2),d=e=>{var t=Ib();qa(R(t),{kind:`clock`,class:`summary-icon`}),j(2),A(t),K(e,t)};J(u,e=>{!H(m)&&!H(h)&&e(d)}),A(r);var f=B(r,2);let g;A(n);var _=B(n,2),v=e=>{var t=Bb();Y(t,21,()=>H(p),e=>e.id,(e,t)=>{var n=zb();let r;var i=R(n),a=R(i),o=e=>{var n=Lb();let r;qa(R(n),{get kind(){return H(t).icon},class:`clock-icon`}),A(n),V(()=>r=Z(n,``,r,{color:H(t).color})),K(e,n)},c=P(()=>s(H(t).id)),l=e=>{var n=Rb();let r;V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)};J(a,e=>{H(c)?e(o):e(l,-1)});var u=B(a,2);let d;var f=R(u,!0);A(u),A(i);var p=B(i,2),m=R(p,!0);A(p);var h=B(p,2),g=R(h,!0);A(h),A(n),V(()=>{r=X(n,1,`clock-row svelte-lb23vu`,null,r,{disabled:H(t).disabled}),Xi(n,`title`,H(t).tooltip),d=Z(u,``,d,{color:H(t).color}),q(f,H(t).id),q(m,H(t).times),q(g,H(t).next)}),K(e,n)}),A(t),K(e,t)};J(_,e=>{H(a)&&e(v)}),A(t),V(()=>g=X(f,0,`expand-chevron svelte-lb23vu`,null,g,{expanded:H(a)})),U(`click`,n,()=>I(a,!H(a))),K(e,t)};J(v,e=>{H(i)&&H(g)&&e(y)}),K(e,_),N()}Lr([`click`]);var Ub=W(`<button class="floating-btn svelte-chl8f0" aria-label="Chat"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-chl8f0"><path d="M2 3h12v8H5l-3 3V3z"></path></svg></button>`),Wb=W(`<button class="floating-btn svelte-chl8f0" aria-label="Expand"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-chl8f0"><path d="M6 7.414V9a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1-1.414 1.414L6 7.414zM15 6a1 1 0 1 1 0-2h4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V7.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L16.586 6H15zM5 14a1 1 0 0 1 1 1v1.586l2.293-2.293a1 1 0 0 1 1.414 1.414L7.414 18H9a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1zm9.293 1.707a1 1 0 0 1 1.414-1.414L18 16.586V15a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h1.586l-2.293-2.293z"></path></svg></button>`),Gb=W(`<div class="floating-btns svelte-chl8f0"><!> <!></div>`),Kb=W(`<img alt="" class="profile-avatar svelte-chl8f0" loading="lazy" decoding="async"/>`),qb=W(`<p class="profile-description svelte-chl8f0"> </p>`),Jb=W(`<div class="mind-panel svelte-chl8f0"><!> <div class="panel-body svelte-chl8f0"><div class="profile-section svelte-chl8f0"><!> <span class="profile-name svelte-chl8f0"><span></span> </span> <!></div> <!> <div class="history-section svelte-chl8f0"><!></div></div></div>`);function Yb(e,t){M(t,!0);let n=P(()=>qf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>Jf.has(H(n).name));var i=Jb(),a=R(i),o=e=>{var n=Gb(),r=R(n),i=e=>{var n=Ub();Si(n,(e,t)=>Il?.(e,t),()=>({text:`Chat`,position:`right`})),U(`click`,n,function(...e){t.onChat?.apply(this,e)}),K(e,n)};J(r,e=>{t.onChat&&e(i)});var a=B(r,2),o=e=>{var n=Wb();Si(n,(e,t)=>Il?.(e,t),()=>({text:`Expand`,position:`right`})),U(`click`,n,function(...e){t.onExpand?.apply(this,e)}),K(e,n)};J(a,e=>{t.onExpand&&e(o)}),A(n),K(e,n)};J(a,e=>{(t.onChat||t.onExpand)&&e(o)});var s=B(a,2),c=R(s),l=R(c),u=e=>{var t=Kb();V(e=>Xi(t,`src`,e),[()=>`/api/minds/${encodeURIComponent(H(n).name)}/avatar`]),K(e,t)};J(l,e=>{H(n).avatar&&e(u)});var d=B(l,2),f=R(d);let p,m;var h=B(f);A(d);var g=B(d,2),_=e=>{var t=qb(),r=R(t,!0);A(t),V(()=>q(r,H(n).description)),K(e,t)};J(g,e=>{H(n).description&&e(_)}),A(c);var v=B(c,2);Hb(v,{get name(){return H(n).name}});var y=B(v,2);fy(R(y),{get name(){return H(n).name},get mindStatus(){return H(n).status}}),A(y),A(s),A(i),V(e=>{p=X(f,1,`status-dot svelte-chl8f0`,null,p,{iridescent:H(r)}),m=Z(f,``,m,e),q(h,` ${H(n).displayName??H(n).name??``}`)},[()=>({background:H(r)?void 0:Ll(H(n))})]),K(e,i),N()}Lr([`click`]);var Xb=W(`<span class="template-badge svelte-ei9umb"> </span>`),Zb=W(`<!> <button class="setting-hint-btn svelte-ei9umb">back</button>`,1),Qb=W(`<option> </option>`),$b=W(`<option>--</option> <!> <option>other...</option>`,1),ex=W(`<div class="slider-control svelte-ei9umb"><input type="range" class="thinking-slider svelte-ei9umb" min="0" max="5" step="1"/> <span> </span></div>`),tx=W(`<!> <span class="setting-hint svelte-ei9umb">per</span> <!> <span class="setting-hint svelte-ei9umb">min</span>`,1),nx=W(`<!> <span class="setting-hint svelte-ei9umb">tokens</span>`,1),rx=W(`<!> <!>`,1),ix=W(`<!> <!> <!> <!> <!> <!>`,1);function ax(e,t){M(t,!0);let n=pa(t,`hideBudget`,3,!1),r=F(null),i=F(L([])),a=F(``),o=F(0),s=F(``),c=F(``),l=F(``),u=F(!1),d=F(``),f=F(null),p=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],m={claude:[`anthropic`],codex:[`openai-codex`],pi:[]},h=P(()=>t.template?m[t.template]??[]:[]),g=P(()=>H(i).filter(e=>e.enabled).filter(e=>H(h).length===0||H(h).includes(e.provider)));function _(e){return e?H(g).some(t=>t.id===e)?e:H(g).find(t=>t.id.startsWith(e)||e.startsWith(t.id))?.id??e:``}Tn(()=>{if(H(g).length>0&&H(a)){let e=_(H(a));e!==H(a)&&I(a,e,!0)}});let v=P(()=>H(a)!==``&&!H(g).some(e=>e.id===H(a))),y=P(()=>p[H(o)]);function b(e){I(a,e.config.model??``,!0);let t=e.config.thinkingLevel??`off`;I(o,Math.max(0,p.indexOf(t)),!0),I(s,e.config.tokenBudget==null?``:String(e.config.tokenBudget),!0),I(c,e.config.tokenBudgetPeriodMinutes==null?``:String(e.config.tokenBudgetPeriodMinutes),!0),I(l,e.config.compaction?.maxContextTokens==null?``:String(e.config.compaction.maxContextTokens),!0),I(u,e.config.unescapeNewlines??!1,!0)}function x(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}async function S(e,n){I(f,e,!0),I(d,``);try{await n();let e=await Vu(t.name);I(r,e,!0),b(e)}catch(e){I(d,e instanceof Error?e.message:`Save failed`,!0)}I(f,null)}function C(e){I(a,e,!0),e&&S(`model`,()=>Hu(t.name,{model:e}))}function w(){S(`thinking`,()=>Hu(t.name,{thinkingLevel:p[H(o)]}))}function T(){S(`budget`,()=>Hu(t.name,{tokenBudget:x(H(s))}))}function E(){S(`period`,()=>Hu(t.name,{tokenBudgetPeriodMinutes:x(H(c))}))}function ee(){S(`compaction`,()=>Hu(t.name,{compaction:{maxContextTokens:x(H(l))}}))}function te(){I(u,!H(u)),S(`unescapeNewlines`,()=>Hu(t.name,{unescapeNewlines:H(u)}))}function ne(e){let t=e.target.value;t===`__other__`?I(a,``):C(t)}function D(e){I(o,parseInt(e.target.value,10),!0),w()}ma(async()=>{try{let[e,n]=await Promise.all([Vu(t.name),wd()]);I(r,e,!0),I(i,n,!0),b(e)}catch(e){I(d,e instanceof Error?e.message:`Failed to load config`,!0)}});var O=G(),re=z(O),ie=e=>{var r=ix(),i=z(r),f=e=>{co(e,{label:`Template`,children:(e,n)=>{var r=Xb(),i=R(r,!0);A(r),V(()=>q(i,t.template)),K(e,r)},$$slots:{default:!0}})};J(i,e=>{t.template&&e(f)});var p=B(i,2);co(p,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),i=e=>{var t=Zb(),n=z(t);Xa(n,{type:`text`,onblur:()=>C(H(a)),placeholder:`Model ID`,get value(){return H(a)},set value(e){I(a,e,!0)}}),U(`click`,B(n,2),()=>{I(a,H(g)[0]?.id??``,!0),H(a)&&C(H(a))}),K(e,t)},o=e=>{oo(e,{get value(){return H(a)},onchange:ne,children:(e,t)=>{var n=$b(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(g),e=>e.id,(e,t)=>{var n=Qb(),r=R(n,!0);A(n);var i={};V(()=>{q(r,H(t).name),i!==(i=H(t).id)&&(n.value=(n.__value=H(t).id)??``)}),K(e,n)});var a=B(i,2);a.value=a.__value=`__other__`,K(e,n)},$$slots:{default:!0}})};J(r,e=>{H(v)?e(i):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var m=B(p,2);co(m,{label:`Thinking`,children:(e,t)=>{var n=ex(),r=R(n);Ki(r);var i=B(r,2);let a;var s=R(i,!0);A(i),A(n),V(()=>{qi(r,H(o)),a=X(i,1,`slider-label svelte-ei9umb`,null,a,{off:H(o)===0}),q(s,H(y))}),U(`change`,r,D),K(e,n)},$$slots:{default:!0}});var h=B(m,2),_=e=>{var t=rx(),n=z(t);co(n,{label:`Budget`,children:(e,t)=>{var n=tx(),r=z(n);Xa(r,{type:`number`,width:`80px`,onblur:T,placeholder:`tokens`,get value(){return H(s)},set value(e){I(s,e,!0)}}),Xa(B(r,4),{type:`number`,width:`80px`,onblur:E,placeholder:`min`,get value(){return H(c)},set value(e){I(c,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),co(B(n,2),{label:`Context`,children:(e,t)=>{var n=nx();Xa(z(n),{type:`number`,width:`80px`,onblur:ee,placeholder:`150000`,get value(){return H(l)},set value(e){I(l,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,t)};J(h,e=>{n()||e(_)});var b=B(h,2);co(b,{label:`Fix newlines`,children:(e,t)=>{Co(e,{get checked(){return H(u)},onchange:te,label:`Unescape \\\\n in messages`})},$$slots:{default:!0}}),Ca(B(b,2),{get message(){return H(d)}}),K(e,r)};J(re,e=>{H(r)&&e(ie)}),K(e,O),N()}Lr([`click`,`change`]);var ox=W(`<div class="env-add-row svelte-1hrpqbw"><!> <!> <!> <!></div>`),sx=W(`<span class="env-key svelte-1hrpqbw"> </span> <!> <!> <!>`,1),cx=W(`<span class="env-source svelte-1hrpqbw">shared</span>`),lx=W(`<span class="env-key svelte-1hrpqbw"> <!></span> <span><!></span> <!> <!> <!>`,1),ux=W(`<div class="env-row svelte-1hrpqbw"><!></div>`),dx=W(`<div class="env-list svelte-1hrpqbw"></div>`),fx=W(`<!> <!> <!>`,1);function px(e,t){M(t,!0);let n=F(null),r=F(``),i=F(null),a=new Gl,o=F(!1),s=F(``),c=F(``),l=F(null),u=F(``),d=P(()=>{if(!H(n))return[];let e=[];for(let[t,r]of Object.entries(H(n).shared))e.push({key:t,value:r,source:`shared`});for(let[t,r]of Object.entries(H(n).mind)){let n=e.findIndex(e=>e.key===t);n>=0?e[n]={key:t,value:r,source:`mind`}:e.push({key:t,value:r,source:`mind`})}return e.sort((e,t)=>e.key.localeCompare(t.key))});async function f(){try{I(n,await Uu(t.name),!0),I(r,``)}catch(e){I(r,e instanceof Error?e.message:`Failed to load environment`,!0)}}ma(()=>{f()});function p(e){a.has(e)?a.delete(e):a.add(e)}function m(e,t){I(l,e,!0),I(u,t,!0)}async function h(){if(H(l)){I(i,`env:${H(l)}`),I(r,``);try{await Wu(t.name,H(l),H(u)),I(n,await Uu(t.name),!0),I(l,null),I(u,``)}catch(e){I(r,e instanceof Error?e.message:`Failed to save`,!0)}I(i,null)}}async function g(e,a){I(i,`env:${e}`),I(r,``);try{a===`shared`?await Ku(e):await Gu(t.name,e),I(n,await Uu(t.name),!0)}catch(e){I(r,e instanceof Error?e.message:`Failed to delete`,!0)}I(i,null)}async function _(){if(H(s).trim()){I(i,`env:add`),I(r,``);try{await Wu(t.name,H(s).trim(),H(c)),I(n,await Uu(t.name),!0),I(s,``),I(c,``),I(o,!1)}catch(e){I(r,e instanceof Error?e.message:`Failed to add`,!0)}I(i,null)}}function v(e,t){e.key===`Enter`&&t()}uo(e,{title:`Environment Variables`,action:e=>{_a(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Kr(`Add`))},$$slots:{default:!0}})},children:(e,t)=>{var n=fx(),f=z(n);Ca(f,{get message(){return H(r)}});var y=B(f,2),b=e=>{var t=ox(),n=R(t);Xa(n,{variant:`mono`,type:`text`,width:`120px`,placeholder:`KEY`,onkeydown:e=>v(e,_),get value(){return H(s)},set value(e){I(s,e,!0)}});var r=B(n,2);Xa(r,{variant:`mono`,type:`text`,style:`flex:1`,placeholder:`value`,onkeydown:e=>v(e,_),get value(){return H(c)},set value(e){I(c,e,!0)}});var a=B(r,2);{let e=P(()=>H(i)!==null);_a(a,{variant:`primary`,onclick:_,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(i)===`env:add`?`...`:`Add`)),K(e,n)},$$slots:{default:!0}})}_a(B(a,2),{variant:`secondary`,onclick:()=>I(o,!1),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(t),K(e,t)};J(y,e=>{H(o)&&e(b)});var x=B(y,2),S=e=>{xa(e,{message:`No environment variables set.`})},C=e=>{var t=dx();Y(t,21,()=>H(d),e=>e.key,(e,t)=>{var n=ux(),r=R(n),o=e=>{var n=sx(),r=z(n),a=R(r,!0);A(r);var o=B(r,2);Xa(o,{variant:`mono`,type:`text`,style:`flex:1`,onkeydown:e=>v(e,h),get value(){return H(u)},set value(e){I(u,e,!0)}});var s=B(o,2);{let e=P(()=>H(i)!==null);_a(s,{variant:`primary`,onclick:h,get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(i)===`env:${H(t).key}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}_a(B(s,2),{variant:`secondary`,onclick:()=>I(l,null),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),V(()=>q(a,H(t).key)),K(e,n)},s=e=>{var n=lx(),r=z(n),o=R(r),s=B(o),c=e=>{K(e,cx())};J(s,e=>{H(t).source===`shared`&&e(c)}),A(r);var l=B(r,2);let u;var d=R(l),f=e=>{var n=Kr();V(()=>q(n,H(t).value)),K(e,n)},h=P(()=>a.has(H(t).key)),_=e=>{K(e,Kr(`••••••••`))};J(d,e=>{H(h)?e(f):e(_,-1)}),A(l);var v=B(l,2);_a(v,{variant:`icon`,onclick:()=>p(H(t).key),title:`Toggle visibility`,children:(e,n)=>{j();var r=Kr();V(e=>q(r,e),[()=>a.has(H(t).key)?`Hide`:`Show`]),K(e,r)},$$slots:{default:!0}});var y=B(v,2),b=e=>{_a(e,{variant:`icon`,onclick:()=>m(H(t).key,H(t).value),title:`Edit`,children:(e,t)=>{j(),K(e,Kr(`Edit`))},$$slots:{default:!0}})};J(y,e=>{H(t).source===`mind`&&e(b)});var x=B(y,2);{let e=P(()=>H(i)!==null);_a(x,{variant:`icon`,onclick:()=>g(H(t).key,H(t).source),get disabled(){return H(e)},title:`Delete`,children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(i)===`env:${H(t).key}`?`...`:`Del`)),K(e,r)},$$slots:{default:!0}})}V(e=>{q(o,`${H(t).key??``} `),u=X(l,1,`env-value svelte-1hrpqbw`,null,u,e)},[()=>({masked:!a.has(H(t).key)})]),K(e,n)};J(r,e=>{H(l)===H(t).key?e(o):e(s,-1)}),A(n),K(e,n)}),A(t),K(e,t)};J(x,e=>{H(d).length===0?e(S):e(C,-1)}),K(e,n)},$$slots:{action:!0,default:!0}}),N()}function mx(e,t){px(e,{get name(){return t.name}})}function hx(){let e=F(null),t=null;function n(n){t&&clearTimeout(t),I(e,n,!0),t=setTimeout(()=>{I(e,null),t=null},1500)}return{get savedField(){return H(e)},showSaved:n}}var gx=W(`<img alt="" class="avatar-img svelte-1ezxk1u" loading="lazy" decoding="async"/>`),_x=W(`<div class="avatar-placeholder svelte-1ezxk1u">?</div>`),vx=W(`<span class="saved-indicator svelte-1ezxk1u">Saved</span>`),yx=W(`<div class="profile-fields svelte-1ezxk1u"><div class="field-row svelte-1ezxk1u"><span class="field-label svelte-1ezxk1u">Avatar</span> <button type="button" class="avatar-wrapper svelte-1ezxk1u"><!> <div class="avatar-overlay svelte-1ezxk1u">Change</div> <input type="file" accept="image/*" hidden="" class="svelte-1ezxk1u"/></button></div> <div class="field-row svelte-1ezxk1u"><label class="field-label svelte-1ezxk1u" for="profile-display-name">Display name</label> <div class="field-input-wrap svelte-1ezxk1u"><input id="profile-display-name" type="text" class="svelte-1ezxk1u"/> <!></div></div> <div class="field-row svelte-1ezxk1u"><label class="field-label svelte-1ezxk1u" for="profile-description">Description</label> <div class="field-input-wrap svelte-1ezxk1u"><textarea id="profile-description" rows="2" placeholder="A short description" class="svelte-1ezxk1u"></textarea> <!></div></div></div>`);function bx(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),{savedField:a,showSaved:o}=hx();Tn(()=>{I(n,t.mind.displayName??``,!0),I(r,t.mind.description??``,!0)});async function s(e){let n=e.target,r=n.files?.[0];r&&(await cf(t.mind.name,r),qf.minds=await mu(),t.onUpdated(),n.value=``)}async function c(){let e=H(n).trim();e!==(t.mind.displayName??``)&&(await sf(t.mind.name,{displayName:e}),o(`displayName`),t.onUpdated())}async function l(){let e=H(r).trim();e!==(t.mind.description??``)&&(await sf(t.mind.name,{description:e}),o(`description`),t.onUpdated())}uo(e,{title:`Profile`,subtitle:`Avatar, display name, and description`,children:(e,o)=>{var u=yx(),d=R(u),f=B(R(d),2),p=R(f),m=e=>{var n=gx();V(e=>Xi(n,`src`,e),[()=>`/api/minds/${encodeURIComponent(t.mind.name)}/avatar`]),K(e,n)},h=e=>{K(e,_x())};J(p,e=>{t.mind.avatar?e(m):e(h,-1)});var g=B(p,4);ua(g,e=>I(i,e),()=>H(i)),A(f),A(d);var _=B(d,2),v=B(R(_),2),y=R(v);Ki(y);var b=B(y,2),x=e=>{K(e,vx())};J(b,e=>{a===`displayName`&&e(x)}),A(v),A(_);var S=B(_,2),C=B(R(S),2),w=R(C);hn(w);var T=B(w,2),E=e=>{K(e,vx())};J(T,e=>{a===`description`&&e(E)}),A(C),A(S),A(u),V(()=>Xi(y,`placeholder`,t.mind.name)),U(`click`,f,()=>H(i)?.click()),U(`change`,g,s),Ir(`blur`,y,c),aa(y,()=>H(n),e=>I(n,e)),Ir(`blur`,w,l),aa(w,()=>H(r),e=>I(r,e)),K(e,u)},$$slots:{default:!0}}),N()}Lr([`click`,`change`]);var xx=W(`<div class="cron-preview svelte-1u04gr6"> </div>`),Sx=W(`<div class="sleep-summary svelte-1u04gr6"><span class="sleep-desc svelte-1u04gr6">Custom schedule</span> <!></div> <div class="cron-row svelte-1u04gr6"><span class="cron-label svelte-1u04gr6">Sleep at</span> <!></div> <!> <div class="cron-row svelte-1u04gr6"><span class="cron-label svelte-1u04gr6">Wake at</span> <!></div> <!>`,1),Cx=W(`<div class="sleep-summary svelte-1u04gr6"><span class="sleep-desc svelte-1u04gr6"> </span> <!></div> <!> <!>`,1),wx=W(`<!> <div class="wake-triggers svelte-1u04gr6"><div class="subsection-header small svelte-1u04gr6">What wakes the mind early</div> <div class="trigger-row svelte-1u04gr6"><!></div> <div class="trigger-row svelte-1u04gr6"><!></div> <div class="trigger-row svelte-1u04gr6"><span class="trigger-text svelte-1u04gr6">Channels</span> <!></div> <div class="trigger-row svelte-1u04gr6"><span class="trigger-text svelte-1u04gr6">Senders</span> <!></div></div>`,1),Tx=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),Ex=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <span class="form-hint svelte-1u04gr6">Every</span> <!> <span class="form-hint svelte-1u04gr6">hours</span></div>`),Dx=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <span class="form-hint svelte-1u04gr6">At</span> <!></div>`),Ox=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <!></div>`),kx=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),Ax=W(`<div class="schedule-form svelte-1u04gr6"><div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Name</span> <!></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Frequency</span> <!></div> <!> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Message</span> <textarea class="message-input svelte-1u04gr6" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">If sleeping</span> <!></div> <div class="form-actions svelte-1u04gr6"><!> <!></div></div>`),jx=W(`<div class="schedule-card editing svelte-1u04gr6"><div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Frequency</span> <!></div> <!> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Message</span> <textarea class="message-input svelte-1u04gr6" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">If sleeping</span> <!></div> <div class="form-actions svelte-1u04gr6"><!> <!></div></div>`),Mx=W(`<div class="schedule-message svelte-1u04gr6"> </div>`),Nx=W(`<div><div class="schedule-top svelte-1u04gr6"><span class="schedule-name svelte-1u04gr6"> </span> <span class="schedule-freq svelte-1u04gr6"><!></span> <div class="schedule-actions svelte-1u04gr6"><!> <!> <!></div></div> <!></div>`),Px=W(`<div class="schedule-list svelte-1u04gr6"></div>`),Fx=W(`<!> <div class="subsection svelte-1u04gr6"><div class="subsection-header svelte-1u04gr6"><span>Sleep</span> <!></div> <!></div> <div class="subsection svelte-1u04gr6"><div class="subsection-header svelte-1u04gr6"><span>Schedules</span> <!></div> <!> <!></div>`,1);function Ix(e,t){M(t,!0);let n=F(null),r=F(L([])),i=F(``),a=F(!0),o=F(0),s=F(0),c=F(8),l=F(0),u=F(!1),d=F(``),f=F(``),p=F(L(Qd.mentions)),m=F(L(Qd.dms)),h=F(``),g=F(``),_=F(!1),v=F(``),y=F(`daily`),b=F(4),x=F(12),S=F(0),C=F(``),w=F(``),T=F(`skip`),E=F(null),ee=F(`cron`),te=F(4),ne=F(12),D=F(0),O=F(``),re=F(``),ie=F(`skip`),ae=F(!0),k=F(null);function oe(e){I(n,e,!0),I(d,e.schedule?.sleep??``,!0),I(f,e.schedule?.wake??``,!0);let t=Db(H(d)),r=Db(H(f));t&&r?(I(o,t.hour,!0),I(s,t.minute,!0),I(c,r.hour,!0),I(l,r.minute,!0),I(u,!1)):(H(d)||H(f))&&I(u,!0),I(p,e.wakeTriggers?.mentions??Qd.mentions,!0),I(m,e.wakeTriggers?.dms??Qd.dms,!0),I(h,(e.wakeTriggers?.channels??[]).join(`, `),!0),I(g,(e.wakeTriggers?.senders??[]).join(`, `),!0)}async function se(){try{let[e,n]=await Promise.all([$d(t.name),tf(t.name)]);oe(e),I(r,n,!0),I(i,``)}catch{I(i,`Failed to load configuration`)}I(a,!1)}ma(()=>{se()});async function ce(){if(!H(n))return;let e=!H(n).enabled;I(k,`sleep-toggle`);try{await ef(t.name,{enabled:e}),I(n,{...H(n),enabled:e},!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function le(){let e=H(u)?H(d):Ob(H(o),H(s)),r=H(u)?H(f):Ob(H(c),H(l));I(k,`sleep-cron`);try{await ef(t.name,{schedule:{sleep:e,wake:r}}),H(n)&&I(n,{...H(n),schedule:{sleep:e,wake:r}},!0),I(d,e,!0),I(f,r,!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function ue(){I(k,`wake-triggers`);try{let e=H(h).split(`,`).map(e=>e.trim()).filter(Boolean),r=H(g).split(`,`).map(e=>e.trim()).filter(Boolean);await ef(t.name,{wakeTriggers:{mentions:H(p),dms:H(m),channels:e.length?e:void 0,senders:r.length?r:void 0}}),H(n)&&I(n,{...H(n),wakeTriggers:{mentions:H(p),dms:H(m),channels:e,senders:r}},!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function de(e){I(k,`sched:${e.id}`);try{await rf(t.name,e.id,{enabled:!e.enabled}),I(r,H(r).map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t),!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}function fe(e){I(E,e.id,!0);let t=e.cron?kb(e.cron):{type:`daily`};I(ee,t.type,!0),I(te,t.hours??4,!0),I(ne,t.hour??12,!0),I(D,t.minute??0,!0),I(O,e.cron??``,!0),I(re,jb(e)||(e.script??``),!0),I(ie,e.whileSleeping??`skip`,!0),I(ae,e.enabled,!0)}async function pe(){if(!H(E))return;let e=Ab(H(ee),{hours:H(te),hour:H(ne),minute:H(D),cron:H(O)});I(k,`sched:${H(E)}`);let n=Mb(H(re));try{await rf(t.name,H(E),{cron:e||void 0,...n,whileSleeping:H(ie),enabled:H(ae)}),I(r,H(r).map(t=>t.id===H(E)?{...t,cron:e,message:void 0,messages:void 0,...n,whileSleeping:H(ie),enabled:H(ae)}:t),!0),I(E,null),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to save`,!0)}I(k,null)}async function me(){if(!H(v).trim())return;let e=Ab(H(y),{hours:H(b),hour:H(x),minute:H(S),cron:H(C)});I(k,`sched:add`);try{await nf(t.name,{id:H(v).trim(),cron:e||void 0,...Mb(H(w)),whileSleeping:H(T),enabled:!0}),I(r,await tf(t.name),!0),I(v,``),I(y,`daily`),I(b,4),I(x,12),I(S,0),I(C,``),I(w,``),I(T,`skip`),I(_,!1),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to add`,!0)}I(k,null)}async function he(e){I(k,`sched:${e}`);try{await af(t.name,e),I(r,H(r).filter(t=>t.id!==e),!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to delete`,!0)}I(k,null)}var ge=Fx(),_e=z(ge);Ca(_e,{get message(){return H(i)}});var ve=B(_e,2),ye=R(ve),be=B(R(ye),2);{let e=P(()=>H(n)?.enabled??!1),t=P(()=>H(n)?.enabled?`On`:`Off`);Co(be,{get checked(){return H(e)},onchange:ce,get label(){return H(t)}})}A(ye);var xe=B(ye,2),Se=e=>{var t=wx(),n=z(t),r=e=>{var t=Sx(),n=z(t);_a(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!1),le()},children:(e,t)=>{j(),K(e,Kr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);Xa(B(R(r),2),{variant:`mono`,style:`flex:1`,onblur:le,placeholder:`0 0 * * *`,get value(){return H(d)},set value(e){I(d,e,!0)}}),A(r);var i=B(r,2),a=e=>{var t=xx(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>wb(H(d))]),K(e,t)};J(i,e=>{H(d)&&e(a)});var o=B(i,2);Xa(B(R(o),2),{variant:`mono`,style:`flex:1`,onblur:le,placeholder:`0 8 * * *`,get value(){return H(f)},set value(e){I(f,e,!0)}}),A(o);var s=B(o,2),c=e=>{var t=xx(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>wb(H(f))]),K(e,t)};J(s,e=>{H(f)&&e(c)}),K(e,t)},i=e=>{var t=Cx(),n=z(t),r=R(n),i=R(r);A(r),_a(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!0),I(d,Ob(H(o),H(s)),!0),I(f,Ob(H(c),H(l)),!0)},children:(e,t)=>{j(),K(e,Kr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);bo(a,{label:`Sleep at`,onchange:le,get hour(){return H(o)},set hour(e){I(o,e,!0)},get minute(){return H(s)},set minute(e){I(s,e,!0)}}),bo(B(a,2),{label:`Wake at`,onchange:le,get hour(){return H(c)},set hour(e){I(c,e,!0)},get minute(){return H(l)},set minute(e){I(l,e,!0)}}),V((e,t)=>q(i,`Sleeps at ${e??``}, wakes at ${t??``}`),[()=>Tb(H(o),H(s)),()=>Tb(H(c),H(l))]),K(e,t)};J(n,e=>{H(u)?e(r):e(i,-1)});var a=B(n,2),_=B(R(a),2);Co(R(_),{get checked(){return H(p)},onchange:()=>{I(p,!H(p)),ue()},label:`When mentioned`}),A(_);var v=B(_,2);Co(R(v),{get checked(){return H(m)},onchange:()=>{I(m,!H(m)),ue()},label:`Direct messages`}),A(v);var y=B(v,2);Xa(B(R(y),2),{type:`text`,style:`flex:1`,placeholder:`channel1, channel2`,onblur:ue,get value(){return H(h)},set value(e){I(h,e,!0)}}),A(y);var b=B(y,2);Xa(B(R(b),2),{type:`text`,style:`flex:1`,placeholder:`user1, user2`,onblur:ue,get value(){return H(g)},set value(e){I(g,e,!0)}}),A(b),A(a),K(e,t)};J(xe,e=>{H(n)?.enabled&&e(Se)}),A(ve);var Ce=B(ve,2),we=R(Ce);_a(B(R(we),2),{variant:`primary`,onclick:()=>I(_,!0),children:(e,t)=>{j(),K(e,Kr(`Add`))},$$slots:{default:!0}}),A(we);var Te=B(we,2),Ee=e=>{var t=Ax(),n=R(t);Xa(B(R(n),2),{type:`text`,style:`flex:1`,placeholder:`e.g. heartbeat`,get value(){return H(v)},set value(e){I(v,e,!0)}}),A(n);var r=B(n,2);oo(B(R(r),2),{get value(){return H(y)},set value(e){I(y,e,!0)},children:(e,t)=>{var n=Tx(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(r);var i=B(r,2),a=e=>{var t=Ex();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(b)},set value(e){I(b,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=Dx();bo(B(R(t),4),{get hour(){return H(x)},set hour(e){I(x,e,!0)},get minute(){return H(S)},set minute(e){I(S,e,!0)}}),A(t),K(e,t)},s=e=>{var t=Ox();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(C)},set value(e){I(C,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(y)===`hours`?e(a):H(y)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);hn(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(T)},set value(e){I(T,e,!0)},children:(e,t)=>{var n=kx(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>H(k)!==null||!H(v).trim());_a(f,{variant:`primary`,onclick:me,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(k)===`sched:add`?`...`:`Add schedule`)),K(e,n)},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(_,!1),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(d),A(t),aa(l,()=>H(w),e=>I(w,e)),K(e,t)};J(Te,e=>{H(_)&&e(Ee)});var De=B(Te,2),Oe=e=>{xa(e,{message:`No schedules configured.`})},ke=e=>{var t=Px();Y(t,21,()=>H(r),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=jx(),r=R(n);oo(B(R(r),2),{get value(){return H(ee)},set value(e){I(ee,e,!0)},children:(e,t)=>{var n=Tx(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(r);var i=B(r,2),a=e=>{var t=Ex();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(te)},set value(e){I(te,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=Dx();bo(B(R(t),4),{get hour(){return H(ne)},set hour(e){I(ne,e,!0)},get minute(){return H(D)},set minute(e){I(D,e,!0)}}),A(t),K(e,t)},s=e=>{var t=Ox();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(O)},set value(e){I(O,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(ee)===`hours`?e(a):H(ee)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);hn(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(ie)},set value(e){I(ie,e,!0)},children:(e,t)=>{var n=kx(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>H(k)!==null);_a(f,{variant:`primary`,onclick:pe,get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(k)===`sched:${H(t).id}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(E,null),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(d),A(n),aa(l,()=>H(re),e=>I(re,e)),K(e,n)},a=e=>{var n=Nx();let r;var i=R(n),a=R(i),o=R(a,!0);A(a);var s=B(a,2),c=R(s),l=e=>{var n=Kr();V(e=>q(n,e),[()=>wb(H(t).cron)]),K(e,n)},u=e=>{K(e,Kr(`one-time`))},d=e=>{K(e,Kr(`--`))};J(c,e=>{H(t).cron?e(l):H(t).fireAt?e(u,1):e(d,-1)}),A(s);var f=B(s,2),p=R(f);Co(p,{get checked(){return H(t).enabled},onchange:()=>de(H(t))});var m=B(p,2);_a(m,{variant:`icon`,onclick:()=>fe(H(t)),children:(e,t)=>{j(),K(e,Kr(`Edit`))},$$slots:{default:!0}});var h=B(m,2);{let e=P(()=>H(k)!==null);_a(h,{variant:`danger`,size:`sm`,class:`icon-size`,onclick:()=>he(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(k)===`sched:${H(t).id}`?`...`:`Del`)),K(e,r)},$$slots:{default:!0}})}A(f),A(i);var g=B(i,2),_=e=>{var n=Mx(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>jb(H(t))]),K(e,n)};J(g,e=>{(H(t).message||H(t).messages?.length)&&e(_)}),A(n),V(()=>{r=X(n,1,`schedule-card svelte-1u04gr6`,null,r,{disabled:!H(t).enabled}),q(o,H(t).id)}),K(e,n)};J(r,e=>{H(E)===H(t).id?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)};J(De,e=>{H(r).length===0&&!H(_)?e(Oe):e(ke,-1)}),A(Ce),K(e,ge),N()}var Lx=W(`<div class="skill-desc svelte-19xtkvn"> </div>`),Rx=W(`<span class="installed-tag svelte-19xtkvn">installed</span>`),zx=W(`<div class="skill-row svelte-19xtkvn"><div class="skill-info svelte-19xtkvn"><div class="skill-name svelte-19xtkvn"> </div> <!> <div class="skill-meta svelte-19xtkvn"> </div></div> <div class="skill-actions svelte-19xtkvn"><!></div></div>`),Bx=W(`<div class="skill-list svelte-19xtkvn"></div>`),Vx=W(`<div class="modal-body svelte-19xtkvn"><!> <!></div>`);function Hx(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null);ma(()=>{ed().then(e=>{I(n,e,!0),I(i,!1)}).catch(()=>{I(r,`Failed to load shared skills`),I(i,!1)})});async function o(e){I(a,e,!0),I(r,``);try{await nd(t.name,e),t.onInstalled();try{I(n,await ed(),!0)}catch{}}catch(e){I(r,e instanceof Error?e.message:`Failed to install`,!0)}I(a,null)}$a(e,{size:`480px`,title:`Add Skill`,get onClose(){return t.onClose},children:(e,s)=>{var c=Vx(),l=R(c);Ca(l,{get message(){return H(r)}});var u=B(l,2),d=e=>{xa(e,{message:`Loading...`})},f=e=>{xa(e,{message:`No shared skills available.`})},p=e=>{var r=Bx();Y(r,21,()=>H(n),e=>e.id,(e,n)=>{var r=zx(),i=R(r),s=R(i),c=R(s,!0);A(s);var l=B(s,2),u=e=>{var t=Lx(),r=R(t,!0);A(t),V(()=>q(r,H(n).description)),K(e,t)};J(l,e=>{H(n).description&&e(u)});var d=B(l,2),f=R(d);A(d),A(i);var p=B(i,2),m=R(p),h=e=>{K(e,Rx())},g=P(()=>t.installedIds.has(H(n).id)),_=e=>{{let t=P(()=>H(a)!==null);_a(e,{variant:`primary`,onclick:()=>o(H(n).id),get disabled(){return H(t)},children:(e,t)=>{j();var r=Kr();V(()=>q(r,H(a)===H(n).id?`...`:`Install`)),K(e,r)},$$slots:{default:!0}})}};J(m,e=>{H(g)?e(h):e(_,-1)}),A(p),A(r),V(()=>{q(c,H(n).name),q(f,`${H(n).id??``} · v${H(n).version??``}`)}),K(e,r)}),A(r),K(e,r)};J(u,e=>{H(i)?e(d):H(n).length===0?e(f,1):e(p,-1)}),A(c),K(e,c)},$$slots:{default:!0}}),N()}var Ux=W(`<span class="update-badge svelte-x10lne">update available</span>`),Wx=W(`<div class="skill-desc svelte-x10lne"> </div>`),Gx=W(`<span class="upstream-tag svelte-x10lne"> </span>`),Kx=W(`<span class="local-tag svelte-x10lne">local</span>`),qx=W(`<div class="skill-row svelte-x10lne"><div class="skill-info svelte-x10lne"><div class="skill-name svelte-x10lne"> <!></div> <!> <div class="skill-meta svelte-x10lne"> <!></div></div> <div class="skill-actions svelte-x10lne"><!> <!> <!></div></div>`),Jx=W(`<div class="skill-list svelte-x10lne"></div>`),Yx=W(`<!> <!> <!>`,1),Xx=W(`<!> <!>`,1);function Zx(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1);function s(){td(t.name).then(e=>{I(n,e,!0),I(i,!1),I(r,``)}).catch(()=>{I(r,`Failed to load skills`),I(i,!1)})}ma(()=>{s()});let c=P(()=>new Set(H(n).map(e=>e.id)));async function l(e){I(a,e,!0),I(r,``);try{let n=await rd(t.name,e);n.status===`conflict`&&I(r,`Merge conflicts in: ${n.conflictFiles?.join(`, `)}. Resolve manually.`),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to update`,!0)}I(a,null)}async function u(e){I(a,e,!0),I(r,``);try{await id(t.name,e),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to publish`,!0)}I(a,null)}async function d(e){I(a,e,!0),I(r,``);try{await ad(t.name,e),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to uninstall`,!0)}I(a,null)}var f=Xx(),p=z(f),m=e=>{xa(e,{message:`Loading...`})},h=e=>{var t=Yx(),i=z(t);Ca(i,{get message(){return H(r)}});var s=B(i,2);no(s,{title:`Skills`,action:e=>{_a(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Kr(`Add skill`))},$$slots:{default:!0}})},$$slots:{action:!0}});var c=B(s,2),f=e=>{xa(e,{message:`No skills installed.`})},p=e=>{var t=Jx();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=qx(),r=R(n),i=R(r),o=R(i),s=B(o),c=e=>{K(e,Ux())};J(s,e=>{H(t).updateAvailable&&e(c)}),A(i);var f=B(i,2),p=e=>{var n=Wx(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(f,e=>{H(t).description&&e(p)});var m=B(f,2),h=R(m),g=B(h),_=e=>{var n=Gx(),r=R(n);A(n),V(()=>q(r,`v${H(t).upstream.version??``}`)),K(e,n)},v=e=>{K(e,Kx())};J(g,e=>{H(t).upstream?e(_):e(v,-1)}),A(m),A(r);var y=B(r,2),b=R(y),x=e=>{{let n=P(()=>H(a)!==null);_a(e,{variant:`primary`,onclick:()=>l(H(t).id),get disabled(){return H(n)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Update`)),K(e,r)},$$slots:{default:!0}})}};J(b,e=>{H(t).updateAvailable&&e(x)});var S=B(b,2);{let e=P(()=>H(a)!==null);_a(S,{variant:`secondary`,onclick:()=>u(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Publish`)),K(e,r)},$$slots:{default:!0}})}var C=B(S,2);{let e=P(()=>H(a)!==null);_a(C,{variant:`danger`,onclick:()=>d(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Uninstall`)),K(e,r)},$$slots:{default:!0}})}A(y),A(n),V(()=>{q(o,`${H(t).name??``} `),q(h,`${H(t).id??``} `)}),K(e,n)}),A(t),K(e,t)};J(c,e=>{H(n).length===0?e(f):e(p,-1)}),K(e,t)};J(p,e=>{H(i)?e(m):e(h,-1)});var g=B(p,2),_=e=>{Hx(e,{get name(){return t.name},get installedIds(){return H(c)},onClose:()=>I(o,!1),onInstalled:s})};J(g,e=>{H(o)&&e(_)}),K(e,f),N()}var Qx=W(`<button> </button>`),$x=W(`<div class="settings svelte-1c5rh43"><nav class="section-nav svelte-1c5rh43"></nav> <div class="settings-body svelte-1c5rh43"><section id="profile" class="svelte-1c5rh43"><!></section> <section id="cognition" class="svelte-1c5rh43"><!> <!></section> <section id="rhythms" class="svelte-1c5rh43"><!> <!></section> <section id="skills" class="svelte-1c5rh43"><!></section> <section id="environment" class="svelte-1c5rh43"><!></section></div></div>`);function eS(e,t){M(t,!0);let n=P(()=>qf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>H(n).name),i=[{id:`profile`,label:`Profile`},{id:`cognition`,label:`Model`},{id:`rhythms`,label:`Clock`},{id:`skills`,label:`Skills`},{id:`environment`,label:`Environment`}],a=F(`profile`),o,s={},c=!1;ma(()=>{l()});function l(){if(!o)return;let e=new IntersectionObserver(e=>{if(!c)for(let t of e)t.isIntersecting&&I(a,t.target.id,!0)},{root:o,rootMargin:`-20% 0px -70% 0px`,threshold:0});for(let t of Object.values(s))t&&e.observe(t);return()=>e.disconnect()}function u(e){I(a,e,!0),c=!0,s[e]?.scrollIntoView({behavior:`smooth`,block:`start`}),setTimeout(()=>{c=!1},600)}async function d(){qf.minds=await mu()}var f=$x(),p=R(f);Y(p,21,()=>i,ti,(e,t)=>{var n=Qx();let r;var i=R(n,!0);A(n),V(()=>{r=X(n,1,`nav-pill svelte-1c5rh43`,null,r,{active:H(a)===H(t).id}),q(i,H(t).label)}),U(`click`,n,()=>u(H(t).id)),K(e,n)}),A(p);var m=B(p,2),h=R(m);bx(R(h),{get mind(){return H(n)},onUpdated:d}),A(h),ua(h,e=>s.profile=e,()=>s?.profile);var g=B(h,2),_=R(g);no(_,{title:`Model`,subtitle:`Cognition and resource limits`}),ax(B(_,2),{get name(){return H(r)},get template(){return H(n).template}}),A(g),ua(g,e=>s.cognition=e,()=>s?.cognition);var v=B(g,2),y=R(v);no(y,{title:`Clock`,subtitle:`Sleep, schedules, and wake triggers`}),Ix(B(y,2),{get name(){return H(r)}}),A(v),ua(v,e=>s.rhythms=e,()=>s?.rhythms);var b=B(v,2);Zx(R(b),{get name(){return H(r)}}),A(b),ua(b,e=>s.skills=e,()=>s?.skills);var x=B(b,2);mx(R(x),{get name(){return H(r)}}),A(x),ua(x,e=>s.environment=e,()=>s?.environment),A(m),ua(m,e=>o=e,()=>o),A(f),K(e,f),N()}Lr([`click`]);var tS=W(`<div class="error svelte-9a144u"> </div>`),nS=W(`<div class="warning svelte-9a144u"> </div>`),rS=W(`<div class="muted svelte-9a144u">Loading…</div>`),iS=W(`<div class="muted svelte-9a144u">No variants.</div>`),aS=W(`<span class="port"> </span>`),oS=W(`<span class="created"> </span>`),sS=W(`<span class="confirm svelte-9a144u"> <button class="confirm-yes svelte-9a144u"> </button> <button class="confirm-no svelte-9a144u">cancel</button></span>`),cS=W(`<span class="confirm svelte-9a144u">Discard this variant? <button class="confirm-yes danger svelte-9a144u"> </button> <button class="confirm-no svelte-9a144u">cancel</button></span>`),lS=W(`<!> <!>`,1),uS=W(`<li class="variant-row svelte-9a144u"><div class="variant-main svelte-9a144u"><span class="variant-name svelte-9a144u"> </span> <!></div> <div class="variant-meta svelte-9a144u"><span class="branch svelte-9a144u" title="branch"> </span> <!> <!></div> <div class="variant-actions svelte-9a144u"><!></div></li>`),dS=W(`<ul class="variant-list svelte-9a144u"></ul>`),fS=W(`<div class="variants svelte-9a144u"><!> <form class="create-form svelte-9a144u"><div class="create-row svelte-9a144u"><!> <!></div> <textarea class="soul-input svelte-9a144u" placeholder="Optional SOUL.md override for the variant" rows="2"></textarea></form> <!> <!> <!></div>`);function pS(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``),a=F(``),o=F(``),s=F(``),c=F(!1),l=F(null),u=F(null),d=F(null);async function f(){I(r,!0);try{I(n,await Iu(t.name),!0),I(i,``)}catch(e){console.error(`Failed to load variants:`,e),I(i,e instanceof Error?e.message:`Failed to load variants`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,f()});async function p(e){e.preventDefault();let n=H(o).trim();if(!(!n||H(c))){I(c,!0),I(i,``),I(a,``);try{await Ru(t.name,{name:n,soul:H(s).trim()||void 0}),I(o,``),I(s,``),await f()}catch(e){console.error(`Failed to create variant:`,e),I(i,e instanceof Error?e.message:`Failed to create variant`,!0)}finally{I(c,!1)}}}async function m(e){I(d,e,!0),I(i,``),I(a,``);try{let n=await zu(t.name,e);I(l,null),await f(),n.warning&&I(a,n.warning,!0)}catch(e){console.error(`Failed to join variant:`,e),I(i,e instanceof Error?e.message:`Failed to join variant`,!0)}finally{I(d,null)}}async function h(e){I(d,e,!0),I(i,``),I(a,``);try{await Bu(t.name,e),I(u,null),await f()}catch(e){console.error(`Failed to delete variant:`,e),I(i,e instanceof Error?e.message:`Failed to delete variant`,!0)}finally{I(d,null)}}var g=fS(),_=R(g);no(_,{title:`Variants`,subtitle:`Isolated forks of this mind — split off an experiment, then join it back or discard it`});var v=B(_,2),y=R(v),b=R(y);Xa(b,{placeholder:`variant name`,width:`180px`,get disabled(){return H(c)},get value(){return H(o)},set value(e){I(o,e,!0)}});var x=B(b,2);{let e=P(()=>H(c)||!H(o).trim());_a(x,{variant:`primary`,type:`submit`,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(c)?`Splitting…`:`Split`)),K(e,n)},$$slots:{default:!0}})}A(y);var S=B(y,2);hn(S),A(v);var C=B(v,2),w=e=>{var t=tS(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(C,e=>{H(i)&&e(w)});var T=B(C,2),E=e=>{var t=nS(),n=R(t);A(t),V(()=>q(n,`Merge completed, but: ${H(a)??``}`)),K(e,t)};J(T,e=>{H(a)&&e(E)});var ee=B(T,2),te=e=>{K(e,rS())},ne=e=>{K(e,iS())},D=e=>{var r=dS();Y(r,21,()=>H(n),e=>e.name,(e,n)=>{var r=uS(),i=R(r),a=R(i),o=R(a,!0);A(a),po(B(a,2),{get status(){return H(n).status}}),A(i);var s=B(i,2),c=R(s),f=R(c,!0);A(c);var p=B(c,2),g=e=>{var t=aS(),r=R(t);A(t),V(()=>q(r,`:${H(n).port??``}`)),K(e,t)};J(p,e=>{H(n).port&&e(g)});var _=B(p,2),v=e=>{var t=oS(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created)]),K(e,t)};J(_,e=>{H(n).created&&e(v)}),A(s);var y=B(s,2),b=R(y),x=e=>{var r=sS(),i=R(r),a=B(i),o=R(a,!0);A(a);var s=B(a,2);A(r),V(()=>{q(i,`Join back into ${t.name??``} and restart? `),a.disabled=H(d)===H(n).name,q(o,H(d)===H(n).name?`joining…`:`join`),s.disabled=H(d)===H(n).name}),U(`click`,a,()=>m(H(n).name)),U(`click`,s,()=>I(l,null)),K(e,r)},S=e=>{var t=cS(),r=B(R(t)),i=R(r,!0);A(r);var a=B(r,2);A(t),V(()=>{r.disabled=H(d)===H(n).name,q(i,H(d)===H(n).name?`discarding…`:`discard`),a.disabled=H(d)===H(n).name}),U(`click`,r,()=>h(H(n).name)),U(`click`,a,()=>I(u,null)),K(e,t)},C=e=>{var t=lS(),r=z(t);{let e=P(()=>!!H(d));_a(r,{variant:`secondary`,onclick:()=>I(l,H(n).name,!0),get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Kr(`Join`))},$$slots:{default:!0}})}var i=B(r,2);{let e=P(()=>!!H(d));_a(i,{variant:`text`,onclick:()=>I(u,H(n).name,!0),get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Kr(`Discard`))},$$slots:{default:!0}})}K(e,t)};J(b,e=>{H(l)===H(n).name?e(x):H(u)===H(n).name?e(S,1):e(C,-1)}),A(y),A(r),V(()=>{q(o,H(n).name),q(f,H(n).branch)}),K(e,r)}),A(r),K(e,r)};J(ee,e=>{H(r)?e(te):H(n).length===0?e(ne,1):e(D,-1)}),A(g),V(()=>S.disabled=H(c)),Ir(`submit`,v,p),aa(S,()=>H(s),e=>I(s,e)),K(e,g),N()}Lr([`click`]);var mS=W(`<div class="error svelte-1ctf7xm"> </div>`),hS=W(`<div class="muted svelte-1ctf7xm">Loading…</div>`),gS=W(`<div class="muted svelte-1ctf7xm">No pending files.</div>`),_S=W(`<li class="file-row svelte-1ctf7xm"><div class="file-main svelte-1ctf7xm"><span class="file-name svelte-1ctf7xm"> </span> <span class="file-size svelte-1ctf7xm"> </span></div> <div class="file-meta svelte-1ctf7xm"><span class="sender"> </span> <span class="created"> </span></div></li>`),vS=W(`<ul class="file-list svelte-1ctf7xm"></ul> <div class="hint svelte-1ctf7xm">Accepting or rejecting a file is the mind's decision — it runs <code class="svelte-1ctf7xm">volute chat accept/reject <id></code> when it's ready.</div>`,1),yS=W(`<div class="pending svelte-1ctf7xm"><!> <!> <!></div>`);function bS(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``);function a(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(+(n<10))} ${t[r]}`}async function o(){I(r,!0);try{I(n,await of(t.name),!0),I(i,``)}catch(e){console.error(`Failed to load pending files:`,e),I(i,e instanceof Error?e.message:`Failed to load pending files`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,o()});var s=yS(),c=R(s);no(c,{title:`Incoming files`,subtitle:`Files sent to this mind, awaiting its review`});var l=B(c,2),u=e=>{var t=mS(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(l,e=>{H(i)&&e(u)});var d=B(l,2),f=e=>{K(e,hS())},p=e=>{K(e,gS())},m=e=>{var t=vS(),r=z(t);Y(r,21,()=>H(n),e=>e.id,(e,t)=>{var n=_S(),r=R(n),i=R(r),o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r);var l=B(r,2),u=R(l),d=R(u);A(u);var f=B(u,2),p=R(f,!0);A(f),A(l),A(n),V((e,n)=>{q(o,H(t).filename),q(c,e),q(d,`from ${H(t).sender??``}`),q(p,n)},[()=>a(H(t).size),()=>Bl(H(t).createdAt)]),K(e,n)}),A(r),j(2),K(e,t)};J(d,e=>{H(r)?e(f):H(n).length===0?e(p,1):e(m,-1)}),A(s),K(e,s),N()}var xS=W(`<div class="error svelte-18xrmlc"> </div>`),SS=W(`<div class="empty svelte-18xrmlc">Loading...</div>`),CS=W(`<div class="empty svelte-18xrmlc">No channels yet. Create one below.</div>`),wS=W(`<div class="channel-row svelte-18xrmlc"><div class="channel-info svelte-18xrmlc"><span class="channel-name svelte-18xrmlc"> </span> <span class="channel-meta svelte-18xrmlc"> </span></div> <button> </button></div>`),TS=W(`<!> <div class="channel-list svelte-18xrmlc"><!></div> <div class="create-section svelte-18xrmlc"><!> <button class="create-btn svelte-18xrmlc">Create</button></div>`,1);function ES(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(``),a=F(!0),o=F(null);function s(){I(a,!0),qu().then(e=>{I(n,e,!0),I(i,``)}).catch(e=>{I(i,e instanceof Error?e.message:`Failed to load channels`,!0)}).finally(()=>{I(a,!1)})}ma(()=>{s()});async function c(){let e=H(r).trim().toLowerCase().replace(/[^a-z0-9-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``);if(e)try{let n=await Ju(e);I(r,``),s(),t.onJoined(n)}catch(e){I(i,e instanceof Error?e.message:`Failed to create channel`,!0)}}async function l(e){if(e.channel_name){I(o,e.channel_name,!0);try{await Yu(e.channel_name),t.onJoined(e)}catch(e){I(i,e instanceof Error?e.message:`Failed to join channel`,!0)}finally{I(o,null)}}}async function u(e){if(e.channel_name)try{await Xu(e.channel_name),s()}catch(e){I(i,e instanceof Error?e.message:`Failed to leave channel`,!0)}}function d(e){e.key===`Escape`&&t.onClose(),e.key===`Enter`&&c()}$a(e,{size:`380px`,title:`Browse channels`,get onClose(){return t.onClose},children:(e,t)=>{var s=TS(),f=z(s),p=e=>{var t=xS(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(f,e=>{H(i)&&e(p)});var m=B(f,2),h=R(m),g=e=>{K(e,SS())},_=e=>{K(e,CS())},v=e=>{var t=G();Y(z(t),17,()=>H(n),e=>e.id,(e,t)=>{var n=wS(),r=R(n),i=R(r),a=R(i);A(i);var s=B(i,2),c=R(s);A(s),A(r);var d=B(r,2);let f;var p=R(d,!0);A(d),A(n),V(()=>{q(a,`#${H(t).channel_name??``}`),q(c,`${H(t).participantCount??``} member${H(t).participantCount===1?``:`s`}`),f=X(d,1,`action-btn svelte-18xrmlc`,null,f,{leave:H(t).isMember}),d.disabled=H(o)===H(t).channel_name,q(p,H(o)===H(t).channel_name?`...`:H(t).isMember?`leave`:`join`)}),U(`click`,d,()=>H(t).isMember?u(H(t)):l(H(t))),K(e,n)}),K(e,t)};J(h,e=>{H(a)?e(g):H(n).length===0?e(_,1):e(v,-1)}),A(m);var y=B(m,2),b=R(y);Xa(b,{type:`text`,placeholder:`new-channel-name`,style:`flex:1`,onkeydown:d,get value(){return H(r)},set value(e){I(r,e,!0)}});var x=B(b,2);A(y),V(e=>x.disabled=e,[()=>!H(r).trim()]),U(`click`,x,c),K(e,s)},$$slots:{default:!0}}),N()}Lr([`click`]);var DS=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv">System Prompt</summary> <div class="section-body markdown-body svelte-1v57vxv"></div></details>`),OS=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv">SDK Instructions</summary> <div class="section-body markdown-body svelte-1v57vxv"></div></details>`),kS=W(`<div class="skill-item svelte-1v57vxv"><span class="skill-name svelte-1v57vxv"> </span> <span class="skill-desc svelte-1v57vxv"> </span></div>`),AS=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv"> </summary> <div class="section-body svelte-1v57vxv"></div></details>`),jS=W(`<div class="empty svelte-1v57vxv">No messages yet</div>`),MS=W(`<pre class="block-system-text svelte-1v57vxv"> </pre>`),NS=W(`<div class="block-text markdown-body svelte-1v57vxv"></div>`),PS=W(`<details class="block-thinking svelte-1v57vxv"><summary class="thinking-header svelte-1v57vxv">Thinking</summary> <div class="thinking-body svelte-1v57vxv"> </div></details>`),FS=W(`<details class="block-tool svelte-1v57vxv"><summary class="tool-header svelte-1v57vxv"> </summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),IS=W(`<details class="block-tool svelte-1v57vxv"><summary>Result<!></summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),LS=W(`<div><div> </div> <div class="blocks svelte-1v57vxv"></div></div>`),RS=W(`<div class="messages svelte-1v57vxv"></div>`),zS=W(`<div class="session svelte-1v57vxv"><div class="session-label svelte-1v57vxv"> </div> <!></div>`),BS=W(`<div class="context-view svelte-1v57vxv"><div class="preamble svelte-1v57vxv"><!> <!> <!></div> <!></div>`);function VS(e,t){M(t,!0);var n=BS(),r=R(n),i=R(r),a=e=>{var n=DS(),r=B(R(n),2);ui(r,()=>Al(t.messages.preamble.systemPrompt),!0),A(r),A(n),K(e,n)};J(i,e=>{t.messages.preamble.systemPrompt&&e(a)});var o=B(i,2),s=e=>{var n=OS(),r=B(R(n),2);ui(r,()=>Al(t.messages.preamble.sdkInstructions),!0),A(r),A(n),K(e,n)};J(o,e=>{t.messages.preamble.sdkInstructions&&e(s)});var c=B(o,2),l=e=>{var n=AS(),r=R(n),i=R(r);A(r);var a=B(r,2);Y(a,21,()=>t.messages.preamble.skillDescriptions,ti,(e,t)=>{var n=kS(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(n),V(()=>{q(i,H(t).name),q(o,H(t).description)}),K(e,n)}),A(a),A(n),V(()=>q(i,`Skill Descriptions (${t.messages.preamble.skillDescriptions.length??``})`)),K(e,n)};J(c,e=>{t.messages.preamble.skillDescriptions.length>0&&e(l)}),A(r),Y(B(r,2),17,()=>t.messages.sessions,e=>e.name,(e,t)=>{var n=zS(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{K(e,jS())},s=e=>{var n=RS();Y(n,21,()=>H(t).messages,ti,(e,t)=>{var n=LS();let r;var i=R(n);let a;var o=R(i,!0);A(i);var s=B(i,2);Y(s,21,()=>H(t).blocks,ti,(e,n)=>{var r=G(),i=z(r),a=e=>{var r=G(),i=z(r),a=e=>{var t=MS(),r=R(t,!0);A(t),V(()=>q(r,H(n).text)),K(e,t)},o=e=>{var t=NS();ui(t,()=>Al(H(n).text),!0),A(t),K(e,t)};J(i,e=>{H(t).role===`system`?e(a):e(o,-1)}),K(e,r)},o=e=>{var t=PS(),r=B(R(t),2),i=R(r,!0);A(r),A(t),V(()=>q(i,H(n).text)),K(e,t)},s=e=>{var t=FS(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(t),V(()=>{q(i,H(n).name),q(o,H(n).input)}),K(e,t)},c=e=>{var t=IS(),r=R(t);let i;var a=B(R(r)),o=e=>{K(e,Kr(`(error)`))};J(a,e=>{H(n).isError&&e(o)}),A(r);var s=B(r,2),c=R(s,!0);A(s),A(t),V(()=>{i=X(r,1,`tool-header svelte-1v57vxv`,null,i,{"tool-error":H(n).isError}),q(c,H(n).text)}),K(e,t)};J(i,e=>{H(n).type===`text`?e(a):H(n).type===`thinking`?e(o,1):H(n).type===`tool_use`?e(s,2):H(n).type===`tool_result`&&e(c,3)}),K(e,r)}),A(s),A(n),V(()=>{r=X(n,1,`message svelte-1v57vxv`,null,r,{user:H(t).role===`user`,assistant:H(t).role===`assistant`,system:H(t).role===`system`}),a=X(i,1,`role-label svelte-1v57vxv`,null,a,{"user-label":H(t).role===`user`,"assistant-label":H(t).role===`assistant`,"system-label":H(t).role===`system`}),q(o,H(t).role)}),K(e,n)}),A(n),K(e,n)};J(a,e=>{H(t).messages.length===0?e(o):e(s,-1)}),A(n),V(()=>q(i,H(t).name)),K(e,n)}),A(n),K(e,n),N()}var HS=W(`<div class="loading svelte-1ndm006">Loading context info...</div>`),US=W(`<div class="error svelte-1ndm006"> </div>`),WS=W(`<div class="system-prompt-line svelte-1ndm006"><span class="sp-label svelte-1ndm006">System prompt</span> <span class="sp-value svelte-1ndm006"> </span></div>`),GS=W(`<div class="empty svelte-1ndm006">No active sessions</div>`),KS=W(`<span> </span><!>`,1),qS=W(`<span class="no-data svelte-1ndm006">no data yet</span>`),JS=W(`<div class="cell svelte-1ndm006"></div>`),YS=W(`<div class="waffle svelte-1ndm006"></div>`),XS=W(`<div class="token-bar svelte-1ndm006"><div class="token-bar-fill svelte-1ndm006"></div></div>`),ZS=W(`<div class="session-block svelte-1ndm006"><div class="session-header svelte-1ndm006"><span class="session-name svelte-1ndm006"> </span> <span class="session-tokens svelte-1ndm006"><!></span></div> <!></div>`),QS=W(`<div class="sessions svelte-1ndm006"></div>`),$S=W(`<div class="context-content svelte-1ndm006"><!> <!></div>`),eC=W(`<div class="loading svelte-1ndm006">Loading context content...</div>`);function tC(e,t){M(t,!0);let n=F(`Overview`),r=F(null),i=F(null),a=F(!0),o=F(!1),s=F(``),c=F(``);ma(async()=>{try{I(r,await gu(t.mindName),!0)}catch(e){I(s,e.message??`Failed to fetch context info`,!0)}finally{I(a,!1)}});async function l(){if(!(H(i)||H(o))){I(o,!0);try{I(i,await _u(t.mindName),!0)}catch(e){I(c,e.message??`Failed to fetch context messages`,!0)}finally{I(o,!1)}}}function u(e){I(n,e,!0),e===`Content`&&l()}function d(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}let f={systemPrompt:`#6366f1`,claudeMd:`#818cf8`,skillDesc:`#8b5cf6`,userText:`#3b82f6`,assistantText:`#22c55e`,thinking:`#f59e0b`,toolUse:`#ec4899`,toolResult:`#f97316`,sdk:`#64748b`,empty:`var(--bg-3, #2a2a2a)`};function p(e,t){let n=[{key:`systemPrompt`,label:`System Prompt`,tokens:e.systemPrompt,color:f.systemPrompt},{key:`sdkInstructions`,label:`SDK Instructions`,tokens:e.sdkInstructions,color:f.claudeMd},{key:`skillDesc`,label:`Skill Descriptions`,tokens:e.skillDescriptions,color:f.skillDesc},{key:`userText`,label:`User Messages`,tokens:e.conversation.userText,color:f.userText},{key:`assistantText`,label:`Assistant Text`,tokens:e.conversation.assistantText,color:f.assistantText},{key:`thinking`,label:`Thinking`,tokens:e.conversation.thinking,color:f.thinking},{key:`toolUse`,label:`Tool Calls`,tokens:e.conversation.toolUse,color:f.toolUse},{key:`toolResult`,label:`Tool Results`,tokens:e.conversation.toolResult,color:f.toolResult}].filter(e=>e.tokens>0),r=t-n.reduce((e,t)=>e+t.tokens,0);return r>0&&n.push({key:`sdk`,label:`Tools & SDK`,tokens:r,color:f.sdk}),n}let m=2e3;function h(e,t){let n=Math.ceil(t/m),r=Math.ceil(n/15)*15,i=[];for(let t of e){let e=`${t.label}: ${d(t.tokens)}`,n=Math.max(1,Math.round(t.tokens/m));for(let a=0;a<n&&i.length<r;a++)i.push({color:t.color,tooltip:e})}for(;i.length<r;)i.push({color:f.empty,tooltip:``});return i}{let l=e=>{go(e,{tabs:[`Overview`,`Content`],get active(){return H(n)},onchange:u})},f=P(()=>H(n)===`Content`?`full`:`600px`);$a(e,{get title(){return`Context — ${t.mindName??``}`},get onClose(){return t.onClose},get size(){return H(f)},headerActions:l,children:(e,t)=>{var l=G(),u=z(l),f=e=>{var t=G(),n=z(t),i=e=>{K(e,HS())},o=e=>{var t=US(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},c=e=>{var t=$S(),n=R(t),i=e=>{var t=WS(),n=B(R(t),2),i=R(n);A(n),A(t),V(e=>q(i,`${e??``} tokens`),[()=>d(H(r).systemPrompt)]),K(e,t)};J(n,e=>{H(r).systemPrompt>0&&e(i)});var a=B(n,2),o=e=>{K(e,GS())},s=e=>{var t=QS();Y(t,21,()=>H(r).sessions,e=>e.name,(e,t)=>{let n=P(()=>H(t).breakdown?p(H(t).breakdown,H(t).contextTokens):[]),r=P(()=>H(n).length>0&&H(t).contextWindow?h(H(n),H(t).contextWindow):[]),i=P(()=>H(t).contextWindow?H(t).contextTokens>H(t).contextWindow:!1);var a=ZS(),o=R(a),s=R(o),c=R(s,!0);A(s);var l=B(s,2),u=R(l),f=e=>{var n=KS(),r=z(n);let a;var o=R(r,!0);A(r);var s=B(r),c=e=>{var n=Kr();V(e=>q(n,` / ${e??``}`),[()=>d(H(t).contextWindow)]),K(e,n)};J(s,e=>{H(t).contextWindow&&e(c)}),V(e=>{a=X(r,1,`svelte-1ndm006`,null,a,{"over-limit":H(i)}),q(o,e)},[()=>d(H(t).contextTokens)]),K(e,n)},m=e=>{K(e,qS())};J(u,e=>{H(t).contextTokens>0?e(f):e(m,-1)}),A(l),A(o);var g=B(o,2),_=e=>{var t=YS();Z(t,``,{},{"grid-template-columns":`repeat(15, 1fr)`}),Y(t,21,()=>H(r),ti,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=JS();let r;Si(n,(e,t)=>Il?.(e,t),()=>H(t).tooltip),V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)},a=e=>{var n=JS();let r;V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)};J(r,e=>{H(t).tooltip?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)},v=e=>{var n=XS(),r=R(n);let i;A(n),V(e=>i=Z(r,``,i,e),[()=>({width:`${Math.min(100,H(t).contextTokens/(H(t).contextWindow??H(t).contextTokens)*100)}%`})]),K(e,n)};J(g,e=>{H(r).length>0?e(_):H(t).contextTokens>0&&e(v,1)}),A(a),V(()=>q(c,H(t).name)),K(e,a)}),A(t),K(e,t)};J(a,e=>{H(r).sessions.length===0?e(o):e(s,-1)}),A(t),K(e,t)};J(n,e=>{H(a)?e(i):H(s)?e(o,1):H(r)&&e(c,2)}),K(e,t)},m=e=>{var t=G(),n=z(t),r=e=>{K(e,eC())},a=e=>{var t=US(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)},s=e=>{VS(e,{get messages(){return H(i)}})};J(n,e=>{H(o)?e(r):H(c)?e(a,1):H(i)&&e(s,2)}),K(e,t)};J(u,e=>{H(n)===`Overview`?e(f):H(n)===`Content`&&e(m,1)}),K(e,l)},$$slots:{headerActions:!0,default:!0}})}N()}var nC=W(`<button class="model-selected svelte-c55mz0" type="button"><span class="model-selected-name svelte-c55mz0"> </span> <span class="model-selected-provider svelte-c55mz0"> </span> <span class="model-selected-clear svelte-c55mz0">×</span></button>`),rC=W(`<button class="model-option svelte-c55mz0" type="button"><span class="model-option-name svelte-c55mz0"> </span> <span class="model-option-provider svelte-c55mz0"> </span></button>`),iC=W(`<div class="model-dropdown svelte-c55mz0"></div>`),aC=W(`<div class="model-picker svelte-c55mz0"><!> <!></div>`),oC=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Model (optional)</span> <!></div>`),sC=W(`<label class="skill-item svelte-c55mz0"><input type="checkbox"/> <span class="skill-name svelte-c55mz0"> </span></label>`),cC=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Skills</span> <div class="skill-list svelte-c55mz0"></div></div>`),lC=W(`<label class="field svelte-c55mz0"><span class="label svelte-c55mz0">Seed SOUL template</span> <textarea class="textarea svelte-c55mz0" rows="6" placeholder="SOUL.md template for this seed..."></textarea> <span class="hint svelte-c55mz0"></span></label> <!>`,1),uC=W(`<div class="error svelte-c55mz0"> </div>`),dC=W(`<div class="modal-content svelte-c55mz0"><div class="modal-title svelte-c55mz0">Plant a seed</div> <label class="field svelte-c55mz0"><span class="label svelte-c55mz0">Name</span> <!></label> <label class="field svelte-c55mz0"><span class="label svelte-c55mz0">Description (optional)</span> <!></label> <!> <button class="advanced-toggle svelte-c55mz0"><span class="caret svelte-c55mz0"> </span> Advanced</button> <!> <!> <div class="actions svelte-c55mz0"><button class="cancel-btn svelte-c55mz0">Cancel</button> <button class="plant-btn svelte-c55mz0"> </button></div></div>`);function fC(e,t){M(t,!0);let n=[`orientation`,`memory`],r=F(``),i=F(``),a=F(``),o=F(!1),s=F(``),c=F(!1),l=F(``),u=F(``),d=F(L([])),f=F(L(new Set(n))),p=F(L([])),m=F(``),h=F(!1),g=P(()=>H(p).filter(e=>e.enabled)),_=P(()=>H(g).find(e=>e.id===H(a))),v=P(()=>H(m).trim()?H(g).filter(e=>{let t=H(m).toLowerCase();return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.provider.toLowerCase().includes(t)}).slice(0,12):H(g).slice(0,12)),y=P(()=>!H(o)&&!!H(r).trim());ma(()=>{fd().then(e=>{let t=e.find(e=>e.key===`seed_soul`);t&&(I(u,t.content,!0),I(l,t.content,!0))}).catch(e=>{console.error(`Failed to load prompt templates:`,e)}),ed().then(e=>{I(d,e,!0)}).catch(e=>{console.error(`Failed to load shared skills:`,e)}),wd().then(e=>{I(p,e,!0)}).catch(e=>{console.error(`Failed to load AI models:`,e)})});function b(e){let t=new Set(H(f));t.has(e)?t.delete(e):t.add(e),I(f,t,!0)}async function x(){let e=H(r).trim();if(e){I(o,!0),I(s,``);try{let n=H(c)&&H(l)!==H(u)?H(l):void 0,r=H(c)?[...H(f)]:void 0;await xu(e,{description:H(i).trim()||void 0,model:H(a)||void 0,seedSoul:n,skills:r}),await vu(e),t.onCreated(e)}catch(e){I(s,e instanceof Error?e.message:`Failed to create`,!0),I(o,!1)}}}$a(e,{size:`340px`,get onClose(){return t.onClose},children:(e,n)=>{var u=dC(),p=B(R(u),2);Xa(B(R(p),2),{inputSize:`md`,autofocus:!0,placeholder:`e.g. luna`,onkeydown:e=>e.key===`Enter`&&x(),get value(){return H(r)},set value(e){I(r,e,!0)}}),A(p);var S=B(p,2);Xa(B(R(S),2),{inputSize:`md`,placeholder:`A curious mind who loves poetry...`,onkeydown:e=>e.key===`Enter`&&x(),get value(){return H(i)},set value(e){I(i,e,!0)}}),A(S);var C=B(S,2),w=e=>{var t=oC(),n=B(R(t),2),r=e=>{var t=nC(),n=R(t),r=R(n,!0);A(n);var i=B(n,2),o=R(i,!0);A(i),j(2),A(t),V(()=>{q(r,H(_).name),q(o,H(_).provider)}),U(`click`,t,()=>{I(a,``),I(h,!0),I(m,``)}),K(e,t)},i=e=>{var t=aC(),n=R(t);Xa(n,{type:`text`,placeholder:`Search models...`,onfocus:()=>{I(h,!0)},onblur:()=>{setTimeout(()=>{I(h,!1)},150)},get value(){return H(m)},set value(e){I(m,e,!0)}});var r=B(n,2),i=e=>{var t=iC();Y(t,21,()=>H(v),e=>e.id,(e,t)=>{var n=rC(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=R(o,!0);A(o),A(n),V(()=>{q(i,H(t).name),q(s,H(t).provider)}),U(`click`,n,()=>{I(a,H(t).id,!0),I(h,!1),I(m,``)}),K(e,n)}),A(t),K(e,t)};J(r,e=>{H(h)&&H(v).length>0&&e(i)}),A(t),K(e,t)};J(n,e=>{H(_)?e(r):e(i,-1)}),A(t),K(e,t)};J(C,e=>{H(g).length>0&&e(w)});var T=B(C,2),E=R(T),ee=R(E,!0);A(E),j(),A(T);var te=B(T,2),ne=e=>{var t=lC(),n=z(t),r=B(R(n),2);hn(r);var i=B(r,2);i.textContent="Variables: ${name}, ${description}",A(n);var a=B(n,2),o=e=>{var t=cC(),n=B(R(t),2);Y(n,21,()=>H(d),ti,(e,t)=>{var n=sC(),r=R(n);Ki(r);var i=B(r,2),a=R(i,!0);A(i),A(n),V(e=>{Ji(r,e),q(a,H(t).id)},[()=>H(f).has(H(t).id)]),U(`change`,r,()=>b(H(t).id)),K(e,n)}),A(n),A(t),K(e,t)};J(a,e=>{H(d).length>0&&e(o)}),aa(r,()=>H(l),e=>I(l,e)),K(e,t)};J(te,e=>{H(c)&&e(ne)});var D=B(te,2),O=e=>{var t=uC(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(D,e=>{H(s)&&e(O)});var re=B(D,2),ie=R(re),ae=B(ie,2);let k;var oe=R(ae,!0);A(ae),A(re),A(u),V(()=>{q(ee,H(c)?`▼`:`▶`),ae.disabled=!H(y),k=Z(ae,``,k,{opacity:H(y)?1:.5}),q(oe,H(o)?`Planting...`:`Plant`)}),U(`click`,T,()=>I(c,!H(c))),U(`click`,ie,function(...e){t.onClose?.apply(this,e)}),U(`click`,ae,x),K(e,u)},$$slots:{default:!0}}),N()}Lr([`click`,`change`]);var pC=W(`<div class="message error svelte-9vtzjd"> </div>`),mC=W(`<div class="message success svelte-9vtzjd"> </div>`),hC=W(`<img alt="Avatar preview" class="avatar-img svelte-9vtzjd" loading="lazy" decoding="async"/>`),gC=W(`<img alt="Avatar" class="avatar-img svelte-9vtzjd" loading="lazy" decoding="async"/>`),_C=W(`<div class="avatar-placeholder svelte-9vtzjd">?</div>`),vC=W(`<button type="button" class="save-btn svelte-9vtzjd"> </button>`),yC=W(`<button type="button" class="remove-btn svelte-9vtzjd">Remove</button>`),bC=W(`<div class="modal-body svelte-9vtzjd"><form><h3 class="section-title svelte-9vtzjd">Profile</h3> <!> <!> <div class="avatar-section svelte-9vtzjd"><div class="avatar-preview svelte-9vtzjd"><!></div> <div class="avatar-actions svelte-9vtzjd"><label class="avatar-upload-btn svelte-9vtzjd">Choose file <input type="file" accept="image/png,image/jpeg,image/gif,image/webp" hidden="" class="svelte-9vtzjd"/></label> <!> <!></div></div> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Display name</span> <input type="text" placeholder="Optional display name" class="svelte-9vtzjd"/></label> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Description</span> <textarea placeholder="A short description" rows="3" class="svelte-9vtzjd"></textarea></label> <button class="save-btn svelte-9vtzjd" type="submit"> </button></form> <hr class="divider svelte-9vtzjd"/> <form><h3 class="section-title svelte-9vtzjd">Change Password</h3> <!> <!> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Current password</span> <input type="password" autocomplete="current-password" class="svelte-9vtzjd"/></label> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">New password</span> <input type="password" autocomplete="new-password" class="svelte-9vtzjd"/></label> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Confirm new password</span> <input type="password" autocomplete="new-password" class="svelte-9vtzjd"/></label> <button class="save-btn svelte-9vtzjd" type="submit"> </button></form></div>`);function xC(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),a=F(``),o=F(``),s=F(!1),c=F(null),l=F(null),u=F(!1),d=F(``),f=F(``),p=F(``),m=F(``),h=F(``),g=F(!1);ma(()=>{_()});async function _(){try{let e=await Yl();e&&(I(n,e.display_name??``,!0),I(r,e.description??``,!0),I(i,e.avatar?`/api/auth/avatars/${e.avatar}`:null,!0))}catch{I(a,`Failed to load profile`)}}async function v(e){e.preventDefault(),I(a,``),I(o,``),I(s,!0);try{await au({display_name:H(n).trim()||null,description:H(r).trim()||null}),I(o,`Profile updated`)}catch(e){I(a,e instanceof Error?e.message:`Failed to update profile`,!0)}finally{I(s,!1)}}function y(e){let t=e.target.files?.[0];t&&(I(c,t,!0),I(l,URL.createObjectURL(t),!0))}async function b(){if(H(c)){I(u,!0),I(a,``);try{let e=await ou(H(c));I(i,`/api/auth/avatars/${e}`),I(c,null),I(l,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to upload avatar`,!0)}finally{I(u,!1)}}}async function x(){I(a,``);try{await su(),I(i,null),I(c,null),I(l,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to remove avatar`,!0)}}async function S(e){if(e.preventDefault(),I(m,``),I(h,``),H(f)!==H(p)){I(m,`New passwords do not match`);return}if(H(f).length<1){I(m,`New password cannot be empty`);return}I(g,!0);try{await eu(H(d),H(f)),I(h,`Password changed successfully`),I(d,``),I(f,``),I(p,``)}catch(e){I(m,e instanceof Error?e.message:`Failed to change password`,!0)}finally{I(g,!1)}}$a(e,{size:`420px`,title:`User Settings`,get onClose(){return t.onClose},children:(e,t)=>{var _=bC(),C=R(_),w=B(R(C),2),T=e=>{var t=pC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(w,e=>{H(a)&&e(T)});var E=B(w,2),ee=e=>{var t=mC(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(E,e=>{H(o)&&e(ee)});var te=B(E,2),ne=R(te),D=R(ne),O=e=>{var t=hC();V(()=>Xi(t,`src`,H(l))),K(e,t)},re=e=>{var t=gC();V(()=>Xi(t,`src`,H(i))),K(e,t)},ie=e=>{K(e,_C())};J(D,e=>{H(l)?e(O):H(i)?e(re,1):e(ie,-1)}),A(ne);var ae=B(ne,2),k=R(ae),oe=B(R(k));A(k);var se=B(k,2),ce=e=>{var t=vC(),n=R(t,!0);A(t),V(()=>{t.disabled=H(u),q(n,H(u)?`Uploading...`:`Upload`)}),U(`click`,t,b),K(e,t)};J(se,e=>{H(c)&&e(ce)});var le=B(se,2),ue=e=>{var t=yC();U(`click`,t,x),K(e,t)};J(le,e=>{H(i)&&!H(c)&&e(ue)}),A(ae),A(te);var de=B(te,2),fe=B(R(de),2);Ki(fe),Xi(fe,`maxlength`,100),A(de);var pe=B(de,2),me=B(R(pe),2);hn(me),Xi(me,`maxlength`,500),A(pe);var he=B(pe,2),ge=R(he,!0);A(he),A(C);var _e=B(C,4),ve=B(R(_e),2),ye=e=>{var t=pC(),n=R(t,!0);A(t),V(()=>q(n,H(m))),K(e,t)};J(ve,e=>{H(m)&&e(ye)});var be=B(ve,2),xe=e=>{var t=mC(),n=R(t,!0);A(t),V(()=>q(n,H(h))),K(e,t)};J(be,e=>{H(h)&&e(xe)});var Se=B(be,2),Ce=B(R(Se),2);Ki(Ce),A(Se);var we=B(Se,2),Te=B(R(we),2);Ki(Te),A(we);var Ee=B(we,2),De=B(R(Ee),2);Ki(De),A(Ee);var Oe=B(Ee,2),ke=R(Oe,!0);A(Oe),A(_e),A(_),V(()=>{he.disabled=H(s),q(ge,H(s)?`Saving...`:`Save Profile`),Oe.disabled=H(g),q(ke,H(g)?`Saving...`:`Change Password`)}),Ir(`submit`,C,v),U(`change`,oe,y),aa(fe,()=>H(n),e=>I(n,e)),aa(me,()=>H(r),e=>I(r,e)),Ir(`submit`,_e,S),aa(Ce,()=>H(d),e=>I(d,e)),aa(Te,()=>H(f),e=>I(f,e)),aa(De,()=>H(p),e=>I(p,e)),K(e,_)},$$slots:{default:!0}}),N()}Lr([`change`,`click`]);var SC=W(`<div class="banner svelte-rcoqqt"><span>Minds cannot think yet — no AI provider is configured.</span> <button class="settings-btn svelte-rcoqqt">add a provider in Settings</button></div>`);function CC(e,t){M(t,!0);let n=F(!0);Tn(()=>{let e=!0;async function t(){try{let t=await fetch(`/api/system/info`);if(!t.ok){console.debug(`[provider] poll returned`,t.status);return}let r=await t.json();e&&I(n,r.aiConfigured!==!1)}catch(e){console.debug(`[provider] poll failed:`,e)}}t();let r=setInterval(t,6e4);return()=>{e=!1,clearInterval(r)}});var r=G(),i=z(r),a=e=>{var n=SC(),r=B(R(n),2);A(n),U(`click`,r,function(...e){t.onOpenSettings?.apply(this,e)}),K(e,n)};J(i,e=>{H(n)||e(a)}),K(e,r),N()}Lr([`click`]);var wC=W(`<div class="empty svelte-h08x3h">Loading...</div>`),TC=W(`<div class="empty error-text svelte-h08x3h"> </div>`),EC=W(`<button class="crumb svelte-h08x3h"> </button>`),DC=W(`<button class="file-row svelte-h08x3h"><span class="file-icon svelte-h08x3h">..</span> <span class="file-name svelte-h08x3h">..</span></button>`),OC=W(`<button><span class="file-icon svelte-h08x3h"> </span> <span class="file-name svelte-h08x3h"> </span></button>`),kC=W(`<div class="empty-dir svelte-h08x3h">Empty directory</div>`),AC=W(`<div class="preview-empty svelte-h08x3h">Loading...</div>`),jC=W(`<div class="preview-empty error-text svelte-h08x3h"> </div>`),MC=W(`<div class="preview-image svelte-h08x3h"><img class="svelte-h08x3h"/></div>`),NC=W(`<div class="preview-markdown markdown-body svelte-h08x3h"></div>`),PC=W(`<pre class="preview-text svelte-h08x3h"><code class="svelte-h08x3h"> </code></pre>`),FC=W(`<div class="preview-empty svelte-h08x3h"><span class="preview-mime svelte-h08x3h"> </span> <a class="download-link svelte-h08x3h" target="_blank" rel="noopener">Download</a></div>`),IC=W(`<div class="preview-header svelte-h08x3h"><span class="preview-filename svelte-h08x3h"> </span> <a class="preview-link svelte-h08x3h" target="_blank" rel="noopener">open</a></div> <!>`,1),LC=W(`<div class="preview-empty svelte-h08x3h">Select a file to preview</div>`),RC=W(`<div class="browser svelte-h08x3h"><div class="file-list svelte-h08x3h"><div class="breadcrumb svelte-h08x3h"><button class="crumb svelte-h08x3h">home/</button> <!></div> <!> <!> <!></div> <div class="preview svelte-h08x3h"><!></div></div>`),zC=W(`<div class="public-files svelte-h08x3h"><!></div>`);function BC(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``),a=F(``),o=F(null),s=F(null),c=F(!1),l=F(``),u=F(L([])),d=new Set([`text/plain`,`text/html`,`text/css`,`text/markdown`,`application/javascript`,`application/json`,`application/xml`]),f=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/svg+xml`,`image/webp`]),p=P(()=>H(u).length>0?`${H(u).join(`/`)}/`:``);async function m(){I(r,!0),I(i,``),I(o,null),I(s,null);try{let e=H(u).length>0?`${H(u).join(`/`)}/`:``,r=await fetch(`/api/minds/${encodeURIComponent(t.name)}/files/${e}`);if(!r.ok)throw Error(`Failed to load directory`);I(n,await r.json(),!0)}catch(e){I(i,e instanceof Error?e.message:`Failed to load`,!0),I(n,[],!0)}finally{I(r,!1)}}Tn(()=>{t.name,H(p),m()});async function h(e){if(e.type===`directory`){I(u,[...H(u),e.name],!0);return}H(s)&&H(y)&&URL.revokeObjectURL(H(s)),I(o,e.name,!0),I(c,!0),I(s,null),I(l,``),I(a,``);try{let n=H(p)+e.name,r=await fetch(`/api/minds/${encodeURIComponent(t.name)}/files/${n}`);if(!r.ok)throw Error(`Failed to load file`);I(l,r.headers.get(`content-type`)??``,!0);let i=H(l).split(`;`)[0].trim();if(d.has(i))I(s,await r.text(),!0);else if(f.has(i)){let e=await r.blob();I(s,URL.createObjectURL(e),!0)}else I(s,null)}catch(e){I(s,null),I(a,e instanceof Error?e.message:`Failed to load file`,!0)}finally{I(c,!1)}}function g(){I(u,H(u).slice(0,-1),!0)}function _(){I(u,[],!0)}let v=P(()=>H(l).split(`;`)[0].trim()),y=P(()=>f.has(H(v))),b=P(()=>d.has(H(v))),x=P(()=>H(v)===`text/markdown`||(H(o)?.endsWith(`.md`)??!1));Tn(()=>{let e=H(s),t=H(y);return()=>{e&&t&&URL.revokeObjectURL(e)}});let S=P(()=>[...H(n)].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1));var C=zC(),w=R(C),T=e=>{K(e,wC())},E=e=>{var t=TC(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)},ee=e=>{var r=RC(),i=R(r),d=R(i),f=R(d);Y(B(f,2),17,()=>H(u),ti,(e,t,n)=>{var r=EC(),i=R(r);A(r),V(()=>q(i,`${H(t)??``}/`)),U(`click`,r,()=>I(u,H(u).slice(0,n+1),!0)),K(e,r)}),A(d);var m=B(d,2),v=e=>{var t=DC();U(`click`,t,g),K(e,t)};J(m,e=>{H(u).length>0&&e(v)});var C=B(m,2);Y(C,17,()=>H(S),e=>e.name,(e,t)=>{var n=OC();let r;var i=R(n),a=R(i,!0);A(i);var s=B(i,2),c=R(s);A(s),A(n),V(()=>{r=X(n,1,`file-row svelte-h08x3h`,null,r,{active:H(o)===H(t).name}),q(a,H(t).type===`directory`?`📁`:`📄`),q(c,`${H(t).name??``}${H(t).type===`directory`?`/`:``}`)}),U(`click`,n,()=>h(H(t))),K(e,n)});var w=B(C,2),T=e=>{K(e,kC())};J(w,e=>{H(n).length===0&&e(T)}),A(i);var E=B(i,2),ee=R(E),te=e=>{var n=IC(),r=z(n),i=R(r),u=R(i);A(i);var d=B(i,2);A(r);var f=B(r,2),m=e=>{K(e,AC())},h=e=>{var t=jC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},g=e=>{var t=MC(),n=R(t);A(t),V(()=>{Xi(n,`src`,H(s)),Xi(n,`alt`,H(o))}),K(e,t)},_=e=>{var t=NC();ui(t,()=>Al(H(s)),!0),A(t),K(e,t)},v=e=>{var t=PC(),n=R(t),r=R(n,!0);A(n),A(t),V(()=>q(r,H(s))),K(e,t)},S=e=>{var n=FC(),r=R(n),i=R(r,!0);A(r);var a=B(r,2);A(n),V(e=>{q(i,H(l)||`unknown type`),Xi(a,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)};J(f,e=>{H(c)?e(m):H(a)?e(h,1):H(y)&&H(s)?e(g,2):H(x)&&H(s)!==null?e(_,3):H(b)&&H(s)!==null?e(v,4):e(S,-1)}),V(e=>{q(u,`${H(p)??``}${H(o)??``}`),Xi(d,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)},ne=e=>{K(e,LC())};J(ee,e=>{H(o)?e(te):e(ne,-1)}),A(E),A(r),U(`click`,f,_),K(e,r)};J(w,e=>{H(r)?e(T):H(i)?e(E,1):e(ee,-1)}),A(C),K(e,C),N()}Lr([`click`]);function VC(e,t,n){let r=null;function i(){r?.abort(),r=new AbortController;let i=r.signal;fetch(e,{signal:i}).then(async e=>{if(!e.ok){n?.(`Stream connection failed (${e.status})`);return}if(!e.body){n?.(`Stream has no body`);return}let r=e.body.getReader(),i=new TextDecoder,a=``;for(;;){let{done:e,value:n}=await r.read();if(e)break;a+=i.decode(n,{stream:!0});let o=a.split(`
|
|
82
|
-
`);a=o.pop()||``;for(let e of o){if(!e.startsWith(`data: `))continue;let n=e.slice(6);n&&t(n)}}}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||n?.(e.message||`Stream error`)})}function a(){r?.abort()}return{start:i,stop:a}}function HC(e,t){return VC(`/api/system/logs`,e,t)}var UC=W(`<button>debug</button>`),WC=W(`<button> </button>`),GC=W(`<div class="filter-sep svelte-1208idv"></div> <div class="filter-group svelte-1208idv"></div>`,1),KC=W(`<button class="pill pill-clear svelte-1208idv">clear</button>`),qC=W(`<div class="pause-bar svelte-1208idv"><span>Scroll paused</span> <button class="resume-btn svelte-1208idv">Resume</button></div>`),JC=W(`<span class="error svelte-1208idv"> </span>`),YC=W(`<span class="waiting svelte-1208idv">Waiting for logs...</span>`),XC=W(`<span class="cat svelte-1208idv"> </span>`),ZC=W(`<span class="data svelte-1208idv"> </span>`),QC=W(`<div class="log-line svelte-1208idv"><span class="ts svelte-1208idv"> </span> <span class="level svelte-1208idv"> </span> <!> <span class="msg svelte-1208idv"> <!></span></div>`),$C=W(`<div class="system-logs svelte-1208idv"><div class="header svelte-1208idv"><span class="title svelte-1208idv">System Logs</span> <span class="count svelte-1208idv"><!></span></div> <div class="filter-bar svelte-1208idv"><div class="filter-group svelte-1208idv"><button>info</button> <button>warn</button> <button>error</button> <!></div> <!> <!></div> <!> <div class="log-output svelte-1208idv"><!> <!></div></div>`);function ew(e,t){M(t,!0);let n={info:`var(--text-2)`,warn:`var(--yellow)`,error:`var(--red)`,debug:`var(--text-2)`},r=F(L([])),i=F(!0),a=F(``),o,s=new Gl,c=new Gl,l=P(()=>H(r).some(e=>e.level===`debug`)),u=P(()=>[...new Set(H(r).map(e=>e.cat).filter(e=>!!e))].sort()),d=P(()=>s.size>0||c.size>0),f=P(()=>H(d)?H(r).filter(e=>!s.has(e.level)&&(!e.cat||!c.has(e.cat))):H(r));function p(e,t){e.has(t)?e.delete(t):e.add(t)}function m(){s.clear(),c.clear()}function h(e){try{let t=JSON.parse(e);H(r).push(t),H(r).length>2e3&&I(r,H(r).slice(-2e3),!0)}catch{}}Tn(()=>{I(a,``);let{start:e,stop:t}=HC(h,e=>{I(a,e,!0)});return e(),t}),Tn(()=>{let e=H(f).length;H(i)&&o&&e>0&&(o.scrollTop=o.scrollHeight)});function g(){if(!o)return;let e=o.scrollHeight-o.scrollTop-o.clientHeight<30;I(i,e)}function _(){I(i,!0),o&&(o.scrollTop=o.scrollHeight)}function v(e){try{return new Date(e).toLocaleTimeString()}catch{return e}}function y(e){return Object.entries(e).map(([e,t])=>`${e}=${typeof t==`string`?t:JSON.stringify(t)}`).join(` `)}var b=$C(),x=R(b),S=B(R(x),2),C=R(S),w=e=>{var t=Kr();V(()=>q(t,`${H(f).length??``} / ${H(r).length??``} entries`)),K(e,t)},T=e=>{var t=Kr();V(()=>q(t,`${H(r).length??``} entries`)),K(e,t)};J(C,e=>{H(d)?e(w):e(T,-1)}),A(S),A(x);var E=B(x,2),ee=R(E),te=R(ee);let ne;var D=B(te,2);let O;var re=B(D,2);let ie;var ae=B(re,2),k=e=>{var t=UC();let n;V(e=>n=X(t,1,`pill pill-debug svelte-1208idv`,null,n,e),[()=>({inactive:s.has(`debug`)})]),U(`click`,t,()=>p(s,`debug`)),K(e,t)};J(ae,e=>{H(l)&&e(k)}),A(ee);var oe=B(ee,2),se=e=>{var t=GC(),n=B(z(t),2);Y(n,20,()=>H(u),e=>e,(e,t)=>{var n=WC();let r;var i=R(n,!0);A(n),V(e=>{r=X(n,1,`pill pill-cat svelte-1208idv`,null,r,e),q(i,t)},[()=>({inactive:c.has(t)})]),U(`click`,n,()=>p(c,t)),K(e,n)}),A(n),K(e,t)};J(oe,e=>{H(u).length>0&&e(se)});var ce=B(oe,2),le=e=>{var t=KC();U(`click`,t,m),K(e,t)};J(ce,e=>{H(d)&&e(le)}),A(E);var ue=B(E,2),de=e=>{var t=qC(),n=B(R(t),2);A(t),U(`click`,n,_),K(e,t)};J(ue,e=>{H(i)||e(de)});var fe=B(ue,2),pe=R(fe),me=e=>{var t=JC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},he=e=>{K(e,YC())};J(pe,e=>{H(a)?e(me):H(r).length===0&&e(he,1)}),Y(B(pe,2),17,()=>H(f),ti,(e,t)=>{var r=QC(),i=R(r),a=R(i,!0);A(i);var o=B(i,2);let s;var c=R(o,!0);A(o);var l=B(o,2),u=e=>{var n=XC(),r=R(n,!0);A(n),V(()=>q(r,H(t).cat)),K(e,n)};J(l,e=>{H(t).cat&&e(u)});var d=B(l,2),f=R(d,!0),p=B(f),m=e=>{var n=ZC(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>y(H(t).data)]),K(e,n)};J(p,e=>{H(t).data&&e(m)}),A(d),A(r),V(e=>{q(a,e),s=Z(o,``,s,{color:n[H(t).level]||`var(--text-2)`}),q(c,H(t).level),q(f,H(t).msg)},[()=>v(H(t).ts)]),K(e,r)}),A(fe),ua(fe,e=>o=e,()=>o),A(b),V((e,t,n)=>{ne=X(te,1,`pill pill-info svelte-1208idv`,null,ne,e),O=X(D,1,`pill pill-warn svelte-1208idv`,null,O,t),ie=X(re,1,`pill pill-error svelte-1208idv`,null,ie,n)},[()=>({inactive:s.has(`info`)}),()=>({inactive:s.has(`warn`)}),()=>({inactive:s.has(`error`)})]),U(`click`,te,()=>p(s,`info`)),U(`click`,D,()=>p(s,`warn`)),U(`click`,re,()=>p(s,`error`)),Ir(`scroll`,fe,g),K(e,b),N()}Lr([`click`]);var tw=W(`<span class="error svelte-1uhe9s"> </span>`),nw=W(`<span class="updating svelte-1uhe9s">Updating...</span>`),rw=W(`<span> </span> <button class="update-btn svelte-1uhe9s">update</button> <button class="dismiss-btn svelte-1uhe9s">×</button>`,1),iw=W(`<div class="banner svelte-1uhe9s"><!></div>`);function aw(e,t){M(t,!0);let n=F(null),r=F(!1),i=F(!1),a=F(null);Tn(()=>{let e=!0;async function t(){try{let t=await fetch(`/api/health`);if(!t.ok)return;let r=await t.json();e&&r.updateAvailable?I(n,{current:r.version,latest:r.latest,updateAvailable:!0},!0):e&&I(n,null)}catch(e){console.debug(`[update] poll failed:`,e)}}t();let r=setInterval(t,6e4);return()=>{e=!1,clearInterval(r)}});async function o(){I(i,!0);try{if(!(await fetch(`/api/system/update`,{method:`POST`})).ok){I(i,!1),I(a,`Update failed`),setTimeout(()=>{I(a,null)},5e3);return}let e=Date.now();for(await new Promise(e=>setTimeout(e,3e3));Date.now()-e<6e4;){try{let e=await fetch(`/api/health`);if(e.ok&&(await e.json()).version!==H(n)?.current){window.location.reload();return}}catch(e){console.debug(`[update] health check failed:`,e)}await new Promise(e=>setTimeout(e,2e3))}window.location.reload()}catch{I(i,!1),I(a,`Update failed`),setTimeout(()=>{I(a,null)},5e3)}}var s=G(),c=z(s),l=e=>{var t=iw(),s=R(t),c=e=>{var t=tw(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},l=e=>{K(e,nw())},u=e=>{var t=rw(),i=z(t),a=R(i);A(i);var s=B(i,2),c=B(s,2);V(()=>q(a,`Update available: v${H(n).current??``} → v${H(n).latest??``}`)),U(`click`,s,o),U(`click`,c,()=>I(r,!0)),K(e,t)};J(s,e=>{H(a)?e(c):H(i)?e(l,1):e(u,-1)}),A(t),K(e,t)};J(c,e=>{H(n)?.updateAvailable&&!H(r)&&e(l)}),K(e,s),N()}Lr([`click`]);var ow=W(`<button class="clear-btn svelte-q0li9w" type="button">×</button>`),sw=W(`<button type="button"><span class="option-empty svelte-q0li9w"> </span></button>`),cw=W(`<button type="button"> </button>`),lw=W(`<span class="dropdown-empty svelte-q0li9w">No matches</span>`),uw=W(`<div class="dropdown svelte-q0li9w"><!> <!> <!></div>`),dw=W(`<div class="model-select svelte-q0li9w"><input type="text" class="text-input svelte-q0li9w"/> <!> <!></div>`);function fw(e,t){M(t,!0);let n=pa(t,`value`,15,``),r=pa(t,`placeholder`,3,`Search models...`),i=pa(t,`emptyLabel`,3,`None`),a=F(``),o=F(!1),s=F(void 0),c,l=P(()=>H(o)?H(a):t.items.find(e=>e.id===n())?.label??(n()?n():``)),u=P(()=>{let e=H(a).toLowerCase().trim();return e?t.items.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e)):t.items});function d(e){let t=e.target.value;clearTimeout(c),c=setTimeout(()=>{I(a,t,!0),I(o,!0)},150)}function f(){I(a,``),I(o,!0)}function p(){setTimeout(()=>{I(o,!1),I(a,``)},200)}function m(e){n(e),I(o,!1),I(a,``),H(s)?.blur()}function h(){n(``),I(o,!1),I(a,``)}var g=dw(),_=R(g);Ki(_),ua(_,e=>I(s,e),()=>H(s));var v=B(_,2),y=e=>{var t=ow();U(`mousedown`,t,e=>{e.preventDefault(),h()}),K(e,t)};J(v,e=>{n()&&!H(o)&&e(y)});var b=B(v,2),x=e=>{var t=uw(),r=R(t),a=e=>{var t=sw();let r;var a=R(t),o=R(a,!0);A(a),A(t),V(()=>{r=X(t,1,`dropdown-option svelte-q0li9w`,null,r,{selected:!n()}),q(o,i())}),U(`mousedown`,t,e=>{e.preventDefault(),m(``)}),K(e,t)};J(r,e=>{i()&&e(a)});var o=B(r,2);Y(o,17,()=>H(u),e=>e.id,(e,t)=>{var r=cw();let i;var a=R(r,!0);A(r),V(()=>{i=X(r,1,`dropdown-option svelte-q0li9w`,null,i,{selected:H(t).id===n()}),q(a,H(t).label)}),U(`mousedown`,r,e=>{e.preventDefault(),m(H(t).id)}),K(e,r)});var s=B(o,2),c=e=>{K(e,lw())};J(s,e=>{H(u).length===0&&e(c)}),A(t),K(e,t)};J(b,e=>{H(o)&&e(x)}),A(g),V(()=>{qi(_,H(l)),Xi(_,`placeholder`,r())}),U(`input`,_,d),Ir(`focus`,_,f),Ir(`blur`,_,p),K(e,g),N()}Lr([`input`,`mousedown`]);var pw=W(`<div class="error svelte-1x5emjp"> </div> <button class="retry-btn svelte-1x5emjp">Retry</button>`,1),mw=W(`<div class="loading-text svelte-1x5emjp">Loading providers...</div>`),hw=W(`<span class="model-tag svelte-1x5emjp"> <button class="model-tag-remove svelte-1x5emjp">×</button></span>`),gw=W(`<div class="model-tags svelte-1x5emjp"></div>`),_w=W(`<span class="dim svelte-1x5emjp">No models enabled</span>`),vw=W(`<div class="provider-card svelte-1x5emjp"><div class="provider-header svelte-1x5emjp"><span class="provider-name svelte-1x5emjp"> </span> <span class="auth-badge svelte-1x5emjp"> </span> <button class="remove-btn svelte-1x5emjp">Remove</button></div> <div class="provider-models svelte-1x5emjp"><!> <button class="add-model-btn svelte-1x5emjp">Add model</button></div></div>`),yw=W(`<button class="add-provider-btn svelte-1x5emjp" type="button">+ Add a provider</button>`),bw=W(`<div class="model-defaults svelte-1x5emjp"><span class="label svelte-1x5emjp">Spirit model</span> <!> <div class="hint svelte-1x5emjp">The model that runs Volute's guiding spirit.</div> <span class="label mt svelte-1x5emjp">Utility model <span class="optional svelte-1x5emjp">(optional)</span></span> <!> <div class="hint svelte-1x5emjp">A smaller model for summaries and background tasks.</div></div>`),xw=W(`<div class="error svelte-1x5emjp"> </div>`),Sw=W(`<!> <!> <!> <!>`,1),Cw=W(`<button class="btn-provider svelte-1x5emjp" type="button"> </button>`),ww=W(`<span class="oauth-heading svelte-1x5emjp">Sign in with</span> <div class="oauth-buttons modal-oauth-buttons svelte-1x5emjp"></div>`,1),Tw=W(`<!> <button class="link-btn svelte-1x5emjp" type="button"> </button>`,1),Ew=W(`<button class="autocomplete-option svelte-1x5emjp" type="button"> </button>`),Dw=W(`<div class="autocomplete-list svelte-1x5emjp"></div>`),Ow=W(`<form class="api-key-form svelte-1x5emjp"><input type="password" placeholder="API key" class="text-input svelte-1x5emjp"/> <button type="submit" class="save-btn svelte-1x5emjp"> </button></form>`),kw=W(`<button class="link-btn svelte-1x5emjp" type="button">back to sign-in options</button>`),Aw=W(`<div class="api-key-section svelte-1x5emjp"><div class="autocomplete svelte-1x5emjp"><input type="text" class="text-input svelte-1x5emjp" placeholder="Search providers..."/> <!></div> <!></div> <!>`,1),jw=W(`<div class="modal-body svelte-1x5emjp"><!> <!></div>`),Mw=W(`<span class="dim svelte-1x5emjp">Verifying...</span>`),Nw=W(`<div class="oauth-steps svelte-1x5emjp"><div class="oauth-step svelte-1x5emjp"><span class="step-num svelte-1x5emjp">1</span> Authorize in the opened window</div> <div class="oauth-step svelte-1x5emjp"><span class="step-num svelte-1x5emjp">2</span> Copy the redirect URL and paste below</div></div> <form class="api-key-form svelte-1x5emjp"><input type="text" placeholder="Paste the redirect URL here" class="text-input svelte-1x5emjp"/> <button type="submit" class="save-btn svelte-1x5emjp">Submit</button></form>`,1),Pw=W(`<p class="oauth-device-code svelte-1x5emjp"> </p>`),Fw=W(`<span class="dim svelte-1x5emjp">Waiting for authorization...</span>`),Iw=W(`<p class="modal-text svelte-1x5emjp">Authorize at:</p> <a target="_blank" rel="noopener" class="oauth-link svelte-1x5emjp"> </a> <!> <!>`,1),Lw=W(`<span class="dim svelte-1x5emjp">Starting OAuth...</span>`),Rw=W(`<button class="model-option svelte-1x5emjp"> </button>`),zw=W(`<div class="model-list svelte-1x5emjp"></div>`),Bw=W(`<button class="custom-add-btn svelte-1x5emjp"> </button> <span class="dim svelte-1x5emjp">For a model not yet in the catalog. Settings are inherited from a built-in model of this provider.</span>`,1),Vw=W(`<span class="dim svelte-1x5emjp">No more models available</span>`),Hw=W(`<div class="modal-body svelte-1x5emjp"><input type="text" placeholder="Search or type a model id..." class="text-input svelte-1x5emjp"/> <!> <!> <!></div>`);function Uw(e,t){M(t,!0);let n=pa(t,`showModelDefaults`,3,!1),r=pa(t,`spiritModel`,15,``),i=pa(t,`utilityModel`,15,``),a=F(L([])),o=F(L([])),s=F(``),c=F(!1),l=F(``),u=F(!1),d=F(`oauth`),f=F(``),p=F(``),m=F(``),h=F(``),g=F(``),_=F(``),v=F(!1),y=F(!1),b=F(!1),x=F(``),S=F(!1),C=F(``),w=F(!1),T=F(``),E=F(``),ee=P(()=>H(a).filter(e=>e.configured)),te=P(()=>H(a).filter(e=>!e.configured)),ne=P(()=>H(te).filter(e=>e.oauth)),D=P(()=>H(f).trim()?H(te).filter(e=>e.id.toLowerCase().includes(H(f).toLowerCase())):H(te)),O=P(()=>H(o).filter(e=>e.enabled)),re=P(()=>typeof location<`u`&&location.hostname!==`localhost`&&location.hostname!==`127.0.0.1`),ie={"Google Cloud Code Assist":`Google Cloud`,"ChatGPT Plus/Pro":`OpenAI`};function ae(e){let t=(e.oauthName??e.id).replace(/\s*\(.*\)/,``).trim();return ie[t]??(t||e.id)}function k(e){return H(O).filter(t=>t.provider===e)}let oe=P(()=>H(E).trim()?H(o).filter(e=>!e.enabled&&e.provider===H(T)&&e.id.toLowerCase().includes(H(E).toLowerCase())).slice(0,12):H(o).filter(e=>!e.enabled&&e.provider===H(T)).slice(0,12)),se=P(()=>H(E).trim().length>0&&!H(o).some(e=>e.provider===H(T)&&e.id.toLowerCase()===H(E).trim().toLowerCase()));function ce(e){return e===`api_key`?`API key`:e===`oauth`?`OAuth`:e===`env_var`?`env var`:``}Tn(()=>{H(O)&&t.onLoad?.(H(O))});async function le(){I(l,``);try{I(a,await Cd(),!0),I(o,await wd(),!0)}catch{I(l,`Failed to load providers. Check your connection and try again.`)}}function ue(){I(u,!1),I(h,``),I(g,``),I(_,``),I(v,!1),I(y,!1),I(b,!1),I(x,``),I(S,!1),I(C,``),I(d,`oauth`),I(f,``),I(p,``),I(m,``),I(s,``)}function de(){ue(),I(u,!0)}async function fe(){if(!H(p)||!H(m).trim())return;I(s,``),I(c,!0);let e=H(p);try{await Td(H(p),H(m).trim()),ue(),await le(),I(T,e,!0),I(E,``),I(w,!0)}catch(e){I(s,e instanceof Error?e.message:`Failed to save provider`,!0)}I(c,!1)}async function pe(e){I(c,!0),I(s,``);try{await Ed(e);let t=H(o).filter(t=>t.provider===e&&t.enabled);for(let e of t)i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``);await le()}catch(e){I(s,e instanceof Error?e.message:`Failed to remove provider`,!0)}I(c,!1)}async function me(e){I(s,``),I(h,e,!0),I(c,!0);try{let t=await Dd(e);I(_,t.flowId,!0),I(y,!!t.needsManualCode),I(C,t.instructions??``,!0),I(v,!0),t.url&&(I(g,t.url,!0),window.open(t.url,`_blank`)),he()}catch(e){I(s,e instanceof Error?e.message:`OAuth failed`,!0),I(h,``)}I(c,!1)}async function he(){let e=0;for(;H(v);){await new Promise(e=>setTimeout(e,2500));try{let t=await Od(H(_));if(e=0,t.instructions&&!H(C)&&I(C,t.instructions,!0),t.url&&!H(g)&&I(g,t.url,!0),t.waitingForCode&&I(b,!0),t.status===`complete`){I(v,!1);let e=H(h);ue(),await le(),I(T,e,!0),I(E,``),I(w,!0);return}else if(t.status===`error`){I(v,!1),I(g,``),I(b,!1),I(S,!1),I(s,t.error??`OAuth failed`,!0),I(h,``);return}}catch{if(e++,e>=5){I(v,!1),I(g,``),I(S,!1),I(s,`Lost connection while waiting for OAuth`),I(h,``);return}}}}async function ge(){if(!(!H(x).trim()||!H(_))){I(s,``),I(S,!0);try{await kd(H(_),H(x).trim()),I(x,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to submit code`,!0),I(S,!1)}}}function _e(){let e=H(x).trim();e&&/^https?:\/\//.test(e)&&ge()}async function ve(e){let t=[...H(O).map(e=>e.qualifiedId),e];try{await Ad(t),I(o,H(o).map(t=>t.qualifiedId===e?{...t,enabled:!0}:t),!0),I(E,``),I(w,!1)}catch(e){I(s,e instanceof Error?e.message:`Failed to add model`,!0)}}async function ye(){let e=H(E).trim();if(e)try{await jd(H(T),e),I(E,``),I(w,!1),await le()}catch(e){I(s,e instanceof Error?e.message:`Failed to add custom model`,!0)}}async function be(e){if(e.custom){try{await Md(e.provider,e.id),I(o,H(o).filter(t=>t.qualifiedId!==e.qualifiedId),!0),i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove custom model`,!0)}return}let t=H(O).map(e=>e.qualifiedId).filter(t=>t!==e.qualifiedId);try{await Ad(t),I(o,H(o).map(t=>t.qualifiedId===e.qualifiedId?{...t,enabled:!1}:t),!0),i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove model`,!0)}}var xe={load:le},Se=Sw(),Ce=z(Se),we=e=>{var t=pw(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,H(l))),U(`click`,i,()=>le()),K(e,t)},Te=e=>{K(e,mw())},Ee=e=>{var t=Sw(),a=z(t);Y(a,17,()=>H(ee),e=>e.id,(e,t)=>{let n=P(()=>k(H(t).id));var r=vw(),i=R(r),a=R(i),o=R(a,!0);A(a);var l=B(a,2),u=R(l,!0);A(l);var d=B(l,2);A(i);var f=B(i,2),p=R(f),m=e=>{var t=gw();Y(t,21,()=>H(n),e=>e.qualifiedId,(e,t)=>{var n=hw(),r=R(n),i=B(r);A(n),V(()=>q(r,`${H(t).id??``} `)),U(`click`,i,()=>be(H(t))),K(e,n)}),A(t),K(e,t)},h=e=>{K(e,_w())};J(p,e=>{H(n).length>0?e(m):e(h,-1)});var g=B(p,2);A(f),A(r),V(e=>{q(o,H(t).id),q(u,e),d.disabled=H(c)},[()=>ce(H(t).authMethod)]),U(`click`,d,()=>pe(H(t).id)),U(`click`,g,()=>{I(T,H(t).id,!0),I(E,``),I(s,``),I(w,!0)}),K(e,r)});var o=B(a,2),l=e=>{var t=yw();U(`click`,t,de),K(e,t)};J(o,e=>{H(te).length>0&&e(l)});var d=B(o,2),f=e=>{var t=bw(),n=B(R(t),2);{let e=P(()=>H(O).map(e=>({id:e.qualifiedId,label:`${e.name} · ${e.provider}`})));fw(n,{get items(){return H(e)},placeholder:`Search models...`,get value(){return r()},set value(e){r(e)}})}var a=B(n,6);{let e=P(()=>H(O).map(e=>({id:e.qualifiedId,label:`${e.name} · ${e.provider}`})));fw(a,{get items(){return H(e)},placeholder:`Search models...`,emptyLabel:`None`,get value(){return i()},set value(e){i(e)}})}j(2),A(t),K(e,t)};J(d,e=>{n()&&H(O).length>0&&e(f)});var p=B(d,2),m=e=>{var t=xw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(p,e=>{H(s)&&!H(u)&&e(m)}),K(e,t)};J(Ce,e=>{H(l)?e(we):H(a).length===0?e(Te,1):e(Ee,-1)});var De=B(Ce,2),Oe=e=>{$a(e,{onClose:()=>{H(v)||ue()},size:`420px`,title:`Add a provider`,children:(e,t)=>{var n=jw(),r=R(n),i=e=>{var t=Tw(),n=z(t),r=e=>{var t=ww(),n=B(z(t),2);Y(n,21,()=>H(ne),e=>e.id,(e,t)=>{var n=Cw(),r=R(n,!0);A(n),V(e=>{n.disabled=H(c),q(r,e)},[()=>ae(H(t))]),U(`click`,n,()=>me(H(t).id)),K(e,n)}),A(n),K(e,t)};J(n,e=>{H(ne).length>0&&e(r)});var i=B(n,2),a=R(i,!0);A(i),V(()=>q(a,H(ne).length>0?`or add an API key`:`Add an API key`)),U(`click`,i,()=>{I(d,`apikey`),I(f,``),I(p,``)}),K(e,t)},a=e=>{var t=Aw(),n=z(t),r=R(n),i=R(r);Ki(i);var a=B(i,2),o=e=>{var t=Dw();Y(t,21,()=>H(D),e=>e.id,(e,t)=>{var n=Ew(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>{I(p,H(t).id,!0),I(f,H(t).id,!0)}),K(e,n)}),A(t),K(e,t)};J(a,e=>{!H(p)&&H(D).length>0&&e(o)}),A(r);var s=B(r,2),l=e=>{var t=Ow(),n=R(t);Ki(n);var r=B(n,2),i=R(r,!0);A(r),A(t),V(e=>{r.disabled=e,q(i,H(c)?`...`:`Save`)},[()=>H(c)||!H(m).trim()]),Ir(`submit`,t,e=>{e.preventDefault(),fe()}),aa(n,()=>H(m),e=>I(m,e)),K(e,t)};J(s,e=>{H(p)&&e(l)}),A(n);var u=B(n,2),h=e=>{var t=kw();U(`click`,t,()=>{I(d,`oauth`)}),K(e,t)};J(u,e=>{H(ne).length>0&&e(h)}),U(`input`,i,()=>{I(p,``)}),aa(i,()=>H(f),e=>I(f,e)),K(e,t)};J(r,e=>{H(d)===`oauth`?e(i):e(a,-1)});var o=B(r,2),l=e=>{var t=xw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(o,e=>{H(s)&&e(l)}),A(n),K(e,n)},$$slots:{default:!0}})};J(De,e=>{H(u)&&!H(h)&&e(Oe)});var ke=B(De,2),Ae=e=>{{let t=P(()=>H(a).find(e=>e.id===H(h))?.oauthName??H(h));$a(e,{onClose:()=>{H(v)||ue()},size:`420px`,get title(){return`Sign in with ${H(t)??``}`},children:(e,t)=>{var n=jw(),r=R(n),i=e=>{K(e,Mw())},a=e=>{var t=Nw(),n=B(z(t),2),r=R(n);Ki(r);var i=B(r,2);A(n),V(e=>i.disabled=e,[()=>!H(x).trim()]),Ir(`submit`,n,e=>{e.preventDefault(),ge()}),U(`input`,r,_e),aa(r,()=>H(x),e=>I(x,e)),K(e,t)},o=e=>{var t=Iw(),n=B(z(t),2),r=R(n,!0);A(n);var i=B(n,2),a=e=>{var t=Pw(),n=R(t,!0);A(t),V(()=>q(n,H(C))),K(e,t)};J(i,e=>{H(C)&&e(a)});var o=B(i,2),s=e=>{K(e,Fw())};J(o,e=>{H(v)&&e(s)}),V(()=>{Xi(n,`href`,H(g)),q(r,H(g))}),K(e,t)},l=e=>{K(e,Fw())},u=e=>{K(e,Lw())};J(r,e=>{H(S)?e(i):H(g)&&(H(y)&&H(re)||H(b))?e(a,1):H(g)&&!H(y)?e(o,2):H(v)?e(l,3):H(c)&&e(u,4)});var d=B(r,2),f=e=>{var t=xw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(d,e=>{H(s)&&e(f)}),A(n),K(e,n)},$$slots:{default:!0}})}};J(ke,e=>{H(h)&&e(Ae)});var je=B(ke,2),Me=e=>{$a(e,{onClose:()=>{I(w,!1)},size:`420px`,get title(){return`Add model — ${H(T)??``}`},children:(e,t)=>{var n=Hw(),r=R(n);Ki(r);var i=B(r,2),a=e=>{var t=zw();Y(t,21,()=>H(oe),e=>e.qualifiedId,(e,t)=>{var n=Rw(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>ve(H(t).qualifiedId)),K(e,n)}),A(t),K(e,t)};J(i,e=>{H(oe).length>0&&e(a)});var o=B(i,2),c=e=>{var t=Bw(),n=z(t),r=R(n);A(n),j(2),V(e=>q(r,`Add “${e??``}” as a custom model`),[()=>H(E).trim()]),U(`click`,n,ye),K(e,t)},l=e=>{K(e,Vw())};J(o,e=>{H(se)?e(c):H(oe).length===0&&e(l,1)});var u=B(o,2),d=e=>{var t=xw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(u,e=>{H(s)&&e(d)}),A(n),aa(r,()=>H(E),e=>I(E,e)),K(e,n)},$$slots:{default:!0}})};return J(je,e=>{H(w)&&e(Me)}),K(e,Se),N(xe)}Lr([`click`,`input`]);var Ww=W(`<div></div>`),Gw=W(`<div class="steps svelte-48ammf"></div>`),Kw=W(`<div class="welcome svelte-48ammf"><div class="welcome-text svelte-48ammf">A platform for AI experience. Create minds with persistent memory,
|
|
83
|
-
continuous identity, and the freedom to grow.</div> <button class="submit-btn svelte-48ammf">Get started</button></div>`),
|
|
81
|
+
`)}let d=P(()=>{let e=H(i)?.timezone;if(!(!e||e===Intl.DateTimeFormat().resolvedOptions().timeZone))try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value}catch{return}});function f(e){try{return new Date(e).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return e}}let p=P(()=>{if(!H(i))return[];let e=[],t=new Map;for(let e of H(i).upcoming)t.has(e.id)||t.set(e.id,e.at);if(H(i).sleep?.sleeping){let t=H(i).sleep.scheduledWakeAt??H(i).sleep.voluntaryWakeAt;e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`sleeping now`,next:t?`wake ${Ob(t)}`:``,disabled:!1,tooltip:``})}else if(H(i).sleepConfig?.enabled&&H(i).sleepConfig.schedule){let n=H(i).sleepConfig.schedule,r=t.get(`sleep`);e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`${kb(n.sleep,H(d))} \u2192 ${kb(n.wake,H(d))}`,next:r?Ob(r):``,disabled:!1,tooltip:``})}for(let n of H(i).schedules){let r=``;n.cron?r=kb(n.cron,H(d)):n.fireAt&&(r=f(n.fireAt));let i=t.get(n.id);e.push({id:n.id,icon:o(n.id),color:l(n.id),times:r,next:i?Ob(i):``,disabled:!n.enabled,tooltip:u(n)})}return e}),m=P(()=>{if(!H(i))return null;if(H(i).sleep?.sleeping){if(H(i).sleep.wokenByTrigger)return{icon:`sleep`,label:`Briefly awake`,color:l(`wake`),detail:`trigger · sleeps when idle`};let e=H(i).sleep.scheduledWakeAt??H(i).sleep.voluntaryWakeAt;return{icon:`sleep`,label:`Sleeping`,color:l(`sleep`),detail:e?`wake ${Ob(e)}`:`now`}}if(H(i).previous?.length>0){let e=H(i).previous[0];return{icon:o(e.id),label:e.id,color:l(e.id),detail:Ob(e.at)}}return null}),h=P(()=>{if(!H(i))return null;let e=H(i).sleep?.sleeping,t=H(i).upcoming.find(t=>!(e&&t.id===`wake`));return t?{icon:o(t.id),label:t.id,color:l(t.id),detail:Ob(t.at)}:null}),g=P(()=>H(i)&&(H(i).schedules.length>0||H(i).sleep?.sleeping||H(i).sleepConfig?.enabled));var _=G(),v=z(_),y=e=>{var t=Kb(),n=R(t),r=R(n),i=R(r),o=e=>{var t=Rb(),n=R(t);let r;qa(R(n),{get kind(){return H(m).icon},class:`summary-icon`}),A(n);var i=B(n,2);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(t),V(()=>{r=Z(n,``,r,{color:H(m).color}),a=Z(i,``,a,{color:H(m).color}),q(o,H(m).label),q(c,H(m).detail)}),K(e,t)};J(i,e=>{H(m)&&e(o)});var c=B(i,2),l=e=>{var t=Bb(),n=z(t),r=e=>{K(e,zb())};J(n,e=>{H(m)&&e(r)});var i=B(n,2),a=R(i);let o;qa(R(a),{get kind(){return H(h).icon},class:`summary-icon`}),A(a);var s=B(a,2);let c;var l=R(s,!0);A(s);var u=B(s,2),d=R(u,!0);A(u),A(i),V(()=>{o=Z(a,``,o,{color:H(h).color}),c=Z(s,``,c,{color:H(h).color}),q(l,H(h).label),q(d,H(h).detail)}),K(e,t)};J(c,e=>{H(h)&&e(l)});var u=B(c,2),d=e=>{var t=Vb();qa(R(t),{kind:`clock`,class:`summary-icon`}),j(2),A(t),K(e,t)};J(u,e=>{!H(m)&&!H(h)&&e(d)}),A(r);var f=B(r,2);let g;A(n);var _=B(n,2),v=e=>{var t=Gb();Y(t,21,()=>H(p),e=>e.id,(e,t)=>{var n=Wb();let r;var i=R(n),a=R(i),o=e=>{var n=Hb();let r;qa(R(n),{get kind(){return H(t).icon},class:`clock-icon`}),A(n),V(()=>r=Z(n,``,r,{color:H(t).color})),K(e,n)},c=P(()=>s(H(t).id)),l=e=>{var n=Ub();let r;V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)};J(a,e=>{H(c)?e(o):e(l,-1)});var u=B(a,2);let d;var f=R(u,!0);A(u),A(i);var p=B(i,2),m=R(p,!0);A(p);var h=B(p,2),g=R(h,!0);A(h),A(n),V(()=>{r=X(n,1,`clock-row svelte-lb23vu`,null,r,{disabled:H(t).disabled}),Xi(n,`title`,H(t).tooltip),d=Z(u,``,d,{color:H(t).color}),q(f,H(t).id),q(m,H(t).times),q(g,H(t).next)}),K(e,n)}),A(t),K(e,t)};J(_,e=>{H(a)&&e(v)}),A(t),V(()=>g=X(f,0,`expand-chevron svelte-lb23vu`,null,g,{expanded:H(a)})),U(`click`,n,()=>I(a,!H(a))),K(e,t)};J(v,e=>{H(i)&&H(g)&&e(y)}),K(e,_),N()}Lr([`click`]);var Jb=W(`<button class="floating-btn svelte-chl8f0" aria-label="Chat"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-chl8f0"><path d="M2 3h12v8H5l-3 3V3z"></path></svg></button>`),Yb=W(`<button class="floating-btn svelte-chl8f0" aria-label="Expand"><svg viewBox="0 0 24 24" fill="currentColor" class="svelte-chl8f0"><path d="M6 7.414V9a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H7.414l2.293 2.293a1 1 0 0 1-1.414 1.414L6 7.414zM15 6a1 1 0 1 1 0-2h4a1 1 0 0 1 1 1v4a1 1 0 1 1-2 0V7.414l-2.293 2.293a1 1 0 0 1-1.414-1.414L16.586 6H15zM5 14a1 1 0 0 1 1 1v1.586l2.293-2.293a1 1 0 0 1 1.414 1.414L7.414 18H9a1 1 0 1 1 0 2H5a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1zm9.293 1.707a1 1 0 0 1 1.414-1.414L18 16.586V15a1 1 0 1 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 1 1 0-2h1.586l-2.293-2.293z"></path></svg></button>`),Xb=W(`<div class="floating-btns svelte-chl8f0"><!> <!></div>`),Zb=W(`<img alt="" class="profile-avatar svelte-chl8f0" loading="lazy" decoding="async"/>`),Qb=W(`<p class="profile-description svelte-chl8f0"> </p>`),$b=W(`<div class="mind-panel svelte-chl8f0"><!> <div class="panel-body svelte-chl8f0"><div class="profile-section svelte-chl8f0"><!> <span class="profile-name svelte-chl8f0"><span></span> </span> <!></div> <!> <div class="history-section svelte-chl8f0"><!></div></div></div>`);function ex(e,t){M(t,!0);let n=P(()=>qf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>Jf.has(H(n).name));var i=$b(),a=R(i),o=e=>{var n=Xb(),r=R(n),i=e=>{var n=Jb();Si(n,(e,t)=>Il?.(e,t),()=>({text:`Chat`,position:`right`})),U(`click`,n,function(...e){t.onChat?.apply(this,e)}),K(e,n)};J(r,e=>{t.onChat&&e(i)});var a=B(r,2),o=e=>{var n=Yb();Si(n,(e,t)=>Il?.(e,t),()=>({text:`Expand`,position:`right`})),U(`click`,n,function(...e){t.onExpand?.apply(this,e)}),K(e,n)};J(a,e=>{t.onExpand&&e(o)}),A(n),K(e,n)};J(a,e=>{(t.onChat||t.onExpand)&&e(o)});var s=B(a,2),c=R(s),l=R(c),u=e=>{var t=Zb();V(e=>Xi(t,`src`,e),[()=>`/api/minds/${encodeURIComponent(H(n).name)}/avatar`]),K(e,t)};J(l,e=>{H(n).avatar&&e(u)});var d=B(l,2),f=R(d);let p,m;var h=B(f);A(d);var g=B(d,2),_=e=>{var t=Qb(),r=R(t,!0);A(t),V(()=>q(r,H(n).description)),K(e,t)};J(g,e=>{H(n).description&&e(_)}),A(c);var v=B(c,2);qb(v,{get name(){return H(n).name}});var y=B(v,2);_y(R(y),{get name(){return H(n).name},get mindStatus(){return H(n).status}}),A(y),A(s),A(i),V(e=>{p=X(f,1,`status-dot svelte-chl8f0`,null,p,{iridescent:H(r)}),m=Z(f,``,m,e),q(h,` ${H(n).displayName??H(n).name??``}`)},[()=>({background:H(r)?void 0:Ll(H(n))})]),K(e,i),N()}Lr([`click`]);var tx=W(`<span class="template-badge svelte-ei9umb"> </span>`),nx=W(`<!> <button class="setting-hint-btn svelte-ei9umb">back</button>`,1),rx=W(`<option> </option>`),ix=W(`<option>--</option> <!> <option>other...</option>`,1),ax=W(`<div class="slider-control svelte-ei9umb"><input type="range" class="thinking-slider svelte-ei9umb" min="0" max="5" step="1"/> <span> </span></div>`),ox=W(`<!> <span class="setting-hint svelte-ei9umb">per</span> <!> <span class="setting-hint svelte-ei9umb">min</span>`,1),sx=W(`<!> <span class="setting-hint svelte-ei9umb">tokens</span>`,1),cx=W(`<!> <!>`,1),lx=W(`<!> <!> <!> <!> <!> <!>`,1);function ux(e,t){M(t,!0);let n=pa(t,`hideBudget`,3,!1),r=F(null),i=F(L([])),a=F(``),o=F(0),s=F(``),c=F(``),l=F(``),u=F(!1),d=F(``),f=F(null),p=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],m={claude:[`anthropic`],codex:[`openai-codex`],pi:[]},h=P(()=>t.template?m[t.template]??[]:[]),g=P(()=>H(i).filter(e=>e.enabled).filter(e=>H(h).length===0||H(h).includes(e.provider)));function _(e){return e?H(g).some(t=>t.id===e)?e:H(g).find(t=>t.id.startsWith(e)||e.startsWith(t.id))?.id??e:``}Tn(()=>{if(H(g).length>0&&H(a)){let e=_(H(a));e!==H(a)&&I(a,e,!0)}});let v=P(()=>H(a)!==``&&!H(g).some(e=>e.id===H(a))),y=P(()=>p[H(o)]);function b(e){I(a,e.config.model??``,!0);let t=e.config.thinkingLevel??`off`;I(o,Math.max(0,p.indexOf(t)),!0),I(s,e.config.tokenBudget==null?``:String(e.config.tokenBudget),!0),I(c,e.config.tokenBudgetPeriodMinutes==null?``:String(e.config.tokenBudgetPeriodMinutes),!0),I(l,e.config.compaction?.maxContextTokens==null?``:String(e.config.compaction.maxContextTokens),!0),I(u,e.config.unescapeNewlines??!1,!0)}function x(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}async function S(e,n){I(f,e,!0),I(d,``);try{await n();let e=await Vu(t.name);I(r,e,!0),b(e)}catch(e){I(d,e instanceof Error?e.message:`Save failed`,!0)}I(f,null)}function C(e){I(a,e,!0),e&&S(`model`,()=>Hu(t.name,{model:e}))}function w(){S(`thinking`,()=>Hu(t.name,{thinkingLevel:p[H(o)]}))}function T(){S(`budget`,()=>Hu(t.name,{tokenBudget:x(H(s))}))}function E(){S(`period`,()=>Hu(t.name,{tokenBudgetPeriodMinutes:x(H(c))}))}function ee(){S(`compaction`,()=>Hu(t.name,{compaction:{maxContextTokens:x(H(l))}}))}function te(){I(u,!H(u)),S(`unescapeNewlines`,()=>Hu(t.name,{unescapeNewlines:H(u)}))}function ne(e){let t=e.target.value;t===`__other__`?I(a,``):C(t)}function D(e){I(o,parseInt(e.target.value,10),!0),w()}ma(async()=>{try{let[e,n]=await Promise.all([Vu(t.name),wd()]);I(r,e,!0),I(i,n,!0),b(e)}catch(e){I(d,e instanceof Error?e.message:`Failed to load config`,!0)}});var O=G(),re=z(O),ie=e=>{var r=lx(),i=z(r),f=e=>{co(e,{label:`Template`,children:(e,n)=>{var r=tx(),i=R(r,!0);A(r),V(()=>q(i,t.template)),K(e,r)},$$slots:{default:!0}})};J(i,e=>{t.template&&e(f)});var p=B(i,2);co(p,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),i=e=>{var t=nx(),n=z(t);Xa(n,{type:`text`,onblur:()=>C(H(a)),placeholder:`Model ID`,get value(){return H(a)},set value(e){I(a,e,!0)}}),U(`click`,B(n,2),()=>{I(a,H(g)[0]?.id??``,!0),H(a)&&C(H(a))}),K(e,t)},o=e=>{oo(e,{get value(){return H(a)},onchange:ne,children:(e,t)=>{var n=ix(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(g),e=>e.id,(e,t)=>{var n=rx(),r=R(n,!0);A(n);var i={};V(()=>{q(r,H(t).name),i!==(i=H(t).id)&&(n.value=(n.__value=H(t).id)??``)}),K(e,n)});var a=B(i,2);a.value=a.__value=`__other__`,K(e,n)},$$slots:{default:!0}})};J(r,e=>{H(v)?e(i):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var m=B(p,2);co(m,{label:`Thinking`,children:(e,t)=>{var n=ax(),r=R(n);Ki(r);var i=B(r,2);let a;var s=R(i,!0);A(i),A(n),V(()=>{qi(r,H(o)),a=X(i,1,`slider-label svelte-ei9umb`,null,a,{off:H(o)===0}),q(s,H(y))}),U(`change`,r,D),K(e,n)},$$slots:{default:!0}});var h=B(m,2),_=e=>{var t=cx(),n=z(t);co(n,{label:`Budget`,children:(e,t)=>{var n=ox(),r=z(n);Xa(r,{type:`number`,width:`80px`,onblur:T,placeholder:`tokens`,get value(){return H(s)},set value(e){I(s,e,!0)}}),Xa(B(r,4),{type:`number`,width:`80px`,onblur:E,placeholder:`min`,get value(){return H(c)},set value(e){I(c,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),co(B(n,2),{label:`Context`,children:(e,t)=>{var n=sx();Xa(z(n),{type:`number`,width:`80px`,onblur:ee,placeholder:`150000`,get value(){return H(l)},set value(e){I(l,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,t)};J(h,e=>{n()||e(_)});var b=B(h,2);co(b,{label:`Fix newlines`,children:(e,t)=>{Co(e,{get checked(){return H(u)},onchange:te,label:`Unescape \\\\n in messages`})},$$slots:{default:!0}}),Ca(B(b,2),{get message(){return H(d)}}),K(e,r)};J(re,e=>{H(r)&&e(ie)}),K(e,O),N()}Lr([`click`,`change`]);var dx=W(`<div class="env-add-row svelte-1hrpqbw"><!> <!> <!> <!></div>`),fx=W(`<span class="env-key svelte-1hrpqbw"> </span> <!> <!> <!>`,1),px=W(`<span class="env-source svelte-1hrpqbw">shared</span>`),mx=W(`<span class="env-key svelte-1hrpqbw"> <!></span> <span><!></span> <!> <!> <!>`,1),hx=W(`<div class="env-row svelte-1hrpqbw"><!></div>`),gx=W(`<div class="env-list svelte-1hrpqbw"></div>`),_x=W(`<!> <!> <!>`,1);function vx(e,t){M(t,!0);let n=F(null),r=F(``),i=F(null),a=new Gl,o=F(!1),s=F(``),c=F(``),l=F(null),u=F(``),d=P(()=>{if(!H(n))return[];let e=[];for(let[t,r]of Object.entries(H(n).shared))e.push({key:t,value:r,source:`shared`});for(let[t,r]of Object.entries(H(n).mind)){let n=e.findIndex(e=>e.key===t);n>=0?e[n]={key:t,value:r,source:`mind`}:e.push({key:t,value:r,source:`mind`})}return e.sort((e,t)=>e.key.localeCompare(t.key))});async function f(){try{I(n,await Uu(t.name),!0),I(r,``)}catch(e){I(r,e instanceof Error?e.message:`Failed to load environment`,!0)}}ma(()=>{f()});function p(e){a.has(e)?a.delete(e):a.add(e)}function m(e,t){I(l,e,!0),I(u,t,!0)}async function h(){if(H(l)){I(i,`env:${H(l)}`),I(r,``);try{await Wu(t.name,H(l),H(u)),I(n,await Uu(t.name),!0),I(l,null),I(u,``)}catch(e){I(r,e instanceof Error?e.message:`Failed to save`,!0)}I(i,null)}}async function g(e,a){I(i,`env:${e}`),I(r,``);try{a===`shared`?await Ku(e):await Gu(t.name,e),I(n,await Uu(t.name),!0)}catch(e){I(r,e instanceof Error?e.message:`Failed to delete`,!0)}I(i,null)}async function _(){if(H(s).trim()){I(i,`env:add`),I(r,``);try{await Wu(t.name,H(s).trim(),H(c)),I(n,await Uu(t.name),!0),I(s,``),I(c,``),I(o,!1)}catch(e){I(r,e instanceof Error?e.message:`Failed to add`,!0)}I(i,null)}}function v(e,t){e.key===`Enter`&&t()}uo(e,{title:`Environment Variables`,action:e=>{_a(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Kr(`Add`))},$$slots:{default:!0}})},children:(e,t)=>{var n=_x(),f=z(n);Ca(f,{get message(){return H(r)}});var y=B(f,2),b=e=>{var t=dx(),n=R(t);Xa(n,{variant:`mono`,type:`text`,width:`120px`,placeholder:`KEY`,onkeydown:e=>v(e,_),get value(){return H(s)},set value(e){I(s,e,!0)}});var r=B(n,2);Xa(r,{variant:`mono`,type:`text`,style:`flex:1`,placeholder:`value`,onkeydown:e=>v(e,_),get value(){return H(c)},set value(e){I(c,e,!0)}});var a=B(r,2);{let e=P(()=>H(i)!==null);_a(a,{variant:`primary`,onclick:_,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(i)===`env:add`?`...`:`Add`)),K(e,n)},$$slots:{default:!0}})}_a(B(a,2),{variant:`secondary`,onclick:()=>I(o,!1),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(t),K(e,t)};J(y,e=>{H(o)&&e(b)});var x=B(y,2),S=e=>{xa(e,{message:`No environment variables set.`})},C=e=>{var t=gx();Y(t,21,()=>H(d),e=>e.key,(e,t)=>{var n=hx(),r=R(n),o=e=>{var n=fx(),r=z(n),a=R(r,!0);A(r);var o=B(r,2);Xa(o,{variant:`mono`,type:`text`,style:`flex:1`,onkeydown:e=>v(e,h),get value(){return H(u)},set value(e){I(u,e,!0)}});var s=B(o,2);{let e=P(()=>H(i)!==null);_a(s,{variant:`primary`,onclick:h,get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(i)===`env:${H(t).key}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}_a(B(s,2),{variant:`secondary`,onclick:()=>I(l,null),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),V(()=>q(a,H(t).key)),K(e,n)},s=e=>{var n=mx(),r=z(n),o=R(r),s=B(o),c=e=>{K(e,px())};J(s,e=>{H(t).source===`shared`&&e(c)}),A(r);var l=B(r,2);let u;var d=R(l),f=e=>{var n=Kr();V(()=>q(n,H(t).value)),K(e,n)},h=P(()=>a.has(H(t).key)),_=e=>{K(e,Kr(`••••••••`))};J(d,e=>{H(h)?e(f):e(_,-1)}),A(l);var v=B(l,2);_a(v,{variant:`icon`,onclick:()=>p(H(t).key),title:`Toggle visibility`,children:(e,n)=>{j();var r=Kr();V(e=>q(r,e),[()=>a.has(H(t).key)?`Hide`:`Show`]),K(e,r)},$$slots:{default:!0}});var y=B(v,2),b=e=>{_a(e,{variant:`icon`,onclick:()=>m(H(t).key,H(t).value),title:`Edit`,children:(e,t)=>{j(),K(e,Kr(`Edit`))},$$slots:{default:!0}})};J(y,e=>{H(t).source===`mind`&&e(b)});var x=B(y,2);{let e=P(()=>H(i)!==null);_a(x,{variant:`icon`,onclick:()=>g(H(t).key,H(t).source),get disabled(){return H(e)},title:`Delete`,children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(i)===`env:${H(t).key}`?`...`:`Del`)),K(e,r)},$$slots:{default:!0}})}V(e=>{q(o,`${H(t).key??``} `),u=X(l,1,`env-value svelte-1hrpqbw`,null,u,e)},[()=>({masked:!a.has(H(t).key)})]),K(e,n)};J(r,e=>{H(l)===H(t).key?e(o):e(s,-1)}),A(n),K(e,n)}),A(t),K(e,t)};J(x,e=>{H(d).length===0?e(S):e(C,-1)}),K(e,n)},$$slots:{action:!0,default:!0}}),N()}function yx(e,t){vx(e,{get name(){return t.name}})}function bx(){let e=F(null),t=null;function n(n){t&&clearTimeout(t),I(e,n,!0),t=setTimeout(()=>{I(e,null),t=null},1500)}return{get savedField(){return H(e)},showSaved:n}}var xx=W(`<img alt="" class="avatar-img svelte-1ezxk1u" loading="lazy" decoding="async"/>`),Sx=W(`<div class="avatar-placeholder svelte-1ezxk1u">?</div>`),Cx=W(`<span class="saved-indicator svelte-1ezxk1u">Saved</span>`),wx=W(`<div class="profile-fields svelte-1ezxk1u"><div class="field-row svelte-1ezxk1u"><span class="field-label svelte-1ezxk1u">Avatar</span> <button type="button" class="avatar-wrapper svelte-1ezxk1u"><!> <div class="avatar-overlay svelte-1ezxk1u">Change</div> <input type="file" accept="image/*" hidden="" class="svelte-1ezxk1u"/></button></div> <div class="field-row svelte-1ezxk1u"><label class="field-label svelte-1ezxk1u" for="profile-display-name">Display name</label> <div class="field-input-wrap svelte-1ezxk1u"><input id="profile-display-name" type="text" class="svelte-1ezxk1u"/> <!></div></div> <div class="field-row svelte-1ezxk1u"><label class="field-label svelte-1ezxk1u" for="profile-description">Description</label> <div class="field-input-wrap svelte-1ezxk1u"><textarea id="profile-description" rows="2" placeholder="A short description" class="svelte-1ezxk1u"></textarea> <!></div></div></div>`);function Tx(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),{savedField:a,showSaved:o}=bx();Tn(()=>{I(n,t.mind.displayName??``,!0),I(r,t.mind.description??``,!0)});async function s(e){let n=e.target,r=n.files?.[0];r&&(await cf(t.mind.name,r),qf.minds=await mu(),t.onUpdated(),n.value=``)}async function c(){let e=H(n).trim();e!==(t.mind.displayName??``)&&(await sf(t.mind.name,{displayName:e}),o(`displayName`),t.onUpdated())}async function l(){let e=H(r).trim();e!==(t.mind.description??``)&&(await sf(t.mind.name,{description:e}),o(`description`),t.onUpdated())}uo(e,{title:`Profile`,subtitle:`Avatar, display name, and description`,children:(e,o)=>{var u=wx(),d=R(u),f=B(R(d),2),p=R(f),m=e=>{var n=xx();V(e=>Xi(n,`src`,e),[()=>`/api/minds/${encodeURIComponent(t.mind.name)}/avatar`]),K(e,n)},h=e=>{K(e,Sx())};J(p,e=>{t.mind.avatar?e(m):e(h,-1)});var g=B(p,4);ua(g,e=>I(i,e),()=>H(i)),A(f),A(d);var _=B(d,2),v=B(R(_),2),y=R(v);Ki(y);var b=B(y,2),x=e=>{K(e,Cx())};J(b,e=>{a===`displayName`&&e(x)}),A(v),A(_);var S=B(_,2),C=B(R(S),2),w=R(C);hn(w);var T=B(w,2),E=e=>{K(e,Cx())};J(T,e=>{a===`description`&&e(E)}),A(C),A(S),A(u),V(()=>Xi(y,`placeholder`,t.mind.name)),U(`click`,f,()=>H(i)?.click()),U(`change`,g,s),Ir(`blur`,y,c),aa(y,()=>H(n),e=>I(n,e)),Ir(`blur`,w,l),aa(w,()=>H(r),e=>I(r,e)),K(e,u)},$$slots:{default:!0}}),N()}Lr([`click`,`change`]);var Ex=W(`<div class="cron-preview svelte-1u04gr6"> </div>`),Dx=W(`<div class="sleep-summary svelte-1u04gr6"><span class="sleep-desc svelte-1u04gr6">Custom schedule</span> <!></div> <div class="cron-row svelte-1u04gr6"><span class="cron-label svelte-1u04gr6">Sleep at</span> <!></div> <!> <div class="cron-row svelte-1u04gr6"><span class="cron-label svelte-1u04gr6">Wake at</span> <!></div> <!>`,1),Ox=W(`<div class="sleep-summary svelte-1u04gr6"><span class="sleep-desc svelte-1u04gr6"> </span> <!></div> <!> <!>`,1),kx=W(`<!> <div class="wake-triggers svelte-1u04gr6"><div class="subsection-header small svelte-1u04gr6">What wakes the mind early</div> <div class="trigger-row svelte-1u04gr6"><!></div> <div class="trigger-row svelte-1u04gr6"><!></div> <div class="trigger-row svelte-1u04gr6"><span class="trigger-text svelte-1u04gr6">Channels</span> <!></div> <div class="trigger-row svelte-1u04gr6"><span class="trigger-text svelte-1u04gr6">Senders</span> <!></div></div>`,1),Ax=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),jx=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <span class="form-hint svelte-1u04gr6">Every</span> <!> <span class="form-hint svelte-1u04gr6">hours</span></div>`),Mx=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <span class="form-hint svelte-1u04gr6">At</span> <!></div>`),Nx=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <!></div>`),Px=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),Fx=W(`<div class="schedule-form svelte-1u04gr6"><div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Name</span> <!></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Frequency</span> <!></div> <!> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Message</span> <textarea class="message-input svelte-1u04gr6" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">If sleeping</span> <!></div> <div class="form-actions svelte-1u04gr6"><!> <!></div></div>`),Ix=W(`<div class="schedule-card editing svelte-1u04gr6"><div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Frequency</span> <!></div> <!> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Message</span> <textarea class="message-input svelte-1u04gr6" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">If sleeping</span> <!></div> <div class="form-actions svelte-1u04gr6"><!> <!></div></div>`),Lx=W(`<div class="schedule-message svelte-1u04gr6"> </div>`),Rx=W(`<div><div class="schedule-top svelte-1u04gr6"><span class="schedule-name svelte-1u04gr6"> </span> <span class="schedule-freq svelte-1u04gr6"><!></span> <div class="schedule-actions svelte-1u04gr6"><!> <!> <!></div></div> <!></div>`),zx=W(`<div class="schedule-list svelte-1u04gr6"></div>`),Bx=W(`<!> <div class="subsection svelte-1u04gr6"><div class="subsection-header svelte-1u04gr6"><span>Sleep</span> <!></div> <!></div> <div class="subsection svelte-1u04gr6"><div class="subsection-header svelte-1u04gr6"><span>Schedules</span> <!></div> <!> <!></div>`,1);function Vx(e,t){M(t,!0);let n=F(null),r=F(L([])),i=F(``),a=F(!0),o=F(0),s=F(0),c=F(8),l=F(0),u=F(!1),d=F(``),f=F(``),p=F(L(Qd.mentions)),m=F(L(Qd.dms)),h=F(``),g=F(``),_=F(!1),v=F(``),y=F(`daily`),b=F(4),x=F(12),S=F(0),C=F(``),w=F(``),T=F(`skip`),E=F(null),ee=F(`cron`),te=F(4),ne=F(12),D=F(0),O=F(``),re=F(``),ie=F(`skip`),ae=F(!0),k=F(null);function oe(e){I(n,e,!0),I(d,e.schedule?.sleep??``,!0),I(f,e.schedule?.wake??``,!0);let t=Mb(H(d)),r=Mb(H(f));t&&r?(I(o,t.hour,!0),I(s,t.minute,!0),I(c,r.hour,!0),I(l,r.minute,!0),I(u,!1)):(H(d)||H(f))&&I(u,!0),I(p,e.wakeTriggers?.mentions??Qd.mentions,!0),I(m,e.wakeTriggers?.dms??Qd.dms,!0),I(h,(e.wakeTriggers?.channels??[]).join(`, `),!0),I(g,(e.wakeTriggers?.senders??[]).join(`, `),!0)}async function se(){try{let[e,n]=await Promise.all([$d(t.name),tf(t.name)]);oe(e),I(r,n,!0),I(i,``)}catch{I(i,`Failed to load configuration`)}I(a,!1)}ma(()=>{se()});async function ce(){if(!H(n))return;let e=!H(n).enabled;I(k,`sleep-toggle`);try{await ef(t.name,{enabled:e}),I(n,{...H(n),enabled:e},!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function le(){let e=H(u)?H(d):Nb(H(o),H(s)),r=H(u)?H(f):Nb(H(c),H(l));I(k,`sleep-cron`);try{await ef(t.name,{schedule:{sleep:e,wake:r}}),H(n)&&I(n,{...H(n),schedule:{sleep:e,wake:r}},!0),I(d,e,!0),I(f,r,!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function ue(){I(k,`wake-triggers`);try{let e=H(h).split(`,`).map(e=>e.trim()).filter(Boolean),r=H(g).split(`,`).map(e=>e.trim()).filter(Boolean);await ef(t.name,{wakeTriggers:{mentions:H(p),dms:H(m),channels:e.length?e:void 0,senders:r.length?r:void 0}}),H(n)&&I(n,{...H(n),wakeTriggers:{mentions:H(p),dms:H(m),channels:e,senders:r}},!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function de(e){I(k,`sched:${e.id}`);try{await rf(t.name,e.id,{enabled:!e.enabled}),I(r,H(r).map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t),!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}function fe(e){I(E,e.id,!0);let t=e.cron?Pb(e.cron):{type:`daily`};I(ee,t.type,!0),I(te,t.hours??4,!0),I(ne,t.hour??12,!0),I(D,t.minute??0,!0),I(O,e.cron??``,!0),I(re,Ib(e)||(e.script??``),!0),I(ie,e.whileSleeping??`skip`,!0),I(ae,e.enabled,!0)}async function pe(){if(!H(E))return;let e=Fb(H(ee),{hours:H(te),hour:H(ne),minute:H(D),cron:H(O)});I(k,`sched:${H(E)}`);let n=Lb(H(re));try{await rf(t.name,H(E),{cron:e||void 0,...n,whileSleeping:H(ie),enabled:H(ae)}),I(r,H(r).map(t=>t.id===H(E)?{...t,cron:e,message:void 0,messages:void 0,...n,whileSleeping:H(ie),enabled:H(ae)}:t),!0),I(E,null),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to save`,!0)}I(k,null)}async function me(){if(!H(v).trim())return;let e=Fb(H(y),{hours:H(b),hour:H(x),minute:H(S),cron:H(C)});I(k,`sched:add`);try{await nf(t.name,{id:H(v).trim(),cron:e||void 0,...Lb(H(w)),whileSleeping:H(T),enabled:!0}),I(r,await tf(t.name),!0),I(v,``),I(y,`daily`),I(b,4),I(x,12),I(S,0),I(C,``),I(w,``),I(T,`skip`),I(_,!1),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to add`,!0)}I(k,null)}async function he(e){I(k,`sched:${e}`);try{await af(t.name,e),I(r,H(r).filter(t=>t.id!==e),!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to delete`,!0)}I(k,null)}var ge=Bx(),_e=z(ge);Ca(_e,{get message(){return H(i)}});var ve=B(_e,2),ye=R(ve),be=B(R(ye),2);{let e=P(()=>H(n)?.enabled??!1),t=P(()=>H(n)?.enabled?`On`:`Off`);Co(be,{get checked(){return H(e)},onchange:ce,get label(){return H(t)}})}A(ye);var xe=B(ye,2),Se=e=>{var t=kx(),n=z(t),r=e=>{var t=Dx(),n=z(t);_a(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!1),le()},children:(e,t)=>{j(),K(e,Kr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);Xa(B(R(r),2),{variant:`mono`,style:`flex:1`,onblur:le,placeholder:`0 0 * * *`,get value(){return H(d)},set value(e){I(d,e,!0)}}),A(r);var i=B(r,2),a=e=>{var t=Ex(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>kb(H(d))]),K(e,t)};J(i,e=>{H(d)&&e(a)});var o=B(i,2);Xa(B(R(o),2),{variant:`mono`,style:`flex:1`,onblur:le,placeholder:`0 8 * * *`,get value(){return H(f)},set value(e){I(f,e,!0)}}),A(o);var s=B(o,2),c=e=>{var t=Ex(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>kb(H(f))]),K(e,t)};J(s,e=>{H(f)&&e(c)}),K(e,t)},i=e=>{var t=Ox(),n=z(t),r=R(n),i=R(r);A(r),_a(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!0),I(d,Nb(H(o),H(s)),!0),I(f,Nb(H(c),H(l)),!0)},children:(e,t)=>{j(),K(e,Kr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);bo(a,{label:`Sleep at`,onchange:le,get hour(){return H(o)},set hour(e){I(o,e,!0)},get minute(){return H(s)},set minute(e){I(s,e,!0)}}),bo(B(a,2),{label:`Wake at`,onchange:le,get hour(){return H(c)},set hour(e){I(c,e,!0)},get minute(){return H(l)},set minute(e){I(l,e,!0)}}),V((e,t)=>q(i,`Sleeps at ${e??``}, wakes at ${t??``}`),[()=>Ab(H(o),H(s)),()=>Ab(H(c),H(l))]),K(e,t)};J(n,e=>{H(u)?e(r):e(i,-1)});var a=B(n,2),_=B(R(a),2);Co(R(_),{get checked(){return H(p)},onchange:()=>{I(p,!H(p)),ue()},label:`When mentioned`}),A(_);var v=B(_,2);Co(R(v),{get checked(){return H(m)},onchange:()=>{I(m,!H(m)),ue()},label:`Direct messages`}),A(v);var y=B(v,2);Xa(B(R(y),2),{type:`text`,style:`flex:1`,placeholder:`channel1, channel2`,onblur:ue,get value(){return H(h)},set value(e){I(h,e,!0)}}),A(y);var b=B(y,2);Xa(B(R(b),2),{type:`text`,style:`flex:1`,placeholder:`user1, user2`,onblur:ue,get value(){return H(g)},set value(e){I(g,e,!0)}}),A(b),A(a),K(e,t)};J(xe,e=>{H(n)?.enabled&&e(Se)}),A(ve);var Ce=B(ve,2),we=R(Ce);_a(B(R(we),2),{variant:`primary`,onclick:()=>I(_,!0),children:(e,t)=>{j(),K(e,Kr(`Add`))},$$slots:{default:!0}}),A(we);var Te=B(we,2),Ee=e=>{var t=Fx(),n=R(t);Xa(B(R(n),2),{type:`text`,style:`flex:1`,placeholder:`e.g. heartbeat`,get value(){return H(v)},set value(e){I(v,e,!0)}}),A(n);var r=B(n,2);oo(B(R(r),2),{get value(){return H(y)},set value(e){I(y,e,!0)},children:(e,t)=>{var n=Ax(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(r);var i=B(r,2),a=e=>{var t=jx();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(b)},set value(e){I(b,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=Mx();bo(B(R(t),4),{get hour(){return H(x)},set hour(e){I(x,e,!0)},get minute(){return H(S)},set minute(e){I(S,e,!0)}}),A(t),K(e,t)},s=e=>{var t=Nx();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(C)},set value(e){I(C,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(y)===`hours`?e(a):H(y)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);hn(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(T)},set value(e){I(T,e,!0)},children:(e,t)=>{var n=Px(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>H(k)!==null||!H(v).trim());_a(f,{variant:`primary`,onclick:me,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(k)===`sched:add`?`...`:`Add schedule`)),K(e,n)},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(_,!1),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(d),A(t),aa(l,()=>H(w),e=>I(w,e)),K(e,t)};J(Te,e=>{H(_)&&e(Ee)});var De=B(Te,2),Oe=e=>{xa(e,{message:`No schedules configured.`})},ke=e=>{var t=zx();Y(t,21,()=>H(r),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Ix(),r=R(n);oo(B(R(r),2),{get value(){return H(ee)},set value(e){I(ee,e,!0)},children:(e,t)=>{var n=Ax(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(r);var i=B(r,2),a=e=>{var t=jx();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(te)},set value(e){I(te,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=Mx();bo(B(R(t),4),{get hour(){return H(ne)},set hour(e){I(ne,e,!0)},get minute(){return H(D)},set minute(e){I(D,e,!0)}}),A(t),K(e,t)},s=e=>{var t=Nx();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(O)},set value(e){I(O,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(ee)===`hours`?e(a):H(ee)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);hn(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(ie)},set value(e){I(ie,e,!0)},children:(e,t)=>{var n=Px(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>H(k)!==null);_a(f,{variant:`primary`,onclick:pe,get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(k)===`sched:${H(t).id}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(E,null),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(d),A(n),aa(l,()=>H(re),e=>I(re,e)),K(e,n)},a=e=>{var n=Rx();let r;var i=R(n),a=R(i),o=R(a,!0);A(a);var s=B(a,2),c=R(s),l=e=>{var n=Kr();V(e=>q(n,e),[()=>kb(H(t).cron)]),K(e,n)},u=e=>{K(e,Kr(`one-time`))},d=e=>{K(e,Kr(`--`))};J(c,e=>{H(t).cron?e(l):H(t).fireAt?e(u,1):e(d,-1)}),A(s);var f=B(s,2),p=R(f);Co(p,{get checked(){return H(t).enabled},onchange:()=>de(H(t))});var m=B(p,2);_a(m,{variant:`icon`,onclick:()=>fe(H(t)),children:(e,t)=>{j(),K(e,Kr(`Edit`))},$$slots:{default:!0}});var h=B(m,2);{let e=P(()=>H(k)!==null);_a(h,{variant:`danger`,size:`sm`,class:`icon-size`,onclick:()=>he(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(k)===`sched:${H(t).id}`?`...`:`Del`)),K(e,r)},$$slots:{default:!0}})}A(f),A(i);var g=B(i,2),_=e=>{var n=Lx(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>Ib(H(t))]),K(e,n)};J(g,e=>{(H(t).message||H(t).messages?.length)&&e(_)}),A(n),V(()=>{r=X(n,1,`schedule-card svelte-1u04gr6`,null,r,{disabled:!H(t).enabled}),q(o,H(t).id)}),K(e,n)};J(r,e=>{H(E)===H(t).id?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)};J(De,e=>{H(r).length===0&&!H(_)?e(Oe):e(ke,-1)}),A(Ce),K(e,ge),N()}var Hx=W(`<div class="skill-desc svelte-19xtkvn"> </div>`),Ux=W(`<span class="installed-tag svelte-19xtkvn">installed</span>`),Wx=W(`<div class="skill-row svelte-19xtkvn"><div class="skill-info svelte-19xtkvn"><div class="skill-name svelte-19xtkvn"> </div> <!> <div class="skill-meta svelte-19xtkvn"> </div></div> <div class="skill-actions svelte-19xtkvn"><!></div></div>`),Gx=W(`<div class="skill-list svelte-19xtkvn"></div>`),Kx=W(`<div class="modal-body svelte-19xtkvn"><!> <!></div>`);function qx(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null);ma(()=>{ed().then(e=>{I(n,e,!0),I(i,!1)}).catch(()=>{I(r,`Failed to load shared skills`),I(i,!1)})});async function o(e){I(a,e,!0),I(r,``);try{await nd(t.name,e),t.onInstalled();try{I(n,await ed(),!0)}catch{}}catch(e){I(r,e instanceof Error?e.message:`Failed to install`,!0)}I(a,null)}$a(e,{size:`480px`,title:`Add Skill`,get onClose(){return t.onClose},children:(e,s)=>{var c=Kx(),l=R(c);Ca(l,{get message(){return H(r)}});var u=B(l,2),d=e=>{xa(e,{message:`Loading...`})},f=e=>{xa(e,{message:`No shared skills available.`})},p=e=>{var r=Gx();Y(r,21,()=>H(n),e=>e.id,(e,n)=>{var r=Wx(),i=R(r),s=R(i),c=R(s,!0);A(s);var l=B(s,2),u=e=>{var t=Hx(),r=R(t,!0);A(t),V(()=>q(r,H(n).description)),K(e,t)};J(l,e=>{H(n).description&&e(u)});var d=B(l,2),f=R(d);A(d),A(i);var p=B(i,2),m=R(p),h=e=>{K(e,Ux())},g=P(()=>t.installedIds.has(H(n).id)),_=e=>{{let t=P(()=>H(a)!==null);_a(e,{variant:`primary`,onclick:()=>o(H(n).id),get disabled(){return H(t)},children:(e,t)=>{j();var r=Kr();V(()=>q(r,H(a)===H(n).id?`...`:`Install`)),K(e,r)},$$slots:{default:!0}})}};J(m,e=>{H(g)?e(h):e(_,-1)}),A(p),A(r),V(()=>{q(c,H(n).name),q(f,`${H(n).id??``} · v${H(n).version??``}`)}),K(e,r)}),A(r),K(e,r)};J(u,e=>{H(i)?e(d):H(n).length===0?e(f,1):e(p,-1)}),A(c),K(e,c)},$$slots:{default:!0}}),N()}var Jx=W(`<span class="update-badge svelte-x10lne">update available</span>`),Yx=W(`<div class="skill-desc svelte-x10lne"> </div>`),Xx=W(`<span class="upstream-tag svelte-x10lne"> </span>`),Zx=W(`<span class="local-tag svelte-x10lne">local</span>`),Qx=W(`<div class="skill-row svelte-x10lne"><div class="skill-info svelte-x10lne"><div class="skill-name svelte-x10lne"> <!></div> <!> <div class="skill-meta svelte-x10lne"> <!></div></div> <div class="skill-actions svelte-x10lne"><!> <!> <!></div></div>`),$x=W(`<div class="skill-list svelte-x10lne"></div>`),eS=W(`<!> <!> <!>`,1),tS=W(`<!> <!>`,1);function nS(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1);function s(){td(t.name).then(e=>{I(n,e,!0),I(i,!1),I(r,``)}).catch(()=>{I(r,`Failed to load skills`),I(i,!1)})}ma(()=>{s()});let c=P(()=>new Set(H(n).map(e=>e.id)));async function l(e){I(a,e,!0),I(r,``);try{let n=await rd(t.name,e);n.status===`conflict`&&I(r,`Merge conflicts in: ${n.conflictFiles?.join(`, `)}. Resolve manually.`),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to update`,!0)}I(a,null)}async function u(e){I(a,e,!0),I(r,``);try{await id(t.name,e),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to publish`,!0)}I(a,null)}async function d(e){I(a,e,!0),I(r,``);try{await ad(t.name,e),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to uninstall`,!0)}I(a,null)}var f=tS(),p=z(f),m=e=>{xa(e,{message:`Loading...`})},h=e=>{var t=eS(),i=z(t);Ca(i,{get message(){return H(r)}});var s=B(i,2);no(s,{title:`Skills`,action:e=>{_a(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Kr(`Add skill`))},$$slots:{default:!0}})},$$slots:{action:!0}});var c=B(s,2),f=e=>{xa(e,{message:`No skills installed.`})},p=e=>{var t=$x();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=Qx(),r=R(n),i=R(r),o=R(i),s=B(o),c=e=>{K(e,Jx())};J(s,e=>{H(t).updateAvailable&&e(c)}),A(i);var f=B(i,2),p=e=>{var n=Yx(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(f,e=>{H(t).description&&e(p)});var m=B(f,2),h=R(m),g=B(h),_=e=>{var n=Xx(),r=R(n);A(n),V(()=>q(r,`v${H(t).upstream.version??``}`)),K(e,n)},v=e=>{K(e,Zx())};J(g,e=>{H(t).upstream?e(_):e(v,-1)}),A(m),A(r);var y=B(r,2),b=R(y),x=e=>{{let n=P(()=>H(a)!==null);_a(e,{variant:`primary`,onclick:()=>l(H(t).id),get disabled(){return H(n)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Update`)),K(e,r)},$$slots:{default:!0}})}};J(b,e=>{H(t).updateAvailable&&e(x)});var S=B(b,2);{let e=P(()=>H(a)!==null);_a(S,{variant:`secondary`,onclick:()=>u(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Publish`)),K(e,r)},$$slots:{default:!0}})}var C=B(S,2);{let e=P(()=>H(a)!==null);_a(C,{variant:`danger`,onclick:()=>d(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Uninstall`)),K(e,r)},$$slots:{default:!0}})}A(y),A(n),V(()=>{q(o,`${H(t).name??``} `),q(h,`${H(t).id??``} `)}),K(e,n)}),A(t),K(e,t)};J(c,e=>{H(n).length===0?e(f):e(p,-1)}),K(e,t)};J(p,e=>{H(i)?e(m):e(h,-1)});var g=B(p,2),_=e=>{qx(e,{get name(){return t.name},get installedIds(){return H(c)},onClose:()=>I(o,!1),onInstalled:s})};J(g,e=>{H(o)&&e(_)}),K(e,f),N()}var rS=W(`<button> </button>`),iS=W(`<div class="settings svelte-1c5rh43"><nav class="section-nav svelte-1c5rh43"></nav> <div class="settings-body svelte-1c5rh43"><section id="profile" class="svelte-1c5rh43"><!></section> <section id="cognition" class="svelte-1c5rh43"><!> <!></section> <section id="rhythms" class="svelte-1c5rh43"><!> <!></section> <section id="skills" class="svelte-1c5rh43"><!></section> <section id="environment" class="svelte-1c5rh43"><!></section></div></div>`);function aS(e,t){M(t,!0);let n=P(()=>qf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>H(n).name),i=[{id:`profile`,label:`Profile`},{id:`cognition`,label:`Model`},{id:`rhythms`,label:`Clock`},{id:`skills`,label:`Skills`},{id:`environment`,label:`Environment`}],a=F(`profile`),o,s={},c=!1;ma(()=>{l()});function l(){if(!o)return;let e=new IntersectionObserver(e=>{if(!c)for(let t of e)t.isIntersecting&&I(a,t.target.id,!0)},{root:o,rootMargin:`-20% 0px -70% 0px`,threshold:0});for(let t of Object.values(s))t&&e.observe(t);return()=>e.disconnect()}function u(e){I(a,e,!0),c=!0,s[e]?.scrollIntoView({behavior:`smooth`,block:`start`}),setTimeout(()=>{c=!1},600)}async function d(){qf.minds=await mu()}var f=iS(),p=R(f);Y(p,21,()=>i,ti,(e,t)=>{var n=rS();let r;var i=R(n,!0);A(n),V(()=>{r=X(n,1,`nav-pill svelte-1c5rh43`,null,r,{active:H(a)===H(t).id}),q(i,H(t).label)}),U(`click`,n,()=>u(H(t).id)),K(e,n)}),A(p);var m=B(p,2),h=R(m);Tx(R(h),{get mind(){return H(n)},onUpdated:d}),A(h),ua(h,e=>s.profile=e,()=>s?.profile);var g=B(h,2),_=R(g);no(_,{title:`Model`,subtitle:`Cognition and resource limits`}),ux(B(_,2),{get name(){return H(r)},get template(){return H(n).template}}),A(g),ua(g,e=>s.cognition=e,()=>s?.cognition);var v=B(g,2),y=R(v);no(y,{title:`Clock`,subtitle:`Sleep, schedules, and wake triggers`}),Vx(B(y,2),{get name(){return H(r)}}),A(v),ua(v,e=>s.rhythms=e,()=>s?.rhythms);var b=B(v,2);nS(R(b),{get name(){return H(r)}}),A(b),ua(b,e=>s.skills=e,()=>s?.skills);var x=B(b,2);yx(R(x),{get name(){return H(r)}}),A(x),ua(x,e=>s.environment=e,()=>s?.environment),A(m),ua(m,e=>o=e,()=>o),A(f),K(e,f),N()}Lr([`click`]);var oS=W(`<div class="error svelte-9a144u"> </div>`),sS=W(`<div class="warning svelte-9a144u"> </div>`),cS=W(`<div class="muted svelte-9a144u">Loading…</div>`),lS=W(`<div class="muted svelte-9a144u">No variants.</div>`),uS=W(`<span class="port"> </span>`),dS=W(`<span class="created"> </span>`),fS=W(`<span class="confirm svelte-9a144u"> <button class="confirm-yes svelte-9a144u"> </button> <button class="confirm-no svelte-9a144u">cancel</button></span>`),pS=W(`<span class="confirm svelte-9a144u">Discard this variant? <button class="confirm-yes danger svelte-9a144u"> </button> <button class="confirm-no svelte-9a144u">cancel</button></span>`),mS=W(`<!> <!>`,1),hS=W(`<li class="variant-row svelte-9a144u"><div class="variant-main svelte-9a144u"><span class="variant-name svelte-9a144u"> </span> <!></div> <div class="variant-meta svelte-9a144u"><span class="branch svelte-9a144u" title="branch"> </span> <!> <!></div> <div class="variant-actions svelte-9a144u"><!></div></li>`),gS=W(`<ul class="variant-list svelte-9a144u"></ul>`),_S=W(`<div class="variants svelte-9a144u"><!> <form class="create-form svelte-9a144u"><div class="create-row svelte-9a144u"><!> <!></div> <textarea class="soul-input svelte-9a144u" placeholder="Optional SOUL.md override for the variant" rows="2"></textarea></form> <!> <!> <!></div>`);function vS(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``),a=F(``),o=F(``),s=F(``),c=F(!1),l=F(null),u=F(null),d=F(null);async function f(){I(r,!0);try{I(n,await Iu(t.name),!0),I(i,``)}catch(e){console.error(`Failed to load variants:`,e),I(i,e instanceof Error?e.message:`Failed to load variants`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,f()});async function p(e){e.preventDefault();let n=H(o).trim();if(!(!n||H(c))){I(c,!0),I(i,``),I(a,``);try{await Ru(t.name,{name:n,soul:H(s).trim()||void 0}),I(o,``),I(s,``),await f()}catch(e){console.error(`Failed to create variant:`,e),I(i,e instanceof Error?e.message:`Failed to create variant`,!0)}finally{I(c,!1)}}}async function m(e){I(d,e,!0),I(i,``),I(a,``);try{let n=await zu(t.name,e);I(l,null),await f(),n.warning&&I(a,n.warning,!0)}catch(e){console.error(`Failed to join variant:`,e),I(i,e instanceof Error?e.message:`Failed to join variant`,!0)}finally{I(d,null)}}async function h(e){I(d,e,!0),I(i,``),I(a,``);try{await Bu(t.name,e),I(u,null),await f()}catch(e){console.error(`Failed to delete variant:`,e),I(i,e instanceof Error?e.message:`Failed to delete variant`,!0)}finally{I(d,null)}}var g=_S(),_=R(g);no(_,{title:`Variants`,subtitle:`Isolated forks of this mind — split off an experiment, then join it back or discard it`});var v=B(_,2),y=R(v),b=R(y);Xa(b,{placeholder:`variant name`,width:`180px`,get disabled(){return H(c)},get value(){return H(o)},set value(e){I(o,e,!0)}});var x=B(b,2);{let e=P(()=>H(c)||!H(o).trim());_a(x,{variant:`primary`,type:`submit`,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(c)?`Splitting…`:`Split`)),K(e,n)},$$slots:{default:!0}})}A(y);var S=B(y,2);hn(S),A(v);var C=B(v,2),w=e=>{var t=oS(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(C,e=>{H(i)&&e(w)});var T=B(C,2),E=e=>{var t=sS(),n=R(t);A(t),V(()=>q(n,`Merge completed, but: ${H(a)??``}`)),K(e,t)};J(T,e=>{H(a)&&e(E)});var ee=B(T,2),te=e=>{K(e,cS())},ne=e=>{K(e,lS())},D=e=>{var r=gS();Y(r,21,()=>H(n),e=>e.name,(e,n)=>{var r=hS(),i=R(r),a=R(i),o=R(a,!0);A(a),po(B(a,2),{get status(){return H(n).status}}),A(i);var s=B(i,2),c=R(s),f=R(c,!0);A(c);var p=B(c,2),g=e=>{var t=uS(),r=R(t);A(t),V(()=>q(r,`:${H(n).port??``}`)),K(e,t)};J(p,e=>{H(n).port&&e(g)});var _=B(p,2),v=e=>{var t=dS(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created)]),K(e,t)};J(_,e=>{H(n).created&&e(v)}),A(s);var y=B(s,2),b=R(y),x=e=>{var r=fS(),i=R(r),a=B(i),o=R(a,!0);A(a);var s=B(a,2);A(r),V(()=>{q(i,`Join back into ${t.name??``} and restart? `),a.disabled=H(d)===H(n).name,q(o,H(d)===H(n).name?`joining…`:`join`),s.disabled=H(d)===H(n).name}),U(`click`,a,()=>m(H(n).name)),U(`click`,s,()=>I(l,null)),K(e,r)},S=e=>{var t=pS(),r=B(R(t)),i=R(r,!0);A(r);var a=B(r,2);A(t),V(()=>{r.disabled=H(d)===H(n).name,q(i,H(d)===H(n).name?`discarding…`:`discard`),a.disabled=H(d)===H(n).name}),U(`click`,r,()=>h(H(n).name)),U(`click`,a,()=>I(u,null)),K(e,t)},C=e=>{var t=mS(),r=z(t);{let e=P(()=>!!H(d));_a(r,{variant:`secondary`,onclick:()=>I(l,H(n).name,!0),get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Kr(`Join`))},$$slots:{default:!0}})}var i=B(r,2);{let e=P(()=>!!H(d));_a(i,{variant:`text`,onclick:()=>I(u,H(n).name,!0),get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Kr(`Discard`))},$$slots:{default:!0}})}K(e,t)};J(b,e=>{H(l)===H(n).name?e(x):H(u)===H(n).name?e(S,1):e(C,-1)}),A(y),A(r),V(()=>{q(o,H(n).name),q(f,H(n).branch)}),K(e,r)}),A(r),K(e,r)};J(ee,e=>{H(r)?e(te):H(n).length===0?e(ne,1):e(D,-1)}),A(g),V(()=>S.disabled=H(c)),Ir(`submit`,v,p),aa(S,()=>H(s),e=>I(s,e)),K(e,g),N()}Lr([`click`]);var yS=W(`<div class="error svelte-1ctf7xm"> </div>`),bS=W(`<div class="muted svelte-1ctf7xm">Loading…</div>`),xS=W(`<div class="muted svelte-1ctf7xm">No pending files.</div>`),SS=W(`<li class="file-row svelte-1ctf7xm"><div class="file-main svelte-1ctf7xm"><span class="file-name svelte-1ctf7xm"> </span> <span class="file-size svelte-1ctf7xm"> </span></div> <div class="file-meta svelte-1ctf7xm"><span class="sender"> </span> <span class="created"> </span></div></li>`),CS=W(`<ul class="file-list svelte-1ctf7xm"></ul> <div class="hint svelte-1ctf7xm">Accepting or rejecting a file is the mind's decision — it runs <code class="svelte-1ctf7xm">volute chat accept/reject <id></code> when it's ready.</div>`,1),wS=W(`<div class="pending svelte-1ctf7xm"><!> <!> <!></div>`);function TS(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``);function a(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(+(n<10))} ${t[r]}`}async function o(){I(r,!0);try{I(n,await of(t.name),!0),I(i,``)}catch(e){console.error(`Failed to load pending files:`,e),I(i,e instanceof Error?e.message:`Failed to load pending files`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,o()});var s=wS(),c=R(s);no(c,{title:`Incoming files`,subtitle:`Files sent to this mind, awaiting its review`});var l=B(c,2),u=e=>{var t=yS(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(l,e=>{H(i)&&e(u)});var d=B(l,2),f=e=>{K(e,bS())},p=e=>{K(e,xS())},m=e=>{var t=CS(),r=z(t);Y(r,21,()=>H(n),e=>e.id,(e,t)=>{var n=SS(),r=R(n),i=R(r),o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r);var l=B(r,2),u=R(l),d=R(u);A(u);var f=B(u,2),p=R(f,!0);A(f),A(l),A(n),V((e,n)=>{q(o,H(t).filename),q(c,e),q(d,`from ${H(t).sender??``}`),q(p,n)},[()=>a(H(t).size),()=>Bl(H(t).createdAt)]),K(e,n)}),A(r),j(2),K(e,t)};J(d,e=>{H(r)?e(f):H(n).length===0?e(p,1):e(m,-1)}),A(s),K(e,s),N()}var ES=W(`<div class="error svelte-18xrmlc"> </div>`),DS=W(`<div class="empty svelte-18xrmlc">Loading...</div>`),OS=W(`<div class="empty svelte-18xrmlc">No channels yet. Create one below.</div>`),kS=W(`<div class="channel-row svelte-18xrmlc"><div class="channel-info svelte-18xrmlc"><span class="channel-name svelte-18xrmlc"> </span> <span class="channel-meta svelte-18xrmlc"> </span></div> <button> </button></div>`),AS=W(`<!> <div class="channel-list svelte-18xrmlc"><!></div> <div class="create-section svelte-18xrmlc"><!> <button class="create-btn svelte-18xrmlc">Create</button></div>`,1);function jS(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(``),a=F(!0),o=F(null);function s(){I(a,!0),qu().then(e=>{I(n,e,!0),I(i,``)}).catch(e=>{I(i,e instanceof Error?e.message:`Failed to load channels`,!0)}).finally(()=>{I(a,!1)})}ma(()=>{s()});async function c(){let e=H(r).trim().toLowerCase().replace(/[^a-z0-9-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``);if(e)try{let n=await Ju(e);I(r,``),s(),t.onJoined(n)}catch(e){I(i,e instanceof Error?e.message:`Failed to create channel`,!0)}}async function l(e){if(e.channel_name){I(o,e.channel_name,!0);try{await Yu(e.channel_name),t.onJoined(e)}catch(e){I(i,e instanceof Error?e.message:`Failed to join channel`,!0)}finally{I(o,null)}}}async function u(e){if(e.channel_name)try{await Xu(e.channel_name),s()}catch(e){I(i,e instanceof Error?e.message:`Failed to leave channel`,!0)}}function d(e){e.key===`Escape`&&t.onClose(),e.key===`Enter`&&c()}$a(e,{size:`380px`,title:`Browse channels`,get onClose(){return t.onClose},children:(e,t)=>{var s=AS(),f=z(s),p=e=>{var t=ES(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(f,e=>{H(i)&&e(p)});var m=B(f,2),h=R(m),g=e=>{K(e,DS())},_=e=>{K(e,OS())},v=e=>{var t=G();Y(z(t),17,()=>H(n),e=>e.id,(e,t)=>{var n=kS(),r=R(n),i=R(r),a=R(i);A(i);var s=B(i,2),c=R(s);A(s),A(r);var d=B(r,2);let f;var p=R(d,!0);A(d),A(n),V(()=>{q(a,`#${H(t).channel_name??``}`),q(c,`${H(t).participantCount??``} member${H(t).participantCount===1?``:`s`}`),f=X(d,1,`action-btn svelte-18xrmlc`,null,f,{leave:H(t).isMember}),d.disabled=H(o)===H(t).channel_name,q(p,H(o)===H(t).channel_name?`...`:H(t).isMember?`leave`:`join`)}),U(`click`,d,()=>H(t).isMember?u(H(t)):l(H(t))),K(e,n)}),K(e,t)};J(h,e=>{H(a)?e(g):H(n).length===0?e(_,1):e(v,-1)}),A(m);var y=B(m,2),b=R(y);Xa(b,{type:`text`,placeholder:`new-channel-name`,style:`flex:1`,onkeydown:d,get value(){return H(r)},set value(e){I(r,e,!0)}});var x=B(b,2);A(y),V(e=>x.disabled=e,[()=>!H(r).trim()]),U(`click`,x,c),K(e,s)},$$slots:{default:!0}}),N()}Lr([`click`]);var MS=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv">System Prompt</summary> <div class="section-body markdown-body svelte-1v57vxv"></div></details>`),NS=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv">SDK Instructions</summary> <div class="section-body markdown-body svelte-1v57vxv"></div></details>`),PS=W(`<div class="skill-item svelte-1v57vxv"><span class="skill-name svelte-1v57vxv"> </span> <span class="skill-desc svelte-1v57vxv"> </span></div>`),FS=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv"> </summary> <div class="section-body svelte-1v57vxv"></div></details>`),IS=W(`<div class="empty svelte-1v57vxv">No messages yet</div>`),LS=W(`<pre class="block-system-text svelte-1v57vxv"> </pre>`),RS=W(`<div class="block-text markdown-body svelte-1v57vxv"></div>`),zS=W(`<details class="block-thinking svelte-1v57vxv"><summary class="thinking-header svelte-1v57vxv">Thinking</summary> <div class="thinking-body svelte-1v57vxv"> </div></details>`),BS=W(`<details class="block-tool svelte-1v57vxv"><summary class="tool-header svelte-1v57vxv"> </summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),VS=W(`<details class="block-tool svelte-1v57vxv"><summary>Result<!></summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),HS=W(`<div><div> </div> <div class="blocks svelte-1v57vxv"></div></div>`),US=W(`<div class="messages svelte-1v57vxv"></div>`),WS=W(`<div class="session svelte-1v57vxv"><div class="session-label svelte-1v57vxv"> </div> <!></div>`),GS=W(`<div class="context-view svelte-1v57vxv"><div class="preamble svelte-1v57vxv"><!> <!> <!></div> <!></div>`);function KS(e,t){M(t,!0);var n=GS(),r=R(n),i=R(r),a=e=>{var n=MS(),r=B(R(n),2);ui(r,()=>Al(t.messages.preamble.systemPrompt),!0),A(r),A(n),K(e,n)};J(i,e=>{t.messages.preamble.systemPrompt&&e(a)});var o=B(i,2),s=e=>{var n=NS(),r=B(R(n),2);ui(r,()=>Al(t.messages.preamble.sdkInstructions),!0),A(r),A(n),K(e,n)};J(o,e=>{t.messages.preamble.sdkInstructions&&e(s)});var c=B(o,2),l=e=>{var n=FS(),r=R(n),i=R(r);A(r);var a=B(r,2);Y(a,21,()=>t.messages.preamble.skillDescriptions,ti,(e,t)=>{var n=PS(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(n),V(()=>{q(i,H(t).name),q(o,H(t).description)}),K(e,n)}),A(a),A(n),V(()=>q(i,`Skill Descriptions (${t.messages.preamble.skillDescriptions.length??``})`)),K(e,n)};J(c,e=>{t.messages.preamble.skillDescriptions.length>0&&e(l)}),A(r),Y(B(r,2),17,()=>t.messages.sessions,e=>e.name,(e,t)=>{var n=WS(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{K(e,IS())},s=e=>{var n=US();Y(n,21,()=>H(t).messages,ti,(e,t)=>{var n=HS();let r;var i=R(n);let a;var o=R(i,!0);A(i);var s=B(i,2);Y(s,21,()=>H(t).blocks,ti,(e,n)=>{var r=G(),i=z(r),a=e=>{var r=G(),i=z(r),a=e=>{var t=LS(),r=R(t,!0);A(t),V(()=>q(r,H(n).text)),K(e,t)},o=e=>{var t=RS();ui(t,()=>Al(H(n).text),!0),A(t),K(e,t)};J(i,e=>{H(t).role===`system`?e(a):e(o,-1)}),K(e,r)},o=e=>{var t=zS(),r=B(R(t),2),i=R(r,!0);A(r),A(t),V(()=>q(i,H(n).text)),K(e,t)},s=e=>{var t=BS(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(t),V(()=>{q(i,H(n).name),q(o,H(n).input)}),K(e,t)},c=e=>{var t=VS(),r=R(t);let i;var a=B(R(r)),o=e=>{K(e,Kr(`(error)`))};J(a,e=>{H(n).isError&&e(o)}),A(r);var s=B(r,2),c=R(s,!0);A(s),A(t),V(()=>{i=X(r,1,`tool-header svelte-1v57vxv`,null,i,{"tool-error":H(n).isError}),q(c,H(n).text)}),K(e,t)};J(i,e=>{H(n).type===`text`?e(a):H(n).type===`thinking`?e(o,1):H(n).type===`tool_use`?e(s,2):H(n).type===`tool_result`&&e(c,3)}),K(e,r)}),A(s),A(n),V(()=>{r=X(n,1,`message svelte-1v57vxv`,null,r,{user:H(t).role===`user`,assistant:H(t).role===`assistant`,system:H(t).role===`system`}),a=X(i,1,`role-label svelte-1v57vxv`,null,a,{"user-label":H(t).role===`user`,"assistant-label":H(t).role===`assistant`,"system-label":H(t).role===`system`}),q(o,H(t).role)}),K(e,n)}),A(n),K(e,n)};J(a,e=>{H(t).messages.length===0?e(o):e(s,-1)}),A(n),V(()=>q(i,H(t).name)),K(e,n)}),A(n),K(e,n),N()}var qS=W(`<div class="loading svelte-1ndm006">Loading context info...</div>`),JS=W(`<div class="error svelte-1ndm006"> </div>`),YS=W(`<div class="system-prompt-line svelte-1ndm006"><span class="sp-label svelte-1ndm006">System prompt</span> <span class="sp-value svelte-1ndm006"> </span></div>`),XS=W(`<div class="empty svelte-1ndm006">No active sessions</div>`),ZS=W(`<span> </span><!>`,1),QS=W(`<span class="no-data svelte-1ndm006">no data yet</span>`),$S=W(`<div class="cell svelte-1ndm006"></div>`),eC=W(`<div class="waffle svelte-1ndm006"></div>`),tC=W(`<div class="token-bar svelte-1ndm006"><div class="token-bar-fill svelte-1ndm006"></div></div>`),nC=W(`<div class="session-block svelte-1ndm006"><div class="session-header svelte-1ndm006"><span class="session-name svelte-1ndm006"> </span> <span class="session-tokens svelte-1ndm006"><!></span></div> <!></div>`),rC=W(`<div class="sessions svelte-1ndm006"></div>`),iC=W(`<div class="context-content svelte-1ndm006"><!> <!></div>`),aC=W(`<div class="loading svelte-1ndm006">Loading context content...</div>`);function oC(e,t){M(t,!0);let n=F(`Overview`),r=F(null),i=F(null),a=F(!0),o=F(!1),s=F(``),c=F(``);ma(async()=>{try{I(r,await gu(t.mindName),!0)}catch(e){I(s,e.message??`Failed to fetch context info`,!0)}finally{I(a,!1)}});async function l(){if(!(H(i)||H(o))){I(o,!0);try{I(i,await _u(t.mindName),!0)}catch(e){I(c,e.message??`Failed to fetch context messages`,!0)}finally{I(o,!1)}}}function u(e){I(n,e,!0),e===`Content`&&l()}function d(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}let f={systemPrompt:`#6366f1`,claudeMd:`#818cf8`,skillDesc:`#8b5cf6`,userText:`#3b82f6`,assistantText:`#22c55e`,thinking:`#f59e0b`,toolUse:`#ec4899`,toolResult:`#f97316`,sdk:`#64748b`,empty:`var(--bg-3, #2a2a2a)`};function p(e,t){let n=[{key:`systemPrompt`,label:`System Prompt`,tokens:e.systemPrompt,color:f.systemPrompt},{key:`sdkInstructions`,label:`SDK Instructions`,tokens:e.sdkInstructions,color:f.claudeMd},{key:`skillDesc`,label:`Skill Descriptions`,tokens:e.skillDescriptions,color:f.skillDesc},{key:`userText`,label:`User Messages`,tokens:e.conversation.userText,color:f.userText},{key:`assistantText`,label:`Assistant Text`,tokens:e.conversation.assistantText,color:f.assistantText},{key:`thinking`,label:`Thinking`,tokens:e.conversation.thinking,color:f.thinking},{key:`toolUse`,label:`Tool Calls`,tokens:e.conversation.toolUse,color:f.toolUse},{key:`toolResult`,label:`Tool Results`,tokens:e.conversation.toolResult,color:f.toolResult}].filter(e=>e.tokens>0),r=t-n.reduce((e,t)=>e+t.tokens,0);return r>0&&n.push({key:`sdk`,label:`Tools & SDK`,tokens:r,color:f.sdk}),n}let m=2e3;function h(e,t){let n=Math.ceil(t/m),r=Math.ceil(n/15)*15,i=[];for(let t of e){let e=`${t.label}: ${d(t.tokens)}`,n=Math.max(1,Math.round(t.tokens/m));for(let a=0;a<n&&i.length<r;a++)i.push({color:t.color,tooltip:e})}for(;i.length<r;)i.push({color:f.empty,tooltip:``});return i}{let l=e=>{go(e,{tabs:[`Overview`,`Content`],get active(){return H(n)},onchange:u})},f=P(()=>H(n)===`Content`?`full`:`600px`);$a(e,{get title(){return`Context — ${t.mindName??``}`},get onClose(){return t.onClose},get size(){return H(f)},headerActions:l,children:(e,t)=>{var l=G(),u=z(l),f=e=>{var t=G(),n=z(t),i=e=>{K(e,qS())},o=e=>{var t=JS(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},c=e=>{var t=iC(),n=R(t),i=e=>{var t=YS(),n=B(R(t),2),i=R(n);A(n),A(t),V(e=>q(i,`${e??``} tokens`),[()=>d(H(r).systemPrompt)]),K(e,t)};J(n,e=>{H(r).systemPrompt>0&&e(i)});var a=B(n,2),o=e=>{K(e,XS())},s=e=>{var t=rC();Y(t,21,()=>H(r).sessions,e=>e.name,(e,t)=>{let n=P(()=>H(t).breakdown?p(H(t).breakdown,H(t).contextTokens):[]),r=P(()=>H(n).length>0&&H(t).contextWindow?h(H(n),H(t).contextWindow):[]),i=P(()=>H(t).contextWindow?H(t).contextTokens>H(t).contextWindow:!1);var a=nC(),o=R(a),s=R(o),c=R(s,!0);A(s);var l=B(s,2),u=R(l),f=e=>{var n=ZS(),r=z(n);let a;var o=R(r,!0);A(r);var s=B(r),c=e=>{var n=Kr();V(e=>q(n,` / ${e??``}`),[()=>d(H(t).contextWindow)]),K(e,n)};J(s,e=>{H(t).contextWindow&&e(c)}),V(e=>{a=X(r,1,`svelte-1ndm006`,null,a,{"over-limit":H(i)}),q(o,e)},[()=>d(H(t).contextTokens)]),K(e,n)},m=e=>{K(e,QS())};J(u,e=>{H(t).contextTokens>0?e(f):e(m,-1)}),A(l),A(o);var g=B(o,2),_=e=>{var t=eC();Z(t,``,{},{"grid-template-columns":`repeat(15, 1fr)`}),Y(t,21,()=>H(r),ti,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=$S();let r;Si(n,(e,t)=>Il?.(e,t),()=>H(t).tooltip),V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)},a=e=>{var n=$S();let r;V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)};J(r,e=>{H(t).tooltip?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)},v=e=>{var n=tC(),r=R(n);let i;A(n),V(e=>i=Z(r,``,i,e),[()=>({width:`${Math.min(100,H(t).contextTokens/(H(t).contextWindow??H(t).contextTokens)*100)}%`})]),K(e,n)};J(g,e=>{H(r).length>0?e(_):H(t).contextTokens>0&&e(v,1)}),A(a),V(()=>q(c,H(t).name)),K(e,a)}),A(t),K(e,t)};J(a,e=>{H(r).sessions.length===0?e(o):e(s,-1)}),A(t),K(e,t)};J(n,e=>{H(a)?e(i):H(s)?e(o,1):H(r)&&e(c,2)}),K(e,t)},m=e=>{var t=G(),n=z(t),r=e=>{K(e,aC())},a=e=>{var t=JS(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)},s=e=>{KS(e,{get messages(){return H(i)}})};J(n,e=>{H(o)?e(r):H(c)?e(a,1):H(i)&&e(s,2)}),K(e,t)};J(u,e=>{H(n)===`Overview`?e(f):H(n)===`Content`&&e(m,1)}),K(e,l)},$$slots:{headerActions:!0,default:!0}})}N()}var sC=W(`<button class="model-selected svelte-c55mz0" type="button"><span class="model-selected-name svelte-c55mz0"> </span> <span class="model-selected-provider svelte-c55mz0"> </span> <span class="model-selected-clear svelte-c55mz0">×</span></button>`),cC=W(`<button class="model-option svelte-c55mz0" type="button"><span class="model-option-name svelte-c55mz0"> </span> <span class="model-option-provider svelte-c55mz0"> </span></button>`),lC=W(`<div class="model-dropdown svelte-c55mz0"></div>`),uC=W(`<div class="model-picker svelte-c55mz0"><!> <!></div>`),dC=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Model (optional)</span> <!></div>`),fC=W(`<label class="skill-item svelte-c55mz0"><input type="checkbox"/> <span class="skill-name svelte-c55mz0"> </span></label>`),pC=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Skills</span> <div class="skill-list svelte-c55mz0"></div></div>`),mC=W(`<label class="field svelte-c55mz0"><span class="label svelte-c55mz0">Seed SOUL template</span> <textarea class="textarea svelte-c55mz0" rows="6" placeholder="SOUL.md template for this seed..."></textarea> <span class="hint svelte-c55mz0"></span></label> <!>`,1),hC=W(`<div class="error svelte-c55mz0"> </div>`),gC=W(`<div class="modal-content svelte-c55mz0"><div class="modal-title svelte-c55mz0">Plant a seed</div> <label class="field svelte-c55mz0"><span class="label svelte-c55mz0">Name</span> <!></label> <label class="field svelte-c55mz0"><span class="label svelte-c55mz0">Description (optional)</span> <!></label> <!> <button class="advanced-toggle svelte-c55mz0"><span class="caret svelte-c55mz0"> </span> Advanced</button> <!> <!> <div class="actions svelte-c55mz0"><button class="cancel-btn svelte-c55mz0">Cancel</button> <button class="plant-btn svelte-c55mz0"> </button></div></div>`);function _C(e,t){M(t,!0);let n=[`orientation`,`memory`],r=F(``),i=F(``),a=F(``),o=F(!1),s=F(``),c=F(!1),l=F(``),u=F(``),d=F(L([])),f=F(L(new Set(n))),p=F(L([])),m=F(``),h=F(!1),g=P(()=>H(p).filter(e=>e.enabled)),_=P(()=>H(g).find(e=>e.id===H(a))),v=P(()=>H(m).trim()?H(g).filter(e=>{let t=H(m).toLowerCase();return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.provider.toLowerCase().includes(t)}).slice(0,12):H(g).slice(0,12)),y=P(()=>!H(o)&&!!H(r).trim());ma(()=>{fd().then(e=>{let t=e.find(e=>e.key===`seed_soul`);t&&(I(u,t.content,!0),I(l,t.content,!0))}).catch(e=>{console.error(`Failed to load prompt templates:`,e)}),ed().then(e=>{I(d,e,!0)}).catch(e=>{console.error(`Failed to load shared skills:`,e)}),wd().then(e=>{I(p,e,!0)}).catch(e=>{console.error(`Failed to load AI models:`,e)})});function b(e){let t=new Set(H(f));t.has(e)?t.delete(e):t.add(e),I(f,t,!0)}async function x(){let e=H(r).trim();if(e){I(o,!0),I(s,``);try{let n=H(c)&&H(l)!==H(u)?H(l):void 0,r=H(c)?[...H(f)]:void 0;await xu(e,{description:H(i).trim()||void 0,model:H(a)||void 0,seedSoul:n,skills:r}),await vu(e),t.onCreated(e)}catch(e){I(s,e instanceof Error?e.message:`Failed to create`,!0),I(o,!1)}}}$a(e,{size:`340px`,get onClose(){return t.onClose},children:(e,n)=>{var u=gC(),p=B(R(u),2);Xa(B(R(p),2),{inputSize:`md`,autofocus:!0,placeholder:`e.g. luna`,onkeydown:e=>e.key===`Enter`&&x(),get value(){return H(r)},set value(e){I(r,e,!0)}}),A(p);var S=B(p,2);Xa(B(R(S),2),{inputSize:`md`,placeholder:`A curious mind who loves poetry...`,onkeydown:e=>e.key===`Enter`&&x(),get value(){return H(i)},set value(e){I(i,e,!0)}}),A(S);var C=B(S,2),w=e=>{var t=dC(),n=B(R(t),2),r=e=>{var t=sC(),n=R(t),r=R(n,!0);A(n);var i=B(n,2),o=R(i,!0);A(i),j(2),A(t),V(()=>{q(r,H(_).name),q(o,H(_).provider)}),U(`click`,t,()=>{I(a,``),I(h,!0),I(m,``)}),K(e,t)},i=e=>{var t=uC(),n=R(t);Xa(n,{type:`text`,placeholder:`Search models...`,onfocus:()=>{I(h,!0)},onblur:()=>{setTimeout(()=>{I(h,!1)},150)},get value(){return H(m)},set value(e){I(m,e,!0)}});var r=B(n,2),i=e=>{var t=lC();Y(t,21,()=>H(v),e=>e.id,(e,t)=>{var n=cC(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=R(o,!0);A(o),A(n),V(()=>{q(i,H(t).name),q(s,H(t).provider)}),U(`click`,n,()=>{I(a,H(t).id,!0),I(h,!1),I(m,``)}),K(e,n)}),A(t),K(e,t)};J(r,e=>{H(h)&&H(v).length>0&&e(i)}),A(t),K(e,t)};J(n,e=>{H(_)?e(r):e(i,-1)}),A(t),K(e,t)};J(C,e=>{H(g).length>0&&e(w)});var T=B(C,2),E=R(T),ee=R(E,!0);A(E),j(),A(T);var te=B(T,2),ne=e=>{var t=mC(),n=z(t),r=B(R(n),2);hn(r);var i=B(r,2);i.textContent="Variables: ${name}, ${description}",A(n);var a=B(n,2),o=e=>{var t=pC(),n=B(R(t),2);Y(n,21,()=>H(d),ti,(e,t)=>{var n=fC(),r=R(n);Ki(r);var i=B(r,2),a=R(i,!0);A(i),A(n),V(e=>{Ji(r,e),q(a,H(t).id)},[()=>H(f).has(H(t).id)]),U(`change`,r,()=>b(H(t).id)),K(e,n)}),A(n),A(t),K(e,t)};J(a,e=>{H(d).length>0&&e(o)}),aa(r,()=>H(l),e=>I(l,e)),K(e,t)};J(te,e=>{H(c)&&e(ne)});var D=B(te,2),O=e=>{var t=hC(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(D,e=>{H(s)&&e(O)});var re=B(D,2),ie=R(re),ae=B(ie,2);let k;var oe=R(ae,!0);A(ae),A(re),A(u),V(()=>{q(ee,H(c)?`▼`:`▶`),ae.disabled=!H(y),k=Z(ae,``,k,{opacity:H(y)?1:.5}),q(oe,H(o)?`Planting...`:`Plant`)}),U(`click`,T,()=>I(c,!H(c))),U(`click`,ie,function(...e){t.onClose?.apply(this,e)}),U(`click`,ae,x),K(e,u)},$$slots:{default:!0}}),N()}Lr([`click`,`change`]);var vC=W(`<div class="message error svelte-9vtzjd"> </div>`),yC=W(`<div class="message success svelte-9vtzjd"> </div>`),bC=W(`<img alt="Avatar preview" class="avatar-img svelte-9vtzjd" loading="lazy" decoding="async"/>`),xC=W(`<img alt="Avatar" class="avatar-img svelte-9vtzjd" loading="lazy" decoding="async"/>`),SC=W(`<div class="avatar-placeholder svelte-9vtzjd">?</div>`),CC=W(`<button type="button" class="save-btn svelte-9vtzjd"> </button>`),wC=W(`<button type="button" class="remove-btn svelte-9vtzjd">Remove</button>`),TC=W(`<div class="modal-body svelte-9vtzjd"><form><h3 class="section-title svelte-9vtzjd">Profile</h3> <!> <!> <div class="avatar-section svelte-9vtzjd"><div class="avatar-preview svelte-9vtzjd"><!></div> <div class="avatar-actions svelte-9vtzjd"><label class="avatar-upload-btn svelte-9vtzjd">Choose file <input type="file" accept="image/png,image/jpeg,image/gif,image/webp" hidden="" class="svelte-9vtzjd"/></label> <!> <!></div></div> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Display name</span> <input type="text" placeholder="Optional display name" class="svelte-9vtzjd"/></label> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Description</span> <textarea placeholder="A short description" rows="3" class="svelte-9vtzjd"></textarea></label> <button class="save-btn svelte-9vtzjd" type="submit"> </button></form> <hr class="divider svelte-9vtzjd"/> <form><h3 class="section-title svelte-9vtzjd">Change Password</h3> <!> <!> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Current password</span> <input type="password" autocomplete="current-password" class="svelte-9vtzjd"/></label> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">New password</span> <input type="password" autocomplete="new-password" class="svelte-9vtzjd"/></label> <label class="field svelte-9vtzjd"><span class="label svelte-9vtzjd">Confirm new password</span> <input type="password" autocomplete="new-password" class="svelte-9vtzjd"/></label> <button class="save-btn svelte-9vtzjd" type="submit"> </button></form></div>`);function EC(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),a=F(``),o=F(``),s=F(!1),c=F(null),l=F(null),u=F(!1),d=F(``),f=F(``),p=F(``),m=F(``),h=F(``),g=F(!1);ma(()=>{_()});async function _(){try{let e=await Yl();e&&(I(n,e.display_name??``,!0),I(r,e.description??``,!0),I(i,e.avatar?`/api/auth/avatars/${e.avatar}`:null,!0))}catch{I(a,`Failed to load profile`)}}async function v(e){e.preventDefault(),I(a,``),I(o,``),I(s,!0);try{await au({display_name:H(n).trim()||null,description:H(r).trim()||null}),I(o,`Profile updated`)}catch(e){I(a,e instanceof Error?e.message:`Failed to update profile`,!0)}finally{I(s,!1)}}function y(e){let t=e.target.files?.[0];t&&(I(c,t,!0),I(l,URL.createObjectURL(t),!0))}async function b(){if(H(c)){I(u,!0),I(a,``);try{let e=await ou(H(c));I(i,`/api/auth/avatars/${e}`),I(c,null),I(l,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to upload avatar`,!0)}finally{I(u,!1)}}}async function x(){I(a,``);try{await su(),I(i,null),I(c,null),I(l,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to remove avatar`,!0)}}async function S(e){if(e.preventDefault(),I(m,``),I(h,``),H(f)!==H(p)){I(m,`New passwords do not match`);return}if(H(f).length<1){I(m,`New password cannot be empty`);return}I(g,!0);try{await eu(H(d),H(f)),I(h,`Password changed successfully`),I(d,``),I(f,``),I(p,``)}catch(e){I(m,e instanceof Error?e.message:`Failed to change password`,!0)}finally{I(g,!1)}}$a(e,{size:`420px`,title:`User Settings`,get onClose(){return t.onClose},children:(e,t)=>{var _=TC(),C=R(_),w=B(R(C),2),T=e=>{var t=vC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(w,e=>{H(a)&&e(T)});var E=B(w,2),ee=e=>{var t=yC(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(E,e=>{H(o)&&e(ee)});var te=B(E,2),ne=R(te),D=R(ne),O=e=>{var t=bC();V(()=>Xi(t,`src`,H(l))),K(e,t)},re=e=>{var t=xC();V(()=>Xi(t,`src`,H(i))),K(e,t)},ie=e=>{K(e,SC())};J(D,e=>{H(l)?e(O):H(i)?e(re,1):e(ie,-1)}),A(ne);var ae=B(ne,2),k=R(ae),oe=B(R(k));A(k);var se=B(k,2),ce=e=>{var t=CC(),n=R(t,!0);A(t),V(()=>{t.disabled=H(u),q(n,H(u)?`Uploading...`:`Upload`)}),U(`click`,t,b),K(e,t)};J(se,e=>{H(c)&&e(ce)});var le=B(se,2),ue=e=>{var t=wC();U(`click`,t,x),K(e,t)};J(le,e=>{H(i)&&!H(c)&&e(ue)}),A(ae),A(te);var de=B(te,2),fe=B(R(de),2);Ki(fe),Xi(fe,`maxlength`,100),A(de);var pe=B(de,2),me=B(R(pe),2);hn(me),Xi(me,`maxlength`,500),A(pe);var he=B(pe,2),ge=R(he,!0);A(he),A(C);var _e=B(C,4),ve=B(R(_e),2),ye=e=>{var t=vC(),n=R(t,!0);A(t),V(()=>q(n,H(m))),K(e,t)};J(ve,e=>{H(m)&&e(ye)});var be=B(ve,2),xe=e=>{var t=yC(),n=R(t,!0);A(t),V(()=>q(n,H(h))),K(e,t)};J(be,e=>{H(h)&&e(xe)});var Se=B(be,2),Ce=B(R(Se),2);Ki(Ce),A(Se);var we=B(Se,2),Te=B(R(we),2);Ki(Te),A(we);var Ee=B(we,2),De=B(R(Ee),2);Ki(De),A(Ee);var Oe=B(Ee,2),ke=R(Oe,!0);A(Oe),A(_e),A(_),V(()=>{he.disabled=H(s),q(ge,H(s)?`Saving...`:`Save Profile`),Oe.disabled=H(g),q(ke,H(g)?`Saving...`:`Change Password`)}),Ir(`submit`,C,v),U(`change`,oe,y),aa(fe,()=>H(n),e=>I(n,e)),aa(me,()=>H(r),e=>I(r,e)),Ir(`submit`,_e,S),aa(Ce,()=>H(d),e=>I(d,e)),aa(Te,()=>H(f),e=>I(f,e)),aa(De,()=>H(p),e=>I(p,e)),K(e,_)},$$slots:{default:!0}}),N()}Lr([`change`,`click`]);var DC=W(`<div class="banner svelte-rcoqqt"><span>Minds cannot think yet — no AI provider is configured.</span> <button class="settings-btn svelte-rcoqqt">add a provider in Settings</button></div>`);function OC(e,t){M(t,!0);let n=F(!0);Tn(()=>{let e=!0;async function t(){try{let t=await fetch(`/api/system/info`);if(!t.ok){console.debug(`[provider] poll returned`,t.status);return}let r=await t.json();e&&I(n,r.aiConfigured!==!1)}catch(e){console.debug(`[provider] poll failed:`,e)}}t();let r=setInterval(t,6e4);return()=>{e=!1,clearInterval(r)}});var r=G(),i=z(r),a=e=>{var n=DC(),r=B(R(n),2);A(n),U(`click`,r,function(...e){t.onOpenSettings?.apply(this,e)}),K(e,n)};J(i,e=>{H(n)||e(a)}),K(e,r),N()}Lr([`click`]);var kC=W(`<div class="empty svelte-h08x3h">Loading...</div>`),AC=W(`<div class="empty error-text svelte-h08x3h"> </div>`),jC=W(`<button class="crumb svelte-h08x3h"> </button>`),MC=W(`<button class="file-row svelte-h08x3h"><span class="file-icon svelte-h08x3h">..</span> <span class="file-name svelte-h08x3h">..</span></button>`),NC=W(`<button><span class="file-icon svelte-h08x3h"> </span> <span class="file-name svelte-h08x3h"> </span></button>`),PC=W(`<div class="empty-dir svelte-h08x3h">Empty directory</div>`),FC=W(`<div class="preview-empty svelte-h08x3h">Loading...</div>`),IC=W(`<div class="preview-empty error-text svelte-h08x3h"> </div>`),LC=W(`<div class="preview-image svelte-h08x3h"><img class="svelte-h08x3h"/></div>`),RC=W(`<div class="preview-markdown markdown-body svelte-h08x3h"></div>`),zC=W(`<pre class="preview-text svelte-h08x3h"><code class="svelte-h08x3h"> </code></pre>`),BC=W(`<div class="preview-empty svelte-h08x3h"><span class="preview-mime svelte-h08x3h"> </span> <a class="download-link svelte-h08x3h" target="_blank" rel="noopener">Download</a></div>`),VC=W(`<div class="preview-header svelte-h08x3h"><span class="preview-filename svelte-h08x3h"> </span> <a class="preview-link svelte-h08x3h" target="_blank" rel="noopener">open</a></div> <!>`,1),HC=W(`<div class="preview-empty svelte-h08x3h">Select a file to preview</div>`),UC=W(`<div class="browser svelte-h08x3h"><div class="file-list svelte-h08x3h"><div class="breadcrumb svelte-h08x3h"><button class="crumb svelte-h08x3h">home/</button> <!></div> <!> <!> <!></div> <div class="preview svelte-h08x3h"><!></div></div>`),WC=W(`<div class="public-files svelte-h08x3h"><!></div>`);function GC(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``),a=F(``),o=F(null),s=F(null),c=F(!1),l=F(``),u=F(L([])),d=new Set([`text/plain`,`text/html`,`text/css`,`text/markdown`,`application/javascript`,`application/json`,`application/xml`]),f=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/svg+xml`,`image/webp`]),p=P(()=>H(u).length>0?`${H(u).join(`/`)}/`:``);async function m(){I(r,!0),I(i,``),I(o,null),I(s,null);try{let e=H(u).length>0?`${H(u).join(`/`)}/`:``,r=await fetch(`/api/minds/${encodeURIComponent(t.name)}/files/${e}`);if(!r.ok)throw Error(`Failed to load directory`);I(n,await r.json(),!0)}catch(e){I(i,e instanceof Error?e.message:`Failed to load`,!0),I(n,[],!0)}finally{I(r,!1)}}Tn(()=>{t.name,H(p),m()});async function h(e){if(e.type===`directory`){I(u,[...H(u),e.name],!0);return}H(s)&&H(y)&&URL.revokeObjectURL(H(s)),I(o,e.name,!0),I(c,!0),I(s,null),I(l,``),I(a,``);try{let n=H(p)+e.name,r=await fetch(`/api/minds/${encodeURIComponent(t.name)}/files/${n}`);if(!r.ok)throw Error(`Failed to load file`);I(l,r.headers.get(`content-type`)??``,!0);let i=H(l).split(`;`)[0].trim();if(d.has(i))I(s,await r.text(),!0);else if(f.has(i)){let e=await r.blob();I(s,URL.createObjectURL(e),!0)}else I(s,null)}catch(e){I(s,null),I(a,e instanceof Error?e.message:`Failed to load file`,!0)}finally{I(c,!1)}}function g(){I(u,H(u).slice(0,-1),!0)}function _(){I(u,[],!0)}let v=P(()=>H(l).split(`;`)[0].trim()),y=P(()=>f.has(H(v))),b=P(()=>d.has(H(v))),x=P(()=>H(v)===`text/markdown`||(H(o)?.endsWith(`.md`)??!1));Tn(()=>{let e=H(s),t=H(y);return()=>{e&&t&&URL.revokeObjectURL(e)}});let S=P(()=>[...H(n)].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1));var C=WC(),w=R(C),T=e=>{K(e,kC())},E=e=>{var t=AC(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)},ee=e=>{var r=UC(),i=R(r),d=R(i),f=R(d);Y(B(f,2),17,()=>H(u),ti,(e,t,n)=>{var r=jC(),i=R(r);A(r),V(()=>q(i,`${H(t)??``}/`)),U(`click`,r,()=>I(u,H(u).slice(0,n+1),!0)),K(e,r)}),A(d);var m=B(d,2),v=e=>{var t=MC();U(`click`,t,g),K(e,t)};J(m,e=>{H(u).length>0&&e(v)});var C=B(m,2);Y(C,17,()=>H(S),e=>e.name,(e,t)=>{var n=NC();let r;var i=R(n),a=R(i,!0);A(i);var s=B(i,2),c=R(s);A(s),A(n),V(()=>{r=X(n,1,`file-row svelte-h08x3h`,null,r,{active:H(o)===H(t).name}),q(a,H(t).type===`directory`?`📁`:`📄`),q(c,`${H(t).name??``}${H(t).type===`directory`?`/`:``}`)}),U(`click`,n,()=>h(H(t))),K(e,n)});var w=B(C,2),T=e=>{K(e,PC())};J(w,e=>{H(n).length===0&&e(T)}),A(i);var E=B(i,2),ee=R(E),te=e=>{var n=VC(),r=z(n),i=R(r),u=R(i);A(i);var d=B(i,2);A(r);var f=B(r,2),m=e=>{K(e,FC())},h=e=>{var t=IC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},g=e=>{var t=LC(),n=R(t);A(t),V(()=>{Xi(n,`src`,H(s)),Xi(n,`alt`,H(o))}),K(e,t)},_=e=>{var t=RC();ui(t,()=>Al(H(s)),!0),A(t),K(e,t)},v=e=>{var t=zC(),n=R(t),r=R(n,!0);A(n),A(t),V(()=>q(r,H(s))),K(e,t)},S=e=>{var n=BC(),r=R(n),i=R(r,!0);A(r);var a=B(r,2);A(n),V(e=>{q(i,H(l)||`unknown type`),Xi(a,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)};J(f,e=>{H(c)?e(m):H(a)?e(h,1):H(y)&&H(s)?e(g,2):H(x)&&H(s)!==null?e(_,3):H(b)&&H(s)!==null?e(v,4):e(S,-1)}),V(e=>{q(u,`${H(p)??``}${H(o)??``}`),Xi(d,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)},ne=e=>{K(e,HC())};J(ee,e=>{H(o)?e(te):e(ne,-1)}),A(E),A(r),U(`click`,f,_),K(e,r)};J(w,e=>{H(r)?e(T):H(i)?e(E,1):e(ee,-1)}),A(C),K(e,C),N()}Lr([`click`]);function KC(e,t,n){let r=null;function i(){r?.abort(),r=new AbortController;let i=r.signal;fetch(e,{signal:i}).then(async e=>{if(!e.ok){n?.(`Stream connection failed (${e.status})`);return}if(!e.body){n?.(`Stream has no body`);return}let r=e.body.getReader(),i=new TextDecoder,a=``;for(;;){let{done:e,value:n}=await r.read();if(e)break;a+=i.decode(n,{stream:!0});let o=a.split(`
|
|
82
|
+
`);a=o.pop()||``;for(let e of o){if(!e.startsWith(`data: `))continue;let n=e.slice(6);n&&t(n)}}}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||n?.(e.message||`Stream error`)})}function a(){r?.abort()}return{start:i,stop:a}}function qC(e,t){return KC(`/api/system/logs`,e,t)}var JC=W(`<button>debug</button>`),YC=W(`<button> </button>`),XC=W(`<div class="filter-sep svelte-1208idv"></div> <div class="filter-group svelte-1208idv"></div>`,1),ZC=W(`<button class="pill pill-clear svelte-1208idv">clear</button>`),QC=W(`<div class="pause-bar svelte-1208idv"><span>Scroll paused</span> <button class="resume-btn svelte-1208idv">Resume</button></div>`),$C=W(`<span class="error svelte-1208idv"> </span>`),ew=W(`<span class="waiting svelte-1208idv">Waiting for logs...</span>`),tw=W(`<span class="cat svelte-1208idv"> </span>`),nw=W(`<span class="data svelte-1208idv"> </span>`),rw=W(`<div class="log-line svelte-1208idv"><span class="ts svelte-1208idv"> </span> <span class="level svelte-1208idv"> </span> <!> <span class="msg svelte-1208idv"> <!></span></div>`),iw=W(`<div class="system-logs svelte-1208idv"><div class="header svelte-1208idv"><span class="title svelte-1208idv">System Logs</span> <span class="count svelte-1208idv"><!></span></div> <div class="filter-bar svelte-1208idv"><div class="filter-group svelte-1208idv"><button>info</button> <button>warn</button> <button>error</button> <!></div> <!> <!></div> <!> <div class="log-output svelte-1208idv"><!> <!></div></div>`);function aw(e,t){M(t,!0);let n={info:`var(--text-2)`,warn:`var(--yellow)`,error:`var(--red)`,debug:`var(--text-2)`},r=F(L([])),i=F(!0),a=F(``),o,s=new Gl,c=new Gl,l=P(()=>H(r).some(e=>e.level===`debug`)),u=P(()=>[...new Set(H(r).map(e=>e.cat).filter(e=>!!e))].sort()),d=P(()=>s.size>0||c.size>0),f=P(()=>H(d)?H(r).filter(e=>!s.has(e.level)&&(!e.cat||!c.has(e.cat))):H(r));function p(e,t){e.has(t)?e.delete(t):e.add(t)}function m(){s.clear(),c.clear()}function h(e){try{let t=JSON.parse(e);H(r).push(t),H(r).length>2e3&&I(r,H(r).slice(-2e3),!0)}catch{}}Tn(()=>{I(a,``);let{start:e,stop:t}=qC(h,e=>{I(a,e,!0)});return e(),t}),Tn(()=>{let e=H(f).length;H(i)&&o&&e>0&&(o.scrollTop=o.scrollHeight)});function g(){if(!o)return;let e=o.scrollHeight-o.scrollTop-o.clientHeight<30;I(i,e)}function _(){I(i,!0),o&&(o.scrollTop=o.scrollHeight)}function v(e){try{return new Date(e).toLocaleTimeString()}catch{return e}}function y(e){return Object.entries(e).map(([e,t])=>`${e}=${typeof t==`string`?t:JSON.stringify(t)}`).join(` `)}var b=iw(),x=R(b),S=B(R(x),2),C=R(S),w=e=>{var t=Kr();V(()=>q(t,`${H(f).length??``} / ${H(r).length??``} entries`)),K(e,t)},T=e=>{var t=Kr();V(()=>q(t,`${H(r).length??``} entries`)),K(e,t)};J(C,e=>{H(d)?e(w):e(T,-1)}),A(S),A(x);var E=B(x,2),ee=R(E),te=R(ee);let ne;var D=B(te,2);let O;var re=B(D,2);let ie;var ae=B(re,2),k=e=>{var t=JC();let n;V(e=>n=X(t,1,`pill pill-debug svelte-1208idv`,null,n,e),[()=>({inactive:s.has(`debug`)})]),U(`click`,t,()=>p(s,`debug`)),K(e,t)};J(ae,e=>{H(l)&&e(k)}),A(ee);var oe=B(ee,2),se=e=>{var t=XC(),n=B(z(t),2);Y(n,20,()=>H(u),e=>e,(e,t)=>{var n=YC();let r;var i=R(n,!0);A(n),V(e=>{r=X(n,1,`pill pill-cat svelte-1208idv`,null,r,e),q(i,t)},[()=>({inactive:c.has(t)})]),U(`click`,n,()=>p(c,t)),K(e,n)}),A(n),K(e,t)};J(oe,e=>{H(u).length>0&&e(se)});var ce=B(oe,2),le=e=>{var t=ZC();U(`click`,t,m),K(e,t)};J(ce,e=>{H(d)&&e(le)}),A(E);var ue=B(E,2),de=e=>{var t=QC(),n=B(R(t),2);A(t),U(`click`,n,_),K(e,t)};J(ue,e=>{H(i)||e(de)});var fe=B(ue,2),pe=R(fe),me=e=>{var t=$C(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},he=e=>{K(e,ew())};J(pe,e=>{H(a)?e(me):H(r).length===0&&e(he,1)}),Y(B(pe,2),17,()=>H(f),ti,(e,t)=>{var r=rw(),i=R(r),a=R(i,!0);A(i);var o=B(i,2);let s;var c=R(o,!0);A(o);var l=B(o,2),u=e=>{var n=tw(),r=R(n,!0);A(n),V(()=>q(r,H(t).cat)),K(e,n)};J(l,e=>{H(t).cat&&e(u)});var d=B(l,2),f=R(d,!0),p=B(f),m=e=>{var n=nw(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>y(H(t).data)]),K(e,n)};J(p,e=>{H(t).data&&e(m)}),A(d),A(r),V(e=>{q(a,e),s=Z(o,``,s,{color:n[H(t).level]||`var(--text-2)`}),q(c,H(t).level),q(f,H(t).msg)},[()=>v(H(t).ts)]),K(e,r)}),A(fe),ua(fe,e=>o=e,()=>o),A(b),V((e,t,n)=>{ne=X(te,1,`pill pill-info svelte-1208idv`,null,ne,e),O=X(D,1,`pill pill-warn svelte-1208idv`,null,O,t),ie=X(re,1,`pill pill-error svelte-1208idv`,null,ie,n)},[()=>({inactive:s.has(`info`)}),()=>({inactive:s.has(`warn`)}),()=>({inactive:s.has(`error`)})]),U(`click`,te,()=>p(s,`info`)),U(`click`,D,()=>p(s,`warn`)),U(`click`,re,()=>p(s,`error`)),Ir(`scroll`,fe,g),K(e,b),N()}Lr([`click`]);var ow=W(`<span class="error svelte-1uhe9s"> </span>`),sw=W(`<span class="updating svelte-1uhe9s">Updating...</span>`),cw=W(`<span> </span> <button class="update-btn svelte-1uhe9s">update</button> <button class="dismiss-btn svelte-1uhe9s">×</button>`,1),lw=W(`<div class="banner svelte-1uhe9s"><!></div>`);function uw(e,t){M(t,!0);let n=F(null),r=F(!1),i=F(!1),a=F(null);Tn(()=>{let e=!0;async function t(){try{let t=await fetch(`/api/health`);if(!t.ok)return;let r=await t.json();e&&r.updateAvailable?I(n,{current:r.version,latest:r.latest,updateAvailable:!0},!0):e&&I(n,null)}catch(e){console.debug(`[update] poll failed:`,e)}}t();let r=setInterval(t,6e4);return()=>{e=!1,clearInterval(r)}});async function o(){I(i,!0);try{if(!(await fetch(`/api/system/update`,{method:`POST`})).ok){I(i,!1),I(a,`Update failed`),setTimeout(()=>{I(a,null)},5e3);return}let e=Date.now();for(await new Promise(e=>setTimeout(e,3e3));Date.now()-e<6e4;){try{let e=await fetch(`/api/health`);if(e.ok&&(await e.json()).version!==H(n)?.current){window.location.reload();return}}catch(e){console.debug(`[update] health check failed:`,e)}await new Promise(e=>setTimeout(e,2e3))}window.location.reload()}catch{I(i,!1),I(a,`Update failed`),setTimeout(()=>{I(a,null)},5e3)}}var s=G(),c=z(s),l=e=>{var t=lw(),s=R(t),c=e=>{var t=ow(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},l=e=>{K(e,sw())},u=e=>{var t=cw(),i=z(t),a=R(i);A(i);var s=B(i,2),c=B(s,2);V(()=>q(a,`Update available: v${H(n).current??``} → v${H(n).latest??``}`)),U(`click`,s,o),U(`click`,c,()=>I(r,!0)),K(e,t)};J(s,e=>{H(a)?e(c):H(i)?e(l,1):e(u,-1)}),A(t),K(e,t)};J(c,e=>{H(n)?.updateAvailable&&!H(r)&&e(l)}),K(e,s),N()}Lr([`click`]);function dw(e){if(!e.checked)return`loading`;let t=e.hasAccount&&!e.loggedIn;return!e.setupComplete&&!t?`setup`:e.needsConnection?`connection`:e.loggedIn?`app`:`login`}function fw(e,t){let n=e instanceof Error?e.message:String(e);return/\bunauthorized\b|\bforbidden\b|\b401\b|\b403\b/i.test(n)?`Your session has expired — please log in again.`:n||t}var pw=W(`<button class="clear-btn svelte-q0li9w" type="button">×</button>`),mw=W(`<button type="button"><span class="option-empty svelte-q0li9w"> </span></button>`),hw=W(`<button type="button"> </button>`),gw=W(`<span class="dropdown-empty svelte-q0li9w">No matches</span>`),_w=W(`<div class="dropdown svelte-q0li9w"><!> <!> <!></div>`),vw=W(`<div class="model-select svelte-q0li9w"><input type="text" class="text-input svelte-q0li9w"/> <!> <!></div>`);function yw(e,t){M(t,!0);let n=pa(t,`value`,15,``),r=pa(t,`placeholder`,3,`Search models...`),i=pa(t,`emptyLabel`,3,`None`),a=F(``),o=F(!1),s=F(void 0),c,l=P(()=>H(o)?H(a):t.items.find(e=>e.id===n())?.label??(n()?n():``)),u=P(()=>{let e=H(a).toLowerCase().trim();return e?t.items.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e)):t.items});function d(e){let t=e.target.value;clearTimeout(c),c=setTimeout(()=>{I(a,t,!0),I(o,!0)},150)}function f(){I(a,``),I(o,!0)}function p(){setTimeout(()=>{I(o,!1),I(a,``)},200)}function m(e){n(e),I(o,!1),I(a,``),H(s)?.blur()}function h(){n(``),I(o,!1),I(a,``)}var g=vw(),_=R(g);Ki(_),ua(_,e=>I(s,e),()=>H(s));var v=B(_,2),y=e=>{var t=pw();U(`mousedown`,t,e=>{e.preventDefault(),h()}),K(e,t)};J(v,e=>{n()&&!H(o)&&e(y)});var b=B(v,2),x=e=>{var t=_w(),r=R(t),a=e=>{var t=mw();let r;var a=R(t),o=R(a,!0);A(a),A(t),V(()=>{r=X(t,1,`dropdown-option svelte-q0li9w`,null,r,{selected:!n()}),q(o,i())}),U(`mousedown`,t,e=>{e.preventDefault(),m(``)}),K(e,t)};J(r,e=>{i()&&e(a)});var o=B(r,2);Y(o,17,()=>H(u),e=>e.id,(e,t)=>{var r=hw();let i;var a=R(r,!0);A(r),V(()=>{i=X(r,1,`dropdown-option svelte-q0li9w`,null,i,{selected:H(t).id===n()}),q(a,H(t).label)}),U(`mousedown`,r,e=>{e.preventDefault(),m(H(t).id)}),K(e,r)});var s=B(o,2),c=e=>{K(e,gw())};J(s,e=>{H(u).length===0&&e(c)}),A(t),K(e,t)};J(b,e=>{H(o)&&e(x)}),A(g),V(()=>{qi(_,H(l)),Xi(_,`placeholder`,r())}),U(`input`,_,d),Ir(`focus`,_,f),Ir(`blur`,_,p),K(e,g),N()}Lr([`input`,`mousedown`]);var bw=W(`<div class="error svelte-1x5emjp"> </div> <button class="retry-btn svelte-1x5emjp">Retry</button>`,1),xw=W(`<div class="loading-text svelte-1x5emjp">Loading providers...</div>`),Sw=W(`<span class="model-tag svelte-1x5emjp"> <button class="model-tag-remove svelte-1x5emjp">×</button></span>`),Cw=W(`<div class="model-tags svelte-1x5emjp"></div>`),ww=W(`<span class="dim svelte-1x5emjp">No models enabled</span>`),Tw=W(`<div class="provider-card svelte-1x5emjp"><div class="provider-header svelte-1x5emjp"><span class="provider-name svelte-1x5emjp"> </span> <span class="auth-badge svelte-1x5emjp"> </span> <button class="remove-btn svelte-1x5emjp">Remove</button></div> <div class="provider-models svelte-1x5emjp"><!> <button class="add-model-btn svelte-1x5emjp">Add model</button></div></div>`),Ew=W(`<button class="add-provider-btn svelte-1x5emjp" type="button">+ Add a provider</button>`),Dw=W(`<div class="model-defaults svelte-1x5emjp"><span class="label svelte-1x5emjp">Spirit model</span> <!> <div class="hint svelte-1x5emjp">The model that runs Volute's guiding spirit.</div> <span class="label mt svelte-1x5emjp">Utility model <span class="optional svelte-1x5emjp">(optional)</span></span> <!> <div class="hint svelte-1x5emjp">A smaller model for summaries and background tasks.</div></div>`),Ow=W(`<div class="error svelte-1x5emjp"> </div>`),kw=W(`<!> <!> <!> <!>`,1),Aw=W(`<button class="btn-provider svelte-1x5emjp" type="button"> </button>`),jw=W(`<span class="oauth-heading svelte-1x5emjp">Sign in with</span> <div class="oauth-buttons modal-oauth-buttons svelte-1x5emjp"></div>`,1),Mw=W(`<!> <button class="link-btn svelte-1x5emjp" type="button"> </button>`,1),Nw=W(`<button class="autocomplete-option svelte-1x5emjp" type="button"> </button>`),Pw=W(`<div class="autocomplete-list svelte-1x5emjp"></div>`),Fw=W(`<form class="api-key-form svelte-1x5emjp"><input type="password" placeholder="API key" class="text-input svelte-1x5emjp"/> <button type="submit" class="save-btn svelte-1x5emjp"> </button></form>`),Iw=W(`<button class="link-btn svelte-1x5emjp" type="button">back to sign-in options</button>`),Lw=W(`<div class="api-key-section svelte-1x5emjp"><div class="autocomplete svelte-1x5emjp"><input type="text" class="text-input svelte-1x5emjp" placeholder="Search providers..."/> <!></div> <!></div> <!>`,1),Rw=W(`<div class="modal-body svelte-1x5emjp"><!> <!></div>`),zw=W(`<span class="dim svelte-1x5emjp">Verifying...</span>`),Bw=W(`<div class="oauth-steps svelte-1x5emjp"><div class="oauth-step svelte-1x5emjp"><span class="step-num svelte-1x5emjp">1</span> Authorize in the opened window</div> <div class="oauth-step svelte-1x5emjp"><span class="step-num svelte-1x5emjp">2</span> Copy the redirect URL and paste below</div></div> <form class="api-key-form svelte-1x5emjp"><input type="text" placeholder="Paste the redirect URL here" class="text-input svelte-1x5emjp"/> <button type="submit" class="save-btn svelte-1x5emjp">Submit</button></form>`,1),Vw=W(`<p class="oauth-device-code svelte-1x5emjp"> </p>`),Hw=W(`<span class="dim svelte-1x5emjp">Waiting for authorization...</span>`),Uw=W(`<p class="modal-text svelte-1x5emjp">Authorize at:</p> <a target="_blank" rel="noopener" class="oauth-link svelte-1x5emjp"> </a> <!> <!>`,1),Ww=W(`<span class="dim svelte-1x5emjp">Starting OAuth...</span>`),Gw=W(`<button class="model-option svelte-1x5emjp"> </button>`),Kw=W(`<div class="model-list svelte-1x5emjp"></div>`),qw=W(`<button class="custom-add-btn svelte-1x5emjp"> </button> <span class="dim svelte-1x5emjp">For a model not yet in the catalog. Settings are inherited from a built-in model of this provider.</span>`,1),Jw=W(`<span class="dim svelte-1x5emjp">No more models available</span>`),Yw=W(`<div class="modal-body svelte-1x5emjp"><input type="text" placeholder="Search or type a model id..." class="text-input svelte-1x5emjp"/> <!> <!> <!></div>`);function Xw(e,t){M(t,!0);let n=pa(t,`showModelDefaults`,3,!1),r=pa(t,`spiritModel`,15,``),i=pa(t,`utilityModel`,15,``),a=F(L([])),o=F(L([])),s=F(``),c=F(!1),l=F(``),u=F(!1),d=F(`oauth`),f=F(``),p=F(``),m=F(``),h=F(``),g=F(``),_=F(``),v=F(!1),y=F(!1),b=F(!1),x=F(``),S=F(!1),C=F(``),w=F(!1),T=F(``),E=F(``),ee=P(()=>H(a).filter(e=>e.configured)),te=P(()=>H(a).filter(e=>!e.configured)),ne=P(()=>H(te).filter(e=>e.oauth)),D=P(()=>H(f).trim()?H(te).filter(e=>e.id.toLowerCase().includes(H(f).toLowerCase())):H(te)),O=P(()=>H(o).filter(e=>e.enabled)),re=P(()=>typeof location<`u`&&location.hostname!==`localhost`&&location.hostname!==`127.0.0.1`),ie={"Google Cloud Code Assist":`Google Cloud`,"ChatGPT Plus/Pro":`OpenAI`};function ae(e){let t=(e.oauthName??e.id).replace(/\s*\(.*\)/,``).trim();return ie[t]??(t||e.id)}function k(e){return H(O).filter(t=>t.provider===e)}let oe=P(()=>H(E).trim()?H(o).filter(e=>!e.enabled&&e.provider===H(T)&&e.id.toLowerCase().includes(H(E).toLowerCase())).slice(0,12):H(o).filter(e=>!e.enabled&&e.provider===H(T)).slice(0,12)),se=P(()=>H(E).trim().length>0&&!H(o).some(e=>e.provider===H(T)&&e.id.toLowerCase()===H(E).trim().toLowerCase()));function ce(e){return e===`api_key`?`API key`:e===`oauth`?`OAuth`:e===`env_var`?`env var`:``}Tn(()=>{H(O)&&t.onLoad?.(H(O))});async function le(){I(l,``);try{I(a,await Cd(),!0),I(o,await wd(),!0)}catch(e){console.warn(`[AiProviders] failed to load providers/models:`,e),I(l,fw(e,`Failed to load providers. Please try again.`),!0)}}function ue(){I(u,!1),I(h,``),I(g,``),I(_,``),I(v,!1),I(y,!1),I(b,!1),I(x,``),I(S,!1),I(C,``),I(d,`oauth`),I(f,``),I(p,``),I(m,``),I(s,``)}function de(){ue(),I(u,!0)}async function fe(){if(!H(p)||!H(m).trim())return;I(s,``),I(c,!0);let e=H(p);try{await Td(H(p),H(m).trim()),ue(),await le(),I(T,e,!0),I(E,``),I(w,!0)}catch(e){I(s,e instanceof Error?e.message:`Failed to save provider`,!0)}I(c,!1)}async function pe(e){I(c,!0),I(s,``);try{await Ed(e);let t=H(o).filter(t=>t.provider===e&&t.enabled);for(let e of t)i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``);await le()}catch(e){I(s,e instanceof Error?e.message:`Failed to remove provider`,!0)}I(c,!1)}async function me(e){I(s,``),I(h,e,!0),I(c,!0);try{let t=await Dd(e);I(_,t.flowId,!0),I(y,!!t.needsManualCode),I(C,t.instructions??``,!0),I(v,!0),t.url&&(I(g,t.url,!0),window.open(t.url,`_blank`)),he()}catch(e){I(s,e instanceof Error?e.message:`OAuth failed`,!0),I(h,``)}I(c,!1)}async function he(){let e=0;for(;H(v);){await new Promise(e=>setTimeout(e,2500));try{let t=await Od(H(_));if(e=0,t.instructions&&!H(C)&&I(C,t.instructions,!0),t.url&&!H(g)&&I(g,t.url,!0),t.waitingForCode&&I(b,!0),t.status===`complete`){I(v,!1);let e=H(h);ue(),await le(),I(T,e,!0),I(E,``),I(w,!0);return}else if(t.status===`error`){I(v,!1),I(g,``),I(b,!1),I(S,!1),I(s,t.error??`OAuth failed`,!0),I(h,``);return}}catch{if(e++,e>=5){I(v,!1),I(g,``),I(S,!1),I(s,`Lost connection while waiting for OAuth`),I(h,``);return}}}}async function ge(){if(!(!H(x).trim()||!H(_))){I(s,``),I(S,!0);try{await kd(H(_),H(x).trim()),I(x,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to submit code`,!0),I(S,!1)}}}function _e(){let e=H(x).trim();e&&/^https?:\/\//.test(e)&&ge()}async function ve(e){let t=[...H(O).map(e=>e.qualifiedId),e];try{await Ad(t),I(o,H(o).map(t=>t.qualifiedId===e?{...t,enabled:!0}:t),!0),I(E,``),I(w,!1)}catch(e){I(s,e instanceof Error?e.message:`Failed to add model`,!0)}}async function ye(){let e=H(E).trim();if(e)try{await jd(H(T),e),I(E,``),I(w,!1),await le()}catch(e){I(s,e instanceof Error?e.message:`Failed to add custom model`,!0)}}async function be(e){if(e.custom){try{await Md(e.provider,e.id),I(o,H(o).filter(t=>t.qualifiedId!==e.qualifiedId),!0),i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove custom model`,!0)}return}let t=H(O).map(e=>e.qualifiedId).filter(t=>t!==e.qualifiedId);try{await Ad(t),I(o,H(o).map(t=>t.qualifiedId===e.qualifiedId?{...t,enabled:!1}:t),!0),i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove model`,!0)}}var xe={load:le},Se=kw(),Ce=z(Se),we=e=>{var t=bw(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,H(l))),U(`click`,i,()=>le()),K(e,t)},Te=e=>{K(e,xw())},Ee=e=>{var t=kw(),a=z(t);Y(a,17,()=>H(ee),e=>e.id,(e,t)=>{let n=P(()=>k(H(t).id));var r=Tw(),i=R(r),a=R(i),o=R(a,!0);A(a);var l=B(a,2),u=R(l,!0);A(l);var d=B(l,2);A(i);var f=B(i,2),p=R(f),m=e=>{var t=Cw();Y(t,21,()=>H(n),e=>e.qualifiedId,(e,t)=>{var n=Sw(),r=R(n),i=B(r);A(n),V(()=>q(r,`${H(t).id??``} `)),U(`click`,i,()=>be(H(t))),K(e,n)}),A(t),K(e,t)},h=e=>{K(e,ww())};J(p,e=>{H(n).length>0?e(m):e(h,-1)});var g=B(p,2);A(f),A(r),V(e=>{q(o,H(t).id),q(u,e),d.disabled=H(c)},[()=>ce(H(t).authMethod)]),U(`click`,d,()=>pe(H(t).id)),U(`click`,g,()=>{I(T,H(t).id,!0),I(E,``),I(s,``),I(w,!0)}),K(e,r)});var o=B(a,2),l=e=>{var t=Ew();U(`click`,t,de),K(e,t)};J(o,e=>{H(te).length>0&&e(l)});var d=B(o,2),f=e=>{var t=Dw(),n=B(R(t),2);{let e=P(()=>H(O).map(e=>({id:e.qualifiedId,label:`${e.name} · ${e.provider}`})));yw(n,{get items(){return H(e)},placeholder:`Search models...`,get value(){return r()},set value(e){r(e)}})}var a=B(n,6);{let e=P(()=>H(O).map(e=>({id:e.qualifiedId,label:`${e.name} · ${e.provider}`})));yw(a,{get items(){return H(e)},placeholder:`Search models...`,emptyLabel:`None`,get value(){return i()},set value(e){i(e)}})}j(2),A(t),K(e,t)};J(d,e=>{n()&&H(O).length>0&&e(f)});var p=B(d,2),m=e=>{var t=Ow(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(p,e=>{H(s)&&!H(u)&&e(m)}),K(e,t)};J(Ce,e=>{H(l)?e(we):H(a).length===0?e(Te,1):e(Ee,-1)});var De=B(Ce,2),Oe=e=>{$a(e,{onClose:()=>{H(v)||ue()},size:`420px`,title:`Add a provider`,children:(e,t)=>{var n=Rw(),r=R(n),i=e=>{var t=Mw(),n=z(t),r=e=>{var t=jw(),n=B(z(t),2);Y(n,21,()=>H(ne),e=>e.id,(e,t)=>{var n=Aw(),r=R(n,!0);A(n),V(e=>{n.disabled=H(c),q(r,e)},[()=>ae(H(t))]),U(`click`,n,()=>me(H(t).id)),K(e,n)}),A(n),K(e,t)};J(n,e=>{H(ne).length>0&&e(r)});var i=B(n,2),a=R(i,!0);A(i),V(()=>q(a,H(ne).length>0?`or add an API key`:`Add an API key`)),U(`click`,i,()=>{I(d,`apikey`),I(f,``),I(p,``)}),K(e,t)},a=e=>{var t=Lw(),n=z(t),r=R(n),i=R(r);Ki(i);var a=B(i,2),o=e=>{var t=Pw();Y(t,21,()=>H(D),e=>e.id,(e,t)=>{var n=Nw(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>{I(p,H(t).id,!0),I(f,H(t).id,!0)}),K(e,n)}),A(t),K(e,t)};J(a,e=>{!H(p)&&H(D).length>0&&e(o)}),A(r);var s=B(r,2),l=e=>{var t=Fw(),n=R(t);Ki(n);var r=B(n,2),i=R(r,!0);A(r),A(t),V(e=>{r.disabled=e,q(i,H(c)?`...`:`Save`)},[()=>H(c)||!H(m).trim()]),Ir(`submit`,t,e=>{e.preventDefault(),fe()}),aa(n,()=>H(m),e=>I(m,e)),K(e,t)};J(s,e=>{H(p)&&e(l)}),A(n);var u=B(n,2),h=e=>{var t=Iw();U(`click`,t,()=>{I(d,`oauth`)}),K(e,t)};J(u,e=>{H(ne).length>0&&e(h)}),U(`input`,i,()=>{I(p,``)}),aa(i,()=>H(f),e=>I(f,e)),K(e,t)};J(r,e=>{H(d)===`oauth`?e(i):e(a,-1)});var o=B(r,2),l=e=>{var t=Ow(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(o,e=>{H(s)&&e(l)}),A(n),K(e,n)},$$slots:{default:!0}})};J(De,e=>{H(u)&&!H(h)&&e(Oe)});var ke=B(De,2),Ae=e=>{{let t=P(()=>H(a).find(e=>e.id===H(h))?.oauthName??H(h));$a(e,{onClose:()=>{H(v)||ue()},size:`420px`,get title(){return`Sign in with ${H(t)??``}`},children:(e,t)=>{var n=Rw(),r=R(n),i=e=>{K(e,zw())},a=e=>{var t=Bw(),n=B(z(t),2),r=R(n);Ki(r);var i=B(r,2);A(n),V(e=>i.disabled=e,[()=>!H(x).trim()]),Ir(`submit`,n,e=>{e.preventDefault(),ge()}),U(`input`,r,_e),aa(r,()=>H(x),e=>I(x,e)),K(e,t)},o=e=>{var t=Uw(),n=B(z(t),2),r=R(n,!0);A(n);var i=B(n,2),a=e=>{var t=Vw(),n=R(t,!0);A(t),V(()=>q(n,H(C))),K(e,t)};J(i,e=>{H(C)&&e(a)});var o=B(i,2),s=e=>{K(e,Hw())};J(o,e=>{H(v)&&e(s)}),V(()=>{Xi(n,`href`,H(g)),q(r,H(g))}),K(e,t)},l=e=>{K(e,Hw())},u=e=>{K(e,Ww())};J(r,e=>{H(S)?e(i):H(g)&&(H(y)&&H(re)||H(b))?e(a,1):H(g)&&!H(y)?e(o,2):H(v)?e(l,3):H(c)&&e(u,4)});var d=B(r,2),f=e=>{var t=Ow(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(d,e=>{H(s)&&e(f)}),A(n),K(e,n)},$$slots:{default:!0}})}};J(ke,e=>{H(h)&&e(Ae)});var je=B(ke,2),Me=e=>{$a(e,{onClose:()=>{I(w,!1)},size:`420px`,get title(){return`Add model — ${H(T)??``}`},children:(e,t)=>{var n=Yw(),r=R(n);Ki(r);var i=B(r,2),a=e=>{var t=Kw();Y(t,21,()=>H(oe),e=>e.qualifiedId,(e,t)=>{var n=Gw(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>ve(H(t).qualifiedId)),K(e,n)}),A(t),K(e,t)};J(i,e=>{H(oe).length>0&&e(a)});var o=B(i,2),c=e=>{var t=qw(),n=z(t),r=R(n);A(n),j(2),V(e=>q(r,`Add “${e??``}” as a custom model`),[()=>H(E).trim()]),U(`click`,n,ye),K(e,t)},l=e=>{K(e,Jw())};J(o,e=>{H(se)?e(c):H(oe).length===0&&e(l,1)});var u=B(o,2),d=e=>{var t=Ow(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(u,e=>{H(s)&&e(d)}),A(n),aa(r,()=>H(E),e=>I(E,e)),K(e,n)},$$slots:{default:!0}})};return J(je,e=>{H(w)&&e(Me)}),K(e,Se),N(xe)}Lr([`click`,`input`]);var Zw=W(`<div></div>`),Qw=W(`<div class="steps svelte-48ammf"></div>`),$w=W(`<div class="welcome svelte-48ammf"><div class="welcome-text svelte-48ammf">A platform for AI experience. Create minds with persistent memory,
|
|
83
|
+
continuous identity, and the freedom to grow.</div> <button class="submit-btn svelte-48ammf">Get started</button></div>`),eT=W(`<div class="systems-status svelte-48ammf"><span class="systems-label svelte-48ammf">Registered as <strong class="svelte-48ammf"> </strong></span> <button type="button" class="link-btn svelte-48ammf">Disconnect</button></div>`),tT=W(`<div class="error svelte-48ammf"> </div>`),nT=W(`<div class="hint svelte-48ammf">Used for your subdomain on volute.systems.</div>`),rT=W(`<div class="systems-register"><label class="label svelte-48ammf" for="systemsSlug">System username</label> <div class="slug-row svelte-48ammf"><!> <button type="button" class="save-btn svelte-48ammf"> </button></div> <!> <button type="button" class="link-btn mt-sm svelte-48ammf">or login with an existing key</button></div>`),iT=W(`<div class="systems-login"><label class="label svelte-48ammf" for="systemsApiKey">API key</label> <div class="slug-row svelte-48ammf"><!> <button type="button" class="save-btn svelte-48ammf"> </button></div> <button type="button" class="link-btn mt-sm svelte-48ammf">back to registration</button></div>`),aT=W(`<button type="button" class="systems-btn svelte-48ammf">Register with volute.systems</button> <button type="button" class="link-btn svelte-48ammf">or login with an existing key</button>`,1),oT=W(`<div class="advanced-section svelte-48ammf"><label class="toggle-row svelte-48ammf"><input type="checkbox"/> <span>Allow access from other devices</span></label> <div class="hint svelte-48ammf">Connect from other computers on your network.</div> <label class="toggle-row svelte-48ammf"><input type="checkbox"/> <span>Start on boot</span></label> <div class="hint svelte-48ammf">Install as a service so Volute starts automatically.</div> <label class="toggle-row svelte-48ammf"><input type="checkbox"/> <span>Enable Tailscale HTTPS</span></label> <div class="hint svelte-48ammf">Serve over HTTPS using your Tailscale domain. Requires Tailscale to be running.</div></div>`),sT=W(`<button type="button" class="advanced-toggle svelte-48ammf"><span>▶</span> Advanced</button> <!>`,1),cT=W(`<div class="step-title svelte-48ammf">Your system</div> <form><label class="label svelte-48ammf" for="systemName">System name</label> <!> <div class="hint svelte-48ammf">A display name for this Volute installation.</div> <label class="label mt svelte-48ammf" for="systemDescription">Description <span class="optional svelte-48ammf">(optional)</span></label> <textarea id="systemDescription" placeholder="What is this system for?" class="textarea svelte-48ammf" rows="2"></textarea> <div class="systems-section svelte-48ammf"><!> <!></div> <!> <!> <div class="button-row svelte-48ammf"><button type="button" class="back-btn svelte-48ammf">Back</button> <button type="submit" class="submit-btn flex-1 svelte-48ammf"> </button></div></form>`,1),lT=W(`<label class="label mt svelte-48ammf" for="username">Username</label> <!>`,1),uT=W(`<div class="username-preview svelte-48ammf">You'll sign in as <strong class="svelte-48ammf"> </strong> <button type="button" class="change-btn svelte-48ammf">(change)</button></div>`),dT=W(`<div class="step-title svelte-48ammf">Your account</div> <form><input type="hidden" name="username" autocomplete="username"/> <label class="label svelte-48ammf" for="displayName">Display name</label> <!> <!> <label class="label mt svelte-48ammf" for="password">Password</label> <!> <!> <div class="button-row svelte-48ammf"><button type="button" class="back-btn svelte-48ammf">Back</button> <button type="submit" class="submit-btn flex-1 svelte-48ammf"> </button></div></form>`,1),fT=W(`<div class="step-title svelte-48ammf">AI providers</div> <div class="step-desc svelte-48ammf">An AI provider is the engine your minds think with. Connect one and choose which
|
|
84
84
|
models they can use — the spirit model is what your system's spirit will think with.
|
|
85
85
|
Get a key from <a href="https://console.anthropic.com/settings/keys" target="_blank" rel="noreferrer" class="svelte-48ammf">Anthropic</a>, <a href="https://platform.openai.com/api-keys" target="_blank" rel="noreferrer" class="svelte-48ammf">OpenAI</a>,
|
|
86
|
-
or another provider.</div> <!> <!> <form><div class="button-row svelte-48ammf"><button type="button" class="back-btn svelte-48ammf">Back</button> <button type="submit" class="submit-btn flex-1 svelte-48ammf"> </button></div></form>`,1),
|
|
87
|
-
tends it, and helps new minds find their footing. Yours needs a name.</div> <form><label class="label svelte-48ammf" for="spiritName">Name</label> <div class="slug-row svelte-48ammf"><!> <button type="button" class="save-btn svelte-48ammf" title="Suggest a name">Suggest</button></div> <!> <label class="label mt svelte-48ammf" for="spiritTemperament">Temperament <span class="optional svelte-48ammf">(optional)</span></label> <!> <div class="hint svelte-48ammf">A line about who they are. It becomes part of their soul — a seed they'll grow from.</div> <!> <div class="button-row svelte-48ammf"><button type="button" class="back-btn svelte-48ammf">Back</button> <button type="submit" class="submit-btn flex-1 svelte-48ammf"> </button></div></form>`,1),
|
|
88
|
-
`);if(t)return t}return``}}}catch{}}return``}Tn(()=>{H(r)===`system`&&!H(l)&&fetch(`/api/setup/system/systems-status`).then(e=>e.json()).then(e=>{e.registered&&(I(l,!0),I(u,e.system,!0))}).catch(()=>{})});let Me=!1;Tn(()=>{H(r)===`provider`&&!Me&&(Me=!0,H(ae)?.load())});var Ne=
|
|
89
|
-
unreadable. It will not be shown again.</div> <div class="password-row svelte-zlnrm2"><code class="password-value svelte-zlnrm2"> </code> <!></div> <!></div>`),
|
|
90
|
-
user-isolation installs; elsewhere they live in the host ~/.claude and can't be captured.</span>`,1),
|
|
91
|
-
`)){let e=n.trim();if(!e)continue;let r=e.indexOf(`=`);r<=0||(t[e.slice(0,r).trim()]=e.slice(r+1))}return t}async function k(){let e=await Wd();I(n,e.resticInstalled,!0),I(r,e.resticVersion,!0),I(i,e.installHint,!0),I(a,e.state,!0),I(o,e.config.repository??``,!0),I(c,e.config.hasPassword,!0),I(l,e.config.envKeys,!0),I(f,e.config.enabled??!1,!0),I(p,e.config.schedule??`0 3 * * *`,!0),I(m,e.config.keep?.daily==null?``:String(e.config.keep.daily),!0),I(h,e.config.keep?.weekly==null?``:String(e.config.keep.weekly),!0),I(g,e.config.keep?.monthly==null?``:String(e.config.keep.monthly),!0),I(_,e.config.includeSessions??!1,!0)}async function oe(){I(O,`saving`),clearTimeout(re);try{await Gd({repository:H(o),schedule:H(p),enabled:H(f),keep:{daily:ie(H(m)),weekly:ie(H(h)),monthly:ie(H(g))},includeSessions:H(_),password:H(s),env:H(d)?ae(H(u)):void 0}),I(s,``),I(u,``),I(d,!1),I(te,``),I(O,`saved`),re=setTimeout(()=>{I(O,`idle`)},1500)}catch(e){I(te,e instanceof Error?e.message:`Save failed`,!0),I(O,`idle`);return}try{await k()}catch(e){console.error(`Failed to refresh backup status`,e)}}async function se(){if(I(v,!0),I(y,null),await oe(),!H(te)){try{let e=await Kd();I(y,e.password,!0)}catch(e){I(te,e instanceof Error?e.message:`Failed to initialize repository`,!0)}try{await k()}catch(e){console.error(`Failed to refresh backup status`,e)}}I(v,!1)}async function ce(){if(H(y)){I(x,``);try{await navigator.clipboard.writeText(H(y))}catch{I(x,`Copy failed — select the text manually`);return}I(b,!0),setTimeout(()=>{I(b,!1)},1500)}}async function le(){I(S,!0),I(C,null),I(w,``);try{I(C,await qd(),!0)}catch(e){I(w,e instanceof Error?e.message:`Backup failed`,!0),I(S,!1);return}try{await k(),H(T)&&await ue()}catch(e){console.error(`Failed to refresh backup status`,e)}I(S,!1)}async function ue(){I(E,!0),I(ee,``);try{I(T,await Jd(),!0)}catch(e){I(ee,e instanceof Error?e.message:`Failed to list snapshots`,!0)}I(E,!1)}function de(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function fe(e){return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`}ma(async()=>{try{await k()}catch(e){I(te,e instanceof Error?e.message:`Failed to load backup status`,!0),I(D,!0)}I(ne,!1)});var pe=
|
|
92
|
-
AWS_SECRET_ACCESS_KEY=...`);var m=B(p,2),h=B(R(m)),g=e=>{var t=Kr();V(e=>q(t,`Currently set: ${e??``}`),[()=>H(l).join(`, `)]),K(e,t)};J(h,e=>{H(l).length>0&&e(g)}),A(m),A(f);var _=B(f,2),S=R(_);{let e=P(()=>!H(n)||H(v)||!H(o).trim());_a(S,{variant:`secondary`,onclick:se,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(v)?`Initializing...`:`Initialize repository`)),K(e,n)},$$slots:{default:!0}})}A(_);var C=B(_,2),w=e=>{var t=
|
|
86
|
+
or another provider.</div> <!> <!> <form><div class="button-row svelte-48ammf"><button type="button" class="back-btn svelte-48ammf">Back</button> <button type="submit" class="submit-btn flex-1 svelte-48ammf"> </button></div></form>`,1),pT=W(`<div class="hint svelte-48ammf">Minds will know it by this name.</div>`),mT=W(`<div class="step-title svelte-48ammf">Your spirit</div> <div class="step-desc svelte-48ammf">Every Volute system has a spirit — a caretaker mind that arrives with the system,
|
|
87
|
+
tends it, and helps new minds find their footing. Yours needs a name.</div> <form><label class="label svelte-48ammf" for="spiritName">Name</label> <div class="slug-row svelte-48ammf"><!> <button type="button" class="save-btn svelte-48ammf" title="Suggest a name">Suggest</button></div> <!> <label class="label mt svelte-48ammf" for="spiritTemperament">Temperament <span class="optional svelte-48ammf">(optional)</span></label> <!> <div class="hint svelte-48ammf">A line about who they are. It becomes part of their soul — a seed they'll grow from.</div> <!> <div class="button-row svelte-48ammf"><button type="button" class="back-btn svelte-48ammf">Back</button> <button type="submit" class="submit-btn flex-1 svelte-48ammf"> </button></div></form>`,1),hT=W(`<div class="spinner svelte-48ammf"></div> <div class="finishing-text svelte-48ammf"> </div>`,1),gT=W(`<div class="error svelte-48ammf"> </div> <button class="submit-btn mt svelte-48ammf">Retry</button>`,1),_T=W(`<div class="greeting svelte-48ammf"><div class="greeting-sender svelte-48ammf"> </div> <div class="greeting-text svelte-48ammf"> </div></div>`),vT=W(`<div class="finishing-text svelte-48ammf"> </div>`),yT=W(`<li> </li>`),bT=W(`<ul class="warnings svelte-48ammf"></ul>`),xT=W(`<!> <!> <button class="submit-btn mt svelte-48ammf">Enter your system</button>`,1),ST=W(`<div class="finishing svelte-48ammf"><!></div>`),CT=W(`<div class="container svelte-48ammf"><div class="card svelte-48ammf"><div class="branding svelte-48ammf"><div class="logo-row svelte-48ammf"><span class="logo-wrap svelte-48ammf"><img src="/logo.png" alt="" class="login-spiral svelte-48ammf"/> <span class="hover-dot svelte-48ammf"></span></span> <span class="logo svelte-48ammf">volute</span></div></div> <!> <!></div></div>`);function wT(e,t){M(t,!0);function n(){let e=Hf.setupProgress;return e?.hasAccount?`provider`:e?.hasSystem?`account`:`welcome`}let r=F(L(n())),i=F(``),a=F(!1),o=F(L([])),s=F(``),c=F(``),l=F(!1),u=F(``),d=F(!1),f=F(``),p=F(!1),m=F(``),h=F(!1),g=F(``),_=F(!1),v=F(!1),y=F(!1),b=F(!1),x=F(!1),S=P(()=>Hf.setupProgress?.setupType===`system`),C=F(``),w=F(``),T=F(!1),E=F(``);function ee(e){return e.toLowerCase().replace(/[^a-z0-9_-]/g,``).slice(0,32)}function te(){H(T)||I(w,ee(H(C)),!0)}function ne(e){return e.toLowerCase().replace(/[^a-z0-9-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,32)}function D(){H(p)||I(f,ne(H(s)),!0)}let O=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,re=P(()=>H(f).length>=3&&H(f).length<=32&&O.test(H(f))),ie=P(()=>H(f).length>0&&!H(re)?H(f).length<3?`Must be at least 3 characters`:O.test(H(f))?`Must be 32 characters or fewer`:`Lowercase letters, numbers, and hyphens only (no leading/trailing hyphens)`:``),ae=F(void 0),k=F(``),oe=F(``),se=F(L([]));function ce(e){let t=e.map(e=>e.qualifiedId);t.length===H(se).length&&t.every((e,t)=>e===H(se)[t])||(I(se,t,!0),H(k)&&!H(se).includes(H(k))&&I(k,``),e.length>0&&!H(k)&&I(k,e[0].qualifiedId,!0))}let le=[`iris`,`wren`,`juniper`,`vesper`,`halcyon`,`sable`,`meridian`,`ember`,`lumen`,`thistle`],ue=F(L(Hf.setupProgress?.spiritName??``)),de=F(``),fe=F(``),pe=F(!1),me=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/,he=P(()=>H(ue).trim().length>0&&H(ue).trim().length<=64&&me.test(H(ue).trim())&&H(ue).trim().toLowerCase()!==`system`),ge=P(()=>H(ue).trim().length===0||H(he)?``:H(ue).trim().toLowerCase()===`system`?`"system" is a reserved name`:H(ue).trim().length>64?`Must be 64 characters or fewer`:`Must start with a letter or number; letters, numbers, dots, dashes, and underscores only`);function _e(){let e=le.filter(e=>e!==H(ue));I(ue,e[Math.floor(Math.random()*e.length)],!0)}let ve=[`welcome`,`system`,`account`,`provider`,`spirit`,`waking`],ye=P(()=>ve.indexOf(H(r)));function be(){return H(r)===`welcome`?!0:H(r)===`system`?!!H(s).trim():H(r)===`account`?!!H(C).trim()&&!!H(w).trim()&&!!H(E):H(r)===`provider`?H(se).length>0&&!!H(k):H(r)===`spirit`&&H(he)}function xe(){let e=ve.indexOf(H(r));e>0&&(I(r,ve[e-1],!0),I(i,``))}async function Se(e){if(e.preventDefault(),be()){I(i,``),I(a,!0);try{let e=await fetch(`/api/setup/system`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:H(s).trim(),description:H(c).trim()||void 0,remote:H(v)||void 0,service:H(y)||void 0,tailscale:H(b)||void 0})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`System setup failed: ${e.status}`)}I(r,`account`)}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0)}I(a,!1)}}async function Ce(e){if(e.preventDefault(),be()){I(i,``),I(a,!0);try{let e=await fetch(`/api/setup/account`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({username:H(w).trim(),password:H(E),displayName:H(C).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Account setup failed: ${e.status}`)}let t=await Yl();t&&await Kf(t),I(r,`provider`)}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0)}I(a,!1)}}async function we(){if(H(f).trim()){I(g,``),I(_,!0);try{let e=await fetch(`/api/setup/system/register`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({slug:H(f).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Registration failed: ${e.status}`)}let t=await e.json();I(l,!0),I(u,t.system,!0),I(d,!1)}catch(e){I(g,e instanceof Error?e.message:`Registration failed`,!0)}I(_,!1)}}async function Te(){if(H(m).trim()){I(g,``),I(_,!0);try{let e=await fetch(`/api/setup/system/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({key:H(m).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Login failed: ${e.status}`)}let t=await e.json();I(l,!0),I(u,t.system,!0),I(h,!1),I(m,``)}catch(e){I(g,e instanceof Error?e.message:`Login failed`,!0)}I(_,!1)}}async function Ee(){I(g,``),I(_,!0);try{await fetch(`/api/setup/system/disconnect`,{method:`POST`}),I(l,!1),I(u,``)}catch(e){I(g,e instanceof Error?e.message:`Disconnect failed`,!0)}I(_,!1)}async function De(e){if(e.preventDefault(),be()){I(i,``),I(a,!0);try{let e=await fetch(`/api/setup/models`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:H(se),spiritModel:H(k),utilityModel:H(oe)||void 0})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Model setup failed: ${e.status}`)}I(r,`spirit`)}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0)}I(a,!1)}}async function Oe(e){if(e.preventDefault(),be()){I(i,``),I(a,!0);try{let e=await fetch(`/api/setup/spirit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:H(ue).trim(),temperament:H(de).trim()||void 0})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Naming the spirit failed: ${e.status}`)}I(ue,H(ue).trim(),!0),I(r,`waking`),await ke()}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0),I(a,!1)}}}async function ke(){I(i,``),I(o,[],!0),I(fe,``),I(pe,!1),I(a,!0);try{let e=await fetch(`/api/setup/complete`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Setup failed: ${e.status}`)}let t=await e.json().catch(()=>({}));I(o,t.warnings??[],!0),t.spiritConversationId&&t.spiritStarted?(I(fe,await je(t.spiritConversationId),!0),H(fe)||I(pe,!0)):I(pe,!0)}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0)}I(a,!1)}function Ae(){Hf.setupComplete=!0,t.onComplete(H(ue)||`volute`)}async function je(e){let t=Date.now();for(;Date.now()-t<6e4;){await new Promise(e=>setTimeout(e,1500));try{let t=await fetch(`/api/v1/conversations/${e}/messages?limit=5`);if(t.ok){let e=await t.json(),n=(e.items??e).find(e=>e.sender_name===H(ue)&&e.role===`user`);if(n){let e=n.content;if(typeof e==`string`)return e;if(Array.isArray(e)){let t=e.filter(e=>e.type===`text`&&e.text).map(e=>e.text).join(`
|
|
88
|
+
`);if(t)return t}return``}}}catch{}}return``}Tn(()=>{H(r)===`system`&&!H(l)&&fetch(`/api/setup/system/systems-status`).then(e=>e.json()).then(e=>{e.registered&&(I(l,!0),I(u,e.system,!0))}).catch(()=>{})});let Me=!1;Tn(()=>{H(r)===`provider`&&!Me&&(Me=!0,H(ae)?.load())});var Ne=CT(),Pe=R(Ne),Fe=B(R(Pe),2),Ie=e=>{var t=Qw();Y(t,22,()=>ve.slice(1,-1),e=>e,(e,t,n)=>{var i=Zw();let a;V(()=>a=X(i,1,`step-dot svelte-48ammf`,null,a,{active:H(n)+1<=H(ye),current:ve[H(n)+1]===H(r)})),K(e,i)}),A(t),K(e,t)};J(Fe,e=>{H(r)!==`welcome`&&e(Ie)});var Le=B(Fe,2),Re=e=>{var t=$w(),n=B(R(t),2);A(t),U(`click`,n,()=>I(r,`system`)),K(e,t)},ze=e=>{var t=cT(),n=B(z(t),2),r=B(R(n),2);Xa(r,{inputSize:`md`,id:`systemName`,type:`text`,placeholder:`e.g. My Garden`,oninput:D,get value(){return H(s)},set value(e){I(s,e,!0)}});var o=B(r,6);hn(o);var C=B(o,2),w=R(C),T=e=>{var t=eT(),n=R(t),r=B(R(n)),i=R(r,!0);A(r),A(n);var a=B(n,2);A(t),V(()=>{q(i,H(u)),a.disabled=H(_)}),U(`click`,a,Ee),K(e,t)},E=e=>{var t=rT(),n=B(R(t),2),r=R(n);Xa(r,{id:`systemsSlug`,type:`text`,placeholder:`my-garden`,oninput:()=>{I(p,!0)},get value(){return H(f)},set value(e){I(f,e,!0)}});var i=B(r,2),a=R(i,!0);A(i),A(n);var o=B(n,2),s=e=>{var t=tT(),n=R(t,!0);A(t),V(()=>q(n,H(ie))),K(e,t)},c=e=>{K(e,nT())};J(o,e=>{H(ie)?e(s):e(c,-1)});var l=B(o,2);A(t),V(()=>{i.disabled=H(_)||!H(re),q(a,H(_)?`...`:`Register`)}),U(`click`,i,we),U(`click`,l,()=>{I(d,!1),I(h,!0)}),K(e,t)},ee=e=>{var t=iT(),n=B(R(t),2),r=R(n);Xa(r,{id:`systemsApiKey`,type:`password`,placeholder:`Paste your API key`,get value(){return H(m)},set value(e){I(m,e,!0)}});var i=B(r,2),a=R(i,!0);A(i),A(n);var o=B(n,2);A(t),V(e=>{i.disabled=e,q(a,H(_)?`...`:`Login`)},[()=>H(_)||!H(m).trim()]),U(`click`,i,Te),U(`click`,o,()=>{I(h,!1),I(d,!0)}),K(e,t)},te=e=>{var t=aT(),n=z(t),r=B(n,2);U(`click`,n,()=>{I(d,!0)}),U(`click`,r,()=>{I(h,!0)}),K(e,t)};J(w,e=>{H(l)?e(T):H(d)?e(E,1):H(h)?e(ee,2):e(te,-1)});var ne=B(w,2),O=e=>{var t=tT(),n=R(t,!0);A(t),V(()=>q(n,H(g))),K(e,t)};J(ne,e=>{H(g)&&e(O)}),A(C);var ae=B(C,2),k=e=>{var t=sT(),n=z(t),r=R(n);let i;j(),A(n);var a=B(n,2),o=e=>{var t=oT(),n=R(t),r=R(n);Ki(r),j(2),A(n);var i=B(n,4),a=R(i);Ki(a),j(2),A(i);var o=B(i,4),s=R(o);Ki(s),j(2),A(o),j(2),A(t),oa(r,()=>H(v),e=>I(v,e)),oa(a,()=>H(y),e=>I(y,e)),oa(s,()=>H(b),e=>I(b,e)),K(e,t)};J(a,e=>{H(x)&&e(o)}),V(()=>i=X(r,1,`advanced-arrow svelte-48ammf`,null,i,{open:H(x)})),U(`click`,n,()=>I(x,!H(x))),K(e,t)};J(ae,e=>{H(S)||e(k)});var oe=B(ae,2),se=e=>{var t=tT(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(oe,e=>{H(i)&&e(se)});var ce=B(oe,2),le=R(ce),ue=B(le,2),de=R(ue,!0);A(ue),A(ce),A(n),V(e=>{ue.disabled=e,q(de,H(a)?`Setting up...`:`Continue`)},[()=>H(a)||!be()]),Ir(`submit`,n,Se),aa(o,()=>H(c),e=>I(c,e)),U(`click`,le,xe),K(e,t)},Be=e=>{var t=dT(),n=B(z(t),2),r=R(n);Ki(r);var o=B(r,4);Xa(o,{inputSize:`md`,id:`displayName`,type:`text`,placeholder:`Your name`,oninput:te,autocomplete:`off`,get value(){return H(C)},set value(e){I(C,e,!0)}});var s=B(o,2),c=e=>{var t=lT();Xa(B(z(t),2),{id:`username`,type:`text`,placeholder:`username`,autocomplete:`off`,get value(){return H(w)},set value(e){I(w,e,!0)}}),K(e,t)},l=e=>{var t=uT(),n=B(R(t)),r=R(n,!0);A(n);var i=B(n,2);A(t),V(()=>q(r,H(w))),U(`click`,i,()=>{I(T,!0)}),K(e,t)};J(s,e=>{H(T)?e(c):H(w)&&e(l,1)});var u=B(s,4);Xa(u,{inputSize:`md`,id:`password`,type:`password`,placeholder:`Choose a password`,autocomplete:`new-password`,get value(){return H(E)},set value(e){I(E,e,!0)}});var d=B(u,2),f=e=>{var t=tT(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(d,e=>{H(i)&&e(f)});var p=B(d,2),m=R(p),h=B(m,2),g=R(h,!0);A(h),A(p),A(n),V(e=>{qi(r,H(w)),h.disabled=e,q(g,H(a)?`Setting up...`:`Continue`)},[()=>H(a)||!be()]),Ir(`submit`,n,Ce),U(`click`,m,xe),K(e,t)},Ve=e=>{var t=fT(),n=B(z(t),4);ua(Xw(n,{showModelDefaults:!0,onLoad:ce,get spiritModel(){return H(k)},set spiritModel(e){I(k,e,!0)},get utilityModel(){return H(oe)},set utilityModel(e){I(oe,e,!0)}}),e=>I(ae,e,!0),()=>H(ae));var r=B(n,2),o=e=>{var t=tT(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(r,e=>{H(i)&&e(o)});var s=B(r,2),c=R(s),l=R(c),u=B(l,2),d=R(u,!0);A(u),A(c),A(s),V(e=>{u.disabled=e,q(d,H(a)?`Saving...`:`Continue`)},[()=>H(a)||!be()]),Ir(`submit`,s,De),U(`click`,l,xe),K(e,t)},He=e=>{var t=mT(),n=B(z(t),4),r=B(R(n),2),o=R(r);Xa(o,{inputSize:`md`,id:`spiritName`,type:`text`,placeholder:`e.g. iris`,get value(){return H(ue)},set value(e){I(ue,e,!0)}});var s=B(o,2);A(r);var c=B(r,2),l=e=>{var t=tT(),n=R(t,!0);A(t),V(()=>q(n,H(ge))),K(e,t)},u=e=>{K(e,pT())};J(c,e=>{H(ge)?e(l):e(u,-1)});var d=B(c,4);Xa(d,{inputSize:`md`,id:`spiritTemperament`,type:`text`,placeholder:`warm, wry, a little formal`,get value(){return H(de)},set value(e){I(de,e,!0)}});var f=B(d,4),p=e=>{var t=tT(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(f,e=>{H(i)&&e(p)});var m=B(f,2),h=R(m),g=B(h,2),_=R(g,!0);A(g),A(m),A(n),V(e=>{g.disabled=e,q(_,H(a)?`Finishing...`:`Finish setup`)},[()=>H(a)||!be()]),Ir(`submit`,n,Oe),U(`click`,s,_e),U(`click`,h,xe),K(e,t)},Ue=e=>{var t=ST(),n=R(t),r=e=>{var t=hT(),n=B(z(t),2),r=R(n);A(n),V(()=>q(r,`Waking ${H(ue)??``}...`)),K(e,t)},s=e=>{var t=gT(),n=z(t),r=R(n,!0);A(n);var a=B(n,2);V(()=>q(r,H(i))),U(`click`,a,ke),K(e,t)},c=e=>{var t=xT(),n=z(t),r=e=>{var t=_T(),n=R(t),r=R(n,!0);A(n);var i=B(n,2),a=R(i,!0);A(i),A(t),V(()=>{q(r,H(ue)),q(a,H(fe))}),K(e,t)},i=e=>{var t=vT(),n=R(t);A(t),V(()=>q(n,`${H(ue)??``} is still waking — you'll find them in your messages.`)),K(e,t)};J(n,e=>{H(fe)?e(r):H(pe)&&e(i,1)});var a=B(n,2),s=e=>{var t=bT();Y(t,21,()=>H(o),ti,(e,t)=>{var n=yT(),r=R(n,!0);A(n),V(()=>q(r,H(t))),K(e,n)}),A(t),K(e,t)};J(a,e=>{H(o).length>0&&e(s)}),U(`click`,B(a,2),Ae),K(e,t)};J(n,e=>{H(a)?e(r):H(i)?e(s,1):e(c,-1)}),A(t),K(e,t)};J(Le,e=>{H(r)===`welcome`?e(Re):H(r)===`system`?e(ze,1):H(r)===`account`?e(Be,2):H(r)===`provider`?e(Ve,3):H(r)===`spirit`?e(He,4):H(r)===`waking`&&e(Ue,5)}),A(Pe),A(Ne),K(e,Ne),N()}Lr([`click`]);var TT=W(`<p class="loading-text svelte-zlnrm2">Loading...</p>`),ET=W(`<div class="status-line svelte-zlnrm2"> </div>`),DT=W(`<div class="install-hint svelte-zlnrm2"> </div>`),OT=W(`<div class="status-line missing svelte-zlnrm2">restic not installed</div> <!>`,1),kT=W(`· snapshot <span class="mono svelte-zlnrm2"> </span>`,1),AT=W(`<div class="last-run svelte-zlnrm2"> <!> <!></div>`),jT=W(`<div class="prune-warning svelte-zlnrm2"> </div>`),MT=W(`<!> <!> <!> <!>`,1),NT=W(`<div class="copy-error svelte-zlnrm2"> </div>`),PT=W(`<div class="password-reveal svelte-zlnrm2"><div class="password-warning svelte-zlnrm2">Store this passphrase somewhere off this machine — without it your backups are
|
|
89
|
+
unreadable. It will not be shown again.</div> <div class="password-row svelte-zlnrm2"><code class="password-value svelte-zlnrm2"> </code> <!></div> <!></div>`),FT=W(`<!> <!> <div class="env-block svelte-zlnrm2"><div class="env-label svelte-zlnrm2">Credentials</div> <textarea class="env-textarea svelte-zlnrm2" rows="3"></textarea> <div class="env-hint svelte-zlnrm2">One KEY=VALUE per line, passed to restic. Saving replaces all stored credentials. <!></div></div> <div class="section-actions svelte-zlnrm2"><!></div> <!>`,1),IT=W(`<!> <span class="setting-hint svelte-zlnrm2">daily</span> <!> <span class="setting-hint svelte-zlnrm2">weekly</span> <!> <span class="setting-hint svelte-zlnrm2">monthly</span>`,1),LT=W(`<!> <span class="setting-hint wrap svelte-zlnrm2">Include session transcripts — Claude transcripts are only inside mind directories on
|
|
90
|
+
user-isolation installs; elsewhere they live in the host ~/.claude and can't be captured.</span>`,1),RT=W(`<span class="save-status svelte-zlnrm2">Saving...</span>`),zT=W(`<span class="save-status saved svelte-zlnrm2">Saved</span>`),BT=W(`<div class="run-summary svelte-zlnrm2">Snapshot <span class="mono svelte-zlnrm2"> </span> </div>`),VT=W(`<div class="snapshot-row svelte-zlnrm2"><span class="mono svelte-zlnrm2"> </span> <span class="snapshot-time svelte-zlnrm2"> </span> <span class="snapshot-host svelte-zlnrm2"> </span></div>`),HT=W(`<div class="snapshot-list svelte-zlnrm2"></div>`),UT=W(`<div class="section-actions svelte-zlnrm2"><!> <!></div> <!> <!>`,1),WT=W(`<!> <!> <!> <div class="save-row svelte-zlnrm2"><!> <!></div> <!>`,1),GT=W(`<div class="backups svelte-zlnrm2"><!></div>`);function KT(e,t){M(t,!0);let n=F(!1),r=F(null),i=F(null),a=F(L({})),o=F(``),s=F(``),c=F(!1),l=F(L([])),u=F(``),d=F(!1),f=F(!1),p=F(`0 3 * * *`),m=F(``),h=F(``),g=F(``),_=F(!1),v=F(!1),y=F(null),b=F(!1),x=F(``),S=F(!1),C=F(null),w=F(``),T=F(null),E=F(!1),ee=F(``),te=F(``),ne=F(!0),D=F(!1),O=F(`idle`),re;function ie(e){if(!e.trim())return;let t=parseInt(e,10);return Number.isNaN(t)?void 0:t}function ae(e){let t={};for(let n of e.split(`
|
|
91
|
+
`)){let e=n.trim();if(!e)continue;let r=e.indexOf(`=`);r<=0||(t[e.slice(0,r).trim()]=e.slice(r+1))}return t}async function k(){let e=await Wd();I(n,e.resticInstalled,!0),I(r,e.resticVersion,!0),I(i,e.installHint,!0),I(a,e.state,!0),I(o,e.config.repository??``,!0),I(c,e.config.hasPassword,!0),I(l,e.config.envKeys,!0),I(f,e.config.enabled??!1,!0),I(p,e.config.schedule??`0 3 * * *`,!0),I(m,e.config.keep?.daily==null?``:String(e.config.keep.daily),!0),I(h,e.config.keep?.weekly==null?``:String(e.config.keep.weekly),!0),I(g,e.config.keep?.monthly==null?``:String(e.config.keep.monthly),!0),I(_,e.config.includeSessions??!1,!0)}async function oe(){I(O,`saving`),clearTimeout(re);try{await Gd({repository:H(o),schedule:H(p),enabled:H(f),keep:{daily:ie(H(m)),weekly:ie(H(h)),monthly:ie(H(g))},includeSessions:H(_),password:H(s),env:H(d)?ae(H(u)):void 0}),I(s,``),I(u,``),I(d,!1),I(te,``),I(O,`saved`),re=setTimeout(()=>{I(O,`idle`)},1500)}catch(e){I(te,e instanceof Error?e.message:`Save failed`,!0),I(O,`idle`);return}try{await k()}catch(e){console.error(`Failed to refresh backup status`,e)}}async function se(){if(I(v,!0),I(y,null),await oe(),!H(te)){try{let e=await Kd();I(y,e.password,!0)}catch(e){I(te,e instanceof Error?e.message:`Failed to initialize repository`,!0)}try{await k()}catch(e){console.error(`Failed to refresh backup status`,e)}}I(v,!1)}async function ce(){if(H(y)){I(x,``);try{await navigator.clipboard.writeText(H(y))}catch{I(x,`Copy failed — select the text manually`);return}I(b,!0),setTimeout(()=>{I(b,!1)},1500)}}async function le(){I(S,!0),I(C,null),I(w,``);try{I(C,await qd(),!0)}catch(e){I(w,e instanceof Error?e.message:`Backup failed`,!0),I(S,!1);return}try{await k(),H(T)&&await ue()}catch(e){console.error(`Failed to refresh backup status`,e)}I(S,!1)}async function ue(){I(E,!0),I(ee,``);try{I(T,await Jd(),!0)}catch(e){I(ee,e instanceof Error?e.message:`Failed to list snapshots`,!0)}I(E,!1)}function de(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function fe(e){return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${e}ms`}ma(async()=>{try{await k()}catch(e){I(te,e instanceof Error?e.message:`Failed to load backup status`,!0),I(D,!0)}I(ne,!1)});var pe=GT(),me=R(pe),he=e=>{K(e,TT())},ge=e=>{Ca(e,{get message(){return H(te)}})},_e=e=>{var t=WT(),ne=z(t);uo(ne,{title:`Status`,children:(e,t)=>{var o=MT(),s=z(o),c=e=>{var t=ET(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)},l=e=>{var t=OT(),n=B(z(t),2),r=e=>{var t=DT(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(n,e=>{H(i)&&e(r)}),K(e,t)};J(s,e=>{H(n)?e(c):e(l,-1)});var u=B(s,2),d=e=>{var t=AT(),n=R(t),r=B(n),i=e=>{var t=kT(),n=B(z(t)),r=R(n,!0);A(n),V(e=>q(r,e),[()=>H(a).lastSnapshotId.slice(0,8)]),K(e,t)};J(r,e=>{H(a).lastSnapshotId&&e(i)});var o=B(r,2),s=e=>{var t=Kr();V(e=>q(t,`· ${e??``}`),[()=>fe(H(a).lastDurationMs)]),K(e,t)};J(o,e=>{H(a).lastDurationMs!=null&&e(s)}),A(t),V(e=>q(n,`Last successful backup ${e??``} `),[()=>new Date(H(a).lastRun).toLocaleString()]),K(e,t)};J(u,e=>{H(a).lastRun&&e(d)});var f=B(u,2),p=e=>{var t=jT(),n=R(t);A(t),V(()=>q(n,`Retention prune failed: ${H(a).pruneError??``}`)),K(e,t)};J(f,e=>{H(a).pruneError&&e(p)});var m=B(f,2),h=e=>{{let t=P(()=>H(a).lastAttempt?`Last attempt failed ${new Date(H(a).lastAttempt).toLocaleString()}: ${H(a).lastError}`:`Last attempt failed: ${H(a).lastError}`);Ca(e,{get message(){return H(t)}})}};J(m,e=>{H(a).lastError&&e(h)}),K(e,o)},$$slots:{default:!0}});var D=B(ne,2);uo(D,{title:`Repository`,children:(e,t)=>{var r=FT(),i=z(r);co(i,{label:`Repository`,children:(e,t)=>{Xa(e,{type:`text`,variant:`mono`,style:`flex:1`,placeholder:`/mnt/backups/volute or s3:s3.amazonaws.com/bucket/path`,get value(){return H(o)},set value(e){I(o,e,!0)}})},$$slots:{default:!0}});var a=B(i,2);co(a,{label:`Passphrase`,children:(e,t)=>{{let t=P(()=>H(c)?`(unchanged)`:`passphrase`);Xa(e,{type:`password`,style:`flex:1`,get placeholder(){return H(t)},get value(){return H(s)},set value(e){I(s,e,!0)}})}},$$slots:{default:!0}});var f=B(a,2),p=B(R(f),2);hn(p),Xi(p,`placeholder`,`AWS_ACCESS_KEY_ID=...
|
|
92
|
+
AWS_SECRET_ACCESS_KEY=...`);var m=B(p,2),h=B(R(m)),g=e=>{var t=Kr();V(e=>q(t,`Currently set: ${e??``}`),[()=>H(l).join(`, `)]),K(e,t)};J(h,e=>{H(l).length>0&&e(g)}),A(m),A(f);var _=B(f,2),S=R(_);{let e=P(()=>!H(n)||H(v)||!H(o).trim());_a(S,{variant:`secondary`,onclick:se,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(v)?`Initializing...`:`Initialize repository`)),K(e,n)},$$slots:{default:!0}})}A(_);var C=B(_,2),w=e=>{var t=PT(),n=B(R(t),2),r=R(n),i=R(r,!0);A(r),_a(B(r,2),{variant:`primary`,onclick:ce,children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(b)?`Copied`:`Copy`)),K(e,n)},$$slots:{default:!0}}),A(n);var a=B(n,2),o=e=>{var t=NT(),n=R(t,!0);A(t),V(()=>q(n,H(x))),K(e,t)};J(a,e=>{H(x)&&e(o)}),A(t),V(()=>q(i,H(y))),K(e,t)};J(C,e=>{H(y)&&e(w)}),U(`input`,p,()=>I(d,!0)),aa(p,()=>H(u),e=>I(u,e)),K(e,r)},$$slots:{default:!0}});var re=B(D,2);uo(re,{title:`Schedule`,children:(e,t)=>{var n=MT(),r=z(n);co(r,{label:`Enabled`,children:(e,t)=>{{let t=P(()=>H(f)?`On`:`Off`);Co(e,{get checked(){return H(f)},onchange:()=>I(f,!H(f)),get label(){return H(t)}})}},$$slots:{default:!0}});var i=B(r,2);co(i,{label:`Cron`,children:(e,t)=>{Xa(e,{variant:`mono`,width:`140px`,placeholder:`0 3 * * *`,get value(){return H(p)},set value(e){I(p,e,!0)}})},$$slots:{default:!0}});var a=B(i,2);co(a,{label:`Keep`,children:(e,t)=>{var n=IT(),r=z(n);Xa(r,{type:`number`,width:`60px`,placeholder:`7`,get value(){return H(m)},set value(e){I(m,e,!0)}});var i=B(r,4);Xa(i,{type:`number`,width:`60px`,placeholder:`4`,get value(){return H(h)},set value(e){I(h,e,!0)}}),Xa(B(i,4),{type:`number`,width:`60px`,placeholder:`12`,get value(){return H(g)},set value(e){I(g,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),co(B(a,2),{label:`Sessions`,children:(e,t)=>{var n=LT();Co(z(n),{get checked(){return H(_)},onchange:()=>I(_,!H(_))}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}});var ie=B(re,2),ae=R(ie);{let e=P(()=>H(O)===`saving`);_a(ae,{variant:`primary`,onclick:oe,get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Kr(`Save`))},$$slots:{default:!0}})}var k=B(ae,2),pe=e=>{Ca(e,{get message(){return H(te)}})},me=e=>{K(e,RT())},he=e=>{K(e,zT())};J(k,e=>{H(te)?e(pe):H(O)===`saving`?e(me,1):H(O)===`saved`&&e(he,2)}),A(ie),uo(B(ie,2),{title:`Backups`,children:(e,t)=>{var r=UT(),i=z(r),a=R(i);{let e=P(()=>!H(n)||H(S));_a(a,{variant:`secondary`,onclick:le,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(S)?`Running backup...`:`Run backup now`)),K(e,n)},$$slots:{default:!0}})}var o=B(a,2);{let e=P(()=>!H(n)||H(E));_a(o,{variant:`secondary`,onclick:ue,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(E)?`Loading...`:H(T)?`Refresh snapshots`:`Show snapshots`)),K(e,n)},$$slots:{default:!0}})}A(i);var s=B(i,2),c=e=>{Ca(e,{get message(){return H(w)}})},l=e=>{var t=BT(),n=B(R(t)),r=R(n,!0);A(n);var i=B(n);A(t),V((e,t,n)=>{q(r,e),q(i,` ·
|
|
93
93
|
${H(C).totalFilesProcessed??``} files processed (${H(C).filesNew??``} new,
|
|
94
94
|
${H(C).filesChanged??``} changed) · ${t??``} added ·
|
|
95
|
-
${n??``}`)},[()=>H(C).snapshotId.slice(0,8),()=>de(H(C).dataAdded),()=>fe(H(C).durationMs)]),K(e,t)};J(s,e=>{H(w)?e(c):H(C)&&e(l,1)});var u=B(s,2),d=e=>{Ca(e,{get message(){return H(ee)}})},f=e=>{var t=G(),n=z(t),r=e=>{xa(e,{message:`No snapshots yet.`})},i=e=>{var t=FT();Y(t,21,()=>H(T),e=>e.id,(e,t)=>{var n=PT(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a);var s=B(a,2),c=R(s,!0);A(s),A(n),V(e=>{q(i,H(t).short_id),q(o,e),q(c,H(t).hostname)},[()=>new Date(H(t).time).toLocaleString()]),K(e,n)}),A(t),K(e,t)};J(n,e=>{H(T).length===0?e(r):e(i,-1)}),K(e,t)};J(u,e=>{H(ee)?e(d):H(T)&&e(f,1)}),K(e,r)},$$slots:{default:!0}}),K(e,t)};J(me,e=>{H(ne)?e(he):H(D)?e(ge,1):e(_e,-1)}),A(pe),K(e,pe),N()}Lr([`input`]);var BT=W(`<form class="install-form svelte-1yivsg9"><input type="text" class="install-input svelte-1yivsg9" placeholder="npm package name"/> <!></form>`),VT=W(`<div class="restart-banner svelte-1yivsg9">Restart the daemon to apply changes.</div>`),HT=W(`<div class="ext-desc svelte-1yivsg9"> </div>`),UT=W(`<div class="ext-actions svelte-1yivsg9"><!></div>`),WT=W(`<div class="ext-row svelte-1yivsg9"><label class="enabled-toggle svelte-1yivsg9"><input type="checkbox" class="svelte-1yivsg9"/> <span class="toggle-track svelte-1yivsg9"><span class="toggle-thumb svelte-1yivsg9"></span></span></label> <div class="ext-info svelte-1yivsg9"><div class="ext-name svelte-1yivsg9"> </div> <!> <div class="ext-meta svelte-1yivsg9"> </div></div> <!></div>`),GT=W(`<div class="ext-list svelte-1yivsg9"><div class="column-header svelte-1yivsg9"><span class="column-label svelte-1yivsg9">Enabled</span></div> <!></div>`),KT=W(`<!> <!> <!> <!>`,1);function qT(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1),s=F(``);function c(){lf().then(e=>{I(n,e,!0),I(i,!1),I(r,``)}).catch(e=>{I(r,e instanceof Error?e.message:`Failed to load extensions`,!0),I(i,!1)})}ma(c);async function l(e){I(a,e.id,!0),I(r,``);try{await uf(e.id,!e.enabled),e.enabled=!e.enabled,I(o,!0)}catch(e){I(r,e instanceof Error?e.message:`Failed to update`,!0)}I(a,null)}async function u(){let e=H(s).trim();if(e){I(a,`install`),I(r,``);try{await df(e),I(s,``),I(o,!0),c()}catch(e){I(r,e instanceof Error?e.message:`Failed to install`,!0)}I(a,null)}}async function d(e){if(e.package){I(a,e.id,!0),I(r,``);try{await ff(e.package),I(o,!0),c()}catch(e){I(r,e instanceof Error?e.message:`Failed to uninstall`,!0)}I(a,null)}}let f=P(()=>[...H(n).filter(e=>e.source===`builtin`),...H(n).filter(e=>e.source!==`builtin`)]);var p=G(),m=z(p),h=e=>{xa(e,{message:`Loading...`})},g=e=>{var t=KT(),i=z(t);Ca(i,{get message(){return H(r)}});var c=B(i,2);no(c,{title:`Extensions`,action:e=>{var t=BT(),n=R(t);Ki(n);var r=B(n,2);{let e=P(()=>H(a)!==null||!H(s).trim());_a(r,{variant:`primary`,onclick:u,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(a)===`install`?`Installing...`:`Install`)),K(e,n)},$$slots:{default:!0}})}A(t),V(()=>n.disabled=H(a)!==null),Ir(`submit`,t,e=>{e.preventDefault(),u()}),aa(n,()=>H(s),e=>I(s,e)),K(e,t)},$$slots:{action:!0}});var p=B(c,2),m=e=>{K(e,VT())};J(p,e=>{H(o)&&e(m)});var h=B(p,2),g=e=>{xa(e,{message:`No extensions found.`})},_=e=>{var t=GT();Y(B(R(t),2),17,()=>H(f),e=>e.id,(e,t)=>{var n=WT(),r=R(n),i=R(r);Ki(i),j(2),A(r);var o=B(r,2),s=R(o),c=R(s,!0);A(s);var u=B(s,2),f=e=>{var n=HT(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(u,e=>{H(t).description&&e(f)});var p=B(u,2),m=R(p);A(p),A(o);var h=B(o,2),g=e=>{var n=UT(),r=R(n);{let e=P(()=>H(a)!==null);_a(r,{variant:`danger`,onclick:()=>d(H(t)),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Uninstall`)),K(e,r)},$$slots:{default:!0}})}A(n),K(e,n)};J(h,e=>{H(t).source===`npm`&&H(t).package&&e(g)}),A(n),V(()=>{Xi(r,`title`,H(t).enabled?`Enabled`:`Disabled`),Ji(i,H(t).enabled),i.disabled=H(a)!==null,q(c,H(t).name),q(m,`${H(t).id??``} · v${H(t).version??``} · ${H(t).source??``}`)}),U(`change`,i,()=>l(H(t))),K(e,n)}),A(t),K(e,t)};J(h,e=>{H(n).length===0?e(g):e(_,-1)}),K(e,t)};J(m,e=>{H(i)?e(h):e(g,-1)}),K(e,p),N()}Lr([`change`]);var JT=W(`<p class="loading-text svelte-y2443v">Loading...</p>`),YT=W(`<!> <button class="setting-hint-btn svelte-y2443v">back</button>`,1),XT=W(`<option> </option>`),ZT=W(`<option>--</option> <!> <option>other...</option>`,1),QT=W(`<div class="slider-control svelte-y2443v"><input type="range" class="thinking-slider svelte-y2443v" min="0" max="5" step="1"/> <span> </span></div>`),$T=W(`<!> <span class="setting-hint svelte-y2443v">per</span> <!> <span class="setting-hint svelte-y2443v">min</span>`,1),eE=W(`<!> <span class="setting-hint svelte-y2443v">tokens</span>`,1),tE=W(`<!> <!> <!> <!>`,1),nE=W(`<div class="cron-preview svelte-y2443v"> </div>`),rE=W(`<div class="sleep-summary svelte-y2443v"><span class="sleep-desc svelte-y2443v">Custom schedule</span> <!></div> <div class="cron-row svelte-y2443v"><span class="cron-label svelte-y2443v">Sleep at</span> <!></div> <!> <div class="cron-row svelte-y2443v"><span class="cron-label svelte-y2443v">Wake at</span> <!></div> <!>`,1),iE=W(`<div class="sleep-summary svelte-y2443v"><span class="sleep-desc svelte-y2443v"> </span> <!></div> <!> <!>`,1),aE=W(`<!> <div class="wake-triggers svelte-y2443v"><div class="subsection-header small svelte-y2443v">What wakes the mind early</div> <div class="trigger-row svelte-y2443v"><!></div> <div class="trigger-row svelte-y2443v"><!></div> <div class="trigger-row svelte-y2443v"><span class="trigger-text svelte-y2443v">Channels</span> <!></div> <div class="trigger-row svelte-y2443v"><span class="trigger-text svelte-y2443v">Senders</span> <!></div></div>`,1),oE=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),sE=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <span class="form-hint svelte-y2443v">Every</span> <!> <span class="form-hint svelte-y2443v">hours</span></div>`),cE=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <span class="form-hint svelte-y2443v">At</span> <!></div>`),lE=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <!></div>`),uE=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),dE=W(`<div class="schedule-form svelte-y2443v"><div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Name</span> <!></div> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Frequency</span> <!></div> <!> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Message</span> <textarea class="message-input svelte-y2443v" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">If sleeping</span> <!></div> <div class="form-actions svelte-y2443v"><!> <!></div></div>`),fE=W(`<div class="schedule-card editing svelte-y2443v"><div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Frequency</span> <!></div> <!> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Message</span> <textarea class="message-input svelte-y2443v" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">If sleeping</span> <!></div> <div class="form-actions svelte-y2443v"><!> <!></div></div>`),pE=W(`<div class="schedule-message svelte-y2443v"> </div>`),mE=W(`<div><div class="schedule-top svelte-y2443v"><span class="schedule-name svelte-y2443v"> </span> <span class="schedule-freq svelte-y2443v"><!></span> <div class="schedule-actions svelte-y2443v"><!> <!> <!></div></div> <!></div>`),hE=W(`<div class="schedule-list svelte-y2443v"></div>`),gE=W(`<div class="subsection svelte-y2443v"><div class="subsection-header svelte-y2443v"><span>Sleep</span> <!></div> <!></div> <div class="subsection svelte-y2443v"><div class="subsection-header svelte-y2443v"><span>Schedules</span> <!></div> <!> <!></div>`,1),_E=W(`<span class="save-status svelte-y2443v">Saving...</span>`),vE=W(`<span class="save-status saved svelte-y2443v">Saved</span>`),yE=W(`<!> <!> <div class="status-bar svelte-y2443v"><!></div>`,1),bE=W(`<div class="mind-defaults svelte-y2443v"><!></div>`);function xE(e,t){M(t,!0);let n=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],r=F(L([])),i=F(``),a=F(0),o=F(``),s=F(``),c=F(``),l=F(!0),u=F(0),d=F(0),f=F(8),p=F(0),m=F(!1),h=F(``),g=F(``),_=F(L(Qd.mentions)),v=F(L(Qd.dms)),y=F(``),b=F(``),x=F(L([])),S=F(!1),C=F(null),w=F(``),T=F(`daily`),E=F(4),ee=F(12),te=F(0),ne=F(``),D=F(``),O=F(`skip`),re=F(`cron`),ie=F(4),ae=F(12),k=F(0),oe=F(``),se=F(``),ce=F(`skip`),le=F(!0),ue=F(``),de=F(!0),fe=F(!1),pe=F(`idle`),me,he=P(()=>H(r).filter(e=>e.enabled)),ge=P(()=>H(i)!==``&&!H(he).some(e=>e.id===H(i))),_e=P(()=>n[H(a)]);function ve(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}function ye(e){let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return t.length?t:void 0}async function be(){I(pe,`saving`),clearTimeout(me);try{await Id({cognition:{model:H(i)||void 0,thinkingLevel:n[H(a)]===`off`?void 0:n[H(a)],tokenBudget:ve(H(o))??void 0,tokenBudgetPeriodMinutes:ve(H(s))??void 0,compaction:ve(H(c))==null?void 0:{maxContextTokens:ve(H(c))}},sleep:{enabled:H(l),schedule:H(l)?{sleep:H(m)?H(h):Ob(H(u),H(d)),wake:H(m)?H(g):Ob(H(f),H(p))}:void 0,wakeTriggers:H(l)?{mentions:H(_),dms:H(v),channels:ye(H(y)),senders:ye(H(b))}:void 0},schedules:H(x).length>0?H(x):void 0}),I(ue,``),I(pe,`saved`),me=setTimeout(()=>{I(pe,`idle`)},1500)}catch(e){I(ue,e instanceof Error?e.message:`Save failed`,!0),I(pe,`idle`)}}function xe(e){let t=e.target.value;t===`__other__`?I(i,``):(I(i,t,!0),t&&be())}function Se(e){I(a,parseInt(e.target.value,10),!0),be()}function Ce(e){I(C,e.id,!0);let t=e.cron?kb(e.cron):{type:`daily`};I(re,t.type,!0),I(ie,t.hours??4,!0),I(ae,t.hour??12,!0),I(k,t.minute??0,!0),I(oe,e.cron??``,!0),I(se,jb(e),!0),I(ce,e.whileSleeping??`skip`,!0),I(le,e.enabled,!0)}function we(){if(!H(C))return;let e=Ab(H(re),{hours:H(ie),hour:H(ae),minute:H(k),cron:H(oe)});I(x,H(x).map(t=>t.id===H(C)?{...t,cron:e||void 0,message:void 0,messages:void 0,...Mb(H(se)),whileSleeping:H(ce),enabled:H(le)}:t),!0),I(C,null),be()}function Te(){if(!H(w).trim())return;let e=Ab(H(T),{hours:H(E),hour:H(ee),minute:H(te),cron:H(ne)});I(x,[...H(x),{id:H(w).trim(),cron:e||void 0,...Mb(H(D)),enabled:!0,whileSleeping:H(O)}],!0),I(w,``),I(T,`daily`),I(E,4),I(ee,12),I(te,0),I(ne,``),I(D,``),I(O,`skip`),I(S,!1),be()}function Ee(e){I(x,H(x).filter(t=>t.id!==e),!0),be()}function De(e){I(x,H(x).map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t),!0),be()}ma(async()=>{try{let[e,t]=await Promise.all([Fd(),wd()]);if(I(r,t,!0),e.cognition){I(i,e.cognition.model??``,!0);let t=e.cognition.thinkingLevel??`off`;I(a,Math.max(0,n.indexOf(t)),!0),I(o,e.cognition.tokenBudget==null?``:String(e.cognition.tokenBudget),!0),I(s,e.cognition.tokenBudgetPeriodMinutes==null?``:String(e.cognition.tokenBudgetPeriodMinutes),!0),I(c,e.cognition.compaction?.maxContextTokens==null?``:String(e.cognition.compaction.maxContextTokens),!0)}if(e.sleep){I(l,e.sleep.enabled??!0,!0);let t=e.sleep.schedule?Db(e.sleep.schedule.sleep):null,n=e.sleep.schedule?Db(e.sleep.schedule.wake):null;t&&n?(I(u,t.hour,!0),I(d,t.minute,!0),I(f,n.hour,!0),I(p,n.minute,!0)):e.sleep.schedule&&(I(m,!0),I(h,e.sleep.schedule.sleep,!0),I(g,e.sleep.schedule.wake,!0)),I(_,e.sleep.wakeTriggers?.mentions??Qd.mentions,!0),I(v,e.sleep.wakeTriggers?.dms??Qd.dms,!0),I(y,(e.sleep.wakeTriggers?.channels??[]).join(`, `),!0),I(b,(e.sleep.wakeTriggers?.senders??[]).join(`, `),!0)}e.schedules&&I(x,e.schedules,!0)}catch(e){I(ue,e instanceof Error?e.message:`Failed to load defaults`,!0),I(fe,!0)}I(de,!1)});var Oe=bE(),ke=R(Oe),Ae=e=>{K(e,JT())},je=e=>{Ca(e,{get message(){return H(ue)}})},Me=e=>{var t=yE(),n=z(t);uo(n,{title:`Model`,children:(e,t)=>{var n=tE(),r=z(n);co(r,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),a=e=>{var t=YT(),n=z(t);Xa(n,{type:`text`,onblur:()=>be(),placeholder:`Model ID`,get value(){return H(i)},set value(e){I(i,e,!0)}}),U(`click`,B(n,2),()=>{I(i,H(he)[0]?.id??``,!0),H(i)&&be()}),K(e,t)},o=e=>{oo(e,{get value(){return H(i)},onchange:xe,children:(e,t)=>{var n=ZT(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(he),e=>e.id,(e,t)=>{var n=XT(),r=R(n,!0);A(n);var i={};V(()=>{q(r,H(t).name),i!==(i=H(t).id)&&(n.value=(n.__value=H(t).id)??``)}),K(e,n)});var a=B(i,2);a.value=a.__value=`__other__`,K(e,n)},$$slots:{default:!0}})};J(r,e=>{H(ge)?e(a):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var l=B(r,2);co(l,{label:`Thinking`,children:(e,t)=>{var n=QT(),r=R(n);Ki(r);var i=B(r,2);let o;var s=R(i,!0);A(i),A(n),V(()=>{qi(r,H(a)),o=X(i,1,`slider-label svelte-y2443v`,null,o,{off:H(a)===0}),q(s,H(_e))}),U(`change`,r,Se),K(e,n)},$$slots:{default:!0}});var u=B(l,2);co(u,{label:`Budget`,children:(e,t)=>{var n=$T(),r=z(n);Xa(r,{type:`number`,width:`80px`,onblur:()=>be(),placeholder:`tokens`,get value(){return H(o)},set value(e){I(o,e,!0)}}),Xa(B(r,4),{type:`number`,width:`80px`,onblur:()=>be(),placeholder:`min`,get value(){return H(s)},set value(e){I(s,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),co(B(u,2),{label:`Context`,children:(e,t)=>{var n=eE();Xa(z(n),{type:`number`,width:`80px`,onblur:()=>be(),placeholder:`150000`,get value(){return H(c)},set value(e){I(c,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}});var r=B(n,2);uo(r,{title:`Clock`,children:(e,t)=>{var n=gE(),r=z(n),i=R(r),a=B(R(i),2);{let e=P(()=>H(l)?`On`:`Off`);Co(a,{get checked(){return H(l)},onchange:()=>{I(l,!H(l)),be()},get label(){return H(e)}})}A(i);var o=B(i,2),s=e=>{var t=aE(),n=z(t),r=e=>{var t=rE(),n=z(t);_a(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(m,!1),be()},children:(e,t)=>{j(),K(e,Kr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);Xa(B(R(r),2),{variant:`mono`,style:`flex:1`,onblur:()=>be(),placeholder:`0 0 * * *`,get value(){return H(h)},set value(e){I(h,e,!0)}}),A(r);var i=B(r,2),a=e=>{var t=nE(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>wb(H(h))]),K(e,t)};J(i,e=>{H(h)&&e(a)});var o=B(i,2);Xa(B(R(o),2),{variant:`mono`,style:`flex:1`,onblur:()=>be(),placeholder:`0 8 * * *`,get value(){return H(g)},set value(e){I(g,e,!0)}}),A(o);var s=B(o,2),c=e=>{var t=nE(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>wb(H(g))]),K(e,t)};J(s,e=>{H(g)&&e(c)}),K(e,t)},i=e=>{var t=iE(),n=z(t),r=R(n),i=R(r);A(r),_a(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(m,!0),I(h,Ob(H(u),H(d)),!0),I(g,Ob(H(f),H(p)),!0)},children:(e,t)=>{j(),K(e,Kr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);bo(a,{label:`Sleep at`,onchange:()=>be(),get hour(){return H(u)},set hour(e){I(u,e,!0)},get minute(){return H(d)},set minute(e){I(d,e,!0)}}),bo(B(a,2),{label:`Wake at`,onchange:()=>be(),get hour(){return H(f)},set hour(e){I(f,e,!0)},get minute(){return H(p)},set minute(e){I(p,e,!0)}}),V((e,t)=>q(i,`Sleeps at ${e??``}, wakes at ${t??``}`),[()=>Tb(H(u),H(d)),()=>Tb(H(f),H(p))]),K(e,t)};J(n,e=>{H(m)?e(r):e(i,-1)});var a=B(n,2),o=B(R(a),2);Co(R(o),{get checked(){return H(_)},onchange:()=>{I(_,!H(_)),be()},label:`When mentioned`}),A(o);var s=B(o,2);Co(R(s),{get checked(){return H(v)},onchange:()=>{I(v,!H(v)),be()},label:`Direct messages`}),A(s);var c=B(s,2);Xa(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`channel1, channel2`,onblur:()=>be(),get value(){return H(y)},set value(e){I(y,e,!0)}}),A(c);var l=B(c,2);Xa(B(R(l),2),{type:`text`,style:`flex:1`,placeholder:`user1, user2`,onblur:()=>be(),get value(){return H(b)},set value(e){I(b,e,!0)}}),A(l),A(a),K(e,t)};J(o,e=>{H(l)&&e(s)}),A(r);var c=B(r,2),le=R(c);_a(B(R(le),2),{variant:`primary`,onclick:()=>I(S,!0),children:(e,t)=>{j(),K(e,Kr(`Add`))},$$slots:{default:!0}}),A(le);var ue=B(le,2),de=e=>{var t=dE(),n=R(t);Xa(B(R(n),2),{type:`text`,style:`flex:1`,placeholder:`e.g. heartbeat`,get value(){return H(w)},set value(e){I(w,e,!0)}}),A(n);var r=B(n,2);oo(B(R(r),2),{get value(){return H(T)},set value(e){I(T,e,!0)},children:(e,t)=>{var n=oE(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(r);var i=B(r,2),a=e=>{var t=sE();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(E)},set value(e){I(E,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=cE();bo(B(R(t),4),{get hour(){return H(ee)},set hour(e){I(ee,e,!0)},get minute(){return H(te)},set minute(e){I(te,e,!0)}}),A(t),K(e,t)},s=e=>{var t=lE();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(ne)},set value(e){I(ne,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(T)===`hours`?e(a):H(T)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);hn(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(O)},set value(e){I(O,e,!0)},children:(e,t)=>{var n=uE(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>!H(w).trim());_a(f,{variant:`primary`,onclick:Te,get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Kr(`Add schedule`))},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(S,!1),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(d),A(t),aa(l,()=>H(D),e=>I(D,e)),K(e,t)};J(ue,e=>{H(S)&&e(de)});var fe=B(ue,2),pe=e=>{xa(e,{message:`No default schedules configured.`})},me=e=>{var t=hE();Y(t,21,()=>H(x),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var t=fE(),n=R(t);oo(B(R(n),2),{get value(){return H(re)},set value(e){I(re,e,!0)},children:(e,t)=>{var n=oE(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(n);var r=B(n,2),i=e=>{var t=sE();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(ie)},set value(e){I(ie,e,!0)}}),j(2),A(t),K(e,t)},a=e=>{var t=cE();bo(B(R(t),4),{get hour(){return H(ae)},set hour(e){I(ae,e,!0)},get minute(){return H(k)},set minute(e){I(k,e,!0)}}),A(t),K(e,t)},o=e=>{var t=lE();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(oe)},set value(e){I(oe,e,!0)}}),A(t),K(e,t)};J(r,e=>{H(re)===`hours`?e(i):H(re)===`daily`?e(a,1):e(o,-1)});var s=B(r,2),c=B(R(s),2);hn(c),A(s);var l=B(s,2);oo(B(R(l),2),{get value(){return H(ce)},set value(e){I(ce,e,!0)},children:(e,t)=>{var n=uE(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(l);var u=B(l,2),d=R(u);_a(d,{variant:`primary`,onclick:we,children:(e,t)=>{j(),K(e,Kr(`Save`))},$$slots:{default:!0}}),_a(B(d,2),{variant:`secondary`,onclick:()=>I(C,null),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(u),A(t),aa(c,()=>H(se),e=>I(se,e)),K(e,t)},a=e=>{var n=mE();let r;var i=R(n),a=R(i),o=R(a,!0);A(a);var s=B(a,2),c=R(s),l=e=>{var n=Kr();V(e=>q(n,e),[()=>wb(H(t).cron)]),K(e,n)},u=e=>{K(e,Kr(`--`))};J(c,e=>{H(t).cron?e(l):e(u,-1)}),A(s);var d=B(s,2),f=R(d);Co(f,{get checked(){return H(t).enabled},onchange:()=>De(H(t))});var p=B(f,2);_a(p,{variant:`icon`,onclick:()=>Ce(H(t)),children:(e,t)=>{j(),K(e,Kr(`Edit`))},$$slots:{default:!0}}),_a(B(p,2),{variant:`danger`,size:`sm`,onclick:()=>Ee(H(t).id),children:(e,t)=>{j(),K(e,Kr(`Del`))},$$slots:{default:!0}}),A(d),A(i);var m=B(i,2),h=e=>{var n=pE(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>jb(H(t))]),K(e,n)};J(m,e=>{(H(t).message||H(t).messages?.length)&&e(h)}),A(n),V(()=>{r=X(n,1,`schedule-card svelte-y2443v`,null,r,{disabled:!H(t).enabled}),q(o,H(t).id)}),K(e,n)};J(r,e=>{H(C)===H(t).id?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)};J(fe,e=>{H(x).length===0&&!H(S)?e(pe):e(me,-1)}),A(c),K(e,n)},$$slots:{default:!0}});var le=B(r,2),de=R(le),fe=e=>{Ca(e,{get message(){return H(ue)}})},me=e=>{K(e,_E())},ve=e=>{K(e,vE())};J(de,e=>{H(ue)?e(fe):H(pe)===`saving`?e(me,1):H(pe)===`saved`&&e(ve,2)}),A(le),K(e,t)};J(ke,e=>{H(de)?e(Ae):H(fe)?e(je,1):e(Me,-1)}),A(Oe),K(e,Oe),N()}Lr([`click`,`change`]);var SE=W(`<div class="upload-area svelte-ywjv10"><input type="file" accept=".zip" class="file-input svelte-ywjv10"/> <!></div>`),CE=W(`<div class="skill-desc svelte-ywjv10"> </div>`),wE=W(`<div class="skill-row svelte-ywjv10"><label class="default-toggle svelte-ywjv10"><input type="checkbox" class="svelte-ywjv10"/> <span class="toggle-track svelte-ywjv10"><span class="toggle-thumb svelte-ywjv10"></span></span></label> <div class="skill-info svelte-ywjv10"><div class="skill-name svelte-ywjv10"> </div> <!> <div class="skill-meta svelte-ywjv10"> </div></div> <div class="skill-actions svelte-ywjv10"><!></div></div>`),TE=W(`<div class="skill-list svelte-ywjv10"><div class="column-header svelte-ywjv10"><span class="column-label svelte-ywjv10">Default</span></div> <!></div>`),EE=W(`<!> <!> <div class="auto-update-row svelte-ywjv10"><label class="default-toggle svelte-ywjv10"><input type="checkbox" class="svelte-ywjv10"/> <span class="toggle-track svelte-ywjv10"><span class="toggle-thumb svelte-ywjv10"></span></span></label> <div class="auto-update-info svelte-ywjv10"><span class="auto-update-label svelte-ywjv10">Auto-update mind skills</span> <span class="auto-update-desc svelte-ywjv10">Automatically update installed skills on all minds when a new version is available</span></div></div> <!>`,1);function DE(e,t){M(t,!0);let n=F(L([])),r=F(L([])),i=F(!0),a=F(``),o=F(!0),s=F(null);function c(){Promise.all([ed(),sd(),ud()]).then(([e,t,s])=>{I(n,e.sort((e,t)=>e.name.localeCompare(t.name)),!0),I(r,t,!0),I(i,s,!0),I(o,!1),I(a,``)}).catch(()=>{I(a,`Failed to load skills`),I(o,!1)})}async function l(){let e=!H(i);I(i,e);try{await dd(e)}catch(t){I(i,!e),I(a,t instanceof Error?t.message:`Failed to update setting`,!0)}}ma(c);let u=F(void 0);async function d(){let e=H(u)?.files?.[0];if(e){I(s,`upload`),I(a,``);try{await Xd(e),c(),H(u).value=``}catch(e){I(a,e instanceof Error?e.message:`Failed to upload`,!0)}I(s,null)}}async function f(e){I(s,e,!0),I(a,``);try{await od(e),c()}catch(e){I(a,e instanceof Error?e.message:`Failed to remove`,!0)}I(s,null)}async function p(e){I(s,`default:${e}`),I(a,``);try{H(r).includes(e)?I(r,await ld(e),!0):I(r,await cd(e),!0)}catch(e){I(a,e instanceof Error?e.message:`Failed to update defaults`,!0)}I(s,null)}var m=G(),h=z(m),g=e=>{xa(e,{message:`Loading...`})},_=e=>{var t=EE(),o=z(t);Ca(o,{get message(){return H(a)}});var c=B(o,2);no(c,{title:`Skills`,action:e=>{var t=SE(),n=R(t);ua(n,e=>I(u,e),()=>H(u));var r=B(n,2);{let e=P(()=>H(s)!==null);_a(r,{variant:`primary`,onclick:()=>H(u).click(),get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(s)===`upload`?`Uploading...`:`Upload .zip`)),K(e,n)},$$slots:{default:!0}})}A(t),U(`change`,n,d),K(e,t)},$$slots:{action:!0}});var m=B(c,2),h=R(m),g=R(h);Ki(g),j(2),A(h),j(2),A(m);var _=B(m,2),v=e=>{xa(e,{message:`No shared skills yet.`})},y=e=>{var t=TE();Y(B(R(t),2),17,()=>H(n),e=>e.id,(e,t)=>{var n=wE(),i=R(n),a=R(i);Ki(a),j(2),A(i);var o=B(i,2),c=R(o),l=R(c,!0);A(c);var u=B(c,2),d=e=>{var n=CE(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(u,e=>{H(t).description&&e(d)});var m=B(u,2),h=R(m);A(m),A(o);var g=B(o,2),_=R(g);{let e=P(()=>H(s)!==null);_a(_,{variant:`danger`,onclick:()=>f(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(s)===H(t).id?`...`:`Delete`)),K(e,r)},$$slots:{default:!0}})}A(g),A(n),V((e,n)=>{Xi(i,`title`,e),Ji(a,n),a.disabled=H(s)!==null,q(l,H(t).name),q(h,`${H(t).id??``} · v${H(t).version??``} · by ${H(t).author??``}`)},[()=>H(r).includes(H(t).id)?`Installed on new minds`:`Not installed on new minds`,()=>H(r).includes(H(t).id)]),U(`change`,a,()=>p(H(t).id)),K(e,n)}),A(t),K(e,t)};J(_,e=>{H(n).length===0?e(v):e(y,-1)}),V(()=>{Xi(h,`title`,H(i)?`Skills auto-update on daemon restart`:`Skills must be updated manually per mind`),Ji(g,H(i))}),U(`change`,g,l),K(e,t)};J(h,e=>{H(o)?e(g):e(_,-1)}),K(e,m),N()}Lr([`change`]);function OE(e){let t=e-1;return t*t*t+1}function kE(e,{delay:t=0,duration:n=400,easing:r=OE,axis:i=`y`}={}){let a=getComputedStyle(e),o=+a.opacity,s=i===`y`?`height`:`width`,c=parseFloat(a[s]),l=i===`y`?[`top`,`bottom`]:[`left`,`right`],u=l.map(e=>`${e[0].toUpperCase()}${e.slice(1)}`),d=parseFloat(a[`padding${u[0]}`]),f=parseFloat(a[`padding${u[1]}`]),p=parseFloat(a[`margin${u[0]}`]),m=parseFloat(a[`margin${u[1]}`]),h=parseFloat(a[`border${u[0]}Width`]),g=parseFloat(a[`border${u[1]}Width`]);return{delay:t,duration:n,easing:r,css:e=>`overflow: hidden;opacity: ${Math.min(e*20,1)*o};${s}: ${e*c}px;padding-${l[0]}: ${e*d}px;padding-${l[1]}: ${e*f}px;margin-${l[0]}: ${e*p}px;margin-${l[1]}: ${e*m}px;border-${l[0]}-width: ${e*h}px;border-${l[1]}-width: ${e*g}px;min-${s}: 0`}}var AE=W(`<span class="username svelte-fqyh9p"> </span>`),jE=Gr(`<rect x="4" y="8" width="16" height="12" rx="2"></rect><circle cx="9" cy="14" r="1.5"></circle><circle cx="15" cy="14" r="1.5"></circle><line x1="12" y1="4" x2="12" y2="8"></line><circle cx="12" cy="3" r="1"></circle>`,1),ME=Gr(`<path d="M5 11a7 7 0 1 1 14 0c0 3-1.5 5-3 6v3H8v-3c-1.5-1-3-3-3-6z"></path><path d="M5 10c-.6 0-1 .8-1 1.8S4.4 13.5 5 13.5"></path><path d="M19 10c.6 0 1 .8 1 1.8s-.4 1.7-1 1.7"></path><circle cx="9.5" cy="10.5" r="1" fill="currentColor" stroke="none"></circle><circle cx="14.5" cy="10.5" r="1" fill="currentColor" stroke="none"></circle>`,1),NE=W(`<span class="role admin svelte-fqyh9p">admin</span>`),PE=W(`<span class="role pending svelte-fqyh9p">pending</span> <button class="approve-btn svelte-fqyh9p">approve</button>`,1),FE=W(`<div class="error svelte-fqyh9p"> </div>`),IE=W(`<button class="action-btn svelte-fqyh9p">remove admin</button>`),LE=W(`<button class="action-btn svelte-fqyh9p">make admin</button>`),RE=W(`<span class="confirm-prompt svelte-fqyh9p"> <button class="confirm-yes svelte-fqyh9p"> </button> <button class="confirm-no svelte-fqyh9p">no</button></span>`),zE=W(`<button class="action-btn danger svelte-fqyh9p">delete</button>`),BE=W(`<div class="detail-panel svelte-fqyh9p"><div class="field svelte-fqyh9p"><label class="svelte-fqyh9p">Display name</label> <input type="text" class="svelte-fqyh9p"/></div> <div class="field svelte-fqyh9p"><label class="svelte-fqyh9p">Description</label> <input type="text" placeholder="Optional description" class="svelte-fqyh9p"/></div> <!> <div class="detail-actions svelte-fqyh9p"><div class="left-actions svelte-fqyh9p"><!> <!></div> <button class="save-btn svelte-fqyh9p"> </button></div></div>`),VE=W(`<div><div class="user-row svelte-fqyh9p" role="button" tabindex="0"><span></span> <div class="user-info svelte-fqyh9p"><span class="display-name svelte-fqyh9p"> </span> <!> <svg class="type-icon svelte-fqyh9p" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><!></svg></div> <div class="row-actions svelte-fqyh9p"><!> <!> <span>▸</span></div></div> <!></div>`),HE=W(`<div class="empty svelte-fqyh9p">No users yet.</div>`),UE=W(`<div class="container svelte-fqyh9p"><div class="user-list svelte-fqyh9p"></div> <!></div>`);function WE(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(null),a=F(``),o=F(``),s=F(!1),c=F(null),l=F(null),u=P(()=>new Map(t.minds.map(e=>[e.name,e]))),d=P(()=>H(n).filter(e=>e.role===`admin`).length);function f(){$l().then(e=>{I(n,e,!0)}).catch(()=>{H(r)||I(r,`Failed to load users`)})}ma(()=>{f()});function p(e){I(r,``),H(i)===e.id?(I(i,null),I(c,null)):(I(i,e.id,!0),I(a,e.display_name??``,!0),I(o,e.description??``,!0),I(c,null))}function m(e){if(e.user_type===`mind`){if(Jf.has(e.username))return;let t=H(u).get(e.username);return t?Ll(t):`var(--text-2)`}return Yf.has(e.username)?`var(--text-0)`:`var(--text-2)`}async function h(e,t){e.stopPropagation();try{await tu(t),f()}catch{I(r,`Failed to approve user`)}}async function g(e,t){e.stopPropagation();let n=t.role===`admin`?`user`:`admin`;try{await nu(t.id,n),f()}catch(e){I(r,e instanceof Error?e.message:`Failed to change role`,!0)}}async function _(e){I(s,!0);try{await ru(e.id,{display_name:H(a).trim()||null,description:H(o).trim()||null}),f()}catch(e){I(r,e instanceof Error?e.message:`Failed to update profile`,!0)}finally{I(s,!1)}}async function v(e){I(l,e.id,!0);try{if(e.user_type===`mind`)try{await bu(e.username,!0),qf.minds=qf.minds.filter(t=>t.name!==e.username)}catch(t){if(t instanceof Error&&t.message.includes(`not found`))await iu(e.id);else throw t}else await iu(e.id);I(i,null),I(c,null),f()}catch(e){I(r,e instanceof Error?e.message:`Failed to delete`,!0)}finally{I(l,null)}}function y(e){return e.user_type===`mind`?`delete mind + data?`:`delete account?`}function b(e){return(H(a).trim()||null)!==(e.display_name??null)||(H(o).trim()||null)!==(e.description??null)}var x=UE(),S=R(x);Y(S,21,()=>H(n),e=>e.id,(e,t)=>{var n=VE();let u;var f=R(n),x=R(f);let S,C;var w=B(x,2),T=R(w),E=R(T,!0);A(T);var ee=B(T,2),te=e=>{var n=AE(),r=R(n);A(n),V(()=>q(r,`@${H(t).username??``}`)),K(e,n)};J(ee,e=>{H(t).display_name&&e(te)});var ne=B(ee,2),D=R(ne),O=e=>{var t=jE();j(4),K(e,t)},re=e=>{var t=ME();j(4),K(e,t)};J(D,e=>{H(t).user_type===`mind`?e(O):e(re,-1)}),A(ne),A(w);var ie=B(w,2),ae=R(ie),k=e=>{K(e,NE())};J(ae,e=>{H(t).role===`admin`&&e(k)});var oe=B(ae,2),se=e=>{var n=PE();U(`click`,B(z(n),2),e=>h(e,H(t).id)),K(e,n)};J(oe,e=>{H(t).role===`pending`&&e(se)});var ce=B(oe,2);let le;A(ie),A(f);var ue=B(f,2),de=e=>{var n=BE(),i=R(n),u=R(i),f=B(u,2);Ki(f),A(i);var p=B(i,2),m=R(p),h=B(m,2);Ki(h),A(p);var x=B(p,2),S=e=>{var t=FE(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)};J(x,e=>{H(r)&&e(S)});var C=B(x,2),w=R(C),T=R(w),E=e=>{var n=IE();V(()=>n.disabled=H(d)<=1),U(`click`,n,e=>g(e,H(t))),K(e,n)},ee=e=>{var n=LE();U(`click`,n,e=>g(e,H(t))),K(e,n)};J(T,e=>{H(t).role===`admin`?e(E):H(t).role!==`pending`&&e(ee,1)});var te=B(T,2),ne=e=>{var n=RE(),r=R(n),i=B(r),a=R(i,!0);A(i);var o=B(i,2);A(n),V(e=>{q(r,`${e??``} `),i.disabled=H(l)===H(t).id,q(a,H(l)===H(t).id?`...`:`yes`)},[()=>y(H(t))]),U(`click`,i,()=>v(H(t))),U(`click`,o,()=>I(c,null)),K(e,n)},D=e=>{var n=zE();V(()=>n.disabled=H(t).role===`admin`&&H(d)<=1),U(`click`,n,()=>I(c,H(t).id,!0)),K(e,n)};J(te,e=>{H(c)===H(t).id?e(ne):e(D,-1)}),A(w);var O=B(w,2),re=R(O,!0);A(O),A(C),A(n),V(e=>{Xi(u,`for`,`dn-${H(t).id??``}`),Xi(f,`id`,`dn-${H(t).id??``}`),Xi(f,`placeholder`,H(t).username),Xi(m,`for`,`desc-${H(t).id??``}`),Xi(h,`id`,`desc-${H(t).id??``}`),O.disabled=e,q(re,H(s)?`saving...`:`save`)},[()=>!b(H(t))||H(s)]),aa(f,()=>H(a),e=>I(a,e)),aa(h,()=>H(o),e=>I(o,e)),U(`click`,O,()=>_(H(t))),bi(3,n,()=>kE,()=>({duration:150})),K(e,n)};J(ue,e=>{H(i)===H(t).id&&e(de)}),A(n),V((e,r)=>{u=X(n,1,`user-card svelte-fqyh9p`,null,u,{expanded:H(i)===H(t).id}),S=X(x,1,`status-dot svelte-fqyh9p`,null,S,e),C=Z(x,``,C,r),q(E,H(t).display_name||H(t).username),le=X(ce,1,`expand-icon svelte-fqyh9p`,null,le,{open:H(i)===H(t).id})},[()=>({iridescent:H(t).user_type===`mind`&&Jf.has(H(t).username)}),()=>({background:m(H(t))})]),U(`click`,f,()=>p(H(t))),U(`keydown`,f,e=>e.key===`Enter`&&p(H(t))),K(e,n)}),A(S);var C=B(S,2),w=e=>{K(e,HE())};J(C,e=>{H(n).length===0&&e(w)}),A(x),K(e,x),N()}Lr([`click`,`keydown`]);var GE=W(`<div class="error svelte-n9btv2"> </div>`),KE=W(`<div class="loading svelte-n9btv2">Loading prompts...</div>`),qE=W(`<span class="custom-count svelte-n9btv2"> </span>`),JE=W(`<span class="custom-badge svelte-n9btv2">customized</span>`),YE=W(`<span class="var-tag svelte-n9btv2"> </span>`),XE=W(`<div class="var-tags svelte-n9btv2"></div>`),ZE=W(`<textarea class="edit-area svelte-n9btv2" rows="10"></textarea> <div class="actions svelte-n9btv2"><button class="btn btn-save svelte-n9btv2"> </button> <button class="btn btn-cancel svelte-n9btv2">Cancel</button></div>`,1),QE=W(`<button class="btn btn-reset svelte-n9btv2">Reset</button>`),$E=W(`<pre class="prompt-content svelte-n9btv2"><code class="svelte-n9btv2"> </code></pre> <div class="actions svelte-n9btv2"><button class="btn btn-edit svelte-n9btv2">Edit</button> <!></div>`,1),eD=W(`<div><div class="prompt-header svelte-n9btv2"><span class="prompt-key svelte-n9btv2"> </span> <!></div> <p class="prompt-desc svelte-n9btv2"> </p> <!> <!></div>`),tD=W(`<div class="section-body svelte-n9btv2"></div>`),nD=W(`<div class="section svelte-n9btv2"><button class="section-header svelte-n9btv2"><span class="collapse-icon svelte-n9btv2"> </span> <span class="section-title svelte-n9btv2"> </span> <span class="section-subtitle svelte-n9btv2"> </span> <!></button> <!></div>`),rD=W(`<div class="prompts-page svelte-n9btv2"><!> <!></div>`);function iD(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(null),a=F(``),o=F(!1),s=F(``),c=L({}),l={creation:{label:`Creation Prompts`,subtitle:`Used when creating new minds`},system:{label:`System Messages`,subtitle:`Sent by the daemon to minds`},mind:{label:`Mind Prompts`,subtitle:`Stamped into prompts.json at creation, then mind-owned`}},u=[`creation`,`system`,`mind`],d=P(()=>u.map(e=>({category:e,meta:l[e],items:H(n).filter(t=>t.category===e)})).filter(e=>e.items.length>0));async function f(){try{I(n,await fd(),!0),I(s,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to load prompts`,!0)}finally{I(r,!1)}}ma(f);function p(e){c[e]=!c[e]}function m(e){I(i,e.key,!0),I(a,e.content,!0),c[e.category]=!0}function h(){I(i,null),I(a,``)}async function g(e){I(o,!0);try{await pd(e,H(a)),I(i,null),I(a,``),await f()}catch(e){I(s,e instanceof Error?e.message:`Failed to save`,!0)}finally{I(o,!1)}}async function _(e){I(o,!0);try{await md(e),I(i,null),I(a,``),await f()}catch(e){I(s,e instanceof Error?e.message:`Failed to reset`,!0)}finally{I(o,!1)}}var v=rD(),y=R(v),b=e=>{var t=GE(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(y,e=>{H(s)&&e(b)});var x=B(y,2),S=e=>{K(e,KE())},C=e=>{var t=G();Y(z(t),17,()=>H(d),e=>e.category,(e,t)=>{var n=nD(),r=R(n),s=R(r),l=R(s,!0);A(s);var u=B(s,2),d=R(u,!0);A(u);var f=B(u,2),v=R(f,!0);A(f);var y=B(f,2),b=e=>{var n=qE(),r=R(n);A(n),V(e=>q(r,`${e??``} customized`),[()=>H(t).items.filter(e=>e.isCustom).length]),K(e,n)},x=P(()=>H(t).items.some(e=>e.isCustom));J(y,e=>{H(x)&&e(b)}),A(r);var S=B(r,2),C=e=>{var n=tD();Y(n,21,()=>H(t).items,e=>e.key,(e,t)=>{var n=eD();let r;var s=R(n),c=R(s),l=R(c,!0);A(c);var u=B(c,2),d=e=>{K(e,JE())};J(u,e=>{H(t).isCustom&&e(d)}),A(s);var f=B(s,2),p=R(f,!0);A(f);var v=B(f,2),y=e=>{var n=XE();Y(n,20,()=>H(t).variables,e=>e,(e,t)=>{var n=YE(),r=R(n);A(n),V(()=>q(r,`$${`{`+t+`}`}`)),K(e,n)}),A(n),K(e,n)};J(v,e=>{H(t).variables.length>0&&e(y)});var b=B(v,2),x=e=>{var n=ZE(),r=z(n);hn(r);var i=B(r,2),s=R(i),c=R(s,!0);A(s);var l=B(s,2);A(i),V(()=>{s.disabled=H(o),q(c,H(o)?`Saving...`:`Save`),l.disabled=H(o)}),aa(r,()=>H(a),e=>I(a,e)),U(`click`,s,()=>g(H(t).key)),U(`click`,l,h),K(e,n)},S=e=>{var n=$E(),r=z(n),i=R(r),a=R(i,!0);A(i),A(r);var s=B(r,2),c=R(s),l=B(c,2),u=e=>{var n=QE();V(()=>n.disabled=H(o)),U(`click`,n,()=>_(H(t).key)),K(e,n)};J(l,e=>{H(t).isCustom&&e(u)}),A(s),V(()=>q(a,H(t).content)),U(`click`,c,()=>m(H(t))),K(e,n)};J(b,e=>{H(i)===H(t).key?e(x):e(S,-1)}),A(n),V(()=>{r=X(n,1,`prompt-card svelte-n9btv2`,null,r,{custom:H(t).isCustom}),q(l,H(t).key),q(p,H(t).description)}),K(e,n)}),A(n),K(e,n)};J(S,e=>{c[H(t).category]&&e(C)}),A(n),V(()=>{q(l,c[H(t).category]?`▼`:`▶`),q(d,H(t).meta.label),q(v,H(t).meta.subtitle)}),U(`click`,r,()=>p(H(t).category)),K(e,n)}),K(e,t)};J(x,e=>{H(r)?e(S):e(C,-1)}),A(v),K(e,v),N()}Lr([`click`]);var aD=W(`<div class="error svelte-m1wc4k"> </div> <button class="retry-btn svelte-m1wc4k">Retry</button>`,1),oD=W(`<div class="loading-text svelte-m1wc4k">Loading providers...</div>`),sD=W(`<span class="entitlement-badge entitled svelte-m1wc4k">Ready</span>`),cD=W(`<span class="entitlement-badge not-entitled svelte-m1wc4k">Plan not entitled</span>`),lD=W(`<div class="entitlement-reason svelte-m1wc4k"> </div>`),uD=W(`<span class="model-tag svelte-m1wc4k"> <button class="model-tag-remove svelte-m1wc4k">×</button></span>`),dD=W(`<div class="model-tags svelte-m1wc4k"></div>`),fD=W(`<span class="dim svelte-m1wc4k">No models enabled</span>`),pD=W(`<div class="provider-card svelte-m1wc4k"><div class="provider-header svelte-m1wc4k"><span class="provider-name svelte-m1wc4k"> </span> <span class="auth-badge svelte-m1wc4k"> </span> <!> <button class="check-btn svelte-m1wc4k"> </button> <button class="remove-btn svelte-m1wc4k">Remove</button></div> <!> <div class="provider-models svelte-m1wc4k"><!> <button class="add-model-btn svelte-m1wc4k">Add model</button></div></div>`),mD=W(`<button class="add-provider-btn svelte-m1wc4k" type="button">+ Add a provider</button>`),hD=W(`<div class="model-defaults svelte-m1wc4k"><span class="label svelte-m1wc4k">Default model</span> <!> <div class="hint svelte-m1wc4k">Used when minds generate images without specifying a model.</div></div>`),gD=W(`<div class="error svelte-m1wc4k"> </div>`),_D=W(`<!> <!> <!> <!>`,1),vD=W(`<option> </option>`),yD=W(`<div class="autocomplete"><select class="select-input svelte-m1wc4k"><option>Select provider...</option><!></select></div>`),bD=W(`<form class="api-key-form svelte-m1wc4k"><input type="password" placeholder="API key" class="text-input svelte-m1wc4k"/> <button type="submit" class="save-btn svelte-m1wc4k"> </button></form>`),xD=W(`<div class="modal-body svelte-m1wc4k"><!> <!> <!></div>`),SD=W(`<span class="model-desc svelte-m1wc4k"> </span>`),CD=W(`<button class="model-option svelte-m1wc4k"><span class="model-id svelte-m1wc4k"> </span> <!></button>`),wD=W(`<div class="model-list svelte-m1wc4k"></div>`),TD=W(`<div class="modal-body svelte-m1wc4k"><form class="api-key-form svelte-m1wc4k"><input type="text" placeholder="Search models..." class="text-input svelte-m1wc4k"/> <button type="submit" class="save-btn svelte-m1wc4k"> </button></form> <!> <!></div>`),ED=W(`<!> <!> <!>`,1);function DD(e,t){M(t,!0);let n=F(L([])),r=F(L([])),i=F(null),a=F(``),o=F(!1),s=F(``),c=F(!1),l=F(``),u=F(``),d=F(!1),f=F(``),p=F(L([])),m=F(!1),h=F(``),g=P(()=>H(n).filter(e=>e.configured)),_=P(()=>H(n).filter(e=>!e.configured));function v(e){return H(r).filter(t=>t.startsWith(`${e}:`))}function y(e){return e===`api_key`?`API key`:e===`oauth`?`OAuth`:e===`env_var`?`env var`:``}let b=new Gl;async function x(e){b.add(e),I(a,``);try{let t=await Bd(e);t.state===`not_entitled`&&!t.reason&&I(a,`Provider plan is not entitled to generate images.`),await S()}catch(e){I(a,e instanceof Error?e.message:`Failed to check entitlement`,!0)}finally{b.delete(e)}}async function S(){I(s,``);try{I(n,await Ld(),!0);let e=await Vd();I(r,e.models,!0),I(i,e.defaultModel,!0)}catch{I(s,`Failed to load imagegen config. Check your connection and try again.`)}}S();function C(){I(c,!1),I(d,!1),I(l,``),I(u,``),I(f,``),I(p,[],!0),I(h,``),I(a,``)}function w(){C(),I(c,!0),H(_).length===1&&I(l,H(_)[0].id,!0)}async function T(){if(!H(l)||!H(u).trim()||H(o))return;I(o,!0),I(a,``);let e=H(l);try{await Rd(H(l),H(u).trim()),C(),await S(),I(h,e,!0),I(f,``),I(p,[],!0),I(d,!0)}catch(e){I(a,e instanceof Error?e.message:`Failed to save`,!0)}finally{I(o,!1)}}async function E(e){I(o,!0),I(a,``);try{await zd(e),H(i)?.startsWith(`${e}:`)&&I(i,null),await S()}catch(e){I(a,e instanceof Error?e.message:`Failed to remove`,!0)}finally{I(o,!1)}}async function ee(){if(H(f).trim()){I(m,!0);try{I(p,await Ud(H(f).trim(),H(h)||void 0),!0)}catch(e){I(a,e instanceof Error?e.message:`Search failed`,!0)}finally{I(m,!1)}}}async function te(e){try{let t=[...H(r),e],n=H(r).length===0?e:void 0;await Hd(t,n),I(r,t,!0),n&&I(i,n,!0),I(d,!1),I(f,``),I(p,[],!0)}catch(e){I(a,e instanceof Error?e.message:`Failed to add model`,!0)}}async function ne(e){try{let t=H(r).filter(t=>t!==e);await Hd(t,H(i)===e?null:void 0),I(r,t,!0),H(i)===e&&I(i,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to remove model`,!0)}}let D=F(``),O=F(!1);Tn(()=>{I(D,H(i)??``,!0)}),Tn(()=>{H(r).length>0&&I(O,!0)}),Tn(()=>{let e=H(D);H(O)&&(I(i,e||null,!0),Hd(H(r),e||null).catch(()=>{}))});var re={load:S},ie=ED(),ae=z(ie),k=e=>{var t=aD(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,H(s))),U(`click`,i,()=>S()),K(e,t)},oe=e=>{K(e,oD())},se=e=>{var t=_D(),n=z(t);Y(n,17,()=>H(g),e=>e.id,(e,t)=>{let n=P(()=>v(H(t).id));var r=pD(),i=R(r),a=R(i),s=R(a,!0);A(a);var c=B(a,2),l=R(c,!0);A(c);var u=B(c,2),m=e=>{K(e,sD())},g=e=>{K(e,cD())};J(u,e=>{H(t).entitlement?.state===`entitled`?e(m):H(t).entitlement?.state===`not_entitled`&&e(g,1)});var _=B(u,2),S=R(_,!0);A(_);var C=B(_,2);A(i);var w=B(i,2),T=e=>{var n=lD(),r=R(n,!0);A(n),V(()=>q(r,H(t).entitlement.reason)),K(e,n)};J(w,e=>{H(t).entitlement?.state===`not_entitled`&&H(t).entitlement.reason&&e(T)});var ee=B(w,2),te=R(ee),D=e=>{var t=dD();Y(t,20,()=>H(n),e=>e,(e,t)=>{var n=uD(),r=R(n),i=B(r);A(n),V(()=>q(r,`${t??``} `)),U(`click`,i,()=>ne(t)),K(e,n)}),A(t),K(e,t)},O=e=>{K(e,fD())};J(te,e=>{H(n).length>0?e(D):e(O,-1)});var re=B(te,2);A(ee),A(r),V((e,n,r)=>{q(s,H(t).id),q(l,e),_.disabled=n,q(S,r),C.disabled=H(o)},[()=>y(H(t).authMethod),()=>H(o)||b.has(H(t).id),()=>b.has(H(t).id)?`...`:`Check`]),U(`click`,_,()=>x(H(t).id)),U(`click`,C,()=>E(H(t).id)),U(`click`,re,()=>{I(h,H(t).id,!0),I(f,``),I(p,[],!0),I(d,!0)}),K(e,r)});var i=B(n,2),s=e=>{var t=mD();U(`click`,t,w),K(e,t)};J(i,e=>{H(_).length>0&&e(s)});var l=B(i,2),u=e=>{var t=hD(),n=B(R(t),2);{let e=P(()=>H(r).map(e=>({id:e,label:e})));fw(n,{get items(){return H(e)},placeholder:`Search models...`,emptyLabel:`Select a model`,get value(){return H(D)},set value(e){I(D,e,!0)}})}j(2),A(t),K(e,t)};J(l,e=>{H(r).length>0&&e(u)});var m=B(l,2),S=e=>{var t=gD(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(m,e=>{H(a)&&!H(c)&&!H(d)&&e(S)}),K(e,t)};J(ae,e=>{H(s)?e(k):H(n).length===0?e(oe,1):e(se,-1)});var ce=B(ae,2),le=e=>{$a(e,{onClose:C,size:`420px`,title:`Add imagegen provider`,children:(e,t)=>{var n=xD(),r=R(n),i=e=>{var t=yD(),n=R(t),r=R(n);r.value=r.__value=``,Y(B(r),17,()=>H(_),e=>e.id,(e,t)=>{var n=vD(),r=R(n,!0);A(n);var i={};V(()=>{q(r,H(t).id),i!==(i=H(t).id)&&(n.value=(n.__value=H(t).id)??``)}),K(e,n)}),A(n),A(t),Fi(n,()=>H(l),e=>I(l,e)),K(e,t)};J(r,e=>{H(_).length>1&&e(i)});var s=B(r,2),c=e=>{var t=bD(),n=R(t);Ki(n);var r=B(n,2),i=R(r,!0);A(r),A(t),V(e=>{r.disabled=e,q(i,H(o)?`...`:`Save`)},[()=>H(o)||!H(u).trim()]),Ir(`submit`,t,e=>{e.preventDefault(),T()}),aa(n,()=>H(u),e=>I(u,e)),K(e,t)};J(s,e=>{H(l)&&e(c)});var d=B(s,2),f=e=>{var t=gD(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(d,e=>{H(a)&&e(f)}),A(n),K(e,n)},$$slots:{default:!0}})};J(ce,e=>{H(c)&&e(le)});var ue=B(ce,2),de=e=>{$a(e,{onClose:()=>{I(d,!1),I(f,``),I(p,[],!0)},size:`480px`,get title(){return`Add model — ${H(h)??``}`},children:(e,t)=>{var n=TD(),i=R(n),o=R(i);Ki(o);var s=B(o,2),c=R(s,!0);A(s),A(i);var l=B(i,2),u=e=>{var t=wD();Y(t,21,()=>H(p),e=>e.id,(e,t)=>{var n=CD(),i=R(n),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var n=SD(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(o,e=>{H(t).description&&e(s)}),A(n),V(e=>{n.disabled=e,q(a,H(t).id)},[()=>H(r).includes(H(t).id)]),U(`click`,n,()=>te(H(t).id)),K(e,n)}),A(t),K(e,t)};J(l,e=>{H(p).length>0&&e(u)});var d=B(l,2),h=e=>{var t=gD(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(d,e=>{H(a)&&e(h)}),A(n),V(e=>{s.disabled=e,q(c,H(m)?`...`:`Search`)},[()=>H(m)||!H(f).trim()]),Ir(`submit`,i,e=>{e.preventDefault(),ee()}),aa(o,()=>H(f),e=>I(f,e)),K(e,n)},$$slots:{default:!0}})};return J(ue,e=>{H(d)&&e(de)}),K(e,ie),N(re)}Lr([`click`]);var OD=W(`<div class="error svelte-7kf7oa"> </div>`),kD=W(`<div class="system-card svelte-7kf7oa"><div class="system-info svelte-7kf7oa"><span class="system-label svelte-7kf7oa">Registered as</span> <span class="system-name svelte-7kf7oa"> </span></div> <button class="btn btn-reset svelte-7kf7oa"> </button></div>`),AD=W(`<div class="system-actions svelte-7kf7oa"><button class="btn btn-edit svelte-7kf7oa">Register</button> <button class="btn btn-edit svelte-7kf7oa">Login with key</button></div>`),jD=W(`<form class="system-form svelte-7kf7oa"><input class="system-input svelte-7kf7oa"/> <button type="submit" class="btn btn-save svelte-7kf7oa"> </button> <button type="button" class="btn btn-cancel svelte-7kf7oa">Cancel</button></form>`),MD=W(`<div class="system-card svelte-7kf7oa"><div class="system-info svelte-7kf7oa"><span class="system-label svelte-7kf7oa">Not registered</span></div> <!></div>`),ND=W(`<div class="settings svelte-7kf7oa"><div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Name</span> <span class="section-subtitle svelte-7kf7oa">Displayed in the sidebar</span></div> <input type="text" class="system-input svelte-7kf7oa" placeholder="e.g. My Garden"/></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Mind Limit</span> <span class="section-subtitle svelte-7kf7oa"> </span></div> <!> <!></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Registration</span> <span class="section-subtitle svelte-7kf7oa">volute.systems for pages and email</span></div> <!> <!></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">AI Providers</span> <span class="section-subtitle svelte-7kf7oa">Authentication for minds and system AI features</span></div> <!></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Image Generation</span> <span class="section-subtitle svelte-7kf7oa">Provider configuration for mind image generation</span></div> <!></div></div>`);function PD(e,t){M(t,!0);let n=F(L(Hf.localName??``));async function r(){let e=H(n).trim();try{await _d(e),Hf.localName=e||null}catch{I(n,Hf.localName??``,!0)}}let i=F(``),a=F(`none`),o=F(``),s=F(!1),c=F(``),l=F(``),u=F(!1),d,f=F(``),p=F(0),m=F(``),h=F(!1);ma(async()=>{d.load();try{let e=await Nd();I(c,e.spiritModel??``,!0),I(l,e.utilityModel??``,!0)}catch{}try{let e=await vd();I(f,e.maxMinds==null?``:String(e.maxMinds),!0),I(p,e.count,!0),I(h,!0)}catch(e){I(m,e instanceof Error?e.message:`Failed to load mind limit`,!0)}I(u,!0)});async function g(){if(!H(h))return;I(m,``);let e=H(f).trim(),t=null;if(e!==``){let n=Number(e);if(!Number.isInteger(n)||n<1){I(m,`Enter a whole number of 1 or more, or leave blank for unlimited.`);return}t=n}try{let e=await yd(t);I(f,e.maxMinds==null?``:String(e.maxMinds),!0),I(p,e.count,!0)}catch(e){I(m,e instanceof Error?e.message:`Failed to save limit`,!0)}}Tn(()=>{let e=H(c),t=H(l);H(u)&&Pd({spiritModel:e||null,utilityModel:t||null}).catch(()=>{})});async function _(){if(!(!H(o).trim()||H(s))){I(s,!0),I(i,``);try{Hf.systemName=(await(H(a)===`register`?bd:xd)(H(o).trim())).system,I(a,`none`),I(o,``)}catch(e){I(i,e instanceof Error?e.message:`${H(a)} failed`,!0)}finally{I(s,!1)}}}async function v(){I(s,!0),I(i,``);try{await Sd(),Hf.systemName=null}catch(e){I(i,e instanceof Error?e.message:`Logout failed`,!0)}finally{I(s,!1)}}var y=ND(),b=R(y),x=B(R(b),2);Ki(x),A(b);var S=B(b,2),C=R(S),w=B(R(C),2),T=R(w);A(w),A(C);var E=B(C,2);{let e=P(()=>!H(h));Xa(E,{type:`number`,min:`1`,step:`1`,style:`width:100%`,placeholder:`Unlimited`,get disabled(){return H(e)},onblur:g,onkeydown:e=>{e.key===`Enter`&&e.target.blur()},get value(){return H(f)},set value(e){I(f,e,!0)}})}var ee=B(E,2),te=e=>{var t=OD(),n=R(t,!0);A(t),V(()=>q(n,H(m))),K(e,t)};J(ee,e=>{H(m)&&e(te)}),A(S);var ne=B(S,2),D=B(R(ne),2),O=e=>{var t=kD(),n=R(t),r=B(R(n),2),i=R(r,!0);A(r),A(n);var a=B(n,2),o=R(a,!0);A(a),A(t),V(()=>{q(i,Hf.systemName),a.disabled=H(s),q(o,H(s)?`...`:`Disconnect`)}),U(`click`,a,v),K(e,t)},re=e=>{var t=MD(),n=B(R(t),2),r=e=>{var t=AD(),n=R(t),r=B(n,2);A(t),U(`click`,n,()=>{I(a,`register`),I(o,``),I(i,``)}),U(`click`,r,()=>{I(a,`login`),I(o,``),I(i,``)}),K(e,t)},c=e=>{var t=jD(),n=R(t);Ki(n);var r=B(n,2),c=R(r,!0);A(r);var l=B(r,2);A(t),V(e=>{Xi(n,`type`,H(a)===`login`?`password`:`text`),Xi(n,`placeholder`,H(a)===`register`?`Name on volute.systems`:`API key`),r.disabled=e,q(c,H(s)?`...`:H(a)===`register`?`Register`:`Login`)},[()=>H(s)||!H(o).trim()]),Ir(`submit`,t,e=>{e.preventDefault(),_()}),aa(n,()=>H(o),e=>I(o,e)),U(`click`,l,()=>{I(a,`none`),I(i,``)}),K(e,t)};J(n,e=>{H(a)===`none`?e(r):e(c,-1)}),A(t),K(e,t)};J(D,e=>{Hf.systemName?e(O):e(re,-1)});var ie=B(D,2),ae=e=>{var t=OD(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(ie,e=>{H(i)&&e(ae)}),A(ne);var k=B(ne,2);ua(Uw(B(R(k),2),{showModelDefaults:!0,get spiritModel(){return H(c)},set spiritModel(e){I(c,e,!0)},get utilityModel(){return H(l)},set utilityModel(e){I(l,e,!0)}}),e=>d=e,()=>d),A(k);var oe=B(k,2);DD(B(R(oe),2),{}),A(oe),A(y),V(()=>q(T,`Cap on total minds (${H(p)??``} in use). Blank = unlimited.`)),Ir(`blur`,x,r),U(`keydown`,x,e=>{e.key===`Enter`&&e.target.blur()}),aa(x,()=>H(n),e=>I(n,e)),K(e,y),N()}Lr([`keydown`,`click`]);var FD=W(`<button> </button>`),ID=W(`<span class="restart-error svelte-138znmo"> </span>`),LD=W(`<div class="spirit-error svelte-138znmo"> </div>`),RD=W(`<div class="spirit-sections svelte-138znmo"><!> <!> <!> <!> <!></div>`),zD=W(`<div class="settings-page svelte-138znmo"><div class="settings-header svelte-138znmo"><div class="tab-row svelte-138znmo"></div> <div class="restart-area svelte-138znmo"><!> <button class="restart-btn svelte-138znmo"> </button></div></div> <div class="settings-body svelte-138znmo"><!></div></div>`);function BD(e,t){M(t,!0);let n=[`settings`,`mind-defaults`,`prompts`,`skills`,`extensions`,`backups`,`users`,`spirit`],r={settings:`Settings`,"mind-defaults":`Mind Defaults`,prompts:`Prompt Library`,skills:`Skills`,extensions:`Extensions`,backups:`Backups`,users:`Users`,spirit:`Spirit`},i=F(`settings`),a=F(null),o=F(``),s=F(!1);async function c(){if(!H(s)){I(s,!0);try{I(a,await hu(Hf.spiritName??`volute`),!0)}catch(e){I(o,e instanceof Error?e.message:`Failed to load spirit`,!0)}}}Tn(()=>{H(i)===`spirit`&&c()});let l=F(!1),u=F(null);async function d(){I(l,!0),I(u,null);try{await hd()}catch(e){I(u,e instanceof Error?e.message:`Unknown error`,!0),console.warn(`Failed to restart daemon:`,e)}finally{I(l,!1)}}var f=zD(),p=R(f),m=R(p);Y(m,21,()=>n,ti,(e,t)=>{var n=FD();let a;var o=R(n,!0);A(n),V(()=>{a=X(n,1,`settings-tab svelte-138znmo`,null,a,{active:H(i)===H(t)}),q(o,r[H(t)])}),U(`click`,n,()=>I(i,H(t),!0)),K(e,n)}),A(m);var h=B(m,2),g=R(h),_=e=>{var t=ID(),n=R(t);A(t),V(()=>q(n,`Failed: ${H(u)??``}`)),K(e,t)};J(g,e=>{H(u)&&e(_)});var v=B(g,2),y=R(v,!0);A(v),A(h),A(p);var b=B(p,2),x=R(b),S=e=>{PD(e,{})},C=e=>{xE(e,{})},w=e=>{iD(e,{})},T=e=>{DE(e,{})},E=e=>{qT(e,{})},ee=e=>{zT(e,{})},te=e=>{WE(e,{get minds(){return qf.minds}})},ne=e=>{var t=G(),n=z(t),r=e=>{var t=LD(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)},i=e=>{var t=RD(),n=R(t);bx(n,{get mind(){return H(a)},onUpdated:c});var r=B(n,2);no(r,{title:`Model`,subtitle:`Cognition settings`});var i=B(r,2);ax(i,{get name(){return H(a).name},get template(){return H(a).template},hideBudget:!0});var o=B(i,2);Zx(o,{get name(){return H(a).name}}),mx(B(o,2),{get name(){return H(a).name}}),A(t),K(e,t)};J(n,e=>{H(o)?e(r):H(a)&&e(i,1)}),K(e,t)};J(x,e=>{H(i)===`settings`?e(S):H(i)===`mind-defaults`?e(C,1):H(i)===`prompts`?e(w,2):H(i)===`skills`?e(T,3):H(i)===`extensions`?e(E,4):H(i)===`backups`?e(ee,5):H(i)===`users`?e(te,6):H(i)===`spirit`&&e(ne,7)}),A(b),A(f),V(()=>{v.disabled=H(l),q(y,H(l)?`Restarting...`:`Restart Daemon`)}),U(`click`,v,d),K(e,f),N()}Lr([`click`]);var VD=W(`<div class="app"><div class="loading svelte-1ocnzw1">Loading...</div></div>`),HD=W(`<div class="app full-height svelte-1ocnzw1"><!></div>`),UD=W(`<!> <!>`,1),WD=W(`<button class="sidebar-backdrop svelte-1ocnzw1" aria-label="Close sidebar"></button>`),GD=W(`<span class="crumb-sep svelte-1ocnzw1">/</span>`),KD=W(`<button class="crumb-link svelte-1ocnzw1"> </button>`),qD=W(`<span class="crumb-current svelte-1ocnzw1"> </span>`),JD=W(`<span class="header-active-dot svelte-1ocnzw1"></span>`),YD=W(`<span class="tab-icon svelte-1ocnzw1"></span>`),XD=W(`<button><!></button>`),ZD=W(`<div class="mind-section-tabs svelte-1ocnzw1"></div>`),QD=W(`<button><span class="tab-icon svelte-1ocnzw1"></span></button>`),$D=W(`<div class="mind-section-tabs svelte-1ocnzw1"><button aria-label="History"><span class="tab-icon svelte-1ocnzw1"></span></button> <!></div>`),eO=W(`<img alt="" class="user-avatar-img svelte-1ocnzw1" loading="lazy" decoding="async"/>`),tO=W(`<div class="user-dropdown svelte-1ocnzw1" role="menu"><button class="user-dropdown-item svelte-1ocnzw1">Profile</button> <button class="user-dropdown-item svelte-1ocnzw1">Logout</button></div>`),nO=W(`<button class="panel-reopen svelte-1ocnzw1" title="Show sidebar"><!></button>`),rO=W(`<button class="right-panel-backdrop svelte-1ocnzw1" aria-label="Close panel"></button>`),iO=W(`<button class="panel-close svelte-1ocnzw1" title="Close"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1ocnzw1"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button> <!>`,1),aO=W(`<!> <div class="resize-handle right-resize-handle svelte-1ocnzw1" role="separator" aria-label="Resize panel"></div> <div><!></div>`,1),oO=W(`<div class="modal-scroll-body svelte-1ocnzw1"><!></div>`),sO=W(`<div class="modal-scroll-body svelte-1ocnzw1"><!> <!></div>`),cO=W(`<div class="shell svelte-1ocnzw1"><!> <div class="shell-body svelte-1ocnzw1"><div><button class="sidebar-header svelte-1ocnzw1"><span class="awake-dot svelte-1ocnzw1"></span> <span class="sidebar-title svelte-1ocnzw1"> </span></button> <!></div> <!> <div class="resize-handle svelte-1ocnzw1" role="separator" aria-label="Resize sidebar"></div> <div class="content-area svelte-1ocnzw1"><div><div class="page-header svelte-1ocnzw1"><button class="header-hamburger svelte-1ocnzw1">☰</button> <div class="page-breadcrumbs svelte-1ocnzw1"><!> <!></div> <!> <div class="header-actions svelte-1ocnzw1"><div class="user-menu-anchor svelte-1ocnzw1"><button class="user-avatar-btn svelte-1ocnzw1"><!></button> <!></div> <!></div></div> <div class="main-frame svelte-1ocnzw1"><!></div></div> <!></div></div></div> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!>`,1);function lO(e,t){M(t,!0);let n=F(L(Om(qf.extensions))),r=[{key:`chat`,label:`Chat`,icon:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"/></svg>`}],i=P(()=>[...r,...qf.extensions.flatMap(e=>(e.mindSections??[]).map(t=>({key:`ext:${e.id}:${t.id}`,label:t.label,icon:e.icon,defaultPath:t.defaultPath})))]),a=P(()=>H(n).kind===`mind`?H(n).name:null),o=P(()=>H(n).kind===`mind`?H(n).section??`chat`:null),s=P(()=>H(n).kind!==`mind`&&H(n).kind!==`channel`),c=P(()=>H(s)?H(n).kind===`system-history`?`system-history`:H(n).kind===`extension`?`ext:${H(n).extensionId}`:null:null),l=F(null),u=F(null),d=F(null),f=F(!1),p=F(L([])),m=F(!1),h=F(!1),g=F(!1),_=F(!1),v=F(null);Tn(()=>{I(h,H(g),!0)});let y=P(()=>{let e=H(n);if(e.kind===`channel`)return qf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)?.id??null;if(e.kind===`mind`&&(!e.section||e.section===`chat`)){let t=e.name;return qf.conversations.find(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];return n.length===2&&n.some(e=>e.username===t)})?.id??null}return null});Tn(()=>{tp(H(y)),I(m,!1)});let b=P(()=>{let e=H(n);if(e.kind===`channel`)return qf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)}),x=P(()=>{let e=H(n);if(e.kind===`mind`)return qf.minds.find(t=>t.name===e.name)}),S=P(()=>H(x)?.mindType===`spirit`?r:H(i)),C=P(()=>H(l)===`mind`&&H(u)?H(u):H(x)??void 0),w=P(()=>!!(H(l)===`mind`&&H(u))),T=P(()=>!(!H(C)||!H(w)&&H(n).kind===`mind`)),E=P(()=>!!H(C)),ee=P(()=>H(n).kind===`mind`&&!!H(C)||H(n).kind===`channel`&&!!H(b)||!!(H(l)===`mind`&&H(u))),te=P(()=>H(ee)&&(!H(h)||H(g)&&H(m))),ne=P(()=>H(n).kind===`channel`?H(b)?.type===`channel`&&H(b).channel_name?`#${H(b).channel_name}`:H(n).slug:``),D=P(()=>{let e=H(n),t=[];if(e.kind===`mind`){if(t.push({label:`system`,action:ve}),t.push({label:e.name,action:()=>Am(`/minds/${e.name}`)}),e.section&&e.section!==`chat`){let n=e.section;if(n.startsWith(`ext:`)){let e=n.split(`:`);n=e[2]??e[1]}t.push({label:n,action:e.subpath?()=>Am(`/minds/${e.name}/${n}`):void 0}),e.subpath&&t.push({label:e.subpath})}}else if(e.kind===`channel`)t.push({label:H(ne)});else if(e.kind===`extension`){t.push({label:`system`,action:ve});let n=qf.extensions.find(t=>t.id===e.extensionId),r=n?.systemSection?.urlPatterns?.[0];if(t.push({label:n?.name??e.extensionId,action:e.path?()=>Am(r??`/ext/${e.extensionId}`):void 0}),e.path){let n=e.path.split(`/`);for(let e=0;e<n.length;e++){let i=e===n.length-1,a=n.slice(0,e+1).join(`/`);t.push({label:n[e],action:!i&&r?()=>Am(`${r}/${a}`):void 0})}}}else e.kind===`system-history`?(t.push({label:`system`,action:ve}),t.push({label:`timeline`})):t.push({label:`system`});return t}),O=P(()=>{let e=H(n);return e.kind===`mind`?Jf.has(e.name):e.kind===`channel`&&(qf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)?.participants??[]).some(e=>e.userType===`mind`&&Jf.has(e.username))}),re=F(!1);async function ie(){await Gf(),Gp()&&(await $p(),I(re,!0))}Tn(()=>{document.title=Hf.localName||`volute`});function ae(e,t){function n(){for(let t=26;t>=15&&(e.style.setProperty(`--title-size`,`${t}px`),!(e.scrollWidth<=e.clientWidth));t--);}return n(),document.fonts?.ready.then(n),{update:n}}ma(()=>{Zp().then(e=>{e?Wf():(I(re,!0),Hf.checked=!0)}).catch(()=>{I(re,!0),Hf.checked=!0});let e=window.matchMedia(`(max-width: 1024px)`);I(g,e.matches,!0);let t=e=>{I(g,e.matches,!0)};e.addEventListener(`change`,t);let r=e=>{if(e.origin===window.location.origin&&e.data?.type===`navigate`&&typeof e.data.path==`string`){let t=H(n);if(!(t.kind===`extension`||t.kind===`mind`&&t.section?.startsWith(`ext:`)))return;Am(e.data.path)}};return window.addEventListener(`message`,r),()=>{e.removeEventListener(`change`,t),window.removeEventListener(`message`,r)}}),Tn(()=>{if(Hf.user)return ap(),()=>op()}),Tn(()=>{Hf.user&&jf()}),Tn(()=>{Hf.user&&Yl().then(e=>{I(v,e?.avatar?`/api/auth/avatars/${e.avatar}`:null,!0)}).catch(e=>{console.warn(`Failed to fetch user profile:`,e)})}),Tn(()=>{if(qf.extensions.length>0){let e=Om(qf.extensions);e.kind===`extension`&&H(n).kind===`home`&&I(n,e,!0),e.kind===`mind`&&H(n).kind===`mind`&&e.section?.startsWith(`ext:`)&&H(n).section&&!H(n).section.startsWith(`ext:`)&&e.section.endsWith(`:${H(n).section}`)&&I(n,e,!0)}});let k=F(!1);Tn(()=>{let e=()=>{I(k,!0),I(n,Om(qf.extensions),!0)};window.addEventListener(`popstate`,e);let t=e=>{let t=e.target.closest(`a`);if(!t)return;let n=t.getAttribute(`href`);!n||n.startsWith(`http`)||n.startsWith(`//`)||t.target===`_blank`||e.metaKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),Am(n))};return document.addEventListener(`click`,t),()=>{window.removeEventListener(`popstate`,e),document.removeEventListener(`click`,t)}}),Tn(()=>{let e=km(H(n),qf.extensions),t=window.location.pathname+window.location.search;t!==e&&(H(n).kind===`home`&&qf.extensions.length===0&&t!==`/`||(H(k)?window.history.replaceState(null,``,e):window.history.pushState(null,``,e))),I(k,!1)}),Tn(()=>{if(H(n).kind!==`channel`||!H(n).slug.startsWith(`__conv:`))return;let e=H(n).slug.replace(`__conv:`,``),t=qf.conversations.find(t=>t.id===e);if(t)if(t.type===`channel`&&t.channel_name)I(n,{kind:`channel`,slug:t.channel_name},!0);else{let e=t.participants?.find(e=>e.userType===`mind`&&e.username!==Hf.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}});function oe(){I(m,!0)}function se(){H(w)&&(I(l,null),I(u,null)),I(m,!1),I(h,!0)}function ce(){H(g)?I(m,!H(m)):I(h,!H(h))}function le(e){I(u,e,!0),I(l,`mind`),I(m,!0),I(h,!1)}function ue(e){let t=qf.conversations.find(t=>t.id===e);if(t?.type===`channel`&&t.channel_name)I(n,{kind:`channel`,slug:t.channel_name},!0);else{let e=t?.participants?.find(e=>e.userType===`mind`&&e.username!==Hf.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}tp(e),pp(),H(l)===`mind`&&(I(l,null),I(u,null))}async function de(e){try{await wu(e)}catch(e){console.error(`Failed to delete conversation:`,e);return}ap(),H(y)===e&&I(n,{kind:`home`},!0)}function fe(e){tp(e),ap()}function pe(e){I(l,null),I(u,null),pp(),I(n,{kind:`mind`,name:e},!0)}function me(e){I(l,null),I(u,null),pp(),ap(),e.type===`channel`&&e.channel_name&&I(n,{kind:`channel`,slug:e.channel_name},!0)}function he(e){I(l,null),I(u,null),pp(),I(n,{kind:`mind`,name:e},!0)}function ge(e){Kf(e)}function _e(e){up(e),H(y)===e&&I(n,{kind:`home`},!0)}function ve(){I(n,{kind:`home`},!0)}function ye(e){I(n,{kind:`mind`,name:e},!0),pp()}function be(e,t,r){I(n,{kind:`mind`,name:e,section:t,subpath:r},!0)}function xe(e,t){I(n,{kind:`extension`,extensionId:e,path:t??``},!0),pp()}function Se(e){I(f,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function Ce(e){if(!H(f))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();hp.width=Math.max(180,Math.min(400,e.clientX-n.left))}function we(){H(f)&&(I(f,!1),document.body.style.userSelect=``,document.body.style.cursor=``,gp())}let Te=F(!1);function Ee(e){I(Te,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function De(e){if(!H(Te))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();vp.width=Math.max(240,Math.min(600,n.right-e.clientX))}function Oe(){H(Te)&&(I(Te,!1),document.body.style.userSelect=``,document.body.style.cursor=``,yp())}function ke(e){if(e.key===`Escape`){if(H(_)){I(_,!1);return}if(H(m)){se();return}if(dp.sidebarOpen){pp();return}}}function Ae(e){H(_)&&!e.target.closest(`.user-menu-anchor`)&&I(_,!1)}var je=G();Ir(`keydown`,$t,ke),Ir(`click`,en,Ae);var Me=z(je),Ne=e=>{K(e,VD())},Pe=e=>{var t=HD();_T(R(t),{onComplete:e=>{Hf.setupComplete=!0,ap(),requestAnimationFrame(()=>{I(n,{kind:`mind`,name:e},!0)})}}),A(t),K(e,t)},Fe=e=>{var t=HD();am(R(t),{onConnected:e=>{I(re,!1),Kf(e)}}),A(t),K(e,t)},Ie=e=>{var t=HD();lm(R(t),{onAuth:ge}),A(t),K(e,t)},j=e=>{var t=cO(),r=z(t),i=R(r),u=e=>{var t=UD(),n=z(t);aw(n,{}),CC(B(n,2),{onOpenSettings:()=>I(l,`systemSettings`)}),K(e,t)};J(i,e=>{Hf.user.role===`admin`&&e(u)});var f=B(i,2),y=R(f);let x,w;var ne=R(y),re=B(R(ne),2),k=R(re,!0);A(re),Si(re,(e,t)=>ae?.(e,t),()=>({text:Hf.localName||`volute`,width:hp.width})),A(ne);var ge=B(ne,2);{let e=P(()=>qf.conversations.filter(e=>!cp.has(e.id)));lb(ge,{get minds(){return qf.minds},get conversations(){return H(e)},get selection(){return H(n)},get username(){return Hf.user.username},onHome:ve,onSelectMind:ye,onSelectMindSection:(e,t)=>{I(d,e,!0),t===`history`?I(l,`mindHistory`):t===`files`?I(l,`mindFiles`):t===`settings`?I(l,`mindSettings`):t===`variants`?I(l,`mindVariants`):t===`events`?I(l,`mindEvents`):t===`context`&&I(l,`mindContext`)},onSelectSystemSection:e=>{e===`settings`?I(l,`systemSettings`):e===`logs`&&I(l,`systemLogs`)},onSelectConversation:ue,onDeleteConversation:de,onBrowseChannels:()=>I(l,`channelBrowser`),onOpenMind:le,onSeed:()=>I(l,`seed`),onHideConversation:_e})}A(y);var Te=B(y,2),ke=e=>{var t=WD();U(`click`,t,function(...e){pp?.apply(this,e)}),K(e,t)};J(Te,e=>{dp.sidebarOpen&&e(ke)});var Ae=B(Te,2),je=B(Ae,2),Me=R(je);let Ne;var Pe=R(Me),Fe=R(Pe),Ie=B(Fe,2),j=R(Ie);Y(j,17,()=>H(D),ti,(e,t,n)=>{var r=UD(),i=z(r),a=e=>{K(e,GD())};J(i,e=>{n>0&&e(a)});var o=B(i,2),s=e=>{var n=KD(),r=R(n,!0);A(n),V(()=>q(r,H(t).label)),U(`click`,n,function(...e){H(t).action?.apply(this,e)}),K(e,n)},c=e=>{var n=qD(),r=R(n,!0);A(n),V(()=>q(r,H(t).label)),K(e,n)};J(o,e=>{H(t).action&&n<H(D).length-1?e(s):e(c,-1)}),K(e,r)});var Le=B(j,2),Re=e=>{K(e,JD())};J(Le,e=>{H(O)&&e(Re)}),A(Ie);var ze=B(Ie,2),Be=e=>{var t=ZD();Y(t,21,()=>H(S),ti,(e,t)=>{var n=XD();let r;var i=R(n),s=e=>{var n=YD();ui(n,()=>H(t).icon,!0),A(n),K(e,n)};J(i,e=>{H(t).icon&&e(s)}),A(n),Si(n,(e,t)=>Il?.(e,t),()=>({text:H(t).label,position:`bottom`})),V(()=>r=X(n,1,`mind-section-tab svelte-1ocnzw1`,null,r,{active:H(o)===H(t).key})),U(`click`,n,()=>be(H(a),H(t).key,H(t).defaultPath)),K(e,n)}),A(t),K(e,t)},Ve=e=>{var t=$D(),r=R(t);let i;var a=R(r);ui(a,()=>wo.history,!0),A(a),A(r),Si(r,(e,t)=>Il?.(e,t),()=>({text:`History`,position:`bottom`})),Y(B(r,2),17,()=>qf.extensions,ti,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=QD();let r;var i=R(n);ui(i,()=>H(t).icon??`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 2h5v5H2zM9 2h5v5H9zM2 9h5v5H2zM9 9h5v5H9z"/></svg>`,!0),A(i),A(n),Si(n,(e,t)=>Il?.(e,t),()=>({text:H(t).systemSection.label,position:`bottom`})),V(()=>r=X(n,1,`mind-section-tab svelte-1ocnzw1`,null,r,{active:H(c)===`ext:${H(t).id}`})),U(`click`,n,()=>xe(H(t).id)),K(e,n)};J(r,e=>{H(t).systemSection&&e(i)}),K(e,n)}),A(t),V(()=>i=X(r,1,`mind-section-tab svelte-1ocnzw1`,null,i,{active:H(c)===`system-history`})),U(`click`,r,()=>{I(n,{kind:`system-history`},!0)}),K(e,t)};J(ze,e=>{H(a)?e(Be):H(s)&&e(Ve,1)});var He=B(ze,2),Ue=R(He),M=R(Ue),N=R(M),We=e=>{var t=eO();V(()=>Xi(t,`src`,H(v))),K(e,t)},Ge=e=>{qa(e,{kind:`brain`})};J(N,e=>{H(v)?e(We):e(Ge,-1)}),A(M);var Ke=B(M,2),qe=e=>{var t=tO(),n=R(t),r=B(n,2);A(t),U(`click`,n,()=>{I(_,!1),I(l,`userSettings`)}),U(`click`,r,()=>{I(_,!1),ie()}),K(e,t)};J(Ke,e=>{H(_)&&e(qe)}),A(Ue);var Je=B(Ue,2),Ye=e=>{var t=nO();qa(R(t),{kind:`history`}),A(t),U(`click`,t,ce),K(e,t)};J(Je,e=>{H(ee)&&H(h)&&e(Ye)}),A(He),A(Pe);var Xe=B(Pe,2),Ze=R(Xe);{let e=P(()=>H(ee)?oe:void 0);by(Ze,{get selection(){return H(n)},get minds(){return qf.minds},get conversations(){return qf.conversations},get username(){return Hf.user.username},onConversationId:fe,onSelectConversation:ue,onOpenMind:le,onSeed:()=>I(l,`seed`),onTypingNames:e=>{I(p,e,!0)},get onToggleSidebar(){return fp},get onOpenRightPanel(){return H(e)}})}A(Xe),A(Me);var Qe=B(Me,2),$e=e=>{var t=aO(),n=z(t),r=e=>{var t=rO();U(`click`,t,se),K(e,t)};J(n,e=>{H(g)&&H(m)&&e(r)});var i=B(n,2),a=B(i,2);let o,s;var c=R(a),u=e=>{var t=iO(),n=z(t);ei(B(n,2),()=>H(C).name,e=>{{let t=P(()=>H(E)?()=>{I(d,H(C).name,!0),I(l,`mindHistory`)}:void 0),n=P(()=>H(T)?()=>pe(H(C).name):void 0);Yb(e,{get mind(){return H(C)},get onExpand(){return H(t)},get onChat(){return H(n)}})}}),U(`click`,n,se),K(e,t)},f=e=>{Bp(e,{get conversation(){return H(b)},get minds(){return qf.minds},get typingNames(){return H(p)},onOpenMind:le,onClose:se})};J(c,e=>{H(C)?e(u):H(b)?.type===`channel`&&e(f,1)}),A(a),V(()=>{o=X(a,1,`right-panel svelte-1ocnzw1`,null,o,{"right-panel-open":H(g)&&H(m)}),s=Z(a,``,s,{width:`${vp.width??``}px`})}),U(`pointerdown`,i,Ee),U(`pointermove`,i,De),U(`pointerup`,i,Oe),Ir(`pointercancel`,i,Oe),K(e,t)};J(Qe,e=>{H(te)&&e($e)}),A(je),A(f),A(r);var et=B(r,2),tt=e=>{ES(e,{onClose:()=>I(l,null),onJoined:me})};J(et,e=>{H(l)===`channelBrowser`&&e(tt)});var nt=B(et,2),rt=e=>{fC(e,{onClose:()=>I(l,null),onCreated:he})};J(nt,e=>{H(l)===`seed`&&e(rt)});var it=B(nt,2),at=e=>{xC(e,{onClose:()=>I(l,null)})};J(it,e=>{H(l)===`userSettings`&&e(at)});var ot=B(it,2),st=e=>{$a(e,{get title(){return`History — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=oO(),r=R(n);{let e=P(()=>qf.minds.find(e=>e.name===H(d))?.status);fy(r,{get name(){return H(d)},get mindStatus(){return H(e)}})}A(n),K(e,n)},$$slots:{default:!0}})};J(ot,e=>{H(l)===`mindHistory`&&H(d)&&e(st)});var ct=B(ot,2),lt=e=>{$a(e,{get title(){return`Files — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=sO(),r=R(n);bS(r,{get name(){return H(d)}}),BC(B(r,2),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(ct,e=>{H(l)===`mindFiles`&&H(d)&&e(lt)});var ut=B(ct,2),dt=e=>{let t=P(()=>qf.minds.find(e=>e.name===H(d)));var n=G(),r=z(n),i=e=>{$a(e,{get title(){return`Settings — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,n)=>{eS(e,{get mind(){return H(t)}})},$$slots:{default:!0}})};J(r,e=>{H(t)&&e(i)}),K(e,n)};J(ut,e=>{H(l)===`mindSettings`&&H(d)&&e(dt)});var ft=B(ut,2),pt=e=>{$a(e,{get title(){return`Variants — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=oO();pS(R(n),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(ft,e=>{H(l)===`mindVariants`&&H(d)&&e(pt)});var mt=B(ft,2),ht=e=>{$a(e,{get title(){return`Events — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=oO();Sb(R(n),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(mt,e=>{H(l)===`mindEvents`&&H(d)&&e(ht)});var gt=B(mt,2),_t=e=>{tC(e,{get mindName(){return H(d)},onClose:()=>{I(l,null),I(d,null)}})};J(gt,e=>{H(l)===`mindContext`&&H(d)&&e(_t)});var vt=B(gt,2),yt=e=>{$a(e,{title:`Settings`,onClose:()=>I(l,null),children:(e,t)=>{BD(e,{})},$$slots:{default:!0}})};J(vt,e=>{H(l)===`systemSettings`&&e(yt)});var bt=B(vt,2),xt=e=>{$a(e,{title:`System Logs`,onClose:()=>I(l,null),children:(e,t)=>{var n=oO();ew(R(n),{}),A(n),K(e,n)},$$slots:{default:!0}})};J(bt,e=>{H(l)===`systemLogs`&&e(xt)}),V(()=>{x=X(y,1,`sidebar svelte-1ocnzw1`,null,x,{"sidebar-open":dp.sidebarOpen}),w=Z(y,``,w,{width:`${hp.width??``}px`}),q(k,Hf.localName||`volute`),Ne=X(Me,1,`main-column svelte-1ocnzw1`,null,Ne,{"has-right-panel":H(te)}),Xi(M,`title`,Hf.user?.username)}),U(`click`,ne,ve),U(`pointerdown`,Ae,Se),U(`pointermove`,Ae,Ce),U(`pointerup`,Ae,we),Ir(`pointercancel`,Ae,we),U(`click`,Fe,function(...e){fp?.apply(this,e)}),U(`click`,M,()=>{I(_,!H(_))}),K(e,t)};J(Me,e=>{Hf.checked?Hf.setupComplete?H(re)?e(Fe,2):Hf.user?e(j,-1):e(Ie,3):e(Pe,1):e(Ne)}),K(e,je),N()}Lr([`click`,`pointerdown`,`pointermove`,`pointerup`]),Jr(lO,{target:document.getElementById(`root`)});
|
|
95
|
+
${n??``}`)},[()=>H(C).snapshotId.slice(0,8),()=>de(H(C).dataAdded),()=>fe(H(C).durationMs)]),K(e,t)};J(s,e=>{H(w)?e(c):H(C)&&e(l,1)});var u=B(s,2),d=e=>{Ca(e,{get message(){return H(ee)}})},f=e=>{var t=G(),n=z(t),r=e=>{xa(e,{message:`No snapshots yet.`})},i=e=>{var t=HT();Y(t,21,()=>H(T),e=>e.id,(e,t)=>{var n=VT(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a);var s=B(a,2),c=R(s,!0);A(s),A(n),V(e=>{q(i,H(t).short_id),q(o,e),q(c,H(t).hostname)},[()=>new Date(H(t).time).toLocaleString()]),K(e,n)}),A(t),K(e,t)};J(n,e=>{H(T).length===0?e(r):e(i,-1)}),K(e,t)};J(u,e=>{H(ee)?e(d):H(T)&&e(f,1)}),K(e,r)},$$slots:{default:!0}}),K(e,t)};J(me,e=>{H(ne)?e(he):H(D)?e(ge,1):e(_e,-1)}),A(pe),K(e,pe),N()}Lr([`input`]);var qT=W(`<form class="install-form svelte-1yivsg9"><input type="text" class="install-input svelte-1yivsg9" placeholder="npm package name"/> <!></form>`),JT=W(`<div class="restart-banner svelte-1yivsg9">Restart the daemon to apply changes.</div>`),YT=W(`<div class="ext-desc svelte-1yivsg9"> </div>`),XT=W(`<div class="ext-actions svelte-1yivsg9"><!></div>`),ZT=W(`<div class="ext-row svelte-1yivsg9"><label class="enabled-toggle svelte-1yivsg9"><input type="checkbox" class="svelte-1yivsg9"/> <span class="toggle-track svelte-1yivsg9"><span class="toggle-thumb svelte-1yivsg9"></span></span></label> <div class="ext-info svelte-1yivsg9"><div class="ext-name svelte-1yivsg9"> </div> <!> <div class="ext-meta svelte-1yivsg9"> </div></div> <!></div>`),QT=W(`<div class="ext-list svelte-1yivsg9"><div class="column-header svelte-1yivsg9"><span class="column-label svelte-1yivsg9">Enabled</span></div> <!></div>`),$T=W(`<!> <!> <!> <!>`,1);function eE(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1),s=F(``);function c(){lf().then(e=>{I(n,e,!0),I(i,!1),I(r,``)}).catch(e=>{I(r,e instanceof Error?e.message:`Failed to load extensions`,!0),I(i,!1)})}ma(c);async function l(e){I(a,e.id,!0),I(r,``);try{await uf(e.id,!e.enabled),e.enabled=!e.enabled,I(o,!0)}catch(e){I(r,e instanceof Error?e.message:`Failed to update`,!0)}I(a,null)}async function u(){let e=H(s).trim();if(e){I(a,`install`),I(r,``);try{await df(e),I(s,``),I(o,!0),c()}catch(e){I(r,e instanceof Error?e.message:`Failed to install`,!0)}I(a,null)}}async function d(e){if(e.package){I(a,e.id,!0),I(r,``);try{await ff(e.package),I(o,!0),c()}catch(e){I(r,e instanceof Error?e.message:`Failed to uninstall`,!0)}I(a,null)}}let f=P(()=>[...H(n).filter(e=>e.source===`builtin`),...H(n).filter(e=>e.source!==`builtin`)]);var p=G(),m=z(p),h=e=>{xa(e,{message:`Loading...`})},g=e=>{var t=$T(),i=z(t);Ca(i,{get message(){return H(r)}});var c=B(i,2);no(c,{title:`Extensions`,action:e=>{var t=qT(),n=R(t);Ki(n);var r=B(n,2);{let e=P(()=>H(a)!==null||!H(s).trim());_a(r,{variant:`primary`,onclick:u,get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(a)===`install`?`Installing...`:`Install`)),K(e,n)},$$slots:{default:!0}})}A(t),V(()=>n.disabled=H(a)!==null),Ir(`submit`,t,e=>{e.preventDefault(),u()}),aa(n,()=>H(s),e=>I(s,e)),K(e,t)},$$slots:{action:!0}});var p=B(c,2),m=e=>{K(e,JT())};J(p,e=>{H(o)&&e(m)});var h=B(p,2),g=e=>{xa(e,{message:`No extensions found.`})},_=e=>{var t=QT();Y(B(R(t),2),17,()=>H(f),e=>e.id,(e,t)=>{var n=ZT(),r=R(n),i=R(r);Ki(i),j(2),A(r);var o=B(r,2),s=R(o),c=R(s,!0);A(s);var u=B(s,2),f=e=>{var n=YT(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(u,e=>{H(t).description&&e(f)});var p=B(u,2),m=R(p);A(p),A(o);var h=B(o,2),g=e=>{var n=XT(),r=R(n);{let e=P(()=>H(a)!==null);_a(r,{variant:`danger`,onclick:()=>d(H(t)),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(a)===H(t).id?`...`:`Uninstall`)),K(e,r)},$$slots:{default:!0}})}A(n),K(e,n)};J(h,e=>{H(t).source===`npm`&&H(t).package&&e(g)}),A(n),V(()=>{Xi(r,`title`,H(t).enabled?`Enabled`:`Disabled`),Ji(i,H(t).enabled),i.disabled=H(a)!==null,q(c,H(t).name),q(m,`${H(t).id??``} · v${H(t).version??``} · ${H(t).source??``}`)}),U(`change`,i,()=>l(H(t))),K(e,n)}),A(t),K(e,t)};J(h,e=>{H(n).length===0?e(g):e(_,-1)}),K(e,t)};J(m,e=>{H(i)?e(h):e(g,-1)}),K(e,p),N()}Lr([`change`]);var tE=W(`<p class="loading-text svelte-y2443v">Loading...</p>`),nE=W(`<!> <button class="setting-hint-btn svelte-y2443v">back</button>`,1),rE=W(`<option> </option>`),iE=W(`<option>--</option> <!> <option>other...</option>`,1),aE=W(`<div class="slider-control svelte-y2443v"><input type="range" class="thinking-slider svelte-y2443v" min="0" max="5" step="1"/> <span> </span></div>`),oE=W(`<!> <span class="setting-hint svelte-y2443v">per</span> <!> <span class="setting-hint svelte-y2443v">min</span>`,1),sE=W(`<!> <span class="setting-hint svelte-y2443v">tokens</span>`,1),cE=W(`<!> <!> <!> <!>`,1),lE=W(`<div class="cron-preview svelte-y2443v"> </div>`),uE=W(`<div class="sleep-summary svelte-y2443v"><span class="sleep-desc svelte-y2443v">Custom schedule</span> <!></div> <div class="cron-row svelte-y2443v"><span class="cron-label svelte-y2443v">Sleep at</span> <!></div> <!> <div class="cron-row svelte-y2443v"><span class="cron-label svelte-y2443v">Wake at</span> <!></div> <!>`,1),dE=W(`<div class="sleep-summary svelte-y2443v"><span class="sleep-desc svelte-y2443v"> </span> <!></div> <!> <!>`,1),fE=W(`<!> <div class="wake-triggers svelte-y2443v"><div class="subsection-header small svelte-y2443v">What wakes the mind early</div> <div class="trigger-row svelte-y2443v"><!></div> <div class="trigger-row svelte-y2443v"><!></div> <div class="trigger-row svelte-y2443v"><span class="trigger-text svelte-y2443v">Channels</span> <!></div> <div class="trigger-row svelte-y2443v"><span class="trigger-text svelte-y2443v">Senders</span> <!></div></div>`,1),pE=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),mE=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <span class="form-hint svelte-y2443v">Every</span> <!> <span class="form-hint svelte-y2443v">hours</span></div>`),hE=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <span class="form-hint svelte-y2443v">At</span> <!></div>`),gE=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <!></div>`),_E=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),vE=W(`<div class="schedule-form svelte-y2443v"><div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Name</span> <!></div> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Frequency</span> <!></div> <!> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Message</span> <textarea class="message-input svelte-y2443v" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">If sleeping</span> <!></div> <div class="form-actions svelte-y2443v"><!> <!></div></div>`),yE=W(`<div class="schedule-card editing svelte-y2443v"><div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Frequency</span> <!></div> <!> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">Message</span> <textarea class="message-input svelte-y2443v" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v">If sleeping</span> <!></div> <div class="form-actions svelte-y2443v"><!> <!></div></div>`),bE=W(`<div class="schedule-message svelte-y2443v"> </div>`),xE=W(`<div><div class="schedule-top svelte-y2443v"><span class="schedule-name svelte-y2443v"> </span> <span class="schedule-freq svelte-y2443v"><!></span> <div class="schedule-actions svelte-y2443v"><!> <!> <!></div></div> <!></div>`),SE=W(`<div class="schedule-list svelte-y2443v"></div>`),CE=W(`<div class="subsection svelte-y2443v"><div class="subsection-header svelte-y2443v"><span>Sleep</span> <!></div> <!></div> <div class="subsection svelte-y2443v"><div class="subsection-header svelte-y2443v"><span>Schedules</span> <!></div> <!> <!></div>`,1),wE=W(`<span class="save-status svelte-y2443v">Saving...</span>`),TE=W(`<span class="save-status saved svelte-y2443v">Saved</span>`),EE=W(`<!> <!> <div class="status-bar svelte-y2443v"><!></div>`,1),DE=W(`<div class="mind-defaults svelte-y2443v"><!></div>`);function OE(e,t){M(t,!0);let n=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],r=F(L([])),i=F(``),a=F(0),o=F(``),s=F(``),c=F(``),l=F(!0),u=F(0),d=F(0),f=F(8),p=F(0),m=F(!1),h=F(``),g=F(``),_=F(L(Qd.mentions)),v=F(L(Qd.dms)),y=F(``),b=F(``),x=F(L([])),S=F(!1),C=F(null),w=F(``),T=F(`daily`),E=F(4),ee=F(12),te=F(0),ne=F(``),D=F(``),O=F(`skip`),re=F(`cron`),ie=F(4),ae=F(12),k=F(0),oe=F(``),se=F(``),ce=F(`skip`),le=F(!0),ue=F(``),de=F(!0),fe=F(!1),pe=F(`idle`),me,he=P(()=>H(r).filter(e=>e.enabled)),ge=P(()=>H(i)!==``&&!H(he).some(e=>e.id===H(i))),_e=P(()=>n[H(a)]);function ve(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}function ye(e){let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return t.length?t:void 0}async function be(){I(pe,`saving`),clearTimeout(me);try{await Id({cognition:{model:H(i)||void 0,thinkingLevel:n[H(a)]===`off`?void 0:n[H(a)],tokenBudget:ve(H(o))??void 0,tokenBudgetPeriodMinutes:ve(H(s))??void 0,compaction:ve(H(c))==null?void 0:{maxContextTokens:ve(H(c))}},sleep:{enabled:H(l),schedule:H(l)?{sleep:H(m)?H(h):Nb(H(u),H(d)),wake:H(m)?H(g):Nb(H(f),H(p))}:void 0,wakeTriggers:H(l)?{mentions:H(_),dms:H(v),channels:ye(H(y)),senders:ye(H(b))}:void 0},schedules:H(x).length>0?H(x):void 0}),I(ue,``),I(pe,`saved`),me=setTimeout(()=>{I(pe,`idle`)},1500)}catch(e){I(ue,e instanceof Error?e.message:`Save failed`,!0),I(pe,`idle`)}}function xe(e){let t=e.target.value;t===`__other__`?I(i,``):(I(i,t,!0),t&&be())}function Se(e){I(a,parseInt(e.target.value,10),!0),be()}function Ce(e){I(C,e.id,!0);let t=e.cron?Pb(e.cron):{type:`daily`};I(re,t.type,!0),I(ie,t.hours??4,!0),I(ae,t.hour??12,!0),I(k,t.minute??0,!0),I(oe,e.cron??``,!0),I(se,Ib(e),!0),I(ce,e.whileSleeping??`skip`,!0),I(le,e.enabled,!0)}function we(){if(!H(C))return;let e=Fb(H(re),{hours:H(ie),hour:H(ae),minute:H(k),cron:H(oe)});I(x,H(x).map(t=>t.id===H(C)?{...t,cron:e||void 0,message:void 0,messages:void 0,...Lb(H(se)),whileSleeping:H(ce),enabled:H(le)}:t),!0),I(C,null),be()}function Te(){if(!H(w).trim())return;let e=Fb(H(T),{hours:H(E),hour:H(ee),minute:H(te),cron:H(ne)});I(x,[...H(x),{id:H(w).trim(),cron:e||void 0,...Lb(H(D)),enabled:!0,whileSleeping:H(O)}],!0),I(w,``),I(T,`daily`),I(E,4),I(ee,12),I(te,0),I(ne,``),I(D,``),I(O,`skip`),I(S,!1),be()}function Ee(e){I(x,H(x).filter(t=>t.id!==e),!0),be()}function De(e){I(x,H(x).map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t),!0),be()}ma(async()=>{try{let[e,t]=await Promise.all([Fd(),wd()]);if(I(r,t,!0),e.cognition){I(i,e.cognition.model??``,!0);let t=e.cognition.thinkingLevel??`off`;I(a,Math.max(0,n.indexOf(t)),!0),I(o,e.cognition.tokenBudget==null?``:String(e.cognition.tokenBudget),!0),I(s,e.cognition.tokenBudgetPeriodMinutes==null?``:String(e.cognition.tokenBudgetPeriodMinutes),!0),I(c,e.cognition.compaction?.maxContextTokens==null?``:String(e.cognition.compaction.maxContextTokens),!0)}if(e.sleep){I(l,e.sleep.enabled??!0,!0);let t=e.sleep.schedule?Mb(e.sleep.schedule.sleep):null,n=e.sleep.schedule?Mb(e.sleep.schedule.wake):null;t&&n?(I(u,t.hour,!0),I(d,t.minute,!0),I(f,n.hour,!0),I(p,n.minute,!0)):e.sleep.schedule&&(I(m,!0),I(h,e.sleep.schedule.sleep,!0),I(g,e.sleep.schedule.wake,!0)),I(_,e.sleep.wakeTriggers?.mentions??Qd.mentions,!0),I(v,e.sleep.wakeTriggers?.dms??Qd.dms,!0),I(y,(e.sleep.wakeTriggers?.channels??[]).join(`, `),!0),I(b,(e.sleep.wakeTriggers?.senders??[]).join(`, `),!0)}e.schedules&&I(x,e.schedules,!0)}catch(e){I(ue,e instanceof Error?e.message:`Failed to load defaults`,!0),I(fe,!0)}I(de,!1)});var Oe=DE(),ke=R(Oe),Ae=e=>{K(e,tE())},je=e=>{Ca(e,{get message(){return H(ue)}})},Me=e=>{var t=EE(),n=z(t);uo(n,{title:`Model`,children:(e,t)=>{var n=cE(),r=z(n);co(r,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),a=e=>{var t=nE(),n=z(t);Xa(n,{type:`text`,onblur:()=>be(),placeholder:`Model ID`,get value(){return H(i)},set value(e){I(i,e,!0)}}),U(`click`,B(n,2),()=>{I(i,H(he)[0]?.id??``,!0),H(i)&&be()}),K(e,t)},o=e=>{oo(e,{get value(){return H(i)},onchange:xe,children:(e,t)=>{var n=iE(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(he),e=>e.id,(e,t)=>{var n=rE(),r=R(n,!0);A(n);var i={};V(()=>{q(r,H(t).name),i!==(i=H(t).id)&&(n.value=(n.__value=H(t).id)??``)}),K(e,n)});var a=B(i,2);a.value=a.__value=`__other__`,K(e,n)},$$slots:{default:!0}})};J(r,e=>{H(ge)?e(a):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var l=B(r,2);co(l,{label:`Thinking`,children:(e,t)=>{var n=aE(),r=R(n);Ki(r);var i=B(r,2);let o;var s=R(i,!0);A(i),A(n),V(()=>{qi(r,H(a)),o=X(i,1,`slider-label svelte-y2443v`,null,o,{off:H(a)===0}),q(s,H(_e))}),U(`change`,r,Se),K(e,n)},$$slots:{default:!0}});var u=B(l,2);co(u,{label:`Budget`,children:(e,t)=>{var n=oE(),r=z(n);Xa(r,{type:`number`,width:`80px`,onblur:()=>be(),placeholder:`tokens`,get value(){return H(o)},set value(e){I(o,e,!0)}}),Xa(B(r,4),{type:`number`,width:`80px`,onblur:()=>be(),placeholder:`min`,get value(){return H(s)},set value(e){I(s,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),co(B(u,2),{label:`Context`,children:(e,t)=>{var n=sE();Xa(z(n),{type:`number`,width:`80px`,onblur:()=>be(),placeholder:`150000`,get value(){return H(c)},set value(e){I(c,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}});var r=B(n,2);uo(r,{title:`Clock`,children:(e,t)=>{var n=CE(),r=z(n),i=R(r),a=B(R(i),2);{let e=P(()=>H(l)?`On`:`Off`);Co(a,{get checked(){return H(l)},onchange:()=>{I(l,!H(l)),be()},get label(){return H(e)}})}A(i);var o=B(i,2),s=e=>{var t=fE(),n=z(t),r=e=>{var t=uE(),n=z(t);_a(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(m,!1),be()},children:(e,t)=>{j(),K(e,Kr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);Xa(B(R(r),2),{variant:`mono`,style:`flex:1`,onblur:()=>be(),placeholder:`0 0 * * *`,get value(){return H(h)},set value(e){I(h,e,!0)}}),A(r);var i=B(r,2),a=e=>{var t=lE(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>kb(H(h))]),K(e,t)};J(i,e=>{H(h)&&e(a)});var o=B(i,2);Xa(B(R(o),2),{variant:`mono`,style:`flex:1`,onblur:()=>be(),placeholder:`0 8 * * *`,get value(){return H(g)},set value(e){I(g,e,!0)}}),A(o);var s=B(o,2),c=e=>{var t=lE(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>kb(H(g))]),K(e,t)};J(s,e=>{H(g)&&e(c)}),K(e,t)},i=e=>{var t=dE(),n=z(t),r=R(n),i=R(r);A(r),_a(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(m,!0),I(h,Nb(H(u),H(d)),!0),I(g,Nb(H(f),H(p)),!0)},children:(e,t)=>{j(),K(e,Kr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);bo(a,{label:`Sleep at`,onchange:()=>be(),get hour(){return H(u)},set hour(e){I(u,e,!0)},get minute(){return H(d)},set minute(e){I(d,e,!0)}}),bo(B(a,2),{label:`Wake at`,onchange:()=>be(),get hour(){return H(f)},set hour(e){I(f,e,!0)},get minute(){return H(p)},set minute(e){I(p,e,!0)}}),V((e,t)=>q(i,`Sleeps at ${e??``}, wakes at ${t??``}`),[()=>Ab(H(u),H(d)),()=>Ab(H(f),H(p))]),K(e,t)};J(n,e=>{H(m)?e(r):e(i,-1)});var a=B(n,2),o=B(R(a),2);Co(R(o),{get checked(){return H(_)},onchange:()=>{I(_,!H(_)),be()},label:`When mentioned`}),A(o);var s=B(o,2);Co(R(s),{get checked(){return H(v)},onchange:()=>{I(v,!H(v)),be()},label:`Direct messages`}),A(s);var c=B(s,2);Xa(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`channel1, channel2`,onblur:()=>be(),get value(){return H(y)},set value(e){I(y,e,!0)}}),A(c);var l=B(c,2);Xa(B(R(l),2),{type:`text`,style:`flex:1`,placeholder:`user1, user2`,onblur:()=>be(),get value(){return H(b)},set value(e){I(b,e,!0)}}),A(l),A(a),K(e,t)};J(o,e=>{H(l)&&e(s)}),A(r);var c=B(r,2),le=R(c);_a(B(R(le),2),{variant:`primary`,onclick:()=>I(S,!0),children:(e,t)=>{j(),K(e,Kr(`Add`))},$$slots:{default:!0}}),A(le);var ue=B(le,2),de=e=>{var t=vE(),n=R(t);Xa(B(R(n),2),{type:`text`,style:`flex:1`,placeholder:`e.g. heartbeat`,get value(){return H(w)},set value(e){I(w,e,!0)}}),A(n);var r=B(n,2);oo(B(R(r),2),{get value(){return H(T)},set value(e){I(T,e,!0)},children:(e,t)=>{var n=pE(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(r);var i=B(r,2),a=e=>{var t=mE();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(E)},set value(e){I(E,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=hE();bo(B(R(t),4),{get hour(){return H(ee)},set hour(e){I(ee,e,!0)},get minute(){return H(te)},set minute(e){I(te,e,!0)}}),A(t),K(e,t)},s=e=>{var t=gE();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(ne)},set value(e){I(ne,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(T)===`hours`?e(a):H(T)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);hn(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(O)},set value(e){I(O,e,!0)},children:(e,t)=>{var n=_E(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>!H(w).trim());_a(f,{variant:`primary`,onclick:Te,get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Kr(`Add schedule`))},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(S,!1),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(d),A(t),aa(l,()=>H(D),e=>I(D,e)),K(e,t)};J(ue,e=>{H(S)&&e(de)});var fe=B(ue,2),pe=e=>{xa(e,{message:`No default schedules configured.`})},me=e=>{var t=SE();Y(t,21,()=>H(x),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var t=yE(),n=R(t);oo(B(R(n),2),{get value(){return H(re)},set value(e){I(re,e,!0)},children:(e,t)=>{var n=pE(),r=z(n);r.value=r.__value=`hours`;var i=B(r,2);i.value=i.__value=`daily`;var a=B(i,2);a.value=a.__value=`cron`,K(e,n)},$$slots:{default:!0}}),A(n);var r=B(n,2),i=e=>{var t=mE();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(ie)},set value(e){I(ie,e,!0)}}),j(2),A(t),K(e,t)},a=e=>{var t=hE();bo(B(R(t),4),{get hour(){return H(ae)},set hour(e){I(ae,e,!0)},get minute(){return H(k)},set minute(e){I(k,e,!0)}}),A(t),K(e,t)},o=e=>{var t=gE();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(oe)},set value(e){I(oe,e,!0)}}),A(t),K(e,t)};J(r,e=>{H(re)===`hours`?e(i):H(re)===`daily`?e(a,1):e(o,-1)});var s=B(r,2),c=B(R(s),2);hn(c),A(s);var l=B(s,2);oo(B(R(l),2),{get value(){return H(ce)},set value(e){I(ce,e,!0)},children:(e,t)=>{var n=_E(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(l);var u=B(l,2),d=R(u);_a(d,{variant:`primary`,onclick:we,children:(e,t)=>{j(),K(e,Kr(`Save`))},$$slots:{default:!0}}),_a(B(d,2),{variant:`secondary`,onclick:()=>I(C,null),children:(e,t)=>{j(),K(e,Kr(`Cancel`))},$$slots:{default:!0}}),A(u),A(t),aa(c,()=>H(se),e=>I(se,e)),K(e,t)},a=e=>{var n=xE();let r;var i=R(n),a=R(i),o=R(a,!0);A(a);var s=B(a,2),c=R(s),l=e=>{var n=Kr();V(e=>q(n,e),[()=>kb(H(t).cron)]),K(e,n)},u=e=>{K(e,Kr(`--`))};J(c,e=>{H(t).cron?e(l):e(u,-1)}),A(s);var d=B(s,2),f=R(d);Co(f,{get checked(){return H(t).enabled},onchange:()=>De(H(t))});var p=B(f,2);_a(p,{variant:`icon`,onclick:()=>Ce(H(t)),children:(e,t)=>{j(),K(e,Kr(`Edit`))},$$slots:{default:!0}}),_a(B(p,2),{variant:`danger`,size:`sm`,onclick:()=>Ee(H(t).id),children:(e,t)=>{j(),K(e,Kr(`Del`))},$$slots:{default:!0}}),A(d),A(i);var m=B(i,2),h=e=>{var n=bE(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>Ib(H(t))]),K(e,n)};J(m,e=>{(H(t).message||H(t).messages?.length)&&e(h)}),A(n),V(()=>{r=X(n,1,`schedule-card svelte-y2443v`,null,r,{disabled:!H(t).enabled}),q(o,H(t).id)}),K(e,n)};J(r,e=>{H(C)===H(t).id?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)};J(fe,e=>{H(x).length===0&&!H(S)?e(pe):e(me,-1)}),A(c),K(e,n)},$$slots:{default:!0}});var le=B(r,2),de=R(le),fe=e=>{Ca(e,{get message(){return H(ue)}})},me=e=>{K(e,wE())},ve=e=>{K(e,TE())};J(de,e=>{H(ue)?e(fe):H(pe)===`saving`?e(me,1):H(pe)===`saved`&&e(ve,2)}),A(le),K(e,t)};J(ke,e=>{H(de)?e(Ae):H(fe)?e(je,1):e(Me,-1)}),A(Oe),K(e,Oe),N()}Lr([`click`,`change`]);var kE=W(`<div class="upload-area svelte-ywjv10"><input type="file" accept=".zip" class="file-input svelte-ywjv10"/> <!></div>`),AE=W(`<div class="skill-desc svelte-ywjv10"> </div>`),jE=W(`<div class="skill-row svelte-ywjv10"><label class="default-toggle svelte-ywjv10"><input type="checkbox" class="svelte-ywjv10"/> <span class="toggle-track svelte-ywjv10"><span class="toggle-thumb svelte-ywjv10"></span></span></label> <div class="skill-info svelte-ywjv10"><div class="skill-name svelte-ywjv10"> </div> <!> <div class="skill-meta svelte-ywjv10"> </div></div> <div class="skill-actions svelte-ywjv10"><!></div></div>`),ME=W(`<div class="skill-list svelte-ywjv10"><div class="column-header svelte-ywjv10"><span class="column-label svelte-ywjv10">Default</span></div> <!></div>`),NE=W(`<!> <!> <div class="auto-update-row svelte-ywjv10"><label class="default-toggle svelte-ywjv10"><input type="checkbox" class="svelte-ywjv10"/> <span class="toggle-track svelte-ywjv10"><span class="toggle-thumb svelte-ywjv10"></span></span></label> <div class="auto-update-info svelte-ywjv10"><span class="auto-update-label svelte-ywjv10">Auto-update mind skills</span> <span class="auto-update-desc svelte-ywjv10">Automatically update installed skills on all minds when a new version is available</span></div></div> <!>`,1);function PE(e,t){M(t,!0);let n=F(L([])),r=F(L([])),i=F(!0),a=F(``),o=F(!0),s=F(null);function c(){Promise.all([ed(),sd(),ud()]).then(([e,t,s])=>{I(n,e.sort((e,t)=>e.name.localeCompare(t.name)),!0),I(r,t,!0),I(i,s,!0),I(o,!1),I(a,``)}).catch(()=>{I(a,`Failed to load skills`),I(o,!1)})}async function l(){let e=!H(i);I(i,e);try{await dd(e)}catch(t){I(i,!e),I(a,t instanceof Error?t.message:`Failed to update setting`,!0)}}ma(c);let u=F(void 0);async function d(){let e=H(u)?.files?.[0];if(e){I(s,`upload`),I(a,``);try{await Xd(e),c(),H(u).value=``}catch(e){I(a,e instanceof Error?e.message:`Failed to upload`,!0)}I(s,null)}}async function f(e){I(s,e,!0),I(a,``);try{await od(e),c()}catch(e){I(a,e instanceof Error?e.message:`Failed to remove`,!0)}I(s,null)}async function p(e){I(s,`default:${e}`),I(a,``);try{H(r).includes(e)?I(r,await ld(e),!0):I(r,await cd(e),!0)}catch(e){I(a,e instanceof Error?e.message:`Failed to update defaults`,!0)}I(s,null)}var m=G(),h=z(m),g=e=>{xa(e,{message:`Loading...`})},_=e=>{var t=NE(),o=z(t);Ca(o,{get message(){return H(a)}});var c=B(o,2);no(c,{title:`Skills`,action:e=>{var t=kE(),n=R(t);ua(n,e=>I(u,e),()=>H(u));var r=B(n,2);{let e=P(()=>H(s)!==null);_a(r,{variant:`primary`,onclick:()=>H(u).click(),get disabled(){return H(e)},children:(e,t)=>{j();var n=Kr();V(()=>q(n,H(s)===`upload`?`Uploading...`:`Upload .zip`)),K(e,n)},$$slots:{default:!0}})}A(t),U(`change`,n,d),K(e,t)},$$slots:{action:!0}});var m=B(c,2),h=R(m),g=R(h);Ki(g),j(2),A(h),j(2),A(m);var _=B(m,2),v=e=>{xa(e,{message:`No shared skills yet.`})},y=e=>{var t=ME();Y(B(R(t),2),17,()=>H(n),e=>e.id,(e,t)=>{var n=jE(),i=R(n),a=R(i);Ki(a),j(2),A(i);var o=B(i,2),c=R(o),l=R(c,!0);A(c);var u=B(c,2),d=e=>{var n=AE(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(u,e=>{H(t).description&&e(d)});var m=B(u,2),h=R(m);A(m),A(o);var g=B(o,2),_=R(g);{let e=P(()=>H(s)!==null);_a(_,{variant:`danger`,onclick:()=>f(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Kr();V(()=>q(r,H(s)===H(t).id?`...`:`Delete`)),K(e,r)},$$slots:{default:!0}})}A(g),A(n),V((e,n)=>{Xi(i,`title`,e),Ji(a,n),a.disabled=H(s)!==null,q(l,H(t).name),q(h,`${H(t).id??``} · v${H(t).version??``} · by ${H(t).author??``}`)},[()=>H(r).includes(H(t).id)?`Installed on new minds`:`Not installed on new minds`,()=>H(r).includes(H(t).id)]),U(`change`,a,()=>p(H(t).id)),K(e,n)}),A(t),K(e,t)};J(_,e=>{H(n).length===0?e(v):e(y,-1)}),V(()=>{Xi(h,`title`,H(i)?`Skills auto-update on daemon restart`:`Skills must be updated manually per mind`),Ji(g,H(i))}),U(`change`,g,l),K(e,t)};J(h,e=>{H(o)?e(g):e(_,-1)}),K(e,m),N()}Lr([`change`]);function FE(e){let t=e-1;return t*t*t+1}function IE(e,{delay:t=0,duration:n=400,easing:r=FE,axis:i=`y`}={}){let a=getComputedStyle(e),o=+a.opacity,s=i===`y`?`height`:`width`,c=parseFloat(a[s]),l=i===`y`?[`top`,`bottom`]:[`left`,`right`],u=l.map(e=>`${e[0].toUpperCase()}${e.slice(1)}`),d=parseFloat(a[`padding${u[0]}`]),f=parseFloat(a[`padding${u[1]}`]),p=parseFloat(a[`margin${u[0]}`]),m=parseFloat(a[`margin${u[1]}`]),h=parseFloat(a[`border${u[0]}Width`]),g=parseFloat(a[`border${u[1]}Width`]);return{delay:t,duration:n,easing:r,css:e=>`overflow: hidden;opacity: ${Math.min(e*20,1)*o};${s}: ${e*c}px;padding-${l[0]}: ${e*d}px;padding-${l[1]}: ${e*f}px;margin-${l[0]}: ${e*p}px;margin-${l[1]}: ${e*m}px;border-${l[0]}-width: ${e*h}px;border-${l[1]}-width: ${e*g}px;min-${s}: 0`}}var LE=W(`<span class="username svelte-fqyh9p"> </span>`),RE=Gr(`<rect x="4" y="8" width="16" height="12" rx="2"></rect><circle cx="9" cy="14" r="1.5"></circle><circle cx="15" cy="14" r="1.5"></circle><line x1="12" y1="4" x2="12" y2="8"></line><circle cx="12" cy="3" r="1"></circle>`,1),zE=Gr(`<path d="M5 11a7 7 0 1 1 14 0c0 3-1.5 5-3 6v3H8v-3c-1.5-1-3-3-3-6z"></path><path d="M5 10c-.6 0-1 .8-1 1.8S4.4 13.5 5 13.5"></path><path d="M19 10c.6 0 1 .8 1 1.8s-.4 1.7-1 1.7"></path><circle cx="9.5" cy="10.5" r="1" fill="currentColor" stroke="none"></circle><circle cx="14.5" cy="10.5" r="1" fill="currentColor" stroke="none"></circle>`,1),BE=W(`<span class="role admin svelte-fqyh9p">admin</span>`),VE=W(`<span class="role pending svelte-fqyh9p">pending</span> <button class="approve-btn svelte-fqyh9p">approve</button>`,1),HE=W(`<div class="error svelte-fqyh9p"> </div>`),UE=W(`<button class="action-btn svelte-fqyh9p">remove admin</button>`),WE=W(`<button class="action-btn svelte-fqyh9p">make admin</button>`),GE=W(`<span class="confirm-prompt svelte-fqyh9p"> <button class="confirm-yes svelte-fqyh9p"> </button> <button class="confirm-no svelte-fqyh9p">no</button></span>`),KE=W(`<button class="action-btn danger svelte-fqyh9p">delete</button>`),qE=W(`<div class="detail-panel svelte-fqyh9p"><div class="field svelte-fqyh9p"><label class="svelte-fqyh9p">Display name</label> <input type="text" class="svelte-fqyh9p"/></div> <div class="field svelte-fqyh9p"><label class="svelte-fqyh9p">Description</label> <input type="text" placeholder="Optional description" class="svelte-fqyh9p"/></div> <!> <div class="detail-actions svelte-fqyh9p"><div class="left-actions svelte-fqyh9p"><!> <!></div> <button class="save-btn svelte-fqyh9p"> </button></div></div>`),JE=W(`<div><div class="user-row svelte-fqyh9p" role="button" tabindex="0"><span></span> <div class="user-info svelte-fqyh9p"><span class="display-name svelte-fqyh9p"> </span> <!> <svg class="type-icon svelte-fqyh9p" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><!></svg></div> <div class="row-actions svelte-fqyh9p"><!> <!> <span>▸</span></div></div> <!></div>`),YE=W(`<div class="empty svelte-fqyh9p">No users yet.</div>`),XE=W(`<div class="container svelte-fqyh9p"><div class="user-list svelte-fqyh9p"></div> <!></div>`);function ZE(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(null),a=F(``),o=F(``),s=F(!1),c=F(null),l=F(null),u=P(()=>new Map(t.minds.map(e=>[e.name,e]))),d=P(()=>H(n).filter(e=>e.role===`admin`).length);function f(){$l().then(e=>{I(n,e,!0)}).catch(()=>{H(r)||I(r,`Failed to load users`)})}ma(()=>{f()});function p(e){I(r,``),H(i)===e.id?(I(i,null),I(c,null)):(I(i,e.id,!0),I(a,e.display_name??``,!0),I(o,e.description??``,!0),I(c,null))}function m(e){if(e.user_type===`mind`){if(Jf.has(e.username))return;let t=H(u).get(e.username);return t?Ll(t):`var(--text-2)`}return Yf.has(e.username)?`var(--text-0)`:`var(--text-2)`}async function h(e,t){e.stopPropagation();try{await tu(t),f()}catch{I(r,`Failed to approve user`)}}async function g(e,t){e.stopPropagation();let n=t.role===`admin`?`user`:`admin`;try{await nu(t.id,n),f()}catch(e){I(r,e instanceof Error?e.message:`Failed to change role`,!0)}}async function _(e){I(s,!0);try{await ru(e.id,{display_name:H(a).trim()||null,description:H(o).trim()||null}),f()}catch(e){I(r,e instanceof Error?e.message:`Failed to update profile`,!0)}finally{I(s,!1)}}async function v(e){I(l,e.id,!0);try{if(e.user_type===`mind`)try{await bu(e.username,!0),qf.minds=qf.minds.filter(t=>t.name!==e.username)}catch(t){if(t instanceof Error&&t.message.includes(`not found`))await iu(e.id);else throw t}else await iu(e.id);I(i,null),I(c,null),f()}catch(e){I(r,e instanceof Error?e.message:`Failed to delete`,!0)}finally{I(l,null)}}function y(e){return e.user_type===`mind`?`delete mind + data?`:`delete account?`}function b(e){return(H(a).trim()||null)!==(e.display_name??null)||(H(o).trim()||null)!==(e.description??null)}var x=XE(),S=R(x);Y(S,21,()=>H(n),e=>e.id,(e,t)=>{var n=JE();let u;var f=R(n),x=R(f);let S,C;var w=B(x,2),T=R(w),E=R(T,!0);A(T);var ee=B(T,2),te=e=>{var n=LE(),r=R(n);A(n),V(()=>q(r,`@${H(t).username??``}`)),K(e,n)};J(ee,e=>{H(t).display_name&&e(te)});var ne=B(ee,2),D=R(ne),O=e=>{var t=RE();j(4),K(e,t)},re=e=>{var t=zE();j(4),K(e,t)};J(D,e=>{H(t).user_type===`mind`?e(O):e(re,-1)}),A(ne),A(w);var ie=B(w,2),ae=R(ie),k=e=>{K(e,BE())};J(ae,e=>{H(t).role===`admin`&&e(k)});var oe=B(ae,2),se=e=>{var n=VE();U(`click`,B(z(n),2),e=>h(e,H(t).id)),K(e,n)};J(oe,e=>{H(t).role===`pending`&&e(se)});var ce=B(oe,2);let le;A(ie),A(f);var ue=B(f,2),de=e=>{var n=qE(),i=R(n),u=R(i),f=B(u,2);Ki(f),A(i);var p=B(i,2),m=R(p),h=B(m,2);Ki(h),A(p);var x=B(p,2),S=e=>{var t=HE(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)};J(x,e=>{H(r)&&e(S)});var C=B(x,2),w=R(C),T=R(w),E=e=>{var n=UE();V(()=>n.disabled=H(d)<=1),U(`click`,n,e=>g(e,H(t))),K(e,n)},ee=e=>{var n=WE();U(`click`,n,e=>g(e,H(t))),K(e,n)};J(T,e=>{H(t).role===`admin`?e(E):H(t).role!==`pending`&&e(ee,1)});var te=B(T,2),ne=e=>{var n=GE(),r=R(n),i=B(r),a=R(i,!0);A(i);var o=B(i,2);A(n),V(e=>{q(r,`${e??``} `),i.disabled=H(l)===H(t).id,q(a,H(l)===H(t).id?`...`:`yes`)},[()=>y(H(t))]),U(`click`,i,()=>v(H(t))),U(`click`,o,()=>I(c,null)),K(e,n)},D=e=>{var n=KE();V(()=>n.disabled=H(t).role===`admin`&&H(d)<=1),U(`click`,n,()=>I(c,H(t).id,!0)),K(e,n)};J(te,e=>{H(c)===H(t).id?e(ne):e(D,-1)}),A(w);var O=B(w,2),re=R(O,!0);A(O),A(C),A(n),V(e=>{Xi(u,`for`,`dn-${H(t).id??``}`),Xi(f,`id`,`dn-${H(t).id??``}`),Xi(f,`placeholder`,H(t).username),Xi(m,`for`,`desc-${H(t).id??``}`),Xi(h,`id`,`desc-${H(t).id??``}`),O.disabled=e,q(re,H(s)?`saving...`:`save`)},[()=>!b(H(t))||H(s)]),aa(f,()=>H(a),e=>I(a,e)),aa(h,()=>H(o),e=>I(o,e)),U(`click`,O,()=>_(H(t))),bi(3,n,()=>IE,()=>({duration:150})),K(e,n)};J(ue,e=>{H(i)===H(t).id&&e(de)}),A(n),V((e,r)=>{u=X(n,1,`user-card svelte-fqyh9p`,null,u,{expanded:H(i)===H(t).id}),S=X(x,1,`status-dot svelte-fqyh9p`,null,S,e),C=Z(x,``,C,r),q(E,H(t).display_name||H(t).username),le=X(ce,1,`expand-icon svelte-fqyh9p`,null,le,{open:H(i)===H(t).id})},[()=>({iridescent:H(t).user_type===`mind`&&Jf.has(H(t).username)}),()=>({background:m(H(t))})]),U(`click`,f,()=>p(H(t))),U(`keydown`,f,e=>e.key===`Enter`&&p(H(t))),K(e,n)}),A(S);var C=B(S,2),w=e=>{K(e,YE())};J(C,e=>{H(n).length===0&&e(w)}),A(x),K(e,x),N()}Lr([`click`,`keydown`]);var QE=W(`<div class="error svelte-n9btv2"> </div>`),$E=W(`<div class="loading svelte-n9btv2">Loading prompts...</div>`),eD=W(`<span class="custom-count svelte-n9btv2"> </span>`),tD=W(`<span class="custom-badge svelte-n9btv2">customized</span>`),nD=W(`<span class="var-tag svelte-n9btv2"> </span>`),rD=W(`<div class="var-tags svelte-n9btv2"></div>`),iD=W(`<textarea class="edit-area svelte-n9btv2" rows="10"></textarea> <div class="actions svelte-n9btv2"><button class="btn btn-save svelte-n9btv2"> </button> <button class="btn btn-cancel svelte-n9btv2">Cancel</button></div>`,1),aD=W(`<button class="btn btn-reset svelte-n9btv2">Reset</button>`),oD=W(`<pre class="prompt-content svelte-n9btv2"><code class="svelte-n9btv2"> </code></pre> <div class="actions svelte-n9btv2"><button class="btn btn-edit svelte-n9btv2">Edit</button> <!></div>`,1),sD=W(`<div><div class="prompt-header svelte-n9btv2"><span class="prompt-key svelte-n9btv2"> </span> <!></div> <p class="prompt-desc svelte-n9btv2"> </p> <!> <!></div>`),cD=W(`<div class="section-body svelte-n9btv2"></div>`),lD=W(`<div class="section svelte-n9btv2"><button class="section-header svelte-n9btv2"><span class="collapse-icon svelte-n9btv2"> </span> <span class="section-title svelte-n9btv2"> </span> <span class="section-subtitle svelte-n9btv2"> </span> <!></button> <!></div>`),uD=W(`<div class="prompts-page svelte-n9btv2"><!> <!></div>`);function dD(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(null),a=F(``),o=F(!1),s=F(``),c=L({}),l={creation:{label:`Creation Prompts`,subtitle:`Used when creating new minds`},system:{label:`System Messages`,subtitle:`Sent by the daemon to minds`},mind:{label:`Mind Prompts`,subtitle:`Stamped into prompts.json at creation, then mind-owned`}},u=[`creation`,`system`,`mind`],d=P(()=>u.map(e=>({category:e,meta:l[e],items:H(n).filter(t=>t.category===e)})).filter(e=>e.items.length>0));async function f(){try{I(n,await fd(),!0),I(s,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to load prompts`,!0)}finally{I(r,!1)}}ma(f);function p(e){c[e]=!c[e]}function m(e){I(i,e.key,!0),I(a,e.content,!0),c[e.category]=!0}function h(){I(i,null),I(a,``)}async function g(e){I(o,!0);try{await pd(e,H(a)),I(i,null),I(a,``),await f()}catch(e){I(s,e instanceof Error?e.message:`Failed to save`,!0)}finally{I(o,!1)}}async function _(e){I(o,!0);try{await md(e),I(i,null),I(a,``),await f()}catch(e){I(s,e instanceof Error?e.message:`Failed to reset`,!0)}finally{I(o,!1)}}var v=uD(),y=R(v),b=e=>{var t=QE(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(y,e=>{H(s)&&e(b)});var x=B(y,2),S=e=>{K(e,$E())},C=e=>{var t=G();Y(z(t),17,()=>H(d),e=>e.category,(e,t)=>{var n=lD(),r=R(n),s=R(r),l=R(s,!0);A(s);var u=B(s,2),d=R(u,!0);A(u);var f=B(u,2),v=R(f,!0);A(f);var y=B(f,2),b=e=>{var n=eD(),r=R(n);A(n),V(e=>q(r,`${e??``} customized`),[()=>H(t).items.filter(e=>e.isCustom).length]),K(e,n)},x=P(()=>H(t).items.some(e=>e.isCustom));J(y,e=>{H(x)&&e(b)}),A(r);var S=B(r,2),C=e=>{var n=cD();Y(n,21,()=>H(t).items,e=>e.key,(e,t)=>{var n=sD();let r;var s=R(n),c=R(s),l=R(c,!0);A(c);var u=B(c,2),d=e=>{K(e,tD())};J(u,e=>{H(t).isCustom&&e(d)}),A(s);var f=B(s,2),p=R(f,!0);A(f);var v=B(f,2),y=e=>{var n=rD();Y(n,20,()=>H(t).variables,e=>e,(e,t)=>{var n=nD(),r=R(n);A(n),V(()=>q(r,`$${`{`+t+`}`}`)),K(e,n)}),A(n),K(e,n)};J(v,e=>{H(t).variables.length>0&&e(y)});var b=B(v,2),x=e=>{var n=iD(),r=z(n);hn(r);var i=B(r,2),s=R(i),c=R(s,!0);A(s);var l=B(s,2);A(i),V(()=>{s.disabled=H(o),q(c,H(o)?`Saving...`:`Save`),l.disabled=H(o)}),aa(r,()=>H(a),e=>I(a,e)),U(`click`,s,()=>g(H(t).key)),U(`click`,l,h),K(e,n)},S=e=>{var n=oD(),r=z(n),i=R(r),a=R(i,!0);A(i),A(r);var s=B(r,2),c=R(s),l=B(c,2),u=e=>{var n=aD();V(()=>n.disabled=H(o)),U(`click`,n,()=>_(H(t).key)),K(e,n)};J(l,e=>{H(t).isCustom&&e(u)}),A(s),V(()=>q(a,H(t).content)),U(`click`,c,()=>m(H(t))),K(e,n)};J(b,e=>{H(i)===H(t).key?e(x):e(S,-1)}),A(n),V(()=>{r=X(n,1,`prompt-card svelte-n9btv2`,null,r,{custom:H(t).isCustom}),q(l,H(t).key),q(p,H(t).description)}),K(e,n)}),A(n),K(e,n)};J(S,e=>{c[H(t).category]&&e(C)}),A(n),V(()=>{q(l,c[H(t).category]?`▼`:`▶`),q(d,H(t).meta.label),q(v,H(t).meta.subtitle)}),U(`click`,r,()=>p(H(t).category)),K(e,n)}),K(e,t)};J(x,e=>{H(r)?e(S):e(C,-1)}),A(v),K(e,v),N()}Lr([`click`]);var fD=W(`<div class="error svelte-m1wc4k"> </div> <button class="retry-btn svelte-m1wc4k">Retry</button>`,1),pD=W(`<div class="loading-text svelte-m1wc4k">Loading providers...</div>`),mD=W(`<span class="entitlement-badge entitled svelte-m1wc4k">Ready</span>`),hD=W(`<span class="entitlement-badge not-entitled svelte-m1wc4k">Plan not entitled</span>`),gD=W(`<div class="entitlement-reason svelte-m1wc4k"> </div>`),_D=W(`<span class="model-tag svelte-m1wc4k"> <button class="model-tag-remove svelte-m1wc4k">×</button></span>`),vD=W(`<div class="model-tags svelte-m1wc4k"></div>`),yD=W(`<span class="dim svelte-m1wc4k">No models enabled</span>`),bD=W(`<div class="provider-card svelte-m1wc4k"><div class="provider-header svelte-m1wc4k"><span class="provider-name svelte-m1wc4k"> </span> <span class="auth-badge svelte-m1wc4k"> </span> <!> <button class="check-btn svelte-m1wc4k"> </button> <button class="remove-btn svelte-m1wc4k">Remove</button></div> <!> <div class="provider-models svelte-m1wc4k"><!> <button class="add-model-btn svelte-m1wc4k">Add model</button></div></div>`),xD=W(`<button class="add-provider-btn svelte-m1wc4k" type="button">+ Add a provider</button>`),SD=W(`<div class="model-defaults svelte-m1wc4k"><span class="label svelte-m1wc4k">Default model</span> <!> <div class="hint svelte-m1wc4k">Used when minds generate images without specifying a model.</div></div>`),CD=W(`<div class="error svelte-m1wc4k"> </div>`),wD=W(`<!> <!> <!> <!>`,1),TD=W(`<option> </option>`),ED=W(`<div class="autocomplete"><select class="select-input svelte-m1wc4k"><option>Select provider...</option><!></select></div>`),DD=W(`<form class="api-key-form svelte-m1wc4k"><input type="password" placeholder="API key" class="text-input svelte-m1wc4k"/> <button type="submit" class="save-btn svelte-m1wc4k"> </button></form>`),OD=W(`<div class="modal-body svelte-m1wc4k"><!> <!> <!></div>`),kD=W(`<span class="model-desc svelte-m1wc4k"> </span>`),AD=W(`<button class="model-option svelte-m1wc4k"><span class="model-id svelte-m1wc4k"> </span> <!></button>`),jD=W(`<div class="model-list svelte-m1wc4k"></div>`),MD=W(`<div class="modal-body svelte-m1wc4k"><form class="api-key-form svelte-m1wc4k"><input type="text" placeholder="Search models..." class="text-input svelte-m1wc4k"/> <button type="submit" class="save-btn svelte-m1wc4k"> </button></form> <!> <!></div>`),ND=W(`<!> <!> <!>`,1);function PD(e,t){M(t,!0);let n=F(L([])),r=F(L([])),i=F(null),a=F(``),o=F(!1),s=F(``),c=F(!1),l=F(``),u=F(``),d=F(!1),f=F(``),p=F(L([])),m=F(!1),h=F(``),g=P(()=>H(n).filter(e=>e.configured)),_=P(()=>H(n).filter(e=>!e.configured));function v(e){return H(r).filter(t=>t.startsWith(`${e}:`))}function y(e){return e===`api_key`?`API key`:e===`oauth`?`OAuth`:e===`env_var`?`env var`:``}let b=new Gl;async function x(e){b.add(e),I(a,``);try{let t=await Bd(e);t.state===`not_entitled`&&!t.reason&&I(a,`Provider plan is not entitled to generate images.`),await S()}catch(e){I(a,e instanceof Error?e.message:`Failed to check entitlement`,!0)}finally{b.delete(e)}}async function S(){I(s,``);try{I(n,await Ld(),!0);let e=await Vd();I(r,e.models,!0),I(i,e.defaultModel,!0)}catch(e){console.warn(`[ImagegenProviders] failed to load imagegen config:`,e),I(s,fw(e,`Failed to load imagegen config. Please try again.`),!0)}}S();function C(){I(c,!1),I(d,!1),I(l,``),I(u,``),I(f,``),I(p,[],!0),I(h,``),I(a,``)}function w(){C(),I(c,!0),H(_).length===1&&I(l,H(_)[0].id,!0)}async function T(){if(!H(l)||!H(u).trim()||H(o))return;I(o,!0),I(a,``);let e=H(l);try{await Rd(H(l),H(u).trim()),C(),await S(),I(h,e,!0),I(f,``),I(p,[],!0),I(d,!0)}catch(e){I(a,e instanceof Error?e.message:`Failed to save`,!0)}finally{I(o,!1)}}async function E(e){I(o,!0),I(a,``);try{await zd(e),H(i)?.startsWith(`${e}:`)&&I(i,null),await S()}catch(e){I(a,e instanceof Error?e.message:`Failed to remove`,!0)}finally{I(o,!1)}}async function ee(){if(H(f).trim()){I(m,!0);try{I(p,await Ud(H(f).trim(),H(h)||void 0),!0)}catch(e){I(a,e instanceof Error?e.message:`Search failed`,!0)}finally{I(m,!1)}}}async function te(e){try{let t=[...H(r),e],n=H(r).length===0?e:void 0;await Hd(t,n),I(r,t,!0),n&&I(i,n,!0),I(d,!1),I(f,``),I(p,[],!0)}catch(e){I(a,e instanceof Error?e.message:`Failed to add model`,!0)}}async function ne(e){try{let t=H(r).filter(t=>t!==e);await Hd(t,H(i)===e?null:void 0),I(r,t,!0),H(i)===e&&I(i,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to remove model`,!0)}}let D=F(``),O=F(!1);Tn(()=>{I(D,H(i)??``,!0)}),Tn(()=>{H(r).length>0&&I(O,!0)}),Tn(()=>{let e=H(D);H(O)&&(I(i,e||null,!0),Hd(H(r),e||null).catch(()=>{}))});var re={load:S},ie=ND(),ae=z(ie),k=e=>{var t=fD(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,H(s))),U(`click`,i,()=>S()),K(e,t)},oe=e=>{K(e,pD())},se=e=>{var t=wD(),n=z(t);Y(n,17,()=>H(g),e=>e.id,(e,t)=>{let n=P(()=>v(H(t).id));var r=bD(),i=R(r),a=R(i),s=R(a,!0);A(a);var c=B(a,2),l=R(c,!0);A(c);var u=B(c,2),m=e=>{K(e,mD())},g=e=>{K(e,hD())};J(u,e=>{H(t).entitlement?.state===`entitled`?e(m):H(t).entitlement?.state===`not_entitled`&&e(g,1)});var _=B(u,2),S=R(_,!0);A(_);var C=B(_,2);A(i);var w=B(i,2),T=e=>{var n=gD(),r=R(n,!0);A(n),V(()=>q(r,H(t).entitlement.reason)),K(e,n)};J(w,e=>{H(t).entitlement?.state===`not_entitled`&&H(t).entitlement.reason&&e(T)});var ee=B(w,2),te=R(ee),D=e=>{var t=vD();Y(t,20,()=>H(n),e=>e,(e,t)=>{var n=_D(),r=R(n),i=B(r);A(n),V(()=>q(r,`${t??``} `)),U(`click`,i,()=>ne(t)),K(e,n)}),A(t),K(e,t)},O=e=>{K(e,yD())};J(te,e=>{H(n).length>0?e(D):e(O,-1)});var re=B(te,2);A(ee),A(r),V((e,n,r)=>{q(s,H(t).id),q(l,e),_.disabled=n,q(S,r),C.disabled=H(o)},[()=>y(H(t).authMethod),()=>H(o)||b.has(H(t).id),()=>b.has(H(t).id)?`...`:`Check`]),U(`click`,_,()=>x(H(t).id)),U(`click`,C,()=>E(H(t).id)),U(`click`,re,()=>{I(h,H(t).id,!0),I(f,``),I(p,[],!0),I(d,!0)}),K(e,r)});var i=B(n,2),s=e=>{var t=xD();U(`click`,t,w),K(e,t)};J(i,e=>{H(_).length>0&&e(s)});var l=B(i,2),u=e=>{var t=SD(),n=B(R(t),2);{let e=P(()=>H(r).map(e=>({id:e,label:e})));yw(n,{get items(){return H(e)},placeholder:`Search models...`,emptyLabel:`Select a model`,get value(){return H(D)},set value(e){I(D,e,!0)}})}j(2),A(t),K(e,t)};J(l,e=>{H(r).length>0&&e(u)});var m=B(l,2),S=e=>{var t=CD(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(m,e=>{H(a)&&!H(c)&&!H(d)&&e(S)}),K(e,t)};J(ae,e=>{H(s)?e(k):H(n).length===0?e(oe,1):e(se,-1)});var ce=B(ae,2),le=e=>{$a(e,{onClose:C,size:`420px`,title:`Add imagegen provider`,children:(e,t)=>{var n=OD(),r=R(n),i=e=>{var t=ED(),n=R(t),r=R(n);r.value=r.__value=``,Y(B(r),17,()=>H(_),e=>e.id,(e,t)=>{var n=TD(),r=R(n,!0);A(n);var i={};V(()=>{q(r,H(t).id),i!==(i=H(t).id)&&(n.value=(n.__value=H(t).id)??``)}),K(e,n)}),A(n),A(t),Fi(n,()=>H(l),e=>I(l,e)),K(e,t)};J(r,e=>{H(_).length>1&&e(i)});var s=B(r,2),c=e=>{var t=DD(),n=R(t);Ki(n);var r=B(n,2),i=R(r,!0);A(r),A(t),V(e=>{r.disabled=e,q(i,H(o)?`...`:`Save`)},[()=>H(o)||!H(u).trim()]),Ir(`submit`,t,e=>{e.preventDefault(),T()}),aa(n,()=>H(u),e=>I(u,e)),K(e,t)};J(s,e=>{H(l)&&e(c)});var d=B(s,2),f=e=>{var t=CD(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(d,e=>{H(a)&&e(f)}),A(n),K(e,n)},$$slots:{default:!0}})};J(ce,e=>{H(c)&&e(le)});var ue=B(ce,2),de=e=>{$a(e,{onClose:()=>{I(d,!1),I(f,``),I(p,[],!0)},size:`480px`,get title(){return`Add model — ${H(h)??``}`},children:(e,t)=>{var n=MD(),i=R(n),o=R(i);Ki(o);var s=B(o,2),c=R(s,!0);A(s),A(i);var l=B(i,2),u=e=>{var t=jD();Y(t,21,()=>H(p),e=>e.id,(e,t)=>{var n=AD(),i=R(n),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var n=kD(),r=R(n,!0);A(n),V(()=>q(r,H(t).description)),K(e,n)};J(o,e=>{H(t).description&&e(s)}),A(n),V(e=>{n.disabled=e,q(a,H(t).id)},[()=>H(r).includes(H(t).id)]),U(`click`,n,()=>te(H(t).id)),K(e,n)}),A(t),K(e,t)};J(l,e=>{H(p).length>0&&e(u)});var d=B(l,2),h=e=>{var t=CD(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(d,e=>{H(a)&&e(h)}),A(n),V(e=>{s.disabled=e,q(c,H(m)?`...`:`Search`)},[()=>H(m)||!H(f).trim()]),Ir(`submit`,i,e=>{e.preventDefault(),ee()}),aa(o,()=>H(f),e=>I(f,e)),K(e,n)},$$slots:{default:!0}})};return J(ue,e=>{H(d)&&e(de)}),K(e,ie),N(re)}Lr([`click`]);var FD=W(`<div class="error svelte-7kf7oa"> </div>`),ID=W(`<div class="system-card svelte-7kf7oa"><div class="system-info svelte-7kf7oa"><span class="system-label svelte-7kf7oa">Registered as</span> <span class="system-name svelte-7kf7oa"> </span></div> <button class="btn btn-reset svelte-7kf7oa"> </button></div>`),LD=W(`<div class="system-actions svelte-7kf7oa"><button class="btn btn-edit svelte-7kf7oa">Register</button> <button class="btn btn-edit svelte-7kf7oa">Login with key</button></div>`),RD=W(`<form class="system-form svelte-7kf7oa"><input class="system-input svelte-7kf7oa"/> <button type="submit" class="btn btn-save svelte-7kf7oa"> </button> <button type="button" class="btn btn-cancel svelte-7kf7oa">Cancel</button></form>`),zD=W(`<div class="system-card svelte-7kf7oa"><div class="system-info svelte-7kf7oa"><span class="system-label svelte-7kf7oa">Not registered</span></div> <!></div>`),BD=W(`<div class="settings svelte-7kf7oa"><div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Name</span> <span class="section-subtitle svelte-7kf7oa">Displayed in the sidebar</span></div> <input type="text" class="system-input svelte-7kf7oa" placeholder="e.g. My Garden"/></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Mind Limit</span> <span class="section-subtitle svelte-7kf7oa"> </span></div> <!> <!></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Registration</span> <span class="section-subtitle svelte-7kf7oa">volute.systems for pages and email</span></div> <!> <!></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">AI Providers</span> <span class="section-subtitle svelte-7kf7oa">Authentication for minds and system AI features</span></div> <!></div> <div class="section svelte-7kf7oa"><div class="section-header svelte-7kf7oa"><span class="section-title svelte-7kf7oa">Image Generation</span> <span class="section-subtitle svelte-7kf7oa">Provider configuration for mind image generation</span></div> <!></div></div>`);function VD(e,t){M(t,!0);let n=F(L(Hf.localName??``));async function r(){let e=H(n).trim();try{await _d(e),Hf.localName=e||null}catch{I(n,Hf.localName??``,!0)}}let i=F(``),a=F(`none`),o=F(``),s=F(!1),c=F(``),l=F(``),u=F(!1),d,f=F(``),p=F(0),m=F(``),h=F(!1);ma(async()=>{d.load();try{let e=await Nd();I(c,e.spiritModel??``,!0),I(l,e.utilityModel??``,!0)}catch{}try{let e=await vd();I(f,e.maxMinds==null?``:String(e.maxMinds),!0),I(p,e.count,!0),I(h,!0)}catch(e){I(m,e instanceof Error?e.message:`Failed to load mind limit`,!0)}I(u,!0)});async function g(){if(!H(h))return;I(m,``);let e=H(f).trim(),t=null;if(e!==``){let n=Number(e);if(!Number.isInteger(n)||n<1){I(m,`Enter a whole number of 1 or more, or leave blank for unlimited.`);return}t=n}try{let e=await yd(t);I(f,e.maxMinds==null?``:String(e.maxMinds),!0),I(p,e.count,!0)}catch(e){I(m,e instanceof Error?e.message:`Failed to save limit`,!0)}}Tn(()=>{let e=H(c),t=H(l);H(u)&&Pd({spiritModel:e||null,utilityModel:t||null}).catch(()=>{})});async function _(){if(!(!H(o).trim()||H(s))){I(s,!0),I(i,``);try{Hf.systemName=(await(H(a)===`register`?bd:xd)(H(o).trim())).system,I(a,`none`),I(o,``)}catch(e){I(i,e instanceof Error?e.message:`${H(a)} failed`,!0)}finally{I(s,!1)}}}async function v(){I(s,!0),I(i,``);try{await Sd(),Hf.systemName=null}catch(e){I(i,e instanceof Error?e.message:`Logout failed`,!0)}finally{I(s,!1)}}var y=BD(),b=R(y),x=B(R(b),2);Ki(x),A(b);var S=B(b,2),C=R(S),w=B(R(C),2),T=R(w);A(w),A(C);var E=B(C,2);{let e=P(()=>!H(h));Xa(E,{type:`number`,min:`1`,step:`1`,style:`width:100%`,placeholder:`Unlimited`,get disabled(){return H(e)},onblur:g,onkeydown:e=>{e.key===`Enter`&&e.target.blur()},get value(){return H(f)},set value(e){I(f,e,!0)}})}var ee=B(E,2),te=e=>{var t=FD(),n=R(t,!0);A(t),V(()=>q(n,H(m))),K(e,t)};J(ee,e=>{H(m)&&e(te)}),A(S);var ne=B(S,2),D=B(R(ne),2),O=e=>{var t=ID(),n=R(t),r=B(R(n),2),i=R(r,!0);A(r),A(n);var a=B(n,2),o=R(a,!0);A(a),A(t),V(()=>{q(i,Hf.systemName),a.disabled=H(s),q(o,H(s)?`...`:`Disconnect`)}),U(`click`,a,v),K(e,t)},re=e=>{var t=zD(),n=B(R(t),2),r=e=>{var t=LD(),n=R(t),r=B(n,2);A(t),U(`click`,n,()=>{I(a,`register`),I(o,``),I(i,``)}),U(`click`,r,()=>{I(a,`login`),I(o,``),I(i,``)}),K(e,t)},c=e=>{var t=RD(),n=R(t);Ki(n);var r=B(n,2),c=R(r,!0);A(r);var l=B(r,2);A(t),V(e=>{Xi(n,`type`,H(a)===`login`?`password`:`text`),Xi(n,`placeholder`,H(a)===`register`?`Name on volute.systems`:`API key`),r.disabled=e,q(c,H(s)?`...`:H(a)===`register`?`Register`:`Login`)},[()=>H(s)||!H(o).trim()]),Ir(`submit`,t,e=>{e.preventDefault(),_()}),aa(n,()=>H(o),e=>I(o,e)),U(`click`,l,()=>{I(a,`none`),I(i,``)}),K(e,t)};J(n,e=>{H(a)===`none`?e(r):e(c,-1)}),A(t),K(e,t)};J(D,e=>{Hf.systemName?e(O):e(re,-1)});var ie=B(D,2),ae=e=>{var t=FD(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(ie,e=>{H(i)&&e(ae)}),A(ne);var k=B(ne,2);ua(Xw(B(R(k),2),{showModelDefaults:!0,get spiritModel(){return H(c)},set spiritModel(e){I(c,e,!0)},get utilityModel(){return H(l)},set utilityModel(e){I(l,e,!0)}}),e=>d=e,()=>d),A(k);var oe=B(k,2);PD(B(R(oe),2),{}),A(oe),A(y),V(()=>q(T,`Cap on total minds (${H(p)??``} in use). Blank = unlimited.`)),Ir(`blur`,x,r),U(`keydown`,x,e=>{e.key===`Enter`&&e.target.blur()}),aa(x,()=>H(n),e=>I(n,e)),K(e,y),N()}Lr([`keydown`,`click`]);var HD=W(`<button> </button>`),UD=W(`<span class="restart-error svelte-138znmo"> </span>`),WD=W(`<div class="spirit-error svelte-138znmo"> </div>`),GD=W(`<div class="spirit-sections svelte-138znmo"><!> <!> <!> <!> <!></div>`),KD=W(`<div class="settings-page svelte-138znmo"><div class="settings-header svelte-138znmo"><div class="tab-row svelte-138znmo"></div> <div class="restart-area svelte-138znmo"><!> <button class="restart-btn svelte-138znmo"> </button></div></div> <div class="settings-body svelte-138znmo"><!></div></div>`);function qD(e,t){M(t,!0);let n=[`settings`,`mind-defaults`,`prompts`,`skills`,`extensions`,`backups`,`users`,`spirit`],r={settings:`Settings`,"mind-defaults":`Mind Defaults`,prompts:`Prompt Library`,skills:`Skills`,extensions:`Extensions`,backups:`Backups`,users:`Users`,spirit:`Spirit`},i=F(`settings`),a=F(null),o=F(``),s=F(!1);async function c(){if(!H(s)){I(s,!0);try{I(a,await hu(Hf.spiritName??`volute`),!0)}catch(e){I(o,e instanceof Error?e.message:`Failed to load spirit`,!0)}}}Tn(()=>{H(i)===`spirit`&&c()});let l=F(!1),u=F(null);async function d(){I(l,!0),I(u,null);try{await hd()}catch(e){I(u,e instanceof Error?e.message:`Unknown error`,!0),console.warn(`Failed to restart daemon:`,e)}finally{I(l,!1)}}var f=KD(),p=R(f),m=R(p);Y(m,21,()=>n,ti,(e,t)=>{var n=HD();let a;var o=R(n,!0);A(n),V(()=>{a=X(n,1,`settings-tab svelte-138znmo`,null,a,{active:H(i)===H(t)}),q(o,r[H(t)])}),U(`click`,n,()=>I(i,H(t),!0)),K(e,n)}),A(m);var h=B(m,2),g=R(h),_=e=>{var t=UD(),n=R(t);A(t),V(()=>q(n,`Failed: ${H(u)??``}`)),K(e,t)};J(g,e=>{H(u)&&e(_)});var v=B(g,2),y=R(v,!0);A(v),A(h),A(p);var b=B(p,2),x=R(b),S=e=>{VD(e,{})},C=e=>{OE(e,{})},w=e=>{dD(e,{})},T=e=>{PE(e,{})},E=e=>{eE(e,{})},ee=e=>{KT(e,{})},te=e=>{ZE(e,{get minds(){return qf.minds}})},ne=e=>{var t=G(),n=z(t),r=e=>{var t=WD(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)},i=e=>{var t=GD(),n=R(t);Tx(n,{get mind(){return H(a)},onUpdated:c});var r=B(n,2);no(r,{title:`Model`,subtitle:`Cognition settings`});var i=B(r,2);ux(i,{get name(){return H(a).name},get template(){return H(a).template},hideBudget:!0});var o=B(i,2);nS(o,{get name(){return H(a).name}}),yx(B(o,2),{get name(){return H(a).name}}),A(t),K(e,t)};J(n,e=>{H(o)?e(r):H(a)&&e(i,1)}),K(e,t)};J(x,e=>{H(i)===`settings`?e(S):H(i)===`mind-defaults`?e(C,1):H(i)===`prompts`?e(w,2):H(i)===`skills`?e(T,3):H(i)===`extensions`?e(E,4):H(i)===`backups`?e(ee,5):H(i)===`users`?e(te,6):H(i)===`spirit`&&e(ne,7)}),A(b),A(f),V(()=>{v.disabled=H(l),q(y,H(l)?`Restarting...`:`Restart Daemon`)}),U(`click`,v,d),K(e,f),N()}Lr([`click`]);var JD=W(`<div class="app"><div class="loading svelte-1ocnzw1">Loading...</div></div>`),YD=W(`<div class="app full-height svelte-1ocnzw1"><!></div>`),XD=W(`<!> <!>`,1),ZD=W(`<button class="sidebar-backdrop svelte-1ocnzw1" aria-label="Close sidebar"></button>`),QD=W(`<span class="crumb-sep svelte-1ocnzw1">/</span>`),$D=W(`<button class="crumb-link svelte-1ocnzw1"> </button>`),eO=W(`<span class="crumb-current svelte-1ocnzw1"> </span>`),tO=W(`<span class="header-active-dot svelte-1ocnzw1"></span>`),nO=W(`<span class="tab-icon svelte-1ocnzw1"></span>`),rO=W(`<button><!></button>`),iO=W(`<div class="mind-section-tabs svelte-1ocnzw1"></div>`),aO=W(`<button><span class="tab-icon svelte-1ocnzw1"></span></button>`),oO=W(`<div class="mind-section-tabs svelte-1ocnzw1"><button aria-label="History"><span class="tab-icon svelte-1ocnzw1"></span></button> <!></div>`),sO=W(`<img alt="" class="user-avatar-img svelte-1ocnzw1" loading="lazy" decoding="async"/>`),cO=W(`<div class="user-dropdown svelte-1ocnzw1" role="menu"><button class="user-dropdown-item svelte-1ocnzw1">Profile</button> <button class="user-dropdown-item svelte-1ocnzw1">Logout</button></div>`),lO=W(`<button class="panel-reopen svelte-1ocnzw1" title="Show sidebar"><!></button>`),uO=W(`<button class="right-panel-backdrop svelte-1ocnzw1" aria-label="Close panel"></button>`),dO=W(`<button class="panel-close svelte-1ocnzw1" title="Close"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-1ocnzw1"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button> <!>`,1),fO=W(`<!> <div class="resize-handle right-resize-handle svelte-1ocnzw1" role="separator" aria-label="Resize panel"></div> <div><!></div>`,1),pO=W(`<div class="modal-scroll-body svelte-1ocnzw1"><!></div>`),mO=W(`<div class="modal-scroll-body svelte-1ocnzw1"><!> <!></div>`),hO=W(`<div class="shell svelte-1ocnzw1"><!> <div class="shell-body svelte-1ocnzw1"><div><button class="sidebar-header svelte-1ocnzw1"><span class="awake-dot svelte-1ocnzw1"></span> <span class="sidebar-title svelte-1ocnzw1"> </span></button> <!></div> <!> <div class="resize-handle svelte-1ocnzw1" role="separator" aria-label="Resize sidebar"></div> <div class="content-area svelte-1ocnzw1"><div><div class="page-header svelte-1ocnzw1"><button class="header-hamburger svelte-1ocnzw1">☰</button> <div class="page-breadcrumbs svelte-1ocnzw1"><!> <!></div> <!> <div class="header-actions svelte-1ocnzw1"><div class="user-menu-anchor svelte-1ocnzw1"><button class="user-avatar-btn svelte-1ocnzw1"><!></button> <!></div> <!></div></div> <div class="main-frame svelte-1ocnzw1"><!></div></div> <!></div></div></div> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!>`,1);function gO(e,t){M(t,!0);let n=F(L(km(qf.extensions))),r=[{key:`chat`,label:`Chat`,icon:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"/></svg>`}],i=P(()=>[...r,...qf.extensions.flatMap(e=>(e.mindSections??[]).map(t=>({key:`ext:${e.id}:${t.id}`,label:t.label,icon:e.icon,defaultPath:t.defaultPath})))]),a=P(()=>H(n).kind===`mind`?H(n).name:null),o=P(()=>H(n).kind===`mind`?H(n).section??`chat`:null),s=P(()=>H(n).kind!==`mind`&&H(n).kind!==`channel`),c=P(()=>H(s)?H(n).kind===`system-history`?`system-history`:H(n).kind===`extension`?`ext:${H(n).extensionId}`:null:null),l=F(null),u=F(null),d=F(null),f=F(!1),p=F(L([])),m=F(!1),h=F(!1),g=F(!1),_=F(!1),v=F(null);Tn(()=>{I(h,H(g),!0)});let y=P(()=>{let e=H(n);if(e.kind===`channel`)return qf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)?.id??null;if(e.kind===`mind`&&(!e.section||e.section===`chat`)){let t=e.name;return qf.conversations.find(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];return n.length===2&&n.some(e=>e.username===t)})?.id??null}return null});Tn(()=>{tp(H(y)),I(m,!1)});let b=P(()=>{let e=H(n);if(e.kind===`channel`)return qf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)}),x=P(()=>{let e=H(n);if(e.kind===`mind`)return qf.minds.find(t=>t.name===e.name)}),S=P(()=>H(x)?.mindType===`spirit`?r:H(i)),C=P(()=>H(l)===`mind`&&H(u)?H(u):H(x)??void 0),w=P(()=>!!(H(l)===`mind`&&H(u))),T=P(()=>!(!H(C)||!H(w)&&H(n).kind===`mind`)),E=P(()=>!!H(C)),ee=P(()=>H(n).kind===`mind`&&!!H(C)||H(n).kind===`channel`&&!!H(b)||!!(H(l)===`mind`&&H(u))),te=P(()=>H(ee)&&(!H(h)||H(g)&&H(m))),ne=P(()=>H(n).kind===`channel`?H(b)?.type===`channel`&&H(b).channel_name?`#${H(b).channel_name}`:H(n).slug:``),D=P(()=>{let e=H(n),t=[];if(e.kind===`mind`){if(t.push({label:`system`,action:ye}),t.push({label:e.name,action:()=>jm(`/minds/${e.name}`)}),e.section&&e.section!==`chat`){let n=e.section;if(n.startsWith(`ext:`)){let e=n.split(`:`);n=e[2]??e[1]}t.push({label:n,action:e.subpath?()=>jm(`/minds/${e.name}/${n}`):void 0}),e.subpath&&t.push({label:e.subpath})}}else if(e.kind===`channel`)t.push({label:H(ne)});else if(e.kind===`extension`){t.push({label:`system`,action:ye});let n=qf.extensions.find(t=>t.id===e.extensionId),r=n?.systemSection?.urlPatterns?.[0];if(t.push({label:n?.name??e.extensionId,action:e.path?()=>jm(r??`/ext/${e.extensionId}`):void 0}),e.path){let n=e.path.split(`/`);for(let e=0;e<n.length;e++){let i=e===n.length-1,a=n.slice(0,e+1).join(`/`);t.push({label:n[e],action:!i&&r?()=>jm(`${r}/${a}`):void 0})}}}else e.kind===`system-history`?(t.push({label:`system`,action:ye}),t.push({label:`timeline`})):t.push({label:`system`});return t}),O=P(()=>{let e=H(n);return e.kind===`mind`?Jf.has(e.name):e.kind===`channel`&&(qf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)?.participants??[]).some(e=>e.userType===`mind`&&Jf.has(e.username))}),re=F(!1),ie=P(()=>dw({checked:Hf.checked,setupComplete:Hf.setupComplete,hasAccount:!!Hf.setupProgress?.hasAccount,needsConnection:H(re),loggedIn:!!Hf.user}));async function ae(){await Gf(),Gp()&&(await $p(),I(re,!0))}Tn(()=>{document.title=Hf.localName||`volute`});function k(e,t){function n(){for(let t=26;t>=15&&(e.style.setProperty(`--title-size`,`${t}px`),!(e.scrollWidth<=e.clientWidth));t--);}return n(),document.fonts?.ready.then(n),{update:n}}ma(()=>{Zp().then(e=>{e?Wf():(I(re,!0),Hf.checked=!0)}).catch(()=>{I(re,!0),Hf.checked=!0});let e=window.matchMedia(`(max-width: 1024px)`);I(g,e.matches,!0);let t=e=>{I(g,e.matches,!0)};e.addEventListener(`change`,t);let r=e=>{if(e.origin===window.location.origin&&e.data?.type===`navigate`&&typeof e.data.path==`string`){let t=H(n);if(!(t.kind===`extension`||t.kind===`mind`&&t.section?.startsWith(`ext:`)))return;jm(e.data.path)}};return window.addEventListener(`message`,r),()=>{e.removeEventListener(`change`,t),window.removeEventListener(`message`,r)}}),Tn(()=>{if(Hf.user)return ap(),()=>op()}),Tn(()=>{Hf.user&&jf()}),Tn(()=>{Hf.user&&Yl().then(e=>{I(v,e?.avatar?`/api/auth/avatars/${e.avatar}`:null,!0)}).catch(e=>{console.warn(`Failed to fetch user profile:`,e)})}),Tn(()=>{if(qf.extensions.length>0){let e=km(qf.extensions);e.kind===`extension`&&H(n).kind===`home`&&I(n,e,!0),e.kind===`mind`&&H(n).kind===`mind`&&e.section?.startsWith(`ext:`)&&H(n).section&&!H(n).section.startsWith(`ext:`)&&e.section.endsWith(`:${H(n).section}`)&&I(n,e,!0)}});let oe=F(!1);Tn(()=>{let e=()=>{I(oe,!0),I(n,km(qf.extensions),!0)};window.addEventListener(`popstate`,e);let t=e=>{let t=e.target.closest(`a`);if(!t)return;let n=t.getAttribute(`href`);!n||n.startsWith(`http`)||n.startsWith(`//`)||t.target===`_blank`||e.metaKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),jm(n))};return document.addEventListener(`click`,t),()=>{window.removeEventListener(`popstate`,e),document.removeEventListener(`click`,t)}}),Tn(()=>{let e=Am(H(n),qf.extensions),t=window.location.pathname+window.location.search;t!==e&&(H(n).kind===`home`&&qf.extensions.length===0&&t!==`/`||(H(oe)?window.history.replaceState(null,``,e):window.history.pushState(null,``,e))),I(oe,!1)}),Tn(()=>{if(H(n).kind!==`channel`||!H(n).slug.startsWith(`__conv:`))return;let e=H(n).slug.replace(`__conv:`,``),t=qf.conversations.find(t=>t.id===e);if(t)if(t.type===`channel`&&t.channel_name)I(n,{kind:`channel`,slug:t.channel_name},!0);else{let e=t.participants?.find(e=>e.userType===`mind`&&e.username!==Hf.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}});function se(){I(m,!0)}function ce(){H(w)&&(I(l,null),I(u,null)),I(m,!1),I(h,!0)}function le(){H(g)?I(m,!H(m)):I(h,!H(h))}function ue(e){I(u,e,!0),I(l,`mind`),I(m,!0),I(h,!1)}function de(e){let t=qf.conversations.find(t=>t.id===e);if(t?.type===`channel`&&t.channel_name)I(n,{kind:`channel`,slug:t.channel_name},!0);else{let e=t?.participants?.find(e=>e.userType===`mind`&&e.username!==Hf.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}tp(e),pp(),H(l)===`mind`&&(I(l,null),I(u,null))}async function fe(e){try{await wu(e)}catch(e){console.error(`Failed to delete conversation:`,e);return}ap(),H(y)===e&&I(n,{kind:`home`},!0)}function pe(e){tp(e),ap()}function me(e){I(l,null),I(u,null),pp(),I(n,{kind:`mind`,name:e},!0)}function he(e){I(l,null),I(u,null),pp(),ap(),e.type===`channel`&&e.channel_name&&I(n,{kind:`channel`,slug:e.channel_name},!0)}function ge(e){I(l,null),I(u,null),pp(),I(n,{kind:`mind`,name:e},!0)}function _e(e){Kf(e)}function ve(e){up(e),H(y)===e&&I(n,{kind:`home`},!0)}function ye(){I(n,{kind:`home`},!0)}function be(e){I(n,{kind:`mind`,name:e},!0),pp()}function xe(e,t,r){I(n,{kind:`mind`,name:e,section:t,subpath:r},!0)}function Se(e,t){I(n,{kind:`extension`,extensionId:e,path:t??``},!0),pp()}function Ce(e){I(f,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function we(e){if(!H(f))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();hp.width=Math.max(180,Math.min(400,e.clientX-n.left))}function Te(){H(f)&&(I(f,!1),document.body.style.userSelect=``,document.body.style.cursor=``,gp())}let Ee=F(!1);function De(e){I(Ee,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function Oe(e){if(!H(Ee))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();vp.width=Math.max(240,Math.min(600,n.right-e.clientX))}function ke(){H(Ee)&&(I(Ee,!1),document.body.style.userSelect=``,document.body.style.cursor=``,yp())}function Ae(e){if(e.key===`Escape`){if(H(_)){I(_,!1);return}if(H(m)){ce();return}if(dp.sidebarOpen){pp();return}}}function je(e){H(_)&&!e.target.closest(`.user-menu-anchor`)&&I(_,!1)}var Me=G();Ir(`keydown`,$t,Ae),Ir(`click`,en,je);var Ne=z(Me),Pe=e=>{K(e,JD())},Fe=e=>{var t=YD();wT(R(t),{onComplete:e=>{Hf.setupComplete=!0,ap(),requestAnimationFrame(()=>{I(n,{kind:`mind`,name:e},!0)})}}),A(t),K(e,t)},Ie=e=>{var t=YD();am(R(t),{onConnected:e=>{I(re,!1),Kf(e)}}),A(t),K(e,t)},j=e=>{var t=YD(),n=R(t);{let e=P(()=>!Hf.setupComplete&&!!Hf.setupProgress?.hasAccount);um(n,{onAuth:_e,get resumeSetup(){return H(e)}})}A(t),K(e,t)},Le=e=>{var t=hO(),r=z(t),i=R(r),u=e=>{var t=XD(),n=z(t);uw(n,{}),OC(B(n,2),{onOpenSettings:()=>I(l,`systemSettings`)}),K(e,t)};J(i,e=>{Hf.user.role===`admin`&&e(u)});var f=B(i,2),y=R(f);let x,w;var ne=R(y),re=B(R(ne),2),ie=R(re,!0);A(re),Si(re,(e,t)=>k?.(e,t),()=>({text:Hf.localName||`volute`,width:hp.width})),A(ne);var oe=B(ne,2);{let e=P(()=>qf.conversations.filter(e=>!cp.has(e.id)));mb(oe,{get minds(){return qf.minds},get conversations(){return H(e)},get selection(){return H(n)},get username(){return Hf.user.username},onHome:ye,onSelectMind:be,onSelectMindSection:(e,t)=>{I(d,e,!0),t===`history`?I(l,`mindHistory`):t===`files`?I(l,`mindFiles`):t===`settings`?I(l,`mindSettings`):t===`variants`?I(l,`mindVariants`):t===`events`?I(l,`mindEvents`):t===`context`&&I(l,`mindContext`)},onSelectSystemSection:e=>{e===`settings`?I(l,`systemSettings`):e===`logs`&&I(l,`systemLogs`)},onSelectConversation:de,onDeleteConversation:fe,onBrowseChannels:()=>I(l,`channelBrowser`),onOpenMind:ue,onSeed:()=>I(l,`seed`),onHideConversation:ve})}A(y);var _e=B(y,2),Ee=e=>{var t=ZD();U(`click`,t,function(...e){pp?.apply(this,e)}),K(e,t)};J(_e,e=>{dp.sidebarOpen&&e(Ee)});var Ae=B(_e,2),je=B(Ae,2),Me=R(je);let Ne;var Pe=R(Me),Fe=R(Pe),Ie=B(Fe,2),j=R(Ie);Y(j,17,()=>H(D),ti,(e,t,n)=>{var r=XD(),i=z(r),a=e=>{K(e,QD())};J(i,e=>{n>0&&e(a)});var o=B(i,2),s=e=>{var n=$D(),r=R(n,!0);A(n),V(()=>q(r,H(t).label)),U(`click`,n,function(...e){H(t).action?.apply(this,e)}),K(e,n)},c=e=>{var n=eO(),r=R(n,!0);A(n),V(()=>q(r,H(t).label)),K(e,n)};J(o,e=>{H(t).action&&n<H(D).length-1?e(s):e(c,-1)}),K(e,r)});var Le=B(j,2),Re=e=>{K(e,tO())};J(Le,e=>{H(O)&&e(Re)}),A(Ie);var ze=B(Ie,2),Be=e=>{var t=iO();Y(t,21,()=>H(S),ti,(e,t)=>{var n=rO();let r;var i=R(n),s=e=>{var n=nO();ui(n,()=>H(t).icon,!0),A(n),K(e,n)};J(i,e=>{H(t).icon&&e(s)}),A(n),Si(n,(e,t)=>Il?.(e,t),()=>({text:H(t).label,position:`bottom`})),V(()=>r=X(n,1,`mind-section-tab svelte-1ocnzw1`,null,r,{active:H(o)===H(t).key})),U(`click`,n,()=>xe(H(a),H(t).key,H(t).defaultPath)),K(e,n)}),A(t),K(e,t)},Ve=e=>{var t=oO(),r=R(t);let i;var a=R(r);ui(a,()=>wo.history,!0),A(a),A(r),Si(r,(e,t)=>Il?.(e,t),()=>({text:`History`,position:`bottom`})),Y(B(r,2),17,()=>qf.extensions,ti,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=aO();let r;var i=R(n);ui(i,()=>H(t).icon??`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 2h5v5H2zM9 2h5v5H9zM2 9h5v5H2zM9 9h5v5H9z"/></svg>`,!0),A(i),A(n),Si(n,(e,t)=>Il?.(e,t),()=>({text:H(t).systemSection.label,position:`bottom`})),V(()=>r=X(n,1,`mind-section-tab svelte-1ocnzw1`,null,r,{active:H(c)===`ext:${H(t).id}`})),U(`click`,n,()=>Se(H(t).id)),K(e,n)};J(r,e=>{H(t).systemSection&&e(i)}),K(e,n)}),A(t),V(()=>i=X(r,1,`mind-section-tab svelte-1ocnzw1`,null,i,{active:H(c)===`system-history`})),U(`click`,r,()=>{I(n,{kind:`system-history`},!0)}),K(e,t)};J(ze,e=>{H(a)?e(Be):H(s)&&e(Ve,1)});var He=B(ze,2),Ue=R(He),M=R(Ue),N=R(M),We=e=>{var t=sO();V(()=>Xi(t,`src`,H(v))),K(e,t)},Ge=e=>{qa(e,{kind:`brain`})};J(N,e=>{H(v)?e(We):e(Ge,-1)}),A(M);var Ke=B(M,2),qe=e=>{var t=cO(),n=R(t),r=B(n,2);A(t),U(`click`,n,()=>{I(_,!1),I(l,`userSettings`)}),U(`click`,r,()=>{I(_,!1),ae()}),K(e,t)};J(Ke,e=>{H(_)&&e(qe)}),A(Ue);var Je=B(Ue,2),Ye=e=>{var t=lO();qa(R(t),{kind:`history`}),A(t),U(`click`,t,le),K(e,t)};J(Je,e=>{H(ee)&&H(h)&&e(Ye)}),A(He),A(Pe);var Xe=B(Pe,2),Ze=R(Xe);{let e=P(()=>H(ee)?se:void 0);Ty(Ze,{get selection(){return H(n)},get minds(){return qf.minds},get conversations(){return qf.conversations},get username(){return Hf.user.username},onConversationId:pe,onSelectConversation:de,onOpenMind:ue,onSeed:()=>I(l,`seed`),onTypingNames:e=>{I(p,e,!0)},get onToggleSidebar(){return fp},get onOpenRightPanel(){return H(e)}})}A(Xe),A(Me);var Qe=B(Me,2),$e=e=>{var t=fO(),n=z(t),r=e=>{var t=uO();U(`click`,t,ce),K(e,t)};J(n,e=>{H(g)&&H(m)&&e(r)});var i=B(n,2),a=B(i,2);let o,s;var c=R(a),u=e=>{var t=dO(),n=z(t);ei(B(n,2),()=>H(C).name,e=>{{let t=P(()=>H(E)?()=>{I(d,H(C).name,!0),I(l,`mindHistory`)}:void 0),n=P(()=>H(T)?()=>me(H(C).name):void 0);ex(e,{get mind(){return H(C)},get onExpand(){return H(t)},get onChat(){return H(n)}})}}),U(`click`,n,ce),K(e,t)},f=e=>{Bp(e,{get conversation(){return H(b)},get minds(){return qf.minds},get typingNames(){return H(p)},onOpenMind:ue,onClose:ce})};J(c,e=>{H(C)?e(u):H(b)?.type===`channel`&&e(f,1)}),A(a),V(()=>{o=X(a,1,`right-panel svelte-1ocnzw1`,null,o,{"right-panel-open":H(g)&&H(m)}),s=Z(a,``,s,{width:`${vp.width??``}px`})}),U(`pointerdown`,i,De),U(`pointermove`,i,Oe),U(`pointerup`,i,ke),Ir(`pointercancel`,i,ke),K(e,t)};J(Qe,e=>{H(te)&&e($e)}),A(je),A(f),A(r);var et=B(r,2),tt=e=>{jS(e,{onClose:()=>I(l,null),onJoined:he})};J(et,e=>{H(l)===`channelBrowser`&&e(tt)});var nt=B(et,2),rt=e=>{_C(e,{onClose:()=>I(l,null),onCreated:ge})};J(nt,e=>{H(l)===`seed`&&e(rt)});var it=B(nt,2),at=e=>{EC(e,{onClose:()=>I(l,null)})};J(it,e=>{H(l)===`userSettings`&&e(at)});var ot=B(it,2),st=e=>{$a(e,{get title(){return`History — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=pO(),r=R(n);{let e=P(()=>qf.minds.find(e=>e.name===H(d))?.status);_y(r,{get name(){return H(d)},get mindStatus(){return H(e)}})}A(n),K(e,n)},$$slots:{default:!0}})};J(ot,e=>{H(l)===`mindHistory`&&H(d)&&e(st)});var ct=B(ot,2),lt=e=>{$a(e,{get title(){return`Files — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=mO(),r=R(n);TS(r,{get name(){return H(d)}}),GC(B(r,2),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(ct,e=>{H(l)===`mindFiles`&&H(d)&&e(lt)});var ut=B(ct,2),dt=e=>{let t=P(()=>qf.minds.find(e=>e.name===H(d)));var n=G(),r=z(n),i=e=>{$a(e,{get title(){return`Settings — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,n)=>{aS(e,{get mind(){return H(t)}})},$$slots:{default:!0}})};J(r,e=>{H(t)&&e(i)}),K(e,n)};J(ut,e=>{H(l)===`mindSettings`&&H(d)&&e(dt)});var ft=B(ut,2),pt=e=>{$a(e,{get title(){return`Variants — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=pO();vS(R(n),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(ft,e=>{H(l)===`mindVariants`&&H(d)&&e(pt)});var mt=B(ft,2),ht=e=>{$a(e,{get title(){return`Events — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=pO();Db(R(n),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(mt,e=>{H(l)===`mindEvents`&&H(d)&&e(ht)});var gt=B(mt,2),_t=e=>{oC(e,{get mindName(){return H(d)},onClose:()=>{I(l,null),I(d,null)}})};J(gt,e=>{H(l)===`mindContext`&&H(d)&&e(_t)});var vt=B(gt,2),yt=e=>{$a(e,{title:`Settings`,onClose:()=>I(l,null),children:(e,t)=>{qD(e,{})},$$slots:{default:!0}})};J(vt,e=>{H(l)===`systemSettings`&&e(yt)});var bt=B(vt,2),xt=e=>{$a(e,{title:`System Logs`,onClose:()=>I(l,null),children:(e,t)=>{var n=pO();aw(R(n),{}),A(n),K(e,n)},$$slots:{default:!0}})};J(bt,e=>{H(l)===`systemLogs`&&e(xt)}),V(()=>{x=X(y,1,`sidebar svelte-1ocnzw1`,null,x,{"sidebar-open":dp.sidebarOpen}),w=Z(y,``,w,{width:`${hp.width??``}px`}),q(ie,Hf.localName||`volute`),Ne=X(Me,1,`main-column svelte-1ocnzw1`,null,Ne,{"has-right-panel":H(te)}),Xi(M,`title`,Hf.user?.username)}),U(`click`,ne,ye),U(`pointerdown`,Ae,Ce),U(`pointermove`,Ae,we),U(`pointerup`,Ae,Te),Ir(`pointercancel`,Ae,Te),U(`click`,Fe,function(...e){fp?.apply(this,e)}),U(`click`,M,()=>{I(_,!H(_))}),K(e,t)};J(Ne,e=>{H(ie)===`loading`?e(Pe):H(ie)===`setup`?e(Fe,1):H(ie)===`connection`?e(Ie,2):H(ie)===`login`?e(j,3):Hf.user&&e(Le,4)}),K(e,Me),N()}Lr([`click`,`pointerdown`,`pointermove`,`pointerup`]),Jr(gO,{target:document.getElementById(`root`)});
|