volute 0.41.0 → 0.42.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/{accept-AHAOUFBK.js → accept-7YVHZKRD.js} +1 -1
- package/dist/{activity-events-EQGBUEZ7.js → activity-events-KFKVRZE3.js} +2 -2
- package/dist/{ai-service-ZHEPFC3U.js → ai-service-3GBOJGUA.js} +11 -3
- package/dist/{archive-LJAXDDEY.js → archive-4PPYF7LL.js} +2 -2
- package/dist/{auth-VYW2ECCE.js → auth-EAASQPTN.js} +3 -3
- package/dist/{bridge-F3ZJEKDN.js → bridge-WPYSOQKR.js} +1 -1
- package/dist/{chat-FO722GU2.js → chat-7DOENBY2.js} +8 -8
- package/dist/{chunk-AXNAK3HT.js → chunk-2YRTSK5K.js} +7 -7
- package/dist/{chunk-VK2YD7VJ.js → chunk-4ZSUUBG5.js} +97 -2
- package/dist/{chunk-W5Z2H3LU.js → chunk-52NMCDBS.js} +290 -71
- package/dist/{chunk-6TPRURK5.js → chunk-5QG36RV7.js} +2 -2
- package/dist/{chunk-GMFCSXWB.js → chunk-62ICA2FF.js} +1 -1
- package/dist/{chunk-6ZAT5PYV.js → chunk-BLOAJLGI.js} +1 -1
- package/dist/{chunk-2I7OKOYV.js → chunk-CGPESELY.js} +2 -2
- package/dist/{chunk-FEQPNCXB.js → chunk-E7XWFDZL.js} +1 -1
- package/dist/{chunk-V67XMNGP.js → chunk-G777ME4L.js} +2 -2
- package/dist/{chunk-Y2XLASFJ.js → chunk-GN52E2DP.js} +1 -1
- package/dist/{chunk-ZX7EAV5J.js → chunk-IFNSAOA4.js} +9 -2
- package/dist/{chunk-VDODEQSJ.js → chunk-IUZ3EV2D.js} +4 -0
- package/dist/{chunk-JIGVTFIR.js → chunk-JLX3GC7T.js} +43 -14
- package/dist/{chunk-2RQIIKFC.js → chunk-K547QOCM.js} +1 -1
- package/dist/{chunk-OQ7UEW67.js → chunk-KUJVCDWT.js} +2 -2
- package/dist/chunk-KZAL7HEQ.js +141 -0
- package/dist/{chunk-GSOEUMVO.js → chunk-M2YMNTHK.js} +1 -1
- package/dist/{chunk-MU2B7A3L.js → chunk-OEJFZHZZ.js} +1 -1
- package/dist/{chunk-SWY4DJ67.js → chunk-OSUF75I7.js} +2 -2
- package/dist/{chunk-WSRGS4XP.js → chunk-QLWG3C2Z.js} +10 -0
- package/dist/{chunk-UU3Q65US.js → chunk-QMJCNZ6C.js} +1 -1
- package/dist/{chunk-CYUNO4BM.js → chunk-QPTQKGGF.js} +1 -1
- package/dist/{chunk-FU5YDH6Q.js → chunk-RKBYFLOR.js} +3 -3
- package/dist/{chunk-4ED2DBNC.js → chunk-TFBQESH7.js} +1 -1
- package/dist/{chunk-YATR5BXD.js → chunk-TKOWXAHG.js} +4 -4
- package/dist/{chunk-PP5CGT2P.js → chunk-VBKRZCR7.js} +1 -1
- package/dist/{chunk-YN6ISG7A.js → chunk-VSUZE2PD.js} +14 -13
- package/dist/{chunk-U7UASV36.js → chunk-WR7CSHQ4.js} +43 -10
- package/dist/{chunk-2R4JIZCB.js → chunk-YLTIEEVL.js} +2 -2
- package/dist/cli.js +22 -22
- package/dist/{clock-BMLJ2TR6.js → clock-HP2TGMG5.js} +3 -3
- package/dist/{cloud-sync-GV6O2HN2.js → cloud-sync-3OPHFOYQ.js} +17 -17
- package/dist/{config-QB7W3Z7P.js → config-W7MS3PWY.js} +3 -3
- package/dist/{conversations-KW7IYESK.js → conversations-FSZCUUYO.js} +3 -3
- package/dist/{create-C3BBFYV7.js → create-CJ2SR4EU.js} +1 -1
- package/dist/{create-CTPXWFTL.js → create-YNBZWD34.js} +2 -2
- package/dist/{daemon-client-2MIPKY3E.js → daemon-client-EWDPOOHC.js} +3 -1
- package/dist/{daemon-restart-W47YDE5E.js → daemon-restart-RAKGR56L.js} +7 -7
- package/dist/daemon.js +258 -302
- package/dist/{db-D4FVCA5I.js → db-ZJJJYJBU.js} +1 -1
- package/dist/{delete-NLXES2C7.js → delete-4ND5PLE7.js} +1 -1
- package/dist/delivery-manager-5Y35DOX3.js +33 -0
- package/dist/{delivery-router-Y66OXJPM.js → delivery-router-FDBZJQOY.js} +2 -2
- package/dist/{down-JVHNXOFU.js → down-DS6WCT34.js} +5 -5
- package/dist/echo-text-YP3JVLNA.js +32 -0
- package/dist/{env-IQ6Q2333.js → env-XX2MBZCZ.js} +1 -1
- package/dist/{exec-R2WWZ6FH.js → exec-ZDD7NEB4.js} +3 -3
- package/dist/{export-ZZ5WWBUH.js → export-5DOQV2WM.js} +3 -3
- package/dist/{extension-LZYHBNLV.js → extension-BCFYXI7A.js} +4 -1
- package/dist/{extensions-AGANCIQA.js → extensions-BTNIUS5J.js} +17 -17
- package/dist/{files-Q2Z4LQZP.js → files-K2MEMV3W.js} +3 -3
- package/dist/{import-MFYCBS4K.js → import-V6QEHMPQ.js} +7 -7
- package/dist/{isolation-7F3MA4G7.js → isolation-F7ABZMDA.js} +2 -2
- package/dist/{join-6SZCA5FX.js → join-4S3KT7NE.js} +1 -1
- package/dist/{list-KHJZJPEJ.js → list-XJB5WII6.js} +1 -1
- package/dist/{login-WY3DADVB.js → login-PHMTLNUF.js} +2 -2
- package/dist/{login-GYTH67ES.js → login-YWD6PUOT.js} +1 -1
- package/dist/{logout-TFZHWNVL.js → logout-BP3R3CAA.js} +2 -2
- package/dist/{logout-YHQLOFLR.js → logout-Q2WICH4V.js} +1 -1
- package/dist/message-delivery-FPIL26WV.js +41 -0
- package/dist/{mind-XIKEPJNS.js → mind-VXV6ZYZY.js} +18 -18
- package/dist/{mind-activity-tracker-RSIWUUJK.js → mind-activity-tracker-HWVFE533.js} +3 -3
- package/dist/{mind-history-WHCNZ6I5.js → mind-history-TDUQFYAG.js} +1 -1
- package/dist/{mind-list-H3HC2ZRG.js → mind-list-2T353Q5G.js} +1 -1
- package/dist/mind-manager-OYOIBGK6.js +33 -0
- package/dist/{mind-profile-7VYRJGFZ.js → mind-profile-2HHR7LZ7.js} +1 -1
- package/dist/mind-service-PR4PR4XI.js +37 -0
- package/dist/{mind-sleep-ZL5ZXFTM.js → mind-sleep-4NXV4J4U.js} +1 -1
- package/dist/{mind-status-ZWULKOUO.js → mind-status-CG66OXDK.js} +1 -1
- package/dist/{mind-wake-HK5ORGUK.js → mind-wake-TNB54DBR.js} +1 -1
- package/dist/{package-2X7UNSTQ.js → package-UWH5IM76.js} +2 -1
- package/dist/{read-CP7MYMJQ.js → read-JLR4NQXU.js} +1 -1
- package/dist/{register-XOBFEMI4.js → register-IQ2M4UO6.js} +1 -1
- package/dist/{registry-RAXNFN7K.js → registry-MDLNPTTI.js} +3 -1
- package/dist/{reject-43AGXB6B.js → reject-N2D4CZND.js} +1 -1
- package/dist/{restart-O5QIYQJT.js → restart-43A5MBGV.js} +1 -1
- package/dist/{sandbox-O3GZTS7J.js → sandbox-E7RWZDVG.js} +7 -3
- package/dist/scheduler-KXUY2I7W.js +31 -0
- package/dist/{seed-I4CNKTKZ.js → seed-YQAOIXIY.js} +1 -1
- package/dist/{seed-check-HZPVFJKZ.js → seed-check-N5ALJBT6.js} +1 -1
- package/dist/{seed-cmd-YTQYWCZF.js → seed-cmd-7KJS4LCA.js} +3 -3
- package/dist/{seed-create-MDBTVADS.js → seed-create-Z7NDRRGP.js} +4 -4
- package/dist/{seed-sprout-N6O5FBPY.js → seed-sprout-PYDMVVUL.js} +8 -8
- package/dist/{send-5XA7LRNB.js → send-KQECN2EL.js} +3 -3
- package/dist/{service-AY5TGWJX.js → service-Q5OVY5AK.js} +4 -4
- package/dist/{service-install-NLGAVTQS.js → service-install-GTDUHP6R.js} +5 -5
- package/dist/{setup-3434PQ5Q.js → setup-IYOUPCIK.js} +6 -2
- package/dist/{setup-47NBOCZL.js → setup-VARJ7N6Z.js} +7 -7
- package/dist/{skill-ICN6Y2ZF.js → skill-E43BI34Y.js} +1 -1
- package/dist/skills/imagegen/scripts/imagegen.ts +1 -1
- package/dist/{skills-YTLBAF32.js → skills-YBCYVOPQ.js} +5 -5
- package/dist/sleep-manager-FJLASHHW.js +35 -0
- package/dist/{spirit-KTBHLULO.js → spirit-NJFAY5CZ.js} +8 -8
- package/dist/{split-5YBEQTBF.js → split-5IBUODEE.js} +1 -1
- package/dist/{sprout-4ZUJUNDQ.js → sprout-B27C2WGE.js} +1 -1
- package/dist/{src-OYWRPLC6.js → src-L2Z7X5UT.js} +5 -8
- package/dist/{src-4LFGGNW7.js → src-TJ7RBU5H.js} +2 -12
- package/dist/{start-LMXXRR3X.js → start-5AYFGNS7.js} +1 -1
- package/dist/{status-VMOZUIZ2.js → status-ECZHHSY5.js} +5 -5
- package/dist/{stop-TWDKVEUX.js → stop-WJ6IG6OK.js} +1 -1
- package/dist/system-chat-P6KVGW4T.js +35 -0
- package/dist/{systems-Y2WZV2K4.js → systems-5MA57Q7G.js} +4 -4
- package/dist/{tailscale-PK3AI5EV.js → tailscale-TIRTGM6E.js} +1 -1
- package/dist/{template-hash-JARTCRGS.js → template-hash-446HHH5V.js} +2 -2
- package/dist/{turn-tracker-SZBSL7LK.js → turn-tracker-W4TASMR7.js} +4 -4
- package/dist/{up-VGVPOB6J.js → up-POJX6S5Y.js} +6 -6
- package/dist/{update-3ANTQO54.js → update-OPR4KU4M.js} +5 -5
- package/dist/{update-check-4O6DKUOF.js → update-check-OG27AL4Z.js} +2 -2
- package/dist/{upgrade-RXFZR5FI.js → upgrade-QB7AHIKX.js} +1 -1
- package/dist/{version-notify-SSNAWZMX.js → version-notify-TCKAX7ZA.js} +19 -19
- package/dist/web-assets/assets/{index-DaUp9iE2.js → index-CrFAsfiE.js} +10 -10
- package/dist/web-assets/assets/{index-DqHSW9Fr.css → index-D7udpBCx.css} +1 -1
- package/dist/web-assets/index.html +2 -2
- package/package.json +2 -1
- package/packages/extensions/plan/skills/plan/scripts/plan-hook.sh +2 -2
- package/templates/_base/.init/.config/hooks/pre-prompt/session-activity.ts +3 -3
- package/templates/_base/.init/.local/hooks/pre-prompt/notices.ts +3 -3
- package/templates/_base/.init/.local/hooks/pre-prompt/session-activity.ts +3 -3
- package/templates/_base/src/lib/daemon-client.ts +1 -1
- package/templates/_base/src/lib/volute-server.ts +1 -1
- package/templates/codex/src/server.ts +8 -2
- package/templates/pi/src/lib/resolve-model.ts +50 -12
- package/dist/chunk-N64Q7FMP.js +0 -70
- package/dist/delivery-manager-EB52CQ5X.js +0 -33
- package/dist/echo-text-QVPS6QDM.js +0 -32
- package/dist/message-delivery-X4CZE2L6.js +0 -41
- package/dist/mind-manager-VU3RGCXD.js +0 -31
- package/dist/mind-service-L7LMMDYJ.js +0 -37
- package/dist/scheduler-SXELVRWO.js +0 -31
- package/dist/sleep-manager-T3AXQB3R.js +0 -35
- package/dist/system-chat-HCPHUQGI.js +0 -35
|
@@ -64,16 +64,16 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
64
64
|
${e}</tr>
|
|
65
65
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
66
66
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${dl(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=fl(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+dl(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=fl(e);if(i===null)return dl(n);e=i;let a=`<img src="${e}" alt="${dl(n)}"`;return t&&(a+=` title="${dl(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:dl(e.text)}},Cl=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},wl=class e{options;renderer;textRenderer;constructor(e){this.options=e||Zs,this.options.renderer=this.options.renderer||new Sl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Cl}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Tl=class{options;block;constructor(e){this.options=e||Zs}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?xl.lex:xl.lexInline}provideParser(e=this.block){return e?wl.parse:wl.parseInline}},El=class{defaults=Xs();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=wl;Renderer=Sl;TextRenderer=Cl;Lexer=xl;Tokenizer=bl;Hooks=Tl;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Sl(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new bl(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Tl;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];Tl.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&Tl.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return xl.lex(e,t??this.defaults)}parser(e,t){return wl.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?xl.lex:xl.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?wl.parse:wl.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?xl.lex:xl.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?wl.parse:wl.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
67
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+dl(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},Dl=new El;function Ol(e,t){return Dl.parse(e,t)}Ol.options=Ol.setOptions=function(e){return Dl.setOptions(e),Ol.defaults=Dl.defaults,Qs(Ol.defaults),Ol},Ol.getDefaults=Xs,Ol.defaults=Zs,Ol.use=function(...e){return Dl.use(...e),Ol.defaults=Dl.defaults,Qs(Ol.defaults),Ol},Ol.walkTokens=function(e,t){return Dl.walkTokens(e,t)},Ol.parseInline=Dl.parseInline,Ol.Parser=wl,Ol.parser=wl.parse,Ol.Renderer=Sl,Ol.TextRenderer=Cl,Ol.Lexer=xl,Ol.lexer=xl.lex,Ol.Tokenizer=bl,Ol.Hooks=Tl,Ol.parse=Ol,Ol.options,Ol.setOptions,Ol.use,Ol.walkTokens,Ol.parseInline,wl.parse,xl.lex;var kl=new El({breaks:!0,gfm:!0});function Al(e){return Ys.sanitize(kl.parse(e))}function jl(e){return typeof e==`string`?{text:e,position:`top`}:{text:e.text,position:e.position??`top`}}function Ml(e,t){let n=null,r,i;({text:r,position:i}=jl(t)),r&&!e.getAttribute(`aria-label`)&&e.setAttribute(`aria-label`,r);function a(t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a,o;switch(i){case`bottom`:a=n.bottom+6,o=n.left+n.width/2-r.width/2;break;case`left`:a=n.top+n.height/2-r.height/2,o=n.left-r.width-6;break;case`right`:a=n.top+n.height/2-r.height/2,o=n.right+6;break;default:a=n.top-r.height-6,o=n.left+n.width/2-r.width/2;break}o=Math.max(4,Math.min(o,window.innerWidth-r.width-4)),a=Math.max(4,Math.min(a,window.innerHeight-r.height-4)),t.style.top=`${a}px`,t.style.left=`${o}px`}function o(){r&&(n=document.createElement(`div`),n.className=`volute-tooltip`,n.textContent=r,document.body.appendChild(n),a(n))}function s(){n?.remove(),n=null}return e.addEventListener(`mouseenter`,o),e.addEventListener(`mouseleave`,s),{update(t){({text:r,position:i}=jl(t)),r&&!e.getAttribute(`aria-label`)&&e.setAttribute(`aria-label`,r),n&&(n.textContent=r,a(n))},destroy(){s(),e.removeEventListener(`mouseenter`,o),e.removeEventListener(`mouseleave`,s)}}}function Nl(e){let t=Fl(e);return t===`running`||t===`active`?`var(--text-0)`:t===`starting`?`var(--yellow)`:`var(--text-2)`}function Pl(e){return e.endsWith(`Z`)?e:`${e}Z`}function Fl(e){return e.status===`running`?e.lastActiveAt&&Date.now()-new Date(Pl(e.lastActiveAt)).getTime()<5*6e4?`active`:`running`:e.status}function Il(e){let t=Date.now()-new Date(Pl(e)).getTime(),n=Math.floor(t/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function Ll(e,t,n){if(n?.type===`channel`&&n.channel_name)return`#${n.channel_name}`;if(e.length===2){let n=e.find(e=>e.username!==t);if(n)return`@${n.username}`}let r=e.filter(e=>e.userType===`mind`);return r.length>0?r.map(e=>e.username).join(`, `):`Untitled`}var Rl=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],zl=[`difference`,`intersection`,`symmetricDifference`,`union`],Bl=!1,Vl=class e extends Set{#e=new Map;#t=F(0);#n=F(0);#r=fr||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}Bl||this.#a()}#i(e){return fr===this.#r?F(e):Yt(e)}#a(){Bl=!0;var t=e.prototype,n=Set.prototype;for(let e of Rl)t[e]=function(...t){return H(this.#t),n[e].apply(this,t)};for(let r of zl)t[r]=function(...t){return H(this.#t),new e(n[r].apply(this,t))}}has(e){var t=super.has(e),n=this.#e,r=n.get(e);if(r===void 0){if(!t)return H(this.#t),!1;r=this.#i(!0),n.set(e,r)}return H(r),t}add(e){return super.has(e)||(super.add(e),I(this.#n,super.size),$t(this.#t)),this}delete(e){var t=super.delete(e),n=this.#e,r=n.get(e);return r!==void 0&&(n.delete(e),I(r,!1)),t&&(I(this.#n,super.size),$t(this.#t)),t}clear(){if(super.size!==0){super.clear();var e=this.#e;for(var t of e.values())I(t,!1);e.clear(),I(this.#n,0),$t(this.#t)}}keys(){return this.values()}values(){return H(this.#t),super.values()}entries(){return H(this.#t),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return H(this.#n)}},Hl=class extends Map{#e=new Map;#t=F(0);#n=F(0);#r=fr||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return fr===this.#r?F(e):Yt(e)}has(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else return H(this.#t),!1;return H(n),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else{H(this.#t);return}return H(n),super.get(e)}set(e,t){var n=this.#e,r=n.get(e),i=super.get(e),a=super.set(e,t),o=this.#t;if(r===void 0)r=this.#i(0),n.set(e,r),I(this.#n,super.size),$t(o);else if(i!==t){$t(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&$t(o)}return a}delete(e){var t=this.#e,n=t.get(e),r=super.delete(e);return n!==void 0&&(t.delete(e),I(n,-1)),r&&(I(this.#n,super.size),$t(this.#t)),r}clear(){if(super.size!==0){super.clear();var e=this.#e;I(this.#n,0);for(var t of e.values())I(t,-1);$t(this.#t),e.clear()}}#a(){H(this.#t);var e=this.#e;if(this.#n.v!==e.size){for(var t of super.keys())if(!e.has(t)){var n=this.#i(0);e.set(t,n)}}for([,n]of this.#e)H(n)}keys(){return H(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return H(this.#n),super.size}};async function Ul(e){let t=await fetch(e);if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}return t.json()}async function Wl(e,t){let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}return n.json()}async function Gl(){let e=await fetch(`/api/auth/me`);return e.ok?e.json():null}function Kl(e,t){return Wl(`/api/auth/login`,{username:e,password:t})}function ql(e,t){return Wl(`/api/auth/register`,{username:e,password:t})}async function Jl(){await fetch(`/api/auth/logout`,{method:`POST`})}function Yl(){return Ul(`/api/auth/users`)}function Xl(e,t){return Wl(`/api/auth/change-password`,{currentPassword:e,newPassword:t})}async function Zl(e){if(!(await fetch(`/api/auth/users/${e}/approve`,{method:`POST`})).ok)throw Error(`Failed to approve user`)}async function Ql(e,t){let n=await fetch(`/api/auth/users/${e}/role`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({role:t})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to change role`)}}async function $l(e,t){let n=await fetch(`/api/auth/users/${e}/profile`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to update profile`)}}async function eu(e){let t=await fetch(`/api/auth/users/${e}`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Failed to delete user`)}}async function tu(e){let t=await fetch(`/api/auth/profile`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Failed to update profile`)}}async function nu(e){let t=new FormData;t.append(`file`,e);let n=await fetch(`/api/auth/avatar`,{method:`POST`,body:t});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to upload avatar`)}return(await n.json()).avatar}async function ru(){let e=await fetch(`/api/auth/avatar`,{method:`DELETE`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Failed to delete avatar`)}}function iu(e={}){let t=(e.baseUrl??``).replace(/\/$/,``),n=e.token??null,r=e.fetch??globalThis.fetch.bind(globalThis);function i(e){n&&e.set(`Authorization`,`Bearer ${n}`)}async function a(e,n){let a=new Headers(n?.headers);return i(a),r(`${t}${e}`,{...n,headers:a})}async function o(e){let t=await a(e);if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}return t.json()}async function s(e,t){let n=await a(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}return n.json()}async function c(e,t){let n=await a(e,{method:`PUT`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}}async function l(e,t){let n=await a(e,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}return n.json()}async function u(e){let t=await a(e,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}}return{get:o,post:s,put:c,patch:l,del:u,fetch:a,baseUrl:t,setToken(e){n=e}}}var au=iu(),Q=`/api/v1`;function ou(e){return au.get(e)}function su(e,t){return au.post(e,t)}function cu(e,t){return au.put(e,t)}function lu(e){return au.del(e)}function uu(){return ou(`${Q}/minds`)}function du(e){return ou(`${Q}/minds/${$(e)}`)}function fu(e){return ou(`${Q}/minds/${$(e)}/context`)}function pu(e){return ou(`${Q}/minds/${$(e)}/context/messages`)}function mu(e){return su(`${Q}/minds/${$(e)}/start`)}function hu(e){return su(`${Q}/minds/${$(e)}/stop`)}function gu(e,t=!1){return lu(`${Q}/minds/${$(e)}${t?`?force=true`:``}`)}function _u(e,t){return su(`${Q}/minds`,{name:e,stage:`seed`,...t})}function vu(e,t,n){let r=new URLSearchParams;n?.before!=null&&r.set(`before`,String(n.before)),n?.limit!=null&&r.set(`limit`,String(n.limit));let i=r.toString();return ou(`${Q}/minds/${$(e)}/conversations/${$(t)}/messages${i?`?${i}`:``}`)}function yu(e,t){let n=new URLSearchParams;t?.before!=null&&n.set(`before`,String(t.before)),t?.limit!=null&&n.set(`limit`,String(t.limit));let r=n.toString();return ou(`${Q}/conversations/${$(e)}/messages${r?`?${r}`:``}`)}function bu(e){return lu(`${Q}/conversations/${$(e)}`)}function xu(e){return su(`${Q}/conversations/${$(e)}/read`)}function Su(e,t){return cu(`${Q}/conversations/${$(e)}/private`,{private:t})}function Cu(e){return su(`${Q}/chat`,{message:e.message||void 0,conversationId:e.conversationId,targetMind:e.targetMind,images:e.images&&e.images.length>0?e.images:void 0,files:e.files&&e.files.length>0?e.files:void 0})}function wu(e,t,n,r){au.fetch(`${Q}/minds/${$(e)}/typing`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({channel:t,sender:n,active:r})}).catch(()=>{})}function Tu(e,t){let n=new URLSearchParams;t?.channel&&n.set(`channel`,t.channel),t?.session&&n.set(`session`,t.session),t?.preset&&n.set(`preset`,t.preset),t?.limit!==void 0&&n.set(`limit`,String(t.limit)),t?.offset!==void 0&&n.set(`offset`,String(t.offset));let r=n.toString();return ou(`${Q}/minds/${$(e)}/history${r?`?${r}`:``}`)}function Eu(e,t){let n=new URLSearchParams;return`turnId`in t?n.set(`turn_id`,t.turnId):(n.set(`session`,t.session),n.set(`from_id`,String(t.fromId)),n.set(`to_id`,String(t.toId))),t.detail&&n.set(`detail`,`1`),ou(`${Q}/minds/${$(e)}/history/turn?${n}`)}function Du(e){let t=new URLSearchParams;e?.mind&&t.set(`mind`,e.mind),e?.limit!==void 0&&t.set(`limit`,String(e.limit)),e?.offset!==void 0&&t.set(`offset`,String(e.offset)),e?.turnId&&t.set(`turnId`,e.turnId),e?.turnIds?.length&&t.set(`turnIds`,e.turnIds.join(`,`));let n=t.toString();return ou(`${Q}/history/turns${n?`?${n}`:``}`)}function Ou(e){let t=new URLSearchParams;return e.mind&&t.set(`mind`,e.mind),t.set(`period`,e.period),e.from&&t.set(`from`,e.from),e.to&&t.set(`to`,e.to),e.limit!==void 0&&t.set(`limit`,String(e.limit)),ou(`${Q}/history/summaries?${t}`)}function ku(e){return e.length===0?Promise.resolve([]):ou(`${Q}/history/summaries?ids=${e.join(`,`)}`)}function Au(e){return ou(`${Q}/minds/${$(e)}/config`)}function ju(e,t){return cu(`${Q}/minds/${$(e)}/config`,t)}function Mu(e){return ou(`${Q}/minds/${$(e)}/env`)}function Nu(e,t,n){return cu(`${Q}/minds/${$(e)}/env/${$(t)}`,{value:n})}function Pu(e,t){return lu(`${Q}/minds/${$(e)}/env/${$(t)}`)}function Fu(e){return lu(`${Q}/env/${$(e)}`)}function Iu(){return ou(`${Q}/channels`)}function Lu(e){return su(`${Q}/channels`,{name:e})}function Ru(e){return su(`${Q}/channels/${$(e)}/join`)}function zu(e){return su(`${Q}/channels/${$(e)}/leave`)}function Bu(e,t){return su(`${Q}/channels/${$(e)}/invite`,{username:t})}function Vu(){return ou(`${Q}/skills`)}function Hu(e){return ou(`${Q}/minds/${$(e)}/skills`)}function Uu(e,t){return su(`${Q}/minds/${$(e)}/skills/install`,{skillId:t})}function Wu(e,t){return su(`${Q}/minds/${$(e)}/skills/update`,{skillId:t})}function Gu(e,t){return su(`${Q}/minds/${$(e)}/skills/publish`,{skillId:t})}function Ku(e,t){return lu(`${Q}/minds/${$(e)}/skills/${$(t)}`)}function qu(e){return lu(`${Q}/skills/${$(e)}`)}function Ju(){return ou(`${Q}/skills/defaults/list`).then(e=>e.skills)}function Yu(e){return su(`${Q}/skills/defaults/list`,{skill:e}).then(e=>e.skills)}async function Xu(e){let t=await au.fetch(`${Q}/skills/defaults/list/${$(e)}`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}return(await t.json()).skills}function Zu(){return ou(`${Q}/skills/auto-update`).then(e=>e.enabled)}function Qu(e){return cu(`${Q}/skills/auto-update`,{enabled:e})}function $u(){return ou(`${Q}/prompts`)}function ed(e,t){return cu(`${Q}/prompts/${$(e)}`,{content:t})}function td(e){return lu(`${Q}/prompts/${$(e)}`)}function nd(){return su(`${Q}/system/restart`)}async function rd(){try{return await ou(`${Q}/system/info`)}catch{return{system:null,name:null}}}async function id(e){await cu(`${Q}/system/info`,{name:e})}function ad(e){return su(`${Q}/system/register`,{name:e})}function od(e){return su(`${Q}/system/login`,{key:e})}function sd(){return su(`${Q}/system/logout`)}function cd(){return ou(`${Q}/system/ai/providers`)}function ld(){return ou(`${Q}/system/ai/models`)}function ud(e,t){return cu(`${Q}/system/ai/providers/${$(e)}`,{apiKey:t})}function dd(e){return lu(`${Q}/system/ai/providers/${$(e)}`)}function fd(e){return su(`${Q}/system/ai/oauth/start`,{provider:e})}function pd(e){return ou(`${Q}/system/ai/oauth/status/${$(e)}`)}function md(e,t){return su(`${Q}/system/ai/oauth/code/${$(e)}`,{code:t})}function hd(e){return cu(`${Q}/system/ai/models`,{models:e})}function gd(){return ou(`${Q}/system/ai/defaults`)}function _d(e){return cu(`${Q}/system/ai/defaults`,e)}function vd(){return ou(`${Q}/system/mind-defaults`)}function yd(e){return cu(`${Q}/system/mind-defaults`,e)}function bd(){return ou(`${Q}/system/imagegen/providers`)}function xd(e,t){return cu(`${Q}/system/imagegen/providers/${$(e)}`,{apiKey:t})}function Sd(e){return lu(`${Q}/system/imagegen/providers/${$(e)}`)}function Cd(){return ou(`${Q}/system/imagegen/models`)}function wd(e,t){return cu(`${Q}/system/imagegen/models`,{models:e,defaultModel:t})}function Td(e,t){let n=new URLSearchParams({q:e});return t&&n.set(`provider`,t),ou(`${Q}/system/imagegen/models/search?${n}`)}function Ed(e){return ou(`/api/auth/users${e?`?type=${$(e)}`:``}`)}async function Dd(e){let t=new FormData;t.append(`file`,e);let n=await au.fetch(`${Q}/skills/upload`,{method:`POST`,body:t});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to upload skill`)}return n.json()}function Od(e){return ou(`${Q}/minds/${$(e)}/clock/status`)}function kd(e){return ou(`${Q}/minds/${$(e)}/sleep/config`)}function Ad(e,t){return cu(`${Q}/minds/${$(e)}/sleep/config`,t)}function jd(e){return ou(`${Q}/minds/${$(e)}/schedules`)}function Md(e,t){return su(`${Q}/minds/${$(e)}/schedules`,t)}function Nd(e,t,n){return cu(`${Q}/minds/${$(e)}/schedules/${$(t)}`,n)}function Pd(e,t){return lu(`${Q}/minds/${$(e)}/schedules/${$(t)}`)}async function Fd(e,t){let n=await au.fetch(`${Q}/minds/${$(e)}/profile`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to update profile`)}}async function Id(e,t){let n=new FormData;n.append(`file`,t);let r=await au.fetch(`${Q}/minds/${$(e)}/avatar`,{method:`POST`,body:n});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error||`Failed to upload avatar`)}}function Ld(){return ou(`/api/extensions/all`)}async function Rd(e,t){await cu(`/api/extensions/${$(e)}/enabled`,{enabled:t})}async function zd(e){await su(`/api/extensions/install`,{package:e})}async function Bd(e){await lu(`/api/extensions/uninstall/${$(e)}`)}function $(e){return encodeURIComponent(e)}var Vd=null,Hd=null,Ud=null,Wd=``,Gd=1e3,Kd=3e4,qd=3e4,Jd=new Set,Yd=L({connected:!1});function Xd(e){return Jd.add(e),()=>Jd.delete(e)}function Zd(e){for(let t of Jd)try{t(e)}catch(e){console.error(`[connection] handler threw:`,e)}}function Qd(e){let t=[],n,r=[];for(let i of e.split(`
|
|
67
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+dl(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}},Dl=new El;function Ol(e,t){return Dl.parse(e,t)}Ol.options=Ol.setOptions=function(e){return Dl.setOptions(e),Ol.defaults=Dl.defaults,Qs(Ol.defaults),Ol},Ol.getDefaults=Xs,Ol.defaults=Zs,Ol.use=function(...e){return Dl.use(...e),Ol.defaults=Dl.defaults,Qs(Ol.defaults),Ol},Ol.walkTokens=function(e,t){return Dl.walkTokens(e,t)},Ol.parseInline=Dl.parseInline,Ol.Parser=wl,Ol.parser=wl.parse,Ol.Renderer=Sl,Ol.TextRenderer=Cl,Ol.Lexer=xl,Ol.lexer=xl.lex,Ol.Tokenizer=bl,Ol.Hooks=Tl,Ol.parse=Ol,Ol.options,Ol.setOptions,Ol.use,Ol.walkTokens,Ol.parseInline,wl.parse,xl.lex;var kl=new El({breaks:!0,gfm:!0});function Al(e){return Ys.sanitize(kl.parse(e))}function jl(e){return typeof e==`string`?{text:e,position:`top`}:{text:e.text,position:e.position??`top`}}function Ml(e,t){let n=null,r,i;({text:r,position:i}=jl(t)),r&&!e.getAttribute(`aria-label`)&&e.setAttribute(`aria-label`,r);function a(t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a,o;switch(i){case`bottom`:a=n.bottom+6,o=n.left+n.width/2-r.width/2;break;case`left`:a=n.top+n.height/2-r.height/2,o=n.left-r.width-6;break;case`right`:a=n.top+n.height/2-r.height/2,o=n.right+6;break;default:a=n.top-r.height-6,o=n.left+n.width/2-r.width/2;break}o=Math.max(4,Math.min(o,window.innerWidth-r.width-4)),a=Math.max(4,Math.min(a,window.innerHeight-r.height-4)),t.style.top=`${a}px`,t.style.left=`${o}px`}function o(){r&&(n=document.createElement(`div`),n.className=`volute-tooltip`,n.textContent=r,document.body.appendChild(n),a(n))}function s(){n?.remove(),n=null}return e.addEventListener(`mouseenter`,o),e.addEventListener(`mouseleave`,s),{update(t){({text:r,position:i}=jl(t)),r&&!e.getAttribute(`aria-label`)&&e.setAttribute(`aria-label`,r),n&&(n.textContent=r,a(n))},destroy(){s(),e.removeEventListener(`mouseenter`,o),e.removeEventListener(`mouseleave`,s)}}}function Nl(e){let t=Fl(e);return t===`running`||t===`active`?`var(--text-0)`:t===`starting`?`var(--yellow)`:`var(--text-2)`}function Pl(e){return e.endsWith(`Z`)?e:`${e}Z`}function Fl(e){return e.status===`running`?e.lastActiveAt&&Date.now()-new Date(Pl(e.lastActiveAt)).getTime()<5*6e4?`active`:`running`:e.status}function Il(e){let t=Date.now()-new Date(Pl(e)).getTime(),n=Math.floor(t/6e4);if(n<1)return`just now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function Ll(e,t,n){if(n?.type===`channel`&&n.channel_name)return`#${n.channel_name}`;if(e.length===2){let n=e.find(e=>e.username!==t);if(n)return`@${n.username}`}let r=e.filter(e=>e.userType===`mind`);return r.length>0?r.map(e=>e.username).join(`, `):`Untitled`}var Rl=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],zl=[`difference`,`intersection`,`symmetricDifference`,`union`],Bl=!1,Vl=class e extends Set{#e=new Map;#t=F(0);#n=F(0);#r=fr||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}Bl||this.#a()}#i(e){return fr===this.#r?F(e):Yt(e)}#a(){Bl=!0;var t=e.prototype,n=Set.prototype;for(let e of Rl)t[e]=function(...t){return H(this.#t),n[e].apply(this,t)};for(let r of zl)t[r]=function(...t){return H(this.#t),new e(n[r].apply(this,t))}}has(e){var t=super.has(e),n=this.#e,r=n.get(e);if(r===void 0){if(!t)return H(this.#t),!1;r=this.#i(!0),n.set(e,r)}return H(r),t}add(e){return super.has(e)||(super.add(e),I(this.#n,super.size),$t(this.#t)),this}delete(e){var t=super.delete(e),n=this.#e,r=n.get(e);return r!==void 0&&(n.delete(e),I(r,!1)),t&&(I(this.#n,super.size),$t(this.#t)),t}clear(){if(super.size!==0){super.clear();var e=this.#e;for(var t of e.values())I(t,!1);e.clear(),I(this.#n,0),$t(this.#t)}}keys(){return this.values()}values(){return H(this.#t),super.values()}entries(){return H(this.#t),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return H(this.#n)}},Hl=class extends Map{#e=new Map;#t=F(0);#n=F(0);#r=fr||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return fr===this.#r?F(e):Yt(e)}has(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else return H(this.#t),!1;return H(n),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else{H(this.#t);return}return H(n),super.get(e)}set(e,t){var n=this.#e,r=n.get(e),i=super.get(e),a=super.set(e,t),o=this.#t;if(r===void 0)r=this.#i(0),n.set(e,r),I(this.#n,super.size),$t(o);else if(i!==t){$t(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&$t(o)}return a}delete(e){var t=this.#e,n=t.get(e),r=super.delete(e);return n!==void 0&&(t.delete(e),I(n,-1)),r&&(I(this.#n,super.size),$t(this.#t)),r}clear(){if(super.size!==0){super.clear();var e=this.#e;I(this.#n,0);for(var t of e.values())I(t,-1);$t(this.#t),e.clear()}}#a(){H(this.#t);var e=this.#e;if(this.#n.v!==e.size){for(var t of super.keys())if(!e.has(t)){var n=this.#i(0);e.set(t,n)}}for([,n]of this.#e)H(n)}keys(){return H(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return H(this.#n),super.size}};async function Ul(e){let t=await fetch(e);if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}return t.json()}async function Wl(e,t){let n=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}return n.json()}async function Gl(){let e=await fetch(`/api/auth/me`);return e.ok?e.json():null}function Kl(e,t){return Wl(`/api/auth/login`,{username:e,password:t})}function ql(e,t){return Wl(`/api/auth/register`,{username:e,password:t})}async function Jl(){await fetch(`/api/auth/logout`,{method:`POST`})}function Yl(){return Ul(`/api/auth/users`)}function Xl(e,t){return Wl(`/api/auth/change-password`,{currentPassword:e,newPassword:t})}async function Zl(e){if(!(await fetch(`/api/auth/users/${e}/approve`,{method:`POST`})).ok)throw Error(`Failed to approve user`)}async function Ql(e,t){let n=await fetch(`/api/auth/users/${e}/role`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({role:t})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to change role`)}}async function $l(e,t){let n=await fetch(`/api/auth/users/${e}/profile`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to update profile`)}}async function eu(e){let t=await fetch(`/api/auth/users/${e}`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Failed to delete user`)}}async function tu(e){let t=await fetch(`/api/auth/profile`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Failed to update profile`)}}async function nu(e){let t=new FormData;t.append(`file`,e);let n=await fetch(`/api/auth/avatar`,{method:`POST`,body:t});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to upload avatar`)}return(await n.json()).avatar}async function ru(){let e=await fetch(`/api/auth/avatar`,{method:`DELETE`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Failed to delete avatar`)}}function iu(e={}){let t=(e.baseUrl??``).replace(/\/$/,``),n=e.token??null,r=e.fetch??globalThis.fetch.bind(globalThis);function i(e){n&&e.set(`Authorization`,`Bearer ${n}`)}async function a(e,n){let a=new Headers(n?.headers);return i(a),r(`${t}${e}`,{...n,headers:a})}async function o(e){let t=await a(e);if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}return t.json()}async function s(e,t){let n=await a(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}return n.json()}async function c(e,t){let n=await a(e,{method:`PUT`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}}async function l(e,t){let n=await a(e,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:t==null?void 0:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Request failed: ${n.status}`)}return n.json()}async function u(e){let t=await a(e,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}}return{get:o,post:s,put:c,patch:l,del:u,fetch:a,baseUrl:t,setToken(e){n=e}}}var au=iu(),Q=`/api/v1`;function ou(e){return au.get(e)}function su(e,t){return au.post(e,t)}function cu(e,t){return au.put(e,t)}function lu(e){return au.del(e)}function uu(){return ou(`${Q}/minds`)}function du(e){return ou(`${Q}/minds/${$(e)}`)}function fu(e){return ou(`${Q}/minds/${$(e)}/context`)}function pu(e){return ou(`${Q}/minds/${$(e)}/context/messages`)}function mu(e){return su(`${Q}/minds/${$(e)}/start`)}function hu(e){return su(`${Q}/minds/${$(e)}/stop`)}function gu(e,t=!1){return lu(`${Q}/minds/${$(e)}${t?`?force=true`:``}`)}function _u(e,t){return su(`${Q}/minds`,{name:e,stage:`seed`,...t})}function vu(e,t,n){let r=new URLSearchParams;n?.before!=null&&r.set(`before`,String(n.before)),n?.limit!=null&&r.set(`limit`,String(n.limit));let i=r.toString();return ou(`${Q}/minds/${$(e)}/conversations/${$(t)}/messages${i?`?${i}`:``}`)}function yu(e,t){let n=new URLSearchParams;t?.before!=null&&n.set(`before`,String(t.before)),t?.limit!=null&&n.set(`limit`,String(t.limit));let r=n.toString();return ou(`${Q}/conversations/${$(e)}/messages${r?`?${r}`:``}`)}function bu(e){return lu(`${Q}/conversations/${$(e)}`)}function xu(e){return su(`${Q}/conversations/${$(e)}/read`)}function Su(e,t){return cu(`${Q}/conversations/${$(e)}/private`,{private:t})}function Cu(e){return su(`${Q}/chat`,{message:e.message||void 0,conversationId:e.conversationId,targetMind:e.targetMind,images:e.images&&e.images.length>0?e.images:void 0,files:e.files&&e.files.length>0?e.files:void 0})}function wu(e,t,n,r){au.fetch(`${Q}/minds/${$(e)}/typing`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({channel:t,sender:n,active:r})}).catch(()=>{})}function Tu(e,t){let n=new URLSearchParams;t?.channel&&n.set(`channel`,t.channel),t?.session&&n.set(`session`,t.session),t?.preset&&n.set(`preset`,t.preset),t?.limit!==void 0&&n.set(`limit`,String(t.limit)),t?.offset!==void 0&&n.set(`offset`,String(t.offset));let r=n.toString();return ou(`${Q}/minds/${$(e)}/history${r?`?${r}`:``}`)}function Eu(e,t){let n=new URLSearchParams;return`turnId`in t?n.set(`turn_id`,t.turnId):(n.set(`session`,t.session),n.set(`from_id`,String(t.fromId)),n.set(`to_id`,String(t.toId))),t.detail&&n.set(`detail`,`1`),ou(`${Q}/minds/${$(e)}/history/turn?${n}`)}function Du(e){let t=new URLSearchParams;e?.mind&&t.set(`mind`,e.mind),e?.limit!==void 0&&t.set(`limit`,String(e.limit)),e?.offset!==void 0&&t.set(`offset`,String(e.offset)),e?.turnId&&t.set(`turnId`,e.turnId),e?.turnIds?.length&&t.set(`turnIds`,e.turnIds.join(`,`));let n=t.toString();return ou(`${Q}/history/turns${n?`?${n}`:``}`)}function Ou(e){let t=new URLSearchParams;return e.mind&&t.set(`mind`,e.mind),t.set(`period`,e.period),e.from&&t.set(`from`,e.from),e.to&&t.set(`to`,e.to),e.limit!==void 0&&t.set(`limit`,String(e.limit)),ou(`${Q}/history/summaries?${t}`)}function ku(e){return e.length===0?Promise.resolve([]):ou(`${Q}/history/summaries?ids=${e.join(`,`)}`)}function Au(e){return ou(`${Q}/minds/${$(e)}/config`)}function ju(e,t){return cu(`${Q}/minds/${$(e)}/config`,t)}function Mu(e){return ou(`${Q}/minds/${$(e)}/env`)}function Nu(e,t,n){return cu(`${Q}/minds/${$(e)}/env/${$(t)}`,{value:n})}function Pu(e,t){return lu(`${Q}/minds/${$(e)}/env/${$(t)}`)}function Fu(e){return lu(`${Q}/env/${$(e)}`)}function Iu(){return ou(`${Q}/channels`)}function Lu(e){return su(`${Q}/channels`,{name:e})}function Ru(e){return su(`${Q}/channels/${$(e)}/join`)}function zu(e){return su(`${Q}/channels/${$(e)}/leave`)}function Bu(e,t){return su(`${Q}/channels/${$(e)}/invite`,{username:t})}function Vu(){return ou(`${Q}/skills`)}function Hu(e){return ou(`${Q}/minds/${$(e)}/skills`)}function Uu(e,t){return su(`${Q}/minds/${$(e)}/skills/install`,{skillId:t})}function Wu(e,t){return su(`${Q}/minds/${$(e)}/skills/update`,{skillId:t})}function Gu(e,t){return su(`${Q}/minds/${$(e)}/skills/publish`,{skillId:t})}function Ku(e,t){return lu(`${Q}/minds/${$(e)}/skills/${$(t)}`)}function qu(e){return lu(`${Q}/skills/${$(e)}`)}function Ju(){return ou(`${Q}/skills/defaults/list`).then(e=>e.skills)}function Yu(e){return su(`${Q}/skills/defaults/list`,{skill:e}).then(e=>e.skills)}async function Xu(e){let t=await au.fetch(`${Q}/skills/defaults/list/${$(e)}`,{method:`DELETE`});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`Request failed: ${t.status}`)}return(await t.json()).skills}function Zu(){return ou(`${Q}/skills/auto-update`).then(e=>e.enabled)}function Qu(e){return cu(`${Q}/skills/auto-update`,{enabled:e})}function $u(){return ou(`${Q}/prompts`)}function ed(e,t){return cu(`${Q}/prompts/${$(e)}`,{content:t})}function td(e){return lu(`${Q}/prompts/${$(e)}`)}function nd(){return su(`${Q}/system/restart`)}async function rd(){try{return await ou(`${Q}/system/info`)}catch{return{system:null,name:null}}}async function id(e){await cu(`${Q}/system/info`,{name:e})}function ad(e){return su(`${Q}/system/register`,{name:e})}function od(e){return su(`${Q}/system/login`,{key:e})}function sd(){return su(`${Q}/system/logout`)}function cd(){return ou(`${Q}/system/ai/providers`)}function ld(){return ou(`${Q}/system/ai/models`)}function ud(e,t){return cu(`${Q}/system/ai/providers/${$(e)}`,{apiKey:t})}function dd(e){return lu(`${Q}/system/ai/providers/${$(e)}`)}function fd(e){return su(`${Q}/system/ai/oauth/start`,{provider:e})}function pd(e){return ou(`${Q}/system/ai/oauth/status/${$(e)}`)}function md(e,t){return su(`${Q}/system/ai/oauth/code/${$(e)}`,{code:t})}function hd(e){return cu(`${Q}/system/ai/models`,{models:e})}function gd(e,t,n){return su(`${Q}/system/ai/models/custom`,{provider:e,id:t,...n?{name:n}:{}})}function _d(e,t){return lu(`${Q}/system/ai/models/custom?provider=${$(e)}&id=${$(t)}`)}function vd(){return ou(`${Q}/system/ai/defaults`)}function yd(e){return cu(`${Q}/system/ai/defaults`,e)}function bd(){return ou(`${Q}/system/mind-defaults`)}function xd(e){return cu(`${Q}/system/mind-defaults`,e)}function Sd(){return ou(`${Q}/system/imagegen/providers`)}function Cd(e,t){return cu(`${Q}/system/imagegen/providers/${$(e)}`,{apiKey:t})}function wd(e){return lu(`${Q}/system/imagegen/providers/${$(e)}`)}function Td(){return ou(`${Q}/system/imagegen/models`)}function Ed(e,t){return cu(`${Q}/system/imagegen/models`,{models:e,defaultModel:t})}function Dd(e,t){let n=new URLSearchParams({q:e});return t&&n.set(`provider`,t),ou(`${Q}/system/imagegen/models/search?${n}`)}function Od(e){return ou(`/api/auth/users${e?`?type=${$(e)}`:``}`)}async function kd(e){let t=new FormData;t.append(`file`,e);let n=await au.fetch(`${Q}/skills/upload`,{method:`POST`,body:t});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to upload skill`)}return n.json()}function Ad(e){return ou(`${Q}/minds/${$(e)}/clock/status`)}function jd(e){return ou(`${Q}/minds/${$(e)}/sleep/config`)}function Md(e,t){return cu(`${Q}/minds/${$(e)}/sleep/config`,t)}function Nd(e){return ou(`${Q}/minds/${$(e)}/schedules`)}function Pd(e,t){return su(`${Q}/minds/${$(e)}/schedules`,t)}function Fd(e,t,n){return cu(`${Q}/minds/${$(e)}/schedules/${$(t)}`,n)}function Id(e,t){return lu(`${Q}/minds/${$(e)}/schedules/${$(t)}`)}async function Ld(e,t){let n=await au.fetch(`${Q}/minds/${$(e)}/profile`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to update profile`)}}async function Rd(e,t){let n=new FormData;n.append(`file`,t);let r=await au.fetch(`${Q}/minds/${$(e)}/avatar`,{method:`POST`,body:n});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error||`Failed to upload avatar`)}}function zd(){return ou(`/api/extensions/all`)}async function Bd(e,t){await cu(`/api/extensions/${$(e)}/enabled`,{enabled:t})}async function Vd(e){await su(`/api/extensions/install`,{package:e})}async function Hd(e){await lu(`/api/extensions/uninstall/${$(e)}`)}function $(e){return encodeURIComponent(e)}var Ud=null,Wd=null,Gd=null,Kd=``,qd=1e3,Jd=3e4,Yd=3e4,Xd=new Set,Zd=L({connected:!1});function Qd(e){return Xd.add(e),()=>Xd.delete(e)}function $d(e){for(let t of Xd)try{t(e)}catch(e){console.error(`[connection] handler threw:`,e)}}function ef(e){let t=[],n,r=[];for(let i of e.split(`
|
|
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
|
-
`)}),n=void 0,r=[]);return t}function
|
|
69
|
+
`)}),n=void 0,r=[]);return t}function tf(){Gd&&=(clearTimeout(Gd),null)}function nf(){Ud?.abort(),Ud=new AbortController;let e=Ud.signal,t=Kd?`/api/v1/events?since=${encodeURIComponent(Kd)}`:`/api/v1/events`;fetch(t,{signal:e}).then(async t=>{if(!t.ok||!t.body){rf();return}qd=1e3,Zd.connected=!0;let n=t.body.getReader(),r=new TextDecoder,i=``;function a(){Gd&&clearTimeout(Gd),Gd=setTimeout(()=>{Gd=null,Ud?.abort(),rf()},Yd)}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=Qd(`${e}\n\n`);for(let e of t)if(e.id&&(Wd=e.id),e.data)try{Zd(JSON.parse(e.data))}catch(t){e.data.trim()&&console.warn(`[connection] failed to process SSE event:`,e.data.slice(0,200),t)}}}$d(),e.aborted||tf()}).catch(e=>{$d(),!(e instanceof DOMException&&e.name===`AbortError`)&&tf()})}function tf(){Yd.connected=!1,!Hd&&(Hd=setTimeout(()=>{Hd=null,ef()},Gd),Gd=Math.min(Gd*2,Kd))}function nf(){rf(),Wd=``,Gd=1e3,ef()}function rf(){Hd&&=(clearTimeout(Hd),null),$d(),Vd?.abort(),Vd=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 of(){`Notification`in window&&Notification.permission==="default"&&Notification.requestPermission()}function sf(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 cf(){return{active:!1,provider:``,providerName:``,url:``,flowId:``,polling:!1,needsCode:!1,waitingForCode:!1,codeInput:``,codeSubmitting:!1,error:``,success:!1}}var lf=L(cf());async function uf(e,t){lf.active=!0,lf.provider=e,lf.providerName=t||e,lf.error=``,lf.success=!1;try{let t=await fd(e);t.url&&(lf.url=t.url,lf.flowId=t.flowId,lf.needsCode=!!t.needsManualCode,lf.polling=!0,window.open(t.url,`_blank`),df())}catch(e){lf.error=e instanceof Error?e.message:`OAuth failed`}}async function df(){let e=0;for(;lf.polling;){await new Promise(e=>setTimeout(e,2500));try{let t=await pd(lf.flowId);if(e=0,t.waitingForCode&&(lf.waitingForCode=!0),t.status===`complete`){lf.polling=!1,lf.success=!0,gf();return}else if(t.status===`error`){lf.polling=!1,lf.error=t.error??`OAuth failed`;return}}catch{if(e++,e>=5){lf.polling=!1,lf.error=`Lost connection while waiting for OAuth`;return}}}}async function ff(){if(!(!lf.codeInput.trim()||!lf.flowId)){lf.error=``,lf.codeSubmitting=!0;try{await md(lf.flowId,lf.codeInput.trim()),lf.codeInput=``}catch(e){lf.error=e instanceof Error?e.message:`Failed to submit code`}lf.codeSubmitting=!1}}function pf(){lf.polling=!1,mf()}function mf(){Object.assign(lf,cf())}function hf(e){let t=e.filter(e=>e.oauthHealthy===!1);Sf.oauthErrors.map(e=>e.id).join(`,`)!==t.map(e=>e.id).join(`,`)&&(Sf.oauthErrors=t)}async function gf(){try{hf(await cd())}catch{}}var _f=L({user:null,checked:!1,systemName:null,localName:null,setupComplete:!0,setupChecked:!1,setupProgress:null});async function vf(){try{let e=await fetch(`/api/setup/status`);if(e.ok){let t=await e.json();_f.setupComplete=t.complete,t.complete||(_f.setupProgress={hasSystem:t.hasSystem,hasAccount:t.hasAccount,setupType:t.setupType})}}catch{_f.setupComplete=!0}_f.setupChecked=!0}async function yf(){if(await vf(),!_f.setupComplete&&!_f.setupProgress?.hasAccount){_f.checked=!0;return}try{let e=await Gl();if(_f.user=e,_f.checked=!0,e){let e=await rd();_f.systemName=e.system,_f.localName=e.name}}catch{_f.checked=!0}}async function bf(){try{await Jl()}catch{}_f.user=null}async function xf(e){_f.user=e;try{let e=await rd();_f.systemName=e.system,_f.localName=e.name}catch{}}var Sf=L({minds:[],conversations:[],activity:[],extensions:[],oauthErrors:[],get connectionOk(){return Yd.connected}}),Cf=new Vl,wf=new Vl,Tf=new Hl,Ef=L({activeConversationId:null}),Df=null;function Of(e,t){if(Df?.username===e&&Df?.displayName===t)return Df.regex;let n=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=RegExp(`@(${n(e)}${t?`|${n(t)}`:``})`,`i`);return Df={username:e,displayName:t,regex:r},r}function kf(e){Ef.activeConversationId=e,e&&(Tf.set(e,0),xu(e).catch(e=>console.warn(`[stores] markAsRead failed:`,e)))}function Af(e){if(e.event===`snapshot`){if(Sf.conversations=e.conversations??[],Sf.activity=e.activity??[],Cf.clear(),Array.isArray(e.activeMinds))for(let t of e.activeMinds)Cf.add(t);if(wf.clear(),Array.isArray(e.onlineBrains))for(let t of e.onlineBrains)wf.add(t);Tf.clear();for(let e of Sf.conversations)e.unreadCount&&Tf.set(e.id,e.unreadCount);uu().then(e=>{Sf.minds=e}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)}),af().then(e=>{Sf.extensions=e}).catch(e=>{console.warn(`[stores] failed to refresh extensions:`,e)}),cd().then(hf).catch(()=>{})}else if(e.event===`activity`){let{event:t,...n}=e;Sf.activity=[n,...Sf.activity].slice(0,50),n.type===`mind_active`&&Cf.add(n.mind),(n.type===`mind_idle`||n.type===`mind_stopped`||n.type===`mind_done`||n.type===`mind_sleeping`)&&Cf.delete(n.mind),n.type===`brain_online`&&wf.add(n.mind),n.type===`brain_offline`&&wf.delete(n.mind),(n.type===`mind_started`||n.type===`mind_stopped`||n.type===`mind_sleeping`||n.type===`mind_waking`||n.type===`profile_updated`)&&uu().then(e=>{Sf.minds=e}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)})}else if(e.event===`conversation`){let t=Sf.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===_f.user?.username,i=e.conversationId===Ef.activeConversationId;if(!r&&!i){let r=Tf.get(e.conversationId)??0;Tf.set(e.conversationId,r+1);let i=e.senderName??`Someone`;t.type===`dm`?sf(i,n.slice(0,200)):t.type===`channel`&&Of(_f.user?.username??``,_f.user?.display_name??``).test(n)&&sf(`${i} in #${t.channel_name??`channel`}`,n.slice(0,200))}else !r&&i&&xu(e.conversationId).catch(e=>console.warn(`[stores] markAsRead failed:`,e));Sf.conversations=[...Sf.conversations]}}}var jf=null,Mf=null;function Nf(){Pf(),jf=Xd(Af),nf(),Mf=setInterval(()=>{cd().then(hf).catch(()=>{})},6e4)}function Pf(){jf?.(),jf=null,Mf&&=(clearInterval(Mf),null),rf()}function Ff(){try{let e=localStorage.getItem(`volute:hidden-chats`);return e?new Vl(JSON.parse(e)):new Vl}catch{return new Vl}}var If=Ff();function Lf(){localStorage.setItem(`volute:hidden-chats`,JSON.stringify([...If]))}function Rf(e){If.add(e),Lf()}var zf=L({sidebarOpen:!1});function Bf(){zf.sidebarOpen=!zf.sidebarOpen}function Vf(){zf.sidebarOpen=!1}function Hf(){try{let e=localStorage.getItem(`volute:sidebar-width`);return e?Math.max(180,Math.min(400,Number(e))):240}catch{return 240}}var Uf=L({width:Hf()});function Wf(){localStorage.setItem(`volute:sidebar-width`,String(Uf.width))}function Gf(){try{let e=localStorage.getItem(`volute:right-panel-width`);return e?Math.max(240,Math.min(600,Number(e))):360}catch{return 360}}var Kf=L({width:Gf()});function qf(){localStorage.setItem(`volute:right-panel-width`,String(Kf.width))}var Jf=W(`<div class="error svelte-bpz96w"> </div>`),Yf=W(`<span class="user-username svelte-bpz96w"> </span>`),Xf=W(`<button class="user-row svelte-bpz96w"><span></span> <span class="user-name svelte-bpz96w"> </span> <!></button>`),Zf=W(`<div class="empty svelte-bpz96w"> </div>`),Qf=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 $f(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 Ed(),!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 Bu(t.channelName,e),I(o,new Set([...H(o),e]),!0),I(n,``),Nf()}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&&Cf.has(t.name)?void 0:t?Nl(t):`var(--text-2)`}return wf.has(e.username)?`var(--text-0)`:`var(--text-2)`}function f(e){return e.user_type===`mind`&&Cf.has(e.username)}ro(e,{size:`380px`,get title(){return`Invite to #${t.channelName??``}`},get onClose(){return t.onClose},children:(e,t)=>{var o=Qf(),s=R(o);Xi(s);var l=B(s,2),p=e=>{var t=Jf(),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),ai,(e,t)=>{var n=Xf(),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=Yf(),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=Zf(),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),la(s,()=>H(n),e=>I(n,e)),K(e,o)},$$slots:{default:!0}}),N()}Vr([`click`]);var ep=W(`<img alt="" class="avatar svelte-tifzx8"/>`),tp=W(`<span class="description svelte-tifzx8"> </span>`),np=W(`<a class="view-profile svelte-tifzx8">View profile</a>`),rp=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>`),ip=W(`<span class="hover-wrapper svelte-tifzx8" role="group"><!></span> <!>`,1);function ap(e,t){M(t,!0);let n=F(!1),r=F(``),i,a,o=F(void 0);function s(e){try{return new Date(Pl(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=ip(),d=z(u);hi(R(d),()=>t.children),A(d),ma(d,e=>a=e,()=>a);var f=B(d,2),p=e=>{var n=rp(),i=R(n),a=e=>{var n=ep();V(()=>ea(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=tp(),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=Xr();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=np();V(()=>ea(n,`href`,`/minds/${t.profile.name??``}`)),K(e,n)};J(b,e=>{t.profile.userType===`mind`&&e(x)}),A(c),A(n),ma(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)}),Br(`mouseenter`,d,c),Br(`mouseleave`,d,l),U(`focusin`,d,c),U(`focusout`,d,l),K(e,u),N()}Vr([`focusin`,`focusout`]);var op=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>`),sp=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>`),cp=W(`<button class="member-row clickable svelte-mez0sr"><span></span> <span class="member-name svelte-mez0sr"> </span> <!></button>`),lp=W(`<div class="member-row svelte-mez0sr"><span class="status-dot svelte-mez0sr"></span> <span class="member-name svelte-mez0sr"> </span> <!></div>`),up=W(`<span class="status-dot svelte-mez0sr"></span>`),dp=W(`<span></span>`),fp=W(`<div class="member-row svelte-mez0sr"><!> <span class="member-name svelte-mez0sr"> </span> <!></div>`),pp=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 mp(e,t){M(t,!0);let n=_a(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 wf.has(e)?`var(--text-0)`:`var(--text-2)`}function u(e){return H(i).has(e)}var d=pp(),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=op();U(`click`,t,()=>I(c,!0)),K(e,t)};J(_,e=>{H(s)&&e(v)});var y=B(_,2),b=e=>{var n=sp();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),ai,(e,n)=>{let r=()=>H(n).participant,i=()=>H(n).mind;var a=G(),o=z(a),s=e=>{{let n=e=>{var n=cp(),a=R(n);let o,s;var c=B(a,2),l=R(c,!0);A(c),Za(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:Cf.has(i().name)}),()=>({background:Cf.has(i().name)?void 0:Nl(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}));ap(e,{get profile(){return H(a)},children:n,$$slots:{default:!0}})}},c=e=>{var t=lp(),n=R(t);Z(n,``,{},{background:`var(--text-2)`});var i=B(n,2),a=R(i,!0);A(i),Za(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),ai,(e,t)=>{{let n=e=>{var n=fp(),r=R(n),i=e=>{var t=up();Z(t,``,{},{background:`var(--text-0)`}),K(e,t)},a=e=>{var n=dp();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`);Za(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}));ap(e,{get profile(){return H(r)},children:n,$$slots:{default:!0}})}}),A(x),A(f);var C=B(f,2),w=e=>{$f(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()}Vr([`click`]);var hp=`volute_connection`;function gp(){try{let e=localStorage.getItem(hp);if(!e)return null;let t=JSON.parse(e);if(t?.daemonUrl&&t?.token)return t}catch{}return null}function _p(e){e?localStorage.setItem(hp,JSON.stringify(e)):localStorage.removeItem(hp)}var vp=L({daemonUrl:null,token:null,detected:!1,swReady:!1});function yp(){return vp.daemonUrl!==null}async function bp(){try{return(await fetch(`/api/health`,{signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}async function xp(e){try{return(await fetch(`${e.replace(/\/$/,``)}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function Sp(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 Cp(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}),vp.swReady=!0}async function wp(){let e=await navigator.serviceWorker.getRegistrations();for(let t of e)await t.unregister();vp.swReady=!1}async function Tp(){if(await bp())return vp.detected=!0,!0;let e=gp();if(e)try{return await Cp(e.daemonUrl,e.token),vp.daemonUrl=e.daemonUrl,vp.token=e.token,vp.detected=!0,!0}catch(e){console.warn(`[volute] Saved remote connection failed, clearing:`,e.message),_p(null)}return vp.detected=!0,!1}async function Ep(e,t){let n=e.replace(/\/$/,``);await Cp(n,t),vp.daemonUrl=n,vp.token=t,_p({daemonUrl:n,token:t})}async function Dp(){await wp(),vp.daemonUrl=null,vp.token=null,_p(null)}var Op=W(`<div class="error svelte-1f7yrc4"> </div>`),kp=W(`<form><!> <!> <button type="submit" class="submit-btn svelte-1f7yrc4"> </button></form>`),Ap=W(`<div class="warning svelte-1f7yrc4">Connection is not encrypted. Credentials will be sent in plaintext.</div>`),jp=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),Mp=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 Np(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 xp(t)){if(t.startsWith(`https://`)){let e=t.replace(`https://`,`http://`);if(await xp(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 Sp(H(r),H(i),H(a));await Ep(H(r),e),t.onConnected(n)}catch(e){I(o,e instanceof Error?e.message:`Login failed`,!0)}I(s,!1)}}var d=Mp(),f=R(d),p=B(R(f),2),m=e=>{var t=kp(),n=R(t);eo(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=Op(),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()]),Br(`submit`,t,l),K(e,t)},h=e=>{var t=jp(),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,Ap())};J(m,e=>{H(c)&&e(h)});var g=B(m,2),_=R(g);eo(_,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(i)},set value(e){I(i,e,!0)}});var v=B(_,2);eo(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=Op(),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)}),Br(`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()}Vr([`click`]);var Pp=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>`),Fp=W(`<div class="error svelte-1owmlh"> </div>`),Ip=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 Lp(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 Kl(H(r),H(i));e.role===`pending`?I(s,`Your account is pending approval by an admin.`):t.onAuth(e)}else{let e=await ql(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=Pp(),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=Ip(),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);eo(p,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(r)},set value(e){I(r,e,!0)}});var m=B(p,2);eo(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=Fp(),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()]),Br(`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()}Vr([`click`]);var Rp=W(`<span class="feed-card-icon svelte-dkbkxm"></span>`),zp=W(`<span class="feed-card-author svelte-dkbkxm"> </span>`),Bp=W(`<iframe sandbox="allow-same-origin" role="presentation"></iframe>`),Vp=W(`<div class="body-html markdown-body svelte-dkbkxm"></div>`),Hp=W(`<div class="feed-card-body svelte-dkbkxm"><!></div>`),Up=W(`<button class="feed-card svelte-dkbkxm"><div class="feed-card-header svelte-dkbkxm"><!> <span class="feed-card-label svelte-dkbkxm"> </span> <!> <span class="feed-card-meta svelte-dkbkxm"> </span></div> <!></button>`);function Wp(e,t){M(t,!0);let n=P(()=>Al(t.bodyHtml)),r=P(()=>t.color?`var(--${t.color})`:`var(--text-2)`),i=F(!1);var a=Up();let o;var s=R(a);let c;var l=R(s),u=e=>{var n=Rp();let i;mi(n,()=>t.icon,!0),A(n),V(()=>i=Z(n,``,i,{color:H(r)})),K(e,n)};J(l,e=>{t.icon&&e(u)});var d=B(l,2),f=R(d,!0);A(d);var p=B(d,2),m=e=>{var n=zp(),r=R(n,!0);A(n),V(()=>q(r,t.author)),K(e,n)};J(p,e=>{t.author&&e(m)});var h=B(p,2),g=R(h,!0);A(h),A(s);var _=B(s,2),v=e=>{var r=Hp(),a=R(r),o=e=>{var n=Bp();let r;V(()=>{ea(n,`src`,t.iframeUrl),r=X(n,1,`page-preview svelte-dkbkxm`,null,r,{loaded:H(i)}),ea(n,`title`,t.title)}),U(`pointerdown`,n,e=>e.preventDefault()),Br(`load`,n,()=>I(i,!0)),Rr(n),K(e,n)},s=e=>{var t=Vp();mi(t,()=>H(n),!0),A(t),K(e,t)};J(a,e=>{t.iframeUrl?e(o):e(s,-1)}),A(r),K(e,r)};J(_,e=>{(t.iframeUrl||t.bodyHtml)&&e(v)}),A(a),V(e=>{o=Z(a,``,o,{"border-color":`color-mix(in srgb, ${H(r)??``} 25%, var(--border))`}),c=Z(s,``,c,{"border-bottom-color":`color-mix(in srgb, ${H(r)??``} 25%, var(--border))`}),q(f,t.title),q(g,e)},[()=>Il(t.date)]),U(`click`,a,function(...e){t.onclick?.apply(this,e)}),K(e,a),N()}Vr([`click`,`pointerdown`]);function Gp(e){try{return new Date(Pl(e)).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return``}}function Kp(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 qp(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=ef(`${e}\n\n`);for(let e of t)if(e.id&&(Kd=e.id),e.data)try{$d(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||rf()}).catch(e=>{tf(),!(e instanceof DOMException&&e.name===`AbortError`)&&rf()})}function rf(){Zd.connected=!1,!Wd&&(Wd=setTimeout(()=>{Wd=null,nf()},qd),qd=Math.min(qd*2,Jd))}function af(){of(),Kd=``,qd=1e3,nf()}function of(){Wd&&=(clearTimeout(Wd),null),tf(),Ud?.abort(),Ud=null}async function sf(){let e=await fetch(`/api/extensions`);return e.ok?e.json():(console.warn(`Failed to fetch extensions: HTTP ${e.status}`),[])}function cf(){`Notification`in window&&Notification.permission==="default"&&Notification.requestPermission()}function lf(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 uf(){return{active:!1,provider:``,providerName:``,url:``,flowId:``,polling:!1,needsCode:!1,waitingForCode:!1,codeInput:``,codeSubmitting:!1,error:``,success:!1}}var df=L(uf());async function ff(e,t){df.active=!0,df.provider=e,df.providerName=t||e,df.error=``,df.success=!1;try{let t=await fd(e);t.url&&(df.url=t.url,df.flowId=t.flowId,df.needsCode=!!t.needsManualCode,df.polling=!0,window.open(t.url,`_blank`),pf())}catch(e){df.error=e instanceof Error?e.message:`OAuth failed`}}async function pf(){let e=0;for(;df.polling;){await new Promise(e=>setTimeout(e,2500));try{let t=await pd(df.flowId);if(e=0,t.waitingForCode&&(df.waitingForCode=!0),t.status===`complete`){df.polling=!1,df.success=!0,vf();return}else if(t.status===`error`){df.polling=!1,df.error=t.error??`OAuth failed`;return}}catch{if(e++,e>=5){df.polling=!1,df.error=`Lost connection while waiting for OAuth`;return}}}}async function mf(){if(!(!df.codeInput.trim()||!df.flowId)){df.error=``,df.codeSubmitting=!0;try{await md(df.flowId,df.codeInput.trim()),df.codeInput=``}catch(e){df.error=e instanceof Error?e.message:`Failed to submit code`}df.codeSubmitting=!1}}function hf(){df.polling=!1,gf()}function gf(){Object.assign(df,uf())}function _f(e){let t=e.filter(e=>e.oauthHealthy===!1);wf.oauthErrors.map(e=>e.id).join(`,`)!==t.map(e=>e.id).join(`,`)&&(wf.oauthErrors=t)}async function vf(){try{_f(await cd())}catch{}}var yf=L({user:null,checked:!1,systemName:null,localName:null,setupComplete:!0,setupChecked:!1,setupProgress:null});async function bf(){try{let e=await fetch(`/api/setup/status`);if(e.ok){let t=await e.json();yf.setupComplete=t.complete,t.complete||(yf.setupProgress={hasSystem:t.hasSystem,hasAccount:t.hasAccount,setupType:t.setupType})}}catch{yf.setupComplete=!0}yf.setupChecked=!0}async function xf(){if(await bf(),!yf.setupComplete&&!yf.setupProgress?.hasAccount){yf.checked=!0;return}try{let e=await Gl();if(yf.user=e,yf.checked=!0,e){let e=await rd();yf.systemName=e.system,yf.localName=e.name}}catch{yf.checked=!0}}async function Sf(){try{await Jl()}catch{}yf.user=null}async function Cf(e){yf.user=e;try{let e=await rd();yf.systemName=e.system,yf.localName=e.name}catch{}}var wf=L({minds:[],conversations:[],activity:[],extensions:[],oauthErrors:[],get connectionOk(){return Zd.connected}}),Tf=new Vl,Ef=new Vl,Df=new Hl,Of=L({activeConversationId:null}),kf=null;function Af(e,t){if(kf?.username===e&&kf?.displayName===t)return kf.regex;let n=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=RegExp(`@(${n(e)}${t?`|${n(t)}`:``})`,`i`);return kf={username:e,displayName:t,regex:r},r}function jf(e){Of.activeConversationId=e,e&&(Df.set(e,0),xu(e).catch(e=>console.warn(`[stores] markAsRead failed:`,e)))}function Mf(e){if(e.event===`snapshot`){if(wf.conversations=e.conversations??[],wf.activity=e.activity??[],Tf.clear(),Array.isArray(e.activeMinds))for(let t of e.activeMinds)Tf.add(t);if(Ef.clear(),Array.isArray(e.onlineBrains))for(let t of e.onlineBrains)Ef.add(t);Df.clear();for(let e of wf.conversations)e.unreadCount&&Df.set(e.id,e.unreadCount);uu().then(e=>{wf.minds=e}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)}),sf().then(e=>{wf.extensions=e}).catch(e=>{console.warn(`[stores] failed to refresh extensions:`,e)}),cd().then(_f).catch(()=>{})}else if(e.event===`activity`){let{event:t,...n}=e;wf.activity=[n,...wf.activity].slice(0,50),n.type===`mind_active`&&Tf.add(n.mind),(n.type===`mind_idle`||n.type===`mind_stopped`||n.type===`mind_done`||n.type===`mind_sleeping`)&&Tf.delete(n.mind),n.type===`brain_online`&&Ef.add(n.mind),n.type===`brain_offline`&&Ef.delete(n.mind),(n.type===`mind_started`||n.type===`mind_stopped`||n.type===`mind_sleeping`||n.type===`mind_waking`||n.type===`profile_updated`)&&uu().then(e=>{wf.minds=e}).catch(e=>{console.warn(`[stores] failed to refresh minds:`,e)})}else if(e.event===`conversation`){let t=wf.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===yf.user?.username,i=e.conversationId===Of.activeConversationId;if(!r&&!i){let r=Df.get(e.conversationId)??0;Df.set(e.conversationId,r+1);let i=e.senderName??`Someone`;t.type===`dm`?lf(i,n.slice(0,200)):t.type===`channel`&&Af(yf.user?.username??``,yf.user?.display_name??``).test(n)&&lf(`${i} in #${t.channel_name??`channel`}`,n.slice(0,200))}else !r&&i&&xu(e.conversationId).catch(e=>console.warn(`[stores] markAsRead failed:`,e));wf.conversations=[...wf.conversations]}}}var Nf=null,Pf=null;function Ff(){If(),Nf=Qd(Mf),af(),Pf=setInterval(()=>{cd().then(_f).catch(()=>{})},6e4)}function If(){Nf?.(),Nf=null,Pf&&=(clearInterval(Pf),null),of()}function Lf(){try{let e=localStorage.getItem(`volute:hidden-chats`);return e?new Vl(JSON.parse(e)):new Vl}catch{return new Vl}}var Rf=Lf();function zf(){localStorage.setItem(`volute:hidden-chats`,JSON.stringify([...Rf]))}function Bf(e){Rf.add(e),zf()}var Vf=L({sidebarOpen:!1});function Hf(){Vf.sidebarOpen=!Vf.sidebarOpen}function Uf(){Vf.sidebarOpen=!1}function Wf(){try{let e=localStorage.getItem(`volute:sidebar-width`);return e?Math.max(180,Math.min(400,Number(e))):240}catch{return 240}}var Gf=L({width:Wf()});function Kf(){localStorage.setItem(`volute:sidebar-width`,String(Gf.width))}function qf(){try{let e=localStorage.getItem(`volute:right-panel-width`);return e?Math.max(240,Math.min(600,Number(e))):360}catch{return 360}}var Jf=L({width:qf()});function Yf(){localStorage.setItem(`volute:right-panel-width`,String(Jf.width))}var Xf=W(`<div class="error svelte-bpz96w"> </div>`),Zf=W(`<span class="user-username svelte-bpz96w"> </span>`),Qf=W(`<button class="user-row svelte-bpz96w"><span></span> <span class="user-name svelte-bpz96w"> </span> <!></button>`),$f=W(`<div class="empty svelte-bpz96w"> </div>`),ep=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 Od(),!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 Bu(t.channelName,e),I(o,new Set([...H(o),e]),!0),I(n,``),Ff()}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&&Tf.has(t.name)?void 0:t?Nl(t):`var(--text-2)`}return Ef.has(e.username)?`var(--text-0)`:`var(--text-2)`}function f(e){return e.user_type===`mind`&&Tf.has(e.username)}ro(e,{size:`380px`,get title(){return`Invite to #${t.channelName??``}`},get onClose(){return t.onClose},children:(e,t)=>{var o=ep(),s=R(o);Xi(s);var l=B(s,2),p=e=>{var t=Xf(),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),ai,(e,t)=>{var n=Qf(),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=Zf(),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=$f(),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),la(s,()=>H(n),e=>I(n,e)),K(e,o)},$$slots:{default:!0}}),N()}Vr([`click`]);var np=W(`<img alt="" class="avatar svelte-tifzx8"/>`),rp=W(`<span class="description svelte-tifzx8"> </span>`),ip=W(`<a class="view-profile svelte-tifzx8">View profile</a>`),ap=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>`),op=W(`<span class="hover-wrapper svelte-tifzx8" role="group"><!></span> <!>`,1);function sp(e,t){M(t,!0);let n=F(!1),r=F(``),i,a,o=F(void 0);function s(e){try{return new Date(Pl(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=op(),d=z(u);hi(R(d),()=>t.children),A(d),ma(d,e=>a=e,()=>a);var f=B(d,2),p=e=>{var n=ap(),i=R(n),a=e=>{var n=np();V(()=>ea(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=rp(),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=Xr();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=ip();V(()=>ea(n,`href`,`/minds/${t.profile.name??``}`)),K(e,n)};J(b,e=>{t.profile.userType===`mind`&&e(x)}),A(c),A(n),ma(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)}),Br(`mouseenter`,d,c),Br(`mouseleave`,d,l),U(`focusin`,d,c),U(`focusout`,d,l),K(e,u),N()}Vr([`focusin`,`focusout`]);var cp=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>`),lp=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>`),up=W(`<button class="member-row clickable svelte-mez0sr"><span></span> <span class="member-name svelte-mez0sr"> </span> <!></button>`),dp=W(`<div class="member-row svelte-mez0sr"><span class="status-dot svelte-mez0sr"></span> <span class="member-name svelte-mez0sr"> </span> <!></div>`),fp=W(`<span class="status-dot svelte-mez0sr"></span>`),pp=W(`<span></span>`),mp=W(`<div class="member-row svelte-mez0sr"><!> <span class="member-name svelte-mez0sr"> </span> <!></div>`),hp=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 gp(e,t){M(t,!0);let n=_a(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 Ef.has(e)?`var(--text-0)`:`var(--text-2)`}function u(e){return H(i).has(e)}var d=hp(),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=cp();U(`click`,t,()=>I(c,!0)),K(e,t)};J(_,e=>{H(s)&&e(v)});var y=B(_,2),b=e=>{var n=lp();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),ai,(e,n)=>{let r=()=>H(n).participant,i=()=>H(n).mind;var a=G(),o=z(a),s=e=>{{let n=e=>{var n=up(),a=R(n);let o,s;var c=B(a,2),l=R(c,!0);A(c),Za(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:Tf.has(i().name)}),()=>({background:Tf.has(i().name)?void 0:Nl(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}));sp(e,{get profile(){return H(a)},children:n,$$slots:{default:!0}})}},c=e=>{var t=dp(),n=R(t);Z(n,``,{},{background:`var(--text-2)`});var i=B(n,2),a=R(i,!0);A(i),Za(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),ai,(e,t)=>{{let n=e=>{var n=mp(),r=R(n),i=e=>{var t=fp();Z(t,``,{},{background:`var(--text-0)`}),K(e,t)},a=e=>{var n=pp();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`);Za(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}));sp(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()}Vr([`click`]);var _p=`volute_connection`;function vp(){try{let e=localStorage.getItem(_p);if(!e)return null;let t=JSON.parse(e);if(t?.daemonUrl&&t?.token)return t}catch{}return null}function yp(e){e?localStorage.setItem(_p,JSON.stringify(e)):localStorage.removeItem(_p)}var bp=L({daemonUrl:null,token:null,detected:!1,swReady:!1});function xp(){return bp.daemonUrl!==null}async function Sp(){try{return(await fetch(`/api/health`,{signal:AbortSignal.timeout(3e3)})).ok}catch{return!1}}async function Cp(e){try{return(await fetch(`${e.replace(/\/$/,``)}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function wp(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 Tp(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}),bp.swReady=!0}async function Ep(){let e=await navigator.serviceWorker.getRegistrations();for(let t of e)await t.unregister();bp.swReady=!1}async function Dp(){if(await Sp())return bp.detected=!0,!0;let e=vp();if(e)try{return await Tp(e.daemonUrl,e.token),bp.daemonUrl=e.daemonUrl,bp.token=e.token,bp.detected=!0,!0}catch(e){console.warn(`[volute] Saved remote connection failed, clearing:`,e.message),yp(null)}return bp.detected=!0,!1}async function Op(e,t){let n=e.replace(/\/$/,``);await Tp(n,t),bp.daemonUrl=n,bp.token=t,yp({daemonUrl:n,token:t})}async function kp(){await Ep(),bp.daemonUrl=null,bp.token=null,yp(null)}var Ap=W(`<div class="error svelte-1f7yrc4"> </div>`),jp=W(`<form><!> <!> <button type="submit" class="submit-btn svelte-1f7yrc4"> </button></form>`),Mp=W(`<div class="warning svelte-1f7yrc4">Connection is not encrypted. Credentials will be sent in plaintext.</div>`),Np=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),Pp=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 Fp(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 Cp(t)){if(t.startsWith(`https://`)){let e=t.replace(`https://`,`http://`);if(await Cp(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 wp(H(r),H(i),H(a));await Op(H(r),e),t.onConnected(n)}catch(e){I(o,e instanceof Error?e.message:`Login failed`,!0)}I(s,!1)}}var d=Pp(),f=R(d),p=B(R(f),2),m=e=>{var t=jp(),n=R(t);eo(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=Ap(),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()]),Br(`submit`,t,l),K(e,t)},h=e=>{var t=Np(),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,Mp())};J(m,e=>{H(c)&&e(h)});var g=B(m,2),_=R(g);eo(_,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(i)},set value(e){I(i,e,!0)}});var v=B(_,2);eo(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=Ap(),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)}),Br(`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()}Vr([`click`]);var Ip=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>`),Lp=W(`<div class="error svelte-1owmlh"> </div>`),Rp=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 zp(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 Kl(H(r),H(i));e.role===`pending`?I(s,`Your account is pending approval by an admin.`):t.onAuth(e)}else{let e=await ql(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=Ip(),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=Rp(),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);eo(p,{inputSize:`md`,type:`text`,placeholder:`username`,get value(){return H(r)},set value(e){I(r,e,!0)}});var m=B(p,2);eo(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=Lp(),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()]),Br(`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()}Vr([`click`]);var Bp=W(`<span class="feed-card-icon svelte-dkbkxm"></span>`),Vp=W(`<span class="feed-card-author svelte-dkbkxm"> </span>`),Hp=W(`<iframe sandbox="allow-same-origin" role="presentation"></iframe>`),Up=W(`<div class="body-html markdown-body svelte-dkbkxm"></div>`),Wp=W(`<div class="feed-card-body svelte-dkbkxm"><!></div>`),Gp=W(`<button class="feed-card svelte-dkbkxm"><div class="feed-card-header svelte-dkbkxm"><!> <span class="feed-card-label svelte-dkbkxm"> </span> <!> <span class="feed-card-meta svelte-dkbkxm"> </span></div> <!></button>`);function Kp(e,t){M(t,!0);let n=P(()=>Al(t.bodyHtml)),r=P(()=>t.color?`var(--${t.color})`:`var(--text-2)`),i=F(!1);var a=Gp();let o;var s=R(a);let c;var l=R(s),u=e=>{var n=Bp();let i;mi(n,()=>t.icon,!0),A(n),V(()=>i=Z(n,``,i,{color:H(r)})),K(e,n)};J(l,e=>{t.icon&&e(u)});var d=B(l,2),f=R(d,!0);A(d);var p=B(d,2),m=e=>{var n=Vp(),r=R(n,!0);A(n),V(()=>q(r,t.author)),K(e,n)};J(p,e=>{t.author&&e(m)});var h=B(p,2),g=R(h,!0);A(h),A(s);var _=B(s,2),v=e=>{var r=Wp(),a=R(r),o=e=>{var n=Hp();let r;V(()=>{ea(n,`src`,t.iframeUrl),r=X(n,1,`page-preview svelte-dkbkxm`,null,r,{loaded:H(i)}),ea(n,`title`,t.title)}),U(`pointerdown`,n,e=>e.preventDefault()),Br(`load`,n,()=>I(i,!0)),Rr(n),K(e,n)},s=e=>{var t=Up();mi(t,()=>H(n),!0),A(t),K(e,t)};J(a,e=>{t.iframeUrl?e(o):e(s,-1)}),A(r),K(e,r)};J(_,e=>{(t.iframeUrl||t.bodyHtml)&&e(v)}),A(a),V(e=>{o=Z(a,``,o,{"border-color":`color-mix(in srgb, ${H(r)??``} 25%, var(--border))`}),c=Z(s,``,c,{"border-bottom-color":`color-mix(in srgb, ${H(r)??``} 25%, var(--border))`}),q(f,t.title),q(g,e)},[()=>Il(t.date)]),U(`click`,a,function(...e){t.onclick?.apply(this,e)}),K(e,a),N()}Vr([`click`,`pointerdown`]);function qp(e){try{return new Date(Pl(e)).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return``}}function Jp(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 Yp(e){return e.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
72
72
|
|
|
73
|
-
`)}function Jp(e){let t=e.split(`/`).filter(Boolean).map(e=>e===`*`?`(.*)`:e.startsWith(`:`)?`([^/]+)`:e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`));return RegExp(`^/${t.join(`/`)}(?:/(.*))?$`)}function Yp(e){let t=e.systemSection?.urlPatterns;if(!t?.length)return null;let n=t[0].split(`/`).filter(Boolean)[0];return n?`/${n}`:null}function Xp(e,t){for(let n of t){let t=n.systemSection;if(t?.urlPatterns)for(let r of t.urlPatterns){let t=Jp(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 Zp(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 Qp(e=[]){let t=window.location.pathname,n=new URLSearchParams(window.location.search);if(t===`/history`||t===`/system/settings`||t===`/settings`||t.startsWith(`/settings/`))return{kind:`system-history`};let r=t.match(/^\/minds\/([^/]+)\/([^/]+)\/(.+)$/);if(r){let[,t,n,i]=r;return{kind:`mind`,name:t,section:Zp(n,e)??n,subpath:i}}let i=t.match(/^\/minds\/([^/]+)\/([^/]+)$/);if(i){let[,t,n]=i;return{kind:`mind`,name:t,section:Zp(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=Xp(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:`system-history`}}return{kind:`system-history`}}function $p(e,t=[]){switch(e.kind){case`system-history`:return`/`;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?Yp(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 em(e){window.history.pushState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))}var tm=W(`<div class="empty-hint svelte-11yxpr8">Nothing here yet.</div>`),nm=W(`<div class="feed-item svelte-11yxpr8"><!></div>`),rm=W(`<div class="msg-empty svelte-11yxpr8">Loading...</div>`),im=W(`<div class="chat-entry-header svelte-11yxpr8"><span> </span> <span class="chat-timestamp svelte-11yxpr8"> </span></div>`),am=W(`<div class="markdown-body"></div>`),om=W(`<div><!> <div><!></div></div>`),sm=W(`<div class="feed-item svelte-11yxpr8"><div class="feed-card card-chat svelte-11yxpr8" role="button" tabindex="0"><div class="feed-card-header header-chat svelte-11yxpr8"><svg class="feed-card-icon svelte-11yxpr8" 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"></path></svg> <span class="feed-card-label svelte-11yxpr8"> </span> <span class="feed-card-meta svelte-11yxpr8"> </span> <button class="card-action-btn card-action-btn-primary svelte-11yxpr8">Chat</button></div> <div class="feed-card-body chat-body svelte-11yxpr8" role="log"><!></div></div></div>`),cm=W(`<div class="feed-grid svelte-11yxpr8"></div>`),lm=W(`<div class="home svelte-11yxpr8"><!></div>`);function um(e,t){M(t,!0);let n=F(L([]));kn(()=>{let e=Sf.extensions,t=[],r=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(r).then(()=>{I(n,t,!0)})});let r=P(()=>[...t.conversations].filter(e=>e.lastMessage).sort((e,t)=>{let n=new Date(Pl(e.updated_at)).getTime();return new Date(Pl(t.updated_at)).getTime()-n}).slice(0,6)),i=L({}),a=L({});kn(()=>{let e=H(r);for(let t of e)i[t.id]||yu(t.id,{limit:10}).then(e=>{i[t.id]=e.items,requestAnimationFrame(()=>{let e=a[t.id];e&&(e.scrollTop=e.scrollHeight)})}).catch(()=>{i[t.id]=[]})});let o=P(()=>{let e=[];for(let t of H(r))e.push({kind:`message`,conv:t,date:t.updated_at});for(let t of H(n))e.push({kind:`extension`,item:t,date:t.date});return e.sort((e,t)=>{let n=new Date(Pl(e.date)).getTime();return new Date(Pl(t.date)).getTime()-n}),e});function s(e){if(e.type===`channel`&&e.channel_name)return`#${e.channel_name}`;let t=e.participants??[];if(e.type===`dm`&&t.length===2){let e=t.find(e=>e.userType===`mind`),n=t.find(t=>t.username!==e?.username);if(e&&n)return`@${e.username}`}let n=t.map(e=>e.username);return n.length>0?n.join(`, `):`Conversation`}var c=lm(),l=R(c),u=e=>{K(e,tm())},d=e=>{var n=cm();Y(n,21,()=>H(o),e=>e.kind===`extension`?`ext-${e.item.id}`:`msg-${e.conv.id}`,(e,n)=>{var r=G(),o=z(r),c=e=>{var t=nm();Wp(R(t),{get title(){return H(n).item.title},get url(){return H(n).item.url},get date(){return H(n).item.date},get author(){return H(n).item.author},get bodyHtml(){return H(n).item.bodyHtml},get iframeUrl(){return H(n).item.iframeUrl},get icon(){return H(n).item.icon},get color(){return H(n).item.color},onclick:()=>em(H(n).item.url)}),A(t),K(e,t)},l=e=>{let r=P(()=>H(n).conv),o=P(()=>s(H(r))),c=P(()=>i[H(r).id]??[]);var l=sm(),u=R(l),d=R(u),f=B(R(d),2),p=R(f,!0);A(f);var m=B(f,2),h=R(m,!0);A(m);var g=B(m,2);A(d);var _=B(d,2),v=R(_),y=e=>{K(e,rm())},b=e=>{var n=G();Y(z(n),19,()=>H(c),e=>e.id,(e,n,r)=>{var i=om();let a;var o=R(i),s=e=>{var r=im(),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-11yxpr8`,null,a,{"chat-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?t.username:``)),q(c,e)},[()=>Gp(H(n).created_at)]),K(e,r)},l=P(()=>Kp(H(c),H(r)));J(o,e=>{H(l)&&e(s)});var u=B(o,2);let d;var f=R(u),p=e=>{var t=Xr();V(e=>q(t,e),[()=>qp(H(n).content)]),K(e,t)},m=e=>{var t=am();mi(t,()=>Al(qp(H(n).content)),!0),A(t),K(e,t)};J(f,e=>{H(n).role===`user`?e(p):e(m,-1)}),A(u),A(i),V(e=>{a=X(i,1,`chat-entry svelte-11yxpr8`,null,a,e),d=X(u,1,`chat-entry-content svelte-11yxpr8`,null,d,{"chat-user-text":H(n).role===`user`})},[()=>({"new-sender":Kp(H(c),H(r))})]),K(e,i)}),K(e,n)};J(v,e=>{H(c).length===0?e(y):e(b,-1)}),A(_),ma(_,e=>a[H(r).id]=e,()=>a?.[H(r).id]),A(u),A(l),V(e=>{q(p,H(o)),q(h,e)},[()=>Il(H(r).updated_at)]),U(`click`,u,()=>t.onSelectConversation(H(r).id)),U(`keydown`,u,e=>{e.key===`Enter`&&t.onSelectConversation(H(r).id)}),U(`click`,g,e=>{e.stopPropagation(),t.onSelectConversation(H(r).id)}),Br(`scroll`,_,e=>{let t=e.currentTarget;t.scrollTop<10&&(t.scrollTop=10)}),K(e,l)};J(o,e=>{H(n).kind===`extension`?e(c):e(l,-1)}),K(e,r)}),A(n),K(e,n)};J(l,e=>{H(o).length===0?e(u):e(d,-1)}),A(c),K(e,c),N()}Vr([`click`,`keydown`]);var dm=W(`<button class="mind-link svelte-r4qz00"><span class="dot iridescent svelte-r4qz00"></span> </button>`),fm=W(`<div class="indicator responding svelte-r4qz00"><!> <span> </span></div>`),pm=W(`<div class="indicator active-elsewhere svelte-r4qz00"><!> <span> </span></div>`),mm=W(`<div class="indicator typing svelte-r4qz00"> </div>`),hm=W(`<!> <!> <!>`,1);function gm(e,t){M(t,!0);let n=_a(t,`minds`,19,()=>[]),r=P(()=>new Set(t.mindParticipants)),i=P(()=>t.typingNames.filter(e=>H(r).has(e))),a=P(()=>t.mindParticipants.filter(e=>Cf.has(e)&&!t.typingNames.includes(e))),o=P(()=>t.typingNames.filter(e=>!H(r).has(e)));function s(e){let r=n().find(t=>t.name===e);r&&t.onOpenMind&&t.onOpenMind(r)}var c=hm(),l=z(c),u=e=>{var t=fm(),n=R(t);Y(n,17,()=>H(i),ai,(e,t)=>{var n=dm(),r=B(R(n));A(n),V(()=>q(r,` ${H(t)??``}`)),U(`click`,n,()=>s(H(t))),K(e,n)});var r=B(n,2),a=R(r);A(r),A(t),V(()=>q(a,`${H(i).length===1?`is`:`are`} responding`)),K(e,t)};J(l,e=>{H(i).length>0&&e(u)});var d=B(l,2),f=e=>{var t=pm(),n=R(t);Y(n,17,()=>H(a),ai,(e,t)=>{var n=dm(),r=B(R(n));A(n),V(()=>q(r,` ${H(t)??``}`)),U(`click`,n,()=>s(H(t))),K(e,n)});var r=B(n,2),i=R(r);A(r),A(t),V(()=>q(i,`${H(a).length===1?`is`:`are`} active`)),K(e,t)};J(d,e=>{H(a).length>0&&e(f)});var p=B(d,2),m=e=>{var t=mm(),n=R(t);A(t),V(e=>q(n,`${e??``} ${H(o).length===1?`is`:`are`} typing...`),[()=>H(o).join(`, `)]),K(e,t)};J(p,e=>{H(o).length>0&&e(m)}),K(e,c),N()}Vr([`click`]);var _m=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>`),vm=W(`<div class="image-strip svelte-69hg31"></div>`),ym=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>`),bm=W(`<div class="file-strip svelte-69hg31"></div>`),xm=W(`<button>Image</button> <button>File</button>`,1),Sm=Yr(`<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>`),Cm=Yr(`<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>`),wm=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 Tm(e,t){M(t,!0);let n=_a(t,`mindName`,3,``),r=_a(t,`conversationId`,3,null),i=_a(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()&&(wu(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,wu(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&&(wu(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)}}kn(()=>()=>{r()&&n()&&i()&&d>0&&wu(n(),r(),i(),!1)});var x=wm(),S=z(x),C=e=>{var t=vm();Y(t,23,()=>H(o),e=>e.preview,(e,t,n)=>{var r=_m(),i=R(r),a=B(i,2);A(r),V(()=>ea(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=bm();Y(t,23,()=>H(s),(e,t)=>e.filename+t,(e,t,n)=>{var r=ym(),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);ma(E,e=>l=e,()=>l);var ee=B(E,2);ma(ee,e=>u=e,()=>u);var D=B(ee,2),te=R(D);let ne;var O=R(te),re=B(O,2);wa(re,{get open(){return H(p)},onclose:()=>I(p,!1),direction:`up`,children:(e,t)=>{var n=xm(),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);yn(ie),ea(ie,`rows`,1),ma(ie,e=>c=e,()=>c);var ae=B(ie,2);let oe;var k=R(ae),se=e=>{K(e,Sm())},ce=e=>{K(e,Cm())};J(k,e=>{t.sending?e(se):e(ce,-1)}),A(ae),A(te),A(D),V((e,t)=>{ne=X(te,1,`input-box svelte-69hg31`,null,ne,{focused:H(f)}),ae.disabled=e,oe=X(ae,1,`inline-btn send svelte-69hg31`,null,oe,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,_),Br(`focus`,ie,()=>I(f,!0)),Br(`blur`,ie,()=>{I(f,!1),v()}),la(ie,()=>H(a),e=>I(a,e)),U(`click`,ae,h),K(e,x),N()}Vr([`click`,`change`,`keydown`,`input`]);var Em=W(`<span> </span>`),Dm=W(`<div class="tool-section-label svelte-iivm65" style="margin-top: 8px">output:</div> <pre> </pre>`,1),Om=W(`<div class="tool-detail svelte-iivm65"><div class="tool-section-label svelte-iivm65">input:</div> <pre class="tool-pre svelte-iivm65"> </pre> <!></div>`),km=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 Am(e,t){M(t,!0);let n=_a(t,`isError`,3,!1),r=_a(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(`
|
|
74
|
-
`)[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=km(),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=Em();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=Om(),i=B(R(r),2),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var r=Dm(),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()}Vr([`click`]);var jm=W(`<button class="sender sender-link svelte-1bfejg9"> </button>`),Mm=W(`<span class="sender svelte-1bfejg9"> </span>`),Nm=W(`<span class="timestamp svelte-1bfejg9"> </span>`),Pm=W(`<div class="entry-header svelte-1bfejg9"><!> <!></div>`),Fm=W(`<span class="timestamp inline-time svelte-1bfejg9"> </span>`),Im=W(`<div class="user-text svelte-1bfejg9"> </div>`),Lm=W(`<img alt="" class="chat-image svelte-1bfejg9"/>`),Rm=W(`<div class="markdown-body"></div>`),zm=W(`<div><!> <div class="entry-content svelte-1bfejg9"><!></div></div>`);function Bm(e,t){M(t,!0);let n=_a(t,`showHeader`,3,!0),r=_a(t,`showDate`,3,!1),i=_a(t,`senderColor`,3,`var(--text-0)`),a=_a(t,`participants`,19,()=>[]);function o(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 s(e){if(!e)return``;try{let t=new Date(Pl(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 c(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 l=zm();let u;var d=R(l),f=e=>{var n=Pm(),r=R(n),a=e=>{let n=P(()=>o(t.senderName)),r=P(()=>t.mindsByName.get(t.senderName));var a=G(),s=z(a),c=e=>{ap(e,{get profile(){return H(n)},children:e=>{var a=G(),o=z(a),s=e=>{var a=jm();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=Mm();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=Mm();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.senderName)}),K(e,n)};J(s,e=>{H(n)?e(c):e(l,-1)}),K(e,a)},c=e=>{var n=Mm();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(c,-1)});var l=B(r,2),u=e=>{var n=Nm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>s(t.createdAt)]),K(e,n)};J(l,e=>{t.createdAt&&e(u)}),A(n),K(e,n)},p=e=>{var n=Fm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>s(t.createdAt)]),K(e,n)};J(d,e=>{n()?e(f):t.createdAt&&e(p,1)});var m=B(d,2),h=R(m),g=e=>{var n=G();Y(z(n),17,()=>t.blocks,ai,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Im(),r=R(n,!0);A(n),V(()=>q(r,H(t).text)),K(e,n)},a=e=>{var n=Lm();V(()=>ea(n,`src`,`data:${H(t).media_type};base64,${H(t).data}`)),K(e,n)};J(r,e=>{H(t).type===`text`?e(i):H(t).type===`image`&&e(a,1)}),K(e,n)}),K(e,n)},_=e=>{let n=P(()=>c(t.blocks));var r=G();Y(z(r),17,()=>H(n),ai,(e,n,r)=>{var i=G(),a=z(i),o=e=>{var t=Rm();mi(t,()=>Al(H(n).text),!0),A(t),K(e,t)},s=e=>{let i=P(()=>t.entryIndex*1e3+r);{let r=P(()=>H(n).tool.isError??!1),a=P(()=>t.openTools.has(H(i)));Am(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))})}},c=e=>{var t=Lm();V(()=>ea(t,`src`,`data:${H(n).media_type};base64,${H(n).data}`)),K(e,t)};J(a,e=>{H(n).kind===`text`?e(o):H(n).kind===`tool`?e(s,1):H(n).kind===`image`&&e(c,2)}),K(e,i)}),K(e,r)};J(h,e=>{t.role===`user`?e(g):e(_,-1)}),A(m),A(l),V(()=>u=X(l,1,`entry svelte-1bfejg9`,null,u,{"new-sender":n()})),K(e,l),N()}Vr([`click`]);var Vm=W(`<div class="loading-older svelte-xwfq15">Loading older messages...</div>`),Hm=W(`<div class="load-more svelte-xwfq15"><button class="load-more-btn svelte-xwfq15">Load older messages</button></div>`),Um=W(`<div class="empty error svelte-xwfq15"> </div>`),Wm=W(`<div class="empty svelte-xwfq15">Send a message to start chatting.</div>`),Gm=W(`<div class="divider svelte-xwfq15"><div class="divider-line svelte-xwfq15"></div> <span> </span> <div class="divider-line svelte-xwfq15"></div></div>`),Km=W(`<div class="messages svelte-xwfq15"><!> <!> <!> <!></div>`);function qm(e,t){M(t,!0);let n=_a(t,`loadError`,3,``),r=_a(t,`hasMore`,3,!1),i=_a(t,`loadingOlder`,3,!1),a=_a(t,`minds`,19,()=>[]),o=_a(t,`participants`,19,()=>[]),s,c=F(L(new Set)),l=!0,u=P(()=>new Map(a().map(e=>[e.name,e]))),d=[`var(--blue)`,`var(--purple)`,`var(--yellow)`,`var(--red)`,`var(--accent)`],f=P(()=>{let e=new Map;for(let n of t.entries){let t=n.senderName;t&&!e.has(t)&&e.set(t,d[e.size%d.length])}return e});function p(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 m(e){if(!e)return``;try{return new Date(Pl(e)).toLocaleDateString()}catch{return``}}function h(e){let n=t.entries[e];if(!n.createdAt)return!1;if(e===0)return!0;let r=t.entries[e-1];return m(n.createdAt)!==m(r.createdAt)}function g(e){return e.role===`user`?e.senderName?H(f).get(e.senderName)??`var(--blue)`:`var(--blue)`:e.senderName?H(f).get(e.senderName)??`var(--accent)`:`var(--accent)`}function _(e){let t=new Set(H(c));t.has(e)?t.delete(e):t.add(e),I(c,t,!0)}function v(e){let t=e||l;requestAnimationFrame(()=>{requestAnimationFrame(()=>{!s||!t||(s.scrollTop=s.scrollHeight)})})}function y(){I(c,new Set,!0)}kn(()=>{if(!s)return;let e=new ResizeObserver(()=>{l&&(s.scrollTop=s.scrollHeight)});return e.observe(s),()=>e.disconnect()});function b(){s&&(l=s.scrollHeight-s.scrollTop-s.clientHeight<100,!(!r()||i()||!t.onLoadOlder)&&s.scrollTop<100&&t.onLoadOlder())}var x={scrollToBottom:v,resetToolState:y},S=Km(),C=R(S),w=e=>{K(e,Vm())};J(C,e=>{i()&&e(w)});var T=B(C,2),E=e=>{var n=Hm(),r=R(n);A(n),U(`click`,r,function(...e){t.onLoadOlder?.apply(this,e)}),K(e,n)};J(T,e=>{r()&&!i()&&e(E)});var ee=B(T,2),D=e=>{var t=Um(),r=R(t,!0);A(t),V(()=>q(r,n())),K(e,t)},te=e=>{K(e,Wm())};return J(ee,e=>{n()?e(D):t.entries.length===0&&e(te,1)}),Y(B(ee,2),19,()=>t.entries,e=>e.id,(e,n,r)=>{var i=G(),a=z(i),s=e=>{var t=Gm(),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)},l=P(()=>H(n).senderName===`system`&&H(n).blocks.length===1&&H(n).blocks[0].type===`text`&&H(n).blocks[0].text.match(/^\[.+\]$/)),d=e=>{{let i=P(()=>p(H(r))),a=P(()=>h(H(r))),s=P(()=>g(H(n)));Bm(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(c)},onToggleTool:_,get mindsByName(){return H(u)},get participants(){return o()},get onOpenMind(){return t.onOpenMind}})}};J(a,e=>{H(l)?e(s):e(d,-1)}),K(e,i)}),A(S),ma(S,e=>s=e,()=>s),Br(`scroll`,S,b),K(e,S),N(x)}Vr([`click`]);var Jm=W(`<div class="orientation-bar svelte-1mfgy18">orientation</div>`),Ym=W(`<div class="channel-header svelte-1mfgy18"><span class="channel-title svelte-1mfgy18"> </span></div>`),Xm=W(`<div class="chat svelte-1mfgy18"><!> <!> <!> <!> <!></div>`);function Zm(e,t){M(t,!0);let n=_a(t,`convType`,3,`dm`),r=_a(t,`channelName`,3,``),i=_a(t,`minds`,19,()=>[]),a=_a(t,`participants`,19,()=>[]),o=0,s=F(L([])),c=F(``),l=F(!1),u=F(L([])),d=F(!1),f=F(!1),p=null,m=0,h,g=P(()=>{let e=a().filter(e=>e.userType===`mind`).map(e=>e.username);return e.length>0?e:n()===`dm`&&i().some(e=>e.name===t.name)?[t.name]:[]});kn(()=>{t.onTypingNames?.(H(u))});let _=new Map;function v(e){return Array.isArray(e)?e:[{type:`text`,text:String(e)}]}function y(e){return e.map(e=>({id:o++,serverId:e.id,role:e.role,blocks:v(e.content),senderName:e.sender_name??void 0,createdAt:e.created_at}))}async function b(e,t){let n=_.get(e);if(n&&!t){I(s,n.entries,!0),I(d,n.hasMore,!0);return}try{let n=await yu(e,{limit:50});I(c,``),I(s,y(n.items),!0),I(d,n.hasMore,!0),_.set(e,{entries:H(s),hasMore:H(d)}),t&&h?.scrollToBottom(!0)}catch(e){I(c,e instanceof Error?e.message:`Failed to load messages`,!0)}}async function x(){if(!p||H(f)||!H(d))return;let e=H(s)[0]?.serverId;if(e){I(f,!0);try{let t=await yu(p,{before:e,limit:50});t.items.length>0?(I(s,[...y(t.items),...H(s)],!0),I(d,t.hasMore,!0),_.set(p,{entries:H(s),hasMore:H(d)})):I(d,!1)}catch(e){I(c,e instanceof Error?e.message:`Failed to load older messages`,!0)}I(f,!1)}}kn(()=>{if(p=t.conversationId,clearTimeout(m),I(u,[],!0),h?.resetToolState(),!t.conversationId){I(s,[],!0),I(d,!1);return}b(t.conversationId,!0)}),kn(()=>{if(!t.conversationId)return;let e=Xd(e=>{if(e.event===`conversation`&&e.conversationId===t.conversationId){if(e.type===`message`){if(e.role===`user`&&e.senderName===t.username)return;let n={id:o++,role:e.role,blocks:v(e.content),senderName:e.senderName??void 0,createdAt:e.createdAt};I(s,[...H(s),n],!0),p&&_.set(p,{entries:H(s),hasMore:H(d)}),h?.scrollToBottom()}else if(e.type===`typing`){let n=e.senders;I(u,n.filter(e=>e!==t.username),!0),clearTimeout(m),H(u).length>0&&(m=window.setTimeout(()=>{I(u,[],!0)},15e3))}}});return()=>{e(),clearTimeout(m)}});async function S(e,r,i){let a=[];e&&a.push({type:`text`,text:e});for(let e of r)a.push({type:`image`,media_type:e.media_type,data:e.data});for(let e of i)a.push({type:`text`,text:`[file] ${e.filename}`});I(s,[...H(s),{id:o++,role:`user`,blocks:a,senderName:t.username,createdAt:new Date().toISOString()}],!0),I(l,!0),h?.scrollToBottom(!0);try{let a=(await Cu({message:e,conversationId:p??void 0,targetMind:n()===`channel`?void 0:t.name,images:r.length>0?r:void 0,files:i.length>0?i:void 0})).conversationId;p=a,t.onConversationId(a)}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 C=Xm(),w=R(C),T=e=>{K(e,Jm())};J(w,e=>{t.stage===`seed`&&e(T)});var E=B(w,2),ee=e=>{var t=Ym(),n=R(t),i=R(n);A(n),A(t),V(()=>q(i,`#${r()??``}`)),K(e,t)};J(E,e=>{n()===`channel`&&r()&&e(ee)});var D=B(E,2);ma(qm(D,{get entries(){return H(s)},get loadError(){return H(c)},get hasMore(){return H(d)},get loadingOlder(){return H(f)},onLoadOlder:x,get minds(){return i()},get participants(){return a()},get onOpenMind(){return t.onOpenMind}}),e=>h=e,()=>h);var te=B(D,2);gm(te,{get typingNames(){return H(u)},get mindParticipants(){return H(g)},get minds(){return i()},get onOpenMind(){return t.onOpenMind}}),Tm(B(te,2),{get sending(){return H(l)},onSend:S,get mindName(){return t.name},get conversationId(){return t.conversationId},get username(){return t.username}}),A(C),K(e,C),N()}var Qm=W(`<div class="not-found svelte-19lcsxc"> </div>`),$m=W(`<iframe class="ext-iframe page-content-iframe svelte-19lcsxc" title="Page content"></iframe>`),eh=W(`<iframe class="ext-iframe svelte-19lcsxc" title="Extension"></iframe>`),th=W(`<div class="section-content svelte-19lcsxc"><!></div>`),nh=W(`<div class="mind-page svelte-19lcsxc"><!></div>`);function rh(e,t){M(t,!0);let n=_a(t,`section`,3,`chat`),r=P(()=>Sf.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;em(`/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=Qm(),r=R(n);A(n),V(()=>q(r,`Mind "${t.name??``}" not found.`)),K(e,n)},l=e=>{var o=nh(),s=R(o),c=e=>{let r=P(()=>n().split(`:`));var i=th(),o=R(i),s=e=>{var n=$m();V(()=>ea(n,`src`,`/ext/${H(r)[1]??``}/public/${t.name??``}/${t.subpath??``}`)),Br(`load`,n,a),Rr(n),K(e,n)},c=e=>{var n=eh();V(()=>ea(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??Sf.minds),s=P(()=>H(i)?.participants??[]);Zm(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 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 ih={command:`Bash`,file_change:`Edit`,web_search:`WebSearch`,read:`Read`,write:`Write`,edit:`Edit`,bash:`Bash`,grep:`Grep`,glob:`Glob`};function ah(e){return ih[e]??e}function oh(e){switch(ah(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 sh(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 ch(e){switch(e){case`shell`:return`terminal`;case`file`:return`file`;case`search`:return`search`;case`web`:return`globe`;default:return`generic-tool`}}function lh(e,t){let n=ah(e),r={};try{r=JSON.parse(t)}catch{return n}switch(n){case`Bash`:return`$ ${String(r.command??``).split(`
|
|
75
|
-
`)[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 uh(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.type===`tool_use`){let i=dh(r.metadata),a=typeof i?.name==`string`?i.name:`tool`,o=ah(a),s=oh(a),c=[],l=null,u=n+1;for(;u<e.length;){if(e[u].type===`tool_result`){l=e[u],u++;break}if(e[u].type===`tool_use`)break;c.push(e[u]),u++}t.push({kind:`tool-group`,toolUse:r,toolResult:l,toolName:o,category:s});for(let e of c)t.push({kind:`event`,event:e});n=u}else t.push({kind:`event`,event:r}),n++}return t}function dh(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}var fh=W(`<div class="terminal-running svelte-7tn5lf">running...</div>`),ph=W(`<pre> </pre>`),mh=W(`<div class="terminal svelte-7tn5lf"><div class="terminal-cmd svelte-7tn5lf"><span class="terminal-prompt svelte-7tn5lf">$</span> </div> <!></div>`),hh=W(`<div class="section-label svelte-7tn5lf">input</div> <pre class="tool-pre svelte-7tn5lf"> </pre>`,1),gh=W(`<div class="section-label svelte-7tn5lf">output</div> <pre> </pre>`,1),_h=W(`<div class="tool-card-body svelte-7tn5lf"><!> <!></div>`),vh=W(`<span class="status-running svelte-7tn5lf">running...</span>`),yh=W(`<span class="status-error svelte-7tn5lf">error</span>`),bh=W(`<span class="inline-label svelte-7tn5lf"> <!></span>`),xh=W(`<div role="button" tabindex="0"><!></div>`);function Sh(e,t){M(t,!0);let n=_a(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(()=>lh(H(i)?.name??`tool`,t.group.toolUse.content)),l=P(()=>sh(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=xh();let m,h;var g=R(p),_=e=>{var n=G(),r=z(n),i=e=>{var n=mh(),r=R(n),i=B(R(r));A(r);var a=B(r,2),c=e=>{K(e,fh())},l=e=>{var n=ph();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=_h(),r=R(n),i=e=>{var n=hh(),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,fh())},l=e=>{var n=gh(),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=bh(),n=R(t),r=B(n),i=e=>{K(e,vh())},a=e=>{K(e,yh())};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()}Vr([`click`,`keydown`]);var Ch=W(`<div class="marker marker-icon svelte-1rz13hb"><!></div>`),wh=W(`<div class="marker svelte-1rz13hb"></div>`),Th=W(`<div class="turn-connector svelte-1rz13hb"></div>`),Eh=W(`<span class="time svelte-1rz13hb"> </span>`),Dh=W(`<div class="summary-header svelte-1rz13hb"><div class="summary-header-line svelte-1rz13hb"><!> <button><!></button></div></div>`),Oh=W(`<div class="turn-loading svelte-1rz13hb">loading turn...</div>`),kh=W(`<div class="turn-loading svelte-1rz13hb"> </div>`),Ah=W(`<div class="event svelte-1rz13hb"><div class="marker marker-icon svelte-1rz13hb"><!></div> <!></div>`),jh=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>`),Mh=W(`<span class="summary-text svelte-1rz13hb"> </span>`),Nh=W(`<!> <div class="event-body svelte-1rz13hb"><!></div>`,1),Ph=W(`<div class="activity-card svelte-1rz13hb"><!></div>`),Fh=W(`<span class="inline-text svelte-1rz13hb"> </span>`),Ih=W(`<span class="compact-msg-channel svelte-1rz13hb"> </span>`),Lh=W(`<div class="compact-msg svelte-1rz13hb"><div class="compact-msg-header svelte-1rz13hb"><svg class="compact-msg-icon svelte-1rz13hb" 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"></path></svg> <!></div> <div class="compact-msg-body svelte-1rz13hb"><span> </span> <span class="compact-msg-text svelte-1rz13hb"> </span></div></div>`),Rh=W(`<span class="inline-channel svelte-1rz13hb"> </span> `,1),zh=W(`<span class="inline-text inline-text-chat svelte-1rz13hb"><!><span> </span> </span>`),Bh=W(`<div><div class="markdown-body"></div></div>`),Vh=W(`<span> <!></span>`),Hh=W(`<span> </span>`),Uh=W(`<span class="inline-text dim svelte-1rz13hb"> <!></span>`),Wh=W(`<span class="inline-text dim svelte-1rz13hb">session started<!></span>`),Gh=W(`<span class="inline-text dim svelte-1rz13hb">processing complete</span>`),Kh=W(`<div class="event-body svelte-1rz13hb"><!></div>`),qh=W(`<div role="button" tabindex="0"><!> <!> <!></div>`);function Jh(e,t){M(t,!0);function n(e,t){return typeof e.metadata?.iframeUrl==`string`?e.metadata.iframeUrl:typeof e.metadata?.slug==`string`?`/minds/${typeof e.metadata?.author==`string`?e.metadata.author:t}/notes/${e.metadata.slug}`:``}let r=_a(t,`expandable`,3,!1);_a(t,`compact`,3,!1),_a(t,`turnConversations`,19,()=>[]),_a(t,`turnActivities`,19,()=>[]);let 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)`,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(()=>t.event.type===`inbound`||t.event.type===`outbound`||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`&&r()||!!t.event.content),g=P(()=>{let e=_(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===`activity`?`${e} · ${H(m)?.type??`activity`}`:`${e} · ${n}`});function _(e){return new Date(Pl(e)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function v(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}let y=F(void 0);async function b(){if(t.event.type===`summary`&&r()){if(I(a,!H(a)),H(a)&&H(c).length===0){let e=!!t.event.turn_id,n=t.event.session&&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 Eu(t.mindName,e?{turnId:t.event.turn_id}:{session:t.event.session,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 xr(),H(y)?.scrollIntoView({behavior:`smooth`,block:`start`})),t.onexpand?.(H(a),H(y))}else H(h)&&I(i,!H(i))}var x=qh();let S,C;var w=R(x),T=e=>{var t=Ch();Z(t,``,{},{color:`var(--blue)`}),Za(R(t),{kind:`chat`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},E=e=>{var t=Ch();Z(t,``,{},{color:`var(--red)`}),Za(R(t),{kind:`chat`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},ee=e=>{var t=Ch();Z(t,``,{},{color:`var(--text-1)`}),Za(R(t),{kind:`text`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},D=e=>{var t=Ch();Z(t,``,{},{color:`var(--text-2)`}),Za(R(t),{kind:`thinking`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},te=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.name==`string`?H(t).name:`tool`),r=P(()=>oh(H(n)));var i=Ch();let a;var o=R(i);{let e=P(()=>ch(H(r)));Za(o,{get kind(){return H(e)}})}A(i),Ei(i,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),V(e=>a=Z(i,``,a,e),[()=>({color:sh(H(r))})]),K(e,i)},ne=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.color==`string`?`var(--${H(t).color})`:`var(--yellow)`);var r=Ch();let i;var a=R(r),o=e=>{var n=G();mi(z(n),()=>H(t).icon),K(e,n)},s=e=>{Za(e,{kind:`document-lines`})};J(a,e=>{typeof H(t)?.icon==`string`?e(o):e(s,-1)}),A(r),Ei(r,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),V(()=>i=Z(r,``,i,{color:H(n)})),K(e,r)},O=e=>{var t=wh();let n;Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),V(()=>n=Z(t,``,n,{background:H(p)})),K(e,t)};J(w,e=>{t.event.type===`inbound`?e(T):t.event.type===`outbound`?e(E,1):t.event.type===`text`?e(ee,2):t.event.type===`thinking`?e(D,3):t.event.type===`tool_use`||t.event.type===`tool_result`?e(te,4):t.event.type===`activity`?e(ne,5):e(O,-1)});var re=B(w,2),ie=e=>{K(e,Th())};J(re,e=>{t.event.type===`summary`&&H(a)&&e(ie)});var ae=B(re,2),oe=e=>{var n=Nh(),i=z(n),f=e=>{var n=Dh(),r=R(n),i=R(r),a=e=>{var t=Eh(),n=R(t);A(t),V((e,t)=>q(n,`${e??``} – ${t??``}`),[()=>_(H(m).from_time),()=>_(H(m).to_time)]),K(e,t)},o=e=>{var n=Eh(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>_(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,Xr(`…`))},h=e=>{Za(e,{kind:`search`})};J(f,e=>{H(d)?e(p):e(h,-1)}),A(s),Ei(s,(e,t)=>Ml?.(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.session&&H(m)?.from_id&&H(m)?.to_id;(e||n)&&I(l,await Eu(t.mindName,e?{turnId:t.event.turn_id,detail:!0}:{session:t.event.session,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=jh(),r=R(n),i=e=>{K(e,Oh())},d=e=>{var t=kh(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},f=e=>{var n=G();Y(z(n),17,()=>H(l).filter(e=>e.type!==`summary`),e=>e.id,(e,n)=>{Jh(e,{get event(){return H(n)},get mindName(){return t.mindName}})}),K(e,n)},p=e=>{let n=P(()=>uh(H(c)));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(()=>sh(H(n).category)),i=P(()=>ch(H(n).category)),a=P(()=>`${_(H(n).toolUse.created_at)} · ${H(n).toolName}`);var o=Ah();let s;var c=R(o);let l;Za(R(c),{get kind(){return H(i)}}),A(c),Ei(c,(e,t)=>Ml?.(e,t),()=>({text:H(a),position:`left`})),Sh(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)},o=e=>{Jh(e,{get event(){return H(n).event},get mindName(){return t.mindName}})};J(i,e=>{H(n).kind===`tool-group`?e(a):e(o,-1)}),K(e,r)}),K(e,r)};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)`}),Za(R(h),{kind:`spiral`}),A(h);var g=B(h,2),v=R(g,!0);A(g),A(m),j(2),A(n),V(()=>q(v,t.event.content)),U(`click`,n,e=>e.stopPropagation()),U(`keydown`,n,e=>e.stopPropagation()),U(`click`,m,()=>{I(a,!1)}),K(e,n)},v=e=>{var n=Mh(),r=R(n,!0);A(n),V(()=>q(r,t.event.content)),K(e,n)};J(h,e=>{r()&&H(a)?e(g):e(v,-1)}),A(p),K(e,n)},k=e=>{let r=P(()=>H(m)),a=P(()=>typeof H(r)?.color==`string`?`var(--${H(r).color})`:`var(--yellow)`);var o=G(),s=z(o),c=e=>{var i=Ph(),a=R(i);{let e=P(()=>n({type:H(r)?.type??``,metadata:H(r)},t.mindName)),i=P(()=>typeof H(r)?.author==`string`?H(r).author:void 0),o=P(()=>typeof H(r)?.bodyHtml==`string`?H(r).bodyHtml:``),s=P(()=>typeof H(r)?.iframeUrl==`string`?H(r).iframeUrl:void 0),c=P(()=>typeof H(r)?.icon==`string`?H(r).icon:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 2h6l4 4v8H4V2z"/><path d="M10 2v4h4"/><path d="M6 9h6M6 12h4"/></svg>`),l=P(()=>typeof H(r)?.color==`string`?H(r).color:`yellow`);Wp(a,{get title(){return t.event.content},get url(){return H(e)},get date(){return t.event.created_at},get author(){return H(i)},get bodyHtml(){return H(o)},get iframeUrl(){return H(s)},get icon(){return H(c)},get color(){return H(l)}})}A(i),K(e,i)},l=e=>{var n=Fh();let r;var i=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:H(a)}),q(i,t.event.content)}),K(e,n)};J(s,e=>{H(i)?e(c):e(l,-1)}),K(e,o)},se=e=>{var n=G(),r=z(n),a=e=>{var n=Lh(),r=R(n),i=B(R(r),2),a=e=>{var n=Ih(),r=R(n,!0);A(n),V(()=>q(r,t.event.channel)),K(e,n)};J(i,e=>{t.event.channel&&e(a)}),A(r);var o=B(r,2),s=R(o);let c;var l=R(s,!0);A(s);var u=B(s,2),d=R(u,!0);A(u),A(o),A(n),V(()=>{c=X(s,1,`compact-msg-sender svelte-1rz13hb`,null,c,{"compact-msg-sender-user":t.event.type===`inbound`}),q(l,t.event.type===`inbound`?t.event.sender??`user`:t.mindName),q(d,t.event.content)}),K(e,n)},o=e=>{var n=zh(),r=R(n),i=e=>{var n=Rh(),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(r,e=>{H(i)?e(a):e(o,-1)}),K(e,n)},ce=e=>{var n=Kh(),r=R(n),a=e=>{var n=Bh();let r;var a=R(n);mi(a,()=>Al(t.event.content),!0),A(a),A(n),V(()=>r=X(n,1,`inline-text dim svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)})),K(e,n)},o=e=>{var n=Vh();let r;var a=R(n,!0),o=B(a),s=e=>{var n=Xr();V(e=>q(n,`
|
|
76
|
-
${e??``}`),[()=>v(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)},[()=>lh(H(m)?.name??`tool`,t.event.content)]),K(e,n)},s=e=>{var n=Hh();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)},c=e=>{var n=Hh();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)},l=e=>{var t=Uh(),n=R(t),r=B(n),i=e=>{var t=Xr();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)},u=e=>{var n=Wh(),r=B(R(n)),i=e=>{var n=Xr();V(()=>q(n,t.event.session)),K(e,n)};J(r,e=>{t.event.session&&e(i)}),A(n),K(e,n)},d=e=>{K(e,Gh())},f=e=>{var n=Uh(),r=R(n,!0),i=B(r),a=e=>{var n=Xr();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(r,e=>{t.event.type===`text`?e(a):t.event.type===`tool_use`?e(o,1):t.event.type===`tool_result`?e(s,2):t.event.type===`thinking`?e(c,3):t.event.type===`usage`?e(l,4):t.event.type===`session_start`?e(u,5):t.event.type===`done`?e(d,6):e(f,-1)}),A(n),K(e,n)};J(ae,e=>{t.event.type===`summary`?e(oe):t.event.type===`activity`?e(k,1):t.event.type===`inbound`||t.event.type===`outbound`?e(se,2):e(ce,-1)}),A(x),ma(x,e=>I(y,e),()=>H(y)),V(()=>{S=X(x,1,`event svelte-1rz13hb`,null,S,{collapsible:H(h),"expandable-summary":t.event.type===`summary`&&r(),"turn-expanded":t.event.type===`summary`&&H(a)}),C=Z(x,``,C,{"--type-color":H(p)})}),U(`click`,x,b),U(`keydown`,x,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b())}),K(e,x),N()}Vr([`click`,`keydown`]);var Yh=W(`<button class="open-chat-btn svelte-hdi0pv">Chat</button>`),Xh=W(`<div class="chat-empty svelte-hdi0pv">Loading...</div>`),Zh=W(`<div class="chat-empty svelte-hdi0pv"> </div>`),Qh=W(`<div class="chat-empty svelte-hdi0pv">No messages.</div>`),$h=W(`<div class="date-divider svelte-hdi0pv"><div class="divider-line svelte-hdi0pv"></div> <span> </span> <div class="divider-line svelte-hdi0pv"></div></div>`),eg=W(`<div class="chat-entry-header svelte-hdi0pv"><span> </span> <span class="chat-timestamp svelte-hdi0pv"> </span></div>`),tg=W(`<div class="markdown-body"></div>`),ng=W(`<!> <div><!> <div><!></div></div>`,1),rg=W(`<div class="chat-scroll svelte-hdi0pv"></div>`),ig=W(`<div class="read-only-chat svelte-hdi0pv"><!></div>`);function ag(e,t){M(t,!0);let n=_a(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`});kn(()=>{I(i,!0),I(a,null),vu(t.mindName,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(Pl(e)).toLocaleDateString()}catch{return``}}function l(e){return e===0?!0:c(H(r)[e].created_at)!==c(H(r)[e-1].created_at)}ro(e,{get onClose(){return t.onClose},get title(){return H(s)},headerActions:e=>{var r=G(),i=z(r),a=e=>{var n=Yh();U(`click`,n,()=>{t.onClose(),em(`/chat/${t.conversation.id}`)}),K(e,n)};J(i,e=>{n()&&e(a)}),K(e,r)},children:(e,n)=>{var s=ig(),u=R(s),d=e=>{K(e,Xh())},f=e=>{var t=Zh(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},p=e=>{K(e,Qh())},m=e=>{var n=rg();Y(n,23,()=>H(r),e=>e.id,(e,n,i)=>{var a=ng(),o=z(a),s=e=>{var t=$h(),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=eg(),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)),q(c,e)},[()=>Gp(H(n).created_at)]),K(e,r)},h=P(()=>Kp(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=Xr();V(e=>q(t,e),[()=>qp(H(n).content)]),K(e,t)},b=e=>{var t=tg();mi(t,()=>Al(qp(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":Kp(H(r),H(i))})]),K(e,a)}),A(n),ma(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()}Vr([`click`]);var og=W(`<div class="branch-rail-hit svelte-1wz37xo"></div>`),sg=W(`<div class="branch-header svelte-1wz37xo"><!></div>`),cg=W(`<div class="branch-footer svelte-1wz37xo"><!></div>`),lg=W(`<div class="tb-return svelte-1wz37xo"></div>`),ug=W(`<div><div></div> <!> <div class="branch-content svelte-1wz37xo"><!> <!> <!> <!></div></div>`);function dg(e,t){let n=_a(t,`gap`,3,16),r=_a(t,`reach`,3,10),i=_a(t,`railTop`,3,15),a=_a(t,`noReturn`,3,!1),o=_a(t,`dashed`,3,!1);var s=ug();let c,l;var u=R(s);let d;var f=B(u,2),p=e=>{var n=og();U(`click`,n,function(...e){t.onrailclick?.apply(this,e)}),K(e,n)};J(f,e=>{o()&&e(p)});var m=B(f,2),h=R(m),g=e=>{var n=sg();hi(R(n),()=>t.header),A(n),U(`click`,n,function(...e){t.onheaderclick?.apply(this,e)}),K(e,n)};J(h,e=>{t.header&&e(g)});var _=B(h,2);hi(_,()=>t.children);var v=B(_,2),y=e=>{var n=cg();hi(R(n),()=>t.footer),A(n),U(`click`,n,function(...e){t.onfooterclick?.apply(this,e)}),K(e,n)};J(v,e=>{t.footer&&e(y)});var b=B(v,2),x=e=>{K(e,lg())};J(b,e=>{a()||e(x)}),A(m),A(s),V(()=>{c=X(s,1,`branch-wrapper svelte-1wz37xo`,null,c,{"no-return":a()}),l=Z(s,``,l,{"--branch-gap":`${n()??``}px`,"--branch-reach":`${r()??``}px`,"--rail-top":`${i()??``}px`}),d=X(u,1,`branch-connector svelte-1wz37xo`,null,d,{"branch-connector-dashed":o()})}),K(e,s)}Vr([`click`]);var fg=W(`<div class="summary-expand-header svelte-j3zn9j"><span class="active-turn-time svelte-j3zn9j"> </span></div>`),pg=W(`<div class="summary-expand-loading svelte-j3zn9j">loading...</div>`),mg=W(`<div class="event svelte-j3zn9j"><div class="marker marker-icon svelte-j3zn9j"><!></div> <!></div>`),hg=W(`<span class="summary-child-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span>`,1),gg=W(`<div class="nested-branch-wrapper svelte-j3zn9j"><!></div>`),_g=W(`<div><div class="summary-child-dot summary-dot svelte-j3zn9j"></div> <div class="summary-child-body svelte-j3zn9j"><!></div></div> <!>`,1),vg=W(`<div><!></div>`),yg=W(`<button class="summary-expand-collapse svelte-j3zn9j"><span class="summary-text svelte-j3zn9j"> </span></button>`),bg=W(`<div class="summary-collapsed svelte-j3zn9j"><span class="summary-collapsed-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span></div>`);function xg(e,t){M(t,!0);let n=_a(t,`depth`,3,0),r=P(()=>t.expandedSummaries.has(t.summary.id)||t.directEventsSummaries.has(t.summary.id)),i=P(()=>t.loadingChildren.has(t.summary.id)),a=P(()=>t.directEventsSummaries.get(t.summary.id)),o=P(()=>t.expandedSummaries.get(t.summary.id)??[]),s=P(()=>n()===0?16:12),c=P(()=>n()===0?15:13),l=P(()=>H(o).some(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id))));function u(){let e=H(o).find(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id)));e&&`period`in e&&t.toggleSummaryExpand(e)}var d=G(),f=z(d),p=e=>{dg(e,{get gap(){return H(s)},reach:8,get railTop(){return H(c)},get dashed(){return H(l)},onheaderclick:()=>t.toggleSummaryExpand(t.summary),onfooterclick:()=>t.toggleSummaryExpand(t.summary),onrailclick:u,header:e=>{var n=fg(),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 r=G(),s=z(r),c=e=>{K(e,pg())},l=e=>{let n=P(()=>uh(H(a)));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(()=>sh(H(n).category)),i=P(()=>ch(H(n).category));var a=mg();let o;var s=R(a);let c;Za(R(s),{get kind(){return H(i)}}),A(s),Sh(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=>{Jh(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)},u=e=>{var r=G();Y(z(r),17,()=>H(o),e=>`period`in e?`s-${e.id}`:`t-${e.id}`,(e,r)=>{var i=G(),a=z(i),o=e=>{let i=P(()=>H(r)),a=P(()=>t.expandedSummaries.has(H(i).id)||t.directEventsSummaries.has(H(i).id));var o=_g(),s=z(o);let c;var l=B(R(s),2),u=R(l),d=e=>{var n=hg(),r=z(n),a=R(r,!0);A(r);var o=B(r,2),s=R(o,!0);A(o),V(e=>{q(a,e),q(s,H(i).content)},[()=>t.formatPeriodTime(H(i).period,H(i).period_key)]),K(e,n)};J(u,e=>{H(a)||e(d)}),A(l),A(s);var f=B(s,2),p=e=>{var r=gg(),a=R(r);{let e=P(()=>n()+1);xg(a,{get summary(){return H(i)},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}})}A(r),K(e,r)};J(f,e=>{H(a)&&e(p)}),V(()=>c=X(s,1,`summary-child-item svelte-j3zn9j`,null,c,{"summary-child-expanded":H(a),"summary-child-collapsed":!H(a)})),U(`click`,s,e=>{e.stopPropagation(),t.toggleSummaryExpand(H(i))}),K(e,o)},s=e=>{let t=P(()=>H(r));var n=vg(),i=R(n);{let e=P(()=>({id:0,mind:H(t).mind,channel:``,session:null,sender:null,message_id:null,type:`summary`,content:H(t).summary??`(no summary)`,metadata:H(t).summary_meta?JSON.stringify(H(t).summary_meta):null,turn_id:H(t).id,created_at:H(t).created_at}));Jh(i,{get event(){return H(e)},get mindName(){return H(t).mind},expandable:!0})}A(n),U(`click`,n,e=>e.stopPropagation()),K(e,n)};J(a,e=>{`period`in H(r)?e(o):e(s,-1)}),K(e,i)}),K(e,r)};J(s,e=>{H(i)?e(c):H(a)?e(l,1):e(u,-1)}),K(e,r)},footer:e=>{var n=yg(),r=R(n),i=R(r,!0);A(r),A(n),V(()=>q(i,t.summary.content)),U(`click`,n,e=>e.stopPropagation()),K(e,n)},$$slots:{header:!0,default:!0,footer:!0}})},m=e=>{var n=bg(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(n),V(e=>{q(i,e),q(o,t.summary.content)},[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key)]),U(`click`,n,()=>t.toggleSummaryExpand(t.summary)),K(e,n)};J(f,e=>{H(r)?e(p):e(m,-1)}),K(e,d),N()}Vr([`click`]);var Sg=W(`<div class="load-older svelte-m7q6b7"><button class="load-older-btn svelte-m7q6b7"> </button></div>`),Cg=W(`<div class="error-hint svelte-m7q6b7"> </div>`),wg=W(`<div class="empty-hint svelte-m7q6b7">No activity yet.</div>`),Tg=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>`),Eg=W(`<button class="mind-badge svelte-m7q6b7"> </button>`),Dg=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>`),Og=W(`<span class="peek-msg-md markdown-body svelte-m7q6b7"></span>`),kg=W(`<span> </span>`),Ag=W(`<div class="peek-msg svelte-m7q6b7"><span> </span> <!></div>`),jg=W(`<div class="peek-anchor svelte-m7q6b7"><button class="peek-btn svelte-m7q6b7" aria-label="View conversation"><!></button> <div class="peek-popover svelte-m7q6b7" role="button" tabindex="0"><div class="peek-card peek-card-chat svelte-m7q6b7"><div class="peek-card-header svelte-m7q6b7"><!> <span class="peek-card-label svelte-m7q6b7"> </span> <span class="peek-card-meta svelte-m7q6b7"> </span></div> <div class="peek-card-body svelte-m7q6b7"></div></div></div></div>`),Mg=W(`<span class="peek-card-icon"></span>`),Ng=W(`<div class="peek-card-body peek-card-iframe svelte-m7q6b7"><iframe sandbox="allow-same-origin" role="presentation" class="svelte-m7q6b7"></iframe></div>`),Pg=W(`<div class="peek-card-body markdown-body svelte-m7q6b7"></div>`),Fg=W(`<div class="peek-anchor svelte-m7q6b7"><button class="peek-btn svelte-m7q6b7" aria-label="View activity"><!></button> <div class="peek-popover svelte-m7q6b7"><div class="peek-card svelte-m7q6b7"><div class="peek-card-header svelte-m7q6b7"><!> <span class="peek-card-label svelte-m7q6b7"> </span></div> <!></div></div></div>`),Ig=W(`<div class="turn-peek-icons svelte-m7q6b7"><!> <!></div>`),Lg=W(`<div class="active-turn-header svelte-m7q6b7"><span class="active-turn-time svelte-m7q6b7"> </span></div>`),Rg=W(`<div class="event svelte-m7q6b7"><div class="marker marker-icon svelte-m7q6b7"><!></div> <!></div>`),zg=W(`<!> <div class="active-indicator svelte-m7q6b7"><div class="active-dot svelte-m7q6b7"></div></div>`,1),Bg=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"><!> </div> <div role="button" tabindex="0"><div class="turn-dot svelte-m7q6b7"></div> <!></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),Vg=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7">just now</div> <div class="turn-rail turn-rail-expanded svelte-m7q6b7"><div class="turn-dot svelte-m7q6b7"></div></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),Hg=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>`),Ug=W(`<div class="turn-track svelte-m7q6b7"><!> <!> <!></div>`),Wg=W(`<div class="loading-more svelte-m7q6b7">loading...</div>`),Gg=W(`<button class="jump-btn svelte-m7q6b7">jump to latest</button>`),Kg=W(`<div class="turn-timeline svelte-m7q6b7"><div class="turn-scroll svelte-m7q6b7"><!> <!> <!></div> <!></div> <!>`,1);function qg(e,t){M(t,!0);let n={hour:`turn`,day:`hour`,week:`day`,month:`week`};function r(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 i(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`?r(t):e===`month`?new Date(`${t}-01T00:00:00`):new Date(t)}function a(e,t){let n=new Date,a=new Date(n.getFullYear(),n.getMonth(),n.getDate()),o=new Date(a);if(o.setDate(a.getDate()-1),e===`hour`){let e=i(`hour`,t),n=new Date(e.getTime()+36e5),r=e=>e.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()===a.getTime()?`${r(e)} \u2013 ${r(n)}`:`${e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${r(e)} \u2013 ${r(n)}`}if(e===`day`){let e=i(`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=r(t),i=new Date(e);i.setDate(e.getDate()+6);let a=e=>e.toLocaleDateString(void 0,{month:`short`,day:`numeric`});return e.getFullYear()===n.getFullYear()?`${a(e)} \u2013 ${a(i)}`:`${a(e)} \u2013 ${a(i)}, ${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 o=F(L([])),s=F(!0),c=F(!1),l=F(``),u=F(null),d=F(L([])),f=F(L([])),p=F(L([])),m=F(L([])),h=F(!1),g=F(L(new Hl)),_=new Vl,v=F(L(new Hl)),y=F(L(new Hl)),b=-1,x=F(L([])),S=new Map,C=F(L(new Set));function w(e,n={}){return{id:b--,mind:e.mind??t.name??``,channel:e.channel??``,session: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 T(e){let t=!1,n=[];for(let r of e){let e=H(o).findIndex(e=>e.id===r.id);e===-1?n.push(r):(H(o)[e]=r,t=!0)}n.length>0?I(o,[...H(o),...n],!0):t&&I(o,[...H(o)],!0)}function E(e,t){I(u,{id:e.id,type:e.type,user_id:null,created_at:t.created_at,updated_at:t.created_at,private:0,channel_name:e.type===`channel`?e.label.replace(/^#/,``):null,participants:[]},!0)}function ee(e,t){t?H(C).add(e):H(C).delete(e),I(C,new Set(H(C)),!0)}let D=F(void 0),te=F(!1),ne=null;function O(){re();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`&&!r)I(x,[...H(x),w(n)],!0);else if(i===`turn_created`&&r){if(H(o).some(e=>e.id===r)||I(o,[...H(o),{id:r,mind:n.mind??t.name??``,summary:null,summary_meta:null,status:`active`,created_at:new Date().toISOString(),trigger:null,conversations:[],activities:[]}],!0),H(x).length>0){let e=H(x).map(e=>({...e,turn_id:r})),t=H(y).get(r)??[];H(y).set(r,[...e,...t])}else H(y).has(r)||H(y).set(r,[]);I(x,[],!0);let e=n.mind??t.name??``;new Promise(e=>setTimeout(e,500)).then(()=>Eu(e,{turnId:r})).then(e=>{H(y).has(r)&&H(y).set(r,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to fetch turn events:`,e))}else if(i===`summary`&&r){clearTimeout(S.get(r)),S.delete(r);let e=H(y).get(r);H(y).delete(r),Du({mind:t.name,turnId:r}).then(e=>{T(e),requestAnimationFrame(()=>{(H(D)?.querySelector(`[data-turn-id="${r}"]`))?.scrollIntoView({behavior:`smooth`,block:`nearest`})})}).catch(t=>{console.warn(`[TurnTimeline] Failed to fetch completed turn:`,t),H(y).has(r)||H(y).set(r,e??[])})}else if(i===`done`&&r){if(!S.has(r)){let e=r;S.set(e,setTimeout(()=>{S.delete(e),H(y).has(e)&&(H(y).delete(e),Du({mind:t.name,turnId:e}).then(e=>T(e)).catch(e=>console.warn(`[TurnTimeline] Failed to refresh turn after done:`,e)))},1e4))}}else if(r&&H(y).has(r)){let e=H(y).get(r);H(y).set(r,[...e,w(n,{turn_id:r})])}H(te)||requestAnimationFrame(()=>{H(D)?.scrollTo({top:H(D).scrollHeight,behavior:`smooth`})})},n.onerror=()=>{n.readyState===EventSource.CLOSED?console.warn(`[TurnTimeline] SSE connection closed permanently`):n.readyState===EventSource.CONNECTING&&console.warn(`[TurnTimeline] SSE reconnecting...`)},ne=n}function re(){ne&&=(ne.close(),null);for(let e of S.values())clearTimeout(e);S.clear()}async function ie(e){I(c,!0),I(l,``);try{let n=await Du({mind:t.name,limit:100,offset:e}),r=[...n].reverse();e===0?I(o,r,!0):I(o,[...r,...H(o)],!0),I(s,n.length===100),e===0&&H(x).length===0&&t.name&&Tu(t.name,{preset:`all`,limit:10}).then(e=>{let t=e.filter(e=>e.type===`inbound`&&!e.turn_id);t.length>0&&H(x).length===0&&I(x,t,!0)}).catch(e=>console.warn(`[TurnTimeline] Failed to check pending inbounds:`,e));for(let e of H(o))e.status===`active`&&!H(y).has(e.id)&&(H(y).set(e.id,[]),Eu(e.mind,{turnId:e.id}).then(t=>{H(y).has(e.id)&&H(y).set(e.id,t)}).catch(e=>console.warn(`[TurnTimeline] Failed to backfill active turn events:`,e)))}catch(e){I(l,e instanceof Error?e.message:`Failed to load`,!0)}I(c,!1)}async function ae(){try{let e=new Date,n=e=>String(e).padStart(2,`0`),r=`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())}`,i=`${r}T${n(e.getHours())}`,a=`${r}T00`,o=r,s=new Date(e.getFullYear(),e.getMonth(),e.getDate()-7),c=`${s.getFullYear()}-${n(s.getMonth()+1)}-${n(s.getDate())}`,l=`${e.getFullYear()}-${n(e.getMonth()+1)}`,[u,g,_,v]=await Promise.all([Ou({mind:t.name,period:`hour`,from:a,to:i,limit:24}),Ou({mind:t.name,period:`day`,from:c,to:o,limit:7}),Ou({mind:t.name,period:`week`,to:c,limit:12}),Ou({mind:t.name,period:`month`,to:l,limit:12})]);I(d,u.sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(f,g.filter(e=>e.period_key<o).sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(p,_.sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(m,v.filter(e=>e.period_key<l).sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(h,!0)}catch(e){console.warn(`[TurnTimeline] Failed to load summaries:`,e),I(h,!0)}}async function oe(e){if(H(g).has(e.id)||H(v).has(e.id)){H(g).delete(e.id),H(v).delete(e.id);return}_.add(e.id);try{let i=e.mind===`_system`,a=n[e.period];if(i&&a===`turn`){let t=e.metadata?.minds??[],n=(await Promise.all(t.map(t=>Ou({mind:t,period:e.period,from:e.period_key,to:e.period_key,limit:1})))).flat().sort((e,t)=>e.mind.localeCompare(t.mind));H(g).set(e.id,n)}else if(a===`turn`){let t=e.metadata?.source_ids??[];if(t.length>0){let n=await ku(t),r=n.map(e=>e.period_key);if(r.length===1){let t=await Eu(n[0].mind,{turnId:r[0]});H(v).set(e.id,t)}else if(r.length>0){let t=await Du({turnIds:r});t.sort((e,t)=>e.created_at.localeCompare(t.created_at)),H(g).set(e.id,t)}else H(g).set(e.id,[])}else H(g).set(e.id,[])}else{let n,i;if(e.period===`day`)n=e.period_key,i=`${e.period_key}T99`;else if(e.period===`week`){let t=r(e.period_key),a=new Date(t);a.setDate(t.getDate()+6);let o=e=>String(e).padStart(2,`0`);n=`${t.getFullYear()}-${o(t.getMonth()+1)}-${o(t.getDate())}`,i=`${a.getFullYear()}-${o(a.getMonth()+1)}-${o(a.getDate())}`}else e.period===`month`?(n=`${e.period_key}-01`,i=`${e.period_key}-31`):(n=e.period_key,i=e.period_key);let o=await Ou({mind:t.name,period:a,from:n,to:i,limit:100});H(g).set(e.id,o.sort((e,t)=>e.period_key.localeCompare(t.period_key)))}}catch(e){console.warn(`[TurnTimeline] Failed to load summary children:`,e)}_.delete(e.id)}let k=P(()=>{let e=[],t=new Date(new Date);t.setMinutes(0,0,0);let n=t.getTime();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});(H(f).length>0||e.length>0)&&H(d).length>0&&e.push({kind:`separator`,above:`earlier this week`,below:`today`});for(let t of H(d))e.push({kind:`summary`,summary:t});let r=H(o).filter(e=>{if(e.status===`active`||H(y).has(e.id))return!0;let t=e.summary_meta?.to_time??e.created_at;return new Date(Pl(t)).getTime()>=n});e.length>0&&r.length>0&&e.push({kind:`separator`,above:`earlier today`,below:`this hour`});for(let t of r)e.push({kind:`turn`,turn:t});return e}),se=null,ce=null;function le(){ue(),se=setInterval(()=>{H(D)&&(H(D).scrollTop=H(D).scrollHeight)},100),ce=setTimeout(()=>{ue()},3e3)}function ue(){se&&=(clearInterval(se),null),ce&&=(clearTimeout(ce),null)}let de=``;kn(()=>{let e=t.name;e!==de&&(de=e,I(o,[],!0),I(s,!0),I(y,new Hl,!0),b=-1,I(x,[],!0),I(d,[],!0),I(f,[],!0),I(p,[],!0),I(m,[],!0),I(h,!1),I(g,new Hl,!0),I(v,new Hl,!0),le(),ie(0))}),kn(()=>{H(o).length>0&&!H(h)&&!H(c)&&ae()}),kn(()=>(t.name,O(),()=>re())),kn(()=>()=>ue());function fe(){if(!H(D))return;let{scrollTop:e,scrollHeight:t,clientHeight:n}=H(D);I(te,t-e-n>100)}function pe(){H(D)?.scrollTo({top:H(D).scrollHeight,behavior:`smooth`}),I(te,!1)}var me=Kg(),he=z(me),ge=R(he),_e=R(ge),ve=e=>{var t=Sg(),n=R(t);let r;var i=R(n,!0);A(n),A(t),V(()=>{n.disabled=H(c),r=Z(n,``,r,{opacity:H(c)?.5:1}),q(i,H(c)?`loading...`:`load older`)}),U(`click`,n,()=>ie(H(o).length)),K(e,t)};J(_e,e=>{H(s)&&e(ve)});var ye=B(_e,2),be=e=>{var t=Cg(),n=R(t,!0);A(t),V(()=>q(n,H(l))),K(e,t)},xe=e=>{K(e,wg())},Se=e=>{var n=Ug(),r=R(n);Y(r,17,()=>H(k),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(),i=z(r),o=e=>{var t=Tg(),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),i=P(()=>H(g).has(H(r).id)||H(v).has(H(r).id));var o=Dg(),s=R(o),c=R(s),l=e=>{var t=Eg(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>em(`/minds/${H(r).mind}/history`)),K(e,t)};J(c,e=>{!t.name&&H(r).mind!==`_system`&&e(l)}),A(s);var u=B(s,2);let d;var f=B(u,2),p=R(f);xg(R(p),{get summary(){return H(r)},get expandedSummaries(){return H(g)},get directEventsSummaries(){return H(v)},get loadingChildren(){return _},toggleSummaryExpand:oe,formatPeriodTime:a}),A(p),A(f),A(o),V(()=>{ea(o,`data-summary-id`,H(r).id),d=X(u,1,`turn-rail svelte-m7q6b7`,null,d,{"turn-rail-expanded":H(i)})}),U(`click`,u,()=>oe(H(r))),U(`keydown`,u,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),oe(H(r)))}),K(e,o)},c=e=>{let r=P(()=>H(n).turn),i=P(()=>!H(C).has(H(r).id)&&H(r).status!==`active`?H(r).conversations.length+H(r).activities.length:0);var a=Bg();let o;var s=R(a),c=R(s),l=e=>{var t=Eg(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>em(`/minds/${H(r).mind}/history`)),K(e,t)};J(c,e=>{t.name||e(l)});var u=B(c);A(s);var d=B(s,2);let f;var p=B(R(d),2),m=e=>{var t=Ig(),n=R(t);Y(n,17,()=>H(r).conversations,e=>e.id,(e,t)=>{var n=jg(),i=R(n);Za(R(i),{kind:`chat`}),A(i);var a=B(i,2),o=R(a),s=R(o),c=R(s);Za(c,{kind:`chat`,class:`peek-card-icon`});var l=B(c,2),u=R(l,!0);A(l);var d=B(l,2),f=R(d);A(d),A(s);var p=B(s,2);Y(p,21,()=>H(t).messages.slice(-5),e=>e.id,(e,t)=>{var n=Ag(),i=R(n);let a;var o=R(i,!0);A(i);var s=B(i,2),c=e=>{var n=Og();mi(n,()=>Al(qp(H(t).content)),!0),A(n),K(e,n)},l=e=>{var n=kg(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>qp(H(t).content)]),K(e,n)};J(s,e=>{H(t).role===`assistant`?e(c):e(l,-1)}),A(n),V(()=>{a=X(i,1,`peek-msg-sender svelte-m7q6b7`,null,a,{"peek-msg-sender-user":H(t).role===`user`}),q(o,H(t).sender_name??(H(t).role===`user`?`user`:H(r).mind))}),K(e,n)}),A(p),A(o),A(a),A(n),V(()=>{q(u,H(t).label),q(f,`${H(t).messages.length??``} msg${H(t).messages.length===1?``:`s`}`)}),U(`click`,i,e=>e.stopPropagation()),U(`click`,a,e=>{e.stopPropagation(),E(H(t),H(r))}),U(`keydown`,a,e=>{e.key===`Enter`&&(e.stopPropagation(),E(H(t),H(r)))}),K(e,n)}),Y(B(n,2),17,()=>H(r).activities,e=>e.id,(e,t)=>{let n=P(()=>typeof H(t).metadata?.color==`string`?H(t).metadata.color:`yellow`),i=P(()=>typeof H(t).metadata?.icon==`string`?H(t).metadata.icon:``),a=P(()=>typeof H(t).metadata?.iframeUrl==`string`?H(t).metadata.iframeUrl:typeof H(t).metadata?.slug==`string`?`/minds/${typeof H(t).metadata?.author==`string`?H(t).metadata.author:H(r).mind}/notes/${H(t).metadata.slug}`:``);var o=Fg(),s=R(o);let c;var l=R(s),u=e=>{var t=G();mi(z(t),()=>H(i)),K(e,t)},d=e=>{Za(e,{kind:`document-lines`})};J(l,e=>{H(i)?e(u):e(d,-1)}),A(s);var f=B(s,2),p=R(f);let m;var h=R(p);let g;var _=R(h),v=e=>{var t=Mg();let r;mi(t,()=>H(i),!0),A(t),V(()=>r=Z(t,``,r,{color:`var(--${H(n)??``})`})),K(e,t)},y=e=>{Za(e,{kind:`document-lines`,class:`peek-card-icon`})};J(_,e=>{H(i)?e(v):e(y,-1)});var b=B(_,2),x=R(b,!0);A(b),A(h);var S=B(h,2),C=e=>{var n=Ng(),r=R(n);A(n),V(()=>{ea(r,`src`,H(t).metadata.iframeUrl),ea(r,`title`,H(t).summary)}),K(e,n)},w=e=>{var n=Pg();mi(n,()=>Al(H(t).metadata.bodyHtml),!0),A(n),K(e,n)};J(S,e=>{typeof H(t).metadata?.iframeUrl==`string`&&H(t).metadata.iframeUrl?e(C):typeof H(t).metadata?.bodyHtml==`string`&&H(t).metadata.bodyHtml&&e(w,1)}),A(p),A(f),A(o),V(()=>{c=Z(s,``,c,{color:`var(--${H(n)??``})`}),m=Z(p,``,m,{"border-color":`color-mix(in srgb, var(--${H(n)??``}) 25%, var(--border))`}),g=Z(h,``,g,{"border-bottom-color":`color-mix(in srgb, var(--${H(n)??``}) 25%, var(--border))`}),q(x,H(t).summary)}),U(`click`,s,e=>{e.stopPropagation(),H(a)&&em(H(a))}),K(e,o)}),A(t),K(e,t)},h=P(()=>!H(C).has(H(r).id)&&H(r).status!==`active`&&(H(r).conversations.length>0||H(r).activities.length>0));J(p,e=>{H(h)&&e(m)}),A(d);var g=B(d,2),_=R(g),v=R(_),b=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:``,session: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}));Jh(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,compact:!0,get turnConversations(){return H(r).conversations},get turnActivities(){return H(r).activities},onexpand:e=>ee(H(r).id,e)})}},x=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:H(r).trigger?.channel??``,session:null,sender:H(r).trigger?.sender??null,message_id:null,type:`summary`,content:H(r).trigger?.content??`(no summary)`,metadata:null,turn_id:H(r).id,created_at:H(r).created_at}));Jh(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,compact:!0,get turnConversations(){return H(r).conversations},get turnActivities(){return H(r).activities},onexpand:e=>ee(H(r).id,e)})}},S=e=>{let t=P(()=>H(y).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`}));dg(e,{gap:24,reach:11,noReturn:!0,header:e=>{var t=Lg(),r=R(t),i=R(r);A(r),A(t),V(()=>q(i,`${H(n)??``} – now`)),K(e,t)},children:e=>{var n=zg(),i=z(n),a=e=>{let n=P(()=>uh(H(t)));var i=G();Y(z(i),17,()=>H(n),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(()=>sh(H(t).category)),i=P(()=>ch(H(t).category));var a=Rg();let o;var s=R(a);let c;Za(R(s),{get kind(){return H(i)}}),A(s),Sh(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=>{Jh(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,i)};J(i,e=>{H(t).length>0&&e(a)}),j(2),K(e,n)},$$slots:{header:!0,default:!0}})};J(v,e=>{H(r).summary?e(b):H(r).status===`complete`?e(x,1):e(S,-1)}),A(_),A(g),A(a),V((e,t)=>{ea(a,`data-turn-id`,H(r).id),o=Z(a,``,o,{"min-height":H(i)>0?`${36+H(i)*48}px`:void 0}),q(u,` ${e??``}`),f=X(d,1,`turn-rail svelte-m7q6b7`,null,f,t)},[()=>Il(H(r).created_at),()=>({"turn-rail-expanded":H(C).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,a)};J(i,e=>{H(n).kind===`separator`?e(o):H(n).kind===`summary`?e(s,1):e(c,-1)}),K(e,r)});var i=B(r,2),o=e=>{var n=Vg(),r=B(R(n),4),i=R(r);dg(R(i),{gap:24,reach:11,noReturn:!0,header:e=>{var t=Lg(),n=R(t),r=R(n);A(n),A(t),V(e=>q(r,`${e??``} – now`),[()=>new Date(H(x)[0].created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})]),K(e,t)},children:e=>{var n=zg();Y(z(n),17,()=>H(x),e=>e.id,(e,n)=>{{let r=P(()=>H(n).mind||t.name||``);Jh(e,{get event(){return H(n)},get mindName(){return H(r)}})}}),j(2),K(e,n)},$$slots:{header:!0,default:!0}}),A(i),A(r),A(n),K(e,n)};J(i,e=>{H(x).length>0&&e(o)});var s=B(i,2),c=e=>{let n=P(()=>Cf.has(t.name)?`active`:t.mindStatus===`sleeping`?`asleep`:t.mindStatus===`running`?`awake`:`offline`),r=P(()=>Cf.has(t.name)?void 0:t.mindStatus===`sleeping`?`var(--purple)`:t.mindStatus===`running`?`var(--text-0)`:`var(--text-2)`);var i=Hg(),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),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:Cf.has(t.name)}),()=>({color:Cf.has(t.name)?`var(--accent)`:H(r)})]),K(e,i)};J(s,e=>{t.name&&e(c)}),A(n),K(e,n)};J(ye,e=>{H(l)?e(be):H(k).length===0&&!H(c)?e(xe,1):e(Se,-1)});var Ce=B(ye,2),we=e=>{K(e,Wg())};J(Ce,e=>{H(c)&&H(o).length>0&&e(we)}),A(ge),ma(ge,e=>I(D,e),()=>H(D));var Te=B(ge,2),Ee=e=>{var t=Gg();U(`click`,t,pe),K(e,t)};J(Te,e=>{H(te)&&e(Ee)}),A(he);var De=B(he,2),Oe=e=>{{let n=P(()=>t.name??``);ag(e,{get mindName(){return H(n)},get conversation(){return H(u)},canChat:!1,onClose:()=>{I(u,null)}})}};J(De,e=>{H(u)&&e(Oe)}),Br(`scroll`,ge,fe),Br(`wheel`,ge,()=>ue()),K(e,me),N()}Vr([`click`,`keydown`]);var Jg=W(`<button class="context-label-btn svelte-1nq4ldw"> </button>`),Yg=W(`<div class="frame-content mind-frame svelte-1nq4ldw"><!></div>`),Xg=W(`<div class="frame-content padded svelte-1nq4ldw"><div class="not-found svelte-1nq4ldw">Channel not found.</div></div>`),Zg=W(`<div class="frame-content svelte-1nq4ldw"><!></div>`),Qg=W(`<div class="frame-content svelte-1nq4ldw"><iframe class="page-iframe svelte-1nq4ldw" title="Extension"></iframe></div>`),$g=W(`<div class="frame-content padded svelte-1nq4ldw"><!></div>`),e_=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 t_(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):!1})?.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=e_(),s=R(o),c=R(s),l=B(c,6),u=e=>{var n=Jg(),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=Yg();rh(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=Zg(),a=R(i),o=e=>{{let i=P(()=>H(n).channel_name??``),a=P(()=>H(n).participants??[]);Zm(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,Xg())};J(a,e=>{H(n)?e(o):e(s,-1)}),A(i),K(e,i)},m=e=>{var n=Qg(),r=R(n);A(n),V(()=>ea(r,`src`,`/ext/${t.selection.extensionId??``}/#${t.selection.path?`/`+t.selection.path:``}`)),K(e,n)},h=e=>{var t=Yg();qg(R(t),{}),A(t),K(e,t)},g=e=>{var n=$g();um(R(n),{get username(){return t.username},get conversations(){return t.conversations},get onSelectConversation(){return t.onSelectConversation}}),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()}Vr([`click`]);var n_=W(`<button class="browse-btn svelte-1o8uegr">browse</button>`),r_=W(`<div class="section-header svelte-1o8uegr"><span>CHANNELS</span> <!></div>`),i_=Yr(`<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>`),a_=W(`<span class="unread-badge svelte-1o8uegr"> </span>`),o_=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>`),s_=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>`),c_=W(`<!> <!>`,1),l_=W(`<div class="section-header svelte-1o8uegr"><span>DIRECT MESSAGES</span></div>`),u_=W(`<button></button> <button class="conv-label-mind svelte-1o8uegr"> </button>`,1),d_=W(`<span class="conv-label-text svelte-1o8uegr"> </span>`),f_=W(`<span class="seed-tag svelte-1o8uegr">seed</span>`),p_=W(`<div class="member-count svelte-1o8uegr"> </div>`),m_=W(`<div role="button" tabindex="0"><div class="conv-item-header svelte-1o8uegr"><div><!> <!> <!></div> <button>...</button> <!></div> <!></div>`),h_=W(`<div class="empty svelte-1o8uegr">No conversations yet</div>`),g_=W(`<!> <!> <!>`,1),__=W(`<button class="context-item svelte-1o8uegr">Open mind</button>`),v_=W(`<button class="context-item svelte-1o8uegr">Close chat</button>`),y_=W(`<!> <button class="context-item svelte-1o8uegr"> </button> <!>`,1),b_=W(`<div class="conv-list svelte-1o8uegr"><!> <!></div> <!>`,1);function x_(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=b_(),c=z(s),l=R(c),u=e=>{var r=c_(),i=z(r),a=e=>{var n=r_(),r=B(R(n),2),i=e=>{var n=n_();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(()=>Tf.get(H(n).id)??0);var i=s_();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,i_())};J(d,e=>{H(n).private===1&&e(f)}),A(s);var p=B(s,2),m=e=>{var t=a_(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)},h=e=>{var r=o_();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)},[()=>Ll(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=g_(),s=z(n),c=e=>{K(e,l_())};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(()=>Tf.get(H(n).id)??0);var d=m_();let f;var p=R(d),m=R(p);let h;var g=R(m),_=e=>{var n=u_(),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),ea(r,`title`,`Open ${H(c).otherName??``}`),a=Z(r,``,a,t),q(s,H(c).otherName)},[()=>({iridescent:Cf.has(H(c).mind.name)}),()=>({background:Cf.has(H(c).mind.name)?void 0:Nl(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=d_(),n=R(t);A(t),V(()=>q(n,`@${H(c).otherName??``}`)),K(e,t)},y=e=>{var r=d_(),i=R(r,!0);A(r),V(e=>q(i,e),[()=>Ll(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,i_())};J(b,e=>{H(n).private===1&&e(x)});var S=B(b,2),C=e=>{K(e,f_())};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=a_(),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 D=B(p,2),te=e=>{var t=p_(),r=R(t);A(t),V(()=>q(r,`${H(n).participants?.length??``} members`)),K(e,t)};J(D,e=>{H(l)&&e(te)}),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,h_())};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}));wa(e,{get open(){return H(n)},onclose:()=>I(i,null),get position(){return H(a)},children:(e,n)=>{var a=y_(),s=z(a),c=e=>{var n=__();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=v_();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 Su(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()}Vr([`click`,`keydown`]);var S_=W(`<button class="oauth-warning-btn svelte-1dkz474">!</button>`),C_=W(`<span class="unread-dot svelte-1dkz474"></span>`),w_=W(`<div class="mind-item-row svelte-1dkz474"><button><span></span> <span class="nav-label svelte-1dkz474"> </span> <!></button></div>`),T_=W(`<div class="item-list svelte-1dkz474"></div>`),E_=W(`<span></span> <span class="nav-label svelte-1dkz474"> </span> <!>`,1),D_=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>`),O_=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>`),k_=W(`<button class="mind-menu-item svelte-1dkz474"><!> Context</button>`),A_=W(`<button class="mind-menu-item svelte-1dkz474"><!> Start</button>`),j_=W(`<button class="mind-menu-item svelte-1dkz474"><!> Restart</button> <button class="mind-menu-item danger svelte-1dkz474"><!> Stop</button>`,1),M_=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> <!> <div class="mind-menu-divider svelte-1dkz474"></div> <!></div>`),N_=W(`<span class="reauth-provider-error svelte-1dkz474"> </span>`),P_=W(`<button class="reauth-provider-btn svelte-1dkz474"><span class="reauth-provider-name svelte-1dkz474"> </span> <!></button>`),F_=W(`<div class="reauth-body svelte-1dkz474"><p class="reauth-desc svelte-1dkz474">The following providers need re-authentication:</p> <!></div>`),I_=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),L_=W(`<p class="reauth-msg reauth-msg-error svelte-1dkz474"> </p> <button class="reauth-btn svelte-1dkz474">Close</button>`,1),R_=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),z_=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),B_=W(`<div class="reauth-body svelte-1dkz474"><!></div>`),V_=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 H_(e,t){M(t,!0);let n=P(()=>Sf.oauthErrors.length>0),r=F(!1);function i(e){if(e.stopPropagation(),Sf.oauthErrors.length===1){let e=Sf.oauthErrors[0];uf(e.id,e.oauthName??e.id)}else I(r,!0)}function a(e,t){I(r,!1),uf(e,t??e)}function o(){mf(),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(()=>t.minds.filter(e=>e.mindType===`spirit`)),d=P(()=>t.minds.filter(e=>e.mindType!==`spirit`)),f=P(()=>new Set(t.minds.map(e=>e.name))),p=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(f).has(r.username):!1}).map(e=>[e.participants.find(e=>e.username!==t.username).username,e.id]))),m=P(()=>[...H(d)].sort((e,t)=>{let n=Cf.has(e.name)?0:e.status===`running`?1:2,r=Cf.has(t.name)?0:t.status===`running`?1:2;return n===r?e.name.localeCompare(t.name):n-r})),h=F(null),g=F(L({top:0,left:0}));function _(e,t=`__system__`){if(e.stopPropagation(),H(h)===t)I(h,null);else{let n=e.currentTarget.getBoundingClientRect();I(g,{top:n.bottom+2,left:n.left},!0),I(h,t,!0)}}function v(e,n){I(h,null),e===`__system__`?t.onSelectSystemSection(n):t.onSelectMindSection(e,n)}function y(e){H(h)&&!e.target.closest(`.menu-container`)&&I(h,null)}function b(){H(h)&&I(h,null)}let x=P(()=>H(h)?t.minds.find(e=>e.name===H(h)):null);async function S(){if(!H(h))return;let e=H(h);I(h,null),await mu(e)}async function C(){if(!H(h))return;let e=H(h);I(h,null),await hu(e)}async function w(){if(!H(h))return;let e=H(h);I(h,null),await hu(e),await mu(e)}let T=P(()=>t.conversations.filter(e=>e.type===`channel`)),E=P(()=>t.selection.kind===`channel`?t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)?.id??null:null),ee=P(()=>t.selection.kind===`system-history`||t.selection.kind===`extension`);var D=V_();Br(`click`,rn,y),Br(`blur`,rn,b);var te=z(D),ne=R(te),O=R(ne),re=R(O);let ie;var ae=R(re);let oe;Za(R(ae),{kind:`spiral`,class:`section-icon`}),j(2),A(ae);var k=B(ae,2),se=R(k);let ce;A(k);var le=B(k,2),ue=e=>{var t=S_();Ei(t,(e,t)=>Ml?.(e,t),()=>({text:`AI provider credentials expired — click to re-authenticate`,position:`right`})),U(`click`,t,i),K(e,t)};J(le,e=>{H(n)&&e(ue)}),A(re);var de=B(re,2),fe=e=>{var n=T_();Y(n,21,()=>H(u),ai,(e,n)=>{let r=P(()=>H(p).get(H(n).name)),i=P(()=>H(r)?Tf.get(H(r))??0:0);var a=w_(),o=R(a);let s;var c=R(o);let l,u;var d=B(c,2),f=R(d,!0);A(d);var m=B(d,2),h=e=>{K(e,C_())};J(m,e=>{H(i)>0&&e(h)}),A(o),A(a),V((e,r)=>{s=X(o,1,`nav-item svelte-1dkz474`,null,s,{active:t.selection.kind===`mind`&&t.selection.name===H(n).name}),l=X(c,1,`status-dot svelte-1dkz474`,null,l,e),u=Z(c,``,u,r),q(f,H(n).displayName??H(n).name)},[()=>({iridescent:Cf.has(H(n).name)}),()=>({background:Cf.has(H(n).name)?void 0:Nl(H(n))})]),U(`click`,o,()=>t.onSelectMind(H(n).name)),K(e,a)}),A(n),K(e,n)};J(de,e=>{H(u).length>0&&e(fe)}),A(O);var pe=B(O,2),me=R(pe),he=R(me);Za(R(he),{kind:`mind`,class:`section-icon`}),j(2),A(he);var ge=B(he,2);A(me);var _e=B(me,2),ve=e=>{var n=T_();Y(n,21,()=>H(m),ai,(e,n)=>{let r=P(()=>H(p).get(H(n).name)),i=P(()=>H(r)?Tf.get(H(r))??0:0);var a=D_(),o=R(a);let s;var c=R(o);{let e=e=>{var t=E_(),r=z(t);let a,o;var s=B(r,2),c=R(s,!0);A(s);var l=B(s,2),u=e=>{K(e,C_())};J(l,e=>{H(i)>0&&e(u)}),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:Cf.has(H(n).name)}),()=>({background:Cf.has(H(n).name)?void 0:Nl(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}));ap(c,{get profile(){return H(t)},children:e,$$slots:{default:!0}})}A(o);var l=B(o,2),u=R(l);let d;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}),d=X(u,1,`mind-dots-btn svelte-1dkz474`,null,d,{visible:H(h)===H(n).name})}),U(`click`,o,()=>t.onSelectMind(H(n).name)),U(`click`,u,e=>_(e,H(n).name)),K(e,a)}),A(n),K(e,n)},ye=P(()=>!H(c).has(`minds`));J(_e,e=>{H(ye)&&e(ve)}),A(pe);var be=B(pe,2),xe=R(be),Se=R(xe),Ce=B(Se,2);A(xe);var we=B(xe,2),Te=e=>{x_(e,{get conversations(){return H(T)},get minds(){return t.minds},get activeId(){return H(E)},get username(){return t.username},mode:`channels`,get onSelect(){return t.onSelectConversation},get onDelete(){return t.onDeleteConversation},get onOpenMind(){return t.onOpenMind}})},Ee=P(()=>!H(c).has(`channels`));J(we,e=>{H(Ee)&&e(Te)}),A(be),A(ne),A(te);var De=B(te,2),Oe=e=>{var t=O_();let n;var r=R(t);Za(R(r),{kind:`gear`,class:`menu-icon`}),j(),A(r);var i=B(r,2);Za(R(i),{kind:`document-lines`,class:`menu-icon`}),j(),A(i),A(t),V(()=>n=Z(t,``,n,{top:`${H(g).top??``}px`,left:`${H(g).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(h,null)}),U(`click`,r,()=>v(`__system__`,`settings`)),U(`click`,i,()=>v(`__system__`,`logs`)),K(e,t)},ke=e=>{var t=M_();let n;var r=R(t);Za(R(r),{kind:`folder`,class:`menu-icon`}),j(),A(r);var i=B(r,2);Za(R(i),{kind:`gear`,class:`menu-icon`}),j(),A(i);var a=B(i,2),o=e=>{var t=k_();Za(R(t),{kind:`document-lines`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>v(H(h),`context`)),K(e,t)};J(a,e=>{H(x)?.status===`running`&&e(o)});var s=B(a,4),c=e=>{var t=A_();Za(R(t),{kind:`play`,class:`menu-icon`}),j(),A(t),U(`click`,t,S),K(e,t)},l=e=>{var t=j_(),n=z(t);Za(R(n),{kind:`restart`,class:`menu-icon`}),j(),A(n);var r=B(n,2);Za(R(r),{kind:`stop`,class:`menu-icon`}),j(),A(r),U(`click`,n,w),U(`click`,r,C),K(e,t)};J(s,e=>{H(x)?.status===`stopped`?e(c):e(l,-1)}),A(t),V(()=>n=Z(t,``,n,{top:`${H(g).top??``}px`,left:`${H(g).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(h,null)}),U(`click`,r,()=>v(H(h),`files`)),U(`click`,i,()=>v(H(h),`settings`)),K(e,t)};J(De,e=>{H(h)===`__system__`?e(Oe):H(h)&&e(ke,1)});var Ae=B(De,2),je=e=>{ro(e,{onClose:()=>{I(r,!1)},size:`360px`,title:`Re-authenticate`,children:(e,t)=>{var n=F_();Y(B(R(n),2),17,()=>Sf.oauthErrors,ai,(e,t)=>{var n=P_(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=e=>{var n=N_(),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(Ae,e=>{H(r)&&e(je)});var Me=B(Ae,2),Ne=e=>{ro(e,{onClose:()=>{lf.polling||o()},size:`400px`,get title(){return`Re-authenticate ${lf.providerName??``}`},children:(e,t)=>{var n=B_(),r=R(n),i=e=>{var t=I_();U(`click`,B(z(t),2),o),K(e,t)},a=e=>{var t=L_(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,lf.error)),U(`click`,i,o),K(e,t)},s=e=>{var t=z_(),n=B(z(t),2),r=e=>{var t=R_(),n=B(z(t),2);Xi(n),Br(`paste`,n,()=>{setTimeout(()=>{/^https?:\/\//.test(lf.codeInput.trim())&&ff()})}),la(n,()=>lf.codeInput,e=>lf.codeInput=e),K(e,t)};J(n,e=>{(lf.needsCode||lf.waitingForCode)&&e(r)}),U(`click`,B(n,4),()=>{pf()}),K(e,t)};J(r,e=>{lf.success?e(i):lf.error&&!lf.polling?e(a,1):e(s,-1)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Me,e=>{lf.active&&e(Ne)}),V(()=>{ie=X(re,1,`section-header-row svelte-1dkz474`,null,ie,{active:H(ee)}),oe=X(ae,1,`section-toggle svelte-1dkz474`,null,oe,{active:H(ee)}),ce=X(se,1,`mind-dots-btn svelte-1dkz474`,null,ce,{visible:H(h)===`__system__`})}),U(`click`,ae,function(...e){t.onHome?.apply(this,e)}),U(`click`,se,e=>_(e)),U(`click`,he,()=>l(`minds`)),U(`click`,ge,e=>{e.stopPropagation(),t.onSeed()}),U(`click`,Se,()=>l(`channels`)),U(`click`,Ce,e=>{e.stopPropagation(),t.onBrowseChannels()}),K(e,D),N()}Vr([`click`,`keydown`]);function U_(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 W_(e){let t=e.split(` `);if(t.length<5)return e;let[n,r,i,a,o]=t;if(n.startsWith(`*/`)&&r===`*`&&i===`*`&&a===`*`&&o===`*`){let e=+n.slice(2);return e===1?`every minute`:`every ${e} minutes`}if(/^\d+$/.test(n)&&r.startsWith(`*/`)&&i===`*`&&a===`*`&&o===`*`){let e=+r.slice(2);return e===1?`every hour at :${String(+n).padStart(2,`0`)}`:`every ${e} hours`}if(/^\d+$/.test(n)&&/^[\d,]+$/.test(r)&&i===`*`&&a===`*`){let e=r.split(`,`).map(Number),t=+n,i=e.length===1?G_(e[0],t):e.map(e=>G_(e,t)).join(`, `);return o===`*`?`daily at ${i}`:`${K_(o)} at ${i}`}return e}function G_(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 K_(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 q_(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 J_(e,t){return`${t} ${e} * * *`}function Y_(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 X_(e,t){return e===`hours`?`0 */${t.hours??4} * * *`:e===`daily`?`${t.minute??0} ${t.hour??12} * * *`:t.cron??``}var Z_=W(`<span class="summary-item svelte-lb23vu"><span><!></span> <span class="summary-label svelte-lb23vu"> </span> <span class="summary-detail svelte-lb23vu"> </span></span>`),Q_=W(`<span class="summary-sep svelte-lb23vu">·</span>`),$_=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),ev=W(`<span class="summary-item svelte-lb23vu"><!> <span class="summary-label svelte-lb23vu">Schedule</span></span>`),tv=W(`<span><!></span>`),nv=W(`<span class="color-dot svelte-lb23vu"></span>`),rv=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>`),iv=W(`<div class="clock-details svelte-lb23vu"></div>`),av=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 ov(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)`},i=F(null),a=F(!1);kn(()=>{Od(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`?`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.message&&t.push(`Message: ${e.message}`),e.channel&&t.push(`Channel: ${e.channel}`),e.whileSleeping&&t.push(`While sleeping: ${e.whileSleeping}`),t.join(`
|
|
77
|
-
`)}function d(e){try{return new Date(e).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return e}}let f=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)e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`sleeping now`,next:H(i).sleep.scheduledWakeAt?`wake ${U_(H(i).sleep.scheduledWakeAt)}`:``,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:`${W_(n.sleep)} \u2192 ${W_(n.wake)}`,next:r?U_(r):``,disabled:!1,tooltip:``})}for(let n of H(i).schedules){let r=``;n.cron?r=W_(n.cron):n.fireAt&&(r=d(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?U_(i):``,disabled:!n.enabled,tooltip:u(n)})}return e}),p=P(()=>{if(!H(i))return null;if(H(i).sleep?.sleeping)return{icon:`sleep`,label:`Sleeping`,color:l(`sleep`),detail:H(i).sleep.scheduledWakeAt?`wake ${U_(H(i).sleep.scheduledWakeAt)}`:`now`};if(Cf.has(t.name)&&H(i).previous?.length>0){let e=H(i).previous[0];if(Date.now()-new Date(e.at).getTime()<30*6e4)return{icon:o(e.id),label:e.id,color:l(e.id),detail:`active 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:U_(e.at)}}return null}),m=P(()=>{if(!H(i))return null;let e=H(i).upcoming[0];return e?{icon:o(e.id),label:e.id,color:l(e.id),detail:U_(e.at)}:null}),h=P(()=>H(i)&&(H(i).schedules.length>0||H(i).sleep?.sleeping||H(i).sleepConfig?.enabled));var g=G(),_=z(g),v=e=>{var t=av(),n=R(t),r=R(n),i=R(r),o=e=>{var t=Z_(),n=R(t);let r;Za(R(n),{get kind(){return H(p).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(p).color}),a=Z(i,``,a,{color:H(p).color}),q(o,H(p).label),q(c,H(p).detail)}),K(e,t)};J(i,e=>{H(p)&&e(o)});var c=B(i,2),l=e=>{var t=$_(),n=z(t),r=e=>{K(e,Q_())};J(n,e=>{H(p)&&e(r)});var i=B(n,2),a=R(i);let o;Za(R(a),{get kind(){return H(m).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(m).color}),c=Z(s,``,c,{color:H(m).color}),q(l,H(m).label),q(d,H(m).detail)}),K(e,t)};J(c,e=>{H(m)&&e(l)});var u=B(c,2),d=e=>{var t=ev();Za(R(t),{kind:`clock`,class:`summary-icon`}),j(2),A(t),K(e,t)};J(u,e=>{!H(p)&&!H(m)&&e(d)}),A(r);var h=B(r,2);let g;A(n);var _=B(n,2),v=e=>{var t=iv();Y(t,21,()=>H(f),e=>e.id,(e,t)=>{var n=rv();let r;var i=R(n),a=R(i),o=e=>{var n=tv();let r;Za(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=nv();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}),ea(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(h,0,`expand-chevron svelte-lb23vu`,null,g,{expanded:H(a)})),U(`click`,n,()=>I(a,!H(a))),K(e,t)};J(_,e=>{H(i)&&H(h)&&e(v)}),K(e,g),N()}Vr([`click`]);var sv=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>`),cv=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>`),lv=W(`<div class="floating-btns svelte-chl8f0"><!> <!></div>`),uv=W(`<img alt="" class="profile-avatar svelte-chl8f0"/>`),dv=W(`<p class="profile-description svelte-chl8f0"> </p>`),fv=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 pv(e,t){M(t,!0);let n=P(()=>Sf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>Cf.has(H(n).name));var i=fv(),a=R(i),o=e=>{var n=lv(),r=R(n),i=e=>{var n=sv();Ei(n,(e,t)=>Ml?.(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=cv();Ei(n,(e,t)=>Ml?.(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=uv();V(e=>ea(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=dv(),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);ov(v,{get name(){return H(n).name}});var y=B(v,2);qg(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:Nl(H(n))})]),K(e,i),N()}Vr([`click`]);var mv=W(`<span class="template-badge svelte-ei9umb"> </span>`),hv=W(`<!> <button class="setting-hint-btn svelte-ei9umb">back</button>`,1),gv=W(`<option> </option>`),_v=W(`<option>--</option> <!> <option>other...</option>`,1),vv=W(`<div class="slider-control svelte-ei9umb"><input type="range" class="thinking-slider svelte-ei9umb" min="0" max="5" step="1"/> <span> </span></div>`),yv=W(`<!> <span class="setting-hint svelte-ei9umb">per</span> <!> <span class="setting-hint svelte-ei9umb">min</span>`,1),bv=W(`<!> <span class="setting-hint svelte-ei9umb">tokens</span>`,1),xv=W(`<!> <!>`,1),Sv=W(`<!> <!> <!> <!> <!> <!> <!>`,1);function Cv(e,t){M(t,!0);let n=_a(t,`hideBudget`,3,!1),r=F(null),i=F(L([])),a=F(``),o=F(0),s=F(``),c=F(``),l=F(``),u=F(``),d=F(!1),f=F(``),p=F(null),m=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],h={claude:[`anthropic`],codex:[`openai-codex`],pi:[]},g=P(()=>t.template?h[t.template]??[]:[]),_=P(()=>H(i).filter(e=>e.enabled).filter(e=>H(g).length===0||H(g).includes(e.provider)));function v(e){return e?H(_).some(t=>t.id===e)?e:H(_).find(t=>t.id.startsWith(e)||e.startsWith(t.id))?.id??e:``}kn(()=>{if(H(_).length>0&&H(a)){let e=v(H(a));e!==H(a)&&I(a,e,!0)}});let y=P(()=>H(a)!==``&&!H(_).some(e=>e.id===H(a))),b=P(()=>m[H(o)]),x=P(()=>t.template===`claude`&&H(o)>0);function S(e){I(a,e.config.model??``,!0);let t=e.config.thinkingLevel??`off`;I(o,Math.max(0,m.indexOf(t)),!0),I(s,e.config.maxThinkingTokens==null?``:String(e.config.maxThinkingTokens),!0),I(c,e.config.tokenBudget==null?``:String(e.config.tokenBudget),!0),I(l,e.config.tokenBudgetPeriodMinutes==null?``:String(e.config.tokenBudgetPeriodMinutes),!0),I(u,e.config.compaction?.maxContextTokens==null?``:String(e.config.compaction.maxContextTokens),!0),I(d,e.config.unescapeNewlines??!1,!0)}function C(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}async function w(e,n){I(p,e,!0),I(f,``);try{await n();let e=await Au(t.name);I(r,e,!0),S(e)}catch(e){I(f,e instanceof Error?e.message:`Save failed`,!0)}I(p,null)}function T(e){I(a,e,!0),e&&w(`model`,()=>ju(t.name,{model:e}))}function E(){w(`thinking`,()=>ju(t.name,{thinkingLevel:m[H(o)]}))}function ee(){w(`maxThinking`,()=>ju(t.name,{maxThinkingTokens:C(H(s))}))}function D(){w(`budget`,()=>ju(t.name,{tokenBudget:C(H(c))}))}function te(){w(`period`,()=>ju(t.name,{tokenBudgetPeriodMinutes:C(H(l))}))}function ne(){w(`compaction`,()=>ju(t.name,{compaction:{maxContextTokens:C(H(u))}}))}function O(){I(d,!H(d)),w(`unescapeNewlines`,()=>ju(t.name,{unescapeNewlines:H(d)}))}function re(e){let t=e.target.value;t===`__other__`?I(a,``):T(t)}function ie(e){I(o,parseInt(e.target.value,10),!0),E()}va(async()=>{try{let[e,n]=await Promise.all([Au(t.name),ld()]);I(r,e,!0),I(i,n,!0),S(e)}catch(e){I(f,e instanceof Error?e.message:`Failed to load config`,!0)}});var ae=G(),oe=z(ae),k=e=>{var r=Sv(),i=z(r),p=e=>{po(e,{label:`Template`,children:(e,n)=>{var r=mv(),i=R(r,!0);A(r),V(()=>q(i,t.template)),K(e,r)},$$slots:{default:!0}})};J(i,e=>{t.template&&e(p)});var m=B(i,2);po(m,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),i=e=>{var t=hv(),n=z(t);eo(n,{type:`text`,onblur:()=>T(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(_)[0]?.id??``,!0),H(a)&&T(H(a))}),K(e,t)},o=e=>{uo(e,{get value(){return H(a)},onchange:re,children:(e,t)=>{var n=_v(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(_),e=>e.id,(e,t)=>{var n=gv(),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(y)?e(i):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var h=B(m,2);po(h,{label:`Thinking`,children:(e,t)=>{var n=vv(),r=R(n);Xi(r);var i=B(r,2);let a;var s=R(i,!0);A(i),A(n),V(()=>{Zi(r,H(o)),a=X(i,1,`slider-label svelte-ei9umb`,null,a,{off:H(o)===0}),q(s,H(b))}),U(`change`,r,ie),K(e,n)},$$slots:{default:!0}});var g=B(h,2),v=e=>{po(e,{label:`Max tokens`,children:(e,t)=>{eo(e,{type:`number`,width:`80px`,onblur:ee,placeholder:`default`,get value(){return H(s)},set value(e){I(s,e,!0)}})},$$slots:{default:!0}})};J(g,e=>{H(x)&&e(v)});var S=B(g,2),C=e=>{var t=xv(),n=z(t);po(n,{label:`Budget`,children:(e,t)=>{var n=yv(),r=z(n);eo(r,{type:`number`,width:`80px`,onblur:D,placeholder:`tokens`,get value(){return H(c)},set value(e){I(c,e,!0)}}),eo(B(r,4),{type:`number`,width:`80px`,onblur:te,placeholder:`min`,get value(){return H(l)},set value(e){I(l,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),po(B(n,2),{label:`Context`,children:(e,t)=>{var n=bv();eo(z(n),{type:`number`,width:`80px`,onblur:ne,placeholder:`150000`,get value(){return H(u)},set value(e){I(u,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,t)};J(S,e=>{n()||e(C)});var w=B(S,2);po(w,{label:`Fix newlines`,children:(e,t)=>{To(e,{get checked(){return H(d)},onchange:O,label:`Unescape \\\\n in messages`})},$$slots:{default:!0}}),Oa(B(w,2),{get message(){return H(f)}}),K(e,r)};J(oe,e=>{H(r)&&e(k)}),K(e,ae),N()}Vr([`click`,`change`]);var wv=W(`<div class="env-add-row svelte-1hrpqbw"><!> <!> <!> <!></div>`),Tv=W(`<span class="env-key svelte-1hrpqbw"> </span> <!> <!> <!>`,1),Ev=W(`<span class="env-source svelte-1hrpqbw">shared</span>`),Dv=W(`<span class="env-key svelte-1hrpqbw"> <!></span> <span><!></span> <!> <!> <!>`,1),Ov=W(`<div class="env-row svelte-1hrpqbw"><!></div>`),kv=W(`<div class="env-list svelte-1hrpqbw"></div>`),Av=W(`<!> <!> <!>`,1);function jv(e,t){M(t,!0);let n=F(null),r=F(``),i=F(null),a=new Vl,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 Mu(t.name),!0),I(r,``)}catch(e){I(r,e instanceof Error?e.message:`Failed to load environment`,!0)}}va(()=>{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 Nu(t.name,H(l),H(u)),I(n,await Mu(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 Fu(e):await Pu(t.name,e),I(n,await Mu(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 Nu(t.name,H(s).trim(),H(c)),I(n,await Mu(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()}ho(e,{title:`Environment Variables`,action:e=>{Sa(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Xr(`Add`))},$$slots:{default:!0}})},children:(e,t)=>{var n=Av(),f=z(n);Oa(f,{get message(){return H(r)}});var y=B(f,2),b=e=>{var t=wv(),n=R(t);eo(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);eo(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);Sa(a,{variant:`primary`,onclick:_,get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();V(()=>q(n,H(i)===`env:add`?`...`:`Add`)),K(e,n)},$$slots:{default:!0}})}Sa(B(a,2),{variant:`secondary`,onclick:()=>I(o,!1),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(t),K(e,t)};J(y,e=>{H(o)&&e(b)});var x=B(y,2),S=e=>{Ea(e,{message:`No environment variables set.`})},C=e=>{var t=kv();Y(t,21,()=>H(d),e=>e.key,(e,t)=>{var n=Ov(),r=R(n),o=e=>{var n=Tv(),r=z(n),a=R(r,!0);A(r);var o=B(r,2);eo(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);Sa(s,{variant:`primary`,onclick:h,get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(i)===`env:${H(t).key}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}Sa(B(s,2),{variant:`secondary`,onclick:()=>I(l,null),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),V(()=>q(a,H(t).key)),K(e,n)},s=e=>{var n=Dv(),r=z(n),o=R(r),s=B(o),c=e=>{K(e,Ev())};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=Xr();V(()=>q(n,H(t).value)),K(e,n)},h=P(()=>a.has(H(t).key)),_=e=>{K(e,Xr(`••••••••`))};J(d,e=>{H(h)?e(f):e(_,-1)}),A(l);var v=B(l,2);Sa(v,{variant:`icon`,onclick:()=>p(H(t).key),title:`Toggle visibility`,children:(e,n)=>{j();var r=Xr();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=>{Sa(e,{variant:`icon`,onclick:()=>m(H(t).key,H(t).value),title:`Edit`,children:(e,t)=>{j(),K(e,Xr(`Edit`))},$$slots:{default:!0}})};J(y,e=>{H(t).source===`mind`&&e(b)});var x=B(y,2);{let e=P(()=>H(i)!==null);Sa(x,{variant:`icon`,onclick:()=>g(H(t).key,H(t).source),get disabled(){return H(e)},title:`Delete`,children:(e,n)=>{j();var r=Xr();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 Mv(e,t){jv(e,{get name(){return t.name}})}function Nv(){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 Pv=W(`<img alt="" class="avatar-img svelte-1ezxk1u"/>`),Fv=W(`<div class="avatar-placeholder svelte-1ezxk1u">?</div>`),Iv=W(`<span class="saved-indicator svelte-1ezxk1u">Saved</span>`),Lv=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 Rv(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),{savedField:a,showSaved:o}=Nv();kn(()=>{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 Id(t.mind.name,r),Sf.minds=await uu(),t.onUpdated(),n.value=``)}async function c(){let e=H(n).trim();e!==(t.mind.displayName??``)&&(await Fd(t.mind.name,{displayName:e}),o(`displayName`),t.onUpdated())}async function l(){let e=H(r).trim();e!==(t.mind.description??``)&&(await Fd(t.mind.name,{description:e}),o(`description`),t.onUpdated())}ho(e,{title:`Profile`,subtitle:`Avatar, display name, and description`,children:(e,o)=>{var u=Lv(),d=R(u),f=B(R(d),2),p=R(f),m=e=>{var n=Pv();V(e=>ea(n,`src`,e),[()=>`/api/minds/${encodeURIComponent(t.mind.name)}/avatar`]),K(e,n)},h=e=>{K(e,Fv())};J(p,e=>{t.mind.avatar?e(m):e(h,-1)});var g=B(p,4);ma(g,e=>I(i,e),()=>H(i)),A(f),A(d);var _=B(d,2),v=B(R(_),2),y=R(v);Xi(y);var b=B(y,2),x=e=>{K(e,Iv())};J(b,e=>{a===`displayName`&&e(x)}),A(v),A(_);var S=B(_,2),C=B(R(S),2),w=R(C);yn(w);var T=B(w,2),E=e=>{K(e,Iv())};J(T,e=>{a===`description`&&e(E)}),A(C),A(S),A(u),V(()=>ea(y,`placeholder`,t.mind.name)),U(`click`,f,()=>H(i)?.click()),U(`change`,g,s),Br(`blur`,y,c),la(y,()=>H(n),e=>I(n,e)),Br(`blur`,w,l),la(w,()=>H(r),e=>I(r,e)),K(e,u)},$$slots:{default:!0}}),N()}Vr([`click`,`change`]);var zv=W(`<div class="cron-preview svelte-1u04gr6"> </div>`),Bv=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),Vv=W(`<div class="sleep-summary svelte-1u04gr6"><span class="sleep-desc svelte-1u04gr6"> </span> <!></div> <!> <!>`,1),Hv=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),Uv=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),Wv=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>`),Gv=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <span class="form-hint svelte-1u04gr6">At</span> <!></div>`),Kv=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <!></div>`),qv=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),Jv=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> <!></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>`),Yv=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> <!></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>`),Xv=W(`<div class="schedule-message svelte-1u04gr6"> </div>`),Zv=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>`),Qv=W(`<div class="schedule-list svelte-1u04gr6"></div>`),$v=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 ey(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(!1),m=F(!1),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`),D=F(4),te=F(12),ne=F(0),O=F(``),re=F(``),ie=F(`skip`),ae=F(!0),oe=F(null);function k(e){I(n,e,!0),I(d,e.schedule?.sleep??``,!0),I(f,e.schedule?.wake??``,!0);let t=q_(H(d)),r=q_(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??!1,!0),I(m,e.wakeTriggers?.dms??!1,!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([kd(t.name),jd(t.name)]);k(e),I(r,n,!0),I(i,``)}catch{I(i,`Failed to load configuration`)}I(a,!1)}va(()=>{se()});async function ce(){if(!H(n))return;let e=!H(n).enabled;I(oe,`sleep-toggle`);try{await Ad(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(oe,null)}async function le(){let e=H(u)?H(d):J_(H(o),H(s)),r=H(u)?H(f):J_(H(c),H(l));I(oe,`sleep-cron`);try{await Ad(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(oe,null)}async function ue(){I(oe,`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 Ad(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(oe,null)}async function de(e){I(oe,`sched:${e.id}`);try{await Nd(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(oe,null)}function fe(e){I(E,e.id,!0);let t=e.cron?Y_(e.cron):{type:`daily`};I(ee,t.type,!0),I(D,t.hours??4,!0),I(te,t.hour??12,!0),I(ne,t.minute??0,!0),I(O,e.cron??``,!0),I(re,e.message??e.script??``,!0),I(ie,e.whileSleeping??`skip`,!0),I(ae,e.enabled,!0)}async function pe(){if(!H(E))return;let e=X_(H(ee),{hours:H(D),hour:H(te),minute:H(ne),cron:H(O)});I(oe,`sched:${H(E)}`);try{await Nd(t.name,H(E),{cron:e||void 0,message:H(re)||void 0,whileSleeping:H(ie),enabled:H(ae)}),I(r,H(r).map(t=>t.id===H(E)?{...t,cron:e,message:H(re)||void 0,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(oe,null)}async function me(){if(!H(v).trim())return;let e=X_(H(y),{hours:H(b),hour:H(x),minute:H(S),cron:H(C)});I(oe,`sched:add`);try{await Md(t.name,{id:H(v).trim(),cron:e||void 0,message:H(w)||void 0,whileSleeping:H(T),enabled:!0}),I(r,await jd(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(oe,null)}async function he(e){I(oe,`sched:${e}`);try{await Pd(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(oe,null)}var ge=$v(),_e=z(ge);Oa(_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`);To(be,{get checked(){return H(e)},onchange:ce,get label(){return H(t)}})}A(ye);var xe=B(ye,2),Se=e=>{var t=Hv(),n=z(t),r=e=>{var t=Bv(),n=z(t);Sa(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!1),le()},children:(e,t)=>{j(),K(e,Xr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);eo(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=zv(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>W_(H(d))]),K(e,t)};J(i,e=>{H(d)&&e(a)});var o=B(i,2);eo(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=zv(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>W_(H(f))]),K(e,t)};J(s,e=>{H(f)&&e(c)}),K(e,t)},i=e=>{var t=Vv(),n=z(t),r=R(n),i=R(r);A(r),Sa(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!0),I(d,J_(H(o),H(s)),!0),I(f,J_(H(c),H(l)),!0)},children:(e,t)=>{j(),K(e,Xr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);So(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)}}),So(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??``}`),[()=>G_(H(o),H(s)),()=>G_(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);To(R(_),{get checked(){return H(p)},onchange:()=>{I(p,!H(p)),ue()},label:`When mentioned`}),A(_);var v=B(_,2);To(R(v),{get checked(){return H(m)},onchange:()=>{I(m,!H(m)),ue()},label:`Direct messages`}),A(v);var y=B(v,2);eo(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);eo(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);Sa(B(R(we),2),{variant:`primary`,onclick:()=>I(_,!0),children:(e,t)=>{j(),K(e,Xr(`Add`))},$$slots:{default:!0}}),A(we);var Te=B(we,2),Ee=e=>{var t=Jv(),n=R(t);eo(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);uo(B(R(r),2),{get value(){return H(y)},set value(e){I(y,e,!0)},children:(e,t)=>{var n=Uv(),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=Wv();eo(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=Gv();So(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=Kv();eo(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);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(w)},set value(e){I(w,e,!0)}}),A(c);var l=B(c,2);uo(B(R(l),2),{get value(){return H(T)},set value(e){I(T,e,!0)},children:(e,t)=>{var n=qv(),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);{let e=P(()=>H(oe)!==null||!H(v).trim());Sa(d,{variant:`primary`,onclick:me,get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();V(()=>q(n,H(oe)===`sched:add`?`...`:`Add schedule`)),K(e,n)},$$slots:{default:!0}})}Sa(B(d,2),{variant:`secondary`,onclick:()=>I(_,!1),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(u),A(t),K(e,t)};J(Te,e=>{H(_)&&e(Ee)});var De=B(Te,2),Oe=e=>{Ea(e,{message:`No schedules configured.`})},ke=e=>{var t=Qv();Y(t,21,()=>H(r),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Yv(),r=R(n);uo(B(R(r),2),{get value(){return H(ee)},set value(e){I(ee,e,!0)},children:(e,t)=>{var n=Uv(),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=Wv();eo(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(D)},set value(e){I(D,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=Gv();So(B(R(t),4),{get hour(){return H(te)},set hour(e){I(te,e,!0)},get minute(){return H(ne)},set minute(e){I(ne,e,!0)}}),A(t),K(e,t)},s=e=>{var t=Kv();eo(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);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(re)},set value(e){I(re,e,!0)}}),A(c);var l=B(c,2);uo(B(R(l),2),{get value(){return H(ie)},set value(e){I(ie,e,!0)},children:(e,t)=>{var n=qv(),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);{let e=P(()=>H(oe)!==null);Sa(d,{variant:`primary`,onclick:pe,get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(oe)===`sched:${H(t).id}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}Sa(B(d,2),{variant:`secondary`,onclick:()=>I(E,null),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(u),A(n),K(e,n)},a=e=>{var n=Zv();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=Xr();V(e=>q(n,e),[()=>W_(H(t).cron)]),K(e,n)},u=e=>{K(e,Xr(`one-time`))},d=e=>{K(e,Xr(`--`))};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);To(p,{get checked(){return H(t).enabled},onchange:()=>de(H(t))});var m=B(p,2);Sa(m,{variant:`icon`,onclick:()=>fe(H(t)),children:(e,t)=>{j(),K(e,Xr(`Edit`))},$$slots:{default:!0}});var h=B(m,2);{let e=P(()=>H(oe)!==null);Sa(h,{variant:`danger`,size:`sm`,class:`icon-size`,onclick:()=>he(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(oe)===`sched:${H(t).id}`?`...`:`Del`)),K(e,r)},$$slots:{default:!0}})}A(f),A(i);var g=B(i,2),_=e=>{var n=Xv(),r=R(n,!0);A(n),V(()=>q(r,H(t).message)),K(e,n)};J(g,e=>{H(t).message&&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 ty=W(`<div class="skill-desc svelte-19xtkvn"> </div>`),ny=W(`<span class="installed-tag svelte-19xtkvn">installed</span>`),ry=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>`),iy=W(`<div class="skill-list svelte-19xtkvn"></div>`),ay=W(`<div class="modal-body svelte-19xtkvn"><!> <!></div>`);function oy(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null);va(()=>{Vu().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 Uu(t.name,e),t.onInstalled();try{I(n,await Vu(),!0)}catch{}}catch(e){I(r,e instanceof Error?e.message:`Failed to install`,!0)}I(a,null)}ro(e,{size:`480px`,title:`Add Skill`,get onClose(){return t.onClose},children:(e,s)=>{var c=ay(),l=R(c);Oa(l,{get message(){return H(r)}});var u=B(l,2),d=e=>{Ea(e,{message:`Loading...`})},f=e=>{Ea(e,{message:`No shared skills available.`})},p=e=>{var r=iy();Y(r,21,()=>H(n),e=>e.id,(e,n)=>{var r=ry(),i=R(r),s=R(i),c=R(s,!0);A(s);var l=B(s,2),u=e=>{var t=ty(),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,ny())},g=P(()=>t.installedIds.has(H(n).id)),_=e=>{{let t=P(()=>H(a)!==null);Sa(e,{variant:`primary`,onclick:()=>o(H(n).id),get disabled(){return H(t)},children:(e,t)=>{j();var r=Xr();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 sy=W(`<span class="update-badge svelte-x10lne">update available</span>`),cy=W(`<div class="skill-desc svelte-x10lne"> </div>`),ly=W(`<span class="upstream-tag svelte-x10lne"> </span>`),uy=W(`<span class="local-tag svelte-x10lne">local</span>`),dy=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>`),fy=W(`<div class="skill-list svelte-x10lne"></div>`),py=W(`<!> <!> <!>`,1),my=W(`<!> <!>`,1);function hy(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1);function s(){Hu(t.name).then(e=>{I(n,e,!0),I(i,!1),I(r,``)}).catch(()=>{I(r,`Failed to load skills`),I(i,!1)})}va(()=>{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 Wu(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 Gu(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 Ku(t.name,e),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to uninstall`,!0)}I(a,null)}var f=my(),p=z(f),m=e=>{Ea(e,{message:`Loading...`})},h=e=>{var t=py(),i=z(t);Oa(i,{get message(){return H(r)}});var s=B(i,2);oo(s,{title:`Skills`,action:e=>{Sa(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Xr(`Add skill`))},$$slots:{default:!0}})},$$slots:{action:!0}});var c=B(s,2),f=e=>{Ea(e,{message:`No skills installed.`})},p=e=>{var t=fy();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=dy(),r=R(n),i=R(r),o=R(i),s=B(o),c=e=>{K(e,sy())};J(s,e=>{H(t).updateAvailable&&e(c)}),A(i);var f=B(i,2),p=e=>{var n=cy(),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=ly(),r=R(n);A(n),V(()=>q(r,`v${H(t).upstream.version??``}`)),K(e,n)},v=e=>{K(e,uy())};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);Sa(e,{variant:`primary`,onclick:()=>l(H(t).id),get disabled(){return H(n)},children:(e,n)=>{j();var r=Xr();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);Sa(S,{variant:`secondary`,onclick:()=>u(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();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);Sa(C,{variant:`danger`,onclick:()=>d(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();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=>{oy(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 gy=W(`<button> </button>`),_y=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 vy(e,t){M(t,!0);let n=P(()=>Sf.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:`Rhythms`},{id:`skills`,label:`Skills`},{id:`environment`,label:`Environment`}],a=F(`profile`),o,s={},c=!1;va(()=>{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(){Sf.minds=await uu()}var f=_y(),p=R(f);Y(p,21,()=>i,ai,(e,t)=>{var n=gy();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);Rv(R(h),{get mind(){return H(n)},onUpdated:d}),A(h),ma(h,e=>s.profile=e,()=>s?.profile);var g=B(h,2),_=R(g);oo(_,{title:`Model`,subtitle:`Cognition and resource limits`}),Cv(B(_,2),{get name(){return H(r)},get template(){return H(n).template}}),A(g),ma(g,e=>s.cognition=e,()=>s?.cognition);var v=B(g,2),y=R(v);oo(y,{title:`Rhythms`,subtitle:`Sleep, schedules, and wake triggers`}),ey(B(y,2),{get name(){return H(r)}}),A(v),ma(v,e=>s.rhythms=e,()=>s?.rhythms);var b=B(v,2);hy(R(b),{get name(){return H(r)}}),A(b),ma(b,e=>s.skills=e,()=>s?.skills);var x=B(b,2);Mv(R(x),{get name(){return H(r)}}),A(x),ma(x,e=>s.environment=e,()=>s?.environment),A(m),ma(m,e=>o=e,()=>o),A(f),K(e,f),N()}Vr([`click`]);var yy=W(`<div class="error svelte-18xrmlc"> </div>`),by=W(`<div class="empty svelte-18xrmlc">Loading...</div>`),xy=W(`<div class="empty svelte-18xrmlc">No channels yet. Create one below.</div>`),Sy=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>`),Cy=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 wy(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(``),a=F(!0),o=F(null);function s(){I(a,!0),Iu().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)})}va(()=>{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 Lu(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 Ru(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 zu(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()}ro(e,{size:`380px`,title:`Browse channels`,get onClose(){return t.onClose},children:(e,t)=>{var s=Cy(),f=z(s),p=e=>{var t=yy(),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,by())},_=e=>{K(e,xy())},v=e=>{var t=G();Y(z(t),17,()=>H(n),e=>e.id,(e,t)=>{var n=Sy(),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);eo(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()}Vr([`click`]);var Ty=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>`),Ey=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>`),Dy=W(`<div class="skill-item svelte-1v57vxv"><span class="skill-name svelte-1v57vxv"> </span> <span class="skill-desc svelte-1v57vxv"> </span></div>`),Oy=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv"> </summary> <div class="section-body svelte-1v57vxv"></div></details>`),ky=W(`<div class="empty svelte-1v57vxv">No messages yet</div>`),Ay=W(`<pre class="block-system-text svelte-1v57vxv"> </pre>`),jy=W(`<div class="block-text markdown-body svelte-1v57vxv"></div>`),My=W(`<details class="block-thinking svelte-1v57vxv"><summary class="thinking-header svelte-1v57vxv">Thinking</summary> <div class="thinking-body svelte-1v57vxv"> </div></details>`),Ny=W(`<details class="block-tool svelte-1v57vxv"><summary class="tool-header svelte-1v57vxv"> </summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),Py=W(`<details class="block-tool svelte-1v57vxv"><summary>Result<!></summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),Fy=W(`<div><div> </div> <div class="blocks svelte-1v57vxv"></div></div>`),Iy=W(`<div class="messages svelte-1v57vxv"></div>`),Ly=W(`<div class="session svelte-1v57vxv"><div class="session-label svelte-1v57vxv"> </div> <!></div>`),Ry=W(`<div class="context-view svelte-1v57vxv"><div class="preamble svelte-1v57vxv"><!> <!> <!></div> <!></div>`);function zy(e,t){M(t,!0);var n=Ry(),r=R(n),i=R(r),a=e=>{var n=Ty(),r=B(R(n),2);mi(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=Ey(),r=B(R(n),2);mi(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=Oy(),r=R(n),i=R(r);A(r);var a=B(r,2);Y(a,21,()=>t.messages.preamble.skillDescriptions,ai,(e,t)=>{var n=Dy(),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=Ly(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{K(e,ky())},s=e=>{var n=Iy();Y(n,21,()=>H(t).messages,ai,(e,t)=>{var n=Fy();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,ai,(e,n)=>{var r=G(),i=z(r),a=e=>{var r=G(),i=z(r),a=e=>{var t=Ay(),r=R(t,!0);A(t),V(()=>q(r,H(n).text)),K(e,t)},o=e=>{var t=jy();mi(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=My(),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=Ny(),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=Py(),r=R(t);let i;var a=B(R(r)),o=e=>{K(e,Xr(`(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 By=W(`<div class="loading svelte-1ndm006">Loading context info...</div>`),Vy=W(`<div class="error svelte-1ndm006"> </div>`),Hy=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>`),Uy=W(`<div class="empty svelte-1ndm006">No active sessions</div>`),Wy=W(`<span> </span><!>`,1),Gy=W(`<span class="no-data svelte-1ndm006">no data yet</span>`),Ky=W(`<div class="cell svelte-1ndm006"></div>`),qy=W(`<div class="waffle svelte-1ndm006"></div>`),Jy=W(`<div class="token-bar svelte-1ndm006"><div class="token-bar-fill svelte-1ndm006"></div></div>`),Yy=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>`),Xy=W(`<div class="sessions svelte-1ndm006"></div>`),Zy=W(`<div class="context-content svelte-1ndm006"><!> <!></div>`),Qy=W(`<div class="loading svelte-1ndm006">Loading context content...</div>`);function $y(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(``);va(async()=>{try{I(r,await fu(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 pu(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=>{vo(e,{tabs:[`Overview`,`Content`],get active(){return H(n)},onchange:u})},f=P(()=>H(n)===`Content`?`full`:`600px`);ro(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,By())},o=e=>{var t=Vy(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},c=e=>{var t=Zy(),n=R(t),i=e=>{var t=Hy(),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,Uy())},s=e=>{var t=Xy();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=Yy(),o=R(a),s=R(o),c=R(s,!0);A(s);var l=B(s,2),u=R(l),f=e=>{var n=Wy(),r=z(n);let a;var o=R(r,!0);A(r);var s=B(r),c=e=>{var n=Xr();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,Gy())};J(u,e=>{H(t).contextTokens>0?e(f):e(m,-1)}),A(l),A(o);var g=B(o,2),_=e=>{var t=qy();Z(t,``,{},{"grid-template-columns":`repeat(15, 1fr)`}),Y(t,21,()=>H(r),ai,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Ky();let r;Ei(n,(e,t)=>Ml?.(e,t),()=>H(t).tooltip),V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)},a=e=>{var n=Ky();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=Jy(),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,Qy())},a=e=>{var t=Vy(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)},s=e=>{zy(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 eb=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>`),tb=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>`),nb=W(`<div class="model-dropdown svelte-c55mz0"></div>`),rb=W(`<div class="model-picker svelte-c55mz0"><!> <!></div>`),ib=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Model (optional)</span> <!></div>`),ab=W(`<label class="skill-item svelte-c55mz0"><input type="checkbox"/> <span class="skill-name svelte-c55mz0"> </span></label>`),ob=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Skills</span> <div class="skill-list svelte-c55mz0"></div></div>`),sb=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),cb=W(`<div class="error svelte-c55mz0"> </div>`),lb=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 ub(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());va(()=>{$u().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)}),Vu().then(e=>{I(d,e,!0)}).catch(e=>{console.error(`Failed to load shared skills:`,e)}),ld().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 _u(e,{description:H(i).trim()||void 0,model:H(a)||void 0,seedSoul:n,skills:r}),await mu(e),t.onCreated(e)}catch(e){I(s,e instanceof Error?e.message:`Failed to create`,!0),I(o,!1)}}}ro(e,{size:`340px`,get onClose(){return t.onClose},children:(e,n)=>{var u=lb(),p=B(R(u),2);eo(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);eo(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=ib(),n=B(R(t),2),r=e=>{var t=eb(),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=rb(),n=R(t);eo(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=nb();Y(t,21,()=>H(v),e=>e.id,(e,t)=>{var n=tb(),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 D=B(T,2),te=e=>{var t=sb(),n=z(t),r=B(R(n),2);yn(r);var i=B(r,2);i.textContent="Variables: ${name}, ${description}",A(n);var a=B(n,2),o=e=>{var t=ob(),n=B(R(t),2);Y(n,21,()=>H(d),ai,(e,t)=>{var n=ab(),r=R(n);Xi(r);var i=B(r,2),a=R(i,!0);A(i),A(n),V(e=>{Qi(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)}),la(r,()=>H(l),e=>I(l,e)),K(e,t)};J(D,e=>{H(c)&&e(te)});var ne=B(D,2),O=e=>{var t=cb(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(ne,e=>{H(s)&&e(O)});var re=B(ne,2),ie=R(re),ae=B(ie,2);let oe;var k=R(ae,!0);A(ae),A(re),A(u),V(()=>{q(ee,H(c)?`▼`:`▶`),ae.disabled=!H(y),oe=Z(ae,``,oe,{opacity:H(y)?1:.5}),q(k,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()}Vr([`click`,`change`]);var db=W(`<div class="message error svelte-9vtzjd"> </div>`),fb=W(`<div class="message success svelte-9vtzjd"> </div>`),pb=W(`<img alt="Avatar preview" class="avatar-img svelte-9vtzjd"/>`),mb=W(`<img alt="Avatar" class="avatar-img svelte-9vtzjd"/>`),hb=W(`<div class="avatar-placeholder svelte-9vtzjd">?</div>`),gb=W(`<button type="button" class="save-btn svelte-9vtzjd"> </button>`),_b=W(`<button type="button" class="remove-btn svelte-9vtzjd">Remove</button>`),vb=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 yb(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);va(()=>{_()});async function _(){try{let e=await Gl();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 tu({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{I(i,`/api/auth/avatars/${await nu(H(c))}`),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 ru(),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 Xl(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)}}ro(e,{size:`420px`,title:`User Settings`,get onClose(){return t.onClose},children:(e,t)=>{var _=vb(),C=R(_),w=B(R(C),2),T=e=>{var t=db(),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=fb(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(E,e=>{H(o)&&e(ee)});var D=B(E,2),te=R(D),ne=R(te),O=e=>{var t=pb();V(()=>ea(t,`src`,H(l))),K(e,t)},re=e=>{var t=mb();V(()=>ea(t,`src`,H(i))),K(e,t)},ie=e=>{K(e,hb())};J(ne,e=>{H(l)?e(O):H(i)?e(re,1):e(ie,-1)}),A(te);var ae=B(te,2),oe=R(ae),k=B(R(oe));A(oe);var se=B(oe,2),ce=e=>{var t=gb(),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=_b();U(`click`,t,x),K(e,t)};J(le,e=>{H(i)&&!H(c)&&e(ue)}),A(ae),A(D);var de=B(D,2),fe=B(R(de),2);Xi(fe),ea(fe,`maxlength`,100),A(de);var pe=B(de,2),me=B(R(pe),2);yn(me),ea(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=db(),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=fb(),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);Xi(Ce),A(Se);var we=B(Se,2),Te=B(R(we),2);Xi(Te),A(we);var Ee=B(we,2),De=B(R(Ee),2);Xi(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`)}),Br(`submit`,C,v),U(`change`,k,y),la(fe,()=>H(n),e=>I(n,e)),la(me,()=>H(r),e=>I(r,e)),Br(`submit`,_e,S),la(Ce,()=>H(d),e=>I(d,e)),la(Te,()=>H(f),e=>I(f,e)),la(De,()=>H(p),e=>I(p,e)),K(e,_)},$$slots:{default:!0}}),N()}Vr([`change`,`click`]);var bb=W(`<div class="empty svelte-h08x3h">Loading...</div>`),xb=W(`<div class="empty error-text svelte-h08x3h"> </div>`),Sb=W(`<button class="crumb svelte-h08x3h"> </button>`),Cb=W(`<button class="file-row svelte-h08x3h"><span class="file-icon svelte-h08x3h">..</span> <span class="file-name svelte-h08x3h">..</span></button>`),wb=W(`<button><span class="file-icon svelte-h08x3h"> </span> <span class="file-name svelte-h08x3h"> </span></button>`),Tb=W(`<div class="empty-dir svelte-h08x3h">Empty directory</div>`),Eb=W(`<div class="preview-empty svelte-h08x3h">Loading...</div>`),Db=W(`<div class="preview-empty error-text svelte-h08x3h"> </div>`),Ob=W(`<div class="preview-image svelte-h08x3h"><img class="svelte-h08x3h"/></div>`),kb=W(`<div class="preview-markdown markdown-body svelte-h08x3h"></div>`),Ab=W(`<pre class="preview-text svelte-h08x3h"><code class="svelte-h08x3h"> </code></pre>`),jb=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>`),Mb=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),Nb=W(`<div class="preview-empty svelte-h08x3h">Select a file to preview</div>`),Pb=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>`),Fb=W(`<div class="public-files svelte-h08x3h"><!></div>`);function Ib(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)}}kn(()=>{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));kn(()=>{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=Fb(),w=R(C),T=e=>{K(e,bb())},E=e=>{var t=xb(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)},ee=e=>{var r=Pb(),i=R(r),d=R(i),f=R(d);Y(B(f,2),17,()=>H(u),ai,(e,t,n)=>{var r=Sb(),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=Cb();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=wb();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,Tb())};J(w,e=>{H(n).length===0&&e(T)}),A(i);var E=B(i,2),ee=R(E),D=e=>{var n=Mb(),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,Eb())},h=e=>{var t=Db(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},g=e=>{var t=Ob(),n=R(t);A(t),V(()=>{ea(n,`src`,H(s)),ea(n,`alt`,H(o))}),K(e,t)},_=e=>{var t=kb();mi(t,()=>Al(H(s)),!0),A(t),K(e,t)},v=e=>{var t=Ab(),n=R(t),r=R(n,!0);A(n),A(t),V(()=>q(r,H(s))),K(e,t)},S=e=>{var n=jb(),r=R(n),i=R(r,!0);A(r);var a=B(r,2);A(n),V(e=>{q(i,H(l)||`unknown type`),ea(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)??``}`),ea(d,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)},te=e=>{K(e,Nb())};J(ee,e=>{H(o)?e(D):e(te,-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()}Vr([`click`]);function Lb(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(`
|
|
78
|
-
`);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 Rb(e,t){return Lb(`/api/system/logs`,e,t)}var zb=W(`<button>debug</button>`),Bb=W(`<button> </button>`),Vb=W(`<div class="filter-sep svelte-1208idv"></div> <div class="filter-group svelte-1208idv"></div>`,1),Hb=W(`<button class="pill pill-clear svelte-1208idv">clear</button>`),Ub=W(`<div class="pause-bar svelte-1208idv"><span>Scroll paused</span> <button class="resume-btn svelte-1208idv">Resume</button></div>`),Wb=W(`<span class="error svelte-1208idv"> </span>`),Gb=W(`<span class="waiting svelte-1208idv">Waiting for logs...</span>`),Kb=W(`<span class="cat svelte-1208idv"> </span>`),qb=W(`<span class="data svelte-1208idv"> </span>`),Jb=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>`),Yb=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 Xb(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 Vl,c=new Vl,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{}}kn(()=>{I(a,``);let{start:e,stop:t}=Rb(h,e=>{I(a,e,!0)});return e(),t}),kn(()=>{let e=H(f).length;H(i)&&o&&e>0&&(o.scrollTop=o.scrollHeight)});function g(){o&&I(i,o.scrollHeight-o.scrollTop-o.clientHeight<30)}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=Yb(),x=R(b),S=B(R(x),2),C=R(S),w=e=>{var t=Xr();V(()=>q(t,`${H(f).length??``} / ${H(r).length??``} entries`)),K(e,t)},T=e=>{var t=Xr();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),D=R(ee);let te;var ne=B(D,2);let O;var re=B(ne,2);let ie;var ae=B(re,2),oe=e=>{var t=zb();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(oe)}),A(ee);var k=B(ee,2),se=e=>{var t=Vb(),n=B(z(t),2);Y(n,20,()=>H(u),e=>e,(e,t)=>{var n=Bb();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(k,e=>{H(u).length>0&&e(se)});var ce=B(k,2),le=e=>{var t=Hb();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=Ub(),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=Wb(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},he=e=>{K(e,Gb())};J(pe,e=>{H(a)?e(me):H(r).length===0&&e(he,1)}),Y(B(pe,2),17,()=>H(f),ai,(e,t)=>{var r=Jb(),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=Kb(),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=qb(),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),ma(fe,e=>o=e,()=>o),A(b),V((e,t,n)=>{te=X(D,1,`pill pill-info svelte-1208idv`,null,te,e),O=X(ne,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`,D,()=>p(s,`info`)),U(`click`,ne,()=>p(s,`warn`)),U(`click`,re,()=>p(s,`error`)),Br(`scroll`,fe,g),K(e,b),N()}Vr([`click`]);var Zb=W(`<span class="error svelte-1uhe9s"> </span>`),Qb=W(`<span class="updating svelte-1uhe9s">Updating...</span>`),$b=W(`<span> </span> <button class="update-btn svelte-1uhe9s">update</button> <button class="dismiss-btn svelte-1uhe9s">×</button>`,1),ex=W(`<div class="banner svelte-1uhe9s"><!></div>`);function tx(e,t){M(t,!0);let n=F(null),r=F(!1),i=F(!1),a=F(null);kn(()=>{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=ex(),s=R(t),c=e=>{var t=Zb(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},l=e=>{K(e,Qb())},u=e=>{var t=$b(),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()}Vr([`click`]);var nx=W(`<button class="clear-btn svelte-q0li9w" type="button">×</button>`),rx=W(`<button type="button"><span class="option-empty svelte-q0li9w"> </span></button>`),ix=W(`<button type="button"> </button>`),ax=W(`<span class="dropdown-empty svelte-q0li9w">No matches</span>`),ox=W(`<div class="dropdown svelte-q0li9w"><!> <!> <!></div>`),sx=W(`<div class="model-select svelte-q0li9w"><input type="text" class="text-input svelte-q0li9w"/> <!> <!></div>`);function cx(e,t){M(t,!0);let n=_a(t,`value`,15,``),r=_a(t,`placeholder`,3,`Search models...`),i=_a(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=sx(),_=R(g);Xi(_),ma(_,e=>I(s,e),()=>H(s));var v=B(_,2),y=e=>{var t=nx();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=ox(),r=R(t),a=e=>{var t=rx();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=ix();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,ax())};J(s,e=>{H(u).length===0&&e(c)}),A(t),K(e,t)};J(b,e=>{H(o)&&e(x)}),A(g),V(()=>{Zi(_,H(l)),ea(_,`placeholder`,r())}),U(`input`,_,d),Br(`focus`,_,f),Br(`blur`,_,p),K(e,g),N()}Vr([`input`,`mousedown`]);var lx=W(`<div class="error svelte-1x5emjp"> </div> <button class="retry-btn svelte-1x5emjp">Retry</button>`,1),ux=W(`<div class="loading-text svelte-1x5emjp">Loading providers...</div>`),dx=W(`<span class="model-tag svelte-1x5emjp"> <button class="model-tag-remove svelte-1x5emjp">×</button></span>`),fx=W(`<div class="model-tags svelte-1x5emjp"></div>`),px=W(`<span class="dim svelte-1x5emjp">No models enabled</span>`),mx=W(`<button class="add-model-btn svelte-1x5emjp">Add model</button>`),hx=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"><!> <!></div></div>`),gx=W(`<button class="add-provider-btn svelte-1x5emjp" type="button">+ Add a provider</button>`),_x=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>`),vx=W(`<div class="error svelte-1x5emjp"> </div>`),yx=W(`<!> <!> <!> <!>`,1),bx=W(`<button class="btn-provider svelte-1x5emjp" type="button"> </button>`),xx=W(`<span class="oauth-heading svelte-1x5emjp">Sign in with</span> <div class="oauth-buttons modal-oauth-buttons svelte-1x5emjp"></div>`,1),Sx=W(`<!> <button class="link-btn svelte-1x5emjp" type="button"> </button>`,1),Cx=W(`<button class="autocomplete-option svelte-1x5emjp" type="button"> </button>`),wx=W(`<div class="autocomplete-list svelte-1x5emjp"></div>`),Tx=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>`),Ex=W(`<button class="link-btn svelte-1x5emjp" type="button">back to sign-in options</button>`),Dx=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),Ox=W(`<div class="modal-body svelte-1x5emjp"><!> <!></div>`),kx=W(`<span class="dim svelte-1x5emjp">Verifying...</span>`),Ax=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),jx=W(`<p class="oauth-device-code svelte-1x5emjp"> </p>`),Mx=W(`<span class="dim svelte-1x5emjp">Waiting for authorization...</span>`),Nx=W(`<p class="modal-text svelte-1x5emjp">Authorize at:</p> <a target="_blank" rel="noopener" class="oauth-link svelte-1x5emjp"> </a> <!> <!>`,1),Px=W(`<span class="dim svelte-1x5emjp">Starting OAuth...</span>`),Fx=W(`<button class="model-option svelte-1x5emjp"> </button>`),Ix=W(`<div class="model-list svelte-1x5emjp"></div>`),Lx=W(`<span class="dim svelte-1x5emjp">No more models available</span>`),Rx=W(`<div class="modal-body svelte-1x5emjp"><input type="text" placeholder="Search models..." class="text-input svelte-1x5emjp"/> <!></div>`);function zx(e,t){M(t,!0);let n=_a(t,`showModelDefaults`,3,!1),r=_a(t,`spiritModel`,15,``),i=_a(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)),D=P(()=>H(a).filter(e=>!e.configured)),te=P(()=>H(D).filter(e=>e.oauth)),ne=P(()=>H(f).trim()?H(D).filter(e=>e.id.toLowerCase().includes(H(f).toLowerCase())):H(D)),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 oe(e){return H(O).filter(t=>t.provider===e)}let k=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));function se(e){return e===`api_key`?`API key`:e===`oauth`?`OAuth`:e===`env_var`?`env var`:``}kn(()=>{H(O)&&t.onLoad?.(H(O))});async function ce(){I(l,``);try{I(a,await cd(),!0),I(o,await ld(),!0)}catch{I(l,`Failed to load providers. Check your connection and try again.`)}}function le(){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 ue(){le(),I(u,!0)}async function de(){if(!H(p)||!H(m).trim())return;I(s,``),I(c,!0);let e=H(p);try{await ud(H(p),H(m).trim()),le(),await ce(),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 fe(e){I(c,!0),I(s,``);try{await dd(e);let t=H(o).filter(t=>t.provider===e&&t.enabled);for(let e of t)i()===e.id&&i(``);await ce()}catch(e){I(s,e instanceof Error?e.message:`Failed to remove provider`,!0)}I(c,!1)}async function pe(e){I(s,``),I(h,e,!0),I(c,!0);try{let t=await fd(e);t.url&&(I(g,t.url,!0),I(_,t.flowId,!0),I(y,!!t.needsManualCode),I(C,t.instructions??``,!0),I(v,!0),window.open(t.url,`_blank`),me())}catch(e){I(s,e instanceof Error?e.message:`OAuth failed`,!0),I(h,``)}I(c,!1)}async function me(){let e=0;for(;H(v);){await new Promise(e=>setTimeout(e,2500));try{let t=await pd(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);le(),await ce(),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 he(){if(!(!H(x).trim()||!H(_))){I(s,``),I(S,!0);try{await md(H(_),H(x).trim()),I(x,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to submit code`,!0),I(S,!1)}}}function ge(){let e=H(x).trim();e&&/^https?:\/\//.test(e)&&he()}async function _e(e){let t=[...H(O).map(e=>e.id),e];try{await hd(t),I(o,H(o).map(t=>t.id===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 ve(e){let t=H(O).map(e=>e.id).filter(t=>t!==e);try{await hd(t),I(o,H(o).map(t=>t.id===e?{...t,enabled:!1}:t),!0),i()===e&&i(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove model`,!0)}}var ye={load:ce},be=yx(),xe=z(be),Se=e=>{var t=lx(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,H(l))),U(`click`,i,()=>ce()),K(e,t)},Ce=e=>{K(e,ux())},we=e=>{var t=yx(),a=z(t);Y(a,17,()=>H(ee),e=>e.id,(e,t)=>{let n=P(()=>oe(H(t).id));var r=hx(),i=R(r),a=R(i),s=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=fx();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=dx(),r=R(n),i=B(r);A(n),V(()=>q(r,`${H(t).id??``} `)),U(`click`,i,()=>ve(H(t).id)),K(e,n)}),A(t),K(e,t)},h=e=>{K(e,px())};J(p,e=>{H(n).length>0?e(m):e(h,-1)});var g=B(p,2),_=e=>{var n=mx();U(`click`,n,()=>{I(T,H(t).id,!0),I(E,``),I(w,!0)}),K(e,n)},v=P(()=>H(o).some(e=>!e.enabled&&e.provider===H(t).id));J(g,e=>{H(v)&&e(_)}),A(f),A(r),V(e=>{q(s,H(t).id),q(u,e),d.disabled=H(c)},[()=>se(H(t).authMethod)]),U(`click`,d,()=>fe(H(t).id)),K(e,r)});var l=B(a,2),d=e=>{var t=gx();U(`click`,t,ue),K(e,t)};J(l,e=>{H(D).length>0&&e(d)});var f=B(l,2),p=e=>{var t=_x(),n=B(R(t),2);{let e=P(()=>H(O).map(e=>({id:e.id,label:e.name})));cx(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.id,label:e.name})));cx(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(f,e=>{n()&&H(O).length>0&&e(p)});var m=B(f,2),h=e=>{var t=vx(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(m,e=>{H(s)&&!H(u)&&e(h)}),K(e,t)};J(xe,e=>{H(l)?e(Se):H(a).length===0?e(Ce,1):e(we,-1)});var Te=B(xe,2),Ee=e=>{ro(e,{onClose:()=>{H(v)||le()},size:`420px`,title:`Add a provider`,children:(e,t)=>{var n=Ox(),r=R(n),i=e=>{var t=Sx(),n=z(t),r=e=>{var t=xx(),n=B(z(t),2);Y(n,21,()=>H(te),e=>e.id,(e,t)=>{var n=bx(),r=R(n,!0);A(n),V(e=>{n.disabled=H(c),q(r,e)},[()=>ae(H(t))]),U(`click`,n,()=>pe(H(t).id)),K(e,n)}),A(n),K(e,t)};J(n,e=>{H(te).length>0&&e(r)});var i=B(n,2),a=R(i,!0);A(i),V(()=>q(a,H(te).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=Dx(),n=z(t),r=R(n),i=R(r);Xi(i);var a=B(i,2),o=e=>{var t=wx();Y(t,21,()=>H(ne),e=>e.id,(e,t)=>{var n=Cx(),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(ne).length>0&&e(o)}),A(r);var s=B(r,2),l=e=>{var t=Tx(),n=R(t);Xi(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()]),Br(`submit`,t,e=>{e.preventDefault(),de()}),la(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=Ex();U(`click`,t,()=>{I(d,`oauth`)}),K(e,t)};J(u,e=>{H(te).length>0&&e(h)}),U(`input`,i,()=>{I(p,``)}),la(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=vx(),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(Te,e=>{H(u)&&!H(h)&&e(Ee)});var De=B(Te,2),Oe=e=>{{let t=P(()=>H(a).find(e=>e.id===H(h))?.oauthName??H(h));ro(e,{onClose:()=>{H(v)||le()},size:`420px`,get title(){return`Sign in with ${H(t)??``}`},children:(e,t)=>{var n=Ox(),r=R(n),i=e=>{K(e,kx())},a=e=>{var t=Ax(),n=B(z(t),2),r=R(n);Xi(r);var i=B(r,2);A(n),V(e=>i.disabled=e,[()=>!H(x).trim()]),Br(`submit`,n,e=>{e.preventDefault(),he()}),U(`input`,r,ge),la(r,()=>H(x),e=>I(x,e)),K(e,t)},o=e=>{var t=Nx(),n=B(z(t),2),r=R(n,!0);A(n);var i=B(n,2),a=e=>{var t=jx(),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,Mx())};J(o,e=>{H(v)&&e(s)}),V(()=>{ea(n,`href`,H(g)),q(r,H(g))}),K(e,t)},l=e=>{K(e,Mx())},u=e=>{K(e,Px())};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=vx(),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(De,e=>{H(h)&&e(Oe)});var ke=B(De,2),Ae=e=>{ro(e,{onClose:()=>{I(w,!1)},size:`420px`,get title(){return`Add model — ${H(T)??``}`},children:(e,t)=>{var n=Rx(),r=R(n);Xi(r);var i=B(r,2),a=e=>{var t=Ix();Y(t,21,()=>H(k),e=>e.id,(e,t)=>{var n=Fx(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>_e(H(t).id)),K(e,n)}),A(t),K(e,t)},o=e=>{K(e,Lx())};J(i,e=>{H(k).length>0?e(a):e(o,-1)}),A(n),la(r,()=>H(E),e=>I(E,e)),K(e,n)},$$slots:{default:!0}})};return J(ke,e=>{H(w)&&e(Ae)}),K(e,be),N(ye)}Vr([`click`,`input`]);var Bx=W(`<div></div>`),Vx=W(`<div class="steps svelte-48ammf"></div>`),Hx=W(`<div class="welcome svelte-48ammf"><div class="welcome-text svelte-48ammf">A platform for AI experience. Create minds with persistent memory,
|
|
79
|
-
continuous identity, and the freedom to grow.</div> <button class="submit-btn svelte-48ammf">Get started</button></div>`),Ux=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>`),Wx=W(`<div class="error svelte-48ammf"> </div>`),Gx=W(`<div class="hint svelte-48ammf">Used for your subdomain on volute.systems.</div>`),Kx=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>`),qx=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>`),Jx=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),Yx=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>`),Xx=W(`<button type="button" class="advanced-toggle svelte-48ammf"><span>▶</span> Advanced</button> <!>`,1),Zx=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),Qx=W(`<label class="label mt svelte-48ammf" for="username">Username</label> <!>`,1),$x=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>`),eS=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),tS=W(`<div class="step-title svelte-48ammf">AI providers</div> <div class="step-desc svelte-48ammf">Connect a provider and choose models for your minds.</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),nS=W(`<div class="error svelte-48ammf"> </div> <button class="submit-btn svelte-48ammf">Retry</button>`,1),rS=W(`<div class="finishing svelte-48ammf"><div class="spinner svelte-48ammf"></div> <div class="finishing-text svelte-48ammf">Setting things up...</div> <!></div>`),iS=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 aS(e,t){M(t,!0);function n(){let e=_f.setupProgress;return e?.hasAccount?`provider`:e?.hasSystem?`account`:`welcome`}let r=F(L(n())),i=F(``),a=F(!1),o=F(``),s=F(``),c=F(!1),l=F(``),u=F(!1),d=F(``),f=F(!1),p=F(``),m=F(!1),h=F(``),g=F(!1),_=F(!1),v=F(!1),y=F(!1),b=F(!1),x=P(()=>_f.setupProgress?.setupType===`system`),S=F(``),C=F(``),w=F(!1),T=F(``);function E(e){return e.toLowerCase().replace(/[^a-z0-9_-]/g,``).slice(0,32)}function ee(){H(w)||I(C,E(H(S)),!0)}function D(e){return e.toLowerCase().replace(/[^a-z0-9-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,32)}function te(){H(f)||I(d,D(H(o)),!0)}let ne=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,O=P(()=>H(d).length>=3&&H(d).length<=32&&ne.test(H(d))),re=P(()=>H(d).length>0&&!H(O)?H(d).length<3?`Must be at least 3 characters`:ne.test(H(d))?`Must be 32 characters or fewer`:`Lowercase letters, numbers, and hyphens only (no leading/trailing hyphens)`:``),ie=F(void 0),ae=F(``),oe=F(``),k=F(L([]));function se(e){let t=e.map(e=>e.id);t.length===H(k).length&&t.every((e,t)=>e===H(k)[t])||(I(k,t,!0),H(ae)&&!H(k).includes(H(ae))&&I(ae,``),e.length>0&&!H(ae)&&I(ae,e[0].id,!0))}let ce=[`welcome`,`system`,`account`,`provider`,`starting`],le=P(()=>ce.indexOf(H(r)));function ue(){return H(r)===`welcome`?!0:H(r)===`system`?!!H(o).trim():H(r)===`account`?!!H(S).trim()&&!!H(C).trim()&&!!H(T):H(r)===`provider`?H(k).length>0&&!!H(ae):!1}function de(){let e=ce.indexOf(H(r));e>0&&(I(r,ce[e-1],!0),I(i,``))}async function fe(e){if(e.preventDefault(),ue()){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(o).trim(),description:H(s).trim()||void 0,remote:H(_)||void 0,service:H(v)||void 0,tailscale:H(y)||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 pe(e){if(e.preventDefault(),ue()){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(C).trim(),password:H(T),displayName:H(S).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Account setup failed: ${e.status}`)}let t=await Gl();t&&await xf(t),I(r,`provider`)}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0)}I(a,!1)}}async function me(){if(H(d).trim()){I(h,``),I(g,!0);try{let e=await fetch(`/api/setup/system/register`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({slug:H(d).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Registration failed: ${e.status}`)}let t=await e.json();I(c,!0),I(l,t.system,!0),I(u,!1)}catch(e){I(h,e instanceof Error?e.message:`Registration failed`,!0)}I(g,!1)}}async function he(){if(H(p).trim()){I(h,``),I(g,!0);try{let e=await fetch(`/api/setup/system/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({key:H(p).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Login failed: ${e.status}`)}let t=await e.json();I(c,!0),I(l,t.system,!0),I(m,!1),I(p,``)}catch(e){I(h,e instanceof Error?e.message:`Login failed`,!0)}I(g,!1)}}async function ge(){I(h,``),I(g,!0);try{await fetch(`/api/setup/system/disconnect`,{method:`POST`}),I(c,!1),I(l,``)}catch(e){I(h,e instanceof Error?e.message:`Disconnect failed`,!0)}I(g,!1)}async function _e(e){if(e.preventDefault(),ue()){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(k),spiritModel:H(ae),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,`starting`),await ve()}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0),I(a,!1)}}}async function ve(){I(i,``),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 n=await e.json().catch(()=>({}));n.spiritConversationId&&n.spiritStarted&&await ye(n.spiritConversationId),_f.setupComplete=!0,t.onComplete()}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0),I(r,`provider`)}I(a,!1)}async function ye(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();if((e.items??e).some(e=>e.sender_name===`volute`&&e.role===`user`))return}}catch{}}}kn(()=>{H(r)===`system`&&!H(c)&&fetch(`/api/setup/system/systems-status`).then(e=>e.json()).then(e=>{e.registered&&(I(c,!0),I(l,e.system,!0))}).catch(()=>{})});let be=!1;kn(()=>{H(r)===`provider`&&!be&&(be=!0,H(ie)?.load())});var xe=iS(),Se=R(xe),Ce=B(R(Se),2),we=e=>{var t=Vx();Y(t,22,()=>ce.slice(1,-1),e=>e,(e,t,n)=>{var i=Bx();let a;V(()=>a=X(i,1,`step-dot svelte-48ammf`,null,a,{active:H(n)+1<=H(le),current:ce[H(n)+1]===H(r)})),K(e,i)}),A(t),K(e,t)};J(Ce,e=>{H(r)!==`welcome`&&e(we)});var Te=B(Ce,2),Ee=e=>{var t=Hx(),n=B(R(t),2);A(t),U(`click`,n,()=>I(r,`system`)),K(e,t)},De=e=>{var t=Zx(),n=B(z(t),2),r=B(R(n),2);eo(r,{inputSize:`md`,id:`systemName`,type:`text`,placeholder:`e.g. My Garden`,oninput:te,get value(){return H(o)},set value(e){I(o,e,!0)}});var S=B(r,6);yn(S);var C=B(S,2),w=R(C),T=e=>{var t=Ux(),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(l)),a.disabled=H(g)}),U(`click`,a,ge),K(e,t)},E=e=>{var t=Kx(),n=B(R(t),2),r=R(n);eo(r,{id:`systemsSlug`,type:`text`,placeholder:`my-garden`,oninput:()=>{I(f,!0)},get value(){return H(d)},set value(e){I(d,e,!0)}});var i=B(r,2),a=R(i,!0);A(i),A(n);var o=B(n,2),s=e=>{var t=Wx(),n=R(t,!0);A(t),V(()=>q(n,H(re))),K(e,t)},c=e=>{K(e,Gx())};J(o,e=>{H(re)?e(s):e(c,-1)});var l=B(o,2);A(t),V(()=>{i.disabled=H(g)||!H(O),q(a,H(g)?`...`:`Register`)}),U(`click`,i,me),U(`click`,l,()=>{I(u,!1),I(m,!0)}),K(e,t)},ee=e=>{var t=qx(),n=B(R(t),2),r=R(n);eo(r,{id:`systemsApiKey`,type:`password`,placeholder:`Paste your API key`,get value(){return H(p)},set value(e){I(p,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(g)?`...`:`Login`)},[()=>H(g)||!H(p).trim()]),U(`click`,i,he),U(`click`,o,()=>{I(m,!1),I(u,!0)}),K(e,t)},D=e=>{var t=Jx(),n=z(t),r=B(n,2);U(`click`,n,()=>{I(u,!0)}),U(`click`,r,()=>{I(m,!0)}),K(e,t)};J(w,e=>{H(c)?e(T):H(u)?e(E,1):H(m)?e(ee,2):e(D,-1)});var ne=B(w,2),ie=e=>{var t=Wx(),n=R(t,!0);A(t),V(()=>q(n,H(h))),K(e,t)};J(ne,e=>{H(h)&&e(ie)}),A(C);var ae=B(C,2),oe=e=>{var t=Xx(),n=z(t),r=R(n);let i;j(),A(n);var a=B(n,2),o=e=>{var t=Yx(),n=R(t),r=R(n);Xi(r),j(2),A(n);var i=B(n,4),a=R(i);Xi(a),j(2),A(i);var o=B(i,4),s=R(o);Xi(s),j(2),A(o),j(2),A(t),ua(r,()=>H(_),e=>I(_,e)),ua(a,()=>H(v),e=>I(v,e)),ua(s,()=>H(y),e=>I(y,e)),K(e,t)};J(a,e=>{H(b)&&e(o)}),V(()=>i=X(r,1,`advanced-arrow svelte-48ammf`,null,i,{open:H(b)})),U(`click`,n,()=>I(b,!H(b))),K(e,t)};J(ae,e=>{H(x)||e(oe)});var k=B(ae,2),se=e=>{var t=Wx(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(k,e=>{H(i)&&e(se)});var ce=B(k,2),le=R(ce),pe=B(le,2),_e=R(pe,!0);A(pe),A(ce),A(n),V(e=>{pe.disabled=e,q(_e,H(a)?`Setting up...`:`Continue`)},[()=>H(a)||!ue()]),Br(`submit`,n,fe),la(S,()=>H(s),e=>I(s,e)),U(`click`,le,de),K(e,t)},Oe=e=>{var t=eS(),n=B(z(t),2),r=R(n);Xi(r);var o=B(r,4);eo(o,{inputSize:`md`,id:`displayName`,type:`text`,placeholder:`Your name`,oninput:ee,autocomplete:`off`,get value(){return H(S)},set value(e){I(S,e,!0)}});var s=B(o,2),c=e=>{var t=Qx();eo(B(z(t),2),{id:`username`,type:`text`,placeholder:`username`,autocomplete:`off`,get value(){return H(C)},set value(e){I(C,e,!0)}}),K(e,t)},l=e=>{var t=$x(),n=B(R(t)),r=R(n,!0);A(n);var i=B(n,2);A(t),V(()=>q(r,H(C))),U(`click`,i,()=>{I(w,!0)}),K(e,t)};J(s,e=>{H(w)?e(c):H(C)&&e(l,1)});var u=B(s,4);eo(u,{inputSize:`md`,id:`password`,type:`password`,placeholder:`Choose a password`,autocomplete:`new-password`,get value(){return H(T)},set value(e){I(T,e,!0)}});var d=B(u,2),f=e=>{var t=Wx(),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=>{Zi(r,H(C)),h.disabled=e,q(g,H(a)?`Setting up...`:`Continue`)},[()=>H(a)||!ue()]),Br(`submit`,n,pe),U(`click`,m,de),K(e,t)},ke=e=>{var t=tS(),n=B(z(t),4);ma(zx(n,{showModelDefaults:!0,onLoad:se,get spiritModel(){return H(ae)},set spiritModel(e){I(ae,e,!0)},get utilityModel(){return H(oe)},set utilityModel(e){I(oe,e,!0)}}),e=>I(ie,e,!0),()=>H(ie));var r=B(n,2),o=e=>{var t=Wx(),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)?`Setting up...`:`Finish setup`)},[()=>H(a)||!ue()]),Br(`submit`,s,_e),U(`click`,l,de),K(e,t)},Ae=e=>{var t=rS(),n=B(R(t),4),r=e=>{var t=nS(),n=z(t),r=R(n,!0);A(n);var a=B(n,2);V(()=>q(r,H(i))),U(`click`,a,ve),K(e,t)};J(n,e=>{H(i)&&e(r)}),A(t),K(e,t)};J(Te,e=>{H(r)===`welcome`?e(Ee):H(r)===`system`?e(De,1):H(r)===`account`?e(Oe,2):H(r)===`provider`?e(ke,3):H(r)===`starting`&&e(Ae,4)}),A(Se),A(xe),K(e,xe),N()}Vr([`click`]);var oS=W(`<form class="install-form svelte-1yivsg9"><input type="text" class="install-input svelte-1yivsg9" placeholder="npm package name"/> <!></form>`),sS=W(`<div class="restart-banner svelte-1yivsg9">Restart the daemon to apply changes.</div>`),cS=W(`<div class="ext-desc svelte-1yivsg9"> </div>`),lS=W(`<div class="ext-actions svelte-1yivsg9"><!></div>`),uS=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>`),dS=W(`<div class="ext-list svelte-1yivsg9"><div class="column-header svelte-1yivsg9"><span class="column-label svelte-1yivsg9">Enabled</span></div> <!></div>`),fS=W(`<!> <!> <!> <!>`,1);function pS(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1),s=F(``);function c(){Ld().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)})}va(c);async function l(e){I(a,e.id,!0),I(r,``);try{await Rd(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 zd(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 Bd(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=>{Ea(e,{message:`Loading...`})},g=e=>{var t=fS(),i=z(t);Oa(i,{get message(){return H(r)}});var c=B(i,2);oo(c,{title:`Extensions`,action:e=>{var t=oS(),n=R(t);Xi(n);var r=B(n,2);{let e=P(()=>H(a)!==null||!H(s).trim());Sa(r,{variant:`primary`,onclick:u,get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();V(()=>q(n,H(a)===`install`?`Installing...`:`Install`)),K(e,n)},$$slots:{default:!0}})}A(t),V(()=>n.disabled=H(a)!==null),Br(`submit`,t,e=>{e.preventDefault(),u()}),la(n,()=>H(s),e=>I(s,e)),K(e,t)},$$slots:{action:!0}});var p=B(c,2),m=e=>{K(e,sS())};J(p,e=>{H(o)&&e(m)});var h=B(p,2),g=e=>{Ea(e,{message:`No extensions found.`})},_=e=>{var t=dS();Y(B(R(t),2),17,()=>H(f),e=>e.id,(e,t)=>{var n=uS(),r=R(n),i=R(r);Xi(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=cS(),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=lS(),r=R(n);{let e=P(()=>H(a)!==null);Sa(r,{variant:`danger`,onclick:()=>d(H(t)),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();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(()=>{ea(r,`title`,H(t).enabled?`Enabled`:`Disabled`),Qi(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()}Vr([`change`]);var mS=W(`<p class="loading-text svelte-y2443v">Loading...</p>`),hS=W(`<!> <button class="setting-hint-btn svelte-y2443v">back</button>`,1),gS=W(`<option> </option>`),_S=W(`<option>--</option> <!> <option>other...</option>`,1),vS=W(`<div class="slider-control svelte-y2443v"><input type="range" class="thinking-slider svelte-y2443v" min="0" max="5" step="1"/> <span> </span></div>`),yS=W(`<!> <span class="setting-hint svelte-y2443v">per</span> <!> <span class="setting-hint svelte-y2443v">min</span>`,1),bS=W(`<!> <span class="setting-hint svelte-y2443v">tokens</span>`,1),xS=W(`<!> <!> <!> <!> <!>`,1),SS=W(`<div class="cron-preview svelte-y2443v"> </div>`),CS=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),wS=W(`<div class="sleep-summary svelte-y2443v"><span class="sleep-desc svelte-y2443v"> </span> <!></div> <!> <!>`,1),TS=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),ES=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),DS=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>`),OS=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <span class="form-hint svelte-y2443v">At</span> <!></div>`),kS=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <!></div>`),AS=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),jS=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> <!></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>`),MS=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> <!></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>`),NS=W(`<div class="schedule-message svelte-y2443v"> </div>`),PS=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>`),FS=W(`<div class="schedule-list svelte-y2443v"></div>`),IS=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),LS=W(`<span class="save-status svelte-y2443v">Saving...</span>`),RS=W(`<span class="save-status saved svelte-y2443v">Saved</span>`),zS=W(`<!> <!> <div class="status-bar svelte-y2443v"><!></div>`,1),BS=W(`<div class="mind-defaults svelte-y2443v"><!></div>`);function VS(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(``),u=F(!0),d=F(0),f=F(0),p=F(8),m=F(0),h=F(!1),g=F(``),_=F(``),v=F(!1),y=F(!1),b=F(``),x=F(``),S=F(L([])),C=F(!1),w=F(null),T=F(``),E=F(`daily`),ee=F(4),D=F(12),te=F(0),ne=F(``),O=F(``),re=F(`skip`),ie=F(`cron`),ae=F(4),oe=F(12),k=F(0),se=F(``),ce=F(``),le=F(`skip`),ue=F(!0),de=F(``),fe=F(!0),pe=F(!1),me=F(`idle`),he,ge=P(()=>H(r).filter(e=>e.enabled)),_e=P(()=>H(i)!==``&&!H(ge).some(e=>e.id===H(i))),ve=P(()=>n[H(a)]);function ye(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}function be(e){let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return t.length?t:void 0}async function xe(){I(me,`saving`),clearTimeout(he);try{await yd({cognition:{model:H(i)||void 0,thinkingLevel:n[H(a)]===`off`?void 0:n[H(a)],maxThinkingTokens:ye(H(o))??void 0,tokenBudget:ye(H(s))??void 0,tokenBudgetPeriodMinutes:ye(H(c))??void 0,compaction:ye(H(l))==null?void 0:{maxContextTokens:ye(H(l))}},sleep:{enabled:H(u),schedule:H(u)?{sleep:H(h)?H(g):J_(H(d),H(f)),wake:H(h)?H(_):J_(H(p),H(m))}:void 0,wakeTriggers:H(u)?{mentions:H(v)||void 0,dms:H(y)||void 0,channels:be(H(b)),senders:be(H(x))}:void 0},schedules:H(S).length>0?H(S):void 0}),I(de,``),I(me,`saved`),he=setTimeout(()=>{I(me,`idle`)},1500)}catch(e){I(de,e instanceof Error?e.message:`Save failed`,!0),I(me,`idle`)}}function Se(e){let t=e.target.value;t===`__other__`?I(i,``):(I(i,t,!0),t&&xe())}function Ce(e){I(a,parseInt(e.target.value,10),!0),xe()}function we(e){I(w,e.id,!0);let t=e.cron?Y_(e.cron):{type:`daily`};I(ie,t.type,!0),I(ae,t.hours??4,!0),I(oe,t.hour??12,!0),I(k,t.minute??0,!0),I(se,e.cron??``,!0),I(ce,e.message??``,!0),I(le,e.whileSleeping??`skip`,!0),I(ue,e.enabled,!0)}function Te(){if(!H(w))return;let e=X_(H(ie),{hours:H(ae),hour:H(oe),minute:H(k),cron:H(se)});I(S,H(S).map(t=>t.id===H(w)?{...t,cron:e||void 0,message:H(ce)||void 0,whileSleeping:H(le),enabled:H(ue)}:t),!0),I(w,null),xe()}function Ee(){if(!H(T).trim())return;let e=X_(H(E),{hours:H(ee),hour:H(D),minute:H(te),cron:H(ne)});I(S,[...H(S),{id:H(T).trim(),cron:e||void 0,message:H(O)||void 0,enabled:!0,whileSleeping:H(re)}],!0),I(T,``),I(E,`daily`),I(ee,4),I(D,12),I(te,0),I(ne,``),I(O,``),I(re,`skip`),I(C,!1),xe()}function De(e){I(S,H(S).filter(t=>t.id!==e),!0),xe()}function Oe(e){I(S,H(S).map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t),!0),xe()}va(async()=>{try{let[e,t]=await Promise.all([vd(),ld()]);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.maxThinkingTokens==null?``:String(e.cognition.maxThinkingTokens),!0),I(s,e.cognition.tokenBudget==null?``:String(e.cognition.tokenBudget),!0),I(c,e.cognition.tokenBudgetPeriodMinutes==null?``:String(e.cognition.tokenBudgetPeriodMinutes),!0),I(l,e.cognition.compaction?.maxContextTokens==null?``:String(e.cognition.compaction.maxContextTokens),!0)}if(e.sleep){I(u,e.sleep.enabled??!0,!0);let t=e.sleep.schedule?q_(e.sleep.schedule.sleep):null,n=e.sleep.schedule?q_(e.sleep.schedule.wake):null;t&&n?(I(d,t.hour,!0),I(f,t.minute,!0),I(p,n.hour,!0),I(m,n.minute,!0)):e.sleep.schedule&&(I(h,!0),I(g,e.sleep.schedule.sleep,!0),I(_,e.sleep.schedule.wake,!0)),I(v,e.sleep.wakeTriggers?.mentions??!1,!0),I(y,e.sleep.wakeTriggers?.dms??!1,!0),I(b,(e.sleep.wakeTriggers?.channels??[]).join(`, `),!0),I(x,(e.sleep.wakeTriggers?.senders??[]).join(`, `),!0)}e.schedules&&I(S,e.schedules,!0)}catch(e){I(de,e instanceof Error?e.message:`Failed to load defaults`,!0),I(pe,!0)}I(fe,!1)});var ke=BS(),Ae=R(ke),je=e=>{K(e,mS())},Me=e=>{Oa(e,{get message(){return H(de)}})},Ne=e=>{var t=zS(),n=z(t);ho(n,{title:`Model`,children:(e,t)=>{var n=xS(),r=z(n);po(r,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),a=e=>{var t=hS(),n=z(t);eo(n,{type:`text`,onblur:()=>xe(),placeholder:`Model ID`,get value(){return H(i)},set value(e){I(i,e,!0)}}),U(`click`,B(n,2),()=>{I(i,H(ge)[0]?.id??``,!0),H(i)&&xe()}),K(e,t)},o=e=>{uo(e,{get value(){return H(i)},onchange:Se,children:(e,t)=>{var n=_S(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(ge),e=>e.id,(e,t)=>{var n=gS(),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(_e)?e(a):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var u=B(r,2);po(u,{label:`Thinking`,children:(e,t)=>{var n=vS(),r=R(n);Xi(r);var i=B(r,2);let o;var s=R(i,!0);A(i),A(n),V(()=>{Zi(r,H(a)),o=X(i,1,`slider-label svelte-y2443v`,null,o,{off:H(a)===0}),q(s,H(ve))}),U(`change`,r,Ce),K(e,n)},$$slots:{default:!0}});var d=B(u,2),f=e=>{po(e,{label:`Max tokens`,children:(e,t)=>{eo(e,{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`default`,get value(){return H(o)},set value(e){I(o,e,!0)}})},$$slots:{default:!0}})};J(d,e=>{H(a)>0&&e(f)});var p=B(d,2);po(p,{label:`Budget`,children:(e,t)=>{var n=yS(),r=z(n);eo(r,{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`tokens`,get value(){return H(s)},set value(e){I(s,e,!0)}}),eo(B(r,4),{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`min`,get value(){return H(c)},set value(e){I(c,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),po(B(p,2),{label:`Context`,children:(e,t)=>{var n=bS();eo(z(n),{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`150000`,get value(){return H(l)},set value(e){I(l,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}});var r=B(n,2);ho(r,{title:`Rhythms`,children:(e,t)=>{var n=IS(),r=z(n),i=R(r),a=B(R(i),2);{let e=P(()=>H(u)?`On`:`Off`);To(a,{get checked(){return H(u)},onchange:()=>{I(u,!H(u)),xe()},get label(){return H(e)}})}A(i);var o=B(i,2),s=e=>{var t=TS(),n=z(t),r=e=>{var t=CS(),n=z(t);Sa(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(h,!1),xe()},children:(e,t)=>{j(),K(e,Xr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);eo(B(R(r),2),{variant:`mono`,style:`flex:1`,onblur:()=>xe(),placeholder:`0 0 * * *`,get value(){return H(g)},set value(e){I(g,e,!0)}}),A(r);var i=B(r,2),a=e=>{var t=SS(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>W_(H(g))]),K(e,t)};J(i,e=>{H(g)&&e(a)});var o=B(i,2);eo(B(R(o),2),{variant:`mono`,style:`flex:1`,onblur:()=>xe(),placeholder:`0 8 * * *`,get value(){return H(_)},set value(e){I(_,e,!0)}}),A(o);var s=B(o,2),c=e=>{var t=SS(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>W_(H(_))]),K(e,t)};J(s,e=>{H(_)&&e(c)}),K(e,t)},i=e=>{var t=wS(),n=z(t),r=R(n),i=R(r);A(r),Sa(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(h,!0),I(g,J_(H(d),H(f)),!0),I(_,J_(H(p),H(m)),!0)},children:(e,t)=>{j(),K(e,Xr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);So(a,{label:`Sleep at`,onchange:()=>xe(),get hour(){return H(d)},set hour(e){I(d,e,!0)},get minute(){return H(f)},set minute(e){I(f,e,!0)}}),So(B(a,2),{label:`Wake at`,onchange:()=>xe(),get hour(){return H(p)},set hour(e){I(p,e,!0)},get minute(){return H(m)},set minute(e){I(m,e,!0)}}),V((e,t)=>q(i,`Sleeps at ${e??``}, wakes at ${t??``}`),[()=>G_(H(d),H(f)),()=>G_(H(p),H(m))]),K(e,t)};J(n,e=>{H(h)?e(r):e(i,-1)});var a=B(n,2),o=B(R(a),2);To(R(o),{get checked(){return H(v)},onchange:()=>{I(v,!H(v)),xe()},label:`When mentioned`}),A(o);var s=B(o,2);To(R(s),{get checked(){return H(y)},onchange:()=>{I(y,!H(y)),xe()},label:`Direct messages`}),A(s);var c=B(s,2);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`channel1, channel2`,onblur:()=>xe(),get value(){return H(b)},set value(e){I(b,e,!0)}}),A(c);var l=B(c,2);eo(B(R(l),2),{type:`text`,style:`flex:1`,placeholder:`user1, user2`,onblur:()=>xe(),get value(){return H(x)},set value(e){I(x,e,!0)}}),A(l),A(a),K(e,t)};J(o,e=>{H(u)&&e(s)}),A(r);var c=B(r,2),l=R(c);Sa(B(R(l),2),{variant:`primary`,onclick:()=>I(C,!0),children:(e,t)=>{j(),K(e,Xr(`Add`))},$$slots:{default:!0}}),A(l);var ue=B(l,2),de=e=>{var t=jS(),n=R(t);eo(B(R(n),2),{type:`text`,style:`flex:1`,placeholder:`e.g. heartbeat`,get value(){return H(T)},set value(e){I(T,e,!0)}}),A(n);var r=B(n,2);uo(B(R(r),2),{get value(){return H(E)},set value(e){I(E,e,!0)},children:(e,t)=>{var n=ES(),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=DS();eo(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(ee)},set value(e){I(ee,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=OS();So(B(R(t),4),{get hour(){return H(D)},set hour(e){I(D,e,!0)},get minute(){return H(te)},set minute(e){I(te,e,!0)}}),A(t),K(e,t)},s=e=>{var t=kS();eo(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(E)===`hours`?e(a):H(E)===`daily`?e(o,1):e(s,-1)});var c=B(i,2);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(O)},set value(e){I(O,e,!0)}}),A(c);var l=B(c,2);uo(B(R(l),2),{get value(){return H(re)},set value(e){I(re,e,!0)},children:(e,t)=>{var n=AS(),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);{let e=P(()=>!H(T).trim());Sa(d,{variant:`primary`,onclick:Ee,get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Xr(`Add schedule`))},$$slots:{default:!0}})}Sa(B(d,2),{variant:`secondary`,onclick:()=>I(C,!1),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(u),A(t),K(e,t)};J(ue,e=>{H(C)&&e(de)});var fe=B(ue,2),pe=e=>{Ea(e,{message:`No default schedules configured.`})},me=e=>{var t=FS();Y(t,21,()=>H(S),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var t=MS(),n=R(t);uo(B(R(n),2),{get value(){return H(ie)},set value(e){I(ie,e,!0)},children:(e,t)=>{var n=ES(),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=DS();eo(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(ae)},set value(e){I(ae,e,!0)}}),j(2),A(t),K(e,t)},a=e=>{var t=OS();So(B(R(t),4),{get hour(){return H(oe)},set hour(e){I(oe,e,!0)},get minute(){return H(k)},set minute(e){I(k,e,!0)}}),A(t),K(e,t)},o=e=>{var t=kS();eo(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(se)},set value(e){I(se,e,!0)}}),A(t),K(e,t)};J(r,e=>{H(ie)===`hours`?e(i):H(ie)===`daily`?e(a,1):e(o,-1)});var s=B(r,2);eo(B(R(s),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(ce)},set value(e){I(ce,e,!0)}}),A(s);var c=B(s,2);uo(B(R(c),2),{get value(){return H(le)},set value(e){I(le,e,!0)},children:(e,t)=>{var n=AS(),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(c);var l=B(c,2),u=R(l);Sa(u,{variant:`primary`,onclick:Te,children:(e,t)=>{j(),K(e,Xr(`Save`))},$$slots:{default:!0}}),Sa(B(u,2),{variant:`secondary`,onclick:()=>I(w,null),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(l),A(t),K(e,t)},a=e=>{var n=PS();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=Xr();V(e=>q(n,e),[()=>W_(H(t).cron)]),K(e,n)},u=e=>{K(e,Xr(`--`))};J(c,e=>{H(t).cron?e(l):e(u,-1)}),A(s);var d=B(s,2),f=R(d);To(f,{get checked(){return H(t).enabled},onchange:()=>Oe(H(t))});var p=B(f,2);Sa(p,{variant:`icon`,onclick:()=>we(H(t)),children:(e,t)=>{j(),K(e,Xr(`Edit`))},$$slots:{default:!0}}),Sa(B(p,2),{variant:`danger`,size:`sm`,onclick:()=>De(H(t).id),children:(e,t)=>{j(),K(e,Xr(`Del`))},$$slots:{default:!0}}),A(d),A(i);var m=B(i,2),h=e=>{var n=NS(),r=R(n,!0);A(n),V(()=>q(r,H(t).message)),K(e,n)};J(m,e=>{H(t).message&&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(w)===H(t).id?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)};J(fe,e=>{H(S).length===0&&!H(C)?e(pe):e(me,-1)}),A(c),K(e,n)},$$slots:{default:!0}});var ue=B(r,2),fe=R(ue),pe=e=>{Oa(e,{get message(){return H(de)}})},he=e=>{K(e,LS())},ye=e=>{K(e,RS())};J(fe,e=>{H(de)?e(pe):H(me)===`saving`?e(he,1):H(me)===`saved`&&e(ye,2)}),A(ue),K(e,t)};J(Ae,e=>{H(fe)?e(je):H(pe)?e(Me,1):e(Ne,-1)}),A(ke),K(e,ke),N()}Vr([`click`,`change`]);var HS=W(`<div class="upload-area svelte-ywjv10"><input type="file" accept=".zip" class="file-input svelte-ywjv10"/> <!></div>`),US=W(`<div class="skill-desc svelte-ywjv10"> </div>`),WS=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>`),GS=W(`<div class="skill-list svelte-ywjv10"><div class="column-header svelte-ywjv10"><span class="column-label svelte-ywjv10">Default</span></div> <!></div>`),KS=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 qS(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([Vu(),Ju(),Zu()]).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 Qu(e)}catch(t){I(i,!e),I(a,t instanceof Error?t.message:`Failed to update setting`,!0)}}va(c);let u=F(void 0);async function d(){let e=H(u)?.files?.[0];if(e){I(s,`upload`),I(a,``);try{await Dd(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 qu(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 Xu(e),!0):I(r,await Yu(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=>{Ea(e,{message:`Loading...`})},_=e=>{var t=KS(),o=z(t);Oa(o,{get message(){return H(a)}});var c=B(o,2);oo(c,{title:`Skills`,action:e=>{var t=HS(),n=R(t);ma(n,e=>I(u,e),()=>H(u));var r=B(n,2);{let e=P(()=>H(s)!==null);Sa(r,{variant:`primary`,onclick:()=>H(u).click(),get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();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);Xi(g),j(2),A(h),j(2),A(m);var _=B(m,2),v=e=>{Ea(e,{message:`No shared skills yet.`})},y=e=>{var t=GS();Y(B(R(t),2),17,()=>H(n),e=>e.id,(e,t)=>{var n=WS(),i=R(n),a=R(i);Xi(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=US(),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);Sa(_,{variant:`danger`,onclick:()=>f(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(s)===H(t).id?`...`:`Delete`)),K(e,r)},$$slots:{default:!0}})}A(g),A(n),V((e,n)=>{ea(i,`title`,e),Qi(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(()=>{ea(h,`title`,H(i)?`Skills auto-update on daemon restart`:`Skills must be updated manually per mind`),Qi(g,H(i))}),U(`change`,g,l),K(e,t)};J(h,e=>{H(o)?e(g):e(_,-1)}),K(e,m),N()}Vr([`change`]);function JS(e){let t=e-1;return t*t*t+1}function YS(e,{delay:t=0,duration:n=400,easing:r=JS,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 XS=W(`<span class="username svelte-fqyh9p"> </span>`),ZS=Yr(`<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),QS=Yr(`<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),$S=W(`<span class="role admin svelte-fqyh9p">admin</span>`),eC=W(`<span class="role pending svelte-fqyh9p">pending</span> <button class="approve-btn svelte-fqyh9p">approve</button>`,1),tC=W(`<div class="error svelte-fqyh9p"> </div>`),nC=W(`<button class="action-btn svelte-fqyh9p">remove admin</button>`),rC=W(`<button class="action-btn svelte-fqyh9p">make admin</button>`),iC=W(`<span class="confirm-prompt svelte-fqyh9p"> <button class="confirm-yes svelte-fqyh9p"> </button> <button class="confirm-no svelte-fqyh9p">no</button></span>`),aC=W(`<button class="action-btn danger svelte-fqyh9p">delete</button>`),oC=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>`),sC=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>`),cC=W(`<div class="empty svelte-fqyh9p">No users yet.</div>`),lC=W(`<div class="container svelte-fqyh9p"><div class="user-list svelte-fqyh9p"></div> <!></div>`);function uC(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(){Yl().then(e=>{I(n,e,!0)}).catch(()=>{H(r)||I(r,`Failed to load users`)})}va(()=>{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(Cf.has(e.username))return;let t=H(u).get(e.username);return t?Nl(t):`var(--text-2)`}return wf.has(e.username)?`var(--text-0)`:`var(--text-2)`}async function h(e,t){e.stopPropagation();try{await Zl(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 Ql(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 $l(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 gu(e.username,!0),Sf.minds=Sf.minds.filter(t=>t.name!==e.username)}catch(t){if(t instanceof Error&&t.message.includes(`not found`))await eu(e.id);else throw t}else await eu(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=lC(),S=R(x);Y(S,21,()=>H(n),e=>e.id,(e,t)=>{var n=sC();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),D=e=>{var n=XS(),r=R(n);A(n),V(()=>q(r,`@${H(t).username??``}`)),K(e,n)};J(ee,e=>{H(t).display_name&&e(D)});var te=B(ee,2),ne=R(te),O=e=>{var t=ZS();j(4),K(e,t)},re=e=>{var t=QS();j(4),K(e,t)};J(ne,e=>{H(t).user_type===`mind`?e(O):e(re,-1)}),A(te),A(w);var ie=B(w,2),ae=R(ie),oe=e=>{K(e,$S())};J(ae,e=>{H(t).role===`admin`&&e(oe)});var k=B(ae,2),se=e=>{var n=eC();U(`click`,B(z(n),2),e=>h(e,H(t).id)),K(e,n)};J(k,e=>{H(t).role===`pending`&&e(se)});var ce=B(k,2);let le;A(ie),A(f);var ue=B(f,2),de=e=>{var n=oC(),i=R(n),u=R(i),f=B(u,2);Xi(f),A(i);var p=B(i,2),m=R(p),h=B(m,2);Xi(h),A(p);var x=B(p,2),S=e=>{var t=tC(),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=nC();V(()=>n.disabled=H(d)<=1),U(`click`,n,e=>g(e,H(t))),K(e,n)},ee=e=>{var n=rC();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 D=B(T,2),te=e=>{var n=iC(),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)},ne=e=>{var n=aC();V(()=>n.disabled=H(t).role===`admin`&&H(d)<=1),U(`click`,n,()=>I(c,H(t).id,!0)),K(e,n)};J(D,e=>{H(c)===H(t).id?e(te):e(ne,-1)}),A(w);var O=B(w,2),re=R(O,!0);A(O),A(C),A(n),V(e=>{ea(u,`for`,`dn-${H(t).id??``}`),ea(f,`id`,`dn-${H(t).id??``}`),ea(f,`placeholder`,H(t).username),ea(m,`for`,`desc-${H(t).id??``}`),ea(h,`id`,`desc-${H(t).id??``}`),O.disabled=e,q(re,H(s)?`saving...`:`save`)},[()=>!b(H(t))||H(s)]),la(f,()=>H(a),e=>I(a,e)),la(h,()=>H(o),e=>I(o,e)),U(`click`,O,()=>_(H(t))),wi(3,n,()=>YS,()=>({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`&&Cf.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,cC())};J(C,e=>{H(n).length===0&&e(w)}),A(x),K(e,x),N()}Vr([`click`,`keydown`]);var dC=W(`<div class="error svelte-n9btv2"> </div>`),fC=W(`<div class="loading svelte-n9btv2">Loading prompts...</div>`),pC=W(`<span class="custom-count svelte-n9btv2"> </span>`),mC=W(`<span class="custom-badge svelte-n9btv2">customized</span>`),hC=W(`<span class="var-tag svelte-n9btv2"> </span>`),gC=W(`<div class="var-tags svelte-n9btv2"></div>`),_C=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),vC=W(`<button class="btn btn-reset svelte-n9btv2">Reset</button>`),yC=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),bC=W(`<div><div class="prompt-header svelte-n9btv2"><span class="prompt-key svelte-n9btv2"> </span> <!></div> <p class="prompt-desc svelte-n9btv2"> </p> <!> <!></div>`),xC=W(`<div class="section-body svelte-n9btv2"></div>`),SC=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>`),CC=W(`<div class="prompts-page svelte-n9btv2"><!> <!></div>`);function wC(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 $u(),!0),I(s,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to load prompts`,!0)}finally{I(r,!1)}}va(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 ed(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 td(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=CC(),y=R(v),b=e=>{var t=dC(),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,fC())},C=e=>{var t=G();Y(z(t),17,()=>H(d),e=>e.category,(e,t)=>{var n=SC(),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=pC(),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=xC();Y(n,21,()=>H(t).items,e=>e.key,(e,t)=>{var n=bC();let r;var s=R(n),c=R(s),l=R(c,!0);A(c);var u=B(c,2),d=e=>{K(e,mC())};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=gC();Y(n,20,()=>H(t).variables,e=>e,(e,t)=>{var n=hC(),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=_C(),r=z(n);yn(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)}),la(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=yC(),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=vC();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()}Vr([`click`]);var TC=W(`<div class="error svelte-m1wc4k"> </div> <button class="retry-btn svelte-m1wc4k">Retry</button>`,1),EC=W(`<div class="loading-text svelte-m1wc4k">Loading providers...</div>`),DC=W(`<span class="model-tag svelte-m1wc4k"> <button class="model-tag-remove svelte-m1wc4k">×</button></span>`),OC=W(`<div class="model-tags svelte-m1wc4k"></div>`),kC=W(`<span class="dim svelte-m1wc4k">No models enabled</span>`),AC=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="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>`),jC=W(`<button class="add-provider-btn svelte-m1wc4k" type="button">+ Add a provider</button>`),MC=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>`),NC=W(`<div class="error svelte-m1wc4k"> </div>`),PC=W(`<!> <!> <!> <!>`,1),FC=W(`<option> </option>`),IC=W(`<div class="autocomplete"><select class="select-input svelte-m1wc4k"><option>Select provider...</option><!></select></div>`),LC=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>`),RC=W(`<div class="modal-body svelte-m1wc4k"><!> <!> <!></div>`),zC=W(`<span class="model-desc svelte-m1wc4k"> </span>`),BC=W(`<button class="model-option svelte-m1wc4k"><span class="model-id svelte-m1wc4k"> </span> <!></button>`),VC=W(`<div class="model-list svelte-m1wc4k"></div>`),HC=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>`),UC=W(`<!> <!> <!>`,1);function WC(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===`env_var`?`env var`:``}async function b(){I(s,``);try{I(n,await bd(),!0);let e=await Cd();I(r,e.models,!0),I(i,e.defaultModel,!0)}catch{I(s,`Failed to load imagegen config. Check your connection and try again.`)}}b();function x(){I(c,!1),I(d,!1),I(l,``),I(u,``),I(f,``),I(p,[],!0),I(h,``),I(a,``)}function S(){x(),I(c,!0),H(_).length===1&&I(l,H(_)[0].id,!0)}async function C(){if(!H(l)||!H(u).trim()||H(o))return;I(o,!0),I(a,``);let e=H(l);try{await xd(H(l),H(u).trim()),x(),await b(),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 w(e){I(o,!0),I(a,``);try{await Sd(e),H(i)?.startsWith(`${e}:`)&&I(i,null),await b()}catch(e){I(a,e instanceof Error?e.message:`Failed to remove`,!0)}finally{I(o,!1)}}async function T(){if(H(f).trim()){I(m,!0);try{I(p,await Td(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 E(e){try{let t=[...H(r),e],n=H(r).length===0?e:void 0;await wd(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 ee(e){try{let t=H(r).filter(t=>t!==e);await wd(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(``),te=F(!1);kn(()=>{I(D,H(i)??``,!0)}),kn(()=>{H(r).length>0&&I(te,!0)}),kn(()=>{let e=H(D);H(te)&&(I(i,e||null,!0),wd(H(r),e||null).catch(()=>{}))});var ne={load:b},O=UC(),re=z(O),ie=e=>{var t=TC(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,H(s))),U(`click`,i,()=>b()),K(e,t)},ae=e=>{K(e,EC())},oe=e=>{var t=PC(),n=z(t);Y(n,17,()=>H(g),e=>e.id,(e,t)=>{let n=P(()=>v(H(t).id));var r=AC(),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);A(i);var m=B(i,2),g=R(m),_=e=>{var t=OC();Y(t,20,()=>H(n),e=>e,(e,t)=>{var n=DC(),r=R(n),i=B(r);A(n),V(()=>q(r,`${t??``} `)),U(`click`,i,()=>ee(t)),K(e,n)}),A(t),K(e,t)},b=e=>{K(e,kC())};J(g,e=>{H(n).length>0?e(_):e(b,-1)});var x=B(g,2);A(m),A(r),V(e=>{q(s,H(t).id),q(l,e),u.disabled=H(o)},[()=>y(H(t).authMethod)]),U(`click`,u,()=>w(H(t).id)),U(`click`,x,()=>{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=jC();U(`click`,t,S),K(e,t)};J(i,e=>{H(_).length>0&&e(s)});var l=B(i,2),u=e=>{var t=MC(),n=B(R(t),2);{let e=P(()=>H(r).map(e=>({id:e,label:e})));cx(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),b=e=>{var t=NC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(m,e=>{H(a)&&!H(c)&&!H(d)&&e(b)}),K(e,t)};J(re,e=>{H(s)?e(ie):H(n).length===0?e(ae,1):e(oe,-1)});var k=B(re,2),se=e=>{ro(e,{onClose:x,size:`420px`,title:`Add imagegen provider`,children:(e,t)=>{var n=RC(),r=R(n),i=e=>{var t=IC(),n=R(t),r=R(n);r.value=r.__value=``,Y(B(r),17,()=>H(_),e=>e.id,(e,t)=>{var n=FC(),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),zi(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=LC(),n=R(t);Xi(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()]),Br(`submit`,t,e=>{e.preventDefault(),C()}),la(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=NC(),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(k,e=>{H(c)&&e(se)});var ce=B(k,2),le=e=>{ro(e,{onClose:()=>{I(d,!1),I(f,``),I(p,[],!0)},size:`480px`,get title(){return`Add model — ${H(h)??``}`},children:(e,t)=>{var n=HC(),i=R(n),o=R(i);Xi(o);var s=B(o,2),c=R(s,!0);A(s),A(i);var l=B(i,2),u=e=>{var t=VC();Y(t,21,()=>H(p),e=>e.id,(e,t)=>{var n=BC(),i=R(n),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var n=zC(),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,()=>E(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=NC(),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()]),Br(`submit`,i,e=>{e.preventDefault(),T()}),la(o,()=>H(f),e=>I(f,e)),K(e,n)},$$slots:{default:!0}})};return J(ce,e=>{H(d)&&e(le)}),K(e,O),N(ne)}Vr([`click`]);var GC=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>`),KC=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>`),qC=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>`),JC=W(`<div class="system-card svelte-7kf7oa"><div class="system-info svelte-7kf7oa"><span class="system-label svelte-7kf7oa">Not registered</span></div> <!></div>`),YC=W(`<div class="error svelte-7kf7oa"> </div>`),XC=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">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 ZC(e,t){M(t,!0);let n=F(L(_f.localName??``));async function r(){let e=H(n).trim();try{await id(e),_f.localName=e||null}catch{I(n,_f.localName??``,!0)}}let i=F(``),a=F(`none`),o=F(``),s=F(!1),c=F(``),l=F(``),u=F(!1),d;va(async()=>{d.load();try{let e=await gd();I(c,e.spiritModel??``,!0),I(l,e.utilityModel??``,!0)}catch{}I(u,!0)}),kn(()=>{let e=H(c),t=H(l);H(u)&&_d({spiritModel:e||null,utilityModel:t||null}).catch(()=>{})});async function f(){if(!(!H(o).trim()||H(s))){I(s,!0),I(i,``);try{_f.systemName=(await(H(a)===`register`?ad:od)(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 p(){I(s,!0),I(i,``);try{await sd(),_f.systemName=null}catch(e){I(i,e instanceof Error?e.message:`Logout failed`,!0)}finally{I(s,!1)}}var m=XC(),h=R(m),g=B(R(h),2);Xi(g),A(h);var _=B(h,2),v=B(R(_),2),y=e=>{var t=GC(),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,_f.systemName),a.disabled=H(s),q(o,H(s)?`...`:`Disconnect`)}),U(`click`,a,p),K(e,t)},b=e=>{var t=JC(),n=B(R(t),2),r=e=>{var t=KC(),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=qC(),n=R(t);Xi(n);var r=B(n,2),c=R(r,!0);A(r);var l=B(r,2);A(t),V(e=>{ea(n,`type`,H(a)===`login`?`password`:`text`),ea(n,`placeholder`,H(a)===`register`?`System name`:`API key`),r.disabled=e,q(c,H(s)?`...`:H(a)===`register`?`Register`:`Login`)},[()=>H(s)||!H(o).trim()]),Br(`submit`,t,e=>{e.preventDefault(),f()}),la(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(v,e=>{_f.systemName?e(y):e(b,-1)});var x=B(v,2),S=e=>{var t=YC(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(x,e=>{H(i)&&e(S)}),A(_);var C=B(_,2);ma(zx(B(R(C),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(C);var w=B(C,2);WC(B(R(w),2),{}),A(w),A(m),Br(`blur`,g,r),U(`keydown`,g,e=>{e.key===`Enter`&&e.target.blur()}),la(g,()=>H(n),e=>I(n,e)),K(e,m),N()}Vr([`keydown`,`click`]);var QC=W(`<button> </button>`),$C=W(`<span class="restart-error svelte-138znmo"> </span>`),ew=W(`<div class="spirit-error svelte-138znmo"> </div>`),tw=W(`<div class="spirit-sections svelte-138znmo"><!> <!> <!> <!> <!></div>`),nw=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 rw(e,t){M(t,!0);let n=[`settings`,`mind-defaults`,`prompts`,`skills`,`extensions`,`users`,`spirit`],r={settings:`Settings`,"mind-defaults":`Mind Defaults`,prompts:`Prompts`,skills:`Skills`,extensions:`Extensions`,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 du(`volute`),!0)}catch(e){I(o,e instanceof Error?e.message:`Failed to load spirit`,!0)}}}kn(()=>{H(i)===`spirit`&&c()});let l=F(!1),u=F(null);async function d(){I(l,!0),I(u,null);try{await nd()}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=nw(),p=R(f),m=R(p);Y(m,21,()=>n,ai,(e,t)=>{var n=QC();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=$C(),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=>{ZC(e,{})},C=e=>{VS(e,{})},w=e=>{wC(e,{})},T=e=>{qS(e,{})},E=e=>{pS(e,{})},ee=e=>{uC(e,{get minds(){return Sf.minds}})},D=e=>{var t=G(),n=z(t),r=e=>{var t=ew(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)},i=e=>{var t=tw(),n=R(t);Rv(n,{get mind(){return H(a)},onUpdated:c});var r=B(n,2);oo(r,{title:`Model`,subtitle:`Cognition settings`});var i=B(r,2);Cv(i,{get name(){return H(a).name},get template(){return H(a).template},hideBudget:!0});var o=B(i,2);hy(o,{get name(){return H(a).name}}),Mv(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)===`users`?e(ee,5):H(i)===`spirit`&&e(D,6)}),A(b),A(f),V(()=>{v.disabled=H(l),q(y,H(l)?`Restarting...`:`Restart Daemon`)}),U(`click`,v,d),K(e,f),N()}Vr([`click`]);var iw=W(`<div class="app"><div class="loading svelte-1ocnzw1">Loading...</div></div>`),aw=W(`<div class="app full-height svelte-1ocnzw1"><!></div>`),ow=W(`<button class="sidebar-backdrop svelte-1ocnzw1" aria-label="Close sidebar"></button>`),sw=W(`<span class="crumb-sep svelte-1ocnzw1">/</span>`),cw=W(`<button class="crumb-link svelte-1ocnzw1"> </button>`),lw=W(`<span class="crumb-current svelte-1ocnzw1"> </span>`),uw=W(`<!> <!>`,1),dw=W(`<span class="tab-icon svelte-1ocnzw1"></span>`),fw=W(`<button><!></button>`),pw=W(`<div class="mind-section-tabs svelte-1ocnzw1"></div>`),mw=W(`<button><span class="tab-icon svelte-1ocnzw1"></span></button>`),hw=W(`<div class="mind-section-tabs svelte-1ocnzw1"><button aria-label="History"><span class="tab-icon svelte-1ocnzw1"></span></button> <!></div>`),gw=W(`<img alt="" class="user-avatar-img svelte-1ocnzw1"/>`),_w=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>`),vw=W(`<button class="panel-reopen svelte-1ocnzw1" title="Show sidebar"><!></button>`),yw=W(`<button class="right-panel-backdrop svelte-1ocnzw1" aria-label="Close panel"></button>`),bw=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),xw=W(`<!> <div class="resize-handle right-resize-handle svelte-1ocnzw1" role="separator" aria-label="Resize panel"></div> <div><!></div>`,1),Sw=W(`<div class="modal-scroll-body svelte-1ocnzw1"><!></div>`),Cw=W(`<div class="shell svelte-1ocnzw1"><!> <div class="shell-body svelte-1ocnzw1"><div><button class="sidebar-header svelte-1ocnzw1"><span class="header-logo-wrap svelte-1ocnzw1"><img src="/logo.png" alt="" class="sidebar-logo svelte-1ocnzw1"/> <span class="hover-dot svelte-1ocnzw1"></span></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 ww(e,t){M(t,!0);let n=F(L(Qp(Sf.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,...Sf.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);kn(()=>{I(h,H(g),!0)});let y=P(()=>{let e=H(n);if(e.kind===`channel`)return Sf.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 Sf.conversations.find(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];return n.length===2?n.some(e=>e.username===t):!1})?.id??null}return null});kn(()=>{kf(H(y)),I(m,!1)});let b=P(()=>{let e=H(n);if(e.kind===`channel`)return Sf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)}),x=P(()=>{let e=H(n);if(e.kind===`mind`)return Sf.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))),D=P(()=>H(ee)&&(!H(h)||H(g)&&H(m))),te=P(()=>H(n).kind===`channel`?H(b)?.type===`channel`&&H(b).channel_name?`#${H(b).channel_name}`:H(n).slug:``),ne=P(()=>{let e=H(n),t=[];if(e.kind===`mind`){if(t.push({label:`system`,action:ge}),t.push({label:e.name,action:()=>em(`/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?()=>em(`/minds/${e.name}/${n}`):void 0}),e.subpath&&t.push({label:e.subpath})}}else if(e.kind===`channel`)t.push({label:H(te)});else if(e.kind===`extension`){t.push({label:`system`,action:ge});let n=Sf.extensions.find(t=>t.id===e.extensionId),r=n?.systemSection?.urlPatterns?.[0];if(t.push({label:n?.name??e.extensionId,action:e.path?()=>em(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?()=>em(`${r}/${a}`):void 0})}}}else e.kind,t.push({label:`system`});return t}),O=F(!1);async function re(){await bf(),yp()&&(await Dp(),I(O,!0))}va(()=>{Tp().then(e=>{e?yf():(I(O,!0),_f.checked=!0)}).catch(()=>{I(O,!0),_f.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;em(e.data.path)}};return window.addEventListener(`message`,r),()=>{e.removeEventListener(`change`,t),window.removeEventListener(`message`,r)}}),kn(()=>{if(_f.user)return Nf(),()=>Pf()}),kn(()=>{_f.user&&of()}),kn(()=>{_f.user&&Gl().then(e=>{I(v,e?.avatar?`/api/auth/avatars/${e.avatar}`:null,!0)}).catch(e=>{console.warn(`Failed to fetch user profile:`,e)})}),kn(()=>{if(Sf.extensions.length>0){let e=Qp(Sf.extensions);e.kind===`extension`&&H(n).kind===`system-history`&&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 ie=F(!1);kn(()=>{let e=()=>{I(ie,!0),I(n,Qp(Sf.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(),em(n))};return document.addEventListener(`click`,t),()=>{window.removeEventListener(`popstate`,e),document.removeEventListener(`click`,t)}}),kn(()=>{let e=$p(H(n),Sf.extensions),t=window.location.pathname+window.location.search;t!==e&&(H(n).kind===`system-history`&&Sf.extensions.length===0&&t!==`/`||(H(ie)?window.history.replaceState(null,``,e):window.history.pushState(null,``,e))),I(ie,!1)}),kn(()=>{if(H(n).kind!==`channel`||!H(n).slug.startsWith(`__conv:`))return;let e=H(n).slug.replace(`__conv:`,``),t=Sf.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!==_f.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}});function ae(){I(m,!0)}function oe(){H(w)&&(I(l,null),I(u,null)),I(m,!1),I(h,!0)}function k(){H(g)?I(m,!H(m)):I(h,!H(h))}function se(e){I(u,e,!0),I(l,`mind`),I(m,!0),I(h,!1)}function ce(e){let t=Sf.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!==_f.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}kf(e),Vf(),H(l)===`mind`&&(I(l,null),I(u,null))}async function le(e){try{await bu(e)}catch(e){console.error(`Failed to delete conversation:`,e);return}Nf(),H(y)===e&&I(n,{kind:`system-history`},!0)}function ue(e){kf(e),Nf()}function de(e){I(l,null),I(u,null),Vf(),I(n,{kind:`mind`,name:e},!0)}function fe(e){I(l,null),I(u,null),Vf(),Nf(),e.type===`channel`&&e.channel_name&&I(n,{kind:`channel`,slug:e.channel_name},!0)}function pe(e){I(l,null),I(u,null),Vf(),I(n,{kind:`mind`,name:e},!0)}function me(e){xf(e)}function he(e){Rf(e),H(y)===e&&I(n,{kind:`system-history`},!0)}function ge(){I(n,{kind:`system-history`},!0)}function _e(e){I(n,{kind:`mind`,name:e},!0),Vf()}function ve(e,t,r){I(n,{kind:`mind`,name:e,section:t,subpath:r},!0)}function ye(e,t){I(n,{kind:`extension`,extensionId:e,path:t??``},!0),Vf()}function be(e){I(f,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function xe(e){if(!H(f))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();Uf.width=Math.max(180,Math.min(400,e.clientX-n.left))}function Se(){H(f)&&(I(f,!1),document.body.style.userSelect=``,document.body.style.cursor=``,Wf())}let Ce=F(!1);function we(e){I(Ce,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function Te(e){if(!H(Ce))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();Kf.width=Math.max(240,Math.min(600,n.right-e.clientX))}function Ee(){H(Ce)&&(I(Ce,!1),document.body.style.userSelect=``,document.body.style.cursor=``,qf())}function De(e){if(e.key===`Escape`){if(H(_)){I(_,!1);return}if(H(m)){oe();return}if(zf.sidebarOpen){Vf();return}}}function Oe(e){H(_)&&!e.target.closest(`.user-menu-anchor`)&&I(_,!1)}var ke=G();Br(`keydown`,rn,De),Br(`click`,an,Oe);var Ae=z(ke),je=e=>{K(e,iw())},Me=e=>{var t=aw();aS(R(t),{onComplete:()=>{_f.setupComplete=!0,Nf(),requestAnimationFrame(()=>{I(n,{kind:`mind`,name:`volute`},!0)})}}),A(t),K(e,t)},Ne=e=>{var t=aw();Np(R(t),{onConnected:e=>{I(O,!1),xf(e)}}),A(t),K(e,t)},Pe=e=>{var t=aw();Lp(R(t),{onAuth:me}),A(t),K(e,t)},Fe=e=>{var t=Cw(),r=z(t),i=R(r),u=e=>{tx(e,{})};J(i,e=>{_f.user.role===`admin`&&e(u)});var f=B(i,2),y=R(f);let x,w;var te=R(y),O=B(R(te),2),ie=R(O,!0);A(O),A(te);var me=B(te,2);{let e=P(()=>Sf.conversations.filter(e=>!If.has(e.id)));H_(me,{get minds(){return Sf.minds},get conversations(){return H(e)},get selection(){return H(n)},get username(){return _f.user.username},onHome:ge,onSelectMind:_e,onSelectMindSection:(e,t)=>{I(d,e,!0),t===`history`?I(l,`mindHistory`):t===`files`?I(l,`mindFiles`):t===`settings`?I(l,`mindSettings`):t===`context`&&I(l,`mindContext`)},onSelectSystemSection:e=>{e===`settings`?I(l,`systemSettings`):e===`logs`&&I(l,`systemLogs`)},onSelectConversation:ce,onDeleteConversation:le,onBrowseChannels:()=>I(l,`channelBrowser`),onOpenMind:se,onSeed:()=>I(l,`seed`),onHideConversation:he})}A(y);var Ce=B(y,2),De=e=>{var t=ow();U(`click`,t,function(...e){Vf?.apply(this,e)}),K(e,t)};J(Ce,e=>{zf.sidebarOpen&&e(De)});var Oe=B(Ce,2),ke=B(Oe,2),Ae=R(ke);let je;var Me=R(Ae),Ne=R(Me),Pe=B(Ne,2);Y(Pe,21,()=>H(ne),ai,(e,t,n)=>{var r=uw(),i=z(r),a=e=>{K(e,sw())};J(i,e=>{n>0&&e(a)});var o=B(i,2),s=e=>{var n=cw(),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=lw(),r=R(n,!0);A(n),V(()=>q(r,H(t).label)),K(e,n)};J(o,e=>{H(t).action&&n<H(ne).length-1?e(s):e(c,-1)}),K(e,r)}),A(Pe);var Fe=B(Pe,2),Ie=e=>{var t=pw();Y(t,21,()=>H(S),ai,(e,t)=>{var n=fw();let r;var i=R(n),s=e=>{var n=dw();mi(n,()=>H(t).icon,!0),A(n),K(e,n)};J(i,e=>{H(t).icon&&e(s)}),A(n),Ei(n,(e,t)=>Ml?.(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,()=>ve(H(a),H(t).key,H(t).defaultPath)),K(e,n)}),A(t),K(e,t)},j=e=>{var t=hw(),r=R(t);let i;var a=R(r);mi(a,()=>Eo.history,!0),A(a),A(r),Ei(r,(e,t)=>Ml?.(e,t),()=>({text:`History`,position:`bottom`})),Y(B(r,2),17,()=>Sf.extensions,ai,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=mw();let r;var i=R(n);mi(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),Ei(n,(e,t)=>Ml?.(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,()=>ye(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(Fe,e=>{H(a)?e(Ie):H(s)&&e(j,1)});var Le=B(Fe,2),Re=R(Le),ze=R(Re),Be=R(ze),Ve=e=>{var t=gw();V(()=>ea(t,`src`,H(v))),K(e,t)},He=e=>{Za(e,{kind:`brain`})};J(Be,e=>{H(v)?e(Ve):e(He,-1)}),A(ze);var Ue=B(ze,2),We=e=>{var t=_w(),n=R(t),r=B(n,2);A(t),U(`click`,n,()=>{I(_,!1),I(l,`userSettings`)}),U(`click`,r,()=>{I(_,!1),re()}),K(e,t)};J(Ue,e=>{H(_)&&e(We)}),A(Re);var Ge=B(Re,2),M=e=>{var t=vw();Za(R(t),{kind:`history`}),A(t),U(`click`,t,k),K(e,t)};J(Ge,e=>{H(ee)&&H(h)&&e(M)}),A(Le),A(Me);var N=B(Me,2),Ke=R(N);{let e=P(()=>H(ee)?ae:void 0);t_(Ke,{get selection(){return H(n)},get minds(){return Sf.minds},get conversations(){return Sf.conversations},get username(){return _f.user.username},onConversationId:ue,onSelectConversation:ce,onOpenMind:se,onTypingNames:e=>{I(p,e,!0)},get onToggleSidebar(){return Bf},get onOpenRightPanel(){return H(e)}})}A(N),A(Ae);var qe=B(Ae,2),Je=e=>{var t=xw(),n=z(t),r=e=>{var t=yw();U(`click`,t,oe),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=bw(),n=z(t);ii(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)?()=>de(H(C).name):void 0);pv(e,{get mind(){return H(C)},get onExpand(){return H(t)},get onChat(){return H(n)}})}}),U(`click`,n,oe),K(e,t)},f=e=>{mp(e,{get conversation(){return H(b)},get minds(){return Sf.minds},get typingNames(){return H(p)},onOpenMind:se,onClose:oe})};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:`${Kf.width??``}px`})}),U(`pointerdown`,i,we),U(`pointermove`,i,Te),U(`pointerup`,i,Ee),Br(`pointercancel`,i,Ee),K(e,t)};J(qe,e=>{H(D)&&e(Je)}),A(ke),A(f),A(r);var Ye=B(r,2),Xe=e=>{wy(e,{onClose:()=>I(l,null),onJoined:fe})};J(Ye,e=>{H(l)===`channelBrowser`&&e(Xe)});var Ze=B(Ye,2),Qe=e=>{ub(e,{onClose:()=>I(l,null),onCreated:pe})};J(Ze,e=>{H(l)===`seed`&&e(Qe)});var $e=B(Ze,2),et=e=>{yb(e,{onClose:()=>I(l,null)})};J($e,e=>{H(l)===`userSettings`&&e(et)});var tt=B($e,2),nt=e=>{ro(e,{get title(){return`History — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=Sw(),r=R(n);{let e=P(()=>Sf.minds.find(e=>e.name===H(d))?.status);qg(r,{get name(){return H(d)},get mindStatus(){return H(e)}})}A(n),K(e,n)},$$slots:{default:!0}})};J(tt,e=>{H(l)===`mindHistory`&&H(d)&&e(nt)});var rt=B(tt,2),it=e=>{ro(e,{get title(){return`Files — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=Sw();Ib(R(n),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(rt,e=>{H(l)===`mindFiles`&&H(d)&&e(it)});var at=B(rt,2),ot=e=>{let t=P(()=>Sf.minds.find(e=>e.name===H(d)));var n=G(),r=z(n),i=e=>{ro(e,{get title(){return`Settings — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,n)=>{vy(e,{get mind(){return H(t)}})},$$slots:{default:!0}})};J(r,e=>{H(t)&&e(i)}),K(e,n)};J(at,e=>{H(l)===`mindSettings`&&H(d)&&e(ot)});var st=B(at,2),ct=e=>{$y(e,{get mindName(){return H(d)},onClose:()=>{I(l,null),I(d,null)}})};J(st,e=>{H(l)===`mindContext`&&H(d)&&e(ct)});var lt=B(st,2),ut=e=>{ro(e,{title:`Settings`,onClose:()=>I(l,null),children:(e,t)=>{rw(e,{})},$$slots:{default:!0}})};J(lt,e=>{H(l)===`systemSettings`&&e(ut)});var dt=B(lt,2),ft=e=>{ro(e,{title:`System Logs`,onClose:()=>I(l,null),children:(e,t)=>{var n=Sw();Xb(R(n),{}),A(n),K(e,n)},$$slots:{default:!0}})};J(dt,e=>{H(l)===`systemLogs`&&e(ft)}),V(()=>{x=X(y,1,`sidebar svelte-1ocnzw1`,null,x,{"sidebar-open":zf.sidebarOpen}),w=Z(y,``,w,{width:`${Uf.width??``}px`}),q(ie,_f.localName||`volute`),je=X(Ae,1,`main-column svelte-1ocnzw1`,null,je,{"has-right-panel":H(D)}),ea(ze,`title`,_f.user?.username)}),U(`click`,te,ge),U(`pointerdown`,Oe,be),U(`pointermove`,Oe,xe),U(`pointerup`,Oe,Se),Br(`pointercancel`,Oe,Se),U(`click`,Ne,function(...e){Bf?.apply(this,e)}),U(`click`,ze,()=>{I(_,!H(_))}),K(e,t)};J(Ae,e=>{_f.checked?_f.setupComplete?H(O)?e(Ne,2):_f.user?e(Fe,-1):e(Pe,3):e(Me,1):e(je)}),K(e,ke),N()}Vr([`click`,`pointerdown`,`pointermove`,`pointerup`]),Qr(ww,{target:document.getElementById(`root`)});
|
|
73
|
+
`)}function Xp(e){let t=e.split(`/`).filter(Boolean).map(e=>e===`*`?`(.*)`:e.startsWith(`:`)?`([^/]+)`:e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`));return RegExp(`^/${t.join(`/`)}(?:/(.*))?$`)}function Zp(e){let t=e.systemSection?.urlPatterns;if(!t?.length)return null;let n=t[0].split(`/`).filter(Boolean)[0];return n?`/${n}`:null}function Qp(e,t){for(let n of t){let t=n.systemSection;if(t?.urlPatterns)for(let r of t.urlPatterns){let t=Xp(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 $p(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 em(e=[]){let t=window.location.pathname,n=new URLSearchParams(window.location.search);if(t===`/history`||t===`/system/settings`||t===`/settings`||t.startsWith(`/settings/`))return{kind:`system-history`};let r=t.match(/^\/minds\/([^/]+)\/([^/]+)\/(.+)$/);if(r){let[,t,n,i]=r;return{kind:`mind`,name:t,section:$p(n,e)??n,subpath:i}}let i=t.match(/^\/minds\/([^/]+)\/([^/]+)$/);if(i){let[,t,n]=i;return{kind:`mind`,name:t,section:$p(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=Qp(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:`system-history`}}return{kind:`system-history`}}function tm(e,t=[]){switch(e.kind){case`system-history`:return`/`;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?Zp(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 nm(e){window.history.pushState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))}var rm=W(`<div class="empty-hint svelte-11yxpr8">Nothing here yet.</div>`),im=W(`<div class="feed-item svelte-11yxpr8"><!></div>`),am=W(`<div class="msg-empty svelte-11yxpr8">Loading...</div>`),om=W(`<div class="chat-entry-header svelte-11yxpr8"><span> </span> <span class="chat-timestamp svelte-11yxpr8"> </span></div>`),sm=W(`<div class="markdown-body"></div>`),cm=W(`<div><!> <div><!></div></div>`),lm=W(`<div class="feed-item svelte-11yxpr8"><div class="feed-card card-chat svelte-11yxpr8" role="button" tabindex="0"><div class="feed-card-header header-chat svelte-11yxpr8"><svg class="feed-card-icon svelte-11yxpr8" 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"></path></svg> <span class="feed-card-label svelte-11yxpr8"> </span> <span class="feed-card-meta svelte-11yxpr8"> </span> <button class="card-action-btn card-action-btn-primary svelte-11yxpr8">Chat</button></div> <div class="feed-card-body chat-body svelte-11yxpr8" role="log"><!></div></div></div>`),um=W(`<div class="feed-grid svelte-11yxpr8"></div>`),dm=W(`<div class="home svelte-11yxpr8"><!></div>`);function fm(e,t){M(t,!0);let n=F(L([]));kn(()=>{let e=wf.extensions,t=[],r=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(r).then(()=>{I(n,t,!0)})});let r=P(()=>[...t.conversations].filter(e=>e.lastMessage).sort((e,t)=>{let n=new Date(Pl(e.updated_at)).getTime();return new Date(Pl(t.updated_at)).getTime()-n}).slice(0,6)),i=L({}),a=L({});kn(()=>{let e=H(r);for(let t of e)i[t.id]||yu(t.id,{limit:10}).then(e=>{i[t.id]=e.items,requestAnimationFrame(()=>{let e=a[t.id];e&&(e.scrollTop=e.scrollHeight)})}).catch(()=>{i[t.id]=[]})});let o=P(()=>{let e=[];for(let t of H(r))e.push({kind:`message`,conv:t,date:t.updated_at});for(let t of H(n))e.push({kind:`extension`,item:t,date:t.date});return e.sort((e,t)=>{let n=new Date(Pl(e.date)).getTime();return new Date(Pl(t.date)).getTime()-n}),e});function s(e){if(e.type===`channel`&&e.channel_name)return`#${e.channel_name}`;let t=e.participants??[];if(e.type===`dm`&&t.length===2){let e=t.find(e=>e.userType===`mind`),n=t.find(t=>t.username!==e?.username);if(e&&n)return`@${e.username}`}let n=t.map(e=>e.username);return n.length>0?n.join(`, `):`Conversation`}var c=dm(),l=R(c),u=e=>{K(e,rm())},d=e=>{var n=um();Y(n,21,()=>H(o),e=>e.kind===`extension`?`ext-${e.item.id}`:`msg-${e.conv.id}`,(e,n)=>{var r=G(),o=z(r),c=e=>{var t=im();Kp(R(t),{get title(){return H(n).item.title},get url(){return H(n).item.url},get date(){return H(n).item.date},get author(){return H(n).item.author},get bodyHtml(){return H(n).item.bodyHtml},get iframeUrl(){return H(n).item.iframeUrl},get icon(){return H(n).item.icon},get color(){return H(n).item.color},onclick:()=>nm(H(n).item.url)}),A(t),K(e,t)},l=e=>{let r=P(()=>H(n).conv),o=P(()=>s(H(r))),c=P(()=>i[H(r).id]??[]);var l=lm(),u=R(l),d=R(u),f=B(R(d),2),p=R(f,!0);A(f);var m=B(f,2),h=R(m,!0);A(m);var g=B(m,2);A(d);var _=B(d,2),v=R(_),y=e=>{K(e,am())},b=e=>{var n=G();Y(z(n),19,()=>H(c),e=>e.id,(e,n,r)=>{var i=cm();let a;var o=R(i),s=e=>{var r=om(),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-11yxpr8`,null,a,{"chat-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?t.username:``)),q(c,e)},[()=>qp(H(n).created_at)]),K(e,r)},l=P(()=>Jp(H(c),H(r)));J(o,e=>{H(l)&&e(s)});var u=B(o,2);let d;var f=R(u),p=e=>{var t=Xr();V(e=>q(t,e),[()=>Yp(H(n).content)]),K(e,t)},m=e=>{var t=sm();mi(t,()=>Al(Yp(H(n).content)),!0),A(t),K(e,t)};J(f,e=>{H(n).role===`user`?e(p):e(m,-1)}),A(u),A(i),V(e=>{a=X(i,1,`chat-entry svelte-11yxpr8`,null,a,e),d=X(u,1,`chat-entry-content svelte-11yxpr8`,null,d,{"chat-user-text":H(n).role===`user`})},[()=>({"new-sender":Jp(H(c),H(r))})]),K(e,i)}),K(e,n)};J(v,e=>{H(c).length===0?e(y):e(b,-1)}),A(_),ma(_,e=>a[H(r).id]=e,()=>a?.[H(r).id]),A(u),A(l),V(e=>{q(p,H(o)),q(h,e)},[()=>Il(H(r).updated_at)]),U(`click`,u,()=>t.onSelectConversation(H(r).id)),U(`keydown`,u,e=>{e.key===`Enter`&&t.onSelectConversation(H(r).id)}),U(`click`,g,e=>{e.stopPropagation(),t.onSelectConversation(H(r).id)}),Br(`scroll`,_,e=>{let t=e.currentTarget;t.scrollTop<10&&(t.scrollTop=10)}),K(e,l)};J(o,e=>{H(n).kind===`extension`?e(c):e(l,-1)}),K(e,r)}),A(n),K(e,n)};J(l,e=>{H(o).length===0?e(u):e(d,-1)}),A(c),K(e,c),N()}Vr([`click`,`keydown`]);var pm=W(`<button class="mind-link svelte-r4qz00"><span class="dot iridescent svelte-r4qz00"></span> </button>`),mm=W(`<div class="indicator responding svelte-r4qz00"><!> <span> </span></div>`),hm=W(`<div class="indicator active-elsewhere svelte-r4qz00"><!> <span> </span></div>`),gm=W(`<div class="indicator typing svelte-r4qz00"> </div>`),_m=W(`<!> <!> <!>`,1);function vm(e,t){M(t,!0);let n=_a(t,`minds`,19,()=>[]),r=P(()=>new Set(t.mindParticipants)),i=P(()=>t.typingNames.filter(e=>H(r).has(e))),a=P(()=>t.mindParticipants.filter(e=>Tf.has(e)&&!t.typingNames.includes(e))),o=P(()=>t.typingNames.filter(e=>!H(r).has(e)));function s(e){let r=n().find(t=>t.name===e);r&&t.onOpenMind&&t.onOpenMind(r)}var c=_m(),l=z(c),u=e=>{var t=mm(),n=R(t);Y(n,17,()=>H(i),ai,(e,t)=>{var n=pm(),r=B(R(n));A(n),V(()=>q(r,` ${H(t)??``}`)),U(`click`,n,()=>s(H(t))),K(e,n)});var r=B(n,2),a=R(r);A(r),A(t),V(()=>q(a,`${H(i).length===1?`is`:`are`} responding`)),K(e,t)};J(l,e=>{H(i).length>0&&e(u)});var d=B(l,2),f=e=>{var t=hm(),n=R(t);Y(n,17,()=>H(a),ai,(e,t)=>{var n=pm(),r=B(R(n));A(n),V(()=>q(r,` ${H(t)??``}`)),U(`click`,n,()=>s(H(t))),K(e,n)});var r=B(n,2),i=R(r);A(r),A(t),V(()=>q(i,`${H(a).length===1?`is`:`are`} active`)),K(e,t)};J(d,e=>{H(a).length>0&&e(f)});var p=B(d,2),m=e=>{var t=gm(),n=R(t);A(t),V(e=>q(n,`${e??``} ${H(o).length===1?`is`:`are`} typing...`),[()=>H(o).join(`, `)]),K(e,t)};J(p,e=>{H(o).length>0&&e(m)}),K(e,c),N()}Vr([`click`]);var ym=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>`),bm=W(`<div class="image-strip svelte-69hg31"></div>`),xm=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>`),Sm=W(`<div class="file-strip svelte-69hg31"></div>`),Cm=W(`<button>Image</button> <button>File</button>`,1),wm=Yr(`<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>`),Tm=Yr(`<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>`),Em=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 Dm(e,t){M(t,!0);let n=_a(t,`mindName`,3,``),r=_a(t,`conversationId`,3,null),i=_a(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()&&(wu(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,wu(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&&(wu(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)}}kn(()=>()=>{r()&&n()&&i()&&d>0&&wu(n(),r(),i(),!1)});var x=Em(),S=z(x),C=e=>{var t=bm();Y(t,23,()=>H(o),e=>e.preview,(e,t,n)=>{var r=ym(),i=R(r),a=B(i,2);A(r),V(()=>ea(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=Sm();Y(t,23,()=>H(s),(e,t)=>e.filename+t,(e,t,n)=>{var r=xm(),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);ma(E,e=>l=e,()=>l);var ee=B(E,2);ma(ee,e=>u=e,()=>u);var D=B(ee,2),te=R(D);let ne;var O=R(te),re=B(O,2);wa(re,{get open(){return H(p)},onclose:()=>I(p,!1),direction:`up`,children:(e,t)=>{var n=Cm(),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);yn(ie),ea(ie,`rows`,1),ma(ie,e=>c=e,()=>c);var ae=B(ie,2);let oe;var k=R(ae),se=e=>{K(e,wm())},ce=e=>{K(e,Tm())};J(k,e=>{t.sending?e(se):e(ce,-1)}),A(ae),A(te),A(D),V((e,t)=>{ne=X(te,1,`input-box svelte-69hg31`,null,ne,{focused:H(f)}),ae.disabled=e,oe=X(ae,1,`inline-btn send svelte-69hg31`,null,oe,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,_),Br(`focus`,ie,()=>I(f,!0)),Br(`blur`,ie,()=>{I(f,!1),v()}),la(ie,()=>H(a),e=>I(a,e)),U(`click`,ae,h),K(e,x),N()}Vr([`click`,`change`,`keydown`,`input`]);var Om=W(`<span> </span>`),km=W(`<div class="tool-section-label svelte-iivm65" style="margin-top: 8px">output:</div> <pre> </pre>`,1),Am=W(`<div class="tool-detail svelte-iivm65"><div class="tool-section-label svelte-iivm65">input:</div> <pre class="tool-pre svelte-iivm65"> </pre> <!></div>`),jm=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 Mm(e,t){M(t,!0);let n=_a(t,`isError`,3,!1),r=_a(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(`
|
|
74
|
+
`)[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=jm(),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=Om();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=Am(),i=B(R(r),2),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var r=km(),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()}Vr([`click`]);var Nm=W(`<button class="sender sender-link svelte-1bfejg9"> </button>`),Pm=W(`<span class="sender svelte-1bfejg9"> </span>`),Fm=W(`<span class="timestamp svelte-1bfejg9"> </span>`),Im=W(`<div class="entry-header svelte-1bfejg9"><!> <!></div>`),Lm=W(`<span class="timestamp inline-time svelte-1bfejg9"> </span>`),Rm=W(`<div class="user-text svelte-1bfejg9"> </div>`),zm=W(`<img alt="" class="chat-image svelte-1bfejg9"/>`),Bm=W(`<div class="markdown-body"></div>`),Vm=W(`<div><!> <div class="entry-content svelte-1bfejg9"><!></div></div>`);function Hm(e,t){M(t,!0);let n=_a(t,`showHeader`,3,!0),r=_a(t,`showDate`,3,!1),i=_a(t,`senderColor`,3,`var(--text-0)`),a=_a(t,`participants`,19,()=>[]);function o(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 s(e){if(!e)return``;try{let t=new Date(Pl(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 c(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 l=Vm();let u;var d=R(l),f=e=>{var n=Im(),r=R(n),a=e=>{let n=P(()=>o(t.senderName)),r=P(()=>t.mindsByName.get(t.senderName));var a=G(),s=z(a),c=e=>{sp(e,{get profile(){return H(n)},children:e=>{var a=G(),o=z(a),s=e=>{var a=Nm();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=Pm();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=Pm();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.senderName)}),K(e,n)};J(s,e=>{H(n)?e(c):e(l,-1)}),K(e,a)},c=e=>{var n=Pm();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(c,-1)});var l=B(r,2),u=e=>{var n=Fm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>s(t.createdAt)]),K(e,n)};J(l,e=>{t.createdAt&&e(u)}),A(n),K(e,n)},p=e=>{var n=Lm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>s(t.createdAt)]),K(e,n)};J(d,e=>{n()?e(f):t.createdAt&&e(p,1)});var m=B(d,2),h=R(m),g=e=>{var n=G();Y(z(n),17,()=>t.blocks,ai,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Rm(),r=R(n,!0);A(n),V(()=>q(r,H(t).text)),K(e,n)},a=e=>{var n=zm();V(()=>ea(n,`src`,`data:${H(t).media_type};base64,${H(t).data}`)),K(e,n)};J(r,e=>{H(t).type===`text`?e(i):H(t).type===`image`&&e(a,1)}),K(e,n)}),K(e,n)},_=e=>{let n=P(()=>c(t.blocks));var r=G();Y(z(r),17,()=>H(n),ai,(e,n,r)=>{var i=G(),a=z(i),o=e=>{var t=Bm();mi(t,()=>Al(H(n).text),!0),A(t),K(e,t)},s=e=>{let i=P(()=>t.entryIndex*1e3+r);{let r=P(()=>H(n).tool.isError??!1),a=P(()=>t.openTools.has(H(i)));Mm(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))})}},c=e=>{var t=zm();V(()=>ea(t,`src`,`data:${H(n).media_type};base64,${H(n).data}`)),K(e,t)};J(a,e=>{H(n).kind===`text`?e(o):H(n).kind===`tool`?e(s,1):H(n).kind===`image`&&e(c,2)}),K(e,i)}),K(e,r)};J(h,e=>{t.role===`user`?e(g):e(_,-1)}),A(m),A(l),V(()=>u=X(l,1,`entry svelte-1bfejg9`,null,u,{"new-sender":n()})),K(e,l),N()}Vr([`click`]);var Um=W(`<div class="loading-older svelte-xwfq15">Loading older messages...</div>`),Wm=W(`<div class="load-more svelte-xwfq15"><button class="load-more-btn svelte-xwfq15">Load older messages</button></div>`),Gm=W(`<div class="empty error svelte-xwfq15"> </div>`),Km=W(`<div class="empty svelte-xwfq15">Send a message to start chatting.</div>`),qm=W(`<div class="divider svelte-xwfq15"><div class="divider-line svelte-xwfq15"></div> <span> </span> <div class="divider-line svelte-xwfq15"></div></div>`),Jm=W(`<div class="messages svelte-xwfq15"><!> <!> <!> <!></div>`);function Ym(e,t){M(t,!0);let n=_a(t,`loadError`,3,``),r=_a(t,`hasMore`,3,!1),i=_a(t,`loadingOlder`,3,!1),a=_a(t,`minds`,19,()=>[]),o=_a(t,`participants`,19,()=>[]),s,c=F(L(new Set)),l=!0,u=P(()=>new Map(a().map(e=>[e.name,e]))),d=[`var(--blue)`,`var(--purple)`,`var(--yellow)`,`var(--red)`,`var(--accent)`],f=P(()=>{let e=new Map;for(let n of t.entries){let t=n.senderName;t&&!e.has(t)&&e.set(t,d[e.size%d.length])}return e});function p(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 m(e){if(!e)return``;try{return new Date(Pl(e)).toLocaleDateString()}catch{return``}}function h(e){let n=t.entries[e];if(!n.createdAt)return!1;if(e===0)return!0;let r=t.entries[e-1];return m(n.createdAt)!==m(r.createdAt)}function g(e){return e.role===`user`?e.senderName?H(f).get(e.senderName)??`var(--blue)`:`var(--blue)`:e.senderName?H(f).get(e.senderName)??`var(--accent)`:`var(--accent)`}function _(e){let t=new Set(H(c));t.has(e)?t.delete(e):t.add(e),I(c,t,!0)}function v(e){let t=e||l;requestAnimationFrame(()=>{requestAnimationFrame(()=>{!s||!t||(s.scrollTop=s.scrollHeight)})})}function y(){I(c,new Set,!0)}kn(()=>{if(!s)return;let e=new ResizeObserver(()=>{l&&(s.scrollTop=s.scrollHeight)});return e.observe(s),()=>e.disconnect()});function b(){s&&(l=s.scrollHeight-s.scrollTop-s.clientHeight<100,!(!r()||i()||!t.onLoadOlder)&&s.scrollTop<100&&t.onLoadOlder())}var x={scrollToBottom:v,resetToolState:y},S=Jm(),C=R(S),w=e=>{K(e,Um())};J(C,e=>{i()&&e(w)});var T=B(C,2),E=e=>{var n=Wm(),r=R(n);A(n),U(`click`,r,function(...e){t.onLoadOlder?.apply(this,e)}),K(e,n)};J(T,e=>{r()&&!i()&&e(E)});var ee=B(T,2),D=e=>{var t=Gm(),r=R(t,!0);A(t),V(()=>q(r,n())),K(e,t)},te=e=>{K(e,Km())};return J(ee,e=>{n()?e(D):t.entries.length===0&&e(te,1)}),Y(B(ee,2),19,()=>t.entries,e=>e.id,(e,n,r)=>{var i=G(),a=z(i),s=e=>{var t=qm(),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)},l=P(()=>H(n).senderName===`system`&&H(n).blocks.length===1&&H(n).blocks[0].type===`text`&&H(n).blocks[0].text.match(/^\[.+\]$/)),d=e=>{{let i=P(()=>p(H(r))),a=P(()=>h(H(r))),s=P(()=>g(H(n)));Hm(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(c)},onToggleTool:_,get mindsByName(){return H(u)},get participants(){return o()},get onOpenMind(){return t.onOpenMind}})}};J(a,e=>{H(l)?e(s):e(d,-1)}),K(e,i)}),A(S),ma(S,e=>s=e,()=>s),Br(`scroll`,S,b),K(e,S),N(x)}Vr([`click`]);var Xm=W(`<div class="orientation-bar svelte-1mfgy18">orientation</div>`),Zm=W(`<div class="channel-header svelte-1mfgy18"><span class="channel-title svelte-1mfgy18"> </span></div>`),Qm=W(`<div class="chat svelte-1mfgy18"><!> <!> <!> <!> <!></div>`);function $m(e,t){M(t,!0);let n=_a(t,`convType`,3,`dm`),r=_a(t,`channelName`,3,``),i=_a(t,`minds`,19,()=>[]),a=_a(t,`participants`,19,()=>[]),o=0,s=F(L([])),c=F(``),l=F(!1),u=F(L([])),d=F(!1),f=F(!1),p=null,m=0,h,g=P(()=>{let e=a().filter(e=>e.userType===`mind`).map(e=>e.username);return e.length>0?e:n()===`dm`&&i().some(e=>e.name===t.name)?[t.name]:[]});kn(()=>{t.onTypingNames?.(H(u))});let _=new Map;function v(e){return Array.isArray(e)?e:[{type:`text`,text:String(e)}]}function y(e){return e.map(e=>({id:o++,serverId:e.id,role:e.role,blocks:v(e.content),senderName:e.sender_name??void 0,createdAt:e.created_at}))}async function b(e,t){let n=_.get(e);if(n&&!t){I(s,n.entries,!0),I(d,n.hasMore,!0);return}try{let n=await yu(e,{limit:50});I(c,``),I(s,y(n.items),!0),I(d,n.hasMore,!0),_.set(e,{entries:H(s),hasMore:H(d)}),t&&h?.scrollToBottom(!0)}catch(e){I(c,e instanceof Error?e.message:`Failed to load messages`,!0)}}async function x(){if(!p||H(f)||!H(d))return;let e=H(s)[0]?.serverId;if(e){I(f,!0);try{let t=await yu(p,{before:e,limit:50});t.items.length>0?(I(s,[...y(t.items),...H(s)],!0),I(d,t.hasMore,!0),_.set(p,{entries:H(s),hasMore:H(d)})):I(d,!1)}catch(e){I(c,e instanceof Error?e.message:`Failed to load older messages`,!0)}I(f,!1)}}kn(()=>{if(p=t.conversationId,clearTimeout(m),I(u,[],!0),h?.resetToolState(),!t.conversationId){I(s,[],!0),I(d,!1);return}b(t.conversationId,!0)}),kn(()=>{if(!t.conversationId)return;let e=Qd(e=>{if(e.event===`conversation`&&e.conversationId===t.conversationId){if(e.type===`message`){if(e.role===`user`&&e.senderName===t.username)return;let n={id:o++,role:e.role,blocks:v(e.content),senderName:e.senderName??void 0,createdAt:e.createdAt};I(s,[...H(s),n],!0),p&&_.set(p,{entries:H(s),hasMore:H(d)}),h?.scrollToBottom()}else if(e.type===`typing`){let n=e.senders;I(u,n.filter(e=>e!==t.username),!0),clearTimeout(m),H(u).length>0&&(m=window.setTimeout(()=>{I(u,[],!0)},15e3))}}});return()=>{e(),clearTimeout(m)}});async function S(e,r,i){let a=[];e&&a.push({type:`text`,text:e});for(let e of r)a.push({type:`image`,media_type:e.media_type,data:e.data});for(let e of i)a.push({type:`text`,text:`[file] ${e.filename}`});I(s,[...H(s),{id:o++,role:`user`,blocks:a,senderName:t.username,createdAt:new Date().toISOString()}],!0),I(l,!0),h?.scrollToBottom(!0);try{let a=(await Cu({message:e,conversationId:p??void 0,targetMind:n()===`channel`?void 0:t.name,images:r.length>0?r:void 0,files:i.length>0?i:void 0})).conversationId;p=a,t.onConversationId(a)}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 C=Qm(),w=R(C),T=e=>{K(e,Xm())};J(w,e=>{t.stage===`seed`&&e(T)});var E=B(w,2),ee=e=>{var t=Zm(),n=R(t),i=R(n);A(n),A(t),V(()=>q(i,`#${r()??``}`)),K(e,t)};J(E,e=>{n()===`channel`&&r()&&e(ee)});var D=B(E,2);ma(Ym(D,{get entries(){return H(s)},get loadError(){return H(c)},get hasMore(){return H(d)},get loadingOlder(){return H(f)},onLoadOlder:x,get minds(){return i()},get participants(){return a()},get onOpenMind(){return t.onOpenMind}}),e=>h=e,()=>h);var te=B(D,2);vm(te,{get typingNames(){return H(u)},get mindParticipants(){return H(g)},get minds(){return i()},get onOpenMind(){return t.onOpenMind}}),Dm(B(te,2),{get sending(){return H(l)},onSend:S,get mindName(){return t.name},get conversationId(){return t.conversationId},get username(){return t.username}}),A(C),K(e,C),N()}var eh=W(`<div class="not-found svelte-19lcsxc"> </div>`),th=W(`<iframe class="ext-iframe page-content-iframe svelte-19lcsxc" title="Page content"></iframe>`),nh=W(`<iframe class="ext-iframe svelte-19lcsxc" title="Extension"></iframe>`),rh=W(`<div class="section-content svelte-19lcsxc"><!></div>`),ih=W(`<div class="mind-page svelte-19lcsxc"><!></div>`);function ah(e,t){M(t,!0);let n=_a(t,`section`,3,`chat`),r=P(()=>wf.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;nm(`/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=eh(),r=R(n);A(n),V(()=>q(r,`Mind "${t.name??``}" not found.`)),K(e,n)},l=e=>{var o=ih(),s=R(o),c=e=>{let r=P(()=>n().split(`:`));var i=rh(),o=R(i),s=e=>{var n=th();V(()=>ea(n,`src`,`/ext/${H(r)[1]??``}/public/${t.name??``}/${t.subpath??``}`)),Br(`load`,n,a),Rr(n),K(e,n)},c=e=>{var n=nh();V(()=>ea(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??wf.minds),s=P(()=>H(i)?.participants??[]);$m(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 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 oh={command:`Bash`,file_change:`Edit`,web_search:`WebSearch`,read:`Read`,write:`Write`,edit:`Edit`,bash:`Bash`,grep:`Grep`,glob:`Glob`};function sh(e){return oh[e]??e}function ch(e){switch(sh(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 lh(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 uh(e){switch(e){case`shell`:return`terminal`;case`file`:return`file`;case`search`:return`search`;case`web`:return`globe`;default:return`generic-tool`}}function dh(e,t){let n=sh(e),r={};try{r=JSON.parse(t)}catch{return n}switch(n){case`Bash`:return`$ ${String(r.command??``).split(`
|
|
75
|
+
`)[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 fh(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.type===`tool_use`){let i=ph(r.metadata),a=typeof i?.name==`string`?i.name:`tool`,o=sh(a),s=ch(a),c=[],l=null,u=n+1;for(;u<e.length;){if(e[u].type===`tool_result`){l=e[u],u++;break}if(e[u].type===`tool_use`)break;c.push(e[u]),u++}t.push({kind:`tool-group`,toolUse:r,toolResult:l,toolName:o,category:s});for(let e of c)t.push({kind:`event`,event:e});n=u}else t.push({kind:`event`,event:r}),n++}return t}function ph(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}var mh=W(`<div class="terminal-running svelte-7tn5lf">running...</div>`),hh=W(`<pre> </pre>`),gh=W(`<div class="terminal svelte-7tn5lf"><div class="terminal-cmd svelte-7tn5lf"><span class="terminal-prompt svelte-7tn5lf">$</span> </div> <!></div>`),_h=W(`<div class="section-label svelte-7tn5lf">input</div> <pre class="tool-pre svelte-7tn5lf"> </pre>`,1),vh=W(`<div class="section-label svelte-7tn5lf">output</div> <pre> </pre>`,1),yh=W(`<div class="tool-card-body svelte-7tn5lf"><!> <!></div>`),bh=W(`<span class="status-running svelte-7tn5lf">running...</span>`),xh=W(`<span class="status-error svelte-7tn5lf">error</span>`),Sh=W(`<span class="inline-label svelte-7tn5lf"> <!></span>`),Ch=W(`<div role="button" tabindex="0"><!></div>`);function wh(e,t){M(t,!0);let n=_a(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(()=>dh(H(i)?.name??`tool`,t.group.toolUse.content)),l=P(()=>lh(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=Ch();let m,h;var g=R(p),_=e=>{var n=G(),r=z(n),i=e=>{var n=gh(),r=R(n),i=B(R(r));A(r);var a=B(r,2),c=e=>{K(e,mh())},l=e=>{var n=hh();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=yh(),r=R(n),i=e=>{var n=_h(),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,mh())},l=e=>{var n=vh(),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=Sh(),n=R(t),r=B(n),i=e=>{K(e,bh())},a=e=>{K(e,xh())};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()}Vr([`click`,`keydown`]);var Th=W(`<div class="marker marker-icon svelte-1rz13hb"><!></div>`),Eh=W(`<div class="marker svelte-1rz13hb"></div>`),Dh=W(`<div class="turn-connector svelte-1rz13hb"></div>`),Oh=W(`<span class="time svelte-1rz13hb"> </span>`),kh=W(`<div class="summary-header svelte-1rz13hb"><div class="summary-header-line svelte-1rz13hb"><!> <button><!></button></div></div>`),Ah=W(`<div class="turn-loading svelte-1rz13hb">loading turn...</div>`),jh=W(`<div class="turn-loading svelte-1rz13hb"> </div>`),Mh=W(`<div class="event svelte-1rz13hb"><div class="marker marker-icon svelte-1rz13hb"><!></div> <!></div>`),Nh=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>`),Ph=W(`<span class="summary-text svelte-1rz13hb"> </span>`),Fh=W(`<!> <div class="event-body svelte-1rz13hb"><!></div>`,1),Ih=W(`<div class="activity-card svelte-1rz13hb"><!></div>`),Lh=W(`<span class="inline-text svelte-1rz13hb"> </span>`),Rh=W(`<span class="compact-msg-channel svelte-1rz13hb"> </span>`),zh=W(`<div class="compact-msg svelte-1rz13hb"><div class="compact-msg-header svelte-1rz13hb"><svg class="compact-msg-icon svelte-1rz13hb" 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"></path></svg> <!></div> <div class="compact-msg-body svelte-1rz13hb"><span> </span> <span class="compact-msg-text svelte-1rz13hb"> </span></div></div>`),Bh=W(`<span class="inline-channel svelte-1rz13hb"> </span> `,1),Vh=W(`<span class="inline-text inline-text-chat svelte-1rz13hb"><!><span> </span> </span>`),Hh=W(`<div><div class="markdown-body"></div></div>`),Uh=W(`<span> <!></span>`),Wh=W(`<span> </span>`),Gh=W(`<span class="inline-text dim svelte-1rz13hb"> <!></span>`),Kh=W(`<span class="inline-text dim svelte-1rz13hb">session started<!></span>`),qh=W(`<span class="inline-text dim svelte-1rz13hb">processing complete</span>`),Jh=W(`<div class="event-body svelte-1rz13hb"><!></div>`),Yh=W(`<div role="button" tabindex="0"><!> <!> <!></div>`);function Xh(e,t){M(t,!0);function n(e,t){return typeof e.metadata?.iframeUrl==`string`?e.metadata.iframeUrl:typeof e.metadata?.slug==`string`?`/minds/${typeof e.metadata?.author==`string`?e.metadata.author:t}/notes/${e.metadata.slug}`:``}let r=_a(t,`expandable`,3,!1);_a(t,`compact`,3,!1),_a(t,`turnConversations`,19,()=>[]),_a(t,`turnActivities`,19,()=>[]);let 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)`,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(()=>t.event.type===`inbound`||t.event.type===`outbound`||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`&&r()||!!t.event.content),g=P(()=>{let e=_(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===`activity`?`${e} · ${H(m)?.type??`activity`}`:`${e} · ${n}`});function _(e){return new Date(Pl(e)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function v(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}let y=F(void 0);async function b(){if(t.event.type===`summary`&&r()){if(I(a,!H(a)),H(a)&&H(c).length===0){let e=!!t.event.turn_id,n=t.event.session&&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 Eu(t.mindName,e?{turnId:t.event.turn_id}:{session:t.event.session,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 xr(),H(y)?.scrollIntoView({behavior:`smooth`,block:`start`})),t.onexpand?.(H(a),H(y))}else H(h)&&I(i,!H(i))}var x=Yh();let S,C;var w=R(x),T=e=>{var t=Th();Z(t,``,{},{color:`var(--blue)`}),Za(R(t),{kind:`chat`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},E=e=>{var t=Th();Z(t,``,{},{color:`var(--red)`}),Za(R(t),{kind:`chat`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},ee=e=>{var t=Th();Z(t,``,{},{color:`var(--text-1)`}),Za(R(t),{kind:`text`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},D=e=>{var t=Th();Z(t,``,{},{color:`var(--text-2)`}),Za(R(t),{kind:`thinking`}),A(t),Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),K(e,t)},te=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.name==`string`?H(t).name:`tool`),r=P(()=>ch(H(n)));var i=Th();let a;var o=R(i);{let e=P(()=>uh(H(r)));Za(o,{get kind(){return H(e)}})}A(i),Ei(i,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),V(e=>a=Z(i,``,a,e),[()=>({color:lh(H(r))})]),K(e,i)},ne=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.color==`string`?`var(--${H(t).color})`:`var(--yellow)`);var r=Th();let i;var a=R(r),o=e=>{var n=G();mi(z(n),()=>H(t).icon),K(e,n)},s=e=>{Za(e,{kind:`document-lines`})};J(a,e=>{typeof H(t)?.icon==`string`?e(o):e(s,-1)}),A(r),Ei(r,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),V(()=>i=Z(r,``,i,{color:H(n)})),K(e,r)},O=e=>{var t=Eh();let n;Ei(t,(e,t)=>Ml?.(e,t),()=>({text:H(g),position:`left`})),V(()=>n=Z(t,``,n,{background:H(p)})),K(e,t)};J(w,e=>{t.event.type===`inbound`?e(T):t.event.type===`outbound`?e(E,1):t.event.type===`text`?e(ee,2):t.event.type===`thinking`?e(D,3):t.event.type===`tool_use`||t.event.type===`tool_result`?e(te,4):t.event.type===`activity`?e(ne,5):e(O,-1)});var re=B(w,2),ie=e=>{K(e,Dh())};J(re,e=>{t.event.type===`summary`&&H(a)&&e(ie)});var ae=B(re,2),oe=e=>{var n=Fh(),i=z(n),f=e=>{var n=kh(),r=R(n),i=R(r),a=e=>{var t=Oh(),n=R(t);A(t),V((e,t)=>q(n,`${e??``} – ${t??``}`),[()=>_(H(m).from_time),()=>_(H(m).to_time)]),K(e,t)},o=e=>{var n=Oh(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>_(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,Xr(`…`))},h=e=>{Za(e,{kind:`search`})};J(f,e=>{H(d)?e(p):e(h,-1)}),A(s),Ei(s,(e,t)=>Ml?.(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.session&&H(m)?.from_id&&H(m)?.to_id;(e||n)&&I(l,await Eu(t.mindName,e?{turnId:t.event.turn_id,detail:!0}:{session:t.event.session,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=Nh(),r=R(n),i=e=>{K(e,Ah())},d=e=>{var t=jh(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},f=e=>{var n=G();Y(z(n),17,()=>H(l).filter(e=>e.type!==`summary`),e=>e.id,(e,n)=>{Xh(e,{get event(){return H(n)},get mindName(){return t.mindName}})}),K(e,n)},p=e=>{let n=P(()=>fh(H(c)));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(()=>lh(H(n).category)),i=P(()=>uh(H(n).category)),a=P(()=>`${_(H(n).toolUse.created_at)} · ${H(n).toolName}`);var o=Mh();let s;var c=R(o);let l;Za(R(c),{get kind(){return H(i)}}),A(c),Ei(c,(e,t)=>Ml?.(e,t),()=>({text:H(a),position:`left`})),wh(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)},o=e=>{Xh(e,{get event(){return H(n).event},get mindName(){return t.mindName}})};J(i,e=>{H(n).kind===`tool-group`?e(a):e(o,-1)}),K(e,r)}),K(e,r)};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)`}),Za(R(h),{kind:`spiral`}),A(h);var g=B(h,2),v=R(g,!0);A(g),A(m),j(2),A(n),V(()=>q(v,t.event.content)),U(`click`,n,e=>e.stopPropagation()),U(`keydown`,n,e=>e.stopPropagation()),U(`click`,m,()=>{I(a,!1)}),K(e,n)},v=e=>{var n=Ph(),r=R(n,!0);A(n),V(()=>q(r,t.event.content)),K(e,n)};J(h,e=>{r()&&H(a)?e(g):e(v,-1)}),A(p),K(e,n)},k=e=>{let r=P(()=>H(m)),a=P(()=>typeof H(r)?.color==`string`?`var(--${H(r).color})`:`var(--yellow)`);var o=G(),s=z(o),c=e=>{var i=Ih(),a=R(i);{let e=P(()=>n({type:H(r)?.type??``,metadata:H(r)},t.mindName)),i=P(()=>typeof H(r)?.author==`string`?H(r).author:void 0),o=P(()=>typeof H(r)?.bodyHtml==`string`?H(r).bodyHtml:``),s=P(()=>typeof H(r)?.iframeUrl==`string`?H(r).iframeUrl:void 0),c=P(()=>typeof H(r)?.icon==`string`?H(r).icon:`<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 2h6l4 4v8H4V2z"/><path d="M10 2v4h4"/><path d="M6 9h6M6 12h4"/></svg>`),l=P(()=>typeof H(r)?.color==`string`?H(r).color:`yellow`);Kp(a,{get title(){return t.event.content},get url(){return H(e)},get date(){return t.event.created_at},get author(){return H(i)},get bodyHtml(){return H(o)},get iframeUrl(){return H(s)},get icon(){return H(c)},get color(){return H(l)}})}A(i),K(e,i)},l=e=>{var n=Lh();let r;var i=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:H(a)}),q(i,t.event.content)}),K(e,n)};J(s,e=>{H(i)?e(c):e(l,-1)}),K(e,o)},se=e=>{var n=G(),r=z(n),a=e=>{var n=zh(),r=R(n),i=B(R(r),2),a=e=>{var n=Rh(),r=R(n,!0);A(n),V(()=>q(r,t.event.channel)),K(e,n)};J(i,e=>{t.event.channel&&e(a)}),A(r);var o=B(r,2),s=R(o);let c;var l=R(s,!0);A(s);var u=B(s,2),d=R(u,!0);A(u),A(o),A(n),V(()=>{c=X(s,1,`compact-msg-sender svelte-1rz13hb`,null,c,{"compact-msg-sender-user":t.event.type===`inbound`}),q(l,t.event.type===`inbound`?t.event.sender??`user`:t.mindName),q(d,t.event.content)}),K(e,n)},o=e=>{var n=Vh(),r=R(n),i=e=>{var n=Bh(),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(r,e=>{H(i)?e(a):e(o,-1)}),K(e,n)},ce=e=>{var n=Jh(),r=R(n),a=e=>{var n=Hh();let r;var a=R(n);mi(a,()=>Al(t.event.content),!0),A(a),A(n),V(()=>r=X(n,1,`inline-text dim svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)})),K(e,n)},o=e=>{var n=Uh();let r;var a=R(n,!0),o=B(a),s=e=>{var n=Xr();V(e=>q(n,`
|
|
76
|
+
${e??``}`),[()=>v(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)},[()=>dh(H(m)?.name??`tool`,t.event.content)]),K(e,n)},s=e=>{var n=Wh();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)},c=e=>{var n=Wh();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)},l=e=>{var t=Gh(),n=R(t),r=B(n),i=e=>{var t=Xr();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)},u=e=>{var n=Kh(),r=B(R(n)),i=e=>{var n=Xr();V(()=>q(n,t.event.session)),K(e,n)};J(r,e=>{t.event.session&&e(i)}),A(n),K(e,n)},d=e=>{K(e,qh())},f=e=>{var n=Gh(),r=R(n,!0),i=B(r),a=e=>{var n=Xr();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(r,e=>{t.event.type===`text`?e(a):t.event.type===`tool_use`?e(o,1):t.event.type===`tool_result`?e(s,2):t.event.type===`thinking`?e(c,3):t.event.type===`usage`?e(l,4):t.event.type===`session_start`?e(u,5):t.event.type===`done`?e(d,6):e(f,-1)}),A(n),K(e,n)};J(ae,e=>{t.event.type===`summary`?e(oe):t.event.type===`activity`?e(k,1):t.event.type===`inbound`||t.event.type===`outbound`?e(se,2):e(ce,-1)}),A(x),ma(x,e=>I(y,e),()=>H(y)),V(()=>{S=X(x,1,`event svelte-1rz13hb`,null,S,{collapsible:H(h),"expandable-summary":t.event.type===`summary`&&r(),"turn-expanded":t.event.type===`summary`&&H(a)}),C=Z(x,``,C,{"--type-color":H(p)})}),U(`click`,x,b),U(`keydown`,x,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b())}),K(e,x),N()}Vr([`click`,`keydown`]);var Zh=W(`<button class="open-chat-btn svelte-hdi0pv">Chat</button>`),Qh=W(`<div class="chat-empty svelte-hdi0pv">Loading...</div>`),$h=W(`<div class="chat-empty svelte-hdi0pv"> </div>`),eg=W(`<div class="chat-empty svelte-hdi0pv">No messages.</div>`),tg=W(`<div class="date-divider svelte-hdi0pv"><div class="divider-line svelte-hdi0pv"></div> <span> </span> <div class="divider-line svelte-hdi0pv"></div></div>`),ng=W(`<div class="chat-entry-header svelte-hdi0pv"><span> </span> <span class="chat-timestamp svelte-hdi0pv"> </span></div>`),rg=W(`<div class="markdown-body"></div>`),ig=W(`<!> <div><!> <div><!></div></div>`,1),ag=W(`<div class="chat-scroll svelte-hdi0pv"></div>`),og=W(`<div class="read-only-chat svelte-hdi0pv"><!></div>`);function sg(e,t){M(t,!0);let n=_a(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`});kn(()=>{I(i,!0),I(a,null),vu(t.mindName,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(Pl(e)).toLocaleDateString()}catch{return``}}function l(e){return e===0?!0:c(H(r)[e].created_at)!==c(H(r)[e-1].created_at)}ro(e,{get onClose(){return t.onClose},get title(){return H(s)},headerActions:e=>{var r=G(),i=z(r),a=e=>{var n=Zh();U(`click`,n,()=>{t.onClose(),nm(`/chat/${t.conversation.id}`)}),K(e,n)};J(i,e=>{n()&&e(a)}),K(e,r)},children:(e,n)=>{var s=og(),u=R(s),d=e=>{K(e,Qh())},f=e=>{var t=$h(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},p=e=>{K(e,eg())},m=e=>{var n=ag();Y(n,23,()=>H(r),e=>e.id,(e,n,i)=>{var a=ig(),o=z(a),s=e=>{var t=tg(),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=ng(),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)),q(c,e)},[()=>qp(H(n).created_at)]),K(e,r)},h=P(()=>Jp(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=Xr();V(e=>q(t,e),[()=>Yp(H(n).content)]),K(e,t)},b=e=>{var t=rg();mi(t,()=>Al(Yp(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":Jp(H(r),H(i))})]),K(e,a)}),A(n),ma(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()}Vr([`click`]);var cg=W(`<div class="branch-rail-hit svelte-1wz37xo"></div>`),lg=W(`<div class="branch-header svelte-1wz37xo"><!></div>`),ug=W(`<div class="branch-footer svelte-1wz37xo"><!></div>`),dg=W(`<div class="tb-return svelte-1wz37xo"></div>`),fg=W(`<div><div></div> <!> <div class="branch-content svelte-1wz37xo"><!> <!> <!> <!></div></div>`);function pg(e,t){let n=_a(t,`gap`,3,16),r=_a(t,`reach`,3,10),i=_a(t,`railTop`,3,15),a=_a(t,`noReturn`,3,!1),o=_a(t,`dashed`,3,!1);var s=fg();let c,l;var u=R(s);let d;var f=B(u,2),p=e=>{var n=cg();U(`click`,n,function(...e){t.onrailclick?.apply(this,e)}),K(e,n)};J(f,e=>{o()&&e(p)});var m=B(f,2),h=R(m),g=e=>{var n=lg();hi(R(n),()=>t.header),A(n),U(`click`,n,function(...e){t.onheaderclick?.apply(this,e)}),K(e,n)};J(h,e=>{t.header&&e(g)});var _=B(h,2);hi(_,()=>t.children);var v=B(_,2),y=e=>{var n=ug();hi(R(n),()=>t.footer),A(n),U(`click`,n,function(...e){t.onfooterclick?.apply(this,e)}),K(e,n)};J(v,e=>{t.footer&&e(y)});var b=B(v,2),x=e=>{K(e,dg())};J(b,e=>{a()||e(x)}),A(m),A(s),V(()=>{c=X(s,1,`branch-wrapper svelte-1wz37xo`,null,c,{"no-return":a()}),l=Z(s,``,l,{"--branch-gap":`${n()??``}px`,"--branch-reach":`${r()??``}px`,"--rail-top":`${i()??``}px`}),d=X(u,1,`branch-connector svelte-1wz37xo`,null,d,{"branch-connector-dashed":o()})}),K(e,s)}Vr([`click`]);var mg=W(`<div class="summary-expand-header svelte-j3zn9j"><span class="active-turn-time svelte-j3zn9j"> </span></div>`),hg=W(`<div class="summary-expand-loading svelte-j3zn9j">loading...</div>`),gg=W(`<div class="event svelte-j3zn9j"><div class="marker marker-icon svelte-j3zn9j"><!></div> <!></div>`),_g=W(`<span class="summary-child-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span>`,1),vg=W(`<div class="nested-branch-wrapper svelte-j3zn9j"><!></div>`),yg=W(`<div><div class="summary-child-dot summary-dot svelte-j3zn9j"></div> <div class="summary-child-body svelte-j3zn9j"><!></div></div> <!>`,1),bg=W(`<div><!></div>`),xg=W(`<button class="summary-expand-collapse svelte-j3zn9j"><span class="summary-text svelte-j3zn9j"> </span></button>`),Sg=W(`<div class="summary-collapsed svelte-j3zn9j"><span class="summary-collapsed-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span></div>`);function Cg(e,t){M(t,!0);let n=_a(t,`depth`,3,0),r=P(()=>t.expandedSummaries.has(t.summary.id)||t.directEventsSummaries.has(t.summary.id)),i=P(()=>t.loadingChildren.has(t.summary.id)),a=P(()=>t.directEventsSummaries.get(t.summary.id)),o=P(()=>t.expandedSummaries.get(t.summary.id)??[]),s=P(()=>n()===0?16:12),c=P(()=>n()===0?15:13),l=P(()=>H(o).some(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id))));function u(){let e=H(o).find(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id)));e&&`period`in e&&t.toggleSummaryExpand(e)}var d=G(),f=z(d),p=e=>{pg(e,{get gap(){return H(s)},reach:8,get railTop(){return H(c)},get dashed(){return H(l)},onheaderclick:()=>t.toggleSummaryExpand(t.summary),onfooterclick:()=>t.toggleSummaryExpand(t.summary),onrailclick:u,header:e=>{var n=mg(),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 r=G(),s=z(r),c=e=>{K(e,hg())},l=e=>{let n=P(()=>fh(H(a)));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(()=>lh(H(n).category)),i=P(()=>uh(H(n).category));var a=gg();let o;var s=R(a);let c;Za(R(s),{get kind(){return H(i)}}),A(s),wh(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=>{Xh(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)},u=e=>{var r=G();Y(z(r),17,()=>H(o),e=>`period`in e?`s-${e.id}`:`t-${e.id}`,(e,r)=>{var i=G(),a=z(i),o=e=>{let i=P(()=>H(r)),a=P(()=>t.expandedSummaries.has(H(i).id)||t.directEventsSummaries.has(H(i).id));var o=yg(),s=z(o);let c;var l=B(R(s),2),u=R(l),d=e=>{var n=_g(),r=z(n),a=R(r,!0);A(r);var o=B(r,2),s=R(o,!0);A(o),V(e=>{q(a,e),q(s,H(i).content)},[()=>t.formatPeriodTime(H(i).period,H(i).period_key)]),K(e,n)};J(u,e=>{H(a)||e(d)}),A(l),A(s);var f=B(s,2),p=e=>{var r=vg(),a=R(r);{let e=P(()=>n()+1);Cg(a,{get summary(){return H(i)},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}})}A(r),K(e,r)};J(f,e=>{H(a)&&e(p)}),V(()=>c=X(s,1,`summary-child-item svelte-j3zn9j`,null,c,{"summary-child-expanded":H(a),"summary-child-collapsed":!H(a)})),U(`click`,s,e=>{e.stopPropagation(),t.toggleSummaryExpand(H(i))}),K(e,o)},s=e=>{let t=P(()=>H(r));var n=bg(),i=R(n);{let e=P(()=>({id:0,mind:H(t).mind,channel:``,session:null,sender:null,message_id:null,type:`summary`,content:H(t).summary??`(no summary)`,metadata:H(t).summary_meta?JSON.stringify(H(t).summary_meta):null,turn_id:H(t).id,created_at:H(t).created_at}));Xh(i,{get event(){return H(e)},get mindName(){return H(t).mind},expandable:!0})}A(n),U(`click`,n,e=>e.stopPropagation()),K(e,n)};J(a,e=>{`period`in H(r)?e(o):e(s,-1)}),K(e,i)}),K(e,r)};J(s,e=>{H(i)?e(c):H(a)?e(l,1):e(u,-1)}),K(e,r)},footer:e=>{var n=xg(),r=R(n),i=R(r,!0);A(r),A(n),V(()=>q(i,t.summary.content)),U(`click`,n,e=>e.stopPropagation()),K(e,n)},$$slots:{header:!0,default:!0,footer:!0}})},m=e=>{var n=Sg(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(n),V(e=>{q(i,e),q(o,t.summary.content)},[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key)]),U(`click`,n,()=>t.toggleSummaryExpand(t.summary)),K(e,n)};J(f,e=>{H(r)?e(p):e(m,-1)}),K(e,d),N()}Vr([`click`]);var wg=W(`<div class="load-older svelte-m7q6b7"><button class="load-older-btn svelte-m7q6b7"> </button></div>`),Tg=W(`<div class="error-hint svelte-m7q6b7"> </div>`),Eg=W(`<div class="empty-hint svelte-m7q6b7">No activity yet.</div>`),Dg=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>`),Og=W(`<button class="mind-badge svelte-m7q6b7"> </button>`),kg=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>`),Ag=W(`<span class="peek-msg-md markdown-body svelte-m7q6b7"></span>`),jg=W(`<span> </span>`),Mg=W(`<div class="peek-msg svelte-m7q6b7"><span> </span> <!></div>`),Ng=W(`<div class="peek-anchor svelte-m7q6b7"><button class="peek-btn svelte-m7q6b7" aria-label="View conversation"><!></button> <div class="peek-popover svelte-m7q6b7" role="button" tabindex="0"><div class="peek-card peek-card-chat svelte-m7q6b7"><div class="peek-card-header svelte-m7q6b7"><!> <span class="peek-card-label svelte-m7q6b7"> </span> <span class="peek-card-meta svelte-m7q6b7"> </span></div> <div class="peek-card-body svelte-m7q6b7"></div></div></div></div>`),Pg=W(`<span class="peek-card-icon"></span>`),Fg=W(`<div class="peek-card-body peek-card-iframe svelte-m7q6b7"><iframe sandbox="allow-same-origin" role="presentation" class="svelte-m7q6b7"></iframe></div>`),Ig=W(`<div class="peek-card-body markdown-body svelte-m7q6b7"></div>`),Lg=W(`<div class="peek-anchor svelte-m7q6b7"><button class="peek-btn svelte-m7q6b7" aria-label="View activity"><!></button> <div class="peek-popover svelte-m7q6b7"><div class="peek-card svelte-m7q6b7"><div class="peek-card-header svelte-m7q6b7"><!> <span class="peek-card-label svelte-m7q6b7"> </span></div> <!></div></div></div>`),Rg=W(`<div class="turn-peek-icons svelte-m7q6b7"><!> <!></div>`),zg=W(`<div class="active-turn-header svelte-m7q6b7"><span class="active-turn-time svelte-m7q6b7"> </span></div>`),Bg=W(`<div class="event svelte-m7q6b7"><div class="marker marker-icon svelte-m7q6b7"><!></div> <!></div>`),Vg=W(`<!> <div class="active-indicator svelte-m7q6b7"><div class="active-dot svelte-m7q6b7"></div></div>`,1),Hg=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"><!> </div> <div role="button" tabindex="0"><div class="turn-dot svelte-m7q6b7"></div> <!></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),Ug=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7">just now</div> <div class="turn-rail turn-rail-expanded svelte-m7q6b7"><div class="turn-dot svelte-m7q6b7"></div></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),Wg=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>`),Gg=W(`<div class="turn-track svelte-m7q6b7"><!> <!> <!></div>`),Kg=W(`<div class="loading-more svelte-m7q6b7">loading...</div>`),qg=W(`<button class="jump-btn svelte-m7q6b7">jump to latest</button>`),Jg=W(`<div class="turn-timeline svelte-m7q6b7"><div class="turn-scroll svelte-m7q6b7"><!> <!> <!></div> <!></div> <!>`,1);function Yg(e,t){M(t,!0);let n={hour:`turn`,day:`hour`,week:`day`,month:`week`};function r(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 i(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`?r(t):e===`month`?new Date(`${t}-01T00:00:00`):new Date(t)}function a(e,t){let n=new Date,a=new Date(n.getFullYear(),n.getMonth(),n.getDate()),o=new Date(a);if(o.setDate(a.getDate()-1),e===`hour`){let e=i(`hour`,t),n=new Date(e.getTime()+36e5),r=e=>e.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()===a.getTime()?`${r(e)} \u2013 ${r(n)}`:`${e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${r(e)} \u2013 ${r(n)}`}if(e===`day`){let e=i(`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=r(t),i=new Date(e);i.setDate(e.getDate()+6);let a=e=>e.toLocaleDateString(void 0,{month:`short`,day:`numeric`});return e.getFullYear()===n.getFullYear()?`${a(e)} \u2013 ${a(i)}`:`${a(e)} \u2013 ${a(i)}, ${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 o=F(L([])),s=F(!0),c=F(!1),l=F(``),u=F(null),d=F(L([])),f=F(L([])),p=F(L([])),m=F(L([])),h=F(!1),g=F(L(new Hl)),_=new Vl,v=F(L(new Hl)),y=F(L(new Hl)),b=-1,x=F(L([])),S=new Map,C=F(L(new Set));function w(e,n={}){return{id:b--,mind:e.mind??t.name??``,channel:e.channel??``,session: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 T(e){let t=!1,n=[];for(let r of e){let e=H(o).findIndex(e=>e.id===r.id);e===-1?n.push(r):(H(o)[e]=r,t=!0)}n.length>0?I(o,[...H(o),...n],!0):t&&I(o,[...H(o)],!0)}function E(e,t){I(u,{id:e.id,type:e.type,user_id:null,created_at:t.created_at,updated_at:t.created_at,private:0,channel_name:e.type===`channel`?e.label.replace(/^#/,``):null,participants:[]},!0)}function ee(e,t){t?H(C).add(e):H(C).delete(e),I(C,new Set(H(C)),!0)}let D=F(void 0),te=F(!1),ne=null;function O(){re();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`&&!r)I(x,[...H(x),w(n)],!0);else if(i===`turn_created`&&r){if(H(o).some(e=>e.id===r)||I(o,[...H(o),{id:r,mind:n.mind??t.name??``,summary:null,summary_meta:null,status:`active`,created_at:new Date().toISOString(),trigger:null,conversations:[],activities:[]}],!0),H(x).length>0){let e=H(x).map(e=>({...e,turn_id:r})),t=H(y).get(r)??[];H(y).set(r,[...e,...t])}else H(y).has(r)||H(y).set(r,[]);I(x,[],!0);let e=n.mind??t.name??``;new Promise(e=>setTimeout(e,500)).then(()=>Eu(e,{turnId:r})).then(e=>{H(y).has(r)&&H(y).set(r,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to fetch turn events:`,e))}else if(i===`summary`&&r){clearTimeout(S.get(r)),S.delete(r);let e=H(y).get(r);H(y).delete(r),Du({mind:t.name,turnId:r}).then(e=>{T(e),requestAnimationFrame(()=>{(H(D)?.querySelector(`[data-turn-id="${r}"]`))?.scrollIntoView({behavior:`smooth`,block:`nearest`})})}).catch(t=>{console.warn(`[TurnTimeline] Failed to fetch completed turn:`,t),H(y).has(r)||H(y).set(r,e??[])})}else if(i===`done`&&r){if(!S.has(r)){let e=r;S.set(e,setTimeout(()=>{S.delete(e),H(y).has(e)&&(H(y).delete(e),Du({mind:t.name,turnId:e}).then(e=>T(e)).catch(e=>console.warn(`[TurnTimeline] Failed to refresh turn after done:`,e)))},1e4))}}else if(r&&H(y).has(r)){let e=H(y).get(r);H(y).set(r,[...e,w(n,{turn_id:r})])}H(te)||requestAnimationFrame(()=>{H(D)?.scrollTo({top:H(D).scrollHeight,behavior:`smooth`})})},n.onerror=()=>{n.readyState===EventSource.CLOSED?console.warn(`[TurnTimeline] SSE connection closed permanently`):n.readyState===EventSource.CONNECTING&&console.warn(`[TurnTimeline] SSE reconnecting...`)},ne=n}function re(){ne&&=(ne.close(),null);for(let e of S.values())clearTimeout(e);S.clear()}async function ie(e){I(c,!0),I(l,``);try{let n=await Du({mind:t.name,limit:100,offset:e}),r=[...n].reverse();e===0?I(o,r,!0):I(o,[...r,...H(o)],!0),I(s,n.length===100),e===0&&H(x).length===0&&t.name&&Tu(t.name,{preset:`all`,limit:10}).then(e=>{let t=e.filter(e=>e.type===`inbound`&&!e.turn_id);t.length>0&&H(x).length===0&&I(x,t,!0)}).catch(e=>console.warn(`[TurnTimeline] Failed to check pending inbounds:`,e));for(let e of H(o))e.status===`active`&&!H(y).has(e.id)&&(H(y).set(e.id,[]),Eu(e.mind,{turnId:e.id}).then(t=>{H(y).has(e.id)&&H(y).set(e.id,t)}).catch(e=>console.warn(`[TurnTimeline] Failed to backfill active turn events:`,e)))}catch(e){I(l,e instanceof Error?e.message:`Failed to load`,!0)}I(c,!1)}async function ae(){try{let e=new Date,n=e=>String(e).padStart(2,`0`),r=`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())}`,i=`${r}T${n(e.getHours())}`,a=`${r}T00`,o=r,s=new Date(e.getFullYear(),e.getMonth(),e.getDate()-7),c=`${s.getFullYear()}-${n(s.getMonth()+1)}-${n(s.getDate())}`,l=`${e.getFullYear()}-${n(e.getMonth()+1)}`,[u,g,_,v]=await Promise.all([Ou({mind:t.name,period:`hour`,from:a,to:i,limit:24}),Ou({mind:t.name,period:`day`,from:c,to:o,limit:7}),Ou({mind:t.name,period:`week`,to:c,limit:12}),Ou({mind:t.name,period:`month`,to:l,limit:12})]);I(d,u.sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(f,g.filter(e=>e.period_key<o).sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(p,_.sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(m,v.filter(e=>e.period_key<l).sort((e,t)=>e.period_key.localeCompare(t.period_key)),!0),I(h,!0)}catch(e){console.warn(`[TurnTimeline] Failed to load summaries:`,e),I(h,!0)}}async function oe(e){if(H(g).has(e.id)||H(v).has(e.id)){H(g).delete(e.id),H(v).delete(e.id);return}_.add(e.id);try{let i=e.mind===`_system`,a=n[e.period];if(i&&a===`turn`){let t=e.metadata?.minds??[],n=(await Promise.all(t.map(t=>Ou({mind:t,period:e.period,from:e.period_key,to:e.period_key,limit:1})))).flat().sort((e,t)=>e.mind.localeCompare(t.mind));H(g).set(e.id,n)}else if(a===`turn`){let t=e.metadata?.source_ids??[];if(t.length>0){let n=await ku(t),r=n.map(e=>e.period_key);if(r.length===1){let t=await Eu(n[0].mind,{turnId:r[0]});H(v).set(e.id,t)}else if(r.length>0){let t=await Du({turnIds:r});t.sort((e,t)=>e.created_at.localeCompare(t.created_at)),H(g).set(e.id,t)}else H(g).set(e.id,[])}else H(g).set(e.id,[])}else{let n,i;if(e.period===`day`)n=e.period_key,i=`${e.period_key}T99`;else if(e.period===`week`){let t=r(e.period_key),a=new Date(t);a.setDate(t.getDate()+6);let o=e=>String(e).padStart(2,`0`);n=`${t.getFullYear()}-${o(t.getMonth()+1)}-${o(t.getDate())}`,i=`${a.getFullYear()}-${o(a.getMonth()+1)}-${o(a.getDate())}`}else e.period===`month`?(n=`${e.period_key}-01`,i=`${e.period_key}-31`):(n=e.period_key,i=e.period_key);let o=await Ou({mind:t.name,period:a,from:n,to:i,limit:100});H(g).set(e.id,o.sort((e,t)=>e.period_key.localeCompare(t.period_key)))}}catch(e){console.warn(`[TurnTimeline] Failed to load summary children:`,e)}_.delete(e.id)}let k=P(()=>{let e=[],t=new Date(new Date);t.setMinutes(0,0,0);let n=t.getTime();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});(H(f).length>0||e.length>0)&&H(d).length>0&&e.push({kind:`separator`,above:`earlier this week`,below:`today`});for(let t of H(d))e.push({kind:`summary`,summary:t});let r=H(o).filter(e=>{if(e.status===`active`||H(y).has(e.id))return!0;let t=e.summary_meta?.to_time??e.created_at;return new Date(Pl(t)).getTime()>=n});e.length>0&&r.length>0&&e.push({kind:`separator`,above:`earlier today`,below:`this hour`});for(let t of r)e.push({kind:`turn`,turn:t});return e}),se=null,ce=null;function le(){ue(),se=setInterval(()=>{H(D)&&(H(D).scrollTop=H(D).scrollHeight)},100),ce=setTimeout(()=>{ue()},3e3)}function ue(){se&&=(clearInterval(se),null),ce&&=(clearTimeout(ce),null)}let de=``;kn(()=>{let e=t.name;e!==de&&(de=e,I(o,[],!0),I(s,!0),I(y,new Hl,!0),b=-1,I(x,[],!0),I(d,[],!0),I(f,[],!0),I(p,[],!0),I(m,[],!0),I(h,!1),I(g,new Hl,!0),I(v,new Hl,!0),le(),ie(0))}),kn(()=>{H(o).length>0&&!H(h)&&!H(c)&&ae()}),kn(()=>(t.name,O(),()=>re())),kn(()=>()=>ue());function fe(){if(!H(D))return;let{scrollTop:e,scrollHeight:t,clientHeight:n}=H(D);I(te,t-e-n>100)}function pe(){H(D)?.scrollTo({top:H(D).scrollHeight,behavior:`smooth`}),I(te,!1)}var me=Jg(),he=z(me),ge=R(he),_e=R(ge),ve=e=>{var t=wg(),n=R(t);let r;var i=R(n,!0);A(n),A(t),V(()=>{n.disabled=H(c),r=Z(n,``,r,{opacity:H(c)?.5:1}),q(i,H(c)?`loading...`:`load older`)}),U(`click`,n,()=>ie(H(o).length)),K(e,t)};J(_e,e=>{H(s)&&e(ve)});var ye=B(_e,2),be=e=>{var t=Tg(),n=R(t,!0);A(t),V(()=>q(n,H(l))),K(e,t)},xe=e=>{K(e,Eg())},Se=e=>{var n=Gg(),r=R(n);Y(r,17,()=>H(k),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(),i=z(r),o=e=>{var t=Dg(),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),i=P(()=>H(g).has(H(r).id)||H(v).has(H(r).id));var o=kg(),s=R(o),c=R(s),l=e=>{var t=Og(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>nm(`/minds/${H(r).mind}/history`)),K(e,t)};J(c,e=>{!t.name&&H(r).mind!==`_system`&&e(l)}),A(s);var u=B(s,2);let d;var f=B(u,2),p=R(f);Cg(R(p),{get summary(){return H(r)},get expandedSummaries(){return H(g)},get directEventsSummaries(){return H(v)},get loadingChildren(){return _},toggleSummaryExpand:oe,formatPeriodTime:a}),A(p),A(f),A(o),V(()=>{ea(o,`data-summary-id`,H(r).id),d=X(u,1,`turn-rail svelte-m7q6b7`,null,d,{"turn-rail-expanded":H(i)})}),U(`click`,u,()=>oe(H(r))),U(`keydown`,u,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),oe(H(r)))}),K(e,o)},c=e=>{let r=P(()=>H(n).turn),i=P(()=>!H(C).has(H(r).id)&&H(r).status!==`active`?H(r).conversations.length+H(r).activities.length:0);var a=Hg();let o;var s=R(a),c=R(s),l=e=>{var t=Og(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>nm(`/minds/${H(r).mind}/history`)),K(e,t)};J(c,e=>{t.name||e(l)});var u=B(c);A(s);var d=B(s,2);let f;var p=B(R(d),2),m=e=>{var t=Rg(),n=R(t);Y(n,17,()=>H(r).conversations,e=>e.id,(e,t)=>{var n=Ng(),i=R(n);Za(R(i),{kind:`chat`}),A(i);var a=B(i,2),o=R(a),s=R(o),c=R(s);Za(c,{kind:`chat`,class:`peek-card-icon`});var l=B(c,2),u=R(l,!0);A(l);var d=B(l,2),f=R(d);A(d),A(s);var p=B(s,2);Y(p,21,()=>H(t).messages.slice(-5),e=>e.id,(e,t)=>{var n=Mg(),i=R(n);let a;var o=R(i,!0);A(i);var s=B(i,2),c=e=>{var n=Ag();mi(n,()=>Al(Yp(H(t).content)),!0),A(n),K(e,n)},l=e=>{var n=jg(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>Yp(H(t).content)]),K(e,n)};J(s,e=>{H(t).role===`assistant`?e(c):e(l,-1)}),A(n),V(()=>{a=X(i,1,`peek-msg-sender svelte-m7q6b7`,null,a,{"peek-msg-sender-user":H(t).role===`user`}),q(o,H(t).sender_name??(H(t).role===`user`?`user`:H(r).mind))}),K(e,n)}),A(p),A(o),A(a),A(n),V(()=>{q(u,H(t).label),q(f,`${H(t).messages.length??``} msg${H(t).messages.length===1?``:`s`}`)}),U(`click`,i,e=>e.stopPropagation()),U(`click`,a,e=>{e.stopPropagation(),E(H(t),H(r))}),U(`keydown`,a,e=>{e.key===`Enter`&&(e.stopPropagation(),E(H(t),H(r)))}),K(e,n)}),Y(B(n,2),17,()=>H(r).activities,e=>e.id,(e,t)=>{let n=P(()=>typeof H(t).metadata?.color==`string`?H(t).metadata.color:`yellow`),i=P(()=>typeof H(t).metadata?.icon==`string`?H(t).metadata.icon:``),a=P(()=>typeof H(t).metadata?.iframeUrl==`string`?H(t).metadata.iframeUrl:typeof H(t).metadata?.slug==`string`?`/minds/${typeof H(t).metadata?.author==`string`?H(t).metadata.author:H(r).mind}/notes/${H(t).metadata.slug}`:``);var o=Lg(),s=R(o);let c;var l=R(s),u=e=>{var t=G();mi(z(t),()=>H(i)),K(e,t)},d=e=>{Za(e,{kind:`document-lines`})};J(l,e=>{H(i)?e(u):e(d,-1)}),A(s);var f=B(s,2),p=R(f);let m;var h=R(p);let g;var _=R(h),v=e=>{var t=Pg();let r;mi(t,()=>H(i),!0),A(t),V(()=>r=Z(t,``,r,{color:`var(--${H(n)??``})`})),K(e,t)},y=e=>{Za(e,{kind:`document-lines`,class:`peek-card-icon`})};J(_,e=>{H(i)?e(v):e(y,-1)});var b=B(_,2),x=R(b,!0);A(b),A(h);var S=B(h,2),C=e=>{var n=Fg(),r=R(n);A(n),V(()=>{ea(r,`src`,H(t).metadata.iframeUrl),ea(r,`title`,H(t).summary)}),K(e,n)},w=e=>{var n=Ig();mi(n,()=>Al(H(t).metadata.bodyHtml),!0),A(n),K(e,n)};J(S,e=>{typeof H(t).metadata?.iframeUrl==`string`&&H(t).metadata.iframeUrl?e(C):typeof H(t).metadata?.bodyHtml==`string`&&H(t).metadata.bodyHtml&&e(w,1)}),A(p),A(f),A(o),V(()=>{c=Z(s,``,c,{color:`var(--${H(n)??``})`}),m=Z(p,``,m,{"border-color":`color-mix(in srgb, var(--${H(n)??``}) 25%, var(--border))`}),g=Z(h,``,g,{"border-bottom-color":`color-mix(in srgb, var(--${H(n)??``}) 25%, var(--border))`}),q(x,H(t).summary)}),U(`click`,s,e=>{e.stopPropagation(),H(a)&&nm(H(a))}),K(e,o)}),A(t),K(e,t)},h=P(()=>!H(C).has(H(r).id)&&H(r).status!==`active`&&(H(r).conversations.length>0||H(r).activities.length>0));J(p,e=>{H(h)&&e(m)}),A(d);var g=B(d,2),_=R(g),v=R(_),b=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:``,session: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}));Xh(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,compact:!0,get turnConversations(){return H(r).conversations},get turnActivities(){return H(r).activities},onexpand:e=>ee(H(r).id,e)})}},x=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:H(r).trigger?.channel??``,session:null,sender:H(r).trigger?.sender??null,message_id:null,type:`summary`,content:H(r).trigger?.content??`(no summary)`,metadata:null,turn_id:H(r).id,created_at:H(r).created_at}));Xh(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,compact:!0,get turnConversations(){return H(r).conversations},get turnActivities(){return H(r).activities},onexpand:e=>ee(H(r).id,e)})}},S=e=>{let t=P(()=>H(y).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`}));pg(e,{gap:24,reach:11,noReturn:!0,header:e=>{var t=zg(),r=R(t),i=R(r);A(r),A(t),V(()=>q(i,`${H(n)??``} – now`)),K(e,t)},children:e=>{var n=Vg(),i=z(n),a=e=>{let n=P(()=>fh(H(t)));var i=G();Y(z(i),17,()=>H(n),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(()=>lh(H(t).category)),i=P(()=>uh(H(t).category));var a=Bg();let o;var s=R(a);let c;Za(R(s),{get kind(){return H(i)}}),A(s),wh(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=>{Xh(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,i)};J(i,e=>{H(t).length>0&&e(a)}),j(2),K(e,n)},$$slots:{header:!0,default:!0}})};J(v,e=>{H(r).summary?e(b):H(r).status===`complete`?e(x,1):e(S,-1)}),A(_),A(g),A(a),V((e,t)=>{ea(a,`data-turn-id`,H(r).id),o=Z(a,``,o,{"min-height":H(i)>0?`${36+H(i)*48}px`:void 0}),q(u,` ${e??``}`),f=X(d,1,`turn-rail svelte-m7q6b7`,null,f,t)},[()=>Il(H(r).created_at),()=>({"turn-rail-expanded":H(C).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,a)};J(i,e=>{H(n).kind===`separator`?e(o):H(n).kind===`summary`?e(s,1):e(c,-1)}),K(e,r)});var i=B(r,2),o=e=>{var n=Ug(),r=B(R(n),4),i=R(r);pg(R(i),{gap:24,reach:11,noReturn:!0,header:e=>{var t=zg(),n=R(t),r=R(n);A(n),A(t),V(e=>q(r,`${e??``} – now`),[()=>new Date(H(x)[0].created_at).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})]),K(e,t)},children:e=>{var n=Vg();Y(z(n),17,()=>H(x),e=>e.id,(e,n)=>{{let r=P(()=>H(n).mind||t.name||``);Xh(e,{get event(){return H(n)},get mindName(){return H(r)}})}}),j(2),K(e,n)},$$slots:{header:!0,default:!0}}),A(i),A(r),A(n),K(e,n)};J(i,e=>{H(x).length>0&&e(o)});var s=B(i,2),c=e=>{let n=P(()=>Tf.has(t.name)?`active`:t.mindStatus===`sleeping`?`asleep`:t.mindStatus===`running`?`awake`:`offline`),r=P(()=>Tf.has(t.name)?void 0:t.mindStatus===`sleeping`?`var(--purple)`:t.mindStatus===`running`?`var(--text-0)`:`var(--text-2)`);var i=Wg(),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),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:Tf.has(t.name)}),()=>({color:Tf.has(t.name)?`var(--accent)`:H(r)})]),K(e,i)};J(s,e=>{t.name&&e(c)}),A(n),K(e,n)};J(ye,e=>{H(l)?e(be):H(k).length===0&&!H(c)?e(xe,1):e(Se,-1)});var Ce=B(ye,2),we=e=>{K(e,Kg())};J(Ce,e=>{H(c)&&H(o).length>0&&e(we)}),A(ge),ma(ge,e=>I(D,e),()=>H(D));var Te=B(ge,2),Ee=e=>{var t=qg();U(`click`,t,pe),K(e,t)};J(Te,e=>{H(te)&&e(Ee)}),A(he);var De=B(he,2),Oe=e=>{{let n=P(()=>t.name??``);sg(e,{get mindName(){return H(n)},get conversation(){return H(u)},canChat:!1,onClose:()=>{I(u,null)}})}};J(De,e=>{H(u)&&e(Oe)}),Br(`scroll`,ge,fe),Br(`wheel`,ge,()=>ue()),K(e,me),N()}Vr([`click`,`keydown`]);var Xg=W(`<button class="context-label-btn svelte-1nq4ldw"> </button>`),Zg=W(`<div class="frame-content mind-frame svelte-1nq4ldw"><!></div>`),Qg=W(`<div class="frame-content padded svelte-1nq4ldw"><div class="not-found svelte-1nq4ldw">Channel not found.</div></div>`),$g=W(`<div class="frame-content svelte-1nq4ldw"><!></div>`),e_=W(`<div class="frame-content svelte-1nq4ldw"><iframe class="page-iframe svelte-1nq4ldw" title="Extension"></iframe></div>`),t_=W(`<div class="frame-content padded svelte-1nq4ldw"><!></div>`),n_=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 r_(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):!1})?.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=n_(),s=R(o),c=R(s),l=B(c,6),u=e=>{var n=Xg(),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=Zg();ah(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=$g(),a=R(i),o=e=>{{let i=P(()=>H(n).channel_name??``),a=P(()=>H(n).participants??[]);$m(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,Qg())};J(a,e=>{H(n)?e(o):e(s,-1)}),A(i),K(e,i)},m=e=>{var n=e_(),r=R(n);A(n),V(()=>ea(r,`src`,`/ext/${t.selection.extensionId??``}/#${t.selection.path?`/`+t.selection.path:``}`)),K(e,n)},h=e=>{var t=Zg();Yg(R(t),{}),A(t),K(e,t)},g=e=>{var n=t_();fm(R(n),{get username(){return t.username},get conversations(){return t.conversations},get onSelectConversation(){return t.onSelectConversation}}),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()}Vr([`click`]);var i_=W(`<button class="browse-btn svelte-1o8uegr">browse</button>`),a_=W(`<div class="section-header svelte-1o8uegr"><span>CHANNELS</span> <!></div>`),o_=Yr(`<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>`),s_=W(`<span class="unread-badge svelte-1o8uegr"> </span>`),c_=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>`),l_=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>`),u_=W(`<!> <!>`,1),d_=W(`<div class="section-header svelte-1o8uegr"><span>DIRECT MESSAGES</span></div>`),f_=W(`<button></button> <button class="conv-label-mind svelte-1o8uegr"> </button>`,1),p_=W(`<span class="conv-label-text svelte-1o8uegr"> </span>`),m_=W(`<span class="seed-tag svelte-1o8uegr">seed</span>`),h_=W(`<div class="member-count svelte-1o8uegr"> </div>`),g_=W(`<div role="button" tabindex="0"><div class="conv-item-header svelte-1o8uegr"><div><!> <!> <!></div> <button>...</button> <!></div> <!></div>`),__=W(`<div class="empty svelte-1o8uegr">No conversations yet</div>`),v_=W(`<!> <!> <!>`,1),y_=W(`<button class="context-item svelte-1o8uegr">Open mind</button>`),b_=W(`<button class="context-item svelte-1o8uegr">Close chat</button>`),x_=W(`<!> <button class="context-item svelte-1o8uegr"> </button> <!>`,1),S_=W(`<div class="conv-list svelte-1o8uegr"><!> <!></div> <!>`,1);function C_(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=S_(),c=z(s),l=R(c),u=e=>{var r=u_(),i=z(r),a=e=>{var n=a_(),r=B(R(n),2),i=e=>{var n=i_();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(()=>Df.get(H(n).id)??0);var i=l_();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,o_())};J(d,e=>{H(n).private===1&&e(f)}),A(s);var p=B(s,2),m=e=>{var t=s_(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)},h=e=>{var r=c_();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)},[()=>Ll(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=v_(),s=z(n),c=e=>{K(e,d_())};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(()=>Df.get(H(n).id)??0);var d=g_();let f;var p=R(d),m=R(p);let h;var g=R(m),_=e=>{var n=f_(),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),ea(r,`title`,`Open ${H(c).otherName??``}`),a=Z(r,``,a,t),q(s,H(c).otherName)},[()=>({iridescent:Tf.has(H(c).mind.name)}),()=>({background:Tf.has(H(c).mind.name)?void 0:Nl(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=p_(),n=R(t);A(t),V(()=>q(n,`@${H(c).otherName??``}`)),K(e,t)},y=e=>{var r=p_(),i=R(r,!0);A(r),V(e=>q(i,e),[()=>Ll(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,o_())};J(b,e=>{H(n).private===1&&e(x)});var S=B(b,2),C=e=>{K(e,m_())};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=s_(),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 D=B(p,2),te=e=>{var t=h_(),r=R(t);A(t),V(()=>q(r,`${H(n).participants?.length??``} members`)),K(e,t)};J(D,e=>{H(l)&&e(te)}),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,__())};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}));wa(e,{get open(){return H(n)},onclose:()=>I(i,null),get position(){return H(a)},children:(e,n)=>{var a=x_(),s=z(a),c=e=>{var n=y_();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=b_();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 Su(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()}Vr([`click`,`keydown`]);var w_=W(`<button class="oauth-warning-btn svelte-1dkz474">!</button>`),T_=W(`<span class="unread-dot svelte-1dkz474"></span>`),E_=W(`<div class="mind-item-row svelte-1dkz474"><button><span></span> <span class="nav-label svelte-1dkz474"> </span> <!></button></div>`),D_=W(`<div class="item-list svelte-1dkz474"></div>`),O_=W(`<span></span> <span class="nav-label svelte-1dkz474"> </span> <!>`,1),k_=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>`),A_=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>`),j_=W(`<button class="mind-menu-item svelte-1dkz474"><!> Context</button>`),M_=W(`<button class="mind-menu-item svelte-1dkz474"><!> Start</button>`),N_=W(`<button class="mind-menu-item svelte-1dkz474"><!> Restart</button> <button class="mind-menu-item danger svelte-1dkz474"><!> Stop</button>`,1),P_=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> <!> <div class="mind-menu-divider svelte-1dkz474"></div> <!></div>`),F_=W(`<span class="reauth-provider-error svelte-1dkz474"> </span>`),I_=W(`<button class="reauth-provider-btn svelte-1dkz474"><span class="reauth-provider-name svelte-1dkz474"> </span> <!></button>`),L_=W(`<div class="reauth-body svelte-1dkz474"><p class="reauth-desc svelte-1dkz474">The following providers need re-authentication:</p> <!></div>`),R_=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),z_=W(`<p class="reauth-msg reauth-msg-error svelte-1dkz474"> </p> <button class="reauth-btn svelte-1dkz474">Close</button>`,1),B_=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),V_=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),H_=W(`<div class="reauth-body svelte-1dkz474"><!></div>`),U_=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 W_(e,t){M(t,!0);let n=P(()=>wf.oauthErrors.length>0),r=F(!1);function i(e){if(e.stopPropagation(),wf.oauthErrors.length===1){let e=wf.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(){gf(),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(()=>t.minds.filter(e=>e.mindType===`spirit`)),d=P(()=>t.minds.filter(e=>e.mindType!==`spirit`)),f=P(()=>new Set(t.minds.map(e=>e.name))),p=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(f).has(r.username):!1}).map(e=>[e.participants.find(e=>e.username!==t.username).username,e.id]))),m=P(()=>[...H(d)].sort((e,t)=>{let n=Tf.has(e.name)?0:e.status===`running`?1:2,r=Tf.has(t.name)?0:t.status===`running`?1:2;return n===r?e.name.localeCompare(t.name):n-r})),h=F(null),g=F(L({top:0,left:0}));function _(e,t=`__system__`){if(e.stopPropagation(),H(h)===t)I(h,null);else{let n=e.currentTarget.getBoundingClientRect();I(g,{top:n.bottom+2,left:n.left},!0),I(h,t,!0)}}function v(e,n){I(h,null),e===`__system__`?t.onSelectSystemSection(n):t.onSelectMindSection(e,n)}function y(e){H(h)&&!e.target.closest(`.menu-container`)&&I(h,null)}function b(){H(h)&&I(h,null)}let x=P(()=>H(h)?t.minds.find(e=>e.name===H(h)):null);async function S(){if(!H(h))return;let e=H(h);I(h,null),await mu(e)}async function C(){if(!H(h))return;let e=H(h);I(h,null),await hu(e)}async function w(){if(!H(h))return;let e=H(h);I(h,null),await hu(e),await mu(e)}let T=P(()=>t.conversations.filter(e=>e.type===`channel`)),E=P(()=>t.selection.kind===`channel`?t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)?.id??null:null),ee=P(()=>t.selection.kind===`system-history`||t.selection.kind===`extension`);var D=U_();Br(`click`,rn,y),Br(`blur`,rn,b);var te=z(D),ne=R(te),O=R(ne),re=R(O);let ie;var ae=R(re);let oe;Za(R(ae),{kind:`spiral`,class:`section-icon`}),j(2),A(ae);var k=B(ae,2),se=R(k);let ce;A(k);var le=B(k,2),ue=e=>{var t=w_();Ei(t,(e,t)=>Ml?.(e,t),()=>({text:`AI provider credentials expired — click to re-authenticate`,position:`right`})),U(`click`,t,i),K(e,t)};J(le,e=>{H(n)&&e(ue)}),A(re);var de=B(re,2),fe=e=>{var n=D_();Y(n,21,()=>H(u),ai,(e,n)=>{let r=P(()=>H(p).get(H(n).name)),i=P(()=>H(r)?Df.get(H(r))??0:0);var a=E_(),o=R(a);let s;var c=R(o);let l,u;var d=B(c,2),f=R(d,!0);A(d);var m=B(d,2),h=e=>{K(e,T_())};J(m,e=>{H(i)>0&&e(h)}),A(o),A(a),V((e,r)=>{s=X(o,1,`nav-item svelte-1dkz474`,null,s,{active:t.selection.kind===`mind`&&t.selection.name===H(n).name}),l=X(c,1,`status-dot svelte-1dkz474`,null,l,e),u=Z(c,``,u,r),q(f,H(n).displayName??H(n).name)},[()=>({iridescent:Tf.has(H(n).name)}),()=>({background:Tf.has(H(n).name)?void 0:Nl(H(n))})]),U(`click`,o,()=>t.onSelectMind(H(n).name)),K(e,a)}),A(n),K(e,n)};J(de,e=>{H(u).length>0&&e(fe)}),A(O);var pe=B(O,2),me=R(pe),he=R(me);Za(R(he),{kind:`mind`,class:`section-icon`}),j(2),A(he);var ge=B(he,2);A(me);var _e=B(me,2),ve=e=>{var n=D_();Y(n,21,()=>H(m),ai,(e,n)=>{let r=P(()=>H(p).get(H(n).name)),i=P(()=>H(r)?Df.get(H(r))??0:0);var a=k_(),o=R(a);let s;var c=R(o);{let e=e=>{var t=O_(),r=z(t);let a,o;var s=B(r,2),c=R(s,!0);A(s);var l=B(s,2),u=e=>{K(e,T_())};J(l,e=>{H(i)>0&&e(u)}),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:Tf.has(H(n).name)}),()=>({background:Tf.has(H(n).name)?void 0:Nl(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}));sp(c,{get profile(){return H(t)},children:e,$$slots:{default:!0}})}A(o);var l=B(o,2),u=R(l);let d;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}),d=X(u,1,`mind-dots-btn svelte-1dkz474`,null,d,{visible:H(h)===H(n).name})}),U(`click`,o,()=>t.onSelectMind(H(n).name)),U(`click`,u,e=>_(e,H(n).name)),K(e,a)}),A(n),K(e,n)},ye=P(()=>!H(c).has(`minds`));J(_e,e=>{H(ye)&&e(ve)}),A(pe);var be=B(pe,2),xe=R(be),Se=R(xe),Ce=B(Se,2);A(xe);var we=B(xe,2),Te=e=>{C_(e,{get conversations(){return H(T)},get minds(){return t.minds},get activeId(){return H(E)},get username(){return t.username},mode:`channels`,get onSelect(){return t.onSelectConversation},get onDelete(){return t.onDeleteConversation},get onOpenMind(){return t.onOpenMind}})},Ee=P(()=>!H(c).has(`channels`));J(we,e=>{H(Ee)&&e(Te)}),A(be),A(ne),A(te);var De=B(te,2),Oe=e=>{var t=A_();let n;var r=R(t);Za(R(r),{kind:`gear`,class:`menu-icon`}),j(),A(r);var i=B(r,2);Za(R(i),{kind:`document-lines`,class:`menu-icon`}),j(),A(i),A(t),V(()=>n=Z(t,``,n,{top:`${H(g).top??``}px`,left:`${H(g).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(h,null)}),U(`click`,r,()=>v(`__system__`,`settings`)),U(`click`,i,()=>v(`__system__`,`logs`)),K(e,t)},ke=e=>{var t=P_();let n;var r=R(t);Za(R(r),{kind:`folder`,class:`menu-icon`}),j(),A(r);var i=B(r,2);Za(R(i),{kind:`gear`,class:`menu-icon`}),j(),A(i);var a=B(i,2),o=e=>{var t=j_();Za(R(t),{kind:`document-lines`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>v(H(h),`context`)),K(e,t)};J(a,e=>{H(x)?.status===`running`&&e(o)});var s=B(a,4),c=e=>{var t=M_();Za(R(t),{kind:`play`,class:`menu-icon`}),j(),A(t),U(`click`,t,S),K(e,t)},l=e=>{var t=N_(),n=z(t);Za(R(n),{kind:`restart`,class:`menu-icon`}),j(),A(n);var r=B(n,2);Za(R(r),{kind:`stop`,class:`menu-icon`}),j(),A(r),U(`click`,n,w),U(`click`,r,C),K(e,t)};J(s,e=>{H(x)?.status===`stopped`?e(c):e(l,-1)}),A(t),V(()=>n=Z(t,``,n,{top:`${H(g).top??``}px`,left:`${H(g).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(h,null)}),U(`click`,r,()=>v(H(h),`files`)),U(`click`,i,()=>v(H(h),`settings`)),K(e,t)};J(De,e=>{H(h)===`__system__`?e(Oe):H(h)&&e(ke,1)});var Ae=B(De,2),je=e=>{ro(e,{onClose:()=>{I(r,!1)},size:`360px`,title:`Re-authenticate`,children:(e,t)=>{var n=L_();Y(B(R(n),2),17,()=>wf.oauthErrors,ai,(e,t)=>{var n=I_(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=e=>{var n=F_(),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(Ae,e=>{H(r)&&e(je)});var Me=B(Ae,2),Ne=e=>{ro(e,{onClose:()=>{df.polling||o()},size:`400px`,get title(){return`Re-authenticate ${df.providerName??``}`},children:(e,t)=>{var n=H_(),r=R(n),i=e=>{var t=R_();U(`click`,B(z(t),2),o),K(e,t)},a=e=>{var t=z_(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,df.error)),U(`click`,i,o),K(e,t)},s=e=>{var t=V_(),n=B(z(t),2),r=e=>{var t=B_(),n=B(z(t),2);Xi(n),Br(`paste`,n,()=>{setTimeout(()=>{/^https?:\/\//.test(df.codeInput.trim())&&mf()})}),la(n,()=>df.codeInput,e=>df.codeInput=e),K(e,t)};J(n,e=>{(df.needsCode||df.waitingForCode)&&e(r)}),U(`click`,B(n,4),()=>{hf()}),K(e,t)};J(r,e=>{df.success?e(i):df.error&&!df.polling?e(a,1):e(s,-1)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Me,e=>{df.active&&e(Ne)}),V(()=>{ie=X(re,1,`section-header-row svelte-1dkz474`,null,ie,{active:H(ee)}),oe=X(ae,1,`section-toggle svelte-1dkz474`,null,oe,{active:H(ee)}),ce=X(se,1,`mind-dots-btn svelte-1dkz474`,null,ce,{visible:H(h)===`__system__`})}),U(`click`,ae,function(...e){t.onHome?.apply(this,e)}),U(`click`,se,e=>_(e)),U(`click`,he,()=>l(`minds`)),U(`click`,ge,e=>{e.stopPropagation(),t.onSeed()}),U(`click`,Se,()=>l(`channels`)),U(`click`,Ce,e=>{e.stopPropagation(),t.onBrowseChannels()}),K(e,D),N()}Vr([`click`,`keydown`]);function G_(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 K_(e){let t=e.split(` `);if(t.length<5)return e;let[n,r,i,a,o]=t;if(n.startsWith(`*/`)&&r===`*`&&i===`*`&&a===`*`&&o===`*`){let e=+n.slice(2);return e===1?`every minute`:`every ${e} minutes`}if(/^\d+$/.test(n)&&r.startsWith(`*/`)&&i===`*`&&a===`*`&&o===`*`){let e=+r.slice(2);return e===1?`every hour at :${String(+n).padStart(2,`0`)}`:`every ${e} hours`}if(/^\d+$/.test(n)&&/^[\d,]+$/.test(r)&&i===`*`&&a===`*`){let e=r.split(`,`).map(Number),t=+n,i=e.length===1?q_(e[0],t):e.map(e=>q_(e,t)).join(`, `);return o===`*`?`daily at ${i}`:`${J_(o)} at ${i}`}return e}function q_(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 J_(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 Y_(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 X_(e,t){return`${t} ${e} * * *`}function Z_(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 Q_(e,t){return e===`hours`?`0 */${t.hours??4} * * *`:e===`daily`?`${t.minute??0} ${t.hour??12} * * *`:t.cron??``}var $_=W(`<span class="summary-item svelte-lb23vu"><span><!></span> <span class="summary-label svelte-lb23vu"> </span> <span class="summary-detail svelte-lb23vu"> </span></span>`),ev=W(`<span class="summary-sep svelte-lb23vu">·</span>`),tv=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),nv=W(`<span class="summary-item svelte-lb23vu"><!> <span class="summary-label svelte-lb23vu">Schedule</span></span>`),rv=W(`<span><!></span>`),iv=W(`<span class="color-dot svelte-lb23vu"></span>`),av=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>`),ov=W(`<div class="clock-details svelte-lb23vu"></div>`),sv=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 cv(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)`},i=F(null),a=F(!1);kn(()=>{Ad(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`?`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.message&&t.push(`Message: ${e.message}`),e.channel&&t.push(`Channel: ${e.channel}`),e.whileSleeping&&t.push(`While sleeping: ${e.whileSleeping}`),t.join(`
|
|
77
|
+
`)}function d(e){try{return new Date(e).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return e}}let f=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)e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`sleeping now`,next:H(i).sleep.scheduledWakeAt?`wake ${G_(H(i).sleep.scheduledWakeAt)}`:``,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:`${K_(n.sleep)} \u2192 ${K_(n.wake)}`,next:r?G_(r):``,disabled:!1,tooltip:``})}for(let n of H(i).schedules){let r=``;n.cron?r=K_(n.cron):n.fireAt&&(r=d(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?G_(i):``,disabled:!n.enabled,tooltip:u(n)})}return e}),p=P(()=>{if(!H(i))return null;if(H(i).sleep?.sleeping)return{icon:`sleep`,label:`Sleeping`,color:l(`sleep`),detail:H(i).sleep.scheduledWakeAt?`wake ${G_(H(i).sleep.scheduledWakeAt)}`:`now`};if(Tf.has(t.name)&&H(i).previous?.length>0){let e=H(i).previous[0];if(Date.now()-new Date(e.at).getTime()<30*6e4)return{icon:o(e.id),label:e.id,color:l(e.id),detail:`active 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:G_(e.at)}}return null}),m=P(()=>{if(!H(i))return null;let e=H(i).upcoming[0];return e?{icon:o(e.id),label:e.id,color:l(e.id),detail:G_(e.at)}:null}),h=P(()=>H(i)&&(H(i).schedules.length>0||H(i).sleep?.sleeping||H(i).sleepConfig?.enabled));var g=G(),_=z(g),v=e=>{var t=sv(),n=R(t),r=R(n),i=R(r),o=e=>{var t=$_(),n=R(t);let r;Za(R(n),{get kind(){return H(p).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(p).color}),a=Z(i,``,a,{color:H(p).color}),q(o,H(p).label),q(c,H(p).detail)}),K(e,t)};J(i,e=>{H(p)&&e(o)});var c=B(i,2),l=e=>{var t=tv(),n=z(t),r=e=>{K(e,ev())};J(n,e=>{H(p)&&e(r)});var i=B(n,2),a=R(i);let o;Za(R(a),{get kind(){return H(m).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(m).color}),c=Z(s,``,c,{color:H(m).color}),q(l,H(m).label),q(d,H(m).detail)}),K(e,t)};J(c,e=>{H(m)&&e(l)});var u=B(c,2),d=e=>{var t=nv();Za(R(t),{kind:`clock`,class:`summary-icon`}),j(2),A(t),K(e,t)};J(u,e=>{!H(p)&&!H(m)&&e(d)}),A(r);var h=B(r,2);let g;A(n);var _=B(n,2),v=e=>{var t=ov();Y(t,21,()=>H(f),e=>e.id,(e,t)=>{var n=av();let r;var i=R(n),a=R(i),o=e=>{var n=rv();let r;Za(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=iv();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}),ea(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(h,0,`expand-chevron svelte-lb23vu`,null,g,{expanded:H(a)})),U(`click`,n,()=>I(a,!H(a))),K(e,t)};J(_,e=>{H(i)&&H(h)&&e(v)}),K(e,g),N()}Vr([`click`]);var lv=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>`),uv=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>`),dv=W(`<div class="floating-btns svelte-chl8f0"><!> <!></div>`),fv=W(`<img alt="" class="profile-avatar svelte-chl8f0"/>`),pv=W(`<p class="profile-description svelte-chl8f0"> </p>`),mv=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 hv(e,t){M(t,!0);let n=P(()=>wf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>Tf.has(H(n).name));var i=mv(),a=R(i),o=e=>{var n=dv(),r=R(n),i=e=>{var n=lv();Ei(n,(e,t)=>Ml?.(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=uv();Ei(n,(e,t)=>Ml?.(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=fv();V(e=>ea(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=pv(),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);cv(v,{get name(){return H(n).name}});var y=B(v,2);Yg(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:Nl(H(n))})]),K(e,i),N()}Vr([`click`]);var gv=W(`<span class="template-badge svelte-ei9umb"> </span>`),_v=W(`<!> <button class="setting-hint-btn svelte-ei9umb">back</button>`,1),vv=W(`<option> </option>`),yv=W(`<option>--</option> <!> <option>other...</option>`,1),bv=W(`<div class="slider-control svelte-ei9umb"><input type="range" class="thinking-slider svelte-ei9umb" min="0" max="5" step="1"/> <span> </span></div>`),xv=W(`<!> <span class="setting-hint svelte-ei9umb">per</span> <!> <span class="setting-hint svelte-ei9umb">min</span>`,1),Sv=W(`<!> <span class="setting-hint svelte-ei9umb">tokens</span>`,1),Cv=W(`<!> <!>`,1),wv=W(`<!> <!> <!> <!> <!> <!> <!>`,1);function Tv(e,t){M(t,!0);let n=_a(t,`hideBudget`,3,!1),r=F(null),i=F(L([])),a=F(``),o=F(0),s=F(``),c=F(``),l=F(``),u=F(``),d=F(!1),f=F(``),p=F(null),m=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],h={claude:[`anthropic`],codex:[`openai-codex`],pi:[]},g=P(()=>t.template?h[t.template]??[]:[]),_=P(()=>H(i).filter(e=>e.enabled).filter(e=>H(g).length===0||H(g).includes(e.provider)));function v(e){return e?H(_).some(t=>t.id===e)?e:H(_).find(t=>t.id.startsWith(e)||e.startsWith(t.id))?.id??e:``}kn(()=>{if(H(_).length>0&&H(a)){let e=v(H(a));e!==H(a)&&I(a,e,!0)}});let y=P(()=>H(a)!==``&&!H(_).some(e=>e.id===H(a))),b=P(()=>m[H(o)]),x=P(()=>t.template===`claude`&&H(o)>0);function S(e){I(a,e.config.model??``,!0);let t=e.config.thinkingLevel??`off`;I(o,Math.max(0,m.indexOf(t)),!0),I(s,e.config.maxThinkingTokens==null?``:String(e.config.maxThinkingTokens),!0),I(c,e.config.tokenBudget==null?``:String(e.config.tokenBudget),!0),I(l,e.config.tokenBudgetPeriodMinutes==null?``:String(e.config.tokenBudgetPeriodMinutes),!0),I(u,e.config.compaction?.maxContextTokens==null?``:String(e.config.compaction.maxContextTokens),!0),I(d,e.config.unescapeNewlines??!1,!0)}function C(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}async function w(e,n){I(p,e,!0),I(f,``);try{await n();let e=await Au(t.name);I(r,e,!0),S(e)}catch(e){I(f,e instanceof Error?e.message:`Save failed`,!0)}I(p,null)}function T(e){I(a,e,!0),e&&w(`model`,()=>ju(t.name,{model:e}))}function E(){w(`thinking`,()=>ju(t.name,{thinkingLevel:m[H(o)]}))}function ee(){w(`maxThinking`,()=>ju(t.name,{maxThinkingTokens:C(H(s))}))}function D(){w(`budget`,()=>ju(t.name,{tokenBudget:C(H(c))}))}function te(){w(`period`,()=>ju(t.name,{tokenBudgetPeriodMinutes:C(H(l))}))}function ne(){w(`compaction`,()=>ju(t.name,{compaction:{maxContextTokens:C(H(u))}}))}function O(){I(d,!H(d)),w(`unescapeNewlines`,()=>ju(t.name,{unescapeNewlines:H(d)}))}function re(e){let t=e.target.value;t===`__other__`?I(a,``):T(t)}function ie(e){I(o,parseInt(e.target.value,10),!0),E()}va(async()=>{try{let[e,n]=await Promise.all([Au(t.name),ld()]);I(r,e,!0),I(i,n,!0),S(e)}catch(e){I(f,e instanceof Error?e.message:`Failed to load config`,!0)}});var ae=G(),oe=z(ae),k=e=>{var r=wv(),i=z(r),p=e=>{po(e,{label:`Template`,children:(e,n)=>{var r=gv(),i=R(r,!0);A(r),V(()=>q(i,t.template)),K(e,r)},$$slots:{default:!0}})};J(i,e=>{t.template&&e(p)});var m=B(i,2);po(m,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),i=e=>{var t=_v(),n=z(t);eo(n,{type:`text`,onblur:()=>T(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(_)[0]?.id??``,!0),H(a)&&T(H(a))}),K(e,t)},o=e=>{uo(e,{get value(){return H(a)},onchange:re,children:(e,t)=>{var n=yv(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(_),e=>e.id,(e,t)=>{var n=vv(),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(y)?e(i):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var h=B(m,2);po(h,{label:`Thinking`,children:(e,t)=>{var n=bv(),r=R(n);Xi(r);var i=B(r,2);let a;var s=R(i,!0);A(i),A(n),V(()=>{Zi(r,H(o)),a=X(i,1,`slider-label svelte-ei9umb`,null,a,{off:H(o)===0}),q(s,H(b))}),U(`change`,r,ie),K(e,n)},$$slots:{default:!0}});var g=B(h,2),v=e=>{po(e,{label:`Max tokens`,children:(e,t)=>{eo(e,{type:`number`,width:`80px`,onblur:ee,placeholder:`default`,get value(){return H(s)},set value(e){I(s,e,!0)}})},$$slots:{default:!0}})};J(g,e=>{H(x)&&e(v)});var S=B(g,2),C=e=>{var t=Cv(),n=z(t);po(n,{label:`Budget`,children:(e,t)=>{var n=xv(),r=z(n);eo(r,{type:`number`,width:`80px`,onblur:D,placeholder:`tokens`,get value(){return H(c)},set value(e){I(c,e,!0)}}),eo(B(r,4),{type:`number`,width:`80px`,onblur:te,placeholder:`min`,get value(){return H(l)},set value(e){I(l,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),po(B(n,2),{label:`Context`,children:(e,t)=>{var n=Sv();eo(z(n),{type:`number`,width:`80px`,onblur:ne,placeholder:`150000`,get value(){return H(u)},set value(e){I(u,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,t)};J(S,e=>{n()||e(C)});var w=B(S,2);po(w,{label:`Fix newlines`,children:(e,t)=>{To(e,{get checked(){return H(d)},onchange:O,label:`Unescape \\\\n in messages`})},$$slots:{default:!0}}),Oa(B(w,2),{get message(){return H(f)}}),K(e,r)};J(oe,e=>{H(r)&&e(k)}),K(e,ae),N()}Vr([`click`,`change`]);var Ev=W(`<div class="env-add-row svelte-1hrpqbw"><!> <!> <!> <!></div>`),Dv=W(`<span class="env-key svelte-1hrpqbw"> </span> <!> <!> <!>`,1),Ov=W(`<span class="env-source svelte-1hrpqbw">shared</span>`),kv=W(`<span class="env-key svelte-1hrpqbw"> <!></span> <span><!></span> <!> <!> <!>`,1),Av=W(`<div class="env-row svelte-1hrpqbw"><!></div>`),jv=W(`<div class="env-list svelte-1hrpqbw"></div>`),Mv=W(`<!> <!> <!>`,1);function Nv(e,t){M(t,!0);let n=F(null),r=F(``),i=F(null),a=new Vl,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 Mu(t.name),!0),I(r,``)}catch(e){I(r,e instanceof Error?e.message:`Failed to load environment`,!0)}}va(()=>{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 Nu(t.name,H(l),H(u)),I(n,await Mu(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 Fu(e):await Pu(t.name,e),I(n,await Mu(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 Nu(t.name,H(s).trim(),H(c)),I(n,await Mu(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()}ho(e,{title:`Environment Variables`,action:e=>{Sa(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Xr(`Add`))},$$slots:{default:!0}})},children:(e,t)=>{var n=Mv(),f=z(n);Oa(f,{get message(){return H(r)}});var y=B(f,2),b=e=>{var t=Ev(),n=R(t);eo(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);eo(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);Sa(a,{variant:`primary`,onclick:_,get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();V(()=>q(n,H(i)===`env:add`?`...`:`Add`)),K(e,n)},$$slots:{default:!0}})}Sa(B(a,2),{variant:`secondary`,onclick:()=>I(o,!1),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(t),K(e,t)};J(y,e=>{H(o)&&e(b)});var x=B(y,2),S=e=>{Ea(e,{message:`No environment variables set.`})},C=e=>{var t=jv();Y(t,21,()=>H(d),e=>e.key,(e,t)=>{var n=Av(),r=R(n),o=e=>{var n=Dv(),r=z(n),a=R(r,!0);A(r);var o=B(r,2);eo(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);Sa(s,{variant:`primary`,onclick:h,get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(i)===`env:${H(t).key}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}Sa(B(s,2),{variant:`secondary`,onclick:()=>I(l,null),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),V(()=>q(a,H(t).key)),K(e,n)},s=e=>{var n=kv(),r=z(n),o=R(r),s=B(o),c=e=>{K(e,Ov())};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=Xr();V(()=>q(n,H(t).value)),K(e,n)},h=P(()=>a.has(H(t).key)),_=e=>{K(e,Xr(`••••••••`))};J(d,e=>{H(h)?e(f):e(_,-1)}),A(l);var v=B(l,2);Sa(v,{variant:`icon`,onclick:()=>p(H(t).key),title:`Toggle visibility`,children:(e,n)=>{j();var r=Xr();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=>{Sa(e,{variant:`icon`,onclick:()=>m(H(t).key,H(t).value),title:`Edit`,children:(e,t)=>{j(),K(e,Xr(`Edit`))},$$slots:{default:!0}})};J(y,e=>{H(t).source===`mind`&&e(b)});var x=B(y,2);{let e=P(()=>H(i)!==null);Sa(x,{variant:`icon`,onclick:()=>g(H(t).key,H(t).source),get disabled(){return H(e)},title:`Delete`,children:(e,n)=>{j();var r=Xr();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 Pv(e,t){Nv(e,{get name(){return t.name}})}function Fv(){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 Iv=W(`<img alt="" class="avatar-img svelte-1ezxk1u"/>`),Lv=W(`<div class="avatar-placeholder svelte-1ezxk1u">?</div>`),Rv=W(`<span class="saved-indicator svelte-1ezxk1u">Saved</span>`),zv=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 Bv(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),{savedField:a,showSaved:o}=Fv();kn(()=>{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 Rd(t.mind.name,r),wf.minds=await uu(),t.onUpdated(),n.value=``)}async function c(){let e=H(n).trim();e!==(t.mind.displayName??``)&&(await Ld(t.mind.name,{displayName:e}),o(`displayName`),t.onUpdated())}async function l(){let e=H(r).trim();e!==(t.mind.description??``)&&(await Ld(t.mind.name,{description:e}),o(`description`),t.onUpdated())}ho(e,{title:`Profile`,subtitle:`Avatar, display name, and description`,children:(e,o)=>{var u=zv(),d=R(u),f=B(R(d),2),p=R(f),m=e=>{var n=Iv();V(e=>ea(n,`src`,e),[()=>`/api/minds/${encodeURIComponent(t.mind.name)}/avatar`]),K(e,n)},h=e=>{K(e,Lv())};J(p,e=>{t.mind.avatar?e(m):e(h,-1)});var g=B(p,4);ma(g,e=>I(i,e),()=>H(i)),A(f),A(d);var _=B(d,2),v=B(R(_),2),y=R(v);Xi(y);var b=B(y,2),x=e=>{K(e,Rv())};J(b,e=>{a===`displayName`&&e(x)}),A(v),A(_);var S=B(_,2),C=B(R(S),2),w=R(C);yn(w);var T=B(w,2),E=e=>{K(e,Rv())};J(T,e=>{a===`description`&&e(E)}),A(C),A(S),A(u),V(()=>ea(y,`placeholder`,t.mind.name)),U(`click`,f,()=>H(i)?.click()),U(`change`,g,s),Br(`blur`,y,c),la(y,()=>H(n),e=>I(n,e)),Br(`blur`,w,l),la(w,()=>H(r),e=>I(r,e)),K(e,u)},$$slots:{default:!0}}),N()}Vr([`click`,`change`]);var Vv=W(`<div class="cron-preview svelte-1u04gr6"> </div>`),Hv=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),Uv=W(`<div class="sleep-summary svelte-1u04gr6"><span class="sleep-desc svelte-1u04gr6"> </span> <!></div> <!> <!>`,1),Wv=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),Gv=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),Kv=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>`),qv=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <span class="form-hint svelte-1u04gr6">At</span> <!></div>`),Jv=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <!></div>`),Yv=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),Xv=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> <!></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>`),Zv=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> <!></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>`),Qv=W(`<div class="schedule-message svelte-1u04gr6"> </div>`),$v=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>`),ey=W(`<div class="schedule-list svelte-1u04gr6"></div>`),ty=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 ny(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(!1),m=F(!1),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`),D=F(4),te=F(12),ne=F(0),O=F(``),re=F(``),ie=F(`skip`),ae=F(!0),oe=F(null);function k(e){I(n,e,!0),I(d,e.schedule?.sleep??``,!0),I(f,e.schedule?.wake??``,!0);let t=Y_(H(d)),r=Y_(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??!1,!0),I(m,e.wakeTriggers?.dms??!1,!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([jd(t.name),Nd(t.name)]);k(e),I(r,n,!0),I(i,``)}catch{I(i,`Failed to load configuration`)}I(a,!1)}va(()=>{se()});async function ce(){if(!H(n))return;let e=!H(n).enabled;I(oe,`sleep-toggle`);try{await Md(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(oe,null)}async function le(){let e=H(u)?H(d):X_(H(o),H(s)),r=H(u)?H(f):X_(H(c),H(l));I(oe,`sleep-cron`);try{await Md(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(oe,null)}async function ue(){I(oe,`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 Md(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(oe,null)}async function de(e){I(oe,`sched:${e.id}`);try{await Fd(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(oe,null)}function fe(e){I(E,e.id,!0);let t=e.cron?Z_(e.cron):{type:`daily`};I(ee,t.type,!0),I(D,t.hours??4,!0),I(te,t.hour??12,!0),I(ne,t.minute??0,!0),I(O,e.cron??``,!0),I(re,e.message??e.script??``,!0),I(ie,e.whileSleeping??`skip`,!0),I(ae,e.enabled,!0)}async function pe(){if(!H(E))return;let e=Q_(H(ee),{hours:H(D),hour:H(te),minute:H(ne),cron:H(O)});I(oe,`sched:${H(E)}`);try{await Fd(t.name,H(E),{cron:e||void 0,message:H(re)||void 0,whileSleeping:H(ie),enabled:H(ae)}),I(r,H(r).map(t=>t.id===H(E)?{...t,cron:e,message:H(re)||void 0,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(oe,null)}async function me(){if(!H(v).trim())return;let e=Q_(H(y),{hours:H(b),hour:H(x),minute:H(S),cron:H(C)});I(oe,`sched:add`);try{await Pd(t.name,{id:H(v).trim(),cron:e||void 0,message:H(w)||void 0,whileSleeping:H(T),enabled:!0}),I(r,await Nd(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(oe,null)}async function he(e){I(oe,`sched:${e}`);try{await Id(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(oe,null)}var ge=ty(),_e=z(ge);Oa(_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`);To(be,{get checked(){return H(e)},onchange:ce,get label(){return H(t)}})}A(ye);var xe=B(ye,2),Se=e=>{var t=Wv(),n=z(t),r=e=>{var t=Hv(),n=z(t);Sa(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!1),le()},children:(e,t)=>{j(),K(e,Xr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);eo(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=Vv(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>K_(H(d))]),K(e,t)};J(i,e=>{H(d)&&e(a)});var o=B(i,2);eo(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=Vv(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>K_(H(f))]),K(e,t)};J(s,e=>{H(f)&&e(c)}),K(e,t)},i=e=>{var t=Uv(),n=z(t),r=R(n),i=R(r);A(r),Sa(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!0),I(d,X_(H(o),H(s)),!0),I(f,X_(H(c),H(l)),!0)},children:(e,t)=>{j(),K(e,Xr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);So(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)}}),So(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??``}`),[()=>q_(H(o),H(s)),()=>q_(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);To(R(_),{get checked(){return H(p)},onchange:()=>{I(p,!H(p)),ue()},label:`When mentioned`}),A(_);var v=B(_,2);To(R(v),{get checked(){return H(m)},onchange:()=>{I(m,!H(m)),ue()},label:`Direct messages`}),A(v);var y=B(v,2);eo(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);eo(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);Sa(B(R(we),2),{variant:`primary`,onclick:()=>I(_,!0),children:(e,t)=>{j(),K(e,Xr(`Add`))},$$slots:{default:!0}}),A(we);var Te=B(we,2),Ee=e=>{var t=Xv(),n=R(t);eo(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);uo(B(R(r),2),{get value(){return H(y)},set value(e){I(y,e,!0)},children:(e,t)=>{var n=Gv(),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=Kv();eo(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=qv();So(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=Jv();eo(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);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(w)},set value(e){I(w,e,!0)}}),A(c);var l=B(c,2);uo(B(R(l),2),{get value(){return H(T)},set value(e){I(T,e,!0)},children:(e,t)=>{var n=Yv(),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);{let e=P(()=>H(oe)!==null||!H(v).trim());Sa(d,{variant:`primary`,onclick:me,get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();V(()=>q(n,H(oe)===`sched:add`?`...`:`Add schedule`)),K(e,n)},$$slots:{default:!0}})}Sa(B(d,2),{variant:`secondary`,onclick:()=>I(_,!1),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(u),A(t),K(e,t)};J(Te,e=>{H(_)&&e(Ee)});var De=B(Te,2),Oe=e=>{Ea(e,{message:`No schedules configured.`})},ke=e=>{var t=ey();Y(t,21,()=>H(r),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Zv(),r=R(n);uo(B(R(r),2),{get value(){return H(ee)},set value(e){I(ee,e,!0)},children:(e,t)=>{var n=Gv(),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=Kv();eo(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(D)},set value(e){I(D,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=qv();So(B(R(t),4),{get hour(){return H(te)},set hour(e){I(te,e,!0)},get minute(){return H(ne)},set minute(e){I(ne,e,!0)}}),A(t),K(e,t)},s=e=>{var t=Jv();eo(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);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(re)},set value(e){I(re,e,!0)}}),A(c);var l=B(c,2);uo(B(R(l),2),{get value(){return H(ie)},set value(e){I(ie,e,!0)},children:(e,t)=>{var n=Yv(),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);{let e=P(()=>H(oe)!==null);Sa(d,{variant:`primary`,onclick:pe,get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(oe)===`sched:${H(t).id}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}Sa(B(d,2),{variant:`secondary`,onclick:()=>I(E,null),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(u),A(n),K(e,n)},a=e=>{var n=$v();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=Xr();V(e=>q(n,e),[()=>K_(H(t).cron)]),K(e,n)},u=e=>{K(e,Xr(`one-time`))},d=e=>{K(e,Xr(`--`))};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);To(p,{get checked(){return H(t).enabled},onchange:()=>de(H(t))});var m=B(p,2);Sa(m,{variant:`icon`,onclick:()=>fe(H(t)),children:(e,t)=>{j(),K(e,Xr(`Edit`))},$$slots:{default:!0}});var h=B(m,2);{let e=P(()=>H(oe)!==null);Sa(h,{variant:`danger`,size:`sm`,class:`icon-size`,onclick:()=>he(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(oe)===`sched:${H(t).id}`?`...`:`Del`)),K(e,r)},$$slots:{default:!0}})}A(f),A(i);var g=B(i,2),_=e=>{var n=Qv(),r=R(n,!0);A(n),V(()=>q(r,H(t).message)),K(e,n)};J(g,e=>{H(t).message&&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 ry=W(`<div class="skill-desc svelte-19xtkvn"> </div>`),iy=W(`<span class="installed-tag svelte-19xtkvn">installed</span>`),ay=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>`),oy=W(`<div class="skill-list svelte-19xtkvn"></div>`),sy=W(`<div class="modal-body svelte-19xtkvn"><!> <!></div>`);function cy(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null);va(()=>{Vu().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 Uu(t.name,e),t.onInstalled();try{I(n,await Vu(),!0)}catch{}}catch(e){I(r,e instanceof Error?e.message:`Failed to install`,!0)}I(a,null)}ro(e,{size:`480px`,title:`Add Skill`,get onClose(){return t.onClose},children:(e,s)=>{var c=sy(),l=R(c);Oa(l,{get message(){return H(r)}});var u=B(l,2),d=e=>{Ea(e,{message:`Loading...`})},f=e=>{Ea(e,{message:`No shared skills available.`})},p=e=>{var r=oy();Y(r,21,()=>H(n),e=>e.id,(e,n)=>{var r=ay(),i=R(r),s=R(i),c=R(s,!0);A(s);var l=B(s,2),u=e=>{var t=ry(),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,iy())},g=P(()=>t.installedIds.has(H(n).id)),_=e=>{{let t=P(()=>H(a)!==null);Sa(e,{variant:`primary`,onclick:()=>o(H(n).id),get disabled(){return H(t)},children:(e,t)=>{j();var r=Xr();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 ly=W(`<span class="update-badge svelte-x10lne">update available</span>`),uy=W(`<div class="skill-desc svelte-x10lne"> </div>`),dy=W(`<span class="upstream-tag svelte-x10lne"> </span>`),fy=W(`<span class="local-tag svelte-x10lne">local</span>`),py=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>`),my=W(`<div class="skill-list svelte-x10lne"></div>`),hy=W(`<!> <!> <!>`,1),gy=W(`<!> <!>`,1);function _y(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1);function s(){Hu(t.name).then(e=>{I(n,e,!0),I(i,!1),I(r,``)}).catch(()=>{I(r,`Failed to load skills`),I(i,!1)})}va(()=>{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 Wu(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 Gu(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 Ku(t.name,e),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to uninstall`,!0)}I(a,null)}var f=gy(),p=z(f),m=e=>{Ea(e,{message:`Loading...`})},h=e=>{var t=hy(),i=z(t);Oa(i,{get message(){return H(r)}});var s=B(i,2);oo(s,{title:`Skills`,action:e=>{Sa(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,Xr(`Add skill`))},$$slots:{default:!0}})},$$slots:{action:!0}});var c=B(s,2),f=e=>{Ea(e,{message:`No skills installed.`})},p=e=>{var t=my();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=py(),r=R(n),i=R(r),o=R(i),s=B(o),c=e=>{K(e,ly())};J(s,e=>{H(t).updateAvailable&&e(c)}),A(i);var f=B(i,2),p=e=>{var n=uy(),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=dy(),r=R(n);A(n),V(()=>q(r,`v${H(t).upstream.version??``}`)),K(e,n)},v=e=>{K(e,fy())};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);Sa(e,{variant:`primary`,onclick:()=>l(H(t).id),get disabled(){return H(n)},children:(e,n)=>{j();var r=Xr();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);Sa(S,{variant:`secondary`,onclick:()=>u(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();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);Sa(C,{variant:`danger`,onclick:()=>d(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();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=>{cy(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 vy=W(`<button> </button>`),yy=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 by(e,t){M(t,!0);let n=P(()=>wf.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:`Rhythms`},{id:`skills`,label:`Skills`},{id:`environment`,label:`Environment`}],a=F(`profile`),o,s={},c=!1;va(()=>{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(){wf.minds=await uu()}var f=yy(),p=R(f);Y(p,21,()=>i,ai,(e,t)=>{var n=vy();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);Bv(R(h),{get mind(){return H(n)},onUpdated:d}),A(h),ma(h,e=>s.profile=e,()=>s?.profile);var g=B(h,2),_=R(g);oo(_,{title:`Model`,subtitle:`Cognition and resource limits`}),Tv(B(_,2),{get name(){return H(r)},get template(){return H(n).template}}),A(g),ma(g,e=>s.cognition=e,()=>s?.cognition);var v=B(g,2),y=R(v);oo(y,{title:`Rhythms`,subtitle:`Sleep, schedules, and wake triggers`}),ny(B(y,2),{get name(){return H(r)}}),A(v),ma(v,e=>s.rhythms=e,()=>s?.rhythms);var b=B(v,2);_y(R(b),{get name(){return H(r)}}),A(b),ma(b,e=>s.skills=e,()=>s?.skills);var x=B(b,2);Pv(R(x),{get name(){return H(r)}}),A(x),ma(x,e=>s.environment=e,()=>s?.environment),A(m),ma(m,e=>o=e,()=>o),A(f),K(e,f),N()}Vr([`click`]);var xy=W(`<div class="error svelte-18xrmlc"> </div>`),Sy=W(`<div class="empty svelte-18xrmlc">Loading...</div>`),Cy=W(`<div class="empty svelte-18xrmlc">No channels yet. Create one below.</div>`),wy=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>`),Ty=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 Ey(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(``),a=F(!0),o=F(null);function s(){I(a,!0),Iu().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)})}va(()=>{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 Lu(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 Ru(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 zu(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()}ro(e,{size:`380px`,title:`Browse channels`,get onClose(){return t.onClose},children:(e,t)=>{var s=Ty(),f=z(s),p=e=>{var t=xy(),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,Sy())},_=e=>{K(e,Cy())},v=e=>{var t=G();Y(z(t),17,()=>H(n),e=>e.id,(e,t)=>{var n=wy(),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);eo(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()}Vr([`click`]);var Dy=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>`),Oy=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>`),ky=W(`<div class="skill-item svelte-1v57vxv"><span class="skill-name svelte-1v57vxv"> </span> <span class="skill-desc svelte-1v57vxv"> </span></div>`),Ay=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv"> </summary> <div class="section-body svelte-1v57vxv"></div></details>`),jy=W(`<div class="empty svelte-1v57vxv">No messages yet</div>`),My=W(`<pre class="block-system-text svelte-1v57vxv"> </pre>`),Ny=W(`<div class="block-text markdown-body svelte-1v57vxv"></div>`),Py=W(`<details class="block-thinking svelte-1v57vxv"><summary class="thinking-header svelte-1v57vxv">Thinking</summary> <div class="thinking-body svelte-1v57vxv"> </div></details>`),Fy=W(`<details class="block-tool svelte-1v57vxv"><summary class="tool-header svelte-1v57vxv"> </summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),Iy=W(`<details class="block-tool svelte-1v57vxv"><summary>Result<!></summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),Ly=W(`<div><div> </div> <div class="blocks svelte-1v57vxv"></div></div>`),Ry=W(`<div class="messages svelte-1v57vxv"></div>`),zy=W(`<div class="session svelte-1v57vxv"><div class="session-label svelte-1v57vxv"> </div> <!></div>`),By=W(`<div class="context-view svelte-1v57vxv"><div class="preamble svelte-1v57vxv"><!> <!> <!></div> <!></div>`);function Vy(e,t){M(t,!0);var n=By(),r=R(n),i=R(r),a=e=>{var n=Dy(),r=B(R(n),2);mi(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=Oy(),r=B(R(n),2);mi(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=Ay(),r=R(n),i=R(r);A(r);var a=B(r,2);Y(a,21,()=>t.messages.preamble.skillDescriptions,ai,(e,t)=>{var n=ky(),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=zy(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{K(e,jy())},s=e=>{var n=Ry();Y(n,21,()=>H(t).messages,ai,(e,t)=>{var n=Ly();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,ai,(e,n)=>{var r=G(),i=z(r),a=e=>{var r=G(),i=z(r),a=e=>{var t=My(),r=R(t,!0);A(t),V(()=>q(r,H(n).text)),K(e,t)},o=e=>{var t=Ny();mi(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=Py(),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=Fy(),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=Iy(),r=R(t);let i;var a=B(R(r)),o=e=>{K(e,Xr(`(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 Hy=W(`<div class="loading svelte-1ndm006">Loading context info...</div>`),Uy=W(`<div class="error svelte-1ndm006"> </div>`),Wy=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>`),Gy=W(`<div class="empty svelte-1ndm006">No active sessions</div>`),Ky=W(`<span> </span><!>`,1),qy=W(`<span class="no-data svelte-1ndm006">no data yet</span>`),Jy=W(`<div class="cell svelte-1ndm006"></div>`),Yy=W(`<div class="waffle svelte-1ndm006"></div>`),Xy=W(`<div class="token-bar svelte-1ndm006"><div class="token-bar-fill svelte-1ndm006"></div></div>`),Zy=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>`),Qy=W(`<div class="sessions svelte-1ndm006"></div>`),$y=W(`<div class="context-content svelte-1ndm006"><!> <!></div>`),eb=W(`<div class="loading svelte-1ndm006">Loading context content...</div>`);function tb(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(``);va(async()=>{try{I(r,await fu(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 pu(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=>{vo(e,{tabs:[`Overview`,`Content`],get active(){return H(n)},onchange:u})},f=P(()=>H(n)===`Content`?`full`:`600px`);ro(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,Hy())},o=e=>{var t=Uy(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},c=e=>{var t=$y(),n=R(t),i=e=>{var t=Wy(),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,Gy())},s=e=>{var t=Qy();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=Zy(),o=R(a),s=R(o),c=R(s,!0);A(s);var l=B(s,2),u=R(l),f=e=>{var n=Ky(),r=z(n);let a;var o=R(r,!0);A(r);var s=B(r),c=e=>{var n=Xr();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,qy())};J(u,e=>{H(t).contextTokens>0?e(f):e(m,-1)}),A(l),A(o);var g=B(o,2),_=e=>{var t=Yy();Z(t,``,{},{"grid-template-columns":`repeat(15, 1fr)`}),Y(t,21,()=>H(r),ai,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=Jy();let r;Ei(n,(e,t)=>Ml?.(e,t),()=>H(t).tooltip),V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)},a=e=>{var n=Jy();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=Xy(),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,eb())},a=e=>{var t=Uy(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)},s=e=>{Vy(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 nb=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>`),rb=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>`),ib=W(`<div class="model-dropdown svelte-c55mz0"></div>`),ab=W(`<div class="model-picker svelte-c55mz0"><!> <!></div>`),ob=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Model (optional)</span> <!></div>`),sb=W(`<label class="skill-item svelte-c55mz0"><input type="checkbox"/> <span class="skill-name svelte-c55mz0"> </span></label>`),cb=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Skills</span> <div class="skill-list svelte-c55mz0"></div></div>`),lb=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),ub=W(`<div class="error svelte-c55mz0"> </div>`),db=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 fb(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());va(()=>{$u().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)}),Vu().then(e=>{I(d,e,!0)}).catch(e=>{console.error(`Failed to load shared skills:`,e)}),ld().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 _u(e,{description:H(i).trim()||void 0,model:H(a)||void 0,seedSoul:n,skills:r}),await mu(e),t.onCreated(e)}catch(e){I(s,e instanceof Error?e.message:`Failed to create`,!0),I(o,!1)}}}ro(e,{size:`340px`,get onClose(){return t.onClose},children:(e,n)=>{var u=db(),p=B(R(u),2);eo(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);eo(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=ob(),n=B(R(t),2),r=e=>{var t=nb(),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=ab(),n=R(t);eo(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=ib();Y(t,21,()=>H(v),e=>e.id,(e,t)=>{var n=rb(),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 D=B(T,2),te=e=>{var t=lb(),n=z(t),r=B(R(n),2);yn(r);var i=B(r,2);i.textContent="Variables: ${name}, ${description}",A(n);var a=B(n,2),o=e=>{var t=cb(),n=B(R(t),2);Y(n,21,()=>H(d),ai,(e,t)=>{var n=sb(),r=R(n);Xi(r);var i=B(r,2),a=R(i,!0);A(i),A(n),V(e=>{Qi(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)}),la(r,()=>H(l),e=>I(l,e)),K(e,t)};J(D,e=>{H(c)&&e(te)});var ne=B(D,2),O=e=>{var t=ub(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(ne,e=>{H(s)&&e(O)});var re=B(ne,2),ie=R(re),ae=B(ie,2);let oe;var k=R(ae,!0);A(ae),A(re),A(u),V(()=>{q(ee,H(c)?`▼`:`▶`),ae.disabled=!H(y),oe=Z(ae,``,oe,{opacity:H(y)?1:.5}),q(k,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()}Vr([`click`,`change`]);var pb=W(`<div class="message error svelte-9vtzjd"> </div>`),mb=W(`<div class="message success svelte-9vtzjd"> </div>`),hb=W(`<img alt="Avatar preview" class="avatar-img svelte-9vtzjd"/>`),gb=W(`<img alt="Avatar" class="avatar-img svelte-9vtzjd"/>`),_b=W(`<div class="avatar-placeholder svelte-9vtzjd">?</div>`),vb=W(`<button type="button" class="save-btn svelte-9vtzjd"> </button>`),yb=W(`<button type="button" class="remove-btn svelte-9vtzjd">Remove</button>`),bb=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 xb(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);va(()=>{_()});async function _(){try{let e=await Gl();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 tu({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{I(i,`/api/auth/avatars/${await nu(H(c))}`),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 ru(),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 Xl(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)}}ro(e,{size:`420px`,title:`User Settings`,get onClose(){return t.onClose},children:(e,t)=>{var _=bb(),C=R(_),w=B(R(C),2),T=e=>{var t=pb(),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=mb(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(E,e=>{H(o)&&e(ee)});var D=B(E,2),te=R(D),ne=R(te),O=e=>{var t=hb();V(()=>ea(t,`src`,H(l))),K(e,t)},re=e=>{var t=gb();V(()=>ea(t,`src`,H(i))),K(e,t)},ie=e=>{K(e,_b())};J(ne,e=>{H(l)?e(O):H(i)?e(re,1):e(ie,-1)}),A(te);var ae=B(te,2),oe=R(ae),k=B(R(oe));A(oe);var se=B(oe,2),ce=e=>{var t=vb(),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=yb();U(`click`,t,x),K(e,t)};J(le,e=>{H(i)&&!H(c)&&e(ue)}),A(ae),A(D);var de=B(D,2),fe=B(R(de),2);Xi(fe),ea(fe,`maxlength`,100),A(de);var pe=B(de,2),me=B(R(pe),2);yn(me),ea(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=pb(),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=mb(),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);Xi(Ce),A(Se);var we=B(Se,2),Te=B(R(we),2);Xi(Te),A(we);var Ee=B(we,2),De=B(R(Ee),2);Xi(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`)}),Br(`submit`,C,v),U(`change`,k,y),la(fe,()=>H(n),e=>I(n,e)),la(me,()=>H(r),e=>I(r,e)),Br(`submit`,_e,S),la(Ce,()=>H(d),e=>I(d,e)),la(Te,()=>H(f),e=>I(f,e)),la(De,()=>H(p),e=>I(p,e)),K(e,_)},$$slots:{default:!0}}),N()}Vr([`change`,`click`]);var Sb=W(`<div class="empty svelte-h08x3h">Loading...</div>`),Cb=W(`<div class="empty error-text svelte-h08x3h"> </div>`),wb=W(`<button class="crumb svelte-h08x3h"> </button>`),Tb=W(`<button class="file-row svelte-h08x3h"><span class="file-icon svelte-h08x3h">..</span> <span class="file-name svelte-h08x3h">..</span></button>`),Eb=W(`<button><span class="file-icon svelte-h08x3h"> </span> <span class="file-name svelte-h08x3h"> </span></button>`),Db=W(`<div class="empty-dir svelte-h08x3h">Empty directory</div>`),Ob=W(`<div class="preview-empty svelte-h08x3h">Loading...</div>`),kb=W(`<div class="preview-empty error-text svelte-h08x3h"> </div>`),Ab=W(`<div class="preview-image svelte-h08x3h"><img class="svelte-h08x3h"/></div>`),jb=W(`<div class="preview-markdown markdown-body svelte-h08x3h"></div>`),Mb=W(`<pre class="preview-text svelte-h08x3h"><code class="svelte-h08x3h"> </code></pre>`),Nb=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>`),Pb=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),Fb=W(`<div class="preview-empty svelte-h08x3h">Select a file to preview</div>`),Ib=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>`),Lb=W(`<div class="public-files svelte-h08x3h"><!></div>`);function Rb(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)}}kn(()=>{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));kn(()=>{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=Lb(),w=R(C),T=e=>{K(e,Sb())},E=e=>{var t=Cb(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)},ee=e=>{var r=Ib(),i=R(r),d=R(i),f=R(d);Y(B(f,2),17,()=>H(u),ai,(e,t,n)=>{var r=wb(),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=Tb();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=Eb();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,Db())};J(w,e=>{H(n).length===0&&e(T)}),A(i);var E=B(i,2),ee=R(E),D=e=>{var n=Pb(),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,Ob())},h=e=>{var t=kb(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},g=e=>{var t=Ab(),n=R(t);A(t),V(()=>{ea(n,`src`,H(s)),ea(n,`alt`,H(o))}),K(e,t)},_=e=>{var t=jb();mi(t,()=>Al(H(s)),!0),A(t),K(e,t)},v=e=>{var t=Mb(),n=R(t),r=R(n,!0);A(n),A(t),V(()=>q(r,H(s))),K(e,t)},S=e=>{var n=Nb(),r=R(n),i=R(r,!0);A(r);var a=B(r,2);A(n),V(e=>{q(i,H(l)||`unknown type`),ea(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)??``}`),ea(d,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)},te=e=>{K(e,Fb())};J(ee,e=>{H(o)?e(D):e(te,-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()}Vr([`click`]);function zb(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(`
|
|
78
|
+
`);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 Bb(e,t){return zb(`/api/system/logs`,e,t)}var Vb=W(`<button>debug</button>`),Hb=W(`<button> </button>`),Ub=W(`<div class="filter-sep svelte-1208idv"></div> <div class="filter-group svelte-1208idv"></div>`,1),Wb=W(`<button class="pill pill-clear svelte-1208idv">clear</button>`),Gb=W(`<div class="pause-bar svelte-1208idv"><span>Scroll paused</span> <button class="resume-btn svelte-1208idv">Resume</button></div>`),Kb=W(`<span class="error svelte-1208idv"> </span>`),qb=W(`<span class="waiting svelte-1208idv">Waiting for logs...</span>`),Jb=W(`<span class="cat svelte-1208idv"> </span>`),Yb=W(`<span class="data svelte-1208idv"> </span>`),Xb=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>`),Zb=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 Qb(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 Vl,c=new Vl,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{}}kn(()=>{I(a,``);let{start:e,stop:t}=Bb(h,e=>{I(a,e,!0)});return e(),t}),kn(()=>{let e=H(f).length;H(i)&&o&&e>0&&(o.scrollTop=o.scrollHeight)});function g(){o&&I(i,o.scrollHeight-o.scrollTop-o.clientHeight<30)}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=Zb(),x=R(b),S=B(R(x),2),C=R(S),w=e=>{var t=Xr();V(()=>q(t,`${H(f).length??``} / ${H(r).length??``} entries`)),K(e,t)},T=e=>{var t=Xr();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),D=R(ee);let te;var ne=B(D,2);let O;var re=B(ne,2);let ie;var ae=B(re,2),oe=e=>{var t=Vb();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(oe)}),A(ee);var k=B(ee,2),se=e=>{var t=Ub(),n=B(z(t),2);Y(n,20,()=>H(u),e=>e,(e,t)=>{var n=Hb();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(k,e=>{H(u).length>0&&e(se)});var ce=B(k,2),le=e=>{var t=Wb();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=Gb(),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=Kb(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},he=e=>{K(e,qb())};J(pe,e=>{H(a)?e(me):H(r).length===0&&e(he,1)}),Y(B(pe,2),17,()=>H(f),ai,(e,t)=>{var r=Xb(),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=Jb(),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=Yb(),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),ma(fe,e=>o=e,()=>o),A(b),V((e,t,n)=>{te=X(D,1,`pill pill-info svelte-1208idv`,null,te,e),O=X(ne,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`,D,()=>p(s,`info`)),U(`click`,ne,()=>p(s,`warn`)),U(`click`,re,()=>p(s,`error`)),Br(`scroll`,fe,g),K(e,b),N()}Vr([`click`]);var $b=W(`<span class="error svelte-1uhe9s"> </span>`),ex=W(`<span class="updating svelte-1uhe9s">Updating...</span>`),tx=W(`<span> </span> <button class="update-btn svelte-1uhe9s">update</button> <button class="dismiss-btn svelte-1uhe9s">×</button>`,1),nx=W(`<div class="banner svelte-1uhe9s"><!></div>`);function rx(e,t){M(t,!0);let n=F(null),r=F(!1),i=F(!1),a=F(null);kn(()=>{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=nx(),s=R(t),c=e=>{var t=$b(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},l=e=>{K(e,ex())},u=e=>{var t=tx(),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()}Vr([`click`]);var ix=W(`<button class="clear-btn svelte-q0li9w" type="button">×</button>`),ax=W(`<button type="button"><span class="option-empty svelte-q0li9w"> </span></button>`),ox=W(`<button type="button"> </button>`),sx=W(`<span class="dropdown-empty svelte-q0li9w">No matches</span>`),cx=W(`<div class="dropdown svelte-q0li9w"><!> <!> <!></div>`),lx=W(`<div class="model-select svelte-q0li9w"><input type="text" class="text-input svelte-q0li9w"/> <!> <!></div>`);function ux(e,t){M(t,!0);let n=_a(t,`value`,15,``),r=_a(t,`placeholder`,3,`Search models...`),i=_a(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=lx(),_=R(g);Xi(_),ma(_,e=>I(s,e),()=>H(s));var v=B(_,2),y=e=>{var t=ix();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=cx(),r=R(t),a=e=>{var t=ax();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=ox();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,sx())};J(s,e=>{H(u).length===0&&e(c)}),A(t),K(e,t)};J(b,e=>{H(o)&&e(x)}),A(g),V(()=>{Zi(_,H(l)),ea(_,`placeholder`,r())}),U(`input`,_,d),Br(`focus`,_,f),Br(`blur`,_,p),K(e,g),N()}Vr([`input`,`mousedown`]);var dx=W(`<div class="error svelte-1x5emjp"> </div> <button class="retry-btn svelte-1x5emjp">Retry</button>`,1),fx=W(`<div class="loading-text svelte-1x5emjp">Loading providers...</div>`),px=W(`<span class="model-tag svelte-1x5emjp"> <button class="model-tag-remove svelte-1x5emjp">×</button></span>`),mx=W(`<div class="model-tags svelte-1x5emjp"></div>`),hx=W(`<span class="dim svelte-1x5emjp">No models enabled</span>`),gx=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>`),_x=W(`<button class="add-provider-btn svelte-1x5emjp" type="button">+ Add a provider</button>`),vx=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>`),yx=W(`<div class="error svelte-1x5emjp"> </div>`),bx=W(`<!> <!> <!> <!>`,1),xx=W(`<button class="btn-provider svelte-1x5emjp" type="button"> </button>`),Sx=W(`<span class="oauth-heading svelte-1x5emjp">Sign in with</span> <div class="oauth-buttons modal-oauth-buttons svelte-1x5emjp"></div>`,1),Cx=W(`<!> <button class="link-btn svelte-1x5emjp" type="button"> </button>`,1),wx=W(`<button class="autocomplete-option svelte-1x5emjp" type="button"> </button>`),Tx=W(`<div class="autocomplete-list svelte-1x5emjp"></div>`),Ex=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>`),Dx=W(`<button class="link-btn svelte-1x5emjp" type="button">back to sign-in options</button>`),Ox=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),kx=W(`<div class="modal-body svelte-1x5emjp"><!> <!></div>`),Ax=W(`<span class="dim svelte-1x5emjp">Verifying...</span>`),jx=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),Mx=W(`<p class="oauth-device-code svelte-1x5emjp"> </p>`),Nx=W(`<span class="dim svelte-1x5emjp">Waiting for authorization...</span>`),Px=W(`<p class="modal-text svelte-1x5emjp">Authorize at:</p> <a target="_blank" rel="noopener" class="oauth-link svelte-1x5emjp"> </a> <!> <!>`,1),Fx=W(`<span class="dim svelte-1x5emjp">Starting OAuth...</span>`),Ix=W(`<button class="model-option svelte-1x5emjp"> </button>`),Lx=W(`<div class="model-list svelte-1x5emjp"></div>`),Rx=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),zx=W(`<span class="dim svelte-1x5emjp">No more models available</span>`),Bx=W(`<div class="modal-body svelte-1x5emjp"><input type="text" placeholder="Search or type a model id..." class="text-input svelte-1x5emjp"/> <!> <!> <!></div>`);function Vx(e,t){M(t,!0);let n=_a(t,`showModelDefaults`,3,!1),r=_a(t,`spiritModel`,15,``),i=_a(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)),D=P(()=>H(a).filter(e=>!e.configured)),te=P(()=>H(D).filter(e=>e.oauth)),ne=P(()=>H(f).trim()?H(D).filter(e=>e.id.toLowerCase().includes(H(f).toLowerCase())):H(D)),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 oe(e){return H(O).filter(t=>t.provider===e)}let k=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`:``}kn(()=>{H(O)&&t.onLoad?.(H(O))});async function le(){I(l,``);try{I(a,await cd(),!0),I(o,await ld(),!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 ud(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 dd(e);let t=H(o).filter(t=>t.provider===e&&t.enabled);for(let e of t)i()===e.id&&i(``);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 fd(e);t.url&&(I(g,t.url,!0),I(_,t.flowId,!0),I(y,!!t.needsManualCode),I(C,t.instructions??``,!0),I(v,!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 pd(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 md(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.id),e];try{await hd(t),I(o,H(o).map(t=>t.id===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 gd(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 _d(e.provider,e.id),I(o,H(o).filter(t=>t.id!==e.id),!0),i()===e.id&&i(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove custom model`,!0)}return}let t=H(O).map(e=>e.id).filter(t=>t!==e.id);try{await hd(t),I(o,H(o).map(t=>t.id===e.id?{...t,enabled:!1}:t),!0),i()===e.id&&i(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove model`,!0)}}var xe={load:le},Se=bx(),Ce=z(Se),we=e=>{var t=dx(),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,fx())},Ee=e=>{var t=bx(),a=z(t);Y(a,17,()=>H(ee),e=>e.id,(e,t)=>{let n=P(()=>oe(H(t).id));var r=gx(),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=mx();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=px(),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,hx())};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=_x();U(`click`,t,de),K(e,t)};J(o,e=>{H(D).length>0&&e(l)});var d=B(o,2),f=e=>{var t=vx(),n=B(R(t),2);{let e=P(()=>H(O).map(e=>({id:e.id,label:e.name})));ux(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.id,label:e.name})));ux(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=yx(),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=>{ro(e,{onClose:()=>{H(v)||ue()},size:`420px`,title:`Add a provider`,children:(e,t)=>{var n=kx(),r=R(n),i=e=>{var t=Cx(),n=z(t),r=e=>{var t=Sx(),n=B(z(t),2);Y(n,21,()=>H(te),e=>e.id,(e,t)=>{var n=xx(),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(te).length>0&&e(r)});var i=B(n,2),a=R(i,!0);A(i),V(()=>q(a,H(te).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=Ox(),n=z(t),r=R(n),i=R(r);Xi(i);var a=B(i,2),o=e=>{var t=Tx();Y(t,21,()=>H(ne),e=>e.id,(e,t)=>{var n=wx(),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(ne).length>0&&e(o)}),A(r);var s=B(r,2),l=e=>{var t=Ex(),n=R(t);Xi(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()]),Br(`submit`,t,e=>{e.preventDefault(),fe()}),la(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=Dx();U(`click`,t,()=>{I(d,`oauth`)}),K(e,t)};J(u,e=>{H(te).length>0&&e(h)}),U(`input`,i,()=>{I(p,``)}),la(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=yx(),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));ro(e,{onClose:()=>{H(v)||ue()},size:`420px`,get title(){return`Sign in with ${H(t)??``}`},children:(e,t)=>{var n=kx(),r=R(n),i=e=>{K(e,Ax())},a=e=>{var t=jx(),n=B(z(t),2),r=R(n);Xi(r);var i=B(r,2);A(n),V(e=>i.disabled=e,[()=>!H(x).trim()]),Br(`submit`,n,e=>{e.preventDefault(),ge()}),U(`input`,r,_e),la(r,()=>H(x),e=>I(x,e)),K(e,t)},o=e=>{var t=Px(),n=B(z(t),2),r=R(n,!0);A(n);var i=B(n,2),a=e=>{var t=Mx(),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,Nx())};J(o,e=>{H(v)&&e(s)}),V(()=>{ea(n,`href`,H(g)),q(r,H(g))}),K(e,t)},l=e=>{K(e,Nx())},u=e=>{K(e,Fx())};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=yx(),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=>{ro(e,{onClose:()=>{I(w,!1)},size:`420px`,get title(){return`Add model — ${H(T)??``}`},children:(e,t)=>{var n=Bx(),r=R(n);Xi(r);var i=B(r,2),a=e=>{var t=Lx();Y(t,21,()=>H(k),e=>e.id,(e,t)=>{var n=Ix(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>ve(H(t).id)),K(e,n)}),A(t),K(e,t)};J(i,e=>{H(k).length>0&&e(a)});var o=B(i,2),c=e=>{var t=Rx(),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,zx())};J(o,e=>{H(se)?e(c):H(k).length===0&&e(l,1)});var u=B(o,2),d=e=>{var t=yx(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(u,e=>{H(s)&&e(d)}),A(n),la(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)}Vr([`click`,`input`]);var Hx=W(`<div></div>`),Ux=W(`<div class="steps svelte-48ammf"></div>`),Wx=W(`<div class="welcome svelte-48ammf"><div class="welcome-text svelte-48ammf">A platform for AI experience. Create minds with persistent memory,
|
|
79
|
+
continuous identity, and the freedom to grow.</div> <button class="submit-btn svelte-48ammf">Get started</button></div>`),Gx=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>`),Kx=W(`<div class="error svelte-48ammf"> </div>`),qx=W(`<div class="hint svelte-48ammf">Used for your subdomain on volute.systems.</div>`),Jx=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>`),Yx=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>`),Xx=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),Zx=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>`),Qx=W(`<button type="button" class="advanced-toggle svelte-48ammf"><span>▶</span> Advanced</button> <!>`,1),$x=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),eS=W(`<label class="label mt svelte-48ammf" for="username">Username</label> <!>`,1),tS=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>`),nS=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),rS=W(`<div class="step-title svelte-48ammf">AI providers</div> <div class="step-desc svelte-48ammf">Connect a provider and choose models for your minds.</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),iS=W(`<div class="error svelte-48ammf"> </div> <button class="submit-btn svelte-48ammf">Retry</button>`,1),aS=W(`<div class="finishing svelte-48ammf"><div class="spinner svelte-48ammf"></div> <div class="finishing-text svelte-48ammf">Setting things up...</div> <!></div>`),oS=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 sS(e,t){M(t,!0);function n(){let e=yf.setupProgress;return e?.hasAccount?`provider`:e?.hasSystem?`account`:`welcome`}let r=F(L(n())),i=F(``),a=F(!1),o=F(``),s=F(``),c=F(!1),l=F(``),u=F(!1),d=F(``),f=F(!1),p=F(``),m=F(!1),h=F(``),g=F(!1),_=F(!1),v=F(!1),y=F(!1),b=F(!1),x=P(()=>yf.setupProgress?.setupType===`system`),S=F(``),C=F(``),w=F(!1),T=F(``);function E(e){return e.toLowerCase().replace(/[^a-z0-9_-]/g,``).slice(0,32)}function ee(){H(w)||I(C,E(H(S)),!0)}function D(e){return e.toLowerCase().replace(/[^a-z0-9-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``).slice(0,32)}function te(){H(f)||I(d,D(H(o)),!0)}let ne=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/,O=P(()=>H(d).length>=3&&H(d).length<=32&&ne.test(H(d))),re=P(()=>H(d).length>0&&!H(O)?H(d).length<3?`Must be at least 3 characters`:ne.test(H(d))?`Must be 32 characters or fewer`:`Lowercase letters, numbers, and hyphens only (no leading/trailing hyphens)`:``),ie=F(void 0),ae=F(``),oe=F(``),k=F(L([]));function se(e){let t=e.map(e=>e.id);t.length===H(k).length&&t.every((e,t)=>e===H(k)[t])||(I(k,t,!0),H(ae)&&!H(k).includes(H(ae))&&I(ae,``),e.length>0&&!H(ae)&&I(ae,e[0].id,!0))}let ce=[`welcome`,`system`,`account`,`provider`,`starting`],le=P(()=>ce.indexOf(H(r)));function ue(){return H(r)===`welcome`?!0:H(r)===`system`?!!H(o).trim():H(r)===`account`?!!H(S).trim()&&!!H(C).trim()&&!!H(T):H(r)===`provider`?H(k).length>0&&!!H(ae):!1}function de(){let e=ce.indexOf(H(r));e>0&&(I(r,ce[e-1],!0),I(i,``))}async function fe(e){if(e.preventDefault(),ue()){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(o).trim(),description:H(s).trim()||void 0,remote:H(_)||void 0,service:H(v)||void 0,tailscale:H(y)||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 pe(e){if(e.preventDefault(),ue()){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(C).trim(),password:H(T),displayName:H(S).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Account setup failed: ${e.status}`)}let t=await Gl();t&&await Cf(t),I(r,`provider`)}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0)}I(a,!1)}}async function me(){if(H(d).trim()){I(h,``),I(g,!0);try{let e=await fetch(`/api/setup/system/register`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({slug:H(d).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Registration failed: ${e.status}`)}let t=await e.json();I(c,!0),I(l,t.system,!0),I(u,!1)}catch(e){I(h,e instanceof Error?e.message:`Registration failed`,!0)}I(g,!1)}}async function he(){if(H(p).trim()){I(h,``),I(g,!0);try{let e=await fetch(`/api/setup/system/login`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({key:H(p).trim()})});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`Login failed: ${e.status}`)}let t=await e.json();I(c,!0),I(l,t.system,!0),I(m,!1),I(p,``)}catch(e){I(h,e instanceof Error?e.message:`Login failed`,!0)}I(g,!1)}}async function ge(){I(h,``),I(g,!0);try{await fetch(`/api/setup/system/disconnect`,{method:`POST`}),I(c,!1),I(l,``)}catch(e){I(h,e instanceof Error?e.message:`Disconnect failed`,!0)}I(g,!1)}async function _e(e){if(e.preventDefault(),ue()){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(k),spiritModel:H(ae),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,`starting`),await ve()}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0),I(a,!1)}}}async function ve(){I(i,``),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 n=await e.json().catch(()=>({}));n.spiritConversationId&&n.spiritStarted&&await ye(n.spiritConversationId),yf.setupComplete=!0,t.onComplete()}catch(e){I(i,e instanceof Error?e.message:`Something went wrong`,!0),I(r,`provider`)}I(a,!1)}async function ye(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();if((e.items??e).some(e=>e.sender_name===`volute`&&e.role===`user`))return}}catch{}}}kn(()=>{H(r)===`system`&&!H(c)&&fetch(`/api/setup/system/systems-status`).then(e=>e.json()).then(e=>{e.registered&&(I(c,!0),I(l,e.system,!0))}).catch(()=>{})});let be=!1;kn(()=>{H(r)===`provider`&&!be&&(be=!0,H(ie)?.load())});var xe=oS(),Se=R(xe),Ce=B(R(Se),2),we=e=>{var t=Ux();Y(t,22,()=>ce.slice(1,-1),e=>e,(e,t,n)=>{var i=Hx();let a;V(()=>a=X(i,1,`step-dot svelte-48ammf`,null,a,{active:H(n)+1<=H(le),current:ce[H(n)+1]===H(r)})),K(e,i)}),A(t),K(e,t)};J(Ce,e=>{H(r)!==`welcome`&&e(we)});var Te=B(Ce,2),Ee=e=>{var t=Wx(),n=B(R(t),2);A(t),U(`click`,n,()=>I(r,`system`)),K(e,t)},De=e=>{var t=$x(),n=B(z(t),2),r=B(R(n),2);eo(r,{inputSize:`md`,id:`systemName`,type:`text`,placeholder:`e.g. My Garden`,oninput:te,get value(){return H(o)},set value(e){I(o,e,!0)}});var S=B(r,6);yn(S);var C=B(S,2),w=R(C),T=e=>{var t=Gx(),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(l)),a.disabled=H(g)}),U(`click`,a,ge),K(e,t)},E=e=>{var t=Jx(),n=B(R(t),2),r=R(n);eo(r,{id:`systemsSlug`,type:`text`,placeholder:`my-garden`,oninput:()=>{I(f,!0)},get value(){return H(d)},set value(e){I(d,e,!0)}});var i=B(r,2),a=R(i,!0);A(i),A(n);var o=B(n,2),s=e=>{var t=Kx(),n=R(t,!0);A(t),V(()=>q(n,H(re))),K(e,t)},c=e=>{K(e,qx())};J(o,e=>{H(re)?e(s):e(c,-1)});var l=B(o,2);A(t),V(()=>{i.disabled=H(g)||!H(O),q(a,H(g)?`...`:`Register`)}),U(`click`,i,me),U(`click`,l,()=>{I(u,!1),I(m,!0)}),K(e,t)},ee=e=>{var t=Yx(),n=B(R(t),2),r=R(n);eo(r,{id:`systemsApiKey`,type:`password`,placeholder:`Paste your API key`,get value(){return H(p)},set value(e){I(p,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(g)?`...`:`Login`)},[()=>H(g)||!H(p).trim()]),U(`click`,i,he),U(`click`,o,()=>{I(m,!1),I(u,!0)}),K(e,t)},D=e=>{var t=Xx(),n=z(t),r=B(n,2);U(`click`,n,()=>{I(u,!0)}),U(`click`,r,()=>{I(m,!0)}),K(e,t)};J(w,e=>{H(c)?e(T):H(u)?e(E,1):H(m)?e(ee,2):e(D,-1)});var ne=B(w,2),ie=e=>{var t=Kx(),n=R(t,!0);A(t),V(()=>q(n,H(h))),K(e,t)};J(ne,e=>{H(h)&&e(ie)}),A(C);var ae=B(C,2),oe=e=>{var t=Qx(),n=z(t),r=R(n);let i;j(),A(n);var a=B(n,2),o=e=>{var t=Zx(),n=R(t),r=R(n);Xi(r),j(2),A(n);var i=B(n,4),a=R(i);Xi(a),j(2),A(i);var o=B(i,4),s=R(o);Xi(s),j(2),A(o),j(2),A(t),ua(r,()=>H(_),e=>I(_,e)),ua(a,()=>H(v),e=>I(v,e)),ua(s,()=>H(y),e=>I(y,e)),K(e,t)};J(a,e=>{H(b)&&e(o)}),V(()=>i=X(r,1,`advanced-arrow svelte-48ammf`,null,i,{open:H(b)})),U(`click`,n,()=>I(b,!H(b))),K(e,t)};J(ae,e=>{H(x)||e(oe)});var k=B(ae,2),se=e=>{var t=Kx(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(k,e=>{H(i)&&e(se)});var ce=B(k,2),le=R(ce),pe=B(le,2),_e=R(pe,!0);A(pe),A(ce),A(n),V(e=>{pe.disabled=e,q(_e,H(a)?`Setting up...`:`Continue`)},[()=>H(a)||!ue()]),Br(`submit`,n,fe),la(S,()=>H(s),e=>I(s,e)),U(`click`,le,de),K(e,t)},Oe=e=>{var t=nS(),n=B(z(t),2),r=R(n);Xi(r);var o=B(r,4);eo(o,{inputSize:`md`,id:`displayName`,type:`text`,placeholder:`Your name`,oninput:ee,autocomplete:`off`,get value(){return H(S)},set value(e){I(S,e,!0)}});var s=B(o,2),c=e=>{var t=eS();eo(B(z(t),2),{id:`username`,type:`text`,placeholder:`username`,autocomplete:`off`,get value(){return H(C)},set value(e){I(C,e,!0)}}),K(e,t)},l=e=>{var t=tS(),n=B(R(t)),r=R(n,!0);A(n);var i=B(n,2);A(t),V(()=>q(r,H(C))),U(`click`,i,()=>{I(w,!0)}),K(e,t)};J(s,e=>{H(w)?e(c):H(C)&&e(l,1)});var u=B(s,4);eo(u,{inputSize:`md`,id:`password`,type:`password`,placeholder:`Choose a password`,autocomplete:`new-password`,get value(){return H(T)},set value(e){I(T,e,!0)}});var d=B(u,2),f=e=>{var t=Kx(),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=>{Zi(r,H(C)),h.disabled=e,q(g,H(a)?`Setting up...`:`Continue`)},[()=>H(a)||!ue()]),Br(`submit`,n,pe),U(`click`,m,de),K(e,t)},ke=e=>{var t=rS(),n=B(z(t),4);ma(Vx(n,{showModelDefaults:!0,onLoad:se,get spiritModel(){return H(ae)},set spiritModel(e){I(ae,e,!0)},get utilityModel(){return H(oe)},set utilityModel(e){I(oe,e,!0)}}),e=>I(ie,e,!0),()=>H(ie));var r=B(n,2),o=e=>{var t=Kx(),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)?`Setting up...`:`Finish setup`)},[()=>H(a)||!ue()]),Br(`submit`,s,_e),U(`click`,l,de),K(e,t)},Ae=e=>{var t=aS(),n=B(R(t),4),r=e=>{var t=iS(),n=z(t),r=R(n,!0);A(n);var a=B(n,2);V(()=>q(r,H(i))),U(`click`,a,ve),K(e,t)};J(n,e=>{H(i)&&e(r)}),A(t),K(e,t)};J(Te,e=>{H(r)===`welcome`?e(Ee):H(r)===`system`?e(De,1):H(r)===`account`?e(Oe,2):H(r)===`provider`?e(ke,3):H(r)===`starting`&&e(Ae,4)}),A(Se),A(xe),K(e,xe),N()}Vr([`click`]);var cS=W(`<form class="install-form svelte-1yivsg9"><input type="text" class="install-input svelte-1yivsg9" placeholder="npm package name"/> <!></form>`),lS=W(`<div class="restart-banner svelte-1yivsg9">Restart the daemon to apply changes.</div>`),uS=W(`<div class="ext-desc svelte-1yivsg9"> </div>`),dS=W(`<div class="ext-actions svelte-1yivsg9"><!></div>`),fS=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>`),pS=W(`<div class="ext-list svelte-1yivsg9"><div class="column-header svelte-1yivsg9"><span class="column-label svelte-1yivsg9">Enabled</span></div> <!></div>`),mS=W(`<!> <!> <!> <!>`,1);function hS(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1),s=F(``);function c(){zd().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)})}va(c);async function l(e){I(a,e.id,!0),I(r,``);try{await Bd(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 Vd(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 Hd(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=>{Ea(e,{message:`Loading...`})},g=e=>{var t=mS(),i=z(t);Oa(i,{get message(){return H(r)}});var c=B(i,2);oo(c,{title:`Extensions`,action:e=>{var t=cS(),n=R(t);Xi(n);var r=B(n,2);{let e=P(()=>H(a)!==null||!H(s).trim());Sa(r,{variant:`primary`,onclick:u,get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();V(()=>q(n,H(a)===`install`?`Installing...`:`Install`)),K(e,n)},$$slots:{default:!0}})}A(t),V(()=>n.disabled=H(a)!==null),Br(`submit`,t,e=>{e.preventDefault(),u()}),la(n,()=>H(s),e=>I(s,e)),K(e,t)},$$slots:{action:!0}});var p=B(c,2),m=e=>{K(e,lS())};J(p,e=>{H(o)&&e(m)});var h=B(p,2),g=e=>{Ea(e,{message:`No extensions found.`})},_=e=>{var t=pS();Y(B(R(t),2),17,()=>H(f),e=>e.id,(e,t)=>{var n=fS(),r=R(n),i=R(r);Xi(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=uS(),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=dS(),r=R(n);{let e=P(()=>H(a)!==null);Sa(r,{variant:`danger`,onclick:()=>d(H(t)),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();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(()=>{ea(r,`title`,H(t).enabled?`Enabled`:`Disabled`),Qi(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()}Vr([`change`]);var gS=W(`<p class="loading-text svelte-y2443v">Loading...</p>`),_S=W(`<!> <button class="setting-hint-btn svelte-y2443v">back</button>`,1),vS=W(`<option> </option>`),yS=W(`<option>--</option> <!> <option>other...</option>`,1),bS=W(`<div class="slider-control svelte-y2443v"><input type="range" class="thinking-slider svelte-y2443v" min="0" max="5" step="1"/> <span> </span></div>`),xS=W(`<!> <span class="setting-hint svelte-y2443v">per</span> <!> <span class="setting-hint svelte-y2443v">min</span>`,1),SS=W(`<!> <span class="setting-hint svelte-y2443v">tokens</span>`,1),CS=W(`<!> <!> <!> <!> <!>`,1),wS=W(`<div class="cron-preview svelte-y2443v"> </div>`),TS=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),ES=W(`<div class="sleep-summary svelte-y2443v"><span class="sleep-desc svelte-y2443v"> </span> <!></div> <!> <!>`,1),DS=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),OS=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),kS=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>`),AS=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <span class="form-hint svelte-y2443v">At</span> <!></div>`),jS=W(`<div class="form-row svelte-y2443v"><span class="form-label svelte-y2443v"></span> <!></div>`),MS=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),NS=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> <!></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>`),PS=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> <!></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>`),FS=W(`<div class="schedule-message svelte-y2443v"> </div>`),IS=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>`),LS=W(`<div class="schedule-list svelte-y2443v"></div>`),RS=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),zS=W(`<span class="save-status svelte-y2443v">Saving...</span>`),BS=W(`<span class="save-status saved svelte-y2443v">Saved</span>`),VS=W(`<!> <!> <div class="status-bar svelte-y2443v"><!></div>`,1),HS=W(`<div class="mind-defaults svelte-y2443v"><!></div>`);function US(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(``),u=F(!0),d=F(0),f=F(0),p=F(8),m=F(0),h=F(!1),g=F(``),_=F(``),v=F(!1),y=F(!1),b=F(``),x=F(``),S=F(L([])),C=F(!1),w=F(null),T=F(``),E=F(`daily`),ee=F(4),D=F(12),te=F(0),ne=F(``),O=F(``),re=F(`skip`),ie=F(`cron`),ae=F(4),oe=F(12),k=F(0),se=F(``),ce=F(``),le=F(`skip`),ue=F(!0),de=F(``),fe=F(!0),pe=F(!1),me=F(`idle`),he,ge=P(()=>H(r).filter(e=>e.enabled)),_e=P(()=>H(i)!==``&&!H(ge).some(e=>e.id===H(i))),ve=P(()=>n[H(a)]);function ye(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}function be(e){let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return t.length?t:void 0}async function xe(){I(me,`saving`),clearTimeout(he);try{await xd({cognition:{model:H(i)||void 0,thinkingLevel:n[H(a)]===`off`?void 0:n[H(a)],maxThinkingTokens:ye(H(o))??void 0,tokenBudget:ye(H(s))??void 0,tokenBudgetPeriodMinutes:ye(H(c))??void 0,compaction:ye(H(l))==null?void 0:{maxContextTokens:ye(H(l))}},sleep:{enabled:H(u),schedule:H(u)?{sleep:H(h)?H(g):X_(H(d),H(f)),wake:H(h)?H(_):X_(H(p),H(m))}:void 0,wakeTriggers:H(u)?{mentions:H(v)||void 0,dms:H(y)||void 0,channels:be(H(b)),senders:be(H(x))}:void 0},schedules:H(S).length>0?H(S):void 0}),I(de,``),I(me,`saved`),he=setTimeout(()=>{I(me,`idle`)},1500)}catch(e){I(de,e instanceof Error?e.message:`Save failed`,!0),I(me,`idle`)}}function Se(e){let t=e.target.value;t===`__other__`?I(i,``):(I(i,t,!0),t&&xe())}function Ce(e){I(a,parseInt(e.target.value,10),!0),xe()}function we(e){I(w,e.id,!0);let t=e.cron?Z_(e.cron):{type:`daily`};I(ie,t.type,!0),I(ae,t.hours??4,!0),I(oe,t.hour??12,!0),I(k,t.minute??0,!0),I(se,e.cron??``,!0),I(ce,e.message??``,!0),I(le,e.whileSleeping??`skip`,!0),I(ue,e.enabled,!0)}function Te(){if(!H(w))return;let e=Q_(H(ie),{hours:H(ae),hour:H(oe),minute:H(k),cron:H(se)});I(S,H(S).map(t=>t.id===H(w)?{...t,cron:e||void 0,message:H(ce)||void 0,whileSleeping:H(le),enabled:H(ue)}:t),!0),I(w,null),xe()}function Ee(){if(!H(T).trim())return;let e=Q_(H(E),{hours:H(ee),hour:H(D),minute:H(te),cron:H(ne)});I(S,[...H(S),{id:H(T).trim(),cron:e||void 0,message:H(O)||void 0,enabled:!0,whileSleeping:H(re)}],!0),I(T,``),I(E,`daily`),I(ee,4),I(D,12),I(te,0),I(ne,``),I(O,``),I(re,`skip`),I(C,!1),xe()}function De(e){I(S,H(S).filter(t=>t.id!==e),!0),xe()}function Oe(e){I(S,H(S).map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t),!0),xe()}va(async()=>{try{let[e,t]=await Promise.all([bd(),ld()]);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.maxThinkingTokens==null?``:String(e.cognition.maxThinkingTokens),!0),I(s,e.cognition.tokenBudget==null?``:String(e.cognition.tokenBudget),!0),I(c,e.cognition.tokenBudgetPeriodMinutes==null?``:String(e.cognition.tokenBudgetPeriodMinutes),!0),I(l,e.cognition.compaction?.maxContextTokens==null?``:String(e.cognition.compaction.maxContextTokens),!0)}if(e.sleep){I(u,e.sleep.enabled??!0,!0);let t=e.sleep.schedule?Y_(e.sleep.schedule.sleep):null,n=e.sleep.schedule?Y_(e.sleep.schedule.wake):null;t&&n?(I(d,t.hour,!0),I(f,t.minute,!0),I(p,n.hour,!0),I(m,n.minute,!0)):e.sleep.schedule&&(I(h,!0),I(g,e.sleep.schedule.sleep,!0),I(_,e.sleep.schedule.wake,!0)),I(v,e.sleep.wakeTriggers?.mentions??!1,!0),I(y,e.sleep.wakeTriggers?.dms??!1,!0),I(b,(e.sleep.wakeTriggers?.channels??[]).join(`, `),!0),I(x,(e.sleep.wakeTriggers?.senders??[]).join(`, `),!0)}e.schedules&&I(S,e.schedules,!0)}catch(e){I(de,e instanceof Error?e.message:`Failed to load defaults`,!0),I(pe,!0)}I(fe,!1)});var ke=HS(),Ae=R(ke),je=e=>{K(e,gS())},Me=e=>{Oa(e,{get message(){return H(de)}})},Ne=e=>{var t=VS(),n=z(t);ho(n,{title:`Model`,children:(e,t)=>{var n=CS(),r=z(n);po(r,{label:`Model`,children:(e,t)=>{var n=G(),r=z(n),a=e=>{var t=_S(),n=z(t);eo(n,{type:`text`,onblur:()=>xe(),placeholder:`Model ID`,get value(){return H(i)},set value(e){I(i,e,!0)}}),U(`click`,B(n,2),()=>{I(i,H(ge)[0]?.id??``,!0),H(i)&&xe()}),K(e,t)},o=e=>{uo(e,{get value(){return H(i)},onchange:Se,children:(e,t)=>{var n=yS(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(ge),e=>e.id,(e,t)=>{var n=vS(),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(_e)?e(a):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var u=B(r,2);po(u,{label:`Thinking`,children:(e,t)=>{var n=bS(),r=R(n);Xi(r);var i=B(r,2);let o;var s=R(i,!0);A(i),A(n),V(()=>{Zi(r,H(a)),o=X(i,1,`slider-label svelte-y2443v`,null,o,{off:H(a)===0}),q(s,H(ve))}),U(`change`,r,Ce),K(e,n)},$$slots:{default:!0}});var d=B(u,2),f=e=>{po(e,{label:`Max tokens`,children:(e,t)=>{eo(e,{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`default`,get value(){return H(o)},set value(e){I(o,e,!0)}})},$$slots:{default:!0}})};J(d,e=>{H(a)>0&&e(f)});var p=B(d,2);po(p,{label:`Budget`,children:(e,t)=>{var n=xS(),r=z(n);eo(r,{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`tokens`,get value(){return H(s)},set value(e){I(s,e,!0)}}),eo(B(r,4),{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`min`,get value(){return H(c)},set value(e){I(c,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),po(B(p,2),{label:`Context`,children:(e,t)=>{var n=SS();eo(z(n),{type:`number`,width:`80px`,onblur:()=>xe(),placeholder:`150000`,get value(){return H(l)},set value(e){I(l,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,n)},$$slots:{default:!0}});var r=B(n,2);ho(r,{title:`Rhythms`,children:(e,t)=>{var n=RS(),r=z(n),i=R(r),a=B(R(i),2);{let e=P(()=>H(u)?`On`:`Off`);To(a,{get checked(){return H(u)},onchange:()=>{I(u,!H(u)),xe()},get label(){return H(e)}})}A(i);var o=B(i,2),s=e=>{var t=DS(),n=z(t),r=e=>{var t=TS(),n=z(t);Sa(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(h,!1),xe()},children:(e,t)=>{j(),K(e,Xr(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);eo(B(R(r),2),{variant:`mono`,style:`flex:1`,onblur:()=>xe(),placeholder:`0 0 * * *`,get value(){return H(g)},set value(e){I(g,e,!0)}}),A(r);var i=B(r,2),a=e=>{var t=wS(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>K_(H(g))]),K(e,t)};J(i,e=>{H(g)&&e(a)});var o=B(i,2);eo(B(R(o),2),{variant:`mono`,style:`flex:1`,onblur:()=>xe(),placeholder:`0 8 * * *`,get value(){return H(_)},set value(e){I(_,e,!0)}}),A(o);var s=B(o,2),c=e=>{var t=wS(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>K_(H(_))]),K(e,t)};J(s,e=>{H(_)&&e(c)}),K(e,t)},i=e=>{var t=ES(),n=z(t),r=R(n),i=R(r);A(r),Sa(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(h,!0),I(g,X_(H(d),H(f)),!0),I(_,X_(H(p),H(m)),!0)},children:(e,t)=>{j(),K(e,Xr(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);So(a,{label:`Sleep at`,onchange:()=>xe(),get hour(){return H(d)},set hour(e){I(d,e,!0)},get minute(){return H(f)},set minute(e){I(f,e,!0)}}),So(B(a,2),{label:`Wake at`,onchange:()=>xe(),get hour(){return H(p)},set hour(e){I(p,e,!0)},get minute(){return H(m)},set minute(e){I(m,e,!0)}}),V((e,t)=>q(i,`Sleeps at ${e??``}, wakes at ${t??``}`),[()=>q_(H(d),H(f)),()=>q_(H(p),H(m))]),K(e,t)};J(n,e=>{H(h)?e(r):e(i,-1)});var a=B(n,2),o=B(R(a),2);To(R(o),{get checked(){return H(v)},onchange:()=>{I(v,!H(v)),xe()},label:`When mentioned`}),A(o);var s=B(o,2);To(R(s),{get checked(){return H(y)},onchange:()=>{I(y,!H(y)),xe()},label:`Direct messages`}),A(s);var c=B(s,2);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`channel1, channel2`,onblur:()=>xe(),get value(){return H(b)},set value(e){I(b,e,!0)}}),A(c);var l=B(c,2);eo(B(R(l),2),{type:`text`,style:`flex:1`,placeholder:`user1, user2`,onblur:()=>xe(),get value(){return H(x)},set value(e){I(x,e,!0)}}),A(l),A(a),K(e,t)};J(o,e=>{H(u)&&e(s)}),A(r);var c=B(r,2),l=R(c);Sa(B(R(l),2),{variant:`primary`,onclick:()=>I(C,!0),children:(e,t)=>{j(),K(e,Xr(`Add`))},$$slots:{default:!0}}),A(l);var ue=B(l,2),de=e=>{var t=NS(),n=R(t);eo(B(R(n),2),{type:`text`,style:`flex:1`,placeholder:`e.g. heartbeat`,get value(){return H(T)},set value(e){I(T,e,!0)}}),A(n);var r=B(n,2);uo(B(R(r),2),{get value(){return H(E)},set value(e){I(E,e,!0)},children:(e,t)=>{var n=OS(),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=kS();eo(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(ee)},set value(e){I(ee,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=AS();So(B(R(t),4),{get hour(){return H(D)},set hour(e){I(D,e,!0)},get minute(){return H(te)},set minute(e){I(te,e,!0)}}),A(t),K(e,t)},s=e=>{var t=jS();eo(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(E)===`hours`?e(a):H(E)===`daily`?e(o,1):e(s,-1)});var c=B(i,2);eo(B(R(c),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(O)},set value(e){I(O,e,!0)}}),A(c);var l=B(c,2);uo(B(R(l),2),{get value(){return H(re)},set value(e){I(re,e,!0)},children:(e,t)=>{var n=MS(),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);{let e=P(()=>!H(T).trim());Sa(d,{variant:`primary`,onclick:Ee,get disabled(){return H(e)},children:(e,t)=>{j(),K(e,Xr(`Add schedule`))},$$slots:{default:!0}})}Sa(B(d,2),{variant:`secondary`,onclick:()=>I(C,!1),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(u),A(t),K(e,t)};J(ue,e=>{H(C)&&e(de)});var fe=B(ue,2),pe=e=>{Ea(e,{message:`No default schedules configured.`})},me=e=>{var t=LS();Y(t,21,()=>H(S),e=>e.id,(e,t)=>{var n=G(),r=z(n),i=e=>{var t=PS(),n=R(t);uo(B(R(n),2),{get value(){return H(ie)},set value(e){I(ie,e,!0)},children:(e,t)=>{var n=OS(),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=kS();eo(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,get value(){return H(ae)},set value(e){I(ae,e,!0)}}),j(2),A(t),K(e,t)},a=e=>{var t=AS();So(B(R(t),4),{get hour(){return H(oe)},set hour(e){I(oe,e,!0)},get minute(){return H(k)},set minute(e){I(k,e,!0)}}),A(t),K(e,t)},o=e=>{var t=jS();eo(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(se)},set value(e){I(se,e,!0)}}),A(t),K(e,t)};J(r,e=>{H(ie)===`hours`?e(i):H(ie)===`daily`?e(a,1):e(o,-1)});var s=B(r,2);eo(B(R(s),2),{type:`text`,style:`flex:1`,placeholder:`What to tell the mind`,get value(){return H(ce)},set value(e){I(ce,e,!0)}}),A(s);var c=B(s,2);uo(B(R(c),2),{get value(){return H(le)},set value(e){I(le,e,!0)},children:(e,t)=>{var n=MS(),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(c);var l=B(c,2),u=R(l);Sa(u,{variant:`primary`,onclick:Te,children:(e,t)=>{j(),K(e,Xr(`Save`))},$$slots:{default:!0}}),Sa(B(u,2),{variant:`secondary`,onclick:()=>I(w,null),children:(e,t)=>{j(),K(e,Xr(`Cancel`))},$$slots:{default:!0}}),A(l),A(t),K(e,t)},a=e=>{var n=IS();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=Xr();V(e=>q(n,e),[()=>K_(H(t).cron)]),K(e,n)},u=e=>{K(e,Xr(`--`))};J(c,e=>{H(t).cron?e(l):e(u,-1)}),A(s);var d=B(s,2),f=R(d);To(f,{get checked(){return H(t).enabled},onchange:()=>Oe(H(t))});var p=B(f,2);Sa(p,{variant:`icon`,onclick:()=>we(H(t)),children:(e,t)=>{j(),K(e,Xr(`Edit`))},$$slots:{default:!0}}),Sa(B(p,2),{variant:`danger`,size:`sm`,onclick:()=>De(H(t).id),children:(e,t)=>{j(),K(e,Xr(`Del`))},$$slots:{default:!0}}),A(d),A(i);var m=B(i,2),h=e=>{var n=FS(),r=R(n,!0);A(n),V(()=>q(r,H(t).message)),K(e,n)};J(m,e=>{H(t).message&&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(w)===H(t).id?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)};J(fe,e=>{H(S).length===0&&!H(C)?e(pe):e(me,-1)}),A(c),K(e,n)},$$slots:{default:!0}});var ue=B(r,2),fe=R(ue),pe=e=>{Oa(e,{get message(){return H(de)}})},he=e=>{K(e,zS())},ye=e=>{K(e,BS())};J(fe,e=>{H(de)?e(pe):H(me)===`saving`?e(he,1):H(me)===`saved`&&e(ye,2)}),A(ue),K(e,t)};J(Ae,e=>{H(fe)?e(je):H(pe)?e(Me,1):e(Ne,-1)}),A(ke),K(e,ke),N()}Vr([`click`,`change`]);var WS=W(`<div class="upload-area svelte-ywjv10"><input type="file" accept=".zip" class="file-input svelte-ywjv10"/> <!></div>`),GS=W(`<div class="skill-desc svelte-ywjv10"> </div>`),KS=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>`),qS=W(`<div class="skill-list svelte-ywjv10"><div class="column-header svelte-ywjv10"><span class="column-label svelte-ywjv10">Default</span></div> <!></div>`),JS=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 YS(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([Vu(),Ju(),Zu()]).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 Qu(e)}catch(t){I(i,!e),I(a,t instanceof Error?t.message:`Failed to update setting`,!0)}}va(c);let u=F(void 0);async function d(){let e=H(u)?.files?.[0];if(e){I(s,`upload`),I(a,``);try{await kd(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 qu(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 Xu(e),!0):I(r,await Yu(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=>{Ea(e,{message:`Loading...`})},_=e=>{var t=JS(),o=z(t);Oa(o,{get message(){return H(a)}});var c=B(o,2);oo(c,{title:`Skills`,action:e=>{var t=WS(),n=R(t);ma(n,e=>I(u,e),()=>H(u));var r=B(n,2);{let e=P(()=>H(s)!==null);Sa(r,{variant:`primary`,onclick:()=>H(u).click(),get disabled(){return H(e)},children:(e,t)=>{j();var n=Xr();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);Xi(g),j(2),A(h),j(2),A(m);var _=B(m,2),v=e=>{Ea(e,{message:`No shared skills yet.`})},y=e=>{var t=qS();Y(B(R(t),2),17,()=>H(n),e=>e.id,(e,t)=>{var n=KS(),i=R(n),a=R(i);Xi(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=GS(),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);Sa(_,{variant:`danger`,onclick:()=>f(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=Xr();V(()=>q(r,H(s)===H(t).id?`...`:`Delete`)),K(e,r)},$$slots:{default:!0}})}A(g),A(n),V((e,n)=>{ea(i,`title`,e),Qi(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(()=>{ea(h,`title`,H(i)?`Skills auto-update on daemon restart`:`Skills must be updated manually per mind`),Qi(g,H(i))}),U(`change`,g,l),K(e,t)};J(h,e=>{H(o)?e(g):e(_,-1)}),K(e,m),N()}Vr([`change`]);function XS(e){let t=e-1;return t*t*t+1}function ZS(e,{delay:t=0,duration:n=400,easing:r=XS,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 QS=W(`<span class="username svelte-fqyh9p"> </span>`),$S=Yr(`<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),eC=Yr(`<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),tC=W(`<span class="role admin svelte-fqyh9p">admin</span>`),nC=W(`<span class="role pending svelte-fqyh9p">pending</span> <button class="approve-btn svelte-fqyh9p">approve</button>`,1),rC=W(`<div class="error svelte-fqyh9p"> </div>`),iC=W(`<button class="action-btn svelte-fqyh9p">remove admin</button>`),aC=W(`<button class="action-btn svelte-fqyh9p">make admin</button>`),oC=W(`<span class="confirm-prompt svelte-fqyh9p"> <button class="confirm-yes svelte-fqyh9p"> </button> <button class="confirm-no svelte-fqyh9p">no</button></span>`),sC=W(`<button class="action-btn danger svelte-fqyh9p">delete</button>`),cC=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>`),lC=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>`),uC=W(`<div class="empty svelte-fqyh9p">No users yet.</div>`),dC=W(`<div class="container svelte-fqyh9p"><div class="user-list svelte-fqyh9p"></div> <!></div>`);function fC(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(){Yl().then(e=>{I(n,e,!0)}).catch(()=>{H(r)||I(r,`Failed to load users`)})}va(()=>{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(Tf.has(e.username))return;let t=H(u).get(e.username);return t?Nl(t):`var(--text-2)`}return Ef.has(e.username)?`var(--text-0)`:`var(--text-2)`}async function h(e,t){e.stopPropagation();try{await Zl(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 Ql(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 $l(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 gu(e.username,!0),wf.minds=wf.minds.filter(t=>t.name!==e.username)}catch(t){if(t instanceof Error&&t.message.includes(`not found`))await eu(e.id);else throw t}else await eu(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=dC(),S=R(x);Y(S,21,()=>H(n),e=>e.id,(e,t)=>{var n=lC();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),D=e=>{var n=QS(),r=R(n);A(n),V(()=>q(r,`@${H(t).username??``}`)),K(e,n)};J(ee,e=>{H(t).display_name&&e(D)});var te=B(ee,2),ne=R(te),O=e=>{var t=$S();j(4),K(e,t)},re=e=>{var t=eC();j(4),K(e,t)};J(ne,e=>{H(t).user_type===`mind`?e(O):e(re,-1)}),A(te),A(w);var ie=B(w,2),ae=R(ie),oe=e=>{K(e,tC())};J(ae,e=>{H(t).role===`admin`&&e(oe)});var k=B(ae,2),se=e=>{var n=nC();U(`click`,B(z(n),2),e=>h(e,H(t).id)),K(e,n)};J(k,e=>{H(t).role===`pending`&&e(se)});var ce=B(k,2);let le;A(ie),A(f);var ue=B(f,2),de=e=>{var n=cC(),i=R(n),u=R(i),f=B(u,2);Xi(f),A(i);var p=B(i,2),m=R(p),h=B(m,2);Xi(h),A(p);var x=B(p,2),S=e=>{var t=rC(),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=iC();V(()=>n.disabled=H(d)<=1),U(`click`,n,e=>g(e,H(t))),K(e,n)},ee=e=>{var n=aC();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 D=B(T,2),te=e=>{var n=oC(),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)},ne=e=>{var n=sC();V(()=>n.disabled=H(t).role===`admin`&&H(d)<=1),U(`click`,n,()=>I(c,H(t).id,!0)),K(e,n)};J(D,e=>{H(c)===H(t).id?e(te):e(ne,-1)}),A(w);var O=B(w,2),re=R(O,!0);A(O),A(C),A(n),V(e=>{ea(u,`for`,`dn-${H(t).id??``}`),ea(f,`id`,`dn-${H(t).id??``}`),ea(f,`placeholder`,H(t).username),ea(m,`for`,`desc-${H(t).id??``}`),ea(h,`id`,`desc-${H(t).id??``}`),O.disabled=e,q(re,H(s)?`saving...`:`save`)},[()=>!b(H(t))||H(s)]),la(f,()=>H(a),e=>I(a,e)),la(h,()=>H(o),e=>I(o,e)),U(`click`,O,()=>_(H(t))),wi(3,n,()=>ZS,()=>({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`&&Tf.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,uC())};J(C,e=>{H(n).length===0&&e(w)}),A(x),K(e,x),N()}Vr([`click`,`keydown`]);var pC=W(`<div class="error svelte-n9btv2"> </div>`),mC=W(`<div class="loading svelte-n9btv2">Loading prompts...</div>`),hC=W(`<span class="custom-count svelte-n9btv2"> </span>`),gC=W(`<span class="custom-badge svelte-n9btv2">customized</span>`),_C=W(`<span class="var-tag svelte-n9btv2"> </span>`),vC=W(`<div class="var-tags svelte-n9btv2"></div>`),yC=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),bC=W(`<button class="btn btn-reset svelte-n9btv2">Reset</button>`),xC=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),SC=W(`<div><div class="prompt-header svelte-n9btv2"><span class="prompt-key svelte-n9btv2"> </span> <!></div> <p class="prompt-desc svelte-n9btv2"> </p> <!> <!></div>`),CC=W(`<div class="section-body svelte-n9btv2"></div>`),wC=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>`),TC=W(`<div class="prompts-page svelte-n9btv2"><!> <!></div>`);function EC(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 $u(),!0),I(s,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to load prompts`,!0)}finally{I(r,!1)}}va(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 ed(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 td(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=TC(),y=R(v),b=e=>{var t=pC(),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,mC())},C=e=>{var t=G();Y(z(t),17,()=>H(d),e=>e.category,(e,t)=>{var n=wC(),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=hC(),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=CC();Y(n,21,()=>H(t).items,e=>e.key,(e,t)=>{var n=SC();let r;var s=R(n),c=R(s),l=R(c,!0);A(c);var u=B(c,2),d=e=>{K(e,gC())};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=vC();Y(n,20,()=>H(t).variables,e=>e,(e,t)=>{var n=_C(),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=yC(),r=z(n);yn(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)}),la(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=xC(),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=bC();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()}Vr([`click`]);var DC=W(`<div class="error svelte-m1wc4k"> </div> <button class="retry-btn svelte-m1wc4k">Retry</button>`,1),OC=W(`<div class="loading-text svelte-m1wc4k">Loading providers...</div>`),kC=W(`<span class="model-tag svelte-m1wc4k"> <button class="model-tag-remove svelte-m1wc4k">×</button></span>`),AC=W(`<div class="model-tags svelte-m1wc4k"></div>`),jC=W(`<span class="dim svelte-m1wc4k">No models enabled</span>`),MC=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="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>`),NC=W(`<button class="add-provider-btn svelte-m1wc4k" type="button">+ Add a provider</button>`),PC=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>`),FC=W(`<div class="error svelte-m1wc4k"> </div>`),IC=W(`<!> <!> <!> <!>`,1),LC=W(`<option> </option>`),RC=W(`<div class="autocomplete"><select class="select-input svelte-m1wc4k"><option>Select provider...</option><!></select></div>`),zC=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>`),BC=W(`<div class="modal-body svelte-m1wc4k"><!> <!> <!></div>`),VC=W(`<span class="model-desc svelte-m1wc4k"> </span>`),HC=W(`<button class="model-option svelte-m1wc4k"><span class="model-id svelte-m1wc4k"> </span> <!></button>`),UC=W(`<div class="model-list svelte-m1wc4k"></div>`),WC=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>`),GC=W(`<!> <!> <!>`,1);function KC(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===`env_var`?`env var`:``}async function b(){I(s,``);try{I(n,await Sd(),!0);let e=await Td();I(r,e.models,!0),I(i,e.defaultModel,!0)}catch{I(s,`Failed to load imagegen config. Check your connection and try again.`)}}b();function x(){I(c,!1),I(d,!1),I(l,``),I(u,``),I(f,``),I(p,[],!0),I(h,``),I(a,``)}function S(){x(),I(c,!0),H(_).length===1&&I(l,H(_)[0].id,!0)}async function C(){if(!H(l)||!H(u).trim()||H(o))return;I(o,!0),I(a,``);let e=H(l);try{await Cd(H(l),H(u).trim()),x(),await b(),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 w(e){I(o,!0),I(a,``);try{await wd(e),H(i)?.startsWith(`${e}:`)&&I(i,null),await b()}catch(e){I(a,e instanceof Error?e.message:`Failed to remove`,!0)}finally{I(o,!1)}}async function T(){if(H(f).trim()){I(m,!0);try{I(p,await Dd(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 E(e){try{let t=[...H(r),e],n=H(r).length===0?e:void 0;await Ed(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 ee(e){try{let t=H(r).filter(t=>t!==e);await Ed(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(``),te=F(!1);kn(()=>{I(D,H(i)??``,!0)}),kn(()=>{H(r).length>0&&I(te,!0)}),kn(()=>{let e=H(D);H(te)&&(I(i,e||null,!0),Ed(H(r),e||null).catch(()=>{}))});var ne={load:b},O=GC(),re=z(O),ie=e=>{var t=DC(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,H(s))),U(`click`,i,()=>b()),K(e,t)},ae=e=>{K(e,OC())},oe=e=>{var t=IC(),n=z(t);Y(n,17,()=>H(g),e=>e.id,(e,t)=>{let n=P(()=>v(H(t).id));var r=MC(),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);A(i);var m=B(i,2),g=R(m),_=e=>{var t=AC();Y(t,20,()=>H(n),e=>e,(e,t)=>{var n=kC(),r=R(n),i=B(r);A(n),V(()=>q(r,`${t??``} `)),U(`click`,i,()=>ee(t)),K(e,n)}),A(t),K(e,t)},b=e=>{K(e,jC())};J(g,e=>{H(n).length>0?e(_):e(b,-1)});var x=B(g,2);A(m),A(r),V(e=>{q(s,H(t).id),q(l,e),u.disabled=H(o)},[()=>y(H(t).authMethod)]),U(`click`,u,()=>w(H(t).id)),U(`click`,x,()=>{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=NC();U(`click`,t,S),K(e,t)};J(i,e=>{H(_).length>0&&e(s)});var l=B(i,2),u=e=>{var t=PC(),n=B(R(t),2);{let e=P(()=>H(r).map(e=>({id:e,label:e})));ux(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),b=e=>{var t=FC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)};J(m,e=>{H(a)&&!H(c)&&!H(d)&&e(b)}),K(e,t)};J(re,e=>{H(s)?e(ie):H(n).length===0?e(ae,1):e(oe,-1)});var k=B(re,2),se=e=>{ro(e,{onClose:x,size:`420px`,title:`Add imagegen provider`,children:(e,t)=>{var n=BC(),r=R(n),i=e=>{var t=RC(),n=R(t),r=R(n);r.value=r.__value=``,Y(B(r),17,()=>H(_),e=>e.id,(e,t)=>{var n=LC(),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),zi(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=zC(),n=R(t);Xi(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()]),Br(`submit`,t,e=>{e.preventDefault(),C()}),la(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=FC(),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(k,e=>{H(c)&&e(se)});var ce=B(k,2),le=e=>{ro(e,{onClose:()=>{I(d,!1),I(f,``),I(p,[],!0)},size:`480px`,get title(){return`Add model — ${H(h)??``}`},children:(e,t)=>{var n=WC(),i=R(n),o=R(i);Xi(o);var s=B(o,2),c=R(s,!0);A(s),A(i);var l=B(i,2),u=e=>{var t=UC();Y(t,21,()=>H(p),e=>e.id,(e,t)=>{var n=HC(),i=R(n),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var n=VC(),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,()=>E(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=FC(),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()]),Br(`submit`,i,e=>{e.preventDefault(),T()}),la(o,()=>H(f),e=>I(f,e)),K(e,n)},$$slots:{default:!0}})};return J(ce,e=>{H(d)&&e(le)}),K(e,O),N(ne)}Vr([`click`]);var qC=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>`),JC=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>`),YC=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>`),XC=W(`<div class="system-card svelte-7kf7oa"><div class="system-info svelte-7kf7oa"><span class="system-label svelte-7kf7oa">Not registered</span></div> <!></div>`),ZC=W(`<div class="error svelte-7kf7oa"> </div>`),QC=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">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 $C(e,t){M(t,!0);let n=F(L(yf.localName??``));async function r(){let e=H(n).trim();try{await id(e),yf.localName=e||null}catch{I(n,yf.localName??``,!0)}}let i=F(``),a=F(`none`),o=F(``),s=F(!1),c=F(``),l=F(``),u=F(!1),d;va(async()=>{d.load();try{let e=await vd();I(c,e.spiritModel??``,!0),I(l,e.utilityModel??``,!0)}catch{}I(u,!0)}),kn(()=>{let e=H(c),t=H(l);H(u)&&yd({spiritModel:e||null,utilityModel:t||null}).catch(()=>{})});async function f(){if(!(!H(o).trim()||H(s))){I(s,!0),I(i,``);try{yf.systemName=(await(H(a)===`register`?ad:od)(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 p(){I(s,!0),I(i,``);try{await sd(),yf.systemName=null}catch(e){I(i,e instanceof Error?e.message:`Logout failed`,!0)}finally{I(s,!1)}}var m=QC(),h=R(m),g=B(R(h),2);Xi(g),A(h);var _=B(h,2),v=B(R(_),2),y=e=>{var t=qC(),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,yf.systemName),a.disabled=H(s),q(o,H(s)?`...`:`Disconnect`)}),U(`click`,a,p),K(e,t)},b=e=>{var t=XC(),n=B(R(t),2),r=e=>{var t=JC(),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=YC(),n=R(t);Xi(n);var r=B(n,2),c=R(r,!0);A(r);var l=B(r,2);A(t),V(e=>{ea(n,`type`,H(a)===`login`?`password`:`text`),ea(n,`placeholder`,H(a)===`register`?`System name`:`API key`),r.disabled=e,q(c,H(s)?`...`:H(a)===`register`?`Register`:`Login`)},[()=>H(s)||!H(o).trim()]),Br(`submit`,t,e=>{e.preventDefault(),f()}),la(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(v,e=>{yf.systemName?e(y):e(b,-1)});var x=B(v,2),S=e=>{var t=ZC(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(x,e=>{H(i)&&e(S)}),A(_);var C=B(_,2);ma(Vx(B(R(C),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(C);var w=B(C,2);KC(B(R(w),2),{}),A(w),A(m),Br(`blur`,g,r),U(`keydown`,g,e=>{e.key===`Enter`&&e.target.blur()}),la(g,()=>H(n),e=>I(n,e)),K(e,m),N()}Vr([`keydown`,`click`]);var ew=W(`<button> </button>`),tw=W(`<span class="restart-error svelte-138znmo"> </span>`),nw=W(`<div class="spirit-error svelte-138znmo"> </div>`),rw=W(`<div class="spirit-sections svelte-138znmo"><!> <!> <!> <!> <!></div>`),iw=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 aw(e,t){M(t,!0);let n=[`settings`,`mind-defaults`,`prompts`,`skills`,`extensions`,`users`,`spirit`],r={settings:`Settings`,"mind-defaults":`Mind Defaults`,prompts:`Prompts`,skills:`Skills`,extensions:`Extensions`,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 du(`volute`),!0)}catch(e){I(o,e instanceof Error?e.message:`Failed to load spirit`,!0)}}}kn(()=>{H(i)===`spirit`&&c()});let l=F(!1),u=F(null);async function d(){I(l,!0),I(u,null);try{await nd()}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=iw(),p=R(f),m=R(p);Y(m,21,()=>n,ai,(e,t)=>{var n=ew();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=tw(),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=>{$C(e,{})},C=e=>{US(e,{})},w=e=>{EC(e,{})},T=e=>{YS(e,{})},E=e=>{hS(e,{})},ee=e=>{fC(e,{get minds(){return wf.minds}})},D=e=>{var t=G(),n=z(t),r=e=>{var t=nw(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)},i=e=>{var t=rw(),n=R(t);Bv(n,{get mind(){return H(a)},onUpdated:c});var r=B(n,2);oo(r,{title:`Model`,subtitle:`Cognition settings`});var i=B(r,2);Tv(i,{get name(){return H(a).name},get template(){return H(a).template},hideBudget:!0});var o=B(i,2);_y(o,{get name(){return H(a).name}}),Pv(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)===`users`?e(ee,5):H(i)===`spirit`&&e(D,6)}),A(b),A(f),V(()=>{v.disabled=H(l),q(y,H(l)?`Restarting...`:`Restart Daemon`)}),U(`click`,v,d),K(e,f),N()}Vr([`click`]);var ow=W(`<div class="app"><div class="loading svelte-1ocnzw1">Loading...</div></div>`),sw=W(`<div class="app full-height svelte-1ocnzw1"><!></div>`),cw=W(`<button class="sidebar-backdrop svelte-1ocnzw1" aria-label="Close sidebar"></button>`),lw=W(`<span class="crumb-sep svelte-1ocnzw1">/</span>`),uw=W(`<button class="crumb-link svelte-1ocnzw1"> </button>`),dw=W(`<span class="crumb-current svelte-1ocnzw1"> </span>`),fw=W(`<!> <!>`,1),pw=W(`<span class="tab-icon svelte-1ocnzw1"></span>`),mw=W(`<button><!></button>`),hw=W(`<div class="mind-section-tabs svelte-1ocnzw1"></div>`),gw=W(`<button><span class="tab-icon svelte-1ocnzw1"></span></button>`),_w=W(`<div class="mind-section-tabs svelte-1ocnzw1"><button aria-label="History"><span class="tab-icon svelte-1ocnzw1"></span></button> <!></div>`),vw=W(`<img alt="" class="user-avatar-img svelte-1ocnzw1"/>`),yw=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>`),bw=W(`<button class="panel-reopen svelte-1ocnzw1" title="Show sidebar"><!></button>`),xw=W(`<button class="right-panel-backdrop svelte-1ocnzw1" aria-label="Close panel"></button>`),Sw=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),Cw=W(`<!> <div class="resize-handle right-resize-handle svelte-1ocnzw1" role="separator" aria-label="Resize panel"></div> <div><!></div>`,1),ww=W(`<div class="modal-scroll-body svelte-1ocnzw1"><!></div>`),Tw=W(`<div class="shell svelte-1ocnzw1"><!> <div class="shell-body svelte-1ocnzw1"><div><button class="sidebar-header svelte-1ocnzw1"><span class="header-logo-wrap svelte-1ocnzw1"><img src="/logo.png" alt="" class="sidebar-logo svelte-1ocnzw1"/> <span class="hover-dot svelte-1ocnzw1"></span></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 Ew(e,t){M(t,!0);let n=F(L(em(wf.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,...wf.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);kn(()=>{I(h,H(g),!0)});let y=P(()=>{let e=H(n);if(e.kind===`channel`)return wf.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 wf.conversations.find(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];return n.length===2?n.some(e=>e.username===t):!1})?.id??null}return null});kn(()=>{jf(H(y)),I(m,!1)});let b=P(()=>{let e=H(n);if(e.kind===`channel`)return wf.conversations.find(t=>t.type===`channel`&&t.channel_name===e.slug)}),x=P(()=>{let e=H(n);if(e.kind===`mind`)return wf.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))),D=P(()=>H(ee)&&(!H(h)||H(g)&&H(m))),te=P(()=>H(n).kind===`channel`?H(b)?.type===`channel`&&H(b).channel_name?`#${H(b).channel_name}`:H(n).slug:``),ne=P(()=>{let e=H(n),t=[];if(e.kind===`mind`){if(t.push({label:`system`,action:ge}),t.push({label:e.name,action:()=>nm(`/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?()=>nm(`/minds/${e.name}/${n}`):void 0}),e.subpath&&t.push({label:e.subpath})}}else if(e.kind===`channel`)t.push({label:H(te)});else if(e.kind===`extension`){t.push({label:`system`,action:ge});let n=wf.extensions.find(t=>t.id===e.extensionId),r=n?.systemSection?.urlPatterns?.[0];if(t.push({label:n?.name??e.extensionId,action:e.path?()=>nm(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?()=>nm(`${r}/${a}`):void 0})}}}else e.kind,t.push({label:`system`});return t}),O=F(!1);async function re(){await Sf(),xp()&&(await kp(),I(O,!0))}va(()=>{Dp().then(e=>{e?xf():(I(O,!0),yf.checked=!0)}).catch(()=>{I(O,!0),yf.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;nm(e.data.path)}};return window.addEventListener(`message`,r),()=>{e.removeEventListener(`change`,t),window.removeEventListener(`message`,r)}}),kn(()=>{if(yf.user)return Ff(),()=>If()}),kn(()=>{yf.user&&cf()}),kn(()=>{yf.user&&Gl().then(e=>{I(v,e?.avatar?`/api/auth/avatars/${e.avatar}`:null,!0)}).catch(e=>{console.warn(`Failed to fetch user profile:`,e)})}),kn(()=>{if(wf.extensions.length>0){let e=em(wf.extensions);e.kind===`extension`&&H(n).kind===`system-history`&&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 ie=F(!1);kn(()=>{let e=()=>{I(ie,!0),I(n,em(wf.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(),nm(n))};return document.addEventListener(`click`,t),()=>{window.removeEventListener(`popstate`,e),document.removeEventListener(`click`,t)}}),kn(()=>{let e=tm(H(n),wf.extensions),t=window.location.pathname+window.location.search;t!==e&&(H(n).kind===`system-history`&&wf.extensions.length===0&&t!==`/`||(H(ie)?window.history.replaceState(null,``,e):window.history.pushState(null,``,e))),I(ie,!1)}),kn(()=>{if(H(n).kind!==`channel`||!H(n).slug.startsWith(`__conv:`))return;let e=H(n).slug.replace(`__conv:`,``),t=wf.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!==yf.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}});function ae(){I(m,!0)}function oe(){H(w)&&(I(l,null),I(u,null)),I(m,!1),I(h,!0)}function k(){H(g)?I(m,!H(m)):I(h,!H(h))}function se(e){I(u,e,!0),I(l,`mind`),I(m,!0),I(h,!1)}function ce(e){let t=wf.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!==yf.user?.username);e&&I(n,{kind:`mind`,name:e.username},!0)}jf(e),Uf(),H(l)===`mind`&&(I(l,null),I(u,null))}async function le(e){try{await bu(e)}catch(e){console.error(`Failed to delete conversation:`,e);return}Ff(),H(y)===e&&I(n,{kind:`system-history`},!0)}function ue(e){jf(e),Ff()}function de(e){I(l,null),I(u,null),Uf(),I(n,{kind:`mind`,name:e},!0)}function fe(e){I(l,null),I(u,null),Uf(),Ff(),e.type===`channel`&&e.channel_name&&I(n,{kind:`channel`,slug:e.channel_name},!0)}function pe(e){I(l,null),I(u,null),Uf(),I(n,{kind:`mind`,name:e},!0)}function me(e){Cf(e)}function he(e){Bf(e),H(y)===e&&I(n,{kind:`system-history`},!0)}function ge(){I(n,{kind:`system-history`},!0)}function _e(e){I(n,{kind:`mind`,name:e},!0),Uf()}function ve(e,t,r){I(n,{kind:`mind`,name:e,section:t,subpath:r},!0)}function ye(e,t){I(n,{kind:`extension`,extensionId:e,path:t??``},!0),Uf()}function be(e){I(f,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function xe(e){if(!H(f))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();Gf.width=Math.max(180,Math.min(400,e.clientX-n.left))}function Se(){H(f)&&(I(f,!1),document.body.style.userSelect=``,document.body.style.cursor=``,Kf())}let Ce=F(!1);function we(e){I(Ce,!0),e.currentTarget.setPointerCapture(e.pointerId),document.body.style.userSelect=`none`,document.body.style.cursor=`col-resize`}function Te(e){if(!H(Ce))return;let t=e.currentTarget.parentElement;if(!t)return;let n=t.getBoundingClientRect();Jf.width=Math.max(240,Math.min(600,n.right-e.clientX))}function Ee(){H(Ce)&&(I(Ce,!1),document.body.style.userSelect=``,document.body.style.cursor=``,Yf())}function De(e){if(e.key===`Escape`){if(H(_)){I(_,!1);return}if(H(m)){oe();return}if(Vf.sidebarOpen){Uf();return}}}function Oe(e){H(_)&&!e.target.closest(`.user-menu-anchor`)&&I(_,!1)}var ke=G();Br(`keydown`,rn,De),Br(`click`,an,Oe);var Ae=z(ke),je=e=>{K(e,ow())},Me=e=>{var t=sw();sS(R(t),{onComplete:()=>{yf.setupComplete=!0,Ff(),requestAnimationFrame(()=>{I(n,{kind:`mind`,name:`volute`},!0)})}}),A(t),K(e,t)},Ne=e=>{var t=sw();Fp(R(t),{onConnected:e=>{I(O,!1),Cf(e)}}),A(t),K(e,t)},Pe=e=>{var t=sw();zp(R(t),{onAuth:me}),A(t),K(e,t)},Fe=e=>{var t=Tw(),r=z(t),i=R(r),u=e=>{rx(e,{})};J(i,e=>{yf.user.role===`admin`&&e(u)});var f=B(i,2),y=R(f);let x,w;var te=R(y),O=B(R(te),2),ie=R(O,!0);A(O),A(te);var me=B(te,2);{let e=P(()=>wf.conversations.filter(e=>!Rf.has(e.id)));W_(me,{get minds(){return wf.minds},get conversations(){return H(e)},get selection(){return H(n)},get username(){return yf.user.username},onHome:ge,onSelectMind:_e,onSelectMindSection:(e,t)=>{I(d,e,!0),t===`history`?I(l,`mindHistory`):t===`files`?I(l,`mindFiles`):t===`settings`?I(l,`mindSettings`):t===`context`&&I(l,`mindContext`)},onSelectSystemSection:e=>{e===`settings`?I(l,`systemSettings`):e===`logs`&&I(l,`systemLogs`)},onSelectConversation:ce,onDeleteConversation:le,onBrowseChannels:()=>I(l,`channelBrowser`),onOpenMind:se,onSeed:()=>I(l,`seed`),onHideConversation:he})}A(y);var Ce=B(y,2),De=e=>{var t=cw();U(`click`,t,function(...e){Uf?.apply(this,e)}),K(e,t)};J(Ce,e=>{Vf.sidebarOpen&&e(De)});var Oe=B(Ce,2),ke=B(Oe,2),Ae=R(ke);let je;var Me=R(Ae),Ne=R(Me),Pe=B(Ne,2);Y(Pe,21,()=>H(ne),ai,(e,t,n)=>{var r=fw(),i=z(r),a=e=>{K(e,lw())};J(i,e=>{n>0&&e(a)});var o=B(i,2),s=e=>{var n=uw(),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=dw(),r=R(n,!0);A(n),V(()=>q(r,H(t).label)),K(e,n)};J(o,e=>{H(t).action&&n<H(ne).length-1?e(s):e(c,-1)}),K(e,r)}),A(Pe);var Fe=B(Pe,2),Ie=e=>{var t=hw();Y(t,21,()=>H(S),ai,(e,t)=>{var n=mw();let r;var i=R(n),s=e=>{var n=pw();mi(n,()=>H(t).icon,!0),A(n),K(e,n)};J(i,e=>{H(t).icon&&e(s)}),A(n),Ei(n,(e,t)=>Ml?.(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,()=>ve(H(a),H(t).key,H(t).defaultPath)),K(e,n)}),A(t),K(e,t)},j=e=>{var t=_w(),r=R(t);let i;var a=R(r);mi(a,()=>Eo.history,!0),A(a),A(r),Ei(r,(e,t)=>Ml?.(e,t),()=>({text:`History`,position:`bottom`})),Y(B(r,2),17,()=>wf.extensions,ai,(e,t)=>{var n=G(),r=z(n),i=e=>{var n=gw();let r;var i=R(n);mi(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),Ei(n,(e,t)=>Ml?.(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,()=>ye(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(Fe,e=>{H(a)?e(Ie):H(s)&&e(j,1)});var Le=B(Fe,2),Re=R(Le),ze=R(Re),Be=R(ze),Ve=e=>{var t=vw();V(()=>ea(t,`src`,H(v))),K(e,t)},He=e=>{Za(e,{kind:`brain`})};J(Be,e=>{H(v)?e(Ve):e(He,-1)}),A(ze);var Ue=B(ze,2),We=e=>{var t=yw(),n=R(t),r=B(n,2);A(t),U(`click`,n,()=>{I(_,!1),I(l,`userSettings`)}),U(`click`,r,()=>{I(_,!1),re()}),K(e,t)};J(Ue,e=>{H(_)&&e(We)}),A(Re);var Ge=B(Re,2),M=e=>{var t=bw();Za(R(t),{kind:`history`}),A(t),U(`click`,t,k),K(e,t)};J(Ge,e=>{H(ee)&&H(h)&&e(M)}),A(Le),A(Me);var N=B(Me,2),Ke=R(N);{let e=P(()=>H(ee)?ae:void 0);r_(Ke,{get selection(){return H(n)},get minds(){return wf.minds},get conversations(){return wf.conversations},get username(){return yf.user.username},onConversationId:ue,onSelectConversation:ce,onOpenMind:se,onTypingNames:e=>{I(p,e,!0)},get onToggleSidebar(){return Hf},get onOpenRightPanel(){return H(e)}})}A(N),A(Ae);var qe=B(Ae,2),Je=e=>{var t=Cw(),n=z(t),r=e=>{var t=xw();U(`click`,t,oe),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=Sw(),n=z(t);ii(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)?()=>de(H(C).name):void 0);hv(e,{get mind(){return H(C)},get onExpand(){return H(t)},get onChat(){return H(n)}})}}),U(`click`,n,oe),K(e,t)},f=e=>{gp(e,{get conversation(){return H(b)},get minds(){return wf.minds},get typingNames(){return H(p)},onOpenMind:se,onClose:oe})};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:`${Jf.width??``}px`})}),U(`pointerdown`,i,we),U(`pointermove`,i,Te),U(`pointerup`,i,Ee),Br(`pointercancel`,i,Ee),K(e,t)};J(qe,e=>{H(D)&&e(Je)}),A(ke),A(f),A(r);var Ye=B(r,2),Xe=e=>{Ey(e,{onClose:()=>I(l,null),onJoined:fe})};J(Ye,e=>{H(l)===`channelBrowser`&&e(Xe)});var Ze=B(Ye,2),Qe=e=>{fb(e,{onClose:()=>I(l,null),onCreated:pe})};J(Ze,e=>{H(l)===`seed`&&e(Qe)});var $e=B(Ze,2),et=e=>{xb(e,{onClose:()=>I(l,null)})};J($e,e=>{H(l)===`userSettings`&&e(et)});var tt=B($e,2),nt=e=>{ro(e,{get title(){return`History — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=ww(),r=R(n);{let e=P(()=>wf.minds.find(e=>e.name===H(d))?.status);Yg(r,{get name(){return H(d)},get mindStatus(){return H(e)}})}A(n),K(e,n)},$$slots:{default:!0}})};J(tt,e=>{H(l)===`mindHistory`&&H(d)&&e(nt)});var rt=B(tt,2),it=e=>{ro(e,{get title(){return`Files — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,t)=>{var n=ww();Rb(R(n),{get name(){return H(d)}}),A(n),K(e,n)},$$slots:{default:!0}})};J(rt,e=>{H(l)===`mindFiles`&&H(d)&&e(it)});var at=B(rt,2),ot=e=>{let t=P(()=>wf.minds.find(e=>e.name===H(d)));var n=G(),r=z(n),i=e=>{ro(e,{get title(){return`Settings — ${H(d)??``}`},onClose:()=>{I(l,null),I(d,null)},children:(e,n)=>{by(e,{get mind(){return H(t)}})},$$slots:{default:!0}})};J(r,e=>{H(t)&&e(i)}),K(e,n)};J(at,e=>{H(l)===`mindSettings`&&H(d)&&e(ot)});var st=B(at,2),ct=e=>{tb(e,{get mindName(){return H(d)},onClose:()=>{I(l,null),I(d,null)}})};J(st,e=>{H(l)===`mindContext`&&H(d)&&e(ct)});var lt=B(st,2),ut=e=>{ro(e,{title:`Settings`,onClose:()=>I(l,null),children:(e,t)=>{aw(e,{})},$$slots:{default:!0}})};J(lt,e=>{H(l)===`systemSettings`&&e(ut)});var dt=B(lt,2),ft=e=>{ro(e,{title:`System Logs`,onClose:()=>I(l,null),children:(e,t)=>{var n=ww();Qb(R(n),{}),A(n),K(e,n)},$$slots:{default:!0}})};J(dt,e=>{H(l)===`systemLogs`&&e(ft)}),V(()=>{x=X(y,1,`sidebar svelte-1ocnzw1`,null,x,{"sidebar-open":Vf.sidebarOpen}),w=Z(y,``,w,{width:`${Gf.width??``}px`}),q(ie,yf.localName||`volute`),je=X(Ae,1,`main-column svelte-1ocnzw1`,null,je,{"has-right-panel":H(D)}),ea(ze,`title`,yf.user?.username)}),U(`click`,te,ge),U(`pointerdown`,Oe,be),U(`pointermove`,Oe,xe),U(`pointerup`,Oe,Se),Br(`pointercancel`,Oe,Se),U(`click`,Ne,function(...e){Hf?.apply(this,e)}),U(`click`,ze,()=>{I(_,!H(_))}),K(e,t)};J(Ae,e=>{yf.checked?yf.setupComplete?H(O)?e(Ne,2):yf.user?e(Fe,-1):e(Pe,3):e(Me,1):e(je)}),K(e,ke),N()}Vr([`click`,`pointerdown`,`pointermove`,`pointerup`]),Qr(Ew,{target:document.getElementById(`root`)});
|