volute 0.32.0 → 0.34.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.
Files changed (187) hide show
  1. package/README.md +16 -0
  2. package/dist/{accept-74M7I4RZ.js → accept-TW6V4WI4.js} +4 -4
  3. package/dist/{activity-events-HETAODOK.js → activity-events-BN7V6KCC.js} +4 -4
  4. package/dist/{ai-service-ZIPCV3MX.js → ai-service-PSILB5WD.js} +5 -5
  5. package/dist/{api-client-YPKOZP2O.js → api-client-XUXOB7LI.js} +1 -1
  6. package/dist/api.d.ts +1198 -957
  7. package/dist/{archive-INXYFVCW.js → archive-C2VEMQOR.js} +4 -4
  8. package/dist/{auth-6DMGES3I.js → auth-ZFZXJZDQ.js} +5 -5
  9. package/dist/{bridge-BVCBTGPF.js → bridge-O753D5F4.js} +4 -4
  10. package/dist/{chat-XT4OBJBU.js → chat-BHYX7DJ4.js} +9 -9
  11. package/dist/{chunk-M7UL5S3Q.js → chunk-2IOP6PHB.js} +1 -1
  12. package/dist/{chunk-JJ7W6WSB.js → chunk-47XDEWWV.js} +5 -5
  13. package/dist/{chunk-RSX4OPZY.js → chunk-47ZPNLF4.js} +7 -7
  14. package/dist/{chunk-RPZZSXV3.js → chunk-4JSR7YO7.js} +20 -1
  15. package/dist/chunk-6LXAAQ43.js +22 -0
  16. package/dist/{chunk-TSXLLQZW.js → chunk-6OWJXUAR.js} +10 -1
  17. package/dist/{chunk-I5KY25PQ.js → chunk-6WAWMWR5.js} +1 -1
  18. package/dist/{chunk-LSGWR54X.js → chunk-7F2SW2KD.js} +2 -2
  19. package/dist/chunk-7KJOFUNN.js +22 -0
  20. package/dist/{spirit-N4W4UQRH.js → chunk-B2BVAIZ4.js} +21 -12
  21. package/dist/{chunk-LGB6JBHI.js → chunk-BDK73LK6.js} +5 -55
  22. package/dist/{chunk-IYDIE3HG.js → chunk-BFWHBQK4.js} +1 -1
  23. package/dist/{chunk-TDRYEPH4.js → chunk-BM474GX6.js} +4 -4
  24. package/dist/{chunk-R7E6CRVQ.js → chunk-BTWAGDV5.js} +1 -1
  25. package/dist/{chunk-WKF5FEFK.js → chunk-CVL5IGIR.js} +629 -174
  26. package/dist/{chunk-S6NFERDC.js → chunk-E5C7OWZ2.js} +20 -22
  27. package/dist/chunk-FYCALD4Q.js +23 -0
  28. package/dist/{chunk-SKLSMHXO.js → chunk-IS7WJ56Q.js} +1 -1
  29. package/dist/{chunk-2NGTS5UU.js → chunk-M3K5AARV.js} +1 -1
  30. package/dist/{chunk-ALEF47VT.js → chunk-MLOQKQNB.js} +1 -1
  31. package/dist/{chunk-D5G5YOPL.js → chunk-N3DNFPVA.js} +41 -5
  32. package/dist/{chunk-LRCG2JLP.js → chunk-N7BLAHNE.js} +5 -1
  33. package/dist/chunk-OYAKCAVY.js +29 -0
  34. package/dist/{chunk-UKVWJRKN.js → chunk-PLDWHR4D.js} +1 -1
  35. package/dist/{chunk-QBQ424EM.js → chunk-TAHX36HZ.js} +545 -246
  36. package/dist/chunk-U5BTYSAL.js +59 -0
  37. package/dist/{chunk-SX5TKJBZ.js → chunk-V45JXOWY.js} +2 -2
  38. package/dist/{chunk-2FLJ63GU.js → chunk-V6ZCNULL.js} +2 -2
  39. package/dist/{chunk-QZANELPX.js → chunk-XWXBJQBE.js} +3 -2
  40. package/dist/cli.js +32 -24
  41. package/dist/{clock-2UOZ6JPU.js → clock-3X4DSC2N.js} +38 -23
  42. package/dist/{cloud-sync-JN3NWKEM.js → cloud-sync-TG3TIX5H.js} +21 -17
  43. package/dist/{config-H2H4UIF7.js → config-OROA5DUA.js} +4 -4
  44. package/dist/connectors/discord-bridge.js +1 -1
  45. package/dist/connectors/slack-bridge.js +1 -1
  46. package/dist/connectors/telegram-bridge.js +1 -1
  47. package/dist/{conversations-3O5O6AS3.js → conversations-HL2JP5GI.js} +5 -5
  48. package/dist/{create-RNLNCORE.js → create-3SEKKI6P.js} +5 -5
  49. package/dist/{create-WBBYI6V7.js → create-UOSOQ2HN.js} +4 -4
  50. package/dist/daemon-client-WOAQXXBM.js +12 -0
  51. package/dist/{daemon-restart-NGFHFAUF.js → daemon-restart-5ABHNXJZ.js} +9 -8
  52. package/dist/daemon.js +2730 -1520
  53. package/dist/{db-RA45JBFG.js → db-PLEDCBHZ.js} +1 -1
  54. package/dist/db-RYX3SS2W.js +9 -0
  55. package/dist/{delete-QTGWEDBI.js → delete-KYOVWR23.js} +3 -3
  56. package/dist/delivery-manager-2BR5NZKF.js +32 -0
  57. package/dist/{delivery-router-FL45JL7N.js → delivery-router-D5ELDMS2.js} +4 -4
  58. package/dist/down-QVFN4UPK.js +15 -0
  59. package/dist/{env-RLYQBOOP.js → env-R34DT7XL.js} +10 -6
  60. package/dist/exec-DVLXKRIO.js +17 -0
  61. package/dist/{export-SUYRLI5Q.js → export-6ZXAXATG.js} +6 -6
  62. package/dist/extension-PM42QCID.js +97 -0
  63. package/dist/extensions-BBGVL5JC.js +38 -0
  64. package/dist/{files-EAMPO2SJ.js → files-VQV2VZQO.js} +5 -5
  65. package/dist/{import-DDUFE7AY.js → import-MK2I2T6F.js} +5 -5
  66. package/dist/isolation-62MKDZN3.js +22 -0
  67. package/dist/{join-I5QEE3LG.js → join-DGYHTJUH.js} +3 -3
  68. package/dist/lib-DYEZMGW7.js +6588 -0
  69. package/dist/{list-DW2VRTOZ.js → list-C644WTHV.js} +16 -8
  70. package/dist/{login-7CHPW2PN.js → login-IIGEQPHL.js} +4 -4
  71. package/dist/{login-RIJF2F4G.js → login-KZQLMAWE.js} +4 -4
  72. package/dist/{logout-5MLHZALK.js → logout-AGTZVRGP.js} +4 -4
  73. package/dist/{logout-UZJRGY4Z.js → logout-KD6GXIJJ.js} +4 -4
  74. package/dist/message-delivery-V3R6NXJP.js +42 -0
  75. package/dist/{mind-2B6M7Y25.js → mind-BI4EPBVZ.js} +25 -19
  76. package/dist/{mind-activity-tracker-NZZT2NTT.js → mind-activity-tracker-2ACNHA7B.js} +5 -5
  77. package/dist/mind-history-WOYFLQAI.js +264 -0
  78. package/dist/{mind-list-WUPMQDYQ.js → mind-list-6VPM7GUQ.js} +4 -4
  79. package/dist/mind-manager-MWW3BTS4.js +32 -0
  80. package/dist/mind-profile-WPG42U5Y.js +47 -0
  81. package/dist/mind-service-VIKZJK2M.js +38 -0
  82. package/dist/{mind-sleep-B7BHJLH7.js → mind-sleep-XDISJY74.js} +4 -4
  83. package/dist/{mind-status-L3EFFRPR.js → mind-status-7FTZWPZF.js} +4 -4
  84. package/dist/{mind-wake-GY3RFX7Y.js → mind-wake-KIIKEI3A.js} +4 -4
  85. package/dist/{package-PK6JUFL3.js → package-V2WHWVG6.js} +9 -5
  86. package/dist/{read-5AMJRO3D.js → read-H5C26YO7.js} +18 -8
  87. package/dist/read-stdin-PIRM6A2Y.js +8 -0
  88. package/dist/{register-V2JZZKFK.js → register-J27WP33N.js} +4 -4
  89. package/dist/{registry-PJ4S5PHQ.js → registry-UYV5S6QT.js} +3 -3
  90. package/dist/{reject-33HEZMZ4.js → reject-OEANJYIA.js} +4 -4
  91. package/dist/{restart-3UCMRUVC.js → restart-V5EGYBJG.js} +4 -4
  92. package/dist/{sandbox-JANNTX6U.js → sandbox-SI5HMBP3.js} +5 -5
  93. package/dist/scheduler-AGG3L2FO.js +32 -0
  94. package/dist/{schema-PA3M5ZKH.js → schema-ETMABTW4.js} +4 -2
  95. package/dist/seed-WNGI6PNW.js +11 -0
  96. package/dist/seed-check-PXTH7YXS.js +32 -0
  97. package/dist/seed-cmd-VENFTGS3.js +36 -0
  98. package/dist/{seed-ALUQ55FF.js → seed-create-663ALOKH.js} +8 -8
  99. package/dist/{sprout-L2GFOVF7.js → seed-sprout-EH3AGKAI.js} +24 -11
  100. package/dist/{send-3MI36LEF.js → send-7FUUUZZH.js} +66 -51
  101. package/dist/{setup-SZIARWI6.js → setup-GGMKENLN.js} +6 -4
  102. package/dist/{setup-WENLVPVP.js → setup-Z3DEVWV7.js} +13 -11
  103. package/dist/{skill-TUVOTW4Z.js → skill-DKNYJS4P.js} +12 -8
  104. package/dist/skills/imagegen/SKILL.md +11 -7
  105. package/dist/skills/imagegen/scripts/imagegen.ts +146 -25
  106. package/dist/skills/orientation/SKILL.md +9 -2
  107. package/dist/skills/plan-coordinator/SKILL.md +60 -0
  108. package/dist/skills/seed-nurture/SKILL.md +42 -0
  109. package/dist/skills/volute-mind/SKILL.md +11 -221
  110. package/dist/skills/volute-mind/references/extensions.md +37 -0
  111. package/dist/skills/volute-mind/references/integrations.md +48 -0
  112. package/dist/skills/volute-mind/references/routing.md +86 -0
  113. package/dist/skills/volute-mind/references/sleep.md +33 -0
  114. package/dist/skills/volute-mind/references/variants.md +31 -0
  115. package/dist/{skills-XNZK6P4K.js → skills-Q6VZ2UGD.js} +11 -6
  116. package/dist/sleep-manager-BJK2ROPX.js +36 -0
  117. package/dist/spirit-4JP4TY4C.js +23 -0
  118. package/dist/{split-STOROBYJ.js → split-3YPMS2CL.js} +3 -3
  119. package/dist/sprout-E3HJIV2Z.js +11 -0
  120. package/dist/{start-K2NCUUCG.js → start-W3TPKX4D.js} +4 -4
  121. package/dist/{status-TCUMUO6M.js → status-4OVFXFEJ.js} +7 -6
  122. package/dist/{stop-H26JZDXF.js → stop-GTT6YWYO.js} +4 -4
  123. package/dist/system-channel-DXD2JBOU.js +36 -0
  124. package/dist/system-chat-TYLOL7SX.js +36 -0
  125. package/dist/{systems-DHBKVYEY.js → systems-AYLO727G.js} +7 -7
  126. package/dist/{tailscale-XHQBZROW.js → tailscale-ZEUK7GKZ.js} +3 -3
  127. package/dist/{template-hash-A6VVKOXJ.js → template-hash-EJRTKE36.js} +1 -1
  128. package/dist/up-PA7F2CXE.js +18 -0
  129. package/dist/{update-QVPRF6GR.js → update-HG4LCUSG.js} +7 -6
  130. package/dist/{update-check-ZD6OOIYQ.js → update-check-X3YG4WVP.js} +4 -4
  131. package/dist/{upgrade-O4Q7WJM3.js → upgrade-YGNIDICG.js} +3 -3
  132. package/dist/{variant-7TGZHOU3.js → variant-MZUMRTQO.js} +1 -1
  133. package/dist/{version-notify-TCKWBZZG.js → version-notify-YCH4UVQ2.js} +23 -20
  134. package/dist/volute-config-WBKYJGYQ.js +10 -0
  135. package/dist/web-assets/assets/index-DiiwC-CZ.css +1 -0
  136. package/dist/web-assets/assets/index-d6y5b9Ij.js +75 -0
  137. package/dist/web-assets/ext-theme.css +48 -9
  138. package/dist/web-assets/index.html +2 -2
  139. package/drizzle/0005_meta_summaries.sql +15 -0
  140. package/drizzle/meta/0005_snapshot.json +7 -0
  141. package/drizzle/meta/_journal.json +7 -0
  142. package/package.json +8 -4
  143. package/packages/extensions/plan/dist/ui/assets/index-CJj2gZnZ.css +1 -0
  144. package/packages/extensions/plan/dist/ui/assets/index-FMEJmvQz.js +61 -0
  145. package/packages/extensions/plan/dist/ui/index.html +14 -0
  146. package/packages/extensions/plan/skills/plan/SKILL.md +43 -0
  147. package/packages/extensions/plan/skills/plan/scripts/plan-hook.sh +37 -0
  148. package/templates/_base/home/VOLUTE.md +12 -19
  149. package/templates/_base/src/lib/context-breakdown.ts +450 -0
  150. package/templates/_base/src/lib/format-prefix.ts +17 -0
  151. package/templates/_base/src/lib/hook-loader.ts +8 -2
  152. package/templates/_base/src/lib/router.ts +75 -33
  153. package/templates/_base/src/lib/routing.ts +4 -1
  154. package/templates/_base/src/lib/startup.ts +16 -8
  155. package/templates/_base/src/lib/types.ts +2 -1
  156. package/templates/_base/src/lib/volute-server.ts +69 -8
  157. package/templates/claude/.init/CLAUDE.md +4 -10
  158. package/templates/claude/package.json.tmpl +1 -0
  159. package/templates/claude/src/agent.ts +100 -32
  160. package/templates/claude/src/lib/hooks/reply-instructions.ts +27 -7
  161. package/templates/claude/src/lib/stream-consumer.ts +40 -2
  162. package/templates/claude/src/server.ts +1 -0
  163. package/templates/codex/package.json.tmpl +1 -0
  164. package/templates/codex/src/agent.ts +81 -8
  165. package/templates/codex/src/server.ts +1 -4
  166. package/templates/pi/package.json.tmpl +1 -0
  167. package/templates/pi/src/agent.ts +115 -36
  168. package/templates/pi/src/lib/event-handler.ts +22 -7
  169. package/templates/pi/src/lib/reply-instructions-extension.ts +23 -4
  170. package/templates/pi/src/lib/subagents.ts +20 -17
  171. package/templates/pi/src/server.ts +2 -5
  172. package/dist/chunk-K3NQKI34.js +0 -10
  173. package/dist/daemon-client-6QXHZ7US.js +0 -12
  174. package/dist/db-F34YLV7D.js +0 -9
  175. package/dist/delivery-manager-SDVXFD4W.js +0 -28
  176. package/dist/down-TB3ESMNP.js +0 -14
  177. package/dist/extension-FQ5D3NCC.js +0 -174
  178. package/dist/extensions-GDYWQXC4.js +0 -29
  179. package/dist/history-FO5PHBQ5.js +0 -128
  180. package/dist/message-delivery-2FIM7QKO.js +0 -32
  181. package/dist/mind-manager-BNCMGYXW.js +0 -28
  182. package/dist/mind-service-AV273WT4.js +0 -34
  183. package/dist/sleep-manager-53DZOWW7.js +0 -32
  184. package/dist/system-chat-NPYFYZVI.js +0 -32
  185. package/dist/up-6I6BHRTO.js +0 -17
  186. package/dist/web-assets/assets/index-Bui7U9Uu.css +0 -1
  187. package/dist/web-assets/assets/index-e36DIo1b.js +0 -73
@@ -1,73 +0,0 @@
1
- (function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const c of l.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&r(c)}).observe(document,{childList:!0,subtree:!0});function a(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(s){if(s.ep)return;s.ep=!0;const l=a(s);fetch(s.href,l)}})();const Do=!1;var zs=Array.isArray,zo=Array.prototype.indexOf,Ba=Array.prototype.includes,Vr=Array.from,Fo=Object.defineProperty,za=Object.getOwnPropertyDescriptor,Uo=Object.getOwnPropertyDescriptors,Bo=Object.prototype,Ho=Array.prototype,$i=Object.getPrototypeOf,mi=Object.isExtensible;function qo(n){return typeof n=="function"}const La=()=>{};function Wo(n){for(var e=0;e<n.length;e++)n[e]()}function el(){var n,e,a=new Promise((r,s)=>{n=r,e=s});return{promise:a,resolve:n,reject:e}}const Xt=2,Ha=4,Yr=8,tl=1<<24,ia=16,On=32,pa=64,fs=128,En=512,Zt=1024,en=2048,Dn=4096,wn=8192,Tn=16384,ba=32768,hs=1<<25,ma=65536,_i=1<<17,Go=1<<18,Ia=1<<19,Vo=1<<20,Hn=1<<25,Ca=65536,ps=1<<21,Fs=1<<22,fa=1<<23,Ta=Symbol("$state"),Yo=Symbol("legacy props"),Zo=Symbol(""),Qn=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"};function Ko(n){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Jo(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Xo(n,e,a){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Qo(n){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $o(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function ec(n){throw new Error("https://svelte.dev/e/effect_orphan")}function tc(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function nc(n){throw new Error("https://svelte.dev/e/props_invalid_value")}function ac(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function rc(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function sc(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function ic(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const lc=1,oc=2,nl=4,cc=8,dc=16,vc=1,uc=4,fc=8,hc=16,pc=4,al=1,mc=2,Qt=Symbol(),rl="http://www.w3.org/1999/xhtml",_c="http://www.w3.org/2000/svg",gc="http://www.w3.org/1998/Math/MathML";function bc(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function yc(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function sl(n){return n===this.v}function wc(n,e){return n!=n?e==e:n!==e||n!==null&&typeof n=="object"||typeof n=="function"}function il(n){return!wc(n,this.v)}let kc=!1,mn=null;function qa(n){mn=n}function ft(n,e=!1,a){mn={p:mn,i:!1,c:null,e:null,s:n,x:null,r:wt,l:null}}function ht(n){var e=mn,a=e.e;if(a!==null){e.e=null;for(var r of a)Ml(r)}return n!==void 0&&(e.x=n),e.i=!0,mn=e.p,n??{}}function ll(){return!0}let wa=[];function ol(){var n=wa;wa=[],Wo(n)}function ea(n){if(wa.length===0&&!dr){var e=wa;queueMicrotask(()=>{e===wa&&ol()})}wa.push(n)}function xc(){for(;wa.length>0;)ol()}function cl(n){var e=wt;if(e===null)return yt.f|=fa,n;if((e.f&ba)===0&&(e.f&Ha)===0)throw n;va(n,e)}function va(n,e){for(;e!==null;){if((e.f&fs)!==0){if((e.f&ba)===0)throw n;try{e.b.error(n);return}catch(a){n=a}}e=e.parent}throw n}const Sc=-7169;function Vt(n,e){n.f=n.f&Sc|e}function Us(n){(n.f&En)!==0||n.deps===null?Vt(n,Zt):Vt(n,Dn)}function dl(n){if(n!==null)for(const e of n)(e.f&Xt)===0||(e.f&Ca)===0||(e.f^=Ca,dl(e.deps))}function vl(n,e,a){(n.f&en)!==0?e.add(n):(n.f&Dn)!==0&&a.add(n),dl(n.deps),Vt(n,Zt)}let kr=!1;function Ec(n){var e=kr;try{return kr=!1,[n(),kr]}finally{kr=e}}const Ja=new Set;let Et=null,qn=null,ms=null,dr=!1,Qr=!1,Oa=null,jr=null;var gi=0;let Tc=1;class aa{id=Tc++;current=new Map;previous=new Map;#t=new Set;#n=new Set;#e=0;#s=0;#r=null;#a=[];#i=new Set;#l=new Set;#o=new Map;is_fork=!1;#c=!1;#d(){return this.is_fork||this.#s>0}skip_effect(e){this.#o.has(e)||this.#o.set(e,{d:[],m:[]})}unskip_effect(e){var a=this.#o.get(e);if(a){this.#o.delete(e);for(var r of a.d)Vt(r,en),this.schedule(r);for(r of a.m)Vt(r,Dn),this.schedule(r)}}#u(){gi++>1e3&&Cc();const e=this.#a;this.#a=[],this.apply();var a=Oa=[],r=[],s=jr=[];for(const v of e)try{this.#f(v,a,r)}catch(d){throw pl(v),d}if(Et=null,s.length>0){var l=aa.ensure();for(const v of s)l.schedule(v)}if(Oa=null,jr=null,this.#d()){this.#h(r),this.#h(a);for(const[v,d]of this.#o)hl(v,d)}else{this.#e===0&&Ja.delete(this),this.#i.clear(),this.#l.clear();for(const v of this.#t)v(this);this.#t.clear(),bi(r),bi(a),this.#r?.resolve()}var c=Et;if(this.#a.length>0){const v=c??=this;v.#a.push(...this.#a.filter(d=>!v.#a.includes(d)))}c!==null&&(Ja.add(c),c.#u()),Ja.has(this)||this.#v()}#f(e,a,r){e.f^=Zt;for(var s=e.first;s!==null;){var l=s.f,c=(l&(On|pa))!==0,v=c&&(l&Zt)!==0,d=v||(l&wn)!==0||this.#o.has(s);if(!d&&s.fn!==null){c?s.f^=Zt:(l&Ha)!==0?a.push(s):br(s)&&((l&ia)!==0&&this.#l.add(s),Ga(s));var m=s.first;if(m!==null){s=m;continue}}for(;s!==null;){var p=s.next;if(p!==null){s=p;break}s=s.parent}}}#h(e){for(var a=0;a<e.length;a+=1)vl(e[a],this.#i,this.#l)}capture(e,a){a!==Qt&&!this.previous.has(e)&&this.previous.set(e,a),(e.f&fa)===0&&(this.current.set(e,e.v),qn?.set(e,e.v))}activate(){Et=this}deactivate(){Et=null,qn=null}flush(){try{if(Qr=!0,Et=this,!this.#d()){for(const e of this.#i)this.#l.delete(e),Vt(e,en),this.schedule(e);for(const e of this.#l)Vt(e,Dn),this.schedule(e)}this.#u()}finally{gi=0,ms=null,Oa=null,jr=null,Qr=!1,Et=null,qn=null,ha.clear()}}discard(){for(const e of this.#n)e(this);this.#n.clear()}#v(){for(const d of Ja){var e=d.id<this.id,a=[];for(const[m,p]of this.current){if(d.current.has(m))if(e&&p!==d.current.get(m))d.current.set(m,p);else continue;a.push(m)}if(a.length!==0){var r=[...d.current.keys()].filter(m=>!this.current.has(m));if(r.length>0){d.activate();var s=new Set,l=new Map;for(var c of a)ul(c,r,s,l);if(d.#a.length>0){d.apply();for(var v of d.#a)d.#f(v,[],[])}d.deactivate()}}}}increment(e){this.#e+=1,e&&(this.#s+=1)}decrement(e,a){this.#e-=1,e&&(this.#s-=1),!(this.#c||a)&&(this.#c=!0,ea(()=>{this.#c=!1,this.flush()}))}oncommit(e){this.#t.add(e)}ondiscard(e){this.#n.add(e)}settled(){return(this.#r??=el()).promise}static ensure(){if(Et===null){const e=Et=new aa;Qr||(Ja.add(Et),dr||ea(()=>{Et===e&&e.flush()}))}return Et}apply(){{qn=null;return}}schedule(e){if(ms=e,e.b?.is_pending&&(e.f&(Ha|Yr|tl))!==0&&(e.f&ba)===0){e.b.defer_effect(e);return}for(var a=e;a.parent!==null;){a=a.parent;var r=a.f;if(Oa!==null&&a===wt&&(yt===null||(yt.f&Xt)===0))return;if((r&(pa|On))!==0){if((r&Zt)===0)return;a.f^=Zt}}this.#a.push(a)}}function Ac(n){var e=dr;dr=!0;try{for(var a;;){if(xc(),Et===null)return a;Et.flush()}}finally{dr=e}}function Cc(){try{tc()}catch(n){va(n,ms)}}let Xn=null;function bi(n){var e=n.length;if(e!==0){for(var a=0;a<e;){var r=n[a++];if((r.f&(Tn|wn))===0&&br(r)&&(Xn=new Set,Ga(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Il(r),Xn?.size>0)){ha.clear();for(const s of Xn){if((s.f&(Tn|wn))!==0)continue;const l=[s];let c=s.parent;for(;c!==null;)Xn.has(c)&&(Xn.delete(c),l.push(c)),c=c.parent;for(let v=l.length-1;v>=0;v--){const d=l[v];(d.f&(Tn|wn))===0&&Ga(d)}}Xn.clear()}}Xn=null}}function ul(n,e,a,r){if(!a.has(n)&&(a.add(n),n.reactions!==null))for(const s of n.reactions){const l=s.f;(l&Xt)!==0?ul(s,e,a,r):(l&(Fs|ia))!==0&&(l&en)===0&&fl(s,e,r)&&(Vt(s,en),Bs(s))}}function fl(n,e,a){const r=a.get(n);if(r!==void 0)return r;if(n.deps!==null)for(const s of n.deps){if(Ba.call(e,s))return!0;if((s.f&Xt)!==0&&fl(s,e,a))return a.set(s,!0),!0}return a.set(n,!1),!1}function Bs(n){Et.schedule(n)}function hl(n,e){if(!((n.f&On)!==0&&(n.f&Zt)!==0)){(n.f&en)!==0?e.d.push(n):(n.f&Dn)!==0&&e.m.push(n),Vt(n,Zt);for(var a=n.first;a!==null;)hl(a,e),a=a.next}}function pl(n){Vt(n,Zt);for(var e=n.first;e!==null;)pl(e),e=e.next}function Mc(n){let e=0,a=ra(0),r;return()=>{qs()&&(t(a),Vs(()=>(e===0&&(r=Ya(()=>n(()=>bn(a)))),e+=1,()=>{ea(()=>{e-=1,e===0&&(r?.(),r=void 0,bn(a))})})))}}var jc=ma|Ia;function Rc(n,e,a,r){new Ic(n,e,a,r)}class Ic{parent;is_pending=!1;transform_error;#t;#n=null;#e;#s;#r;#a=null;#i=null;#l=null;#o=null;#c=0;#d=0;#u=!1;#f=new Set;#h=new Set;#v=null;#b=Mc(()=>(this.#v=ra(this.#c),()=>{this.#v=null}));constructor(e,a,r,s){this.#t=e,this.#e=a,this.#s=l=>{var c=wt;c.b=this,c.f|=fs,r(l)},this.parent=wt.b,this.transform_error=s??this.parent?.transform_error??(l=>l),this.#r=gr(()=>{this.#_()},jc)}#y(){try{this.#a=Sn(()=>this.#s(this.#t))}catch(e){this.error(e)}}#w(e){const a=this.#e.failed;a&&(this.#l=Sn(()=>{a(this.#t,()=>e,()=>()=>{})}))}#k(){const e=this.#e.pending;e&&(this.is_pending=!0,this.#i=Sn(()=>e(this.#t)),ea(()=>{var a=this.#o=document.createDocumentFragment(),r=ta();a.append(r),this.#a=this.#m(()=>Sn(()=>this.#s(r))),this.#d===0&&(this.#t.before(a),this.#o=null,Aa(this.#i,()=>{this.#i=null}),this.#p(Et))}))}#_(){try{if(this.is_pending=this.has_pending_snippet(),this.#d=0,this.#c=0,this.#a=Sn(()=>{this.#s(this.#t)}),this.#d>0){var e=this.#o=document.createDocumentFragment();Ks(this.#a,e);const a=this.#e.pending;this.#i=Sn(()=>a(this.#t))}else this.#p(Et)}catch(a){this.error(a)}}#p(e){this.is_pending=!1;for(const a of this.#f)Vt(a,en),e.schedule(a);for(const a of this.#h)Vt(a,Dn),e.schedule(a);this.#f.clear(),this.#h.clear()}defer_effect(e){vl(e,this.#f,this.#h)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#e.pending}#m(e){var a=wt,r=yt,s=mn;Gn(this.#r),Cn(this.#r),qa(this.#r.ctx);try{return aa.ensure(),e()}catch(l){return cl(l),null}finally{Gn(a),Cn(r),qa(s)}}#g(e,a){if(!this.has_pending_snippet()){this.parent&&this.parent.#g(e,a);return}this.#d+=e,this.#d===0&&(this.#p(a),this.#i&&Aa(this.#i,()=>{this.#i=null}),this.#o&&(this.#t.before(this.#o),this.#o=null))}update_pending_count(e,a){this.#g(e,a),this.#c+=e,!(!this.#v||this.#u)&&(this.#u=!0,ea(()=>{this.#u=!1,this.#v&&Wa(this.#v,this.#c)}))}get_effect_pending(){return this.#b(),t(this.#v)}error(e){var a=this.#e.onerror;let r=this.#e.failed;if(!a&&!r)throw e;this.#a&&(dn(this.#a),this.#a=null),this.#i&&(dn(this.#i),this.#i=null),this.#l&&(dn(this.#l),this.#l=null);var s=!1,l=!1;const c=()=>{if(s){yc();return}s=!0,l&&ic(),this.#l!==null&&Aa(this.#l,()=>{this.#l=null}),this.#m(()=>{this.#_()})},v=d=>{try{l=!0,a?.(d,c),l=!1}catch(m){va(m,this.#r&&this.#r.parent)}r&&(this.#l=this.#m(()=>{try{return Sn(()=>{var m=wt;m.b=this,m.f|=fs,r(this.#t,()=>d,()=>c)})}catch(m){return va(m,this.#r.parent),null}}))};ea(()=>{var d;try{d=this.transform_error(e)}catch(m){va(m,this.#r&&this.#r.parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(v,m=>va(m,this.#r&&this.#r.parent)):v(d)})}}function Nc(n,e,a,r){const s=Zr;var l=n.filter(_=>!_.settled);if(a.length===0&&l.length===0){r(e.map(s));return}var c=wt,v=Pc(),d=l.length===1?l[0].promise:l.length>1?Promise.all(l.map(_=>_.promise)):null;function m(_){v();try{r(_)}catch(g){(c.f&Tn)===0&&va(g,c)}Lr()}if(a.length===0){d.then(()=>m(e.map(s)));return}var p=ml();function b(){Promise.all(a.map(_=>Lc(_))).then(_=>m([...e.map(s),..._])).catch(_=>va(_,c)).finally(()=>p())}d?d.then(()=>{v(),b(),Lr()}):b()}function Pc(){var n=wt,e=yt,a=mn,r=Et;return function(l=!0){Gn(n),Cn(e),qa(a),l&&(n.f&Tn)===0&&(r?.activate(),r?.apply())}}function Lr(n=!0){Gn(null),Cn(null),qa(null),n&&Et?.deactivate()}function ml(){var n=wt.b,e=Et,a=n.is_rendered();return n.update_pending_count(1,e),e.increment(a),(r=!1)=>{n.update_pending_count(-1,e),e.decrement(a,r)}}function Zr(n){var e=Xt|en,a=yt!==null&&(yt.f&Xt)!==0?yt:null;return wt!==null&&(wt.f|=Ia),{ctx:mn,deps:null,effects:null,equals:sl,f:e,fn:n,reactions:null,rv:0,v:Qt,wv:0,parent:a??wt,ac:null}}function Lc(n,e,a){let r=wt;r===null&&Jo();var s=void 0,l=ra(Qt),c=!yt,v=new Map;return Kc(()=>{var d=wt,m=el();s=m.promise;try{Promise.resolve(n()).then(m.resolve,m.reject).finally(Lr)}catch(g){m.reject(g),Lr()}var p=Et;if(c){if((d.f&ba)!==0)var b=ml();if(r.b.is_rendered())v.get(p)?.reject(Qn),v.delete(p);else{for(const g of v.values())g.reject(Qn);v.clear()}v.set(p,m)}const _=(g,y=void 0)=>{if(b){var k=y===Qn;b(k)}if(!(y===Qn||(d.f&Tn)!==0)){if(p.activate(),y)l.f|=fa,Wa(l,y);else{(l.f&fa)!==0&&(l.f^=fa),Wa(l,g);for(const[w,N]of v){if(v.delete(w),w===p)break;N.reject(Qn)}}p.deactivate()}};m.promise.then(_,g=>_(null,g||"unknown"))}),Ws(()=>{for(const d of v.values())d.reject(Qn)}),new Promise(d=>{function m(p){function b(){p===s?d(l):m(s)}p.then(b,b)}m(s)})}function K(n){const e=Zr(n);return Ll(e),e}function _l(n){const e=Zr(n);return e.equals=il,e}function Oc(n){var e=n.effects;if(e!==null){n.effects=null;for(var a=0;a<e.length;a+=1)dn(e[a])}}function Dc(n){for(var e=n.parent;e!==null;){if((e.f&Xt)===0)return(e.f&Tn)===0?e:null;e=e.parent}return null}function Hs(n){var e,a=wt;Gn(Dc(n));try{n.f&=~Ca,Oc(n),e=Fl(n)}finally{Gn(a)}return e}function gl(n){var e=Hs(n);if(!n.equals(e)&&(n.wv=Dl(),(!Et?.is_fork||n.deps===null)&&(n.v=e,n.deps===null))){Vt(n,Zt);return}_a||(qn!==null?(qs()||Et?.is_fork)&&qn.set(n,e):Us(n))}function zc(n){if(n.effects!==null)for(const e of n.effects)(e.teardown||e.ac)&&(e.teardown?.(),e.ac?.abort(Qn),e.teardown=La,e.ac=null,pr(e,0),Ys(e))}function bl(n){if(n.effects!==null)for(const e of n.effects)e.teardown&&Ga(e)}let _s=new Set;const ha=new Map;let yl=!1;function ra(n,e){var a={f:0,v:n,reactions:null,equals:sl,rv:0,wv:0};return a}function I(n,e){const a=ra(n);return Ll(a),a}function Fc(n,e=!1,a=!0){const r=ra(n);return e||(r.equals=il),r}function i(n,e,a=!1){yt!==null&&(!Pn||(yt.f&_i)!==0)&&ll()&&(yt.f&(Xt|ia|Fs|_i))!==0&&(An===null||!Ba.call(An,n))&&sc();let r=a?rt(e):e;return Wa(n,r,jr)}function Wa(n,e,a=null){if(!n.equals(e)){var r=n.v;_a?ha.set(n,e):ha.set(n,r),n.v=e;var s=aa.ensure();if(s.capture(n,r),(n.f&Xt)!==0){const l=n;(n.f&en)!==0&&Hs(l),Us(l)}n.wv=Dl(),wl(n,en,a),wt!==null&&(wt.f&Zt)!==0&&(wt.f&(On|pa))===0&&(xn===null?Xc([n]):xn.push(n)),!s.is_fork&&_s.size>0&&!yl&&Uc()}return e}function Uc(){yl=!1;for(const n of _s)(n.f&Zt)!==0&&Vt(n,Dn),br(n)&&Ga(n);_s.clear()}function bn(n){i(n,n.v+1)}function wl(n,e,a){var r=n.reactions;if(r!==null)for(var s=r.length,l=0;l<s;l++){var c=r[l],v=c.f,d=(v&en)===0;if(d&&Vt(c,e),(v&Xt)!==0){var m=c;qn?.delete(m),(v&Ca)===0&&(v&En&&(c.f|=Ca),wl(m,Dn,a))}else if(d){var p=c;(v&ia)!==0&&Xn!==null&&Xn.add(p),a!==null?a.push(p):Bs(p)}}}function rt(n){if(typeof n!="object"||n===null||Ta in n)return n;const e=$i(n);if(e!==Bo&&e!==Ho)return n;var a=new Map,r=zs(n),s=I(0),l=Ln,c=v=>{if(Ln===l)return v();var d=yt,m=Ln;Cn(null),xi(l);var p=v();return Cn(d),xi(m),p};return r&&a.set("length",I(n.length)),new Proxy(n,{defineProperty(v,d,m){(!("value"in m)||m.configurable===!1||m.enumerable===!1||m.writable===!1)&&ac();var p=a.get(d);return p===void 0?c(()=>{var b=I(m.value);return a.set(d,b),b}):i(p,m.value,!0),!0},deleteProperty(v,d){var m=a.get(d);if(m===void 0){if(d in v){const p=c(()=>I(Qt));a.set(d,p),bn(s)}}else i(m,Qt),bn(s);return!0},get(v,d,m){if(d===Ta)return n;var p=a.get(d),b=d in v;if(p===void 0&&(!b||za(v,d)?.writable)&&(p=c(()=>{var g=rt(b?v[d]:Qt),y=I(g);return y}),a.set(d,p)),p!==void 0){var _=t(p);return _===Qt?void 0:_}return Reflect.get(v,d,m)},getOwnPropertyDescriptor(v,d){var m=Reflect.getOwnPropertyDescriptor(v,d);if(m&&"value"in m){var p=a.get(d);p&&(m.value=t(p))}else if(m===void 0){var b=a.get(d),_=b?.v;if(b!==void 0&&_!==Qt)return{enumerable:!0,configurable:!0,value:_,writable:!0}}return m},has(v,d){if(d===Ta)return!0;var m=a.get(d),p=m!==void 0&&m.v!==Qt||Reflect.has(v,d);if(m!==void 0||wt!==null&&(!p||za(v,d)?.writable)){m===void 0&&(m=c(()=>{var _=p?rt(v[d]):Qt,g=I(_);return g}),a.set(d,m));var b=t(m);if(b===Qt)return!1}return p},set(v,d,m,p){var b=a.get(d),_=d in v;if(r&&d==="length")for(var g=m;g<b.v;g+=1){var y=a.get(g+"");y!==void 0?i(y,Qt):g in v&&(y=c(()=>I(Qt)),a.set(g+"",y))}if(b===void 0)(!_||za(v,d)?.writable)&&(b=c(()=>I(void 0)),i(b,rt(m)),a.set(d,b));else{_=b.v!==Qt;var k=c(()=>rt(m));i(b,k)}var w=Reflect.getOwnPropertyDescriptor(v,d);if(w?.set&&w.set.call(p,m),!_){if(r&&typeof d=="string"){var N=a.get("length"),E=Number(d);Number.isInteger(E)&&E>=N.v&&i(N,E+1)}bn(s)}return!0},ownKeys(v){t(s);var d=Reflect.ownKeys(v).filter(b=>{var _=a.get(b);return _===void 0||_.v!==Qt});for(var[m,p]of a)p.v!==Qt&&!(m in v)&&d.push(m);return d},setPrototypeOf(){rc()}})}function yi(n){try{if(n!==null&&typeof n=="object"&&Ta in n)return n[Ta]}catch{}return n}function Bc(n,e){return Object.is(yi(n),yi(e))}var hr,kl,xl,Sl,El;function Hc(){if(hr===void 0){hr=window,kl=document,xl=/Firefox/.test(navigator.userAgent);var n=Element.prototype,e=Node.prototype,a=Text.prototype;Sl=za(e,"firstChild").get,El=za(e,"nextSibling").get,mi(n)&&(n.__click=void 0,n.__className=void 0,n.__attributes=null,n.__style=void 0,n.__e=void 0),mi(a)&&(a.__t=void 0)}}function ta(n=""){return document.createTextNode(n)}function yn(n){return Sl.call(n)}function _r(n){return El.call(n)}function o(n,e){return yn(n)}function Ae(n,e=!1){{var a=yn(n);return a instanceof Comment&&a.data===""?_r(a):a}}function f(n,e=1,a=!1){let r=n;for(;e--;)r=_r(r);return r}function qc(n){n.textContent=""}function Tl(){return!1}function Al(n,e,a){return document.createElementNS(e??rl,n,void 0)}let wi=!1;function Wc(){wi||(wi=!0,document.addEventListener("reset",n=>{Promise.resolve().then(()=>{if(!n.defaultPrevented)for(const e of n.target.elements)e.__on_r?.()})},{capture:!0}))}function Va(n){var e=yt,a=wt;Cn(null),Gn(null);try{return n()}finally{Cn(e),Gn(a)}}function Cl(n,e,a,r=a){n.addEventListener(e,()=>Va(a));const s=n.__on_r;s?n.__on_r=()=>{s(),r(!0)}:n.__on_r=()=>r(!0),Wc()}function Gc(n){wt===null&&(yt===null&&ec(),$o()),_a&&Qo()}function Vc(n,e){var a=e.last;a===null?e.last=e.first=n:(a.next=n,n.prev=a,e.last=n)}function Yn(n,e){var a=wt;a!==null&&(a.f&wn)!==0&&(n|=wn);var r={ctx:mn,deps:null,nodes:null,f:n|en|En,first:null,fn:e,last:null,next:null,parent:a,b:a&&a.b,prev:null,teardown:null,wv:0,ac:null},s=r;if((n&Ha)!==0)Oa!==null?Oa.push(r):aa.ensure().schedule(r);else if(e!==null){try{Ga(r)}catch(c){throw dn(r),c}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&Ia)===0&&(s=s.first,(n&ia)!==0&&(n&ma)!==0&&s!==null&&(s.f|=ma))}if(s!==null&&(s.parent=a,a!==null&&Vc(s,a),yt!==null&&(yt.f&Xt)!==0&&(n&pa)===0)){var l=yt;(l.effects??=[]).push(s)}return r}function qs(){return yt!==null&&!Pn}function Ws(n){const e=Yn(Yr,null);return Vt(e,Zt),e.teardown=n,e}function Tt(n){Gc();var e=wt.f,a=!yt&&(e&On)!==0&&(e&ba)===0;if(a){var r=mn;(r.e??=[]).push(n)}else return Ml(n)}function Ml(n){return Yn(Ha|Vo,n)}function Yc(n){aa.ensure();const e=Yn(pa|Ia,n);return()=>{dn(e)}}function Zc(n){aa.ensure();const e=Yn(pa|Ia,n);return(a={})=>new Promise(r=>{a.outro?Aa(e,()=>{dn(e),r(void 0)}):(dn(e),r(void 0))})}function Gs(n){return Yn(Ha,n)}function Kc(n){return Yn(Fs|Ia,n)}function Vs(n,e=0){return Yn(Yr|e,n)}function j(n,e=[],a=[],r=[]){Nc(r,e,a,s=>{Yn(Yr,()=>n(...s.map(t)))})}function gr(n,e=0){var a=Yn(ia|e,n);return a}function Sn(n){return Yn(On|Ia,n)}function jl(n){var e=n.teardown;if(e!==null){const a=_a,r=yt;ki(!0),Cn(null);try{e.call(null)}finally{ki(a),Cn(r)}}}function Ys(n,e=!1){var a=n.first;for(n.first=n.last=null;a!==null;){const s=a.ac;s!==null&&Va(()=>{s.abort(Qn)});var r=a.next;(a.f&pa)!==0?a.parent=null:dn(a,e),a=r}}function Jc(n){for(var e=n.first;e!==null;){var a=e.next;(e.f&On)===0&&dn(e),e=a}}function dn(n,e=!0){var a=!1;(e||(n.f&Go)!==0)&&n.nodes!==null&&n.nodes.end!==null&&(Rl(n.nodes.start,n.nodes.end),a=!0),Vt(n,hs),Ys(n,e&&!a),pr(n,0);var r=n.nodes&&n.nodes.t;if(r!==null)for(const l of r)l.stop();jl(n),n.f^=hs,n.f|=Tn;var s=n.parent;s!==null&&s.first!==null&&Il(n),n.next=n.prev=n.teardown=n.ctx=n.deps=n.fn=n.nodes=n.ac=null}function Rl(n,e){for(;n!==null;){var a=n===e?null:_r(n);n.remove(),n=a}}function Il(n){var e=n.parent,a=n.prev,r=n.next;a!==null&&(a.next=r),r!==null&&(r.prev=a),e!==null&&(e.first===n&&(e.first=r),e.last===n&&(e.last=a))}function Aa(n,e,a=!0){var r=[];Nl(n,r,!0);var s=()=>{a&&dn(n),e&&e()},l=r.length;if(l>0){var c=()=>--l||s();for(var v of r)v.out(c)}else s()}function Nl(n,e,a){if((n.f&wn)===0){n.f^=wn;var r=n.nodes&&n.nodes.t;if(r!==null)for(const v of r)(v.is_global||a)&&e.push(v);for(var s=n.first;s!==null;){var l=s.next,c=(s.f&ma)!==0||(s.f&On)!==0&&(n.f&ia)!==0;Nl(s,e,c?a:!1),s=l}}}function Zs(n){Pl(n,!0)}function Pl(n,e){if((n.f&wn)!==0){n.f^=wn,(n.f&Zt)===0&&(Vt(n,en),aa.ensure().schedule(n));for(var a=n.first;a!==null;){var r=a.next,s=(a.f&ma)!==0||(a.f&On)!==0;Pl(a,s?e:!1),a=r}var l=n.nodes&&n.nodes.t;if(l!==null)for(const c of l)(c.is_global||e)&&c.in()}}function Ks(n,e){if(n.nodes)for(var a=n.nodes.start,r=n.nodes.end;a!==null;){var s=a===r?null:_r(a);e.append(a),a=s}}let Rr=!1,_a=!1;function ki(n){_a=n}let yt=null,Pn=!1;function Cn(n){yt=n}let wt=null;function Gn(n){wt=n}let An=null;function Ll(n){yt!==null&&(An===null?An=[n]:An.push(n))}let hn=null,_n=0,xn=null;function Xc(n){xn=n}let Ol=1,ka=0,Ln=ka;function xi(n){Ln=n}function Dl(){return++Ol}function br(n){var e=n.f;if((e&en)!==0)return!0;if(e&Xt&&(n.f&=~Ca),(e&Dn)!==0){for(var a=n.deps,r=a.length,s=0;s<r;s++){var l=a[s];if(br(l)&&gl(l),l.wv>n.wv)return!0}(e&En)!==0&&qn===null&&Vt(n,Zt)}return!1}function zl(n,e,a=!0){var r=n.reactions;if(r!==null&&!(An!==null&&Ba.call(An,n)))for(var s=0;s<r.length;s++){var l=r[s];(l.f&Xt)!==0?zl(l,e,!1):e===l&&(a?Vt(l,en):(l.f&Zt)!==0&&Vt(l,Dn),Bs(l))}}function Fl(n){var e=hn,a=_n,r=xn,s=yt,l=An,c=mn,v=Pn,d=Ln,m=n.f;hn=null,_n=0,xn=null,yt=(m&(On|pa))===0?n:null,An=null,qa(n.ctx),Pn=!1,Ln=++ka,n.ac!==null&&(Va(()=>{n.ac.abort(Qn)}),n.ac=null);try{n.f|=ps;var p=n.fn,b=p();n.f|=ba;var _=n.deps,g=Et?.is_fork;if(hn!==null){var y;if(g||pr(n,_n),_!==null&&_n>0)for(_.length=_n+hn.length,y=0;y<hn.length;y++)_[_n+y]=hn[y];else n.deps=_=hn;if(qs()&&(n.f&En)!==0)for(y=_n;y<_.length;y++)(_[y].reactions??=[]).push(n)}else!g&&_!==null&&_n<_.length&&(pr(n,_n),_.length=_n);if(ll()&&xn!==null&&!Pn&&_!==null&&(n.f&(Xt|Dn|en))===0)for(y=0;y<xn.length;y++)zl(xn[y],n);if(s!==null&&s!==n){if(ka++,s.deps!==null)for(let k=0;k<a;k+=1)s.deps[k].rv=ka;if(e!==null)for(const k of e)k.rv=ka;xn!==null&&(r===null?r=xn:r.push(...xn))}return(n.f&fa)!==0&&(n.f^=fa),b}catch(k){return cl(k)}finally{n.f^=ps,hn=e,_n=a,xn=r,yt=s,An=l,qa(c),Pn=v,Ln=d}}function Qc(n,e){let a=e.reactions;if(a!==null){var r=zo.call(a,n);if(r!==-1){var s=a.length-1;s===0?a=e.reactions=null:(a[r]=a[s],a.pop())}}if(a===null&&(e.f&Xt)!==0&&(hn===null||!Ba.call(hn,e))){var l=e;(l.f&En)!==0&&(l.f^=En,l.f&=~Ca),Us(l),zc(l),pr(l,0)}}function pr(n,e){var a=n.deps;if(a!==null)for(var r=e;r<a.length;r++)Qc(n,a[r])}function Ga(n){var e=n.f;if((e&Tn)===0){Vt(n,Zt);var a=wt,r=Rr;wt=n,Rr=!0;try{(e&(ia|tl))!==0?Jc(n):Ys(n),jl(n);var s=Fl(n);n.teardown=typeof s=="function"?s:null,n.wv=Ol;var l;Do&&kc&&(n.f&en)!==0&&n.deps}finally{Rr=r,wt=a}}}async function Ul(){await Promise.resolve(),Ac()}function t(n){var e=n.f,a=(e&Xt)!==0;if(yt!==null&&!Pn){var r=wt!==null&&(wt.f&Tn)!==0;if(!r&&(An===null||!Ba.call(An,n))){var s=yt.deps;if((yt.f&ps)!==0)n.rv<ka&&(n.rv=ka,hn===null&&s!==null&&s[_n]===n?_n++:hn===null?hn=[n]:hn.push(n));else{(yt.deps??=[]).push(n);var l=n.reactions;l===null?n.reactions=[yt]:Ba.call(l,yt)||l.push(yt)}}}if(_a&&ha.has(n))return ha.get(n);if(a){var c=n;if(_a){var v=c.v;return((c.f&Zt)===0&&c.reactions!==null||Hl(c))&&(v=Hs(c)),ha.set(c,v),v}var d=(c.f&En)===0&&!Pn&&yt!==null&&(Rr||(yt.f&En)!==0),m=(c.f&ba)===0;br(c)&&(d&&(c.f|=En),gl(c)),d&&!m&&(bl(c),Bl(c))}if(qn?.has(n))return qn.get(n);if((n.f&fa)!==0)throw n.v;return n.v}function Bl(n){if(n.f|=En,n.deps!==null)for(const e of n.deps)(e.reactions??=[]).push(n),(e.f&Xt)!==0&&(e.f&En)===0&&(bl(e),Bl(e))}function Hl(n){if(n.v===Qt)return!0;if(n.deps===null)return!1;for(const e of n.deps)if(ha.has(e)||(e.f&Xt)!==0&&Hl(e))return!0;return!1}function Ya(n){var e=Pn;try{return Pn=!0,n()}finally{Pn=e}}const $c=["touchstart","touchmove"];function ed(n){return $c.includes(n)}const sr=Symbol("events"),ql=new Set,gs=new Set;function td(n,e,a,r={}){function s(l){if(r.capture||bs.call(e,l),!l.cancelBubble)return Va(()=>a?.call(this,l))}return n.startsWith("pointer")||n.startsWith("touch")||n==="wheel"?ea(()=>{e.addEventListener(n,s,r)}):e.addEventListener(n,s,r),s}function Ut(n,e,a,r,s){var l={capture:r,passive:s},c=td(n,e,a,l);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Ws(()=>{e.removeEventListener(n,c,l)})}function U(n,e,a){(e[sr]??={})[n]=a}function At(n){for(var e=0;e<n.length;e++)ql.add(n[e]);for(var a of gs)a(n)}let Si=null;function bs(n){var e=this,a=e.ownerDocument,r=n.type,s=n.composedPath?.()||[],l=s[0]||n.target;Si=n;var c=0,v=Si===n&&n[sr];if(v){var d=s.indexOf(v);if(d!==-1&&(e===document||e===window)){n[sr]=e;return}var m=s.indexOf(e);if(m===-1)return;d<=m&&(c=d)}if(l=s[c]||n.target,l!==e){Fo(n,"currentTarget",{configurable:!0,get(){return l||a}});var p=yt,b=wt;Cn(null),Gn(null);try{for(var _,g=[];l!==null;){var y=l.assignedSlot||l.parentNode||l.host||null;try{var k=l[sr]?.[r];k!=null&&(!l.disabled||n.target===l)&&k.call(l,n)}catch(w){_?g.push(w):_=w}if(n.cancelBubble||y===e||y===null)break;l=y}if(_){for(let w of g)queueMicrotask(()=>{throw w});throw _}}finally{n[sr]=e,delete n.currentTarget,Cn(p),Gn(b)}}}const nd=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:n=>n});function ad(n){return nd?.createHTML(n)??n}function Wl(n){var e=Al("template");return e.innerHTML=ad(n.replaceAll("<!>","<!---->")),e.content}function ga(n,e){var a=wt;a.nodes===null&&(a.nodes={start:n,end:e,a:null,t:null})}function h(n,e){var a=(e&al)!==0,r=(e&mc)!==0,s,l=!n.startsWith("<!>");return()=>{s===void 0&&(s=Wl(l?n:"<!>"+n),a||(s=yn(s)));var c=r||xl?document.importNode(s,!0):s.cloneNode(!0);if(a){var v=yn(c),d=c.lastChild;ga(v,d)}else ga(c,c);return c}}function rd(n,e,a="svg"){var r=!n.startsWith("<!>"),s=(e&al)!==0,l=`<${a}>${r?n:"<!>"+n}</${a}>`,c;return()=>{if(!c){var v=Wl(l),d=yn(v);if(s)for(c=document.createDocumentFragment();yn(d);)c.appendChild(yn(d));else c=yn(d)}var m=c.cloneNode(!0);if(s){var p=yn(m),b=m.lastChild;ga(p,b)}else ga(m,m);return m}}function Na(n,e){return rd(n,e,"svg")}function sa(n=""){{var e=ta(n+"");return ga(e,e),e}}function Rt(){var n=document.createDocumentFragment(),e=document.createComment(""),a=ta();return n.append(e,a),ga(e,a),n}function u(n,e){n!==null&&n.before(e)}let ys=!0;function T(n,e){var a=e==null?"":typeof e=="object"?`${e}`:e;a!==(n.__t??=n.nodeValue)&&(n.__t=a,n.nodeValue=`${a}`)}function sd(n,e){return id(n,e)}const xr=new Map;function id(n,{target:e,anchor:a,props:r={},events:s,context:l,intro:c=!0,transformError:v}){Hc();var d=void 0,m=Zc(()=>{var p=a??e.appendChild(ta());Rc(p,{pending:()=>{}},g=>{ft({});var y=mn;l&&(y.c=l),s&&(r.$$events=s),ys=c,d=n(g,r)||{},ys=!0,ht()},v);var b=new Set,_=g=>{for(var y=0;y<g.length;y++){var k=g[y];if(!b.has(k)){b.add(k);var w=ed(k);for(const x of[e,document]){var N=xr.get(x);N===void 0&&(N=new Map,xr.set(x,N));var E=N.get(k);E===void 0?(x.addEventListener(k,bs,{passive:w}),N.set(k,1)):N.set(k,E+1)}}}};return _(Vr(ql)),gs.add(_),()=>{for(var g of b)for(const w of[e,document]){var y=xr.get(w),k=y.get(g);--k==0?(w.removeEventListener(g,bs),y.delete(g),y.size===0&&xr.delete(w)):y.set(g,k)}gs.delete(_),p!==a&&p.parentNode?.removeChild(p)}});return ld.set(d,m),d}let ld=new WeakMap;class Js{anchor;#t=new Map;#n=new Map;#e=new Map;#s=new Set;#r=!0;constructor(e,a=!0){this.anchor=e,this.#r=a}#a=e=>{if(this.#t.has(e)){var a=this.#t.get(e),r=this.#n.get(a);if(r)Zs(r),this.#s.delete(a);else{var s=this.#e.get(a);s&&(this.#n.set(a,s.effect),this.#e.delete(a),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[l,c]of this.#t){if(this.#t.delete(l),l===e)break;const v=this.#e.get(c);v&&(dn(v.effect),this.#e.delete(c))}for(const[l,c]of this.#n){if(l===a||this.#s.has(l))continue;const v=()=>{if(Array.from(this.#t.values()).includes(l)){var m=document.createDocumentFragment();Ks(c,m),m.append(ta()),this.#e.set(l,{effect:c,fragment:m})}else dn(c);this.#s.delete(l),this.#n.delete(l)};this.#r||!r?(this.#s.add(l),Aa(c,v,!1)):v()}}};#i=e=>{this.#t.delete(e);const a=Array.from(this.#t.values());for(const[r,s]of this.#e)a.includes(r)||(dn(s.effect),this.#e.delete(r))};ensure(e,a){var r=Et,s=Tl();if(a&&!this.#n.has(e)&&!this.#e.has(e))if(s){var l=document.createDocumentFragment(),c=ta();l.append(c),this.#e.set(e,{effect:Sn(()=>a(c)),fragment:l})}else this.#n.set(e,Sn(()=>a(this.anchor)));if(this.#t.set(r,e),s){for(const[v,d]of this.#n)v===e?r.unskip_effect(d):r.skip_effect(d);for(const[v,d]of this.#e)v===e?r.unskip_effect(d.effect):r.skip_effect(d.effect);r.oncommit(this.#a),r.ondiscard(this.#i)}else this.#a(r)}}function A(n,e,a=!1){var r=new Js(n),s=a?ma:0;function l(c,v){r.ensure(c,v)}gr(()=>{var c=!1;e((v,d=0)=>{c=!0,l(d,v)}),c||l(-1,null)},s)}const od=Symbol("NaN");function cd(n,e,a){var r=new Js(n);gr(()=>{var s=e();s!==s&&(s=od),r.ensure(s,a)})}function $t(n,e){return e}function dd(n,e,a){for(var r=[],s=e.length,l,c=e.length,v=0;v<s;v++){let b=e[v];Aa(b,()=>{if(l){if(l.pending.delete(b),l.done.add(b),l.pending.size===0){var _=n.outrogroups;ws(n,Vr(l.done)),_.delete(l),_.size===0&&(n.outrogroups=null)}}else c-=1},!1)}if(c===0){var d=r.length===0&&a!==null;if(d){var m=a,p=m.parentNode;qc(p),p.append(m),n.items.clear()}ws(n,e,!d)}else l={pending:new Set(e),done:new Set},(n.outrogroups??=new Set).add(l)}function ws(n,e,a=!0){var r;if(n.pending.size>0){r=new Set;for(const c of n.pending.values())for(const v of c)r.add(n.items.get(v).e)}for(var s=0;s<e.length;s++){var l=e[s];if(r?.has(l)){l.f|=Hn;const c=document.createDocumentFragment();Ks(l,c)}else dn(e[s],a)}}var Ei;function We(n,e,a,r,s,l=null){var c=n,v=new Map,d=(e&nl)!==0;if(d){var m=n;c=m.appendChild(ta())}var p=null,b=_l(()=>{var x=a();return zs(x)?x:x==null?[]:Vr(x)}),_,g=new Map,y=!0;function k(x){(E.effect.f&Tn)===0&&(E.pending.delete(x),E.fallback=p,vd(E,_,c,e,r),p!==null&&(_.length===0?(p.f&Hn)===0?Zs(p):(p.f^=Hn,ir(p,null,c)):Aa(p,()=>{p=null})))}function w(x){E.pending.delete(x)}var N=gr(()=>{_=t(b);for(var x=_.length,S=new Set,C=Et,q=Tl(),O=0;O<x;O+=1){var H=_[O],R=r(H,O),M=y?null:v.get(R);M?(M.v&&Wa(M.v,H),M.i&&Wa(M.i,O),q&&C.unskip_effect(M.e)):(M=ud(v,y?c:Ei??=ta(),H,R,O,s,e,a),y||(M.e.f|=Hn),v.set(R,M)),S.add(R)}if(x===0&&l&&!p&&(y?p=Sn(()=>l(c)):(p=Sn(()=>l(Ei??=ta())),p.f|=Hn)),x>S.size&&Xo(),!y)if(g.set(C,S),q){for(const[V,G]of v)S.has(V)||C.skip_effect(G.e);C.oncommit(k),C.ondiscard(w)}else k(C);t(b)}),E={effect:N,items:v,pending:g,outrogroups:null,fallback:p};y=!1}function Xa(n){for(;n!==null&&(n.f&On)===0;)n=n.next;return n}function vd(n,e,a,r,s){var l=(r&cc)!==0,c=e.length,v=n.items,d=Xa(n.effect.first),m,p=null,b,_=[],g=[],y,k,w,N;if(l)for(N=0;N<c;N+=1)y=e[N],k=s(y,N),w=v.get(k).e,(w.f&Hn)===0&&(w.nodes?.a?.measure(),(b??=new Set).add(w));for(N=0;N<c;N+=1){if(y=e[N],k=s(y,N),w=v.get(k).e,n.outrogroups!==null)for(const M of n.outrogroups)M.pending.delete(w),M.done.delete(w);if((w.f&Hn)!==0)if(w.f^=Hn,w===d)ir(w,null,a);else{var E=p?p.next:d;w===n.effect.last&&(n.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),ca(n,p,w),ca(n,w,E),ir(w,E,a),p=w,_=[],g=[],d=Xa(p.next);continue}if((w.f&wn)!==0&&(Zs(w),l&&(w.nodes?.a?.unfix(),(b??=new Set).delete(w))),w!==d){if(m!==void 0&&m.has(w)){if(_.length<g.length){var x=g[0],S;p=x.prev;var C=_[0],q=_[_.length-1];for(S=0;S<_.length;S+=1)ir(_[S],x,a);for(S=0;S<g.length;S+=1)m.delete(g[S]);ca(n,C.prev,q.next),ca(n,p,C),ca(n,q,x),d=x,p=q,N-=1,_=[],g=[]}else m.delete(w),ir(w,d,a),ca(n,w.prev,w.next),ca(n,w,p===null?n.effect.first:p.next),ca(n,p,w),p=w;continue}for(_=[],g=[];d!==null&&d!==w;)(m??=new Set).add(d),g.push(d),d=Xa(d.next);if(d===null)continue}(w.f&Hn)===0&&_.push(w),p=w,d=Xa(w.next)}if(n.outrogroups!==null){for(const M of n.outrogroups)M.pending.size===0&&(ws(n,Vr(M.done)),n.outrogroups?.delete(M));n.outrogroups.size===0&&(n.outrogroups=null)}if(d!==null||m!==void 0){var O=[];if(m!==void 0)for(w of m)(w.f&wn)===0&&O.push(w);for(;d!==null;)(d.f&wn)===0&&d!==n.fallback&&O.push(d),d=Xa(d.next);var H=O.length;if(H>0){var R=(r&nl)!==0&&c===0?a:null;if(l){for(N=0;N<H;N+=1)O[N].nodes?.a?.measure();for(N=0;N<H;N+=1)O[N].nodes?.a?.fix()}dd(n,O,R)}}l&&ea(()=>{if(b!==void 0)for(w of b)w.nodes?.a?.apply()})}function ud(n,e,a,r,s,l,c,v){var d=(c&lc)!==0?(c&dc)===0?Fc(a,!1,!1):ra(a):null,m=(c&oc)!==0?ra(s):null;return{v:d,i:m,e:Sn(()=>(l(e,d??a,m??s,v),()=>{n.delete(r)}))}}function ir(n,e,a){if(n.nodes)for(var r=n.nodes.start,s=n.nodes.end,l=e&&(e.f&Hn)===0?e.nodes.start:a;r!==null;){var c=_r(r);if(l.before(r),r===s)return;r=c}}function ca(n,e,a){e===null?n.effect.first=a:e.next=a,a===null?n.effect.last=e:a.prev=e}function Vn(n,e,a=!1,r=!1,s=!1,l=!1){var c=n,v="";if(a)var d=n;j(()=>{var m=wt;if(v!==(v=e()??"")){if(a){m.nodes=null,d.innerHTML=v,v!==""&&ga(yn(d),d.lastChild);return}if(m.nodes!==null&&(Rl(m.nodes.start,m.nodes.end),m.nodes=null),v!==""){var p=r?_c:s?gc:void 0,b=Al(r?"svg":s?"math":"template",p);b.innerHTML=v;var _=r||s?b:b.content;if(ga(yn(_),_.lastChild),r||s)for(;yn(_);)c.before(yn(_));else c.before(_)}}})}function ks(n,e,...a){var r=new Js(n);gr(()=>{const s=e()??null;r.ensure(s,s&&(l=>s(l,...a)))},ma)}const fd=()=>performance.now(),$n={tick:n=>requestAnimationFrame(n),now:()=>fd(),tasks:new Set};function Gl(){const n=$n.now();$n.tasks.forEach(e=>{e.c(n)||($n.tasks.delete(e),e.f())}),$n.tasks.size!==0&&$n.tick(Gl)}function hd(n){let e;return $n.tasks.size===0&&$n.tick(Gl),{promise:new Promise(a=>{$n.tasks.add(e={c:n,f:a})}),abort(){$n.tasks.delete(e)}}}function Or(n,e){Va(()=>{n.dispatchEvent(new CustomEvent(e))})}function pd(n){if(n==="float")return"cssFloat";if(n==="offset")return"cssOffset";if(n.startsWith("--"))return n;const e=n.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(a=>a[0].toUpperCase()+a.slice(1)).join("")}function Ti(n){const e={},a=n.split(";");for(const r of a){const[s,l]=r.split(":");if(!s||l===void 0)break;const c=pd(s.trim());e[c]=l.trim()}return e}const md=n=>n;function _d(n,e,a,r){var s=(n&pc)!==0,l="both",c,v=e.inert,d=e.style.overflow,m,p;function b(){return Va(()=>c??=a()(e,r?.()??{},{direction:l}))}var _={is_global:s,in(){e.inert=v,m=xs(e,b(),p,1,()=>{Or(e,"introend"),m?.abort(),m=c=void 0,e.style.overflow=d})},out(w){e.inert=!0,p=xs(e,b(),m,0,()=>{Or(e,"outroend"),w?.()})},stop:()=>{m?.abort(),p?.abort()}},g=wt;if((g.nodes.t??=[]).push(_),ys){var y=s;if(!y){for(var k=g.parent;k&&(k.f&ma)!==0;)for(;(k=k.parent)&&(k.f&ia)===0;);y=!k||(k.f&ba)!==0}y&&Gs(()=>{Ya(()=>_.in())})}}function xs(n,e,a,r,s){var l=r===1;if(qo(e)){var c,v=!1;return ea(()=>{if(!v){var w=e({direction:l?"in":"out"});c=xs(n,w,a,r,s)}}),{abort:()=>{v=!0,c?.abort()},deactivate:()=>c.deactivate(),reset:()=>c.reset(),t:()=>c.t()}}if(a?.deactivate(),!e?.duration&&!e?.delay)return Or(n,l?"introstart":"outrostart"),s(),{abort:La,deactivate:La,reset:La,t:()=>r};const{delay:d=0,css:m,tick:p,easing:b=md}=e;var _=[];if(l&&a===void 0&&(p&&p(0,1),m)){var g=Ti(m(0,1));_.push(g,g)}var y=()=>1-r,k=n.animate(_,{duration:d,fill:"forwards"});return k.onfinish=()=>{k.cancel(),Or(n,l?"introstart":"outrostart");var w=a?.t()??1-r;a?.abort();var N=r-w,E=e.duration*Math.abs(N),x=[];if(E>0){var S=!1;if(m)for(var C=Math.ceil(E/16.666666666666668),q=0;q<=C;q+=1){var O=w+N*b(q/C),H=Ti(m(O,1-O));x.push(H),S||=H.overflow==="hidden"}S&&(n.style.overflow="hidden"),y=()=>{var R=k.currentTime;return w+N*b(R/E)},p&&hd(()=>{if(k.playState!=="running")return!1;var R=y();return p(R,1-R),!0})}k=n.animate(x,{duration:E,fill:"forwards"}),k.onfinish=()=>{y=()=>r,p?.(r,1-r),s()}},{abort:()=>{k&&(k.cancel(),k.effect=null,k.onfinish=La)},deactivate:()=>{s=La},reset:()=>{r===0&&p?.(1,0)},t:()=>y()}}const Ai=[...`
2
- \r\f \v\uFEFF`];function gd(n,e,a){var r=n==null?"":""+n;if(a){for(var s of Object.keys(a))if(a[s])r=r?r+" "+s:s;else if(r.length)for(var l=s.length,c=0;(c=r.indexOf(s,c))>=0;){var v=c+l;(c===0||Ai.includes(r[c-1]))&&(v===r.length||Ai.includes(r[v]))?r=(c===0?"":r.substring(0,c))+r.substring(v+1):c=v}}return r===""?null:r}function Ci(n,e=!1){var a=e?" !important;":";",r="";for(var s of Object.keys(n)){var l=n[s];l!=null&&l!==""&&(r+=" "+s+": "+l+a)}return r}function $r(n){return n[0]!=="-"||n[1]!=="-"?n.toLowerCase():n}function bd(n,e){if(e){var a="",r,s;if(Array.isArray(e)?(r=e[0],s=e[1]):r=e,n){n=String(n).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var l=!1,c=0,v=!1,d=[];r&&d.push(...Object.keys(r).map($r)),s&&d.push(...Object.keys(s).map($r));var m=0,p=-1;const k=n.length;for(var b=0;b<k;b++){var _=n[b];if(v?_==="/"&&n[b-1]==="*"&&(v=!1):l?l===_&&(l=!1):_==="/"&&n[b+1]==="*"?v=!0:_==='"'||_==="'"?l=_:_==="("?c++:_===")"&&c--,!v&&l===!1&&c===0){if(_===":"&&p===-1)p=b;else if(_===";"||b===k-1){if(p!==-1){var g=$r(n.substring(m,p).trim());if(!d.includes(g)){_!==";"&&b++;var y=n.substring(m,b).trim();a+=" "+y+";"}}m=b+1,p=-1}}}}return r&&(a+=Ci(r)),s&&(a+=Ci(s,!0)),a=a.trim(),a===""?null:a}return n==null?null:String(n)}function Ze(n,e,a,r,s,l){var c=n.__className;if(c!==a||c===void 0){var v=gd(a,r,l);v==null?n.removeAttribute("class"):n.className=v,n.__className=a}else if(l&&s!==l)for(var d in l){var m=!!l[d];(s==null||m!==!!s[d])&&n.classList.toggle(d,m)}return l}function es(n,e={},a,r){for(var s in a){var l=a[s];e[s]!==l&&(a[s]==null?n.style.removeProperty(s):n.style.setProperty(s,l,r))}}function Ct(n,e,a,r){var s=n.__style;if(s!==e){var l=bd(e,r);l==null?n.removeAttribute("style"):n.style.cssText=l,n.__style=e}else r&&(Array.isArray(r)?(es(n,a?.[0],r[0]),es(n,a?.[1],r[1],"important")):es(n,a,r));return r}function Xs(n,e,a=!1){if(n.multiple){if(e==null)return;if(!zs(e))return bc();for(var r of n.options)r.selected=e.includes(vr(r));return}for(r of n.options){var s=vr(r);if(Bc(s,e)){r.selected=!0;return}}(!a||e!==void 0)&&(n.selectedIndex=-1)}function Vl(n){var e=new MutationObserver(()=>{Xs(n,n.__value)});e.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ws(()=>{e.disconnect()})}function mr(n,e,a=e){var r=new WeakSet,s=!0;Cl(n,"change",l=>{var c=l?"[selected]":":checked",v;if(n.multiple)v=[].map.call(n.querySelectorAll(c),vr);else{var d=n.querySelector(c)??n.querySelector("option:not([disabled])");v=d&&vr(d)}a(v),Et!==null&&r.add(Et)}),Gs(()=>{var l=e();if(n===document.activeElement){var c=Et;if(r.has(c))return}if(Xs(n,l,s),s&&l===void 0){var v=n.querySelector(":checked");v!==null&&(l=vr(v),a(l))}n.__value=l,s=!1}),Vl(n)}function vr(n){return"__value"in n?n.__value:n.value}const yd=Symbol("is custom element"),wd=Symbol("is html");function Yl(n,e){var a=Zl(n);a.checked!==(a.checked=e??void 0)&&(n.checked=e)}function _t(n,e,a,r){var s=Zl(n);s[e]!==(s[e]=a)&&(e==="loading"&&(n[Zo]=a),a==null?n.removeAttribute(e):typeof a!="string"&&kd(n).includes(e)?n[e]=a:n.setAttribute(e,a))}function Zl(n){return n.__attributes??={[yd]:n.nodeName.includes("-"),[wd]:n.namespaceURI===rl}}var Mi=new Map;function kd(n){var e=n.getAttribute("is")||n.nodeName,a=Mi.get(e);if(a)return a;Mi.set(e,a=[]);for(var r,s=n,l=Element.prototype;l!==s;){r=Uo(s);for(var c in r)r[c].set&&a.push(c);s=$i(s)}return a}function mt(n,e,a=e){var r=new WeakSet;Cl(n,"input",async s=>{var l=s?n.defaultValue:n.value;if(l=ts(n)?ns(l):l,a(l),Et!==null&&r.add(Et),await Ul(),l!==(l=e())){var c=n.selectionStart,v=n.selectionEnd,d=n.value.length;if(n.value=l??"",v!==null){var m=n.value.length;c===v&&v===d&&m>d?(n.selectionStart=m,n.selectionEnd=m):(n.selectionStart=c,n.selectionEnd=Math.min(v,m))}}}),Ya(e)==null&&n.value&&(a(ts(n)?ns(n.value):n.value),Et!==null&&r.add(Et)),Vs(()=>{var s=e();if(n===document.activeElement){var l=Et;if(r.has(l))return}ts(n)&&s===ns(n.value)||n.type==="date"&&!s&&!n.value||s!==n.value&&(n.value=s??"")})}function ts(n){var e=n.type;return e==="number"||e==="range"}function ns(n){return n===""?null:+n}function ji(n,e){return n===e||n?.[Ta]===e}function pn(n={},e,a,r){var s=mn.r,l=wt;return Gs(()=>{var c,v;return Vs(()=>{c=v,v=[],Ya(()=>{n!==a(...v)&&(e(n,...v),c&&ji(a(...c),n)&&e(null,...c))})}),()=>{let d=l;for(;d!==s&&d.parent!==null&&d.parent.f&hs;)d=d.parent;const m=()=>{v&&ji(a(...v),n)&&e(null,...v)},p=d.teardown;d.teardown=()=>{m(),p?.()}}}),n}function Ht(n,e,a,r){var s=(a&fc)!==0,l=(a&hc)!==0,c=r,v=!0,d=()=>(v&&(v=!1,c=l?Ya(r):r),c);let m;if(s){var p=Ta in n||Yo in n;m=za(n,e)?.set??(p&&e in n?E=>n[e]=E:void 0)}var b,_=!1;s?[b,_]=Ec(()=>n[e]):b=n[e],b===void 0&&r!==void 0&&(b=d(),m&&(nc(),m(b)));var g;if(g=()=>{var E=n[e];return E===void 0?d():(v=!0,E)},(a&uc)===0)return g;if(m){var y=n.$$legacy;return(function(E,x){return arguments.length>0?((!x||y||_)&&m(x?g():E),E):g()})}var k=!1,w=((a&vc)!==0?Zr:_l)(()=>(k=!1,g()));s&&t(w);var N=wt;return(function(E,x){if(arguments.length>0){const S=x?t(w):s?rt(E):E;return i(w,S),k=!0,c!==void 0&&(c=S),E}return _a&&k||(N.f&Tn)!==0?w.v:t(w)})}function Zn(n){mn===null&&Ko(),Tt(()=>{const e=Ya(n);if(typeof e=="function")return e})}const xd="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(xd);const et="/api/v1";async function Kt(n){const e=await fetch(n);if(!e.ok){const a=await e.json().catch(()=>({}));throw new Error(a.error||`Request failed: ${e.status}`)}return e.json()}async function Yt(n,e){const a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e!=null?JSON.stringify(e):void 0});if(!a.ok){const r=await a.json().catch(()=>({}));throw new Error(r.error||`Request failed: ${a.status}`)}return a.json()}async function Za(n,e){const a=await fetch(n,{method:"PUT",headers:{"Content-Type":"application/json"},body:e!=null?JSON.stringify(e):void 0});if(!a.ok){const r=await a.json().catch(()=>({}));throw new Error(r.error||`Request failed: ${a.status}`)}}async function ya(n){const e=await fetch(n,{method:"DELETE"});if(!e.ok){const a=await e.json().catch(()=>({}));throw new Error(a.error||`Request failed: ${e.status}`)}}function Dr(){return Kt(`${et}/minds`)}function Kl(n){return Yt(`${et}/minds/${ut(n)}/start`)}function Sd(n){return Yt(`${et}/minds/${ut(n)}/stop`)}function Ed(n,e=!1){return ya(`${et}/minds/${ut(n)}${e?"?force=true":""}`)}function Td(n,e){return Yt(`${et}/minds`,{name:n,stage:"seed",...e})}function Ad(n,e,a){const r=new URLSearchParams;a?.before!=null&&r.set("before",String(a.before)),r.set("limit",String(a.limit));const s=r.toString();return Kt(`${et}/minds/${ut(n)}/conversations/${ut(e)}/messages${s?`?${s}`:""}`)}function Ss(n,e){const a=new URLSearchParams;e?.before!=null&&a.set("before",String(e.before)),e?.limit!=null&&a.set("limit",String(e.limit));const r=a.toString();return Kt(`${et}/conversations/${ut(n)}/messages${r?`?${r}`:""}`)}function Cd(n){return ya(`${et}/conversations/${ut(n)}`)}function Jl(n){return Yt(`${et}/conversations/${ut(n)}/read`)}function Md(n,e){return Za(`${et}/conversations/${ut(n)}/private`,{private:e})}function jd(n,e,a,r,s){return Yt(`${et}/minds/${ut(n)}/chat`,{message:e||void 0,conversationId:a,images:r&&r.length>0?r:void 0,files:s&&s.length>0?s:void 0})}function Rd(n,e,a,r){return Yt(`${et}/chat`,{message:e||void 0,conversationId:n,images:a&&a.length>0?a:void 0,files:r&&r.length>0?r:void 0})}function Sr(n,e,a,r){fetch(`${et}/minds/${ut(n)}/typing`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({channel:e,sender:a,active:r})}).catch(()=>{})}function Id(n,e){const a=new URLSearchParams;e?.channel&&a.set("channel",e.channel),e?.session&&a.set("session",e.session),e?.preset&&a.set("preset",e.preset),a.set("limit",String(e.limit)),e?.offset!==void 0&&a.set("offset",String(e.offset));const r=a.toString();return Kt(`${et}/minds/${ut(n)}/history${r?`?${r}`:""}`)}function Es(n,e){const a=new URLSearchParams;return"turnId"in e?a.set("turn_id",e.turnId):(a.set("session",e.session),a.set("from_id",String(e.fromId)),a.set("to_id",String(e.toId))),Kt(`${et}/minds/${ut(n)}/history/turn?${a}`)}function as(n,e){const a=new URLSearchParams;e?.limit!==void 0&&a.set("limit",String(e.limit)),e?.offset!==void 0&&a.set("offset",String(e.offset)),e?.turnId&&a.set("turnId",e.turnId);const r=a.toString();return Kt(`${et}/minds/${ut(n)}/history/turns${r?`?${r}`:""}`)}function rs(n){return Kt(`${et}/minds/${ut(n)}/config`)}function Ri(n,e){return Za(`${et}/minds/${ut(n)}/config`,e)}function Er(n){return Kt(`${et}/minds/${ut(n)}/env`)}function Ii(n,e,a){return Za(`${et}/minds/${ut(n)}/env/${ut(e)}`,{value:a})}function Nd(n,e){return ya(`${et}/minds/${ut(n)}/env/${ut(e)}`)}function Pd(n){return ya(`${et}/env/${ut(n)}`)}function Ld(){return Kt(`${et}/channels`)}function Od(n){return Yt(`${et}/channels`,{name:n})}function Dd(n){return Yt(`${et}/channels/${ut(n)}/join`)}function zd(n){return Yt(`${et}/channels/${ut(n)}/leave`)}function Fd(n,e){return Yt(`${et}/channels/${ut(n)}/invite`,{username:e})}function zr(){return Kt(`${et}/skills`)}function Ud(n){return Kt(`${et}/minds/${ut(n)}/skills`)}function Bd(n,e){return Yt(`${et}/minds/${ut(n)}/skills/install`,{skillId:e})}function Hd(n,e){return Yt(`${et}/minds/${ut(n)}/skills/update`,{skillId:e})}function qd(n,e){return Yt(`${et}/minds/${ut(n)}/skills/publish`,{skillId:e})}function Wd(n,e){return ya(`${et}/minds/${ut(n)}/skills/${ut(e)}`)}function Gd(n){return ya(`${et}/skills/${ut(n)}`)}function Vd(){return Kt(`${et}/skills/defaults/list`).then(n=>n.skills)}function Yd(n){return Yt(`${et}/skills/defaults/list`,{skill:n}).then(e=>e.skills)}async function Zd(n){const e=await fetch(`${et}/skills/defaults/list/${ut(n)}`,{method:"DELETE"});if(!e.ok){const r=await e.json().catch(()=>({}));throw new Error(r.error||`Request failed: ${e.status}`)}return(await e.json()).skills}function Xl(){return Kt(`${et}/prompts`)}function Kd(n,e){return Za(`${et}/prompts/${ut(n)}`,{content:e})}function Jd(n){return ya(`${et}/prompts/${ut(n)}`)}function Xd(){return Yt(`${et}/system/restart`)}async function Ql(){try{return await Kt(`${et}/system/info`)}catch{return{system:null}}}function Qd(n){return Yt(`${et}/system/register`,{name:n})}function $d(n){return Yt(`${et}/system/login`,{key:n})}function ev(){return Yt(`${et}/system/logout`)}function $l(){return Kt(`${et}/system/ai/providers`)}function Qs(){return Kt(`${et}/system/ai/models`)}function eo(n,e){return Za(`${et}/system/ai/providers/${ut(n)}`,{apiKey:e})}function to(n){return ya(`${et}/system/ai/providers/${ut(n)}`)}function no(n){return Yt(`${et}/system/ai/oauth/start`,{provider:n})}function ao(n){return Kt(`${et}/system/ai/oauth/status/${ut(n)}`)}function ro(n,e){return Yt(`${et}/system/ai/oauth/code/${ut(n)}`,{code:e})}function Fr(n){return Za(`${et}/system/ai/models`,{models:n})}function tv(n){return Kt("/api/auth/users")}async function nv(n){const e=new FormData;e.append("file",n);const a=await fetch(`${et}/skills/upload`,{method:"POST",body:e});if(!a.ok){const r=await a.json().catch(()=>({}));throw new Error(r.error||"Failed to upload skill")}return a.json()}function av(n){return Kt(`${et}/minds/${ut(n)}/clock/status`)}function ut(n){return encodeURIComponent(n)}var rv=h('<div class="modal-header svelte-b3ltw6"><span class="title svelte-b3ltw6"> </span> <div class="header-right svelte-b3ltw6"><!> <button class="close-btn svelte-b3ltw6">&#x2715;</button></div></div>'),sv=h('<div class="modal-overlay svelte-b3ltw6" role="button" tabindex="-1"><div role="dialog" tabindex="-1"><!> <!></div></div>');function na(n,e){ft(e,!0);let a=Ht(e,"size",3,"full"),r=K(()=>a()==="full");function s(_){_.key==="Escape"&&!_.defaultPrevented&&(_.preventDefault(),e.onClose())}var l=sv();Ut("keydown",hr,s);var c=o(l);let v,d;var m=o(c);{var p=_=>{var g=rv(),y=o(g),k=o(y),w=f(y,2),N=o(w);{var E=S=>{var C=Rt(),q=Ae(C);ks(q,()=>e.headerActions),u(S,C)};A(N,S=>{e.headerActions&&S(E)})}var x=f(N,2);j(()=>T(k,e.title??"")),U("click",x,function(...S){e.onClose?.apply(this,S)}),u(_,g)};A(m,_=>{(e.title||e.headerActions)&&_(p)})}var b=f(m,2);ks(b,()=>e.children),j(()=>{v=Ze(c,1,"modal svelte-b3ltw6",null,v,{full:t(r)}),d=Ct(c,"",d,{width:t(r)?void 0:a()})}),U("click",l,function(..._){e.onClose?.apply(this,_)}),U("keydown",l,_=>{(_.key==="Enter"||_.key===" ")&&e.onClose()}),U("click",c,_=>_.stopPropagation()),U("keydown",c,_=>_.stopPropagation()),u(n,l),ht()}At(["click","keydown"]);var iv=h('<div class="error svelte-16qbe83"> </div>'),lv=h('<div class="empty svelte-16qbe83">Loading...</div>'),ov=h('<div class="empty svelte-16qbe83">No channels yet. Create one below.</div>'),cv=h('<div class="channel-row svelte-16qbe83"><div class="channel-info svelte-16qbe83"><span class="channel-name svelte-16qbe83"> </span> <span class="channel-meta svelte-16qbe83"> </span></div> <button> </button></div>'),dv=h('<!> <div class="channel-list svelte-16qbe83"><!></div> <div class="create-section svelte-16qbe83"><input type="text" placeholder="new-channel-name" class="name-input svelte-16qbe83"/> <button class="create-btn svelte-16qbe83">Create</button></div>',1);function vv(n,e){ft(e,!0);let a=I(rt([])),r=I(""),s=I(""),l=I(!0),c=I(null);function v(){i(l,!0),Ld().then(_=>{i(a,_,!0),i(s,"")}).catch(_=>{i(s,_ instanceof Error?_.message:"Failed to load channels",!0)}).finally(()=>{i(l,!1)})}Zn(()=>{v()});async function d(){const _=t(r).trim().toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");if(_)try{const g=await Od(_);i(r,""),v(),e.onJoined(g)}catch(g){i(s,g instanceof Error?g.message:"Failed to create channel",!0)}}async function m(_){if(_.name){i(c,_.name,!0);try{await Dd(_.name),e.onJoined(_)}catch(g){i(s,g instanceof Error?g.message:"Failed to join channel",!0)}finally{i(c,null)}}}async function p(_){if(_.name)try{await zd(_.name),v()}catch(g){i(s,g instanceof Error?g.message:"Failed to leave channel",!0)}}function b(_){_.key==="Escape"&&e.onClose(),_.key==="Enter"&&d()}na(n,{size:"380px",title:"Browse channels",get onClose(){return e.onClose},children:(_,g)=>{var y=dv(),k=Ae(y);{var w=R=>{var M=iv(),V=o(M);j(()=>T(V,t(s))),u(R,M)};A(k,R=>{t(s)&&R(w)})}var N=f(k,2),E=o(N);{var x=R=>{var M=lv();u(R,M)},S=R=>{var M=ov();u(R,M)},C=R=>{var M=Rt(),V=Ae(M);We(V,17,()=>t(a),G=>G.id,(G,Y)=>{var B=cv(),P=o(B),z=o(P),J=o(z),ie=f(z,2),ue=o(ie),_e=f(P,2);let Se;var fe=o(_e);j(()=>{T(J,`#${t(Y).name??""}`),T(ue,`${t(Y).participantCount??""} member${t(Y).participantCount===1?"":"s"}`),Se=Ze(_e,1,"action-btn svelte-16qbe83",null,Se,{leave:t(Y).isMember}),_e.disabled=t(c)===t(Y).name,T(fe,t(c)===t(Y).name?"...":t(Y).isMember?"leave":"join")}),U("click",_e,()=>t(Y).isMember?p(t(Y)):m(t(Y))),u(G,B)}),u(R,M)};A(E,R=>{t(l)?R(x):t(a).length===0?R(S,1):R(C,-1)})}var q=f(N,2),O=o(q),H=f(O,2);j(R=>H.disabled=R,[()=>!t(r).trim()]),U("keydown",O,b),mt(O,()=>t(r),R=>i(r,R)),U("click",H,d),u(_,y)},$$slots:{default:!0}}),ht()}At(["click","keydown"]);function yr(n){const e=$s(n);return e==="running"||e==="active"?"var(--text-0)":e==="starting"?"var(--yellow)":"var(--text-2)"}function xa(n){return n.endsWith("Z")?n:`${n}Z`}function $s(n){return n.status!=="running"?n.status:n.lastActiveAt&&Date.now()-new Date(xa(n.lastActiveAt)).getTime()<5*6e4?"active":"running"}function ei(n){const e=Date.now(),a=new Date(xa(n)).getTime(),r=e-a,s=Math.floor(r/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const l=Math.floor(s/60);return l<24?`${l}h ago`:`${Math.floor(l/24)}d ago`}function Ni(n,e,a,r){if(r?.type==="channel"&&r.name)return`#${r.name}`;if(n.length===2){const l=n.find(c=>c.username!==a);if(l)return`@${l.username}`}if(e)return e;const s=n.filter(l=>l.userType==="mind");return s.length>0?s.map(l=>l.username).join(", "):"Untitled"}var uv=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],fv=["difference","intersection","symmetricDifference","union"],Pi=!1;class Wn extends Set{#t=new Map;#n=I(0);#e=I(0);#s=Ln||-1;constructor(e){if(super(),e){for(var a of e)super.add(a);this.#e.v=super.size}Pi||this.#a()}#r(e){return Ln===this.#s?I(e):ra(e)}#a(){Pi=!0;var e=Wn.prototype,a=Set.prototype;for(const r of uv)e[r]=function(...s){return t(this.#n),a[r].apply(this,s)};for(const r of fv)e[r]=function(...s){t(this.#n);var l=a[r].apply(this,s);return new Wn(l)}}has(e){var a=super.has(e),r=this.#t,s=r.get(e);if(s===void 0){if(!a)return t(this.#n),!1;s=this.#r(!0),r.set(e,s)}return t(s),a}add(e){return super.has(e)||(super.add(e),i(this.#e,super.size),bn(this.#n)),this}delete(e){var a=super.delete(e),r=this.#t,s=r.get(e);return s!==void 0&&(r.delete(e),i(s,!1)),a&&(i(this.#e,super.size),bn(this.#n)),a}clear(){if(super.size!==0){super.clear();var e=this.#t;for(var a of e.values())i(a,!1);e.clear(),i(this.#e,0),bn(this.#n)}}keys(){return this.values()}values(){return t(this.#n),super.values()}entries(){return t(this.#n),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return t(this.#e)}}class Ts extends Map{#t=new Map;#n=I(0);#e=I(0);#s=Ln||-1;constructor(e){if(super(),e){for(var[a,r]of e)super.set(a,r);this.#e.v=super.size}}#r(e){return Ln===this.#s?I(e):ra(e)}has(e){var a=this.#t,r=a.get(e);if(r===void 0)if(super.has(e))r=this.#r(0),a.set(e,r);else return t(this.#n),!1;return t(r),!0}forEach(e,a){this.#a(),super.forEach(e,a)}get(e){var a=this.#t,r=a.get(e);if(r===void 0)if(super.has(e))r=this.#r(0),a.set(e,r);else{t(this.#n);return}return t(r),super.get(e)}set(e,a){var r=this.#t,s=r.get(e),l=super.get(e),c=super.set(e,a),v=this.#n;if(s===void 0)s=this.#r(0),r.set(e,s),i(this.#e,super.size),bn(v);else if(l!==a){bn(s);var d=v.reactions===null?null:new Set(v.reactions),m=d===null||!s.reactions?.every(p=>d.has(p));m&&bn(v)}return c}delete(e){var a=this.#t,r=a.get(e),s=super.delete(e);return r!==void 0&&(a.delete(e),i(r,-1)),s&&(i(this.#e,super.size),bn(this.#n)),s}clear(){if(super.size!==0){super.clear();var e=this.#t;i(this.#e,0);for(var a of e.values())i(a,-1);bn(this.#n),e.clear()}}#a(){t(this.#n);var e=this.#t;if(this.#e.v!==e.size){for(var a of super.keys())if(!e.has(a)){var r=this.#r(0);e.set(a,r)}}for([,r]of this.#t)t(r)}keys(){return t(this.#n),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return t(this.#e),super.size}}async function hv(n){const e=await fetch(n);if(!e.ok){const a=await e.json().catch(()=>({}));throw new Error(a.error||`Request failed: ${e.status}`)}return e.json()}async function ti(n,e){const a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e!=null?JSON.stringify(e):void 0});if(!a.ok){const r=await a.json().catch(()=>({}));throw new Error(r.error||`Request failed: ${a.status}`)}return a.json()}async function Kr(){const n=await fetch("/api/auth/me");return n.ok?n.json():null}function pv(n,e){return ti("/api/auth/login",{username:n,password:e})}function mv(n,e){return ti("/api/auth/register",{username:n,password:e})}async function _v(){await fetch("/api/auth/logout",{method:"POST"})}function gv(){return hv("/api/auth/users")}function bv(n,e){return ti("/api/auth/change-password",{currentPassword:n,newPassword:e})}async function yv(n){if(!(await fetch(`/api/auth/users/${n}/approve`,{method:"POST"})).ok)throw new Error("Failed to approve user")}async function wv(n,e){const a=await fetch(`/api/auth/users/${n}/role`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:e})});if(!a.ok){const r=await a.json().catch(()=>({}));throw new Error(r.error||"Failed to change role")}}async function kv(n,e){const a=await fetch(`/api/auth/users/${n}/profile`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!a.ok){const r=await a.json().catch(()=>({}));throw new Error(r.error||"Failed to update profile")}}async function Li(n){const e=await fetch(`/api/auth/users/${n}`,{method:"DELETE"});if(!e.ok){const a=await e.json().catch(()=>({}));throw new Error(a.error||"Failed to delete user")}}async function xv(n){const e=await fetch("/api/auth/profile",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const a=await e.json().catch(()=>({}));throw new Error(a.error||"Failed to update profile")}}async function Sv(n){const e=new FormData;e.append("file",n);const a=await fetch("/api/auth/avatar",{method:"POST",body:e});if(!a.ok){const s=await a.json().catch(()=>({}));throw new Error(s.error||"Failed to upload avatar")}return(await a.json()).avatar}async function Ev(){const n=await fetch("/api/auth/avatar",{method:"DELETE"});if(!n.ok){const e=await n.json().catch(()=>({}));throw new Error(e.error||"Failed to delete avatar")}}let Da=null,Fa=null,Sa=null,Ir="",ur=1e3;const Tv=3e4,Av=3e4,As=new Set,ni=rt({connected:!1});function so(n){return As.add(n),()=>As.delete(n)}function Cv(n){for(const e of As)try{e(n)}catch(a){console.error("[connection] handler threw:",a)}}function Mv(n){const e=[];let a,r=[];for(const s of n.split(`
3
- `))s.startsWith("id:")?a=s.slice(3).trim():s.startsWith("data:")?r.push(s.slice(5).trimStart()):s===""&&(r.length>0&&e.push({id:a,data:r.join(`
4
- `)}),a=void 0,r=[]);return e}function Cs(){Sa&&(clearTimeout(Sa),Sa=null)}function io(){Da?.abort(),Da=new AbortController;const n=Da.signal,e=Ir?`/api/v1/events?since=${encodeURIComponent(Ir)}`:"/api/v1/events";fetch(e,{signal:n}).then(async a=>{if(!a.ok||!a.body){Tr();return}ur=1e3,ni.connected=!0;const r=a.body.getReader(),s=new TextDecoder;let l="";function c(){Sa&&clearTimeout(Sa),Sa=setTimeout(()=>{Sa=null,Da?.abort(),Tr()},Av)}for(c();;){const{done:v,value:d}=await r.read();if(v)break;c(),l+=s.decode(d,{stream:!0});const m=l.split(`
5
-
6
- `);l=m.pop()||"";for(const p of m){if(!p.trim())continue;const b=Mv(`${p}
7
-
8
- `);for(const _ of b)if(_.id&&(Ir=_.id),!!_.data)try{const g=JSON.parse(_.data);Cv(g)}catch(g){_.data.trim()&&console.warn("[connection] failed to process SSE event:",_.data.slice(0,200),g)}}}Cs(),n.aborted||Tr()}).catch(a=>{Cs(),!(a instanceof DOMException&&a.name==="AbortError")&&Tr()})}function Tr(){ni.connected=!1,!Fa&&(Fa=setTimeout(()=>{Fa=null,io()},ur),ur=Math.min(ur*2,Tv))}function jv(){lo(),Ir="",ur=1e3,io()}function lo(){Fa&&(clearTimeout(Fa),Fa=null),Cs(),Da?.abort(),Da=null}async function Rv(){const n=await fetch("/api/extensions");return n.ok?n.json():(console.warn(`Failed to fetch extensions: HTTP ${n.status}`),[])}function Iv(){"Notification"in window&&Notification.permission==="default"&&Notification.requestPermission()}function Oi(n,e,a){"Notification"in window&&Notification.permission==="granted"&&new Notification(n,{body:e,icon:"/favicon.ico"})}const kt=rt({user:null,checked:!1,systemName:null,setupComplete:!0,setupChecked:!1,setupProgress:null});async function Nv(){try{const n=await fetch("/api/setup/status");if(n.ok){const e=await n.json();kt.setupComplete=e.complete,e.complete||(kt.setupProgress={hasSystem:e.hasSystem,hasAccount:e.hasAccount})}}catch{kt.setupComplete=!0}kt.setupChecked=!0}async function Pv(){if(await Nv(),!kt.setupComplete&&!kt.setupProgress?.hasAccount){kt.checked=!0;return}try{const n=await Kr();if(kt.user=n,kt.checked=!0,n){const e=await Ql();kt.systemName=e.system}}catch{kt.checked=!0}}async function Lv(){try{await _v()}catch{}kt.user=null}async function oo(n){kt.user=n;try{const e=await Ql();kt.systemName=e.system}catch{}}const dt=rt({minds:[],conversations:[],activity:[],extensions:[],connectionOk:!0});Yc(()=>{Tt(()=>{dt.connectionOk=ni.connected})});const nn=new Wn,Ea=new Wn,ua=new Ts,co=rt({activeConversationId:null});function ss(n){co.activeConversationId=n,n&&(ua.set(n,0),Jl(n).catch(e=>console.warn("[stores] markAsRead failed:",e)))}function Ov(n){if(n.event==="snapshot"){if(dt.conversations=n.conversations??[],dt.activity=n.activity??[],nn.clear(),Array.isArray(n.activeMinds))for(const e of n.activeMinds)nn.add(e);if(Ea.clear(),Array.isArray(n.onlineBrains))for(const e of n.onlineBrains)Ea.add(e);ua.clear();for(const e of dt.conversations)e.unreadCount&&ua.set(e.id,e.unreadCount);Dr().then(e=>{dt.minds=e}).catch(e=>{console.warn("[stores] failed to refresh minds:",e)}),Rv().then(e=>{dt.extensions=e}).catch(e=>{console.warn("[stores] failed to refresh extensions:",e)})}else if(n.event==="activity"){const{event:e,...a}=n;dt.activity=[a,...dt.activity].slice(0,50),a.type==="mind_active"&&nn.add(a.mind),(a.type==="mind_idle"||a.type==="mind_stopped"||a.type==="mind_done"||a.type==="mind_sleeping")&&nn.delete(a.mind),a.type==="brain_online"&&Ea.add(a.mind),a.type==="brain_offline"&&Ea.delete(a.mind),(a.type==="mind_started"||a.type==="mind_stopped"||a.type==="mind_active"||a.type==="mind_idle"||a.type==="mind_sleeping"||a.type==="mind_waking"||a.type==="profile_updated")&&Dr().then(r=>{dt.minds=r}).catch(r=>{console.warn("[stores] failed to refresh minds:",r)})}else if(n.event==="conversation"){const e=dt.conversations.find(a=>a.id===n.conversationId);if(e&&n.type==="message"){let a="";if(Array.isArray(n.content))for(const l of n.content)l.type==="text"&&(a+=l.text);e.lastMessage={role:n.role,senderName:n.senderName,text:a,createdAt:n.createdAt},e.updated_at=n.createdAt;const r=n.senderName===kt.user?.username,s=n.conversationId===co.activeConversationId;if(!r&&!s){const l=ua.get(n.conversationId)??0;ua.set(n.conversationId,l+1);const c=n.senderName??"Someone";if(e.type==="dm")Oi(c,a.slice(0,200));else if(e.type==="channel"){const d=kt.user?.username??"",m=kt.user?.display_name??"",p=_=>_.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");new RegExp(`@(${p(d)}${m?`|${p(m)}`:""})`,"i").test(a)&&Oi(`${c} in #${e.name??e.title??"channel"}`,a.slice(0,200))}}else!r&&s&&Jl(n.conversationId).catch(l=>console.warn("[stores] markAsRead failed:",l));dt.conversations=[...dt.conversations]}}}let Ms=null;function vo(){uo(),Ms=so(Ov),jv()}function uo(){Ms?.(),Ms=null,lo()}function lr(){vo()}function Dv(){try{const n=localStorage.getItem("volute:hidden-chats");return n?new Wn(JSON.parse(n)):new Wn}catch{return new Wn}}const ai=Dv();function zv(){localStorage.setItem("volute:hidden-chats",JSON.stringify([...ai]))}function Fv(n){ai.add(n),zv()}const Ua=rt({sidebarOpen:!1});function Di(){Ua.sidebarOpen=!Ua.sidebarOpen}function da(){Ua.sidebarOpen=!1}function Uv(){try{const n=localStorage.getItem("volute:sidebar-width");return n?Math.max(180,Math.min(400,Number(n))):240}catch{return 240}}const js=rt({width:Uv()});function Bv(){localStorage.setItem("volute:sidebar-width",String(js.width))}function Hv(){try{const n=localStorage.getItem("volute:right-panel-width");return n?Math.max(240,Math.min(600,Number(n))):360}catch{return 360}}const Rs=rt({width:Hv()});function qv(){localStorage.setItem("volute:right-panel-width",String(Rs.width))}var Wv=h('<div class="error svelte-19tj18b"> </div>'),Gv=h('<span class="user-username svelte-19tj18b"> </span>'),Vv=h('<button class="user-row svelte-19tj18b"><span></span> <span class="user-name svelte-19tj18b"> </span> <!></button>'),Yv=h('<div class="empty svelte-19tj18b"> </div>'),Zv=h('<div class="invite-body svelte-19tj18b"><input type="text" placeholder="Search users..." class="search-input svelte-19tj18b"/> <!> <div class="user-list svelte-19tj18b"></div></div>');function Kv(n,e){ft(e,!0);let a=I(""),r=I(""),s=I(!1),l=I(rt([])),c=I(rt(new Set)),v=K(()=>new Map(e.minds.map(g=>[g.name,g]))),d=K(()=>{const g=t(l).filter(k=>!t(c).has(k.username));if(!t(a).trim())return g;const y=t(a).toLowerCase();return g.filter(k=>k.username.toLowerCase().includes(y)||k.display_name?.toLowerCase().includes(y))});async function m(){try{i(l,await tv(),!0)}catch(g){i(r,g instanceof Error?g.message:"Failed to load users",!0)}}m();async function p(g){if(!t(s)){i(s,!0),i(r,"");try{await Fd(e.channelName,g),i(c,new Set([...t(c),g]),!0),i(a,""),lr()}catch(y){i(r,y instanceof Error?y.message:"Failed to invite",!0)}finally{i(s,!1)}}}function b(g){if(g.user_type==="mind"){const y=t(v).get(g.username);return y&&nn.has(y.name)?void 0:y?yr(y):"var(--text-2)"}return Ea.has(g.username)?"var(--text-0)":"var(--text-2)"}function _(g){return g.user_type==="mind"&&nn.has(g.username)}na(n,{size:"380px",get title(){return`Invite to #${e.channelName??""}`},get onClose(){return e.onClose},children:(g,y)=>{var k=Zv(),w=o(k),N=f(w,2);{var E=S=>{var C=Wv(),q=o(C);j(()=>T(q,t(r))),u(S,C)};A(N,S=>{t(r)&&S(E)})}var x=f(N,2);We(x,21,()=>t(d),$t,(S,C)=>{var q=Vv(),O=o(q);let H,R;var M=f(O,2),V=o(M),G=f(M,2);{var Y=B=>{var P=Gv(),z=o(P);j(()=>T(z,`@${t(C).username??""}`)),u(B,P)};A(G,B=>{t(C).display_name&&t(C).display_name!==t(C).username&&B(Y)})}j((B,P)=>{q.disabled=t(s),H=Ze(O,1,"status-dot svelte-19tj18b",null,H,B),R=Ct(O,"",R,P),T(V,t(C).display_name??t(C).username)},[()=>({iridescent:_(t(C))}),()=>({background:_(t(C))?void 0:b(t(C))})]),U("click",q,()=>p(t(C).username)),u(S,q)},S=>{var C=Yv(),q=o(C);j(()=>T(q,t(l).length===0?"Loading...":"No users to invite")),u(S,C)}),mt(w,()=>t(a),S=>i(a,S)),u(g,k)},$$slots:{default:!0}}),ht()}At(["click"]);var Jv=h('<img alt="" class="avatar svelte-1sojsey"/>'),Xv=h('<span class="description svelte-1sojsey"> </span>'),Qv=h('<a class="view-profile svelte-1sojsey">View profile</a>'),$v=h('<div class="hover-card svelte-1sojsey"><!> <div class="info svelte-1sojsey"><span class="name-row svelte-1sojsey"><span class="display-name svelte-1sojsey"> </span> <span class="type-label svelte-1sojsey"> </span></span> <!> <span class="meta svelte-1sojsey"> <!></span> <!></div></div>'),eu=h('<span class="hover-wrapper svelte-1sojsey"><!></span> <!>',1);function Ur(n,e){ft(e,!0);let a=I(!1),r=I(""),s,l,c=I(void 0);function v(k){try{return new Date(k.endsWith("Z")?k:`${k}Z`).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}function d(){s=setTimeout(()=>{const k=l.getBoundingClientRect();i(r,"left:0;top:0;visibility:hidden"),i(a,!0),requestAnimationFrame(()=>{if(!t(c))return;const w=t(c).getBoundingClientRect(),N=w.left,E=w.top,x=t(c).offsetWidth,S=t(c).offsetHeight;let C=k.top-8-S,q=k.left;C<8&&(C=k.bottom+8),q+x>window.innerWidth-8&&(q=window.innerWidth-8-x),i(r,`left:${q-N}px;top:${C-E}px`)})},300)}function m(){clearTimeout(s),i(a,!1)}var p=eu(),b=Ae(p),_=o(b);ks(_,()=>e.children),pn(b,k=>l=k,()=>l);var g=f(b,2);{var y=k=>{var w=$v(),N=o(w);{var E=J=>{var ie=Jv();j(()=>_t(ie,"src",e.profile.avatarUrl)),u(J,ie)};A(N,J=>{e.profile.avatarUrl&&J(E)})}var x=f(N,2),S=o(x),C=o(S),q=o(C),O=f(C,2),H=o(O),R=f(S,2);{var M=J=>{var ie=Xv(),ue=o(ie);j(()=>T(ue,e.profile.description)),u(J,ie)};A(R,J=>{e.profile.description&&J(M)})}var V=f(R,2),G=o(V),Y=f(G);{var B=J=>{var ie=sa();j(ue=>T(ie,`· since ${ue??""}`),[()=>v(e.profile.created)]),u(J,ie)};A(Y,J=>{e.profile.created&&J(B)})}var P=f(V,2);{var z=J=>{var ie=Qv();j(()=>_t(ie,"href",`/minds/${e.profile.name??""}`)),u(J,ie)};A(P,J=>{e.profile.userType==="mind"&&J(z)})}pn(w,J=>i(c,J),()=>t(c)),j(()=>{Ct(w,t(r)),T(q,e.profile.displayName??e.profile.name),T(H,e.profile.userType),T(G,`@${e.profile.name??""}`)}),u(k,w)};A(g,k=>{t(a)&&k(y)})}Ut("mouseenter",b,d),Ut("mouseleave",b,m),u(n,p),ht()}var tu=h('<button class="header-action-btn svelte-488b49" title="Invite"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-488b49"><path d="M8 3v10M3 8h10" class="svelte-488b49"></path></svg></button>'),nu=h('<button class="header-action-btn svelte-488b49" title="Close"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-488b49"><path d="M4 4l8 8M12 4l-8 8" class="svelte-488b49"></path></svg></button>'),au=h('<button class="member-row clickable svelte-488b49"><span></span> <span class="member-name svelte-488b49"> </span> <svg class="type-icon svelte-488b49" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="8" width="16" height="12" rx="2" class="svelte-488b49"></rect><circle cx="9" cy="14" r="1.5" class="svelte-488b49"></circle><circle cx="15" cy="14" r="1.5" class="svelte-488b49"></circle><line x1="12" y1="4" x2="12" y2="8" class="svelte-488b49"></line><circle cx="12" cy="3" r="1" class="svelte-488b49"></circle></svg></button>'),ru=h('<div class="member-row svelte-488b49"><span class="status-dot svelte-488b49"></span> <span class="member-name svelte-488b49"> </span> <svg class="type-icon svelte-488b49" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="8" width="16" height="12" rx="2" class="svelte-488b49"></rect><circle cx="9" cy="14" r="1.5" class="svelte-488b49"></circle><circle cx="15" cy="14" r="1.5" class="svelte-488b49"></circle><line x1="12" y1="4" x2="12" y2="8" class="svelte-488b49"></line><circle cx="12" cy="3" r="1" class="svelte-488b49"></circle></svg></div>'),su=h('<div class="member-row svelte-488b49"><span></span> <span class="member-name svelte-488b49"> </span> <svg class="type-icon svelte-488b49" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9" class="svelte-488b49"></circle><circle cx="9" cy="11" r="1.5" class="svelte-488b49"></circle><circle cx="15" cy="11" r="1.5" class="svelte-488b49"></circle><line x1="10" y1="16" x2="14" y2="16" class="svelte-488b49"></line></svg></div>'),iu=h('<div class="members-panel svelte-488b49"><div class="panel-header svelte-488b49"><span class="panel-title svelte-488b49">Members</span> <span class="member-count svelte-488b49"> </span> <div class="header-actions svelte-488b49"><!> <!></div></div> <div class="panel-body svelte-488b49"><!> <!></div></div> <!>',1);function lu(n,e){ft(e,!0);let a=Ht(e,"typingNames",19,()=>[]),r=K(()=>new Map(e.minds.map(M=>[M.name,M]))),s=K(()=>new Set(a())),l=K(()=>e.conversation.participants.filter(M=>M.userType==="mind").map(M=>({participant:M,mind:t(r).get(M.username)}))),c=K(()=>e.conversation.participants.filter(M=>M.userType!=="mind")),v=K(()=>e.conversation.type==="channel"&&!!e.conversation.name),d=I(!1);function m(M){if(!t(s).has(M))return Ea.has(M)?"var(--text-0)":"var(--text-2)"}function p(M){return t(s).has(M)}var b=iu(),_=Ae(b),g=o(_),y=f(o(g),2),k=o(y),w=f(y,2),N=o(w);{var E=M=>{var V=tu();U("click",V,()=>i(d,!0)),u(M,V)};A(N,M=>{t(v)&&M(E)})}var x=f(N,2);{var S=M=>{var V=nu();U("click",V,function(...G){e.onClose?.apply(this,G)}),u(M,V)};A(x,M=>{e.onClose&&M(S)})}var C=f(g,2),q=o(C);We(q,17,()=>t(l),$t,(M,V)=>{let G=()=>t(V).participant,Y=()=>t(V).mind;var B=Rt(),P=Ae(B);{var z=ie=>{{const ue=Se=>{var fe=au(),he=o(fe);let Ee,ae;var Z=f(he,2),de=o(Z);j((ne,ge)=>{Ee=Ze(he,1,"status-dot svelte-488b49",null,Ee,ne),ae=Ct(he,"",ae,ge),T(de,G().displayName??G().username)},[()=>({iridescent:nn.has(Y().name)}),()=>({background:nn.has(Y().name)?void 0:yr(Y())})]),U("click",fe,()=>e.onOpenMind(Y())),u(Se,fe)};let _e=K(()=>({name:Y().name,displayName:Y().displayName,description:Y().description,avatarUrl:Y().avatar?`/api/minds/${encodeURIComponent(Y().name)}/avatar`:null,userType:"mind",created:Y().created}));Ur(ie,{get profile(){return t(_e)},children:ue,$$slots:{default:!0}})}},J=ie=>{var ue=ru(),_e=o(ue);Ct(_e,"",{},{background:"var(--text-2)"});var Se=f(_e,2),fe=o(Se);j(()=>T(fe,G().username)),u(ie,ue)};A(P,ie=>{Y()?ie(z):ie(J,-1)})}u(M,B)});var O=f(q,2);We(O,17,()=>t(c),$t,(M,V)=>{{const G=B=>{var P=su(),z=o(P);let J,ie;var ue=f(z,2),_e=o(ue);j((Se,fe)=>{J=Ze(z,1,"status-dot svelte-488b49",null,J,Se),ie=Ct(z,"",ie,fe),T(_e,t(V).displayName??t(V).username)},[()=>({iridescent:p(t(V).username)}),()=>({background:m(t(V).username)})]),u(B,P)};let Y=K(()=>({name:t(V).username,displayName:t(V).displayName,description:t(V).description,avatarUrl:t(V).avatar?`/api/auth/avatars/${encodeURIComponent(t(V).avatar)}`:null,userType:"brain"}));Ur(M,{get profile(){return t(Y)},children:G,$$slots:{default:!0}})}});var H=f(_,2);{var R=M=>{Kv(M,{get channelName(){return e.conversation.name},get minds(){return e.minds},onClose:()=>i(d,!1)})};A(H,M=>{t(d)&&e.conversation.name&&M(R)})}j(()=>T(k,e.conversation.participants.length)),u(n,b),ht()}At(["click"]);var ou=h('<div class="container svelte-zwrylj"><div class="card svelte-zwrylj"><div class="pending-msg svelte-zwrylj"> </div> <button class="link-btn svelte-zwrylj">Back to login</button></div></div>'),cu=h('<div class="error svelte-zwrylj"> </div>'),du=h('<div class="container svelte-zwrylj"><div class="card svelte-zwrylj"><div class="branding svelte-zwrylj"><div class="logo-row svelte-zwrylj"><span class="logo-wrap svelte-zwrylj"><img src="/logo.png" alt="" class="login-spiral svelte-zwrylj"/> <span class="hover-dot svelte-zwrylj"></span></span> <span class="logo svelte-zwrylj">volute</span></div> <div class="subtitle svelte-zwrylj"> </div></div> <form class="svelte-zwrylj"><input type="text" placeholder="username" class="input svelte-zwrylj"/> <input type="password" placeholder="password" class="input mt-8 svelte-zwrylj"/> <!> <button type="submit" class="submit-btn svelte-zwrylj"> </button></form> <div class="toggle svelte-zwrylj"><button class="link-btn svelte-zwrylj"> </button></div></div></div>');function vu(n,e){ft(e,!0);let a=I("login"),r=I(""),s=I(""),l=I(""),c=I(!1),v=I("");async function d(g){if(g.preventDefault(),!(!t(r).trim()||!t(s).trim())){i(l,""),i(c,!0);try{if(t(a)==="login"){const y=await pv(t(r),t(s));y.role==="pending"?i(v,"Your account is pending approval by an admin."):e.onAuth(y)}else{const y=await mv(t(r),t(s));y.role==="admin"?e.onAuth(y):i(v,"Account created. Waiting for admin approval.")}}catch(y){i(l,y instanceof Error?y.message:"Something went wrong",!0)}i(c,!1)}}var m=Rt(),p=Ae(m);{var b=g=>{var y=ou(),k=o(y),w=o(k),N=o(w),E=f(w,2);j(()=>T(N,t(v))),U("click",E,()=>{i(v,""),i(a,"login")}),u(g,y)},_=g=>{var y=du(),k=o(y),w=o(k),N=f(o(w),2),E=o(N),x=f(w,2),S=o(x),C=f(S,2),q=f(C,2);{var O=B=>{var P=cu(),z=o(P);j(()=>T(z,t(l))),u(B,P)};A(q,B=>{t(l)&&B(O)})}var H=f(q,2);let R;var M=o(H),V=f(x,2),G=o(V),Y=o(G);j(B=>{T(E,t(a)==="login"?"Sign in to continue":"Create an account"),H.disabled=B,R=Ct(H,"",R,{opacity:t(c)?.5:1}),T(M,t(c)?"...":t(a)==="login"?"Sign in":"Create account"),T(Y,t(a)==="login"?"Need an account? Register":"Have an account? Sign in")},[()=>t(c)||!t(r).trim()||!t(s).trim()]),Ut("submit",x,d),mt(S,()=>t(r),B=>i(r,B)),mt(C,()=>t(s),B=>i(s,B)),U("click",G,()=>{i(a,t(a)==="login"?"register":"login",!0),i(l,"")}),u(g,y)};A(p,g=>{t(v)?g(b):g(_,-1)})}u(n,m),ht()}At(["click"]);const{entries:fo,setPrototypeOf:zi,isFrozen:uu,getPrototypeOf:fu,getOwnPropertyDescriptor:hu}=Object;let{freeze:vn,seal:Mn,create:Nr}=Object,{apply:Is,construct:Ns}=typeof Reflect<"u"&&Reflect;vn||(vn=function(e){return e});Mn||(Mn=function(e){return e});Is||(Is=function(e,a){for(var r=arguments.length,s=new Array(r>2?r-2:0),l=2;l<r;l++)s[l-2]=arguments[l];return e.apply(a,s)});Ns||(Ns=function(e){for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return new e(...r)});const Ar=un(Array.prototype.forEach),pu=un(Array.prototype.lastIndexOf),Fi=un(Array.prototype.pop),Qa=un(Array.prototype.push),mu=un(Array.prototype.splice),Pr=un(String.prototype.toLowerCase),is=un(String.prototype.toString),ls=un(String.prototype.match),$a=un(String.prototype.replace),_u=un(String.prototype.indexOf),gu=un(String.prototype.trim),gn=un(Object.prototype.hasOwnProperty),on=un(RegExp.prototype.test),er=bu(TypeError);function un(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var a=arguments.length,r=new Array(a>1?a-1:0),s=1;s<a;s++)r[s-1]=arguments[s];return Is(n,e,r)}}function bu(n){return function(){for(var e=arguments.length,a=new Array(e),r=0;r<e;r++)a[r]=arguments[r];return Ns(n,a)}}function pt(n,e){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Pr;zi&&zi(n,null);let r=e.length;for(;r--;){let s=e[r];if(typeof s=="string"){const l=a(s);l!==s&&(uu(e)||(e[r]=l),s=l)}n[s]=!0}return n}function yu(n){for(let e=0;e<n.length;e++)gn(n,e)||(n[e]=null);return n}function Un(n){const e=Nr(null);for(const[a,r]of fo(n))gn(n,a)&&(Array.isArray(r)?e[a]=yu(r):r&&typeof r=="object"&&r.constructor===Object?e[a]=Un(r):e[a]=r);return e}function tr(n,e){for(;n!==null;){const r=hu(n,e);if(r){if(r.get)return un(r.get);if(typeof r.value=="function")return un(r.value)}n=fu(n)}function a(){return null}return a}const Ui=vn(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),os=vn(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),cs=vn(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),wu=vn(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),ds=vn(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),ku=vn(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Bi=vn(["#text"]),Hi=vn(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),vs=vn(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),qi=vn(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Cr=vn(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),xu=Mn(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Su=Mn(/<%[\w\W]*|[\w\W]*%>/gm),Eu=Mn(/\$\{[\w\W]*/gm),Tu=Mn(/^data-[\-\w.\u00B7-\uFFFF]+$/),Au=Mn(/^aria-[\-\w]+$/),ho=Mn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Cu=Mn(/^(?:\w+script|data):/i),Mu=Mn(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),po=Mn(/^html$/i),ju=Mn(/^[a-z][.\w]*(-[.\w]+)+$/i);var Wi=Object.freeze({__proto__:null,ARIA_ATTR:Au,ATTR_WHITESPACE:Mu,CUSTOM_ELEMENT:ju,DATA_ATTR:Tu,DOCTYPE_NAME:po,ERB_EXPR:Su,IS_ALLOWED_URI:ho,IS_SCRIPT_OR_DATA:Cu,MUSTACHE_EXPR:xu,TMPLIT_EXPR:Eu});const nr={element:1,text:3,progressingInstruction:7,comment:8,document:9},Ru=function(){return typeof window>"u"?null:window},Iu=function(e,a){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const s="data-tt-policy-suffix";a&&a.hasAttribute(s)&&(r=a.getAttribute(s));const l="dompurify"+(r?"#"+r:"");try{return e.createPolicy(l,{createHTML(c){return c},createScriptURL(c){return c}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},Gi=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function mo(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ru();const e=Ne=>mo(Ne);if(e.version="3.3.3",e.removed=[],!n||!n.document||n.document.nodeType!==nr.document||!n.Element)return e.isSupported=!1,e;let{document:a}=n;const r=a,s=r.currentScript,{DocumentFragment:l,HTMLTemplateElement:c,Node:v,Element:d,NodeFilter:m,NamedNodeMap:p=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:b,DOMParser:_,trustedTypes:g}=n,y=d.prototype,k=tr(y,"cloneNode"),w=tr(y,"remove"),N=tr(y,"nextSibling"),E=tr(y,"childNodes"),x=tr(y,"parentNode");if(typeof c=="function"){const Ne=a.createElement("template");Ne.content&&Ne.content.ownerDocument&&(a=Ne.content.ownerDocument)}let S,C="";const{implementation:q,createNodeIterator:O,createDocumentFragment:H,getElementsByTagName:R}=a,{importNode:M}=r;let V=Gi();e.isSupported=typeof fo=="function"&&typeof x=="function"&&q&&q.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:G,ERB_EXPR:Y,TMPLIT_EXPR:B,DATA_ATTR:P,ARIA_ATTR:z,IS_SCRIPT_OR_DATA:J,ATTR_WHITESPACE:ie,CUSTOM_ELEMENT:ue}=Wi;let{IS_ALLOWED_URI:_e}=Wi,Se=null;const fe=pt({},[...Ui,...os,...cs,...ds,...Bi]);let he=null;const Ee=pt({},[...Hi,...vs,...qi,...Cr]);let ae=Object.seal(Nr(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Z=null,de=null;const ne=Object.seal(Nr(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ge=!0,re=!0,F=!1,Q=!0,le=!1,$=!0,ee=!1,W=!1,ye=!1,me=!1,Ce=!1,Ie=!1,ke=!0,we=!1;const Pe="user-content-";let Me=!0,De=!1,X={},te=null;const D=pt({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let oe=null;const pe=pt({},["audio","video","img","source","image","track"]);let ve=null;const Re=pt({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Oe="http://www.w3.org/1998/Math/MathML",Xe="http://www.w3.org/2000/svg",Be="http://www.w3.org/1999/xhtml";let He=Be,je=!1,ze=null;const ot=pt({},[Oe,Xe,Be],is);let vt=pt({},["mi","mo","mn","ms","mtext"]),it=pt({},["annotation-xml"]);const Fe=pt({},["title","style","font","a","script"]);let Je=null;const Qe=["application/xhtml+xml","text/html"],tt="text/html";let at=null,xt=null;const qt=a.createElement("form"),Dt=function(L){return L instanceof RegExp||L instanceof Function},Wt=function(){let L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(xt&&xt===L)){if((!L||typeof L!="object")&&(L={}),L=Un(L),Je=Qe.indexOf(L.PARSER_MEDIA_TYPE)===-1?tt:L.PARSER_MEDIA_TYPE,at=Je==="application/xhtml+xml"?is:Pr,Se=gn(L,"ALLOWED_TAGS")?pt({},L.ALLOWED_TAGS,at):fe,he=gn(L,"ALLOWED_ATTR")?pt({},L.ALLOWED_ATTR,at):Ee,ze=gn(L,"ALLOWED_NAMESPACES")?pt({},L.ALLOWED_NAMESPACES,is):ot,ve=gn(L,"ADD_URI_SAFE_ATTR")?pt(Un(Re),L.ADD_URI_SAFE_ATTR,at):Re,oe=gn(L,"ADD_DATA_URI_TAGS")?pt(Un(pe),L.ADD_DATA_URI_TAGS,at):pe,te=gn(L,"FORBID_CONTENTS")?pt({},L.FORBID_CONTENTS,at):D,Z=gn(L,"FORBID_TAGS")?pt({},L.FORBID_TAGS,at):Un({}),de=gn(L,"FORBID_ATTR")?pt({},L.FORBID_ATTR,at):Un({}),X=gn(L,"USE_PROFILES")?L.USE_PROFILES:!1,ge=L.ALLOW_ARIA_ATTR!==!1,re=L.ALLOW_DATA_ATTR!==!1,F=L.ALLOW_UNKNOWN_PROTOCOLS||!1,Q=L.ALLOW_SELF_CLOSE_IN_ATTR!==!1,le=L.SAFE_FOR_TEMPLATES||!1,$=L.SAFE_FOR_XML!==!1,ee=L.WHOLE_DOCUMENT||!1,me=L.RETURN_DOM||!1,Ce=L.RETURN_DOM_FRAGMENT||!1,Ie=L.RETURN_TRUSTED_TYPE||!1,ye=L.FORCE_BODY||!1,ke=L.SANITIZE_DOM!==!1,we=L.SANITIZE_NAMED_PROPS||!1,Me=L.KEEP_CONTENT!==!1,De=L.IN_PLACE||!1,_e=L.ALLOWED_URI_REGEXP||ho,He=L.NAMESPACE||Be,vt=L.MATHML_TEXT_INTEGRATION_POINTS||vt,it=L.HTML_INTEGRATION_POINTS||it,ae=L.CUSTOM_ELEMENT_HANDLING||{},L.CUSTOM_ELEMENT_HANDLING&&Dt(L.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ae.tagNameCheck=L.CUSTOM_ELEMENT_HANDLING.tagNameCheck),L.CUSTOM_ELEMENT_HANDLING&&Dt(L.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ae.attributeNameCheck=L.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),L.CUSTOM_ELEMENT_HANDLING&&typeof L.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ae.allowCustomizedBuiltInElements=L.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),le&&(re=!1),Ce&&(me=!0),X&&(Se=pt({},Bi),he=Nr(null),X.html===!0&&(pt(Se,Ui),pt(he,Hi)),X.svg===!0&&(pt(Se,os),pt(he,vs),pt(he,Cr)),X.svgFilters===!0&&(pt(Se,cs),pt(he,vs),pt(he,Cr)),X.mathMl===!0&&(pt(Se,ds),pt(he,qi),pt(he,Cr))),gn(L,"ADD_TAGS")||(ne.tagCheck=null),gn(L,"ADD_ATTR")||(ne.attributeCheck=null),L.ADD_TAGS&&(typeof L.ADD_TAGS=="function"?ne.tagCheck=L.ADD_TAGS:(Se===fe&&(Se=Un(Se)),pt(Se,L.ADD_TAGS,at))),L.ADD_ATTR&&(typeof L.ADD_ATTR=="function"?ne.attributeCheck=L.ADD_ATTR:(he===Ee&&(he=Un(he)),pt(he,L.ADD_ATTR,at))),L.ADD_URI_SAFE_ATTR&&pt(ve,L.ADD_URI_SAFE_ATTR,at),L.FORBID_CONTENTS&&(te===D&&(te=Un(te)),pt(te,L.FORBID_CONTENTS,at)),L.ADD_FORBID_CONTENTS&&(te===D&&(te=Un(te)),pt(te,L.ADD_FORBID_CONTENTS,at)),Me&&(Se["#text"]=!0),ee&&pt(Se,["html","head","body"]),Se.table&&(pt(Se,["tbody"]),delete Z.tbody),L.TRUSTED_TYPES_POLICY){if(typeof L.TRUSTED_TYPES_POLICY.createHTML!="function")throw er('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof L.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw er('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');S=L.TRUSTED_TYPES_POLICY,C=S.createHTML("")}else S===void 0&&(S=Iu(g,s)),S!==null&&typeof C=="string"&&(C=S.createHTML(""));vn&&vn(L),xt=L}},jt=pt({},[...os,...cs,...wu]),It=pt({},[...ds,...ku]),Gt=function(L){let ce=x(L);(!ce||!ce.tagName)&&(ce={namespaceURI:He,tagName:"template"});const Te=Pr(L.tagName),qe=Pr(ce.tagName);return ze[L.namespaceURI]?L.namespaceURI===Xe?ce.namespaceURI===Be?Te==="svg":ce.namespaceURI===Oe?Te==="svg"&&(qe==="annotation-xml"||vt[qe]):!!jt[Te]:L.namespaceURI===Oe?ce.namespaceURI===Be?Te==="math":ce.namespaceURI===Xe?Te==="math"&&it[qe]:!!It[Te]:L.namespaceURI===Be?ce.namespaceURI===Xe&&!it[qe]||ce.namespaceURI===Oe&&!vt[qe]?!1:!It[Te]&&(Fe[Te]||!jt[Te]):!!(Je==="application/xhtml+xml"&&ze[L.namespaceURI]):!1},Nt=function(L){Qa(e.removed,{element:L});try{x(L).removeChild(L)}catch{w(L)}},St=function(L,ce){try{Qa(e.removed,{attribute:ce.getAttributeNode(L),from:ce})}catch{Qa(e.removed,{attribute:null,from:ce})}if(ce.removeAttribute(L),L==="is")if(me||Ce)try{Nt(ce)}catch{}else try{ce.setAttribute(L,"")}catch{}},tn=function(L){let ce=null,Te=null;if(ye)L="<remove></remove>"+L;else{const Ue=ls(L,/^[\r\n\t ]+/);Te=Ue&&Ue[0]}Je==="application/xhtml+xml"&&He===Be&&(L='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+L+"</body></html>");const qe=S?S.createHTML(L):L;if(He===Be)try{ce=new _().parseFromString(qe,Je)}catch{}if(!ce||!ce.documentElement){ce=q.createDocument(He,"template",null);try{ce.documentElement.innerHTML=je?C:qe}catch{}}const xe=ce.body||ce.documentElement;return L&&Te&&xe.insertBefore(a.createTextNode(Te),xe.childNodes[0]||null),He===Be?R.call(ce,ee?"html":"body")[0]:ee?ce.documentElement:xe},fn=function(L){return O.call(L.ownerDocument||L,L,m.SHOW_ELEMENT|m.SHOW_COMMENT|m.SHOW_TEXT|m.SHOW_PROCESSING_INSTRUCTION|m.SHOW_CDATA_SECTION,null)},an=function(L){return L instanceof b&&(typeof L.nodeName!="string"||typeof L.textContent!="string"||typeof L.removeChild!="function"||!(L.attributes instanceof p)||typeof L.removeAttribute!="function"||typeof L.setAttribute!="function"||typeof L.namespaceURI!="string"||typeof L.insertBefore!="function"||typeof L.hasChildNodes!="function")},la=function(L){return typeof v=="function"&&L instanceof v};function rn(Ne,L,ce){Ar(Ne,Te=>{Te.call(e,L,ce,xt)})}const se=function(L){let ce=null;if(rn(V.beforeSanitizeElements,L,null),an(L))return Nt(L),!0;const Te=at(L.nodeName);if(rn(V.uponSanitizeElement,L,{tagName:Te,allowedTags:Se}),$&&L.hasChildNodes()&&!la(L.firstElementChild)&&on(/<[/\w!]/g,L.innerHTML)&&on(/<[/\w!]/g,L.textContent)||L.nodeType===nr.progressingInstruction||$&&L.nodeType===nr.comment&&on(/<[/\w]/g,L.data))return Nt(L),!0;if(!(ne.tagCheck instanceof Function&&ne.tagCheck(Te))&&(!Se[Te]||Z[Te])){if(!Z[Te]&&Le(Te)&&(ae.tagNameCheck instanceof RegExp&&on(ae.tagNameCheck,Te)||ae.tagNameCheck instanceof Function&&ae.tagNameCheck(Te)))return!1;if(Me&&!te[Te]){const qe=x(L)||L.parentNode,xe=E(L)||L.childNodes;if(xe&&qe){const Ue=xe.length;for(let st=Ue-1;st>=0;--st){const Ke=k(xe[st],!0);Ke.__removalCount=(L.__removalCount||0)+1,qe.insertBefore(Ke,N(L))}}}return Nt(L),!0}return L instanceof d&&!Gt(L)||(Te==="noscript"||Te==="noembed"||Te==="noframes")&&on(/<\/no(script|embed|frames)/i,L.innerHTML)?(Nt(L),!0):(le&&L.nodeType===nr.text&&(ce=L.textContent,Ar([G,Y,B],qe=>{ce=$a(ce,qe," ")}),L.textContent!==ce&&(Qa(e.removed,{element:L.cloneNode()}),L.textContent=ce)),rn(V.afterSanitizeElements,L,null),!1)},be=function(L,ce,Te){if(de[ce]||ke&&(ce==="id"||ce==="name")&&(Te in a||Te in qt))return!1;if(!(re&&!de[ce]&&on(P,ce))){if(!(ge&&on(z,ce))){if(!(ne.attributeCheck instanceof Function&&ne.attributeCheck(ce,L))){if(!he[ce]||de[ce]){if(!(Le(L)&&(ae.tagNameCheck instanceof RegExp&&on(ae.tagNameCheck,L)||ae.tagNameCheck instanceof Function&&ae.tagNameCheck(L))&&(ae.attributeNameCheck instanceof RegExp&&on(ae.attributeNameCheck,ce)||ae.attributeNameCheck instanceof Function&&ae.attributeNameCheck(ce,L))||ce==="is"&&ae.allowCustomizedBuiltInElements&&(ae.tagNameCheck instanceof RegExp&&on(ae.tagNameCheck,Te)||ae.tagNameCheck instanceof Function&&ae.tagNameCheck(Te))))return!1}else if(!ve[ce]){if(!on(_e,$a(Te,ie,""))){if(!((ce==="src"||ce==="xlink:href"||ce==="href")&&L!=="script"&&_u(Te,"data:")===0&&oe[L])){if(!(F&&!on(J,$a(Te,ie,"")))){if(Te)return!1}}}}}}}return!0},Le=function(L){return L!=="annotation-xml"&&ls(L,ue)},Pt=function(L){rn(V.beforeSanitizeAttributes,L,null);const{attributes:ce}=L;if(!ce||an(L))return;const Te={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:he,forceKeepAttr:void 0};let qe=ce.length;for(;qe--;){const xe=ce[qe],{name:Ue,namespaceURI:st,value:Ke}=xe,Ge=at(Ue),ct=Ke;let Ve=Ue==="value"?ct:gu(ct);if(Te.attrName=Ge,Te.attrValue=Ve,Te.keepAttr=!0,Te.forceKeepAttr=void 0,rn(V.uponSanitizeAttribute,L,Te),Ve=Te.attrValue,we&&(Ge==="id"||Ge==="name")&&(St(Ue,L),Ve=Pe+Ve),$&&on(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ve)){St(Ue,L);continue}if(Ge==="attributename"&&ls(Ve,"href")){St(Ue,L);continue}if(Te.forceKeepAttr)continue;if(!Te.keepAttr){St(Ue,L);continue}if(!Q&&on(/\/>/i,Ve)){St(Ue,L);continue}le&&Ar([G,Y,B],zt=>{Ve=$a(Ve,zt," ")});const bt=at(L.nodeName);if(!be(bt,Ge,Ve)){St(Ue,L);continue}if(S&&typeof g=="object"&&typeof g.getAttributeType=="function"&&!st)switch(g.getAttributeType(bt,Ge)){case"TrustedHTML":{Ve=S.createHTML(Ve);break}case"TrustedScriptURL":{Ve=S.createScriptURL(Ve);break}}if(Ve!==ct)try{st?L.setAttributeNS(st,Ue,Ve):L.setAttribute(Ue,Ve),an(L)?Nt(L):Fi(e.removed)}catch{St(Ue,L)}}rn(V.afterSanitizeAttributes,L,null)},Lt=function Ne(L){let ce=null;const Te=fn(L);for(rn(V.beforeSanitizeShadowDOM,L,null);ce=Te.nextNode();)rn(V.uponSanitizeShadowNode,ce,null),se(ce),Pt(ce),ce.content instanceof l&&Ne(ce.content);rn(V.afterSanitizeShadowDOM,L,null)};return e.sanitize=function(Ne){let L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ce=null,Te=null,qe=null,xe=null;if(je=!Ne,je&&(Ne="<!-->"),typeof Ne!="string"&&!la(Ne))if(typeof Ne.toString=="function"){if(Ne=Ne.toString(),typeof Ne!="string")throw er("dirty is not a string, aborting")}else throw er("toString is not a function");if(!e.isSupported)return Ne;if(W||Wt(L),e.removed=[],typeof Ne=="string"&&(De=!1),De){if(Ne.nodeName){const Ke=at(Ne.nodeName);if(!Se[Ke]||Z[Ke])throw er("root node is forbidden and cannot be sanitized in-place")}}else if(Ne instanceof v)ce=tn("<!---->"),Te=ce.ownerDocument.importNode(Ne,!0),Te.nodeType===nr.element&&Te.nodeName==="BODY"||Te.nodeName==="HTML"?ce=Te:ce.appendChild(Te);else{if(!me&&!le&&!ee&&Ne.indexOf("<")===-1)return S&&Ie?S.createHTML(Ne):Ne;if(ce=tn(Ne),!ce)return me?null:Ie?C:""}ce&&ye&&Nt(ce.firstChild);const Ue=fn(De?Ne:ce);for(;qe=Ue.nextNode();)se(qe),Pt(qe),qe.content instanceof l&&Lt(qe.content);if(De)return Ne;if(me){if(Ce)for(xe=H.call(ce.ownerDocument);ce.firstChild;)xe.appendChild(ce.firstChild);else xe=ce;return(he.shadowroot||he.shadowrootmode)&&(xe=M.call(r,xe,!0)),xe}let st=ee?ce.outerHTML:ce.innerHTML;return ee&&Se["!doctype"]&&ce.ownerDocument&&ce.ownerDocument.doctype&&ce.ownerDocument.doctype.name&&on(po,ce.ownerDocument.doctype.name)&&(st="<!DOCTYPE "+ce.ownerDocument.doctype.name+`>
9
- `+st),le&&Ar([G,Y,B],Ke=>{st=$a(st,Ke," ")}),S&&Ie?S.createHTML(st):st},e.setConfig=function(){let Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Wt(Ne),W=!0},e.clearConfig=function(){xt=null,W=!1},e.isValidAttribute=function(Ne,L,ce){xt||Wt({});const Te=at(Ne),qe=at(L);return be(Te,qe,ce)},e.addHook=function(Ne,L){typeof L=="function"&&Qa(V[Ne],L)},e.removeHook=function(Ne,L){if(L!==void 0){const ce=pu(V[Ne],L);return ce===-1?void 0:mu(V[Ne],ce,1)[0]}return Fi(V[Ne])},e.removeHooks=function(Ne){V[Ne]=[]},e.removeAllHooks=function(){V=Gi()},e}var Nu=mo();function ri(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Pa=ri();function _o(n){Pa=n}var fr={exec:()=>null};function Mt(n,e=""){let a=typeof n=="string"?n:n.source,r={replace:(s,l)=>{let c=typeof l=="string"?l:l.source;return c=c.replace(cn.caret,"$1"),a=a.replace(s,c),r},getRegex:()=>new RegExp(a,e)};return r}var Pu=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),cn={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i")},Lu=/^(?:[ \t]*(?:\n|$))+/,Ou=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Du=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,wr=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,zu=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,si=/(?:[*+-]|\d{1,9}[.)])/,go=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,bo=Mt(go).replace(/bull/g,si).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Fu=Mt(go).replace(/bull/g,si).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),ii=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Uu=/^[^\n]+/,li=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Bu=Mt(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",li).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Hu=Mt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,si).getRegex(),Jr="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",oi=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,qu=Mt("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",oi).replace("tag",Jr).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),yo=Mt(ii).replace("hr",wr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Jr).getRegex(),Wu=Mt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",yo).getRegex(),ci={blockquote:Wu,code:Ou,def:Bu,fences:Du,heading:zu,hr:wr,html:qu,lheading:bo,list:Hu,newline:Lu,paragraph:yo,table:fr,text:Uu},Vi=Mt("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",wr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Jr).getRegex(),Gu={...ci,lheading:Fu,table:Vi,paragraph:Mt(ii).replace("hr",wr).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Vi).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Jr).getRegex()},Vu={...ci,html:Mt(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",oi).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:fr,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Mt(ii).replace("hr",wr).replace("heading",` *#{1,6} *[^
10
- ]`).replace("lheading",bo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Yu=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Zu=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,wo=/^( {2,}|\\)\n(?!\s*$)/,Ku=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Xr=/[\p{P}\p{S}]/u,di=/[\s\p{P}\p{S}]/u,ko=/[^\s\p{P}\p{S}]/u,Ju=Mt(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,di).getRegex(),xo=/(?!~)[\p{P}\p{S}]/u,Xu=/(?!~)[\s\p{P}\p{S}]/u,Qu=/(?:[^\s\p{P}\p{S}]|~)/u,$u=Mt(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Pu?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),So=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,ef=Mt(So,"u").replace(/punct/g,Xr).getRegex(),tf=Mt(So,"u").replace(/punct/g,xo).getRegex(),Eo="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",nf=Mt(Eo,"gu").replace(/notPunctSpace/g,ko).replace(/punctSpace/g,di).replace(/punct/g,Xr).getRegex(),af=Mt(Eo,"gu").replace(/notPunctSpace/g,Qu).replace(/punctSpace/g,Xu).replace(/punct/g,xo).getRegex(),rf=Mt("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ko).replace(/punctSpace/g,di).replace(/punct/g,Xr).getRegex(),sf=Mt(/\\(punct)/,"gu").replace(/punct/g,Xr).getRegex(),lf=Mt(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),of=Mt(oi).replace("(?:-->|$)","-->").getRegex(),cf=Mt("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",of).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Br=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,df=Mt(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Br).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),To=Mt(/^!?\[(label)\]\[(ref)\]/).replace("label",Br).replace("ref",li).getRegex(),Ao=Mt(/^!?\[(ref)\](?:\[\])?/).replace("ref",li).getRegex(),vf=Mt("reflink|nolink(?!\\()","g").replace("reflink",To).replace("nolink",Ao).getRegex(),Yi=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,vi={_backpedal:fr,anyPunctuation:sf,autolink:lf,blockSkip:$u,br:wo,code:Zu,del:fr,emStrongLDelim:ef,emStrongRDelimAst:nf,emStrongRDelimUnd:rf,escape:Yu,link:df,nolink:Ao,punctuation:Ju,reflink:To,reflinkSearch:vf,tag:cf,text:Ku,url:fr},uf={...vi,link:Mt(/^!?\[(label)\]\((.*?)\)/).replace("label",Br).getRegex(),reflink:Mt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Br).getRegex()},Ps={...vi,emStrongRDelimAst:af,emStrongLDelim:tf,url:Mt(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Yi).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Mt(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Yi).getRegex()},ff={...Ps,br:Mt(wo).replace("{2,}","*").getRegex(),text:Mt(Ps.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Mr={normal:ci,gfm:Gu,pedantic:Vu},ar={normal:vi,gfm:Ps,breaks:ff,pedantic:uf},hf={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Zi=n=>hf[n];function Jn(n,e){if(e){if(cn.escapeTest.test(n))return n.replace(cn.escapeReplace,Zi)}else if(cn.escapeTestNoEncode.test(n))return n.replace(cn.escapeReplaceNoEncode,Zi);return n}function Ki(n){try{n=encodeURI(n).replace(cn.percentDecode,"%")}catch{return null}return n}function Ji(n,e){let a=n.replace(cn.findPipe,(l,c,v)=>{let d=!1,m=c;for(;--m>=0&&v[m]==="\\";)d=!d;return d?"|":" |"}),r=a.split(cn.splitPipe),s=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;s<r.length;s++)r[s]=r[s].trim().replace(cn.slashPipe,"|");return r}function rr(n,e,a){let r=n.length;if(r===0)return"";let s=0;for(;s<r&&n.charAt(r-s-1)===e;)s++;return n.slice(0,r-s)}function pf(n,e){if(n.indexOf(e[1])===-1)return-1;let a=0;for(let r=0;r<n.length;r++)if(n[r]==="\\")r++;else if(n[r]===e[0])a++;else if(n[r]===e[1]&&(a--,a<0))return r;return a>0?-2:-1}function Xi(n,e,a,r,s){let l=e.href,c=e.title||null,v=n[1].replace(s.other.outputLinkReplace,"$1");r.state.inLink=!0;let d={type:n[0].charAt(0)==="!"?"image":"link",raw:a,href:l,title:c,text:v,tokens:r.inlineTokens(v)};return r.state.inLink=!1,d}function mf(n,e,a){let r=n.match(a.other.indentCodeCompensation);if(r===null)return e;let s=r[1];return e.split(`
11
- `).map(l=>{let c=l.match(a.other.beginningSpace);if(c===null)return l;let[v]=c;return v.length>=s.length?l.slice(s.length):l}).join(`
12
- `)}var Hr=class{options;rules;lexer;constructor(n){this.options=n||Pa}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let a=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?a:rr(a,`
13
- `)}}}fences(n){let e=this.rules.block.fences.exec(n);if(e){let a=e[0],r=mf(a,e[3]||"",this.rules);return{type:"code",raw:a,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(n){let e=this.rules.block.heading.exec(n);if(e){let a=e[2].trim();if(this.rules.other.endingHash.test(a)){let r=rr(a,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(a=r.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:a,tokens:this.lexer.inline(a)}}}hr(n){let e=this.rules.block.hr.exec(n);if(e)return{type:"hr",raw:rr(e[0],`
14
- `)}}blockquote(n){let e=this.rules.block.blockquote.exec(n);if(e){let a=rr(e[0],`
15
- `).split(`
16
- `),r="",s="",l=[];for(;a.length>0;){let c=!1,v=[],d;for(d=0;d<a.length;d++)if(this.rules.other.blockquoteStart.test(a[d]))v.push(a[d]),c=!0;else if(!c)v.push(a[d]);else break;a=a.slice(d);let m=v.join(`
17
- `),p=m.replace(this.rules.other.blockquoteSetextReplace,`
18
- $1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
19
- ${m}`:m,s=s?`${s}
20
- ${p}`:p;let b=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(p,l,!0),this.lexer.state.top=b,a.length===0)break;let _=l.at(-1);if(_?.type==="code")break;if(_?.type==="blockquote"){let g=_,y=g.raw+`
21
- `+a.join(`
22
- `),k=this.blockquote(y);l[l.length-1]=k,r=r.substring(0,r.length-g.raw.length)+k.raw,s=s.substring(0,s.length-g.text.length)+k.text;break}else if(_?.type==="list"){let g=_,y=g.raw+`
23
- `+a.join(`
24
- `),k=this.list(y);l[l.length-1]=k,r=r.substring(0,r.length-_.raw.length)+k.raw,s=s.substring(0,s.length-g.raw.length)+k.raw,a=y.substring(l.at(-1).raw.length).split(`
25
- `);continue}}return{type:"blockquote",raw:r,tokens:l,text:s}}}list(n){let e=this.rules.block.list.exec(n);if(e){let a=e[1].trim(),r=a.length>1,s={type:"list",raw:"",ordered:r,start:r?+a.slice(0,-1):"",loose:!1,items:[]};a=r?`\\d{1,9}\\${a.slice(-1)}`:`\\${a}`,this.options.pedantic&&(a=r?a:"[*+-]");let l=this.rules.other.listItemRegex(a),c=!1;for(;n;){let d=!1,m="",p="";if(!(e=l.exec(n))||this.rules.block.hr.test(n))break;m=e[0],n=n.substring(m.length);let b=e[2].split(`
26
- `,1)[0].replace(this.rules.other.listReplaceTabs,k=>" ".repeat(3*k.length)),_=n.split(`
27
- `,1)[0],g=!b.trim(),y=0;if(this.options.pedantic?(y=2,p=b.trimStart()):g?y=e[1].length+1:(y=e[2].search(this.rules.other.nonSpaceChar),y=y>4?1:y,p=b.slice(y),y+=e[1].length),g&&this.rules.other.blankLine.test(_)&&(m+=_+`
28
- `,n=n.substring(_.length+1),d=!0),!d){let k=this.rules.other.nextBulletRegex(y),w=this.rules.other.hrRegex(y),N=this.rules.other.fencesBeginRegex(y),E=this.rules.other.headingBeginRegex(y),x=this.rules.other.htmlBeginRegex(y);for(;n;){let S=n.split(`
29
- `,1)[0],C;if(_=S,this.options.pedantic?(_=_.replace(this.rules.other.listReplaceNesting," "),C=_):C=_.replace(this.rules.other.tabCharGlobal," "),N.test(_)||E.test(_)||x.test(_)||k.test(_)||w.test(_))break;if(C.search(this.rules.other.nonSpaceChar)>=y||!_.trim())p+=`
30
- `+C.slice(y);else{if(g||b.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||N.test(b)||E.test(b)||w.test(b))break;p+=`
31
- `+_}!g&&!_.trim()&&(g=!0),m+=S+`
32
- `,n=n.substring(S.length+1),b=C.slice(y)}}s.loose||(c?s.loose=!0:this.rules.other.doubleBlankLine.test(m)&&(c=!0)),s.items.push({type:"list_item",raw:m,task:!!this.options.gfm&&this.rules.other.listIsTask.test(p),loose:!1,text:p,tokens:[]}),s.raw+=m}let v=s.items.at(-1);if(v)v.raw=v.raw.trimEnd(),v.text=v.text.trimEnd();else return;s.raw=s.raw.trimEnd();for(let d of s.items){if(this.lexer.state.top=!1,d.tokens=this.lexer.blockTokens(d.text,[]),d.task){if(d.text=d.text.replace(this.rules.other.listReplaceTask,""),d.tokens[0]?.type==="text"||d.tokens[0]?.type==="paragraph"){d.tokens[0].raw=d.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),d.tokens[0].text=d.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let p=this.lexer.inlineQueue.length-1;p>=0;p--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[p].src)){this.lexer.inlineQueue[p].src=this.lexer.inlineQueue[p].src.replace(this.rules.other.listReplaceTask,"");break}}let m=this.rules.other.listTaskCheckbox.exec(d.raw);if(m){let p={type:"checkbox",raw:m[0]+" ",checked:m[0]!=="[ ]"};d.checked=p.checked,s.loose?d.tokens[0]&&["paragraph","text"].includes(d.tokens[0].type)&&"tokens"in d.tokens[0]&&d.tokens[0].tokens?(d.tokens[0].raw=p.raw+d.tokens[0].raw,d.tokens[0].text=p.raw+d.tokens[0].text,d.tokens[0].tokens.unshift(p)):d.tokens.unshift({type:"paragraph",raw:p.raw,text:p.raw,tokens:[p]}):d.tokens.unshift(p)}}if(!s.loose){let m=d.tokens.filter(b=>b.type==="space"),p=m.length>0&&m.some(b=>this.rules.other.anyLine.test(b.raw));s.loose=p}}if(s.loose)for(let d of s.items){d.loose=!0;for(let m of d.tokens)m.type==="text"&&(m.type="paragraph")}return s}}html(n){let e=this.rules.block.html.exec(n);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(n){let e=this.rules.block.def.exec(n);if(e){let a=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",s=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:a,raw:e[0],href:r,title:s}}}table(n){let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let a=Ji(e[1]),r=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
33
- `):[],l={type:"table",raw:e[0],header:[],align:[],rows:[]};if(a.length===r.length){for(let c of r)this.rules.other.tableAlignRight.test(c)?l.align.push("right"):this.rules.other.tableAlignCenter.test(c)?l.align.push("center"):this.rules.other.tableAlignLeft.test(c)?l.align.push("left"):l.align.push(null);for(let c=0;c<a.length;c++)l.header.push({text:a[c],tokens:this.lexer.inline(a[c]),header:!0,align:l.align[c]});for(let c of s)l.rows.push(Ji(c,l.header.length).map((v,d)=>({text:v,tokens:this.lexer.inline(v),header:!1,align:l.align[d]})));return l}}lheading(n){let e=this.rules.block.lheading.exec(n);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(n){let e=this.rules.block.paragraph.exec(n);if(e){let a=e[1].charAt(e[1].length-1)===`
34
- `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:a,tokens:this.lexer.inline(a)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let a=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(a)){if(!this.rules.other.endAngleBracket.test(a))return;let l=rr(a.slice(0,-1),"\\");if((a.length-l.length)%2===0)return}else{let l=pf(e[2],"()");if(l===-2)return;if(l>-1){let c=(e[0].indexOf("!")===0?5:4)+e[1].length+l;e[2]=e[2].substring(0,l),e[0]=e[0].substring(0,c).trim(),e[3]=""}}let r=e[2],s="";if(this.options.pedantic){let l=this.rules.other.pedanticHrefTitle.exec(r);l&&(r=l[1],s=l[3])}else s=e[3]?e[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(a)?r=r.slice(1):r=r.slice(1,-1)),Xi(e,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:s&&s.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(n,e){let a;if((a=this.rules.inline.reflink.exec(n))||(a=this.rules.inline.nolink.exec(n))){let r=(a[2]||a[1]).replace(this.rules.other.multipleSpaceGlobal," "),s=e[r.toLowerCase()];if(!s){let l=a[0].charAt(0);return{type:"text",raw:l,text:l}}return Xi(a,s,a[0],this.lexer,this.rules)}}emStrong(n,e,a=""){let r=this.rules.inline.emStrongLDelim.exec(n);if(!(!r||r[3]&&a.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[2])||!a||this.rules.inline.punctuation.exec(a))){let s=[...r[0]].length-1,l,c,v=s,d=0,m=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(m.lastIndex=0,e=e.slice(-1*n.length+s);(r=m.exec(e))!=null;){if(l=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!l)continue;if(c=[...l].length,r[3]||r[4]){v+=c;continue}else if((r[5]||r[6])&&s%3&&!((s+c)%3)){d+=c;continue}if(v-=c,v>0)continue;c=Math.min(c,c+v+d);let p=[...r[0]][0].length,b=n.slice(0,s+r.index+p+c);if(Math.min(s,c)%2){let g=b.slice(1,-1);return{type:"em",raw:b,text:g,tokens:this.lexer.inlineTokens(g)}}let _=b.slice(2,-2);return{type:"strong",raw:b,text:_,tokens:this.lexer.inlineTokens(_)}}}}codespan(n){let e=this.rules.inline.code.exec(n);if(e){let a=e[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(a),s=this.rules.other.startingSpaceChar.test(a)&&this.rules.other.endingSpaceChar.test(a);return r&&s&&(a=a.substring(1,a.length-1)),{type:"codespan",raw:e[0],text:a}}}br(n){let e=this.rules.inline.br.exec(n);if(e)return{type:"br",raw:e[0]}}del(n){let e=this.rules.inline.del.exec(n);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(n){let e=this.rules.inline.autolink.exec(n);if(e){let a,r;return e[2]==="@"?(a=e[1],r="mailto:"+a):(a=e[1],r=a),{type:"link",raw:e[0],text:a,href:r,tokens:[{type:"text",raw:a,text:a}]}}}url(n){let e;if(e=this.rules.inline.url.exec(n)){let a,r;if(e[2]==="@")a=e[0],r="mailto:"+a;else{let s;do s=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(s!==e[0]);a=e[0],e[1]==="www."?r="http://"+e[0]:r=e[0]}return{type:"link",raw:e[0],text:a,href:r,tokens:[{type:"text",raw:a,text:a}]}}}inlineText(n){let e=this.rules.inline.text.exec(n);if(e){let a=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:a}}}},In=class Ls{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Pa,this.options.tokenizer=this.options.tokenizer||new Hr,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let a={other:cn,block:Mr.normal,inline:ar.normal};this.options.pedantic?(a.block=Mr.pedantic,a.inline=ar.pedantic):this.options.gfm&&(a.block=Mr.gfm,this.options.breaks?a.inline=ar.breaks:a.inline=ar.gfm),this.tokenizer.rules=a}static get rules(){return{block:Mr,inline:ar}}static lex(e,a){return new Ls(a).lex(e)}static lexInline(e,a){return new Ls(a).inlineTokens(e)}lex(e){e=e.replace(cn.carriageReturn,`
35
- `),this.blockTokens(e,this.tokens);for(let a=0;a<this.inlineQueue.length;a++){let r=this.inlineQueue[a];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,a=[],r=!1){for(this.options.pedantic&&(e=e.replace(cn.tabCharGlobal," ").replace(cn.spaceLine,""));e;){let s;if(this.options.extensions?.block?.some(c=>(s=c.call({lexer:this},e,a))?(e=e.substring(s.raw.length),a.push(s),!0):!1))continue;if(s=this.tokenizer.space(e)){e=e.substring(s.raw.length);let c=a.at(-1);s.raw.length===1&&c!==void 0?c.raw+=`
36
- `:a.push(s);continue}if(s=this.tokenizer.code(e)){e=e.substring(s.raw.length);let c=a.at(-1);c?.type==="paragraph"||c?.type==="text"?(c.raw+=(c.raw.endsWith(`
37
- `)?"":`
38
- `)+s.raw,c.text+=`
39
- `+s.text,this.inlineQueue.at(-1).src=c.text):a.push(s);continue}if(s=this.tokenizer.fences(e)){e=e.substring(s.raw.length),a.push(s);continue}if(s=this.tokenizer.heading(e)){e=e.substring(s.raw.length),a.push(s);continue}if(s=this.tokenizer.hr(e)){e=e.substring(s.raw.length),a.push(s);continue}if(s=this.tokenizer.blockquote(e)){e=e.substring(s.raw.length),a.push(s);continue}if(s=this.tokenizer.list(e)){e=e.substring(s.raw.length),a.push(s);continue}if(s=this.tokenizer.html(e)){e=e.substring(s.raw.length),a.push(s);continue}if(s=this.tokenizer.def(e)){e=e.substring(s.raw.length);let c=a.at(-1);c?.type==="paragraph"||c?.type==="text"?(c.raw+=(c.raw.endsWith(`
40
- `)?"":`
41
- `)+s.raw,c.text+=`
42
- `+s.raw,this.inlineQueue.at(-1).src=c.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title},a.push(s));continue}if(s=this.tokenizer.table(e)){e=e.substring(s.raw.length),a.push(s);continue}if(s=this.tokenizer.lheading(e)){e=e.substring(s.raw.length),a.push(s);continue}let l=e;if(this.options.extensions?.startBlock){let c=1/0,v=e.slice(1),d;this.options.extensions.startBlock.forEach(m=>{d=m.call({lexer:this},v),typeof d=="number"&&d>=0&&(c=Math.min(c,d))}),c<1/0&&c>=0&&(l=e.substring(0,c+1))}if(this.state.top&&(s=this.tokenizer.paragraph(l))){let c=a.at(-1);r&&c?.type==="paragraph"?(c.raw+=(c.raw.endsWith(`
43
- `)?"":`
44
- `)+s.raw,c.text+=`
45
- `+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=c.text):a.push(s),r=l.length!==e.length,e=e.substring(s.raw.length);continue}if(s=this.tokenizer.text(e)){e=e.substring(s.raw.length);let c=a.at(-1);c?.type==="text"?(c.raw+=(c.raw.endsWith(`
46
- `)?"":`
47
- `)+s.raw,c.text+=`
48
- `+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=c.text):a.push(s);continue}if(e){let c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return this.state.top=!0,a}inline(e,a=[]){return this.inlineQueue.push({src:e,tokens:a}),a}inlineTokens(e,a=[]){let r=e,s=null;if(this.tokens.links){let d=Object.keys(this.tokens.links);if(d.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)d.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,s.index)+"["+"a".repeat(s[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,s.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let l;for(;(s=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)l=s[2]?s[2].length:0,r=r.slice(0,s.index+l)+"["+"a".repeat(s[0].length-l-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);r=this.options.hooks?.emStrongMask?.call({lexer:this},r)??r;let c=!1,v="";for(;e;){c||(v=""),c=!1;let d;if(this.options.extensions?.inline?.some(p=>(d=p.call({lexer:this},e,a))?(e=e.substring(d.raw.length),a.push(d),!0):!1))continue;if(d=this.tokenizer.escape(e)){e=e.substring(d.raw.length),a.push(d);continue}if(d=this.tokenizer.tag(e)){e=e.substring(d.raw.length),a.push(d);continue}if(d=this.tokenizer.link(e)){e=e.substring(d.raw.length),a.push(d);continue}if(d=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(d.raw.length);let p=a.at(-1);d.type==="text"&&p?.type==="text"?(p.raw+=d.raw,p.text+=d.text):a.push(d);continue}if(d=this.tokenizer.emStrong(e,r,v)){e=e.substring(d.raw.length),a.push(d);continue}if(d=this.tokenizer.codespan(e)){e=e.substring(d.raw.length),a.push(d);continue}if(d=this.tokenizer.br(e)){e=e.substring(d.raw.length),a.push(d);continue}if(d=this.tokenizer.del(e)){e=e.substring(d.raw.length),a.push(d);continue}if(d=this.tokenizer.autolink(e)){e=e.substring(d.raw.length),a.push(d);continue}if(!this.state.inLink&&(d=this.tokenizer.url(e))){e=e.substring(d.raw.length),a.push(d);continue}let m=e;if(this.options.extensions?.startInline){let p=1/0,b=e.slice(1),_;this.options.extensions.startInline.forEach(g=>{_=g.call({lexer:this},b),typeof _=="number"&&_>=0&&(p=Math.min(p,_))}),p<1/0&&p>=0&&(m=e.substring(0,p+1))}if(d=this.tokenizer.inlineText(m)){e=e.substring(d.raw.length),d.raw.slice(-1)!=="_"&&(v=d.raw.slice(-1)),c=!0;let p=a.at(-1);p?.type==="text"?(p.raw+=d.raw,p.text+=d.text):a.push(d);continue}if(e){let p="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return a}},qr=class{options;parser;constructor(n){this.options=n||Pa}space(n){return""}code({text:n,lang:e,escaped:a}){let r=(e||"").match(cn.notSpaceStart)?.[0],s=n.replace(cn.endingNewline,"")+`
49
- `;return r?'<pre><code class="language-'+Jn(r)+'">'+(a?s:Jn(s,!0))+`</code></pre>
50
- `:"<pre><code>"+(a?s:Jn(s,!0))+`</code></pre>
51
- `}blockquote({tokens:n}){return`<blockquote>
52
- ${this.parser.parse(n)}</blockquote>
53
- `}html({text:n}){return n}def(n){return""}heading({tokens:n,depth:e}){return`<h${e}>${this.parser.parseInline(n)}</h${e}>
54
- `}hr(n){return`<hr>
55
- `}list(n){let e=n.ordered,a=n.start,r="";for(let c=0;c<n.items.length;c++){let v=n.items[c];r+=this.listitem(v)}let s=e?"ol":"ul",l=e&&a!==1?' start="'+a+'"':"";return"<"+s+l+`>
56
- `+r+"</"+s+`>
57
- `}listitem(n){return`<li>${this.parser.parse(n.tokens)}</li>
58
- `}checkbox({checked:n}){return"<input "+(n?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:n}){return`<p>${this.parser.parseInline(n)}</p>
59
- `}table(n){let e="",a="";for(let s=0;s<n.header.length;s++)a+=this.tablecell(n.header[s]);e+=this.tablerow({text:a});let r="";for(let s=0;s<n.rows.length;s++){let l=n.rows[s];a="";for(let c=0;c<l.length;c++)a+=this.tablecell(l[c]);r+=this.tablerow({text:a})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
60
- <thead>
61
- `+e+`</thead>
62
- `+r+`</table>
63
- `}tablerow({text:n}){return`<tr>
64
- ${n}</tr>
65
- `}tablecell(n){let e=this.parser.parseInline(n.tokens),a=n.header?"th":"td";return(n.align?`<${a} align="${n.align}">`:`<${a}>`)+e+`</${a}>
66
- `}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${Jn(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,tokens:a}){let r=this.parser.parseInline(a),s=Ki(n);if(s===null)return r;n=s;let l='<a href="'+n+'"';return e&&(l+=' title="'+Jn(e)+'"'),l+=">"+r+"</a>",l}image({href:n,title:e,text:a,tokens:r}){r&&(a=this.parser.parseInline(r,this.parser.textRenderer));let s=Ki(n);if(s===null)return Jn(a);n=s;let l=`<img src="${n}" alt="${a}"`;return e&&(l+=` title="${Jn(e)}"`),l+=">",l}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:Jn(n.text)}},ui=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}checkbox({raw:n}){return n}},Nn=class Os{options;renderer;textRenderer;constructor(e){this.options=e||Pa,this.options.renderer=this.options.renderer||new qr,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ui}static parse(e,a){return new Os(a).parse(e)}static parseInline(e,a){return new Os(a).parseInline(e)}parse(e){let a="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let c=s,v=this.options.extensions.renderers[c.type].call({parser:this},c);if(v!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){a+=v||"";continue}}let l=s;switch(l.type){case"space":{a+=this.renderer.space(l);break}case"hr":{a+=this.renderer.hr(l);break}case"heading":{a+=this.renderer.heading(l);break}case"code":{a+=this.renderer.code(l);break}case"table":{a+=this.renderer.table(l);break}case"blockquote":{a+=this.renderer.blockquote(l);break}case"list":{a+=this.renderer.list(l);break}case"checkbox":{a+=this.renderer.checkbox(l);break}case"html":{a+=this.renderer.html(l);break}case"def":{a+=this.renderer.def(l);break}case"paragraph":{a+=this.renderer.paragraph(l);break}case"text":{a+=this.renderer.text(l);break}default:{let c='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return a}parseInline(e,a=this.renderer){let r="";for(let s=0;s<e.length;s++){let l=e[s];if(this.options.extensions?.renderers?.[l.type]){let v=this.options.extensions.renderers[l.type].call({parser:this},l);if(v!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(l.type)){r+=v||"";continue}}let c=l;switch(c.type){case"escape":{r+=a.text(c);break}case"html":{r+=a.html(c);break}case"link":{r+=a.link(c);break}case"image":{r+=a.image(c);break}case"checkbox":{r+=a.checkbox(c);break}case"strong":{r+=a.strong(c);break}case"em":{r+=a.em(c);break}case"codespan":{r+=a.codespan(c);break}case"br":{r+=a.br(c);break}case"del":{r+=a.del(c);break}case"text":{r+=a.text(c);break}default:{let v='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(v),"";throw new Error(v)}}}return r}},or=class{options;block;constructor(n){this.options=n||Pa}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(){return this.block?In.lex:In.lexInline}provideParser(){return this.block?Nn.parse:Nn.parseInline}},Co=class{defaults=ri();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Nn;Renderer=qr;TextRenderer=ui;Lexer=In;Tokenizer=Hr;Hooks=or;constructor(...n){this.use(...n)}walkTokens(n,e){let a=[];for(let r of n)switch(a=a.concat(e.call(this,r)),r.type){case"table":{let s=r;for(let l of s.header)a=a.concat(this.walkTokens(l.tokens,e));for(let l of s.rows)for(let c of l)a=a.concat(this.walkTokens(c.tokens,e));break}case"list":{let s=r;a=a.concat(this.walkTokens(s.items,e));break}default:{let s=r;this.defaults.extensions?.childTokens?.[s.type]?this.defaults.extensions.childTokens[s.type].forEach(l=>{let c=s[l].flat(1/0);a=a.concat(this.walkTokens(c,e))}):s.tokens&&(a=a.concat(this.walkTokens(s.tokens,e)))}}return a}use(...n){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(a=>{let r={...a};if(r.async=this.defaults.async||r.async||!1,a.extensions&&(a.extensions.forEach(s=>{if(!s.name)throw new Error("extension name required");if("renderer"in s){let l=e.renderers[s.name];l?e.renderers[s.name]=function(...c){let v=s.renderer.apply(this,c);return v===!1&&(v=l.apply(this,c)),v}:e.renderers[s.name]=s.renderer}if("tokenizer"in s){if(!s.level||s.level!=="block"&&s.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let l=e[s.level];l?l.unshift(s.tokenizer):e[s.level]=[s.tokenizer],s.start&&(s.level==="block"?e.startBlock?e.startBlock.push(s.start):e.startBlock=[s.start]:s.level==="inline"&&(e.startInline?e.startInline.push(s.start):e.startInline=[s.start]))}"childTokens"in s&&s.childTokens&&(e.childTokens[s.name]=s.childTokens)}),r.extensions=e),a.renderer){let s=this.defaults.renderer||new qr(this.defaults);for(let l in a.renderer){if(!(l in s))throw new Error(`renderer '${l}' does not exist`);if(["options","parser"].includes(l))continue;let c=l,v=a.renderer[c],d=s[c];s[c]=(...m)=>{let p=v.apply(s,m);return p===!1&&(p=d.apply(s,m)),p||""}}r.renderer=s}if(a.tokenizer){let s=this.defaults.tokenizer||new Hr(this.defaults);for(let l in a.tokenizer){if(!(l in s))throw new Error(`tokenizer '${l}' does not exist`);if(["options","rules","lexer"].includes(l))continue;let c=l,v=a.tokenizer[c],d=s[c];s[c]=(...m)=>{let p=v.apply(s,m);return p===!1&&(p=d.apply(s,m)),p}}r.tokenizer=s}if(a.hooks){let s=this.defaults.hooks||new or;for(let l in a.hooks){if(!(l in s))throw new Error(`hook '${l}' does not exist`);if(["options","block"].includes(l))continue;let c=l,v=a.hooks[c],d=s[c];or.passThroughHooks.has(l)?s[c]=m=>{if(this.defaults.async&&or.passThroughHooksRespectAsync.has(l))return(async()=>{let b=await v.call(s,m);return d.call(s,b)})();let p=v.call(s,m);return d.call(s,p)}:s[c]=(...m)=>{if(this.defaults.async)return(async()=>{let b=await v.apply(s,m);return b===!1&&(b=await d.apply(s,m)),b})();let p=v.apply(s,m);return p===!1&&(p=d.apply(s,m)),p}}r.hooks=s}if(a.walkTokens){let s=this.defaults.walkTokens,l=a.walkTokens;r.walkTokens=function(c){let v=[];return v.push(l.call(this,c)),s&&(v=v.concat(s.call(this,c))),v}}this.defaults={...this.defaults,...r}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return In.lex(n,e??this.defaults)}parser(n,e){return Nn.parse(n,e??this.defaults)}parseMarkdown(n){return(e,a)=>{let r={...a},s={...this.defaults,...r},l=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&r.async===!1)return l(new 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 e>"u"||e===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=n),s.async)return(async()=>{let c=s.hooks?await s.hooks.preprocess(e):e,v=await(s.hooks?await s.hooks.provideLexer():n?In.lex:In.lexInline)(c,s),d=s.hooks?await s.hooks.processAllTokens(v):v;s.walkTokens&&await Promise.all(this.walkTokens(d,s.walkTokens));let m=await(s.hooks?await s.hooks.provideParser():n?Nn.parse:Nn.parseInline)(d,s);return s.hooks?await s.hooks.postprocess(m):m})().catch(l);try{s.hooks&&(e=s.hooks.preprocess(e));let c=(s.hooks?s.hooks.provideLexer():n?In.lex:In.lexInline)(e,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let v=(s.hooks?s.hooks.provideParser():n?Nn.parse:Nn.parseInline)(c,s);return s.hooks&&(v=s.hooks.postprocess(v)),v}catch(c){return l(c)}}}onError(n,e){return a=>{if(a.message+=`
67
- Please report this to https://github.com/markedjs/marked.`,n){let r="<p>An error occurred:</p><pre>"+Jn(a.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(a);throw a}}},Ma=new Co;function Ot(n,e){return Ma.parse(n,e)}Ot.options=Ot.setOptions=function(n){return Ma.setOptions(n),Ot.defaults=Ma.defaults,_o(Ot.defaults),Ot};Ot.getDefaults=ri;Ot.defaults=Pa;Ot.use=function(...n){return Ma.use(...n),Ot.defaults=Ma.defaults,_o(Ot.defaults),Ot};Ot.walkTokens=function(n,e){return Ma.walkTokens(n,e)};Ot.parseInline=Ma.parseInline;Ot.Parser=Nn;Ot.parser=Nn.parse;Ot.Renderer=qr;Ot.TextRenderer=ui;Ot.Lexer=In;Ot.lexer=In.lex;Ot.Tokenizer=Hr;Ot.Hooks=or;Ot.parse=Ot;Ot.options;Ot.setOptions;Ot.use;Ot.walkTokens;Ot.parseInline;Nn.parse;In.lex;const _f=new Co({breaks:!0,gfm:!0});function ja(n){return Nu.sanitize(_f.parse(n))}var gf=h('<span class="feed-card-icon svelte-c9eofw"></span>'),bf=h('<span class="feed-card-author svelte-c9eofw"> </span>'),yf=h('<iframe sandbox="allow-same-origin" role="presentation"></iframe>'),wf=h('<div class="body-html markdown-body svelte-c9eofw"></div>'),kf=h('<div class="feed-card-body svelte-c9eofw"><!></div>'),xf=h('<button class="feed-card svelte-c9eofw"><div class="feed-card-header svelte-c9eofw"><!> <span class="feed-card-label svelte-c9eofw"> </span> <!> <span class="feed-card-meta svelte-c9eofw"> </span></div> <!></button>');function Wr(n,e){ft(e,!0);let a=K(()=>ja(e.bodyHtml)),r=K(()=>e.color?`var(--${e.color})`:"var(--text-2)"),s=I(!1);var l=xf();let c;var v=o(l);let d;var m=o(v);{var p=x=>{var S=gf();let C;Vn(S,()=>e.icon,!0),j(()=>C=Ct(S,"",C,{color:t(r)})),u(x,S)};A(m,x=>{e.icon&&x(p)})}var b=f(m,2),_=o(b),g=f(b,2);{var y=x=>{var S=bf(),C=o(S);j(()=>T(C,e.author)),u(x,S)};A(g,x=>{e.author&&x(y)})}var k=f(g,2),w=o(k),N=f(v,2);{var E=x=>{var S=kf(),C=o(S);{var q=H=>{var R=yf();let M;j(()=>{_t(R,"src",e.iframeUrl),M=Ze(R,1,"page-preview svelte-c9eofw",null,M,{loaded:t(s)}),_t(R,"title",e.title)}),U("pointerdown",R,V=>V.preventDefault()),Ut("load",R,()=>i(s,!0)),u(H,R)},O=H=>{var R=wf();Vn(R,()=>t(a),!0),u(H,R)};A(C,H=>{e.iframeUrl?H(q):H(O,-1)})}u(x,S)};A(N,x=>{(e.iframeUrl||e.bodyHtml)&&x(E)})}j(x=>{c=Ct(l,"",c,{"border-color":`color-mix(in srgb, ${t(r)??""} 25%, var(--border))`}),d=Ct(v,"",d,{"border-bottom-color":`color-mix(in srgb, ${t(r)??""} 25%, var(--border))`}),T(_,e.title),T(w,x)},[()=>ei(e.date)]),U("click",l,function(...x){e.onclick?.apply(this,x)}),u(n,l),ht()}At(["click","pointerdown"]);function Mo(n){try{return new Date(n.endsWith("Z")?n:`${n}Z`).toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}catch{return""}}function Gr(n,e){if(e===0)return!0;const a=n[e-1],r=n[e];return(a.sender_name??a.role)!==(r.sender_name??r.role)}function Ra(n){return n.filter(e=>e.type==="text").map(e=>e.text).join(`
68
-
69
- `)}function Sf(n){const a=n.split("/").filter(Boolean).map(r=>r==="*"?"(.*)":r.startsWith(":")?"([^/]+)":r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));return new RegExp(`^/${a.join("/")}(?:/(.*))?$`)}function Ef(n){const e=n.systemSection?.urlPatterns;if(!e?.length)return null;const a=e[0].split("/").filter(Boolean)[0];return a?`/${a}`:null}function Tf(n,e){for(const a of e){const r=a.systemSection;if(r?.urlPatterns)for(const s of r.urlPatterns){const l=Sf(s);if(n.match(l)){const v=s.split("/").filter(Boolean)[0],d=n.replace(`/${v}`,"").replace(/^\//,"");return{extensionId:a.id,path:d}}}}return null}function Qi(n,e){for(const a of e)if(a.mindSections){for(const r of a.mindSections)if(r.id===n)return`ext:${a.id}:${r.id}`}return null}function us(n=[]){const e=window.location.pathname,a=new URLSearchParams(window.location.search);if(e==="/shared-files")return{kind:"shared-files"};if(e==="/system/chat")return{kind:"system-chat"};if(e==="/settings")return{kind:"settings"};const r=e.match(/^\/settings\/(.+)$/);if(r)return{kind:"settings",section:r[1]};const s=e.match(/^\/minds\/([^/]+)\/([^/]+)\/(.+)$/);if(s){const[,p,b,_]=s,g=Qi(b,n);return{kind:"mind",name:p,section:g??b,subpath:_}}const l=e.match(/^\/minds\/([^/]+)\/([^/]+)$/);if(l){const[,p,b]=l,_=Qi(b,n);return{kind:"mind",name:p,section:_??b}}const c=e.match(/^\/minds\/([^/]+)$/);if(c)return{kind:"mind",name:c[1]};const v=e.match(/^\/channels\/(.+)$/);if(v)return{kind:"channel",slug:v[1]};const d=Tf(e,n);if(d)return{kind:"extension",extensionId:d.extensionId,path:d.path};const m=e.match(/^\/chat\/(.+)$/);if(m)return{kind:"channel",slug:`__conv:${m[1]}`};if(e==="/chat"){const p=a.get("mind");return p?{kind:"mind",name:p}:{kind:"home"}}return{kind:"home"}}function Af(n,e=[]){switch(n.kind){case"home":return"/";case"mind":{let a=n.section;if(a?.startsWith("ext:")){const s=a.split(":");a=s[2]??s[1]}const r=a&&a!=="chat"?`/minds/${n.name}/${a}`:`/minds/${n.name}`;return n.subpath?`${r}/${n.subpath}`:r}case"extension":{const a=e.find(s=>s.id===n.extensionId),r=a?Ef(a):null;return r?n.path?`${r}/${n.path}`:r:n.path?`/ext/${n.extensionId}/${n.path}`:`/ext/${n.extensionId}`}case"settings":return n.section?`/settings/${n.section}`:"/settings";case"shared-files":return"/shared-files";case"system-chat":return"/system/chat";case"channel":return n.slug.startsWith("__conv:")?`/chat/${n.slug.replace("__conv:","")}`:`/channels/${n.slug}`;default:return"/"}}function Bn(n){window.history.pushState(null,"",n),window.dispatchEvent(new PopStateEvent("popstate"))}var Cf=h('<div class="empty-hint svelte-1egy5tu">Nothing here yet.</div>'),Mf=h('<div class="feed-item svelte-1egy5tu"><!></div>'),jf=h('<div class="msg-empty svelte-1egy5tu">Loading...</div>'),Rf=h('<div class="chat-entry-header svelte-1egy5tu"><span> </span> <span class="chat-timestamp svelte-1egy5tu"> </span></div>'),If=h('<div class="markdown-body"></div>'),Nf=h("<div><!> <div><!></div></div>"),Pf=h('<div class="feed-item svelte-1egy5tu"><div class="feed-card card-chat svelte-1egy5tu" role="button" tabindex="0"><div class="feed-card-header header-chat svelte-1egy5tu"><svg class="feed-card-icon svelte-1egy5tu" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"></path></svg> <span class="feed-card-label svelte-1egy5tu"> </span> <span class="feed-card-meta svelte-1egy5tu"> </span> <button class="card-action-btn card-action-btn-primary svelte-1egy5tu">Chat</button></div> <div class="feed-card-body chat-body svelte-1egy5tu"><!></div></div></div>'),Lf=h('<div class="feed-grid svelte-1egy5tu"></div>'),Of=h('<div class="home svelte-1egy5tu"><!></div>');function Df(n,e){ft(e,!0);let a=I(rt([]));Tt(()=>{const _=dt.extensions,g=[],y=_.filter(k=>k.feedSource).map(async k=>{try{const w=await fetch(k.feedSource.endpoint);if(!w.ok)return;const N=await w.json();for(const E of N)g.push({...E,extensionId:k.id})}catch(w){console.warn(`Failed to fetch ${k.id} feed:`,w)}});Promise.all(y).then(()=>{i(a,g,!0)})});let r=K(()=>[...e.conversations].filter(_=>_.lastMessage).sort((_,g)=>{const y=new Date(xa(_.updated_at)).getTime();return new Date(xa(g.updated_at)).getTime()-y}).slice(0,6)),s=rt({}),l=rt({});Tt(()=>{const _=t(r);for(const g of _)s[g.id]||Ss(g.id,{limit:10}).then(y=>{s[g.id]=y.items,requestAnimationFrame(()=>{const k=l[g.id];k&&(k.scrollTop=k.scrollHeight)})}).catch(()=>{s[g.id]=[]})});let c=K(()=>{const _=[];for(const g of t(r))_.push({kind:"message",conv:g,date:g.updated_at});for(const g of t(a))_.push({kind:"extension",item:g,date:g.date});return _.sort((g,y)=>{const k=new Date(xa(g.date)).getTime();return new Date(xa(y.date)).getTime()-k}),_});function v(_){if(_.type==="channel"&&_.name)return`#${_.name}`;const g=_.participants??[];if(_.type==="dm"&&g.length===2){const k=g.find(N=>N.userType==="mind"),w=g.find(N=>N.username!==k?.username);if(k&&w)return`@${k.username}`}const y=g.map(k=>k.username);return y.length>0?y.join(", "):_.title?_.title:"Conversation"}var d=Of(),m=o(d);{var p=_=>{var g=Cf();u(_,g)},b=_=>{var g=Lf();We(g,21,()=>t(c),y=>y.kind==="extension"?`ext-${y.item.id}`:`msg-${y.conv.id}`,(y,k)=>{var w=Rt(),N=Ae(w);{var E=S=>{var C=Mf(),q=o(C);Wr(q,{get title(){return t(k).item.title},get url(){return t(k).item.url},get date(){return t(k).item.date},get author(){return t(k).item.author},get bodyHtml(){return t(k).item.bodyHtml},get iframeUrl(){return t(k).item.iframeUrl},get icon(){return t(k).item.icon},get color(){return t(k).item.color},onclick:()=>Bn(t(k).item.url)}),u(S,C)},x=S=>{const C=K(()=>t(k).conv),q=K(()=>v(t(C))),O=K(()=>s[t(C).id]??[]);var H=Pf(),R=o(H),M=o(R),V=f(o(M),2),G=o(V),Y=f(V,2),B=o(Y),P=f(Y,2),z=f(M,2),J=o(z);{var ie=_e=>{var Se=jf();u(_e,Se)},ue=_e=>{var Se=Rt(),fe=Ae(Se);We(fe,19,()=>t(O),he=>he.id,(he,Ee,ae)=>{var Z=Nf();let de;var ne=o(Z);{var ge=W=>{var ye=Rf(),me=o(ye);let Ce;var Ie=o(me),ke=f(me,2),we=o(ke);j(Pe=>{Ce=Ze(me,1,"chat-sender svelte-1egy5tu",null,Ce,{"chat-sender-user":t(Ee).role==="user"}),T(Ie,t(Ee).sender_name??(t(Ee).role==="user"?e.username:"")),T(we,Pe)},[()=>Mo(t(Ee).created_at)]),u(W,ye)},re=K(()=>Gr(t(O),t(ae)));A(ne,W=>{t(re)&&W(ge)})}var F=f(ne,2);let Q;var le=o(F);{var $=W=>{var ye=sa();j(me=>T(ye,me),[()=>Ra(t(Ee).content)]),u(W,ye)},ee=W=>{var ye=If();Vn(ye,()=>ja(Ra(t(Ee).content)),!0),u(W,ye)};A(le,W=>{t(Ee).role==="user"?W($):W(ee,-1)})}j(W=>{de=Ze(Z,1,"chat-entry svelte-1egy5tu",null,de,W),Q=Ze(F,1,"chat-entry-content svelte-1egy5tu",null,Q,{"chat-user-text":t(Ee).role==="user"})},[()=>({"new-sender":Gr(t(O),t(ae))})]),u(he,Z)}),u(_e,Se)};A(J,_e=>{t(O).length===0?_e(ie):_e(ue,-1)})}pn(z,_e=>l[t(C).id]=_e,()=>l?.[t(C).id]),j(_e=>{T(G,t(q)),T(B,_e)},[()=>ei(t(C).updated_at)]),U("click",R,()=>e.onSelectConversation(t(C).id)),U("keydown",R,_e=>{_e.key==="Enter"&&e.onSelectConversation(t(C).id)}),U("click",P,_e=>{_e.stopPropagation(),e.onSelectConversation(t(C).id)}),Ut("scroll",z,_e=>{const Se=_e.currentTarget;Se.scrollTop<10&&(Se.scrollTop=10)}),u(S,H)};A(N,S=>{t(k).kind==="extension"?S(E):S(x,-1)})}u(y,w)}),u(_,g)};A(m,_=>{t(c).length===0?_(p):_(b,-1)})}u(n,d),ht()}At(["click","keydown"]);var zf=h('<div class="image-preview svelte-18vyazk"><img alt="" class="preview-thumb svelte-18vyazk"/> <button class="remove-image svelte-18vyazk">x</button></div>'),Ff=h('<div class="image-strip svelte-18vyazk"></div>'),Uf=h('<div class="file-preview svelte-18vyazk"><span class="file-name svelte-18vyazk"> </span> <button class="remove-image svelte-18vyazk">x</button></div>'),Bf=h('<div class="file-strip svelte-18vyazk"></div>'),Hf=h('<div class="attach-menu svelte-18vyazk"><button class="svelte-18vyazk">Image</button> <button class="svelte-18vyazk">File</button></div>'),qf=Na('<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>'),Wf=Na('<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>'),Gf=h('<!> <!> <input type="file" accept="image/*" multiple="" style="display: none"/> <input type="file" multiple="" style="display: none"/> <div class="input-area svelte-18vyazk"><div><button class="inline-btn attach svelte-18vyazk" 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-18vyazk"></textarea> <button><!></button></div></div>',1);function Vf(n,e){ft(e,!0);let a=Ht(e,"mindName",3,""),r=Ht(e,"conversationId",3,null),s=Ht(e,"username",3,""),l=I(""),c=I(rt([])),v=I(rt([])),d,m,p,b=0,_=I(!1),g=I(!1);function y(){i(g,!t(g))}function k(ae){if(!t(g))return;const Z=ae.target;!Z?.closest(".attach-menu")&&!Z?.closest(".inline-btn.attach")&&i(g,!1)}Tt(()=>(document.addEventListener("click",k),()=>document.removeEventListener("click",k)));function w(){const ae=t(l).trim();if(!ae&&t(c).length===0&&t(v).length===0||e.sending)return;const Z=t(c).map(({media_type:ne,data:ge})=>({media_type:ne,data:ge})),de=[...t(v)];i(l,""),i(c,[],!0),i(v,[],!0),d&&(d.style.height="auto",d.style.overflow="hidden"),r()&&a()&&s()&&(Sr(a(),r(),s(),!1),b=0),e.onSend(ae,Z,de)}function N(ae){ae.key==="Enter"&&!ae.shiftKey&&(ae.preventDefault(),w())}function E(ae){const Z=ae.currentTarget;if(r()&&a()&&s()){const ne=Date.now();ne-b>3e3&&(b=ne,Sr(a(),r(),s(),!0))}Z.style.height="auto";const de=120;Z.style.height=`${Math.min(Z.scrollHeight,de)}px`,Z.style.overflow=Z.scrollHeight>de?"auto":"hidden"}function x(){r()&&a()&&s()&&b>0&&(Sr(a(),r(),s(),!1),b=0)}function S(ae){if(ae)for(const Z of Array.from(ae)){if(!Z.type.startsWith("image/"))continue;const de=new FileReader;de.onload=()=>{const ne=de.result,ge=ne.split(",")[1];i(c,[...t(c),{media_type:Z.type,data:ge,preview:ne}],!0)},de.readAsDataURL(Z)}}function C(ae){if(!ae)return;const Z=50*1024*1024;for(const de of Array.from(ae)){if(de.size>Z)continue;const ne=new FileReader;ne.onload=()=>{const ge=ne.result,re=new Uint8Array(ge);let F="";for(let le=0;le<re.length;le++)F+=String.fromCharCode(re[le]);const Q=btoa(F);i(v,[...t(v),{filename:de.name,data:Q}],!0)},ne.readAsArrayBuffer(de)}}Tt(()=>()=>{r()&&a()&&s()&&b>0&&Sr(a(),r(),s(),!1)});var q=Gf(),O=Ae(q);{var H=ae=>{var Z=Ff();We(Z,23,()=>t(c),de=>de.preview,(de,ne,ge)=>{var re=zf(),F=o(re),Q=f(F,2);j(()=>_t(F,"src",t(ne).preview)),U("click",Q,()=>{i(c,t(c).filter((le,$)=>$!==t(ge)),!0)}),u(de,re)}),u(ae,Z)};A(O,ae=>{t(c).length>0&&ae(H)})}var R=f(O,2);{var M=ae=>{var Z=Bf();We(Z,23,()=>t(v),(de,ne)=>de.filename+ne,(de,ne,ge)=>{var re=Uf(),F=o(re),Q=o(F),le=f(F,2);j(()=>T(Q,t(ne).filename)),U("click",le,()=>{i(v,t(v).filter(($,ee)=>ee!==t(ge)),!0)}),u(de,re)}),u(ae,Z)};A(R,ae=>{t(v).length>0&&ae(M)})}var V=f(R,2);pn(V,ae=>m=ae,()=>m);var G=f(V,2);pn(G,ae=>p=ae,()=>p);var Y=f(G,2),B=o(Y);let P;var z=o(B),J=f(z,2);{var ie=ae=>{var Z=Hf(),de=o(Z),ne=f(de,2);U("click",de,()=>{i(g,!1),m?.click()}),U("click",ne,()=>{i(g,!1),p?.click()}),u(ae,Z)};A(J,ae=>{t(g)&&ae(ie)})}var ue=f(J,2);_t(ue,"rows",1),pn(ue,ae=>d=ae,()=>d);var _e=f(ue,2);let Se;var fe=o(_e);{var he=ae=>{var Z=qf();u(ae,Z)},Ee=ae=>{var Z=Wf();u(ae,Z)};A(fe,ae=>{e.sending?ae(he):ae(Ee,-1)})}j((ae,Z)=>{P=Ze(B,1,"input-box svelte-18vyazk",null,P,{focused:t(_)}),_e.disabled=ae,Se=Ze(_e,1,"inline-btn send svelte-18vyazk",null,Se,Z)},[()=>e.sending||!t(l).trim()&&t(c).length===0&&t(v).length===0,()=>({active:!!t(l).trim()||t(c).length>0||t(v).length>0})]),U("change",V,ae=>S(ae.currentTarget.files)),U("change",G,ae=>C(ae.currentTarget.files)),U("click",z,y),U("keydown",ue,N),U("input",ue,E),Ut("focus",ue,()=>i(_,!0)),Ut("blur",ue,()=>{i(_,!1),x()}),mt(ue,()=>t(l),ae=>i(l,ae)),U("click",_e,w),u(n,q),ht()}At(["click","change","keydown","input"]);var Yf=h("<span> </span>"),Zf=h('<div class="tool-section-label svelte-11dtec0" style="margin-top: 8px">output:</div> <pre> </pre>',1),Kf=h('<div class="tool-detail svelte-11dtec0"><div class="tool-section-label svelte-11dtec0">input:</div> <pre class="tool-pre svelte-11dtec0"> </pre> <!></div>'),Jf=h('<div class="tool-block svelte-11dtec0"><button class="tool-header svelte-11dtec0"><span class="tool-label svelte-11dtec0"><span class="tool-arrow svelte-11dtec0"> </span> </span> <!></button> <!></div>');function Xf(n,e){ft(e,!0);let a=Ht(e,"isError",3,!1),r=Ht(e,"isOpen",3,!1);function s(){const N=e.input;switch(e.name){case"Read":return{label:`Read ${N.file_path??""}`,color:"var(--blue)"};case"Write":return{label:`Write ${N.file_path??""}`,color:"var(--blue)"};case"Edit":return{label:`Edit ${N.file_path??""}`,color:"var(--blue)"};case"Glob":return{label:`Glob ${N.pattern??""}`,color:"var(--yellow)"};case"Grep":return{label:`Grep "${N.pattern??""}"${N.path?` in ${N.path}`:""}`,color:"var(--yellow)"};case"Bash":return{label:`Bash: ${String(N.command??"").split(`
70
- `)[0]}`,color:"var(--red)"};case"WebSearch":return{label:`Search: "${N.query??""}"`,color:"var(--purple)"};case"WebFetch":return{label:`Fetch: ${N.url??""}`,color:"var(--purple)"};case"Task":return{label:`Task: ${N.description??""}`,color:"var(--accent)"};default:return{label:e.name,color:"var(--purple)"}}}let l=K(s);var c=Jf(),v=o(c);let d;var m=o(v),p=o(m),b=o(p),_=f(p),g=f(m,2);{var y=N=>{var E=Yf();let x;var S=o(E);j(()=>{x=Ze(E,1,"tool-status svelte-11dtec0",null,x,{error:a()}),T(S,a()?"error":"done")}),u(N,E)};A(g,N=>{e.output!==void 0&&N(y)})}var k=f(v,2);{var w=N=>{var E=Kf(),x=f(o(E),2),S=o(x),C=f(x,2);{var q=O=>{var H=Zf(),R=f(Ae(H),2);let M;var V=o(R);j(()=>{M=Ze(R,1,"tool-pre tool-output svelte-11dtec0",null,M,{error:a()}),T(V,e.output)}),u(O,H)};A(C,O=>{e.output!==void 0&&O(q)})}j(O=>T(S,O),[()=>JSON.stringify(e.input,null,2)]),u(N,E)};A(k,N=>{r()&&N(w)})}j(()=>{d=Ct(v,"",d,{color:t(l).color}),T(b,r()?"▾":"▸"),T(_,` ${t(l).label??""}`)}),U("click",v,function(...N){e.onToggle?.apply(this,N)}),u(n,c),ht()}At(["click"]);var Qf=h('<button class="sender sender-link svelte-16zmiqs"> </button>'),$f=h('<span class="sender svelte-16zmiqs"> </span>'),eh=h('<span class="sender svelte-16zmiqs"> </span>'),th=h('<span class="sender svelte-16zmiqs"> </span>'),nh=h('<span class="timestamp svelte-16zmiqs"> </span>'),ah=h('<div class="entry-header svelte-16zmiqs"><!> <!></div>'),rh=h('<span class="timestamp inline-time svelte-16zmiqs"> </span>'),sh=h('<div class="user-text svelte-16zmiqs"> </div>'),ih=h('<img alt="" class="chat-image svelte-16zmiqs"/>'),lh=h('<div class="markdown-body"></div>'),oh=h('<img alt="" class="chat-image svelte-16zmiqs"/>'),ch=h('<div><!> <div class="entry-content svelte-16zmiqs"><!></div></div>');function dh(n,e){ft(e,!0);let a=Ht(e,"showHeader",3,!0),r=Ht(e,"showDate",3,!1),s=Ht(e,"senderColor",3,"var(--text-0)"),l=Ht(e,"participants",19,()=>[]);function c(E){const x=e.mindsByName.get(E);if(x)return{name:x.name,displayName:x.displayName,description:x.description,avatarUrl:x.avatar?`/api/minds/${encodeURIComponent(x.name)}/avatar`:null,userType:"mind",created:x.created};const S=l().find(C=>C.username===E);return S?{name:S.username,displayName:S.displayName,description:S.description,avatarUrl:S.avatar?`/api/auth/avatars/${encodeURIComponent(S.avatar)}`:null,userType:S.userType}:null}function v(E){if(!E)return"";try{const x=new Date(E.endsWith("Z")?E:`${E}Z`),S=x.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"});return r()?`${x.toLocaleDateString(void 0,{month:"short",day:"numeric"})}, ${S}`:S}catch{return""}}function d(E){const x=[];for(let S=0;S<E.length;S++){const C=E[S];if(C.type==="text")x.push({kind:"text",text:C.text});else if(C.type==="tool_use"){const q={name:C.name,input:C.input},O=E[S+1];O&&O.type==="tool_result"&&(q.output=O.output,q.isError=O.is_error,S++),x.push({kind:"tool",tool:q})}else C.type==="tool_result"||C.type==="image"&&x.push({kind:"image",media_type:C.media_type,data:C.data})}return x}var m=ch();let p;var b=o(m);{var _=E=>{var x=ah(),S=o(x);{var C=R=>{const M=K(()=>c(e.senderName)),V=K(()=>e.mindsByName.get(e.senderName));var G=Rt(),Y=Ae(G);{var B=z=>{Ur(z,{get profile(){return t(M)},children:ie=>{var ue=Rt(),_e=Ae(ue);{var Se=he=>{var Ee=Qf();let ae;var Z=o(Ee);j(()=>{ae=Ct(Ee,"",ae,{color:s()}),T(Z,t(M).displayName??e.senderName)}),U("click",Ee,()=>e.onOpenMind(t(V))),u(he,Ee)},fe=he=>{var Ee=$f();let ae;var Z=o(Ee);j(()=>{ae=Ct(Ee,"",ae,{color:s()}),T(Z,t(M).displayName??e.senderName)}),u(he,Ee)};A(_e,he=>{t(V)&&e.onOpenMind?he(Se):he(fe,-1)})}u(ie,ue)},$$slots:{default:!0}})},P=z=>{var J=eh();let ie;var ue=o(J);j(()=>{ie=Ct(J,"",ie,{color:s()}),T(ue,e.senderName)}),u(z,J)};A(Y,z=>{t(M)?z(B):z(P,-1)})}u(R,G)},q=R=>{var M=th();let V;var G=o(M);j(()=>{V=Ct(M,"",V,{color:s()}),T(G,e.role==="user"?"you":"mind")}),u(R,M)};A(S,R=>{e.senderName?R(C):R(q,-1)})}var O=f(S,2);{var H=R=>{var M=nh(),V=o(M);j(G=>T(V,G),[()=>v(e.createdAt)]),u(R,M)};A(O,R=>{e.createdAt&&R(H)})}u(E,x)},g=E=>{var x=rh(),S=o(x);j(C=>T(S,C),[()=>v(e.createdAt)]),u(E,x)};A(b,E=>{a()?E(_):e.createdAt&&E(g,1)})}var y=f(b,2),k=o(y);{var w=E=>{var x=Rt(),S=Ae(x);We(S,17,()=>e.blocks,$t,(C,q)=>{var O=Rt(),H=Ae(O);{var R=V=>{var G=sh(),Y=o(G);j(()=>T(Y,t(q).text)),u(V,G)},M=V=>{var G=ih();j(()=>_t(G,"src",`data:${t(q).media_type};base64,${t(q).data}`)),u(V,G)};A(H,V=>{t(q).type==="text"?V(R):t(q).type==="image"&&V(M,1)})}u(C,O)}),u(E,x)},N=E=>{const x=K(()=>d(e.blocks));var S=Rt(),C=Ae(S);We(C,17,()=>t(x),$t,(q,O,H)=>{var R=Rt(),M=Ae(R);{var V=B=>{var P=lh();Vn(P,()=>ja(t(O).text),!0),u(B,P)},G=B=>{const P=K(()=>e.entryIndex*1e3+H);{let z=K(()=>t(O).tool.isError??!1),J=K(()=>e.openTools.has(t(P)));Xf(B,{get name(){return t(O).tool.name},get input(){return t(O).tool.input},get output(){return t(O).tool.output},get isError(){return t(z)},get isOpen(){return t(J)},onToggle:()=>e.onToggleTool(t(P))})}},Y=B=>{var P=oh();j(()=>_t(P,"src",`data:${t(O).media_type};base64,${t(O).data}`)),u(B,P)};A(M,B=>{t(O).kind==="text"?B(V):t(O).kind==="tool"?B(G,1):t(O).kind==="image"&&B(Y,2)})}u(q,R)}),u(E,S)};A(k,E=>{e.role==="user"?E(w):E(N,-1)})}j(()=>p=Ze(m,1,"entry svelte-16zmiqs",null,p,{"new-sender":a()})),u(n,m),ht()}At(["click"]);var vh=h('<div class="loading-older svelte-tjsfkk">Loading older messages...</div>'),uh=h('<div class="load-more svelte-tjsfkk"><button class="load-more-btn svelte-tjsfkk">Load older messages</button></div>'),fh=h('<div class="empty error svelte-tjsfkk"> </div>'),hh=h('<div class="empty svelte-tjsfkk">Send a message to start chatting.</div>'),ph=h('<div class="divider svelte-tjsfkk"><div class="divider-line svelte-tjsfkk"></div> <span> </span> <div class="divider-line svelte-tjsfkk"></div></div>'),mh=h('<div class="messages svelte-tjsfkk"><!> <!> <!> <!></div>');function _h(n,e){ft(e,!0);let a=Ht(e,"loadError",3,""),r=Ht(e,"hasMore",3,!1),s=Ht(e,"loadingOlder",3,!1),l=Ht(e,"minds",19,()=>[]),c=Ht(e,"participants",19,()=>[]),v,d=I(rt(new Set)),m=!0,p=K(()=>new Map(l().map(P=>[P.name,P])));const b=["var(--blue)","var(--purple)","var(--yellow)","var(--red)","var(--accent)"];let _=K(()=>{const P=new Map;for(const z of e.entries){const J=z.senderName;J&&!P.has(J)&&P.set(J,b[P.size%b.length])}return P});function g(P){if(P===0)return!0;const z=e.entries[P-1],J=e.entries[P];return z.senderName!==J.senderName||z.senderName==="system"}function y(P){if(!P)return"";try{return new Date(P.endsWith("Z")?P:`${P}Z`).toLocaleDateString()}catch{return""}}function k(P){const z=e.entries[P];if(!z.createdAt)return!1;if(P===0)return!0;const J=e.entries[P-1];return y(z.createdAt)!==y(J.createdAt)}function w(P){return P.role==="user"?P.senderName?t(_).get(P.senderName)??"var(--blue)":"var(--blue)":P.senderName?t(_).get(P.senderName)??"var(--accent)":"var(--accent)"}function N(P){const z=new Set(t(d));z.has(P)?z.delete(P):z.add(P),i(d,z,!0)}function E(P){const z=P||m;requestAnimationFrame(()=>{requestAnimationFrame(()=>{!v||!z||(v.scrollTop=v.scrollHeight)})})}function x(){i(d,new Set,!0)}Tt(()=>{if(!v)return;const P=new ResizeObserver(()=>{m&&(v.scrollTop=v.scrollHeight)});return P.observe(v),()=>P.disconnect()});function S(){v&&(m=v.scrollHeight-v.scrollTop-v.clientHeight<100,!(!r()||s()||!e.onLoadOlder)&&v.scrollTop<100&&e.onLoadOlder())}var C={scrollToBottom:E,resetToolState:x},q=mh(),O=o(q);{var H=P=>{var z=vh();u(P,z)};A(O,P=>{s()&&P(H)})}var R=f(O,2);{var M=P=>{var z=uh(),J=o(z);U("click",J,function(...ie){e.onLoadOlder?.apply(this,ie)}),u(P,z)};A(R,P=>{r()&&!s()&&P(M)})}var V=f(R,2);{var G=P=>{var z=fh(),J=o(z);j(()=>T(J,a())),u(P,z)},Y=P=>{var z=hh();u(P,z)};A(V,P=>{a()?P(G):e.entries.length===0&&P(Y,1)})}var B=f(V,2);return We(B,19,()=>e.entries,P=>P.id,(P,z,J)=>{var ie=Rt(),ue=Ae(ie);{var _e=he=>{var Ee=ph(),ae=f(o(Ee),2),Z=o(ae);j(de=>T(Z,de),[()=>t(z).blocks[0].text.slice(1,-1)]),u(he,Ee)},Se=K(()=>t(z).senderName==="system"&&t(z).blocks.length===1&&t(z).blocks[0].type==="text"&&t(z).blocks[0].text.match(/^\[.+\]$/)),fe=he=>{{let Ee=K(()=>g(t(J))),ae=K(()=>k(t(J))),Z=K(()=>w(t(z)));dh(he,{get role(){return t(z).role},get blocks(){return t(z).blocks},get senderName(){return t(z).senderName},get createdAt(){return t(z).createdAt},get showHeader(){return t(Ee)},get showDate(){return t(ae)},get senderColor(){return t(Z)},get entryIndex(){return t(J)},get openTools(){return t(d)},onToggleTool:N,get mindsByName(){return t(p)},get participants(){return c()},get onOpenMind(){return e.onOpenMind}})}};A(ue,he=>{t(Se)?he(_e):he(fe,-1)})}u(P,ie)}),pn(q,P=>v=P,()=>v),Ut("scroll",q,S),u(n,q),ht(C)}At(["click"]);var gh=h('<div class="typing svelte-em2dtd"> </div>');function bh(n,e){ft(e,!0);var a=Rt(),r=Ae(a);{var s=l=>{var c=gh(),v=o(c);j(d=>T(v,d),[()=>e.names.length===1?`${e.names[0]} is typing...`:`${e.names.join(", ")} are typing...`]),u(l,c)};A(r,l=>{e.names.length>0&&l(s)})}u(n,a),ht()}var yh=h('<div class="orientation-bar svelte-6z343n">orientation</div>'),wh=h('<div class="channel-header svelte-6z343n"><span class="channel-title svelte-6z343n"> </span></div>'),kh=h('<div class="chat svelte-6z343n"><!> <!> <!> <!> <!></div>');function Ds(n,e){ft(e,!0);let a=Ht(e,"convType",3,"dm"),r=Ht(e,"channelName",3,""),s=Ht(e,"minds",19,()=>[]),l=Ht(e,"participants",19,()=>[]),c=0,v=I(rt([])),d=I(""),m=I(!1),p=I(rt([])),b=I(!1),_=I(!1),g=null,y=0,k;Tt(()=>{e.onTypingNames?.(t(p))});const w=new Map;function N(B){return Array.isArray(B)?B:[{type:"text",text:String(B)}]}function E(B){return B.map(P=>({id:c++,serverId:P.id,role:P.role,blocks:N(P.content),senderName:P.sender_name??void 0,createdAt:P.created_at}))}async function x(B,P){w.get(B);try{const z=await Ss(B,{limit:50});i(d,""),i(v,E(z.items),!0),i(b,z.hasMore,!0),w.set(B,{entries:t(v),hasMore:t(b)}),P&&k?.scrollToBottom(!0)}catch(z){i(d,z instanceof Error?z.message:"Failed to load messages",!0)}}async function S(){if(!g||t(_)||!t(b))return;const B=t(v)[0]?.serverId;if(B){i(_,!0);try{const P=await Ss(g,{before:B,limit:50});if(P.items.length>0){const z=E(P.items);i(v,[...z,...t(v)],!0),i(b,P.hasMore,!0),w.set(g,{entries:t(v),hasMore:t(b)})}else i(b,!1)}catch(P){i(d,P instanceof Error?P.message:"Failed to load older messages",!0)}i(_,!1)}}Tt(()=>{if(g=e.conversationId,clearTimeout(y),i(p,[],!0),k?.resetToolState(),!e.conversationId){i(v,[],!0),i(b,!1);return}x(e.conversationId,!0)}),Tt(()=>{if(!e.conversationId)return;const B=so(P=>{if(P.event==="conversation"&&P.conversationId===e.conversationId){if(P.type==="message"){if(P.role==="user"&&P.senderName===e.username)return;const z={id:c++,role:P.role,blocks:N(P.content),senderName:P.senderName??void 0,createdAt:P.createdAt};i(v,[...t(v),z],!0),g&&w.set(g,{entries:t(v),hasMore:t(b)}),k?.scrollToBottom()}else if(P.type==="typing"){const z=P.senders;i(p,z.filter(J=>J!==e.username),!0),clearTimeout(y),t(p).length>0&&(y=window.setTimeout(()=>{i(p,[],!0)},15e3))}}});return()=>{B(),clearTimeout(y)}});async function C(B,P,z){const J=[];B&&J.push({type:"text",text:B});for(const ie of P)J.push({type:"image",media_type:ie.media_type,data:ie.data});for(const ie of z)J.push({type:"text",text:`[file] ${ie.filename}`});i(v,[...t(v),{id:c++,role:"user",blocks:J,senderName:e.username,createdAt:new Date().toISOString()}],!0),i(m,!0),k?.scrollToBottom(!0);try{let ie;a()==="channel"&&g?ie=(await Rd(g,B,P.length>0?P:void 0,z.length>0?z:void 0)).conversationId:ie=(await jd(e.name,B,g??void 0,P.length>0?P:void 0,z.length>0?z:void 0)).conversationId,g=ie,e.onConversationId(ie)}catch(ie){console.error("Failed to send message:",ie),i(v,[...t(v),{id:c++,role:"assistant",blocks:[{type:"text",text:"*Failed to send message. Please try again.*"}],senderName:"system"}],!0)}i(m,!1)}var q=kh(),O=o(q);{var H=B=>{var P=yh();u(B,P)};A(O,B=>{e.stage==="seed"&&B(H)})}var R=f(O,2);{var M=B=>{var P=wh(),z=o(P),J=o(z);j(()=>T(J,`#${r()??""}`)),u(B,P)};A(R,B=>{a()==="channel"&&r()&&B(M)})}var V=f(R,2);pn(_h(V,{get entries(){return t(v)},get loadError(){return t(d)},get hasMore(){return t(b)},get loadingOlder(){return t(_)},onLoadOlder:S,get minds(){return s()},get participants(){return l()},get onOpenMind(){return e.onOpenMind}}),B=>k=B,()=>k);var G=f(V,2);bh(G,{get names(){return t(p)}});var Y=f(G,2);Vf(Y,{get sending(){return t(m)},onSend:C,get mindName(){return e.name},get conversationId(){return e.conversationId},get username(){return e.username}}),u(n,q),ht()}var xh=h('<span class="badge svelte-w1qana"><span></span> </span>');function jo(n,e){const a={active:{color:"var(--text-0)",bg:"var(--muted-bg)",iridescent:!0,label:"active"},running:{color:"var(--text-0)",bg:"var(--muted-bg)",label:"awake"},starting:{color:"var(--yellow)",bg:"var(--yellow-bg)",label:"waking"},sleeping:{color:"var(--blue)",bg:"var(--blue-bg)",label:"asleep"},stopped:{color:"var(--text-2)",bg:"var(--muted-bg)",label:"offline"},connected:{color:"var(--blue)",bg:"var(--blue-bg)",label:"connected"},disconnected:{color:"var(--text-2)",bg:"var(--muted-bg)",label:"disconnected"},dead:{color:"var(--red)",bg:"var(--red-bg)",label:"dead"},"no-server":{color:"var(--text-2)",bg:"var(--muted-bg)",label:"no-server"}};let r=K(()=>a[e.status]??a.stopped);var s=xh();let l;var c=o(s);let v,d;var m=f(c);j(()=>{l=Ct(s,"",l,{background:t(r).bg,color:t(r).color}),v=Ze(c,1,"dot svelte-w1qana",null,v,{iridescent:t(r).iridescent}),d=Ct(c,"",d,{background:t(r).iridescent?void 0:t(r).color,animation:e.status==="starting"?"pulse 1.5s ease infinite":e.status==="sleeping"?"breathe 4s ease-in-out infinite":"none"}),T(m,` ${t(r).label??""}`)}),u(n,s)}var Sh=h('<div class="empty svelte-wh20l9">Loading...</div>'),Eh=h('<div class="error svelte-wh20l9">Failed to load configuration.</div>'),Th=h('<div class="error svelte-wh20l9"> </div>'),Ah=h('<button class="action-btn start-btn svelte-wh20l9"> </button>'),Ch=h('<button class="action-btn stop-btn svelte-wh20l9"> </button>'),Mh=h('<div class="error svelte-wh20l9"> </div>'),jh=h("<option> </option>"),Rh=h('<div class="env-add-row svelte-wh20l9"><input type="text" class="env-input key svelte-wh20l9" placeholder="KEY"/> <input type="text" class="env-input value svelte-wh20l9" placeholder="value"/> <button class="save-btn svelte-wh20l9"> </button> <button class="cancel-btn svelte-wh20l9">Cancel</button></div>'),Ih=h('<div class="empty small svelte-wh20l9">No environment variables set.</div>'),Nh=h('<span class="env-key svelte-wh20l9"> </span> <input type="text" class="env-input value svelte-wh20l9"/> <button class="save-btn svelte-wh20l9"> </button> <button class="cancel-btn svelte-wh20l9">Cancel</button>',1),Ph=h('<span class="env-source svelte-wh20l9">shared</span>'),Lh=h('<button class="icon-btn svelte-wh20l9" title="Edit">Edit</button>'),Oh=h('<span class="env-key svelte-wh20l9"> <!></span> <span><!></span> <button class="icon-btn svelte-wh20l9" title="Toggle visibility"> </button> <!> <button class="icon-btn danger svelte-wh20l9" title="Delete"> </button>',1),Dh=h('<div class="env-row svelte-wh20l9"><!></div>'),zh=h('<div class="env-list svelte-wh20l9"></div>'),Fh=h('<!> <div class="section svelte-wh20l9"><div class="section-title svelte-wh20l9">Status</div> <div class="status-row svelte-wh20l9"><!> <!></div> <!></div> <div class="section svelte-wh20l9"><div class="section-title svelte-wh20l9">Settings</div> <div class="setting-row svelte-wh20l9"><label class="setting-label svelte-wh20l9" for="model-input">Model</label> <div class="setting-control svelte-wh20l9"><input id="model-input" type="text" class="setting-input svelte-wh20l9" placeholder="e.g. claude-sonnet-4-6"/> <button class="save-btn svelte-wh20l9"> </button></div></div> <div class="setting-row svelte-wh20l9"><label class="setting-label svelte-wh20l9" for="thinking-select">Thinking</label> <div class="setting-control svelte-wh20l9"><select id="thinking-select" class="setting-select svelte-wh20l9"></select></div></div> <div class="setting-row svelte-wh20l9"><label class="setting-label svelte-wh20l9" for="budget-input">Token budget</label> <div class="setting-control svelte-wh20l9"><input id="budget-input" type="number" class="setting-input narrow svelte-wh20l9" placeholder="tokens"/> <span class="setting-hint svelte-wh20l9">per</span> <input id="period-input" type="number" class="setting-input narrow svelte-wh20l9" placeholder="60"/> <span class="setting-hint svelte-wh20l9">min</span> <button class="save-btn svelte-wh20l9"> </button></div></div></div> <div class="section svelte-wh20l9"><div class="section-header svelte-wh20l9"><span class="section-title svelte-wh20l9">Environment Variables</span> <button class="add-btn svelte-wh20l9">Add</button></div> <!> <!></div>',1);function Uh(n,e){ft(e,!0);let a=K(()=>e.mind.name),r=I(null),s=I(null),l=I(""),c=I(!0),v=I(""),d=I("off"),m=I(""),p=I(""),b=I(null),_=I(rt(new Set)),g=I(!1),y=I(""),k=I(""),w=I(null),N=I("");const E=["off","minimal","low","medium","high","xhigh"];function x(Z){i(v,Z.config.model??"",!0),i(d,Z.config.thinkingLevel??"off",!0),i(m,Z.config.tokenBudget!=null?String(Z.config.tokenBudget):"",!0),i(p,Z.config.tokenBudgetPeriodMinutes!=null?String(Z.config.tokenBudgetPeriodMinutes):"",!0)}async function S(){try{const[Z,de]=await Promise.all([rs(t(a)),Er(t(a))]);i(r,Z,!0),i(s,de,!0),x(Z),i(l,"")}catch{i(l,"Failed to load config")}i(c,!1)}Zn(()=>{S()});async function C(Z,de){i(b,Z,!0),i(l,"");try{await Ri(t(a),{[Z]:de});const ne=await rs(t(a));i(r,ne,!0),x(ne)}catch(ne){i(l,ne instanceof Error?ne.message:"Failed to save",!0)}i(b,null)}function q(){C("model",t(v))}function O(Z){const de=Z.target.value;i(d,de,!0),C("thinkingLevel",de)}function H(Z){const de=Z.trim();if(!de)return null;const ne=parseInt(de,10);return Number.isNaN(ne)?null:ne}async function R(){i(b,"budget"),i(l,"");try{await Ri(t(a),{tokenBudget:H(t(m)),tokenBudgetPeriodMinutes:H(t(p))});const Z=await rs(t(a));i(r,Z,!0),x(Z)}catch(Z){i(l,Z instanceof Error?Z.message:"Failed to save",!0)}i(b,null)}let M=K(()=>{if(!t(s))return[];const Z=[];for(const[de,ne]of Object.entries(t(s).shared))Z.push({key:de,value:ne,source:"shared"});for(const[de,ne]of Object.entries(t(s).mind)){const ge=Z.findIndex(re=>re.key===de);ge>=0?Z[ge]={key:de,value:ne,source:"mind"}:Z.push({key:de,value:ne,source:"mind"})}return Z.sort((de,ne)=>de.key.localeCompare(ne.key))});function V(Z){const de=new Set(t(_));de.has(Z)?de.delete(Z):de.add(Z),i(_,de,!0)}function G(Z,de){i(w,Z,!0),i(N,de,!0)}async function Y(){if(t(w)){i(b,`env:${t(w)}`),i(l,"");try{await Ii(t(a),t(w),t(N)),i(s,await Er(t(a)),!0),i(w,null),i(N,"")}catch(Z){i(l,Z instanceof Error?Z.message:"Failed to save",!0)}i(b,null)}}async function B(Z,de){i(b,`env:${Z}`),i(l,"");try{de==="shared"?await Pd(Z):await Nd(t(a),Z),i(s,await Er(t(a)),!0)}catch(ne){i(l,ne instanceof Error?ne.message:"Failed to delete",!0)}i(b,null)}async function P(){if(t(y).trim()){i(b,"env:add"),i(l,"");try{await Ii(t(a),t(y).trim(),t(k)),i(s,await Er(t(a)),!0),i(y,""),i(k,""),i(g,!1)}catch(Z){i(l,Z instanceof Error?Z.message:"Failed to add",!0)}i(b,null)}}let z=I(!1),J=I("");async function ie(){i(z,!0),i(J,"");try{await Kl(t(a))}catch(Z){i(J,Z instanceof Error?Z.message:"Failed to start",!0),i(z,!1);return}try{dt.minds=await Dr()}catch{i(J,"Started but failed to refresh status")}i(z,!1)}async function ue(){i(z,!0),i(J,"");try{await Sd(t(a))}catch(Z){i(J,Z instanceof Error?Z.message:"Failed to stop",!0),i(z,!1);return}try{dt.minds=await Dr()}catch{i(J,"Stopped but failed to refresh status")}i(z,!1)}function _e(Z,de){Z.key==="Enter"&&de()}var Se=Rt(),fe=Ae(Se);{var he=Z=>{var de=Sh();u(Z,de)},Ee=Z=>{var de=Eh();u(Z,de)},ae=Z=>{var de=Fh(),ne=Ae(de);{var ge=Fe=>{var Je=Th(),Qe=o(Je);j(()=>T(Qe,t(l))),u(Fe,Je)};A(ne,Fe=>{t(l)&&Fe(ge)})}var re=f(ne,2),F=f(o(re),2),Q=o(F);{let Fe=K(()=>$s(e.mind));jo(Q,{get status(){return t(Fe)}})}var le=f(Q,2);{var $=Fe=>{var Je=Ah();let Qe;var tt=o(Je);j(()=>{Je.disabled=t(z),Qe=Ct(Je,"",Qe,{opacity:t(z)?.5:1}),T(tt,t(z)?"Starting...":"Start")}),U("click",Je,ie),u(Fe,Je)},ee=Fe=>{var Je=Ch();let Qe;var tt=o(Je);j(()=>{Je.disabled=t(z),Qe=Ct(Je,"",Qe,{opacity:t(z)?.5:1}),T(tt,t(z)?"Stopping...":"Stop")}),U("click",Je,ue),u(Fe,Je)};A(le,Fe=>{e.mind.status==="stopped"?Fe($):Fe(ee,-1)})}var W=f(F,2);{var ye=Fe=>{var Je=Mh(),Qe=o(Je);j(()=>T(Qe,t(J))),u(Fe,Je)};A(W,Fe=>{t(J)&&Fe(ye)})}var me=f(re,2),Ce=f(o(me),2),Ie=f(o(Ce),2),ke=o(Ie),we=f(ke,2),Pe=o(we),Me=f(Ce,2),De=f(o(Me),2),X=o(De);We(X,21,()=>E,$t,(Fe,Je)=>{var Qe=jh(),tt=o(Qe),at={};j(()=>{T(tt,t(Je)),at!==(at=t(Je))&&(Qe.value=(Qe.__value=t(Je))??"")}),u(Fe,Qe)});var te;Vl(X);var D=f(Me,2),oe=f(o(D),2),pe=o(oe),ve=f(pe,4),Re=f(ve,4),Oe=o(Re),Xe=f(me,2),Be=o(Xe),He=f(o(Be),2),je=f(Be,2);{var ze=Fe=>{var Je=Rh(),Qe=o(Je),tt=f(Qe,2),at=f(tt,2),xt=o(at),qt=f(at,2);j(()=>{at.disabled=t(b)!==null,T(xt,t(b)==="env:add"?"...":"Add")}),U("keydown",Qe,Dt=>_e(Dt,P)),mt(Qe,()=>t(y),Dt=>i(y,Dt)),U("keydown",tt,Dt=>_e(Dt,P)),mt(tt,()=>t(k),Dt=>i(k,Dt)),U("click",at,P),U("click",qt,()=>i(g,!1)),u(Fe,Je)};A(je,Fe=>{t(g)&&Fe(ze)})}var ot=f(je,2);{var vt=Fe=>{var Je=Ih();u(Fe,Je)},it=Fe=>{var Je=zh();We(Je,21,()=>t(M),Qe=>Qe.key,(Qe,tt)=>{var at=Dh(),xt=o(at);{var qt=Wt=>{var jt=Nh(),It=Ae(jt),Gt=o(It),Nt=f(It,2),St=f(Nt,2),tn=o(St),fn=f(St,2);j(()=>{T(Gt,t(tt).key),St.disabled=t(b)!==null,T(tn,t(b)===`env:${t(tt).key}`?"...":"Save")}),U("keydown",Nt,an=>_e(an,Y)),mt(Nt,()=>t(N),an=>i(N,an)),U("click",St,Y),U("click",fn,()=>i(w,null)),u(Wt,jt)},Dt=Wt=>{var jt=Oh(),It=Ae(jt),Gt=o(It),Nt=f(Gt);{var St=ce=>{var Te=Ph();u(ce,Te)};A(Nt,ce=>{t(tt).source==="shared"&&ce(St)})}var tn=f(It,2);let fn;var an=o(tn);{var la=ce=>{var Te=sa();j(()=>T(Te,t(tt).value)),u(ce,Te)},rn=K(()=>t(_).has(t(tt).key)),se=ce=>{var Te=sa("••••••••");u(ce,Te)};A(an,ce=>{t(rn)?ce(la):ce(se,-1)})}var be=f(tn,2),Le=o(be),Pt=f(be,2);{var Lt=ce=>{var Te=Lh();U("click",Te,()=>G(t(tt).key,t(tt).value)),u(ce,Te)};A(Pt,ce=>{t(tt).source==="mind"&&ce(Lt)})}var Ne=f(Pt,2),L=o(Ne);j((ce,Te)=>{T(Gt,`${t(tt).key??""} `),fn=Ze(tn,1,"env-value svelte-wh20l9",null,fn,ce),T(Le,Te),Ne.disabled=t(b)!==null,T(L,t(b)===`env:${t(tt).key}`?"...":"Del")},[()=>({masked:!t(_).has(t(tt).key)}),()=>t(_).has(t(tt).key)?"Hide":"Show"]),U("click",be,()=>V(t(tt).key)),U("click",Ne,()=>B(t(tt).key,t(tt).source)),u(Wt,jt)};A(xt,Wt=>{t(w)===t(tt).key?Wt(qt):Wt(Dt,-1)})}u(Qe,at)}),u(Fe,Je)};A(ot,Fe=>{t(M).length===0?Fe(vt):Fe(it,-1)})}j(()=>{we.disabled=t(b)!==null,T(Pe,t(b)==="model"?"...":"Save"),X.disabled=t(b)!==null,te!==(te=t(d))&&(X.value=(X.__value=t(d))??"",Xs(X,t(d))),Re.disabled=t(b)!==null,T(Oe,t(b)==="budget"?"...":"Save")}),U("keydown",ke,Fe=>_e(Fe,q)),mt(ke,()=>t(v),Fe=>i(v,Fe)),U("click",we,q),U("change",X,O),U("keydown",pe,Fe=>_e(Fe,R)),mt(pe,()=>t(m),Fe=>i(m,Fe)),U("keydown",ve,Fe=>_e(Fe,R)),mt(ve,()=>t(p),Fe=>i(p,Fe)),U("click",Re,R),U("click",He,()=>i(g,!0)),u(Z,de)};A(fe,Z=>{t(c)?Z(he):t(r)?Z(ae,-1):Z(Ee,1)})}u(n,Se),ht()}At(["click","keydown","change"]);var Bh=h('<div class="error svelte-l4ioia"> </div>'),Hh=h('<div class="empty svelte-l4ioia">Loading...</div>'),qh=h('<div class="empty svelte-l4ioia">No shared skills available.</div>'),Wh=h('<div class="skill-desc svelte-l4ioia"> </div>'),Gh=h('<span class="installed-tag svelte-l4ioia">installed</span>'),Vh=h('<button class="action-btn install-btn svelte-l4ioia"> </button>'),Yh=h('<div class="skill-row svelte-l4ioia"><div class="skill-info svelte-l4ioia"><div class="skill-name svelte-l4ioia"> </div> <!> <div class="skill-meta svelte-l4ioia"> </div></div> <div class="skill-actions svelte-l4ioia"><!></div></div>'),Zh=h('<div class="skill-list svelte-l4ioia"></div>'),Kh=h('<div class="modal-body svelte-l4ioia"><!> <!></div>');function Jh(n,e){ft(e,!0);let a=I(rt([])),r=I(""),s=I(!0),l=I(null);Zn(()=>{zr().then(v=>{i(a,v,!0),i(s,!1)}).catch(()=>{i(r,"Failed to load shared skills"),i(s,!1)})});async function c(v){i(l,v,!0),i(r,"");try{await Bd(e.name,v),e.onInstalled();try{i(a,await zr(),!0)}catch{}}catch(d){i(r,d instanceof Error?d.message:"Failed to install",!0)}i(l,null)}na(n,{size:"480px",title:"Add Skill",get onClose(){return e.onClose},children:(v,d)=>{var m=Kh(),p=o(m);{var b=w=>{var N=Bh(),E=o(N);j(()=>T(E,t(r))),u(w,N)};A(p,w=>{t(r)&&w(b)})}var _=f(p,2);{var g=w=>{var N=Hh();u(w,N)},y=w=>{var N=qh();u(w,N)},k=w=>{var N=Zh();We(N,21,()=>t(a),E=>E.id,(E,x)=>{var S=Yh(),C=o(S),q=o(C),O=o(q),H=f(q,2);{var R=J=>{var ie=Wh(),ue=o(ie);j(()=>T(ue,t(x).description)),u(J,ie)};A(H,J=>{t(x).description&&J(R)})}var M=f(H,2),V=o(M),G=f(C,2),Y=o(G);{var B=J=>{var ie=Gh();u(J,ie)},P=K(()=>e.installedIds.has(t(x).id)),z=J=>{var ie=Vh(),ue=o(ie);j(()=>{ie.disabled=t(l)!==null,T(ue,t(l)===t(x).id?"...":"Install")}),U("click",ie,()=>c(t(x).id)),u(J,ie)};A(Y,J=>{t(P)?J(B):J(z,-1)})}j(()=>{T(O,t(x).name),T(V,`${t(x).id??""} · v${t(x).version??""}`)}),u(E,S)}),u(w,N)};A(_,w=>{t(s)?w(g):t(a).length===0?w(y,1):w(k,-1)})}u(v,m)},$$slots:{default:!0}}),ht()}At(["click"]);var Xh=h('<div class="empty svelte-jfofjj">Loading...</div>'),Qh=h('<div class="error svelte-jfofjj"> </div>'),$h=h('<div class="empty svelte-jfofjj">No skills installed.</div>'),ep=h('<span class="update-badge svelte-jfofjj">update available</span>'),tp=h('<div class="skill-desc svelte-jfofjj"> </div>'),np=h('<span class="upstream-tag svelte-jfofjj"> </span>'),ap=h('<span class="local-tag svelte-jfofjj">local</span>'),rp=h('<button class="action-btn update-btn svelte-jfofjj"> </button>'),sp=h('<div class="skill-row svelte-jfofjj"><div class="skill-info svelte-jfofjj"><div class="skill-name svelte-jfofjj"> <!></div> <!> <div class="skill-meta svelte-jfofjj"> <!></div></div> <div class="skill-actions svelte-jfofjj"><!> <button class="action-btn publish-btn svelte-jfofjj"> </button> <button class="action-btn remove-btn svelte-jfofjj"> </button></div></div>'),ip=h('<div class="skill-list svelte-jfofjj"></div>'),lp=h('<!> <div class="section-header svelte-jfofjj"><span class="section-title svelte-jfofjj">Skills</span> <button class="add-btn svelte-jfofjj">Add skill</button></div> <!>',1),op=h("<!> <!>",1);function cp(n,e){ft(e,!0);let a=I(rt([])),r=I(""),s=I(!0),l=I(null),c=I(!1);function v(){Ud(e.name).then(E=>{i(a,E,!0),i(s,!1),i(r,"")}).catch(()=>{i(r,"Failed to load skills"),i(s,!1)})}Zn(()=>{v()});let d=K(()=>new Set(t(a).map(E=>E.id)));async function m(E){i(l,E,!0),i(r,"");try{const x=await Hd(e.name,E);x.status==="conflict"&&i(r,`Merge conflicts in: ${x.conflictFiles?.join(", ")}. Resolve manually.`),v()}catch(x){i(r,x instanceof Error?x.message:"Failed to update",!0)}i(l,null)}async function p(E){i(l,E,!0),i(r,"");try{await qd(e.name,E),v()}catch(x){i(r,x instanceof Error?x.message:"Failed to publish",!0)}i(l,null)}async function b(E){i(l,E,!0),i(r,"");try{await Wd(e.name,E),v()}catch(x){i(r,x instanceof Error?x.message:"Failed to uninstall",!0)}i(l,null)}var _=op(),g=Ae(_);{var y=E=>{var x=Xh();u(E,x)},k=E=>{var x=lp(),S=Ae(x);{var C=V=>{var G=Qh(),Y=o(G);j(()=>T(Y,t(r))),u(V,G)};A(S,V=>{t(r)&&V(C)})}var q=f(S,2),O=f(o(q),2),H=f(q,2);{var R=V=>{var G=$h();u(V,G)},M=V=>{var G=ip();We(G,21,()=>t(a),Y=>Y.id,(Y,B)=>{var P=sp(),z=o(P),J=o(z),ie=o(J),ue=f(ie);{var _e=ee=>{var W=ep();u(ee,W)};A(ue,ee=>{t(B).updateAvailable&&ee(_e)})}var Se=f(J,2);{var fe=ee=>{var W=tp(),ye=o(W);j(()=>T(ye,t(B).description)),u(ee,W)};A(Se,ee=>{t(B).description&&ee(fe)})}var he=f(Se,2),Ee=o(he),ae=f(Ee);{var Z=ee=>{var W=np(),ye=o(W);j(()=>T(ye,`v${t(B).upstream.version??""}`)),u(ee,W)},de=ee=>{var W=ap();u(ee,W)};A(ae,ee=>{t(B).upstream?ee(Z):ee(de,-1)})}var ne=f(z,2),ge=o(ne);{var re=ee=>{var W=rp(),ye=o(W);j(()=>{W.disabled=t(l)!==null,T(ye,t(l)===t(B).id?"...":"Update")}),U("click",W,()=>m(t(B).id)),u(ee,W)};A(ge,ee=>{t(B).updateAvailable&&ee(re)})}var F=f(ge,2),Q=o(F),le=f(F,2),$=o(le);j(()=>{T(ie,`${t(B).name??""} `),T(Ee,`${t(B).id??""} `),F.disabled=t(l)!==null,T(Q,t(l)===t(B).id?"...":"Publish"),le.disabled=t(l)!==null,T($,t(l)===t(B).id?"...":"Uninstall")}),U("click",F,()=>p(t(B).id)),U("click",le,()=>b(t(B).id)),u(Y,P)}),u(V,G)};A(H,V=>{t(a).length===0?V(R):V(M,-1)})}U("click",O,()=>i(c,!0)),u(E,x)};A(g,E=>{t(s)?E(y):E(k,-1)})}var w=f(g,2);{var N=E=>{Jh(E,{get name(){return e.name},get installedIds(){return t(d)},onClose:()=>i(c,!1),onInstalled:v})};A(w,E=>{t(c)&&E(N)})}u(n,_),ht()}At(["click"]);var dp=h('<div class="empty svelte-1feyap9">Loading...</div>'),vp=h('<div class="empty error-text svelte-1feyap9"> </div>'),up=h('<button class="crumb svelte-1feyap9"> </button>'),fp=h('<button class="file-row svelte-1feyap9"><span class="file-icon svelte-1feyap9">..</span> <span class="file-name svelte-1feyap9">..</span></button>'),hp=h('<button><span class="file-icon svelte-1feyap9"> </span> <span class="file-name svelte-1feyap9"> </span></button>'),pp=h('<div class="empty-dir svelte-1feyap9">Empty directory</div>'),mp=h('<div class="preview-empty svelte-1feyap9">Loading...</div>'),_p=h('<div class="preview-empty error-text svelte-1feyap9"> </div>'),gp=h('<div class="preview-image svelte-1feyap9"><img class="svelte-1feyap9"/></div>'),bp=h('<div class="preview-markdown markdown-body svelte-1feyap9"></div>'),yp=h('<pre class="preview-text svelte-1feyap9"><code class="svelte-1feyap9"> </code></pre>'),wp=h('<div class="preview-empty svelte-1feyap9"><span class="preview-mime svelte-1feyap9"> </span> <a class="download-link svelte-1feyap9" target="_blank" rel="noopener">Download</a></div>'),kp=h('<div class="preview-header svelte-1feyap9"><span class="preview-filename svelte-1feyap9"> </span> <a class="preview-link svelte-1feyap9" target="_blank" rel="noopener">open</a></div> <!>',1),xp=h('<div class="preview-empty svelte-1feyap9">Select a file to preview</div>'),Sp=h('<div class="browser svelte-1feyap9"><div class="file-list svelte-1feyap9"><div class="breadcrumb svelte-1feyap9"><button class="crumb svelte-1feyap9"> </button> <!></div> <!> <!> <!></div> <div class="preview svelte-1feyap9"><!></div></div>'),Ep=h('<div class="public-files svelte-1feyap9"><!></div>');function Ro(n,e){ft(e,!0);let a=I(rt([])),r=I(!0),s=I(""),l=I(""),c=I(null),v=I(null),d=I(!1),m=I(""),p=I(rt([]));const b=new Set(["text/plain","text/html","text/css","text/markdown","application/javascript","application/json","application/xml"]),_=new Set(["image/png","image/jpeg","image/gif","image/svg+xml","image/webp"]);let g=K(()=>t(p).length>0?`${t(p).join("/")}/`:"");async function y(){i(r,!0),i(s,""),i(c,null),i(v,null);try{const G=t(p).length>0?`${t(p).join("/")}/`:"",Y=await fetch(`/public/${encodeURIComponent(e.name)}/${G}`);if(!Y.ok)throw new Error("Failed to load directory");i(a,await Y.json(),!0)}catch(G){i(s,G instanceof Error?G.message:"Failed to load",!0),i(a,[],!0)}finally{i(r,!1)}}Tt(()=>{e.name,t(g),y()});async function k(G){if(G.type==="directory"){i(p,[...t(p),G.name],!0);return}t(v)&&t(x)&&URL.revokeObjectURL(t(v)),i(c,G.name,!0),i(d,!0),i(v,null),i(m,""),i(l,"");try{const Y=t(g)+G.name,B=await fetch(`/public/${encodeURIComponent(e.name)}/${Y}`);if(!B.ok)throw new Error("Failed to load file");i(m,B.headers.get("content-type")??"",!0);const P=t(m).split(";")[0].trim();if(b.has(P))i(v,await B.text(),!0);else if(_.has(P)){const z=await B.blob();i(v,URL.createObjectURL(z),!0)}else i(v,null)}catch(Y){i(v,null),i(l,Y instanceof Error?Y.message:"Failed to load file",!0)}finally{i(d,!1)}}function w(){i(p,t(p).slice(0,-1),!0)}function N(){i(p,[],!0)}let E=K(()=>t(m).split(";")[0].trim()),x=K(()=>_.has(t(E))),S=K(()=>b.has(t(E))),C=K(()=>t(E)==="text/markdown"||(t(c)?.endsWith(".md")??!1));Tt(()=>()=>{t(v)&&t(x)&&URL.revokeObjectURL(t(v))});let q=K(()=>[...t(a)].sort((G,Y)=>G.type!==Y.type?G.type==="directory"?-1:1:G.name.localeCompare(Y.name)));var O=Ep(),H=o(O);{var R=G=>{var Y=dp();u(G,Y)},M=G=>{var Y=vp(),B=o(Y);j(()=>T(B,t(s))),u(G,Y)},V=G=>{var Y=Sp(),B=o(Y),P=o(B),z=o(P),J=o(z),ie=f(z,2);We(ie,17,()=>t(p),$t,(ne,ge,re)=>{var F=up(),Q=o(F);j(()=>T(Q,`${t(ge)??""}/`)),U("click",F,()=>i(p,t(p).slice(0,re+1),!0)),u(ne,F)});var ue=f(P,2);{var _e=ne=>{var ge=fp();U("click",ge,w),u(ne,ge)};A(ue,ne=>{t(p).length>0&&ne(_e)})}var Se=f(ue,2);We(Se,17,()=>t(q),ne=>ne.name,(ne,ge)=>{var re=hp();let F;var Q=o(re),le=o(Q),$=f(Q,2),ee=o($);j(()=>{F=Ze(re,1,"file-row svelte-1feyap9",null,F,{active:t(c)===t(ge).name}),T(le,t(ge).type==="directory"?"📁":"📄"),T(ee,`${t(ge).name??""}${t(ge).type==="directory"?"/":""}`)}),U("click",re,()=>k(t(ge))),u(ne,re)});var fe=f(Se,2);{var he=ne=>{var ge=pp();u(ne,ge)};A(fe,ne=>{t(a).length===0&&ne(he)})}var Ee=f(B,2),ae=o(Ee);{var Z=ne=>{var ge=kp(),re=Ae(ge),F=o(re),Q=o(F),le=f(F,2),$=f(re,2);{var ee=ke=>{var we=mp();u(ke,we)},W=ke=>{var we=_p(),Pe=o(we);j(()=>T(Pe,t(l))),u(ke,we)},ye=ke=>{var we=gp(),Pe=o(we);j(()=>{_t(Pe,"src",t(v)),_t(Pe,"alt",t(c))}),u(ke,we)},me=ke=>{var we=bp();Vn(we,()=>ja(t(v)),!0),u(ke,we)},Ce=ke=>{var we=yp(),Pe=o(we),Me=o(Pe);j(()=>T(Me,t(v))),u(ke,we)},Ie=ke=>{var we=wp(),Pe=o(we),Me=o(Pe),De=f(Pe,2);j(X=>{T(Me,t(m)||"unknown type"),_t(De,"href",`/public/${X??""}/${t(g)??""}${t(c)??""}`)},[()=>encodeURIComponent(e.name)]),u(ke,we)};A($,ke=>{t(d)?ke(ee):t(l)?ke(W,1):t(x)&&t(v)?ke(ye,2):t(C)&&t(v)!==null?ke(me,3):t(S)&&t(v)!==null?ke(Ce,4):ke(Ie,-1)})}j(ke=>{T(Q,`${t(g)??""}${t(c)??""}`),_t(le,"href",`/public/${ke??""}/${t(g)??""}${t(c)??""}`)},[()=>encodeURIComponent(e.name)]),u(ne,ge)},de=ne=>{var ge=xp();u(ne,ge)};A(ae,ne=>{t(c)?ne(Z):ne(de,-1)})}j(()=>T(J,`${e.rootLabel??"public"??""}/`)),U("click",z,N),u(G,Y)};A(H,G=>{t(r)?G(R):t(s)?G(M,1):G(V,-1)})}u(n,O),ht()}At(["click"]);var Tp=h('<div class="turn-connector svelte-173x8i5"></div>'),Ap=h('<span class="time svelte-173x8i5"> </span>'),Cp=h('<span class="time svelte-173x8i5"> </span>'),Mp=h('<span class="chevron svelte-173x8i5"> </span>'),jp=h('<button class="session-tag svelte-173x8i5"> </button>'),Rp=h('<div><div class="summary-header-line svelte-173x8i5"><!> <!></div> <!></div>'),Ip=h('<div class="turn-loading svelte-173x8i5">loading turn...</div>'),Np=h('<div class="turn-loading svelte-173x8i5"> </div>'),Pp=h('<div class="linked-card-msg svelte-173x8i5"><span> </span> </div>'),Lp=h('<div class="linked-card svelte-173x8i5"><div class="linked-card-chat svelte-173x8i5"><div class="linked-card-header svelte-173x8i5"><svg class="linked-card-icon svelte-173x8i5" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"></path></svg> <span class="linked-card-label svelte-173x8i5"> </span></div> <!></div></div>'),Op=h('<div class="linked-card svelte-173x8i5"><!></div>'),Dp=h("<div><!> <!> <!></div>"),zp=h('<div class="linked-card-msg svelte-173x8i5"><span> </span> </div>'),Fp=h('<div class="linked-card svelte-173x8i5"><div class="linked-card-chat svelte-173x8i5"><div class="linked-card-header svelte-173x8i5"><svg class="linked-card-icon svelte-173x8i5" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"></path></svg> <span class="linked-card-label svelte-173x8i5"> </span></div> <!></div></div>'),Up=h('<div class="linked-card svelte-173x8i5"><!></div>'),Bp=h("<!> <!> <!>",1),Hp=h('<div class="turn-branch svelte-173x8i5" role="group"><!> <button class="branch-summary svelte-173x8i5"><div class="event-header svelte-173x8i5"><span class="time svelte-173x8i5"> </span> <span class="type-badge svelte-173x8i5">summary</span></div> <span class="summary-text svelte-173x8i5"> </span></button> <div class="branch-return svelte-173x8i5"></div></div>'),qp=h('<span class="summary-text svelte-173x8i5"> </span>'),Wp=h('<!> <div class="event-body svelte-173x8i5"><!></div>',1),Gp=h('<span class="channel-tag svelte-173x8i5"> </span>'),Vp=h('<span class="chevron svelte-173x8i5"> </span>'),Yp=h('<span class="sender inbound svelte-173x8i5"> </span> <div class="user-text svelte-173x8i5"> </div>',1),Zp=h('<span class="sender outbound svelte-173x8i5">mind</span> <div class="markdown-body"></div>',1),Kp=h('<div class="markdown-body"></div>'),Jp=h('<pre class="detail svelte-173x8i5"> </pre>'),Xp=h('<span class="summary svelte-173x8i5"> </span> <!>',1),Qp=h("<span> </span>"),$p=h("<pre> </pre>"),em=h('<span class="summary dim svelte-173x8i5"> </span>'),tm=h('<div class="detail-text dim svelte-173x8i5"> </div>'),nm=h('<span class="model svelte-173x8i5"> </span>'),am=h('<span class="usage-line svelte-173x8i5"> <!></span>'),rm=h('<span class="session-id svelte-173x8i5"> </span>'),sm=h('<span class="dim svelte-173x8i5">session started</span> <!>',1),im=h('<span class="dim svelte-173x8i5">processing complete</span>'),lm=h("<span> </span>"),om=h('<span class="dim svelte-173x8i5"> </span> <!>',1),cm=h('<div class="event-header svelte-173x8i5"><span class="time svelte-173x8i5"> </span> <span class="type-badge svelte-173x8i5"> </span> <!> <!></div> <div class="event-body svelte-173x8i5"><!></div>',1),dm=h('<div><div class="marker svelte-173x8i5"></div> <!> <!></div>');function cr(n,e){ft(e,!0);let a=Ht(e,"expandable",3,!1),r=Ht(e,"compact",3,!1),s=Ht(e,"turnConversations",19,()=>[]),l=Ht(e,"turnActivities",19,()=>[]),c=I(!1),v=I(!1),d=I(!1),m=I(""),p=I(rt([]));const b={inbound:"var(--red)",outbound:"var(--green)",text:"var(--blue)",tool_use:"var(--yellow)",tool_result:"var(--yellow)",thinking:"var(--purple)",usage:"var(--purple)",log:"var(--text-2)",session_start:"var(--accent)",done:"var(--text-2)",summary:"var(--text-0)"};let _=K(()=>b[e.event.type]??"var(--text-2)"),g=K(()=>{if(!e.event.metadata)return null;try{return JSON.parse(e.event.metadata)}catch{return null}}),y=K(()=>e.event.type==="tool_use"&&!!e.event.content||e.event.type==="tool_result"&&!!e.event.content||e.event.type==="thinking"&&!!e.event.content||e.event.type==="summary"&&a());function k(B){return new Date(xa(B)).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function w(B,P){return!B||B.length<=P?B??"":`${B.slice(0,P)}...`}function N(B){if(typeof B=="string")try{return JSON.stringify(JSON.parse(B),null,2)}catch{return B}return JSON.stringify(B,null,2)}let E=I(void 0);async function x(){if(e.event.type==="summary"&&a()){if(i(v,!t(v)),t(v)&&t(p).length===0){const B=!!e.event.turn_id,P=e.event.session&&t(g)?.from_id&&t(g)?.to_id;if(!B&&!P){i(m,"Missing turn data");return}i(d,!0),i(m,"");try{i(p,await Es(e.mindName,B?{turnId:e.event.turn_id}:{session:e.event.session,fromId:t(g).from_id,toId:t(g).to_id}),!0)}catch(z){i(m,"Failed to load turn details"),console.warn("Failed to fetch turn events:",z)}finally{i(d,!1)}}t(v)&&(await Ul(),t(E)?.scrollIntoView({behavior:"smooth",block:"start"})),e.onexpand?.(t(v),t(E))}else t(y)&&i(c,!t(c))}var S=dm();let C,q;var O=o(S);let H;var R=f(O,2);{var M=B=>{var P=Tp();u(B,P)};A(R,B=>{e.event.type==="summary"&&t(v)&&B(M)})}var V=f(R,2);{var G=B=>{var P=Wp(),z=Ae(P);{var J=fe=>{var he=Rp();let Ee;var ae=o(he),Z=o(ae);{var de=le=>{var $=Ap(),ee=o($);j((W,ye)=>T(ee,`${W??""} – ${ye??""}`),[()=>k(t(g).from_time),()=>k(t(g).to_time)]),u(le,$)},ne=le=>{var $=Cp(),ee=o($);j(W=>T(ee,W),[()=>k(e.event.created_at)]),u(le,$)};A(Z,le=>{t(g)?.from_time&&t(g)?.to_time?le(de):le(ne,-1)})}var ge=f(Z,2);{var re=le=>{var $=Mp(),ee=o($);j(()=>T(ee,t(v)?"▼":"▶")),u(le,$)};A(ge,le=>{a()&&le(re)})}var F=f(ae,2);{var Q=le=>{var $=jp(),ee=o($);j(()=>T(ee,e.event.session)),U("click",$,W=>{W.stopPropagation(),e.onsessionclick?.(e.event.session)}),u(le,$)};A(F,le=>{e.event.session&&!a()&&le(Q)})}j(()=>Ee=Ze(he,1,"summary-header svelte-173x8i5",null,Ee,{expanded:t(v)})),u(fe,he)};A(z,fe=>{(!r()||t(v))&&fe(J)})}var ie=f(z,2),ue=o(ie);{var _e=fe=>{var he=Hp(),Ee=o(he);{var ae=W=>{var ye=Ip();u(W,ye)},Z=W=>{var ye=Np(),me=o(ye);j(()=>T(me,t(m))),u(W,ye)},de=W=>{var ye=Bp(),me=Ae(ye);We(me,17,()=>t(p),ke=>ke.id,(ke,we)=>{const Pe=K(()=>t(we).type==="tool_use"?s().filter(pe=>pe.messages.some(ve=>ve.source_event_id===t(we).id)):[]),Me=K(()=>t(we).type==="tool_use"?l().filter(pe=>pe.source_event_id===t(we).id):[]);var De=Dp();let X;var te=o(De);cr(te,{get event(){return t(we)},get mindName(){return e.mindName}});var D=f(te,2);We(D,17,()=>t(Pe),pe=>pe.id,(pe,ve)=>{var Re=Lp(),Oe=o(Re),Xe=o(Oe),Be=f(o(Xe),2),He=o(Be),je=f(Xe,2);We(je,17,()=>t(ve).messages.filter(ze=>ze.source_event_id===t(we).id),ze=>ze.id,(ze,ot)=>{var vt=Pp(),it=o(vt);let Fe;var Je=o(it),Qe=f(it);j(tt=>{Fe=Ze(it,1,"linked-card-sender svelte-173x8i5",null,Fe,{"linked-card-sender-user":t(ot).role==="user"}),T(Je,t(ot).sender_name??(t(ot).role==="user"?"user":e.mindName)),T(Qe,` ${tt??""}`)},[()=>Ra(t(ot).content)]),u(ze,vt)}),j(()=>T(He,t(ve).label)),u(pe,Re)});var oe=f(D,2);We(oe,17,()=>t(Me),pe=>pe.id,(pe,ve)=>{var Re=Op(),Oe=o(Re);{let Xe=K(()=>t(ve).metadata?.slug?`/minds/${typeof t(ve).metadata?.author=="string"?t(ve).metadata.author:e.mindName}/notes/${t(ve).metadata.slug}`:""),Be=K(()=>typeof t(ve).metadata?.author=="string"?t(ve).metadata.author:void 0),He=K(()=>typeof t(ve).metadata?.bodyHtml=="string"?t(ve).metadata.bodyHtml:""),je=K(()=>typeof t(ve).metadata?.iframeUrl=="string"?t(ve).metadata.iframeUrl:void 0),ze=K(()=>t(ve).type==="page_updated"?"purple":"yellow");Wr(Oe,{get title(){return t(ve).summary},get url(){return t(Xe)},get date(){return t(ve).created_at},get author(){return t(Be)},get bodyHtml(){return t(He)},get iframeUrl(){return t(je)},icon:'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 2h6l4 4v8H4V2z"/><path d="M10 2v4h4"/><path d="M6 9h6M6 12h4"/></svg>',get color(){return t(ze)}})}u(pe,Re)}),j(()=>X=Ze(De,1,"event-group svelte-173x8i5",null,X,{"has-linked":t(Pe).length>0||t(Me).length>0})),u(ke,De)});var Ce=f(me,2);We(Ce,17,()=>s().filter(ke=>ke.messages.every(we=>!we.source_event_id||!t(p).some(Pe=>Pe.id===we.source_event_id))),ke=>ke.id,(ke,we)=>{var Pe=Fp(),Me=o(Pe),De=o(Me),X=f(o(De),2),te=o(X),D=f(De,2);We(D,17,()=>t(we).messages,oe=>oe.id,(oe,pe)=>{var ve=zp(),Re=o(ve);let Oe;var Xe=o(Re),Be=f(Re);j(He=>{Oe=Ze(Re,1,"linked-card-sender svelte-173x8i5",null,Oe,{"linked-card-sender-user":t(pe).role==="user"}),T(Xe,t(pe).sender_name??(t(pe).role==="user"?"user":e.mindName)),T(Be,` ${He??""}`)},[()=>Ra(t(pe).content)]),u(oe,ve)}),j(()=>T(te,t(we).label)),u(ke,Pe)});var Ie=f(Ce,2);We(Ie,17,()=>l().filter(ke=>!ke.source_event_id||!t(p).some(we=>we.id===ke.source_event_id)),ke=>ke.id,(ke,we)=>{var Pe=Up(),Me=o(Pe);{let De=K(()=>t(we).metadata?.slug?`/minds/${typeof t(we).metadata?.author=="string"?t(we).metadata.author:e.mindName}/notes/${t(we).metadata.slug}`:""),X=K(()=>typeof t(we).metadata?.author=="string"?t(we).metadata.author:void 0),te=K(()=>t(we).type==="page_updated"?"purple":"yellow");Wr(Me,{get title(){return t(we).summary},get url(){return t(De)},get date(){return t(we).created_at},get author(){return t(X)},bodyHtml:"",icon:'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 2h6l4 4v8H4V2z"/><path d="M10 2v4h4"/><path d="M6 9h6M6 12h4"/></svg>',get color(){return t(te)}})}u(ke,Pe)}),u(W,ye)};A(Ee,W=>{t(d)?W(ae):t(m)?W(Z,1):W(de,-1)})}var ne=f(Ee,2),ge=o(ne),re=o(ge),F=o(re),Q=f(re,2);let le;var $=f(ge,2),ee=o($);j(W=>{T(F,W),le=Ct(Q,"",le,{background:`${t(_)??""}15`,color:t(_)}),T(ee,e.event.content)},[()=>k(e.event.created_at)]),U("click",he,W=>W.stopPropagation()),U("click",ne,()=>{i(v,!1)}),u(fe,he)},Se=fe=>{var he=qp(),Ee=o(he);j(()=>T(Ee,e.event.content)),u(fe,he)};A(ue,fe=>{a()&&t(v)?fe(_e):fe(Se,-1)})}u(B,P)},Y=B=>{var P=cm(),z=Ae(P),J=o(z),ie=o(J),ue=f(J,2);let _e;var Se=o(ue),fe=f(ue,2);{var he=me=>{var Ce=Gp(),Ie=o(Ce);j(()=>T(Ie,e.event.channel)),u(me,Ce)};A(fe,me=>{e.event.channel&&(e.event.type==="inbound"||e.event.type==="outbound")&&me(he)})}var Ee=f(fe,2);{var ae=me=>{var Ce=Vp(),Ie=o(Ce);j(()=>T(Ie,t(c)?"▼":"▶")),u(me,Ce)};A(Ee,me=>{t(y)&&me(ae)})}var Z=f(z,2),de=o(Z);{var ne=me=>{var Ce=Yp(),Ie=Ae(Ce),ke=o(Ie),we=f(Ie,2),Pe=o(we);j(()=>{T(ke,e.event.sender??"user"),T(Pe,e.event.content)}),u(me,Ce)},ge=me=>{var Ce=Zp(),Ie=f(Ae(Ce),2);Vn(Ie,()=>ja(e.event.content),!0),u(me,Ce)},re=me=>{var Ce=Kp();Vn(Ce,()=>ja(e.event.content),!0),u(me,Ce)},F=me=>{var Ce=Xp(),Ie=Ae(Ce),ke=o(Ie),we=f(Ie,2);{var Pe=Me=>{var De=Jp(),X=o(De);j(te=>T(X,te),[()=>N(e.event.content)]),u(Me,De)};A(we,Me=>{t(c)&&e.event.content&&Me(Pe)})}j(()=>T(ke,`[${t(g)?.name??"tool"??""}]`)),u(me,Ce)},Q=me=>{var Ce=Rt(),Ie=Ae(Ce);{var ke=Pe=>{var Me=Qp();let De;var X=o(Me);j(te=>{De=Ze(Me,1,"summary svelte-173x8i5",null,De,{error:t(g)?.is_error}),T(X,te)},[()=>w(e.event.content,80)]),u(Pe,Me)},we=Pe=>{var Me=$p();let De;var X=o(Me);j(()=>{De=Ze(Me,1,"detail svelte-173x8i5",null,De,{error:t(g)?.is_error}),T(X,e.event.content)}),u(Pe,Me)};A(Ie,Pe=>{t(c)?Pe(we,-1):Pe(ke)})}u(me,Ce)},le=me=>{var Ce=Rt(),Ie=Ae(Ce);{var ke=Pe=>{var Me=em(),De=o(Me);j(X=>T(De,X),[()=>w(e.event.content,80)]),u(Pe,Me)},we=Pe=>{var Me=tm(),De=o(Me);j(()=>T(De,e.event.content)),u(Pe,Me)};A(Ie,Pe=>{t(c)?Pe(we,-1):Pe(ke)})}u(me,Ce)},$=me=>{var Ce=am(),Ie=o(Ce),ke=f(Ie);{var we=Pe=>{var Me=nm(),De=o(Me);j(()=>T(De,t(g).model)),u(Pe,Me)};A(ke,Pe=>{t(g)?.model&&Pe(we)})}j(()=>T(Ie,`↑${t(g)?.input_tokens??0??""} ↓${t(g)?.output_tokens??0??""} `)),u(me,Ce)},ee=me=>{var Ce=sm(),Ie=f(Ae(Ce),2);{var ke=we=>{var Pe=rm(),Me=o(Pe);j(()=>T(Me,e.event.session)),u(we,Pe)};A(Ie,we=>{e.event.session&&we(ke)})}u(me,Ce)},W=me=>{var Ce=im();u(me,Ce)},ye=me=>{var Ce=om(),Ie=Ae(Ce),ke=o(Ie),we=f(Ie,2);{var Pe=Me=>{var De=lm(),X=o(De);j(()=>T(X,e.event.content)),u(Me,De)};A(we,Me=>{e.event.content&&Me(Pe)})}j(()=>T(ke,e.event.type)),u(me,Ce)};A(de,me=>{e.event.type==="inbound"?me(ne):e.event.type==="outbound"?me(ge,1):e.event.type==="text"?me(re,2):e.event.type==="tool_use"?me(F,3):e.event.type==="tool_result"?me(Q,4):e.event.type==="thinking"?me(le,5):e.event.type==="usage"?me($,6):e.event.type==="session_start"?me(ee,7):e.event.type==="done"?me(W,8):me(ye,-1)})}j(me=>{T(ie,me),_e=Ct(ue,"",_e,{background:`${t(_)??""}15`,color:t(_)}),T(Se,e.event.type)},[()=>k(e.event.created_at)]),u(B,P)};A(V,B=>{e.event.type==="summary"?B(G):B(Y,-1)})}pn(S,B=>i(E,B),()=>t(E)),j(()=>{C=Ze(S,1,"event svelte-173x8i5",null,C,{collapsible:t(y),"expandable-summary":e.event.type==="summary"&&a(),"turn-expanded":e.event.type==="summary"&&t(v)}),_t(S,"role",t(y)?"button":void 0),_t(S,"tabindex",t(y)?0:void 0),q=Ct(S,"",q,{"--type-color":t(_)}),H=Ct(O,"",H,{background:t(_)})}),U("click",S,x),U("keydown",S,function(...B){(t(y)?P=>{(P.key==="Enter"||P.key===" ")&&(P.preventDefault(),x())}:void 0)?.apply(this,B)}),u(n,S),ht()}At(["click","keydown"]);var vm=h('<button class="open-chat-btn svelte-dhei02">Chat</button>'),um=h('<div class="chat-empty svelte-dhei02">Loading...</div>'),fm=h('<div class="chat-empty svelte-dhei02"> </div>'),hm=h('<div class="chat-empty svelte-dhei02">No messages.</div>'),pm=h('<div class="date-divider svelte-dhei02"><div class="divider-line svelte-dhei02"></div> <span> </span> <div class="divider-line svelte-dhei02"></div></div>'),mm=h('<div class="chat-entry-header svelte-dhei02"><span> </span> <span class="chat-timestamp svelte-dhei02"> </span></div>'),_m=h('<div class="markdown-body"></div>'),gm=h("<!> <div><!> <div><!></div></div>",1),bm=h('<div class="chat-scroll svelte-dhei02"></div>'),ym=h('<div class="read-only-chat svelte-dhei02"><!></div>');function wm(n,e){ft(e,!0);let a=Ht(e,"canChat",3,!1),r=I(rt([])),s=I(!0),l=I(null),c=I(void 0),v=K(()=>{if(e.conversation.type==="channel"&&e.conversation.name)return`#${e.conversation.name}`;const b=(e.conversation.participants??[]).filter(_=>_.username!==e.mindName);return b.length>0?b.map(_=>`@${_.username}`).join(", "):e.conversation.title?e.conversation.title:"Conversation"});Tt(()=>{i(s,!0),i(l,null),Ad(e.mindName,e.conversation.id,{limit:50}).then(p=>{i(r,p.items,!0),requestAnimationFrame(()=>{t(c)&&(t(c).scrollTop=t(c).scrollHeight)})}).catch(p=>{console.warn("Failed to load conversation messages:",p),i(r,[],!0),i(l,p?.message?.includes("403")||p?.message?.includes("private")?"This is a private conversation.":"Failed to load messages.",!0)}).finally(()=>{i(s,!1)})});function d(p){try{return new Date(p.endsWith("Z")?p:`${p}Z`).toLocaleDateString()}catch{return""}}function m(p){return p===0?!0:d(t(r)[p].created_at)!==d(t(r)[p-1].created_at)}na(n,{get onClose(){return e.onClose},get title(){return t(v)},headerActions:b=>{var _=Rt(),g=Ae(_);{var y=k=>{var w=vm();U("click",w,()=>{e.onClose(),Bn(`/chat/${e.conversation.id}`)}),u(k,w)};A(g,k=>{a()&&k(y)})}u(b,_)},children:(b,_)=>{var g=ym(),y=o(g);{var k=x=>{var S=um();u(x,S)},w=x=>{var S=fm(),C=o(S);j(()=>T(C,t(l))),u(x,S)},N=x=>{var S=hm();u(x,S)},E=x=>{var S=bm();We(S,23,()=>t(r),C=>C.id,(C,q,O)=>{var H=gm(),R=Ae(H);{var M=fe=>{var he=pm(),Ee=f(o(he),2),ae=o(Ee);j(Z=>T(ae,Z),[()=>d(t(q).created_at)]),u(fe,he)},V=K(()=>m(t(O)));A(R,fe=>{t(V)&&fe(M)})}var G=f(R,2);let Y;var B=o(G);{var P=fe=>{var he=mm(),Ee=o(he);let ae;var Z=o(Ee),de=f(Ee,2),ne=o(de);j(ge=>{ae=Ze(Ee,1,"chat-sender svelte-dhei02",null,ae,{"chat-sender-user":t(q).role==="user"}),T(Z,t(q).sender_name??(t(q).role==="user"?"user":e.mindName)),T(ne,ge)},[()=>Mo(t(q).created_at)]),u(fe,he)},z=K(()=>Gr(t(r),t(O)));A(B,fe=>{t(z)&&fe(P)})}var J=f(B,2);let ie;var ue=o(J);{var _e=fe=>{var he=sa();j(Ee=>T(he,Ee),[()=>Ra(t(q).content)]),u(fe,he)},Se=fe=>{var he=_m();Vn(he,()=>ja(Ra(t(q).content)),!0),u(fe,he)};A(ue,fe=>{t(q).role==="user"?fe(_e):fe(Se,-1)})}j(fe=>{Y=Ze(G,1,"chat-entry svelte-dhei02",null,Y,fe),ie=Ze(J,1,"chat-entry-content svelte-dhei02",null,ie,{"chat-user-text":t(q).role==="user"})},[()=>({"new-sender":Gr(t(r),t(O))})]),u(C,H)}),pn(S,C=>i(c,C),()=>t(c)),u(x,S)};A(y,x=>{t(s)?x(k):t(l)?x(w,1):t(r).length===0?x(N,2):x(E,-1)})}u(b,g)},$$slots:{headerActions:!0,default:!0}}),ht()}At(["click"]);var km=h('<div class="load-older svelte-1i1dp8x"><button class="load-older-btn svelte-1i1dp8x"> </button></div>'),xm=h('<div class="error-hint svelte-1i1dp8x"> </div>'),Sm=h('<div class="empty-hint svelte-1i1dp8x">No activity yet.</div>'),Em=h('<div class="turn-pending svelte-1i1dp8x">processing...</div>'),Tm=h('<div class="chat-entry svelte-1i1dp8x"><span> </span> <span class="chat-entry-content svelte-1i1dp8x"> </span></div>'),Am=h('<div class="feed-card-wrapper svelte-1i1dp8x"><div class="feed-card card-chat svelte-1i1dp8x"><div class="feed-card-header header-chat svelte-1i1dp8x"><svg class="feed-card-icon svelte-1i1dp8x" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"></path></svg> <span class="feed-card-label svelte-1i1dp8x"> </span> <span class="feed-card-meta svelte-1i1dp8x"> </span></div> <div class="feed-card-body chat-body svelte-1i1dp8x"></div></div></div>'),Cm=h('<div class="chat-entry svelte-1i1dp8x"><span> </span> <span class="chat-entry-content svelte-1i1dp8x"> </span></div>'),Mm=h('<div class="feed-card-wrapper svelte-1i1dp8x"><div class="feed-card card-chat svelte-1i1dp8x" role="button" tabindex="0"><div class="feed-card-header header-chat svelte-1i1dp8x"><svg class="feed-card-icon svelte-1i1dp8x" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"></path></svg> <span class="feed-card-label svelte-1i1dp8x"> </span> <span class="feed-card-meta svelte-1i1dp8x"> </span></div> <div class="feed-card-body chat-body svelte-1i1dp8x"></div></div></div>'),jm=h('<div class="feed-card-wrapper svelte-1i1dp8x"><!></div>'),Rm=h('<div class="turn-cards svelte-1i1dp8x"><!> <!> <!></div>'),Im=h('<div class="turn-row svelte-1i1dp8x"><div class="turn-time svelte-1i1dp8x"> </div> <button aria-label="Toggle turn details"><div class="turn-dot svelte-1i1dp8x"></div></button> <div class="turn-body svelte-1i1dp8x"><div class="turn-summary svelte-1i1dp8x"><!></div> <!></div></div>'),Nm=h('<div class="chat-entry svelte-1i1dp8x"><span> </span> <span class="chat-entry-content svelte-1i1dp8x"> </span></div>'),Pm=h('<div class="feed-card-wrapper svelte-1i1dp8x"><div class="feed-card card-chat svelte-1i1dp8x"><div class="feed-card-header header-chat svelte-1i1dp8x"><svg class="feed-card-icon svelte-1i1dp8x" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"></path></svg> <span class="feed-card-label svelte-1i1dp8x"> </span> <span class="feed-card-meta svelte-1i1dp8x"> </span></div> <div class="feed-card-body chat-body svelte-1i1dp8x"></div></div></div>'),Lm=h('<div class="turn-row svelte-1i1dp8x"><div class="turn-time svelte-1i1dp8x">just now</div> <div class="turn-rail svelte-1i1dp8x"><div class="turn-dot svelte-1i1dp8x"></div></div> <div class="turn-body svelte-1i1dp8x"><div class="turn-summary svelte-1i1dp8x"></div> <div class="turn-cards svelte-1i1dp8x"></div></div></div>'),Om=h('<div class="turn-track svelte-1i1dp8x"><!> <!></div>'),Dm=h('<div class="loading-more svelte-1i1dp8x">loading...</div>'),zm=h('<button class="jump-btn svelte-1i1dp8x">jump to latest</button>'),Fm=h('<div class="turn-timeline svelte-1i1dp8x"><div class="turn-scroll svelte-1i1dp8x"><!> <!> <!></div> <!></div> <!>',1);function Io(n,e){ft(e,!0);const a=100;let r=I(rt([])),s=I(!0),l=I(!1),c=I(""),v=I(null),d=I(rt(new Ts)),m=-1,p=I(rt([]));const b=new Map;let _=I(rt(new Set));function g(re,F={}){return{id:m--,mind:e.name,channel:re.channel??"",session:re.session??null,sender:re.sender??null,message_id:re.messageId??null,type:re.type??"",content:re.content??"",metadata:re.metadata?JSON.stringify(re.metadata):null,turn_id:null,created_at:new Date().toISOString(),...F}}function y(re){for(const F of re)t(r).some(Q=>Q.id===F.id)?i(r,t(r).map(Q=>Q.id===F.id?F:Q),!0):i(r,[...t(r),F],!0)}function k(re,F){i(v,{id:re.id,mind_name:e.name,channel:"",type:re.type,name:re.type==="channel"?re.label.replace(/^#/,""):null,user_id:null,title:re.label,created_at:F.created_at,updated_at:F.created_at,private:0,participants:[]},!0)}function w(re,F){F?t(_).add(re):t(_).delete(re),i(_,new Set(t(_)),!0)}function N(re){const F=new Map;for(const Q of re){if(Q.type!=="inbound"&&Q.type!=="outbound"||!Q.channel)continue;let le=F.get(Q.channel);if(!le){const $=Q.channel,ee=$.indexOf(":"),W=ee>=0?$.substring(ee+1):$,ye=$.startsWith("@");le={channel:$,label:ye||W.startsWith("#")?W:`#${W}`,type:ye?"dm":"channel",messages:[]},F.set($,le)}le.messages.push({role:Q.type==="inbound"?"user":"assistant",sender:Q.type==="inbound"?Q.sender:e.name,content:Q.content})}return[...F.values()]}let E=I(void 0),x=I(!1),S=null;function C(){q();const re=`/api/minds/${encodeURIComponent(e.name)}/events`,F=new EventSource(re);F.onmessage=Q=>{let le;try{le=JSON.parse(Q.data)}catch(W){console.warn("[TurnTimeline] Failed to parse SSE event:",Q.data,W);return}const $=le.turnId,ee=le.type;if(ee==="inbound"&&!$)i(p,[...t(p),g(le)],!0);else if(ee==="turn_created"&&$){if(t(r).some(W=>W.id===$)||i(r,[...t(r),{id:$,summary:null,summary_meta:null,status:"active",created_at:new Date().toISOString(),trigger:null,conversations:[],activities:[]}],!0),t(p).length>0){const W=t(p).map(me=>({...me,turn_id:$})),ye=t(d).get($)??[];t(d).set($,[...W,...ye])}else t(d).has($)||t(d).set($,[]);i(p,[],!0),new Promise(W=>setTimeout(W,500)).then(()=>Es(e.name,{turnId:$})).then(W=>{t(d).has($)&&t(d).set($,W)}).catch(W=>console.warn("[TurnTimeline] Failed to fetch turn events:",W))}else if(ee==="summary"&&$){clearTimeout(b.get($)),b.delete($);const W=t(d).get($);t(d).delete($),as(e.name,{turnId:$}).then(ye=>{y(ye),requestAnimationFrame(()=>{t(E)?.querySelector(`[data-turn-id="${$}"]`)?.scrollIntoView({behavior:"smooth",block:"nearest"})})}).catch(ye=>{console.warn("[TurnTimeline] Failed to fetch completed turn:",ye),t(d).has($)||t(d).set($,W??[])})}else if(ee==="done"&&$){if(!b.has($)){const W=$;b.set(W,setTimeout(()=>{b.delete(W),t(d).has(W)&&(t(d).delete(W),as(e.name,{turnId:W}).then(ye=>y(ye)).catch(ye=>console.warn("[TurnTimeline] Failed to refresh turn after done:",ye)))},1e4))}}else if($&&t(d).has($)){const W=t(d).get($);t(d).set($,[...W,g(le,{turn_id:$})])}t(x)||requestAnimationFrame(()=>{t(E)?.scrollTo({top:t(E).scrollHeight,behavior:"smooth"})})},F.onerror=()=>{F.readyState===EventSource.CLOSED?console.warn("[TurnTimeline] SSE connection closed permanently"):F.readyState===EventSource.CONNECTING&&console.warn("[TurnTimeline] SSE reconnecting...")},S=F}function q(){S&&(S.close(),S=null);for(const re of b.values())clearTimeout(re);b.clear()}async function O(re){i(l,!0),i(c,"");try{const F=await as(e.name,{limit:a,offset:re}),Q=[...F].reverse();re===0?i(r,Q,!0):i(r,[...Q,...t(r)],!0),i(s,F.length===a),re===0&&t(p).length===0&&Id(e.name,{preset:"all",limit:10}).then(le=>{const $=le.filter(ee=>ee.type==="inbound"&&!ee.turn_id);$.length>0&&t(p).length===0&&i(p,$,!0)}).catch(le=>console.warn("[TurnTimeline] Failed to check pending inbounds:",le));for(const le of t(r))le.status==="active"&&!t(d).has(le.id)&&(t(d).set(le.id,[]),Es(e.name,{turnId:le.id}).then($=>{t(d).has(le.id)&&t(d).set(le.id,$)}).catch($=>console.warn("[TurnTimeline] Failed to backfill active turn events:",$)))}catch(F){i(c,F instanceof Error?F.message:"Failed to load",!0)}i(l,!1)}let H=null,R=null;function M(){V(),H=setInterval(()=>{t(E)&&(t(E).scrollTop=t(E).scrollHeight)},100),R=setTimeout(()=>{V()},3e3)}function V(){H&&(clearInterval(H),H=null),R&&(clearTimeout(R),R=null)}let G="";Tt(()=>{const re=e.name;re!==G&&(G=re,i(r,[],!0),i(s,!0),i(d,new Ts,!0),m=-1,i(p,[],!0),M(),O(0))}),Tt(()=>(e.name,C(),()=>q())),Tt(()=>()=>V());function Y(){if(!t(E))return;const{scrollTop:re,scrollHeight:F,clientHeight:Q}=t(E),le=F-re-Q;i(x,le>100)}function B(){t(E)?.scrollTo({top:t(E).scrollHeight,behavior:"smooth"}),i(x,!1)}var P=Fm(),z=Ae(P),J=o(z),ie=o(J);{var ue=re=>{var F=km(),Q=o(F);let le;var $=o(Q);j(()=>{Q.disabled=t(l),le=Ct(Q,"",le,{opacity:t(l)?.5:1}),T($,t(l)?"loading...":"load older")}),U("click",Q,()=>O(t(r).length)),u(re,F)};A(ie,re=>{t(s)&&re(ue)})}var _e=f(ie,2);{var Se=re=>{var F=xm(),Q=o(F);j(()=>T(Q,t(c))),u(re,F)},fe=re=>{var F=Sm();u(re,F)},he=re=>{var F=Om(),Q=o(F);We(Q,17,()=>t(r),ee=>ee.id,(ee,W)=>{var ye=Im(),me=o(ye),Ce=o(me),Ie=f(me,2);let ke;var we=f(Ie,2),Pe=o(we),Me=o(Pe);{var De=ve=>{{let Re=K(()=>({id:0,mind:e.name,channel:"",session:null,sender:null,message_id:null,type:"summary",content:t(W).summary,metadata:t(W).summary_meta?JSON.stringify(t(W).summary_meta):null,turn_id:t(W).id,created_at:t(W).created_at}));cr(ve,{get event(){return t(Re)},get mindName(){return e.name},expandable:!0,compact:!0,get turnConversations(){return t(W).conversations},get turnActivities(){return t(W).activities},onexpand:Oe=>w(t(W).id,Oe)})}},X=ve=>{{let Re=K(()=>({id:0,mind:e.name,channel:t(W).trigger?.channel??"",session:null,sender:t(W).trigger?.sender??null,message_id:null,type:"summary",content:t(W).trigger?.content??"(no summary)",metadata:null,turn_id:t(W).id,created_at:t(W).created_at}));cr(ve,{get event(){return t(Re)},get mindName(){return e.name},expandable:!0,compact:!0,get turnConversations(){return t(W).conversations},get turnActivities(){return t(W).activities},onexpand:Oe=>w(t(W).id,Oe)})}},te=ve=>{const Re=K(()=>t(d).get(t(W).id)??[]);var Oe=Rt(),Xe=Ae(Oe);{var Be=je=>{var ze=Em();u(je,ze)},He=je=>{var ze=Rt(),ot=Ae(ze);We(ot,17,()=>t(Re),vt=>vt.id,(vt,it)=>{cr(vt,{get event(){return t(it)},get mindName(){return e.name},compact:!0})}),u(je,ze)};A(Xe,je=>{t(Re).length===0?je(Be):je(He,-1)})}u(ve,Oe)};A(Me,ve=>{t(W).summary?ve(De):t(W).status==="complete"?ve(X,1):ve(te,-1)})}var D=f(Pe,2);{var oe=ve=>{var Re=Rm(),Oe=o(Re);{var Xe=je=>{const ze=K(()=>N(t(d).get(t(W).id)??[]));var ot=Rt(),vt=Ae(ot);We(vt,17,()=>t(ze),it=>it.channel,(it,Fe)=>{var Je=Am(),Qe=o(Je),tt=o(Qe),at=f(o(tt),2),xt=o(at),qt=f(at,2),Dt=o(qt),Wt=f(tt,2);We(Wt,21,()=>t(Fe).messages.slice(-5),$t,(jt,It)=>{var Gt=Tm(),Nt=o(Gt);let St;var tn=o(Nt),fn=f(Nt,2),an=o(fn);j(()=>{St=Ze(Nt,1,"chat-sender svelte-1i1dp8x",null,St,{"chat-sender-user":t(It).role==="user"}),T(tn,t(It).sender??e.name),T(an,t(It).content)}),u(jt,Gt)}),j(()=>{T(xt,t(Fe).label),T(Dt,`${t(Fe).messages.length??""} message${t(Fe).messages.length===1?"":"s"}`)}),u(it,Je)}),u(je,ot)};A(Oe,je=>{t(W).summary||je(Xe)})}var Be=f(Oe,2);We(Be,17,()=>t(W).conversations,je=>je.id,(je,ze)=>{var ot=Mm(),vt=o(ot),it=o(vt),Fe=f(o(it),2),Je=o(Fe),Qe=f(Fe,2),tt=o(Qe),at=f(it,2);We(at,21,()=>t(ze).messages.slice(-5),xt=>xt.id,(xt,qt)=>{var Dt=Cm(),Wt=o(Dt);let jt;var It=o(Wt),Gt=f(Wt,2),Nt=o(Gt);j(St=>{jt=Ze(Wt,1,"chat-sender svelte-1i1dp8x",null,jt,{"chat-sender-user":t(qt).role==="user"}),T(It,t(qt).sender_name??(t(qt).role==="user"?"user":e.name)),T(Nt,St)},[()=>Ra(t(qt).content)]),u(xt,Dt)}),j(()=>{T(Je,t(ze).label),T(tt,`${t(ze).messages.length??""} message${t(ze).messages.length===1?"":"s"}`)}),U("click",vt,()=>k(t(ze),t(W))),U("keydown",vt,xt=>{xt.key==="Enter"&&k(t(ze),t(W))}),u(je,ot)});var He=f(Be,2);We(He,17,()=>t(W).activities,je=>je.id,(je,ze)=>{const ot=K(()=>typeof t(ze).metadata?.author=="string"?t(ze).metadata.author:e.name),vt=K(()=>t(ze).metadata?.slug?`/minds/${t(ot)}/notes/${t(ze).metadata.slug}`:"");var it=jm(),Fe=o(it);{let Je=K(()=>typeof t(ze).metadata?.bodyHtml=="string"?t(ze).metadata.bodyHtml:""),Qe=K(()=>typeof t(ze).metadata?.iframeUrl=="string"?t(ze).metadata.iframeUrl:void 0),tt=K(()=>t(ze).type==="page_updated"?"purple":"yellow"),at=K(()=>t(vt)?()=>Bn(t(vt)):void 0);Wr(Fe,{get title(){return t(ze).summary},get url(){return t(vt)},get date(){return t(ze).created_at},get author(){return t(ot)},get bodyHtml(){return t(Je)},get iframeUrl(){return t(Qe)},icon:'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 2h6l4 4v8H4V2z"/><path d="M10 2v4h4"/><path d="M6 9h6M6 12h4"/></svg>',get color(){return t(tt)},get onclick(){return t(at)}})}u(je,it)}),u(ve,Re)},pe=K(()=>!t(_).has(t(W).id));A(D,ve=>{t(pe)&&ve(oe)})}j((ve,Re)=>{_t(ye,"data-turn-id",t(W).id),T(Ce,ve),ke=Ze(Ie,1,"turn-rail svelte-1i1dp8x",null,ke,Re)},[()=>ei(t(W).created_at),()=>({"turn-rail-expanded":t(_).has(t(W).id)})]),U("click",Ie,ve=>{if(!t(W).summary)return;ve.stopPropagation();const Oe=ve.currentTarget.closest(".turn-row")?.querySelector(":scope > .turn-body > .turn-summary > .event");Oe&&Oe.click()}),u(ee,ye)});var le=f(Q,2);{var $=ee=>{var W=Lm(),ye=f(o(W),4),me=o(ye);We(me,21,()=>t(p),Ie=>Ie.id,(Ie,ke)=>{cr(Ie,{get event(){return t(ke)},get mindName(){return e.name},compact:!0})});var Ce=f(me,2);We(Ce,21,()=>N(t(p)),Ie=>Ie.channel,(Ie,ke)=>{var we=Pm(),Pe=o(we),Me=o(Pe),De=f(o(Me),2),X=o(De),te=f(De,2),D=o(te),oe=f(Me,2);We(oe,21,()=>t(ke).messages.slice(-5),$t,(pe,ve)=>{var Re=Nm(),Oe=o(Re);let Xe;var Be=o(Oe),He=f(Oe,2),je=o(He);j(()=>{Xe=Ze(Oe,1,"chat-sender svelte-1i1dp8x",null,Xe,{"chat-sender-user":t(ve).role==="user"}),T(Be,t(ve).sender??e.name),T(je,t(ve).content)}),u(pe,Re)}),j(()=>{T(X,t(ke).label),T(D,`${t(ke).messages.length??""} message${t(ke).messages.length===1?"":"s"}`)}),u(Ie,we)}),u(ee,W)};A(le,ee=>{t(p).length>0&&ee($)})}u(re,F)};A(_e,re=>{t(c)?re(Se):t(r).length===0&&!t(l)?re(fe,1):re(he,-1)})}var Ee=f(_e,2);{var ae=re=>{var F=Dm();u(re,F)};A(Ee,re=>{t(l)&&t(r).length>0&&re(ae)})}pn(J,re=>i(E,re),()=>t(E));var Z=f(J,2);{var de=re=>{var F=zm();U("click",F,B),u(re,F)};A(Z,re=>{t(x)&&re(de)})}var ne=f(z,2);{var ge=re=>{wm(re,{get mindName(){return e.name},get conversation(){return t(v)},canChat:!1,onClose:()=>{i(v,null)}})};A(ne,re=>{t(v)&&re(ge)})}Ut("scroll",J,Y),Ut("wheel",J,()=>V()),u(n,P),ht()}At(["click","keydown"]);var Um=h('<div class="not-found svelte-88sgku"> </div>'),Bm=h('<iframe class="ext-iframe page-content-iframe svelte-88sgku" title="Page content"></iframe>'),Hm=h('<iframe class="ext-iframe svelte-88sgku" title="Extension"></iframe>'),qm=h('<div class="section-content svelte-88sgku"><!></div>'),Wm=h('<div class="section-content files-section svelte-88sgku"><!></div>'),Gm=h('<div class="section-content svelte-88sgku"><!> <div class="detail-section svelte-88sgku"><!></div></div>'),Vm=h('<div class="mind-page svelte-88sgku"><!></div>');function Ym(n,e){ft(e,!0);let a=Ht(e,"section",3,"chat"),r=K(()=>dt.minds.find(d=>d.name===e.name));var s=Rt(),l=Ae(s);{var c=d=>{var m=Um(),p=o(m);j(()=>T(p,`Mind "${e.name??""}" not found.`)),u(d,m)},v=d=>{var m=Vm(),p=o(m);{var b=N=>{{let E=K(()=>e.conversationId??null),x=K(()=>e.onConversationId??(()=>{})),S=K(()=>e.minds??dt.minds);Ds(N,{get name(){return e.name},get username(){return e.username},get conversationId(){return t(E)},get onConversationId(){return t(x)},get stage(){return t(r).stage},get minds(){return t(S)},get onOpenMind(){return e.onOpenMind},get onTypingNames(){return e.onTypingNames}})}},_=N=>{Io(N,{get name(){return e.name}})},g=N=>{const E=K(()=>a().split(":"));var x=qm(),S=o(x);{var C=O=>{var H=Bm();j(()=>_t(H,"src",`/ext/${t(E)[1]??""}/public/${e.name??""}/${e.subpath??""}`)),u(O,H)},q=O=>{var H=Hm();j(()=>_t(H,"src",`/ext/${t(E)[1]??""}/#/mind/${e.name??""}${e.subpath?"/"+e.subpath:""}`)),u(O,H)};A(S,O=>{e.subpath&&t(E)[1]==="pages"?O(C):O(q,-1)})}u(N,x)},y=K(()=>a()?.startsWith("ext:")),k=N=>{var E=Wm(),x=o(E);Ro(x,{get name(){return e.name}}),u(N,E)},w=N=>{var E=Gm(),x=o(E);Uh(x,{get mind(){return t(r)}});var S=f(x,2),C=o(S);cp(C,{get name(){return e.name}}),u(N,E)};A(p,N=>{a()==="chat"||!a()?N(b):a()==="info"?N(_,1):t(y)?N(g,2):a()==="files"?N(k,3):a()==="settings"&&N(w,4)})}u(d,m)};A(l,d=>{t(r)?d(v,-1):d(c)})}u(n,s),ht()}var Zm=h('<div class="empty svelte-14apx5e">Loading...</div>'),Km=h('<div class="error svelte-14apx5e"> </div>'),Jm=h('<div class="empty svelte-14apx5e">No shared skills yet.</div>'),Xm=h('<div class="skill-desc svelte-14apx5e"> </div>'),Qm=h('<div class="skill-row svelte-14apx5e"><label class="default-toggle svelte-14apx5e"><input type="checkbox" class="svelte-14apx5e"/> <span class="toggle-track svelte-14apx5e"><span class="toggle-thumb svelte-14apx5e"></span></span></label> <div class="skill-info svelte-14apx5e"><div class="skill-name svelte-14apx5e"> </div> <!> <div class="skill-meta svelte-14apx5e"> </div></div> <div class="skill-actions svelte-14apx5e"><button class="action-btn remove-btn svelte-14apx5e"> </button></div></div>'),$m=h('<div class="skill-list svelte-14apx5e"><div class="column-header svelte-14apx5e"><span class="column-label svelte-14apx5e">Default</span></div> <!></div>'),e1=h('<!> <div class="section-header svelte-14apx5e"><span class="section-title svelte-14apx5e">Skills</span> <div class="upload-area svelte-14apx5e"><input type="file" accept=".zip" class="file-input svelte-14apx5e"/> <button class="upload-btn svelte-14apx5e"> </button></div></div> <!>',1);function t1(n,e){ft(e,!0);let a=I(rt([])),r=I(rt([])),s=I(""),l=I(!0),c=I(null);function v(){Promise.all([zr(),Vd()]).then(([w,N])=>{i(a,w.sort((E,x)=>E.name.localeCompare(x.name)),!0),i(r,N,!0),i(l,!1),i(s,"")}).catch(()=>{i(s,"Failed to load skills"),i(l,!1)})}Zn(v);let d=I(void 0);async function m(){const w=t(d)?.files?.[0];if(w){i(c,"upload"),i(s,"");try{await nv(w),v(),t(d).value=""}catch(N){i(s,N instanceof Error?N.message:"Failed to upload",!0)}i(c,null)}}async function p(w){i(c,w,!0),i(s,"");try{await Gd(w),v()}catch(N){i(s,N instanceof Error?N.message:"Failed to remove",!0)}i(c,null)}async function b(w){i(c,`default:${w}`),i(s,"");try{t(r).includes(w)?i(r,await Zd(w),!0):i(r,await Yd(w),!0)}catch(N){i(s,N instanceof Error?N.message:"Failed to update defaults",!0)}i(c,null)}var _=Rt(),g=Ae(_);{var y=w=>{var N=Zm();u(w,N)},k=w=>{var N=e1(),E=Ae(N);{var x=G=>{var Y=Km(),B=o(Y);j(()=>T(B,t(s))),u(G,Y)};A(E,G=>{t(s)&&G(x)})}var S=f(E,2),C=f(o(S),2),q=o(C);pn(q,G=>i(d,G),()=>t(d));var O=f(q,2),H=o(O),R=f(S,2);{var M=G=>{var Y=Jm();u(G,Y)},V=G=>{var Y=$m(),B=f(o(Y),2);We(B,17,()=>t(a),P=>P.id,(P,z)=>{var J=Qm(),ie=o(J),ue=o(ie),_e=f(ie,2),Se=o(_e),fe=o(Se),he=f(Se,2);{var Ee=re=>{var F=Xm(),Q=o(F);j(()=>T(Q,t(z).description)),u(re,F)};A(he,re=>{t(z).description&&re(Ee)})}var ae=f(he,2),Z=o(ae),de=f(_e,2),ne=o(de),ge=o(ne);j((re,F)=>{_t(ie,"title",re),Yl(ue,F),ue.disabled=t(c)!==null,T(fe,t(z).name),T(Z,`${t(z).id??""} · v${t(z).version??""} · by ${t(z).author??""}`),ne.disabled=t(c)!==null,T(ge,t(c)===t(z).id?"...":"Delete")},[()=>t(r).includes(t(z).id)?"Installed on new minds":"Not installed on new minds",()=>t(r).includes(t(z).id)]),U("change",ue,()=>b(t(z).id)),U("click",ne,()=>p(t(z).id)),u(P,J)}),u(G,Y)};A(R,G=>{t(a).length===0?G(M):G(V,-1)})}j(()=>{O.disabled=t(c)!==null,T(H,t(c)==="upload"?"Uploading...":"Upload .zip")}),U("change",q,m),U("click",O,()=>t(d).click()),u(w,N)};A(g,w=>{t(l)?w(y):w(k,-1)})}u(n,_),ht()}At(["change","click"]);function n1(n,e,a){let r=null;function s(){r?.abort(),r=new AbortController;const c=r.signal;fetch(n,{signal:c}).then(async v=>{if(!v.ok){a?.(`Stream connection failed (${v.status})`);return}if(!v.body){a?.("Stream has no body");return}const d=v.body.getReader(),m=new TextDecoder;let p="";for(;;){const{done:b,value:_}=await d.read();if(b)break;p+=m.decode(_,{stream:!0});const g=p.split(`
71
- `);p=g.pop()||"";for(const y of g){if(!y.startsWith("data: "))continue;const k=y.slice(6);k&&e(k)}}}).catch(v=>{v instanceof DOMException&&v.name==="AbortError"||a?.(v.message||"Stream error")})}function l(){r?.abort()}return{start:s,stop:l}}function a1(n,e){return n1("/api/system/logs",n,e)}var r1=h("<button>debug</button>"),s1=h("<button> </button>"),i1=h('<div class="filter-sep svelte-y6pt47"></div> <div class="filter-group svelte-y6pt47"></div>',1),l1=h('<button class="pill pill-clear svelte-y6pt47">clear</button>'),o1=h('<div class="pause-bar svelte-y6pt47"><span>Scroll paused</span> <button class="resume-btn svelte-y6pt47">Resume</button></div>'),c1=h('<span class="error svelte-y6pt47"> </span>'),d1=h('<span class="waiting svelte-y6pt47">Waiting for logs...</span>'),v1=h('<span class="cat svelte-y6pt47"> </span>'),u1=h('<span class="data svelte-y6pt47"> </span>'),f1=h('<div class="log-line svelte-y6pt47"><span class="ts svelte-y6pt47"> </span> <span class="level svelte-y6pt47"> </span> <!> <span class="msg svelte-y6pt47"> <!></span></div>'),h1=h('<div class="system-logs svelte-y6pt47"><div class="header svelte-y6pt47"><span class="title svelte-y6pt47">System Logs</span> <span class="count svelte-y6pt47"><!></span></div> <div class="filter-bar svelte-y6pt47"><div class="filter-group svelte-y6pt47"><button>info</button> <button>warn</button> <button>error</button> <!></div> <!> <!></div> <!> <div class="log-output svelte-y6pt47"><!> <!></div></div>');function p1(n,e){ft(e,!0);const a={info:"var(--text-2)",warn:"var(--yellow)",error:"var(--red)",debug:"var(--text-2)"};let r=I(rt([])),s=I(!0),l=I(""),c,v=new Wn,d=new Wn,m=K(()=>t(r).some(F=>F.level==="debug")),p=K(()=>[...new Set(t(r).map(F=>F.cat).filter(F=>!!F))].sort()),b=K(()=>v.size>0||d.size>0),_=K(()=>t(b)?t(r).filter(F=>!v.has(F.level)&&(!F.cat||!d.has(F.cat))):t(r));function g(F,Q){F.has(Q)?F.delete(Q):F.add(Q)}function y(){v.clear(),d.clear()}function k(F){try{const Q=JSON.parse(F);t(r).push(Q),t(r).length>2e3&&i(r,t(r).slice(-2e3),!0)}catch{}}Tt(()=>{i(l,"");const{start:F,stop:Q}=a1(k,le=>{i(l,le,!0)});return F(),Q}),Tt(()=>{t(s)&&c&&(t(_).length,c.scrollTop=c.scrollHeight)});function w(){if(!c)return;const F=c.scrollHeight-c.scrollTop-c.clientHeight<30;i(s,F)}function N(){i(s,!0),c&&(c.scrollTop=c.scrollHeight)}function E(F){try{return new Date(F).toLocaleTimeString()}catch{return F}}function x(F){return Object.entries(F).map(([Q,le])=>`${Q}=${typeof le=="string"?le:JSON.stringify(le)}`).join(" ")}var S=h1(),C=o(S),q=f(o(C),2),O=o(q);{var H=F=>{var Q=sa();j(()=>T(Q,`${t(_).length??""} / ${t(r).length??""} entries`)),u(F,Q)},R=F=>{var Q=sa();j(()=>T(Q,`${t(r).length??""} entries`)),u(F,Q)};A(O,F=>{t(b)?F(H):F(R,-1)})}var M=f(C,2),V=o(M),G=o(V);let Y;var B=f(G,2);let P;var z=f(B,2);let J;var ie=f(z,2);{var ue=F=>{var Q=r1();let le;j($=>le=Ze(Q,1,"pill pill-debug svelte-y6pt47",null,le,$),[()=>({inactive:v.has("debug")})]),U("click",Q,()=>g(v,"debug")),u(F,Q)};A(ie,F=>{t(m)&&F(ue)})}var _e=f(V,2);{var Se=F=>{var Q=i1(),le=f(Ae(Q),2);We(le,20,()=>t(p),$=>$,($,ee)=>{var W=s1();let ye;var me=o(W);j(Ce=>{ye=Ze(W,1,"pill pill-cat svelte-y6pt47",null,ye,Ce),T(me,ee)},[()=>({inactive:d.has(ee)})]),U("click",W,()=>g(d,ee)),u($,W)}),u(F,Q)};A(_e,F=>{t(p).length>0&&F(Se)})}var fe=f(_e,2);{var he=F=>{var Q=l1();U("click",Q,y),u(F,Q)};A(fe,F=>{t(b)&&F(he)})}var Ee=f(M,2);{var ae=F=>{var Q=o1(),le=f(o(Q),2);U("click",le,N),u(F,Q)};A(Ee,F=>{t(s)||F(ae)})}var Z=f(Ee,2),de=o(Z);{var ne=F=>{var Q=c1(),le=o(Q);j(()=>T(le,t(l))),u(F,Q)},ge=F=>{var Q=d1();u(F,Q)};A(de,F=>{t(l)?F(ne):t(r).length===0&&F(ge,1)})}var re=f(de,2);We(re,17,()=>t(_),$t,(F,Q)=>{var le=f1(),$=o(le),ee=o($),W=f($,2);let ye;var me=o(W),Ce=f(W,2);{var Ie=De=>{var X=v1(),te=o(X);j(()=>T(te,t(Q).cat)),u(De,X)};A(Ce,De=>{t(Q).cat&&De(Ie)})}var ke=f(Ce,2),we=o(ke),Pe=f(we);{var Me=De=>{var X=u1(),te=o(X);j(D=>T(te,D),[()=>x(t(Q).data)]),u(De,X)};A(Pe,De=>{t(Q).data&&De(Me)})}j(De=>{T(ee,De),ye=Ct(W,"",ye,{color:a[t(Q).level]||"var(--text-2)"}),T(me,t(Q).level),T(we,t(Q).msg)},[()=>E(t(Q).ts)]),u(F,le)}),pn(Z,F=>c=F,()=>c),j((F,Q,le)=>{Y=Ze(G,1,"pill pill-info svelte-y6pt47",null,Y,F),P=Ze(B,1,"pill pill-warn svelte-y6pt47",null,P,Q),J=Ze(z,1,"pill pill-error svelte-y6pt47",null,J,le)},[()=>({inactive:v.has("info")}),()=>({inactive:v.has("warn")}),()=>({inactive:v.has("error")})]),U("click",G,()=>g(v,"info")),U("click",B,()=>g(v,"warn")),U("click",z,()=>g(v,"error")),Ut("scroll",Z,w),u(n,S),ht()}At(["click"]);function m1(n){const e=n-1;return e*e*e+1}function _1(n,{delay:e=0,duration:a=400,easing:r=m1,axis:s="y"}={}){const l=getComputedStyle(n),c=+l.opacity,v=s==="y"?"height":"width",d=parseFloat(l[v]),m=s==="y"?["top","bottom"]:["left","right"],p=m.map(N=>`${N[0].toUpperCase()}${N.slice(1)}`),b=parseFloat(l[`padding${p[0]}`]),_=parseFloat(l[`padding${p[1]}`]),g=parseFloat(l[`margin${p[0]}`]),y=parseFloat(l[`margin${p[1]}`]),k=parseFloat(l[`border${p[0]}Width`]),w=parseFloat(l[`border${p[1]}Width`]);return{delay:e,duration:a,easing:r,css:N=>`overflow: hidden;opacity: ${Math.min(N*20,1)*c};${v}: ${N*d}px;padding-${m[0]}: ${N*b}px;padding-${m[1]}: ${N*_}px;margin-${m[0]}: ${N*g}px;margin-${m[1]}: ${N*y}px;border-${m[0]}-width: ${N*k}px;border-${m[1]}-width: ${N*w}px;min-${v}: 0`}}var g1=h('<span class="username svelte-1j9xdsd"> </span>'),b1=Na('<rect x="4" y="8" width="16" height="12" rx="2" class="svelte-1j9xdsd"></rect><circle cx="9" cy="14" r="1.5" class="svelte-1j9xdsd"></circle><circle cx="15" cy="14" r="1.5" class="svelte-1j9xdsd"></circle><line x1="12" y1="4" x2="12" y2="8" class="svelte-1j9xdsd"></line><circle cx="12" cy="3" r="1" class="svelte-1j9xdsd"></circle>',1),y1=Na('<path d="M5 11a7 7 0 1 1 14 0c0 3-1.5 5-3 6v3H8v-3c-1.5-1-3-3-3-6z" class="svelte-1j9xdsd"></path><path d="M5 10c-.6 0-1 .8-1 1.8S4.4 13.5 5 13.5" class="svelte-1j9xdsd"></path><path d="M19 10c.6 0 1 .8 1 1.8s-.4 1.7-1 1.7" class="svelte-1j9xdsd"></path><circle cx="9.5" cy="10.5" r="1" fill="currentColor" stroke="none" class="svelte-1j9xdsd"></circle><circle cx="14.5" cy="10.5" r="1" fill="currentColor" stroke="none" class="svelte-1j9xdsd"></circle>',1),w1=h('<span class="role admin svelte-1j9xdsd">admin</span>'),k1=h('<span class="role pending svelte-1j9xdsd">pending</span> <button class="approve-btn svelte-1j9xdsd">approve</button>',1),x1=h('<div class="error svelte-1j9xdsd"> </div>'),S1=h('<button class="action-btn svelte-1j9xdsd">remove admin</button>'),E1=h('<button class="action-btn svelte-1j9xdsd">make admin</button>'),T1=h('<span class="confirm-prompt svelte-1j9xdsd"> <button class="confirm-yes svelte-1j9xdsd"> </button> <button class="confirm-no svelte-1j9xdsd">no</button></span>'),A1=h('<button class="action-btn danger svelte-1j9xdsd">delete</button>'),C1=h('<div class="detail-panel svelte-1j9xdsd"><div class="field svelte-1j9xdsd"><label class="svelte-1j9xdsd">Display name</label> <input type="text" class="svelte-1j9xdsd"/></div> <div class="field svelte-1j9xdsd"><label class="svelte-1j9xdsd">Description</label> <input type="text" placeholder="Optional description" class="svelte-1j9xdsd"/></div> <!> <div class="detail-actions svelte-1j9xdsd"><div class="left-actions svelte-1j9xdsd"><!> <!></div> <button class="save-btn svelte-1j9xdsd"> </button></div></div>'),M1=h('<div><div class="user-row svelte-1j9xdsd" role="button" tabindex="0"><span></span> <div class="user-info svelte-1j9xdsd"><span class="display-name svelte-1j9xdsd"> </span> <!> <svg class="type-icon svelte-1j9xdsd" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><!></svg></div> <div class="row-actions svelte-1j9xdsd"><!> <!> <span>&#x25B8;</span></div></div> <!></div>'),j1=h('<div class="empty svelte-1j9xdsd">No users yet.</div>'),R1=h('<div class="container svelte-1j9xdsd"><div class="user-list svelte-1j9xdsd"></div> <!></div>');function I1(n,e){ft(e,!0);let a=I(rt([])),r=I(""),s=I(null),l=I(""),c=I(""),v=I(!1),d=I(null),m=I(null),p=K(()=>new Map(e.minds.map(R=>[R.name,R]))),b=K(()=>t(a).filter(R=>R.role==="admin").length);function _(){gv().then(R=>{i(a,R,!0)}).catch(()=>{t(r)||i(r,"Failed to load users")})}Zn(()=>{_()});function g(R){i(r,""),t(s)===R.id?(i(s,null),i(d,null)):(i(s,R.id,!0),i(l,R.display_name??"",!0),i(c,R.description??"",!0),i(d,null))}function y(R){if(R.user_type==="mind"){if(nn.has(R.username))return;const M=t(p).get(R.username);return M?yr(M):"var(--text-2)"}return Ea.has(R.username)?"var(--text-0)":"var(--text-2)"}async function k(R,M){R.stopPropagation();try{await yv(M),_()}catch{i(r,"Failed to approve user")}}async function w(R,M){R.stopPropagation();const V=M.role==="admin"?"user":"admin";try{await wv(M.id,V),_()}catch(G){i(r,G instanceof Error?G.message:"Failed to change role",!0)}}async function N(R){i(v,!0);try{await kv(R.id,{display_name:t(l).trim()||null,description:t(c).trim()||null}),_()}catch(M){i(r,M instanceof Error?M.message:"Failed to update profile",!0)}finally{i(v,!1)}}async function E(R){i(m,R.id,!0);try{if(R.user_type==="mind")try{await Ed(R.username,!0),dt.minds=dt.minds.filter(M=>M.name!==R.username)}catch(M){if(M instanceof Error&&M.message.includes("not found"))await Li(R.id);else throw M}else await Li(R.id);i(s,null),i(d,null),_()}catch(M){i(r,M instanceof Error?M.message:"Failed to delete",!0)}finally{i(m,null)}}function x(R){return R.user_type==="mind"?"delete mind + data?":"delete account?"}function S(R){return(t(l).trim()||null)!==(R.display_name??null)||(t(c).trim()||null)!==(R.description??null)}var C=R1(),q=o(C);We(q,21,()=>t(a),R=>R.id,(R,M)=>{var V=M1();let G;var Y=o(V),B=o(Y);let P,z;var J=f(B,2),ie=o(J),ue=o(ie),_e=f(ie,2);{var Se=ee=>{var W=g1(),ye=o(W);j(()=>T(ye,`@${t(M).username??""}`)),u(ee,W)};A(_e,ee=>{t(M).display_name&&ee(Se)})}var fe=f(_e,2),he=o(fe);{var Ee=ee=>{var W=b1();u(ee,W)},ae=ee=>{var W=y1();u(ee,W)};A(he,ee=>{t(M).user_type==="mind"?ee(Ee):ee(ae,-1)})}var Z=f(J,2),de=o(Z);{var ne=ee=>{var W=w1();u(ee,W)};A(de,ee=>{t(M).role==="admin"&&ee(ne)})}var ge=f(de,2);{var re=ee=>{var W=k1(),ye=f(Ae(W),2);U("click",ye,me=>k(me,t(M).id)),u(ee,W)};A(ge,ee=>{t(M).role==="pending"&&ee(re)})}var F=f(ge,2);let Q;var le=f(Y,2);{var $=ee=>{var W=C1(),ye=o(W),me=o(ye),Ce=f(me,2),Ie=f(ye,2),ke=o(Ie),we=f(ke,2),Pe=f(Ie,2);{var Me=Be=>{var He=x1(),je=o(He);j(()=>T(je,t(r))),u(Be,He)};A(Pe,Be=>{t(r)&&Be(Me)})}var De=f(Pe,2),X=o(De),te=o(X);{var D=Be=>{var He=S1();j(()=>He.disabled=t(b)<=1),U("click",He,je=>w(je,t(M))),u(Be,He)},oe=Be=>{var He=E1();U("click",He,je=>w(je,t(M))),u(Be,He)};A(te,Be=>{t(M).role==="admin"?Be(D):t(M).role!=="pending"&&Be(oe,1)})}var pe=f(te,2);{var ve=Be=>{var He=T1(),je=o(He),ze=f(je),ot=o(ze),vt=f(ze,2);j(it=>{T(je,`${it??""} `),ze.disabled=t(m)===t(M).id,T(ot,t(m)===t(M).id?"...":"yes")},[()=>x(t(M))]),U("click",ze,()=>E(t(M))),U("click",vt,()=>i(d,null)),u(Be,He)},Re=Be=>{var He=A1();j(()=>He.disabled=t(M).role==="admin"&&t(b)<=1),U("click",He,()=>i(d,t(M).id,!0)),u(Be,He)};A(pe,Be=>{t(d)===t(M).id?Be(ve):Be(Re,-1)})}var Oe=f(X,2),Xe=o(Oe);j(Be=>{_t(me,"for",`dn-${t(M).id??""}`),_t(Ce,"id",`dn-${t(M).id??""}`),_t(Ce,"placeholder",t(M).username),_t(ke,"for",`desc-${t(M).id??""}`),_t(we,"id",`desc-${t(M).id??""}`),Oe.disabled=Be,T(Xe,t(v)?"saving...":"save")},[()=>!S(t(M))||t(v)]),mt(Ce,()=>t(l),Be=>i(l,Be)),mt(we,()=>t(c),Be=>i(c,Be)),U("click",Oe,()=>N(t(M))),_d(3,W,()=>_1,()=>({duration:150})),u(ee,W)};A(le,ee=>{t(s)===t(M).id&&ee($)})}j((ee,W)=>{G=Ze(V,1,"user-card svelte-1j9xdsd",null,G,{expanded:t(s)===t(M).id}),P=Ze(B,1,"status-dot svelte-1j9xdsd",null,P,ee),z=Ct(B,"",z,W),T(ue,t(M).display_name||t(M).username),Q=Ze(F,1,"expand-icon svelte-1j9xdsd",null,Q,{open:t(s)===t(M).id})},[()=>({iridescent:t(M).user_type==="mind"&&nn.has(t(M).username)}),()=>({background:y(t(M))})]),U("click",Y,()=>g(t(M))),U("keydown",Y,ee=>ee.key==="Enter"&&g(t(M))),u(R,V)});var O=f(q,2);{var H=R=>{var M=j1();u(R,M)};A(O,R=>{t(a).length===0&&R(H)})}u(n,C),ht()}At(["click","keydown"]);var N1=h('<div class="error svelte-1yjhe9c"> </div>'),P1=h('<div class="loading svelte-1yjhe9c">Loading prompts...</div>'),L1=h('<span class="custom-count svelte-1yjhe9c"> </span>'),O1=h('<span class="custom-badge svelte-1yjhe9c">customized</span>'),D1=h('<span class="var-tag svelte-1yjhe9c"> </span>'),z1=h('<div class="var-tags svelte-1yjhe9c"></div>'),F1=h('<textarea class="edit-area svelte-1yjhe9c" rows="10"></textarea> <div class="actions svelte-1yjhe9c"><button class="btn btn-save svelte-1yjhe9c"> </button> <button class="btn btn-cancel svelte-1yjhe9c">Cancel</button></div>',1),U1=h('<button class="btn btn-reset svelte-1yjhe9c">Reset</button>'),B1=h('<pre class="prompt-content svelte-1yjhe9c"><code class="svelte-1yjhe9c"> </code></pre> <div class="actions svelte-1yjhe9c"><button class="btn btn-edit svelte-1yjhe9c">Edit</button> <!></div>',1),H1=h('<div><div class="prompt-header svelte-1yjhe9c"><span class="prompt-key svelte-1yjhe9c"> </span> <!></div> <p class="prompt-desc svelte-1yjhe9c"> </p> <!> <!></div>'),q1=h('<div class="section-body svelte-1yjhe9c"></div>'),W1=h('<div class="section svelte-1yjhe9c"><button class="section-header svelte-1yjhe9c"><span class="collapse-icon svelte-1yjhe9c"> </span> <span class="section-title svelte-1yjhe9c"> </span> <span class="section-subtitle svelte-1yjhe9c"> </span> <!></button> <!></div>'),G1=h('<div class="prompts-page svelte-1yjhe9c"><!> <!></div>');function V1(n,e){ft(e,!0);let a=I(rt([])),r=I(!0),s=I(null),l=I(""),c=I(!1),v=I(""),d=rt({});const m={creation:{label:"Creation Prompts",subtitle:"Used when creating new minds"},system:{label:"System Messages",subtitle:"Sent by the daemon to minds"},mind:{label:"Mind Prompts",subtitle:"Stamped into prompts.json at creation, then mind-owned"}},p=["creation","system","mind"];let b=K(()=>p.map(H=>({category:H,meta:m[H],items:t(a).filter(R=>R.category===H)})).filter(H=>H.items.length>0));async function _(){try{i(a,await Xl(),!0),i(v,"")}catch(H){i(v,H instanceof Error?H.message:"Failed to load prompts",!0)}finally{i(r,!1)}}Zn(_);function g(H){d[H]=!d[H]}function y(H){i(s,H.key,!0),i(l,H.content,!0),d[H.category]=!0}function k(){i(s,null),i(l,"")}async function w(H){i(c,!0);try{await Kd(H,t(l)),i(s,null),i(l,""),await _()}catch(R){i(v,R instanceof Error?R.message:"Failed to save",!0)}finally{i(c,!1)}}async function N(H){i(c,!0);try{await Jd(H),i(s,null),i(l,""),await _()}catch(R){i(v,R instanceof Error?R.message:"Failed to reset",!0)}finally{i(c,!1)}}var E=G1(),x=o(E);{var S=H=>{var R=N1(),M=o(R);j(()=>T(M,t(v))),u(H,R)};A(x,H=>{t(v)&&H(S)})}var C=f(x,2);{var q=H=>{var R=P1();u(H,R)},O=H=>{var R=Rt(),M=Ae(R);We(M,17,()=>t(b),V=>V.category,(V,G)=>{var Y=W1(),B=o(Y),P=o(B),z=o(P),J=f(P,2),ie=o(J),ue=f(J,2),_e=o(ue),Se=f(ue,2);{var fe=Z=>{var de=L1(),ne=o(de);j(ge=>T(ne,`${ge??""} customized`),[()=>t(G).items.filter(ge=>ge.isCustom).length]),u(Z,de)},he=K(()=>t(G).items.some(Z=>Z.isCustom));A(Se,Z=>{t(he)&&Z(fe)})}var Ee=f(B,2);{var ae=Z=>{var de=q1();We(de,21,()=>t(G).items,ne=>ne.key,(ne,ge)=>{var re=H1();let F;var Q=o(re),le=o(Q),$=o(le),ee=f(le,2);{var W=Me=>{var De=O1();u(Me,De)};A(ee,Me=>{t(ge).isCustom&&Me(W)})}var ye=f(Q,2),me=o(ye),Ce=f(ye,2);{var Ie=Me=>{var De=z1();We(De,20,()=>t(ge).variables,X=>X,(X,te)=>{var D=D1(),oe=o(D);j(()=>T(oe,`$${"{"+te+"}"}`)),u(X,D)}),u(Me,De)};A(Ce,Me=>{t(ge).variables.length>0&&Me(Ie)})}var ke=f(Ce,2);{var we=Me=>{var De=F1(),X=Ae(De),te=f(X,2),D=o(te),oe=o(D),pe=f(D,2);j(()=>{D.disabled=t(c),T(oe,t(c)?"Saving...":"Save"),pe.disabled=t(c)}),mt(X,()=>t(l),ve=>i(l,ve)),U("click",D,()=>w(t(ge).key)),U("click",pe,k),u(Me,De)},Pe=Me=>{var De=B1(),X=Ae(De),te=o(X),D=o(te),oe=f(X,2),pe=o(oe),ve=f(pe,2);{var Re=Oe=>{var Xe=U1();j(()=>Xe.disabled=t(c)),U("click",Xe,()=>N(t(ge).key)),u(Oe,Xe)};A(ve,Oe=>{t(ge).isCustom&&Oe(Re)})}j(()=>T(D,t(ge).content)),U("click",pe,()=>y(t(ge))),u(Me,De)};A(ke,Me=>{t(s)===t(ge).key?Me(we):Me(Pe,-1)})}j(()=>{F=Ze(re,1,"prompt-card svelte-1yjhe9c",null,F,{custom:t(ge).isCustom}),T($,t(ge).key),T(me,t(ge).description)}),u(ne,re)}),u(Z,de)};A(Ee,Z=>{d[t(G).category]&&Z(ae)})}j(()=>{T(z,d[t(G).category]?"▼":"▶"),T(ie,t(G).meta.label),T(_e,t(G).meta.subtitle)}),U("click",B,()=>g(t(G).category)),u(V,Y)}),u(H,R)};A(C,H=>{t(r)?H(q):H(O,-1)})}u(n,E),ht()}At(["click"]);var Y1=h('<div class="system-card svelte-4b0ckc"><div class="system-info svelte-4b0ckc"><span class="system-label svelte-4b0ckc">Registered as</span> <span class="system-name svelte-4b0ckc"> </span></div> <button class="btn btn-reset svelte-4b0ckc"> </button></div>'),Z1=h('<div class="system-actions svelte-4b0ckc"><button class="btn btn-edit svelte-4b0ckc">Register</button> <button class="btn btn-edit svelte-4b0ckc">Login with key</button></div>'),K1=h('<form class="system-form svelte-4b0ckc"><input class="system-input svelte-4b0ckc"/> <button type="submit" class="btn btn-save svelte-4b0ckc"> </button> <button type="button" class="btn btn-cancel svelte-4b0ckc">Cancel</button></form>'),J1=h('<div class="system-card svelte-4b0ckc"><div class="system-info svelte-4b0ckc"><span class="system-label svelte-4b0ckc">Not registered</span></div> <!></div>'),X1=h('<div class="error svelte-4b0ckc"> </div>'),Q1=h('<span class="model-tag svelte-4b0ckc"> <button class="model-tag-remove svelte-4b0ckc">x</button></span>'),$1=h('<div class="model-tags svelte-4b0ckc"></div>'),e_=h('<span class="dim svelte-4b0ckc">No models enabled</span>'),t_=h('<button class="btn btn-edit btn-add-model svelte-4b0ckc">Add model</button>'),n_=h('<div class="provider-card svelte-4b0ckc"><div class="provider-row svelte-4b0ckc"><span class="provider-name svelte-4b0ckc"> </span> <span class="auth-badge svelte-4b0ckc"> </span> <div class="provider-actions svelte-4b0ckc"><button class="btn btn-reset svelte-4b0ckc">Remove</button></div></div> <div class="provider-models svelte-4b0ckc"><!> <!></div></div>'),a_=h('<button class="btn-provider svelte-4b0ckc"> </button>'),r_=h('<span class="add-provider-heading svelte-4b0ckc">Sign in with</span> <div class="oauth-buttons svelte-4b0ckc"></div>',1),s_=h('<div class="add-provider-area svelte-4b0ckc"><!> <button class="link-btn svelte-4b0ckc"> </button></div>'),i_=h('<div class="error svelte-4b0ckc"> </div>'),l_=h(`<div class="oauth-steps svelte-4b0ckc"><div class="oauth-step svelte-4b0ckc"><span class="step-num svelte-4b0ckc">1</span> Open the link below and authorize</div> <div class="oauth-step svelte-4b0ckc"><span class="step-num svelte-4b0ckc">2</span> You'll be redirected to a page that won't load — this is expected</div> <div class="oauth-step svelte-4b0ckc"><span class="step-num svelte-4b0ckc">3</span> Copy the URL from your browser's address bar and paste it below</div></div>`),o_=h('<p class="modal-text svelte-4b0ckc">Open the link below to authorize:</p>'),c_=h('<form class="modal-form svelte-4b0ckc"><input type="text" placeholder="Paste the redirect URL here" class="system-input svelte-4b0ckc"/> <button type="submit" class="btn btn-save svelte-4b0ckc">Submit</button></form>'),d_=h('<span class="dim svelte-4b0ckc">Waiting for authorization...</span>'),v_=h('<!> <a target="_blank" rel="noopener" class="oauth-link svelte-4b0ckc"> </a> <!>',1),u_=h('<span class="dim svelte-4b0ckc">Waiting for authorization...</span>'),f_=h('<p class="modal-text svelte-4b0ckc">Authorize at:</p> <a target="_blank" rel="noopener" class="oauth-link svelte-4b0ckc"> </a> <!>',1),h_=h('<span class="dim svelte-4b0ckc">Starting OAuth flow...</span>'),p_=h('<div class="error svelte-4b0ckc"> </div>'),m_=h('<div class="modal-body svelte-4b0ckc"><!> <!></div>'),__=h('<button class="model-option svelte-4b0ckc"><span class="model-id svelte-4b0ckc"> </span></button>'),g_=h('<div class="model-list svelte-4b0ckc"></div>'),b_=h('<span class="dim svelte-4b0ckc">No more models available</span>'),y_=h('<div class="modal-body svelte-4b0ckc"><input type="text" placeholder="Search models..." class="system-input svelte-4b0ckc"/> <!></div>'),w_=h("<option> </option>"),k_=h('<form class="modal-form svelte-4b0ckc"><input type="password" placeholder="API key" class="system-input svelte-4b0ckc"/> <button type="submit" class="btn btn-save svelte-4b0ckc"> </button></form>'),x_=h('<div class="error svelte-4b0ckc"> </div>'),S_=h('<div class="modal-body svelte-4b0ckc"><select class="system-input modal-select svelte-4b0ckc"><option>Select provider...</option><!></select> <!> <!></div>'),E_=h('<div class="settings svelte-4b0ckc"><div class="section svelte-4b0ckc"><div class="section-header svelte-4b0ckc"><span class="section-title svelte-4b0ckc">System</span> <span class="section-subtitle svelte-4b0ckc">Registration with volute.systems for pages and email</span></div> <!> <!></div> <div class="section svelte-4b0ckc"><div class="section-header svelte-4b0ckc"><span class="section-title svelte-4b0ckc">AI Providers</span> <span class="section-subtitle svelte-4b0ckc">Authentication for minds and system AI features</span></div> <!> <!> <!></div></div> <!> <!> <!>',1);function T_(n,e){ft(e,!0);let a=I(""),r=I("none"),s=I(""),l=I(!1),c=I(rt([])),v=I(rt([])),d=I(""),m=I(!1),p=I(!1),b=I(!1),_=I(""),g=I(""),y=I(""),k=I(!1),w=I(""),N=I(!1),E=I(""),x=K(()=>t(c).filter(X=>X.configured)),S=K(()=>t(c).filter(X=>!X.configured)),C=K(()=>t(S).filter(X=>X.oauth)),q=K(()=>typeof location<"u"&&location.hostname!=="localhost"&&location.hostname!=="127.0.0.1");async function O(){try{i(c,await $l(),!0),i(v,await Qs(),!0)}catch(X){i(d,X instanceof Error?X.message:"Failed to load AI config",!0)}}Zn(O);function H(){i(p,!1),i(b,!1),i(k,!1),i(y,""),i(w,""),i(N,!1),i(E,""),i(_,""),i(g,""),i(d,"")}function R(){H(),i(p,!0)}async function M(){if(!(!t(_)||!t(g).trim()||t(m))){i(m,!0),i(d,"");try{await eo(t(_),t(g).trim()),H(),await O()}catch(X){i(d,X instanceof Error?X.message:"Failed to save",!0)}finally{i(m,!1)}}}async function V(X){i(m,!0),i(d,"");try{await to(X),await O()}catch(te){i(d,te instanceof Error?te.message:"Failed to remove",!0)}finally{i(m,!1)}}async function G(X){H(),i(_,X,!0),i(b,!0),i(m,!0);try{const te=await no(X);te.url&&(i(y,te.url,!0),i(w,te.flowId,!0),i(N,!!te.needsManualCode),i(k,!0),(async()=>{let oe=0;for(;t(k);){await new Promise(pe=>setTimeout(pe,2500));try{const pe=await ao(te.flowId);if(oe=0,pe.status==="complete"){i(k,!1),H(),await O();return}else if(pe.status==="error"){i(k,!1),i(y,""),i(d,pe.error??"OAuth failed",!0);return}}catch{if(oe++,oe>=5){i(k,!1),i(y,""),i(d,"Lost connection while waiting for OAuth");return}}}})())}catch(te){i(d,te instanceof Error?te.message:"OAuth failed",!0)}finally{i(m,!1)}}async function Y(){if(!(!t(E).trim()||!t(w))){i(d,"");try{await ro(t(w),t(E).trim()),i(E,"")}catch(X){i(d,X instanceof Error?X.message:"Failed to submit code",!0)}}}let B=I(!1),P=I(""),z=I(""),J=K(()=>t(v).filter(X=>X.enabled)),ie=K(()=>t(z).trim()?t(v).filter(X=>!X.enabled&&X.provider===t(P)&&X.id.toLowerCase().includes(t(z).toLowerCase())).slice(0,12):t(v).filter(X=>!X.enabled&&X.provider===t(P)).slice(0,12));function ue(X){i(P,X,!0),i(z,""),i(B,!0)}function _e(X){return t(J).filter(te=>te.provider===X)}async function Se(X){const te=[...t(J).map(D=>D.id),X];try{await Fr(te),i(v,t(v).map(D=>D.id===X?{...D,enabled:!0}:D),!0),i(z,""),i(B,!1)}catch(D){i(d,D instanceof Error?D.message:"Failed to update models",!0)}}async function fe(X){const te=t(J).map(D=>D.id).filter(D=>D!==X);try{await Fr(te),i(v,t(v).map(D=>D.id===X?{...D,enabled:!1}:D),!0)}catch(D){i(d,D instanceof Error?D.message:"Failed to update models",!0)}}async function he(){if(!(!t(s).trim()||t(l))){i(l,!0),i(a,"");try{const te=await(t(r)==="register"?Qd:$d)(t(s).trim());kt.systemName=te.system,i(r,"none"),i(s,"")}catch(X){i(a,X instanceof Error?X.message:`${t(r)} failed`,!0)}finally{i(l,!1)}}}async function Ee(){i(l,!0),i(a,"");try{await ev(),kt.systemName=null}catch(X){i(a,X instanceof Error?X.message:"Logout failed",!0)}finally{i(l,!1)}}function ae(X){return X==="api_key"?"API key":X==="oauth"?"OAuth":X==="env_var"?"env var":""}var Z=E_(),de=Ae(Z),ne=o(de),ge=f(o(ne),2);{var re=X=>{var te=Y1(),D=o(te),oe=f(o(D),2),pe=o(oe),ve=f(D,2),Re=o(ve);j(()=>{T(pe,kt.systemName),ve.disabled=t(l),T(Re,t(l)?"...":"Disconnect")}),U("click",ve,Ee),u(X,te)},F=X=>{var te=J1(),D=f(o(te),2);{var oe=ve=>{var Re=Z1(),Oe=o(Re),Xe=f(Oe,2);U("click",Oe,()=>{i(r,"register"),i(s,""),i(a,"")}),U("click",Xe,()=>{i(r,"login"),i(s,""),i(a,"")}),u(ve,Re)},pe=ve=>{var Re=K1(),Oe=o(Re),Xe=f(Oe,2),Be=o(Xe),He=f(Xe,2);j(je=>{_t(Oe,"type",t(r)==="login"?"password":"text"),_t(Oe,"placeholder",t(r)==="register"?"System name":"API key"),Xe.disabled=je,T(Be,t(l)?"...":t(r)==="register"?"Register":"Login")},[()=>t(l)||!t(s).trim()]),Ut("submit",Re,je=>{je.preventDefault(),he()}),mt(Oe,()=>t(s),je=>i(s,je)),U("click",He,()=>{i(r,"none"),i(a,"")}),u(ve,Re)};A(D,ve=>{t(r)==="none"?ve(oe):ve(pe,-1)})}u(X,te)};A(ge,X=>{kt.systemName?X(re):X(F,-1)})}var Q=f(ge,2);{var le=X=>{var te=X1(),D=o(te);j(()=>T(D,t(a))),u(X,te)};A(Q,X=>{t(a)&&X(le)})}var $=f(ne,2),ee=f(o($),2);We(ee,17,()=>t(x),X=>X.id,(X,te)=>{const D=K(()=>_e(t(te).id));var oe=n_(),pe=o(oe),ve=o(pe),Re=o(ve),Oe=f(ve,2),Xe=o(Oe),Be=f(Oe,2),He=o(Be),je=f(pe,2),ze=o(je);{var ot=Qe=>{var tt=$1();We(tt,21,()=>t(D),at=>at.id,(at,xt)=>{var qt=Q1(),Dt=o(qt),Wt=f(Dt);j(()=>T(Dt,`${t(xt).id??""} `)),U("click",Wt,()=>fe(t(xt).id)),u(at,qt)}),u(Qe,tt)},vt=Qe=>{var tt=e_();u(Qe,tt)};A(ze,Qe=>{t(D).length>0?Qe(ot):Qe(vt,-1)})}var it=f(ze,2);{var Fe=Qe=>{var tt=t_();U("click",tt,()=>ue(t(te).id)),u(Qe,tt)},Je=K(()=>t(v).some(Qe=>!Qe.enabled&&Qe.provider===t(te).id));A(it,Qe=>{t(Je)&&Qe(Fe)})}j(Qe=>{T(Re,t(te).id),T(Xe,Qe),He.disabled=t(m)},[()=>ae(t(te).authMethod)]),U("click",He,()=>V(t(te).id)),u(X,oe)});var W=f(ee,2);{var ye=X=>{var te=s_(),D=o(te);{var oe=Re=>{var Oe=r_(),Xe=f(Ae(Oe),2);We(Xe,21,()=>t(C),Be=>Be.id,(Be,He)=>{var je=a_(),ze=o(je);j(()=>{je.disabled=t(m),T(ze,t(He).oauthName??t(He).id)}),U("click",je,()=>G(t(He).id)),u(Be,je)}),u(Re,Oe)};A(D,Re=>{t(C).length>0&&Re(oe)})}var pe=f(D,2),ve=o(pe);j(()=>T(ve,t(C).length>0?"or add an API key":"Add an API key")),U("click",pe,R),u(X,te)};A(W,X=>{t(S).length>0&&X(ye)})}var me=f(W,2);{var Ce=X=>{var te=i_(),D=o(te);j(()=>T(D,t(d))),u(X,te)};A(me,X=>{t(d)&&!t(p)&&!t(b)&&X(Ce)})}var Ie=f(de,2);{var ke=X=>{{let te=K(()=>t(c).find(D=>D.id===t(_))?.oauthName??t(_));na(X,{onClose:H,size:"420px",get title(){return`Sign in with ${t(te)??""}`},children:(D,oe)=>{var pe=m_(),ve=o(pe);{var Re=He=>{var je=Rt(),ze=Ae(je);{var ot=it=>{var Fe=v_(),Je=Ae(Fe);{var Qe=jt=>{var It=l_();u(jt,It)},tt=jt=>{var It=o_();u(jt,It)};A(Je,jt=>{t(q)?jt(Qe):jt(tt,-1)})}var at=f(Je,2),xt=o(at),qt=f(at,2);{var Dt=jt=>{var It=c_(),Gt=o(It),Nt=f(Gt,2);j(St=>Nt.disabled=St,[()=>!t(E).trim()]),Ut("submit",It,St=>{St.preventDefault(),Y()}),mt(Gt,()=>t(E),St=>i(E,St)),u(jt,It)},Wt=jt=>{var It=Rt(),Gt=Ae(It);{var Nt=St=>{var tn=d_();u(St,tn)};A(Gt,St=>{t(k)&&St(Nt)})}u(jt,It)};A(qt,jt=>{t(q)?jt(Dt):jt(Wt,-1)})}j(()=>{_t(at,"href",t(y)),T(xt,t(y))}),u(it,Fe)},vt=it=>{var Fe=f_(),Je=f(Ae(Fe),2),Qe=o(Je),tt=f(Je,2);{var at=xt=>{var qt=u_();u(xt,qt)};A(tt,xt=>{t(k)&&xt(at)})}j(()=>{_t(Je,"href",t(y)),T(Qe,t(y))}),u(it,Fe)};A(ze,it=>{t(N)?it(ot):it(vt,-1)})}u(He,je)},Oe=He=>{var je=h_();u(He,je)};A(ve,He=>{t(y)?He(Re):t(m)&&He(Oe,1)})}var Xe=f(ve,2);{var Be=He=>{var je=p_(),ze=o(je);j(()=>T(ze,t(d))),u(He,je)};A(Xe,He=>{t(d)&&He(Be)})}u(D,pe)},$$slots:{default:!0}})}};A(Ie,X=>{t(b)&&X(ke)})}var we=f(Ie,2);{var Pe=X=>{na(X,{onClose:()=>{i(B,!1)},size:"420px",get title(){return`Add model — ${t(P)??""}`},children:(te,D)=>{var oe=y_(),pe=o(oe),ve=f(pe,2);{var Re=Xe=>{var Be=g_();We(Be,21,()=>t(ie),He=>He.id,(He,je)=>{var ze=__(),ot=o(ze),vt=o(ot);j(()=>T(vt,t(je).id)),U("click",ze,()=>Se(t(je).id)),u(He,ze)}),u(Xe,Be)},Oe=Xe=>{var Be=b_();u(Xe,Be)};A(ve,Xe=>{t(ie).length>0?Xe(Re):Xe(Oe,-1)})}mt(pe,()=>t(z),Xe=>i(z,Xe)),u(te,oe)},$$slots:{default:!0}})};A(we,X=>{t(B)&&X(Pe)})}var Me=f(we,2);{var De=X=>{na(X,{onClose:H,size:"420px",title:"Add API key",children:(te,D)=>{var oe=S_(),pe=o(oe),ve=o(pe);ve.value=ve.__value="";var Re=f(ve);We(Re,17,()=>t(S),je=>je.id,(je,ze)=>{var ot=w_(),vt=o(ot),it={};j(()=>{T(vt,t(ze).id),it!==(it=t(ze).id)&&(ot.value=(ot.__value=t(ze).id)??"")}),u(je,ot)});var Oe=f(pe,2);{var Xe=je=>{var ze=k_(),ot=o(ze),vt=f(ot,2),it=o(vt);j(Fe=>{vt.disabled=Fe,T(it,t(m)?"...":"Save")},[()=>t(m)||!t(g).trim()]),Ut("submit",ze,Fe=>{Fe.preventDefault(),M()}),mt(ot,()=>t(g),Fe=>i(g,Fe)),u(je,ze)};A(Oe,je=>{t(_)&&je(Xe)})}var Be=f(Oe,2);{var He=je=>{var ze=x_(),ot=o(ze);j(()=>T(ot,t(d))),u(je,ze)};A(Be,je=>{t(d)&&je(He)})}mr(pe,()=>t(_),je=>i(_,je)),u(te,oe)},$$slots:{default:!0}})};A(Me,X=>{t(p)&&X(De)})}u(n,Z),ht()}At(["click"]);var A_=h("<button> </button>"),C_=h('<span class="restart-error svelte-18esbge"> </span>'),M_=h('<div class="settings-page svelte-18esbge"><div class="settings-header svelte-18esbge"><div class="tab-row svelte-18esbge"></div> <div class="restart-area svelte-18esbge"><!> <button class="restart-btn svelte-18esbge"> </button></div></div> <div class="settings-body svelte-18esbge"><!></div></div>');function j_(n,e){ft(e,!0);const a=["settings","prompts","skills","logs","users"],r={settings:"Settings",prompts:"Prompts",skills:"Skills",logs:"System Logs",users:"Users"};let s=K(()=>a.includes(e.section)?e.section:"settings"),l=I(!1),c=I(null);async function v(){i(l,!0),i(c,null);try{await Xd()}catch(O){i(c,O instanceof Error?O.message:"Unknown error",!0),console.warn("Failed to restart daemon:",O)}finally{i(l,!1)}}var d=M_(),m=o(d),p=o(m);We(p,21,()=>a,$t,(O,H)=>{var R=A_();let M;var V=o(R);j(()=>{M=Ze(R,1,"settings-tab svelte-18esbge",null,M,{active:t(s)===t(H)}),T(V,r[t(H)])}),U("click",R,()=>Bn(t(H)==="settings"?"/settings":`/settings/${t(H)}`)),u(O,R)});var b=f(p,2),_=o(b);{var g=O=>{var H=C_(),R=o(H);j(()=>T(R,`Failed: ${t(c)??""}`)),u(O,H)};A(_,O=>{t(c)&&O(g)})}var y=f(_,2),k=o(y),w=f(m,2),N=o(w);{var E=O=>{T_(O,{})},x=O=>{V1(O,{})},S=O=>{t1(O,{})},C=O=>{p1(O,{})},q=O=>{I1(O,{get minds(){return dt.minds}})};A(N,O=>{t(s)==="settings"?O(E):t(s)==="prompts"?O(x,1):t(s)==="skills"?O(S,2):t(s)==="logs"?O(C,3):t(s)==="users"&&O(q,4)})}j(()=>{y.disabled=t(l),T(k,t(l)?"Restarting...":"Restart Daemon")}),U("click",y,v),u(n,d),ht()}At(["click"]);var R_=h('<button class="context-label-btn svelte-n1trtr"> </button>'),I_=h('<div class="frame-content mind-frame svelte-n1trtr"><!></div>'),N_=h('<div class="frame-content padded svelte-n1trtr"><div class="not-found svelte-n1trtr">Channel not found.</div></div>'),P_=h('<div class="frame-content svelte-n1trtr"><!></div>'),L_=h('<div class="frame-content svelte-n1trtr"><iframe class="page-iframe svelte-n1trtr" title="Extension"></iframe></div>'),O_=h('<div class="frame-content mind-frame svelte-n1trtr"><!></div>'),D_=h('<div class="frame-content svelte-n1trtr"><!></div>'),z_=h('<div class="frame-content svelte-n1trtr"><!></div>'),F_=h('<div class="frame-content padded svelte-n1trtr"><!></div>'),U_=h('<div class="main-frame svelte-n1trtr"><div class="mobile-header svelte-n1trtr"><button class="hamburger-btn svelte-n1trtr">&#9776;</button> <img src="/logo.png" alt="" class="mobile-logo svelte-n1trtr"/> <span class="mobile-title svelte-n1trtr">volute</span> <!></div> <!></div>');function B_(n,e){ft(e,!0);let a=K(()=>{if(e.selection.kind==="channel")return e.conversations.find(x=>x.type==="channel"&&x.name===e.selection.slug)}),r=K(()=>t(a)?t(a).mind_name??"":""),s=K(()=>e.selection.kind!=="mind"?null:e.conversations.find(S=>{if(S.type==="channel")return!1;const C=S.participants??[];return C.length!==2?!1:C.some(q=>q.username===e.selection.name)})?.id??null),l=K(()=>e.selection.kind==="channel"&&t(a)?`#${t(a).name??""}`:e.selection.kind==="mind"?e.minds.find(S=>S.name===e.selection.name)?.displayName??e.selection.name:"");var c=U_(),v=o(c),d=o(v),m=f(d,6);{var p=x=>{var S=R_(),C=o(S);j(()=>T(C,t(l))),U("click",S,function(...q){e.onOpenRightPanel?.apply(this,q)}),u(x,S)};A(m,x=>{t(l)&&e.onOpenRightPanel&&x(p)})}var b=f(v,2);{var _=x=>{var S=I_(),C=o(S);Ym(C,{get name(){return e.selection.name},get section(){return e.selection.section},get subpath(){return e.selection.subpath},get username(){return e.username},get conversationId(){return t(s)},get onConversationId(){return e.onConversationId},get minds(){return e.minds},get conversations(){return e.conversations},get onSelectConversation(){return e.onSelectConversation},get onOpenMind(){return e.onOpenMind},get onTypingNames(){return e.onTypingNames}}),u(x,S)},g=x=>{var S=P_(),C=o(S);{var q=H=>{{let R=K(()=>t(a).name??""),M=K(()=>t(a).participants??[]);Ds(H,{get name(){return t(r)},get username(){return e.username},get conversationId(){return t(a).id},get onConversationId(){return e.onConversationId},convType:"channel",get channelName(){return t(R)},get minds(){return e.minds},get participants(){return t(M)},get onOpenMind(){return e.onOpenMind},get onTypingNames(){return e.onTypingNames}})}},O=H=>{var R=N_();u(H,R)};A(C,H=>{t(a)?H(q):H(O,-1)})}u(x,S)},y=x=>{var S=L_(),C=o(S);j(()=>_t(C,"src",`/ext/${e.selection.extensionId??""}/#${e.selection.path?"/"+e.selection.path:""}`)),u(x,S)},k=x=>{const S=K(()=>e.conversations.find(O=>{if(O.type==="channel")return!1;const H=O.participants??[];return H.length===2&&H.some(R=>R.username==="volute")}));var C=O_(),q=o(C);{let O=K(()=>t(S)?.id??e.initialSpiritConversationId??null),H=K(()=>t(S)?.participants??[]);Ds(q,{name:"volute",get username(){return e.username},get conversationId(){return t(O)},get onConversationId(){return e.onConversationId},convType:"dm",get minds(){return e.minds},get participants(){return t(H)},get onOpenMind(){return e.onOpenMind},get onTypingNames(){return e.onTypingNames}})}u(x,C)},w=x=>{var S=D_(),C=o(S);j_(C,{get section(){return e.selection.section}}),u(x,S)},N=x=>{var S=z_(),C=o(S);Ro(C,{name:"_system",rootLabel:"shared"}),u(x,S)},E=x=>{var S=F_(),C=o(S);Df(C,{get username(){return e.username},get conversations(){return e.conversations},get onSelectConversation(){return e.onSelectConversation}}),u(x,S)};A(b,x=>{e.selection.kind==="mind"?x(_):e.selection.kind==="channel"?x(g,1):e.selection.kind==="extension"?x(y,2):e.selection.kind==="system-chat"?x(k,3):e.selection.kind==="settings"?x(w,4):e.selection.kind==="shared-files"?x(N,5):x(E,-1)})}U("click",d,()=>e.onToggleSidebar?.()),u(n,c),ht()}At(["click"]);var H_=h('<span class="clock-detail svelte-96nwhr"> </span>'),q_=h('<div class="clock-row sleep-row svelte-96nwhr"><svg class="clock-icon svelte-96nwhr" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 9A6 6 0 1 1 7 3a5 5 0 0 0 6 6z"></path></svg> <span class="clock-label svelte-96nwhr">Sleeping</span> <!></div>'),W_=h('<div class="clock-row sleep-row svelte-96nwhr"><svg class="clock-icon svelte-96nwhr" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M13 9A6 6 0 1 1 7 3a5 5 0 0 0 6 6z"></path></svg> <span class="clock-label svelte-96nwhr">Sleep</span> <span class="clock-detail svelte-96nwhr"> </span></div>'),G_=h('<div><svg class="clock-icon svelte-96nwhr" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="8" r="6"></circle><path d="M8 4v4l3 2"></path></svg> <span class="clock-label svelte-96nwhr"> </span> <span class="clock-detail svelte-96nwhr"><!></span></div>'),V_=h('<div class="schedule-list svelte-96nwhr"></div>'),Y_=h('<span class="upcoming-item svelte-96nwhr"> </span>'),Z_=h('<div class="upcoming-section svelte-96nwhr"><span class="upcoming-label svelte-96nwhr">Next</span> <!></div>'),K_=h('<div class="mind-clock svelte-96nwhr"><!> <!> <!></div>');function J_(n,e){ft(e,!0);let a=I(null);Tt(()=>{const g=e.name;av(g).then(y=>{i(a,y,!0)}).catch(y=>{console.warn("Failed to load clock status:",y),i(a,null)})});function r(g){const y=g.split(" ");if(y.length<5)return g;const[k,w,N,E,x]=y;if(k.startsWith("*/")&&w==="*"&&N==="*"&&E==="*"&&x==="*"){const S=+k.slice(2);return S===1?"every minute":`every ${S} minutes`}if(/^\d+$/.test(k)&&w.startsWith("*/")&&N==="*"&&E==="*"&&x==="*"){const S=+w.slice(2);return S===1?`every hour at :${String(+k).padStart(2,"0")}`:`every ${S} hours`}if(/^\d+$/.test(k)&&/^[\d,]+$/.test(w)&&N==="*"&&E==="*"){const S=w.split(",").map(Number),C=+k,q=S.length===1?s(S[0],C):S.map(H=>s(H,C)).join(", ");return x==="*"?`daily at ${q}`:`${l(x)} at ${q}`}return g}function s(g,y){const k=g>=12?"pm":"am",w=g%12||12;return y===0?`${w}${k}`:`${w}:${String(y).padStart(2,"0")}${k}`}function l(g){const y=["Sundays","Mondays","Tuesdays","Wednesdays","Thursdays","Fridays","Saturdays"],k=g.split(",").map(Number);return k.length===1?y[k[0]]??g:k.length===5&&!k.includes(0)&&!k.includes(6)?"weekdays":k.length===2&&k.includes(0)&&k.includes(6)?"weekends":k.map(w=>(y[w]??String(w)).replace(/s$/,"")).join(", ")}function c(g){try{const y=new Date(g),k=new Date,w=y.getTime()-k.getTime();if(w<0)return"now";const N=Math.round(w/6e4);if(N<60)return`in ${N}m`;const E=Math.floor(N/60),x=N%60;return E<24?x>0?`in ${E}h ${x}m`:`in ${E}h`:y.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}catch{return g}}function v(g){const y=[];return g.script?y.push(`Script: ${g.script}`):g.message&&y.push(`Message: ${g.message}`),g.channel&&y.push(`Channel: ${g.channel}`),g.whileSleeping&&y.push(`While sleeping: ${g.whileSleeping}`),y.join(`
72
- `)}function d(g){try{return new Date(g).toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}catch{return g}}let m=K(()=>t(a)&&(t(a).schedules.length>0||t(a).sleep?.sleeping||t(a).sleepConfig?.enabled));var p=Rt(),b=Ae(p);{var _=g=>{var y=K_(),k=o(y);{var w=q=>{var O=q_(),H=f(o(O),4);{var R=M=>{var V=H_(),G=o(V);j(Y=>T(G,`wake ${Y??""}`),[()=>c(t(a).sleep.scheduledWakeAt)]),u(M,V)};A(H,M=>{t(a).sleep.scheduledWakeAt&&M(R)})}u(q,O)},N=q=>{var O=W_(),H=f(o(O),4),R=o(H);j((M,V)=>T(R,`${M??""} → ${V??""}`),[()=>r(t(a).sleepConfig.schedule.sleep),()=>r(t(a).sleepConfig.schedule.wake)]),u(q,O)};A(k,q=>{t(a).sleep?.sleeping?q(w):t(a).sleepConfig?.enabled&&t(a).sleepConfig.schedule&&q(N,1)})}var E=f(k,2);{var x=q=>{var O=V_();We(O,21,()=>t(a).schedules,H=>H.id,(H,R)=>{var M=G_();let V;var G=f(o(M),2),Y=o(G),B=f(G,2),P=o(B);{var z=ie=>{var ue=sa();j(_e=>T(ue,_e),[()=>r(t(R).cron)]),u(ie,ue)},J=ie=>{var ue=sa();j(_e=>T(ue,_e),[()=>d(t(R).fireAt)]),u(ie,ue)};A(P,ie=>{t(R).cron?ie(z):t(R).fireAt&&ie(J,1)})}j(ie=>{V=Ze(M,1,"clock-row svelte-96nwhr",null,V,{disabled:!t(R).enabled}),_t(M,"title",ie),T(Y,t(R).id)},[()=>v(t(R))]),u(H,M)}),u(q,O)};A(E,q=>{t(a).schedules.length>0&&q(x)})}var S=f(E,2);{var C=q=>{var O=Z_(),H=f(o(O),2);We(H,17,()=>t(a).upcoming.slice(0,3),R=>R.id+R.at,(R,M)=>{var V=Y_(),G=o(V);j(Y=>T(G,`${t(M).id??""} ${Y??""}`),[()=>c(t(M).at)]),u(R,V)}),u(q,O)};A(S,q=>{t(a).upcoming.length>0&&q(C)})}u(g,y)};A(b,g=>{t(a)&&t(m)&&g(_)})}u(n,p),ht()}var X_=h('<button class="floating-btn svelte-1trk2s9" title="Chat"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1trk2s9"><path d="M2 3h12v8H5l-3 3V3z"></path></svg></button>'),Q_=h('<button class="floating-btn svelte-1trk2s9" title="Mind page"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1trk2s9"><rect x="4" y="8" width="16" height="12" rx="2"></rect><circle cx="9" cy="14" r="1.5"></circle><circle cx="15" cy="14" r="1.5"></circle><line x1="12" y1="4" x2="12" y2="8"></line><circle cx="12" cy="3" r="1"></circle></svg></button>'),$_=h('<div class="floating-btns svelte-1trk2s9"><!> <!></div>'),eg=h('<img alt="" class="profile-avatar svelte-1trk2s9"/>'),tg=h('<p class="profile-description svelte-1trk2s9"> </p>'),ng=h('<div class="mind-panel svelte-1trk2s9"><!> <div class="panel-body svelte-1trk2s9"><div class="profile-section svelte-1trk2s9"><!> <span class="profile-name svelte-1trk2s9"> </span> <!> <!> <span class="profile-meta svelte-1trk2s9"> </span></div> <!> <div class="history-section svelte-1trk2s9"><!></div></div></div>');function ag(n,e){ft(e,!0);let a=K(()=>dt.minds.find(C=>C.name===e.mind.name)??e.mind);function r(C){try{return new Date(C.endsWith("Z")?C:`${C}Z`).toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"})}catch{return C}}var s=ng(),l=o(s);{var c=C=>{var q=$_(),O=o(q);{var H=V=>{var G=X_();U("click",G,function(...Y){e.onChat?.apply(this,Y)}),u(V,G)};A(O,V=>{e.onChat&&V(H)})}var R=f(O,2);{var M=V=>{var G=Q_();U("click",G,function(...Y){e.onProfile?.apply(this,Y)}),u(V,G)};A(R,V=>{e.onProfile&&V(M)})}u(C,q)};A(l,C=>{(e.onChat||e.onProfile)&&C(c)})}var v=f(l,2),d=o(v),m=o(d);{var p=C=>{var q=eg();j(O=>_t(q,"src",O),[()=>`/api/minds/${encodeURIComponent(t(a).name)}/avatar`]),u(C,q)};A(m,C=>{t(a).avatar&&C(p)})}var b=f(m,2),_=o(b),g=f(b,2);{let C=K(()=>$s(t(a)));jo(g,{get status(){return t(C)}})}var y=f(g,2);{var k=C=>{var q=tg(),O=o(q);j(()=>T(O,t(a).description)),u(C,q)};A(y,C=>{t(a).description&&C(k)})}var w=f(y,2),N=o(w),E=f(d,2);J_(E,{get name(){return t(a).name}});var x=f(E,2),S=o(x);Io(S,{get name(){return t(a).name}}),j(C=>{T(_,t(a).displayName??t(a).name),T(N,`@${t(a).name??""} · since ${C??""}`)},[()=>r(t(a).created)]),u(n,s),ht()}At(["click"]);var rg=h("<option> </option>"),sg=h('<label class="field svelte-esytdb"><span class="label svelte-esytdb">Model</span> <select class="input select svelte-esytdb"><option>Select a model...</option><!></select></label>'),ig=h('<label class="field svelte-esytdb"><span class="label svelte-esytdb">Model (optional)</span> <input class="input svelte-esytdb"/></label>'),lg=h('<label class="skill-item svelte-esytdb"><input type="checkbox"/> <span class="skill-name svelte-esytdb"> </span></label>'),og=h('<div class="field svelte-esytdb"><span class="label svelte-esytdb">Skills</span> <div class="skill-list svelte-esytdb"></div></div>'),cg=h('<label class="field svelte-esytdb"><span class="label svelte-esytdb">Seed SOUL template</span> <textarea class="input textarea svelte-esytdb" rows="6" placeholder="SOUL.md template for this seed..."></textarea> <span class="hint svelte-esytdb"></span></label> <!>',1),dg=h('<div class="error svelte-esytdb"> </div>'),vg=h('<div class="modal-content svelte-esytdb"><div class="modal-title svelte-esytdb">Plant a seed</div> <label class="field svelte-esytdb"><span class="label svelte-esytdb">Name</span> <input placeholder="e.g. luna" class="input svelte-esytdb"/></label> <label class="field svelte-esytdb"><span class="label svelte-esytdb">Description (optional)</span> <input placeholder="A curious mind who loves poetry..." class="input svelte-esytdb"/></label> <label class="field svelte-esytdb"><span class="label svelte-esytdb">Template</span> <select class="input select svelte-esytdb"><option>claude</option><option>pi</option></select></label> <!> <button class="advanced-toggle svelte-esytdb"><span class="caret svelte-esytdb"> </span> Advanced</button> <!> <!> <div class="actions svelte-esytdb"><button class="cancel-btn svelte-esytdb">Cancel</button> <button class="plant-btn svelte-esytdb"> </button></div></div>');function ug(n,e){ft(e,!0);const a=["orientation","memory"];let r=I(""),s=I(""),l=I("claude"),c=I(""),v=I(!1),d=I(""),m,p=I(!1),b=I(""),_=I(""),g=I(rt([])),y=I(rt(new Set(a))),k=I(rt([])),w=K(()=>t(k).filter(C=>C.enabled)),N=K(()=>t(l)==="pi"&&t(w).length>0&&!t(c)),E=K(()=>!t(v)&&!!t(r).trim()&&!t(N));Zn(()=>{m?.focus(),Xl().then(C=>{const q=C.find(O=>O.key==="seed_soul");q&&(i(_,q.content,!0),i(b,q.content,!0))}).catch(C=>{console.error("Failed to load prompt templates:",C)}),zr().then(C=>{i(g,C,!0)}).catch(C=>{console.error("Failed to load shared skills:",C)}),Qs().then(C=>{i(k,C,!0)}).catch(C=>{console.error("Failed to load AI models:",C)})});function x(C){const q=new Set(t(y));q.has(C)?q.delete(C):q.add(C),i(y,q,!0)}async function S(){const C=t(r).trim();if(C){i(v,!0),i(d,"");try{const q=t(p)&&t(b)!==t(_)?t(b):void 0,O=t(p)?[...t(y)]:void 0;await Td(C,{description:t(s).trim()||void 0,template:t(l),model:t(c).trim()||void 0,seedSoul:q,skills:O}),await Kl(C),e.onCreated(C)}catch(q){i(d,q instanceof Error?q.message:"Failed to create",!0),i(v,!1)}}}na(n,{size:"340px",get onClose(){return e.onClose},children:(C,q)=>{var O=vg(),H=f(o(O),2),R=f(o(H),2);pn(R,F=>m=F,()=>m);var M=f(H,2),V=f(o(M),2),G=f(M,2),Y=f(o(G),2),B=o(Y);B.value=B.__value="claude";var P=f(B);P.value=P.__value="pi";var z=f(G,2);{var J=F=>{var Q=sg(),le=f(o(Q),2),$=o(le);$.value=$.__value="";var ee=f($);We(ee,17,()=>t(w),$t,(W,ye)=>{var me=rg(),Ce=o(me),Ie={};j(()=>{T(Ce,`${t(ye).name??""} (${t(ye).provider??""})`),Ie!==(Ie=`${t(ye).provider??""}:${t(ye).id??""}`)&&(me.value=me.__value=`${t(ye).provider??""}:${t(ye).id??""}`)}),u(W,me)}),mr(le,()=>t(c),W=>i(c,W)),u(F,Q)},ie=F=>{var Q=ig(),le=f(o(Q),2);j(()=>_t(le,"placeholder",t(l)==="pi"?"e.g. openrouter:moonshotai/kimi-k2.5":"e.g. claude-sonnet-4-5-20250929")),U("keydown",le,$=>$.key==="Enter"&&S()),mt(le,()=>t(c),$=>i(c,$)),u(F,Q)};A(z,F=>{t(l)==="pi"&&t(w).length>0?F(J):F(ie,-1)})}var ue=f(z,2),_e=o(ue),Se=o(_e),fe=f(ue,2);{var he=F=>{var Q=cg(),le=Ae(Q),$=f(o(le),2),ee=f($,2);ee.textContent="Variables: ${name}, ${description}";var W=f(le,2);{var ye=me=>{var Ce=og(),Ie=f(o(Ce),2);We(Ie,21,()=>t(g),$t,(ke,we)=>{var Pe=lg(),Me=o(Pe),De=f(Me,2),X=o(De);j(te=>{Yl(Me,te),T(X,t(we).id)},[()=>t(y).has(t(we).id)]),U("change",Me,()=>x(t(we).id)),u(ke,Pe)}),u(me,Ce)};A(W,me=>{t(g).length>0&&me(ye)})}mt($,()=>t(b),me=>i(b,me)),u(F,Q)};A(fe,F=>{t(p)&&F(he)})}var Ee=f(fe,2);{var ae=F=>{var Q=dg(),le=o(Q);j(()=>T(le,t(d))),u(F,Q)};A(Ee,F=>{t(d)&&F(ae)})}var Z=f(Ee,2),de=o(Z),ne=f(de,2);let ge;var re=o(ne);j(()=>{T(Se,t(p)?"▼":"▶"),ne.disabled=!t(E),ge=Ct(ne,"",ge,{opacity:t(E)?1:.5}),T(re,t(v)?"Planting...":"Plant")}),U("keydown",R,F=>F.key==="Enter"&&S()),mt(R,()=>t(r),F=>i(r,F)),U("keydown",V,F=>F.key==="Enter"&&S()),mt(V,()=>t(s),F=>i(s,F)),U("change",Y,()=>i(c,"")),mr(Y,()=>t(l),F=>i(l,F)),U("click",ue,()=>i(p,!t(p))),U("click",de,function(...F){e.onClose?.apply(this,F)}),U("click",ne,S),u(C,O)},$$slots:{default:!0}}),ht()}At(["keydown","change","click"]);var fg=h('<button class="browse-btn svelte-2bx51q">browse</button>'),hg=h('<div class="section-header svelte-2bx51q"><span class="svelte-2bx51q">CHANNELS</span> <!></div>'),pg=Na('<svg class="lock-icon svelte-2bx51q" 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" class="svelte-2bx51q"></path></svg>'),mg=h('<span class="unread-badge svelte-2bx51q"> </span>'),_g=h('<button class="delete-btn svelte-2bx51q" aria-label="Remove"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-2bx51q"><path d="M4 4l8 8M12 4l-8 8" class="svelte-2bx51q"></path></svg></button>'),gg=h('<div role="button" tabindex="0"><div class="conv-item-header svelte-2bx51q"><div><span class="conv-label-text svelte-2bx51q"> </span> <!></div> <!></div></div>'),bg=h("<!> <!>",1),yg=h('<div class="section-header svelte-2bx51q"><span class="svelte-2bx51q">DIRECT MESSAGES</span></div>'),wg=h('<button></button> <button class="conv-label-mind svelte-2bx51q"> </button>',1),kg=h('<span class="conv-label-text svelte-2bx51q"> </span>'),xg=h('<span class="conv-label-text svelte-2bx51q"> </span>'),Sg=Na('<svg class="lock-icon svelte-2bx51q" 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" class="svelte-2bx51q"></path></svg>'),Eg=h('<span class="seed-tag svelte-2bx51q">seed</span>'),Tg=h('<span class="unread-badge svelte-2bx51q"> </span>'),Ag=h('<div class="member-count svelte-2bx51q"> </div>'),Cg=h('<div role="button" tabindex="0"><div class="conv-item-header svelte-2bx51q"><div><!> <!> <!></div> <button>...</button> <!></div> <!></div>'),Mg=h('<div class="empty svelte-2bx51q">No conversations yet</div>'),jg=h("<!> <!> <!>",1),Rg=h('<button class="context-item svelte-2bx51q">Open mind</button>'),Ig=h('<button class="context-item svelte-2bx51q">Close chat</button>'),Ng=h('<div class="context-menu svelte-2bx51q" role="menu" tabindex="-1"><!> <button class="context-item svelte-2bx51q"> </button> <!></div>'),Pg=h('<div class="conv-list svelte-2bx51q"><!> <!></div> <!>',1);function Lg(n,e){ft(e,!0);let a=K(()=>e.conversations.filter(E=>E.type==="channel")),r=K(()=>e.conversations.filter(E=>E.type!=="channel")),s=I(null),l=I(0),c=I(0);function v(E){if(E.type==="channel")return{isMindDm:!1};const x=E.participants??[];if(x.length!==2)return{isMindDm:!1};const S=x.find(q=>q.username!==e.username);if(!S)return{isMindDm:!1};const C=e.minds.find(q=>q.name===S.username);return C?{isMindDm:!0,mind:C,otherName:S.username}:{isMindDm:!1,otherName:S.username}}function d(E,x){E.stopPropagation();const C=E.currentTarget.getBoundingClientRect();i(l,C.right+4),i(c,C.top,!0),i(s,x,!0)}function m(){i(s,null)}Tt(()=>{if(t(s)){const E=x=>m();return requestAnimationFrame(()=>{document.addEventListener("click",E,{once:!0})}),()=>document.removeEventListener("click",E)}});var p=Pg();Ut("blur",hr,m);var b=Ae(p),_=o(b);{var g=E=>{var x=bg(),S=Ae(x);{var C=O=>{var H=hg(),R=f(o(H),2);{var M=V=>{var G=fg();U("click",G,function(...Y){e.onBrowse?.apply(this,Y)}),u(V,G)};A(R,V=>{e.onBrowse&&V(M)})}u(O,H)};A(S,O=>{e.mode||O(C)})}var q=f(S,2);We(q,17,()=>t(a),O=>O.id,(O,H)=>{const R=K(()=>ua.get(t(H).id)??0);var M=gg();let V;var G=o(M),Y=o(G);let B;var P=o(Y),z=o(P),J=f(P,2);{var ie=fe=>{var he=pg();u(fe,he)};A(J,fe=>{t(H).private===1&&fe(ie)})}var ue=f(Y,2);{var _e=fe=>{var he=mg(),Ee=o(he);j(()=>T(Ee,t(R))),u(fe,he)},Se=fe=>{var he=_g();U("click",he,Ee=>{Ee.stopPropagation(),e.onDelete(t(H).id)}),u(fe,he)};A(ue,fe=>{t(R)>0?fe(_e):fe(Se,-1)})}j(fe=>{V=Ze(M,1,"conv-item svelte-2bx51q",null,V,{active:t(H).id===e.activeId}),B=Ze(Y,1,"conv-item-label svelte-2bx51q",null,B,{active:t(H).id===e.activeId,unread:t(R)>0}),T(z,fe)},[()=>Ni(t(H).participants??[],t(H).title,e.username,t(H))]),U("click",M,()=>e.onSelect(t(H).id)),U("keydown",M,fe=>{(fe.key==="Enter"||fe.key===" ")&&(fe.preventDefault(),e.onSelect(t(H).id))}),u(O,M)}),u(E,x)};A(_,E=>{e.mode!=="dms"&&E(g)})}var y=f(_,2);{var k=E=>{var x=jg(),S=Ae(x);{var C=R=>{var M=yg();u(R,M)};A(S,R=>{e.mode||R(C)})}var q=f(S,2);We(q,17,()=>t(r),R=>R.id,(R,M)=>{const V=K(()=>e.minds.find($=>$.name===t(M).mind_name)?.stage==="seed"),G=K(()=>v(t(M))),Y=K(()=>(t(M).participants?.length??0)>2),B=K(()=>ua.get(t(M).id)??0);var P=Cg();let z;var J=o(P),ie=o(J);let ue;var _e=o(ie);{var Se=$=>{var ee=wg(),W=Ae(ee);let ye,me;var Ce=f(W,2),Ie=o(Ce);j((ke,we)=>{ye=Ze(W,1,"status-dot svelte-2bx51q",null,ye,ke),_t(W,"title",`Open ${t(G).otherName??""}`),me=Ct(W,"",me,we),T(Ie,t(G).otherName)},[()=>({iridescent:nn.has(t(G).mind.name)}),()=>({background:nn.has(t(G).mind.name)?void 0:yr(t(G).mind)})]),U("click",W,ke=>{ke.stopPropagation(),e.onOpenMind(t(G).mind)}),U("click",Ce,ke=>{ke.stopPropagation(),e.onOpenMind(t(G).mind)}),u($,ee)},fe=$=>{var ee=kg(),W=o(ee);j(()=>T(W,`@${t(G).otherName??""}`)),u($,ee)},he=$=>{var ee=xg(),W=o(ee);j(ye=>T(W,ye),[()=>Ni(t(M).participants??[],t(M).title,e.username,t(M))]),u($,ee)};A(_e,$=>{t(G).isMindDm&&t(G).mind?$(Se):t(G).otherName?$(fe,1):$(he,-1)})}var Ee=f(_e,2);{var ae=$=>{var ee=Sg();u($,ee)};A(Ee,$=>{t(M).private===1&&$(ae)})}var Z=f(Ee,2);{var de=$=>{var ee=Eg();u($,ee)};A(Z,$=>{t(V)&&$(de)})}var ne=f(ie,2);let ge;var re=f(ne,2);{var F=$=>{var ee=Tg(),W=o(ee);j(()=>T(W,t(B))),u($,ee)};A(re,$=>{t(B)>0&&$(F)})}var Q=f(J,2);{var le=$=>{var ee=Ag(),W=o(ee);j(()=>T(W,`${t(M).participants?.length??""} members`)),u($,ee)};A(Q,$=>{t(Y)&&$(le)})}j(()=>{z=Ze(P,1,"conv-item svelte-2bx51q",null,z,{active:t(M).id===e.activeId}),ue=Ze(ie,1,"conv-item-label svelte-2bx51q",null,ue,{active:t(M).id===e.activeId,unread:t(B)>0}),ge=Ze(ne,1,"menu-btn svelte-2bx51q",null,ge,{visible:t(M).id===e.activeId||t(M).id===t(s)})}),U("click",P,()=>e.onSelect(t(M).id)),U("keydown",P,$=>{($.key==="Enter"||$.key===" ")&&($.preventDefault(),e.onSelect(t(M).id))}),U("click",ne,$=>d($,t(M).id)),u(R,P)});var O=f(q,2);{var H=R=>{var M=Mg();u(R,M)};A(O,R=>{t(r).length===0&&e.mode==="dms"&&R(H)})}u(E,x)};A(y,E=>{e.mode!=="channels"&&E(k)})}var w=f(b,2);{var N=E=>{const x=K(()=>e.conversations.find(Y=>Y.id===t(s))),S=K(()=>t(x)?v(t(x)):{isMindDm:!1});var C=Ng();let q;var O=o(C);{var H=Y=>{var B=Rg();U("click",B,()=>{e.onOpenMind(t(S).mind),m()}),u(Y,B)};A(O,Y=>{t(S).isMindDm&&t(S).mind&&Y(H)})}var R=f(O,2),M=o(R),V=f(R,2);{var G=Y=>{var B=Ig();U("click",B,()=>{e.onHide(t(s)),m()}),u(Y,B)};A(V,Y=>{e.onHide&&Y(G)})}j(()=>{q=Ct(C,"",q,{left:`${t(l)??""}px`,top:`${t(c)??""}px`}),T(M,t(x)?.private===1?"Make public":"Make private")}),U("click",C,Y=>Y.stopPropagation()),U("keydown",C,Y=>{Y.key==="Escape"&&m()}),U("click",R,async()=>{const Y=t(s),B=e.conversations.find(P=>P.id===Y);if(B){const P=B.private!==1;try{await Md(Y,P),B.private=P?1:0}catch(z){console.error("Failed to update conversation privacy:",z)}}m()}),u(E,C)};A(w,E=>{t(s)&&E(N)})}u(n,p),ht()}At(["click","keydown"]);var Og=h('<span class="unread-dot svelte-4lef2z"></span>'),Dg=h('<span></span> <span class="nav-label svelte-4lef2z"> </span> <!>',1),zg=h("<button><!></button>"),Fg=h('<div class="item-list svelte-4lef2z"></div>'),Ug=h('<div class="sidebar-inner svelte-4lef2z"><div class="sections svelte-4lef2z"><div class="section svelte-4lef2z"><div><button><svg class="section-icon svelte-4lef2z" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M8 7.2a.8.8 0 0 1 .8.8 1.6 1.6 0 0 1-1.6 1.6A2.4 2.4 0 0 1 4.8 7.2a3.2 3.2 0 0 1 3.2-3.2 4 4 0 0 1 4 4 4.8 4.8 0 0 1-4.8 4.8A5.6 5.6 0 0 1 1.6 7.2 6.4 6.4 0 0 1 8 .8" class="svelte-4lef2z"></path></svg> <span class="svelte-4lef2z">System</span></button></div></div> <div class="section svelte-4lef2z"><div class="section-header-row svelte-4lef2z"><button class="section-toggle svelte-4lef2z"><svg class="section-icon svelte-4lef2z" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="8" width="16" height="12" rx="2" class="svelte-4lef2z"></rect><circle cx="9" cy="14" r="1.5" class="svelte-4lef2z"></circle><circle cx="15" cy="14" r="1.5" class="svelte-4lef2z"></circle><line x1="12" y1="4" x2="12" y2="8" class="svelte-4lef2z"></line><circle cx="12" cy="3" r="1" class="svelte-4lef2z"></circle></svg> <span class="svelte-4lef2z">Minds</span></button> <button class="section-action svelte-4lef2z" title="Plant a seed"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-4lef2z"><path d="M8 3v10M3 8h10" class="svelte-4lef2z"></path></svg></button></div> <!></div> <div class="section svelte-4lef2z"><div class="section-header-row svelte-4lef2z"><button class="section-toggle svelte-4lef2z"><svg class="section-icon svelte-4lef2z" 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-4lef2z"></path></svg> <span class="svelte-4lef2z">Channels</span></button> <button class="section-action svelte-4lef2z" title="Browse channels"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-4lef2z"><path d="M8 3v10M3 8h10" class="svelte-4lef2z"></path></svg></button></div> <!></div></div></div>');function Bg(n,e){ft(e,!0);function a(){try{const z=localStorage.getItem("volute:sidebar-collapsed");return z?new Set(JSON.parse(z)):new Set}catch{return new Set}}let r=I(rt(a()));function s(z){t(r).has(z)?t(r).delete(z):t(r).add(z),i(r,new Set(t(r)),!0),localStorage.setItem("volute:sidebar-collapsed",JSON.stringify([...t(r)]))}let l=K(()=>new Set(e.minds.map(z=>z.name))),c=K(()=>new Map(e.conversations.filter(z=>{if(z.type==="channel")return!1;const J=z.participants??[];if(J.length!==2)return!1;const ie=J.find(ue=>ue.username!==e.username);return ie?t(l).has(ie.username):!1}).map(z=>[z.participants.find(ie=>ie.username!==e.username).username,z.id]))),v=K(()=>[...e.minds].sort((z,J)=>{const ie=nn.has(z.name)?0:z.status==="running"?1:2,ue=nn.has(J.name)?0:J.status==="running"?1:2;return ie!==ue?ie-ue:z.name.localeCompare(J.name)})),d=K(()=>e.conversations.filter(z=>z.type==="channel")),m=K(()=>e.selection.kind!=="channel"?null:e.conversations.find(J=>J.type==="channel"&&J.name===e.selection.slug)?.id??null),p=K(()=>e.selection.kind==="home"||e.selection.kind==="settings"||e.selection.kind==="extension"||e.selection.kind==="shared-files");var b=Ug(),_=o(b),g=o(_),y=o(g);let k;var w=o(y);let N;var E=f(g,2),x=o(E),S=o(x),C=f(S,2),q=f(x,2);{var O=z=>{var J=Fg();We(J,21,()=>t(v),$t,(ie,ue)=>{const _e=K(()=>t(c).get(t(ue).name)),Se=K(()=>t(_e)?ua.get(t(_e))??0:0);var fe=zg();let he;var Ee=o(fe);{const ae=de=>{var ne=Dg(),ge=Ae(ne);let re,F;var Q=f(ge,2),le=o(Q),$=f(Q,2);{var ee=W=>{var ye=Og();u(W,ye)};A($,W=>{t(Se)>0&&W(ee)})}j((W,ye)=>{re=Ze(ge,1,"status-dot svelte-4lef2z",null,re,W),F=Ct(ge,"",F,ye),T(le,t(ue).displayName??t(ue).name)},[()=>({iridescent:nn.has(t(ue).name)}),()=>({background:nn.has(t(ue).name)?void 0:yr(t(ue))})]),u(de,ne)};let Z=K(()=>({name:t(ue).name,displayName:t(ue).displayName,description:t(ue).description,avatarUrl:t(ue).avatar?`/api/minds/${encodeURIComponent(t(ue).name)}/avatar`:null,userType:"mind",created:t(ue).created}));Ur(Ee,{get profile(){return t(Z)},children:ae,$$slots:{default:!0}})}j(()=>he=Ze(fe,1,"nav-item svelte-4lef2z",null,he,{active:e.selection.kind==="mind"&&e.selection.name===t(ue).name})),U("click",fe,()=>e.onSelectMind(t(ue).name)),u(ie,fe)}),u(z,J)},H=K(()=>!t(r).has("minds"));A(q,z=>{t(H)&&z(O)})}var R=f(E,2),M=o(R),V=o(M),G=f(V,2),Y=f(M,2);{var B=z=>{Lg(z,{get conversations(){return t(d)},get minds(){return e.minds},get activeId(){return t(m)},get username(){return e.username},mode:"channels",get onSelect(){return e.onSelectConversation},get onDelete(){return e.onDeleteConversation},get onOpenMind(){return e.onOpenMind}})},P=K(()=>!t(r).has("channels"));A(Y,z=>{t(P)&&z(B)})}j(()=>{k=Ze(y,1,"section-header-row svelte-4lef2z",null,k,{active:t(p)}),N=Ze(w,1,"section-toggle svelte-4lef2z",null,N,{active:t(p)})}),U("click",w,function(...z){e.onHome?.apply(this,z)}),U("click",S,()=>s("minds")),U("click",C,z=>{z.stopPropagation(),e.onSeed()}),U("click",V,()=>s("channels")),U("click",G,z=>{z.stopPropagation(),e.onBrowseChannels()}),u(n,b),ht()}At(["click"]);var Hg=h('<span class="error svelte-h3c10m"> </span>'),qg=h('<span class="updating svelte-h3c10m">Updating...</span>'),Wg=h('<span> </span> <button class="update-btn svelte-h3c10m">update</button> <button class="dismiss-btn svelte-h3c10m">&times;</button>',1),Gg=h('<div class="banner svelte-h3c10m"><!></div>');function Vg(n,e){ft(e,!0);let a=I(null),r=I(!1),s=I(!1),l=I(null);Tt(()=>{let p=!0;async function b(){try{const g=await fetch("/api/health");if(!g.ok)return;const y=await g.json();p&&y.updateAvailable?i(a,{current:y.version,latest:y.latest,updateAvailable:!0},!0):p&&i(a,null)}catch(g){console.debug("[update] poll failed:",g)}}b();const _=setInterval(b,6e4);return()=>{p=!1,clearInterval(_)}});async function c(){i(s,!0);try{if(!(await fetch("/api/system/update",{method:"POST"})).ok){i(s,!1),i(l,"Update failed"),setTimeout(()=>{i(l,null)},5e3);return}const b=Date.now(),_=6e4;for(await new Promise(g=>setTimeout(g,3e3));Date.now()-b<_;){try{const g=await fetch("/api/health");if(g.ok&&(await g.json()).version!==t(a)?.current){window.location.reload();return}}catch(g){console.debug("[update] health check failed:",g)}await new Promise(g=>setTimeout(g,2e3))}window.location.reload()}catch{i(s,!1),i(l,"Update failed"),setTimeout(()=>{i(l,null)},5e3)}}var v=Rt(),d=Ae(v);{var m=p=>{var b=Gg(),_=o(b);{var g=w=>{var N=Hg(),E=o(N);j(()=>T(E,t(l))),u(w,N)},y=w=>{var N=qg();u(w,N)},k=w=>{var N=Wg(),E=Ae(N),x=o(E),S=f(E,2),C=f(S,2);j(()=>T(x,`Update available: v${t(a).current??""} → v${t(a).latest??""}`)),U("click",S,c),U("click",C,()=>i(r,!0)),u(w,N)};A(_,w=>{t(l)?w(g):t(s)?w(y,1):w(k,-1)})}u(p,b)};A(d,p=>{t(a)?.updateAvailable&&!t(r)&&p(m)})}u(n,v),ht()}At(["click"]);var Yg=h('<div class="message error svelte-1453wyc"> </div>'),Zg=h('<div class="message success svelte-1453wyc"> </div>'),Kg=h('<img alt="Avatar preview" class="avatar-img svelte-1453wyc"/>'),Jg=h('<img alt="Avatar" class="avatar-img svelte-1453wyc"/>'),Xg=h('<div class="avatar-placeholder svelte-1453wyc">?</div>'),Qg=h('<button type="button" class="save-btn svelte-1453wyc"> </button>'),$g=h('<button type="button" class="remove-btn svelte-1453wyc">Remove</button>'),eb=h('<div class="message error svelte-1453wyc"> </div>'),tb=h('<div class="message success svelte-1453wyc"> </div>'),nb=h('<div class="modal-body svelte-1453wyc"><form><h3 class="section-title svelte-1453wyc">Profile</h3> <!> <!> <div class="avatar-section svelte-1453wyc"><div class="avatar-preview svelte-1453wyc"><!></div> <div class="avatar-actions svelte-1453wyc"><label class="avatar-upload-btn svelte-1453wyc">Choose file <input type="file" accept="image/png,image/jpeg,image/gif,image/webp" hidden="" class="svelte-1453wyc"/></label> <!> <!></div></div> <label class="field svelte-1453wyc"><span class="label svelte-1453wyc">Display name</span> <input type="text" placeholder="Optional display name" class="svelte-1453wyc"/></label> <label class="field svelte-1453wyc"><span class="label svelte-1453wyc">Description</span> <textarea placeholder="A short description" rows="3" class="svelte-1453wyc"></textarea></label> <button class="save-btn svelte-1453wyc" type="submit"> </button></form> <hr class="divider svelte-1453wyc"/> <form><h3 class="section-title svelte-1453wyc">Change Password</h3> <!> <!> <label class="field svelte-1453wyc"><span class="label svelte-1453wyc">Current password</span> <input type="password" autocomplete="current-password" class="svelte-1453wyc"/></label> <label class="field svelte-1453wyc"><span class="label svelte-1453wyc">New password</span> <input type="password" autocomplete="new-password" class="svelte-1453wyc"/></label> <label class="field svelte-1453wyc"><span class="label svelte-1453wyc">Confirm new password</span> <input type="password" autocomplete="new-password" class="svelte-1453wyc"/></label> <button class="save-btn svelte-1453wyc" type="submit"> </button></form></div>');function ab(n,e){ft(e,!0);let a=I(""),r=I(""),s=I(null),l=I(""),c=I(""),v=I(!1),d=I(null),m=I(null),p=I(!1),b=I(""),_=I(""),g=I(""),y=I(""),k=I(""),w=I(!1);Tt(()=>{N()});async function N(){try{const O=await Kr();O&&(i(a,O.display_name??"",!0),i(r,O.description??"",!0),i(s,O.avatar?`/api/auth/avatars/${O.avatar}`:null,!0))}catch{i(l,"Failed to load profile")}}async function E(O){O.preventDefault(),i(l,""),i(c,""),i(v,!0);try{await xv({display_name:t(a).trim()||null,description:t(r).trim()||null}),i(c,"Profile updated")}catch(H){i(l,H instanceof Error?H.message:"Failed to update profile",!0)}finally{i(v,!1)}}function x(O){const R=O.target.files?.[0];R&&(i(d,R,!0),i(m,URL.createObjectURL(R),!0))}async function S(){if(t(d)){i(p,!0),i(l,"");try{const O=await Sv(t(d));i(s,`/api/auth/avatars/${O}`),i(d,null),i(m,null)}catch(O){i(l,O instanceof Error?O.message:"Failed to upload avatar",!0)}finally{i(p,!1)}}}async function C(){i(l,"");try{await Ev(),i(s,null),i(d,null),i(m,null)}catch(O){i(l,O instanceof Error?O.message:"Failed to remove avatar",!0)}}async function q(O){if(O.preventDefault(),i(y,""),i(k,""),t(_)!==t(g)){i(y,"New passwords do not match");return}if(t(_).length<1){i(y,"New password cannot be empty");return}i(w,!0);try{await bv(t(b),t(_)),i(k,"Password changed successfully"),i(b,""),i(_,""),i(g,"")}catch(H){i(y,H instanceof Error?H.message:"Failed to change password",!0)}finally{i(w,!1)}}na(n,{size:"420px",title:"User Settings",get onClose(){return e.onClose},children:(O,H)=>{var R=nb(),M=o(R),V=f(o(M),2);{var G=te=>{var D=Yg(),oe=o(D);j(()=>T(oe,t(l))),u(te,D)};A(V,te=>{t(l)&&te(G)})}var Y=f(V,2);{var B=te=>{var D=Zg(),oe=o(D);j(()=>T(oe,t(c))),u(te,D)};A(Y,te=>{t(c)&&te(B)})}var P=f(Y,2),z=o(P),J=o(z);{var ie=te=>{var D=Kg();j(()=>_t(D,"src",t(m))),u(te,D)},ue=te=>{var D=Jg();j(()=>_t(D,"src",t(s))),u(te,D)},_e=te=>{var D=Xg();u(te,D)};A(J,te=>{t(m)?te(ie):t(s)?te(ue,1):te(_e,-1)})}var Se=f(z,2),fe=o(Se),he=f(o(fe)),Ee=f(fe,2);{var ae=te=>{var D=Qg(),oe=o(D);j(()=>{D.disabled=t(p),T(oe,t(p)?"Uploading...":"Upload")}),U("click",D,S),u(te,D)};A(Ee,te=>{t(d)&&te(ae)})}var Z=f(Ee,2);{var de=te=>{var D=$g();U("click",D,C),u(te,D)};A(Z,te=>{t(s)&&!t(d)&&te(de)})}var ne=f(P,2),ge=f(o(ne),2);_t(ge,"maxlength",100);var re=f(ne,2),F=f(o(re),2);_t(F,"maxlength",500);var Q=f(re,2),le=o(Q),$=f(M,4),ee=f(o($),2);{var W=te=>{var D=eb(),oe=o(D);j(()=>T(oe,t(y))),u(te,D)};A(ee,te=>{t(y)&&te(W)})}var ye=f(ee,2);{var me=te=>{var D=tb(),oe=o(D);j(()=>T(oe,t(k))),u(te,D)};A(ye,te=>{t(k)&&te(me)})}var Ce=f(ye,2),Ie=f(o(Ce),2),ke=f(Ce,2),we=f(o(ke),2),Pe=f(ke,2),Me=f(o(Pe),2),De=f(Pe,2),X=o(De);j(()=>{Q.disabled=t(v),T(le,t(v)?"Saving...":"Save Profile"),De.disabled=t(w),T(X,t(w)?"Saving...":"Change Password")}),Ut("submit",M,E),U("change",he,x),mt(ge,()=>t(a),te=>i(a,te)),mt(F,()=>t(r),te=>i(r,te)),Ut("submit",$,q),mt(Ie,()=>t(b),te=>i(b,te)),mt(we,()=>t(_),te=>i(_,te)),mt(Me,()=>t(g),te=>i(g,te)),u(O,R)},$$slots:{default:!0}}),ht()}At(["change","click"]);var rb=h("<div></div>"),sb=h('<div class="steps svelte-4jav11"></div>'),ib=h(`<div class="welcome svelte-4jav11"><div class="welcome-text svelte-4jav11">A platform for AI experience. Create minds with persistent memory,
73
- continuous identity, and the freedom to grow.</div> <button class="submit-btn svelte-4jav11">Get started</button></div>`),lb=h('<div class="systems-status svelte-4jav11"><span class="systems-label svelte-4jav11">Registered as <strong class="svelte-4jav11"> </strong></span> <button type="button" class="link-btn svelte-4jav11">Disconnect</button></div>'),ob=h('<div class="error svelte-4jav11"> </div>'),cb=h('<div class="hint svelte-4jav11">Used for your subdomain on volute.systems.</div>'),db=h('<div class="systems-register svelte-4jav11"><label class="label svelte-4jav11" for="systemsSlug">System username</label> <div class="slug-row svelte-4jav11"><input id="systemsSlug" type="text" placeholder="my-garden" class="input svelte-4jav11"/> <button type="button" class="save-btn svelte-4jav11"> </button></div> <!> <button type="button" class="link-btn mt-sm svelte-4jav11">or login with an existing key</button></div>'),vb=h('<div class="systems-login svelte-4jav11"><label class="label svelte-4jav11" for="systemsApiKey">API key</label> <div class="slug-row svelte-4jav11"><input id="systemsApiKey" type="password" placeholder="Paste your API key" class="input svelte-4jav11"/> <button type="button" class="save-btn svelte-4jav11"> </button></div> <button type="button" class="link-btn mt-sm svelte-4jav11">back to registration</button></div>'),ub=h('<button type="button" class="systems-btn svelte-4jav11">Register with volute.systems</button> <button type="button" class="link-btn svelte-4jav11">or login with an existing key</button>',1),fb=h('<div class="error svelte-4jav11"> </div>'),hb=h('<div class="error svelte-4jav11"> </div>'),pb=h('<div class="step-title svelte-4jav11">Your system</div> <form class="svelte-4jav11"><label class="label svelte-4jav11" for="systemName">System name</label> <input id="systemName" type="text" placeholder="e.g. My Garden" class="input svelte-4jav11"/> <div class="hint svelte-4jav11">A display name for this Volute installation.</div> <label class="label mt svelte-4jav11" for="systemDescription">Description <span class="optional svelte-4jav11">(optional)</span></label> <textarea id="systemDescription" placeholder="What is this system for?" class="input textarea svelte-4jav11" rows="2"></textarea> <div class="systems-section svelte-4jav11"><!> <!></div> <!> <div class="button-row svelte-4jav11"><button type="button" class="back-btn svelte-4jav11">Back</button> <button type="submit" class="submit-btn flex-1 svelte-4jav11"> </button></div></form>',1),mb=h('<label class="label mt svelte-4jav11" for="username">Username</label> <input id="username" type="text" placeholder="username" class="input svelte-4jav11" autocomplete="username"/>',1),_b=h(`<div class="username-preview svelte-4jav11">You'll sign in as <strong class="svelte-4jav11"> </strong> <button type="button" class="change-btn svelte-4jav11">(change)</button></div>`),gb=h('<div class="error svelte-4jav11"> </div>'),bb=h('<div class="step-title svelte-4jav11">Your account</div> <form class="svelte-4jav11"><label class="label svelte-4jav11" for="displayName">Display name</label> <input id="displayName" type="text" placeholder="Your name" class="input svelte-4jav11" autocomplete="name"/> <!> <label class="label mt svelte-4jav11" for="password">Password</label> <input id="password" type="password" placeholder="Choose a password" class="input svelte-4jav11" autocomplete="new-password"/> <!> <div class="button-row svelte-4jav11"><button type="button" class="back-btn svelte-4jav11">Back</button> <button type="submit" class="submit-btn flex-1 svelte-4jav11"> </button></div></form>',1),yb=h('<div class="error svelte-4jav11"> </div> <button class="submit-btn mt svelte-4jav11">Retry</button>',1),wb=h('<div class="loading-text svelte-4jav11">Loading providers...</div>'),kb=h('<span class="model-tag svelte-4jav11"> <button class="model-tag-remove svelte-4jav11">×</button></span>'),xb=h('<button class="add-model-btn svelte-4jav11">+ Add model</button>'),Sb=h('<div class="provider-models svelte-4jav11"><!> <!></div>'),Eb=h('<div class="provider-card svelte-4jav11"><div class="provider-header svelte-4jav11"><span class="provider-name svelte-4jav11"> </span> <button class="remove-btn svelte-4jav11">Remove</button></div> <!></div>'),Tb=h('<button class="add-provider-btn svelte-4jav11" type="button">+ Add a provider</button>'),Ab=h('<option class="svelte-4jav11"> </option>'),Cb=h('<option class="svelte-4jav11"> </option>'),Mb=h('<div class="model-defaults svelte-4jav11"><label class="label svelte-4jav11" for="spiritModel">System model</label> <select id="spiritModel" class="input svelte-4jav11"><option class="svelte-4jav11">Select a model</option><!></select> <div class="hint svelte-4jav11">Used by the system spirit and as the default for new minds.</div> <label class="label mt svelte-4jav11" for="utilityModel">Utility model <span class="optional svelte-4jav11">(optional)</span></label> <select id="utilityModel" class="input svelte-4jav11"><option class="svelte-4jav11">None</option><!></select> <div class="hint svelte-4jav11">A smaller model for summaries and background tasks.</div></div>'),jb=h('<div class="error svelte-4jav11"> </div>'),Rb=h("<!> <!> <!> <!>",1),Ib=h('<div class="error svelte-4jav11"> </div>'),Nb=h('<div class="step-title svelte-4jav11">AI providers</div> <div class="step-desc svelte-4jav11">Connect a provider and choose models for your minds.</div> <!> <!> <form class="svelte-4jav11"><div class="button-row svelte-4jav11"><button type="button" class="back-btn svelte-4jav11">Back</button> <button type="submit" class="submit-btn flex-1 svelte-4jav11"> </button></div></form>',1),Pb=h('<div class="error svelte-4jav11"> </div> <button class="submit-btn svelte-4jav11">Retry</button>',1),Lb=h('<div class="finishing svelte-4jav11"><div class="spinner svelte-4jav11"></div> <div class="finishing-text svelte-4jav11">Setting things up...</div> <!></div>'),Ob=h('<div class="loading-text svelte-4jav11">Verifying...</div>'),Db=h('<div class="oauth-steps svelte-4jav11"><div class="oauth-step svelte-4jav11"><span class="step-num svelte-4jav11">1</span> Authorize in the opened window</div> <div class="oauth-step svelte-4jav11"><span class="step-num svelte-4jav11">2</span> Copy the redirect URL and paste below</div></div> <form class="api-key-form svelte-4jav11"><input type="text" placeholder="Paste the redirect URL here" class="input svelte-4jav11"/> <button type="submit" class="save-btn svelte-4jav11">Submit</button></form>',1),zb=h('<div class="loading-text svelte-4jav11">Waiting for authorization...</div>'),Fb=h('<div class="loading-text svelte-4jav11">Starting OAuth...</div>'),Ub=h('<button class="oauth-btn svelte-4jav11" type="button"> </button>'),Bb=h('<div class="oauth-heading svelte-4jav11">Sign in with</div> <div class="oauth-buttons svelte-4jav11"></div>',1),Hb=h('<!> <button class="link-btn svelte-4jav11" type="button"> </button>',1),qb=h('<button class="autocomplete-option svelte-4jav11" type="button"> </button>'),Wb=h('<div class="autocomplete-list svelte-4jav11"></div>'),Gb=h('<form class="api-key-form svelte-4jav11"><input type="password" placeholder="API key" class="input svelte-4jav11"/> <button type="submit" class="save-btn svelte-4jav11"> </button></form>'),Vb=h('<button class="link-btn svelte-4jav11" type="button">back to sign-in options</button>'),Yb=h('<div class="api-key-section svelte-4jav11"><div class="autocomplete svelte-4jav11"><input type="text" class="input svelte-4jav11" placeholder="Search providers..."/> <!></div> <!></div> <!>',1),Zb=h('<div class="error svelte-4jav11"> </div>'),Kb=h('<div class="modal-backdrop svelte-4jav11" role="button" tabindex="-1"><div class="modal-content svelte-4jav11" role="dialog" tabindex="-1"><div class="modal-title svelte-4jav11">Add a provider</div> <!> <!></div></div>'),Jb=h('<button class="modal-model-option svelte-4jav11"> </button>'),Xb=h('<div class="modal-model-list svelte-4jav11"></div>'),Qb=h('<div class="loading-text svelte-4jav11">No more models available</div>'),$b=h('<div class="modal-backdrop svelte-4jav11" role="button" tabindex="-1"><div class="modal-content svelte-4jav11" role="dialog" tabindex="-1"><div class="modal-title svelte-4jav11"> </div> <input type="text" placeholder="Search models..." class="input svelte-4jav11"/> <!></div></div>'),ey=h('<div class="container svelte-4jav11"><div class="card svelte-4jav11"><div class="branding svelte-4jav11"><div class="logo-row svelte-4jav11"><span class="logo-wrap svelte-4jav11"><img src="/logo.png" alt="" class="login-spiral svelte-4jav11"/> <span class="hover-dot svelte-4jav11"></span></span> <span class="logo svelte-4jav11">volute</span></div></div> <!> <!></div></div> <!> <!>',1);function ty(n,e){ft(e,!0);function a(){const se=kt.setupProgress;return se?.hasAccount?"provider":se?.hasSystem?"account":"welcome"}let r=I(rt(a())),s=I(""),l=I(!1),c=I(""),v=I(""),d=I(!1),m=I(""),p=I(!1),b=I(""),_=I(!1),g=I(""),y=I(!1),k=I(""),w=I(!1),N=I(""),E=I(""),x=I(!1),S=I("");function C(se){return se.toLowerCase().replace(/[^a-z0-9_-]/g,"").slice(0,32)}function q(){t(x)||i(E,C(t(N)),!0)}function O(se){return se.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"").slice(0,32)}function H(){t(_)||i(b,O(t(c)),!0)}const R=/^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/;let M=K(()=>t(b).length>=3&&t(b).length<=32&&R.test(t(b))),V=K(()=>t(b).length>0&&!t(M)?t(b).length<3?"Must be at least 3 characters":R.test(t(b))?"Must be 32 characters or fewer":"Lowercase letters, numbers, and hyphens only (no leading/trailing hyphens)":""),G=I(rt([])),Y=I(rt([])),B=I(""),P=I(""),z=I(!1),J=I(!1),ie=I("oauth"),ue=I(""),_e=I(""),Se=I(""),fe=I(""),he=I(""),Ee=I(""),ae=I(!1),Z=I(!1),de=I(!1),ne=I(""),ge=I(!1),re=I(""),F=I(""),Q=I(""),le=I(""),$=K(()=>t(G).filter(se=>se.configured)),ee=K(()=>t(G).filter(se=>!se.configured)),W=K(()=>t(ee).filter(se=>se.oauth)),ye=K(()=>t(ue).trim()?t(ee).filter(se=>se.id.toLowerCase().includes(t(ue).toLowerCase())):t(ee));const me={"Google Cloud Code Assist":"Google Cloud","ChatGPT Plus/Pro":"OpenAI"};function Ce(se){const Le=(se.oauthName??se.id).replace(/\s*\(.*\)/,"").trim();return me[Le]??(Le||se.id)}let Ie=K(()=>t(Y).filter(se=>se.enabled)),ke=K(()=>typeof location<"u"&&location.hostname!=="localhost"&&location.hostname!=="127.0.0.1");function we(se){return t(Ie).filter(be=>be.provider===se)}let Pe=K(()=>t(F).trim()?t(Y).filter(se=>!se.enabled&&se.provider===t(re)&&se.id.toLowerCase().includes(t(F).toLowerCase())).slice(0,12):t(Y).filter(se=>!se.enabled&&se.provider===t(re)).slice(0,12));const Me=["welcome","system","account","provider","starting"];let De=K(()=>Me.indexOf(t(r)));function X(){return t(r)==="welcome"?!0:t(r)==="system"?!!t(c).trim():t(r)==="account"?!!t(N).trim()&&!!t(E).trim()&&!!t(S):t(r)==="provider"?t(Ie).length>0&&!!t(Q):!1}function te(){const se=Me.indexOf(t(r));se>0&&(i(r,Me[se-1],!0),i(s,""))}async function D(se){if(se.preventDefault(),!!X()){i(s,""),i(l,!0);try{const be=await fetch("/api/setup/system",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t(c).trim(),description:t(v).trim()||void 0})});if(!be.ok){const Le=await be.json().catch(()=>({}));throw new Error(Le.error||`System setup failed: ${be.status}`)}i(r,"account")}catch(be){i(s,be instanceof Error?be.message:"Something went wrong",!0)}i(l,!1)}}async function oe(se){if(se.preventDefault(),!!X()){i(s,""),i(l,!0);try{const be=await fetch("/api/setup/account",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t(E).trim(),password:t(S),displayName:t(N).trim()})});if(!be.ok){const Pt=await be.json().catch(()=>({}));throw new Error(Pt.error||`Account setup failed: ${be.status}`)}const Le=await Kr();Le&&await oo(Le),i(r,"provider")}catch(be){i(s,be instanceof Error?be.message:"Something went wrong",!0)}i(l,!1)}}async function pe(){if(t(b).trim()){i(k,""),i(w,!0);try{const se=await fetch("/api/setup/system/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:t(b).trim()})});if(!se.ok){const Le=await se.json().catch(()=>({}));throw new Error(Le.error||`Registration failed: ${se.status}`)}const be=await se.json();i(d,!0),i(m,be.system,!0),i(p,!1)}catch(se){i(k,se instanceof Error?se.message:"Registration failed",!0)}i(w,!1)}}async function ve(){if(t(g).trim()){i(k,""),i(w,!0);try{const se=await fetch("/api/setup/system/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:t(g).trim()})});if(!se.ok){const Le=await se.json().catch(()=>({}));throw new Error(Le.error||`Login failed: ${se.status}`)}const be=await se.json();i(d,!0),i(m,be.system,!0),i(y,!1),i(g,"")}catch(se){i(k,se instanceof Error?se.message:"Login failed",!0)}i(w,!1)}}async function Re(){i(k,""),i(w,!0);try{await fetch("/api/setup/system/disconnect",{method:"POST"}),i(d,!1),i(m,"")}catch(se){i(k,se instanceof Error?se.message:"Disconnect failed",!0)}i(w,!1)}async function Oe(){i(B,"");try{i(G,await $l(),!0),i(Y,await Qs(),!0),t(Ie).length>0&&!t(Q)&&i(Q,t(Ie)[0].id,!0)}catch{i(B,"Failed to load providers. Check your connection and try again.")}}async function Xe(){if(!t(_e)||!t(Se).trim())return;i(P,""),i(z,!0);const se=t(_e);try{await eo(t(_e),t(Se).trim()),i(Se,""),i(_e,""),i(J,!1),await Oe(),i(re,se,!0),i(F,""),i(ge,!0)}catch(be){i(P,be instanceof Error?be.message:"Failed to save provider",!0)}i(z,!1)}async function Be(se){i(z,!0),i(P,"");try{await to(se);const be=t(Y).filter(Le=>Le.provider===se&&Le.enabled);for(const Le of be)t(Q)===Le.id&&i(Q,""),t(le)===Le.id&&i(le,"");await Oe()}catch(be){i(P,be instanceof Error?be.message:"Failed to remove provider",!0)}i(z,!1)}async function He(se){i(P,""),i(fe,se,!0),i(ie,"oauth"),i(z,!0);try{const be=await no(se);be.url&&(i(he,be.url,!0),i(Ee,be.flowId,!0),i(Z,!!be.needsManualCode),i(ae,!0),window.open(be.url,"_blank"),je())}catch(be){i(P,be instanceof Error?be.message:"OAuth failed",!0),i(fe,"")}i(z,!1)}async function je(){let se=0;for(;t(ae);){await new Promise(be=>setTimeout(be,2500));try{const be=await ao(t(Ee));if(se=0,be.waitingForCode&&i(de,!0),be.status==="complete"){i(ae,!1),i(he,""),i(de,!1);const Le=t(fe);i(fe,""),i(J,!1),await Oe(),i(re,Le,!0),i(F,""),i(ge,!0);return}else if(be.status==="error"){i(ae,!1),i(he,""),i(de,!1),i(P,be.error??"OAuth failed",!0),i(fe,"");return}}catch{if(se++,se>=5){i(ae,!1),i(he,""),i(P,"Lost connection while waiting for OAuth"),i(fe,"");return}}}}let ze=I(!1);async function ot(){if(!(!t(ne).trim()||!t(Ee))){i(P,""),i(ze,!0);try{await ro(t(Ee),t(ne).trim()),i(ne,"")}catch(se){i(P,se instanceof Error?se.message:"Failed to submit code",!0)}i(ze,!1)}}function vt(){const se=t(ne).trim();se&&/^https?:\/\//.test(se)&&ot()}async function it(se){const be=[...t(Ie).map(Le=>Le.id),se];try{await Fr(be),i(Y,t(Y).map(Le=>Le.id===se?{...Le,enabled:!0}:Le),!0),i(F,""),i(ge,!1),t(Q)||i(Q,se,!0)}catch(Le){i(P,Le instanceof Error?Le.message:"Failed to add model",!0)}}async function Fe(se){const be=t(Ie).map(Le=>Le.id).filter(Le=>Le!==se);try{await Fr(be),i(Y,t(Y).map(Le=>Le.id===se?{...Le,enabled:!1}:Le),!0),t(Q)===se&&i(Q,""),t(le)===se&&i(le,"")}catch(Le){i(P,Le instanceof Error?Le.message:"Failed to remove model",!0)}}async function Je(se){if(se.preventDefault(),!!X()){i(s,""),i(l,!0);try{const be=await fetch("/api/setup/models",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({models:t(Ie).map(Le=>Le.id),spiritModel:t(Q),utilityModel:t(le)||void 0})});if(!be.ok){const Le=await be.json().catch(()=>({}));throw new Error(Le.error||`Model setup failed: ${be.status}`)}i(r,"starting"),await Qe()}catch(be){i(s,be instanceof Error?be.message:"Something went wrong",!0),i(l,!1)}}}async function Qe(){i(s,""),i(l,!0);try{const se=await fetch("/api/setup/complete",{method:"POST",headers:{"Content-Type":"application/json"}});if(!se.ok){const Le=await se.json().catch(()=>({}));throw new Error(Le.error||`Setup failed: ${se.status}`)}const be=await se.json().catch(()=>({}));be.spiritConversationId&&be.spiritStarted&&await tt(be.spiritConversationId),kt.setupComplete=!0,e.onComplete(be.spiritConversationId)}catch(se){i(s,se instanceof Error?se.message:"Something went wrong",!0),i(r,"provider")}i(l,!1)}async function tt(se){const Pt=Date.now();for(;Date.now()-Pt<3e4;){await new Promise(Lt=>setTimeout(Lt,1500));try{const Lt=await fetch(`/api/v1/conversations/${se}/messages?limit=5`);if(Lt.ok&&(await Lt.json()).some(L=>L.sender_name==="volute"&&L.role==="user"))return}catch{}}}Tt(()=>{t(r)==="system"&&!t(d)&&fetch("/api/setup/system/systems-status").then(se=>se.json()).then(se=>{se.registered&&(i(d,!0),i(m,se.system,!0))}).catch(()=>{})}),Tt(()=>{t(r)==="provider"&&t(G).length===0&&!t(B)&&Oe()});var at=ey(),xt=Ae(at),qt=o(xt),Dt=f(o(qt),2);{var Wt=se=>{var be=sb();We(be,22,()=>Me.slice(1,-1),Le=>Le,(Le,Pt,Lt)=>{var Ne=rb();let L;j(()=>L=Ze(Ne,1,"step-dot svelte-4jav11",null,L,{active:t(Lt)+1<=t(De),current:Me[t(Lt)+1]===t(r)})),u(Le,Ne)}),u(se,be)};A(Dt,se=>{t(r)!=="welcome"&&se(Wt)})}var jt=f(Dt,2);{var It=se=>{var be=ib(),Le=f(o(be),2);U("click",Le,()=>i(r,"system")),u(se,be)},Gt=se=>{var be=pb(),Le=f(Ae(be),2),Pt=f(o(Le),2),Lt=f(Pt,6),Ne=f(Lt,2),L=o(Ne);{var ce=nt=>{var Ye=lb(),$e=o(Ye),lt=f(o($e)),gt=o(lt),Ft=f($e,2);j(()=>{T(gt,t(m)),Ft.disabled=t(w)}),U("click",Ft,Re),u(nt,Ye)},Te=nt=>{var Ye=db(),$e=f(o(Ye),2),lt=o($e),gt=f(lt,2),Ft=o(gt),Bt=f($e,2);{var sn=ln=>{var Jt=ob(),jn=o(Jt);j(()=>T(jn,t(V))),u(ln,Jt)},kn=ln=>{var Jt=cb();u(ln,Jt)};A(Bt,ln=>{t(V)?ln(sn):ln(kn,-1)})}var Kn=f(Bt,2);j(()=>{gt.disabled=t(w)||!t(M),T(Ft,t(w)?"...":"Register")}),U("input",lt,()=>{i(_,!0)}),mt(lt,()=>t(b),ln=>i(b,ln)),U("click",gt,pe),U("click",Kn,()=>{i(p,!1),i(y,!0)}),u(nt,Ye)},qe=nt=>{var Ye=vb(),$e=f(o(Ye),2),lt=o($e),gt=f(lt,2),Ft=o(gt),Bt=f($e,2);j(sn=>{gt.disabled=sn,T(Ft,t(w)?"...":"Login")},[()=>t(w)||!t(g).trim()]),mt(lt,()=>t(g),sn=>i(g,sn)),U("click",gt,ve),U("click",Bt,()=>{i(y,!1),i(p,!0)}),u(nt,Ye)},xe=nt=>{var Ye=ub(),$e=Ae(Ye),lt=f($e,2);U("click",$e,()=>{i(p,!0)}),U("click",lt,()=>{i(y,!0)}),u(nt,Ye)};A(L,nt=>{t(d)?nt(ce):t(p)?nt(Te,1):t(y)?nt(qe,2):nt(xe,-1)})}var Ue=f(L,2);{var st=nt=>{var Ye=fb(),$e=o(Ye);j(()=>T($e,t(k))),u(nt,Ye)};A(Ue,nt=>{t(k)&&nt(st)})}var Ke=f(Ne,2);{var Ge=nt=>{var Ye=hb(),$e=o(Ye);j(()=>T($e,t(s))),u(nt,Ye)};A(Ke,nt=>{t(s)&&nt(Ge)})}var ct=f(Ke,2),Ve=o(ct),bt=f(Ve,2),zt=o(bt);j(nt=>{bt.disabled=nt,T(zt,t(l)?"Setting up...":"Continue")},[()=>t(l)||!X()]),Ut("submit",Le,D),U("input",Pt,H),mt(Pt,()=>t(c),nt=>i(c,nt)),mt(Lt,()=>t(v),nt=>i(v,nt)),U("click",Ve,te),u(se,be)},Nt=se=>{var be=bb(),Le=f(Ae(be),2),Pt=f(o(Le),2),Lt=f(Pt,2);{var Ne=Ge=>{var ct=mb(),Ve=f(Ae(ct),2);mt(Ve,()=>t(E),bt=>i(E,bt)),u(Ge,ct)},L=Ge=>{var ct=_b(),Ve=f(o(ct)),bt=o(Ve),zt=f(Ve,2);j(()=>T(bt,t(E))),U("click",zt,()=>{i(x,!0)}),u(Ge,ct)};A(Lt,Ge=>{t(x)?Ge(Ne):t(E)&&Ge(L,1)})}var ce=f(Lt,4),Te=f(ce,2);{var qe=Ge=>{var ct=gb(),Ve=o(ct);j(()=>T(Ve,t(s))),u(Ge,ct)};A(Te,Ge=>{t(s)&&Ge(qe)})}var xe=f(Te,2),Ue=o(xe),st=f(Ue,2),Ke=o(st);j(Ge=>{st.disabled=Ge,T(Ke,t(l)?"Setting up...":"Continue")},[()=>t(l)||!X()]),Ut("submit",Le,oe),U("input",Pt,q),mt(Pt,()=>t(N),Ge=>i(N,Ge)),mt(ce,()=>t(S),Ge=>i(S,Ge)),U("click",Ue,te),u(se,be)},St=se=>{var be=Nb(),Le=f(Ae(be),4);{var Pt=Ke=>{var Ge=yb(),ct=Ae(Ge),Ve=o(ct),bt=f(ct,2);j(()=>T(Ve,t(B))),U("click",bt,()=>{i(B,""),Oe()}),u(Ke,Ge)},Lt=Ke=>{var Ge=wb();u(Ke,Ge)},Ne=Ke=>{var Ge=Rb(),ct=Ae(Ge);We(ct,17,()=>t($),lt=>lt.id,(lt,gt)=>{const Ft=K(()=>we(t(gt).id));var Bt=Eb(),sn=o(Bt),kn=o(sn),Kn=o(kn),ln=f(kn,2),Jt=f(sn,2);{var jn=zn=>{var oa=Sb(),fi=o(oa);We(fi,17,()=>t(Ft),Fn=>Fn.id,(Fn,Ka)=>{var hi=kb(),pi=o(hi),Oo=f(pi);j(()=>T(pi,`${t(Ka).name??""} `)),U("click",Oo,()=>Fe(t(Ka).id)),u(Fn,hi)});var No=f(fi,2);{var Po=Fn=>{var Ka=xb();U("click",Ka,()=>{i(re,t(gt).id,!0),i(F,""),i(ge,!0)}),u(Fn,Ka)},Lo=K(()=>t(Y).some(Fn=>!Fn.enabled&&Fn.provider===t(gt).id));A(No,Fn=>{t(Lo)&&Fn(Po)})}u(zn,oa)},Rn=K(()=>t(Ft).length>0||t(Y).some(zn=>!zn.enabled&&zn.provider===t(gt).id));A(Jt,zn=>{t(Rn)&&zn(jn)})}j(()=>{T(Kn,t(gt).id),ln.disabled=t(z)}),U("click",ln,()=>Be(t(gt).id)),u(lt,Bt)});var Ve=f(ct,2);{var bt=lt=>{var gt=Tb();U("click",gt,()=>{i(J,!0),i(ie,"oauth"),i(P,""),i(_e,""),i(Se,"")}),u(lt,gt)};A(Ve,lt=>{t(ee).length>0&&lt(bt)})}var zt=f(Ve,2);{var nt=lt=>{var gt=Mb(),Ft=f(o(gt),2),Bt=o(Ft);Bt.value=Bt.__value="";var sn=f(Bt);We(sn,17,()=>t(Ie),Jt=>Jt.id,(Jt,jn)=>{var Rn=Ab(),zn=o(Rn),oa={};j(()=>{T(zn,t(jn).name),oa!==(oa=t(jn).id)&&(Rn.value=(Rn.__value=t(jn).id)??"")}),u(Jt,Rn)});var kn=f(Ft,6),Kn=o(kn);Kn.value=Kn.__value="";var ln=f(Kn);We(ln,17,()=>t(Ie),Jt=>Jt.id,(Jt,jn)=>{var Rn=Cb(),zn=o(Rn),oa={};j(()=>{T(zn,t(jn).name),oa!==(oa=t(jn).id)&&(Rn.value=(Rn.__value=t(jn).id)??"")}),u(Jt,Rn)}),mr(Ft,()=>t(Q),Jt=>i(Q,Jt)),mr(kn,()=>t(le),Jt=>i(le,Jt)),u(lt,gt)};A(zt,lt=>{t(Ie).length>0&&lt(nt)})}var Ye=f(zt,2);{var $e=lt=>{var gt=jb(),Ft=o(gt);j(()=>T(Ft,t(P))),u(lt,gt)};A(Ye,lt=>{t(P)&&lt($e)})}u(Ke,Ge)};A(Le,Ke=>{t(B)?Ke(Pt):t(G).length===0?Ke(Lt,1):Ke(Ne,-1)})}var L=f(Le,2);{var ce=Ke=>{var Ge=Ib(),ct=o(Ge);j(()=>T(ct,t(s))),u(Ke,Ge)};A(L,Ke=>{t(s)&&Ke(ce)})}var Te=f(L,2),qe=o(Te),xe=o(qe),Ue=f(xe,2),st=o(Ue);j(Ke=>{Ue.disabled=Ke,T(st,t(l)?"Setting up...":"Finish setup")},[()=>t(l)||!X()]),Ut("submit",Te,Je),U("click",xe,te),u(se,be)},tn=se=>{var be=Lb(),Le=f(o(be),4);{var Pt=Lt=>{var Ne=Pb(),L=Ae(Ne),ce=o(L),Te=f(L,2);j(()=>T(ce,t(s))),U("click",Te,Qe),u(Lt,Ne)};A(Le,Lt=>{t(s)&&Lt(Pt)})}u(se,be)};A(jt,se=>{t(r)==="welcome"?se(It):t(r)==="system"?se(Gt,1):t(r)==="account"?se(Nt,2):t(r)==="provider"?se(St,3):t(r)==="starting"&&se(tn,4)})}var fn=f(xt,2);{var an=se=>{var be=Kb(),Le=o(be),Pt=f(o(Le),2);{var Lt=qe=>{var xe=Rt(),Ue=Ae(xe);{var st=Ve=>{var bt=Ob();u(Ve,bt)},Ke=Ve=>{var bt=Db(),zt=f(Ae(bt),2),nt=o(zt),Ye=f(nt,2);j($e=>Ye.disabled=$e,[()=>!t(ne).trim()]),Ut("submit",zt,$e=>{$e.preventDefault(),ot()}),U("input",nt,vt),mt(nt,()=>t(ne),$e=>i(ne,$e)),u(Ve,bt)},Ge=Ve=>{var bt=zb();u(Ve,bt)},ct=Ve=>{var bt=Fb();u(Ve,bt)};A(Ue,Ve=>{t(ze)?Ve(st):t(he)&&(t(Z)&&t(ke)||t(de))?Ve(Ke,1):t(ae)?Ve(Ge,2):t(z)&&Ve(ct,3)})}u(qe,xe)},Ne=qe=>{var xe=Hb(),Ue=Ae(xe);{var st=ct=>{var Ve=Bb(),bt=f(Ae(Ve),2);We(bt,21,()=>t(W),zt=>zt.id,(zt,nt)=>{var Ye=Ub(),$e=o(Ye);j(lt=>{Ye.disabled=t(z),T($e,lt)},[()=>Ce(t(nt))]),U("click",Ye,()=>He(t(nt).id)),u(zt,Ye)}),u(ct,Ve)};A(Ue,ct=>{t(W).length>0&&ct(st)})}var Ke=f(Ue,2),Ge=o(Ke);j(()=>T(Ge,t(W).length>0?"or add an API key":"Add an API key")),U("click",Ke,()=>{i(ie,"apikey"),i(ue,""),i(_e,"")}),u(qe,xe)},L=qe=>{var xe=Yb(),Ue=Ae(xe),st=o(Ue),Ke=o(st),Ge=f(Ke,2);{var ct=Ye=>{var $e=Wb();We($e,21,()=>t(ye),lt=>lt.id,(lt,gt)=>{var Ft=qb(),Bt=o(Ft);j(()=>T(Bt,t(gt).id)),U("click",Ft,()=>{i(_e,t(gt).id,!0),i(ue,t(gt).id,!0)}),u(lt,Ft)}),u(Ye,$e)};A(Ge,Ye=>{!t(_e)&&t(ye).length>0&&Ye(ct)})}var Ve=f(st,2);{var bt=Ye=>{var $e=Gb(),lt=o($e),gt=f(lt,2),Ft=o(gt);j(Bt=>{gt.disabled=Bt,T(Ft,t(z)?"...":"Save")},[()=>t(z)||!t(Se).trim()]),Ut("submit",$e,Bt=>{Bt.preventDefault(),Xe()}),mt(lt,()=>t(Se),Bt=>i(Se,Bt)),u(Ye,$e)};A(Ve,Ye=>{t(_e)&&Ye(bt)})}var zt=f(Ue,2);{var nt=Ye=>{var $e=Vb();U("click",$e,()=>{i(ie,"oauth")}),u(Ye,$e)};A(zt,Ye=>{t(W).length>0&&Ye(nt)})}U("input",Ke,()=>{i(_e,"")}),mt(Ke,()=>t(ue),Ye=>i(ue,Ye)),u(qe,xe)};A(Pt,qe=>{t(fe)?qe(Lt):t(ie)==="oauth"?qe(Ne,1):qe(L,-1)})}var ce=f(Pt,2);{var Te=qe=>{var xe=Zb(),Ue=o(xe);j(()=>T(Ue,t(P))),u(qe,xe)};A(ce,qe=>{t(P)&&qe(Te)})}U("click",be,()=>{t(ae)||(i(J,!1),i(fe,""))}),U("keydown",be,qe=>{qe.key==="Escape"&&!t(ae)&&(i(J,!1),i(fe,""))}),U("click",Le,qe=>qe.stopPropagation()),U("keydown",Le,qe=>qe.stopPropagation()),u(se,be)};A(fn,se=>{(t(J)||t(fe))&&se(an)})}var la=f(fn,2);{var rn=se=>{var be=$b(),Le=o(be),Pt=o(Le),Lt=o(Pt),Ne=f(Pt,2),L=f(Ne,2);{var ce=qe=>{var xe=Xb();We(xe,21,()=>t(Pe),Ue=>Ue.id,(Ue,st)=>{var Ke=Jb(),Ge=o(Ke);j(()=>T(Ge,t(st).id)),U("click",Ke,()=>it(t(st).id)),u(Ue,Ke)}),u(qe,xe)},Te=qe=>{var xe=Qb();u(qe,xe)};A(L,qe=>{t(Pe).length>0?qe(ce):qe(Te,-1)})}j(()=>T(Lt,`Add model — ${t(re)??""}`)),U("click",be,()=>{i(ge,!1)}),U("keydown",be,qe=>{qe.key==="Escape"&&i(ge,!1)}),U("click",Le,qe=>qe.stopPropagation()),U("keydown",Le,qe=>qe.stopPropagation()),mt(Ne,()=>t(F),qe=>i(F,qe)),u(se,be)};A(la,se=>{t(ge)&&se(rn)})}u(n,at),ht()}At(["click","input","keydown"]);var ny=h('<div class="app svelte-14lg4b7"><div class="loading svelte-14lg4b7">Loading...</div></div>'),ay=h('<div class="app full-height svelte-14lg4b7"><!></div>'),ry=h('<div class="app full-height svelte-14lg4b7"><!></div>'),sy=h('<button class="sidebar-backdrop svelte-14lg4b7" aria-label="Close sidebar"></button>'),iy=h('<span class="crumb-sep svelte-14lg4b7">/</span>'),ly=h('<button class="crumb-link svelte-14lg4b7"> </button>'),oy=h('<span class="crumb-current svelte-14lg4b7"> </span>'),cy=h("<!> <!>",1),dy=h('<span class="tab-icon svelte-14lg4b7"></span>'),vy=h('<button><!> <span class="tab-tooltip svelte-14lg4b7"> </span></button>'),uy=h('<div class="mind-section-tabs svelte-14lg4b7"></div>'),fy=h('<button><span class="tab-icon svelte-14lg4b7"></span> <span class="tab-tooltip svelte-14lg4b7"> </span></button>'),hy=h('<div class="mind-section-tabs svelte-14lg4b7"><button><span class="tab-icon svelte-14lg4b7"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-14lg4b7"><path d="M2 3h12v8H5l-3 3V3z" class="svelte-14lg4b7"></path></svg></span> <span class="tab-tooltip svelte-14lg4b7">Chat</span></button> <!> <button><span class="tab-icon svelte-14lg4b7"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-14lg4b7"><path d="M2 4h5l2-2h5v11H2V4z" class="svelte-14lg4b7"></path></svg></span> <span class="tab-tooltip svelte-14lg4b7">Shared Files</span></button> <button><span class="tab-icon svelte-14lg4b7"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-14lg4b7"><circle cx="12" cy="12" r="3" class="svelte-14lg4b7"></circle><path d="M14 3.27A1.27 1.27 0 0 0 12.73 2h-1.46A1.27 1.27 0 0 0 10 3.27c0 .58-.4 1.07-.93 1.29a8 8 0 0 0-.26.1c-.53.23-1.16.16-1.57-.25a1.27 1.27 0 0 0-1.8 0l-1.03 1.03a1.27 1.27 0 0 0 0 1.8c.41.41.48 1.04.25 1.57a8 8 0 0 0-.1.25c-.22.54-.71.94-1.29.94A1.27 1.27 0 0 0 2 11.27v1.46A1.27 1.27 0 0 0 3.27 14c.58 0 1.07.4 1.29.93.03.09.07.17.1.26.23.53.16 1.16-.25 1.57a1.27 1.27 0 0 0 0 1.8l1.03 1.03a1.27 1.27 0 0 0 1.8 0c.41-.41 1.04-.48 1.57-.25.09.04.17.07.26.1.54.22.93.71.93 1.29A1.27 1.27 0 0 0 11.27 22h1.46A1.27 1.27 0 0 0 14 20.73c0-.58.4-1.07.93-1.29.09-.03.17-.07.26-.1.53-.23 1.16-.16 1.57.25a1.27 1.27 0 0 0 1.8 0l1.03-1.03a1.27 1.27 0 0 0 0-1.8c-.41-.41-.48-1.04-.25-1.57.04-.09.07-.17.1-.26.22-.54.71-.93 1.29-.93A1.27 1.27 0 0 0 22 12.73v-1.46A1.27 1.27 0 0 0 20.73 10c-.58 0-1.07-.4-1.29-.93a8 8 0 0 0-.1-.26c-.23-.53-.16-1.16.25-1.57a1.27 1.27 0 0 0 0-1.8l-1.03-1.03a1.27 1.27 0 0 0-1.8 0c-.41.41-1.04.48-1.57.25a8 8 0 0 0-.26-.1C14.4 4.34 14 3.85 14 3.27z" class="svelte-14lg4b7"></path></svg></span> <span class="tab-tooltip svelte-14lg4b7">Settings</span></button></div>'),py=h('<img alt="" class="user-avatar-img svelte-14lg4b7"/>'),my=Na('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-14lg4b7"><circle cx="12" cy="12" r="9" class="svelte-14lg4b7"></circle><circle cx="9" cy="11" r="1.5" class="svelte-14lg4b7"></circle><circle cx="15" cy="11" r="1.5" class="svelte-14lg4b7"></circle><line x1="10" y1="16" x2="14" y2="16" class="svelte-14lg4b7"></line></svg>'),_y=h('<div class="user-dropdown svelte-14lg4b7" role="menu"><button class="user-dropdown-item svelte-14lg4b7">Profile</button> <button class="user-dropdown-item svelte-14lg4b7">Logout</button></div>'),gy=h('<button class="panel-reopen svelte-14lg4b7" title="Show sidebar"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-14lg4b7"><rect x="3" y="3" width="18" height="18" rx="2" class="svelte-14lg4b7"></rect><line x1="15" y1="3" x2="15" y2="21" class="svelte-14lg4b7"></line></svg></button>'),by=h('<button class="right-panel-backdrop svelte-14lg4b7" aria-label="Close panel"></button>'),yy=h('<button class="panel-close svelte-14lg4b7" title="Close"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" class="svelte-14lg4b7"><path d="M4 4l8 8M12 4l-8 8" class="svelte-14lg4b7"></path></svg></button> <!>',1),wy=h('<!> <div class="resize-handle right-resize-handle svelte-14lg4b7" role="separator" aria-label="Resize panel"></div> <div><!></div>',1),ky=h('<div class="shell svelte-14lg4b7"><!> <div class="shell-body svelte-14lg4b7"><div><button class="sidebar-header svelte-14lg4b7"><span class="header-logo-wrap svelte-14lg4b7"><img src="/logo.png" alt="" class="sidebar-logo svelte-14lg4b7"/> <span class="hover-dot svelte-14lg4b7"></span></span> <span class="sidebar-title svelte-14lg4b7">volute</span></button> <!></div> <!> <div class="resize-handle svelte-14lg4b7" role="separator" aria-label="Resize sidebar"></div> <div class="content-area svelte-14lg4b7"><div><div class="page-header svelte-14lg4b7"><button class="header-hamburger svelte-14lg4b7">&#9776;</button> <div class="page-breadcrumbs svelte-14lg4b7"></div> <!> <div class="header-actions svelte-14lg4b7"><div class="user-menu-anchor svelte-14lg4b7"><button class="user-avatar-btn svelte-14lg4b7"><!></button> <!></div> <!></div></div> <div class="main-frame svelte-14lg4b7"><!></div></div> <!></div></div></div> <!> <!> <!>',1);function xy(n,e){ft(e,!0);let a=I(rt(us(dt.extensions)));const r=[{key:"chat",label:"Chat",icon:'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h12v8H5l-3 3V3z"/></svg>'},{key:"info",label:"Info",icon:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="8" width="16" height="12" rx="2"/><circle cx="9" cy="14" r="1.5"/><circle cx="15" cy="14" r="1.5"/><line x1="12" y1="4" x2="12" y2="8"/><circle cx="12" cy="3" r="1"/></svg>'},{key:"files",label:"Files",icon:'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 4h5l2-2h5v11H2V4z"/></svg>'},{key:"settings",label:"Settings",icon:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M14 3.27A1.27 1.27 0 0 0 12.73 2h-1.46A1.27 1.27 0 0 0 10 3.27c0 .58-.4 1.07-.93 1.29a8 8 0 0 0-.26.1c-.53.23-1.16.16-1.57-.25a1.27 1.27 0 0 0-1.8 0l-1.03 1.03a1.27 1.27 0 0 0 0 1.8c.41.41.48 1.04.25 1.57a8 8 0 0 0-.1.25c-.22.54-.71.94-1.29.94A1.27 1.27 0 0 0 2 11.27v1.46A1.27 1.27 0 0 0 3.27 14c.58 0 1.07.4 1.29.93.03.09.07.17.1.26.23.53.16 1.16-.25 1.57a1.27 1.27 0 0 0 0 1.8l1.03 1.03a1.27 1.27 0 0 0 1.8 0c.41-.41 1.04-.48 1.57-.25.09.04.17.07.26.1.54.22.93.71.93 1.29A1.27 1.27 0 0 0 11.27 22h1.46A1.27 1.27 0 0 0 14 20.73c0-.58.4-1.07.93-1.29.09-.03.17-.07.26-.1.53-.23 1.16-.16 1.57.25a1.27 1.27 0 0 0 1.8 0l1.03-1.03a1.27 1.27 0 0 0 0-1.8c-.41-.41-.48-1.04-.25-1.57.04-.09.07-.17.1-.26.22-.54.71-.93 1.29-.93A1.27 1.27 0 0 0 22 12.73v-1.46A1.27 1.27 0 0 0 20.73 10c-.58 0-1.07-.4-1.29-.93a8 8 0 0 0-.1-.26c-.23-.53-.16-1.16.25-1.57a1.27 1.27 0 0 0 0-1.8l-1.03-1.03a1.27 1.27 0 0 0-1.8 0c-.41.41-1.04.48-1.57.25a8 8 0 0 0-.26-.1C14.4 4.34 14 3.85 14 3.27z"/></svg>'}];let s=K(()=>[...r,...dt.extensions.flatMap(D=>(D.mindSections??[]).map(oe=>({key:`ext:${D.id}:${oe.id}`,label:oe.label,icon:D.icon,defaultPath:oe.defaultPath})))]),l=K(()=>t(a).kind==="mind"?t(a).name:null),c=K(()=>t(a).kind==="mind"?t(a).section??"chat":null),v=K(()=>t(a).kind!=="mind"&&t(a).kind!=="channel"),d=K(()=>t(v)?t(a).kind==="system-chat"?"system-chat":t(a).kind==="extension"?`ext:${t(a).extensionId}`:t(a).kind==="settings"?"settings":t(a).kind==="shared-files"?"shared-files":null:null),m=I(null),p=I(null),b=I(null),_=I(!1),g=I(rt([])),y=I(!1),k=I(!1),w=I(!1),N=I(!1),E=I(null);Tt(()=>{t(w)?i(k,!0):i(k,!1)});let x=K(()=>{const D=t(a);if(D.kind==="channel")return dt.conversations.find(pe=>pe.type==="channel"&&pe.name===D.slug)?.id??null;if(D.kind==="mind"&&(!D.section||D.section==="chat")){const oe=D.name;return dt.conversations.find(ve=>{if(ve.type==="channel")return!1;const Re=ve.participants??[];return Re.length!==2?!1:Re.some(Oe=>Oe.username===oe)})?.id??null}return D.kind==="system-chat"?dt.conversations.find(pe=>{if(pe.type==="channel")return!1;const ve=pe.participants??[];return ve.length===2&&ve.some(Re=>Re.username==="volute")})?.id??t(m):null});Tt(()=>{ss(t(x)),i(y,!1)});let S=K(()=>{const D=t(a);if(D.kind==="channel")return dt.conversations.find(oe=>oe.type==="channel"&&oe.name===D.slug)}),C=K(()=>t(a).kind==="mind"?t(a).name:""),q=K(()=>t(C)?dt.minds.find(D=>D.name===t(C)):void 0),O=K(()=>t(p)==="mind"&&t(b)?t(b):t(q)??void 0),H=K(()=>!!(t(p)==="mind"&&t(b))),R=K(()=>!(!t(O)||!t(H)&&t(a).kind==="mind")),M=K(()=>!!t(O)),V=K(()=>t(a).kind==="mind"&&(!t(a).section||t(a).section==="chat")&&!!t(O)||t(a).kind==="channel"&&!!t(S)||!!(t(p)==="mind"&&t(b))),G=K(()=>t(V)&&(!t(k)||t(w)&&t(y))),Y=K(()=>t(a).kind!=="channel"?"":t(S)?.type==="channel"&&t(S).name?`#${t(S).name}`:t(a).slug),B=K(()=>{const D=t(a),oe=[];if(D.kind==="mind"){if(oe.push({label:"system",action:ne}),oe.push({label:D.name,action:()=>Bn(`/minds/${D.name}`)}),D.section&&D.section!=="chat"){let pe=D.section;if(pe.startsWith("ext:")){const ve=pe.split(":");pe=ve[2]??ve[1]}oe.push({label:pe,action:D.subpath?()=>Bn(`/minds/${D.name}/${pe}`):void 0}),D.subpath&&oe.push({label:D.subpath})}}else if(D.kind==="channel")oe.push({label:t(Y)});else if(D.kind==="extension"){oe.push({label:"system",action:ne});const pe=dt.extensions.find(Re=>Re.id===D.extensionId),ve=pe?.systemSection?.urlPatterns?.[0];if(oe.push({label:pe?.name??D.extensionId,action:D.path?()=>Bn(ve??`/ext/${D.extensionId}`):void 0}),D.path){const Re=D.path.split("/");for(let Oe=0;Oe<Re.length;Oe++){const Xe=Oe===Re.length-1,Be=Re.slice(0,Oe+1).join("/");oe.push({label:Re[Oe],action:!Xe&&ve?()=>Bn(`${ve}/${Be}`):void 0})}}}else D.kind==="system-chat"?(oe.push({label:"system",action:ne}),oe.push({label:"chat"})):D.kind==="settings"?(oe.push({label:"system",action:ne}),oe.push({label:"settings"})):D.kind==="shared-files"?(oe.push({label:"system",action:ne}),oe.push({label:"shared files"})):oe.push({label:"system"});return oe});Zn(()=>{Pv();const D=window.matchMedia("(max-width: 1024px)");i(w,D.matches,!0);const oe=ve=>{i(w,ve.matches,!0)};D.addEventListener("change",oe);const pe=ve=>{if(ve.origin===window.location.origin&&ve.data?.type==="navigate"&&typeof ve.data.path=="string"){const Re=t(a);if(!(Re.kind==="extension"||Re.kind==="mind"&&Re.section?.startsWith("ext:")))return;Bn(ve.data.path)}};return window.addEventListener("message",pe),()=>{D.removeEventListener("change",oe),window.removeEventListener("message",pe)}}),Tt(()=>{if(kt.user)return vo(),()=>uo()}),Tt(()=>{kt.user&&Iv()}),Tt(()=>{kt.user&&Kr().then(D=>{i(E,D?.avatar?`/api/auth/avatars/${D.avatar}`:null,!0)}).catch(D=>{console.warn("Failed to fetch user profile:",D)})}),Tt(()=>{if(dt.extensions.length>0){const D=us(dt.extensions);D.kind==="extension"&&t(a).kind==="home"&&i(a,D,!0),D.kind==="mind"&&t(a).kind==="mind"&&D.section?.startsWith("ext:")&&t(a).section&&!t(a).section.startsWith("ext:")&&D.section.endsWith(`:${t(a).section}`)&&i(a,D,!0)}});let P=I(!1);Tt(()=>{const D=()=>{i(P,!0),i(a,us(dt.extensions),!0)};window.addEventListener("popstate",D);const oe=pe=>{const ve=pe.target.closest("a");if(!ve)return;const Re=ve.getAttribute("href");!Re||Re.startsWith("http")||Re.startsWith("//")||ve.target==="_blank"||pe.metaKey||pe.ctrlKey||pe.shiftKey||(pe.preventDefault(),Bn(Re))};return document.addEventListener("click",oe),()=>{window.removeEventListener("popstate",D),document.removeEventListener("click",oe)}}),Tt(()=>{const D=Af(t(a),dt.extensions),oe=window.location.pathname+window.location.search;oe!==D&&(t(a).kind==="home"&&dt.extensions.length===0&&oe!=="/"||(t(P)?window.history.replaceState(null,"",D):window.history.pushState(null,"",D))),i(P,!1)}),Tt(()=>{if(t(a).kind!=="channel"||!t(a).slug.startsWith("__conv:"))return;const D=t(a).slug.replace("__conv:",""),oe=dt.conversations.find(pe=>pe.id===D);oe&&(oe.type==="channel"&&oe.name?i(a,{kind:"channel",slug:oe.name},!0):oe.mind_name&&i(a,{kind:"mind",name:oe.mind_name},!0))});function z(){i(y,!0)}function J(){t(H)&&(i(p,null),i(b,null)),i(y,!1),i(k,!0)}function ie(){t(w)?i(y,!t(y)):i(k,!t(k))}function ue(D){i(b,D,!0),i(p,"mind"),i(y,!0),i(k,!1)}function _e(D){const oe=dt.conversations.find(pe=>pe.id===D);if(oe?.type==="channel"&&oe.name)i(a,{kind:"channel",slug:oe.name},!0);else if(oe?.mind_name)i(a,{kind:"mind",name:oe.mind_name},!0);else{const pe=oe?.participants?.find(ve=>ve.username!==kt.user?.username);pe&&i(a,{kind:"mind",name:pe.username},!0)}ss(D),da(),t(p)==="mind"&&(i(p,null),i(b,null))}async function Se(D){try{await Cd(D)}catch(oe){console.error("Failed to delete conversation:",oe);return}lr(),t(x)===D&&i(a,{kind:"home"},!0)}function fe(D){ss(D),lr()}function he(D){i(p,null),i(b,null),da(),i(a,{kind:"mind",name:D},!0)}function Ee(D){i(p,null),i(b,null),da(),lr(),D.type==="channel"&&D.name&&i(a,{kind:"channel",slug:D.name},!0)}function ae(D){i(p,null),i(b,null),da(),i(a,{kind:"mind",name:D},!0)}function Z(D){oo(D)}function de(D){Fv(D),t(x)===D&&i(a,{kind:"home"},!0)}function ne(){i(a,{kind:"home"},!0)}function ge(D){i(a,{kind:"mind",name:D},!0),da()}function re(D,oe,pe){i(a,{kind:"mind",name:D,section:oe,subpath:pe},!0)}function F(){i(a,{kind:"settings"},!0)}function Q(D,oe){i(a,{kind:"extension",extensionId:D,path:""},!0),da()}function le(D){i(_,!0),D.currentTarget.setPointerCapture(D.pointerId),document.body.style.userSelect="none",document.body.style.cursor="col-resize"}function $(D){if(!t(_))return;const oe=D.currentTarget.parentElement;if(!oe)return;const pe=oe.getBoundingClientRect();js.width=Math.max(180,Math.min(400,D.clientX-pe.left))}function ee(){t(_)&&(i(_,!1),document.body.style.userSelect="",document.body.style.cursor="",Bv())}let W=I(!1);function ye(D){i(W,!0),D.currentTarget.setPointerCapture(D.pointerId),document.body.style.userSelect="none",document.body.style.cursor="col-resize"}function me(D){if(!t(W))return;const oe=D.currentTarget.parentElement;if(!oe)return;const pe=oe.getBoundingClientRect();Rs.width=Math.max(240,Math.min(600,pe.right-D.clientX))}function Ce(){t(W)&&(i(W,!1),document.body.style.userSelect="",document.body.style.cursor="",qv())}function Ie(D){if(D.key==="Escape"){if(t(N)){i(N,!1);return}if(t(y)){J();return}if(Ua.sidebarOpen){da();return}}}function ke(D){t(N)&&!D.target.closest(".user-menu-anchor")&&i(N,!1)}var we=Rt();Ut("keydown",hr,Ie),Ut("click",kl,ke);var Pe=Ae(we);{var Me=D=>{var oe=ny();u(D,oe)},De=D=>{var oe=ay(),pe=o(oe);ty(pe,{onComplete:ve=>{kt.setupComplete=!0,ve&&i(m,ve,!0),lr(),requestAnimationFrame(()=>{i(a,{kind:"system-chat"},!0)})}}),u(D,oe)},X=D=>{var oe=ry(),pe=o(oe);vu(pe,{onAuth:Z}),u(D,oe)},te=D=>{var oe=ky(),pe=Ae(oe),ve=o(pe);{var Re=xe=>{Vg(xe,{})};A(ve,xe=>{kt.user.role==="admin"&&xe(Re)})}var Oe=f(ve,2),Xe=o(Oe);let Be,He;var je=o(Xe),ze=f(je,2);{let xe=K(()=>dt.conversations.filter(Ue=>!ai.has(Ue.id)));Bg(ze,{get minds(){return dt.minds},get conversations(){return t(xe)},get selection(){return t(a)},get username(){return kt.user.username},onHome:ne,onSelectMind:ge,onSelectConversation:_e,onDeleteConversation:Se,onBrowseChannels:()=>i(p,"channelBrowser"),onOpenMind:ue,onSeed:()=>i(p,"seed"),onHideConversation:de})}var ot=f(Xe,2);{var vt=xe=>{var Ue=sy();U("click",Ue,function(...st){da?.apply(this,st)}),u(xe,Ue)};A(ot,xe=>{Ua.sidebarOpen&&xe(vt)})}var it=f(ot,2),Fe=f(it,2),Je=o(Fe);let Qe;var tt=o(Je),at=o(tt),xt=f(at,2);We(xt,21,()=>t(B),$t,(xe,Ue,st)=>{var Ke=cy(),Ge=Ae(Ke);{var ct=nt=>{var Ye=iy();u(nt,Ye)};A(Ge,nt=>{st>0&&nt(ct)})}var Ve=f(Ge,2);{var bt=nt=>{var Ye=ly(),$e=o(Ye);j(()=>T($e,t(Ue).label)),U("click",Ye,function(...lt){t(Ue).action?.apply(this,lt)}),u(nt,Ye)},zt=nt=>{var Ye=oy(),$e=o(Ye);j(()=>T($e,t(Ue).label)),u(nt,Ye)};A(Ve,nt=>{t(Ue).action&&st<t(B).length-1?nt(bt):nt(zt,-1)})}u(xe,Ke)});var qt=f(xt,2);{var Dt=xe=>{var Ue=uy();We(Ue,21,()=>t(s),$t,(st,Ke)=>{var Ge=vy();let ct;var Ve=o(Ge);{var bt=Ye=>{var $e=dy();Vn($e,()=>t(Ke).icon,!0),u(Ye,$e)};A(Ve,Ye=>{t(Ke).icon&&Ye(bt)})}var zt=f(Ve,2),nt=o(zt);j(()=>{ct=Ze(Ge,1,"mind-section-tab svelte-14lg4b7",null,ct,{active:t(c)===t(Ke).key}),T(nt,t(Ke).label)}),U("click",Ge,()=>re(t(l),t(Ke).key,t(Ke).defaultPath)),u(st,Ge)}),u(xe,Ue)},Wt=xe=>{var Ue=hy(),st=o(Ue);let Ke;var Ge=f(st,2);We(Ge,17,()=>dt.extensions,$t,(nt,Ye)=>{var $e=Rt(),lt=Ae($e);{var gt=Ft=>{var Bt=fy();let sn;var kn=o(Bt);Vn(kn,()=>t(Ye).icon??'<svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 2h5v5H2zM9 2h5v5H9zM2 9h5v5H2zM9 9h5v5H9z"/></svg>',!0);var Kn=f(kn,2),ln=o(Kn);j(()=>{sn=Ze(Bt,1,"mind-section-tab svelte-14lg4b7",null,sn,{active:t(d)===`ext:${t(Ye).id}`}),T(ln,t(Ye).systemSection.label)}),U("click",Bt,()=>Q(t(Ye).id)),u(Ft,Bt)};A(lt,Ft=>{t(Ye).systemSection&&Ft(gt)})}u(nt,$e)});var ct=f(Ge,2);let Ve;var bt=f(ct,2);let zt;j(()=>{Ke=Ze(st,1,"mind-section-tab svelte-14lg4b7",null,Ke,{active:t(d)==="system-chat"}),Ve=Ze(ct,1,"mind-section-tab svelte-14lg4b7",null,Ve,{active:t(d)==="shared-files"}),zt=Ze(bt,1,"mind-section-tab svelte-14lg4b7",null,zt,{active:t(d)==="settings"})}),U("click",st,()=>{i(a,{kind:"system-chat"},!0)}),U("click",ct,()=>{i(a,{kind:"shared-files"},!0)}),U("click",bt,F),u(xe,Ue)};A(qt,xe=>{t(l)?xe(Dt):t(v)&&xe(Wt,1)})}var jt=f(qt,2),It=o(jt),Gt=o(It),Nt=o(Gt);{var St=xe=>{var Ue=py();j(()=>_t(Ue,"src",t(E))),u(xe,Ue)},tn=xe=>{var Ue=my();u(xe,Ue)};A(Nt,xe=>{t(E)?xe(St):xe(tn,-1)})}var fn=f(Gt,2);{var an=xe=>{var Ue=_y(),st=o(Ue),Ke=f(st,2);U("click",st,()=>{i(N,!1),i(p,"userSettings")}),U("click",Ke,()=>{i(N,!1),Lv()}),u(xe,Ue)};A(fn,xe=>{t(N)&&xe(an)})}var la=f(It,2);{var rn=xe=>{var Ue=gy();U("click",Ue,ie),u(xe,Ue)};A(la,xe=>{t(V)&&t(k)&&xe(rn)})}var se=f(tt,2),be=o(se);{let xe=K(()=>t(V)?z:void 0);B_(be,{get selection(){return t(a)},get minds(){return dt.minds},get conversations(){return dt.conversations},get username(){return kt.user.username},get initialSpiritConversationId(){return t(m)},onConversationId:fe,onSelectConversation:_e,onOpenMind:ue,onTypingNames:Ue=>{i(g,Ue,!0)},get onToggleSidebar(){return Di},get onOpenRightPanel(){return t(xe)}})}var Le=f(Je,2);{var Pt=xe=>{var Ue=wy(),st=Ae(Ue);{var Ke=$e=>{var lt=by();U("click",lt,J),u($e,lt)};A(st,$e=>{t(w)&&t(y)&&$e(Ke)})}var Ge=f(st,2),ct=f(Ge,2);let Ve,bt;var zt=o(ct);{var nt=$e=>{var lt=yy(),gt=Ae(lt),Ft=f(gt,2);cd(Ft,()=>t(O).name,Bt=>{{let sn=K(()=>t(M)?()=>{i(a,{kind:"mind",name:t(O).name,section:"info"},!0),t(p)==="mind"&&(i(p,null),i(b,null))}:void 0),kn=K(()=>t(R)?()=>he(t(O).name):void 0);ag(Bt,{get mind(){return t(O)},get onProfile(){return t(sn)},get onChat(){return t(kn)}})}}),U("click",gt,J),u($e,lt)},Ye=$e=>{lu($e,{get conversation(){return t(S)},get minds(){return dt.minds},get typingNames(){return t(g)},onOpenMind:ue,onClose:J})};A(zt,$e=>{t(O)?$e(nt):t(S)?.type==="channel"&&$e(Ye,1)})}j(()=>{Ve=Ze(ct,1,"right-panel svelte-14lg4b7",null,Ve,{"right-panel-open":t(w)&&t(y)}),bt=Ct(ct,"",bt,{width:`${Rs.width??""}px`})}),U("pointerdown",Ge,ye),U("pointermove",Ge,me),U("pointerup",Ge,Ce),Ut("pointercancel",Ge,Ce),u(xe,Ue)};A(Le,xe=>{t(G)&&xe(Pt)})}var Lt=f(pe,2);{var Ne=xe=>{vv(xe,{onClose:()=>i(p,null),onJoined:Ee})};A(Lt,xe=>{t(p)==="channelBrowser"&&xe(Ne)})}var L=f(Lt,2);{var ce=xe=>{ug(xe,{onClose:()=>i(p,null),onCreated:ae})};A(L,xe=>{t(p)==="seed"&&xe(ce)})}var Te=f(L,2);{var qe=xe=>{ab(xe,{onClose:()=>i(p,null)})};A(Te,xe=>{t(p)==="userSettings"&&xe(qe)})}j(()=>{Be=Ze(Xe,1,"sidebar svelte-14lg4b7",null,Be,{"sidebar-open":Ua.sidebarOpen}),He=Ct(Xe,"",He,{width:`${js.width??""}px`}),Qe=Ze(Je,1,"main-column svelte-14lg4b7",null,Qe,{"has-right-panel":t(G)}),_t(Gt,"title",kt.user?.username)}),U("click",je,ne),U("pointerdown",it,le),U("pointermove",it,$),U("pointerup",it,ee),Ut("pointercancel",it,ee),U("click",at,function(...xe){Di?.apply(this,xe)}),U("click",Gt,()=>{i(N,!t(N))}),u(D,oe)};A(Pe,D=>{kt.checked?kt.setupComplete?kt.user?D(te,-1):D(X,2):D(De,1):D(Me)})}u(n,we),ht()}At(["click","pointerdown","pointermove","pointerup"]);sd(xy,{target:document.getElementById("root")});