volute 0.55.0 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{activity-events-TFAJBNBW.js → activity-events-YASF46HS.js} +2 -2
- package/dist/{ai-service-KEK2V3AP.js → ai-service-3UFNG6GI.js} +2 -4
- package/dist/{archive-FOHGXHPT.js → archive-L2OFBGDQ.js} +2 -2
- package/dist/{auth-Y27LTNZK.js → auth-N2F5ASAB.js} +3 -3
- package/dist/auto-upgrade-O4MQPYQF.js +46 -0
- package/dist/{avatar-image-SN576P45.js → avatar-image-QEKKUFDF.js} +2 -2
- package/dist/{backup-GDCWH6MC.js → backup-TPM7QQBQ.js} +12 -12
- package/dist/{channels-AFJWGX7W.js → channels-JP3GYTPX.js} +16 -16
- package/dist/{chat-HVPOZK3O.js → chat-7YCF4ZU5.js} +3 -3
- package/dist/{chunk-CKOA4LWV.js → chunk-2B4E6SL7.js} +7 -7
- package/dist/{chunk-NM5FDH4T.js → chunk-2LFTJNVH.js} +2 -2
- package/dist/{chunk-G3XAB4DK.js → chunk-2QLWAYIU.js} +1 -1
- package/dist/{chunk-KS62IHE2.js → chunk-45MCH4G4.js} +1 -1
- package/dist/{chunk-QVS3C4DK.js → chunk-4RZS7XCV.js} +4 -4
- package/dist/{chunk-DUV4EMNW.js → chunk-6LICEQGP.js} +2 -2
- package/dist/{chunk-LAUCO2HC.js → chunk-APDEUAIE.js} +1 -1
- package/dist/{chunk-XAG53RWY.js → chunk-CLH357FI.js} +1 -1
- package/dist/{chunk-HTSWDOJE.js → chunk-CVPCRWWC.js} +1 -1
- package/dist/{chunk-Z7TNIIHW.js → chunk-E2SN3ZOJ.js} +2 -39
- package/dist/{chunk-NCRG4SBR.js → chunk-ELQU2GBT.js} +23 -33
- package/dist/{chunk-OUGD5L5U.js → chunk-EPRLTYJR.js} +8 -8
- package/dist/{chunk-VTFXZPC3.js → chunk-EYFBT2KP.js} +8 -8
- package/dist/{chunk-PRZUBJ4K.js → chunk-FYMIGUJ5.js} +1 -1
- package/dist/{chunk-7XKPG66D.js → chunk-G7A5LEVI.js} +5 -5
- package/dist/{chunk-UEZC5MNB.js → chunk-GAAATVTM.js} +11 -11
- package/dist/{chunk-OFU6WJJZ.js → chunk-I3OJ342S.js} +2 -2
- package/dist/{chunk-FZUPIS3T.js → chunk-IABDYN4N.js} +3 -3
- package/dist/{chunk-TMTAHKYP.js → chunk-IOMBP2T5.js} +12 -12
- package/dist/{chunk-W3OIPJPB.js → chunk-IQROTVBG.js} +1 -1
- package/dist/{chunk-4VAQKLMU.js → chunk-IRNM4LSF.js} +3 -3
- package/dist/{chunk-OKM67ZWH.js → chunk-KN3UHV7O.js} +8 -3
- package/dist/{chunk-FSXPPOPM.js → chunk-KXM4K46T.js} +1 -1
- package/dist/{chunk-Z4Q6TQWL.js → chunk-LRRPKZBD.js} +2 -2
- package/dist/{chunk-OIOW3FPT.js → chunk-NA2NJXY4.js} +1 -1
- package/dist/{chunk-GLM7TVWP.js → chunk-OHHS5PSI.js} +1 -1
- package/dist/{chunk-CKPAVQNK.js → chunk-OPTA3BJ4.js} +36 -24
- package/dist/{chunk-HLWQ3P3R.js → chunk-PAO7JZNW.js} +16 -16
- package/dist/{chunk-6HBGUPBA.js → chunk-Q5M5QFKY.js} +2 -2
- package/dist/{chunk-IR2FW4W7.js → chunk-T7UMSTH2.js} +2 -2
- package/dist/{chunk-H6X6CKDN.js → chunk-TAVIVN2I.js} +2 -32
- package/dist/{chunk-BP2X5AIK.js → chunk-TGYKFUCF.js} +6 -6
- package/dist/{chunk-5U5GLZSD.js → chunk-TZ7OHGNL.js} +2 -2
- package/dist/{chunk-7AA4T2RT.js → chunk-UMQP5TC5.js} +1 -1
- package/dist/{chunk-3SFKY4GI.js → chunk-UNTDRIV2.js} +4 -4
- package/dist/{chunk-45QTYKQQ.js → chunk-V2M6PNLE.js} +2 -2
- package/dist/{chunk-IT4GEFDH.js → chunk-WTZD6LFW.js} +1 -1
- package/dist/{chunk-FLIEXG2T.js → chunk-XZP3FJ7Q.js} +1 -1
- package/dist/cli.js +26 -23
- package/dist/{clock-X7V3C7NL.js → clock-ZT5YT6HA.js} +2 -2
- package/dist/{cloud-sync-FM73SVFJ.js → cloud-sync-RTUXMYU2.js} +20 -20
- package/dist/{conversations-FH3ODBL7.js → conversations-ERMMPMOS.js} +3 -3
- package/dist/{create-P75ZFTVN.js → create-IUCFJXCE.js} +1 -1
- package/dist/{daemon-restart-JQMMMITM.js → daemon-restart-N2YOISNJ.js} +11 -6
- package/dist/daemon.js +125 -202
- package/dist/{db-BONH4SUG.js → db-BQFYIONA.js} +1 -1
- package/dist/{delivery-manager-H23Q23N7.js → delivery-manager-5EGCFN4K.js} +16 -16
- package/dist/{delivery-notices-S7TKOACE.js → delivery-notices-LZKZXWTX.js} +4 -4
- package/dist/{delivery-router-KHBVEVVL.js → delivery-router-U6Q22ZYU.js} +2 -2
- package/dist/doctor-225FYBAQ.js +454 -0
- package/dist/{down-UN2EDX2Y.js → down-3BQSPUAZ.js} +4 -4
- package/dist/echo-text-Y2DFTD7L.js +40 -0
- package/dist/{env-SQFCWW52.js → env-4YX5YNWZ.js} +2 -2
- package/dist/{exec-Z34TTUO3.js → exec-Y5VMDAVA.js} +2 -2
- package/dist/{export-VBNWM7I4.js → export-ASRHBMRG.js} +2 -2
- package/dist/{extensions-QD22GXZD.js → extensions-YEPEWURN.js} +20 -20
- package/dist/{files-DUGRXN6V.js → files-FASUDSZQ.js} +2 -2
- package/dist/{import-RDDUGGFI.js → import-O35Y7DSF.js} +5 -5
- package/dist/{isolation-UQPDO34R.js → isolation-ZOAUXYXA.js} +2 -2
- package/dist/{login-57MMYILL.js → login-54TZQQP4.js} +5 -5
- package/dist/{logout-YFZAJRPY.js → logout-4G46Z4RU.js} +1 -1
- package/dist/message-delivery-HBTMGWFU.js +46 -0
- package/dist/{mind-BARCLI7O.js → mind-IKMX7K7G.js} +8 -24
- package/dist/{mind-activity-tracker-UT23RGBF.js → mind-activity-tracker-ABAEIMA3.js} +3 -3
- package/dist/mind-service-LRVOQG2T.js +48 -0
- package/dist/{mind-sleep-24HV4RCA.js → mind-sleep-LZAFBDZD.js} +2 -2
- package/dist/{package-AUDBDKAO.js → package-X5O7OD2E.js} +3 -2
- package/dist/{prompts-MOBF3TMO.js → prompts-ZNOE3KN3.js} +2 -2
- package/dist/{registry-TRC2HJXR.js → registry-BTQXLDW6.js} +1 -1
- package/dist/{sandbox-VI7XWBIA.js → sandbox-OUFAGN45.js} +2 -2
- package/dist/scheduler-G6BCIVGP.js +27 -0
- package/dist/{seed-cmd-M6A7N7F3.js → seed-cmd-BGAW3WDY.js} +2 -2
- package/dist/{seed-create-TGFZW4IO.js → seed-create-SMCPEUFQ.js} +3 -3
- package/dist/{seed-readiness-XBH2MUNA.js → seed-readiness-RBANMSWW.js} +3 -3
- package/dist/{seed-sprout-3IC5ZVTI.js → seed-sprout-CSHV36N3.js} +6 -6
- package/dist/{send-DHYBAYK4.js → send-D3ADUBR5.js} +5 -5
- package/dist/{service-T4P5W6RS.js → service-SWEEBOOY.js} +3 -24
- package/dist/{service-install-R4SNYUVO.js → service-install-RCC26KDV.js} +4 -4
- package/dist/{setup-6KAH3GRW.js → setup-L5NZG2U3.js} +5 -5
- package/dist/{setup-WZSXHHRJ.js → setup-R7Q4HFJP.js} +1 -5
- package/dist/{skills-LKQCYFVP.js → skills-BCCU4OJW.js} +3 -3
- package/dist/sleep-manager-25P44HAO.js +42 -0
- package/dist/{spirit-FKXMGO3N.js → spirit-YPG2MU6W.js} +5 -5
- package/dist/spirit-availability-ZQM5IH4C.js +43 -0
- package/dist/{status-LCKTTIWS.js → status-BYPCJU6H.js} +4 -4
- package/dist/{system-events-ZYOCYAO2.js → system-events-CWC7CBKP.js} +2 -2
- package/dist/{systems-HL7SGSW7.js → systems-VDRUZXNF.js} +2 -2
- package/dist/{tailscale-F2IMBILZ.js → tailscale-4XY7B5A2.js} +1 -1
- package/dist/{template-staleness-IBD722PN.js → template-staleness-CL4V7BT7.js} +2 -2
- package/dist/{turn-tracker-BE34OI6O.js → turn-tracker-LZP5X6GZ.js} +6 -6
- package/dist/{up-J47J5JRB.js → up-3AAN4GYY.js} +4 -4
- package/dist/{update-ILCPVNDD.js → update-2MWXRE2S.js} +4 -4
- package/dist/{update-check-SZ7B5IFI.js → update-check-PJOZXZYJ.js} +2 -2
- package/dist/variant-cleanup-K7RFMSH7.js +24 -0
- package/dist/{version-notify-KIXYNHJC.js → version-notify-QIDHR6WO.js} +5 -5
- package/dist/web-assets/assets/{index-CoU1eUKE.js → index-Bfvls20e.js} +3 -3
- package/dist/web-assets/index.html +1 -1
- package/drizzle/0000_crazy_epoch.sql +232 -0
- package/drizzle/README.md +42 -0
- package/drizzle/meta/0000_snapshot.json +1420 -3
- package/drizzle/meta/_journal.json +2 -128
- package/package.json +3 -2
- package/dist/auto-upgrade-2MZF7NG3.js +0 -46
- package/dist/echo-text-ULEIFJJF.js +0 -40
- package/dist/message-delivery-LU4EP244.js +0 -46
- package/dist/migrate-init-infrastructure-Z72UJ5NT.js +0 -44
- package/dist/migrate-name-placeholder-64AEAWPE.js +0 -37
- package/dist/migrate-thread-config-SVF2M3D3.js +0 -90
- package/dist/mind-service-ZJCUBAUL.js +0 -48
- package/dist/scheduler-GLINVC2B.js +0 -27
- package/dist/seed-5JGR7ZRA.js +0 -11
- package/dist/sleep-manager-Q3ITFNOJ.js +0 -42
- package/dist/spirit-availability-5R2WYSWF.js +0 -43
- package/dist/sprout-VEW3CUNX.js +0 -11
- package/dist/variant-HHDTW74J.js +0 -62
- package/dist/variant-cleanup-JGJZ5KB4.js +0 -24
- package/drizzle/0000_baseline.sql +0 -152
- package/drizzle/0001_add_conversation_private.sql +0 -1
- package/drizzle/0002_turns.sql +0 -21
- package/drizzle/0003_turn_feed_links.sql +0 -11
- package/drizzle/0004_spirits.sql +0 -5
- package/drizzle/0005_meta_summaries.sql +0 -15
- package/drizzle/0006_channels.sql +0 -17
- package/drizzle/0007_drop_conversation_name_title.sql +0 -11
- package/drizzle/0008_performance_indexes.sql +0 -6
- package/drizzle/0009_mind_notices.sql +0 -14
- package/drizzle/0010_delivery_queue_redrive.sql +0 -10
- package/drizzle/0011_drop_turn_summary_event_id.sql +0 -3
- package/drizzle/0012_channel_gates.sql +0 -17
- package/drizzle/0013_variant_purpose.sql +0 -3
- package/drizzle/0014_system_events.sql +0 -26
- package/drizzle/0015_rename_session_to_thread.sql +0 -12
- package/drizzle/0016_brain_to_human.sql +0 -4
- package/drizzle/0017_event_history_rows.sql +0 -9
- package/drizzle/0018_api_tokens.sql +0 -20
- package/drizzle/meta/0001_snapshot.json +0 -7
- package/drizzle/meta/0002_snapshot.json +0 -7
- package/drizzle/meta/0003_snapshot.json +0 -7
- package/drizzle/meta/0004_snapshot.json +0 -7
- package/drizzle/meta/0005_snapshot.json +0 -7
- package/drizzle/meta/0006_snapshot.json +0 -7
- package/drizzle/meta/0007_snapshot.json +0 -7
- package/dist/{env-7AZFBPWX.js → env-IBW2QI6K.js} +5 -5
- package/dist/{login-4NUS72Z5.js → login-RJJTCVR3.js} +3 -3
- package/dist/{mind-contacts-PEXCDRXA.js → mind-contacts-KV64UDJS.js} +6 -6
- package/dist/{mind-history-RZMMCHMX.js → mind-history-H45GM2M2.js} +6 -6
- package/dist/{register-WNCSOTAU.js → register-OX4HRSGC.js} +3 -3
- package/dist/{restart-B4GNMVF2.js → restart-AGEGNSYQ.js} +4 -4
- package/dist/{skill-QYTBUDNQ.js → skill-B5OJEQUA.js} +4 -4
- package/dist/{start-BDHJVOVX.js → start-MUMNFR52.js} +3 -3
- package/dist/{stop-45QYSGYS.js → stop-EKERNYTX.js} +4 -4
|
@@ -64,7 +64,7 @@ ${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||Ys,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||Ys}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=Js();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,Xs(Ol.defaults),Ol},Ol.getDefaults=Js,Ol.defaults=Ys,Ol.use=function(...e){return Dl.use(...e),Ol.defaults=Dl.defaults,Xs(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 qs.sanitize(kl.parse(e))}var jl=[`svg`,`path`,`circle`,`rect`,`line`,`polyline`,`polygon`,`g`],Ml=[`viewBox`,`fill`,`fill-opacity`,`fill-rule`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`,`stroke-opacity`,`opacity`,`d`,`cx`,`cy`,`r`,`x`,`y`,`width`,`height`,`points`,`transform`],Nl;function Pl(e){return Nl??=qs(window),Nl.sanitize(e,{ALLOWED_TAGS:jl,ALLOWED_ATTR:Ml,FORBID_TAGS:[`script`,`foreignObject`],FORBID_ATTR:[`href`,`xlink:href`]})}function Fl(e){return typeof e==`string`?{text:e,position:`top`}:{text:e.text,position:e.position??`top`}}function Il(e,t){let n=null,r,i;({text:r,position:i}=Fl(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}=Fl(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 Ll(e){let t=zl(e);return t===`running`||t===`active`?`var(--text-0)`:t===`starting`?`var(--yellow)`:`var(--text-2)`}function Rl(e){return e.endsWith(`Z`)?e:`${e}Z`}function zl(e){return e.status===`running`?e.lastActiveAt&&Date.now()-new Date(Rl(e.lastActiveAt)).getTime()<5*6e4?`active`:`running`:e.status}function Bl(e){let t=Date.now()-new Date(Rl(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 Vl(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 Hl=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],Ul=[`difference`,`intersection`,`symmetricDifference`,`union`],Wl=!1,Gl=class e extends Set{#e=new Map;#t=F(0);#n=F(0);#r=cr||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}Wl||this.#a()}#i(e){return cr===this.#r?F(e):Zt(e)}#a(){Wl=!0;var t=e.prototype,n=Set.prototype;for(let e of Hl)t[e]=function(...t){return H(this.#t),n[e].apply(this,t)};for(let r of Ul)t[r]=function(...t){H(this.#t);var i=n[r].apply(this,t);return new e(i)}}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),tn(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),tn(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),tn(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)}},Kl=class extends Map{#e=new Map;#t=F(0);#n=F(0);#r=cr||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return cr===this.#r?F(e):Zt(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),tn(o);else if(i!==t){tn(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&tn(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),tn(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);tn(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 ql(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 Jl(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 Yl(){let e=await fetch(`/api/auth/me`);return e.ok?e.json():null}function Xl(e,t){return Jl(`/api/auth/login`,{username:e,password:t})}function Zl(e,t){return Jl(`/api/auth/register`,{username:e,password:t})}async function Ql(){await fetch(`/api/auth/logout`,{method:`POST`})}function $l(){return ql(`/api/auth/users`)}function eu(e,t){return Jl(`/api/auth/change-password`,{currentPassword:e,newPassword:t})}async function tu(e){if(!(await fetch(`/api/auth/users/${e}/approve`,{method:`POST`})).ok)throw Error(`Failed to approve user`)}async function nu(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 ru(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`)}}function iu(e){return Jl(`/api/auth/minds`,e)}function au(e){return ql(`/api/auth/users/${e}/tokens`)}function ou(e,t){return Jl(`/api/auth/users/${e}/tokens`,{label:t})}async function su(e,t){let n=await fetch(`/api/auth/users/${e}/tokens/${t}`,{method:`DELETE`});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to revoke token`)}}async function cu(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 lu(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 uu(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 du(){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 fu(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 pu=fu(),Q=`/api/v1`;function mu(e){return pu.get(e)}function hu(e,t){return pu.post(e,t)}function gu(e,t){return pu.put(e,t)}function _u(e){return pu.del(e)}function vu(){return mu(`${Q}/minds`)}function yu(e){return mu(`${Q}/minds/${$(e)}`)}function bu(e){return mu(`${Q}/minds/${$(e)}/context`)}function xu(e){return mu(`${Q}/minds/${$(e)}/context/messages`)}function Su(e){return hu(`${Q}/minds/${$(e)}/start`)}function Cu(e){return hu(`${Q}/minds/${$(e)}/stop`)}function wu(e,t=!1){return _u(`${Q}/minds/${$(e)}${t?`?force=true`:``}`)}function Tu(e,t){return hu(`${Q}/minds`,{name:e,stage:`seed`,...t})}function Eu(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 mu(`${Q}/minds/${$(e)}/conversations/${$(t)}/messages${i?`?${i}`:``}`)}function Du(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 mu(`${Q}/conversations/${$(e)}/messages${r?`?${r}`:``}`)}function Ou(e){return _u(`${Q}/conversations/${$(e)}`)}function ku(e){return hu(`${Q}/conversations/${$(e)}/read`)}function Au(e,t){return gu(`${Q}/conversations/${$(e)}/private`,{private:t})}function ju(e){return hu(`${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 Mu(e,t,n,r){pu.fetch(`${Q}/minds/${$(e)}/typing`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({channel:t,sender:n,active:r})}).catch(()=>{})}function Nu(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 mu(`${Q}/minds/${$(e)}/history${r?`?${r}`:``}`)}function Pu(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`),mu(`${Q}/minds/${$(e)}/history/turn?${n}`)}function Fu(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 mu(`${Q}/history/turns${n?`?${n}`:``}`)}function Iu(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)),e.icons&&t.set(`include`,`icons`),mu(`${Q}/history/summaries?${t}`)}function Lu(e){return e.length===0?Promise.resolve([]):mu(`${Q}/history/summaries?ids=${e.join(`,`)}`)}function Ru(){return mu(`${Q}/feed`)}function zu(){return mu(`${Q}/feed/digest`)}function Bu(e){return mu(`${Q}/minds/${$(e)}/variants`)}function Vu(e,t){return mu(`${Q}/minds/${$(e)}/system-events${t===void 0?``:`?limit=${t}`}`)}function Hu(e,t){return hu(`${Q}/minds/${$(e)}/variants`,t)}function Uu(e,t,n){return hu(`${Q}/minds/${$(e)}/variants/${$(t)}/merge`,n??{})}function Wu(e,t){return _u(`${Q}/minds/${$(e)}/variants/${$(t)}`)}function Gu(e){return mu(`${Q}/minds/${$(e)}/config`)}function Ku(e,t){return gu(`${Q}/minds/${$(e)}/config`,t)}function qu(e){return mu(`${Q}/minds/${$(e)}/env`)}function Ju(e,t,n){return gu(`${Q}/minds/${$(e)}/env/${$(t)}`,{value:n})}function Yu(e,t){return _u(`${Q}/minds/${$(e)}/env/${$(t)}`)}function Xu(e){return _u(`${Q}/env/${$(e)}`)}function Zu(){return mu(`${Q}/channels`)}function Qu(e){return hu(`${Q}/channels`,{name:e})}function $u(e){return hu(`${Q}/channels/${$(e)}/join`)}function ed(e){return hu(`${Q}/channels/${$(e)}/leave`)}function td(e,t){return hu(`${Q}/channels/${$(e)}/invite`,{username:t})}function nd(e){return mu(`${Q}/channels/${$(e)}`)}async function rd(e,t){let n=await pu.fetch(`${Q}/channels/${$(e)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({})),t=typeof e.error==`string`?e.error:`Failed to update channel settings (${n.status})`;throw Error(t)}return(await n.json()).settings}function id(){return mu(`${Q}/skills`)}function ad(e){return mu(`${Q}/minds/${$(e)}/skills`)}function od(e,t){return hu(`${Q}/minds/${$(e)}/skills/install`,{skillId:t})}function sd(e,t){return hu(`${Q}/minds/${$(e)}/skills/update`,{skillId:t})}function cd(e,t){return hu(`${Q}/minds/${$(e)}/skills/publish`,{skillId:t})}function ld(e,t){return _u(`${Q}/minds/${$(e)}/skills/${$(t)}`)}function ud(e){return _u(`${Q}/skills/${$(e)}`)}function dd(){return mu(`${Q}/skills/defaults/list`).then(e=>e.skills)}function fd(e){return hu(`${Q}/skills/defaults/list`,{skill:e}).then(e=>e.skills)}async function pd(e){let t=await pu.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 md(){return mu(`${Q}/skills/auto-update`).then(e=>e.enabled)}function hd(e){return gu(`${Q}/skills/auto-update`,{enabled:e})}function gd(){return mu(`${Q}/prompts`)}function _d(e,t){return gu(`${Q}/prompts/${$(e)}`,{content:t})}function vd(e){return _u(`${Q}/prompts/${$(e)}`)}function yd(){return hu(`${Q}/system/restart`)}async function bd(){try{return await mu(`${Q}/system/info`)}catch{return{system:null,name:null,spiritName:null,timezone:null}}}async function xd(e){await gu(`${Q}/system/info`,{name:e})}function Sd(){return mu(`${Q}/system/max-minds`)}async function Cd(e){return await gu(`${Q}/system/max-minds`,{maxMinds:e}),Sd()}function wd(e){return hu(`${Q}/system/register`,{name:e})}function Td(e){return hu(`${Q}/system/login`,{key:e})}function Ed(){return hu(`${Q}/system/logout`)}function Dd(){return mu(`${Q}/system/ai/providers`)}function Od(){return mu(`${Q}/system/ai/models`)}function kd(e,t){return gu(`${Q}/system/ai/providers/${$(e)}`,{apiKey:t})}function Ad(e){return _u(`${Q}/system/ai/providers/${$(e)}`)}function jd(e){return hu(`${Q}/system/ai/oauth/start`,{provider:e})}function Md(e){return mu(`${Q}/system/ai/oauth/status/${$(e)}`)}function Nd(e,t){return hu(`${Q}/system/ai/oauth/code/${$(e)}`,{code:t})}function Pd(e){return gu(`${Q}/system/ai/models`,{models:e})}function Fd(e,t,n){return hu(`${Q}/system/ai/models/custom`,{provider:e,id:t,...n?{name:n}:{}})}function Id(e,t){return _u(`${Q}/system/ai/models/custom?provider=${$(e)}&id=${$(t)}`)}function Ld(){return mu(`${Q}/system/ai/defaults`)}function Rd(e){return gu(`${Q}/system/ai/defaults`,e)}function zd(){return mu(`${Q}/system/mind-defaults`)}function Bd(e){return gu(`${Q}/system/mind-defaults`,e)}function Vd(){return mu(`${Q}/system/imagegen/providers`)}function Hd(e,t){return gu(`${Q}/system/imagegen/providers/${$(e)}`,{apiKey:t})}function Ud(e){return _u(`${Q}/system/imagegen/providers/${$(e)}`)}function Wd(e){return hu(`${Q}/system/imagegen/providers/${$(e)}/probe`,{})}function Gd(){return mu(`${Q}/system/imagegen/models`)}function Kd(e,t){return gu(`${Q}/system/imagegen/models`,{models:e,defaultModel:t})}function qd(e,t){let n=new URLSearchParams({q:e});return t&&n.set(`provider`,t),mu(`${Q}/system/imagegen/models/search?${n}`)}function Jd(){return mu(`/api/backup/status`)}function Yd(e){return gu(`/api/backup/config`,e)}function Xd(){return hu(`/api/backup/init`)}function Zd(){return hu(`/api/backup/run`)}function Qd(){return mu(`/api/backup/snapshots`)}function $d(e){return mu(`/api/auth/users${e?`?type=${$(e)}`:``}`)}async function ef(e){let t=new FormData;t.append(`file`,e);let n=await pu.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 tf(e){return mu(`${Q}/minds/${$(e)}/clock/status`)}var nf={mentions:!0,dms:!0};function rf(e){return mu(`${Q}/minds/${$(e)}/sleep/config`)}function af(e,t){return gu(`${Q}/minds/${$(e)}/sleep/config`,t)}function of(e){return mu(`${Q}/minds/${$(e)}/schedules`)}function sf(e,t){return hu(`${Q}/minds/${$(e)}/schedules`,t)}function cf(e,t,n){return gu(`${Q}/minds/${$(e)}/schedules/${$(t)}`,n)}function lf(e,t){return _u(`${Q}/minds/${$(e)}/schedules/${$(t)}`)}function uf(e){return mu(`/api/minds/${$(e)}/files/pending`)}async function df(e,t){let n=await pu.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 ff(e,t){let n=new FormData;n.append(`file`,t);let r=await pu.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 pf(){return mu(`/api/extensions/all`)}async function mf(e,t){await gu(`/api/extensions/${$(e)}/enabled`,{enabled:t})}async function hf(e){await hu(`/api/extensions/install`,{package:e})}async function gf(e){await _u(`/api/extensions/uninstall/${$(e)}`)}function $(e){return encodeURIComponent(e)}var _f=null,vf=null,yf=null,bf=``,xf=1e3,Sf=3e4,Cf=3e4,wf=new Set,Tf=L({connected:!1});function Ef(e){return wf.add(e),()=>wf.delete(e)}function Df(e){for(let t of wf)try{t(e)}catch(e){console.error(`[connection] handler threw:`,e)}}function Of(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,Xs(Ol.defaults),Ol},Ol.getDefaults=Js,Ol.defaults=Ys,Ol.use=function(...e){return Dl.use(...e),Ol.defaults=Dl.defaults,Xs(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 qs.sanitize(kl.parse(e))}var jl=[`svg`,`path`,`circle`,`rect`,`line`,`polyline`,`polygon`,`g`],Ml=[`viewBox`,`fill`,`fill-opacity`,`fill-rule`,`stroke`,`stroke-width`,`stroke-linecap`,`stroke-linejoin`,`stroke-dasharray`,`stroke-opacity`,`opacity`,`d`,`cx`,`cy`,`r`,`x`,`y`,`width`,`height`,`points`,`transform`],Nl;function Pl(e){return Nl??=qs(window),Nl.sanitize(e,{ALLOWED_TAGS:jl,ALLOWED_ATTR:Ml,FORBID_TAGS:[`script`,`foreignObject`],FORBID_ATTR:[`href`,`xlink:href`]})}function Fl(e){return typeof e==`string`?{text:e,position:`top`}:{text:e.text,position:e.position??`top`}}function Il(e,t){let n=null,r,i;({text:r,position:i}=Fl(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}=Fl(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 Ll(e){let t=zl(e);return t===`running`||t===`active`?`var(--text-0)`:t===`starting`?`var(--yellow)`:`var(--text-2)`}function Rl(e){return e.endsWith(`Z`)?e:`${e}Z`}function zl(e){return e.status===`running`?e.lastActiveAt&&Date.now()-new Date(Rl(e.lastActiveAt)).getTime()<5*6e4?`active`:`running`:e.status}function Bl(e){let t=Date.now()-new Date(Rl(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 Vl(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 Hl=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],Ul=[`difference`,`intersection`,`symmetricDifference`,`union`],Wl=!1,Gl=class e extends Set{#e=new Map;#t=F(0);#n=F(0);#r=cr||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}Wl||this.#a()}#i(e){return cr===this.#r?F(e):Zt(e)}#a(){Wl=!0;var t=e.prototype,n=Set.prototype;for(let e of Hl)t[e]=function(...t){return H(this.#t),n[e].apply(this,t)};for(let r of Ul)t[r]=function(...t){H(this.#t);var i=n[r].apply(this,t);return new e(i)}}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),tn(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),tn(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),tn(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)}},Kl=class extends Map{#e=new Map;#t=F(0);#n=F(0);#r=cr||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return cr===this.#r?F(e):Zt(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),tn(o);else if(i!==t){tn(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&tn(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),tn(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);tn(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 ql(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 Jl(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 Yl(){let e=await fetch(`/api/auth/me`);return e.ok?e.json():null}function Xl(e,t){return Jl(`/api/auth/login`,{username:e,password:t})}function Zl(e,t){return Jl(`/api/auth/register`,{username:e,password:t})}async function Ql(){await fetch(`/api/auth/logout`,{method:`POST`})}function $l(){return ql(`/api/auth/users`)}function eu(e,t){return Jl(`/api/auth/change-password`,{currentPassword:e,newPassword:t})}async function tu(e){if(!(await fetch(`/api/auth/users/${e}/approve`,{method:`POST`})).ok)throw Error(`Failed to approve user`)}async function nu(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 ru(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`)}}function iu(e){return Jl(`/api/auth/minds`,e)}function au(e){return ql(`/api/auth/users/${e}/tokens`)}function ou(e,t){return Jl(`/api/auth/users/${e}/tokens`,{label:t})}async function su(e,t){let n=await fetch(`/api/auth/users/${e}/tokens/${t}`,{method:`DELETE`});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`Failed to revoke token`)}}async function cu(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 lu(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 uu(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 du(){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 fu(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 pu=fu(),Q=`/api/v1`;function mu(e){return pu.get(e)}function hu(e,t){return pu.post(e,t)}function gu(e,t){return pu.put(e,t)}function _u(e){return pu.del(e)}function vu(){return mu(`${Q}/minds`)}function yu(e){return mu(`${Q}/minds/${$(e)}`)}function bu(e){return mu(`${Q}/minds/${$(e)}/context`)}function xu(e){return mu(`${Q}/minds/${$(e)}/context/messages`)}function Su(e){return hu(`${Q}/minds/${$(e)}/start`)}function Cu(e){return hu(`${Q}/minds/${$(e)}/stop`)}function wu(e,t=!1){return _u(`${Q}/minds/${$(e)}${t?`?force=true`:``}`)}function Tu(e,t){return hu(`${Q}/minds`,{name:e,stage:`seed`,...t})}function Eu(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 mu(`${Q}/minds/${$(e)}/conversations/${$(t)}/messages${i?`?${i}`:``}`)}function Du(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 mu(`${Q}/conversations/${$(e)}/messages${r?`?${r}`:``}`)}function Ou(e){return _u(`${Q}/conversations/${$(e)}`)}function ku(e){return hu(`${Q}/conversations/${$(e)}/read`)}function Au(e,t){return gu(`${Q}/conversations/${$(e)}/private`,{private:t})}function ju(e){return hu(`${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 Mu(e,t,n,r){pu.fetch(`${Q}/minds/${$(e)}/typing`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({channel:t,sender:n,active:r})}).catch(()=>{})}function Nu(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 mu(`${Q}/minds/${$(e)}/history${r?`?${r}`:``}`)}function Pu(e,t){let n=new URLSearchParams;return n.set(`turn_id`,t.turnId),t.detail&&n.set(`detail`,`1`),mu(`${Q}/minds/${$(e)}/history/turn?${n}`)}function Fu(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 mu(`${Q}/history/turns${n?`?${n}`:``}`)}function Iu(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)),e.icons&&t.set(`include`,`icons`),mu(`${Q}/history/summaries?${t}`)}function Lu(e){return e.length===0?Promise.resolve([]):mu(`${Q}/history/summaries?ids=${e.join(`,`)}`)}function Ru(){return mu(`${Q}/feed`)}function zu(){return mu(`${Q}/feed/digest`)}function Bu(e){return mu(`${Q}/minds/${$(e)}/variants`)}function Vu(e,t){return mu(`${Q}/minds/${$(e)}/system-events${t===void 0?``:`?limit=${t}`}`)}function Hu(e,t){return hu(`${Q}/minds/${$(e)}/variants`,t)}function Uu(e,t,n){return hu(`${Q}/minds/${$(e)}/variants/${$(t)}/merge`,n??{})}function Wu(e,t){return _u(`${Q}/minds/${$(e)}/variants/${$(t)}`)}function Gu(e){return mu(`${Q}/minds/${$(e)}/config`)}function Ku(e,t){return gu(`${Q}/minds/${$(e)}/config`,t)}function qu(e){return mu(`${Q}/minds/${$(e)}/env`)}function Ju(e,t,n){return gu(`${Q}/minds/${$(e)}/env/${$(t)}`,{value:n})}function Yu(e,t){return _u(`${Q}/minds/${$(e)}/env/${$(t)}`)}function Xu(e){return _u(`${Q}/env/${$(e)}`)}function Zu(){return mu(`${Q}/channels`)}function Qu(e){return hu(`${Q}/channels`,{name:e})}function $u(e){return hu(`${Q}/channels/${$(e)}/join`)}function ed(e){return hu(`${Q}/channels/${$(e)}/leave`)}function td(e,t){return hu(`${Q}/channels/${$(e)}/invite`,{username:t})}function nd(e){return mu(`${Q}/channels/${$(e)}`)}async function rd(e,t){let n=await pu.fetch(`${Q}/channels/${$(e)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!n.ok){let e=await n.json().catch(()=>({})),t=typeof e.error==`string`?e.error:`Failed to update channel settings (${n.status})`;throw Error(t)}return(await n.json()).settings}function id(){return mu(`${Q}/skills`)}function ad(e){return mu(`${Q}/minds/${$(e)}/skills`)}function od(e,t){return hu(`${Q}/minds/${$(e)}/skills/install`,{skillId:t})}function sd(e,t){return hu(`${Q}/minds/${$(e)}/skills/update`,{skillId:t})}function cd(e,t){return hu(`${Q}/minds/${$(e)}/skills/publish`,{skillId:t})}function ld(e,t){return _u(`${Q}/minds/${$(e)}/skills/${$(t)}`)}function ud(e){return _u(`${Q}/skills/${$(e)}`)}function dd(){return mu(`${Q}/skills/defaults/list`).then(e=>e.skills)}function fd(e){return hu(`${Q}/skills/defaults/list`,{skill:e}).then(e=>e.skills)}async function pd(e){let t=await pu.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 md(){return mu(`${Q}/skills/auto-update`).then(e=>e.enabled)}function hd(e){return gu(`${Q}/skills/auto-update`,{enabled:e})}function gd(){return mu(`${Q}/prompts`)}function _d(e,t){return gu(`${Q}/prompts/${$(e)}`,{content:t})}function vd(e){return _u(`${Q}/prompts/${$(e)}`)}function yd(){return hu(`${Q}/system/restart`)}async function bd(){try{return await mu(`${Q}/system/info`)}catch{return{system:null,name:null,spiritName:null,timezone:null}}}async function xd(e){await gu(`${Q}/system/info`,{name:e})}function Sd(){return mu(`${Q}/system/max-minds`)}async function Cd(e){return await gu(`${Q}/system/max-minds`,{maxMinds:e}),Sd()}function wd(e){return hu(`${Q}/system/register`,{name:e})}function Td(e){return hu(`${Q}/system/login`,{key:e})}function Ed(){return hu(`${Q}/system/logout`)}function Dd(){return mu(`${Q}/system/ai/providers`)}function Od(){return mu(`${Q}/system/ai/models`)}function kd(e,t){return gu(`${Q}/system/ai/providers/${$(e)}`,{apiKey:t})}function Ad(e){return _u(`${Q}/system/ai/providers/${$(e)}`)}function jd(e){return hu(`${Q}/system/ai/oauth/start`,{provider:e})}function Md(e){return mu(`${Q}/system/ai/oauth/status/${$(e)}`)}function Nd(e,t){return hu(`${Q}/system/ai/oauth/code/${$(e)}`,{code:t})}function Pd(e){return gu(`${Q}/system/ai/models`,{models:e})}function Fd(e,t,n){return hu(`${Q}/system/ai/models/custom`,{provider:e,id:t,...n?{name:n}:{}})}function Id(e,t){return _u(`${Q}/system/ai/models/custom?provider=${$(e)}&id=${$(t)}`)}function Ld(){return mu(`${Q}/system/ai/defaults`)}function Rd(e){return gu(`${Q}/system/ai/defaults`,e)}function zd(){return mu(`${Q}/system/mind-defaults`)}function Bd(e){return gu(`${Q}/system/mind-defaults`,e)}function Vd(){return mu(`${Q}/system/imagegen/providers`)}function Hd(e,t){return gu(`${Q}/system/imagegen/providers/${$(e)}`,{apiKey:t})}function Ud(e){return _u(`${Q}/system/imagegen/providers/${$(e)}`)}function Wd(e){return hu(`${Q}/system/imagegen/providers/${$(e)}/probe`,{})}function Gd(){return mu(`${Q}/system/imagegen/models`)}function Kd(e,t){return gu(`${Q}/system/imagegen/models`,{models:e,defaultModel:t})}function qd(e,t){let n=new URLSearchParams({q:e});return t&&n.set(`provider`,t),mu(`${Q}/system/imagegen/models/search?${n}`)}function Jd(){return mu(`/api/backup/status`)}function Yd(e){return gu(`/api/backup/config`,e)}function Xd(){return hu(`/api/backup/init`)}function Zd(){return hu(`/api/backup/run`)}function Qd(){return mu(`/api/backup/snapshots`)}function $d(e){return mu(`/api/auth/users${e?`?type=${$(e)}`:``}`)}async function ef(e){let t=new FormData;t.append(`file`,e);let n=await pu.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 tf(e){return mu(`${Q}/minds/${$(e)}/clock/status`)}var nf={mentions:!0,dms:!0};function rf(e){return mu(`${Q}/minds/${$(e)}/sleep/config`)}function af(e,t){return gu(`${Q}/minds/${$(e)}/sleep/config`,t)}function of(e){return mu(`${Q}/minds/${$(e)}/schedules`)}function sf(e,t){return hu(`${Q}/minds/${$(e)}/schedules`,t)}function cf(e,t,n){return gu(`${Q}/minds/${$(e)}/schedules/${$(t)}`,n)}function lf(e,t){return _u(`${Q}/minds/${$(e)}/schedules/${$(t)}`)}function uf(e){return mu(`/api/minds/${$(e)}/files/pending`)}async function df(e,t){let n=await pu.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 ff(e,t){let n=new FormData;n.append(`file`,t);let r=await pu.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 pf(){return mu(`/api/extensions/all`)}async function mf(e,t){await gu(`/api/extensions/${$(e)}/enabled`,{enabled:t})}async function hf(e){await hu(`/api/extensions/install`,{package:e})}async function gf(e){await _u(`/api/extensions/uninstall/${$(e)}`)}function $(e){return encodeURIComponent(e)}var _f=null,vf=null,yf=null,bf=``,xf=1e3,Sf=3e4,Cf=3e4,wf=new Set,Tf=L({connected:!1});function Ef(e){return wf.add(e),()=>wf.delete(e)}function Df(e){for(let t of wf)try{t(e)}catch(e){console.error(`[connection] handler threw:`,e)}}function Of(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
69
|
`)}),n=void 0,r=[]);return t}function kf(){yf&&=(clearTimeout(yf),null)}function Af(){_f?.abort(),_f=new AbortController;let e=_f.signal,t=bf?`/api/v1/events?since=${encodeURIComponent(bf)}`:`/api/v1/events`;fetch(t,{signal:e}).then(async t=>{if(!t.ok||!t.body){jf();return}xf=1e3,Tf.connected=!0;let n=t.body.getReader(),r=new TextDecoder,i=``;function a(){yf&&clearTimeout(yf),yf=setTimeout(()=>{yf=null,_f?.abort(),jf()},Cf)}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
|
|
|
@@ -73,11 +73,11 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
73
73
|
`)}function vm(e,t){let n=new Date(Rl(e)).getTime(),r=new Date(Rl(t)).getTime(),i=Math.round((r-n)/6e4);return i<1?`moment`:i<60?`${i}m`:`${Math.round(i/60)}h`}var ym=W(`<img alt="" class="svelte-xhjids"/>`),bm=W(`<span class="initial svelte-xhjids"> </span>`),xm=W(`<span class="avatar svelte-xhjids"><!></span>`),Sm=W(`<span class="avatar more svelte-xhjids"> </span>`),Cm=W(`<div class="avatar-stack svelte-xhjids"><!> <!></div>`);function wm(e,t){M(t,!0);let n=pa(t,`max`,3,4),r=P(()=>t.participants.slice(0,n())),i=P(()=>Math.max(0,t.participants.length-n()));function a(e){return e.avatar?e.userType===`mind`?`/api/minds/${encodeURIComponent(e.username)}/avatar`:`/api/auth/avatars/${encodeURIComponent(e.avatar)}`:null}function o(e){return(e.displayName??e.username??`?`).charAt(0).toUpperCase()}var s=Cm(),c=R(s);Y(c,17,()=>H(r),e=>e.username,(e,t)=>{let n=P(()=>a(H(t)));var r=xm(),i=R(r),s=e=>{var t=ym();V(()=>Xi(t,`src`,H(n))),K(e,t)},c=e=>{var n=bm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>o(H(t))]),K(e,n)};J(i,e=>{H(n)?e(s):e(c,-1)}),A(r),V(()=>Xi(r,`title`,H(t).displayName??H(t).username)),K(e,r)});var l=B(c,2),u=e=>{var t=Sm(),n=R(t);A(t),V(()=>q(n,`+${H(i)??``}`)),K(e,t)};J(l,e=>{H(i)>0&&e(u)}),A(s),K(e,s),N()}var Tm=W(`<div class="markdown-body"></div>`),Em=W(`<div class="snippet-entry svelte-11j8ov"><div class="snippet-head svelte-11j8ov"><span> </span> <span class="snippet-time svelte-11j8ov"> </span></div> <div><!></div></div>`),Dm=W(`<div class="feed-card card-chat svelte-11j8ov" role="button" tabindex="0"><div class="feed-card-header svelte-11j8ov"><!> <span class="feed-card-label svelte-11j8ov"> </span> <span class="feed-card-meta svelte-11j8ov"> </span></div> <div class="feed-card-body svelte-11j8ov"></div> <div class="feed-card-foot svelte-11j8ov"> </div></div>`);function Om(e,t){M(t,!0);let n=P(()=>{if(t.event.conversationType===`channel`&&t.event.channelName)return`#${t.event.channelName}`;let e=t.event.participants.map(e=>e.displayName??e.username);return e.length>0?e.join(` & `):`Conversation`}),r=P(()=>`${t.event.messageCount} message${t.event.messageCount===1?``:`s`} · ${vm(t.event.startedAt,t.event.endedAt)}`);var i=Dm(),a=R(i),o=R(a);wm(o,{get participants(){return t.event.participants}});var s=B(o,2),c=R(s,!0);A(s);var l=B(s,2),u=R(l,!0);A(l),A(a);var d=B(a,2);Y(d,21,()=>t.event.snippet,e=>e.createdAt+(e.senderName??``),(e,t)=>{var n=Em(),r=R(n),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r);var l=B(r,2);let u;var d=R(l),f=e=>{var n=G();V(()=>q(n,H(t).text)),K(e,n)},p=e=>{var n=Tm();ui(n,()=>Al(H(t).text),!0),A(n),K(e,n)};J(d,e=>{H(t).role===`user`?e(f):e(p,-1)}),A(l),A(n),V(e=>{a=X(i,1,`snippet-sender svelte-11j8ov`,null,a,{user:H(t).role===`user`}),q(o,H(t).senderName??(H(t).role===`user`?`user`:`mind`)),q(c,e),u=X(l,1,`snippet-text svelte-11j8ov`,null,u,{user:H(t).role===`user`})},[()=>hm(H(t).createdAt)]),K(e,n)}),A(d);var f=B(d,2),p=R(f,!0);A(f),A(i),V(e=>{q(c,H(n)),q(u,e),q(p,H(r))},[()=>Bl(t.event.endedAt)]),U(`click`,i,function(...e){t.onclick?.apply(this,e)}),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onclick())}),K(e,i),N()}Lr([`click`,`keydown`]);function km(e){let t=e.split(`/`).filter(Boolean).map(e=>e===`*`?`(.*)`:e.startsWith(`:`)?`([^/]+)`:e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`));return RegExp(`^/${t.join(`/`)}(?:/(.*))?$`)}function Am(e){let t=e.systemSection?.urlPatterns;if(!t?.length)return null;let n=t[0].split(`/`).filter(Boolean)[0];return n?`/${n}`:null}function jm(e,t){for(let n of t){let t=n.systemSection;if(t?.urlPatterns)for(let r of t.urlPatterns){let t=km(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 Mm(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 Nm(e=[]){let t=window.location.pathname,n=new URLSearchParams(window.location.search);if(t===`/history`)return{kind:`system-history`};if(t===`/system/settings`||t===`/settings`||t.startsWith(`/settings/`))return{kind:`home`};let r=t.match(/^\/minds\/([^/]+)\/([^/]+)\/(.+)$/);if(r){let[,t,n,i]=r;return{kind:`mind`,name:t,section:Mm(n,e)??n,subpath:i}}let i=t.match(/^\/minds\/([^/]+)\/([^/]+)$/);if(i){let[,t,n]=i;return{kind:`mind`,name:t,section:Mm(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=jm(t,e);if(s)return{kind:`extension`,extensionId:s.extensionId,path:s.path};let c=t.match(/^\/chat\/(.+)$/);if(c)return{kind:`channel`,slug:`__conv:${c[1]}`};if(t===`/chat`){let e=n.get(`mind`);return e?{kind:`mind`,name:e}:{kind:`home`}}return{kind:`home`}}function Pm(e,t=[]){switch(e.kind){case`home`:return`/`;case`system-history`:return`/history`;case`mind`:{let t=e.section;if(t?.startsWith(`ext:`)){let e=t.split(`:`);t=e[2]??e[1]}let n=t&&t!==`chat`?`/minds/${e.name}/${t}`:`/minds/${e.name}`;return e.subpath?`${n}/${e.subpath}`:n}case`extension`:{let n=t.find(t=>t.id===e.extensionId),r=n?Am(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 Fm(e){window.history.pushState(null,``,e),window.dispatchEvent(new PopStateEvent(`popstate`))}var Im=W(`<button><span class="dot svelte-1gzuonn" aria-hidden="true"></span> <span class="text svelte-1gzuonn"> </span> <span class="time svelte-1gzuonn"> </span></button>`);function Lm(e,t){M(t,!0);let n=P(()=>Zf.minds.find(e=>e.name===t.event.mind)?.displayName??t.event.mind),r=P(()=>{switch(t.event.type){case`mind_started`:return`started`;case`mind_stopped`:return`stopped`;case`mind_sleeping`:return`asleep`;case`mind_waking`:return`awake`;case`backup_failed`:return`backup`;default:return`error`}}),i=P(()=>{switch(H(r)){case`started`:return`${H(n)} started`;case`stopped`:return`${H(n)} stopped`;case`asleep`:return`${H(n)} went to sleep`;case`awake`:return`${H(n)} woke up`;case`backup`:return`A scheduled backup failed`;default:return`${H(n)} hit an error`}}),a=P(()=>H(r)!==`backup`);var o=Im();let s;var c=B(R(o),2),l=R(c,!0);A(c);var u=B(c,2),d=R(u,!0);A(u),A(o),V(e=>{s=X(o,1,`lifecycle-row kind-${H(r)??``}`,`svelte-1gzuonn`,s,{static:!H(a)}),o.disabled=!H(a),Xi(o,`title`,t.event.summary),q(l,H(i)),q(d,e)},[()=>Bl(t.event.createdAt)]),U(`click`,o,()=>H(a)&&Fm(`/minds/${t.event.mind}`)),K(e,o),N()}Lr([`click`]);var Rm=W(`<img class="avatar svelte-1lwgt1q" alt=""/>`),zm=W(`<span class="avatar initial svelte-1lwgt1q"> </span>`),Bm=W(`<span class="badge moon svelte-1lwgt1q" aria-hidden="true"><svg viewBox="0 0 16 16" fill="currentColor" class="svelte-1lwgt1q"><path d="M6 2a6 6 0 1 0 8 8A5 5 0 0 1 6 2z"></path></svg></span>`),Vm=W(`<span class="badge dot svelte-1lwgt1q" aria-hidden="true"></span>`),Hm=W(`<button><span class="avatar-wrap svelte-1lwgt1q"><!> <!></span> <span class="name svelte-1lwgt1q"> </span></button>`),Um=W(`<div class="presence-strip svelte-1lwgt1q"></div>`);function Wm(e,t){M(t,!0);let n=P(()=>Zf.minds.filter(e=>(e.mindType??`mind`)===`mind`));function r(e){return e.status===`sleeping`?`asleep`:e.status===`stopped`?`stopped`:Qf.has(e.name)?`active`:`idle`}let i={active:`active`,idle:`awake`,asleep:`asleep`,stopped:`stopped`};function a(e){return e.avatar?`/api/minds/${encodeURIComponent(e.name)}/avatar`:null}function o(e){return(e.displayName??e.name).charAt(0).toUpperCase()}var s=Kr(),c=z(s),l=e=>{var t=Um();Y(t,21,()=>H(n),e=>e.name,(e,t)=>{let n=P(()=>r(H(t))),s=P(()=>a(H(t)));var c=Hm(),l=R(c),u=R(l),d=e=>{var t=Rm();V(()=>Xi(t,`src`,H(s))),K(e,t)},f=e=>{var n=zm(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>o(H(t))]),K(e,n)};J(u,e=>{H(s)?e(d):e(f,-1)});var p=B(u,2),m=e=>{K(e,Bm())},h=e=>{K(e,Vm())};J(p,e=>{H(n)===`asleep`?e(m):H(n)===`active`&&e(h,1)}),A(l);var g=B(l,2),_=R(g,!0);A(g),A(c),V(()=>{X(c,1,`presence-item state-${H(n)??``}`,`svelte-1lwgt1q`),Xi(c,`title`,`${H(t).displayName??H(t).name??``} · ${i[H(n)]??``}`),q(_,H(t).displayName??H(t).name)}),U(`click`,c,()=>Fm(`/minds/${H(t).name}`)),K(e,c)}),A(t),K(e,t)};J(c,e=>{H(n).length>0&&e(l)}),K(e,s),N()}Lr([`click`]);function Gm(e,t){return t&&e.every(e=>e.mindType===`spirit`)}function Km(e){return e.find(e=>e.mindType===`spirit`)}var qm=W(`<p class="empty-secondary svelte-1sx25j1">or <button class="spirit-link svelte-1sx25j1"> </button> to get oriented.</p>`),Jm=W(`<div class="empty-state svelte-1sx25j1"><div class="empty-card svelte-1sx25j1"><h2 class="empty-heading svelte-1sx25j1">Plant your first seed</h2> <p class="empty-blurb svelte-1sx25j1">A mind is a persistent AI with its own memory, identity, and inner life — one it can grow
|
|
74
74
|
and reshape over time.</p> <button class="plant-btn svelte-1sx25j1">Plant your first seed</button> <!></div></div>`);function Ym(e,t){M(t,!0);let n=P(()=>Km(t.minds));var r=Jm(),i=R(r),a=B(R(i),4),o=B(a,2),s=e=>{var t=qm(),r=B(R(t)),i=R(r);A(r),j(),A(t),V(()=>q(i,`chat with ${H(n).displayName??H(n).name??``}`)),U(`click`,r,()=>Fm(`/minds/${H(n).name}`)),K(e,t)};J(o,e=>{H(n)&&e(s)}),A(i),A(r),U(`click`,a,function(...e){t.onSeed?.apply(this,e)}),K(e,r),N()}Lr([`click`]);var Xm=W(`<button class="open-chat-btn svelte-hdi0pv">Chat</button>`),Zm=W(`<div class="chat-empty svelte-hdi0pv">Loading...</div>`),Qm=W(`<div class="chat-empty svelte-hdi0pv"> </div>`),$m=W(`<div class="chat-empty svelte-hdi0pv">No messages.</div>`),eh=W(`<div class="date-divider svelte-hdi0pv"><div class="divider-line svelte-hdi0pv"></div> <span> </span> <div class="divider-line svelte-hdi0pv"></div></div>`),th=W(`<div class="chat-event svelte-hdi0pv"> </div>`),nh=W(`<div class="chat-entry-header svelte-hdi0pv"><span> </span> <span class="chat-timestamp svelte-hdi0pv"> </span></div>`),rh=W(`<div class="markdown-body"></div>`),ih=W(`<div><!> <div><!></div></div>`),ah=W(`<!> <!>`,1),oh=W(`<div class="chat-scroll svelte-hdi0pv"></div>`),sh=W(`<div class="read-only-chat svelte-hdi0pv"><!></div>`);function ch(e,t){M(t,!0);let n=pa(t,`canChat`,3,!1),r=F(L([])),i=F(!0),a=F(null),o=F(void 0),s=P(()=>{if(t.conversation.type===`channel`&&t.conversation.channel_name)return`#${t.conversation.channel_name}`;let e=(t.conversation.participants??[]).filter(e=>e.username!==t.mindName);return e.length>0?e.map(e=>`@${e.username}`).join(`, `):`Conversation`});Tn(()=>{I(i,!0),I(a,null),(t.mindName?Eu(t.mindName,t.conversation.id,{limit:50}):Du(t.conversation.id,{limit:50})).then(e=>{I(r,e.items,!0),requestAnimationFrame(()=>{H(o)&&(H(o).scrollTop=H(o).scrollHeight)})}).catch(e=>{console.warn(`Failed to load conversation messages:`,e),I(r,[],!0),I(a,e?.message?.includes(`403`)||e?.message?.includes(`private`)?`This is a private conversation.`:`Failed to load messages.`,!0)}).finally(()=>{I(i,!1)})});function c(e){try{return new Date(Rl(e)).toLocaleDateString()}catch{return``}}function l(e){return e===0||c(H(r)[e].created_at)!==c(H(r)[e-1].created_at)}$a(e,{get onClose(){return t.onClose},get title(){return H(s)},headerActions:e=>{var r=Kr(),i=z(r),a=e=>{var n=Xm();U(`click`,n,()=>{t.onClose(),Fm(`/chat/${t.conversation.id}`)}),K(e,n)};J(i,e=>{n()&&e(a)}),K(e,r)},children:(e,n)=>{var s=sh(),u=R(s),d=e=>{K(e,Zm())},f=e=>{var t=Qm(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},p=e=>{K(e,$m())},m=e=>{var n=oh();Y(n,23,()=>H(r),e=>e.id,(e,n,i)=>{var a=ah(),o=z(a),s=e=>{var t=eh(),r=B(R(t),2),i=R(r,!0);A(r),j(2),A(t),V(e=>q(i,e),[()=>c(H(n).created_at)]),K(e,t)},u=P(()=>l(H(i)));J(o,e=>{H(u)&&e(s)});var d=B(o,2),f=e=>{var t=th(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>_m(H(n).content)]),K(e,t)},p=e=>{var a=ih();let o;var s=R(a),c=e=>{var r=nh(),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r),V(e=>{a=X(i,1,`chat-sender svelte-hdi0pv`,null,a,{"chat-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?`user`:t.mindName??`mind`)),q(c,e)},[()=>hm(H(n).created_at)]),K(e,r)},l=P(()=>gm(H(r),H(i)));J(s,e=>{H(l)&&e(c)});var u=B(s,2);let d;var f=R(u),p=e=>{var t=G();V(e=>q(t,e),[()=>_m(H(n).content)]),K(e,t)},m=e=>{var t=rh();ui(t,()=>Al(_m(H(n).content)),!0),A(t),K(e,t)};J(f,e=>{H(n).role===`user`?e(p):e(m,-1)}),A(u),A(a),V(e=>{o=X(a,1,`chat-entry svelte-hdi0pv`,null,o,e),d=X(u,1,`chat-entry-content svelte-hdi0pv`,null,d,{"chat-user-text":H(n).role===`user`})},[()=>({"new-sender":gm(H(r),H(i))})]),K(e,a)};J(d,e=>{H(n).role===`event`?e(f):e(p,-1)}),K(e,a)}),A(n),ua(n,e=>I(o,e),()=>H(o)),K(e,n)};J(u,e=>{H(i)?e(d):H(a)?e(f,1):H(r).length===0?e(p,2):e(m,-1)}),A(s),K(e,s)},$$slots:{headerActions:!0,default:!0}}),N()}Lr([`click`]);var lh=W(`<span class="card-icon svelte-1kjsxpa"></span>`),uh=W(`<span class="card-icon svelte-1kjsxpa"><!></span>`),dh=W(`<span class="card-meta svelte-1kjsxpa"> </span>`),fh=W(`<span class="card-time svelte-1kjsxpa"> </span>`),ph=W(`<button class="card-close svelte-1kjsxpa" aria-label="Collapse">✕</button>`),mh=W(`<div class="card-body svelte-1kjsxpa"><!></div>`),hh=W(`<div class="card-body card-body-iframe svelte-1kjsxpa"><iframe sandbox="allow-same-origin" role="presentation"></iframe></div>`),gh=W(`<div class="card-body card-body-scroll svelte-1kjsxpa"><div class="body-html markdown-body svelte-1kjsxpa"></div></div>`),_h=W(`<div class="card-body card-body-scroll svelte-1kjsxpa"><div class="body-text svelte-1kjsxpa"> </div></div>`),vh=W(`<div><div class="card-header svelte-1kjsxpa"><!> <span class="card-title svelte-1kjsxpa"> </span> <!> <!> <!></div> <!></div>`);function yh(e,t){M(t,!0);let n=pa(t,`color`,3,`text-2`),r=pa(t,`body`,19,()=>({kind:`none`})),i=P(()=>`var(--${n()})`),a=F(!1);function o(e){e.stopPropagation(),t.onclick?.()}function s(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o(e))}var c=vh();let l,u;var d=R(c);let f;var p=R(d),m=e=>{var n=lh();let r;ui(n,()=>Pl(t.icon),!0),A(n),V(()=>r=Z(n,``,r,{color:H(i)})),K(e,n)},h=e=>{var n=uh();let r;qa(R(n),{get kind(){return t.iconKind}}),A(n),V(()=>r=Z(n,``,r,{color:H(i)})),K(e,n)};J(p,e=>{t.icon?e(m):t.iconKind&&e(h,1)});var g=B(p,2),_=R(g,!0);A(g);var v=B(g,2),y=e=>{var n=dh(),r=R(n,!0);A(n),V(()=>q(r,t.meta)),K(e,n)};J(v,e=>{t.meta&&e(y)});var b=B(v,2),x=e=>{var n=fh(),r=R(n,!0);A(n),V(()=>q(r,t.time)),K(e,n)};J(b,e=>{t.time&&e(x)});var S=B(b,2),C=e=>{var n=ph();U(`click`,n,e=>{e.stopPropagation(),t.oncollapse()}),K(e,n)};J(S,e=>{t.oncollapse&&e(C)}),A(d);var w=B(d,2),T=e=>{var n=mh();di(R(n),()=>t.children),A(n),K(e,n)},E=e=>{var n=hh(),i=R(n);let o;A(n),V(()=>{Xi(i,`src`,r().url),o=X(i,1,`page-preview svelte-1kjsxpa`,null,o,{loaded:H(a)}),Xi(i,`title`,t.title)}),U(`pointerdown`,i,e=>e.preventDefault()),Ir(`load`,i,()=>I(a,!0)),Pr(i),K(e,n)},ee=e=>{var t=gh(),n=R(t);ui(n,()=>Al(r().source),!0),A(n),A(t),K(e,t)},te=e=>{var t=_h(),n=R(t),i=R(n,!0);A(n),A(t),V(()=>q(i,r().text)),K(e,t)};J(w,e=>{t.children?e(T):r().kind===`iframe`?e(E,1):r().kind===`markdown`?e(ee,2):r().kind===`text`&&e(te,3)}),A(c),V(()=>{l=X(c,1,`timeline-card svelte-1kjsxpa`,null,l,{clickable:!!t.onclick}),Xi(c,`role`,t.onclick?`button`:void 0),Xi(c,`tabindex`,t.onclick?0:void 0),u=Z(c,``,u,{"border-color":`color-mix(in srgb, ${H(i)??``} 25%, var(--border))`}),f=Z(d,``,f,{"border-bottom-color":`color-mix(in srgb, ${H(i)??``} 25%, var(--border))`}),q(_,t.title)}),U(`click`,c,function(...e){(t.onclick?o:void 0)?.apply(this,e)}),U(`keydown`,c,function(...e){(t.onclick?s:void 0)?.apply(this,e)}),K(e,c),N()}Lr([`click`,`keydown`,`pointerdown`]);function bh(e){let t=typeof e?.iframeUrl==`string`?e.iframeUrl:``;if(t)return{kind:`iframe`,url:t};let n=typeof e?.bodyHtml==`string`?e.bodyHtml:``;return n?{kind:`markdown`,source:n}:{kind:`none`}}function xh(e,t){if(typeof e?.url==`string`&&e.url)return e.url;let n=typeof e?.slug==`string`?e.slug:``;if(n)return`/minds/${typeof e?.author==`string`?e.author:t}/notes/${n}`;let r=typeof e?.file==`string`?e.file:``;return r?`/minds/${t}/pages/${r}`:``}var Sh=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Ch(e){return Sh.test(e)}var wh={mind_sprouted:{color:`green`,icon:wo.mind,label:`sprouted`}};function Th(e){return wh[e]}function Eh(e){return wh[e]?.label??e.replace(/_/g,` `)}function Dh(e){return typeof e?.color==`string`?e.color:`yellow`}function Oh(e,t){return typeof e?.label==`string`&&e.label?e.label:t?.split(`:`)[1]||`event`}function kh(e,t,n){switch(e.type){case`inbound`:return{color:`blue`,iconKind:`chat`,title:e.channel||`message`,meta:e.sender??`user`,body:{kind:`text`,text:e.content},url:``};case`outbound`:return{color:`red`,iconKind:`chat`,title:e.channel||`message`,meta:n,body:{kind:`text`,text:e.content},url:``};case`event`:return{color:`purple`,iconKind:`gear`,title:Oh(t,e.channel),meta:`system event`,body:{kind:`text`,text:e.content},url:``};case`activity`:{let r=typeof t?.icon==`string`?t.icon:void 0;return{color:Dh(t),icon:r,iconKind:r?void 0:`document-lines`,title:e.content,meta:typeof t?.author==`string`?t.author:void 0,body:bh(t),url:xh(t,n)}}default:return null}}function Ah(e){return e.iframeUrl?{kind:`iframe`,url:e.iframeUrl}:e.bodyHtml?{kind:`markdown`,source:e.bodyHtml}:{kind:`none`}}var jh=W(`<div class="digest markdown-body svelte-11yxpr8"></div>`),Mh=W(`<div class="empty-hint svelte-11yxpr8">Nothing here yet. When your minds do things on their own, it shows up here.</div>`),Nh=W(`<div class="feed-item svelte-11yxpr8"><!></div>`),Ph=W(`<div class="feed-lifecycle svelte-11yxpr8"><!></div>`),Fh=W(`<div class="feed-grid svelte-11yxpr8"></div>`),Ih=W(`<!> <!> <!>`,1),Lh=W(`<div class="home svelte-11yxpr8"><!></div> <!>`,1);function Rh(e,t){M(t,!0);let n=P(()=>Gm(Zf.minds,Zf.mindsLoaded)),r=F(L([])),i=F(L([])),a=F(``),o=F(null);Tn(()=>{Ru().then(e=>{I(r,e.events,!0)}).catch(e=>{console.warn(`Failed to fetch feed:`,e)})}),Tn(()=>{zu().then(e=>{I(a,e.content,!0)}).catch(e=>{console.warn(`Failed to fetch digest:`,e)})}),Tn(()=>{let e=Zf.extensions,t=[],n=e.filter(e=>e.feedSource).map(async e=>{try{let n=await fetch(e.feedSource.endpoint);if(!n.ok)return;let r=await n.json();for(let n of r)t.push({...n,extensionId:e.id})}catch(t){console.warn(`Failed to fetch ${e.id} feed:`,t)}});Promise.all(n).then(()=>{I(i,t,!0)})});function s(e){return Zf.minds.find(t=>t.name===e)?.displayName??e}let c=P(()=>Zf.activity.filter(e=>e.type===`mind_sprouted`).map(e=>({id:e.id,mind:e.mind,date:e.created_at}))),l=P(()=>{let e=[];for(let t of H(r))t.kind===`chat`?e.push({kind:`chat`,event:t,date:t.endedAt}):e.push({kind:`lifecycle`,event:t,date:t.createdAt});for(let t of H(i))e.push({kind:`extension`,item:t,date:t.date});for(let t of H(c))e.push({kind:`sprout`,item:t,date:t.date});return e.sort((e,t)=>{let n=new Date(Rl(e.date)).getTime();return new Date(Rl(t.date)).getTime()-n}),e}),u=P(()=>H(o)?{id:H(o).conversationId,type:H(o).conversationType,user_id:null,private:0,created_at:H(o).startedAt,updated_at:H(o).endedAt,channel_name:H(o).channelName,participants:H(o).participants}:null),d=P(()=>H(o)?.participants.some(e=>e.username===t.username)??!1);var f=Lh(),p=z(f),m=R(p),h=e=>{{let n=P(()=>t.onSeed??(()=>{}));Ym(e,{get minds(){return Zf.minds},get onSeed(){return H(n)}})}},g=e=>{var t=Ih(),n=z(t);Wm(n,{});var r=B(n,2),i=e=>{var t=jh();ui(t,()=>Al(H(a)),!0),A(t),K(e,t)},c=P(()=>H(a).trim());J(r,e=>{H(c)&&e(i)});var u=B(r,2),d=e=>{K(e,Mh())},f=e=>{var t=Fh();Y(t,21,()=>H(l),e=>e.kind===`extension`?`ext-${e.item.id}`:e.kind===`sprout`?`sprout-${e.item.id}`:e.kind===`lifecycle`?`life-${e.event.id}`:`chat-${e.event.conversationId}-${e.event.endedAt}`,(e,t)=>{var n=Kr(),r=z(n),i=e=>{var n=Nh(),r=R(n);{let e=P(()=>Bl(H(t).item.date)),n=P(()=>Ah(H(t).item));yh(r,{get title(){return H(t).item.title},get color(){return H(t).item.color},get icon(){return H(t).item.icon},get meta(){return H(t).item.author},get time(){return H(e)},get body(){return H(n)},onclick:()=>Fm(H(t).item.url)})}A(n),K(e,n)},a=e=>{let n=P(()=>H(t).item);var r=Nh(),i=R(r);{let e=P(()=>`${s(H(n).mind)} sprouted`),t=P(()=>Bl(H(n).date));yh(i,{get title(){return H(e)},color:`green`,get icon(){return wo.mind},get time(){return H(t)},body:{kind:`markdown`,source:`Left the seed stage and became a full mind — joined #system and began its first week.`},onclick:()=>Fm(`/minds/${H(n).mind}`)})}A(r),K(e,r)},c=e=>{var n=Ph();Lm(R(n),{get event(){return H(t).event}}),A(n),K(e,n)},l=e=>{var n=Nh();Om(R(n),{get event(){return H(t).event},onclick:()=>{I(o,H(t).event,!0)}}),A(n),K(e,n)};J(r,e=>{H(t).kind===`extension`?e(i):H(t).kind===`sprout`?e(a,1):H(t).kind===`lifecycle`?e(c,2):e(l,-1)}),K(e,n)}),A(t),K(e,t)};J(u,e=>{H(l).length===0?e(d):e(f,-1)}),K(e,t)};J(m,e=>{H(n)?e(h):e(g,-1)}),A(p);var _=B(p,2),v=e=>{ch(e,{get conversation(){return H(u)},get canChat(){return H(d)},onClose:()=>{I(o,null)}})};J(_,e=>{H(o)&&H(u)&&e(v)}),K(e,f),N()}var zh=W(`<div class="warning svelte-1lrw9b3">Couldn't load the channel's current settings — saving will overwrite them.</div>`),Bh=W(`<div class="error svelte-1lrw9b3"> </div>`),Vh=W(`<div class="settings-body svelte-1lrw9b3"><!> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Description</span> <textarea rows="2" placeholder="What this channel is about" class="svelte-1lrw9b3"></textarea></label> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Rules</span> <textarea rows="3" placeholder="Guidelines for participants" class="svelte-1lrw9b3"></textarea></label> <label class="field svelte-1lrw9b3"><span class="field-label svelte-1lrw9b3">Character limit</span> <input type="number" min="1" placeholder="None" class="svelte-1lrw9b3"/> <span class="hint svelte-1lrw9b3">Leave empty for no limit.</span></label> <label class="checkbox-field svelte-1lrw9b3"><input type="checkbox" class="svelte-1lrw9b3"/> <span>Private channel</span></label> <!> <div class="actions svelte-1lrw9b3"><button class="btn-secondary svelte-1lrw9b3">Cancel</button> <button class="btn-primary svelte-1lrw9b3"> </button></div></div>`);function Hh(e,t){M(t,!0);let n=pa(t,`loadFailed`,3,!1),r=F(L(t.settings?.description??``)),i=F(L(t.settings?.rules??``)),a=F(L(t.settings?.charLimit==null?``:String(t.settings.charLimit))),o=F(L(t.settings?.private??!1)),s=F(!1),c=F(``);async function l(){if(H(s))return;I(c,``);let e=H(a).trim(),n=null;if(e){let t=Number(e);if(!Number.isInteger(t)||t<=0){I(c,`Char limit must be a positive whole number.`);return}n=t}I(s,!0);let l={description:H(r).trim()||null,rules:H(i).trim()||null,charLimit:n,private:H(o)};try{let e=await rd(t.channelName,l);t.onSaved(e),t.onClose()}catch(e){I(c,e instanceof Error?e.message:`Failed to save settings`,!0)}finally{I(s,!1)}}$a(e,{size:`420px`,get title(){return`#${t.channelName??``} settings`},get onClose(){return t.onClose},children:(e,u)=>{var d=Vh(),f=R(d),p=e=>{K(e,zh())};J(f,e=>{n()&&e(p)});var m=B(f,2),h=B(R(m),2);at(h),A(m);var g=B(m,2),_=B(R(g),2);at(_),A(g);var v=B(g,2),y=B(R(v),2);Ki(y),j(2),A(v);var b=B(v,2),x=R(b);Ki(x),j(2),A(b);var S=B(b,2),C=e=>{var t=Bh(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)};J(S,e=>{H(c)&&e(C)});var w=B(S,2),T=R(w),E=B(T,2),ee=R(E,!0);A(E),A(w),A(d),V(()=>{T.disabled=H(s),E.disabled=H(s),q(ee,H(s)?`Saving...`:`Save`)}),aa(h,()=>H(r),e=>I(r,e)),aa(_,()=>H(i),e=>I(i,e)),aa(y,()=>H(a),e=>I(a,e)),oa(x,()=>H(o),e=>I(o,e)),U(`click`,T,function(...e){t.onClose?.apply(this,e)}),U(`click`,E,l),K(e,d)},$$slots:{default:!0}}),N()}Lr([`click`]);var Uh={auth_error:`the model credentials were rejected`,rate_limit:`the model provider's rate limit was hit`,overloaded:`the model provider was overloaded`,network:`a network error reaching the model provider`};function Wh(e,t){if(!e)return null;let n=e.displayName||e.name;if(e.status===`stopped`)return{kind:`stopped`,text:`${n} isn't running`,showStart:t};if(e.status===`starting`)return{kind:`starting`,text:`${n} is waking up…`,showStart:!1};if(e.status===`sleeping`){let t=Gh(e.wakeAt);return{kind:`sleeping`,text:t?`${n} is asleep — waking at ${t}`:`${n} is asleep`,showStart:!1}}if(e.lastError){let t=e.lastError,r;return r=t.kind===`crash`?`${n}'s process crashed`:t.kind===`startup`?`${n} failed to start`:`${n}'s last turn failed — ${Uh[t.reason]??`an unexpected error`}`,{kind:`error`,text:r,detail:t.detail,showStart:!1}}return null}function Gh(e){if(!e)return null;let t=new Date(e);if(Number.isNaN(t.getTime()))return null;let n=t.toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`});return t.toDateString()===new Date().toDateString()?n:`${n} on ${t.toLocaleDateString(`en-US`,{weekday:`long`})}`}var Kh=W(`<button class="start-btn svelte-19r8zgf"> </button>`),qh=W(`<span class="start-error svelte-19r8zgf"> </span>`),Jh=W(`<div><span class="text"> </span> <!> <!></div>`);function Yh(e,t){M(t,!0);let n=F(!1),r=F(``),i=P(()=>Wh(t.mind,t.isAdmin));async function a(){if(!(!t.mind||H(n))){I(n,!0),I(r,``);try{await Su(t.mind.name)}catch(e){I(r,e instanceof Error?e.message:`Failed to start`,!0),I(n,!1)}}}var o=Kr(),s=z(o),c=e=>{var t=Jh(),o=R(t),s=R(o,!0);A(o);var c=B(o,2),l=e=>{var t=Kh(),r=R(t,!0);A(t),V(()=>{t.disabled=H(n),q(r,H(n)?`Starting…`:`Start`)}),U(`click`,t,a),K(e,t)};J(c,e=>{H(i).showStart&&e(l)});var u=B(c,2),d=e=>{var t=qh(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)};J(u,e=>{H(r)&&e(d)}),A(t),V(()=>{X(t,1,`status-bar ${H(i).kind??``}`,`svelte-19r8zgf`),Xi(t,`title`,H(i).detail),q(s,H(i).text)}),K(e,t)};J(s,e=>{H(i)&&e(c)}),K(e,o),N()}Lr([`click`]);var Xh=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>`),Zh=W(`<div class="image-strip svelte-69hg31"></div>`),Qh=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>`),$h=W(`<div class="file-strip svelte-69hg31"></div>`),eg=W(`<button>Image</button> <button>File</button>`,1),tg=Gr(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>`),ng=Gr(`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon></svg>`),rg=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 ig(e,t){M(t,!0);let n=pa(t,`mindName`,3,``),r=pa(t,`conversationId`,3,null),i=pa(t,`username`,3,``),a=F(``),o=F(L([])),s=F(L([])),c,l,u,d=0,f=F(!1),p=F(!1);function m(){I(p,!H(p))}function h(){let e=H(a).trim();if(!e&&H(o).length===0&&H(s).length===0||t.sending)return;let l=H(o).map(({media_type:e,data:t})=>({media_type:e,data:t})),u=[...H(s)];I(a,``),I(o,[],!0),I(s,[],!0),c&&(c.style.height=`auto`,c.style.overflow=`hidden`),r()&&n()&&i()&&(Mu(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,Mu(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&&(Mu(n(),r(),i(),!1),d=0)}function y(e){if(e)for(let t of Array.from(e)){if(!t.type.startsWith(`image/`))continue;let e=new FileReader;e.onload=()=>{let n=e.result,r=n.split(`,`)[1];I(o,[...H(o),{media_type:t.type,data:r,preview:n}],!0)},e.readAsDataURL(t)}}function b(e){if(e)for(let t of Array.from(e)){if(t.size>52428800)continue;let e=new FileReader;e.onload=()=>{let n=e.result,r=new Uint8Array(n),i=``;for(let e=0;e<r.length;e++)i+=String.fromCharCode(r[e]);let a=btoa(i);I(s,[...H(s),{filename:t.name,data:a}],!0)},e.readAsArrayBuffer(t)}}Tn(()=>()=>{r()&&n()&&i()&&d>0&&Mu(n(),r(),i(),!1)});var x=rg(),S=z(x),C=e=>{var t=Zh();Y(t,23,()=>H(o),e=>e.preview,(e,t,n)=>{var r=Xh(),i=R(r),a=B(i,2);A(r),V(()=>Xi(i,`src`,H(t).preview)),U(`click`,a,()=>{I(o,H(o).filter((e,t)=>t!==H(n)),!0)}),K(e,r)}),A(t),K(e,t)};J(S,e=>{H(o).length>0&&e(C)});var w=B(S,2),T=e=>{var t=$h();Y(t,23,()=>H(s),(e,t)=>e.filename+t,(e,t,n)=>{var r=Qh(),i=R(r),a=R(i,!0);A(i);var o=B(i,2);A(r),V(()=>q(a,H(t).filename)),U(`click`,o,()=>{I(s,H(s).filter((e,t)=>t!==H(n)),!0)}),K(e,r)}),A(t),K(e,t)};J(w,e=>{H(s).length>0&&e(T)});var E=B(w,2);ua(E,e=>l=e,()=>l);var ee=B(E,2);ua(ee,e=>u=e,()=>u);var te=B(ee,2),ne=R(te);let D;var O=R(ne),re=B(O,2);ya(re,{get open(){return H(p)},onclose:()=>I(p,!1),direction:`up`,children:(e,t)=>{var n=eg(),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);at(ie),Xi(ie,`rows`,1),ua(ie,e=>c=e,()=>c);var ae=B(ie,2);let k;var oe=R(ae),se=e=>{K(e,tg())},ce=e=>{K(e,ng())};J(oe,e=>{t.sending?e(se):e(ce,-1)}),A(ae),A(ne),A(te),V((e,t)=>{D=X(ne,1,`input-box svelte-69hg31`,null,D,{focused:H(f)}),ae.disabled=e,k=X(ae,1,`inline-btn send svelte-69hg31`,null,k,t)},[()=>t.sending||!H(a).trim()&&H(o).length===0&&H(s).length===0,()=>({active:!!H(a).trim()||H(o).length>0||H(s).length>0})]),U(`change`,E,e=>y(e.currentTarget.files)),U(`change`,ee,e=>b(e.currentTarget.files)),U(`click`,O,m),U(`keydown`,ie,g),U(`input`,ie,_),Ir(`focus`,ie,()=>I(f,!0)),Ir(`blur`,ie,()=>{I(f,!1),v()}),aa(ie,()=>H(a),e=>I(a,e)),U(`click`,ae,h),K(e,x),N()}Lr([`click`,`change`,`keydown`,`input`]);var ag=W(`<div class="lightbox-overlay svelte-8uz8bu" role="button" tabindex="-1"><img alt="" class="lightbox-image svelte-8uz8bu"/></div>`);function og(e,t){M(t,!0);function n(e){e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),t.onClose())}function r(e){return document.body.appendChild(e),{destroy(){e.remove()}}}var i=ag();Ir(`keydown`,on,n);var a=R(i);A(i),Si(i,e=>r?.(e)),V(()=>Xi(a,`src`,t.src)),U(`click`,i,function(...e){t.onClose?.apply(this,e)}),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&t.onClose()}),K(e,i),N()}Lr([`click`,`keydown`]);var sg=W(`<span> </span>`),cg=W(`<div class="tool-section-label svelte-iivm65" style="margin-top: 8px">output:</div> <pre> </pre>`,1),lg=W(`<div class="tool-detail svelte-iivm65"><div class="tool-section-label svelte-iivm65">input:</div> <pre class="tool-pre svelte-iivm65"> </pre> <!></div>`),ug=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 dg(e,t){M(t,!0);let n=pa(t,`isError`,3,!1),r=pa(t,`isOpen`,3,!1);function i(){let e=t.input;switch(t.name){case`Read`:return{label:`Read ${e.file_path??``}`,color:`var(--blue)`};case`Write`:return{label:`Write ${e.file_path??``}`,color:`var(--blue)`};case`Edit`:return{label:`Edit ${e.file_path??``}`,color:`var(--blue)`};case`Glob`:return{label:`Glob ${e.pattern??``}`,color:`var(--yellow)`};case`Grep`:return{label:`Grep "${e.pattern??``}"${e.path?` in ${e.path}`:``}`,color:`var(--yellow)`};case`Bash`:return{label:`Bash: ${String(e.command??``).split(`
|
|
75
75
|
`)[0]}`,color:`var(--red)`};case`WebSearch`:return{label:`Search: "${e.query??``}"`,color:`var(--purple)`};case`WebFetch`:return{label:`Fetch: ${e.url??``}`,color:`var(--purple)`};case`Task`:return{label:`Task: ${e.description??``}`,color:`var(--accent)`};default:return{label:t.name,color:`var(--purple)`}}}let a=P(i);var o=ug(),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=sg();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=lg(),i=B(R(r),2),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var r=cg(),i=B(z(r),2);let a;var o=R(i,!0);A(i),V(()=>{a=X(i,1,`tool-pre tool-output svelte-iivm65`,null,a,{error:n()}),q(o,t.output)}),K(e,r)};J(o,e=>{t.output!==void 0&&e(s)}),A(r),V(e=>q(a,e),[()=>JSON.stringify(t.input,null,2)]),K(e,r)};J(h,e=>{r()&&e(g)}),A(o),V(()=>{c=Z(s,``,c,{color:H(a).color}),q(d,r()?`▾`:`▸`),q(f,` ${H(a).label??``}`)}),U(`click`,s,function(...e){t.onToggle?.apply(this,e)}),K(e,o),N()}Lr([`click`]);var fg=W(`<button class="sender sender-link svelte-1bfejg9"> </button>`),pg=W(`<span class="sender svelte-1bfejg9"> </span>`),mg=W(`<span></span>`),hg=W(`<span class="timestamp svelte-1bfejg9"> </span>`),gg=W(`<div class="entry-header svelte-1bfejg9"><!> <!></div>`),_g=W(`<span class="timestamp inline-time svelte-1bfejg9"> </span>`),vg=W(`<div class="markdown-body"></div>`),yg=W(`<button type="button" class="chat-image-btn svelte-1bfejg9"><img alt="" class="chat-image svelte-1bfejg9" loading="lazy" decoding="async"/></button>`),bg=W(`<div><!> <div class="entry-content svelte-1bfejg9"><!></div></div> <!>`,1);function xg(e,t){M(t,!0);let n=pa(t,`showHeader`,3,!0),r=pa(t,`showDate`,3,!1),i=pa(t,`senderColor`,3,`var(--text-0)`),a=pa(t,`participants`,19,()=>[]),o=pa(t,`showTypingDot`,3,!1),s=F(null);function c(e){let n=t.mindsByName.get(e);if(n)return{name:n.name,displayName:n.displayName,description:n.description,avatarUrl:n.avatar?`/api/minds/${encodeURIComponent(n.name)}/avatar`:null,userType:`mind`,created:n.created};let r=a().find(t=>t.username===e);return r?{name:r.username,displayName:r.displayName,description:r.description,avatarUrl:r.avatar?`/api/auth/avatars/${encodeURIComponent(r.avatar)}`:null,userType:r.userType}:null}function l(e){if(!e)return``;try{let t=new Date(Rl(e)),n=t.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return r()?`${t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${n}`:n}catch{return``}}function u(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r.type===`text`)t.push({kind:`text`,text:r.text});else if(r.type===`tool_use`){let i={name:r.name,input:r.input},a=e[n+1];a&&a.type===`tool_result`&&(i.output=a.output,i.isError=a.is_error,n++),t.push({kind:`tool`,tool:i})}else r.type===`tool_result`||r.type===`image`&&t.push({kind:`image`,media_type:r.media_type,data:r.data})}return t}var d=bg(),f=z(d);let p;var m=R(f),h=e=>{var n=gg(),r=R(n),a=e=>{let n=P(()=>c(t.senderName)),r=P(()=>t.mindsByName.get(t.senderName));var a=Kr(),o=z(a),s=e=>{Fp(e,{get profile(){return H(n)},children:e=>{var a=Kr(),o=z(a),s=e=>{var a=fg();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=pg();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=pg();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.senderName)}),K(e,n)};J(o,e=>{H(n)?e(s):e(l,-1)}),K(e,a)},s=e=>{var n=pg();let r;var a=R(n,!0);A(n),V(()=>{r=Z(n,``,r,{color:i()}),q(a,t.role===`user`?`you`:`mind`)}),K(e,n)};J(r,e=>{t.senderName?e(a):e(s,-1)});var u=B(r,2),d=e=>{var n=mg();let r;V(e=>r=X(n,1,`typing-dot svelte-1bfejg9`,null,r,e),[()=>({iridescent:t.senderName?t.mindsByName.has(t.senderName):!1})]),K(e,n)},f=e=>{var n=hg(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>l(t.createdAt)]),K(e,n)};J(u,e=>{o()?e(d):t.createdAt&&e(f,1)}),A(n),K(e,n)},g=e=>{var n=_g(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>l(t.createdAt)]),K(e,n)};J(m,e=>{n()?e(h):t.createdAt&&e(g,1)});var _=B(m,2),v=R(_),y=e=>{var n=Kr();Y(z(n),17,()=>t.blocks,ti,(e,t)=>{var n=Kr(),r=z(n),i=e=>{var n=vg();ui(n,()=>Al(H(t).text),!0),A(n),K(e,n)},a=e=>{let n=P(()=>`data:${H(t).media_type};base64,${H(t).data}`);var r=yg(),i=R(r);A(r),V(()=>Xi(i,`src`,H(n))),U(`click`,r,()=>I(s,H(n))),K(e,r)};J(r,e=>{H(t).type===`text`?e(i):H(t).type===`image`&&e(a,1)}),K(e,n)}),K(e,n)},b=e=>{let n=P(()=>u(t.blocks));var r=Kr();Y(z(r),17,()=>H(n),ti,(e,n,r)=>{var i=Kr(),a=z(i),o=e=>{var t=vg();ui(t,()=>Al(H(n).text),!0),A(t),K(e,t)},c=e=>{let i=P(()=>t.entryIndex*1e3+r);{let r=P(()=>H(n).tool.isError??!1),a=P(()=>t.openTools.has(H(i)));dg(e,{get name(){return H(n).tool.name},get input(){return H(n).tool.input},get output(){return H(n).tool.output},get isError(){return H(r)},get isOpen(){return H(a)},onToggle:()=>t.onToggleTool(H(i))})}},l=e=>{let t=P(()=>`data:${H(n).media_type};base64,${H(n).data}`);var r=yg(),i=R(r);A(r),V(()=>Xi(i,`src`,H(t))),U(`click`,r,()=>I(s,H(t))),K(e,r)};J(a,e=>{H(n).kind===`text`?e(o):H(n).kind===`tool`?e(c,1):H(n).kind===`image`&&e(l,2)}),K(e,i)}),K(e,r)};J(v,e=>{t.role===`user`?e(y):e(b,-1)}),A(_),A(f);var x=B(f,2),S=e=>{og(e,{get src(){return H(s)},onClose:()=>I(s,null)})};J(x,e=>{H(s)&&e(S)}),V(()=>p=X(f,1,`entry svelte-1bfejg9`,null,p,{"new-sender":n()})),K(e,d),N()}Lr([`click`]);var Sg=W(`<div class="loading-older svelte-xwfq15">Loading older messages...</div>`),Cg=W(`<div class="load-more svelte-xwfq15"><button class="load-more-btn svelte-xwfq15">Load older messages</button></div>`),wg=W(`<div class="empty error svelte-xwfq15"> </div>`),Tg=W(`<div class="empty svelte-xwfq15">Send a message to start chatting.</div>`),Eg=W(`<span> </span>`),Dg=W(`<div class="event-row svelte-xwfq15"></div>`),Og=W(`<div class="divider svelte-xwfq15"><div class="divider-line svelte-xwfq15"></div> <span> </span> <div class="divider-line svelte-xwfq15"></div></div>`),kg=W(`<button class="typing-sender typing-sender-link svelte-xwfq15"> </button>`),Ag=W(`<span class="typing-sender svelte-xwfq15"> </span>`),jg=W(`<div class="typing-entry svelte-xwfq15"><!> <span></span></div>`),Mg=W(`<div class="messages svelte-xwfq15"><!> <!> <!> <!> <!></div>`);function Ng(e,t){M(t,!0);let n=pa(t,`loadError`,3,``),r=pa(t,`hasMore`,3,!1),i=pa(t,`loadingOlder`,3,!1),a=pa(t,`minds`,19,()=>[]),o=pa(t,`participants`,19,()=>[]),s=pa(t,`typingNames`,19,()=>[]),c,l=F(L(new Set)),u=!0,d=P(()=>new Map(a().map(e=>[e.name,e]))),f=[`var(--blue)`,`var(--purple)`,`var(--yellow)`,`var(--red)`,`var(--accent)`],p=P(()=>{let e=new Map;for(let n of t.entries){let t=n.senderName;t&&!e.has(t)&&e.set(t,f[e.size%f.length])}return e}),m=P(()=>{let e=t.entries[t.entries.length-1];if(!e?.senderName||!s().includes(e.senderName))return-1;let n=t.entries.length-1;for(;n>0&&t.entries[n-1].senderName===e.senderName;)n--;return n}),h=P(()=>H(m)===-1?s():s().filter(e=>e!==t.entries[H(m)].senderName));function g(e){if(e===0)return!0;let n=t.entries[e-1],r=t.entries[e];return n.senderName!==r.senderName||n.senderName===`system`}function _(e){if(!e)return``;try{return new Date(Rl(e)).toLocaleDateString()}catch{return``}}function v(e){let n=t.entries[e];if(!n.createdAt)return!1;if(e===0)return!0;let r=t.entries[e-1];return _(n.createdAt)!==_(r.createdAt)}function y(e){return e.role===`user`?e.senderName?H(p).get(e.senderName)??`var(--blue)`:`var(--blue)`:e.senderName?H(p).get(e.senderName)??`var(--accent)`:`var(--accent)`}function b(e){let t=new Set(H(l));t.has(e)?t.delete(e):t.add(e),I(l,t,!0)}function x(e){let t=e||u;requestAnimationFrame(()=>{requestAnimationFrame(()=>{!c||!t||(c.scrollTop=c.scrollHeight)})})}function S(){I(l,new Set,!0)}Tn(()=>{if(!c)return;let e=new ResizeObserver(()=>{u&&(c.scrollTop=c.scrollHeight)});return e.observe(c),()=>e.disconnect()});function C(){c&&(u=c.scrollHeight-c.scrollTop-c.clientHeight<100,!(!r()||i()||!t.onLoadOlder)&&c.scrollTop<100&&t.onLoadOlder())}var w={scrollToBottom:x,resetToolState:S},T=Mg(),E=R(T),ee=e=>{K(e,Sg())};J(E,e=>{i()&&e(ee)});var te=B(E,2),ne=e=>{var n=Cg(),r=R(n);A(n),U(`click`,r,function(...e){t.onLoadOlder?.apply(this,e)}),K(e,n)};J(te,e=>{r()&&!i()&&e(ne)});var D=B(te,2),O=e=>{var t=wg(),r=R(t,!0);A(t),V(()=>q(r,n())),K(e,t)},re=e=>{K(e,Tg())};J(D,e=>{n()?e(O):t.entries.length===0&&e(re,1)});var ie=B(D,2);return Y(ie,19,()=>t.entries,e=>e.id,(e,n,r)=>{var i=Kr(),a=z(i),s=e=>{var t=Dg();Y(t,21,()=>H(n).blocks,ti,(e,t)=>{var n=Kr(),r=z(n),i=e=>{var n=Eg(),r=R(n,!0);A(n),V(()=>q(r,H(t).text)),K(e,n)};J(r,e=>{H(t).type===`text`&&e(i)}),K(e,n)}),A(t),K(e,t)},c=e=>{var t=Og(),r=B(R(t),2),i=R(r,!0);A(r),j(2),A(t),V(e=>q(i,e),[()=>H(n).blocks[0].text.slice(1,-1)]),K(e,t)},u=P(()=>H(n).senderName===`system`&&H(n).blocks.length===1&&H(n).blocks[0].type===`text`&&H(n).blocks[0].text.match(/^\[.+\]$/)),f=e=>{{let i=P(()=>g(H(r))),a=P(()=>v(H(r))),s=P(()=>y(H(n))),c=P(()=>H(r)===H(m));xg(e,{get role(){return H(n).role},get blocks(){return H(n).blocks},get senderName(){return H(n).senderName},get createdAt(){return H(n).createdAt},get showHeader(){return H(i)},get showDate(){return H(a)},get senderColor(){return H(s)},get entryIndex(){return H(r)},get openTools(){return H(l)},onToggleTool:b,get mindsByName(){return H(d)},get participants(){return o()},get onOpenMind(){return t.onOpenMind},get showTypingDot(){return H(c)}})}};J(a,e=>{H(n).role===`event`?e(s):H(u)?e(c,1):e(f,-1)}),K(e,i)}),Y(B(ie,2),16,()=>H(h),e=>e,(e,n)=>{let r=P(()=>H(d).get(n)),i=P(()=>H(r)?.displayName??o().find(e=>e.username===n)?.displayName??n),a=P(()=>H(p).get(n)??(H(r)?`var(--accent)`:`var(--blue)`));var s=jg(),c=R(s),l=e=>{var n=kg();let o;var s=R(n,!0);A(n),V(()=>{o=Z(n,``,o,{color:H(a)}),q(s,H(i))}),U(`click`,n,()=>t.onOpenMind?.(H(r))),K(e,n)},u=e=>{var t=Ag();let n;var r=R(t,!0);A(t),V(()=>{n=Z(t,``,n,{color:H(a)}),q(r,H(i))}),K(e,t)};J(c,e=>{H(r)?e(l):e(u,-1)});var f=B(c,2);let m;A(s),V(()=>m=X(f,1,`typing-dot svelte-xwfq15`,null,m,{iridescent:!!H(r)})),K(e,s)}),A(T),ua(T,e=>c=e,()=>c),Ir(`scroll`,T,C),K(e,T),N(w)}Lr([`click`]);var Pg=W(`<li><span class="mark svelte-8ky2s2" aria-hidden="true"> </span> <span class="label"> </span></li>`),Fg=W(`Ready to sprout — the seed can run <code class="svelte-8ky2s2">volute seed sprout</code>.`,1),Ig=W(`<div><div class="header svelte-8ky2s2"><span class="title svelte-8ky2s2">Orientation</span> <span class="count svelte-8ky2s2"> </span></div> <ul class="checklist svelte-8ky2s2"></ul> <p class="hint svelte-8ky2s2"><!></p></div>`);function Lg(e,t){M(t,!0);let n=P(()=>[{label:`SOUL.md written`,done:t.checklist.soulWritten},{label:`MEMORY.md written`,done:t.checklist.memoryWritten},{label:`Display name set`,done:t.checklist.displayNameSet},...t.checklist.imagegenEnabled?[{label:`Avatar set`,done:t.checklist.avatarSet}]:[]]),r=P(()=>H(n).filter(e=>e.done).length),i=P(()=>H(r)===H(n).length);var a=Ig();let o;var s=R(a),c=B(R(s),2),l=R(c);A(c),A(s);var u=B(s,2);Y(u,21,()=>H(n),e=>e.label,(e,t)=>{var n=Pg();let r;var i=R(n),a=R(i,!0);A(i);var o=B(i,2),s=R(o,!0);A(o),A(n),V(()=>{r=X(n,1,`svelte-8ky2s2`,null,r,{done:H(t).done}),q(a,H(t).done?`✓`:`○`),q(s,H(t).label)}),K(e,n)}),A(u);var d=B(u,2),f=R(d),p=e=>{var t=Fg();j(2),K(e,t)},m=e=>{K(e,G(`Steps the seed completes before it can sprout into a full mind.`))};J(f,e=>{H(i)?e(p):e(m,-1)}),A(d),A(a),V(()=>{o=X(a,1,`seed-progress svelte-8ky2s2`,null,o,{ready:H(i)}),q(l,`${H(r)??``}/${H(n).length??``}`)}),K(e,a),N()}var Rg=W(`<div class="orientation-bar svelte-1mfgy18">orientation</div>`),zg=W(`<span class="channel-description svelte-1mfgy18"> </span>`),Bg=W(`<div class="channel-header svelte-1mfgy18"><div class="channel-info svelte-1mfgy18"><span class="channel-title svelte-1mfgy18"> </span> <!></div> <button class="settings-btn svelte-1mfgy18" title="Channel settings"><!></button></div>`),Vg=W(`<div class="spirit-notice svelte-1mfgy18"> </div>`),Hg=W(`<div class="chat svelte-1mfgy18"><!> <!> <!> <!> <!> <!></div> <!>`,1);function Ug(e,t){M(t,!0);let n=pa(t,`convType`,3,`dm`),r=pa(t,`channelName`,3,``),i=pa(t,`minds`,19,()=>[]),a=pa(t,`participants`,19,()=>[]),o=0,s=F(L([])),c=F(``),l=F(!1),u=F(``),d=F(``),f=F(L([])),p=F(!1),m=F(!1),h=null,g=0,_,v=P(()=>n()===`dm`?i().find(e=>e.name===t.name):void 0),y=F(null),b=F(!1),x=F(!1);Tn(()=>{if(I(y,null),I(b,!1),n()!==`channel`||!r())return;let e=r();nd(e).then(t=>{e===r()&&I(y,t.settings??null,!0)}).catch(t=>{e===r()&&(console.error(`Failed to load settings for #${e}:`,t),I(b,!0))})}),Tn(()=>{t.onTypingNames?.(H(f))});let S=new Map;function C(e){return Array.isArray(e)?e:[{type:`text`,text:String(e)}]}function w(e){return e.map(e=>({id:o++,serverId:e.id,role:e.role,blocks:C(e.content),senderName:e.sender_name??void 0,createdAt:e.created_at}))}async function T(e,t){let n=S.get(e);if(n&&!t){I(s,n.entries,!0),I(p,n.hasMore,!0);return}try{let n=await Du(e,{limit:50});I(c,``),I(s,w(n.items),!0),I(p,n.hasMore,!0),S.set(e,{entries:H(s),hasMore:H(p)}),t&&_?.scrollToBottom(!0)}catch(e){I(c,e instanceof Error?e.message:`Failed to load messages`,!0)}}async function E(){if(!h||H(m)||!H(p))return;let e=H(s)[0]?.serverId;if(e){I(m,!0);try{let t=await Du(h,{before:e,limit:50});if(t.items.length>0){let e=w(t.items);I(s,[...e,...H(s)],!0),I(p,t.hasMore,!0),S.set(h,{entries:H(s),hasMore:H(p)})}else I(p,!1)}catch(e){I(c,e instanceof Error?e.message:`Failed to load older messages`,!0)}I(m,!1)}}Tn(()=>{if(h=t.conversationId,clearTimeout(g),I(f,[],!0),I(u,``),I(d,``),_?.resetToolState(),!t.conversationId){I(s,[],!0),I(p,!1);return}T(t.conversationId,!0)}),Tn(()=>{if(!t.conversationId)return;let e=Ef(e=>{if(e.event===`conversation`&&e.conversationId===t.conversationId){if(e.type===`message`){if(e.role===`user`&&e.senderName===t.username)return;H(d)&&e.senderName===H(d)&&I(u,``);let n={id:o++,role:e.role,blocks:C(e.content),senderName:e.senderName??void 0,createdAt:e.createdAt};I(s,[...H(s),n],!0),h&&S.set(h,{entries:H(s),hasMore:H(p)}),_?.scrollToBottom()}else if(e.type===`typing`){let n=e.senders;I(f,n.filter(e=>e!==t.username),!0),H(f).length>0&&_?.scrollToBottom(),clearTimeout(g),H(f).length>0&&(g=window.setTimeout(()=>{I(f,H(f).filter(e=>i().some(t=>t.name===e)),!0)},15e3))}}});return()=>{e(),clearTimeout(g)}});async function ee(e,r,i){let c=[];e&&c.push({type:`text`,text:e});for(let e of r)c.push({type:`image`,media_type:e.media_type,data:e.data});for(let e of i)c.push({type:`text`,text:`[file] ${e.filename}`});I(s,[...H(s),{id:o++,role:`user`,blocks:c,senderName:t.username,createdAt:new Date().toISOString()}],!0),I(l,!0),I(u,``),_?.scrollToBottom(!0);try{let o=await ju({message:e,conversationId:h??void 0,targetMind:n()===`channel`?void 0:t.name,images:r.length>0?r:void 0,files:i.length>0?i:void 0});if(o.spirit&&o.spiritName){I(d,o.spiritName,!0);let e=a().find(e=>e.username===o.spiritName)?.displayName??o.spiritName;o.spirit===`waking`?I(u,`${e} is waking — a reply is on its way.`):o.spirit===`sleeping`?I(u,`${e} is sleeping — they'll reply when they wake.`):o.spirit===`unavailable`&&I(u,`${e} is unavailable. An admin can fix this in Settings.`)}let s=o.conversationId,c=s!==h;h=s,c&&t.onConversationId(s)}catch(e){console.error(`Failed to send message:`,e),I(s,[...H(s),{id:o++,role:`assistant`,blocks:[{type:`text`,text:`*Failed to send message. Please try again.*`}],senderName:`system`}],!0)}I(l,!1)}var te=Hg(),ne=z(te),D=R(ne),O=e=>{var n=Kr(),r=z(n),i=e=>{Lg(e,{get checklist(){return t.seedChecklist}})},a=e=>{K(e,Rg())};J(r,e=>{t.seedChecklist?e(i):e(a,-1)}),K(e,n)};J(D,e=>{t.stage===`seed`&&e(O)});var re=B(D,2),ie=e=>{var t=Bg(),n=R(t),i=R(n),a=R(i);A(i);var o=B(i,2),s=e=>{var t=zg(),n=R(t,!0);A(t),V(()=>q(n,H(y).description)),K(e,t)};J(o,e=>{H(y)?.description&&e(s)}),A(n);var c=B(n,2);qa(R(c),{kind:`gear`}),A(c),A(t),V(()=>q(a,`#${r()??``}`)),U(`click`,c,()=>I(x,!0)),K(e,t)};J(re,e=>{n()===`channel`&&r()&&e(ie)});var ae=B(re,2);ua(Ng(ae,{get entries(){return H(s)},get loadError(){return H(c)},get hasMore(){return H(p)},get loadingOlder(){return H(m)},onLoadOlder:E,get minds(){return i()},get participants(){return a()},get onOpenMind(){return t.onOpenMind},get typingNames(){return H(f)}}),e=>_=e,()=>_);var k=B(ae,2);ei(k,()=>H(v)?.name,e=>{{let t=P(()=>Kf.user?.role===`admin`);Yh(e,{get mind(){return H(v)},get isAdmin(){return H(t)}})}});var oe=B(k,2),se=e=>{var t=Vg(),n=R(t,!0);A(t),V(()=>q(n,H(u))),K(e,t)};J(oe,e=>{H(u)&&e(se)}),ig(B(oe,2),{get sending(){return H(l)},onSend:ee,get mindName(){return t.name},get conversationId(){return t.conversationId},get username(){return t.username}}),A(ne);var ce=B(ne,2),le=e=>{Hh(e,{get channelName(){return r()},get settings(){return H(y)},get loadFailed(){return H(b)},onClose:()=>I(x,!1),onSaved:e=>{I(y,e,!0),I(b,!1)}})};J(ce,e=>{H(x)&&e(le)}),K(e,te),N()}Lr([`click`]);var Wg=W(`<div class="not-found svelte-19lcsxc"> </div>`),Gg=W(`<iframe class="ext-iframe svelte-19lcsxc" title="Page"></iframe>`),Kg=W(`<iframe class="ext-iframe svelte-19lcsxc" title="Extension"></iframe>`),qg=W(`<div class="section-content svelte-19lcsxc"><!></div>`),Jg=W(`<div class="mind-page svelte-19lcsxc"><!></div>`);function Yg(e,t){M(t,!0);let n=pa(t,`section`,3,`chat`),r=P(()=>Zf.minds.find(e=>e.name===t.name)),i=P(()=>t.conversations?.find(e=>e.id===t.conversationId));var a=Kr(),o=z(a),s=e=>{var n=Wg(),r=R(n);A(n),V(()=>q(r,`Mind "${t.name??``}" not found.`)),K(e,n)},c=e=>{var a=Jg(),o=R(a),s=e=>{let r=P(()=>n().split(`:`));var i=qg(),a=R(i),o=e=>{var n=Gg();V(()=>Xi(n,`src`,`/ext/${H(r)[1]??``}/#/${t.name??``}/${t.subpath??``}`)),K(e,n)},s=e=>{var n=Kg();V(()=>Xi(n,`src`,`/ext/${H(r)[1]??``}/#/mind/${t.name??``}${t.subpath?`/`+t.subpath:``}`)),K(e,n)};J(a,e=>{t.subpath&&H(r)[1]===`pages`?e(o):e(s,-1)}),A(i),K(e,i)},c=P(()=>n()?.startsWith(`ext:`)),l=e=>{{let n=P(()=>t.conversationId??null),a=P(()=>t.onConversationId??(()=>{})),o=P(()=>t.minds??Zf.minds),s=P(()=>H(i)?.participants??[]);Ug(e,{get name(){return t.name},get username(){return t.username},get conversationId(){return H(n)},get onConversationId(){return H(a)},get stage(){return H(r).stage},get seedChecklist(){return H(r).seedChecklist},get minds(){return H(o)},get participants(){return H(s)},get onOpenMind(){return t.onOpenMind},get onTypingNames(){return t.onTypingNames}})}};J(o,e=>{H(c)?e(s):e(l,-1)}),A(a),K(e,a)};J(o,e=>{H(r)?e(c,-1):e(s)}),K(e,a),N()}var Xg=e=>String(e).padStart(2,`0`);function Zg(e,t=new Date){if(!e)return{year:t.getFullYear(),month:t.getMonth()+1,day:t.getDate(),hour:t.getHours()};let n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,hour12:!1}).formatToParts(t),r=e=>n.find(t=>t.type===e)?.value??`0`,i=parseInt(r(`hour`),10);return i===24&&(i=0),{year:parseInt(r(`year`),10),month:parseInt(r(`month`),10),day:parseInt(r(`day`),10),hour:i}}function Qg(e){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate());t.setDate(t.getDate()+4-(t.getDay()||7));let n=new Date(t.getFullYear(),0,1),r=Math.ceil(((t.getTime()-n.getTime())/864e5+1)/7);return`${t.getFullYear()}-W${Xg(r)}`}function $g(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 e_(e){return`${e.year}-${Xg(e.month)}-${Xg(e.day)}`}function t_(e,t=new Date){let n=Zg(e,t),r=e_(n),i=new Date(n.year,n.month-1,n.day-7);return{todayKey:r,hourCutoff:`${r}T${Xg(n.hour)}`,todayHourFrom:`${r}T00`,weekCutoff:e_({year:i.getFullYear(),month:i.getMonth()+1,day:i.getDate()}),currentMonthKey:`${n.year}-${Xg(n.month)}`,currentWeekKey:Qg(new Date(n.year,n.month-1,n.day))}}function n_(e,t){return t.length>0?{tier:`month`,to:t[0].period_key}:e.length>0?{tier:`week`,to:e[0].period_key}:null}function r_(e,t){let n=new Set(e.map(e=>e.id)),r=t.filter(e=>!n.has(e.id));return r.length===0?{merged:e,exhausted:!0}:{merged:[...e,...r].sort((e,t)=>e.period_key.localeCompare(t.period_key)),exhausted:!1}}var i_=[1e3,2e3,5e3,1e4];function a_(e){return i_[Math.min(Math.max(e,0),i_.length-1)]}var o_=2*6e4,s_=3*6e4;function c_(e){return new Date(Rl(e)).getTime()}function l_(e,t=Date.now()){let n=c_(e);return!Number.isNaN(n)&&t-n<=o_}function u_(e,t=Date.now()){return e.filter(e=>{let n=c_(e.created_at);return Number.isNaN(n)?!0:t-n<s_})}var d_=15*6e4;function f_(e,t=Date.now()){return t-e>=d_}function p_(e,t){return t??c_(e)}function m_(e){return e.endsWith(`Z`)?e:`${e}Z`}function h_(e){return String(e).padStart(2,`0`)}function g_(e){return`${e.getFullYear()}-${h_(e.getMonth()+1)}-${h_(e.getDate())}T${h_(e.getHours())}`}function __(e){let t=e.summary_meta?.to_time;return new Date(m_(t??e.created_at)).getTime()}function v_(e){return new Date(`${e.slice(0,10)}T${e.slice(11,13)}:00:00`).getTime()}function y_(e){let{now:t,hourSummaries:n,turnsData:r,isActive:i}=e,a=new Date(t);a.setMinutes(0,0,0);let o=a.getTime(),s=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),c=new Set(n.map(e=>e.period_key)),l=[];for(let e of n)l.push({sort:v_(e.period_key),item:{kind:`summary`,summary:e}});for(let e of r){let t=__(e);if(i(e)){l.push({sort:Math.max(t,o),item:{kind:`turn`,turn:e}});continue}(t>=o||t>=s&&!c.has(g_(new Date(t))))&&l.push({sort:t,item:{kind:`turn`,turn:e}})}l.sort((e,t)=>e.sort-t.sort);let u=l.map(e=>e.item),d=l.findIndex(e=>e.item.kind===`turn`&&e.sort>=o);return d>0&&u.splice(d,0,{kind:`separator`,above:`earlier today`,below:`this hour`}),u}var b_={command:`Bash`,file_change:`Edit`,web_search:`WebSearch`,read:`Read`,write:`Write`,edit:`Edit`,bash:`Bash`,grep:`Grep`,glob:`Glob`};function x_(e){return b_[e]??e}function S_(e){switch(x_(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 C_(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 w_(e){switch(e){case`shell`:return`terminal`;case`file`:return`file`;case`search`:return`search`;case`web`:return`globe`;default:return`generic-tool`}}function T_(e,t){let n=x_(e),r={};try{r=JSON.parse(t)}catch{return n}switch(n){case`Bash`:return`$ ${String(r.command??``).split(`
|
|
76
|
-
`)[0]}`;case`Read`:return`Read ${r.file_path??``}`;case`Write`:return`Write ${r.file_path??``}`;case`Edit`:return`Edit ${r.file_path??``}`;case`Grep`:return`Grep "${r.pattern??``}"${r.path?` in ${r.path}`:``}`;case`Glob`:return`Glob ${r.pattern??``}`;case`WebSearch`:return`Search "${r.query??``}"`;case`WebFetch`:return`Fetch ${r.url??``}`;case`Task`:return`Task: ${r.description??``}`;default:return n}}function E_(e){let t=new Map;for(let n of e){if(n.type!==`tool_result`)continue;let e=k_(n.metadata)?.tool_use_id;typeof e==`string`&&!t.has(e)&&t.set(e,n)}let n=new Set,r=[];for(let i=0;i<e.length;i++){let a=e[i];if(a.type===`tool_use`){let o=k_(a.metadata),s=typeof o?.name==`string`?o.name:`tool`,c=x_(s),l=S_(s),u=typeof o?.id==`string`?o.id:null,d=null;if(u!==null){let e=t.get(u)??null;e&&!n.has(e)&&(d=e,n.add(e))}else for(let t=i+1;t<e.length&&e[t].type!==`tool_use`;t++)if(e[t].type===`tool_result`&&!n.has(e[t])){d=e[t],n.add(e[t]);break}r.push({kind:`tool-group`,toolUse:a,toolResult:d,toolName:c,category:l})}else a.type===`tool_result`&&n.has(a)||r.push({kind:`event`,event:a})}return r}function D_(e,t){if(t.type===`tool_use`){let n=k_(t.metadata),r=typeof n?.name==`string`?n.name:`tool`;return[...e,{kind:`tool-group`,toolUse:t,toolResult:null,toolName:x_(r),category:S_(r)}]}if(t.type===`tool_result`){let n=k_(t.metadata)?.tool_use_id,r=-1;if(typeof n==`string`)for(let t=0;t<e.length;t++){let i=e[t];if(!(i.kind!==`tool-group`||i.toolResult!==null)&&k_(i.toolUse.metadata)?.id===n){r=t;break}}else for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.kind===`tool-group`&&n.toolResult===null){r=t;break}}if(r===-1)return[...e,{kind:`event`,event:t}];let i=e.slice();return i[r]={...e[r],toolResult:t},i}return[...e,{kind:`event`,event:t}]}function O_(e,t,n){return n.type===`tool_result`&&typeof k_(n.metadata)?.tool_use_id!=`string`?E_(t):D_(e,n)}function k_(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function A_(e){let t=e.trigger,n=t&&!t.event?e.conversations.find(e=>e.messages.some(e=>e.source_event_id===t.eventId)):void 0,r=t?.event?e.events.find(e=>e.id===t.eventId):void 0,i=e.conversations.filter(e=>e!==n),a=e.events.filter(e=>e!==r);return{triggerConv:n,triggerEvt:r,stackConvs:i,stackEvents:a,stackCount:i.length+a.length+e.activities.length}}function j_(e){return e?+(e.conversations.length>0)+ +(e.events.length>0)+e.activities.length:0}var M_=W(`<div class="terminal-running svelte-7tn5lf">running...</div>`),N_=W(`<pre> </pre>`),P_=W(`<div class="terminal svelte-7tn5lf"><div class="terminal-cmd svelte-7tn5lf"><span class="terminal-prompt svelte-7tn5lf">$</span> </div> <!></div>`),F_=W(`<div class="section-label svelte-7tn5lf">input</div> <pre class="tool-pre svelte-7tn5lf"> </pre>`,1),I_=W(`<div class="section-label svelte-7tn5lf">output</div> <pre> </pre>`,1),L_=W(`<div class="tool-card-body svelte-7tn5lf"><!> <!></div>`),R_=W(`<span class="status-running svelte-7tn5lf">running...</span>`),z_=W(`<span class="status-error svelte-7tn5lf">error</span>`),B_=W(`<span class="inline-label svelte-7tn5lf"> <!></span>`),V_=W(`<div role="button" tabindex="0"><!></div>`);function H_(e,t){M(t,!0);let n=pa(t,`turnStatus`,3,`complete`),r=F(!1),i=P(()=>{if(!t.group.toolUse.metadata)return null;try{return JSON.parse(t.group.toolUse.metadata)}catch{return null}}),a=P(()=>{if(!t.group.toolResult?.metadata)return null;try{return JSON.parse(t.group.toolResult.metadata)}catch{return null}}),o=P(()=>!!H(a)?.is_error),s=P(()=>!t.group.toolResult&&n()===`active`),c=P(()=>T_(H(i)?.name??`tool`,t.group.toolUse.content)),l=P(()=>C_(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=V_();let m,h;var g=R(p),_=e=>{var n=Kr(),r=z(n),i=e=>{var n=P_(),r=R(n),i=B(R(r));A(r);var a=B(r,2),c=e=>{K(e,M_())},l=e=>{var n=N_();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=L_(),r=R(n),i=e=>{var n=F_(),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,M_())},l=e=>{var n=I_(),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=B_(),n=R(t),r=B(n),i=e=>{K(e,R_())},a=e=>{K(e,z_())};J(r,e=>{H(s)?e(i):H(o)&&e(a,1)}),A(t),V(()=>q(n,`${H(c)??``} `)),K(e,t)};J(g,e=>{H(r)?e(_):e(v,-1)}),A(p),V(()=>{m=X(p,1,`tool-group svelte-7tn5lf`,null,m,{expanded:H(r)}),h=Z(p,``,h,{"--cat-color":H(l)})}),U(`click`,p,()=>{I(r,!H(r))}),U(`keydown`,p,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),I(r,!H(r)))}),K(e,p),N()}Lr([`click`,`keydown`]);var U_=new Set([`inbound`,`event`]);function W_(e){return e.find(e=>U_.has(e.type))?.type===`event`}var G_=W(`<div class="marker marker-icon svelte-1rz13hb"><!></div>`),K_=W(`<div class="marker svelte-1rz13hb"></div>`),q_=W(`<div class="turn-connector svelte-1rz13hb"></div>`),J_=W(`<span class="time svelte-1rz13hb"> </span>`),Y_=W(`<div class="summary-header svelte-1rz13hb"><div class="summary-header-line svelte-1rz13hb"><!> <button><!></button></div></div>`),X_=W(`<div class="turn-loading svelte-1rz13hb">loading turn...</div>`),Z_=W(`<div class="turn-loading svelte-1rz13hb"> </div>`),Q_=W(`<div class="event svelte-1rz13hb"><div class="marker marker-icon svelte-1rz13hb"><!></div> <!></div>`),$_=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>`),ev=W(`<span class="summary-text svelte-1rz13hb"> </span>`),tv=W(`<!> <div class="event-body svelte-1rz13hb"><!></div>`,1),nv=W(`<div class="card-wrap svelte-1rz13hb"><!></div>`),rv=W(`<span class="inline-text inline-preview svelte-1rz13hb"> </span>`),iv=W(`<span class="inline-text inline-text-event inline-preview svelte-1rz13hb"><span class="inline-event-label svelte-1rz13hb"> </span> </span>`),av=W(`<span class="inline-channel svelte-1rz13hb"> </span> `,1),ov=W(`<span class="inline-text inline-text-chat inline-preview svelte-1rz13hb"><!><span> </span> </span>`),sv=W(`<div class="reflection-label svelte-1rz13hb">reflection · private</div>`),cv=W(`<!> <div><div class="markdown-body"></div></div>`,1),lv=W(`<span> <!></span>`),uv=W(`<span> </span>`),dv=W(`<span class="inline-text dim svelte-1rz13hb"> <!></span>`),fv=W(`<span class="inline-text dim svelte-1rz13hb">session started<!></span>`),pv=W(`<span class="inline-text dim svelte-1rz13hb">processing complete</span>`),mv=W(`<div class="event-body svelte-1rz13hb"><!></div>`),hv=W(`<div role="button" tabindex="0"><!> <!> <!></div>`);function gv(e,t){M(t,!0);let n=pa(t,`expandable`,3,!1),r=pa(t,`reflection`,3,!1),i=F(!1),a=F(!1),o=F(!1),s=F(``),c=F(L([])),l=F(L([])),u=F(!1),d=F(!1),f={inbound:`var(--blue)`,outbound:`var(--red)`,event:`var(--purple)`,text:`var(--text-1)`,tool_use:`var(--yellow)`,tool_result:`var(--yellow)`,thinking:`var(--text-2)`,usage:`var(--purple)`,log:`var(--text-2)`,session_start:`var(--accent)`,done:`var(--text-2)`,summary:`var(--text-0)`,activity:`var(--yellow)`},p=P(()=>f[t.event.type]??`var(--text-2)`),m=P(()=>{if(!t.event.metadata)return null;try{return JSON.parse(t.event.metadata)}catch{return null}}),h=P(()=>Oh(H(m),t.event.channel)),g=P(()=>kh(t.event,H(m),t.mindName)),_=P(()=>t.event.type===`inbound`||t.event.type===`outbound`||t.event.type===`event`||t.event.type===`activity`||t.event.type===`text`||t.event.type===`thinking`||t.event.type===`tool_use`||t.event.type===`tool_result`||t.event.type===`summary`&&n()||!!t.event.content),v=P(()=>{let e=b(t.event.created_at),n=t.event.type;return n===`tool_use`||n===`tool_result`?`${e} · ${H(m)?.name??`tool`}`:n===`inbound`||n===`outbound`?`${e} · ${n}${t.event.channel?` · ${t.event.channel}`:``}`:n===`event`?`${e} · system event · ${H(h)}`:n===`activity`?`${e} · ${H(m)?.type??`activity`}`:`${e} · ${n}`});function y(e){let t;for(let n of e)n.type===`text`&&(t=n.id);return t}function b(e){return new Date(Rl(e)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function x(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}let S=F(void 0);async function C(){if(t.event.type===`summary`&&n()){if(I(a,!H(a)),H(a)&&H(c).length===0){let e=!!t.event.turn_id,n=t.event.thread&&H(m)?.from_id&&H(m)?.to_id;if(!e&&!n){I(s,`Missing turn data`);return}I(o,!0),I(s,``);try{I(c,await Pu(t.mindName,e?{turnId:t.event.turn_id}:{session:t.event.thread,fromId:H(m).from_id,toId:H(m).to_id}),!0)}catch(e){I(s,`Failed to load turn details`),console.warn(`Failed to fetch turn events:`,e)}finally{I(o,!1)}}H(a)&&(await _r(),H(S)?.scrollIntoView({behavior:`smooth`,block:`start`})),t.onexpand?.(H(a),H(S))}else H(_)&&I(i,!H(i))}var w=hv();let T,E;var ee=R(w),te=e=>{var t=G_();Z(t,``,{},{color:`var(--blue)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ne=e=>{var t=G_();Z(t,``,{},{color:`var(--red)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},D=e=>{var t=G_();Z(t,``,{},{color:`var(--purple)`}),qa(R(t),{kind:`gear`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},O=e=>{var t=G_();Z(t,``,{},{color:`var(--text-1)`}),qa(R(t),{kind:`text`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},re=e=>{var t=G_();Z(t,``,{},{color:`var(--text-2)`}),qa(R(t),{kind:`thinking`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ie=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.name==`string`?H(t).name:`tool`),r=P(()=>S_(H(n)));var i=G_();let a;var o=R(i);{let e=P(()=>w_(H(r)));qa(o,{get kind(){return H(e)}})}A(i),Si(i,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(e=>a=Z(i,``,a,e),[()=>({color:C_(H(r))})]),K(e,i)},ae=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.color==`string`?`var(--${H(t).color})`:`var(--yellow)`);var r=G_();let i;var a=R(r),o=e=>{var n=Kr();ui(z(n),()=>Pl(H(t).icon)),K(e,n)},s=e=>{qa(e,{kind:`document-lines`})};J(a,e=>{typeof H(t)?.icon==`string`?e(o):e(s,-1)}),A(r),Si(r,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>i=Z(r,``,i,{color:H(n)})),K(e,r)},k=e=>{var t=K_();let n;Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>n=Z(t,``,n,{background:H(p)})),K(e,t)};J(ee,e=>{t.event.type===`inbound`?e(te):t.event.type===`outbound`?e(ne,1):t.event.type===`event`?e(D,2):t.event.type===`text`?e(O,3):t.event.type===`thinking`?e(re,4):t.event.type===`tool_use`||t.event.type===`tool_result`?e(ie,5):t.event.type===`activity`?e(ae,6):e(k,-1)});var oe=B(ee,2),se=e=>{K(e,q_())};J(oe,e=>{t.event.type===`summary`&&H(a)&&e(se)});var ce=B(oe,2),le=e=>{var r=tv(),i=z(r),f=e=>{var n=Y_(),r=R(n),i=R(r),a=e=>{var t=J_(),n=R(t);A(t),V((e,t)=>q(n,`${e??``} – ${t??``}`),[()=>b(H(m).from_time),()=>b(H(m).to_time)]),K(e,t)},o=e=>{var n=J_(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>b(t.event.created_at)]),K(e,n)};J(i,e=>{H(m)?.from_time&&H(m)?.to_time?e(a):e(o,-1)});var s=B(i,2);let c;var f=R(s),p=e=>{K(e,G(`…`))},h=e=>{qa(e,{kind:`search`})};J(f,e=>{H(d)?e(p):e(h,-1)}),A(s),Si(s,(e,t)=>Il?.(e,t),()=>({text:H(u)?`show grouped`:`show all events`,position:`bottom`})),A(r),A(n),V(()=>c=X(s,1,`detail-toggle svelte-1rz13hb`,null,c,{"detail-active":H(u)})),U(`click`,s,async e=>{if(e.stopPropagation(),!H(u)&&H(l).length===0){I(d,!0);try{let e=!!t.event.turn_id,n=t.event.thread&&H(m)?.from_id&&H(m)?.to_id;(e||n)&&I(l,await Pu(t.mindName,e?{turnId:t.event.turn_id,detail:!0}:{session:t.event.thread,fromId:H(m).from_id,toId:H(m).to_id,detail:!0}),!0)}catch(e){console.warn(`Failed to fetch detail events:`,e)}finally{I(d,!1)}}I(u,!H(u))}),K(e,n)};J(i,e=>{H(a)&&e(f)});var p=B(i,2),h=R(p),g=e=>{var n=$_(),r=R(n),i=e=>{K(e,X_())},d=e=>{var t=Z_(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},f=e=>{let n=P(()=>W_(H(l))),r=P(()=>y(H(l)));var i=Kr();Y(z(i),17,()=>H(l).filter(e=>e.type!==`summary`),e=>e.id,(e,i)=>{{let a=P(()=>H(n)&&H(i).id===H(r));gv(e,{get event(){return H(i)},get mindName(){return t.mindName},get reflection(){return H(a)}})}}),K(e,i)},p=e=>{let n=P(()=>E_(H(c))),r=P(()=>W_(H(c))),i=P(()=>y(H(c)));var a=Kr();Y(z(a),17,()=>H(n),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,n)=>{var a=Kr(),o=z(a),s=e=>{let r=P(()=>C_(H(n).category)),i=P(()=>w_(H(n).category)),a=P(()=>`${b(H(n).toolUse.created_at)} · ${H(n).toolName}`);var o=Q_();let s;var c=R(o);let l;qa(R(c),{get kind(){return H(i)}}),A(c),Si(c,(e,t)=>Il?.(e,t),()=>({text:H(a),position:`left`})),H_(B(c,2),{get group(){return H(n)},get mindName(){return t.mindName},turnStatus:`complete`}),A(o),V(()=>{s=Z(o,``,s,{"--type-color":H(r)}),l=Z(c,``,l,{color:H(r)})}),K(e,o)},c=e=>{{let a=P(()=>H(r)&&H(n).event.id===H(i));gv(e,{get event(){return H(n).event},get mindName(){return t.mindName},get reflection(){return H(a)}})}};J(o,e=>{H(n).kind===`tool-group`?e(s):e(c,-1)}),K(e,a)}),K(e,a)};J(r,e=>{H(o)?e(i):H(s)?e(d,1):H(u)?e(f,2):e(p,-1)});var m=B(r,2),h=R(m);Z(h,``,{},{color:`var(--text-0)`}),qa(R(h),{kind:`spiral`}),A(h);var g=B(h,2),_=R(g,!0);A(g),A(m),j(2),A(n),V(()=>q(_,t.event.content)),U(`click`,n,e=>e.stopPropagation()),U(`keydown`,n,e=>e.stopPropagation()),U(`click`,m,()=>{I(a,!1)}),K(e,n)},_=e=>{var n=ev(),r=R(n,!0);A(n),V(()=>q(r,t.event.content)),K(e,n)};J(h,e=>{n()&&H(a)?e(g):e(_,-1)}),A(p),K(e,r)},ue=e=>{let n=P(()=>H(g));var r=Kr(),a=z(r),o=e=>{var r=nv(),a=R(r);{let e=P(()=>b(t.event.created_at)),r=P(()=>H(n).url?()=>Fm(H(n).url):void 0);yh(a,{get title(){return H(n).title},get color(){return H(n).color},get icon(){return H(n).icon},get iconKind(){return H(n).iconKind},get meta(){return H(n).meta},get time(){return H(e)},get body(){return H(n).body},get onclick(){return H(r)},oncollapse:()=>I(i,!1)})}A(r),K(e,r)},s=e=>{var r=rv();let i;var a=R(r,!0);A(r),V(()=>{i=Z(r,``,i,{color:`var(--${H(n).color??``})`}),q(a,t.event.content)}),K(e,r)},c=e=>{var n=iv(),r=R(n),i=R(r,!0);A(r);var a=B(r);A(n),V(()=>{q(i,H(h)),q(a,` ${t.event.content??``}`)}),K(e,n)},l=e=>{var n=ov(),r=R(n),i=e=>{var n=av(),r=z(n),i=R(r);A(r);var a=B(r,1,!0);a.nodeValue=` `,V(()=>q(i,`[${t.event.channel??``}]`)),K(e,n)};J(r,e=>{t.event.channel&&e(i)});var a=B(r);let o;var s=R(a);A(a);var c=B(a);A(n),V(()=>{o=X(a,1,`inline-sender svelte-1rz13hb`,null,o,{"inline-sender-user":t.event.type===`inbound`,"inline-sender-mind":t.event.type===`outbound`}),q(s,`${(t.event.type===`inbound`?t.event.sender??`user`:t.mindName)??``}:`),q(c,` ${t.event.content??``}`)}),K(e,n)};J(a,e=>{H(i)?e(o):t.event.type===`activity`?e(s,1):t.event.type===`event`?e(c,2):e(l,-1)}),K(e,r)},de=e=>{var n=mv(),a=R(n),o=e=>{var n=cv(),a=z(n),o=e=>{K(e,sv())};J(a,e=>{r()&&e(o)});var s=B(a,2);let c;var l=R(s);ui(l,()=>Al(t.event.content),!0),A(l),A(s),V(()=>c=X(s,1,`inline-text dim svelte-1rz13hb`,null,c,{"inline-text-expanded":H(i)})),K(e,n)},s=e=>{var n=lv();let r;var a=R(n,!0),o=B(a),s=e=>{var n=G();V(e=>q(n,`
|
|
76
|
+
`)[0]}`;case`Read`:return`Read ${r.file_path??``}`;case`Write`:return`Write ${r.file_path??``}`;case`Edit`:return`Edit ${r.file_path??``}`;case`Grep`:return`Grep "${r.pattern??``}"${r.path?` in ${r.path}`:``}`;case`Glob`:return`Glob ${r.pattern??``}`;case`WebSearch`:return`Search "${r.query??``}"`;case`WebFetch`:return`Fetch ${r.url??``}`;case`Task`:return`Task: ${r.description??``}`;default:return n}}function E_(e){let t=new Map;for(let n of e){if(n.type!==`tool_result`)continue;let e=k_(n.metadata)?.tool_use_id;typeof e==`string`&&!t.has(e)&&t.set(e,n)}let n=new Set,r=[];for(let i=0;i<e.length;i++){let a=e[i];if(a.type===`tool_use`){let o=k_(a.metadata),s=typeof o?.name==`string`?o.name:`tool`,c=x_(s),l=S_(s),u=typeof o?.id==`string`?o.id:null,d=null;if(u!==null){let e=t.get(u)??null;e&&!n.has(e)&&(d=e,n.add(e))}else for(let t=i+1;t<e.length&&e[t].type!==`tool_use`;t++)if(e[t].type===`tool_result`&&!n.has(e[t])){d=e[t],n.add(e[t]);break}r.push({kind:`tool-group`,toolUse:a,toolResult:d,toolName:c,category:l})}else a.type===`tool_result`&&n.has(a)||r.push({kind:`event`,event:a})}return r}function D_(e,t){if(t.type===`tool_use`){let n=k_(t.metadata),r=typeof n?.name==`string`?n.name:`tool`;return[...e,{kind:`tool-group`,toolUse:t,toolResult:null,toolName:x_(r),category:S_(r)}]}if(t.type===`tool_result`){let n=k_(t.metadata)?.tool_use_id,r=-1;if(typeof n==`string`)for(let t=0;t<e.length;t++){let i=e[t];if(!(i.kind!==`tool-group`||i.toolResult!==null)&&k_(i.toolUse.metadata)?.id===n){r=t;break}}else for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.kind===`tool-group`&&n.toolResult===null){r=t;break}}if(r===-1)return[...e,{kind:`event`,event:t}];let i=e.slice();return i[r]={...e[r],toolResult:t},i}return[...e,{kind:`event`,event:t}]}function O_(e,t,n){return n.type===`tool_result`&&typeof k_(n.metadata)?.tool_use_id!=`string`?E_(t):D_(e,n)}function k_(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}function A_(e){let t=e.trigger,n=t&&!t.event?e.conversations.find(e=>e.messages.some(e=>e.source_event_id===t.eventId)):void 0,r=t?.event?e.events.find(e=>e.id===t.eventId):void 0,i=e.conversations.filter(e=>e!==n),a=e.events.filter(e=>e!==r);return{triggerConv:n,triggerEvt:r,stackConvs:i,stackEvents:a,stackCount:i.length+a.length+e.activities.length}}function j_(e){return e?+(e.conversations.length>0)+ +(e.events.length>0)+e.activities.length:0}var M_=W(`<div class="terminal-running svelte-7tn5lf">running...</div>`),N_=W(`<pre> </pre>`),P_=W(`<div class="terminal svelte-7tn5lf"><div class="terminal-cmd svelte-7tn5lf"><span class="terminal-prompt svelte-7tn5lf">$</span> </div> <!></div>`),F_=W(`<div class="section-label svelte-7tn5lf">input</div> <pre class="tool-pre svelte-7tn5lf"> </pre>`,1),I_=W(`<div class="section-label svelte-7tn5lf">output</div> <pre> </pre>`,1),L_=W(`<div class="tool-card-body svelte-7tn5lf"><!> <!></div>`),R_=W(`<span class="status-running svelte-7tn5lf">running...</span>`),z_=W(`<span class="status-error svelte-7tn5lf">error</span>`),B_=W(`<span class="inline-label svelte-7tn5lf"> <!></span>`),V_=W(`<div role="button" tabindex="0"><!></div>`);function H_(e,t){M(t,!0);let n=pa(t,`turnStatus`,3,`complete`),r=F(!1),i=P(()=>{if(!t.group.toolUse.metadata)return null;try{return JSON.parse(t.group.toolUse.metadata)}catch{return null}}),a=P(()=>{if(!t.group.toolResult?.metadata)return null;try{return JSON.parse(t.group.toolResult.metadata)}catch{return null}}),o=P(()=>!!H(a)?.is_error),s=P(()=>!t.group.toolResult&&n()===`active`),c=P(()=>T_(H(i)?.name??`tool`,t.group.toolUse.content)),l=P(()=>C_(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=V_();let m,h;var g=R(p),_=e=>{var n=Kr(),r=z(n),i=e=>{var n=P_(),r=R(n),i=B(R(r));A(r);var a=B(r,2),c=e=>{K(e,M_())},l=e=>{var n=N_();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=L_(),r=R(n),i=e=>{var n=F_(),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,M_())},l=e=>{var n=I_(),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=B_(),n=R(t),r=B(n),i=e=>{K(e,R_())},a=e=>{K(e,z_())};J(r,e=>{H(s)?e(i):H(o)&&e(a,1)}),A(t),V(()=>q(n,`${H(c)??``} `)),K(e,t)};J(g,e=>{H(r)?e(_):e(v,-1)}),A(p),V(()=>{m=X(p,1,`tool-group svelte-7tn5lf`,null,m,{expanded:H(r)}),h=Z(p,``,h,{"--cat-color":H(l)})}),U(`click`,p,()=>{I(r,!H(r))}),U(`keydown`,p,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),I(r,!H(r)))}),K(e,p),N()}Lr([`click`,`keydown`]);var U_=new Set([`inbound`,`event`]);function W_(e){return e.find(e=>U_.has(e.type))?.type===`event`}var G_=W(`<div class="marker marker-icon svelte-1rz13hb"><!></div>`),K_=W(`<div class="marker svelte-1rz13hb"></div>`),q_=W(`<div class="turn-connector svelte-1rz13hb"></div>`),J_=W(`<span class="time svelte-1rz13hb"> </span>`),Y_=W(`<div class="summary-header svelte-1rz13hb"><div class="summary-header-line svelte-1rz13hb"><!> <button><!></button></div></div>`),X_=W(`<div class="turn-loading svelte-1rz13hb">loading turn...</div>`),Z_=W(`<div class="turn-loading svelte-1rz13hb"> </div>`),Q_=W(`<div class="event svelte-1rz13hb"><div class="marker marker-icon svelte-1rz13hb"><!></div> <!></div>`),$_=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>`),ev=W(`<span class="summary-text svelte-1rz13hb"> </span>`),tv=W(`<!> <div class="event-body svelte-1rz13hb"><!></div>`,1),nv=W(`<div class="card-wrap svelte-1rz13hb"><!></div>`),rv=W(`<span class="inline-text inline-preview svelte-1rz13hb"> </span>`),iv=W(`<span class="inline-text inline-text-event inline-preview svelte-1rz13hb"><span class="inline-event-label svelte-1rz13hb"> </span> </span>`),av=W(`<span class="inline-channel svelte-1rz13hb"> </span> `,1),ov=W(`<span class="inline-text inline-text-chat inline-preview svelte-1rz13hb"><!><span> </span> </span>`),sv=W(`<div class="reflection-label svelte-1rz13hb">reflection · private</div>`),cv=W(`<!> <div><div class="markdown-body"></div></div>`,1),lv=W(`<span> <!></span>`),uv=W(`<span> </span>`),dv=W(`<span class="inline-text dim svelte-1rz13hb"> <!></span>`),fv=W(`<span class="inline-text dim svelte-1rz13hb">session started<!></span>`),pv=W(`<span class="inline-text dim svelte-1rz13hb">processing complete</span>`),mv=W(`<div class="event-body svelte-1rz13hb"><!></div>`),hv=W(`<div role="button" tabindex="0"><!> <!> <!></div>`);function gv(e,t){M(t,!0);let n=pa(t,`expandable`,3,!1),r=pa(t,`reflection`,3,!1),i=F(!1),a=F(!1),o=F(!1),s=F(``),c=F(L([])),l=F(L([])),u=F(!1),d=F(!1),f={inbound:`var(--blue)`,outbound:`var(--red)`,event:`var(--purple)`,text:`var(--text-1)`,tool_use:`var(--yellow)`,tool_result:`var(--yellow)`,thinking:`var(--text-2)`,usage:`var(--purple)`,log:`var(--text-2)`,session_start:`var(--accent)`,done:`var(--text-2)`,summary:`var(--text-0)`,activity:`var(--yellow)`},p=P(()=>f[t.event.type]??`var(--text-2)`),m=P(()=>{if(!t.event.metadata)return null;try{return JSON.parse(t.event.metadata)}catch{return null}}),h=P(()=>Oh(H(m),t.event.channel)),g=P(()=>kh(t.event,H(m),t.mindName)),_=P(()=>t.event.type===`inbound`||t.event.type===`outbound`||t.event.type===`event`||t.event.type===`activity`||t.event.type===`text`||t.event.type===`thinking`||t.event.type===`tool_use`||t.event.type===`tool_result`||t.event.type===`summary`&&n()||!!t.event.content),v=P(()=>{let e=b(t.event.created_at),n=t.event.type;return n===`tool_use`||n===`tool_result`?`${e} · ${H(m)?.name??`tool`}`:n===`inbound`||n===`outbound`?`${e} · ${n}${t.event.channel?` · ${t.event.channel}`:``}`:n===`event`?`${e} · system event · ${H(h)}`:n===`activity`?`${e} · ${H(m)?.type??`activity`}`:`${e} · ${n}`});function y(e){let t;for(let n of e)n.type===`text`&&(t=n.id);return t}function b(e){return new Date(Rl(e)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})}function x(e){if(typeof e==`string`)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)}let S=F(void 0);async function C(){if(t.event.type===`summary`&&n()){if(I(a,!H(a)),H(a)&&H(c).length===0){if(!t.event.turn_id){I(s,`Missing turn data`);return}I(o,!0),I(s,``);try{I(c,await Pu(t.mindName,{turnId:t.event.turn_id}),!0)}catch(e){I(s,`Failed to load turn details`),console.warn(`Failed to fetch turn events:`,e)}finally{I(o,!1)}}H(a)&&(await _r(),H(S)?.scrollIntoView({behavior:`smooth`,block:`start`})),t.onexpand?.(H(a),H(S))}else H(_)&&I(i,!H(i))}var w=hv();let T,E;var ee=R(w),te=e=>{var t=G_();Z(t,``,{},{color:`var(--blue)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ne=e=>{var t=G_();Z(t,``,{},{color:`var(--red)`}),qa(R(t),{kind:`chat`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},D=e=>{var t=G_();Z(t,``,{},{color:`var(--purple)`}),qa(R(t),{kind:`gear`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},O=e=>{var t=G_();Z(t,``,{},{color:`var(--text-1)`}),qa(R(t),{kind:`text`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},re=e=>{var t=G_();Z(t,``,{},{color:`var(--text-2)`}),qa(R(t),{kind:`thinking`}),A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),K(e,t)},ie=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.name==`string`?H(t).name:`tool`),r=P(()=>S_(H(n)));var i=G_();let a;var o=R(i);{let e=P(()=>w_(H(r)));qa(o,{get kind(){return H(e)}})}A(i),Si(i,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(e=>a=Z(i,``,a,e),[()=>({color:C_(H(r))})]),K(e,i)},ae=e=>{let t=P(()=>H(m)),n=P(()=>typeof H(t)?.color==`string`?`var(--${H(t).color})`:`var(--yellow)`);var r=G_();let i;var a=R(r),o=e=>{var n=Kr();ui(z(n),()=>Pl(H(t).icon)),K(e,n)},s=e=>{qa(e,{kind:`document-lines`})};J(a,e=>{typeof H(t)?.icon==`string`?e(o):e(s,-1)}),A(r),Si(r,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>i=Z(r,``,i,{color:H(n)})),K(e,r)},k=e=>{var t=K_();let n;Si(t,(e,t)=>Il?.(e,t),()=>({text:H(v),position:`left`})),V(()=>n=Z(t,``,n,{background:H(p)})),K(e,t)};J(ee,e=>{t.event.type===`inbound`?e(te):t.event.type===`outbound`?e(ne,1):t.event.type===`event`?e(D,2):t.event.type===`text`?e(O,3):t.event.type===`thinking`?e(re,4):t.event.type===`tool_use`||t.event.type===`tool_result`?e(ie,5):t.event.type===`activity`?e(ae,6):e(k,-1)});var oe=B(ee,2),se=e=>{K(e,q_())};J(oe,e=>{t.event.type===`summary`&&H(a)&&e(se)});var ce=B(oe,2),le=e=>{var r=tv(),i=z(r),f=e=>{var n=Y_(),r=R(n),i=R(r),a=e=>{var t=J_(),n=R(t);A(t),V((e,t)=>q(n,`${e??``} – ${t??``}`),[()=>b(H(m).from_time),()=>b(H(m).to_time)]),K(e,t)},o=e=>{var n=J_(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>b(t.event.created_at)]),K(e,n)};J(i,e=>{H(m)?.from_time&&H(m)?.to_time?e(a):e(o,-1)});var s=B(i,2);let c;var f=R(s),p=e=>{K(e,G(`…`))},h=e=>{qa(e,{kind:`search`})};J(f,e=>{H(d)?e(p):e(h,-1)}),A(s),Si(s,(e,t)=>Il?.(e,t),()=>({text:H(u)?`show grouped`:`show all events`,position:`bottom`})),A(r),A(n),V(()=>c=X(s,1,`detail-toggle svelte-1rz13hb`,null,c,{"detail-active":H(u)})),U(`click`,s,async e=>{if(e.stopPropagation(),!H(u)&&H(l).length===0){I(d,!0);try{t.event.turn_id&&I(l,await Pu(t.mindName,{turnId:t.event.turn_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=$_(),r=R(n),i=e=>{K(e,X_())},d=e=>{var t=Z_(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},f=e=>{let n=P(()=>W_(H(l))),r=P(()=>y(H(l)));var i=Kr();Y(z(i),17,()=>H(l).filter(e=>e.type!==`summary`),e=>e.id,(e,i)=>{{let a=P(()=>H(n)&&H(i).id===H(r));gv(e,{get event(){return H(i)},get mindName(){return t.mindName},get reflection(){return H(a)}})}}),K(e,i)},p=e=>{let n=P(()=>E_(H(c))),r=P(()=>W_(H(c))),i=P(()=>y(H(c)));var a=Kr();Y(z(a),17,()=>H(n),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,n)=>{var a=Kr(),o=z(a),s=e=>{let r=P(()=>C_(H(n).category)),i=P(()=>w_(H(n).category)),a=P(()=>`${b(H(n).toolUse.created_at)} · ${H(n).toolName}`);var o=Q_();let s;var c=R(o);let l;qa(R(c),{get kind(){return H(i)}}),A(c),Si(c,(e,t)=>Il?.(e,t),()=>({text:H(a),position:`left`})),H_(B(c,2),{get group(){return H(n)},get mindName(){return t.mindName},turnStatus:`complete`}),A(o),V(()=>{s=Z(o,``,s,{"--type-color":H(r)}),l=Z(c,``,l,{color:H(r)})}),K(e,o)},c=e=>{{let a=P(()=>H(r)&&H(n).event.id===H(i));gv(e,{get event(){return H(n).event},get mindName(){return t.mindName},get reflection(){return H(a)}})}};J(o,e=>{H(n).kind===`tool-group`?e(s):e(c,-1)}),K(e,a)}),K(e,a)};J(r,e=>{H(o)?e(i):H(s)?e(d,1):H(u)?e(f,2):e(p,-1)});var m=B(r,2),h=R(m);Z(h,``,{},{color:`var(--text-0)`}),qa(R(h),{kind:`spiral`}),A(h);var g=B(h,2),_=R(g,!0);A(g),A(m),j(2),A(n),V(()=>q(_,t.event.content)),U(`click`,n,e=>e.stopPropagation()),U(`keydown`,n,e=>e.stopPropagation()),U(`click`,m,()=>{I(a,!1)}),K(e,n)},_=e=>{var n=ev(),r=R(n,!0);A(n),V(()=>q(r,t.event.content)),K(e,n)};J(h,e=>{n()&&H(a)?e(g):e(_,-1)}),A(p),K(e,r)},ue=e=>{let n=P(()=>H(g));var r=Kr(),a=z(r),o=e=>{var r=nv(),a=R(r);{let e=P(()=>b(t.event.created_at)),r=P(()=>H(n).url?()=>Fm(H(n).url):void 0);yh(a,{get title(){return H(n).title},get color(){return H(n).color},get icon(){return H(n).icon},get iconKind(){return H(n).iconKind},get meta(){return H(n).meta},get time(){return H(e)},get body(){return H(n).body},get onclick(){return H(r)},oncollapse:()=>I(i,!1)})}A(r),K(e,r)},s=e=>{var r=rv();let i;var a=R(r,!0);A(r),V(()=>{i=Z(r,``,i,{color:`var(--${H(n).color??``})`}),q(a,t.event.content)}),K(e,r)},c=e=>{var n=iv(),r=R(n),i=R(r,!0);A(r);var a=B(r);A(n),V(()=>{q(i,H(h)),q(a,` ${t.event.content??``}`)}),K(e,n)},l=e=>{var n=ov(),r=R(n),i=e=>{var n=av(),r=z(n),i=R(r);A(r);var a=B(r,1,!0);a.nodeValue=` `,V(()=>q(i,`[${t.event.channel??``}]`)),K(e,n)};J(r,e=>{t.event.channel&&e(i)});var a=B(r);let o;var s=R(a);A(a);var c=B(a);A(n),V(()=>{o=X(a,1,`inline-sender svelte-1rz13hb`,null,o,{"inline-sender-user":t.event.type===`inbound`,"inline-sender-mind":t.event.type===`outbound`}),q(s,`${(t.event.type===`inbound`?t.event.sender??`user`:t.mindName)??``}:`),q(c,` ${t.event.content??``}`)}),K(e,n)};J(a,e=>{H(i)?e(o):t.event.type===`activity`?e(s,1):t.event.type===`event`?e(c,2):e(l,-1)}),K(e,r)},de=e=>{var n=mv(),a=R(n),o=e=>{var n=cv(),a=z(n),o=e=>{K(e,sv())};J(a,e=>{r()&&e(o)});var s=B(a,2);let c;var l=R(s);ui(l,()=>Al(t.event.content),!0),A(l),A(s),V(()=>c=X(s,1,`inline-text dim svelte-1rz13hb`,null,c,{"inline-text-expanded":H(i)})),K(e,n)},s=e=>{var n=lv();let r;var a=R(n,!0),o=B(a),s=e=>{var n=G();V(e=>q(n,`
|
|
77
77
|
${e??``}`),[()=>x(t.event.content)]),K(e,n)};J(o,e=>{H(i)&&t.event.content&&e(s)}),A(n),V(e=>{r=X(n,1,`inline-text svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)}),q(a,e)},[()=>T_(H(m)?.name??`tool`,t.event.content)]),K(e,n)},c=e=>{var n=uv();let r;var a=R(n,!0);A(n),V(()=>{r=X(n,1,`inline-text svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i),error:H(m)?.is_error}),q(a,t.event.content)}),K(e,n)},l=e=>{var n=uv();let r;var a=R(n,!0);A(n),V(()=>{r=X(n,1,`inline-text dim svelte-1rz13hb`,null,r,{"inline-text-expanded":H(i)}),q(a,t.event.content)}),K(e,n)},u=e=>{var t=dv(),n=R(t),r=B(n),i=e=>{var t=G();V(()=>q(t,H(m).model)),K(e,t)};J(r,e=>{H(m)?.model&&e(i)}),A(t),V(()=>q(n,`↑${H(m)?.input_tokens??0??``} ↓${H(m)?.output_tokens??0??``}`)),K(e,t)},d=e=>{var n=fv(),r=B(R(n)),i=e=>{var n=G();V(()=>q(n,t.event.thread)),K(e,n)};J(r,e=>{t.event.thread&&e(i)}),A(n),K(e,n)},f=e=>{K(e,pv())},p=e=>{var n=dv(),r=R(n,!0),i=B(r),a=e=>{var n=G();V(()=>q(n,t.event.content)),K(e,n)};J(i,e=>{t.event.content&&e(a)}),A(n),V(()=>q(r,t.event.type)),K(e,n)};J(a,e=>{t.event.type===`text`?e(o):t.event.type===`tool_use`?e(s,1):t.event.type===`tool_result`?e(c,2):t.event.type===`thinking`?e(l,3):t.event.type===`usage`?e(u,4):t.event.type===`session_start`?e(d,5):t.event.type===`done`?e(f,6):e(p,-1)}),A(n),K(e,n)};J(ce,e=>{t.event.type===`summary`?e(le):H(g)?e(ue,1):e(de,-1)}),A(w),ua(w,e=>I(S,e),()=>H(S)),V(()=>{T=X(w,1,`event svelte-1rz13hb`,null,T,{collapsible:H(_),"expandable-summary":t.event.type===`summary`&&n(),"turn-expanded":t.event.type===`summary`&&H(a)}),E=Z(w,``,E,{"--type-color":H(p)})}),U(`click`,w,C),U(`keydown`,w,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C())}),K(e,w),N()}Lr([`click`,`keydown`]);var _v=W(`<span class="peek-msg-md markdown-body svelte-1ly6iad"></span>`),vv=W(`<span> </span>`),yv=W(`<div class="peek-msg svelte-1ly6iad"><span> </span> <!></div>`),bv=W(`<div class="peek-msgs svelte-1ly6iad"></div>`),xv=W(`<div class="peek-popover svelte-1ly6iad"><!></div>`),Sv=W(`<div class="peek-popover svelte-1ly6iad" role="button" tabindex="0"><!></div>`),Cv=W(`<div class="peek-anchor rail-trigger svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View trigger"><!></button> <!></div>`),wv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View conversation"><!></button> <div class="peek-popover svelte-1ly6iad" role="button" tabindex="0"><!></div></div>`),Tv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View system event"><!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Ev=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View activity"><!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Dv=W(`<div><!> <!> <!></div>`),Ov=W(`<!> <!>`,1),kv=W(`<span class="peek-count svelte-1ly6iad"> </span>`),Av=W(`<button class="peek-list-item peek-list-link svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <span class="peek-list-count svelte-1ly6iad"> </span></button>`),jv=W(`<div class="peek-list-item svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <span class="peek-list-count svelte-1ly6iad"> </span></div>`),Mv=W(`<div class="peek-list svelte-1ly6iad"></div>`),Nv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View conversations"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Pv=W(`<span class="peek-list-count svelte-1ly6iad"> </span>`),Fv=W(`<div class="peek-list-item svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <!></div>`),Iv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View system events"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`),Lv=W(`<button class="peek-list-item peek-list-link svelte-1ly6iad"><span class="peek-list-label svelte-1ly6iad"> </span> <!></button>`),Rv=W(`<div class="peek-anchor svelte-1ly6iad"><button class="peek-btn svelte-1ly6iad" aria-label="View activities"><!> <!></button> <div class="peek-popover svelte-1ly6iad"><!></div></div>`);function zv(e,t){M(t,!0);let n=(e,n=f)=>{{let r=P(()=>`${n().messages.length} msg${n().messages.length===1?``:`s`}`);yh(e,{get title(){return n().label},color:`blue`,iconKind:`chat`,get meta(){return H(r)},children:(e,r)=>{var i=bv();Y(i,21,()=>n().messages.slice(-5),e=>e.id,(e,n)=>{var r=yv(),i=R(r);let a;var o=R(i,!0);A(i);var s=B(i,2),c=e=>{var t=_v();ui(t,()=>Al(_m(H(n).content)),!0),A(t),K(e,t)},l=e=>{var t=vv(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>_m(H(n).content)]),K(e,t)};J(s,e=>{H(n).role===`assistant`?e(c):e(l,-1)}),A(r),V(()=>{a=X(i,1,`peek-msg-sender svelte-1ly6iad`,null,a,{"peek-msg-sender-user":H(n).role===`user`}),q(o,H(n).sender_name??(H(n).role===`user`?`user`:t.mind))}),K(e,r)}),A(i),K(e,i)},$$slots:{default:!0}})}},r=pa(t,`condensed`,3,!1),i=pa(t,`showStack`,3,!0),a=P(()=>t.turn?A_(t.turn):void 0),o=new Gl;function s(e){o.add(e)}var c=Kr(),l=z(c),u=e=>{var c=Ov(),l=z(c),u=e=>{let r=P(()=>t.turn.trigger),i=P(()=>H(a).triggerEvt),c=P(()=>H(a).triggerConv);var l=Cv(),u=R(l);let d;var f=R(u);{let e=P(()=>H(r).event?`gear`:`chat`);qa(f,{get kind(){return H(e)}})}A(u);var p=B(u,2),m=e=>{var t=xv(),n=R(t),a=e=>{{let t=P(()=>({kind:`text`,text:H(i)?.content??H(r).content??``}));yh(e,{get title(){return H(r).event.label},color:`purple`,iconKind:`gear`,meta:`system event`,get body(){return H(t)}})}},s=P(()=>o.has(`trigger`));J(n,e=>{H(s)&&e(a)}),A(t),K(e,t)},h=e=>{let r=P(()=>H(c));var i=Sv(),a=R(i),s=e=>{n(e,()=>H(r))},l=P(()=>o.has(`trigger`));J(a,e=>{H(l)&&e(s)}),A(i),U(`click`,i,e=>{e.stopPropagation(),t.onopenconversation?.(H(r))}),U(`keydown`,i,e=>{e.key===`Enter`&&(e.stopPropagation(),t.onopenconversation?.(H(r)))}),K(e,i)},g=e=>{var t=xv(),n=R(t),i=e=>{{let t=P(()=>H(r).channel||`message`),n=P(()=>H(r).sender??void 0),i=P(()=>({kind:`text`,text:H(r).content??``}));yh(e,{get title(){return H(t)},color:`blue`,iconKind:`chat`,get meta(){return H(n)},get body(){return H(i)}})}},a=P(()=>o.has(`trigger`));J(n,e=>{H(a)&&e(i)}),A(t),K(e,t)};J(p,e=>{H(r).event?e(m):H(c)?e(h,1):e(g,-1)}),A(l),V(()=>d=Z(u,``,d,{color:H(r).event?`var(--purple)`:`var(--blue)`})),Ir(`mouseenter`,u,()=>s(`trigger`)),Ir(`focus`,u,()=>s(`trigger`)),K(e,l)};J(l,e=>{t.turn.trigger&&e(u)});var d=B(l,2),f=e=>{var i=Dv();let c;var l=R(i);Y(l,17,()=>H(a).stackConvs,e=>e.id,(e,r)=>{let i=P(()=>`conv:${H(r).id}`);var a=wv(),c=R(a);qa(R(c),{kind:`chat`}),A(c);var l=B(c,2),u=R(l),d=e=>{n(e,()=>H(r))},f=P(()=>o.has(H(i)));J(u,e=>{H(f)&&e(d)}),A(l),A(a),Ir(`mouseenter`,c,()=>s(H(i))),Ir(`focus`,c,()=>s(H(i))),U(`click`,c,e=>e.stopPropagation()),U(`click`,l,e=>{e.stopPropagation(),t.onopenconversation?.(H(r))}),U(`keydown`,l,e=>{e.key===`Enter`&&(e.stopPropagation(),t.onopenconversation?.(H(r)))}),K(e,a)});var u=B(l,2);Y(u,17,()=>H(a).stackEvents,e=>e.id,(e,t)=>{let n=P(()=>`event:${H(t).id}`);var r=Tv(),i=R(r);Z(i,``,{},{color:`var(--purple)`}),qa(R(i),{kind:`gear`}),A(i);var a=B(i,2),c=R(a),l=e=>{{let n=P(()=>({kind:`text`,text:H(t).content??``}));yh(e,{get title(){return H(t).label},color:`purple`,iconKind:`gear`,meta:`system event`,get body(){return H(n)}})}},u=P(()=>o.has(H(n)));J(c,e=>{H(u)&&e(l)}),A(a),A(r),Ir(`mouseenter`,i,()=>s(H(n))),Ir(`focus`,i,()=>s(H(n))),U(`click`,i,e=>e.stopPropagation()),K(e,r)}),Y(B(u,2),17,()=>t.turn.activities,e=>e.id,(e,n)=>{let r=P(()=>`act:${H(n).id}`),i=P(()=>Dh(H(n).metadata)),a=P(()=>typeof H(n).metadata?.icon==`string`?Pl(H(n).metadata.icon):``),c=P(()=>xh(H(n).metadata,t.mind));var l=Ev(),u=R(l);let d;var f=R(u),p=e=>{var t=Kr();ui(z(t),()=>H(a)),K(e,t)},m=e=>{qa(e,{kind:`document-lines`})};J(f,e=>{H(a)?e(p):e(m,-1)}),A(u);var h=B(u,2),g=R(h),_=e=>{{let t=P(()=>typeof H(n).metadata?.icon==`string`?H(n).metadata.icon:void 0),r=P(()=>typeof H(n).metadata?.icon==`string`?void 0:`document-lines`),a=P(()=>bh(H(n).metadata));yh(e,{get title(){return H(n).summary},get color(){return H(i)},get icon(){return H(t)},get iconKind(){return H(r)},get body(){return H(a)}})}},v=P(()=>o.has(H(r)));J(g,e=>{H(v)&&e(_)}),A(h),A(l),V(()=>d=Z(u,``,d,{color:`var(--${H(i)??``})`})),Ir(`mouseenter`,u,()=>s(H(r))),Ir(`focus`,u,()=>s(H(r))),U(`click`,u,e=>{e.stopPropagation(),H(c)&&Fm(H(c))}),K(e,l)}),A(i),V(()=>c=X(i,1,`rail-stack svelte-1ly6iad`,null,c,{condensed:r()})),K(e,i)};J(d,e=>{i()&&H(a).stackCount>0&&e(f)}),K(e,c)},d=e=>{var n=Dv();let i;var a=R(n),c=e=>{let n=P(()=>t.groups.conversations.reduce((e,t)=>e+t.count,0));var r=Nv(),i=R(r),a=R(i);qa(a,{kind:`chat`});var c=B(a,2),l=e=>{var n=kv(),r=R(n,!0);A(n),V(()=>q(r,t.groups.conversations.length)),K(e,n)};J(c,e=>{t.groups.conversations.length>1&&e(l)}),A(i);var u=B(i,2),d=R(u),f=e=>{{let r=P(()=>t.groups.conversations.length===1?t.groups.conversations[0].label:`conversations`),i=P(()=>`${H(n)} msg${H(n)===1?``:`s`}`);yh(e,{get title(){return H(r)},color:`blue`,iconKind:`chat`,get meta(){return H(i)},children:(e,n)=>{var r=Mv();Y(r,21,()=>t.groups.conversations,e=>e.id,(e,n)=>{var r=Kr(),i=z(r),a=e=>{var r=Av(),i=R(r),a=R(i,!0);A(i);var o=B(i,2),s=R(o);A(o),A(r),V(()=>{q(a,H(n).label),q(s,`${H(n).count??``} msg${H(n).count===1?``:`s`}`)}),U(`click`,r,()=>t.onopenconversation?.(H(n))),K(e,r)},o=P(()=>Ch(H(n).id)),s=e=>{var t=jv(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=R(a);A(a),A(t),V(()=>{q(i,H(n).label),q(o,`${H(n).count??``} msg${H(n).count===1?``:`s`}`)}),K(e,t)};J(i,e=>{H(o)?e(a):e(s,-1)}),K(e,r)}),A(r),K(e,r)},$$slots:{default:!0}})}},p=P(()=>o.has(`convs`));J(d,e=>{H(p)&&e(f)}),A(u),A(r),Ir(`mouseenter`,i,()=>s(`convs`)),Ir(`focus`,i,()=>s(`convs`)),K(e,r)};J(a,e=>{t.groups.conversations.length>0&&e(c)});var l=B(a,2),u=e=>{let n=P(()=>t.groups.events.reduce((e,t)=>e+t.count,0));var r=Iv(),i=R(r);Z(i,``,{},{color:`var(--purple)`});var a=R(i);qa(a,{kind:`gear`});var c=B(a,2),l=e=>{var t=kv(),r=R(t,!0);A(t),V(()=>q(r,H(n))),K(e,t)};J(c,e=>{H(n)>1&&e(l)}),A(i);var u=B(i,2),d=R(u),f=e=>{{let r=P(()=>`${H(n)} event${H(n)===1?``:`s`}`);yh(e,{title:`system events`,color:`purple`,iconKind:`gear`,get meta(){return H(r)},children:(e,n)=>{var r=Mv();Y(r,21,()=>t.groups.events,e=>e.label,(e,t)=>{var n=Fv(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{var n=Pv(),r=R(n);A(n),V(()=>q(r,`×${H(t).count??``}`)),K(e,n)};J(a,e=>{H(t).count>1&&e(o)}),A(n),V(()=>q(i,H(t).label)),K(e,n)}),A(r),K(e,r)},$$slots:{default:!0}})}},p=P(()=>o.has(`events`));J(d,e=>{H(p)&&e(f)}),A(u),A(r),Ir(`mouseenter`,i,()=>s(`events`)),Ir(`focus`,i,()=>s(`events`)),K(e,r)};J(l,e=>{t.groups.events.length>0&&e(u)}),Y(B(l,2),17,()=>t.groups.activities,e=>e.type,(e,n)=>{let r=P(()=>`group:${H(n).type}`),i=P(()=>Th(H(n).type)),a=P(()=>H(n).color??H(i)?.color??`yellow`),c=P(()=>H(n).icon??H(i)?.icon),l=P(()=>H(c)?Pl(H(c)):``);var u=Rv(),d=R(u);let f;var p=R(d),m=e=>{var t=Kr();ui(z(t),()=>H(l)),K(e,t)},h=e=>{qa(e,{kind:`document-lines`})};J(p,e=>{H(l)?e(m):e(h,-1)});var g=B(p,2),_=e=>{var t=kv(),r=R(t,!0);A(t),V(()=>q(r,H(n).count)),K(e,t)};J(g,e=>{H(n).count>1&&e(_)}),A(d);var v=B(d,2),y=R(v),b=e=>{{let r=P(()=>Eh(H(n).type)),i=P(()=>H(c)?void 0:`document-lines`),o=P(()=>H(n).count>H(n).items.length?`${H(n).items.length} of ${H(n).count}`:`×${H(n).count}`);yh(e,{get title(){return H(r)},get color(){return H(a)},get icon(){return H(c)},get iconKind(){return H(i)},get meta(){return H(o)},children:(e,r)=>{var i=Mv();Y(i,21,()=>H(n).items,e=>e.id,(e,n)=>{let r=P(()=>xh(H(n).metadata,t.mind));var i=Kr(),a=z(i),o=e=>{var t=Lv(),i=R(t),a=R(i,!0);A(i);var o=B(i,2),s=e=>{var t=Pv(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created_at)]),K(e,t)};J(o,e=>{H(n).created_at&&e(s)}),A(t),V(()=>q(a,H(n).summary)),U(`click`,t,()=>Fm(H(r))),K(e,t)},s=e=>{var t=Fv(),r=R(t),i=R(r,!0);A(r);var a=B(r,2),o=e=>{var t=Pv(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created_at)]),K(e,t)};J(a,e=>{H(n).created_at&&e(o)}),A(t),V(()=>q(i,H(n).summary)),K(e,t)};J(a,e=>{H(r)?e(o):e(s,-1)}),K(e,i)}),A(i),K(e,i)},$$slots:{default:!0}})}},x=P(()=>o.has(H(r)));J(y,e=>{H(x)&&e(b)}),A(v),A(u),V(()=>f=Z(d,``,f,{color:`var(--${H(a)??``})`})),Ir(`mouseenter`,d,()=>s(H(r))),Ir(`focus`,d,()=>s(H(r))),K(e,u)}),A(n),V(()=>i=X(n,1,`rail-stack svelte-1ly6iad`,null,i,{condensed:r()})),U(`click`,n,e=>e.stopPropagation()),K(e,n)};J(l,e=>{t.turn&&H(a)?e(u):t.groups&&i()&&(t.groups.conversations.length>0||t.groups.events.length>0||t.groups.activities.length>0)&&e(d,1)}),K(e,c),N()}Lr([`click`,`keydown`]);var Bv=W(`<div class="branch-rail-hit svelte-1wz37xo"></div>`),Vv=W(`<div class="branch-header svelte-1wz37xo"><!></div>`),Hv=W(`<div class="branch-footer svelte-1wz37xo"><!></div>`),Uv=W(`<div class="tb-return svelte-1wz37xo"></div>`),Wv=W(`<div class="branch-wrapper svelte-1wz37xo"><div></div> <!> <div class="branch-content svelte-1wz37xo"><!> <!> <!> <!></div></div>`);function Gv(e,t){let n=pa(t,`gap`,3,16),r=pa(t,`reach`,3,10),i=pa(t,`railTop`,3,15),a=pa(t,`noReturn`,3,!1),o=pa(t,`dashed`,3,!1);var s=Wv();let c;var l=R(s);let u;var d=B(l,2),f=e=>{var n=Bv();U(`click`,n,function(...e){t.onrailclick?.apply(this,e)}),K(e,n)};J(d,e=>{o()&&e(f)});var p=B(d,2),m=R(p),h=e=>{var n=Vv();di(R(n),()=>t.header),A(n),U(`click`,n,function(...e){t.onheaderclick?.apply(this,e)}),K(e,n)};J(m,e=>{t.header&&e(h)});var g=B(m,2);di(g,()=>t.children);var _=B(g,2),v=e=>{var n=Hv();di(R(n),()=>t.footer),A(n),U(`click`,n,function(...e){t.onfooterclick?.apply(this,e)}),K(e,n)};J(_,e=>{t.footer&&e(v)});var y=B(_,2),b=e=>{K(e,Uv())};J(y,e=>{a()||e(b)}),A(p),A(s),V(()=>{c=Z(s,``,c,{"--branch-gap":`${n()??``}px`,"--branch-reach":`${r()??``}px`,"--rail-top":`${i()??``}px`}),u=X(l,1,`branch-connector svelte-1wz37xo`,null,u,{"branch-connector-dashed":o()})}),K(e,s)}Lr([`click`]);var Kv=W(`<div class="summary-expand-header svelte-j3zn9j"><span class="active-turn-time svelte-j3zn9j"> </span></div>`),qv=W(`<div class="summary-expand-loading svelte-j3zn9j">loading...</div>`),Jv=W(`<div class="event svelte-j3zn9j"><div class="marker marker-icon svelte-j3zn9j"><!></div> <!></div>`),Yv=W(`<span class="summary-child-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span>`,1),Xv=W(`<div class="nested-branch-wrapper svelte-j3zn9j"><!></div>`),Zv=W(`<div><div class="summary-child-dot summary-dot svelte-j3zn9j"></div> <!> <div class="summary-child-body svelte-j3zn9j"><!></div></div> <!>`,1),Qv=W(`<div><!> <!></div>`),$v=W(`<div class="summary-expand-collapse svelte-j3zn9j"><div class="summary-full markdown-body svelte-j3zn9j"></div></div>`),ey=W(`<div class="summary-collapsed svelte-j3zn9j"><span class="summary-collapsed-time svelte-j3zn9j"> </span> <span class="summary-text svelte-j3zn9j"> </span></div>`);function ty(e,t){M(t,!0);let n=pa(t,`depth`,3,0),r=new Gl,i=P(()=>t.expandedSummaries.has(t.summary.id)||t.directEventsSummaries.has(t.summary.id)),a=P(()=>t.loadingChildren.has(t.summary.id)),o=P(()=>t.directEventsSummaries.get(t.summary.id)),s=P(()=>t.expandedSummaries.get(t.summary.id)??[]),c=P(()=>n()===0?16:12),l=P(()=>n()===0?15:13),u=P(()=>H(s).some(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id))));function d(){let e=H(s).find(e=>`period`in e&&(t.expandedSummaries.has(e.id)||t.directEventsSummaries.has(e.id)));e&&`period`in e&&t.toggleSummaryExpand(e)}function f(e){return e.replace(/^\s*#{1,6}\s+/gm,``).replace(/^\s*[-*+]\s+/gm,``).replace(/(\*\*|__|\*|_|`)/g,``).trim()}var p=Kr(),m=z(p),h=e=>{Gv(e,{get gap(){return H(c)},reach:8,get railTop(){return H(l)},get dashed(){return H(u)},onheaderclick:()=>t.toggleSummaryExpand(t.summary),onfooterclick:()=>t.toggleSummaryExpand(t.summary),onrailclick:d,header:e=>{var n=Kv(),r=R(n),i=R(r,!0);A(r),A(n),V(e=>q(i,e),[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key)]),K(e,n)},children:e=>{var i=Kr(),c=z(i),l=e=>{K(e,qv())},u=e=>{let n=P(()=>E_(H(o)));var r=Kr();Y(z(r),17,()=>H(n),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,n)=>{var r=Kr(),i=z(r),a=e=>{let r=P(()=>C_(H(n).category)),i=P(()=>w_(H(n).category));var a=Jv();let o;var s=R(a);let c;qa(R(s),{get kind(){return H(i)}}),A(s),H_(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=>{gv(e,{get event(){return H(n).event},get mindName(){return t.summary.mind}})};J(i,e=>{H(n).kind===`tool-group`?e(a):e(o,-1)}),K(e,r)}),K(e,r)},d=e=>{var i=Kr();Y(z(i),17,()=>H(s),e=>`period`in e?`s-${e.id}`:`t-${e.id}`,(e,i)=>{var a=Kr(),o=z(a),s=e=>{let r=P(()=>H(i)),a=P(()=>t.expandedSummaries.has(H(r).id)||t.directEventsSummaries.has(H(r).id)),o=P(()=>H(a)?0:j_(H(r).icons));var s=Zv(),c=z(s);let l,u;var d=B(R(c),2),p=e=>{zv(e,{get groups(){return H(r).icons},get mind(){return H(r).mind},condensed:!0,onopenconversation:e=>t.onopenconversation?.(e,H(r).created_at)})};J(d,e=>{H(o)>0&&H(r).icons&&e(p)});var m=B(d,2),h=R(m),g=e=>{var n=Yv(),i=z(n),a=R(i,!0);A(i);var o=B(i,2),s=R(o,!0);A(o),V((e,t)=>{q(a,e),q(s,t)},[()=>t.formatPeriodTime(H(r).period,H(r).period_key),()=>f(H(r).content)]),K(e,n)};J(h,e=>{H(a)||e(g)}),A(m),A(c);var _=B(c,2),v=e=>{var i=Xv(),a=R(i);{let e=P(()=>n()+1);ty(a,{get summary(){return H(r)},get depth(){return H(e)},get expandedSummaries(){return t.expandedSummaries},get directEventsSummaries(){return t.directEventsSummaries},get loadingChildren(){return t.loadingChildren},get toggleSummaryExpand(){return t.toggleSummaryExpand},get formatPeriodTime(){return t.formatPeriodTime},get onopenconversation(){return t.onopenconversation}})}A(i),K(e,i)};J(_,e=>{H(a)&&e(v)}),V(()=>{l=X(c,1,`summary-child-item svelte-j3zn9j`,null,l,{"summary-child-expanded":H(a),"summary-child-collapsed":!H(a)}),u=Z(c,``,u,{"min-height":H(o)>0?`${40+H(o)*30}px`:void 0})}),U(`click`,c,e=>{e.stopPropagation(),t.toggleSummaryExpand(H(r))}),K(e,s)},c=e=>{let n=P(()=>H(i)),a=P(()=>r.has(H(n).id)),o=P(()=>H(a)?0:A_(H(n)).stackCount);var s=Qv();let c,l;var u=R(s);{let e=P(()=>!H(a));zv(u,{get turn(){return H(n)},get mind(){return H(n).mind},condensed:!0,get showStack(){return H(e)},onopenconversation:e=>t.onopenconversation?.(e,H(n).created_at)})}var d=B(u,2);{let e=P(()=>({id:0,mind:H(n).mind,channel:``,thread:null,sender:null,message_id:null,type:`summary`,content:H(n).summary??`(no summary)`,metadata:H(n).summary_meta?JSON.stringify(H(n).summary_meta):null,turn_id:H(n).id,created_at:H(n).created_at}));gv(d,{get event(){return H(e)},get mindName(){return H(n).mind},expandable:!0,onexpand:e=>{e?r.add(H(n).id):r.delete(H(n).id)}})}A(s),V(()=>{c=X(s,1,`summary-child-turn svelte-j3zn9j`,null,c,{"has-trigger":!!H(n).trigger}),l=Z(s,``,l,{"min-height":H(o)>0?`${40+H(o)*30}px`:void 0})}),U(`click`,s,e=>e.stopPropagation()),K(e,s)};J(o,e=>{`period`in H(i)?e(s):e(c,-1)}),K(e,a)}),K(e,i)};J(c,e=>{H(a)?e(l):H(o)?e(u,1):e(d,-1)}),K(e,i)},footer:e=>{var n=$v(),r=R(n);ui(r,()=>Al(t.summary.content),!0),A(r),A(n),U(`click`,n,e=>e.stopPropagation()),K(e,n)},$$slots:{header:!0,default:!0,footer:!0}})},g=e=>{var n=ey(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a,!0);A(a),A(n),V((e,t)=>{q(i,e),q(o,t)},[()=>t.formatPeriodTime(t.summary.period,t.summary.period_key),()=>f(t.summary.content)]),U(`click`,n,()=>t.toggleSummaryExpand(t.summary)),K(e,n)};J(m,e=>{H(i)?e(h):e(g,-1)}),K(e,p),N()}Lr([`click`]);var ny=W(`<div class="load-older svelte-m7q6b7"><button class="load-older-btn svelte-m7q6b7"> </button></div>`),ry=W(`<div class="error-hint svelte-m7q6b7"> </div>`),iy=W(`<div class="empty-hint svelte-m7q6b7">No activity yet.</div>`),ay=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>`),oy=W(`<button class="mind-badge svelte-m7q6b7"> </button>`),sy=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>`),cy=W(`<div class="turn-dot svelte-m7q6b7"></div>`),ly=W(`<div class="turn-stamp svelte-m7q6b7"> </div>`),uy=W(`<div class="active-turn-header svelte-m7q6b7"><span class="active-turn-time svelte-m7q6b7"> </span></div>`),dy=W(`<div class="event svelte-m7q6b7"><div class="marker marker-icon svelte-m7q6b7"><!></div> <!></div>`),fy=W(`<!> <div class="active-indicator svelte-m7q6b7"><div class="active-dot svelte-m7q6b7"></div></div>`,1),py=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"><!></div> <div role="button" tabindex="0"><!> <!></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!> <!></div></div></div>`),my=W(`<div class="turn-row svelte-m7q6b7"><div class="turn-time svelte-m7q6b7"> </div> <div class="turn-rail turn-rail-expanded svelte-m7q6b7"><div class="turn-dot-icon svelte-m7q6b7"><!></div></div> <div class="turn-body svelte-m7q6b7"><div class="turn-summary svelte-m7q6b7"><!></div></div></div>`),hy=W(`<span class="reconnecting-text svelte-m7q6b7">reconnecting…</span>`),gy=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>`),_y=W(`<div class="turn-track svelte-m7q6b7"><!> <!> <!></div>`),vy=W(`<div class="loading-more svelte-m7q6b7">loading...</div>`),yy=W(`<button class="jump-btn svelte-m7q6b7">jump to latest</button>`),by=W(`<div class="turn-timeline svelte-m7q6b7"><div class="turn-scroll svelte-m7q6b7"><!> <!> <!></div> <!></div> <!>`,1);function xy(e,t){M(t,!0);let n={hour:`turn`,day:`hour`,week:`day`,month:`week`};function r(e,t){return e===`hour`?new Date(`${t.slice(0,10)}T${t.slice(11,13)}:00:00`):e===`day`?new Date(`${t}T00:00:00`):e===`week`?$g(t):e===`month`?new Date(`${t}-01T00:00:00`):new Date(t)}function i(e,t,n){let i=Zg(n),a=new Date(i.year,i.month-1,i.day),o=new Date(a);if(o.setDate(a.getDate()-1),e===`hour`){let e=r(`hour`,t),n=new Date(e.getTime()+36e5),i=e=>e.toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`});return new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()===a.getTime()?`${i(e)} \u2013 ${i(n)}`:`${e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}, ${i(e)} \u2013 ${i(n)}`}if(e===`day`){let e=r(`day`,t);return e.getTime()===a.getTime()?`Today`:e.getTime()===o.getTime()?`Yesterday`:e.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}if(e===`week`){let e=$g(t),n=new Date(e);n.setDate(e.getDate()+6);let r=e=>e.toLocaleDateString(void 0,{month:`short`,day:`numeric`});return e.getFullYear()===i.year?`${r(e)} \u2013 ${r(n)}`:`${r(e)} \u2013 ${r(n)}, ${e.getFullYear()}`}if(e===`month`){let[e,n]=t.split(`-`);return new Date(parseInt(e,10),parseInt(n,10)-1,1).toLocaleDateString(void 0,{month:`long`,year:`numeric`})}return t}let a=F([]),o=F(!1),s=F(``),c=F(void 0),l=F(!1),u=F(null),d=F([]),f=F([]),p=F([]),m=F([]),h=F(!1),g=F(!0),_=F(!1),v=P(()=>H(g)&&(H(p).length>0||H(m).length>0)),y=F(L(new Kl)),b=new Gl,x=F(L(new Kl)),S=Ch,C=new Map,w=new Kl,T=new Gl;function E(e,t){C.set(e,t),w.set(e,E_(t)),T.add(e)}function ee(e,t){let n=[...C.get(e)??[],t];C.set(e,n),w.set(e,O_(w.get(e)??[],n,t))}function te(e){C.delete(e),w.delete(e),T.delete(e)}let ne=-1,D=F(L([])),O=new Map,re=F(L(new Set));function ie(e,n={}){return{id:ne--,mind:e.mind??t.name??``,channel:e.channel??``,thread:e.session??null,sender:e.sender??null,message_id:e.messageId??null,type:e.type??``,content:e.content??``,metadata:e.metadata?JSON.stringify(e.metadata):null,turn_id:null,created_at:new Date().toISOString(),...n}}function ae(e){let t=!1,n=[];for(let r of e){let e=H(a).findIndex(e=>e.id===r.id);e===-1?n.push(r):(H(a)[e]=r,t=!0)}n.length>0?I(a,[...H(a),...n]):t&&I(a,[...H(a)])}function k(e,t){I(u,{id:e.id,type:e.type,user_id:null,created_at:t,updated_at:t,private:0,channel_name:e.type===`channel`?e.label.replace(/^#/,``):null,participants:[]},!0)}function oe(e){return new Date(Rl(e)).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}function se(e,t){t?H(re).add(e):H(re).delete(e),I(re,new Set(H(re)),!0)}let ce=F(void 0),le=F(!1),ue=null,de=F(!1),fe=0,pe=null,me=new Map;function he(){pe&&=(clearTimeout(pe),null)}function ge(){if(pe)return;let e=a_(fe);fe++,pe=setTimeout(()=>{pe=null,ve()},e)}async function _e(){if(t.name)try{ae([...await Fu({mind:t.name,limit:100,offset:0})].reverse());for(let e of H(a))if(e.status===`active`){let t=e.id,n=e.mind;me.set(t,Date.now()),C.has(t)||E(t,[]),Pu(n,{turnId:t}).then(e=>{C.has(t)&&E(t,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to resync active turn events:`,e))}else C.has(e.id)&&(te(e.id),me.delete(e.id))}catch(e){console.warn(`[TurnTimeline] Failed to resync after reconnect:`,e)}}function ve(){ye();let e=`/api/v1/history/events${t.name?`?mind=${encodeURIComponent(t.name)}`:``}`,n=new EventSource(e);n.onmessage=e=>{let n;try{n=JSON.parse(e.data)}catch(t){console.warn(`[TurnTimeline] Failed to parse SSE event:`,e.data,t);return}let r=n.turnId,i=n.type;if((i===`inbound`||i===`event`)&&!r)I(D,[...H(D),ie(n)],!0);else if(i===`turn_created`&&r){if(H(a).some(e=>e.id===r)||I(a,[...H(a),{id:r,mind:n.mind??t.name??``,summary:null,summary_meta:null,status:`active`,created_at:new Date().toISOString(),trigger:null,conversations:[],events:[],activities:[]}]),H(D).length>0){let e=H(D).map(e=>({...e,turn_id:r})),t=C.get(r)??[];E(r,[...e,...t])}else C.has(r)||E(r,[]);I(D,[],!0),me.set(r,Date.now());let e=n.mind??t.name??``;new Promise(e=>setTimeout(e,500)).then(()=>Pu(e,{turnId:r})).then(e=>{C.has(r)&&E(r,e)}).catch(e=>console.warn(`[TurnTimeline] Failed to fetch turn events:`,e))}else if(i===`summary`&&r){clearTimeout(O.get(r)),O.delete(r);let e=C.get(r);te(r),me.delete(r),Fu({mind:t.name,turnId:r}).then(e=>{ae(e),requestAnimationFrame(()=>{!H(le)&&H(ce)&&H(ce).scrollTo({top:H(ce).scrollHeight,behavior:`smooth`})})}).catch(t=>{console.warn(`[TurnTimeline] Failed to fetch completed turn:`,t),C.has(r)||E(r,e??[])})}else if(i===`done`&&r){if(!O.has(r)){let e=r;O.set(e,setTimeout(()=>{O.delete(e),C.has(e)&&(te(e),Fu({mind:t.name,turnId:e}).then(e=>ae(e)).catch(e=>console.warn(`[TurnTimeline] Failed to refresh turn after done:`,e)))},1e4))}}else r&&C.has(r)&&(ee(r,ie(n,{turn_id:r})),me.set(r,Date.now()));De()},n.onopen=()=>{he();let e=H(de);fe=0,I(de,!1),e&&_e()},n.onerror=()=>{n.readyState===EventSource.CLOSED?(I(de,!0),ge()):n.readyState===EventSource.CONNECTING&&I(de,!0)},ue=n}function ye(){he(),ue&&=(ue.close(),null);for(let e of O.values())clearTimeout(e);O.clear()}async function be(){I(o,!0),I(s,``);try{ae([...await Fu({mind:t.name,limit:100})].reverse()),H(D).length===0&&t.name&&Nu(t.name,{preset:`all`,limit:10}).then(e=>{let t=e.filter(e=>(e.type===`inbound`||e.type===`event`)&&!e.turn_id&&l_(e.created_at));t.length>0&&H(D).length===0&&I(D,t,!0)}).catch(e=>console.warn(`[TurnTimeline] Failed to check pending inbounds:`,e));for(let e of H(a))e.status===`active`&&!C.has(e.id)&&(E(e.id,[]),Pu(e.mind,{turnId:e.id}).then(t=>{C.has(e.id)&&E(e.id,t)}).catch(e=>console.warn(`[TurnTimeline] Failed to backfill active turn events:`,e)))}catch(e){I(s,e instanceof Error?e.message:`Failed to load`,!0)}I(o,!1)}async function xe(){try{let e=t_(H(c)),[n,r,i,a]=await Promise.all([Iu({mind:t.name,period:`hour`,from:e.todayHourFrom,to:e.hourCutoff,limit:24,icons:!0}),Iu({mind:t.name,period:`day`,from:e.weekCutoff,to:e.todayKey,limit:7,icons:!0}),Iu({mind:t.name,period:`week`,to:e.weekCutoff,limit:12,icons:!0}),Iu({mind:t.name,period:`month`,to:e.currentMonthKey,limit:12,icons:!0})]);I(d,n.sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(f,r.filter(t=>t.period_key<e.todayKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(p,i.filter(t=>t.period_key<e.currentWeekKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(m,a.filter(t=>t.period_key<e.currentMonthKey).sort((e,t)=>e.period_key.localeCompare(t.period_key))),I(g,!0),I(h,!0)}catch(e){console.warn(`[TurnTimeline] Failed to load summaries:`,e),I(h,!0)}}async function Se(){if(H(_))return;let e=n_(H(p),H(m));if(!e){I(g,!1);return}I(_,!0);try{let n=await Iu({mind:t.name,period:e.tier,to:e.to,limit:12,icons:!0});if(e.tier===`month`){let{merged:e,exhausted:t}=r_(H(m),n);I(m,e),t&&I(g,!1)}else{let{merged:e,exhausted:t}=r_(H(p),n);I(p,e),t&&I(g,!1)}}catch(e){console.warn(`[TurnTimeline] Failed to load older summaries:`,e)}I(_,!1)}async function Ce(e){if(H(y).has(e.id)||H(x).has(e.id)){H(y).delete(e.id),H(x).delete(e.id);return}b.add(e.id);try{let r=e.mind===`_system`,i=n[e.period];if(r&&i===`turn`){let t=e.metadata?.minds??[],n=(await Promise.all(t.map(t=>Iu({mind:t,period:e.period,from:e.period_key,to:e.period_key,limit:1,icons:!0})))).flat().sort((e,t)=>e.mind.localeCompare(t.mind));H(y).set(e.id,n)}else if(i===`turn`){let t=e.metadata?.source_ids??[];if(t.length>0){let n=await Lu(t),r=n.filter(e=>S(e.period_key));if(r.length<n.length)H(y).set(e.id,n);else if(r.length===1){let t=await Pu(r[0].mind,{turnId:r[0].period_key});H(x).set(e.id,t)}else if(r.length>0){let t=await Fu({turnIds:r.map(e=>e.period_key)});t.sort((e,t)=>e.created_at.localeCompare(t.created_at)),H(y).set(e.id,t)}else H(y).set(e.id,[])}else H(y).set(e.id,[])}else{let n,r;if(e.period===`day`)n=e.period_key,r=`${e.period_key}T99`;else if(e.period===`week`){let t=$g(e.period_key),i=new Date(t);i.setDate(t.getDate()+6);let a=e=>String(e).padStart(2,`0`);n=`${t.getFullYear()}-${a(t.getMonth()+1)}-${a(t.getDate())}`,r=`${i.getFullYear()}-${a(i.getMonth()+1)}-${a(i.getDate())}`}else if(e.period===`month`){let[t,i]=e.period_key.split(`-`).map(Number),a=new Date(t,i,0).getDate();n=`${e.period_key}-01`,r=`${e.period_key}-${String(a).padStart(2,`0`)}`}else n=e.period_key,r=e.period_key;let a=await Iu({mind:t.name,period:i,from:n,to:r,limit:100,icons:!0});H(y).set(e.id,a.sort((e,t)=>e.period_key.localeCompare(t.period_key)))}}catch(e){console.warn(`[TurnTimeline] Failed to load summary children:`,e)}b.delete(e.id)}let we=F(L(Date.now())),Te=P(()=>{let e=[],t=new Date(H(we));for(let t of H(m))e.push({kind:`summary`,summary:t});for(let t of H(p))e.push({kind:`summary`,summary:t});(H(m).length>0||H(p).length>0)&&H(f).length>0&&e.push({kind:`separator`,above:`earlier`,below:`this week`});for(let t of H(f))e.push({kind:`summary`,summary:t});let n=y_({now:t,hourSummaries:H(d),turnsData:H(a),isActive:e=>e.status===`active`||T.has(e.id)});e.length>0&&n.length>0&&e.push({kind:`separator`,above:`earlier this week`,below:`today`});for(let t of n)e.push(t);return e}),Ee=!1;function De(){H(le)||Ee||(Ee=!0,requestAnimationFrame(()=>{Ee=!1,!H(le)&&H(ce)&&(H(ce).scrollTop=H(ce).scrollHeight)}))}let Oe=null,ke=null;function Ae(){je(),Oe=setInterval(()=>{H(ce)&&(H(ce).scrollTop=H(ce).scrollHeight)},100),ke=setTimeout(()=>{je()},3e3)}function je(){Oe&&=(clearInterval(Oe),null),ke&&=(clearTimeout(ke),null)}let Me=``;Tn(()=>{let e=t.name;e!==Me&&(Me=e,I(a,[]),C.clear(),w.clear(),T.clear(),ne=-1,I(D,[],!0),I(d,[]),I(f,[]),I(p,[]),I(m,[]),I(h,!1),I(g,!0),I(y,new Kl,!0),I(x,new Kl,!0),I(de,!1),fe=0,me.clear(),Ae(),be())}),Tn(()=>{let e=()=>{document.visibilityState===`visible`&&I(we,Date.now(),!0)};document.addEventListener(`visibilitychange`,e);let n=setInterval(()=>{if(I(we,Date.now(),!0),H(D).length>0){let e=u_(H(D));e.length!==H(D).length&&I(D,e,!0)}let e=Date.now();for(let n of H(a))n.status===`active`&&f_(p_(n.created_at,me.get(n.id)),e)&&(me.set(n.id,e),Fu({mind:t.name,turnId:n.id}).then(e=>{let t=e[0];t&&t.status!==`active`&&(te(n.id),me.delete(n.id)),ae(e)}).catch(e=>console.warn(`[TurnTimeline] Failed to check stale turn:`,e)))},3e4);return()=>{clearInterval(n),document.removeEventListener(`visibilitychange`,e)}}),Tn(()=>{bd().then(e=>{I(c,e.timezone??void 0,!0)}).catch(()=>{}).finally(()=>{I(l,!0)})}),Tn(()=>{H(l)&&H(a).length>0&&!H(h)&&!H(o)&&xe()}),Tn(()=>(t.name,ve(),()=>ye())),Tn(()=>()=>je());function Ne(){if(!H(ce))return;let{scrollTop:e,scrollHeight:t,clientHeight:n}=H(ce),r=t-e-n;I(le,r>100)}function Pe(){H(ce)?.scrollTo({top:H(ce).scrollHeight,behavior:`smooth`}),I(le,!1)}var Fe=by(),Ie=z(Fe),Le=R(Ie),Re=R(Le),ze=e=>{var t=ny(),n=R(t);let r;var i=R(n,!0);A(n),A(t),V(()=>{n.disabled=H(_),r=Z(n,``,r,{opacity:H(_)?.5:1}),q(i,H(_)?`loading...`:`load older`)}),U(`click`,n,Se),K(e,t)};J(Re,e=>{H(v)&&e(ze)});var Be=B(Re,2),Ve=e=>{var t=ry(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},He=e=>{K(e,iy())},Ue=e=>{var n=_y(),r=R(n);Y(r,17,()=>H(Te),e=>e.kind===`turn`?`turn-${e.turn.id}`:e.kind===`summary`?`summary-${e.summary.id}`:`sep-${e.above}-${e.below}`,(e,n)=>{var r=Kr(),a=z(r),o=e=>{var t=ay(),r=B(R(t),2),i=B(R(r),6),a=B(R(i),2),o=R(a,!0);A(a),A(i);var s=B(i,2),c=B(R(s),2),l=R(c,!0);A(c),A(s),A(r),j(2),A(t),V(()=>{q(o,H(n).above),q(l,H(n).below)}),K(e,t)},s=e=>{let r=P(()=>H(n).summary),a=P(()=>H(y).has(H(r).id)||H(x).has(H(r).id)),o=P(()=>H(r).icons),s=P(()=>H(a)?0:j_(H(o)));var l=sy();let u;var d=R(l),f=R(d),p=e=>{var t=oy(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>Fm(`/minds/${H(r).mind}/history`)),K(e,t)};J(f,e=>{!t.name&&H(r).mind!==`_system`&&e(p)}),A(d);var m=B(d,2);let h;var g=B(R(m),2),_=e=>{zv(e,{get groups(){return H(o)},get mind(){return H(r).mind},condensed:!0,onopenconversation:e=>k(e,H(r).created_at)})};J(g,e=>{H(s)>0&&H(o)&&e(_)}),A(m);var v=B(m,2),S=R(v);ty(R(S),{get summary(){return H(r)},get expandedSummaries(){return H(y)},get directEventsSummaries(){return H(x)},get loadingChildren(){return b},toggleSummaryExpand:Ce,formatPeriodTime:(e,t)=>i(e,t,H(c)),onopenconversation:k}),A(S),A(v),A(l),V(()=>{Xi(l,`data-summary-id`,H(r).id),u=Z(l,``,u,{"min-height":H(s)>0?`${42+H(s)*30}px`:void 0}),h=X(m,1,`turn-rail svelte-m7q6b7`,null,h,{"turn-rail-expanded":H(a)})}),U(`click`,m,()=>Ce(H(r))),U(`keydown`,m,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Ce(H(r)))}),K(e,l)},l=e=>{let r=P(()=>H(n).turn),i=P(()=>!H(re).has(H(r).id)&&H(r).status!==`active`),a=P(()=>H(i)?A_(H(r)).stackCount:0);var o=py();let s;var c=R(o),l=R(c),u=e=>{var t=oy(),n=R(t,!0);A(t),V(()=>q(n,H(r).mind)),U(`click`,t,()=>Fm(`/minds/${H(r).mind}/history`)),K(e,t)};J(l,e=>{t.name||e(u)}),A(c);var d=B(c,2);let f;var p=R(d),m=e=>{K(e,cy())};J(p,e=>{H(r).trigger||e(m)}),zv(B(p,2),{get turn(){return H(r)},get mind(){return H(r).mind},get showStack(){return H(i)},onopenconversation:e=>k(e,H(r).created_at)}),A(d);var h=B(d,2),g=R(h),_=R(g),v=e=>{var t=ly(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>oe(H(r).created_at)]),K(e,t)};J(_,e=>{(H(r).summary||H(r).status===`complete`)&&e(v)});var y=B(_,2),b=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:``,thread:null,sender:null,message_id:null,type:`summary`,content:H(r).summary,metadata:H(r).summary_meta?JSON.stringify(H(r).summary_meta):null,turn_id:H(r).id,created_at:H(r).created_at}));gv(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,onexpand:e=>se(H(r).id,e)})}},x=e=>{{let t=P(()=>({id:0,mind:H(r).mind,channel:H(r).trigger?.event?``:H(r).trigger?.channel??``,thread:null,sender:H(r).trigger?.event?null:H(r).trigger?.sender??null,message_id:null,type:`summary`,content:H(r).trigger?.event?`System event: ${H(r).trigger.event.label}`:H(r).trigger?.content??`(no summary)`,metadata:null,turn_id:H(r).id,created_at:H(r).created_at}));gv(e,{get event(){return H(t)},get mindName(){return H(r).mind},expandable:!0,onexpand:e=>se(H(r).id,e)})}},S=e=>{let t=P(()=>w.get(H(r).id)??[]),n=P(()=>new Date(Rl(H(r).created_at)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}));Gv(e,{gap:24,reach:11,noReturn:!0,header:e=>{var t=uy(),r=R(t),i=R(r);A(r),A(t),V(()=>q(i,`${H(n)??``} – now`)),K(e,t)},children:e=>{var n=fy(),i=z(n),a=e=>{var n=Kr();Y(z(n),17,()=>H(t),e=>e.kind===`tool-group`?`tg-${e.toolUse.id}`:`ev-${e.event.id}`,(e,t)=>{var n=Kr(),i=z(n),a=e=>{let n=P(()=>C_(H(t).category)),i=P(()=>w_(H(t).category));var a=dy();let o;var s=R(a);let c;qa(R(s),{get kind(){return H(i)}}),A(s),H_(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=>{gv(e,{get event(){return H(t).event},get mindName(){return H(r).mind}})};J(i,e=>{H(t).kind===`tool-group`?e(a):e(o,-1)}),K(e,n)}),K(e,n)};J(i,e=>{H(t).length>0&&e(a)}),j(2),K(e,n)},$$slots:{header:!0,default:!0}})};J(y,e=>{H(r).summary?e(b):H(r).status===`complete`?e(x,1):e(S,-1)}),A(g),A(h),A(o),V(e=>{Xi(o,`data-turn-id`,H(r).id),s=Z(o,``,s,{"min-height":H(a)>0?`${36+H(a)*48}px`:void 0}),f=X(d,1,`turn-rail svelte-m7q6b7`,null,f,e)},[()=>({"turn-rail-expanded":H(re).has(H(r).id)||H(r).status===`active`})]),U(`click`,d,e=>{if(!H(r).summary)return;e.stopPropagation();let t=e.currentTarget.closest(`.turn-row`)?.querySelector(`:scope > .turn-body > .turn-summary > .event`);t&&t.click()}),U(`keydown`,d,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.currentTarget.click())}),K(e,o)};J(a,e=>{H(n).kind===`separator`?e(o):H(n).kind===`summary`?e(s,1):e(l,-1)}),K(e,r)});var a=B(r,2),o=e=>{var n=my(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=R(a);let s;var c=R(o);{let e=P(()=>H(D)[0].type===`event`?`gear`:`chat`);qa(c,{get kind(){return H(e)}})}A(o),A(a);var l=B(a,2),u=R(l);Gv(R(u),{gap:24,reach:11,noReturn:!0,header:e=>{var t=uy(),n=R(t),r=R(n);A(n),A(t),V(e=>q(r,`${e??``} – now`),[()=>new Date(Rl(H(D)[0].created_at)).toLocaleString(void 0,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})]),K(e,t)},children:e=>{var n=fy();Y(z(n),17,()=>H(D),e=>e.id,(e,n)=>{{let r=P(()=>H(n).mind||t.name||``);gv(e,{get event(){return H(n)},get mindName(){return H(r)}})}}),j(2),K(e,n)},$$slots:{header:!0,default:!0}}),A(u),A(l),A(n),V(e=>{q(i,e),s=Z(o,``,s,{color:H(D)[0].type===`event`?`var(--purple)`:`var(--blue)`})},[()=>Bl(H(D)[0].created_at)]),K(e,n)};J(a,e=>{H(D).length>0&&e(o)});var s=B(a,2),l=e=>{let n=P(()=>Qf.has(t.name)?`active`:t.mindStatus===`sleeping`?`asleep`:t.mindStatus===`running`?`awake`:`offline`),r=P(()=>Qf.has(t.name)?void 0:t.mindStatus===`sleeping`?`var(--purple)`:t.mindStatus===`running`?`var(--text-0)`:`var(--text-2)`);var i=gy(),a=B(R(i),2),o=R(a);let s,c;A(a);var l=B(a,2),u=R(l);let d;var f=R(u);A(u);var p=B(u,2),m=e=>{K(e,hy())};J(p,e=>{H(de)&&e(m)}),A(l),A(i),V((e,i)=>{s=X(o,1,`mind-status-dot svelte-m7q6b7`,null,s,e),c=Z(o,``,c,{background:H(r)}),d=Z(u,``,d,i),q(f,`${t.name??``} is ${H(n)??``}`)},[()=>({iridescent:Qf.has(t.name)}),()=>({color:Qf.has(t.name)?`var(--accent)`:H(r)})]),K(e,i)};J(s,e=>{t.name&&e(l)}),A(n),K(e,n)};J(Be,e=>{H(s)?e(Ve):H(Te).length===0&&!H(o)?e(He,1):e(Ue,-1)});var We=B(Be,2),Ge=e=>{K(e,vy())};J(We,e=>{H(o)&&H(a).length>0&&e(Ge)}),A(Le),ua(Le,e=>I(ce,e),()=>H(ce));var Ke=B(Le,2),qe=e=>{var t=yy();U(`click`,t,Pe),K(e,t)};J(Ke,e=>{H(le)&&e(qe)}),A(Ie);var Je=B(Ie,2),Ye=e=>{{let n=P(()=>t.name??``);ch(e,{get mindName(){return H(n)},get conversation(){return H(u)},canChat:!1,onClose:()=>{I(u,null)}})}};J(Je,e=>{H(u)&&e(Ye)}),Ir(`scroll`,Le,Ne),Ir(`wheel`,Le,()=>je()),K(e,Fe),N()}Lr([`click`,`keydown`]);var Sy=W(`<button class="context-label-btn svelte-1nq4ldw"> </button>`),Cy=W(`<div class="frame-content mind-frame svelte-1nq4ldw"><!></div>`),wy=W(`<div class="frame-content padded svelte-1nq4ldw"><div class="not-found svelte-1nq4ldw">Channel not found.</div></div>`),Ty=W(`<div class="frame-content svelte-1nq4ldw"><!></div>`),Ey=W(`<div class="frame-content svelte-1nq4ldw"><iframe class="page-iframe svelte-1nq4ldw" title="Extension"></iframe></div>`),Dy=W(`<div class="frame-content padded svelte-1nq4ldw"><!></div>`),Oy=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 ky(e,t){M(t,!0);let n=P(()=>{if(t.selection.kind===`channel`)return t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)}),r=P(()=>H(n)?H(n).participants?.find(e=>e.userType===`mind`)?.username??``:``),i=P(()=>t.selection.kind===`mind`?t.conversations.find(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];return n.length===2&&n.some(e=>e.username===t.selection.name)})?.id??null:null),a=P(()=>t.selection.kind===`channel`&&H(n)?`#${H(n).channel_name??``}`:t.selection.kind===`mind`?t.minds.find(e=>e.name===t.selection.name)?.displayName??t.selection.name:``);var o=Oy(),s=R(o),c=R(s),l=B(c,6),u=e=>{var n=Sy(),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=Cy();Yg(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=Ty(),a=R(i),o=e=>{{let i=P(()=>H(n).channel_name??``),a=P(()=>H(n).participants??[]);Ug(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,wy())};J(a,e=>{H(n)?e(o):e(s,-1)}),A(i),K(e,i)},m=e=>{var n=Ey(),r=R(n);A(n),V(()=>Xi(r,`src`,`/ext/${t.selection.extensionId??``}/#${t.selection.path?`/`+t.selection.path:``}`)),K(e,n)},h=e=>{var t=Cy();xy(R(t),{}),A(t),K(e,t)},g=e=>{var n=Dy();Rh(R(n),{get username(){return t.username},get conversations(){return t.conversations},get onSelectConversation(){return t.onSelectConversation},get onSeed(){return t.onSeed}}),A(n),K(e,n)};J(d,e=>{t.selection.kind===`mind`?e(f):t.selection.kind===`channel`?e(p,1):t.selection.kind===`extension`?e(m,2):t.selection.kind===`system-history`?e(h,3):e(g,-1)}),A(o),U(`click`,c,()=>t.onToggleSidebar?.()),K(e,o),N()}Lr([`click`]);var Ay=W(`<button class="browse-btn svelte-1o8uegr">browse</button>`),jy=W(`<div class="section-header svelte-1o8uegr"><span>CHANNELS</span> <!></div>`),My=Gr(`<svg class="lock-icon svelte-1o8uegr" viewBox="0 0 16 16" fill="currentColor"><path d="M11 7V5a3 3 0 0 0-6 0v2H4v6h8V7h-1zm-4-2a1 1 0 1 1 2 0v2H7V5z"></path></svg>`),Ny=W(`<span class="unread-badge svelte-1o8uegr"> </span>`),Py=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>`),Fy=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>`),Iy=W(`<!> <!>`,1),Ly=W(`<div class="section-header svelte-1o8uegr"><span>DIRECT MESSAGES</span></div>`),Ry=W(`<button></button> <button class="conv-label-mind svelte-1o8uegr"> </button>`,1),zy=W(`<span class="conv-label-text svelte-1o8uegr"> </span>`),By=W(`<span class="seed-tag svelte-1o8uegr">seed</span>`),Vy=W(`<div class="member-count svelte-1o8uegr"> </div>`),Hy=W(`<div role="button" tabindex="0"><div class="conv-item-header svelte-1o8uegr"><div><!> <!> <!></div> <button>...</button> <!></div> <!></div>`),Uy=W(`<div class="empty svelte-1o8uegr">No conversations yet</div>`),Wy=W(`<!> <!> <!>`,1),Gy=W(`<button class="context-item svelte-1o8uegr">Open mind</button>`),Ky=W(`<button class="context-item svelte-1o8uegr">Close chat</button>`),qy=W(`<!> <button class="context-item svelte-1o8uegr"> </button> <!>`,1),Jy=W(`<div class="conv-list svelte-1o8uegr"><!> <!></div> <!>`,1);function Yy(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=Jy(),c=z(s),l=R(c),u=e=>{var r=Iy(),i=z(r),a=e=>{var n=jy(),r=B(R(n),2),i=e=>{var n=Ay();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(()=>ep.get(H(n).id)??0);var i=Fy();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,My())};J(d,e=>{H(n).private===1&&e(f)}),A(s);var p=B(s,2),m=e=>{var t=Ny(),n=R(t,!0);A(t),V(()=>q(n,H(r))),K(e,t)},h=e=>{var r=Py();U(`click`,r,e=>{e.stopPropagation(),t.onDelete(H(n).id)}),K(e,r)};J(p,e=>{H(r)>0?e(m):e(h,-1)}),A(o),A(i),V(e=>{a=X(i,1,`conv-item svelte-1o8uegr`,null,a,{active:H(n).id===t.activeId}),c=X(s,1,`conv-item-label svelte-1o8uegr`,null,c,{active:H(n).id===t.activeId,unread:H(r)>0}),q(u,e)},[()=>Vl(H(n).participants??[],t.username,H(n))]),U(`click`,i,()=>t.onSelect(H(n).id)),U(`keydown`,i,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onSelect(H(n).id))}),K(e,i)}),K(e,r)};J(l,e=>{t.mode!==`dms`&&e(u)});var d=B(l,2),f=e=>{var n=Wy(),s=z(n),c=e=>{K(e,Ly())};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(()=>ep.get(H(n).id)??0);var d=Hy();let f;var p=R(d),m=R(p);let h;var g=R(m),_=e=>{var n=Ry(),r=z(n);let i,a;var o=B(r,2),s=R(o,!0);A(o),V((e,t)=>{i=X(r,1,`status-dot svelte-1o8uegr`,null,i,e),Xi(r,`title`,`Open ${H(c).otherName??``}`),a=Z(r,``,a,t),q(s,H(c).otherName)},[()=>({iridescent:Qf.has(H(c).mind.name)}),()=>({background:Qf.has(H(c).mind.name)?void 0:Ll(H(c).mind)})]),U(`click`,r,e=>{e.stopPropagation(),t.onOpenMind(H(c).mind)}),U(`click`,o,e=>{e.stopPropagation(),t.onOpenMind(H(c).mind)}),K(e,n)},v=e=>{var t=zy(),n=R(t);A(t),V(()=>q(n,`@${H(c).otherName??``}`)),K(e,t)},y=e=>{var r=zy(),i=R(r,!0);A(r),V(e=>q(i,e),[()=>Vl(H(n).participants??[],t.username,H(n))]),K(e,r)};J(g,e=>{H(c).isMindDm&&H(c).mind?e(_):H(c).otherName?e(v,1):e(y,-1)});var b=B(g,2),x=e=>{K(e,My())};J(b,e=>{H(n).private===1&&e(x)});var S=B(b,2),C=e=>{K(e,By())};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=Ny(),n=R(t,!0);A(t),V(()=>q(n,H(u))),K(e,t)};J(E,e=>{H(u)>0&&e(ee)}),A(p);var te=B(p,2),ne=e=>{var t=Vy(),r=R(t);A(t),V(()=>q(r,`${H(n).participants?.length??``} members`)),K(e,t)};J(te,e=>{H(l)&&e(ne)}),A(d),V(()=>{f=X(d,1,`conv-item svelte-1o8uegr`,null,f,{active:H(n).id===t.activeId}),h=X(m,1,`conv-item-label svelte-1o8uegr`,null,h,{active:H(n).id===t.activeId,unread:H(u)>0}),T=X(w,1,`menu-btn svelte-1o8uegr`,null,T,{visible:H(n).id===t.activeId||H(n).id===H(i)?.id})}),U(`click`,d,()=>t.onSelect(H(n).id)),U(`keydown`,d,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onSelect(H(n).id))}),U(`click`,w,e=>o(e,H(n).id)),K(e,d)});var u=B(l,2),d=e=>{K(e,Uy())};J(u,e=>{H(r).length===0&&t.mode===`dms`&&e(d)}),K(e,n)};J(d,e=>{t.mode!==`channels`&&e(f)}),A(c);var p=B(c,2),m=e=>{let n=P(()=>H(i).id),r=P(()=>t.conversations.find(e=>e.id===H(n))),o=P(()=>H(r)?a(H(r)):{isMindDm:!1});{let n=P(()=>!!H(i)),a=P(()=>({x:H(i).x,y:H(i).y}));ya(e,{get open(){return H(n)},onclose:()=>I(i,null),get position(){return H(a)},children:(e,n)=>{var a=qy(),s=z(a),c=e=>{var n=Gy();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=Ky();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 Au(e,t),n.private=+!!t}catch(e){console.error(`Failed to update conversation privacy:`,e)}}I(i,null)}),K(e,a)},$$slots:{default:!0}})}};J(p,e=>{H(i)&&e(m)}),K(e,s),N()}Lr([`click`,`keydown`]);var Xy=W(`<button class="oauth-warning-btn svelte-1dkz474">!</button>`),Zy=W(`<div class="minds-empty svelte-1dkz474"><span class="minds-empty-label svelte-1dkz474">No minds yet</span> <button class="minds-empty-btn svelte-1dkz474">Plant a seed</button></div>`),Qy=W(`<span class="stale-badge svelte-1dkz474">outdated</span>`),$y=W(`<span class="upgrade-blocked-badge svelte-1dkz474">upgrade blocked</span>`),eb=W(`<span class="unread-dot svelte-1dkz474"></span>`),tb=W(`<span></span> <span class="nav-label svelte-1dkz474"> </span> <!> <!> <!> <!>`,1),nb=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>`),rb=W(`<div class="item-list svelte-1dkz474"><!> <!></div>`),ib=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>`),ab=W(`<button class="mind-menu-item svelte-1dkz474"><!> Variants</button>`),ob=W(`<button class="mind-menu-item svelte-1dkz474"><!> Context</button>`),sb=W(`<button class="mind-menu-item svelte-1dkz474"><!> Start</button>`),cb=W(`<button class="mind-menu-item svelte-1dkz474"><!> Restart</button> <button class="mind-menu-item danger svelte-1dkz474"><!> Stop</button>`,1),lb=W(`<div class="mind-menu svelte-1dkz474" role="menu" tabindex="-1"><button class="mind-menu-item svelte-1dkz474"><!> Files</button> <button class="mind-menu-item svelte-1dkz474"><!> Settings</button> <!> <button class="mind-menu-item svelte-1dkz474"><!> Events</button> <!> <div class="mind-menu-divider svelte-1dkz474"></div> <!></div>`),ub=W(`<span class="reauth-provider-error svelte-1dkz474"> </span>`),db=W(`<button class="reauth-provider-btn svelte-1dkz474"><span class="reauth-provider-name svelte-1dkz474"> </span> <!></button>`),fb=W(`<div class="reauth-body svelte-1dkz474"><p class="reauth-desc svelte-1dkz474">The following providers need re-authentication:</p> <!></div>`),pb=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),mb=W(`<p class="reauth-msg reauth-msg-error svelte-1dkz474"> </p> <button class="reauth-btn svelte-1dkz474">Close</button>`,1),hb=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),gb=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>`),vb=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 yb(e,t){M(t,!0);let n=P(()=>Zf.oauthErrors.length>0),r=F(!1);function i(e){if(e.stopPropagation(),Zf.oauthErrors.length===1){let e=Zf.oauthErrors[0];zf(e.id,e.oauthName??e.id)}else I(r,!0)}function a(e,t){I(r,!1),zf(e,t??e)}function o(){Uf(),I(r,!1)}function s(){try{let e=localStorage.getItem(`volute:sidebar-collapsed`);return e?new Set(JSON.parse(e)):new Set}catch{return new Set}}let c=F(L(s()));function l(e){H(c).has(e)?H(c).delete(e):H(c).add(e),I(c,new Set(H(c)),!0),localStorage.setItem(`volute:sidebar-collapsed`,JSON.stringify([...H(c)]))}let u=P(()=>new Set(t.minds.map(e=>e.name))),d=P(()=>new Map(t.conversations.filter(e=>{if(e.type===`channel`)return!1;let n=e.participants??[];if(n.length!==2)return!1;let r=n.find(e=>e.username!==t.username);return r?H(u).has(r.username):!1}).map(e=>[e.participants.find(e=>e.username!==t.username).username,e.id]))),f=P(()=>[...t.minds].sort((e,t)=>{let n=e.mindType===`spirit`?0:1,r=t.mindType===`spirit`?0:1;if(n!==r)return n-r;let i=Qf.has(e.name)?0:e.status===`running`?1:2,a=Qf.has(t.name)?0:t.status===`running`?1:2;return i===a?e.name.localeCompare(t.name):i-a})),p=F(null),m=F(L({top:0,left:0}));function h(e,t=`__system__`){if(e.stopPropagation(),H(p)===t)I(p,null);else{let n=e.currentTarget.getBoundingClientRect();I(m,{top:n.bottom+2,left:n.left},!0),I(p,t,!0)}}function g(e,n){I(p,null),e===`__system__`?t.onSelectSystemSection(n):t.onSelectMindSection(e,n)}function _(e){H(p)&&!e.target.closest(`.menu-container`)&&I(p,null)}function v(){H(p)&&I(p,null)}let y=P(()=>H(p)?t.minds.find(e=>e.name===H(p)):null);async function b(){if(!H(p))return;let e=H(p);I(p,null),await Su(e)}async function x(){if(!H(p))return;let e=H(p);I(p,null),await Cu(e)}async function S(){if(!H(p))return;let e=H(p);I(p,null),await Cu(e),await Su(e)}let C=P(()=>t.conversations.filter(e=>e.type===`channel`)),w=P(()=>t.selection.kind===`channel`?t.conversations.find(e=>e.type===`channel`&&e.channel_name===t.selection.slug)?.id??null:null),T=P(()=>t.selection.kind===`home`||t.selection.kind===`system-history`||t.selection.kind===`extension`);var E=vb();Ir(`click`,on,_),Ir(`blur`,on,v);var ee=z(E),te=R(ee),ne=R(te),D=R(ne);let O;var re=R(D);let ie;qa(R(re),{kind:`spiral`,class:`section-icon`}),j(2),A(re);var ae=B(re,2),k=R(ae);let oe;A(ae);var se=B(ae,2),ce=e=>{var t=Xy();Si(t,(e,t)=>Il?.(e,t),()=>({text:`AI provider credentials expired — click to re-authenticate`,position:`right`})),U(`click`,t,i),K(e,t)};J(se,e=>{H(n)&&e(ce)}),A(D),A(ne);var le=B(ne,2),ue=R(le),de=R(ue);qa(R(de),{kind:`mind`,class:`section-icon`}),j(2),A(de);var fe=B(de,2);A(ue);var pe=B(ue,2),me=e=>{var n=rb(),r=R(n),i=e=>{var n=Zy(),r=B(R(n),2);A(n),U(`click`,r,function(...e){t.onSeed?.apply(this,e)}),K(e,n)},a=P(()=>Gm(t.minds,Zf.mindsLoaded));J(r,e=>{H(a)&&e(i)}),Y(B(r,2),17,()=>H(f),ti,(e,n)=>{let r=P(()=>H(d).get(H(n).name)),i=P(()=>H(r)?ep.get(H(r))??0:0);var a=nb(),o=R(a);let s;var c=R(o);{let e=e=>{var t=tb(),r=z(t);let a,o;var s=B(r,2),c=R(s,!0);A(s);var l=B(s,2),u=e=>{qa(e,{kind:`spiral`,class:`spirit-marker`})};J(l,e=>{H(n).mindType===`spirit`&&e(u)});var d=B(l,2),f=e=>{var t=Qy();Si(t,(e,t)=>Il?.(e,t),()=>({text:`Running an outdated template — run 'volute mind upgrade ${H(n).name}'`,position:`right`})),K(e,t)};J(d,e=>{H(n).templateStale&&e(f)});var p=B(d,2),m=e=>{var t=$y();Si(t,(e,t)=>Il?.(e,t),()=>({text:H(n).upgradeBlocked,position:`right`})),K(e,t)};J(p,e=>{H(n).upgradeBlocked&&e(m)});var h=B(p,2),g=e=>{K(e,eb())};J(h,e=>{H(i)>0&&e(g)}),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:Qf.has(H(n).name)}),()=>({background:Qf.has(H(n).name)?void 0:Ll(H(n))})]),K(e,t)},t=P(()=>({name:H(n).name,displayName:H(n).displayName,description:H(n).description,avatarUrl:H(n).avatar?`/api/minds/${encodeURIComponent(H(n).name)}/avatar`:null,userType:`mind`,created:H(n).created}));Fp(c,{get profile(){return H(t)},children:e,$$slots:{default:!0}})}A(o);var l=B(o,2),u=R(l);let f;A(l),A(a),V(()=>{s=X(o,1,`nav-item svelte-1dkz474`,null,s,{active:t.selection.kind===`mind`&&t.selection.name===H(n).name}),f=X(u,1,`mind-dots-btn svelte-1dkz474`,null,f,{visible:H(p)===H(n).name})}),U(`click`,o,()=>t.onSelectMind(H(n).name)),U(`click`,u,e=>h(e,H(n).name)),K(e,a)}),A(n),K(e,n)},he=P(()=>!H(c).has(`minds`));J(pe,e=>{H(he)&&e(me)}),A(le);var ge=B(le,2),_e=R(ge),ve=R(_e),ye=B(ve,2);A(_e);var be=B(_e,2),xe=e=>{Yy(e,{get conversations(){return H(C)},get minds(){return t.minds},get activeId(){return H(w)},get username(){return t.username},mode:`channels`,get onSelect(){return t.onSelectConversation},get onDelete(){return t.onDeleteConversation},get onOpenMind(){return t.onOpenMind}})},Se=P(()=>!H(c).has(`channels`));J(be,e=>{H(Se)&&e(xe)}),A(ge),A(te),A(ee);var Ce=B(ee,2),we=e=>{var t=ib();let n;var r=R(t);qa(R(r),{kind:`gear`,class:`menu-icon`}),j(),A(r);var i=B(r,2);qa(R(i),{kind:`document-lines`,class:`menu-icon`}),j(),A(i),A(t),V(()=>n=Z(t,``,n,{top:`${H(m).top??``}px`,left:`${H(m).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(p,null)}),U(`click`,r,()=>g(`__system__`,`settings`)),U(`click`,i,()=>g(`__system__`,`logs`)),K(e,t)},Te=e=>{var t=lb();let n;var r=R(t);qa(R(r),{kind:`folder`,class:`menu-icon`}),j(),A(r);var i=B(r,2);qa(R(i),{kind:`gear`,class:`menu-icon`}),j(),A(i);var a=B(i,2),o=e=>{var t=ab();qa(R(t),{kind:`fork`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>g(H(p),`variants`)),K(e,t)};J(a,e=>{H(y)?.stage!==`seed`&&H(y)?.mindType!==`spirit`&&e(o)});var s=B(a,2);qa(R(s),{kind:`clock`,class:`menu-icon`}),j(),A(s);var c=B(s,2),l=e=>{var t=ob();qa(R(t),{kind:`document-lines`,class:`menu-icon`}),j(),A(t),U(`click`,t,()=>g(H(p),`context`)),K(e,t)};J(c,e=>{H(y)?.status===`running`&&e(l)});var u=B(c,4),d=e=>{var t=sb();qa(R(t),{kind:`play`,class:`menu-icon`}),j(),A(t),U(`click`,t,b),K(e,t)},f=e=>{var t=cb(),n=z(t);qa(R(n),{kind:`restart`,class:`menu-icon`}),j(),A(n);var r=B(n,2);qa(R(r),{kind:`stop`,class:`menu-icon`}),j(),A(r),U(`click`,n,S),U(`click`,r,x),K(e,t)};J(u,e=>{H(y)?.status===`stopped`?e(d):e(f,-1)}),A(t),V(()=>n=Z(t,``,n,{top:`${H(m).top??``}px`,left:`${H(m).left??``}px`})),U(`click`,t,e=>e.stopPropagation()),U(`keydown`,t,e=>{e.key===`Escape`&&I(p,null)}),U(`click`,r,()=>g(H(p),`files`)),U(`click`,i,()=>g(H(p),`settings`)),U(`click`,s,()=>g(H(p),`events`)),K(e,t)};J(Ce,e=>{H(p)===`__system__`?e(we):H(p)&&e(Te,1)});var Ee=B(Ce,2),De=e=>{$a(e,{onClose:()=>{I(r,!1)},size:`360px`,title:`Re-authenticate`,children:(e,t)=>{var n=fb();Y(B(R(n),2),17,()=>Zf.oauthErrors,ti,(e,t)=>{var n=db(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=e=>{var n=ub(),r=R(n,!0);A(n),V(()=>q(r,H(t).oauthError)),K(e,n)};J(o,e=>{H(t).oauthError&&e(s)}),A(n),V(()=>q(i,H(t).oauthName??H(t).id)),U(`click`,n,()=>a(H(t).id,H(t).oauthName)),K(e,n)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Ee,e=>{H(r)&&e(De)});var Oe=B(Ee,2),ke=e=>{$a(e,{onClose:()=>{Rf.polling||o()},size:`400px`,get title(){return`Re-authenticate ${Rf.providerName??``}`},children:(e,t)=>{var n=_b(),r=R(n),i=e=>{var t=pb();U(`click`,B(z(t),2),o),K(e,t)},a=e=>{var t=mb(),n=z(t),r=R(n,!0);A(n);var i=B(n,2);V(()=>q(r,Rf.error)),U(`click`,i,o),K(e,t)},s=e=>{var t=gb(),n=B(z(t),2),r=e=>{var t=hb(),n=B(z(t),2);Ki(n),Ir(`paste`,n,()=>{setTimeout(()=>{/^https?:\/\//.test(Rf.codeInput.trim())&&Vf()})}),aa(n,()=>Rf.codeInput,e=>Rf.codeInput=e),K(e,t)};J(n,e=>{(Rf.needsCode||Rf.waitingForCode)&&e(r)}),U(`click`,B(n,4),()=>{Hf()}),K(e,t)};J(r,e=>{Rf.success?e(i):Rf.error&&!Rf.polling?e(a,1):e(s,-1)}),A(n),K(e,n)},$$slots:{default:!0}})};J(Oe,e=>{Rf.active&&e(ke)}),V(()=>{O=X(D,1,`section-header-row svelte-1dkz474`,null,O,{active:H(T)}),ie=X(re,1,`section-toggle svelte-1dkz474`,null,ie,{active:H(T)}),oe=X(k,1,`mind-dots-btn svelte-1dkz474`,null,oe,{visible:H(p)===`__system__`})}),U(`click`,re,function(...e){t.onHome?.apply(this,e)}),U(`click`,k,e=>h(e)),U(`click`,de,()=>l(`minds`)),U(`click`,fe,e=>{e.stopPropagation(),t.onSeed()}),U(`click`,ve,()=>l(`channels`)),U(`click`,ye,e=>{e.stopPropagation(),t.onBrowseChannels()}),K(e,E),N()}Lr([`click`,`keydown`]);var bb=W(`<div class="error svelte-159gnuj"> </div>`),xb=W(`<div class="muted svelte-159gnuj">Loading…</div>`),Sb=W(`<div class="muted svelte-159gnuj">No events.</div>`),Cb=W(`<span class="badge svelte-159gnuj">next-turn</span>`),wb=W(`<span class="badge skipped svelte-159gnuj">skipped</span>`),Tb=W(`<span class="badge skipped svelte-159gnuj">dropped</span>`),Eb=W(`<span class="badge skipped svelte-159gnuj">expired</span>`),Db=W(`<span class="badge pending svelte-159gnuj"> </span>`),Ob=W(`<div class="reflection svelte-159gnuj"><span class="reflection-label svelte-159gnuj">Reflection</span> <div class="reflection-body svelte-159gnuj"> </div></div>`),kb=W(`<li class="event-row svelte-159gnuj"><div class="event-head svelte-159gnuj"><span class="event-label svelte-159gnuj"> </span> <!> <!> <span class="event-time svelte-159gnuj"> </span></div> <div class="event-body svelte-159gnuj"> </div> <!></li>`),Ab=W(`<ul class="event-list svelte-159gnuj"></ul>`),jb=W(`<div class="events svelte-159gnuj"><!> <!> <!></div>`);function Mb(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``);async function a(){I(r,!0);try{let e=await Vu(t.name);I(n,e.events,!0),I(i,``)}catch(e){console.error(`Failed to load events:`,e),I(i,e instanceof Error?e.message:`Failed to load events`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,a()});var o=jb(),s=R(o);no(s,{title:`Events`,subtitle:`System events from this mind's environment — schedule fires, wake summaries, lifecycle notices. Reflections are the mind's private closing thoughts.`});var c=B(s,2),l=e=>{var t=bb(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(c,e=>{H(i)&&e(l)});var u=B(c,2),d=e=>{K(e,xb())},f=e=>{K(e,Sb())},p=e=>{var t=Ab();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=kb(),r=R(n),i=R(r),a=R(i,!0);A(i);var o=B(i,2),s=e=>{K(e,Cb())};J(o,e=>{H(t).delivery===`next-turn`&&e(s)});var c=B(o,2),l=e=>{K(e,wb())},u=e=>{K(e,Tb())},d=e=>{K(e,Eb())},f=e=>{var n=Db(),r=R(n,!0);A(n),V(()=>q(r,H(t).delivery===`immediate`?`undelivered`:`pending`)),K(e,n)};J(c,e=>{H(t).meta?.skipped?e(l):H(t).meta?.dropped?e(u,1):H(t).meta?.expired?e(d,2):H(t).delivered_at||e(f,3)});var p=B(c,2),m=R(p,!0);A(p),A(r);var h=B(r,2),g=R(h,!0);A(h);var _=B(h,2),v=e=>{var n=Ob(),r=B(R(n),2),i=R(r,!0);A(r),A(n),V(()=>q(i,H(t).reflection)),K(e,n)};J(_,e=>{H(t).reflection&&e(v)}),A(n),V(e=>{q(a,H(t).label),q(m,e),q(g,H(t).body)},[()=>Bl(H(t).created_at)]),K(e,n)}),A(t),K(e,t)};J(u,e=>{H(r)?e(d):H(n).length===0?e(f,1):e(p,-1)}),A(o),K(e,o),N()}function Nb(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 Pb(e,t){let n=e.split(` `);if(n.length<5)return e;let[r,i,a,o,s]=n;if(r.startsWith(`*/`)&&i===`*`&&a===`*`&&o===`*`&&s===`*`){let e=+r.slice(2);return e===1?`every minute`:`every ${e} minutes`}if(/^\d+$/.test(r)&&i.startsWith(`*/`)&&a===`*`&&o===`*`&&s===`*`){let e=+i.slice(2);return e===1?`every hour at :${String(+r).padStart(2,`0`)}`:`every ${e} hours`}if(/^\d+$/.test(r)&&/^[\d,]+$/.test(i)&&a===`*`&&o===`*`){let e=i.split(`,`).map(Number),n=+r,a=e.length===1?Fb(e[0],n):e.map(e=>Fb(e,n)).join(`, `),o=t?` ${t}`:``;return s===`*`?`daily at ${a}${o}`:`${Ib(s)} at ${a}${o}`}return e}function Fb(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 Ib(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 Lb(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 Rb(e,t){return`${t} ${e} * * *`}function zb(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 Bb(e,t){return e===`hours`?`0 */${t.hours??4} * * *`:e===`daily`?`${t.minute??0} ${t.hour??12} * * *`:t.cron??``}function Vb(e){return e.messages?.length?e.messages.join(`
|
|
78
78
|
`):e.message??``}function Hb(e){let t=e.split(`
|
|
79
79
|
`).map(e=>e.trim()).filter(Boolean);return t.length===0?{}:t.length===1?{message:t[0]}:{messages:t}}var Ub=W(`<span class="summary-item svelte-lb23vu"><span><!></span> <span class="summary-label svelte-lb23vu"> </span> <span class="summary-detail svelte-lb23vu"> </span></span>`),Wb=W(`<span class="summary-sep svelte-lb23vu">·</span>`),Gb=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),Kb=W(`<span class="summary-item svelte-lb23vu"><!> <span class="summary-label svelte-lb23vu">Schedule</span></span>`),qb=W(`<span><!></span>`),Jb=W(`<span class="color-dot svelte-lb23vu"></span>`),Yb=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>`),Xb=W(`<div class="clock-details svelte-lb23vu"></div>`),Zb=W(`<div class="mind-clock svelte-lb23vu"><button class="clock-summary svelte-lb23vu"><div class="summary-items svelte-lb23vu"><!> <!> <!></div> <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M5 6l3 3 3-3"></path></svg></button> <!></div>`);function Qb(e,t){M(t,!0);let n=[`var(--blue)`,`var(--yellow)`,`var(--red)`,`var(--green)`,`var(--purple)`],r={heartbeat:`var(--red)`,pulse:`var(--red)`,dream:`var(--purple)`,dreaming:`var(--purple)`,sleep:`var(--blue)`,wake:`var(--blue)`},i=F(null),a=F(!1);Tn(()=>{tf(t.name).then(e=>{I(i,e,!0)}).catch(e=>{console.warn(`Failed to load clock status:`,e),I(i,null)})});function o(e){let t=e.toLowerCase();return t===`heartbeat`||t===`pulse`?`heartbeat`:t===`dream`||t===`dreaming`?`dream`:t===`sleep`||t===`wake`?`sleep`:`clock`}function s(e){return e.toLowerCase()in r}let c=new Map;function l(e){let t=e.toLowerCase();if(r[t])return r[t];if(!c.has(t)){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n)|0;c.set(t,n[Math.abs(e)%n.length])}return c.get(t)}function u(e){let t=[];return e.script?t.push(`Script: ${e.script}`):e.messages?.length?t.push(`Messages (rotating):\n${e.messages.join(`
|
|
80
|
-
`)}`):e.message&&t.push(`Message: ${e.message}`),e.
|
|
80
|
+
`)}`):e.message&&t.push(`Message: ${e.message}`),e.thread&&t.push(`Thread: ${e.thread}`),e.whileSleeping&&t.push(`While sleeping: ${e.whileSleeping}`),t.join(`
|
|
81
81
|
`)}let d=P(()=>{let e=H(i)?.timezone;if(!(!e||e===Intl.DateTimeFormat().resolvedOptions().timeZone))try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`short`}).formatToParts(new Date).find(e=>e.type===`timeZoneName`)?.value}catch{return}});function f(e){try{return new Date(e).toLocaleTimeString(void 0,{hour:`numeric`,minute:`2-digit`})}catch{return e}}let p=P(()=>{if(!H(i))return[];let e=[],t=new Map;for(let e of H(i).upcoming)t.has(e.id)||t.set(e.id,e.at);if(H(i).sleep?.sleeping){let t=H(i).sleep.scheduledWakeAt??H(i).sleep.voluntaryWakeAt;e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`sleeping now`,next:t?`wake ${Nb(t)}`:``,disabled:!1,tooltip:``})}else if(H(i).sleepConfig?.enabled&&H(i).sleepConfig.schedule){let n=H(i).sleepConfig.schedule,r=t.get(`sleep`);e.push({id:`sleep`,icon:`sleep`,color:l(`sleep`),times:`${Pb(n.sleep,H(d))} \u2192 ${Pb(n.wake,H(d))}`,next:r?Nb(r):``,disabled:!1,tooltip:``})}for(let n of H(i).schedules){let r=``;n.cron?r=Pb(n.cron,H(d)):n.fireAt&&(r=f(n.fireAt));let i=t.get(n.id);e.push({id:n.id,icon:o(n.id),color:l(n.id),times:r,next:i?Nb(i):``,disabled:!n.enabled,tooltip:u(n)})}return e}),m=P(()=>{if(!H(i))return null;if(H(i).sleep?.sleeping){if(H(i).sleep.wokenByTrigger)return{icon:`sleep`,label:`Briefly awake`,color:l(`wake`),detail:`trigger · sleeps when idle`};let e=H(i).sleep.scheduledWakeAt??H(i).sleep.voluntaryWakeAt;return{icon:`sleep`,label:`Sleeping`,color:l(`sleep`),detail:e?`wake ${Nb(e)}`:`now`}}if(H(i).previous?.length>0){let e=H(i).previous[0];return{icon:o(e.id),label:e.id,color:l(e.id),detail:Nb(e.at)}}return null}),h=P(()=>{if(!H(i))return null;let e=H(i).sleep?.sleeping,t=H(i).upcoming.find(t=>!(e&&t.id===`wake`));return t?{icon:o(t.id),label:t.id,color:l(t.id),detail:Nb(t.at)}:null}),g=P(()=>H(i)&&(H(i).schedules.length>0||H(i).sleep?.sleeping||H(i).sleepConfig?.enabled));var _=Kr(),v=z(_),y=e=>{var t=Zb(),n=R(t),r=R(n),i=R(r),o=e=>{var t=Ub(),n=R(t);let r;qa(R(n),{get kind(){return H(m).icon},class:`summary-icon`}),A(n);var i=B(n,2);let a;var o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(t),V(()=>{r=Z(n,``,r,{color:H(m).color}),a=Z(i,``,a,{color:H(m).color}),q(o,H(m).label),q(c,H(m).detail)}),K(e,t)};J(i,e=>{H(m)&&e(o)});var c=B(i,2),l=e=>{var t=Gb(),n=z(t),r=e=>{K(e,Wb())};J(n,e=>{H(m)&&e(r)});var i=B(n,2),a=R(i);let o;qa(R(a),{get kind(){return H(h).icon},class:`summary-icon`}),A(a);var s=B(a,2);let c;var l=R(s,!0);A(s);var u=B(s,2),d=R(u,!0);A(u),A(i),V(()=>{o=Z(a,``,o,{color:H(h).color}),c=Z(s,``,c,{color:H(h).color}),q(l,H(h).label),q(d,H(h).detail)}),K(e,t)};J(c,e=>{H(h)&&e(l)});var u=B(c,2),d=e=>{var t=Kb();qa(R(t),{kind:`clock`,class:`summary-icon`}),j(2),A(t),K(e,t)};J(u,e=>{!H(m)&&!H(h)&&e(d)}),A(r);var f=B(r,2);let g;A(n);var _=B(n,2),v=e=>{var t=Xb();Y(t,21,()=>H(p),e=>e.id,(e,t)=>{var n=Yb();let r;var i=R(n),a=R(i),o=e=>{var n=qb();let r;qa(R(n),{get kind(){return H(t).icon},class:`clock-icon`}),A(n),V(()=>r=Z(n,``,r,{color:H(t).color})),K(e,n)},c=P(()=>s(H(t).id)),l=e=>{var n=Jb();let r;V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)};J(a,e=>{H(c)?e(o):e(l,-1)});var u=B(a,2);let d;var f=R(u,!0);A(u),A(i);var p=B(i,2),m=R(p,!0);A(p);var h=B(p,2),g=R(h,!0);A(h),A(n),V(()=>{r=X(n,1,`clock-row svelte-lb23vu`,null,r,{disabled:H(t).disabled}),Xi(n,`title`,H(t).tooltip),d=Z(u,``,d,{color:H(t).color}),q(f,H(t).id),q(m,H(t).times),q(g,H(t).next)}),K(e,n)}),A(t),K(e,t)};J(_,e=>{H(a)&&e(v)}),A(t),V(()=>g=X(f,0,`expand-chevron svelte-lb23vu`,null,g,{expanded:H(a)})),U(`click`,n,()=>I(a,!H(a))),K(e,t)};J(v,e=>{H(i)&&H(g)&&e(y)}),K(e,_),N()}Lr([`click`]);var $b=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>`),ex=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>`),tx=W(`<div class="floating-btns svelte-chl8f0"><!> <!></div>`),nx=W(`<img alt="" class="profile-avatar svelte-chl8f0" loading="lazy" decoding="async"/>`),rx=W(`<p class="profile-description svelte-chl8f0"> </p>`),ix=W(`<span> </span>`),ax=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 ox(e,t){M(t,!0);let n=P(()=>Zf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>Qf.has(H(n).name));function i(e){return e<1e3?`~${e} tokens`:`~${(e/1e3).toFixed(1).replace(/\.0$/,``)}k tokens`}let a=P(()=>{let e=H(n).memory;return e?e.overHardCap?{over:!0,suffix:` — over load cap`,tip:`Over the load cap (${i(e.hardCapTokens)}) — only the head of MEMORY.md is loaded`}:e.overBudget?{over:!0,suffix:` — over budget`,tip:`Over the recommended budget (${i(e.softBudgetTokens)}) — consolidation recommended`}:{over:!1,suffix:``,tip:`MEMORY.md is loaded into every request`}:null});var o=ax(),s=R(o),c=e=>{var n=tx(),r=R(n),i=e=>{var n=$b();Si(n,(e,t)=>Il?.(e,t),()=>({text:`Chat`,position:`right`})),U(`click`,n,function(...e){t.onChat?.apply(this,e)}),K(e,n)};J(r,e=>{t.onChat&&e(i)});var a=B(r,2),o=e=>{var n=ex();Si(n,(e,t)=>Il?.(e,t),()=>({text:`Expand`,position:`right`})),U(`click`,n,function(...e){t.onExpand?.apply(this,e)}),K(e,n)};J(a,e=>{t.onExpand&&e(o)}),A(n),K(e,n)};J(s,e=>{(t.onChat||t.onExpand)&&e(c)});var l=B(s,2),u=R(l),d=R(u),f=e=>{var t=nx();V(e=>Xi(t,`src`,e),[()=>`/api/minds/${encodeURIComponent(H(n).name)}/avatar`]),K(e,t)};J(d,e=>{H(n).avatar&&e(f)});var p=B(d,2),m=R(p);let h,g;var _=B(m);A(p);var v=B(p,2),y=e=>{var t=rx(),r=R(t,!0);A(t),V(()=>q(r,H(n).description)),K(e,t)};J(v,e=>{H(n).description&&e(y)});var b=B(v,2),x=e=>{var t=ix();let r;var o=R(t);A(t),Si(t,(e,t)=>Il?.(e,t),()=>({text:H(a).tip,position:`bottom`})),V(e=>{r=X(t,1,`memory-size svelte-chl8f0`,null,r,{"over-budget":H(a).over}),q(o,`Memory ${e??``}${H(a).suffix??``}`)},[()=>i(H(n).memory.estTokens)]),K(e,t)};J(b,e=>{H(n).memory&&H(a)&&e(x)}),A(u);var S=B(u,2);Qb(S,{get name(){return H(n).name}});var C=B(S,2);xy(R(C),{get name(){return H(n).name},get mindStatus(){return H(n).status}}),A(C),A(l),A(o),V(e=>{h=X(m,1,`status-dot svelte-chl8f0`,null,h,{iridescent:H(r)}),g=Z(m,``,g,e),q(_,` ${H(n).displayName??H(n).name??``}`)},[()=>({background:H(r)?void 0:Ll(H(n))})]),K(e,o),N()}Lr([`click`]);var sx=W(`<span class="template-badge svelte-ei9umb"> </span>`),cx=W(`<!> <button class="setting-hint-btn svelte-ei9umb">back</button>`,1),lx=W(`<option> </option>`),ux=W(`<option>--</option> <!> <option>other...</option>`,1),dx=W(`<div class="slider-control svelte-ei9umb"><input type="range" class="thinking-slider svelte-ei9umb" min="0" max="5" step="1"/> <span> </span></div>`),fx=W(`<!> <span class="setting-hint svelte-ei9umb">per</span> <!> <span class="setting-hint svelte-ei9umb">min</span>`,1),px=W(`<!> <span class="setting-hint svelte-ei9umb">tokens</span>`,1),mx=W(`<!> <!>`,1),hx=W(`<!> <!> <!> <!> <!> <!>`,1);function gx(e,t){M(t,!0);let n=pa(t,`hideBudget`,3,!1),r=F(null),i=F(L([])),a=F(``),o=F(0),s=F(``),c=F(``),l=F(``),u=F(!1),d=F(``),f=F(null),p=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`],m={claude:[`anthropic`],codex:[`openai-codex`],pi:[]},h=P(()=>t.template?m[t.template]??[]:[]),g=P(()=>H(i).filter(e=>e.enabled).filter(e=>H(h).length===0||H(h).includes(e.provider)));function _(e){return e?H(g).some(t=>t.id===e)?e:H(g).find(t=>t.id.startsWith(e)||e.startsWith(t.id))?.id??e:``}Tn(()=>{if(H(g).length>0&&H(a)){let e=_(H(a));e!==H(a)&&I(a,e,!0)}});let v=P(()=>H(a)!==``&&!H(g).some(e=>e.id===H(a))),y=P(()=>p[H(o)]);function b(e){I(a,e.config.model??``,!0);let t=e.config.thinkingLevel??`off`;I(o,Math.max(0,p.indexOf(t)),!0),I(s,e.config.tokenBudget==null?``:String(e.config.tokenBudget),!0),I(c,e.config.tokenBudgetPeriodMinutes==null?``:String(e.config.tokenBudgetPeriodMinutes),!0),I(l,e.config.compaction?.maxContextTokens==null?``:String(e.config.compaction.maxContextTokens),!0),I(u,e.config.unescapeNewlines??!1,!0)}function x(e){if(!e.trim())return null;let t=parseInt(e,10);return Number.isNaN(t)?null:t}async function S(e,n){I(f,e,!0),I(d,``);try{await n();let e=await Gu(t.name);I(r,e,!0),b(e)}catch(e){I(d,e instanceof Error?e.message:`Save failed`,!0)}I(f,null)}function C(e){I(a,e,!0),e&&S(`model`,()=>Ku(t.name,{model:e}))}function w(){S(`thinking`,()=>Ku(t.name,{thinkingLevel:p[H(o)]}))}function T(){S(`budget`,()=>Ku(t.name,{tokenBudget:x(H(s))}))}function E(){S(`period`,()=>Ku(t.name,{tokenBudgetPeriodMinutes:x(H(c))}))}function ee(){S(`compaction`,()=>Ku(t.name,{compaction:{maxContextTokens:x(H(l))}}))}function te(){I(u,!H(u)),S(`unescapeNewlines`,()=>Ku(t.name,{unescapeNewlines:H(u)}))}function ne(e){let t=e.target.value;t===`__other__`?I(a,``):C(t)}function D(e){I(o,parseInt(e.target.value,10),!0),w()}ma(async()=>{try{let[e,n]=await Promise.all([Gu(t.name),Od()]);I(r,e,!0),I(i,n,!0),b(e)}catch(e){I(d,e instanceof Error?e.message:`Failed to load config`,!0)}});var O=Kr(),re=z(O),ie=e=>{var r=hx(),i=z(r),f=e=>{co(e,{label:`Template`,children:(e,n)=>{var r=sx(),i=R(r,!0);A(r),V(()=>q(i,t.template)),K(e,r)},$$slots:{default:!0}})};J(i,e=>{t.template&&e(f)});var p=B(i,2);co(p,{label:`Model`,children:(e,t)=>{var n=Kr(),r=z(n),i=e=>{var t=cx(),n=z(t);Xa(n,{type:`text`,onblur:()=>C(H(a)),placeholder:`Model ID`,get value(){return H(a)},set value(e){I(a,e,!0)}}),U(`click`,B(n,2),()=>{I(a,H(g)[0]?.id??``,!0),H(a)&&C(H(a))}),K(e,t)},o=e=>{oo(e,{get value(){return H(a)},onchange:ne,children:(e,t)=>{var n=ux(),r=z(n);r.value=r.__value=``;var i=B(r,2);Y(i,17,()=>H(g),e=>e.id,(e,t)=>{var n=lx(),r=R(n,!0);A(n);var i={};V(()=>{q(r,H(t).name),i!==(i=H(t).id)&&(n.value=(n.__value=H(t).id)??``)}),K(e,n)});var a=B(i,2);a.value=a.__value=`__other__`,K(e,n)},$$slots:{default:!0}})};J(r,e=>{H(v)?e(i):e(o,-1)}),K(e,n)},$$slots:{default:!0}});var m=B(p,2);co(m,{label:`Thinking`,children:(e,t)=>{var n=dx(),r=R(n);Ki(r);var i=B(r,2);let a;var s=R(i,!0);A(i),A(n),V(()=>{qi(r,H(o)),a=X(i,1,`slider-label svelte-ei9umb`,null,a,{off:H(o)===0}),q(s,H(y))}),U(`change`,r,D),K(e,n)},$$slots:{default:!0}});var h=B(m,2),_=e=>{var t=mx(),n=z(t);co(n,{label:`Budget`,children:(e,t)=>{var n=fx(),r=z(n);Xa(r,{type:`number`,width:`80px`,onblur:T,placeholder:`tokens`,get value(){return H(s)},set value(e){I(s,e,!0)}}),Xa(B(r,4),{type:`number`,width:`80px`,onblur:E,placeholder:`min`,get value(){return H(c)},set value(e){I(c,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),co(B(n,2),{label:`Context`,children:(e,t)=>{var n=px();Xa(z(n),{type:`number`,width:`80px`,onblur:ee,placeholder:`150000`,get value(){return H(l)},set value(e){I(l,e,!0)}}),j(2),K(e,n)},$$slots:{default:!0}}),K(e,t)};J(h,e=>{n()||e(_)});var b=B(h,2);co(b,{label:`Fix newlines`,children:(e,t)=>{Co(e,{get checked(){return H(u)},onchange:te,label:`Unescape \\\\n in messages`})},$$slots:{default:!0}}),Ca(B(b,2),{get message(){return H(d)}}),K(e,r)};J(re,e=>{H(r)&&e(ie)}),K(e,O),N()}Lr([`click`,`change`]);var _x=W(`<div class="env-add-row svelte-1hrpqbw"><!> <!> <!> <!></div>`),vx=W(`<span class="env-key svelte-1hrpqbw"> </span> <!> <!> <!>`,1),yx=W(`<span class="env-source svelte-1hrpqbw">shared</span>`),bx=W(`<span class="env-key svelte-1hrpqbw"> <!></span> <span><!></span> <!> <!> <!>`,1),xx=W(`<div class="env-row svelte-1hrpqbw"><!></div>`),Sx=W(`<div class="env-list svelte-1hrpqbw"></div>`),Cx=W(`<!> <!> <!>`,1);function wx(e,t){M(t,!0);let n=F(null),r=F(``),i=F(null),a=new Gl,o=F(!1),s=F(``),c=F(``),l=F(null),u=F(``),d=P(()=>{if(!H(n))return[];let e=[];for(let[t,r]of Object.entries(H(n).shared))e.push({key:t,value:r,source:`shared`});for(let[t,r]of Object.entries(H(n).mind)){let n=e.findIndex(e=>e.key===t);n>=0?e[n]={key:t,value:r,source:`mind`}:e.push({key:t,value:r,source:`mind`})}return e.sort((e,t)=>e.key.localeCompare(t.key))});async function f(){try{I(n,await qu(t.name),!0),I(r,``)}catch(e){I(r,e instanceof Error?e.message:`Failed to load environment`,!0)}}ma(()=>{f()});function p(e){a.has(e)?a.delete(e):a.add(e)}function m(e,t){I(l,e,!0),I(u,t,!0)}async function h(){if(H(l)){I(i,`env:${H(l)}`),I(r,``);try{await Ju(t.name,H(l),H(u)),I(n,await qu(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 Xu(e):await Yu(t.name,e),I(n,await qu(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 Ju(t.name,H(s).trim(),H(c)),I(n,await qu(t.name),!0),I(s,``),I(c,``),I(o,!1)}catch(e){I(r,e instanceof Error?e.message:`Failed to add`,!0)}I(i,null)}}function v(e,t){e.key===`Enter`&&t()}uo(e,{title:`Environment Variables`,action:e=>{_a(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,G(`Add`))},$$slots:{default:!0}})},children:(e,t)=>{var n=Cx(),f=z(n);Ca(f,{get message(){return H(r)}});var y=B(f,2),b=e=>{var t=_x(),n=R(t);Xa(n,{variant:`mono`,type:`text`,width:`120px`,placeholder:`KEY`,onkeydown:e=>v(e,_),get value(){return H(s)},set value(e){I(s,e,!0)}});var r=B(n,2);Xa(r,{variant:`mono`,type:`text`,style:`flex:1`,placeholder:`value`,onkeydown:e=>v(e,_),get value(){return H(c)},set value(e){I(c,e,!0)}});var a=B(r,2);{let e=P(()=>H(i)!==null);_a(a,{variant:`primary`,onclick:_,get disabled(){return H(e)},children:(e,t)=>{j();var n=G();V(()=>q(n,H(i)===`env:add`?`...`:`Add`)),K(e,n)},$$slots:{default:!0}})}_a(B(a,2),{variant:`secondary`,onclick:()=>I(o,!1),children:(e,t)=>{j(),K(e,G(`Cancel`))},$$slots:{default:!0}}),A(t),K(e,t)};J(y,e=>{H(o)&&e(b)});var x=B(y,2),S=e=>{xa(e,{message:`No environment variables set.`})},C=e=>{var t=Sx();Y(t,21,()=>H(d),e=>e.key,(e,t)=>{var n=xx(),r=R(n),o=e=>{var n=vx(),r=z(n),a=R(r,!0);A(r);var o=B(r,2);Xa(o,{variant:`mono`,type:`text`,style:`flex:1`,onkeydown:e=>v(e,h),get value(){return H(u)},set value(e){I(u,e,!0)}});var s=B(o,2);{let e=P(()=>H(i)!==null);_a(s,{variant:`primary`,onclick:h,get disabled(){return H(e)},children:(e,n)=>{j();var r=G();V(()=>q(r,H(i)===`env:${H(t).key}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}_a(B(s,2),{variant:`secondary`,onclick:()=>I(l,null),children:(e,t)=>{j(),K(e,G(`Cancel`))},$$slots:{default:!0}}),V(()=>q(a,H(t).key)),K(e,n)},s=e=>{var n=bx(),r=z(n),o=R(r),s=B(o),c=e=>{K(e,yx())};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=G();V(()=>q(n,H(t).value)),K(e,n)},h=P(()=>a.has(H(t).key)),_=e=>{K(e,G(`••••••••`))};J(d,e=>{H(h)?e(f):e(_,-1)}),A(l);var v=B(l,2);_a(v,{variant:`icon`,onclick:()=>p(H(t).key),title:`Toggle visibility`,children:(e,n)=>{j();var r=G();V(e=>q(r,e),[()=>a.has(H(t).key)?`Hide`:`Show`]),K(e,r)},$$slots:{default:!0}});var y=B(v,2),b=e=>{_a(e,{variant:`icon`,onclick:()=>m(H(t).key,H(t).value),title:`Edit`,children:(e,t)=>{j(),K(e,G(`Edit`))},$$slots:{default:!0}})};J(y,e=>{H(t).source===`mind`&&e(b)});var x=B(y,2);{let e=P(()=>H(i)!==null);_a(x,{variant:`icon`,onclick:()=>g(H(t).key,H(t).source),get disabled(){return H(e)},title:`Delete`,children:(e,n)=>{j();var r=G();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 Tx(e,t){wx(e,{get name(){return t.name}})}function Ex(){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 Dx=W(`<img alt="" class="avatar-img svelte-1ezxk1u" loading="lazy" decoding="async"/>`),Ox=W(`<div class="avatar-placeholder svelte-1ezxk1u">?</div>`),kx=W(`<span class="saved-indicator svelte-1ezxk1u">Saved</span>`),Ax=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 jx(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),{savedField:a,showSaved:o}=Ex();Tn(()=>{I(n,t.mind.displayName??``,!0),I(r,t.mind.description??``,!0)});async function s(e){let n=e.target,r=n.files?.[0];r&&(await ff(t.mind.name,r),Zf.minds=await vu(),t.onUpdated(),n.value=``)}async function c(){let e=H(n).trim();e!==(t.mind.displayName??``)&&(await df(t.mind.name,{displayName:e}),o(`displayName`),t.onUpdated())}async function l(){let e=H(r).trim();e!==(t.mind.description??``)&&(await df(t.mind.name,{description:e}),o(`description`),t.onUpdated())}uo(e,{title:`Profile`,subtitle:`Avatar, display name, and description`,children:(e,o)=>{var u=Ax(),d=R(u),f=B(R(d),2),p=R(f),m=e=>{var n=Dx();V(e=>Xi(n,`src`,e),[()=>`/api/minds/${encodeURIComponent(t.mind.name)}/avatar`]),K(e,n)},h=e=>{K(e,Ox())};J(p,e=>{t.mind.avatar?e(m):e(h,-1)});var g=B(p,4);ua(g,e=>I(i,e),()=>H(i)),A(f),A(d);var _=B(d,2),v=B(R(_),2),y=R(v);Ki(y);var b=B(y,2),x=e=>{K(e,kx())};J(b,e=>{a===`displayName`&&e(x)}),A(v),A(_);var S=B(_,2),C=B(R(S),2),w=R(C);at(w);var T=B(w,2),E=e=>{K(e,kx())};J(T,e=>{a===`description`&&e(E)}),A(C),A(S),A(u),V(()=>Xi(y,`placeholder`,t.mind.name)),U(`click`,f,()=>H(i)?.click()),U(`change`,g,s),Ir(`blur`,y,c),aa(y,()=>H(n),e=>I(n,e)),Ir(`blur`,w,l),aa(w,()=>H(r),e=>I(r,e)),K(e,u)},$$slots:{default:!0}}),N()}Lr([`click`,`change`]);var Mx=W(`<div class="cron-preview svelte-1u04gr6"> </div>`),Nx=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),Px=W(`<div class="sleep-summary svelte-1u04gr6"><span class="sleep-desc svelte-1u04gr6"> </span> <!></div> <!> <!>`,1),Fx=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),Ix=W(`<option>Every few hours</option> <option>Daily at a time</option> <option>Custom cron</option>`,1),Lx=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>`),Rx=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <span class="form-hint svelte-1u04gr6">At</span> <!></div>`),zx=W(`<div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6"></span> <!></div>`),Bx=W(`<option>Skip it</option> <option>Save for when awake</option> <option>Wake up for it</option>`,1),Vx=W(`<div class="schedule-form svelte-1u04gr6"><div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Name</span> <!></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Frequency</span> <!></div> <!> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Message</span> <textarea class="message-input svelte-1u04gr6" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">If sleeping</span> <!></div> <div class="form-actions svelte-1u04gr6"><!> <!></div></div>`),Hx=W(`<div class="schedule-card editing svelte-1u04gr6"><div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Frequency</span> <!></div> <!> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">Message</span> <textarea class="message-input svelte-1u04gr6" rows="2" placeholder="What to tell the mind — several lines rotate at random"></textarea></div> <div class="form-row svelte-1u04gr6"><span class="form-label svelte-1u04gr6">If sleeping</span> <!></div> <div class="form-actions svelte-1u04gr6"><!> <!></div></div>`),Ux=W(`<div class="schedule-message svelte-1u04gr6"> </div>`),Wx=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>`),Gx=W(`<div class="schedule-list svelte-1u04gr6"></div>`),Kx=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 qx(e,t){M(t,!0);let n=F(null),r=F(L([])),i=F(``),a=F(!0),o=F(0),s=F(0),c=F(8),l=F(0),u=F(!1),d=F(``),f=F(``),p=F(L(nf.mentions)),m=F(L(nf.dms)),h=F(``),g=F(``),_=F(!1),v=F(``),y=F(`daily`),b=F(4),x=F(12),S=F(0),C=F(``),w=F(``),T=F(`skip`),E=F(null),ee=F(`cron`),te=F(4),ne=F(12),D=F(0),O=F(``),re=F(``),ie=F(`skip`),ae=F(!0),k=F(null);function oe(e){I(n,e,!0),I(d,e.schedule?.sleep??``,!0),I(f,e.schedule?.wake??``,!0);let t=Lb(H(d)),r=Lb(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??nf.mentions,!0),I(m,e.wakeTriggers?.dms??nf.dms,!0),I(h,(e.wakeTriggers?.channels??[]).join(`, `),!0),I(g,(e.wakeTriggers?.senders??[]).join(`, `),!0)}async function se(){try{let[e,n]=await Promise.all([rf(t.name),of(t.name)]);oe(e),I(r,n,!0),I(i,``)}catch{I(i,`Failed to load configuration`)}I(a,!1)}ma(()=>{se()});async function ce(){if(!H(n))return;let e=!H(n).enabled;I(k,`sleep-toggle`);try{await af(t.name,{enabled:e}),I(n,{...H(n),enabled:e},!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function le(){let e=H(u)?H(d):Rb(H(o),H(s)),r=H(u)?H(f):Rb(H(c),H(l));I(k,`sleep-cron`);try{await af(t.name,{schedule:{sleep:e,wake:r}}),H(n)&&I(n,{...H(n),schedule:{sleep:e,wake:r}},!0),I(d,e,!0),I(f,r,!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function ue(){I(k,`wake-triggers`);try{let e=H(h).split(`,`).map(e=>e.trim()).filter(Boolean),r=H(g).split(`,`).map(e=>e.trim()).filter(Boolean);await af(t.name,{wakeTriggers:{mentions:H(p),dms:H(m),channels:e.length?e:void 0,senders:r.length?r:void 0}}),H(n)&&I(n,{...H(n),wakeTriggers:{mentions:H(p),dms:H(m),channels:e,senders:r}},!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}async function de(e){I(k,`sched:${e.id}`);try{await cf(t.name,e.id,{enabled:!e.enabled}),I(r,H(r).map(t=>t.id===e.id?{...t,enabled:!t.enabled}:t),!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to update`,!0)}I(k,null)}function fe(e){I(E,e.id,!0);let t=e.cron?zb(e.cron):{type:`daily`};I(ee,t.type,!0),I(te,t.hours??4,!0),I(ne,t.hour??12,!0),I(D,t.minute??0,!0),I(O,e.cron??``,!0),I(re,Vb(e)||(e.script??``),!0),I(ie,e.whileSleeping??`skip`,!0),I(ae,e.enabled,!0)}async function pe(){if(!H(E))return;let e=Bb(H(ee),{hours:H(te),hour:H(ne),minute:H(D),cron:H(O)});I(k,`sched:${H(E)}`);let n=Hb(H(re));try{await cf(t.name,H(E),{cron:e||void 0,...n,whileSleeping:H(ie),enabled:H(ae)}),I(r,H(r).map(t=>t.id===H(E)?{...t,cron:e,message:void 0,messages:void 0,...n,whileSleeping:H(ie),enabled:H(ae)}:t),!0),I(E,null),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to save`,!0)}I(k,null)}async function me(){if(!H(v).trim())return;let e=Bb(H(y),{hours:H(b),hour:H(x),minute:H(S),cron:H(C)});I(k,`sched:add`);try{await sf(t.name,{id:H(v).trim(),cron:e||void 0,...Hb(H(w)),whileSleeping:H(T),enabled:!0}),I(r,await of(t.name),!0),I(v,``),I(y,`daily`),I(b,4),I(x,12),I(S,0),I(C,``),I(w,``),I(T,`skip`),I(_,!1),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to add`,!0)}I(k,null)}async function he(e){I(k,`sched:${e}`);try{await lf(t.name,e),I(r,H(r).filter(t=>t.id!==e),!0),I(i,``)}catch(e){I(i,e instanceof Error?e.message:`Failed to delete`,!0)}I(k,null)}var ge=Kx(),_e=z(ge);Ca(_e,{get message(){return H(i)}});var ve=B(_e,2),ye=R(ve),be=B(R(ye),2);{let e=P(()=>H(n)?.enabled??!1),t=P(()=>H(n)?.enabled?`On`:`Off`);Co(be,{get checked(){return H(e)},onchange:ce,get label(){return H(t)}})}A(ye);var xe=B(ye,2),Se=e=>{var t=Fx(),n=z(t),r=e=>{var t=Nx(),n=z(t);_a(B(R(n),2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!1),le()},children:(e,t)=>{j(),K(e,G(`Use time picker`))},$$slots:{default:!0}}),A(n);var r=B(n,2);Xa(B(R(r),2),{variant:`mono`,style:`flex:1`,onblur:le,placeholder:`0 0 * * *`,get value(){return H(d)},set value(e){I(d,e,!0)}}),A(r);var i=B(r,2),a=e=>{var t=Mx(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>Pb(H(d))]),K(e,t)};J(i,e=>{H(d)&&e(a)});var o=B(i,2);Xa(B(R(o),2),{variant:`mono`,style:`flex:1`,onblur:le,placeholder:`0 8 * * *`,get value(){return H(f)},set value(e){I(f,e,!0)}}),A(o);var s=B(o,2),c=e=>{var t=Mx(),n=R(t,!0);A(t),V(e=>q(n,e),[()=>Pb(H(f))]),K(e,t)};J(s,e=>{H(f)&&e(c)}),K(e,t)},i=e=>{var t=Px(),n=z(t),r=R(n),i=R(r);A(r),_a(B(r,2),{variant:`text`,size:`sm`,onclick:()=>{I(u,!0),I(d,Rb(H(o),H(s)),!0),I(f,Rb(H(c),H(l)),!0)},children:(e,t)=>{j(),K(e,G(`Custom`))},$$slots:{default:!0}}),A(n);var a=B(n,2);bo(a,{label:`Sleep at`,onchange:le,get hour(){return H(o)},set hour(e){I(o,e,!0)},get minute(){return H(s)},set minute(e){I(s,e,!0)}}),bo(B(a,2),{label:`Wake at`,onchange:le,get hour(){return H(c)},set hour(e){I(c,e,!0)},get minute(){return H(l)},set minute(e){I(l,e,!0)}}),V((e,t)=>q(i,`Sleeps at ${e??``}, wakes at ${t??``}`),[()=>Fb(H(o),H(s)),()=>Fb(H(c),H(l))]),K(e,t)};J(n,e=>{H(u)?e(r):e(i,-1)});var a=B(n,2),_=B(R(a),2);Co(R(_),{get checked(){return H(p)},onchange:()=>{I(p,!H(p)),ue()},label:`When mentioned`}),A(_);var v=B(_,2);Co(R(v),{get checked(){return H(m)},onchange:()=>{I(m,!H(m)),ue()},label:`Direct messages`}),A(v);var y=B(v,2);Xa(B(R(y),2),{type:`text`,style:`flex:1`,placeholder:`channel1, channel2`,onblur:ue,get value(){return H(h)},set value(e){I(h,e,!0)}}),A(y);var b=B(y,2);Xa(B(R(b),2),{type:`text`,style:`flex:1`,placeholder:`user1, user2`,onblur:ue,get value(){return H(g)},set value(e){I(g,e,!0)}}),A(b),A(a),K(e,t)};J(xe,e=>{H(n)?.enabled&&e(Se)}),A(ve);var Ce=B(ve,2),we=R(Ce);_a(B(R(we),2),{variant:`primary`,onclick:()=>I(_,!0),children:(e,t)=>{j(),K(e,G(`Add`))},$$slots:{default:!0}}),A(we);var Te=B(we,2),Ee=e=>{var t=Vx(),n=R(t);Xa(B(R(n),2),{type:`text`,style:`flex:1`,placeholder:`e.g. heartbeat`,get value(){return H(v)},set value(e){I(v,e,!0)}}),A(n);var r=B(n,2);oo(B(R(r),2),{get value(){return H(y)},set value(e){I(y,e,!0)},children:(e,t)=>{var n=Ix(),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=Lx();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(b)},set value(e){I(b,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=Rx();bo(B(R(t),4),{get hour(){return H(x)},set hour(e){I(x,e,!0)},get minute(){return H(S)},set minute(e){I(S,e,!0)}}),A(t),K(e,t)},s=e=>{var t=zx();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(C)},set value(e){I(C,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(y)===`hours`?e(a):H(y)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);at(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(T)},set value(e){I(T,e,!0)},children:(e,t)=>{var n=Bx(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>H(k)!==null||!H(v).trim());_a(f,{variant:`primary`,onclick:me,get disabled(){return H(e)},children:(e,t)=>{j();var n=G();V(()=>q(n,H(k)===`sched:add`?`...`:`Add schedule`)),K(e,n)},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(_,!1),children:(e,t)=>{j(),K(e,G(`Cancel`))},$$slots:{default:!0}}),A(d),A(t),aa(l,()=>H(w),e=>I(w,e)),K(e,t)};J(Te,e=>{H(_)&&e(Ee)});var De=B(Te,2),Oe=e=>{xa(e,{message:`No schedules configured.`})},ke=e=>{var t=Gx();Y(t,21,()=>H(r),e=>e.id,(e,t)=>{var n=Kr(),r=z(n),i=e=>{var n=Hx(),r=R(n);oo(B(R(r),2),{get value(){return H(ee)},set value(e){I(ee,e,!0)},children:(e,t)=>{var n=Ix(),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=Lx();Xa(B(R(t),4),{type:`number`,width:`50px`,style:`text-align:center`,min:`1`,max:`24`,get value(){return H(te)},set value(e){I(te,e,!0)}}),j(2),A(t),K(e,t)},o=e=>{var t=Rx();bo(B(R(t),4),{get hour(){return H(ne)},set hour(e){I(ne,e,!0)},get minute(){return H(D)},set minute(e){I(D,e,!0)}}),A(t),K(e,t)},s=e=>{var t=zx();Xa(B(R(t),2),{type:`text`,style:`flex:1`,placeholder:`*/30 * * * *`,get value(){return H(O)},set value(e){I(O,e,!0)}}),A(t),K(e,t)};J(i,e=>{H(ee)===`hours`?e(a):H(ee)===`daily`?e(o,1):e(s,-1)});var c=B(i,2),l=B(R(c),2);at(l),A(c);var u=B(c,2);oo(B(R(u),2),{get value(){return H(ie)},set value(e){I(ie,e,!0)},children:(e,t)=>{var n=Bx(),r=z(n);r.value=r.__value=`skip`;var i=B(r,2);i.value=i.__value=`queue`;var a=B(i,2);a.value=a.__value=`trigger-wake`,K(e,n)},$$slots:{default:!0}}),A(u);var d=B(u,2),f=R(d);{let e=P(()=>H(k)!==null);_a(f,{variant:`primary`,onclick:pe,get disabled(){return H(e)},children:(e,n)=>{j();var r=G();V(()=>q(r,H(k)===`sched:${H(t).id}`?`...`:`Save`)),K(e,r)},$$slots:{default:!0}})}_a(B(f,2),{variant:`secondary`,onclick:()=>I(E,null),children:(e,t)=>{j(),K(e,G(`Cancel`))},$$slots:{default:!0}}),A(d),A(n),aa(l,()=>H(re),e=>I(re,e)),K(e,n)},a=e=>{var n=Wx();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=G();V(e=>q(n,e),[()=>Pb(H(t).cron)]),K(e,n)},u=e=>{K(e,G(`one-time`))},d=e=>{K(e,G(`--`))};J(c,e=>{H(t).cron?e(l):H(t).fireAt?e(u,1):e(d,-1)}),A(s);var f=B(s,2),p=R(f);Co(p,{get checked(){return H(t).enabled},onchange:()=>de(H(t))});var m=B(p,2);_a(m,{variant:`icon`,onclick:()=>fe(H(t)),children:(e,t)=>{j(),K(e,G(`Edit`))},$$slots:{default:!0}});var h=B(m,2);{let e=P(()=>H(k)!==null);_a(h,{variant:`danger`,size:`sm`,class:`icon-size`,onclick:()=>he(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=G();V(()=>q(r,H(k)===`sched:${H(t).id}`?`...`:`Del`)),K(e,r)},$$slots:{default:!0}})}A(f),A(i);var g=B(i,2),_=e=>{var n=Ux(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>Vb(H(t))]),K(e,n)};J(g,e=>{(H(t).message||H(t).messages?.length)&&e(_)}),A(n),V(()=>{r=X(n,1,`schedule-card svelte-1u04gr6`,null,r,{disabled:!H(t).enabled}),q(o,H(t).id)}),K(e,n)};J(r,e=>{H(E)===H(t).id?e(i):e(a,-1)}),K(e,n)}),A(t),K(e,t)};J(De,e=>{H(r).length===0&&!H(_)?e(Oe):e(ke,-1)}),A(Ce),K(e,ge),N()}var Jx=W(`<div class="skill-desc svelte-19xtkvn"> </div>`),Yx=W(`<span class="installed-tag svelte-19xtkvn">installed</span>`),Xx=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>`),Zx=W(`<div class="skill-list svelte-19xtkvn"></div>`),Qx=W(`<div class="modal-body svelte-19xtkvn"><!> <!></div>`);function $x(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null);ma(()=>{id().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 od(t.name,e),t.onInstalled();try{I(n,await id(),!0)}catch{}}catch(e){I(r,e instanceof Error?e.message:`Failed to install`,!0)}I(a,null)}$a(e,{size:`480px`,title:`Add Skill`,get onClose(){return t.onClose},children:(e,s)=>{var c=Qx(),l=R(c);Ca(l,{get message(){return H(r)}});var u=B(l,2),d=e=>{xa(e,{message:`Loading...`})},f=e=>{xa(e,{message:`No shared skills available.`})},p=e=>{var r=Zx();Y(r,21,()=>H(n),e=>e.id,(e,n)=>{var r=Xx(),i=R(r),s=R(i),c=R(s,!0);A(s);var l=B(s,2),u=e=>{var t=Jx(),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,Yx())},g=P(()=>t.installedIds.has(H(n).id)),_=e=>{{let t=P(()=>H(a)!==null);_a(e,{variant:`primary`,onclick:()=>o(H(n).id),get disabled(){return H(t)},children:(e,t)=>{j();var r=G();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 eS=W(`<span class="update-badge svelte-x10lne">update available</span>`),tS=W(`<div class="skill-desc svelte-x10lne"> </div>`),nS=W(`<span class="upstream-tag svelte-x10lne"> </span>`),rS=W(`<span class="local-tag svelte-x10lne">local</span>`),iS=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>`),aS=W(`<div class="skill-list svelte-x10lne"></div>`),oS=W(`<!> <!> <!>`,1),sS=W(`<!> <!>`,1);function cS(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(!0),a=F(null),o=F(!1);function s(){ad(t.name).then(e=>{I(n,e,!0),I(i,!1),I(r,``)}).catch(()=>{I(r,`Failed to load skills`),I(i,!1)})}ma(()=>{s()});let c=P(()=>new Set(H(n).map(e=>e.id)));async function l(e){I(a,e,!0),I(r,``);try{let n=await sd(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 cd(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 ld(t.name,e),s()}catch(e){I(r,e instanceof Error?e.message:`Failed to uninstall`,!0)}I(a,null)}var f=sS(),p=z(f),m=e=>{xa(e,{message:`Loading...`})},h=e=>{var t=oS(),i=z(t);Ca(i,{get message(){return H(r)}});var s=B(i,2);no(s,{title:`Skills`,action:e=>{_a(e,{variant:`primary`,onclick:()=>I(o,!0),children:(e,t)=>{j(),K(e,G(`Add skill`))},$$slots:{default:!0}})},$$slots:{action:!0}});var c=B(s,2),f=e=>{xa(e,{message:`No skills installed.`})},p=e=>{var t=aS();Y(t,21,()=>H(n),e=>e.id,(e,t)=>{var n=iS(),r=R(n),i=R(r),o=R(i),s=B(o),c=e=>{K(e,eS())};J(s,e=>{H(t).updateAvailable&&e(c)}),A(i);var f=B(i,2),p=e=>{var n=tS(),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=nS(),r=R(n);A(n),V(()=>q(r,`v${H(t).upstream.version??``}`)),K(e,n)},v=e=>{K(e,rS())};J(g,e=>{H(t).upstream?e(_):e(v,-1)}),A(m),A(r);var y=B(r,2),b=R(y),x=e=>{{let n=P(()=>H(a)!==null);_a(e,{variant:`primary`,onclick:()=>l(H(t).id),get disabled(){return H(n)},children:(e,n)=>{j();var r=G();V(()=>q(r,H(a)===H(t).id?`...`:`Update`)),K(e,r)},$$slots:{default:!0}})}};J(b,e=>{H(t).updateAvailable&&e(x)});var S=B(b,2);{let e=P(()=>H(a)!==null);_a(S,{variant:`secondary`,onclick:()=>u(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=G();V(()=>q(r,H(a)===H(t).id?`...`:`Publish`)),K(e,r)},$$slots:{default:!0}})}var C=B(S,2);{let e=P(()=>H(a)!==null);_a(C,{variant:`danger`,onclick:()=>d(H(t).id),get disabled(){return H(e)},children:(e,n)=>{j();var r=G();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=>{$x(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 lS=W(`<button> </button>`),uS=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 dS(e,t){M(t,!0);let n=P(()=>Zf.minds.find(e=>e.name===t.mind.name)??t.mind),r=P(()=>H(n).name),i=[{id:`profile`,label:`Profile`},{id:`cognition`,label:`Model`},{id:`rhythms`,label:`Clock`},{id:`skills`,label:`Skills`},{id:`environment`,label:`Environment`}],a=F(`profile`),o,s={},c=!1;ma(()=>{l()});function l(){if(!o)return;let e=new IntersectionObserver(e=>{if(!c)for(let t of e)t.isIntersecting&&I(a,t.target.id,!0)},{root:o,rootMargin:`-20% 0px -70% 0px`,threshold:0});for(let t of Object.values(s))t&&e.observe(t);return()=>e.disconnect()}function u(e){I(a,e,!0),c=!0,s[e]?.scrollIntoView({behavior:`smooth`,block:`start`}),setTimeout(()=>{c=!1},600)}async function d(){Zf.minds=await vu()}var f=uS(),p=R(f);Y(p,21,()=>i,ti,(e,t)=>{var n=lS();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);jx(R(h),{get mind(){return H(n)},onUpdated:d}),A(h),ua(h,e=>s.profile=e,()=>s?.profile);var g=B(h,2),_=R(g);no(_,{title:`Model`,subtitle:`Cognition and resource limits`}),gx(B(_,2),{get name(){return H(r)},get template(){return H(n).template}}),A(g),ua(g,e=>s.cognition=e,()=>s?.cognition);var v=B(g,2),y=R(v);no(y,{title:`Clock`,subtitle:`Sleep, schedules, and wake triggers`}),qx(B(y,2),{get name(){return H(r)}}),A(v),ua(v,e=>s.rhythms=e,()=>s?.rhythms);var b=B(v,2);cS(R(b),{get name(){return H(r)}}),A(b),ua(b,e=>s.skills=e,()=>s?.skills);var x=B(b,2);Tx(R(x),{get name(){return H(r)}}),A(x),ua(x,e=>s.environment=e,()=>s?.environment),A(m),ua(m,e=>o=e,()=>o),A(f),K(e,f),N()}Lr([`click`]);var fS=W(`<div class="error svelte-9a144u"> </div>`),pS=W(`<div class="warning svelte-9a144u"> </div>`),mS=W(`<div class="muted svelte-9a144u">Loading…</div>`),hS=W(`<div class="muted svelte-9a144u">No variants.</div>`),gS=W(`<span class="port"> </span>`),_S=W(`<span class="created"> </span>`),vS=W(`<span class="confirm svelte-9a144u"> <button class="confirm-yes svelte-9a144u"> </button> <button class="confirm-no svelte-9a144u">cancel</button></span>`),yS=W(`<span class="confirm svelte-9a144u">Discard this variant? <button class="confirm-yes danger svelte-9a144u"> </button> <button class="confirm-no svelte-9a144u">cancel</button></span>`),bS=W(`<!> <!>`,1),xS=W(`<li class="variant-row svelte-9a144u"><div class="variant-main svelte-9a144u"><span class="variant-name svelte-9a144u"> </span> <!></div> <div class="variant-meta svelte-9a144u"><span class="branch svelte-9a144u" title="branch"> </span> <!> <!></div> <div class="variant-actions svelte-9a144u"><!></div></li>`),SS=W(`<ul class="variant-list svelte-9a144u"></ul>`),CS=W(`<div class="variants svelte-9a144u"><!> <form class="create-form svelte-9a144u"><div class="create-row svelte-9a144u"><!> <!></div> <textarea class="soul-input svelte-9a144u" placeholder="Optional SOUL.md override for the variant" rows="2"></textarea></form> <!> <!> <!></div>`);function wS(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``),a=F(``),o=F(``),s=F(``),c=F(!1),l=F(null),u=F(null),d=F(null);async function f(){I(r,!0);try{I(n,await Bu(t.name),!0),I(i,``)}catch(e){console.error(`Failed to load variants:`,e),I(i,e instanceof Error?e.message:`Failed to load variants`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,f()});async function p(e){e.preventDefault();let n=H(o).trim();if(!(!n||H(c))){I(c,!0),I(i,``),I(a,``);try{await Hu(t.name,{name:n,soul:H(s).trim()||void 0}),I(o,``),I(s,``),await f()}catch(e){console.error(`Failed to create variant:`,e),I(i,e instanceof Error?e.message:`Failed to create variant`,!0)}finally{I(c,!1)}}}async function m(e){I(d,e,!0),I(i,``),I(a,``);try{let n=await Uu(t.name,e);I(l,null),await f(),n.warning&&I(a,n.warning,!0)}catch(e){console.error(`Failed to join variant:`,e),I(i,e instanceof Error?e.message:`Failed to join variant`,!0)}finally{I(d,null)}}async function h(e){I(d,e,!0),I(i,``),I(a,``);try{await Wu(t.name,e),I(u,null),await f()}catch(e){console.error(`Failed to delete variant:`,e),I(i,e instanceof Error?e.message:`Failed to delete variant`,!0)}finally{I(d,null)}}var g=CS(),_=R(g);no(_,{title:`Variants`,subtitle:`Isolated forks of this mind — split off an experiment, then join it back or discard it`});var v=B(_,2),y=R(v),b=R(y);Xa(b,{placeholder:`variant name`,width:`180px`,get disabled(){return H(c)},get value(){return H(o)},set value(e){I(o,e,!0)}});var x=B(b,2);{let e=P(()=>H(c)||!H(o).trim());_a(x,{variant:`primary`,type:`submit`,get disabled(){return H(e)},children:(e,t)=>{j();var n=G();V(()=>q(n,H(c)?`Splitting…`:`Split`)),K(e,n)},$$slots:{default:!0}})}A(y);var S=B(y,2);at(S),A(v);var C=B(v,2),w=e=>{var t=fS(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(C,e=>{H(i)&&e(w)});var T=B(C,2),E=e=>{var t=pS(),n=R(t);A(t),V(()=>q(n,`Merge completed, but: ${H(a)??``}`)),K(e,t)};J(T,e=>{H(a)&&e(E)});var ee=B(T,2),te=e=>{K(e,mS())},ne=e=>{K(e,hS())},D=e=>{var r=SS();Y(r,21,()=>H(n),e=>e.name,(e,n)=>{var r=xS(),i=R(r),a=R(i),o=R(a,!0);A(a),po(B(a,2),{get status(){return H(n).status}}),A(i);var s=B(i,2),c=R(s),f=R(c,!0);A(c);var p=B(c,2),g=e=>{var t=gS(),r=R(t);A(t),V(()=>q(r,`:${H(n).port??``}`)),K(e,t)};J(p,e=>{H(n).port&&e(g)});var _=B(p,2),v=e=>{var t=_S(),r=R(t,!0);A(t),V(e=>q(r,e),[()=>Bl(H(n).created)]),K(e,t)};J(_,e=>{H(n).created&&e(v)}),A(s);var y=B(s,2),b=R(y),x=e=>{var r=vS(),i=R(r),a=B(i),o=R(a,!0);A(a);var s=B(a,2);A(r),V(()=>{q(i,`Join back into ${t.name??``} and restart? `),a.disabled=H(d)===H(n).name,q(o,H(d)===H(n).name?`joining…`:`join`),s.disabled=H(d)===H(n).name}),U(`click`,a,()=>m(H(n).name)),U(`click`,s,()=>I(l,null)),K(e,r)},S=e=>{var t=yS(),r=B(R(t)),i=R(r,!0);A(r);var a=B(r,2);A(t),V(()=>{r.disabled=H(d)===H(n).name,q(i,H(d)===H(n).name?`discarding…`:`discard`),a.disabled=H(d)===H(n).name}),U(`click`,r,()=>h(H(n).name)),U(`click`,a,()=>I(u,null)),K(e,t)},C=e=>{var t=bS(),r=z(t);{let e=P(()=>!!H(d));_a(r,{variant:`secondary`,onclick:()=>I(l,H(n).name,!0),get disabled(){return H(e)},children:(e,t)=>{j(),K(e,G(`Join`))},$$slots:{default:!0}})}var i=B(r,2);{let e=P(()=>!!H(d));_a(i,{variant:`text`,onclick:()=>I(u,H(n).name,!0),get disabled(){return H(e)},children:(e,t)=>{j(),K(e,G(`Discard`))},$$slots:{default:!0}})}K(e,t)};J(b,e=>{H(l)===H(n).name?e(x):H(u)===H(n).name?e(S,1):e(C,-1)}),A(y),A(r),V(()=>{q(o,H(n).name),q(f,H(n).branch)}),K(e,r)}),A(r),K(e,r)};J(ee,e=>{H(r)?e(te):H(n).length===0?e(ne,1):e(D,-1)}),A(g),V(()=>S.disabled=H(c)),Ir(`submit`,v,p),aa(S,()=>H(s),e=>I(s,e)),K(e,g),N()}Lr([`click`]);var TS=W(`<div class="error svelte-1ctf7xm"> </div>`),ES=W(`<div class="muted svelte-1ctf7xm">Loading…</div>`),DS=W(`<div class="muted svelte-1ctf7xm">No pending files.</div>`),OS=W(`<li class="file-row svelte-1ctf7xm"><div class="file-main svelte-1ctf7xm"><span class="file-name svelte-1ctf7xm"> </span> <span class="file-size svelte-1ctf7xm"> </span></div> <div class="file-meta svelte-1ctf7xm"><span class="sender"> </span> <span class="created"> </span></div></li>`),kS=W(`<ul class="file-list svelte-1ctf7xm"></ul> <div class="hint svelte-1ctf7xm">Accepting or rejecting a file is the mind's decision — it runs <code class="svelte-1ctf7xm">volute chat accept/reject <id></code> when it's ready.</div>`,1),AS=W(`<div class="pending svelte-1ctf7xm"><!> <!> <!></div>`);function jS(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``);function a(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(+(n<10))} ${t[r]}`}async function o(){I(r,!0);try{I(n,await uf(t.name),!0),I(i,``)}catch(e){console.error(`Failed to load pending files:`,e),I(i,e instanceof Error?e.message:`Failed to load pending files`,!0)}finally{I(r,!1)}}Tn(()=>{t.name,o()});var s=AS(),c=R(s);no(c,{title:`Incoming files`,subtitle:`Files sent to this mind, awaiting its review`});var l=B(c,2),u=e=>{var t=TS(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)};J(l,e=>{H(i)&&e(u)});var d=B(l,2),f=e=>{K(e,ES())},p=e=>{K(e,DS())},m=e=>{var t=kS(),r=z(t);Y(r,21,()=>H(n),e=>e.id,(e,t)=>{var n=OS(),r=R(n),i=R(r),o=R(i,!0);A(i);var s=B(i,2),c=R(s,!0);A(s),A(r);var l=B(r,2),u=R(l),d=R(u);A(u);var f=B(u,2),p=R(f,!0);A(f),A(l),A(n),V((e,n)=>{q(o,H(t).filename),q(c,e),q(d,`from ${H(t).sender??``}`),q(p,n)},[()=>a(H(t).size),()=>Bl(H(t).createdAt)]),K(e,n)}),A(r),j(2),K(e,t)};J(d,e=>{H(r)?e(f):H(n).length===0?e(p,1):e(m,-1)}),A(s),K(e,s),N()}var MS=W(`<div class="error svelte-18xrmlc"> </div>`),NS=W(`<div class="empty svelte-18xrmlc">Loading...</div>`),PS=W(`<div class="empty svelte-18xrmlc">No channels yet. Create one below.</div>`),FS=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>`),IS=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 LS(e,t){M(t,!0);let n=F(L([])),r=F(``),i=F(``),a=F(!0),o=F(null);function s(){I(a,!0),Zu().then(e=>{I(n,e,!0),I(i,``)}).catch(e=>{I(i,e instanceof Error?e.message:`Failed to load channels`,!0)}).finally(()=>{I(a,!1)})}ma(()=>{s()});async function c(){let e=H(r).trim().toLowerCase().replace(/[^a-z0-9-]/g,`-`).replace(/-+/g,`-`).replace(/^-|-$/g,``);if(e)try{let n=await Qu(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 $u(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 ed(e.channel_name),s()}catch(e){I(i,e instanceof Error?e.message:`Failed to leave channel`,!0)}}function d(e){e.key===`Escape`&&t.onClose(),e.key===`Enter`&&c()}$a(e,{size:`380px`,title:`Browse channels`,get onClose(){return t.onClose},children:(e,t)=>{var s=IS(),f=z(s),p=e=>{var t=MS(),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,NS())},_=e=>{K(e,PS())},v=e=>{var t=Kr();Y(z(t),17,()=>H(n),e=>e.id,(e,t)=>{var n=FS(),r=R(n),i=R(r),a=R(i);A(i);var s=B(i,2),c=R(s);A(s),A(r);var d=B(r,2);let f;var p=R(d,!0);A(d),A(n),V(()=>{q(a,`#${H(t).channel_name??``}`),q(c,`${H(t).participantCount??``} member${H(t).participantCount===1?``:`s`}`),f=X(d,1,`action-btn svelte-18xrmlc`,null,f,{leave:H(t).isMember}),d.disabled=H(o)===H(t).channel_name,q(p,H(o)===H(t).channel_name?`...`:H(t).isMember?`leave`:`join`)}),U(`click`,d,()=>H(t).isMember?u(H(t)):l(H(t))),K(e,n)}),K(e,t)};J(h,e=>{H(a)?e(g):H(n).length===0?e(_,1):e(v,-1)}),A(m);var y=B(m,2),b=R(y);Xa(b,{type:`text`,placeholder:`new-channel-name`,style:`flex:1`,onkeydown:d,get value(){return H(r)},set value(e){I(r,e,!0)}});var x=B(b,2);A(y),V(e=>x.disabled=e,[()=>!H(r).trim()]),U(`click`,x,c),K(e,s)},$$slots:{default:!0}}),N()}Lr([`click`]);var RS=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>`),zS=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>`),BS=W(`<div class="skill-item svelte-1v57vxv"><span class="skill-name svelte-1v57vxv"> </span> <span class="skill-desc svelte-1v57vxv"> </span></div>`),VS=W(`<details class="section svelte-1v57vxv"><summary class="section-header svelte-1v57vxv"> </summary> <div class="section-body svelte-1v57vxv"></div></details>`),HS=W(`<div class="empty svelte-1v57vxv">No messages yet</div>`),US=W(`<pre class="block-system-text svelte-1v57vxv"> </pre>`),WS=W(`<div class="block-text markdown-body svelte-1v57vxv"></div>`),GS=W(`<details class="block-thinking svelte-1v57vxv"><summary class="thinking-header svelte-1v57vxv">Thinking</summary> <div class="thinking-body svelte-1v57vxv"> </div></details>`),KS=W(`<details class="block-tool svelte-1v57vxv"><summary class="tool-header svelte-1v57vxv"> </summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),qS=W(`<details class="block-tool svelte-1v57vxv"><summary>Result<!></summary> <pre class="tool-body svelte-1v57vxv"> </pre></details>`),JS=W(`<div><div> </div> <div class="blocks svelte-1v57vxv"></div></div>`),YS=W(`<div class="messages svelte-1v57vxv"></div>`),XS=W(`<div class="session svelte-1v57vxv"><div class="session-label svelte-1v57vxv"> </div> <!></div>`),ZS=W(`<div class="context-view svelte-1v57vxv"><div class="preamble svelte-1v57vxv"><!> <!> <!></div> <!></div>`);function QS(e,t){M(t,!0);var n=ZS(),r=R(n),i=R(r),a=e=>{var n=RS(),r=B(R(n),2);ui(r,()=>Al(t.messages.preamble.systemPrompt),!0),A(r),A(n),K(e,n)};J(i,e=>{t.messages.preamble.systemPrompt&&e(a)});var o=B(i,2),s=e=>{var n=zS(),r=B(R(n),2);ui(r,()=>Al(t.messages.preamble.sdkInstructions),!0),A(r),A(n),K(e,n)};J(o,e=>{t.messages.preamble.sdkInstructions&&e(s)});var c=B(o,2),l=e=>{var n=VS(),r=R(n),i=R(r);A(r);var a=B(r,2);Y(a,21,()=>t.messages.preamble.skillDescriptions,ti,(e,t)=>{var n=BS(),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=XS(),r=R(n),i=R(r,!0);A(r);var a=B(r,2),o=e=>{K(e,HS())},s=e=>{var n=YS();Y(n,21,()=>H(t).messages,ti,(e,t)=>{var n=JS();let r;var i=R(n);let a;var o=R(i,!0);A(i);var s=B(i,2);Y(s,21,()=>H(t).blocks,ti,(e,n)=>{var r=Kr(),i=z(r),a=e=>{var r=Kr(),i=z(r),a=e=>{var t=US(),r=R(t,!0);A(t),V(()=>q(r,H(n).text)),K(e,t)},o=e=>{var t=WS();ui(t,()=>Al(H(n).text),!0),A(t),K(e,t)};J(i,e=>{H(t).role===`system`?e(a):e(o,-1)}),K(e,r)},o=e=>{var t=GS(),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=KS(),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=qS(),r=R(t);let i;var a=B(R(r)),o=e=>{K(e,G(`(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 $S=W(`<div class="loading svelte-1ndm006">Loading context info...</div>`),eC=W(`<div class="error svelte-1ndm006"> </div>`),tC=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>`),nC=W(`<div class="empty svelte-1ndm006">No active sessions</div>`),rC=W(`<span> </span><!>`,1),iC=W(`<span class="no-data svelte-1ndm006">no data yet</span>`),aC=W(`<div class="cell svelte-1ndm006"></div>`),oC=W(`<div class="waffle svelte-1ndm006"></div>`),sC=W(`<div class="token-bar svelte-1ndm006"><div class="token-bar-fill svelte-1ndm006"></div></div>`),cC=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>`),lC=W(`<div class="sessions svelte-1ndm006"></div>`),uC=W(`<div class="context-content svelte-1ndm006"><!> <!></div>`),dC=W(`<div class="loading svelte-1ndm006">Loading context content...</div>`);function fC(e,t){M(t,!0);let n=F(`Overview`),r=F(null),i=F(null),a=F(!0),o=F(!1),s=F(``),c=F(``);ma(async()=>{try{I(r,await bu(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 xu(t.mindName),!0)}catch(e){I(c,e.message??`Failed to fetch context messages`,!0)}finally{I(o,!1)}}}function u(e){I(n,e,!0),e===`Content`&&l()}function d(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}let f={systemPrompt:`#6366f1`,claudeMd:`#818cf8`,skillDesc:`#8b5cf6`,userText:`#3b82f6`,assistantText:`#22c55e`,thinking:`#f59e0b`,toolUse:`#ec4899`,toolResult:`#f97316`,sdk:`#64748b`,empty:`var(--bg-3, #2a2a2a)`};function p(e,t){let n=[{key:`systemPrompt`,label:`System Prompt`,tokens:e.systemPrompt,color:f.systemPrompt},{key:`sdkInstructions`,label:`SDK Instructions`,tokens:e.sdkInstructions,color:f.claudeMd},{key:`skillDesc`,label:`Skill Descriptions`,tokens:e.skillDescriptions,color:f.skillDesc},{key:`userText`,label:`User Messages`,tokens:e.conversation.userText,color:f.userText},{key:`assistantText`,label:`Assistant Text`,tokens:e.conversation.assistantText,color:f.assistantText},{key:`thinking`,label:`Thinking`,tokens:e.conversation.thinking,color:f.thinking},{key:`toolUse`,label:`Tool Calls`,tokens:e.conversation.toolUse,color:f.toolUse},{key:`toolResult`,label:`Tool Results`,tokens:e.conversation.toolResult,color:f.toolResult}].filter(e=>e.tokens>0),r=t-n.reduce((e,t)=>e+t.tokens,0);return r>0&&n.push({key:`sdk`,label:`Tools & SDK`,tokens:r,color:f.sdk}),n}let m=2e3;function h(e,t){let n=Math.ceil(t/m),r=Math.ceil(n/15)*15,i=[];for(let t of e){let e=`${t.label}: ${d(t.tokens)}`,n=Math.max(1,Math.round(t.tokens/m));for(let a=0;a<n&&i.length<r;a++)i.push({color:t.color,tooltip:e})}for(;i.length<r;)i.push({color:f.empty,tooltip:``});return i}{let l=e=>{go(e,{tabs:[`Overview`,`Content`],get active(){return H(n)},onchange:u})},f=P(()=>H(n)===`Content`?`full`:`600px`);$a(e,{get title(){return`Context — ${t.mindName??``}`},get onClose(){return t.onClose},get size(){return H(f)},headerActions:l,children:(e,t)=>{var l=Kr(),u=z(l),f=e=>{var t=Kr(),n=z(t),i=e=>{K(e,$S())},o=e=>{var t=eC(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)},c=e=>{var t=uC(),n=R(t),i=e=>{var t=tC(),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,nC())},s=e=>{var t=lC();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=cC(),o=R(a),s=R(o),c=R(s,!0);A(s);var l=B(s,2),u=R(l),f=e=>{var n=rC(),r=z(n);let a;var o=R(r,!0);A(r);var s=B(r),c=e=>{var n=G();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,iC())};J(u,e=>{H(t).contextTokens>0?e(f):e(m,-1)}),A(l),A(o);var g=B(o,2),_=e=>{var t=oC();Z(t,``,{},{"grid-template-columns":`repeat(15, 1fr)`}),Y(t,21,()=>H(r),ti,(e,t)=>{var n=Kr(),r=z(n),i=e=>{var n=aC();let r;Si(n,(e,t)=>Il?.(e,t),()=>H(t).tooltip),V(()=>r=Z(n,``,r,{background:H(t).color})),K(e,n)},a=e=>{var n=aC();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=sC(),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=Kr(),n=z(t),r=e=>{K(e,dC())},a=e=>{var t=eC(),n=R(t,!0);A(t),V(()=>q(n,H(c))),K(e,t)},s=e=>{QS(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 pC=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>`),mC=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>`),hC=W(`<div class="model-dropdown svelte-c55mz0"></div>`),gC=W(`<div class="model-picker svelte-c55mz0"><!> <!></div>`),_C=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Model (optional)</span> <!></div>`),vC=W(`<label class="skill-item svelte-c55mz0"><input type="checkbox"/> <span class="skill-name svelte-c55mz0"> </span></label>`),yC=W(`<div class="field svelte-c55mz0"><span class="label svelte-c55mz0">Skills</span> <div class="skill-list svelte-c55mz0"></div></div>`),bC=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),xC=W(`<div class="error svelte-c55mz0"> </div>`),SC=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 CC(e,t){M(t,!0);let n=[`orientation`,`memory`],r=F(``),i=F(``),a=F(``),o=F(!1),s=F(``),c=F(!1),l=F(``),u=F(``),d=F(L([])),f=F(L(new Set(n))),p=F(L([])),m=F(``),h=F(!1),g=P(()=>H(p).filter(e=>e.enabled)),_=P(()=>H(g).find(e=>e.id===H(a))),v=P(()=>H(m).trim()?H(g).filter(e=>{let t=H(m).toLowerCase();return e.id.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.provider.toLowerCase().includes(t)}).slice(0,12):H(g).slice(0,12)),y=P(()=>!H(o)&&!!H(r).trim());ma(()=>{gd().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)}),id().then(e=>{I(d,e,!0)}).catch(e=>{console.error(`Failed to load shared skills:`,e)}),Od().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 Tu(e,{description:H(i).trim()||void 0,model:H(a)||void 0,seedSoul:n,skills:r}),await Su(e),t.onCreated(e)}catch(e){I(s,e instanceof Error?e.message:`Failed to create`,!0),I(o,!1)}}}$a(e,{size:`340px`,get onClose(){return t.onClose},children:(e,n)=>{var u=SC(),p=B(R(u),2);Xa(B(R(p),2),{inputSize:`md`,autofocus:!0,placeholder:`e.g. luna`,onkeydown:e=>e.key===`Enter`&&x(),get value(){return H(r)},set value(e){I(r,e,!0)}}),A(p);var S=B(p,2);Xa(B(R(S),2),{inputSize:`md`,placeholder:`A curious mind who loves poetry...`,onkeydown:e=>e.key===`Enter`&&x(),get value(){return H(i)},set value(e){I(i,e,!0)}}),A(S);var C=B(S,2),w=e=>{var t=_C(),n=B(R(t),2),r=e=>{var t=pC(),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=gC(),n=R(t);Xa(n,{type:`text`,placeholder:`Search models...`,onfocus:()=>{I(h,!0)},onblur:()=>{setTimeout(()=>{I(h,!1)},150)},get value(){return H(m)},set value(e){I(m,e,!0)}});var r=B(n,2),i=e=>{var t=hC();Y(t,21,()=>H(v),e=>e.id,(e,t)=>{var n=mC(),r=R(n),i=R(r,!0);A(r);var o=B(r,2),s=R(o,!0);A(o),A(n),V(()=>{q(i,H(t).name),q(s,H(t).provider)}),U(`click`,n,()=>{I(a,H(t).id,!0),I(h,!1),I(m,``)}),K(e,n)}),A(t),K(e,t)};J(r,e=>{H(h)&&H(v).length>0&&e(i)}),A(t),K(e,t)};J(n,e=>{H(_)?e(r):e(i,-1)}),A(t),K(e,t)};J(C,e=>{H(g).length>0&&e(w)});var T=B(C,2),E=R(T),ee=R(E,!0);A(E),j(),A(T);var te=B(T,2),ne=e=>{var t=bC(),n=z(t),r=B(R(n),2);at(r);var i=B(r,2);i.textContent="Variables: ${name}, ${description}",A(n);var a=B(n,2),o=e=>{var t=yC(),n=B(R(t),2);Y(n,21,()=>H(d),ti,(e,t)=>{var n=vC(),r=R(n);Ki(r);var i=B(r,2),a=R(i,!0);A(i),A(n),V(e=>{Ji(r,e),q(a,H(t).id)},[()=>H(f).has(H(t).id)]),U(`change`,r,()=>b(H(t).id)),K(e,n)}),A(n),A(t),K(e,t)};J(a,e=>{H(d).length>0&&e(o)}),aa(r,()=>H(l),e=>I(l,e)),K(e,t)};J(te,e=>{H(c)&&e(ne)});var D=B(te,2),O=e=>{var t=xC(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(D,e=>{H(s)&&e(O)});var re=B(D,2),ie=R(re),ae=B(ie,2);let k;var oe=R(ae,!0);A(ae),A(re),A(u),V(()=>{q(ee,H(c)?`▼`:`▶`),ae.disabled=!H(y),k=Z(ae,``,k,{opacity:H(y)?1:.5}),q(oe,H(o)?`Planting...`:`Plant`)}),U(`click`,T,()=>I(c,!H(c))),U(`click`,ie,function(...e){t.onClose?.apply(this,e)}),U(`click`,ae,x),K(e,u)},$$slots:{default:!0}}),N()}Lr([`click`,`change`]);var wC=W(`<div class="message error svelte-9vtzjd"> </div>`),TC=W(`<div class="message success svelte-9vtzjd"> </div>`),EC=W(`<img alt="Avatar preview" class="avatar-img svelte-9vtzjd" loading="lazy" decoding="async"/>`),DC=W(`<img alt="Avatar" class="avatar-img svelte-9vtzjd" loading="lazy" decoding="async"/>`),OC=W(`<div class="avatar-placeholder svelte-9vtzjd">?</div>`),kC=W(`<button type="button" class="save-btn svelte-9vtzjd"> </button>`),AC=W(`<button type="button" class="remove-btn svelte-9vtzjd">Remove</button>`),jC=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 MC(e,t){M(t,!0);let n=F(``),r=F(``),i=F(null),a=F(``),o=F(``),s=F(!1),c=F(null),l=F(null),u=F(!1),d=F(``),f=F(``),p=F(``),m=F(``),h=F(``),g=F(!1);ma(()=>{_()});async function _(){try{let e=await Yl();e&&(I(n,e.display_name??``,!0),I(r,e.description??``,!0),I(i,e.avatar?`/api/auth/avatars/${e.avatar}`:null,!0))}catch{I(a,`Failed to load profile`)}}async function v(e){e.preventDefault(),I(a,``),I(o,``),I(s,!0);try{await lu({display_name:H(n).trim()||null,description:H(r).trim()||null}),I(o,`Profile updated`)}catch(e){I(a,e instanceof Error?e.message:`Failed to update profile`,!0)}finally{I(s,!1)}}function y(e){let t=e.target.files?.[0];t&&(I(c,t,!0),I(l,URL.createObjectURL(t),!0))}async function b(){if(H(c)){I(u,!0),I(a,``);try{let e=await uu(H(c));I(i,`/api/auth/avatars/${e}`),I(c,null),I(l,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to upload avatar`,!0)}finally{I(u,!1)}}}async function x(){I(a,``);try{await du(),I(i,null),I(c,null),I(l,null)}catch(e){I(a,e instanceof Error?e.message:`Failed to remove avatar`,!0)}}async function S(e){if(e.preventDefault(),I(m,``),I(h,``),H(f)!==H(p)){I(m,`New passwords do not match`);return}if(H(f).length<1){I(m,`New password cannot be empty`);return}I(g,!0);try{await eu(H(d),H(f)),I(h,`Password changed successfully`),I(d,``),I(f,``),I(p,``)}catch(e){I(m,e instanceof Error?e.message:`Failed to change password`,!0)}finally{I(g,!1)}}$a(e,{size:`420px`,title:`User Settings`,get onClose(){return t.onClose},children:(e,t)=>{var _=jC(),C=R(_),w=B(R(C),2),T=e=>{var t=wC(),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=TC(),n=R(t,!0);A(t),V(()=>q(n,H(o))),K(e,t)};J(E,e=>{H(o)&&e(ee)});var te=B(E,2),ne=R(te),D=R(ne),O=e=>{var t=EC();V(()=>Xi(t,`src`,H(l))),K(e,t)},re=e=>{var t=DC();V(()=>Xi(t,`src`,H(i))),K(e,t)},ie=e=>{K(e,OC())};J(D,e=>{H(l)?e(O):H(i)?e(re,1):e(ie,-1)}),A(ne);var ae=B(ne,2),k=R(ae),oe=B(R(k));A(k);var se=B(k,2),ce=e=>{var t=kC(),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=AC();U(`click`,t,x),K(e,t)};J(le,e=>{H(i)&&!H(c)&&e(ue)}),A(ae),A(te);var de=B(te,2),fe=B(R(de),2);Ki(fe),Xi(fe,`maxlength`,100),A(de);var pe=B(de,2),me=B(R(pe),2);at(me),Xi(me,`maxlength`,500),A(pe);var he=B(pe,2),ge=R(he,!0);A(he),A(C);var _e=B(C,4),ve=B(R(_e),2),ye=e=>{var t=wC(),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=TC(),n=R(t,!0);A(t),V(()=>q(n,H(h))),K(e,t)};J(be,e=>{H(h)&&e(xe)});var Se=B(be,2),Ce=B(R(Se),2);Ki(Ce),A(Se);var we=B(Se,2),Te=B(R(we),2);Ki(Te),A(we);var Ee=B(we,2),De=B(R(Ee),2);Ki(De),A(Ee);var Oe=B(Ee,2),ke=R(Oe,!0);A(Oe),A(_e),A(_),V(()=>{he.disabled=H(s),q(ge,H(s)?`Saving...`:`Save Profile`),Oe.disabled=H(g),q(ke,H(g)?`Saving...`:`Change Password`)}),Ir(`submit`,C,v),U(`change`,oe,y),aa(fe,()=>H(n),e=>I(n,e)),aa(me,()=>H(r),e=>I(r,e)),Ir(`submit`,_e,S),aa(Ce,()=>H(d),e=>I(d,e)),aa(Te,()=>H(f),e=>I(f,e)),aa(De,()=>H(p),e=>I(p,e)),K(e,_)},$$slots:{default:!0}}),N()}Lr([`change`,`click`]);var NC=W(`<div class="banner svelte-rcoqqt"><span>Minds cannot think yet — no AI provider is configured.</span> <button class="settings-btn svelte-rcoqqt">add a provider in Settings</button></div>`);function PC(e,t){M(t,!0);let n=F(!0);Tn(()=>{let e=!0;async function t(){try{let t=await fetch(`/api/system/info`);if(!t.ok){console.debug(`[provider] poll returned`,t.status);return}let r=await t.json();e&&I(n,r.aiConfigured!==!1)}catch(e){console.debug(`[provider] poll failed:`,e)}}t();let r=setInterval(t,6e4);return()=>{e=!1,clearInterval(r)}});var r=Kr(),i=z(r),a=e=>{var n=NC(),r=B(R(n),2);A(n),U(`click`,r,function(...e){t.onOpenSettings?.apply(this,e)}),K(e,n)};J(i,e=>{H(n)||e(a)}),K(e,r),N()}Lr([`click`]);var FC=W(`<div class="empty svelte-h08x3h">Loading...</div>`),IC=W(`<div class="empty error-text svelte-h08x3h"> </div>`),LC=W(`<button class="crumb svelte-h08x3h"> </button>`),RC=W(`<button class="file-row svelte-h08x3h"><span class="file-icon svelte-h08x3h">..</span> <span class="file-name svelte-h08x3h">..</span></button>`),zC=W(`<button><span class="file-icon svelte-h08x3h"> </span> <span class="file-name svelte-h08x3h"> </span></button>`),BC=W(`<div class="empty-dir svelte-h08x3h">Empty directory</div>`),VC=W(`<div class="preview-empty svelte-h08x3h">Loading...</div>`),HC=W(`<div class="preview-empty error-text svelte-h08x3h"> </div>`),UC=W(`<div class="preview-image svelte-h08x3h"><img class="svelte-h08x3h"/></div>`),WC=W(`<div class="preview-markdown markdown-body svelte-h08x3h"></div>`),GC=W(`<pre class="preview-text svelte-h08x3h"><code class="svelte-h08x3h"> </code></pre>`),KC=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>`),qC=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),JC=W(`<div class="preview-empty svelte-h08x3h">Select a file to preview</div>`),YC=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>`),XC=W(`<div class="public-files svelte-h08x3h"><!></div>`);function ZC(e,t){M(t,!0);let n=F(L([])),r=F(!0),i=F(``),a=F(``),o=F(null),s=F(null),c=F(!1),l=F(``),u=F(L([])),d=new Set([`text/plain`,`text/html`,`text/css`,`text/markdown`,`application/javascript`,`application/json`,`application/xml`]),f=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/svg+xml`,`image/webp`]),p=P(()=>H(u).length>0?`${H(u).join(`/`)}/`:``);async function m(){I(r,!0),I(i,``),I(o,null),I(s,null);try{let e=H(u).length>0?`${H(u).join(`/`)}/`:``,r=await fetch(`/api/minds/${encodeURIComponent(t.name)}/files/${e}`);if(!r.ok)throw Error(`Failed to load directory`);I(n,await r.json(),!0)}catch(e){I(i,e instanceof Error?e.message:`Failed to load`,!0),I(n,[],!0)}finally{I(r,!1)}}Tn(()=>{t.name,H(p),m()});async function h(e){if(e.type===`directory`){I(u,[...H(u),e.name],!0);return}H(s)&&H(y)&&URL.revokeObjectURL(H(s)),I(o,e.name,!0),I(c,!0),I(s,null),I(l,``),I(a,``);try{let n=H(p)+e.name,r=await fetch(`/api/minds/${encodeURIComponent(t.name)}/files/${n}`);if(!r.ok)throw Error(`Failed to load file`);I(l,r.headers.get(`content-type`)??``,!0);let i=H(l).split(`;`)[0].trim();if(d.has(i))I(s,await r.text(),!0);else if(f.has(i)){let e=await r.blob();I(s,URL.createObjectURL(e),!0)}else I(s,null)}catch(e){I(s,null),I(a,e instanceof Error?e.message:`Failed to load file`,!0)}finally{I(c,!1)}}function g(){I(u,H(u).slice(0,-1),!0)}function _(){I(u,[],!0)}let v=P(()=>H(l).split(`;`)[0].trim()),y=P(()=>f.has(H(v))),b=P(()=>d.has(H(v))),x=P(()=>H(v)===`text/markdown`||(H(o)?.endsWith(`.md`)??!1));Tn(()=>{let e=H(s),t=H(y);return()=>{e&&t&&URL.revokeObjectURL(e)}});let S=P(()=>[...H(n)].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1));var C=XC(),w=R(C),T=e=>{K(e,FC())},E=e=>{var t=IC(),n=R(t,!0);A(t),V(()=>q(n,H(i))),K(e,t)},ee=e=>{var r=YC(),i=R(r),d=R(i),f=R(d);Y(B(f,2),17,()=>H(u),ti,(e,t,n)=>{var r=LC(),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=RC();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=zC();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,BC())};J(w,e=>{H(n).length===0&&e(T)}),A(i);var E=B(i,2),ee=R(E),te=e=>{var n=qC(),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,VC())},h=e=>{var t=HC(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},g=e=>{var t=UC(),n=R(t);A(t),V(()=>{Xi(n,`src`,H(s)),Xi(n,`alt`,H(o))}),K(e,t)},_=e=>{var t=WC();ui(t,()=>Al(H(s)),!0),A(t),K(e,t)},v=e=>{var t=GC(),n=R(t),r=R(n,!0);A(n),A(t),V(()=>q(r,H(s))),K(e,t)},S=e=>{var n=KC(),r=R(n),i=R(r,!0);A(r);var a=B(r,2);A(n),V(e=>{q(i,H(l)||`unknown type`),Xi(a,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)};J(f,e=>{H(c)?e(m):H(a)?e(h,1):H(y)&&H(s)?e(g,2):H(x)&&H(s)!==null?e(_,3):H(b)&&H(s)!==null?e(v,4):e(S,-1)}),V(e=>{q(u,`${H(p)??``}${H(o)??``}`),Xi(d,`href`,`/api/minds/${e??``}/files/${H(p)??``}${H(o)??``}`)},[()=>encodeURIComponent(t.name)]),K(e,n)},ne=e=>{K(e,JC())};J(ee,e=>{H(o)?e(te):e(ne,-1)}),A(E),A(r),U(`click`,f,_),K(e,r)};J(w,e=>{H(r)?e(T):H(i)?e(E,1):e(ee,-1)}),A(C),K(e,C),N()}Lr([`click`]);function QC(e,t,n){let r=null;function i(){r?.abort(),r=new AbortController;let i=r.signal;fetch(e,{signal:i}).then(async e=>{if(!e.ok){n?.(`Stream connection failed (${e.status})`);return}if(!e.body){n?.(`Stream has no body`);return}let r=e.body.getReader(),i=new TextDecoder,a=``;for(;;){let{done:e,value:n}=await r.read();if(e)break;a+=i.decode(n,{stream:!0});let o=a.split(`
|
|
82
82
|
`);a=o.pop()||``;for(let e of o){if(!e.startsWith(`data: `))continue;let n=e.slice(6);n&&t(n)}}}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||n?.(e.message||`Stream error`)})}function a(){r?.abort()}return{start:i,stop:a}}function $C(e,t){return QC(`/api/system/logs`,e,t)}var ew=W(`<button>debug</button>`),tw=W(`<button> </button>`),nw=W(`<div class="filter-sep svelte-1208idv"></div> <div class="filter-group svelte-1208idv"></div>`,1),rw=W(`<button class="pill pill-clear svelte-1208idv">clear</button>`),iw=W(`<div class="pause-bar svelte-1208idv"><span>Scroll paused</span> <button class="resume-btn svelte-1208idv">Resume</button></div>`),aw=W(`<span class="error svelte-1208idv"> </span>`),ow=W(`<span class="waiting svelte-1208idv">Waiting for logs...</span>`),sw=W(`<span class="cat svelte-1208idv"> </span>`),cw=W(`<span class="data svelte-1208idv"> </span>`),lw=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>`),uw=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 dw(e,t){M(t,!0);let n={info:`var(--text-2)`,warn:`var(--yellow)`,error:`var(--red)`,debug:`var(--text-2)`},r=F(L([])),i=F(!0),a=F(``),o,s=new Gl,c=new Gl,l=P(()=>H(r).some(e=>e.level===`debug`)),u=P(()=>[...new Set(H(r).map(e=>e.cat).filter(e=>!!e))].sort()),d=P(()=>s.size>0||c.size>0),f=P(()=>H(d)?H(r).filter(e=>!s.has(e.level)&&(!e.cat||!c.has(e.cat))):H(r));function p(e,t){e.has(t)?e.delete(t):e.add(t)}function m(){s.clear(),c.clear()}function h(e){try{let t=JSON.parse(e);H(r).push(t),H(r).length>2e3&&I(r,H(r).slice(-2e3),!0)}catch{}}Tn(()=>{I(a,``);let{start:e,stop:t}=$C(h,e=>{I(a,e,!0)});return e(),t}),Tn(()=>{let e=H(f).length;H(i)&&o&&e>0&&(o.scrollTop=o.scrollHeight)});function g(){if(!o)return;let e=o.scrollHeight-o.scrollTop-o.clientHeight<30;I(i,e)}function _(){I(i,!0),o&&(o.scrollTop=o.scrollHeight)}function v(e){try{return new Date(e).toLocaleTimeString()}catch{return e}}function y(e){return Object.entries(e).map(([e,t])=>`${e}=${typeof t==`string`?t:JSON.stringify(t)}`).join(` `)}var b=uw(),x=R(b),S=B(R(x),2),C=R(S),w=e=>{var t=G();V(()=>q(t,`${H(f).length??``} / ${H(r).length??``} entries`)),K(e,t)},T=e=>{var t=G();V(()=>q(t,`${H(r).length??``} entries`)),K(e,t)};J(C,e=>{H(d)?e(w):e(T,-1)}),A(S),A(x);var E=B(x,2),ee=R(E),te=R(ee);let ne;var D=B(te,2);let O;var re=B(D,2);let ie;var ae=B(re,2),k=e=>{var t=ew();let n;V(e=>n=X(t,1,`pill pill-debug svelte-1208idv`,null,n,e),[()=>({inactive:s.has(`debug`)})]),U(`click`,t,()=>p(s,`debug`)),K(e,t)};J(ae,e=>{H(l)&&e(k)}),A(ee);var oe=B(ee,2),se=e=>{var t=nw(),n=B(z(t),2);Y(n,20,()=>H(u),e=>e,(e,t)=>{var n=tw();let r;var i=R(n,!0);A(n),V(e=>{r=X(n,1,`pill pill-cat svelte-1208idv`,null,r,e),q(i,t)},[()=>({inactive:c.has(t)})]),U(`click`,n,()=>p(c,t)),K(e,n)}),A(n),K(e,t)};J(oe,e=>{H(u).length>0&&e(se)});var ce=B(oe,2),le=e=>{var t=rw();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=iw(),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=aw(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},he=e=>{K(e,ow())};J(pe,e=>{H(a)?e(me):H(r).length===0&&e(he,1)}),Y(B(pe,2),17,()=>H(f),ti,(e,t)=>{var r=lw(),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=sw(),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=cw(),r=R(n,!0);A(n),V(e=>q(r,e),[()=>y(H(t).data)]),K(e,n)};J(p,e=>{H(t).data&&e(m)}),A(d),A(r),V(e=>{q(a,e),s=Z(o,``,s,{color:n[H(t).level]||`var(--text-2)`}),q(c,H(t).level),q(f,H(t).msg)},[()=>v(H(t).ts)]),K(e,r)}),A(fe),ua(fe,e=>o=e,()=>o),A(b),V((e,t,n)=>{ne=X(te,1,`pill pill-info svelte-1208idv`,null,ne,e),O=X(D,1,`pill pill-warn svelte-1208idv`,null,O,t),ie=X(re,1,`pill pill-error svelte-1208idv`,null,ie,n)},[()=>({inactive:s.has(`info`)}),()=>({inactive:s.has(`warn`)}),()=>({inactive:s.has(`error`)})]),U(`click`,te,()=>p(s,`info`)),U(`click`,D,()=>p(s,`warn`)),U(`click`,re,()=>p(s,`error`)),Ir(`scroll`,fe,g),K(e,b),N()}Lr([`click`]);var fw=W(`<span class="error svelte-1uhe9s"> </span>`),pw=W(`<span class="updating svelte-1uhe9s">Updating...</span>`),mw=W(`<span> </span> <button class="update-btn svelte-1uhe9s">update</button> <button class="dismiss-btn svelte-1uhe9s">×</button>`,1),hw=W(`<div class="banner svelte-1uhe9s"><!></div>`);function gw(e,t){M(t,!0);let n=F(null),r=F(!1),i=F(!1),a=F(null);Tn(()=>{let e=!0;async function t(){try{let t=await fetch(`/api/health`);if(!t.ok)return;let r=await t.json();e&&r.updateAvailable?I(n,{current:r.version,latest:r.latest,updateAvailable:!0},!0):e&&I(n,null)}catch(e){console.debug(`[update] poll failed:`,e)}}t();let r=setInterval(t,6e4);return()=>{e=!1,clearInterval(r)}});async function o(){I(i,!0);try{if(!(await fetch(`/api/system/update`,{method:`POST`})).ok){I(i,!1),I(a,`Update failed`),setTimeout(()=>{I(a,null)},5e3);return}let e=Date.now();for(await new Promise(e=>setTimeout(e,3e3));Date.now()-e<6e4;){try{let e=await fetch(`/api/health`);if(e.ok&&(await e.json()).version!==H(n)?.current){window.location.reload();return}}catch(e){console.debug(`[update] health check failed:`,e)}await new Promise(e=>setTimeout(e,2e3))}window.location.reload()}catch{I(i,!1),I(a,`Update failed`),setTimeout(()=>{I(a,null)},5e3)}}var s=Kr(),c=z(s),l=e=>{var t=hw(),s=R(t),c=e=>{var t=fw(),n=R(t,!0);A(t),V(()=>q(n,H(a))),K(e,t)},l=e=>{K(e,pw())},u=e=>{var t=mw(),i=z(t),a=R(i);A(i);var s=B(i,2),c=B(s,2);V(()=>q(a,`Update available: v${H(n).current??``} → v${H(n).latest??``}`)),U(`click`,s,o),U(`click`,c,()=>I(r,!0)),K(e,t)};J(s,e=>{H(a)?e(c):H(i)?e(l,1):e(u,-1)}),A(t),K(e,t)};J(c,e=>{H(n)?.updateAvailable&&!H(r)&&e(l)}),K(e,s),N()}Lr([`click`]);function _w(e){if(!e.checked)return`loading`;let t=e.hasAccount&&!e.loggedIn;return!e.setupComplete&&!t?`setup`:e.needsConnection?`connection`:e.loggedIn?`app`:`login`}function vw(e,t){let n=e instanceof Error?e.message:String(e);return/\bunauthorized\b|\bforbidden\b|\b401\b|\b403\b/i.test(n)?`Your session has expired — please log in again.`:n||t}var yw=W(`<button class="clear-btn svelte-q0li9w" type="button">×</button>`),bw=W(`<button type="button"><span class="option-empty svelte-q0li9w"> </span></button>`),xw=W(`<button type="button"> </button>`),Sw=W(`<span class="dropdown-empty svelte-q0li9w">No matches</span>`),Cw=W(`<div class="dropdown svelte-q0li9w"><!> <!> <!></div>`),ww=W(`<div class="model-select svelte-q0li9w"><input type="text" class="text-input svelte-q0li9w"/> <!> <!></div>`);function Tw(e,t){M(t,!0);let n=pa(t,`value`,15,``),r=pa(t,`placeholder`,3,`Search models...`),i=pa(t,`emptyLabel`,3,`None`),a=F(``),o=F(!1),s=F(void 0),c,l=P(()=>H(o)?H(a):t.items.find(e=>e.id===n())?.label??(n()?n():``)),u=P(()=>{let e=H(a).toLowerCase().trim();return e?t.items.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e)):t.items});function d(e){let t=e.target.value;clearTimeout(c),c=setTimeout(()=>{I(a,t,!0),I(o,!0)},150)}function f(){I(a,``),I(o,!0)}function p(){setTimeout(()=>{I(o,!1),I(a,``)},200)}function m(e){n(e),I(o,!1),I(a,``),H(s)?.blur()}function h(){n(``),I(o,!1),I(a,``)}var g=ww(),_=R(g);Ki(_),ua(_,e=>I(s,e),()=>H(s));var v=B(_,2),y=e=>{var t=yw();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=Cw(),r=R(t),a=e=>{var t=bw();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=xw();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,Sw())};J(s,e=>{H(u).length===0&&e(c)}),A(t),K(e,t)};J(b,e=>{H(o)&&e(x)}),A(g),V(()=>{qi(_,H(l)),Xi(_,`placeholder`,r())}),U(`input`,_,d),Ir(`focus`,_,f),Ir(`blur`,_,p),K(e,g),N()}Lr([`input`,`mousedown`]);var Ew=W(`<div class="error svelte-1x5emjp"> </div> <button class="retry-btn svelte-1x5emjp">Retry</button>`,1),Dw=W(`<div class="loading-text svelte-1x5emjp">Loading providers...</div>`),Ow=W(`<span class="model-tag svelte-1x5emjp"> <button class="model-tag-remove svelte-1x5emjp">×</button></span>`),kw=W(`<div class="model-tags svelte-1x5emjp"></div>`),Aw=W(`<span class="dim svelte-1x5emjp">No models enabled</span>`),jw=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>`),Mw=W(`<button class="add-provider-btn svelte-1x5emjp" type="button">+ Add a provider</button>`),Nw=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>`),Pw=W(`<div class="error svelte-1x5emjp"> </div>`),Fw=W(`<!> <!> <!> <!>`,1),Iw=W(`<button class="btn-provider svelte-1x5emjp" type="button"> </button>`),Lw=W(`<span class="oauth-heading svelte-1x5emjp">Sign in with</span> <div class="oauth-buttons modal-oauth-buttons svelte-1x5emjp"></div>`,1),Rw=W(`<!> <button class="link-btn svelte-1x5emjp" type="button"> </button>`,1),zw=W(`<button class="autocomplete-option svelte-1x5emjp" type="button"> </button>`),Bw=W(`<div class="autocomplete-list svelte-1x5emjp"></div>`),Vw=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>`),Hw=W(`<button class="link-btn svelte-1x5emjp" type="button">back to sign-in options</button>`),Uw=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),Ww=W(`<div class="modal-body svelte-1x5emjp"><!> <!></div>`),Gw=W(`<span class="dim svelte-1x5emjp">Verifying...</span>`),Kw=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),qw=W(`<p class="oauth-device-code svelte-1x5emjp"> </p>`),Jw=W(`<span class="dim svelte-1x5emjp">Waiting for authorization...</span>`),Yw=W(`<p class="modal-text svelte-1x5emjp">Authorize at:</p> <a target="_blank" rel="noopener" class="oauth-link svelte-1x5emjp"> </a> <!> <!>`,1),Xw=W(`<span class="dim svelte-1x5emjp">Starting OAuth...</span>`),Zw=W(`<button class="model-option svelte-1x5emjp"> </button>`),Qw=W(`<div class="model-list svelte-1x5emjp"></div>`),$w=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),eT=W(`<span class="dim svelte-1x5emjp">No more models available</span>`),tT=W(`<div class="modal-body svelte-1x5emjp"><input type="text" placeholder="Search or type a model id..." class="text-input svelte-1x5emjp"/> <!> <!> <!></div>`);function nT(e,t){M(t,!0);let n=pa(t,`showModelDefaults`,3,!1),r=pa(t,`spiritModel`,15,``),i=pa(t,`utilityModel`,15,``),a=F(L([])),o=F(L([])),s=F(``),c=F(!1),l=F(``),u=F(!1),d=F(`oauth`),f=F(``),p=F(``),m=F(``),h=F(``),g=F(``),_=F(``),v=F(!1),y=F(!1),b=F(!1),x=F(``),S=F(!1),C=F(``),w=F(!1),T=F(``),E=F(``),ee=P(()=>H(a).filter(e=>e.configured)),te=P(()=>H(a).filter(e=>!e.configured)),ne=P(()=>H(te).filter(e=>e.oauth)),D=P(()=>H(f).trim()?H(te).filter(e=>e.id.toLowerCase().includes(H(f).toLowerCase())):H(te)),O=P(()=>H(o).filter(e=>e.enabled)),re=P(()=>typeof location<`u`&&location.hostname!==`localhost`&&location.hostname!==`127.0.0.1`),ie={"Google Cloud Code Assist":`Google Cloud`,"ChatGPT Plus/Pro":`OpenAI`};function ae(e){let t=(e.oauthName??e.id).replace(/\s*\(.*\)/,``).trim();return ie[t]??(t||e.id)}function k(e){return H(O).filter(t=>t.provider===e)}let oe=P(()=>H(E).trim()?H(o).filter(e=>!e.enabled&&e.provider===H(T)&&e.id.toLowerCase().includes(H(E).toLowerCase())).slice(0,12):H(o).filter(e=>!e.enabled&&e.provider===H(T)).slice(0,12)),se=P(()=>H(E).trim().length>0&&!H(o).some(e=>e.provider===H(T)&&e.id.toLowerCase()===H(E).trim().toLowerCase()));function ce(e){return e===`api_key`?`API key`:e===`oauth`?`OAuth`:e===`env_var`?`env var`:``}Tn(()=>{H(O)&&t.onLoad?.(H(O))});async function le(){I(l,``);try{I(a,await Dd(),!0),I(o,await Od(),!0)}catch(e){console.warn(`[AiProviders] failed to load providers/models:`,e),I(l,vw(e,`Failed to load providers. Please try again.`),!0)}}function ue(){I(u,!1),I(h,``),I(g,``),I(_,``),I(v,!1),I(y,!1),I(b,!1),I(x,``),I(S,!1),I(C,``),I(d,`oauth`),I(f,``),I(p,``),I(m,``),I(s,``)}function de(){ue(),I(u,!0)}async function fe(){if(!H(p)||!H(m).trim())return;I(s,``),I(c,!0);let e=H(p);try{await kd(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 Ad(e);let t=H(o).filter(t=>t.provider===e&&t.enabled);for(let e of t)i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``);await le()}catch(e){I(s,e instanceof Error?e.message:`Failed to remove provider`,!0)}I(c,!1)}async function me(e){I(s,``),I(h,e,!0),I(c,!0);try{let t=await jd(e);I(_,t.flowId,!0),I(y,!!t.needsManualCode),I(C,t.instructions??``,!0),I(v,!0),t.url&&(I(g,t.url,!0),window.open(t.url,`_blank`)),he()}catch(e){I(s,e instanceof Error?e.message:`OAuth failed`,!0),I(h,``)}I(c,!1)}async function he(){let e=0;for(;H(v);){await new Promise(e=>setTimeout(e,2500));try{let t=await Md(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 Nd(H(_),H(x).trim()),I(x,``)}catch(e){I(s,e instanceof Error?e.message:`Failed to submit code`,!0),I(S,!1)}}}function _e(){let e=H(x).trim();e&&/^https?:\/\//.test(e)&&ge()}async function ve(e){let t=[...H(O).map(e=>e.qualifiedId),e];try{await Pd(t),I(o,H(o).map(t=>t.qualifiedId===e?{...t,enabled:!0}:t),!0),I(E,``),I(w,!1)}catch(e){I(s,e instanceof Error?e.message:`Failed to add model`,!0)}}async function ye(){let e=H(E).trim();if(e)try{await Fd(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 Id(e.provider,e.id),I(o,H(o).filter(t=>t.qualifiedId!==e.qualifiedId),!0),i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove custom model`,!0)}return}let t=H(O).map(e=>e.qualifiedId).filter(t=>t!==e.qualifiedId);try{await Pd(t),I(o,H(o).map(t=>t.qualifiedId===e.qualifiedId?{...t,enabled:!1}:t),!0),i()===e.qualifiedId&&i(``),r()===e.qualifiedId&&r(``)}catch(e){I(s,e instanceof Error?e.message:`Failed to remove model`,!0)}}var xe={load:le},Se=Fw(),Ce=z(Se),we=e=>{var t=Ew(),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,Dw())},Ee=e=>{var t=Fw(),a=z(t);Y(a,17,()=>H(ee),e=>e.id,(e,t)=>{let n=P(()=>k(H(t).id));var r=jw(),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=kw();Y(t,21,()=>H(n),e=>e.qualifiedId,(e,t)=>{var n=Ow(),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,Aw())};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=Mw();U(`click`,t,de),K(e,t)};J(o,e=>{H(te).length>0&&e(l)});var d=B(o,2),f=e=>{var t=Nw(),n=B(R(t),2);{let e=P(()=>H(O).map(e=>({id:e.qualifiedId,label:`${e.name} · ${e.provider}`})));Tw(n,{get items(){return H(e)},placeholder:`Search models...`,get value(){return r()},set value(e){r(e)}})}var a=B(n,6);{let e=P(()=>H(O).map(e=>({id:e.qualifiedId,label:`${e.name} · ${e.provider}`})));Tw(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=Pw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(p,e=>{H(s)&&!H(u)&&e(m)}),K(e,t)};J(Ce,e=>{H(l)?e(we):H(a).length===0?e(Te,1):e(Ee,-1)});var De=B(Ce,2),Oe=e=>{$a(e,{onClose:()=>{H(v)||ue()},size:`420px`,title:`Add a provider`,children:(e,t)=>{var n=Ww(),r=R(n),i=e=>{var t=Rw(),n=z(t),r=e=>{var t=Lw(),n=B(z(t),2);Y(n,21,()=>H(ne),e=>e.id,(e,t)=>{var n=Iw(),r=R(n,!0);A(n),V(e=>{n.disabled=H(c),q(r,e)},[()=>ae(H(t))]),U(`click`,n,()=>me(H(t).id)),K(e,n)}),A(n),K(e,t)};J(n,e=>{H(ne).length>0&&e(r)});var i=B(n,2),a=R(i,!0);A(i),V(()=>q(a,H(ne).length>0?`or add an API key`:`Add an API key`)),U(`click`,i,()=>{I(d,`apikey`),I(f,``),I(p,``)}),K(e,t)},a=e=>{var t=Uw(),n=z(t),r=R(n),i=R(r);Ki(i);var a=B(i,2),o=e=>{var t=Bw();Y(t,21,()=>H(D),e=>e.id,(e,t)=>{var n=zw(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>{I(p,H(t).id,!0),I(f,H(t).id,!0)}),K(e,n)}),A(t),K(e,t)};J(a,e=>{!H(p)&&H(D).length>0&&e(o)}),A(r);var s=B(r,2),l=e=>{var t=Vw(),n=R(t);Ki(n);var r=B(n,2),i=R(r,!0);A(r),A(t),V(e=>{r.disabled=e,q(i,H(c)?`...`:`Save`)},[()=>H(c)||!H(m).trim()]),Ir(`submit`,t,e=>{e.preventDefault(),fe()}),aa(n,()=>H(m),e=>I(m,e)),K(e,t)};J(s,e=>{H(p)&&e(l)}),A(n);var u=B(n,2),h=e=>{var t=Hw();U(`click`,t,()=>{I(d,`oauth`)}),K(e,t)};J(u,e=>{H(ne).length>0&&e(h)}),U(`input`,i,()=>{I(p,``)}),aa(i,()=>H(f),e=>I(f,e)),K(e,t)};J(r,e=>{H(d)===`oauth`?e(i):e(a,-1)});var o=B(r,2),l=e=>{var t=Pw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(o,e=>{H(s)&&e(l)}),A(n),K(e,n)},$$slots:{default:!0}})};J(De,e=>{H(u)&&!H(h)&&e(Oe)});var ke=B(De,2),Ae=e=>{{let t=P(()=>H(a).find(e=>e.id===H(h))?.oauthName??H(h));$a(e,{onClose:()=>{H(v)||ue()},size:`420px`,get title(){return`Sign in with ${H(t)??``}`},children:(e,t)=>{var n=Ww(),r=R(n),i=e=>{K(e,Gw())},a=e=>{var t=Kw(),n=B(z(t),2),r=R(n);Ki(r);var i=B(r,2);A(n),V(e=>i.disabled=e,[()=>!H(x).trim()]),Ir(`submit`,n,e=>{e.preventDefault(),ge()}),U(`input`,r,_e),aa(r,()=>H(x),e=>I(x,e)),K(e,t)},o=e=>{var t=Yw(),n=B(z(t),2),r=R(n,!0);A(n);var i=B(n,2),a=e=>{var t=qw(),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,Jw())};J(o,e=>{H(v)&&e(s)}),V(()=>{Xi(n,`href`,H(g)),q(r,H(g))}),K(e,t)},l=e=>{K(e,Jw())},u=e=>{K(e,Xw())};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=Pw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(d,e=>{H(s)&&e(f)}),A(n),K(e,n)},$$slots:{default:!0}})}};J(ke,e=>{H(h)&&e(Ae)});var je=B(ke,2),Me=e=>{$a(e,{onClose:()=>{I(w,!1)},size:`420px`,get title(){return`Add model — ${H(T)??``}`},children:(e,t)=>{var n=tT(),r=R(n);Ki(r);var i=B(r,2),a=e=>{var t=Qw();Y(t,21,()=>H(oe),e=>e.qualifiedId,(e,t)=>{var n=Zw(),r=R(n,!0);A(n),V(()=>q(r,H(t).id)),U(`click`,n,()=>ve(H(t).qualifiedId)),K(e,n)}),A(t),K(e,t)};J(i,e=>{H(oe).length>0&&e(a)});var o=B(i,2),c=e=>{var t=$w(),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,eT())};J(o,e=>{H(se)?e(c):H(oe).length===0&&e(l,1)});var u=B(o,2),d=e=>{var t=Pw(),n=R(t,!0);A(t),V(()=>q(n,H(s))),K(e,t)};J(u,e=>{H(s)&&e(d)}),A(n),aa(r,()=>H(E),e=>I(E,e)),K(e,n)},$$slots:{default:!0}})};return J(je,e=>{H(w)&&e(Me)}),K(e,Se),N(xe)}Lr([`click`,`input`]);var rT=W(`<div></div>`),iT=W(`<div class="steps svelte-48ammf"></div>`),aT=W(`<div class="welcome svelte-48ammf"><div class="welcome-text svelte-48ammf">A platform for AI experience. Create minds with persistent memory,
|
|
83
83
|
continuous identity, and the freedom to grow.</div> <button class="submit-btn svelte-48ammf">Get started</button></div>`),oT=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>`),sT=W(`<div class="error svelte-48ammf"> </div>`),cT=W(`<div class="hint svelte-48ammf">Used for your subdomain on volute.systems.</div>`),lT=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>`),uT=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>`),dT=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),fT=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>`),pT=W(`<button type="button" class="advanced-toggle svelte-48ammf"><span>▶</span> Advanced</button> <!>`,1),mT=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),hT=W(`<label class="label mt svelte-48ammf" for="username">Username</label> <!>`,1),gT=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>`),_T=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),vT=W(`<div class="step-title svelte-48ammf">AI providers</div> <div class="step-desc svelte-48ammf">An AI provider is the engine your minds think with. Connect one and choose which
|