pi-roundtable-web 0.28.0 → 0.29.1

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 (236) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +4 -4
  3. package/dist/chunk-account-66e6ezdq.js +1 -0
  4. package/dist/{chunk-action-menu-qpp9bdxh.js → chunk-action-menu-ap5xn7bf.js} +1 -1
  5. package/dist/chunk-agent-sapt5qhn.js +1 -0
  6. package/dist/chunk-arranged-rooms-n6bk696f.js +1 -0
  7. package/dist/chunk-attachments-p5v9gqyt.js +102 -0
  8. package/dist/chunk-bulk-actions-aze4ewc4.js +1 -0
  9. package/dist/chunk-character-creator-m7tw20ef.js +225 -0
  10. package/dist/{chunk-codeeditor-jgj32247.js → chunk-codeeditor-yy6pq8mv.js} +2 -2
  11. package/dist/chunk-confirm-0cajsfhk.js +1 -0
  12. package/dist/chunk-connectors-tw0tbm21.js +37 -0
  13. package/dist/chunk-conversations-wkm23m5r.js +1 -0
  14. package/dist/chunk-council-sheet-mz7s23nq.js +2 -0
  15. package/dist/chunk-council-view-zgvzxtgn.js +1 -0
  16. package/dist/{chunk-drag-04qfef58.js → chunk-drag-d1bpy8w6.js} +1 -1
  17. package/dist/{chunk-entry-mws704mc.js → chunk-entry-7zr5b1fp.js} +1 -1
  18. package/dist/chunk-folder-list-bs4eh3g9.js +1 -0
  19. package/dist/chunk-folds-eez1q41c.js +1 -0
  20. package/dist/{chunk-gate-vxetvn8t.js → chunk-gate-dt91egcd.js} +1 -1
  21. package/dist/chunk-host-icons-nfe2t8tk.js +1 -0
  22. package/dist/chunk-host-picture-4rtswxwa.js +1 -0
  23. package/dist/chunk-host-state-1vxzmmq6.js +1 -0
  24. package/dist/chunk-host-ui-x38bf0et.js +1 -0
  25. package/dist/{chunk-index-zj0gjcvr.js → chunk-index-0h99xcs3.js} +2 -2
  26. package/dist/{chunk-index-e2gy763y.js → chunk-index-1kb8tv4v.js} +2 -2
  27. package/dist/chunk-index-24cggw6k.js +50 -0
  28. package/dist/chunk-index-2g8xtwqg.js +2 -0
  29. package/dist/chunk-index-3n38xe7m.js +2 -0
  30. package/dist/{chunk-index-n0cmnwd2.js → chunk-index-3tksdmx7.js} +2 -2
  31. package/dist/{chunk-index-2822z600.js → chunk-index-4a1tdadd.js} +3 -3
  32. package/dist/{chunk-index-2syyyjnq.js → chunk-index-53fwc7sc.js} +2 -2
  33. package/dist/chunk-index-55ps4x5n.js +2 -0
  34. package/dist/{chunk-index-q5fyrtx4.js → chunk-index-5j1v2q7w.js} +1 -1
  35. package/dist/chunk-index-5w6tb7p0.js +2 -0
  36. package/dist/chunk-index-6btdp13p.js +2 -0
  37. package/dist/chunk-index-6m7dwsmv.js +1 -0
  38. package/dist/{chunk-index-20xgx0k2.js → chunk-index-6rdywten.js} +2 -2
  39. package/dist/{chunk-index-3gfbhmpb.js → chunk-index-6s2pqwna.js} +2 -2
  40. package/dist/{chunk-index-fepsbhr6.js → chunk-index-7mrkq793.js} +2 -2
  41. package/dist/chunk-index-7xcbpeqz.js +2 -0
  42. package/dist/chunk-index-88wh5eyj.js +2 -0
  43. package/dist/{chunk-index-6cg8xp1c.js → chunk-index-8pbwr3rs.js} +1 -1
  44. package/dist/{chunk-index-jc3r4qam.js → chunk-index-8wpvj7k5.js} +2 -2
  45. package/dist/chunk-index-97dcp1vh.js +1 -0
  46. package/dist/chunk-index-a7e6rhxy.js +2 -0
  47. package/dist/{chunk-index-2tr41qht.js → chunk-index-bxf8eq1s.js} +2 -2
  48. package/dist/chunk-index-c8gm1crh.js +120 -0
  49. package/dist/{chunk-index-2y8r4s4f.js → chunk-index-ce7hsda9.js} +2 -2
  50. package/dist/chunk-index-cfesmk1f.js +2 -0
  51. package/dist/{chunk-index-m81362sc.js → chunk-index-cmzvq3nf.js} +1 -1
  52. package/dist/{chunk-index-7qd604rq.js → chunk-index-d4mx2vvf.js} +1 -1
  53. package/dist/chunk-index-d74tpnkd.js +2 -0
  54. package/dist/chunk-index-d941ae7c.js +2 -0
  55. package/dist/{chunk-index-e35v554x.js → chunk-index-dr0jr7d3.js} +3 -3
  56. package/dist/chunk-index-en728705.js +2 -0
  57. package/dist/chunk-index-fb3kzyyp.js +2 -0
  58. package/dist/{chunk-index-3yy10a5h.js → chunk-index-ffnd0jcj.js} +2 -2
  59. package/dist/chunk-index-fn6305vn.js +3 -0
  60. package/dist/{chunk-index-zcfr8jdv.js → chunk-index-gdh7wsd5.js} +12 -12
  61. package/dist/{chunk-index-2hvn2kte.js → chunk-index-m76gdwnk.js} +2 -2
  62. package/dist/chunk-index-mr391t49.js +2 -0
  63. package/dist/chunk-index-n3khm9fq.js +2 -0
  64. package/dist/{chunk-index-sm7kfb07.js → chunk-index-nn4w6a04.js} +2 -2
  65. package/dist/{chunk-index-gwkhs8s3.js → chunk-index-nr275sa7.js} +2 -2
  66. package/dist/{chunk-index-x60n1me6.js → chunk-index-pgxgq61x.js} +2 -2
  67. package/dist/chunk-index-prq011b6.js +2 -0
  68. package/dist/{chunk-index-v9gbt5tz.js → chunk-index-q4k9vk04.js} +19 -3
  69. package/dist/chunk-index-rgdaec7y.js +2 -0
  70. package/dist/chunk-index-rjs1can6.js +2 -0
  71. package/dist/chunk-index-s4a8e4qm.js +2 -0
  72. package/dist/{chunk-index-s9p27f9b.js → chunk-index-sz381vda.js} +3 -3
  73. package/dist/{chunk-index-5hbq6g2e.css → chunk-index-t7csmbpy.css} +1 -1
  74. package/dist/{chunk-index-rgf4rvns.js → chunk-index-v9jqyr1f.js} +3 -3
  75. package/dist/{chunk-index-rsd8rftk.js → chunk-index-vpq2cj14.js} +2 -2
  76. package/dist/chunk-index-vsaggfns.js +2 -0
  77. package/dist/{chunk-index-p7jkr7gv.js → chunk-index-w17wgjby.js} +5 -5
  78. package/dist/{chunk-index-c7dbvkrq.js → chunk-index-wgrx2ybn.js} +2 -2
  79. package/dist/chunk-index-wsv46y9p.js +2 -0
  80. package/dist/{chunk-index-4t6vnwap.js → chunk-index-xbj816p0.js} +2 -2
  81. package/dist/{chunk-index-s53bxwkk.js → chunk-index-yr758n6t.js} +2 -2
  82. package/dist/{chunk-index-5t2jkecy.js → chunk-index-ysv36nbk.js} +2 -2
  83. package/dist/{chunk-index-zt19fdmc.js → chunk-index-ze9p4npm.js} +2 -2
  84. package/dist/chunk-index-zfdvyrjt.js +2 -0
  85. package/dist/chunk-lang-css-3h22se37.js +1 -0
  86. package/dist/{chunk-lang-dockerfile-n4bt8jbt.js → chunk-lang-dockerfile-y24eejnh.js} +1 -1
  87. package/dist/{chunk-lang-go-9k4y107e.js → chunk-lang-go-qzgv1161.js} +3 -3
  88. package/dist/chunk-lang-html-9rvrmmpg.js +1 -0
  89. package/dist/chunk-lang-javascript-4kv8s3tk.js +1 -0
  90. package/dist/{chunk-lang-json-hr12bzs1.js → chunk-lang-json-99v80v88.js} +1 -1
  91. package/dist/{chunk-lang-markdown-ttzcpgkg.js → chunk-lang-markdown-gn8he877.js} +4 -4
  92. package/dist/{chunk-lang-python-ntj8maem.js → chunk-lang-python-prsw4p4k.js} +2 -2
  93. package/dist/{chunk-lang-rust-gv8y859d.js → chunk-lang-rust-g6xqta16.js} +1 -1
  94. package/dist/{chunk-lang-shell-5zzs09b7.js → chunk-lang-shell-dmpnzc6w.js} +1 -1
  95. package/dist/{chunk-lang-sql-6vmze4pg.js → chunk-lang-sql-wz7ca27b.js} +2 -2
  96. package/dist/{chunk-lang-toml-tt0d4rw9.js → chunk-lang-toml-160prtq4.js} +1 -1
  97. package/dist/chunk-lang-typescript-mp0yw903.js +1 -0
  98. package/dist/{chunk-lang-xml-r2sbqnjv.js → chunk-lang-xml-9htkz2dd.js} +1 -1
  99. package/dist/{chunk-lang-yaml-ex31qbph.js → chunk-lang-yaml-08749wd5.js} +1 -1
  100. package/dist/chunk-layout-actions-tdx896xf.js +1 -0
  101. package/dist/chunk-menu-items-trhybv1g.js +1 -0
  102. package/dist/chunk-mode-toggle-4dtfphq4.js +1 -0
  103. package/dist/{chunk-note-row-40ypghn9.js → chunk-note-row-28e5x7n8.js} +33 -4
  104. package/dist/chunk-notes-5nkayhw8.js +1 -0
  105. package/dist/chunk-notice-bell-xz8a04am.js +1 -0
  106. package/dist/{chunk-notices-tefx93s6.js → chunk-notices-d0cwvk27.js} +1 -1
  107. package/dist/chunk-onboarding-zs4rtea9.js +1 -0
  108. package/dist/{chunk-overview-zrx3bpwf.js → chunk-overview-9sb3ywa8.js} +1 -1
  109. package/dist/chunk-palette-5sfhrv4x.js +1 -0
  110. package/dist/chunk-placement-items-e2neja55.js +1 -0
  111. package/dist/{chunk-profile-tyb48b79.js → chunk-profile-jffhtpqf.js} +1 -1
  112. package/dist/chunk-prompt-history-1jz2gk3v.js +1 -0
  113. package/dist/chunk-prompts-0t30ttd0.js +1 -0
  114. package/dist/chunk-room-confirms-6595921h.js +1 -0
  115. package/dist/{chunk-room-menu-ha1evv71.js → chunk-room-menu-hwkjyxwe.js} +1 -1
  116. package/dist/chunk-rooms-menu-button-k0eq1tcr.js +1 -0
  117. package/dist/{chunk-schedules-a5pewkhd.js → chunk-schedules-e12y8fw2.js} +1 -1
  118. package/dist/{chunk-seat-menu-eh3ymmks.js → chunk-seat-menu-n2bcw0mf.js} +1 -1
  119. package/dist/chunk-sheet-hosts-myvm2vhd.js +29 -0
  120. package/dist/chunk-shortcut-help-434sqnxc.js +26 -0
  121. package/dist/chunk-shortcuts-mjxph0g7.js +1 -0
  122. package/dist/chunk-skill-editor-98492yrt.js +8 -0
  123. package/dist/chunk-skills-mfv8ppfh.js +1 -0
  124. package/dist/chunk-start-over-line-m526193z.js +16 -0
  125. package/dist/{chunk-switcher-list-dtfh87zy.js → chunk-switcher-list-5ngjar24.js} +1 -1
  126. package/dist/{chunk-tab-dot-qd640mjr.js → chunk-tab-dot-tzjkahj5.js} +1 -1
  127. package/dist/chunk-table-xbtbex2z.js +1 -0
  128. package/dist/{chunk-table2d-5nrhfwft.js → chunk-table2d-61bvrykm.js} +1 -1
  129. package/dist/{chunk-table3d-5cb66d99.js → chunk-table3d-5a7vbgyj.js} +172 -172
  130. package/dist/chunk-thread-actions-bf6vf2mt.js +1 -0
  131. package/dist/{chunk-thread-cards-kgt22sbp.js → chunk-thread-cards-n0n603vf.js} +1 -1
  132. package/dist/chunk-thread-list-7bkdn51x.js +227 -0
  133. package/dist/{chunk-transcript-a0p3vwh6.js → chunk-transcript-8ztrkt6g.js} +1 -1
  134. package/dist/chunk-waiting-chip-y83c90v3.js +32 -0
  135. package/dist/chunk-waiting-s273kcgz.js +1 -0
  136. package/dist/chunk-where-jr791gzj.js +1 -0
  137. package/dist/chunk-workspace-dw71mshw.js +586 -0
  138. package/dist/chunk-zh-tw-vm5d0w6j.js +1 -0
  139. package/dist/index.html +1 -1
  140. package/dist/sw.js +1 -1
  141. package/package.json +3 -3
  142. package/src/api-types.ts +51 -0
  143. package/src/app/app.ts +7 -0
  144. package/src/app/card-log.ts +10 -2
  145. package/src/app/protocol.ts +18 -0
  146. package/src/app/queued-delivery.ts +107 -0
  147. package/src/app/queued-frames.ts +115 -0
  148. package/src/app/room-log.ts +39 -7
  149. package/src/app/rooms.ts +30 -2
  150. package/src/app/routes.ts +123 -7
  151. package/src/app/skill-group-routes.ts +126 -0
  152. package/src/app/socket.ts +12 -2
  153. package/src/app/surface.ts +37 -6
  154. package/src/app/zip.ts +124 -0
  155. package/src/auth/sessions.ts +9 -1
  156. package/src/authz.ts +1 -0
  157. package/src/host/cards.ts +10 -3
  158. package/src/host/stored-json.ts +23 -0
  159. package/src/i18n/zh-tw.ts +45 -2
  160. package/src/notices/mount.ts +1 -0
  161. package/src/notices/store.ts +9 -1
  162. package/src/push/channel.ts +1 -0
  163. package/src/web-plugin.ts +5 -1
  164. package/dist/chunk-account-678dgbww.js +0 -1
  165. package/dist/chunk-agent-x0yvvdq2.js +0 -1
  166. package/dist/chunk-arranged-rooms-6rdkk8t1.js +0 -1
  167. package/dist/chunk-bulk-actions-zbwdaxtc.js +0 -1
  168. package/dist/chunk-character-creator-215psy17.js +0 -1
  169. package/dist/chunk-confirm-2pzrt272.js +0 -1
  170. package/dist/chunk-connectors-zha2d834.js +0 -37
  171. package/dist/chunk-conversations-fb071rez.js +0 -1
  172. package/dist/chunk-council-sheet-k5fycefd.js +0 -2
  173. package/dist/chunk-folder-list-qxhmczwv.js +0 -1
  174. package/dist/chunk-folds-b7asegfs.js +0 -1
  175. package/dist/chunk-group-scene-63yhh1mh.js +0 -1
  176. package/dist/chunk-group-table-zy4hmgk3.js +0 -1
  177. package/dist/chunk-host-icons-tyktazzz.js +0 -1
  178. package/dist/chunk-host-picture-ebhejn2k.js +0 -1
  179. package/dist/chunk-host-state-wajep0yr.js +0 -1
  180. package/dist/chunk-host-ui-pc9r24e3.js +0 -1
  181. package/dist/chunk-index-1af8vsyb.js +0 -2
  182. package/dist/chunk-index-254701sm.js +0 -3
  183. package/dist/chunk-index-31m1b2f5.js +0 -2
  184. package/dist/chunk-index-5vatmakn.js +0 -2
  185. package/dist/chunk-index-6yra9kdq.js +0 -2
  186. package/dist/chunk-index-9bdstf8t.js +0 -2
  187. package/dist/chunk-index-acj4xxgq.js +0 -100
  188. package/dist/chunk-index-aexy023z.js +0 -2
  189. package/dist/chunk-index-amxa2bn3.js +0 -2
  190. package/dist/chunk-index-bef0fc2m.js +0 -2
  191. package/dist/chunk-index-c6tphrjr.js +0 -1
  192. package/dist/chunk-index-cn49mawx.js +0 -50
  193. package/dist/chunk-index-gcmmwh8t.js +0 -2
  194. package/dist/chunk-index-h2vhv4kh.js +0 -2
  195. package/dist/chunk-index-h9ccz1r3.js +0 -2
  196. package/dist/chunk-index-n0ejy0wd.js +0 -2
  197. package/dist/chunk-index-nkdg1dfz.js +0 -7
  198. package/dist/chunk-index-qxynr1hf.js +0 -2
  199. package/dist/chunk-index-r7fdgzy1.js +0 -2
  200. package/dist/chunk-index-sdcpf5dp.js +0 -2
  201. package/dist/chunk-index-sw9r4aa4.js +0 -2
  202. package/dist/chunk-index-t5bmsqqd.js +0 -1
  203. package/dist/chunk-index-v8mma5np.js +0 -2
  204. package/dist/chunk-index-vsfsv8hd.js +0 -2
  205. package/dist/chunk-index-wxft0aqb.js +0 -2
  206. package/dist/chunk-index-zvvwxkev.js +0 -2
  207. package/dist/chunk-lang-css-7q1dtpgm.js +0 -1
  208. package/dist/chunk-lang-html-xgvba8rn.js +0 -1
  209. package/dist/chunk-lang-javascript-vgxmgd0a.js +0 -1
  210. package/dist/chunk-lang-typescript-2v652sh5.js +0 -1
  211. package/dist/chunk-layout-actions-bfqtg71d.js +0 -1
  212. package/dist/chunk-menu-items-rztgekfj.js +0 -1
  213. package/dist/chunk-mode-toggle-m5kgb7c7.js +0 -1
  214. package/dist/chunk-notes-a8nqffbf.js +0 -1
  215. package/dist/chunk-notice-bell-rdnfmtf2.js +0 -1
  216. package/dist/chunk-onboarding-wvh0s3vg.js +0 -1
  217. package/dist/chunk-palette-5xtdvy9a.js +0 -1
  218. package/dist/chunk-placement-items-rgyrktvy.js +0 -1
  219. package/dist/chunk-prompt-history-wv0vdsjv.js +0 -1
  220. package/dist/chunk-prompts-75hgb0t0.js +0 -1
  221. package/dist/chunk-room-confirms-bcvhpcry.js +0 -1
  222. package/dist/chunk-rooms-menu-button-ej3a2hyc.js +0 -1
  223. package/dist/chunk-sheet-hosts-d5zbwbbr.js +0 -29
  224. package/dist/chunk-shortcut-help-bh9ntk9s.js +0 -26
  225. package/dist/chunk-shortcuts-6em0atk9.js +0 -1
  226. package/dist/chunk-skill-editor-e43mwz01.js +0 -8
  227. package/dist/chunk-skills-vp107wrp.js +0 -1
  228. package/dist/chunk-start-over-line-xd1v2p0g.js +0 -16
  229. package/dist/chunk-table-svb2xhfd.js +0 -1
  230. package/dist/chunk-thread-actions-926eab0w.js +0 -1
  231. package/dist/chunk-thread-list-j2v1pqkz.js +0 -217
  232. package/dist/chunk-waiting-cdyz7r1g.js +0 -1
  233. package/dist/chunk-waiting-chip-58ttx9av.js +0 -28
  234. package/dist/chunk-where-9jp6g029.js +0 -1
  235. package/dist/chunk-workspace-d34njy4p.js +0 -578
  236. package/dist/chunk-zh-tw-y3jb20wc.js +0 -1
@@ -1,2 +1,2 @@
1
- import{B,ge,Ei,wo,Ai,pt,Oe,c,w,Me,Ve,It,qe,G,le,ce,V,bt,vt,Be,ye,L,oe,Ae,b,Tt,ko,_o,To,$i,Kn,Po,Qo,Mo,Ro,P,i,X,it,Vt,ti,mr,Qn,Mn,Ao,$o,gt}from"./chunk-index-zcfr8jdv.js";import{p}from"./chunk-index-cn49mawx.js";var nn=(e)=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=be(e.state,n.from);return r.line?rn(e):r.block?ln(e):!1};function ve(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=e(t,n);if(!o)return!1;return r(n.update(o)),!0}}var rn=ve(an,0);var on=ve(Xe,0);var ln=ve((e,t)=>Xe(e,t,cn(t)),0);function be(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}var q=50;function sn(e,{open:t,close:n},r,o){let l=e.sliceDoc(r-q,r),s=e.sliceDoc(o,o+q),a=/\s*$/.exec(l)[0].length,u=/^\s*/.exec(s)[0].length,f=l.length-a;if(l.slice(f-t.length,f)==t&&s.slice(u,u+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:o+u,margin:u&&1}};let h,d;if(o-r<=2*q)h=d=e.sliceDoc(r,o);else h=e.sliceDoc(r,r+q),d=e.sliceDoc(o-q,o);let m=/^\s*/.exec(h)[0].length,D=/\s*$/.exec(d)[0].length,v=d.length-D-n.length;if(h.slice(m,m+t.length)==t&&d.slice(v,v+n.length)==n)return{open:{pos:r+m+t.length,margin:/\s/.test(h.charAt(m+t.length))?1:0},close:{pos:o-D-n.length,margin:/\s/.test(d.charAt(v-1))?1:0}};return null}function cn(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),o=n.to<=r.to?r:e.doc.lineAt(n.to);if(o.from>r.from&&o.from==n.to)o=n.to==r.to+1?r:e.doc.lineAt(n.to-1);let l=t.length-1;if(l>=0&&t[l].to>r.from)t[l].to=o.to;else t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return t}function Xe(e,t,n=t.selection.ranges){let r=n.map((l)=>be(t,l.from).block);if(!r.every((l)=>l))return null;let o=n.map((l,s)=>sn(t,r[s],l.from,l.to));if(e!=2&&!o.every((l)=>l))return{changes:t.changes(n.map((l,s)=>{if(o[s])return[];return[{from:l.from,insert:r[s].open+" "},{from:l.to,insert:" "+r[s].close}]}))};else if(e!=1&&o.some((l)=>l)){let l=[];for(let s=0,a;s<o.length;s++)if(a=o[s]){let u=r[s],{open:f,close:h}=a;l.push({from:f.pos-u.open.length,to:f.pos+f.margin},{from:h.pos-h.margin,to:h.pos+u.close.length})}return{changes:l}}return null}function an(e,t,n=t.selection.ranges){let r=[],o=-1;e:for(let{from:l,to:s}of n){let a=r.length,u=1e9,f;for(let h=l;h<=s;){let d=t.doc.lineAt(h);if(f==null){if(f=be(t,d.from).line,!f)continue e}if(d.from>o&&(l==s||s>d.from)){o=d.from;let m=/^\s*/.exec(d.text)[0].length,D=m==d.length,v=d.text.slice(m,m+f.length)==f?m:-1;if(m<d.text.length&&m<u)u=m;r.push({line:d,comment:v,token:f,indent:m,empty:D,single:!1})}h=d.to+1}if(u<1e9){for(let h=a;h<r.length;h++)if(r[h].indent<r[h].line.text.length)r[h].indent=u}if(r.length==a+1)r[a].single=!0}if(e!=2&&r.some((l)=>l.comment<0&&(!l.empty||l.single))){let l=[];for(let{line:a,token:u,indent:f,empty:h,single:d}of r)if(d||!h)l.push({from:a.from+f,insert:u+" "});let s=t.changes(l);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&r.some((l)=>l.comment>=0)){let l=[];for(let{line:s,comment:a,token:u}of r)if(a>=0){let f=s.from+a,h=f+u.length;if(s.text[h-s.from]==" ")h++;l.push({from:f,to:h})}return{changes:l}}return null}var xe=qe.define(),un=qe.define(),hn=w.define(),Ye=w.define({combine(e){return bt(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,o)=>t(r,o)||n(r,o)})}}),Ze=Me.define({create(){return A.empty},update(e,t){let n=t.state.facet(Ye),r=t.annotation(xe);if(r){let u=y.fromTransaction(t,r.selection),f=r.side,h=f==0?e.undone:e.done;if(u)h=H(h,h.length,n.minDepth,u);else h=nt(h,t.startState.selection);return new A(f==0?r.rest:h,f==0?h:r.rest)}let o=t.annotation(un);if(o=="full"||o=="before")e=e.isolate();if(t.annotation(le.addToHistory)===!1)return!t.changes.empty?e.addMapping(t.changes.desc):e;let l=y.fromTransaction(t),s=t.annotation(le.time),a=t.annotation(le.userEvent);if(l)e=e.addChanges(l,s,a,n,t);else if(t.selection)e=e.addSelection(t.startState.selection,s,a,n.newGroupDelay);if(o=="full"||o=="after")e=e.isolate();return e},toJSON(e){return{done:e.done.map((t)=>t.toJSON()),undone:e.undone.map((t)=>t.toJSON())}},fromJSON(e){return new A(e.done.map(y.fromJSON),e.undone.map(y.fromJSON))}});function et(e={}){return[Ze,Ye.of(e),b.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?j:t.inputType=="historyRedo"?U:null;if(!r)return!1;return t.preventDefault(),r(n)}})]}function Q(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let o=n.field(Ze,!1);if(!o)return!1;let l=o.pop(e,n,t);if(!l)return!1;return r(l),!0}}var j=Q(0,!1),U=Q(1,!1),fn=Q(0,!0),dn=Q(1,!0);class y{constructor(e,t,n,r,o){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=o}setSelAfter(e){return new y(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map((r)=>r.toJSON())}}static fromJSON(e){return new y(e.changes&&Oe.fromJSON(e.changes),[],e.mapped&&pt.fromJSON(e.mapped),e.startSelection&&c.fromJSON(e.startSelection),e.selectionsAfter.map(c.fromJSON))}static fromTransaction(e,t){let n=S;for(let r of e.startState.facet(hn)){let o=r(e);if(o.length)n=n.concat(o)}if(!n.length&&e.changes.empty)return null;return new y(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,S)}static selection(e){return new y(void 0,S,void 0,void 0,e)}}function H(e,t,n,r){let o=t+1>n+20?t-n-1:0,l=e.slice(o,t);return l.push(r),l}function mn(e,t){let n=[],r=!1;return e.iterChangedRanges((o,l)=>n.push(o,l)),t.iterChangedRanges((o,l,s,a)=>{for(let u=0;u<n.length;){let f=n[u++],h=n[u++];if(a>=f&&s<=h)r=!0}}),r}function pn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function tt(e,t){return!e.length?t:!t.length?e:e.concat(t)}var S=[],gn=200;function nt(e,t){if(!e.length)return[y.selection([t])];else{let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-gn));if(r.length&&r[r.length-1].eq(t))return e;return r.push(t),H(e,e.length-1,1e9,n.setSelAfter(r))}}function yn(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function pe(e,t){if(!e.length)return e;let n=e.length,r=S;while(n){let o=xn(e[n-1],t,r);if(o.changes&&!o.changes.empty||o.effects.length){let l=e.slice(0,n);return l[n-1]=o,l}else t=o.mapped,n--,r=o.selectionsAfter}return r.length?[y.selection(r)]:S}function xn(e,t,n){let r=tt(e.selectionsAfter.length?e.selectionsAfter.map((a)=>a.map(t)):S,n);if(!e.changes)return y.selection(r);let o=e.changes.map(t),l=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(l):l;return new y(o,G.mapEffects(e.effects,t),s,e.startSelection.map(l),r)}var Sn=/^(input\.type|delete)($|\.)/;class A{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new A(this.done,this.undone):this}addChanges(e,t,n,r,o){let l=this.done,s=l[l.length-1];if(s&&s.changes&&!s.changes.empty&&e.changes&&(!n||Sn.test(n))&&(!s.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(o,mn(s.changes,e.changes))||n=="input.type.compose"))l=H(l,l.length-1,r.minDepth,new y(e.changes.compose(s.changes),tt(G.mapEffects(e.effects,s.changes),s.effects),s.mapped,s.startSelection,S));else l=H(l,l.length,r.minDepth,e);return new A(l,S,t,n)}addSelection(e,t,n,r){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:S;if(o.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&pn(o[o.length-1],e))return this;return new A(nt(this.done,e),this.undone,t,n)}addMapping(e){return new A(pe(this.done,e),pe(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let o=r[r.length-1],l=o.selectionsAfter[0]||(o.startSelection?o.startSelection.map(o.changes.invertedDesc,1):t.selection);if(n&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:xe.of({side:e,rest:yn(r),selection:l}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});else if(!o.changes)return null;else{let s=r.length==1?S:r.slice(0,r.length-1);if(o.mapped)s=pe(s,o.mapped);return t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:xe.of({side:e,rest:s,selection:l}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}}}A.empty=new A(S,S);var rt=[{key:"Mod-z",run:j,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:U,preventDefault:!0},{linux:"Ctrl-Shift-z",run:U,preventDefault:!0},{key:"Mod-u",run:fn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:dn,preventDefault:!0}];function O(e,t){return c.create(e.ranges.map(t),e.mainIndex)}function C(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function M({state:e,dispatch:t},n){let r=O(e.selection,n);if(r.eq(e.selection,!0))return!1;return t(C(e,r)),!0}function Y(e,t){return c.cursor(t?e.to:e.from)}function ot(e,t){return M(e,(n)=>n.empty?e.moveByChar(n,t):Y(n,t))}function g(e){return e.textDirectionAt(e.state.selection.main.head)==oe.LTR}var lt=(e)=>ot(e,!g(e)),st=(e)=>ot(e,g(e));function ct(e,t){return M(e,(n)=>n.empty?e.moveByGroup(n,t):Y(n,t))}var kn=(e)=>ct(e,!g(e)),vn=(e)=>ct(e,g(e));var $r=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function bn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Z(e,t,n){let r=X(e).resolveInner(t.head),o=n?P.closedBy:P.openedBy;for(let u=t.head;;){let f=n?r.childAfter(u):r.childBefore(u);if(!f)break;if(bn(e,f,o))r=f;else u=n?f.to:f.from}let l=r.type.prop(o),s,a;if(l&&(s=n?gt(e,r.from,1):gt(e,r.to,-1))&&s.matched)a=n?s.end.to:s.end.from;else a=n?r.to:r.from;return c.cursor(a,n?-1:1)}var Cn=(e)=>M(e,(t)=>Z(e.state,t,!g(e))),An=(e)=>M(e,(t)=>Z(e.state,t,g(e)));function at(e,t){return M(e,(n)=>{if(!n.empty)return Y(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}var ut=(e)=>at(e,!1),ht=(e)=>at(e,!0);function ft(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,o;if(t){for(let l of e.state.facet(b.scrollMargins)){let s=l(e);if(s===null||s===void 0?void 0:s.top)n=Math.max(s===null||s===void 0?void 0:s.top,n);if(s===null||s===void 0?void 0:s.bottom)r=Math.max(s===null||s===void 0?void 0:s.bottom,r)}o=e.scrollDOM.clientHeight-n-r}else o=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,o-5)}}function dt(e,t){let n=ft(e),{state:r}=e,o=O(r.selection,(s)=>s.empty?e.moveVertically(s,t,n.height):Y(s,t));if(o.eq(r.selection))return!1;let l;if(n.selfScroll){let s=e.coordsAtPos(r.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),u=a.top+n.marginTop,f=a.bottom-n.marginBottom;if(s&&s.top>u&&s.bottom<f)l=b.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-u})}return e.dispatch(C(r,o),{effects:l}),!0}var ze=(e)=>dt(e,!1),Se=(e)=>dt(e,!0);function E(e,t,n){let r=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?r.to:r.from))o=e.moveToLineBoundary(t,n,!1);if(!n&&o.head==r.from&&r.length){let l=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;if(l&&t.head!=r.from+l)o=c.cursor(r.from+l)}return o}var Ln=(e)=>M(e,(t)=>E(e,t,!0)),Bn=(e)=>M(e,(t)=>E(e,t,!1)),Dn=(e)=>M(e,(t)=>E(e,t,!g(e))),En=(e)=>M(e,(t)=>E(e,t,g(e))),Tn=(e)=>M(e,(t)=>e.moveToLineBoundary(t,!1,!1)),wn=(e)=>M(e,(t)=>e.moveToLineBoundary(t,!0,!1));function Wn(e,t,n){let r=!1,o=O(e.selection,(l)=>{let s=gt(e,l.head,-1)||gt(e,l.head,1)||l.head>0&&gt(e,l.head-1,1)||l.head<e.doc.length&&gt(e,l.head+1,-1);if(!s||!s.end)return l;r=!0;let a=s.start.from==l.head?s.end.to:s.end.from;return n?c.range(l.anchor,a):c.cursor(a)});if(!r)return!1;return t(C(e,o)),!0}var Rn=({state:e,dispatch:t})=>Wn(e,t,!1);function k(e,t,n){let r=O(e.state.selection,(o)=>{if(o.undirectional&&o.head>=o.anchor!=t)o=c.range(o.head,o.anchor);let l=n(o);return c.range(o.anchor,l.head,l.goalColumn,l.bidiLevel||void 0,l.assoc)});if(r.eq(e.state.selection))return!1;return e.dispatch(C(e.state,r)),!0}function mt(e,t){return k(e,t,(n)=>e.moveByChar(n,t))}var yt=(e)=>mt(e,!g(e)),xt=(e)=>mt(e,g(e));function St(e,t){return k(e,t,(n)=>e.moveByGroup(n,t))}var On=(e)=>St(e,!g(e)),Fn=(e)=>St(e,g(e));var In=(e)=>{let t=!g(e);return k(e,t,(n)=>Z(e.state,n,t))},Pn=(e)=>{let t=g(e);return k(e,t,(n)=>Z(e.state,n,t))};function kt(e,t){return k(e,t,(n)=>e.moveVertically(n,t))}var Ct=(e)=>kt(e,!1),Mt=(e)=>kt(e,!0);function At(e,t){return k(e,t,(n)=>e.moveVertically(n,t,ft(e).height))}var _e=(e)=>At(e,!1),Je=(e)=>At(e,!0),Nn=(e)=>k(e,!0,(t)=>E(e,t,!0)),qn=(e)=>k(e,!1,(t)=>E(e,t,!1)),Vn=(e)=>{let t=!g(e);return k(e,t,(n)=>E(e,n,t))},Gn=(e)=>{let t=g(e);return k(e,t,(n)=>E(e,n,t))},Un=(e)=>k(e,!1,(t)=>c.cursor(e.lineBlockAt(t.head).from)),zn=(e)=>k(e,!0,(t)=>c.cursor(e.lineBlockAt(t.head).to)),$e=({state:e,dispatch:t})=>(t(C(e,{anchor:0})),!0),Ke=({state:e,dispatch:t})=>(t(C(e,{anchor:e.doc.length})),!0),He=({state:e,dispatch:t})=>(t(C(e,{anchor:e.selection.main.anchor,head:0})),!0),Qe=({state:e,dispatch:t})=>(t(C(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),_n=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Jn=({state:e,dispatch:t})=>{let n=ee(e).map(({from:r,to:o})=>c.undirectionalRange(r,Math.min(o+1,e.doc.length)));return t(e.update({selection:c.create(n),userEvent:"select"})),!0},$n=({state:e,dispatch:t})=>{let n=O(e.selection,(r)=>{let o=X(e),l=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);if(s.node.from>=l.node.from&&s.node.to<=l.node.to)l=s}for(let s=l;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return c.undirectionalRange(a.from,a.to)}return r});if(n.eq(e.selection))return!1;return t(C(e,n)),!0};function Lt(e,t){let{state:n}=e,r=n.selection,o=n.selection.ranges.slice();for(let l of n.selection.ranges){let s=n.doc.lineAt(l.head);if(t?s.to<e.state.doc.length:s.from>0)for(let a=l;;){let u=e.moveVertically(a,t);if(u.head<s.from||u.head>s.to){if(!o.some((f)=>f.head==u.head))o.push(u);break}else if(u.head==a.head)break;else a=u}}if(o.length==r.ranges.length)return!1;return e.dispatch(C(n,c.create(o,o.length-1))),!0}var Hn=(e)=>Lt(e,!1),jn=(e)=>Lt(e,!0),Xn=({state:e,dispatch:t})=>{let n=e.selection,r=null;if(n.ranges.length>1)r=c.create([n.main]);else if(!n.main.empty)r=c.create([c.cursor(n.main.head)]);if(!r)return!1;return t(C(e,r)),!0};function z(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,o=r.changeByRange((l)=>{let{from:s,to:a}=l;if(s==a){let u=t(l);if(u<s)n="delete.backward",u=K(e,u,!1);else if(u>s)n="delete.forward",u=K(e,u,!0);s=Math.min(s,u),a=Math.max(a,u)}else s=K(e,s,!1),a=K(e,a,!0);return s==a?{range:l}:{changes:{from:s,to:a},range:c.cursor(s,s<l.head?-1:1)}});if(o.changes.empty)return!1;return e.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?b.announce.of(r.phrase("Selection deleted")):void 0})),!0}function K(e,t,n){if(e instanceof b)for(let r of e.state.facet(b.atomicRanges).map((o)=>o(e)))r.between(t,t,(o,l)=>{if(o<t&&l>t)t=n?l:o});return t}var Bt=(e,t,n)=>z(e,(r)=>{let o=r.from,{state:l}=e,s=l.doc.lineAt(o),a,u;if(n&&!t&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,o-s.from))){if(a[a.length-1]=="\t")return o-1;let f=Be(a,l.tabSize),h=f%Vt(l)||Vt(l);for(let d=0;d<h&&a[a.length-1-d]==" ";d++)o--;u=o}else if(u=ge(s.text,o-s.from,t,t)+s.from,u==o&&s.number!=(t?l.doc.lines:1))u+=t?1:-1;else if(!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(u-s.from,o-s.from)))u=ge(s.text,u-s.from,!1,!1)+s.from;return u}),ke=(e)=>Bt(e,!1,!0);var Dt=(e)=>Bt(e,!0,!1),Et=(e,t)=>z(e,(n)=>{let r=n.head,{state:o}=e,l=o.doc.lineAt(r),s=o.charCategorizer(r);for(let a=null;;){if(r==(t?l.to:l.from)){if(r==n.head&&l.number!=(t?o.doc.lines:1))r+=t?1:-1;break}let u=ge(l.text,r-l.from,t)+l.from,f=l.text.slice(Math.min(r,u)-l.from,Math.max(r,u)-l.from),h=s(f);if(a!=null&&h!=a)break;if(f!=" "||r!=n.head)a=h;r=u}return r}),wt=(e)=>Et(e,!1),Yn=(e)=>Et(e,!0);var Zn=(e)=>z(e,(t)=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)});var er=(e)=>z(e,(t)=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),tr=(e)=>z(e,(t)=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)});var nr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((r)=>({changes:{from:r.from,to:r.to,insert:B.of(["",""])},range:c.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},rr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((r)=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let o=r.from,l=e.doc.lineAt(o),s=o==l.from?o-1:ge(l.text,o-l.from,!1)+l.from,a=o==l.to?o+1:ge(l.text,o-l.from,!0)+l.from;return{changes:{from:s,to:a,insert:e.doc.slice(o,a).append(e.doc.slice(s,o))},range:c.cursor(a)}});if(n.changes.empty)return!1;return t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0};function ee(e){let t=[],n=-1;for(let r of e.selection.ranges){let o=e.doc.lineAt(r.from),l=e.doc.lineAt(r.to);if(!r.empty&&r.to==l.from)l=e.doc.lineAt(r.to-1);if(n>=o.number){let s=t[t.length-1];s.to=l.to,s.ranges.push(r)}else t.push({from:o.from,to:l.to,ranges:[r]});n=l.number+1}return t}function Wt(e,t,n){if(e.readOnly)return!1;let r=[],o=[];for(let l of ee(e)){if(n?l.to==e.doc.length:l.from==0)continue;let s=e.doc.lineAt(n?l.to+1:l.from-1),a=s.length+1;if(n){r.push({from:l.to,to:s.to},{from:l.from,insert:s.text+e.lineBreak});for(let u of l.ranges)o.push(c.range(Math.min(e.doc.length,u.anchor+a),Math.min(e.doc.length,u.head+a)))}else{r.push({from:s.from,to:l.from},{from:l.to,insert:e.lineBreak+s.text});for(let u of l.ranges)o.push(c.range(u.anchor-a,u.head-a))}}if(!r.length)return!1;return t(e.update({changes:r,scrollIntoView:!0,selection:c.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0}var or=({state:e,dispatch:t})=>Wt(e,t,!1),lr=({state:e,dispatch:t})=>Wt(e,t,!0);function Rt(e,t,n){if(e.readOnly)return!1;let r=[];for(let l of ee(e))if(n)r.push({from:l.from,insert:e.doc.slice(l.from,l.to)+e.lineBreak});else r.push({from:l.to,insert:e.lineBreak+e.doc.slice(l.from,l.to)});let o=e.changes(r);return t(e.update({changes:o,selection:e.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var ir=({state:e,dispatch:t})=>Rt(e,t,!1),sr=({state:e,dispatch:t})=>Rt(e,t,!0),cr=(e)=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(ee(t).map(({from:o,to:l})=>{if(o>0)o--;else if(l<t.doc.length)l++;return{from:o,to:l}})),r=O(t.selection,(o)=>{let l=void 0;if(e.lineWrapping){let s=e.lineBlockAt(o.head),a=e.coordsAtPos(o.head,o.assoc||1);if(a)l=s.bottom+e.documentTop-a.bottom+e.defaultLineHeight/2}return e.moveVertically(o,!0,l)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function ar(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=X(e).resolveInner(t),r=n.childBefore(t),o=n.childAfter(t),l;if(r&&o&&r.to<=t&&o.from>=t&&(l=r.type.prop(P.closedBy))&&l.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from)))return{from:r.to,to:o.from};return null}var je=Ot(!1),ur=Ot(!0);function Ot(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange((o)=>{let{from:l,to:s}=o,a=t.doc.lineAt(l),u=!e&&l==s&&ar(t,l);if(e)l=s=(s<=a.to?a:t.doc.lineAt(s)).to;let f=new Qn(t,{simulateBreak:l,simulateDoubleBreak:!!u}),h=mr(f,l);if(h==null)h=Be(/^\s*/.exec(t.doc.lineAt(l).text)[0],t.tabSize);while(s<a.to&&/\s/.test(a.text[s-a.from]))s++;if(u)({from:l,to:s}=u);else if(l>a.from&&l<a.from+100&&!/\S/.test(a.text.slice(0,l)))l=a.from;let d=["",ti(t,h)];if(u)d.push(ti(t,f.lineIndent(a.from,-1)));return{changes:{from:l,to:s,insert:B.of(d)},range:c.cursor(l+1+d[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Ce(e,t){let n=-1;return e.changeByRange((r)=>{let o=[];for(let s=r.from;s<=r.to;){let a=e.doc.lineAt(s);if(a.number>n&&(r.empty||r.to>a.from))t(a,o,r),n=a.number;s=a.to+1}let l=e.changes(o);return{changes:o,range:c.range(l.mapPos(r.anchor,1),l.mapPos(r.head,1))}})}var hr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new Qn(e,{overrideIndentation:(l)=>{let s=n[l];return s==null?-1:s}}),o=Ce(e,(l,s,a)=>{let u=mr(r,l.from);if(u==null)return;if(!/\S/.test(l.text))u=0;let f=/^\s*/.exec(l.text)[0],h=ti(e,u);if(f!=h||a.from<l.from+f.length)n[l.from]=u,s.push({from:l.from,to:l.from+f.length,insert:h})});if(!o.changes.empty)t(e.update(o,{userEvent:"indent"}));return!0},te=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Ce(e,(n,r)=>{r.push({from:n.from,insert:e.facet(it)})}),{userEvent:"input.indent"})),!0},Ft=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Ce(e,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let l=Be(o,e.tabSize),s=0,a=ti(e,Math.max(0,l-Vt(e)));while(s<o.length&&s<a.length&&o.charCodeAt(s)==a.charCodeAt(s))s++;r.push({from:n.from+s,to:n.from+o.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0},fr=(e)=>(e.setTabFocusMode(),!0);var dr=[{key:"Ctrl-b",run:lt,shift:yt,preventDefault:!0},{key:"Ctrl-f",run:st,shift:xt},{key:"Ctrl-p",run:ut,shift:Ct},{key:"Ctrl-n",run:ht,shift:Mt},{key:"Ctrl-a",run:Tn,shift:Un},{key:"Ctrl-e",run:wn,shift:zn},{key:"Ctrl-d",run:Dt},{key:"Ctrl-h",run:ke},{key:"Ctrl-k",run:Zn},{key:"Ctrl-Alt-h",run:wt},{key:"Ctrl-o",run:nr},{key:"Ctrl-t",run:rr},{key:"Ctrl-v",run:Se}],pr=[{key:"ArrowLeft",run:lt,shift:yt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:kn,shift:On,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Dn,shift:Vn,preventDefault:!0},{key:"ArrowRight",run:st,shift:xt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:vn,shift:Fn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:En,shift:Gn,preventDefault:!0},{key:"ArrowUp",run:ut,shift:Ct,preventDefault:!0},{mac:"Cmd-ArrowUp",run:$e,shift:He},{mac:"Ctrl-ArrowUp",run:ze,shift:_e},{key:"ArrowDown",run:ht,shift:Mt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Ke,shift:Qe},{mac:"Ctrl-ArrowDown",run:Se,shift:Je},{key:"PageUp",run:ze,shift:_e},{key:"PageDown",run:Se,shift:Je},{key:"Home",run:Bn,shift:qn,preventDefault:!0},{key:"Mod-Home",run:$e,shift:He},{key:"End",run:Ln,shift:Nn,preventDefault:!0},{key:"Mod-End",run:Ke,shift:Qe},{key:"Enter",run:je,shift:je},{key:"Mod-a",run:_n},{key:"Backspace",run:ke,shift:ke,preventDefault:!0},{key:"Delete",run:Dt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:wt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Yn,preventDefault:!0},{mac:"Mod-Backspace",run:er,preventDefault:!0},{mac:"Mod-Delete",run:tr,preventDefault:!0}].concat(dr.map((e)=>({mac:e.key,run:e.run,shift:e.shift}))),Pt=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Cn,shift:In},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:An,shift:Pn},{key:"Alt-ArrowUp",run:or},{key:"Shift-Alt-ArrowUp",run:ir},{key:"Alt-ArrowDown",run:lr},{key:"Shift-Alt-ArrowDown",run:sr},{key:"Mod-Alt-ArrowUp",run:Hn},{key:"Mod-Alt-ArrowDown",run:jn},{key:"Escape",run:Xn},{key:"Mod-Enter",run:ur},{key:"Alt-l",mac:"Ctrl-l",run:Jn},{key:"Mod-i",run:$n,preventDefault:!0},{key:"Mod-[",run:Ft},{key:"Mod-]",run:te},{key:"Mod-Alt-\\",run:hr},{key:"Shift-Mod-k",run:cr},{key:"Shift-Mod-\\",run:Rn},{key:"Mod-/",run:nn},{key:"Alt-A",mac:"Ctrl-A",run:on},{key:"Ctrl-m",mac:"Shift-Alt-m",run:fr}].concat(pr),Nt={key:"Tab",run:te,shift:Ft};var qt=typeof String.prototype.normalize=="function"?(e)=>e.normalize("NFKD"):(e)=>e;class W{constructor(e,t,n=0,r=e.length,o,l){this.test=l,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=o?(s)=>o(qt(s)):qt,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Ei(this.buffer,this.bufferPos)}next(){while(this.matches.length)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=wo(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Ai(e);let r=this.normalize(t);if(r.length)for(let o=0,l=n,s=!0;;o++){let a=r.charCodeAt(o),u=this.match(a,l,s,this.bufferPos+this.bufferStart,o==r.length-1);if(u)return this.value=u,this;if(o==r.length-1)break;if(s&&o<t.length&&t.charCodeAt(o)==a)l++;else s=!1}}}match(e,t,n,r,o){let l=null;for(let s=0;s<this.matches.length;){let a=this.matches[s],u=!1;if(this.query.charCodeAt(a.index)==e)if(a.index==this.query.length-1)l={from:a.from,to:r,precise:o&&a.precise};else a.index++,u=!0;if(u)s++;else this.matches.splice(s,1)}if(this.query.charCodeAt(0)==e)if(this.query.length==1)l={from:t,to:r,precise:n&&o};else this.matches.push({from:t,index:1,precise:n});if(l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart))l=null;return l}}if(typeof Symbol<"u")W.prototype[Symbol.iterator]=function(){return this};var zt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Te="gm"+(/x/.unicode==null?"":"u");class we{constructor(e,t,n,r=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=zt,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new We(e,t,n,r,o);this.re=new RegExp(t,Te+((n===null||n===void 0?void 0:n.ignoreCase)?"i":"")),this.test=n===null||n===void 0?void 0:n.test,this.iter=e.iter();let l=e.lineAt(r);this.curLineStart=l.from,this.matchPos=se(e,r),this.getLine(this.curLineStart)}getLine(e){if(this.iter.next(e),this.iter.lineBreak)this.curLine="";else{if(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to)this.curLine=this.curLine.slice(0,this.to-this.curLineStart);this.iter.next()}}nextLine(){if(this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to)this.curLine="";else this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=se(this.text,r+(n==r?1:0)),n==this.curLineStart+this.curLine.length)this.nextLine();if((n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}var Le=new WeakMap;class N{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let r=Le.get(e);if(!r||r.from>=n||r.to<=t){let s=new N(t,e.sliceString(t,n));return Le.set(e,s),s}if(r.from==t&&r.to==n)return r;let{text:o,from:l}=r;if(l>t)o=e.sliceString(t,l)+o,l=t;if(r.to<n)o+=e.sliceString(r.to,n);return Le.set(e,new N(l,o)),new N(t,o.slice(t-l,n-l))}}class We{constructor(e,t,n,r,o){this.text=e,this.to=o,this.done=!1,this.value=zt,this.matchPos=se(e,r),this.re=new RegExp(t,Te+((n===null||n===void 0?void 0:n.ignoreCase)?"i":"")),this.test=n===null||n===void 0?void 0:n.test,this.flat=N.get(e,r,this.chunkEnd(r+5000))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e)this.re.lastIndex=e+1,t=this.re.exec(this.flat.text);if(t){let n=this.flat.from+t.index,r=n+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this.matchPos=se(this.text,r+(n==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=N.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}if(typeof Symbol<"u")we.prototype[Symbol.iterator]=We.prototype[Symbol.iterator]=function(){return this};function gr(e){try{return new RegExp(e,Te),!0}catch(t){return!1}}function se(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;while(t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344)t++;return t}var yr=(e)=>{let t=Qo(e,"cm-goto-line");if(t){let s=t.dom.querySelector("input[type=text]");if(s)s.select();return!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:o,result:l}=Po(e,{class:"cm-goto-line",label:n.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:n.phrase("go")});return l.then((s)=>{let a=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!a){e.dispatch({effects:o});return}let u=n.doc.lineAt(n.selection.main.head),[,f,h,d,m]=a,D=d?+d.slice(1):0,v=h?+h:u.number;if(h&&m){let me=v/100;if(f)me=me*(f=="-"?-1:1)+u.number/n.doc.lines;v=Math.round(n.doc.lines*me)}else if(h&&f)v=v*(f=="-"?-1:1)+u.number;let Ge=n.doc.line(Math.max(1,Math.min(n.doc.lines,v))),Ue=c.cursor(Ge.from+Math.max(0,Math.min(D,Ge.length)));e.dispatch({effects:[o,b.scrollIntoView(Ue.from,{y:"center"})],selection:Ue})}),!0},xr={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},_t=w.define({combine(e){return bt(e,xr,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Jt(e){let t=[Cr,br];if(e)t.push(_t.of(e));return t}var Sr=L.mark({class:"cm-selectionMatch"}),kr=L.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Gt(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=ce.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=ce.Word)}function vr(e,t,n,r){return e(t.sliceDoc(n,n+1))==ce.Word&&e(t.sliceDoc(r-1,r))==ce.Word}var br=Ae.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){if(e.selectionSet||e.docChanged||e.viewportChanged)this.decorations=this.getDeco(e.view)}getDeco(e){let t=e.state.facet(_t),{state:n}=e,r=n.selection;if(r.ranges.length>1)return L.none;let o=r.main,l,s=null;if(o.empty){if(!t.highlightWordAroundCursor)return L.none;let u=n.wordAt(o.head);if(!u)return L.none;s=n.charCategorizer(o.head),l=n.sliceDoc(u.from,u.to)}else{let u=o.to-o.from;if(u<t.minSelectionLength||u>200)return L.none;if(t.wholeWords){if(l=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(Gt(s,n,o.from,o.to)&&vr(s,n,o.from,o.to)))return L.none}else if(l=n.sliceDoc(o.from,o.to),!l)return L.none}let a=[];for(let u of e.visibleRanges){let f=new W(n.doc,l,u.from,u.to);while(!f.next().done){let{from:h,to:d}=f.value;if(!s||Gt(s,n,h,d)){if(o.empty&&h<=o.from&&d>=o.to)a.push(kr.range(h,d));else if(h>=o.to||d<=o.from)a.push(Sr.range(h,d));if(a.length>t.maxMatches)return L.none}}}return L.set(a)}},{decorations:(e)=>e.decorations}),Cr=b.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Mr=({state:e,dispatch:t})=>{let{selection:n}=e,r=c.create(n.ranges.map((o)=>e.wordAt(o.head)||c.cursor(o.head)),n.mainIndex);if(r.eq(n))return!1;return t(e.update({selection:r})),!0};function Ar(e,t){let{main:n,ranges:r}=e.selection,o=e.wordAt(n.head),l=o&&o.from==n.from&&o.to==n.to;for(let s=!1,a=new W(e.doc,t,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new W(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some((u)=>u.from==a.value.from))continue;if(l){let u=e.wordAt(a.value.from);if(!u||u.from!=a.value.from||u.to!=a.value.to)continue}return a.value}}var Lr=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some((l)=>l.from===l.to))return Mr({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some((l)=>e.sliceDoc(l.from,l.to)!=r))return!1;let o=Ar(e,r);if(!o)return!1;return t(e.update({selection:e.selection.addRange(c.range(o.from,o.to),!1),effects:b.scrollIntoView(o.to)})),!0},R=w.define({combine(e){return bt(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:(t)=>new Zt(t),scrollToMatch:(t)=>b.scrollIntoView(t)})}});function $t(e){return e?[R.of(e),Ee]:Ee}class Re{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||gr(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,n)=>n=="n"?`
2
- `:n=="r"?"\r":n=="t"?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Ht(this):new Kt(this)}getCursor(e,t=0,n){let r=e.doc?e:V.create({doc:e});if(n==null)n=r.doc.length;return this.regexp?I(this,r,t,n):F(this,r,t,n)}}class Fe{constructor(e){this.spec=e}}function Br(e,t,n){return(r,o,l,s)=>{if(n&&!n(r,o,l,s))return!1;let a=r>=s&&o<=s+l.length?l.slice(r-s,o-s):t.doc.sliceString(r,o);return e(a,t,r,o)}}function F(e,t,n,r){let o;if(e.wholeWord)o=Dr(t.doc,t.charCategorizer(t.selection.main.head));if(e.test)o=Br(e.test,t,o);return new W(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:(l)=>l.toLowerCase(),o)}function Dr(e,t){return(n,r,o,l)=>{if(l>n||l+o.length<r)l=Math.max(0,n-2),o=e.sliceString(l,Math.min(e.length,r+2));return(t(ae(o,n-l))!=ce.Word||t(ue(o,n-l))!=ce.Word)&&(t(ue(o,r-l))!=ce.Word||t(ae(o,r-l))!=ce.Word)}}class Kt extends Fe{constructor(e){super(e)}nextMatch(e,t,n){let r=F(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let o=Math.min(e.doc.length,t+this.spec.unquoted.length);r=F(this.spec,e,0,o).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let o=Math.max(t,r-1e4-this.spec.unquoted.length),l=F(this.spec,e,o,r),s=null;while(!l.nextOverlapping().done)s=l.value;if(s)return s;if(o==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);if(!r)r=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length);return r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=F(this.spec,e,0,e.doc.length),r=[];while(!n.next().done){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let o=F(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));while(!o.next().done)r(o.value.from,o.value.to)}}function Er(e,t,n){return(r,o,l)=>(!n||n(r,o,l))&&e(l[0],t,r,o)}function I(e,t,n,r){let o;if(e.wholeWord)o=Tr(t.charCategorizer(t.selection.main.head));if(e.test)o=Er(e.test,t,o);return new we(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:o},n,r)}function ae(e,t){return e.slice(ge(e,t,!1),t)}function ue(e,t){return e.slice(t,ge(e,t))}function Tr(e){return(t,n,r)=>!r[0].length||(e(ae(r.input,r.index))!=ce.Word||e(ue(r.input,r.index))!=ce.Word)&&(e(ue(r.input,r.index+r[0].length))!=ce.Word||e(ae(r.input,r.index+r[0].length))!=ce.Word)}class Ht extends Fe{nextMatch(e,t,n){let r=I(this.spec,e,n,e.doc.length).next();if(r.done)r=I(this.spec,e,0,t).next();return r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let o=Math.max(t,n-r*1e4),l=I(this.spec,e,o,n),s=null;while(!l.next().done)s=l.value;if(s&&(o==t||s.from>o+10))return s;if(o==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let r=n.length;r>0;r--){let o=+n.slice(0,r);if(o>0&&o<e.match.length)return e.match[o]+n.slice(r)}return t})}matchAll(e,t){let n=I(this.spec,e,0,e.doc.length),r=[];while(!n.next().done){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let o=I(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));while(!o.next().done)r(o.value.from,o.value.to)}}var _=G.define(),Ie=G.define(),T=Me.define({create(e){return new ie(De(e).create(),null)},update(e,t){for(let n of t.effects)if(n.is(_))e=new ie(n.value.create(),e.panel);else if(n.is(Ie))e=new ie(e.query,n.value?Pe:null);return e},provide:(e)=>Kn.from(e,(t)=>t.panel)});class ie{constructor(e,t){this.query=e,this.panel=t}}var wr=L.mark({class:"cm-searchMatch"}),Wr=L.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Rr=Ae.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(T))}update(e){let t=e.state.field(T);if(t!=e.startState.field(T)||e.docChanged||e.selectionSet||e.viewportChanged)this.decorations=this.highlight(t)}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return L.none;let{view:n}=this,r=new vt;for(let o=0,l=n.visibleRanges,s=l.length;o<s;o++){let{from:a,to:u}=l[o];while(o<s-1&&u>l[o+1].from-500)u=l[++o].to;e.highlight(n.state,a,u,(f,h)=>{let d=n.state.selection.ranges.some((m)=>m.from==f&&m.to==h);r.add(f,h,d?Wr:wr)})}return r.finish()}},{decorations:(e)=>e.decorations});function J(e){return(t)=>{let n=t.state.field(T,!1);return n&&n.query.spec.valid?e(t,n):de(t)}}var he=J((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let o=c.single(r.from,r.to),l=e.state.facet(R);return e.dispatch({selection:o,effects:[Ne(e,r),l.scrollToMatch(o.main,e)],userEvent:"select.search"}),jt(e),!0}),fe=J((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,o=t.prevMatch(n,r,r);if(!o)return!1;let l=c.single(o.from,o.to),s=e.state.facet(R);return e.dispatch({selection:l,effects:[Ne(e,o),s.scrollToMatch(l.main,e)],userEvent:"select.search"}),jt(e),!0}),Or=J((e,{query:t})=>{let n=t.matchAll(e.state,1000);if(!n||!n.length)return!1;return e.dispatch({selection:c.create(n.map((r)=>c.range(r.from,r.to))),userEvent:"select.search.matches"}),!0}),Fr=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,l=[],s=0;for(let a=new W(e.doc,e.sliceDoc(r,o));!a.next().done;){if(l.length>1000)return!1;if(a.value.from==r)s=l.length;l.push(c.range(a.value.from,a.value.to))}return t(e.update({selection:c.create(l,s),userEvent:"select.search.matches"})),!0},Ut=J((e,{query:t})=>{let{state:n}=e,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let l=t.nextMatch(n,r,r);if(!l)return!1;let s=l,a=[],u,f,h=[];if(!s.precise)s=t.nextMatch(n,s.from,s.to);else if(s.from==r&&s.to==o)f=n.toText(t.getReplacement(s)),a.push({from:s.from,to:s.to,insert:f}),s=t.nextMatch(n,s.from,s.to),h.push(b.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."));let d=e.state.changes(a);if(s)u=c.single(s.from,s.to).map(d),h.push(Ne(e,s)),h.push(n.facet(R).scrollToMatch(u.main,e));return e.dispatch({changes:d,selection:u,effects:h,userEvent:"input.replace"}),!0}),Ir=J((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let o of t.matchAll(e.state,1e9)){let{from:l,to:s,precise:a}=o;if(a)n.push({from:l,to:s,insert:t.getReplacement(o)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:b.announce.of(r),userEvent:"input.replace.all"}),!0});function Pe(e){return e.state.facet(R).createPanel(e)}function De(e,t){var n,r,o,l,s;let a=e.selection.main,u=a.empty||a.to>a.from+100?"":e.sliceDoc(a.from,a.to);if(t&&!u)return t;let f=e.facet(R);return new Re({search:((n=t===null||t===void 0?void 0:t.literal)!==null&&n!==void 0?n:f.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:(r=t===null||t===void 0?void 0:t.caseSensitive)!==null&&r!==void 0?r:f.caseSensitive,literal:(o=t===null||t===void 0?void 0:t.literal)!==null&&o!==void 0?o:f.literal,regexp:(l=t===null||t===void 0?void 0:t.regexp)!==null&&l!==void 0?l:f.regexp,wholeWord:(s=t===null||t===void 0?void 0:t.wholeWord)!==null&&s!==void 0?s:f.wholeWord})}function Qt(e){let t=$i(e,Pe);return t&&t.dom.querySelector("[main-field]")}function jt(e){let t=Qt(e);if(t&&t==e.root.activeElement)t.select()}var de=(e)=>{let t=e.state.field(T,!1);if(t&&t.panel){let n=Qt(e);if(n&&n!=e.root.activeElement){let r=De(e.state,t.query.spec);if(r.valid)e.dispatch({effects:_.of(r)});n.focus(),n.select()}}else e.dispatch({effects:[Ie.of(!0),t?_.of(De(e.state,t.query.spec)):G.appendConfig.of(Ee)]});return!0},Xt=(e)=>{let t=e.state.field(T,!1);if(!t||!t.panel)return!1;let n=$i(e,Pe);if(n&&n.dom.contains(e.root.activeElement))e.focus();return e.dispatch({effects:Ie.of(!1)}),!0},Yt=[{key:"Mod-f",run:de,scope:"editor search-panel"},{key:"F3",run:he,shift:fe,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:he,shift:fe,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Xt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Fr},{key:"Mod-Alt-g",run:yr},{key:"Mod-d",run:Lr,preventDefault:!0}];class Zt{constructor(e){this.view=e;let t=this.query=e.state.field(T).query.spec;this.commit=this.commit.bind(this),this.searchField=ye("input",{value:t.search,placeholder:x(e,"Find"),"aria-label":x(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ye("input",{value:t.replace,placeholder:x(e,"Replace"),"aria-label":x(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ye("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=ye("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=ye("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function n(r,o,l){return ye("button",{class:"cm-button",name:r,onclick:o,type:"button"},l)}this.dom=ye("div",{onkeydown:(r)=>this.keydown(r),class:"cm-search"},[this.searchField,n("next",()=>he(e),[x(e,"next")]),n("prev",()=>fe(e),[x(e,"previous")]),n("select",()=>Or(e),[x(e,"all")]),ye("label",null,[this.caseField,x(e,"match case")]),ye("label",null,[this.reField,x(e,"regexp")]),ye("label",null,[this.wordField,x(e,"by word")]),...e.state.readOnly?[]:[ye("br"),this.replaceField,n("replace",()=>Ut(e),[x(e,"replace")]),n("replaceAll",()=>Ir(e),[x(e,"replace all")])],ye("button",{name:"close",onclick:()=>Xt(e),"aria-label":x(e,"close"),type:"button"},["×"])])}commit(){let e=new Re({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});if(!e.eq(this.query))this.query=e,this.view.dispatch({effects:_.of(e)})}keydown(e){if(ko(this.view,e,"search-panel"))e.preventDefault();else if(e.keyCode==13&&e.target==this.searchField)e.preventDefault(),(e.shiftKey?fe:he)(this.view);else if(e.keyCode==13&&e.target==this.replaceField)e.preventDefault(),Ut(this.view)}update(e){for(let t of e.transactions)for(let n of t.effects)if(n.is(_)&&!n.value.eq(this.query))this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(R).top}}function x(e,t){return e.state.phrase(t)}var ne=30,re=/[\s\.,:;?!]/;function Ne(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),o=e.state.doc.lineAt(n).to,l=Math.max(r.from,t-ne),s=Math.min(o,n+ne),a=e.state.sliceDoc(l,s);if(l!=r.from){for(let u=0;u<ne;u++)if(!re.test(a[u+1])&&re.test(a[u])){a=a.slice(u);break}}if(s!=o){for(let u=a.length-1;u>a.length-ne;u--)if(!re.test(a[u-1])&&re.test(a[u])){a=a.slice(0,u);break}}return b.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${r.number}.`)}var Pr=b.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Ee=[T,Ve.low(Rr),Pr];var Nr=b.theme({"&":{color:"var(--code-fg)",backgroundColor:"var(--code-bg)",height:"100%",fontSize:"var(--code-size, 13px)"},"&.cm-focused":{outline:"none"},".cm-scroller":{fontFamily:"var(--font-mono)",lineHeight:"1.55",overflow:"auto"},".cm-content":{caretColor:"var(--code-fg)",padding:"0.5rem 0"},".cm-line":{padding:"0 0.75rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--code-fg)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"var(--code-selection)"},".cm-activeLine":{backgroundColor:"var(--code-active-line)"},".cm-gutters":{backgroundColor:"var(--code-gutter-bg)",color:"var(--code-gutter)",border:"none",borderRight:"1px solid var(--border)"},".cm-activeLineGutter":{backgroundColor:"var(--code-active-line)",color:"var(--code-fg)"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 0.5rem",minWidth:"2.25rem"},".cm-matchingBracket, .cm-nonmatchingBracket":{backgroundColor:"var(--code-selection)",outline:"1px solid var(--border-strong)"},".cm-searchMatch":{backgroundColor:"var(--warn-soft)",outline:"1px solid var(--warn)"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--accent-soft)",outline:"1px solid var(--accent)"},".cm-panels":{backgroundColor:"var(--surface-2)",color:"var(--text)",borderColor:"var(--border)",fontFamily:"var(--font)"},".cm-panels-top":{borderBottom:"1px solid var(--border)"},".cm-panel.cm-search":{padding:"0.5rem 2rem 0.5rem 0.5rem"},".cm-panel.cm-search input, .cm-panel.cm-search button, .cm-panel.cm-search label":{fontSize:"0.875rem"},".cm-panel.cm-search input[type=text]":{backgroundColor:"var(--surface)",color:"var(--text)",border:"1px solid var(--control-border)",borderRadius:"var(--radius-sm)",padding:"0.25rem 0.5rem"},".cm-panel.cm-search button":{backgroundColor:"var(--surface-3)",color:"var(--text)",border:"1px solid var(--border-strong)",borderRadius:"var(--radius-sm)",backgroundImage:"none",padding:"0.25rem 0.625rem"},".cm-panel.cm-search [name=close]":{color:"var(--muted)"}}),qr=Mn.define([{tag:[i.keyword,i.modifier,i.operatorKeyword,i.controlKeyword],color:"var(--code-keyword)"},{tag:[i.string,i.regexp,i.special(i.string),i.inserted],color:"var(--code-string)"},{tag:[i.number,i.bool,i.null,i.atom,i.literal],color:"var(--code-number)"},{tag:[i.comment,i.lineComment,i.blockComment,i.docComment],color:"var(--code-comment)",fontStyle:"italic"},{tag:[i.typeName,i.className,i.namespace,i.tagName,i.standard(i.tagName)],color:"var(--code-type)"},{tag:[i.function(i.variableName),i.function(i.propertyName),i.definition(i.variableName),i.labelName],color:"var(--code-function)"},{tag:[i.meta,i.processingInstruction,i.annotation,i.attributeName,i.propertyName,i.heading],color:"var(--code-meta)"},{tag:i.heading,fontWeight:"bold"},{tag:i.strong,fontWeight:"bold"},{tag:i.emphasis,fontStyle:"italic"},{tag:i.strikethrough,textDecoration:"line-through"},{tag:i.link,color:"var(--code-function)",textDecoration:"underline"},{tag:i.url,color:"var(--code-function)"},{tag:i.invalid,color:"var(--danger)"},{tag:i.deleted,color:"var(--danger)"}]),en=[Nr,Ao(qr)];var Vr={typescript:()=>(p("2v652sh5"),import("./chunk-lang-typescript-2v652sh5.js")),javascript:()=>(p("vgxmgd0a"),import("./chunk-lang-javascript-vgxmgd0a.js")),json:()=>(p("hr12bzs1"),import("./chunk-lang-json-hr12bzs1.js")),markdown:()=>(p("ttzcpgkg"),import("./chunk-lang-markdown-ttzcpgkg.js")),css:()=>(p("7q1dtpgm"),import("./chunk-lang-css-7q1dtpgm.js")),html:()=>(p("xgvba8rn"),import("./chunk-lang-html-xgvba8rn.js")),python:()=>(p("ntj8maem"),import("./chunk-lang-python-ntj8maem.js")),yaml:()=>(p("ex31qbph"),import("./chunk-lang-yaml-ex31qbph.js")),go:()=>(p("9k4y107e"),import("./chunk-lang-go-9k4y107e.js")),rust:()=>(p("gv8y859d"),import("./chunk-lang-rust-gv8y859d.js")),sql:()=>(p("6vmze4pg"),import("./chunk-lang-sql-6vmze4pg.js")),xml:()=>(p("r2sbqnjv"),import("./chunk-lang-xml-r2sbqnjv.js")),shell:()=>(p("5zzs09b7"),import("./chunk-lang-shell-5zzs09b7.js")),toml:()=>(p("tt0d4rw9"),import("./chunk-lang-toml-tt0d4rw9.js")),dockerfile:()=>(p("n4bt8jbt"),import("./chunk-lang-dockerfile-n4bt8jbt.js"))};async function tn(e){if(e==="plain")return;try{return(await Vr[e]()).language()}catch(t){console.warn("a language for the editor failed to load",t);return}}function Gr(e){if(typeof e.attachShadow!=="function"||typeof CSSStyleSheet>"u"||!("adoptedStyleSheets"in Document.prototype))return{parent:e,root:void 0};let t=e.shadowRoot??e.attachShadow({mode:"open"}),n=new CSSStyleSheet;return n.replaceSync(":host{display:flex;flex-direction:column;min-height:0}.cm-editor{flex:1;min-height:0}"),t.adoptedStyleSheets=[...t.adoptedStyleSheets,n],{parent:t,root:t}}async function uo(e){let t=new It,n=new It,r=new It,o=await tn(e.language),l=(d)=>[V.readOnly.of(!d),b.editable.of(d)],s={editable:e.editable,wrap:e.wrap,language:o??[]},a,u=(d)=>[Mo(),To(),Ro(),et(),_o(),$o(),Jt(),$t({top:!0}),it.of(" "),V.phrases.of(e.phrases),en,Tt.of([{key:"Mod-s",preventDefault:!0,run:()=>(e.onSave(),!0)},{key:"Escape",run:()=>(e.onEscape(),!0)},Nt,...Yt,...rt,...Pt]),V.lineSeparator.of(d),t.of(l(s.editable)),n.of(s.wrap?b.lineWrapping:[]),r.of(s.language),b.updateListener.of((m)=>{if(m.docChanged)e.onChange()})],f=Gr(e.parent),h=new b({parent:f.parent,root:f.root,state:V.create({doc:e.text,extensions:u(e.eol)})});return a=h.state.doc,{text:()=>h.state.doc.sliceString(0,void 0,h.state.lineBreak),dirty:()=>a===void 0||!h.state.doc.eq(a),snapshot:()=>h.state.doc,markSaved:(d)=>{a=d??h.state.doc},replace:(d,m)=>{let D=h.scrollDOM.scrollTop;h.setState(V.create({doc:d,extensions:u(m)})),a=h.state.doc,h.scrollDOM.scrollTop=D},setEditable:(d)=>{s.editable=d,h.dispatch({effects:t.reconfigure(l(d))})},setWrap:(d)=>{s.wrap=d,h.dispatch({effects:n.reconfigure(d?b.lineWrapping:[])})},setLanguage:async(d)=>{s.language=await tn(d)??[],h.dispatch({effects:r.reconfigure(s.language)})},undo:()=>{j(h)},redo:()=>{U(h)},find:()=>{de(h)},tab:()=>{te(h)},focus:()=>h.focus(),scrollTop:()=>h.scrollDOM.scrollTop,scrollTo:(d)=>{h.scrollDOM.scrollTop=d},destroy:()=>h.destroy()}}export{uo as createEditor};
1
+ import{B,Oe,Ii,$o,Di,ht,ye,c,w,Ee,Ve,Ut,qe,Z,le,ce,q,bt,vt,Be,be,z,se,Xe,b,_t,No,Lo,Xo,Ui,ii,zo,Io,Do,Uo,M,i,I,nt,Bt,si,Tr,En,An,Bo,Fo,mt}from"./chunk-index-gdh7wsd5.js";import{p}from"./chunk-index-24cggw6k.js";var nn=(e)=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=ve(e.state,n.from);return r.line?rn(e):r.block?ln(e):!1};function ke(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=e(t,n);if(!o)return!1;return r(n.update(o)),!0}}var rn=ke(an,0);var on=ke(je,0);var ln=ke((e,t)=>je(e,t,cn(t)),0);function ve(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}var V=50;function sn(e,{open:t,close:n},r,o){let l=e.sliceDoc(r-V,r),s=e.sliceDoc(o,o+V),a=/\s*$/.exec(l)[0].length,u=/^\s*/.exec(s)[0].length,f=l.length-a;if(l.slice(f-t.length,f)==t&&s.slice(u,u+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:o+u,margin:u&&1}};let h,d;if(o-r<=2*V)h=d=e.sliceDoc(r,o);else h=e.sliceDoc(r,r+V),d=e.sliceDoc(o-V,o);let m=/^\s*/.exec(h)[0].length,D=/\s*$/.exec(d)[0].length,v=d.length-D-n.length;if(h.slice(m,m+t.length)==t&&d.slice(v,v+n.length)==n)return{open:{pos:r+m+t.length,margin:/\s/.test(h.charAt(m+t.length))?1:0},close:{pos:o-D-n.length,margin:/\s/.test(d.charAt(v-1))?1:0}};return null}function cn(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),o=n.to<=r.to?r:e.doc.lineAt(n.to);if(o.from>r.from&&o.from==n.to)o=n.to==r.to+1?r:e.doc.lineAt(n.to-1);let l=t.length-1;if(l>=0&&t[l].to>r.from)t[l].to=o.to;else t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return t}function je(e,t,n=t.selection.ranges){let r=n.map((l)=>ve(t,l.from).block);if(!r.every((l)=>l))return null;let o=n.map((l,s)=>sn(t,r[s],l.from,l.to));if(e!=2&&!o.every((l)=>l))return{changes:t.changes(n.map((l,s)=>{if(o[s])return[];return[{from:l.from,insert:r[s].open+" "},{from:l.to,insert:" "+r[s].close}]}))};else if(e!=1&&o.some((l)=>l)){let l=[];for(let s=0,a;s<o.length;s++)if(a=o[s]){let u=r[s],{open:f,close:h}=a;l.push({from:f.pos-u.open.length,to:f.pos+f.margin},{from:h.pos-h.margin,to:h.pos+u.close.length})}return{changes:l}}return null}function an(e,t,n=t.selection.ranges){let r=[],o=-1;e:for(let{from:l,to:s}of n){let a=r.length,u=1e9,f;for(let h=l;h<=s;){let d=t.doc.lineAt(h);if(f==null){if(f=ve(t,d.from).line,!f)continue e}if(d.from>o&&(l==s||s>d.from)){o=d.from;let m=/^\s*/.exec(d.text)[0].length,D=m==d.length,v=d.text.slice(m,m+f.length)==f?m:-1;if(m<d.text.length&&m<u)u=m;r.push({line:d,comment:v,token:f,indent:m,empty:D,single:!1})}h=d.to+1}if(u<1e9){for(let h=a;h<r.length;h++)if(r[h].indent<r[h].line.text.length)r[h].indent=u}if(r.length==a+1)r[a].single=!0}if(e!=2&&r.some((l)=>l.comment<0&&(!l.empty||l.single))){let l=[];for(let{line:a,token:u,indent:f,empty:h,single:d}of r)if(d||!h)l.push({from:a.from+f,insert:u+" "});let s=t.changes(l);return{changes:s,selection:t.selection.map(s,1)}}else if(e!=1&&r.some((l)=>l.comment>=0)){let l=[];for(let{line:s,comment:a,token:u}of r)if(a>=0){let f=s.from+a,h=f+u.length;if(s.text[h-s.from]==" ")h++;l.push({from:f,to:h})}return{changes:l}}return null}var ge=qe.define(),un=qe.define(),hn=w.define(),Ye=w.define({combine(e){return bt(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,o)=>t(r,o)||n(r,o)})}}),Ze=Ee.define({create(){return L.empty},update(e,t){let n=t.state.facet(Ye),r=t.annotation(ge);if(r){let u=y.fromTransaction(t,r.selection),f=r.side,h=f==0?e.undone:e.done;if(u)h=H(h,h.length,n.minDepth,u);else h=rt(h,t.startState.selection);return new L(f==0?r.rest:h,f==0?h:r.rest)}let o=t.annotation(un);if(o=="full"||o=="before")e=e.isolate();if(t.annotation(le.addToHistory)===!1)return!t.changes.empty?e.addMapping(t.changes.desc):e;let l=y.fromTransaction(t),s=t.annotation(le.time),a=t.annotation(le.userEvent);if(l)e=e.addChanges(l,s,a,n,t);else if(t.selection)e=e.addSelection(t.startState.selection,s,a,n.newGroupDelay);if(o=="full"||o=="after")e=e.isolate();return e},toJSON(e){return{done:e.done.map((t)=>t.toJSON()),undone:e.undone.map((t)=>t.toJSON())}},fromJSON(e){return new L(e.done.map(y.fromJSON),e.undone.map(y.fromJSON))}});function et(e={}){return[Ze,Ye.of(e),b.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?j:t.inputType=="historyRedo"?G:null;if(!r)return!1;return t.preventDefault(),r(n)}})]}function Q(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let o=n.field(Ze,!1);if(!o)return!1;let l=o.pop(e,n,t);if(!l)return!1;return r(l),!0}}var j=Q(0,!1),G=Q(1,!1),fn=Q(0,!0),dn=Q(1,!0);class y{constructor(e,t,n,r,o){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=o}setSelAfter(e){return new y(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map((r)=>r.toJSON())}}static fromJSON(e){return new y(e.changes&&ye.fromJSON(e.changes),[],e.mapped&&ht.fromJSON(e.mapped),e.startSelection&&c.fromJSON(e.startSelection),e.selectionsAfter.map(c.fromJSON))}static fromTransaction(e,t){let n=S;for(let r of e.startState.facet(hn)){let o=r(e);if(o.length)n=n.concat(o)}if(!n.length&&e.changes.empty)return null;return new y(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,S)}static selection(e){return new y(void 0,S,void 0,void 0,e)}}function H(e,t,n,r){let o=t+1>n+20?t-n-1:0,l=e.slice(o,t);return l.push(r),l}function mn(e,t){let n=[],r=!1;return e.iterChangedRanges((o,l)=>n.push(o,l)),t.iterChangedRanges((o,l,s,a)=>{for(let u=0;u<n.length;){let f=n[u++],h=n[u++];if(a>=f&&s<=h)r=!0}}),r}function pn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function tt(e,t){return!e.length?t:!t.length?e:e.concat(t)}var S=[],gn=200;function rt(e,t){if(!e.length)return[y.selection([t])];else{let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-gn));if(r.length&&r[r.length-1].eq(t))return e;return r.push(t),H(e,e.length-1,1e9,n.setSelAfter(r))}}function yn(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function pe(e,t){if(!e.length)return e;let n=e.length,r=S;while(n){let o=xn(e[n-1],t,r);if(o.changes&&!o.changes.empty||o.effects.length){let l=e.slice(0,n);return l[n-1]=o,l}else t=o.mapped,n--,r=o.selectionsAfter}return r.length?[y.selection(r)]:S}function xn(e,t,n){let r=tt(e.selectionsAfter.length?e.selectionsAfter.map((a)=>a.map(t)):S,n);if(!e.changes)return y.selection(r);let o=e.changes.map(t),l=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(l):l;return new y(o,Z.mapEffects(e.effects,t),s,e.startSelection.map(l),r)}var Sn=/^(input\.type|delete)($|\.)/;class L{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new L(this.done,this.undone):this}addChanges(e,t,n,r,o){let l=this.done,s=l[l.length-1];if(s&&s.changes&&!s.changes.empty&&e.changes&&(!n||Sn.test(n))&&(!s.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(o,mn(s.changes,e.changes))||n=="input.type.compose"))l=H(l,l.length-1,r.minDepth,new y(e.changes.compose(s.changes),tt(Z.mapEffects(e.effects,s.changes),s.effects),s.mapped,s.startSelection,S));else l=H(l,l.length,r.minDepth,e);return new L(l,S,t,n)}addSelection(e,t,n,r){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:S;if(o.length>0&&t-this.prevTime<r&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&pn(o[o.length-1],e))return this;return new L(rt(this.done,e),this.undone,t,n)}addMapping(e){return new L(pe(this.done,e),pe(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let o=r[r.length-1],l=o.selectionsAfter[0]||(o.startSelection?o.startSelection.map(o.changes.invertedDesc,1):t.selection);if(n&&o.selectionsAfter.length)return t.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:ge.of({side:e,rest:yn(r),selection:l}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});else if(!o.changes)return null;else{let s=r.length==1?S:r.slice(0,r.length-1);if(o.mapped)s=pe(s,o.mapped);return t.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:ge.of({side:e,rest:s,selection:l}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}}}L.empty=new L(S,S);var ot=[{key:"Mod-z",run:j,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:G,preventDefault:!0},{linux:"Ctrl-Shift-z",run:G,preventDefault:!0},{key:"Mod-u",run:fn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:dn,preventDefault:!0}];function O(e,t){return c.create(e.ranges.map(t),e.mainIndex)}function C(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function A({state:e,dispatch:t},n){let r=O(e.selection,n);if(r.eq(e.selection,!0))return!1;return t(C(e,r)),!0}function X(e,t){return c.cursor(t?e.to:e.from)}function lt(e,t){return A(e,(n)=>n.empty?e.moveByChar(n,t):X(n,t))}function g(e){return e.textDirectionAt(e.state.selection.main.head)==se.LTR}var it=(e)=>lt(e,!g(e)),st=(e)=>lt(e,g(e));function ct(e,t){return A(e,(n)=>n.empty?e.moveByGroup(n,t):X(n,t))}var kn=(e)=>ct(e,!g(e)),vn=(e)=>ct(e,g(e));var Jr=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function bn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Y(e,t,n){let r=I(e).resolveInner(t.head),o=n?M.closedBy:M.openedBy;for(let u=t.head;;){let f=n?r.childAfter(u):r.childBefore(u);if(!f)break;if(bn(e,f,o))r=f;else u=n?f.to:f.from}let l=r.type.prop(o),s,a;if(l&&(s=n?mt(e,r.from,1):mt(e,r.to,-1))&&s.matched)a=n?s.end.to:s.end.from;else a=n?r.to:r.from;return c.cursor(a,n?-1:1)}var Cn=(e)=>A(e,(t)=>Y(e.state,t,!g(e))),Mn=(e)=>A(e,(t)=>Y(e.state,t,g(e)));function at(e,t){return A(e,(n)=>{if(!n.empty)return X(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}var ut=(e)=>at(e,!1),ft=(e)=>at(e,!0);function dt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,o;if(t){for(let l of e.state.facet(b.scrollMargins)){let s=l(e);if(s===null||s===void 0?void 0:s.top)n=Math.max(s===null||s===void 0?void 0:s.top,n);if(s===null||s===void 0?void 0:s.bottom)r=Math.max(s===null||s===void 0?void 0:s.bottom,r)}o=e.scrollDOM.clientHeight-n-r}else o=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,o-5)}}function pt(e,t){let n=dt(e),{state:r}=e,o=O(r.selection,(s)=>s.empty?e.moveVertically(s,t,n.height):X(s,t));if(o.eq(r.selection))return!1;let l;if(n.selfScroll){let s=e.coordsAtPos(r.selection.main.head),a=e.scrollDOM.getBoundingClientRect(),u=a.top+n.marginTop,f=a.bottom-n.marginBottom;if(s&&s.top>u&&s.bottom<f)l=b.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-u})}return e.dispatch(C(r,o),{effects:l}),!0}var Ue=(e)=>pt(e,!1),xe=(e)=>pt(e,!0);function E(e,t,n){let r=e.lineBlockAt(t.head),o=e.moveToLineBoundary(t,n);if(o.head==t.head&&o.head!=(n?r.to:r.from))o=e.moveToLineBoundary(t,n,!1);if(!n&&o.head==r.from&&r.length){let l=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;if(l&&t.head!=r.from+l)o=c.cursor(r.from+l)}return o}var Ln=(e)=>A(e,(t)=>E(e,t,!0)),Bn=(e)=>A(e,(t)=>E(e,t,!1)),Dn=(e)=>A(e,(t)=>E(e,t,!g(e))),Tn=(e)=>A(e,(t)=>E(e,t,g(e))),wn=(e)=>A(e,(t)=>e.moveToLineBoundary(t,!1,!1)),Wn=(e)=>A(e,(t)=>e.moveToLineBoundary(t,!0,!1));function Rn(e,t,n){let r=!1,o=O(e.selection,(l)=>{let s=mt(e,l.head,-1)||mt(e,l.head,1)||l.head>0&&mt(e,l.head-1,1)||l.head<e.doc.length&&mt(e,l.head+1,-1);if(!s||!s.end)return l;r=!0;let a=s.start.from==l.head?s.end.to:s.end.from;return n?c.range(l.anchor,a):c.cursor(a)});if(!r)return!1;return t(C(e,o)),!0}var On=({state:e,dispatch:t})=>Rn(e,t,!1);function k(e,t,n){let r=O(e.state.selection,(o)=>{if(o.undirectional&&o.head>=o.anchor!=t)o=c.range(o.head,o.anchor);let l=n(o);return c.range(o.anchor,l.head,l.goalColumn,l.bidiLevel||void 0,l.assoc)});if(r.eq(e.state.selection))return!1;return e.dispatch(C(e.state,r)),!0}function gt(e,t){return k(e,t,(n)=>e.moveByChar(n,t))}var yt=(e)=>gt(e,!g(e)),xt=(e)=>gt(e,g(e));function St(e,t){return k(e,t,(n)=>e.moveByGroup(n,t))}var Fn=(e)=>St(e,!g(e)),In=(e)=>St(e,g(e));var Pn=(e)=>{let t=!g(e);return k(e,t,(n)=>Y(e.state,n,t))},Nn=(e)=>{let t=g(e);return k(e,t,(n)=>Y(e.state,n,t))};function kt(e,t){return k(e,t,(n)=>e.moveVertically(n,t))}var Ct=(e)=>kt(e,!1),Mt=(e)=>kt(e,!0);function At(e,t){return k(e,t,(n)=>e.moveVertically(n,t,dt(e).height))}var ze=(e)=>At(e,!1),_e=(e)=>At(e,!0),qn=(e)=>k(e,!0,(t)=>E(e,t,!0)),Vn=(e)=>k(e,!1,(t)=>E(e,t,!1)),Gn=(e)=>{let t=!g(e);return k(e,t,(n)=>E(e,n,t))},Un=(e)=>{let t=g(e);return k(e,t,(n)=>E(e,n,t))},zn=(e)=>k(e,!1,(t)=>c.cursor(e.lineBlockAt(t.head).from)),_n=(e)=>k(e,!0,(t)=>c.cursor(e.lineBlockAt(t.head).to)),Je=({state:e,dispatch:t})=>(t(C(e,{anchor:0})),!0),$e=({state:e,dispatch:t})=>(t(C(e,{anchor:e.doc.length})),!0),Ke=({state:e,dispatch:t})=>(t(C(e,{anchor:e.selection.main.anchor,head:0})),!0),He=({state:e,dispatch:t})=>(t(C(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Jn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),$n=({state:e,dispatch:t})=>{let n=ee(e).map(({from:r,to:o})=>c.undirectionalRange(r,Math.min(o+1,e.doc.length)));return t(e.update({selection:c.create(n),userEvent:"select"})),!0},Kn=({state:e,dispatch:t})=>{let n=O(e.selection,(r)=>{let o=I(e),l=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);if(s.node.from>=l.node.from&&s.node.to<=l.node.to)l=s}for(let s=l;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return c.undirectionalRange(a.from,a.to)}return r});if(n.eq(e.selection))return!1;return t(C(e,n)),!0};function Lt(e,t){let{state:n}=e,r=n.selection,o=n.selection.ranges.slice();for(let l of n.selection.ranges){let s=n.doc.lineAt(l.head);if(t?s.to<e.state.doc.length:s.from>0)for(let a=l;;){let u=e.moveVertically(a,t);if(u.head<s.from||u.head>s.to){if(!o.some((f)=>f.head==u.head))o.push(u);break}else if(u.head==a.head)break;else a=u}}if(o.length==r.ranges.length)return!1;return e.dispatch(C(n,c.create(o,o.length-1))),!0}var Hn=(e)=>Lt(e,!1),Qn=(e)=>Lt(e,!0),jn=({state:e,dispatch:t})=>{let n=e.selection,r=null;if(n.ranges.length>1)r=c.create([n.main]);else if(!n.main.empty)r=c.create([c.cursor(n.main.head)]);if(!r)return!1;return t(C(e,r)),!0};function U(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,o=r.changeByRange((l)=>{let{from:s,to:a}=l;if(s==a){let u=t(l);if(u<s)n="delete.backward",u=K(e,u,!1);else if(u>s)n="delete.forward",u=K(e,u,!0);s=Math.min(s,u),a=Math.max(a,u)}else s=K(e,s,!1),a=K(e,a,!0);return s==a?{range:l}:{changes:{from:s,to:a},range:c.cursor(s,s<l.head?-1:1)}});if(o.changes.empty)return!1;return e.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?b.announce.of(r.phrase("Selection deleted")):void 0})),!0}function K(e,t,n){if(e instanceof b)for(let r of e.state.facet(b.atomicRanges).map((o)=>o(e)))r.between(t,t,(o,l)=>{if(o<t&&l>t)t=n?l:o});return t}var Dt=(e,t,n)=>U(e,(r)=>{let o=r.from,{state:l}=e,s=l.doc.lineAt(o),a,u;if(n&&!t&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,o-s.from))){if(a[a.length-1]=="\t")return o-1;let f=Be(a,l.tabSize),h=f%Bt(l)||Bt(l);for(let d=0;d<h&&a[a.length-1-d]==" ";d++)o--;u=o}else if(u=Oe(s.text,o-s.from,t,t)+s.from,u==o&&s.number!=(t?l.doc.lines:1))u+=t?1:-1;else if(!t&&/[\ufe00-\ufe0f]/.test(s.text.slice(u-s.from,o-s.from)))u=Oe(s.text,u-s.from,!1,!1)+s.from;return u}),Se=(e)=>Dt(e,!1,!0);var Et=(e)=>Dt(e,!0,!1),Tt=(e,t)=>U(e,(n)=>{let r=n.head,{state:o}=e,l=o.doc.lineAt(r),s=o.charCategorizer(r);for(let a=null;;){if(r==(t?l.to:l.from)){if(r==n.head&&l.number!=(t?o.doc.lines:1))r+=t?1:-1;break}let u=Oe(l.text,r-l.from,t)+l.from,f=l.text.slice(Math.min(r,u)-l.from,Math.max(r,u)-l.from),h=s(f);if(a!=null&&h!=a)break;if(f!=" "||r!=n.head)a=h;r=u}return r}),wt=(e)=>Tt(e,!1),Xn=(e)=>Tt(e,!0);var Yn=(e)=>U(e,(t)=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)});var Zn=(e)=>U(e,(t)=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),er=(e)=>U(e,(t)=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)});var tr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((r)=>({changes:{from:r.from,to:r.to,insert:B.of(["",""])},range:c.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},nr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((r)=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let o=r.from,l=e.doc.lineAt(o),s=o==l.from?o-1:Oe(l.text,o-l.from,!1)+l.from,a=o==l.to?o+1:Oe(l.text,o-l.from,!0)+l.from;return{changes:{from:s,to:a,insert:e.doc.slice(o,a).append(e.doc.slice(s,o))},range:c.cursor(a)}});if(n.changes.empty)return!1;return t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0};function ee(e){let t=[],n=-1;for(let r of e.selection.ranges){let o=e.doc.lineAt(r.from),l=e.doc.lineAt(r.to);if(!r.empty&&r.to==l.from)l=e.doc.lineAt(r.to-1);if(n>=o.number){let s=t[t.length-1];s.to=l.to,s.ranges.push(r)}else t.push({from:o.from,to:l.to,ranges:[r]});n=l.number+1}return t}function Wt(e,t,n){if(e.readOnly)return!1;let r=[],o=[];for(let l of ee(e)){if(n?l.to==e.doc.length:l.from==0)continue;let s=e.doc.lineAt(n?l.to+1:l.from-1),a=s.length+1;if(n){r.push({from:l.to,to:s.to},{from:l.from,insert:s.text+e.lineBreak});for(let u of l.ranges)o.push(c.range(Math.min(e.doc.length,u.anchor+a),Math.min(e.doc.length,u.head+a)))}else{r.push({from:s.from,to:l.from},{from:l.to,insert:e.lineBreak+s.text});for(let u of l.ranges)o.push(c.range(u.anchor-a,u.head-a))}}if(!r.length)return!1;return t(e.update({changes:r,scrollIntoView:!0,selection:c.create(o,e.selection.mainIndex),userEvent:"move.line"})),!0}var rr=({state:e,dispatch:t})=>Wt(e,t,!1),or=({state:e,dispatch:t})=>Wt(e,t,!0);function Rt(e,t,n){if(e.readOnly)return!1;let r=[];for(let l of ee(e))if(n)r.push({from:l.from,insert:e.doc.slice(l.from,l.to)+e.lineBreak});else r.push({from:l.to,insert:e.lineBreak+e.doc.slice(l.from,l.to)});let o=e.changes(r);return t(e.update({changes:o,selection:e.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var lr=({state:e,dispatch:t})=>Rt(e,t,!1),ir=({state:e,dispatch:t})=>Rt(e,t,!0),sr=(e)=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(ee(t).map(({from:o,to:l})=>{if(o>0)o--;else if(l<t.doc.length)l++;return{from:o,to:l}})),r=O(t.selection,(o)=>{let l=void 0;if(e.lineWrapping){let s=e.lineBlockAt(o.head),a=e.coordsAtPos(o.head,o.assoc||1);if(a)l=s.bottom+e.documentTop-a.bottom+e.defaultLineHeight/2}return e.moveVertically(o,!0,l)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function cr(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=I(e).resolveInner(t),r=n.childBefore(t),o=n.childAfter(t),l;if(r&&o&&r.to<=t&&o.from>=t&&(l=r.type.prop(M.closedBy))&&l.indexOf(o.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(o.from).from&&!/\S/.test(e.sliceDoc(r.to,o.from)))return{from:r.to,to:o.from};return null}var Qe=Ot(!1),ar=Ot(!0);function Ot(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange((o)=>{let{from:l,to:s}=o,a=t.doc.lineAt(l),u=!e&&l==s&&cr(t,l);if(e)l=s=(s<=a.to?a:t.doc.lineAt(s)).to;let f=new En(t,{simulateBreak:l,simulateDoubleBreak:!!u}),h=Tr(f,l);if(h==null)h=Be(/^\s*/.exec(t.doc.lineAt(l).text)[0],t.tabSize);while(s<a.to&&/\s/.test(a.text[s-a.from]))s++;if(u)({from:l,to:s}=u);else if(l>a.from&&l<a.from+100&&!/\S/.test(a.text.slice(0,l)))l=a.from;let d=["",si(t,h)];if(u)d.push(si(t,f.lineIndent(a.from,-1)));return{changes:{from:l,to:s,insert:B.of(d)},range:c.cursor(l+1+d[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Ce(e,t){let n=-1;return e.changeByRange((r)=>{let o=[];for(let s=r.from;s<=r.to;){let a=e.doc.lineAt(s);if(a.number>n&&(r.empty||r.to>a.from))t(a,o,r),n=a.number;s=a.to+1}let l=e.changes(o);return{changes:o,range:c.range(l.mapPos(r.anchor,1),l.mapPos(r.head,1))}})}var ur=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new En(e,{overrideIndentation:(l)=>{let s=n[l];return s==null?-1:s}}),o=Ce(e,(l,s,a)=>{let u=Tr(r,l.from);if(u==null)return;if(!/\S/.test(l.text))u=0;let f=/^\s*/.exec(l.text)[0],h=si(e,u);if(f!=h||a.from<l.from+f.length)n[l.from]=u,s.push({from:l.from,to:l.from+f.length,insert:h})});if(!o.changes.empty)t(e.update(o,{userEvent:"indent"}));return!0},te=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Ce(e,(n,r)=>{r.push({from:n.from,insert:e.facet(nt)})}),{userEvent:"input.indent"})),!0},Ft=({state:e,dispatch:t})=>{if(e.readOnly)return!1;return t(e.update(Ce(e,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let l=Be(o,e.tabSize),s=0,a=si(e,Math.max(0,l-Bt(e)));while(s<o.length&&s<a.length&&o.charCodeAt(s)==a.charCodeAt(s))s++;r.push({from:n.from+s,to:n.from+o.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0},hr=(e)=>(e.setTabFocusMode(),!0);var fr=[{key:"Ctrl-b",run:it,shift:yt,preventDefault:!0},{key:"Ctrl-f",run:st,shift:xt},{key:"Ctrl-p",run:ut,shift:Ct},{key:"Ctrl-n",run:ft,shift:Mt},{key:"Ctrl-a",run:wn,shift:zn},{key:"Ctrl-e",run:Wn,shift:_n},{key:"Ctrl-d",run:Et},{key:"Ctrl-h",run:Se},{key:"Ctrl-k",run:Yn},{key:"Ctrl-Alt-h",run:wt},{key:"Ctrl-o",run:tr},{key:"Ctrl-t",run:nr},{key:"Ctrl-v",run:xe}],dr=[{key:"ArrowLeft",run:it,shift:yt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:kn,shift:Fn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Dn,shift:Gn,preventDefault:!0},{key:"ArrowRight",run:st,shift:xt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:vn,shift:In,preventDefault:!0},{mac:"Cmd-ArrowRight",run:Tn,shift:Un,preventDefault:!0},{key:"ArrowUp",run:ut,shift:Ct,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Je,shift:Ke},{mac:"Ctrl-ArrowUp",run:Ue,shift:ze},{key:"ArrowDown",run:ft,shift:Mt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:$e,shift:He},{mac:"Ctrl-ArrowDown",run:xe,shift:_e},{key:"PageUp",run:Ue,shift:ze},{key:"PageDown",run:xe,shift:_e},{key:"Home",run:Bn,shift:Vn,preventDefault:!0},{key:"Mod-Home",run:Je,shift:Ke},{key:"End",run:Ln,shift:qn,preventDefault:!0},{key:"Mod-End",run:$e,shift:He},{key:"Enter",run:Qe,shift:Qe},{key:"Mod-a",run:Jn},{key:"Backspace",run:Se,shift:Se,preventDefault:!0},{key:"Delete",run:Et,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:wt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Xn,preventDefault:!0},{mac:"Mod-Backspace",run:Zn,preventDefault:!0},{mac:"Mod-Delete",run:er,preventDefault:!0}].concat(fr.map((e)=>({mac:e.key,run:e.run,shift:e.shift}))),It=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Cn,shift:Pn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Mn,shift:Nn},{key:"Alt-ArrowUp",run:rr},{key:"Shift-Alt-ArrowUp",run:lr},{key:"Alt-ArrowDown",run:or},{key:"Shift-Alt-ArrowDown",run:ir},{key:"Mod-Alt-ArrowUp",run:Hn},{key:"Mod-Alt-ArrowDown",run:Qn},{key:"Escape",run:jn},{key:"Mod-Enter",run:ar},{key:"Alt-l",mac:"Ctrl-l",run:$n},{key:"Mod-i",run:Kn,preventDefault:!0},{key:"Mod-[",run:Ft},{key:"Mod-]",run:te},{key:"Mod-Alt-\\",run:ur},{key:"Shift-Mod-k",run:sr},{key:"Shift-Mod-\\",run:On},{key:"Mod-/",run:nn},{key:"Alt-A",mac:"Ctrl-A",run:on},{key:"Ctrl-m",mac:"Shift-Alt-m",run:hr}].concat(dr),Pt={key:"Tab",run:te,shift:Ft};var Nt=typeof String.prototype.normalize=="function"?(e)=>e.normalize("NFKD"):(e)=>e;class W{constructor(e,t,n=0,r=e.length,o,l){this.test=l,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=o?(s)=>o(Nt(s)):Nt,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Ii(this.buffer,this.bufferPos)}next(){while(this.matches.length)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=$o(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Di(e);let r=this.normalize(t);if(r.length)for(let o=0,l=n,s=!0;;o++){let a=r.charCodeAt(o),u=this.match(a,l,s,this.bufferPos+this.bufferStart,o==r.length-1);if(u)return this.value=u,this;if(o==r.length-1)break;if(s&&o<t.length&&t.charCodeAt(o)==a)l++;else s=!1}}}match(e,t,n,r,o){let l=null;for(let s=0;s<this.matches.length;){let a=this.matches[s],u=!1;if(this.query.charCodeAt(a.index)==e)if(a.index==this.query.length-1)l={from:a.from,to:r,precise:o&&a.precise};else a.index++,u=!0;if(u)s++;else this.matches.splice(s,1)}if(this.query.charCodeAt(0)==e)if(this.query.length==1)l={from:t,to:r,precise:n&&o};else this.matches.push({from:t,index:1,precise:n});if(l&&this.test&&!this.test(l.from,l.to,this.buffer,this.bufferStart))l=null;return l}}if(typeof Symbol<"u")W.prototype[Symbol.iterator]=function(){return this};var Gt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},De="gm"+(/x/.unicode==null?"":"u");class Te{constructor(e,t,n,r=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=Gt,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new we(e,t,n,r,o);this.re=new RegExp(t,De+((n===null||n===void 0?void 0:n.ignoreCase)?"i":"")),this.test=n===null||n===void 0?void 0:n.test,this.iter=e.iter();let l=e.lineAt(r);this.curLineStart=l.from,this.matchPos=ie(e,r),this.getLine(this.curLineStart)}getLine(e){if(this.iter.next(e),this.iter.lineBreak)this.curLine="";else{if(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to)this.curLine=this.curLine.slice(0,this.to-this.curLineStart);this.iter.next()}}nextLine(){if(this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to)this.curLine="";else this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=ie(this.text,r+(n==r?1:0)),n==this.curLineStart+this.curLine.length)this.nextLine();if((n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}var Me=new WeakMap;class N{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let r=Me.get(e);if(!r||r.from>=n||r.to<=t){let s=new N(t,e.sliceString(t,n));return Me.set(e,s),s}if(r.from==t&&r.to==n)return r;let{text:o,from:l}=r;if(l>t)o=e.sliceString(t,l)+o,l=t;if(r.to<n)o+=e.sliceString(r.to,n);return Me.set(e,new N(l,o)),new N(t,o.slice(t-l,n-l))}}class we{constructor(e,t,n,r,o){this.text=e,this.to=o,this.done=!1,this.value=Gt,this.matchPos=ie(e,r),this.re=new RegExp(t,De+((n===null||n===void 0?void 0:n.ignoreCase)?"i":"")),this.test=n===null||n===void 0?void 0:n.test,this.flat=N.get(e,r,this.chunkEnd(r+5000))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e)this.re.lastIndex=e+1,t=this.re.exec(this.flat.text);if(t){let n=this.flat.from+t.index,r=n+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this.matchPos=ie(this.text,r+(n==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=N.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}if(typeof Symbol<"u")Te.prototype[Symbol.iterator]=we.prototype[Symbol.iterator]=function(){return this};function mr(e){try{return new RegExp(e,De),!0}catch(t){return!1}}function ie(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;while(t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344)t++;return t}var pr=(e)=>{let t=Io(e,"cm-goto-line");if(t){let s=t.dom.querySelector("input[type=text]");if(s)s.select();return!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:o,result:l}=zo(e,{class:"cm-goto-line",label:n.phrase("Go to line"),input:{type:"text",name:"line",value:r},focus:!0,submitLabel:n.phrase("go")});return l.then((s)=>{let a=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!a){e.dispatch({effects:o});return}let u=n.doc.lineAt(n.selection.main.head),[,f,h,d,m]=a,D=d?+d.slice(1):0,v=h?+h:u.number;if(h&&m){let me=v/100;if(f)me=me*(f=="-"?-1:1)+u.number/n.doc.lines;v=Math.round(n.doc.lines*me)}else if(h&&f)v=v*(f=="-"?-1:1)+u.number;let Ne=n.doc.line(Math.max(1,Math.min(n.doc.lines,v))),Ge=c.cursor(Ne.from+Math.max(0,Math.min(D,Ne.length)));e.dispatch({effects:[o,b.scrollIntoView(Ge.from,{y:"center"})],selection:Ge})}),!0},gr={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},zt=w.define({combine(e){return bt(e,gr,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function Jt(e){let t=[vr,kr];if(e)t.push(zt.of(e));return t}var yr=z.mark({class:"cm-selectionMatch"}),xr=z.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function qt(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=ce.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=ce.Word)}function Sr(e,t,n,r){return e(t.sliceDoc(n,n+1))==ce.Word&&e(t.sliceDoc(r-1,r))==ce.Word}var kr=Xe.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){if(e.selectionSet||e.docChanged||e.viewportChanged)this.decorations=this.getDeco(e.view)}getDeco(e){let t=e.state.facet(zt),{state:n}=e,r=n.selection;if(r.ranges.length>1)return z.none;let o=r.main,l,s=null;if(o.empty){if(!t.highlightWordAroundCursor)return z.none;let u=n.wordAt(o.head);if(!u)return z.none;s=n.charCategorizer(o.head),l=n.sliceDoc(u.from,u.to)}else{let u=o.to-o.from;if(u<t.minSelectionLength||u>200)return z.none;if(t.wholeWords){if(l=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(qt(s,n,o.from,o.to)&&Sr(s,n,o.from,o.to)))return z.none}else if(l=n.sliceDoc(o.from,o.to),!l)return z.none}let a=[];for(let u of e.visibleRanges){let f=new W(n.doc,l,u.from,u.to);while(!f.next().done){let{from:h,to:d}=f.value;if(!s||qt(s,n,h,d)){if(o.empty&&h<=o.from&&d>=o.to)a.push(xr.range(h,d));else if(h>=o.to||d<=o.from)a.push(yr.range(h,d));if(a.length>t.maxMatches)return z.none}}}return z.set(a)}},{decorations:(e)=>e.decorations}),vr=b.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),br=({state:e,dispatch:t})=>{let{selection:n}=e,r=c.create(n.ranges.map((o)=>e.wordAt(o.head)||c.cursor(o.head)),n.mainIndex);if(r.eq(n))return!1;return t(e.update({selection:r})),!0};function Cr(e,t){let{main:n,ranges:r}=e.selection,o=e.wordAt(n.head),l=o&&o.from==n.from&&o.to==n.to;for(let s=!1,a=new W(e.doc,t,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new W(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some((u)=>u.from==a.value.from))continue;if(l){let u=e.wordAt(a.value.from);if(!u||u.from!=a.value.from||u.to!=a.value.to)continue}return a.value}}var Mr=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some((l)=>l.from===l.to))return br({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some((l)=>e.sliceDoc(l.from,l.to)!=r))return!1;let o=Cr(e,r);if(!o)return!1;return t(e.update({selection:e.selection.addRange(c.range(o.from,o.to),!1),effects:b.scrollIntoView(o.to)})),!0},R=w.define({combine(e){return bt(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:(t)=>new Zt(t),scrollToMatch:(t)=>b.scrollIntoView(t)})}});function $t(e){return e?[R.of(e),Le]:Le}class We{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||mr(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,n)=>n=="n"?`
2
+ `:n=="r"?"\r":n=="t"?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Ht(this):new Kt(this)}getCursor(e,t=0,n){let r=e.doc?e:q.create({doc:e});if(n==null)n=r.doc.length;return this.regexp?P(this,r,t,n):F(this,r,t,n)}}class Re{constructor(e){this.spec=e}}function Ar(e,t,n){return(r,o,l,s)=>{if(n&&!n(r,o,l,s))return!1;let a=r>=s&&o<=s+l.length?l.slice(r-s,o-s):t.doc.sliceString(r,o);return e(a,t,r,o)}}function F(e,t,n,r){let o;if(e.wholeWord)o=Lr(t.doc,t.charCategorizer(t.selection.main.head));if(e.test)o=Ar(e.test,t,o);return new W(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:(l)=>l.toLowerCase(),o)}function Lr(e,t){return(n,r,o,l)=>{if(l>n||l+o.length<r)l=Math.max(0,n-2),o=e.sliceString(l,Math.min(e.length,r+2));return(t(ae(o,n-l))!=ce.Word||t(ue(o,n-l))!=ce.Word)&&(t(ue(o,r-l))!=ce.Word||t(ae(o,r-l))!=ce.Word)}}class Kt extends Re{constructor(e){super(e)}nextMatch(e,t,n){let r=F(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let o=Math.min(e.doc.length,t+this.spec.unquoted.length);r=F(this.spec,e,0,o).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let o=Math.max(t,r-1e4-this.spec.unquoted.length),l=F(this.spec,e,o,r),s=null;while(!l.nextOverlapping().done)s=l.value;if(s)return s;if(o==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);if(!r)r=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length);return r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=F(this.spec,e,0,e.doc.length),r=[];while(!n.next().done){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let o=F(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));while(!o.next().done)r(o.value.from,o.value.to)}}function Br(e,t,n){return(r,o,l)=>(!n||n(r,o,l))&&e(l[0],t,r,o)}function P(e,t,n,r){let o;if(e.wholeWord)o=Dr(t.charCategorizer(t.selection.main.head));if(e.test)o=Br(e.test,t,o);return new Te(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:o},n,r)}function ae(e,t){return e.slice(Oe(e,t,!1),t)}function ue(e,t){return e.slice(t,Oe(e,t))}function Dr(e){return(t,n,r)=>!r[0].length||(e(ae(r.input,r.index))!=ce.Word||e(ue(r.input,r.index))!=ce.Word)&&(e(ue(r.input,r.index+r[0].length))!=ce.Word||e(ae(r.input,r.index+r[0].length))!=ce.Word)}class Ht extends Re{nextMatch(e,t,n){let r=P(this.spec,e,n,e.doc.length).next();if(r.done)r=P(this.spec,e,0,t).next();return r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let o=Math.max(t,n-r*1e4),l=P(this.spec,e,o,n),s=null;while(!l.next().done)s=l.value;if(s&&(o==t||s.from>o+10))return s;if(o==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n=="&")return e.match[0];if(n=="$")return"$";for(let r=n.length;r>0;r--){let o=+n.slice(0,r);if(o>0&&o<e.match.length)return e.match[o]+n.slice(r)}return t})}matchAll(e,t){let n=P(this.spec,e,0,e.doc.length),r=[];while(!n.next().done){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let o=P(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));while(!o.next().done)r(o.value.from,o.value.to)}}var _=Z.define(),Fe=Z.define(),T=Ee.define({create(e){return new oe(Ae(e).create(),null)},update(e,t){for(let n of t.effects)if(n.is(_))e=new oe(n.value.create(),e.panel);else if(n.is(Fe))e=new oe(e.query,n.value?Ie:null);return e},provide:(e)=>ii.from(e,(t)=>t.panel)});class oe{constructor(e,t){this.query=e,this.panel=t}}var Er=z.mark({class:"cm-searchMatch"}),wr=z.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Wr=Xe.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(T))}update(e){let t=e.state.field(T);if(t!=e.startState.field(T)||e.docChanged||e.selectionSet||e.viewportChanged)this.decorations=this.highlight(t)}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return z.none;let{view:n}=this,r=new vt;for(let o=0,l=n.visibleRanges,s=l.length;o<s;o++){let{from:a,to:u}=l[o];while(o<s-1&&u>l[o+1].from-500)u=l[++o].to;e.highlight(n.state,a,u,(f,h)=>{let d=n.state.selection.ranges.some((m)=>m.from==f&&m.to==h);r.add(f,h,d?wr:Er)})}return r.finish()}},{decorations:(e)=>e.decorations});function J(e){return(t)=>{let n=t.state.field(T,!1);return n&&n.query.spec.valid?e(t,n):de(t)}}var he=J((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let o=c.single(r.from,r.to),l=e.state.facet(R);return e.dispatch({selection:o,effects:[Pe(e,r),l.scrollToMatch(o.main,e)],userEvent:"select.search"}),jt(e),!0}),fe=J((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,o=t.prevMatch(n,r,r);if(!o)return!1;let l=c.single(o.from,o.to),s=e.state.facet(R);return e.dispatch({selection:l,effects:[Pe(e,o),s.scrollToMatch(l.main,e)],userEvent:"select.search"}),jt(e),!0}),Rr=J((e,{query:t})=>{let n=t.matchAll(e.state,1000);if(!n||!n.length)return!1;return e.dispatch({selection:c.create(n.map((r)=>c.range(r.from,r.to))),userEvent:"select.search.matches"}),!0}),Or=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,l=[],s=0;for(let a=new W(e.doc,e.sliceDoc(r,o));!a.next().done;){if(l.length>1000)return!1;if(a.value.from==r)s=l.length;l.push(c.range(a.value.from,a.value.to))}return t(e.update({selection:c.create(l,s),userEvent:"select.search.matches"})),!0},Vt=J((e,{query:t})=>{let{state:n}=e,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let l=t.nextMatch(n,r,r);if(!l)return!1;let s=l,a=[],u,f,h=[];if(!s.precise)s=t.nextMatch(n,s.from,s.to);else if(s.from==r&&s.to==o)f=n.toText(t.getReplacement(s)),a.push({from:s.from,to:s.to,insert:f}),s=t.nextMatch(n,s.from,s.to),h.push(b.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."));let d=e.state.changes(a);if(s)u=c.single(s.from,s.to).map(d),h.push(Pe(e,s)),h.push(n.facet(R).scrollToMatch(u.main,e));return e.dispatch({changes:d,selection:u,effects:h,userEvent:"input.replace"}),!0}),Fr=J((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let o of t.matchAll(e.state,1e9)){let{from:l,to:s,precise:a}=o;if(a)n.push({from:l,to:s,insert:t.getReplacement(o)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:b.announce.of(r),userEvent:"input.replace.all"}),!0});function Ie(e){return e.state.facet(R).createPanel(e)}function Ae(e,t){var n,r,o,l,s;let a=e.selection.main,u=a.empty||a.to>a.from+100?"":e.sliceDoc(a.from,a.to);if(t&&!u)return t;let f=e.facet(R);return new We({search:((n=t===null||t===void 0?void 0:t.literal)!==null&&n!==void 0?n:f.literal)?u:u.replace(/\n/g,"\\n"),caseSensitive:(r=t===null||t===void 0?void 0:t.caseSensitive)!==null&&r!==void 0?r:f.caseSensitive,literal:(o=t===null||t===void 0?void 0:t.literal)!==null&&o!==void 0?o:f.literal,regexp:(l=t===null||t===void 0?void 0:t.regexp)!==null&&l!==void 0?l:f.regexp,wholeWord:(s=t===null||t===void 0?void 0:t.wholeWord)!==null&&s!==void 0?s:f.wholeWord})}function Qt(e){let t=Ui(e,Ie);return t&&t.dom.querySelector("[main-field]")}function jt(e){let t=Qt(e);if(t&&t==e.root.activeElement)t.select()}var de=(e)=>{let t=e.state.field(T,!1);if(t&&t.panel){let n=Qt(e);if(n&&n!=e.root.activeElement){let r=Ae(e.state,t.query.spec);if(r.valid)e.dispatch({effects:_.of(r)});n.focus(),n.select()}}else e.dispatch({effects:[Fe.of(!0),t?_.of(Ae(e.state,t.query.spec)):Z.appendConfig.of(Le)]});return!0},Xt=(e)=>{let t=e.state.field(T,!1);if(!t||!t.panel)return!1;let n=Ui(e,Ie);if(n&&n.dom.contains(e.root.activeElement))e.focus();return e.dispatch({effects:Fe.of(!1)}),!0},Yt=[{key:"Mod-f",run:de,scope:"editor search-panel"},{key:"F3",run:he,shift:fe,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:he,shift:fe,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Xt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:Or},{key:"Mod-Alt-g",run:pr},{key:"Mod-d",run:Mr,preventDefault:!0}];class Zt{constructor(e){this.view=e;let t=this.query=e.state.field(T).query.spec;this.commit=this.commit.bind(this),this.searchField=be("input",{value:t.search,placeholder:x(e,"Find"),"aria-label":x(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=be("input",{value:t.replace,placeholder:x(e,"Replace"),"aria-label":x(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=be("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=be("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=be("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function n(r,o,l){return be("button",{class:"cm-button",name:r,onclick:o,type:"button"},l)}this.dom=be("div",{onkeydown:(r)=>this.keydown(r),class:"cm-search"},[this.searchField,n("next",()=>he(e),[x(e,"next")]),n("prev",()=>fe(e),[x(e,"previous")]),n("select",()=>Rr(e),[x(e,"all")]),be("label",null,[this.caseField,x(e,"match case")]),be("label",null,[this.reField,x(e,"regexp")]),be("label",null,[this.wordField,x(e,"by word")]),...e.state.readOnly?[]:[be("br"),this.replaceField,n("replace",()=>Vt(e),[x(e,"replace")]),n("replaceAll",()=>Fr(e),[x(e,"replace all")])],be("button",{name:"close",onclick:()=>Xt(e),"aria-label":x(e,"close"),type:"button"},["×"])])}commit(){let e=new We({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});if(!e.eq(this.query))this.query=e,this.view.dispatch({effects:_.of(e)})}keydown(e){if(No(this.view,e,"search-panel"))e.preventDefault();else if(e.keyCode==13&&e.target==this.searchField)e.preventDefault(),(e.shiftKey?fe:he)(this.view);else if(e.keyCode==13&&e.target==this.replaceField)e.preventDefault(),Vt(this.view)}update(e){for(let t of e.transactions)for(let n of t.effects)if(n.is(_)&&!n.value.eq(this.query))this.setQuery(n.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(R).top}}function x(e,t){return e.state.phrase(t)}var ne=30,re=/[\s\.,:;?!]/;function Pe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),o=e.state.doc.lineAt(n).to,l=Math.max(r.from,t-ne),s=Math.min(o,n+ne),a=e.state.sliceDoc(l,s);if(l!=r.from){for(let u=0;u<ne;u++)if(!re.test(a[u+1])&&re.test(a[u])){a=a.slice(u);break}}if(s!=o){for(let u=a.length-1;u>a.length-ne;u--)if(!re.test(a[u-1])&&re.test(a[u])){a=a.slice(0,u);break}}return b.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${r.number}.`)}var Ir=b.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Le=[T,Ve.low(Wr),Ir];var Pr=b.theme({"&":{color:"var(--code-fg)",backgroundColor:"var(--code-bg)",height:"100%",fontSize:"var(--code-size, 13px)"},"&.cm-focused":{outline:"none"},".cm-scroller":{fontFamily:"var(--font-mono)",lineHeight:"1.55",overflow:"auto"},".cm-content":{caretColor:"var(--code-fg)",padding:"0.5rem 0"},".cm-line":{padding:"0 0.75rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--code-fg)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"var(--code-selection)"},".cm-activeLine":{backgroundColor:"var(--code-active-line)"},".cm-gutters":{backgroundColor:"var(--code-gutter-bg)",color:"var(--code-gutter)",border:"none",borderRight:"1px solid var(--border)"},".cm-activeLineGutter":{backgroundColor:"var(--code-active-line)",color:"var(--code-fg)"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 0.5rem",minWidth:"2.25rem"},".cm-matchingBracket, .cm-nonmatchingBracket":{backgroundColor:"var(--code-selection)",outline:"1px solid var(--border-strong)"},".cm-searchMatch":{backgroundColor:"var(--warn-soft)",outline:"1px solid var(--warn)"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--accent-soft)",outline:"1px solid var(--accent)"},".cm-panels":{backgroundColor:"var(--surface-2)",color:"var(--text)",borderColor:"var(--border)",fontFamily:"var(--font)"},".cm-panels-top":{borderBottom:"1px solid var(--border)"},".cm-panel.cm-search":{padding:"0.5rem 2rem 0.5rem 0.5rem"},".cm-panel.cm-search input, .cm-panel.cm-search button, .cm-panel.cm-search label":{fontSize:"0.875rem"},".cm-panel.cm-search input[type=text]":{backgroundColor:"var(--surface)",color:"var(--text)",border:"1px solid var(--control-border)",borderRadius:"var(--radius-sm)",padding:"0.25rem 0.5rem"},".cm-panel.cm-search button":{backgroundColor:"var(--surface-3)",color:"var(--text)",border:"1px solid var(--border-strong)",borderRadius:"var(--radius-sm)",backgroundImage:"none",padding:"0.25rem 0.625rem"},".cm-panel.cm-search [name=close]":{color:"var(--muted)"}}),Nr=An.define([{tag:[i.keyword,i.modifier,i.operatorKeyword,i.controlKeyword],color:"var(--code-keyword)"},{tag:[i.string,i.regexp,i.special(i.string),i.inserted],color:"var(--code-string)"},{tag:[i.number,i.bool,i.null,i.atom,i.literal],color:"var(--code-number)"},{tag:[i.comment,i.lineComment,i.blockComment,i.docComment],color:"var(--code-comment)",fontStyle:"italic"},{tag:[i.typeName,i.className,i.namespace,i.tagName,i.standard(i.tagName)],color:"var(--code-type)"},{tag:[i.function(i.variableName),i.function(i.propertyName),i.definition(i.variableName),i.labelName],color:"var(--code-function)"},{tag:[i.meta,i.processingInstruction,i.annotation,i.attributeName,i.propertyName,i.heading],color:"var(--code-meta)"},{tag:i.heading,fontWeight:"bold"},{tag:i.strong,fontWeight:"bold"},{tag:i.emphasis,fontStyle:"italic"},{tag:i.strikethrough,textDecoration:"line-through"},{tag:i.link,color:"var(--code-function)",textDecoration:"underline"},{tag:i.url,color:"var(--code-function)"},{tag:i.invalid,color:"var(--danger)"},{tag:i.deleted,color:"var(--danger)"}]),en=[Pr,Bo(Nr)];var qr={typescript:()=>(p("mp0yw903"),import("./chunk-lang-typescript-mp0yw903.js")),javascript:()=>(p("4kv8s3tk"),import("./chunk-lang-javascript-4kv8s3tk.js")),json:()=>(p("99v80v88"),import("./chunk-lang-json-99v80v88.js")),markdown:()=>(p("gn8he877"),import("./chunk-lang-markdown-gn8he877.js")),css:()=>(p("3h22se37"),import("./chunk-lang-css-3h22se37.js")),html:()=>(p("9rvrmmpg"),import("./chunk-lang-html-9rvrmmpg.js")),python:()=>(p("prsw4p4k"),import("./chunk-lang-python-prsw4p4k.js")),yaml:()=>(p("08749wd5"),import("./chunk-lang-yaml-08749wd5.js")),go:()=>(p("qzgv1161"),import("./chunk-lang-go-qzgv1161.js")),rust:()=>(p("g6xqta16"),import("./chunk-lang-rust-g6xqta16.js")),sql:()=>(p("wz7ca27b"),import("./chunk-lang-sql-wz7ca27b.js")),xml:()=>(p("9htkz2dd"),import("./chunk-lang-xml-9htkz2dd.js")),shell:()=>(p("dmpnzc6w"),import("./chunk-lang-shell-dmpnzc6w.js")),toml:()=>(p("160prtq4"),import("./chunk-lang-toml-160prtq4.js")),dockerfile:()=>(p("y24eejnh"),import("./chunk-lang-dockerfile-y24eejnh.js"))};async function tn(e){if(e==="plain")return;try{return(await qr[e]()).language()}catch(t){console.warn("a language for the editor failed to load",t);return}}function Vr(e){if(typeof e.attachShadow!=="function"||typeof CSSStyleSheet>"u"||!("adoptedStyleSheets"in Document.prototype))return{parent:e,root:void 0};let t=e.shadowRoot??e.attachShadow({mode:"open"}),n=new CSSStyleSheet;return n.replaceSync(":host{display:flex;flex-direction:column;min-height:0}.cm-editor{flex:1;min-height:0}"),t.adoptedStyleSheets=[...t.adoptedStyleSheets,n],{parent:t,root:t}}async function ao(e){let t=new Ut,n=new Ut,r=new Ut,o=await tn(e.language),l=(d)=>[q.readOnly.of(!d),b.editable.of(d)],s={editable:e.editable,wrap:e.wrap,language:o??[]},a,u=(d)=>[Do(),Xo(),Uo(),et(),Lo(),Fo(),Jt(),$t({top:!0}),nt.of(" "),q.phrases.of(e.phrases),en,_t.of([{key:"Mod-s",preventDefault:!0,run:()=>(e.onSave(),!0)},{key:"Escape",run:()=>(e.onEscape(),!0)},Pt,...Yt,...ot,...It]),q.lineSeparator.of(d),t.of(l(s.editable)),n.of(s.wrap?b.lineWrapping:[]),r.of(s.language),b.updateListener.of((m)=>{if(m.docChanged)e.onChange()})],f=Vr(e.parent),h=new b({parent:f.parent,root:f.root,state:q.create({doc:e.text,extensions:u(e.eol)})});return a=h.state.doc,{text:()=>h.state.doc.sliceString(0,void 0,h.state.lineBreak),dirty:()=>a===void 0||!h.state.doc.eq(a),snapshot:()=>h.state.doc,markSaved:(d)=>{a=d??h.state.doc},replace:(d,m)=>{let D=h.scrollDOM.scrollTop;h.setState(q.create({doc:d,extensions:u(m)})),a=h.state.doc,h.scrollDOM.scrollTop=D},setEditable:(d)=>{s.editable=d,h.dispatch({effects:t.reconfigure(l(d))})},setWrap:(d)=>{s.wrap=d,h.dispatch({effects:n.reconfigure(d?b.lineWrapping:[])})},setLanguage:async(d)=>{s.language=await tn(d)??[],h.dispatch({effects:r.reconfigure(s.language)})},undo:()=>{j(h)},redo:()=>{G(h)},find:()=>{de(h)},tab:()=>{te(h)},focus:()=>h.focus(),scrollTop:()=>h.scrollDOM.scrollTop,scrollTo:(d)=>{h.scrollDOM.scrollTop=d},destroy:()=>h.destroy()}}export{ao as createEditor};
@@ -0,0 +1 @@
1
+ import{D}from"./chunk-index-6btdp13p.js";import"./chunk-index-cmzvq3nf.js";export{D as Confirm};
@@ -0,0 +1,37 @@
1
+ import{o,r,t,g,e,n,h,y,l,f,v,m,k,Q,_,oe}from"./chunk-index-24cggw6k.js";import{D}from"./chunk-index-6btdp13p.js";import{ln}from"./chunk-index-2g8xtwqg.js";import{xe}from"./chunk-index-55ps4x5n.js";import{Re}from"./chunk-index-dr0jr7d3.js";import{H}from"./chunk-index-s4a8e4qm.js";import"./chunk-index-cmzvq3nf.js";import{Y}from"./chunk-index-d941ae7c.js";var P=(a,s)=>({method:a,body:JSON.stringify(s)}),U=encodeURIComponent,A={list:()=>h("connectors/managed"),add:(a)=>h("connectors/managed",P("POST",a)),describe:(a,s)=>h(`connectors/managed/${U(a)}`,P("PATCH",{description:s})),remove:(a)=>h(`connectors/managed/${U(a)}`,{method:"DELETE"}),grants:()=>h("connectors/grants"),channels:()=>h("connectors/grants/channels"),authorize:(a)=>h("connectors/grants",P("POST",a)),describeGrant:(a,s,i)=>h(`connectors/grants/${U(a)}/${U(s)}`,P("PATCH",i)),revoke:(a,s)=>h(`connectors/grants/${U(a)}/${U(s)}`,{method:"DELETE"}),rotate:(a)=>h(`connectors/grants/${U(a)}/rotate`,{method:"POST"})};var z={name:"",url:"",description:"",header:"",token:""};function j(a){let[s,i]=r(z),[d,b]=r(),[C,w]=r(!1),p=(c)=>(M)=>i((x)=>({...x,[c]:M}));return n("form",{className:"stack",onSubmit:async(c)=>{c.preventDefault(),w(!0),b(void 0);try{let{connector:M,skipped:x}=await A.add({name:s.name,url:s.url,description:s.description,...s.header.trim()?{header:s.header}:{},...s.token?{token:s.token}:{}});i(z),f(x.length?t("Added {name}. Left out tools whose names are too long: {tools}",{name:M.name,tools:x.join(", ")}):t("Added {name}.",{name:M.name})),a.onDone()}catch(M){b(l(M))}finally{w(!1)}},autoComplete:"off",children:[n("label",{children:[t("Name"),e("input",{value:s.name,maxLength:12,placeholder:"notion",required:!0,onChange:(c)=>p("name")(c.target.value)}),e("span",{className:"meta",children:t("Lowercase letters, digits and -, up to 12; it becomes the prefix of its tool names.")})]}),n("label",{children:[t("MCP URL"),e("input",{type:"url",value:s.url,maxLength:500,placeholder:"https://mcp.example.com/mcp",required:!0,onChange:(c)=>p("url")(c.target.value)}),e("span",{className:"meta",children:t("A Streamable HTTP endpoint; one ending in /sse uses SSE. A credential may be part of the URL.")})]}),n("label",{children:[t("Purpose"),e("textarea",{value:s.description,maxLength:1000,rows:3,required:!0,onChange:(c)=>p("description")(c.target.value)}),e("span",{className:"meta",children:t("The knights decide from this text when to use the connector.")})]}),n("div",{className:"form-row",children:[n("label",{children:[t("Header name (optional)"),e("input",{value:s.header,maxLength:100,placeholder:"X-API-Key",onChange:(c)=>p("header")(c.target.value)}),e("span",{className:"meta",children:t("Leave empty to send Authorization: Bearer <token>.")})]}),n("label",{children:[t("Token (optional)"),e("input",{type:"password",value:s.token,maxLength:4000,autoComplete:"new-password",onChange:(c)=>p("token")(c.target.value)}),e("span",{className:"meta",children:t("Stored encrypted by the gateway and never shown again; leave empty if the credential is in the URL.")})]})]}),d?e(m,{message:d}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:C,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:C,children:t("Add connector")})]})]})}function J(a){let[s,i]=r(a.connector.description),[d,b]=r(),[C,w]=r(!1);return n("form",{className:"stack",onSubmit:async(N)=>{N.preventDefault(),w(!0),b(void 0);try{await A.describe(a.connector.name,s),f(t("Purpose updated.")),a.onDone()}catch(c){b(l(c))}finally{w(!1)}},children:[n("label",{children:[t("Purpose"),e("textarea",{value:s,maxLength:1000,rows:4,required:!0,onChange:(N)=>i(N.target.value)}),e("span",{className:"meta",children:t("From the next message on, the knights follow the new purpose.")})]}),d?e(m,{message:d}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:C,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:C,children:t("Save")})]})]})}function F(){let{data:a,error:s,reload:i}=ln(()=>A.list()),[d,b]=r(!1),[C,w]=r(),[p,N]=r();return n("section",{className:"stack","aria-labelledby":"connectors-mine",children:[n("div",{className:"card-head",children:[e("h3",{id:"connectors-mine",children:t("MCP connectors")}),e("button",{type:"button",onClick:()=>b(!0),children:t("Add connector")})]}),s?e(m,{message:s}):null,!a&&!s?e(v,{}):null,a?.length===0?e(k,{children:t("No connectors yet.")}):null,a?.map((c)=>n("article",{className:"card connector-card",children:[n("div",{className:"card-head",children:[e("strong",{children:c.name}),c.tools===void 0?e(Q,{tone:"warn",children:t("Tools unreadable")}):e(Q,{children:t("{count} tools",{count:c.tools})})]}),e("p",{className:"meta connector-url",children:c.displayUrl??t("(the URL cannot be parsed)")}),e("p",{children:c.description}),n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>w(c),children:t("Edit purpose")}),e("button",{type:"button",className:"danger",onClick:()=>N(c),children:t("Remove")})]})]},c.name)),e(H,{open:d,title:t("Add an MCP connector"),onClose:()=>b(!1),children:d?e(j,{onCancel:()=>b(!1),onDone:()=>{b(!1),i()}}):null}),e(H,{open:C!==void 0,title:t("Edit purpose of {name}",{name:C?.name??""}),onClose:()=>w(void 0),children:C?e(J,{connector:C,onCancel:()=>w(void 0),onDone:()=>{w(void 0),i()}},C.name):null}),e(D,{open:p!==void 0,title:t("Remove connector"),confirmLabel:t("Remove"),tone:"danger",onClose:()=>N(void 0),onConfirm:async()=>{if(!p)return;await A.remove(p.name),f(t("Removed {name}.",{name:p.name})),i()},children:e("p",{children:t("Remove {name} and its token? From the next message on, the knights no longer use it.",{name:p?.name??""})})})]})}var T=" new",K=(a,s)=>a.map((i)=>s.find((d)=>d.id===i)?.label??i).join(", ");function X(a){return e(H,{open:a.shown!==void 0,title:t("MCP URL of {bundle}",{bundle:a.shown?.bundle??""}),onClose:a.onClose,children:n("div",{className:"stack",children:[e("p",{children:t("This URL is the access credential and is shown only this once. Add a remote MCP server in the AI client and paste it; no separate token is needed.")}),e("input",{readOnly:!0,"aria-label":t("MCP URL"),className:"mcp-url",value:a.shown?.url??"",onFocus:(s)=>s.target.select()}),n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>{navigator.clipboard?.writeText(a.shown?.url??"").then(()=>f(t("Copied")))},children:t("Copy")}),e("button",{type:"button",onClick:a.onClose,children:t("Done")})]})]})})}function Z(a){return n("fieldset",{className:"field",children:[e("legend",{children:t("Allowed operations")}),e("ul",{className:"menu",children:a.operations.map((s)=>{let i=a.chosen.includes(s.id);return e("li",{children:n("label",{className:"menu-item menu-toggle",children:[e("input",{type:"checkbox",checked:i,onChange:()=>a.onChange(i?a.chosen.filter((d)=>d!==s.id):[...a.chosen,s.id])}),e("span",{className:"menu-text",children:e("strong",{children:s.label})})]})},s.id)})})]})}function ee(a){let{view:s}=a,[i,d]=r(),[b,C]=r(s.bundles[0]?.name??T),[w,p]=r(""),[N,c]=r(""),[M,x]=r([]),[L,R]=r(""),[E,W]=r(""),[V,I]=r(),[B,O]=r(!1);return o(()=>{A.channels().then((u)=>{d(u),c((S)=>S||u[0]?.id||"")},(u)=>I(l(u)))},[]),n("form",{className:"stack",onSubmit:async(u)=>{u.preventDefault(),O(!0),I(void 0);try{let S=await A.authorize({bundle:b===T?w:b,channelId:N,operations:M,...L.trim()?{displayName:L}:{},...E.trim()?{description:E}:{}});f(t("Authorized the channel in {bundle}.",{bundle:S.bundle})),a.onDone(S.url?{bundle:S.bundle,url:S.url}:void 0)}catch(S){I(l(S))}finally{O(!1)}},children:[n("label",{htmlFor:"mcp-bundle",children:[t("Bundle"),n(Re,{id:"mcp-bundle",value:b,onChange:(u)=>C(u.target.value),children:[s.bundles.map((u)=>e("option",{value:u.name,children:u.name},u.name)),e("option",{value:T,children:t("New bundle…")})]})]}),b===T?n("label",{children:[t("New bundle name"),e("input",{value:w,maxLength:80,required:!0,onChange:(u)=>p(u.target.value)}),e("span",{className:"meta",children:t("Channels in one bundle share one MCP URL.")})]}):null,n("label",{htmlFor:"mcp-channel",children:[t("Channel"),i===void 0&&!V?e(v,{}):e(Re,{id:"mcp-channel",value:N,required:!0,onChange:(u)=>c(u.target.value),children:(i??[]).map((u)=>e("option",{value:u.id,children:`${u.guild} › #${u.name}`},u.id))})]}),e(Z,{operations:s.operations,chosen:M,onChange:x}),n("label",{children:[t("Name outside AI clients see (optional)"),e("input",{value:L,maxLength:100,onChange:(u)=>R(u.target.value)})]}),n("label",{children:[t("Purpose (optional)"),e("textarea",{value:E,maxLength:1000,rows:2,onChange:(u)=>W(u.target.value)})]}),V?e(m,{message:V}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:B,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:B||!N||M.length===0,children:t("Authorize")})]})]})}function ne(a){let{bundle:s,grant:i}=a.target,[d,b]=r(i.displayName),[C,w]=r(i.description),[p,N]=r(),[c,M]=r(!1);return n("form",{className:"stack",onSubmit:async(L)=>{L.preventDefault(),M(!0),N(void 0);try{await A.describeGrant(s,i.channelId,{displayName:d,description:C}),f(t("Updated what outside AI clients see.")),a.onDone()}catch(R){N(l(R))}finally{M(!1)}},children:[n("label",{children:[t("Name outside AI clients see"),e("input",{value:d,maxLength:100,required:!0,onChange:(L)=>b(L.target.value)})]}),n("label",{children:[t("Purpose"),e("textarea",{value:C,maxLength:1000,rows:3,onChange:(L)=>w(L.target.value)}),e("span",{className:"meta",children:t("The channel's name and topic on Discord stay as they are.")})]}),p?e(m,{message:p}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",disabled:c,onClick:a.onCancel,children:t("Cancel")}),e("button",{type:"submit",disabled:c,children:t("Save")})]})]})}function te(a){let{grant:s}=a,{timeZone:i}=_();return n("li",{className:"grant",children:[n("div",{className:"card-head",children:[e("strong",{children:s.displayName}),s.visible?null:e(Q,{tone:"warn",children:t("Not visible now")})]}),e("p",{className:"meta",children:`${s.guildName} › #${s.channelName}`}),e("p",{children:s.description||t("No purpose set.")}),e("p",{className:"meta",children:t("Allowed: {operations}",{operations:K(s.operations,a.operations)})}),s.audit.length?n("details",{children:[e("summary",{children:t("Recent activity")}),e("ul",{className:"audit",children:s.audit.map((d)=>n("li",{children:[e("time",{dateTime:d.at,children:oe(d.at,i)})," ",e("code",{children:d.tool})," ",d.status]},`${d.at}-${d.tool}`))})]}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:a.onDescribe,children:t("Rename / purpose")}),e("button",{type:"button",className:"danger",onClick:a.onRevoke,children:t("Revoke")})]})]})}function G(){let{data:a,error:s,reload:i}=ln(()=>A.grants()),[d,b]=r(!1),[C,w]=r(),[p,N]=r(),[c,M]=r(),[x,L]=r();return n("section",{className:"stack","aria-labelledby":"mcp-grants",children:[n("div",{className:"card-head",children:[n("div",{children:[e("h3",{id:"mcp-grants",children:t("MCP authorizations")}),e("p",{className:"hint",children:t("Which channels outside AI clients may use through each bundle's MCP URL, and with which operations.")})]}),e("button",{type:"button",disabled:!a,onClick:()=>b(!0),children:t("Authorize a channel")})]}),s?e(m,{message:s}):null,!a&&!s?e(v,{}):null,a?.bundles.length===0?e(k,{children:t("There are no authorizations yet.")}):null,a?.bundles.map((R)=>n("article",{className:"card bundle-card",children:[n("div",{className:"card-head",children:[e("strong",{children:R.name}),e("button",{type:"button",className:"secondary",onClick:()=>M(R.name),children:t("New URL")})]}),R.grants.length===0?e(k,{children:t("No channels")}):null,e("ul",{className:"grants",children:R.grants.map((E)=>e(te,{bundle:R.name,grant:E,operations:a.operations,onDescribe:()=>w({bundle:R.name,grant:E}),onRevoke:()=>N({bundle:R.name,grant:E})},E.channelId))})]},R.name)),e(H,{open:d,title:t("Authorize a channel"),onClose:()=>b(!1),children:d&&a?e(ee,{view:a,onCancel:()=>b(!1),onDone:(R)=>{if(b(!1),R)L(R);i()}}):null}),e(H,{open:C!==void 0,title:t("What outside AI clients see"),onClose:()=>w(void 0),children:C?e(ne,{target:C,onCancel:()=>w(void 0),onDone:()=>{w(void 0),i()}},`${C.bundle}/${C.grant.channelId}`):null}),e(D,{open:p!==void 0,title:t("Revoke the channel"),confirmLabel:t("Revoke"),tone:"danger",onClose:()=>N(void 0),onConfirm:async()=>{if(!p)return;await A.revoke(p.bundle,p.grant.channelId),f(t("Revoked.")),i()},children:e("p",{children:t("Remove {channel} from bundle {bundle}? Its other channels and its URL keep working; operations already sent are not undone.",{channel:p?.grant.displayName??"",bundle:p?.bundle??""})})}),e(D,{open:c!==void 0,title:t("Replace the MCP URL"),confirmLabel:t("Replace URL"),tone:"danger",onClose:()=>M(void 0),onConfirm:async()=>{if(!c)return;let{bundle:R,url:E}=await A.rotate(c);if(E)L({bundle:R,url:E});i()},children:e("p",{children:t("Replace the URL of bundle {bundle}? The old URL stops working at once; every channel setting stays.",{bundle:c??""})})}),e(X,{...x?{shown:x}:{},onClose:()=>L(void 0)})]})}var ae=`
2
+ /* The Connectors page's management: an address never breaks the layout, a bundle's channels sit as rows. */
3
+ .connector-url,
4
+ .connectors-page .grant .meta {
5
+ overflow-wrap: anywhere;
6
+ }
7
+
8
+ .connectors-page .grants,
9
+ .connectors-page .audit {
10
+ display: flex;
11
+ flex-direction: column;
12
+ margin: 0;
13
+ padding: 0;
14
+ list-style: none;
15
+ }
16
+
17
+ .connectors-page .grant {
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: var(--space-1);
21
+ padding: var(--space-3) 0;
22
+ border-top: 1px solid var(--border);
23
+ }
24
+
25
+ .connectors-page .grant p {
26
+ margin: 0;
27
+ }
28
+
29
+ .connectors-page .audit {
30
+ gap: var(--space-1);
31
+ font-size: var(--text-sm);
32
+ }
33
+
34
+ .mcp-url {
35
+ font-family: var(--font-mono);
36
+ }
37
+ `,q=()=>Y("connectors",ae);function _e(){q();let{connectorAdminUrl:a,connectorParts:s}=_(),i=s??{gateways:!0};return n("section",{className:"stack connectors-page",children:[n("header",{className:"page-head",children:[e("h1",{children:t("Connectors")}),a?e("a",{href:a,target:"_blank",rel:"noreferrer",children:t("Open connector admin")}):null]}),e("p",{className:"hint",children:t("Upstream MCP gateways and virtual servers used by the knights.")}),i.manage?e(F,{}):null,i.grants?e(G,{}):null,i.gateways?e(se,{}):null]})}function se(){let{data:a,error:s}=xe(()=>y.connectors(),"connectors");return n("section",{className:"stack",children:[s?e(m,{message:s}):null,!a&&!s?e(v,{}):null,a?n(g,{children:[e("h3",{children:t("Upstream gateways")}),a.gateways.length===0?e(k,{children:t("No gateways.")}):null,a.gateways.map((i)=>e("article",{className:"card",children:n("div",{className:"card-head",children:[e("strong",{children:i.name}),e(Q,{children:i.enabled?t("Enabled"):t("Disabled")}),e(Q,{tone:i.reachable?"plain":"warn",children:i.reachable?t("Reachable"):t("Unreachable")}),e(Q,{children:t("{count} tools",{count:i.tools})})]})},i.name)),e("h3",{children:t("Virtual servers")}),a.servers.length===0?e(k,{children:t("No virtual servers.")}):null,a.servers.map((i)=>n("article",{className:"card",children:[n("div",{className:"card-head",children:[e("strong",{children:i.name}),e(Q,{children:t("{count} tools",{count:i.tools.length})})]}),n("p",{children:[t("Used by"),": ",i.usedBy.join(", ")||t("None")]}),n("details",{children:[e("summary",{children:t("Tool list")}),e("ul",{children:i.tools.map((d)=>e("li",{children:d},d))})]})]},i.name))]}):null]})}export{_e as ConnectorsPage};
@@ -0,0 +1 @@
1
+ import{t,u,g,e,n,S,y,v,m,k,Q,_,we,oe,Pe,gn,ki,te}from"./chunk-index-24cggw6k.js";import{xe}from"./chunk-index-55ps4x5n.js";var h=[{kind:"owner",title:u("Owner channels"),note:u("Direct messages and channels where the owner talks to a knight.")},{kind:"agent",title:u("Bot server channels"),note:u("The bot server's one-to-one channels.")},{kind:"group",title:u("Group channels"),note:u("The bot server's group channels.")},{kind:"outside",title:u("Outside AI clients"),note:u("Conversations an outside AI client holds over MCP.")},{kind:"plugin",title:u("Plugin conversations"),note:u("Conversations a plugin runs, such as a web chat, as the host recorded them.")}];function Z(){let{timeZone:o}=_(),{now:i}=te(),{data:a,error:s}=xe(()=>y.conversations(),"conversations"),c=a?.conversations;if(!c)return s?e(m,{message:s}):e(v,{});return n(g,{children:[s?e(m,{message:s}):null,h.map((r)=>{let d=c.filter((l)=>l.kind===r.kind);return n("section",{className:"stack",children:[e("h2",{children:t(r.title)}),e("p",{className:"hint",children:t(r.note)}),d.length===0?e(k,{children:t("None stored.")}):null,d.map((l)=>e(p,{item:l,now:i,timeZone:o},l.key))]},r.kind)})]})}function p(o){let{item:i}=o,a=gn(i.channel,i.id),s=ki(i);return n("a",{className:"card card-link",href:S("conversations",i.key),children:[n("div",{className:"card-head",children:[e("strong",{children:s}),i.busy>0?e(Q,{tone:"busy",children:t("running")}):null,i.liveBytes===0?e(Q,{children:t("archived only")}):null]}),n("p",{className:"meta",children:[(i.kind==="outside"||i.kind==="plugin")&&i.startedAt?`${t("Started")} ${oe(i.startedAt,o.timeZone)} · `:a.detail?`${a.detail} · `:"",i.principal?`${i.visibility==="private"?t("Private to {name}",{name:i.principal.name}):t("Shared · {name}",{name:i.principal.name})} · `:"",t("Last active")," ",we(i.lastActive,o.now,o.timeZone)," ·"," ",Pe(i.liveBytes)," ·"," ",t("{count} archived",{count:i.archives})]})]})}export{Z as ConversationsPage};
@@ -0,0 +1,2 @@
1
+ import{o,L,C,r,t,g,e,n,X,l,f,m,Ue}from"./chunk-index-24cggw6k.js";import"./chunk-index-rjs1can6.js";import"./chunk-index-ze9p4npm.js";import"./chunk-index-ce7hsda9.js";import"./chunk-index-nr275sa7.js";import{fi}from"./chunk-index-c8gm1crh.js";import{Ft}from"./chunk-index-3tksdmx7.js";import{R}from"./chunk-index-cmzvq3nf.js";import{tn,Hn,go,Ai,As,$s,Ns,Ls,Xs}from"./chunk-index-wsv46y9p.js";import{re,Ne}from"./chunk-index-wgrx2ybn.js";var Q=(a)=>X("table",a.name,{replace:!0});function W(a){let{view:i}=a;return e("li",{children:n("button",{type:"button",className:"menu-item council-row","aria-current":a.current||void 0,onClick:a.onPick,children:[e(Ue,{view:i,size:40}),n("span",{className:"menu-text",children:[e("strong",{children:i.displayName}),e("span",{className:"meta",children:t("{count} knights",{count:i.members?.length??0})})]})]})})}function Y(a){let{council:i}=a,w=Ai(),d=fi(),[v,A]=r([]),[y,M]=r(),[B,S]=r(""),[O,I]=r(!1),[P,j]=r(""),[b,k]=r(!1),[z,G]=r(),E=L(),x=i?.name,D=i?.members?.join(`
2
+ `);o(()=>{if(!a.open)return;if(G(void 0),I(i===void 0),j(""),k(!1),M(void 0),S(""),A(i?[...i.members??[]]:As(d)),!x)return;let s=!0;return re.group(x).then((c)=>{if(!s)return;M(c),S(c.host)},()=>{return}),()=>{s=!1}},[a.open,x,D]);let H=C(()=>new Set(d.map((s)=>s.name)),[d]),U=d.find((s)=>s.home)?.name,u=Ns(v,(s)=>H.has(s)),h=Ls(u,B||void 0,U),_=(s)=>d.find((c)=>c.name===s)?.displayName??s,F=u.length>=tn,N=u.length>=Hn,q=i===void 0||u.join(",")!==(i.members??[]).join(",")||y!==void 0&&h!==y.host,T=async(s)=>{k(!0),G(void 0);try{await s(),await Ne()}catch(c){return G(l(c)),k(!1),!1}return k(!1),!0},J=async()=>{if(!i)return;if(!await T(async()=>{await re.updateGroup(i.name,{...u.join(",")!==(i.members??[]).join(",")?{members:u}:{},...y&&h!==y.host?{host:h}:{}})}))return;f(t("Saved.")),a.onClose()},K=async()=>{let s=P.trim();if(s==="")return;let c=new Set([...d.map((V)=>V.name),...w.map((V)=>V.name)]),p;if(!await T(async()=>{p=await re.createGroup({name:Xs(s,c),displayName:s,members:u,host:h})})||!p)return;go(p.room),a.go({key:p.room,name:p.name}),f(t("Made {name}.",{name:p.displayName})),a.onClose()};return n("div",{className:"stack council-sheet",children:[w.length>0?n("section",{className:"stack","aria-label":t("Councils"),children:[e("h3",{children:t("Councils")}),e("ul",{className:"menu",children:w.map((s)=>e(W,{view:s,current:s.key===i?.key,onPick:()=>{go(s.key),a.go(s),a.onClose()}},s.key))})]}):null,n("fieldset",{className:"field council-pick",children:[e("legend",{children:i?t("Edit this council"):t("Pick who sits")}),n("span",{className:"meta council-count","aria-live":"polite",children:[t("{count} of {max} picked",{count:u.length,max:tn}),F?` · ${t("At most {max} knights",{max:tn})}`:""]}),e("ul",{className:"menu",children:d.map((s)=>{let c=v.includes(s.name);return e("li",{children:n("label",{className:"menu-item menu-toggle seat-row",children:[e("input",{type:"checkbox",checked:c,disabled:!c&&F,onChange:()=>A($s(v,s.name,tn))}),e(Ue,{view:s,size:32}),e("span",{className:"menu-text",children:e("strong",{children:s.displayName})})]})},s.key)})})]}),N?e(Ft,{label:t("Host"),value:h,onChange:S,options:u.map((s)=>({value:s,label:_(s)}))}):e("span",{className:"meta",children:t("A council needs at least {min} knights.",{min:Hn})}),O?n("label",{htmlFor:E,children:[t("Council name"),e("input",{id:E,value:P,autoComplete:"off",onChange:(s)=>j(s.target.value)})]}):null,z?e(m,{message:z}):null,e("div",{className:"actions",children:i&&!O?n(g,{children:[e("button",{type:"button",className:"secondary",disabled:!N||b,onClick:()=>I(!0),children:t("Save as a new council")}),e("button",{type:"button",disabled:!N||!q||b,onClick:J,children:b?t("Saving…"):t("Done")})]}):e("button",{type:"button",disabled:!N||P.trim()===""||b,onClick:K,children:b?t("Saving…"):i?t("Save as a new council"):t("Make council")})})]})}function fe(a){return e(R,{open:a.open,title:t("Council"),onClose:a.onClose,size:"default",children:e(Y,{open:a.open,council:a.council,onClose:a.onClose,go:a.go??Q})})}export{fe as CouncilSheet};
@@ -0,0 +1 @@
1
+ import{Bi,Fi,Qr}from"./chunk-index-c8gm1crh.js";import"./chunk-index-ce7hsda9.js";import"./chunk-index-ze9p4npm.js";import"./chunk-index-cmzvq3nf.js";import"./chunk-index-rjs1can6.js";import"./chunk-index-nr275sa7.js";export{Bi as CouncilChip,Qr as CouncilView,Fi as useCouncilSheet};
@@ -1 +1 @@
1
- import{Ir}from"./chunk-index-cn49mawx.js";import{kr}from"./chunk-index-sdcpf5dp.js";import{hs,ms,to,no,gs,Os}from"./chunk-index-h9ccz1r3.js";var re=Ir,ie=(s)=>{for(let n=s;n;n=n.parentElement){let{overflowY:a}=getComputedStyle(n);if((a==="auto"||a==="scroll")&&n.scrollHeight>n.clientHeight)return n}return document.scrollingElement??document.documentElement};function de(s){let{item:n,root:a,key:f,mode:C}=s,m=ie(a),O=m===document.scrollingElement||m===document.documentElement,A=()=>O?0:m.getBoundingClientRect().top,j=()=>O?window.innerHeight:m.clientHeight,x=(e)=>e-A()+m.scrollTop,c=(e)=>{let t=e.getBoundingClientRect();return{top:x(t.top),height:t.height}},u=document.createElement("div");u.className="drop-line",u.setAttribute("aria-hidden","true");let z=[],P=[],v=[],g=[],R=[],B={top:0,bottom:0},D=()=>{let e=[...a.querySelectorAll("[data-drop-item], [data-folder-block]")].map((t)=>[t,t.style.transform]);for(let[t]of e)t.style.removeProperty("transform");try{G()}finally{for(let[t,r]of e)if(r)t.style.transform=r}},G=()=>{if(C==="room"){P=[...a.querySelectorAll("[data-drop-zone]")],z=P.map((t)=>{let{top:r,height:T}=c(t);return{id:t.dataset.zoneId??"",kind:t.dataset.dropZone,...t.dataset.folder?{folder:t.dataset.folder}:{},top:r,bottom:r+T,items:t.dataset.collapsed===void 0?[...t.querySelectorAll("[data-drop-item]")].map((o)=>({key:o.dataset.key??"",...c(o)})):[]}});return}v=[...a.querySelectorAll(":scope > [data-folder-block]")],g=v.map((t)=>({key:t.dataset.key??"",...c(t)})),R=v.map((t)=>({key:t.dataset.key??"",...c(t.querySelector("[data-folder-head]")??t)}));let e=c(a);B={top:e.top,bottom:e.top+e.height}};kr(!0);let J=n.getBoundingClientRect().top;n.setAttribute("data-lifted",""),a.setAttribute("data-reordering","");let F=n.getBoundingClientRect().top-J;if(F)m.scrollTop+=F;D();let Q=x(s.y),I={x:0,y:s.y},Z=!1,p=0,h,d,q={type:"cancel"};try{n.setPointerCapture(s.pointerId)}catch{}let _=()=>{p=0;let e=x(I.y),t=e-Q;if(Math.abs(t)>re)Z=!0;n.style.transform=`translate3d(0, ${t}px, 0)`;let r;if(C==="room"){let o=hs(z,f,e);q=o?{type:"room",drop:o}:{type:"cancel"};let H=o?z.indexOf(o.zone):-1;r=P[H];let y=r?.contains(n)??!1,E=o?.zone.kind!=="rest";if(!E&&y)r=void 0;let i=o&&E?o.zone.items:[],M=y?[...r.querySelectorAll("[data-drop-item]")]:[],U=i.findIndex((l)=>l.key===f),ee=o?no(i.map((l)=>l.key),f,o.before):0,te=i.length>1?Math.max(0,(i[1]?.top??0)-(i[0]?.top??0)-(i[0]?.height??0)):0,X=y&&U>=0?to(i,U,ee,te):[];for(let l of document.querySelectorAll("[data-drop-item]:not([data-lifted])"))l.style.removeProperty("transform");if(M.forEach((l,k)=>{if(X[k])l.style.transform=`translate3d(0, ${X[k]}px, 0)`}),r&&o&&!y&&E){let l=o.before===null?void 0:o.zone.items.find((ne)=>ne.key===o.before),k=c(r).top,oe=l?l.top-k:o.zone.items.length?c(r).height:0;u.style.top=`${oe}px`,r.append(u)}else u.remove();if(o?.zone.kind==="folder"&&o.zone.items.length===0&&r?.dataset.collapsed!==void 0){if(d?.zone!==o.zone.id){if(d)clearTimeout(d.timer);let l=o.zone.folder??"";d={zone:o.zone.id,timer:setTimeout(()=>{s.open(l),requestAnimationFrame(()=>requestAnimationFrame(()=>{D(),w()}))},Os)}}}else if(d)clearTimeout(d.timer),d=void 0}else{let o=ms(R,B,f,e);q=o?{type:"folder",before:o.before}:{type:"cancel"};let H=g.findIndex((i)=>i.key===f),y=o?no(g.map((i)=>i.key),f,o.before):H,E=to(g,H,y,12);v.forEach((i,M)=>{if(i!==n)i.style.transform=E[M]?`translate3d(0, ${E[M]}px, 0)`:""})}if(r!==h)h?.removeAttribute("data-drop-target"),r?.setAttribute("data-drop-target",""),h=r;let T=gs(I.y,A(),A()+j());if(T)m.scrollTop+=T,w()},w=()=>{if(!p)p=requestAnimationFrame(_)},L=(e)=>{W(),s.done(e)},S=(e)=>e.pointerId===s.pointerId,K=(e)=>{if(!S(e))return;e.stopPropagation(),e.preventDefault(),I={x:e.clientX,y:e.clientY},w()},N=(e)=>{if(!S(e))return;if(e.stopPropagation(),p)cancelAnimationFrame(p),_();L(Z?q:{type:"tap"})},V=(e)=>{if(S(e))L({type:"cancel"})},Y=(e)=>{if(e.key!=="Escape")return;e.preventDefault(),e.stopPropagation(),L({type:"cancel"})},b=(e)=>e.preventDefault();function W(){if(kr(!1),window.removeEventListener("pointermove",K,!0),window.removeEventListener("pointerup",N,!0),window.removeEventListener("pointercancel",V,!0),window.removeEventListener("keydown",Y,!0),window.removeEventListener("touchmove",b,!0),window.removeEventListener("contextmenu",b,!0),p)cancelAnimationFrame(p);if(d)clearTimeout(d.timer);h?.removeAttribute("data-drop-target"),u.remove(),n.removeAttribute("data-lifted"),n.style.removeProperty("transform"),a.removeAttribute("data-reordering");for(let e of a.querySelectorAll("[data-drop-item], [data-folder-block]"))e.style.removeProperty("transform");try{n.releasePointerCapture(s.pointerId)}catch{}}return window.addEventListener("pointermove",K,!0),window.addEventListener("pointerup",N,!0),window.addEventListener("pointercancel",V,!0),window.addEventListener("keydown",Y,!0),window.addEventListener("touchmove",b,{capture:!0,passive:!1}),window.addEventListener("contextmenu",b,!0),w(),()=>L({type:"cancel"})}export{de as lift};
1
+ import{Yr}from"./chunk-index-24cggw6k.js";import{zr}from"./chunk-index-d74tpnkd.js";import{ws,_s,fo,ho,Ts,Ps}from"./chunk-index-rgdaec7y.js";var re=Yr,ie=(s)=>{for(let n=s;n;n=n.parentElement){let{overflowY:a}=getComputedStyle(n);if((a==="auto"||a==="scroll")&&n.scrollHeight>n.clientHeight)return n}return document.scrollingElement??document.documentElement};function de(s){let{item:n,root:a,key:f,mode:C}=s,m=ie(a),O=m===document.scrollingElement||m===document.documentElement,A=()=>O?0:m.getBoundingClientRect().top,j=()=>O?window.innerHeight:m.clientHeight,x=(e)=>e-A()+m.scrollTop,c=(e)=>{let t=e.getBoundingClientRect();return{top:x(t.top),height:t.height}},u=document.createElement("div");u.className="drop-line",u.setAttribute("aria-hidden","true");let z=[],P=[],v=[],g=[],R=[],B={top:0,bottom:0},D=()=>{let e=[...a.querySelectorAll("[data-drop-item], [data-folder-block]")].map((t)=>[t,t.style.transform]);for(let[t]of e)t.style.removeProperty("transform");try{G()}finally{for(let[t,r]of e)if(r)t.style.transform=r}},G=()=>{if(C==="room"){P=[...a.querySelectorAll("[data-drop-zone]")],z=P.map((t)=>{let{top:r,height:T}=c(t);return{id:t.dataset.zoneId??"",kind:t.dataset.dropZone,...t.dataset.folder?{folder:t.dataset.folder}:{},top:r,bottom:r+T,items:t.dataset.collapsed===void 0?[...t.querySelectorAll("[data-drop-item]")].map((o)=>({key:o.dataset.key??"",...c(o)})):[]}});return}v=[...a.querySelectorAll(":scope > [data-folder-block]")],g=v.map((t)=>({key:t.dataset.key??"",...c(t)})),R=v.map((t)=>({key:t.dataset.key??"",...c(t.querySelector("[data-folder-head]")??t)}));let e=c(a);B={top:e.top,bottom:e.top+e.height}};zr(!0);let J=n.getBoundingClientRect().top;n.setAttribute("data-lifted",""),a.setAttribute("data-reordering","");let F=n.getBoundingClientRect().top-J;if(F)m.scrollTop+=F;D();let Q=x(s.y),I={x:0,y:s.y},Z=!1,p=0,h,d,q={type:"cancel"};try{n.setPointerCapture(s.pointerId)}catch{}let _=()=>{p=0;let e=x(I.y),t=e-Q;if(Math.abs(t)>re)Z=!0;n.style.transform=`translate3d(0, ${t}px, 0)`;let r;if(C==="room"){let o=ws(z,f,e);q=o?{type:"room",drop:o}:{type:"cancel"};let H=o?z.indexOf(o.zone):-1;r=P[H];let y=r?.contains(n)??!1,E=o?.zone.kind!=="rest";if(!E&&y)r=void 0;let i=o&&E?o.zone.items:[],M=y?[...r.querySelectorAll("[data-drop-item]")]:[],U=i.findIndex((l)=>l.key===f),ee=o?ho(i.map((l)=>l.key),f,o.before):0,te=i.length>1?Math.max(0,(i[1]?.top??0)-(i[0]?.top??0)-(i[0]?.height??0)):0,X=y&&U>=0?fo(i,U,ee,te):[];for(let l of document.querySelectorAll("[data-drop-item]:not([data-lifted])"))l.style.removeProperty("transform");if(M.forEach((l,k)=>{if(X[k])l.style.transform=`translate3d(0, ${X[k]}px, 0)`}),r&&o&&!y&&E){let l=o.before===null?void 0:o.zone.items.find((ne)=>ne.key===o.before),k=c(r).top,oe=l?l.top-k:o.zone.items.length?c(r).height:0;u.style.top=`${oe}px`,r.append(u)}else u.remove();if(o?.zone.kind==="folder"&&o.zone.items.length===0&&r?.dataset.collapsed!==void 0){if(d?.zone!==o.zone.id){if(d)clearTimeout(d.timer);let l=o.zone.folder??"";d={zone:o.zone.id,timer:setTimeout(()=>{s.open(l),requestAnimationFrame(()=>requestAnimationFrame(()=>{D(),w()}))},Ps)}}}else if(d)clearTimeout(d.timer),d=void 0}else{let o=_s(R,B,f,e);q=o?{type:"folder",before:o.before}:{type:"cancel"};let H=g.findIndex((i)=>i.key===f),y=o?ho(g.map((i)=>i.key),f,o.before):H,E=fo(g,H,y,12);v.forEach((i,M)=>{if(i!==n)i.style.transform=E[M]?`translate3d(0, ${E[M]}px, 0)`:""})}if(r!==h)h?.removeAttribute("data-drop-target"),r?.setAttribute("data-drop-target",""),h=r;let T=Ts(I.y,A(),A()+j());if(T)m.scrollTop+=T,w()},w=()=>{if(!p)p=requestAnimationFrame(_)},L=(e)=>{W(),s.done(e)},S=(e)=>e.pointerId===s.pointerId,K=(e)=>{if(!S(e))return;e.stopPropagation(),e.preventDefault(),I={x:e.clientX,y:e.clientY},w()},N=(e)=>{if(!S(e))return;if(e.stopPropagation(),p)cancelAnimationFrame(p),_();L(Z?q:{type:"tap"})},V=(e)=>{if(S(e))L({type:"cancel"})},Y=(e)=>{if(e.key!=="Escape")return;e.preventDefault(),e.stopPropagation(),L({type:"cancel"})},b=(e)=>e.preventDefault();function W(){if(zr(!1),window.removeEventListener("pointermove",K,!0),window.removeEventListener("pointerup",N,!0),window.removeEventListener("pointercancel",V,!0),window.removeEventListener("keydown",Y,!0),window.removeEventListener("touchmove",b,!0),window.removeEventListener("contextmenu",b,!0),p)cancelAnimationFrame(p);if(d)clearTimeout(d.timer);h?.removeAttribute("data-drop-target"),u.remove(),n.removeAttribute("data-lifted"),n.style.removeProperty("transform"),a.removeAttribute("data-reordering");for(let e of a.querySelectorAll("[data-drop-item], [data-folder-block]"))e.style.removeProperty("transform");try{n.releasePointerCapture(s.pointerId)}catch{}}return window.addEventListener("pointermove",K,!0),window.addEventListener("pointerup",N,!0),window.addEventListener("pointercancel",V,!0),window.addEventListener("keydown",Y,!0),window.addEventListener("touchmove",b,{capture:!0,passive:!1}),window.addEventListener("contextmenu",b,!0),w(),()=>L({type:"cancel"})}export{de as lift};
@@ -1 +1 @@
1
- import{Ct,Zt}from"./chunk-index-x60n1me6.js";import{p}from"./chunk-index-cn49mawx.js";function H(){try{let c=document.createElement("canvas");return!!(c.getContext("webgl2")||c.getContext("webgl"))}catch{return!1}}function x(c,n){return[c,n.includes("?")?n.slice(n.indexOf("?")):""].some((d)=>{let u=new URLSearchParams(d).get("nogl");return u!==null&&u!=="0"&&u!=="false"})}async function I(c,n,T){let d=n.variant==="compact",u=n.labels??Zt,l=new Map,E=(e)=>{l.clear();for(let t of e)l.set(t.id,{...t})};E(n.seats);let f={t:n.theme,s:n.scheme},a=null,o=document.createElement("div");o.className="rt-table",o.dataset.variant=d?"compact":"full";let g=document.createElement("div");g.className="rt-table-stage",o.appendChild(g);let r=null,y=!1,A=()=>!d&&(Boolean(n.listBelow)||y);c.appendChild(o);let m=new Map,S=()=>{if(!A()){r?.remove(),r=null,m.clear(),delete o.dataset.list;return}if(!r)r=document.createElement("ul"),r.className="rt-table-list",r.setAttribute("aria-label",u.table),o.appendChild(r),o.dataset.list="";for(let e of[...m.keys()])if(!l.has(e))m.delete(e);for(let e of l.values()){let t=m.get(e.id);if(!t){t=document.createElement("button"),t.type="button",t.dataset.seat=e.id;let s=e.id;t.addEventListener("click",(i)=>{let b=l.get(s);if(b)n.onSeatClick({id:b.id,name:b.name,at:Ct(i,i.currentTarget)})}),m.set(e.id,t)}t.textContent=u.seat(e.name,e.state??"idle"),t.style.setProperty("--seat",e.color)}r.replaceChildren(...[...l.values()].map((e)=>{let t=document.createElement("li"),s=m.get(e.id);if(s)t.appendChild(s);return t}))};S();let w=(e)=>{y=!e,S(),n.onNames?.(e)},v=async()=>{let{createTable2D:e}=await (p("5nrhfwft"),import("./chunk-table2d-5nrhfwft.js"));a=e(g,{...n,theme:f.t,scheme:f.s,seats:[...l.values()]}),w(!0)},C=async()=>{let{createTable3D:e}=await (p("5cb66d99"),import("./chunk-table3d-5cb66d99.js"));a=e(g,{...n,theme:f.t,scheme:f.s,seats:[...l.values()],onNames:w},()=>{a?.dispose(),v()})};if(d||T==="svg"||T!=="webgl"&&(x(location.search,location.hash)||!H()))await v();else try{await C()}catch{await v()}let M,L=n.onSeatMenu;if(L&&!d){let{attachSeatMenu:e}=await (p("eh3ymmks"),import("./chunk-seat-menu-eh3ymmks.js"));M=e(o,(t,s,i)=>{let b=t instanceof Element?t.closest("[data-seat]")?.dataset.seat:void 0,h=l.get(b??a?.seatAt?.(s,i)??"");return h?{id:h.id,name:h.name}:void 0},L)}return{get kind(){return a.kind},setTheme(e,t){f={t:e,s:t},a.setTheme(e,t)},setSeats(e){E(e),S(),a.setSeats(e)},setState(e,t){let s=l.get(e);if(s)s.state=t;S(),a.setState(e,t)},setMark:(e,t)=>a.setMark(e,t),setAvatar(e,t,s){let i=l.get(e);if(i)if(i.avatarSvg=t,s===void 0)delete i.talkSvg;else i.talkSvg=s;return a.setAvatar(e,t,s)},setReducedMotion:(e)=>a.setReducedMotion(e),resetCamera:()=>a.resetCamera(),focus:(e,t)=>a.focus(e,t),focused:()=>a.focused(),seatAt:(e,t)=>a.seatAt?.(e,t)??null,getStats:()=>a.getStats(),dispose(){M?.(),a?.dispose(),o.remove()}}}export{I as mountRoundTable};
1
+ import{Ct,Gt}from"./chunk-index-pgxgq61x.js";import{p}from"./chunk-index-24cggw6k.js";function H(){try{let c=document.createElement("canvas");return!!(c.getContext("webgl2")||c.getContext("webgl"))}catch{return!1}}function x(c,n){return[c,n.includes("?")?n.slice(n.indexOf("?")):""].some((d)=>{let u=new URLSearchParams(d).get("nogl");return u!==null&&u!=="0"&&u!=="false"})}async function I(c,n,T){let d=n.variant==="compact",u=n.labels??Gt,l=new Map,E=(e)=>{l.clear();for(let t of e)l.set(t.id,{...t})};E(n.seats);let f={t:n.theme,s:n.scheme},a=null,o=document.createElement("div");o.className="rt-table",o.dataset.variant=d?"compact":"full";let g=document.createElement("div");g.className="rt-table-stage",o.appendChild(g);let r=null,y=!1,A=()=>!d&&(Boolean(n.listBelow)||y);c.appendChild(o);let m=new Map,S=()=>{if(!A()){r?.remove(),r=null,m.clear(),delete o.dataset.list;return}if(!r)r=document.createElement("ul"),r.className="rt-table-list",r.setAttribute("aria-label",u.table),o.appendChild(r),o.dataset.list="";for(let e of[...m.keys()])if(!l.has(e))m.delete(e);for(let e of l.values()){let t=m.get(e.id);if(!t){t=document.createElement("button"),t.type="button",t.dataset.seat=e.id;let s=e.id;t.addEventListener("click",(i)=>{let b=l.get(s);if(b)n.onSeatClick({id:b.id,name:b.name,at:Ct(i,i.currentTarget)})}),m.set(e.id,t)}t.textContent=u.seat(e.name,e.state??"idle"),t.style.setProperty("--seat",e.color)}r.replaceChildren(...[...l.values()].map((e)=>{let t=document.createElement("li"),s=m.get(e.id);if(s)t.appendChild(s);return t}))};S();let w=(e)=>{y=!e,S(),n.onNames?.(e)},v=async()=>{let{createTable2D:e}=await (p("61bvrykm"),import("./chunk-table2d-61bvrykm.js"));a=e(g,{...n,theme:f.t,scheme:f.s,seats:[...l.values()]}),w(!0)},C=async()=>{let{createTable3D:e}=await (p("5a7vbgyj"),import("./chunk-table3d-5a7vbgyj.js"));a=e(g,{...n,theme:f.t,scheme:f.s,seats:[...l.values()],onNames:w},()=>{a?.dispose(),v()})};if(d||T==="svg"||T!=="webgl"&&(x(location.search,location.hash)||!H()))await v();else try{await C()}catch{await v()}let M,L=n.onSeatMenu;if(L&&!d){let{attachSeatMenu:e}=await (p("n2bcw0mf"),import("./chunk-seat-menu-n2bcw0mf.js"));M=e(o,(t,s,i)=>{let b=t instanceof Element?t.closest("[data-seat]")?.dataset.seat:void 0,h=l.get(b??a?.seatAt?.(s,i)??"");return h?{id:h.id,name:h.name}:void 0},L)}return{get kind(){return a.kind},setTheme(e,t){f={t:e,s:t},a.setTheme(e,t)},setSeats(e){E(e),S(),a.setSeats(e)},setState(e,t){let s=l.get(e);if(s)s.state=t;S(),a.setState(e,t)},setMark:(e,t)=>a.setMark(e,t),setAvatar(e,t,s){let i=l.get(e);if(i)if(i.avatarSvg=t,s===void 0)delete i.talkSvg;else i.talkSvg=s;return a.setAvatar(e,t,s)},setReducedMotion:(e)=>a.setReducedMotion(e),resetCamera:()=>a.resetCamera(),focus:(e,t)=>a.focus(e,t),focused:()=>a.focused(),seatAt:(e,t)=>a.seatAt?.(e,t)??null,getStats:()=>a.getStats(),dispose(){M?.(),a?.dispose(),o.remove()}}}export{I as mountRoundTable};
@@ -0,0 +1 @@
1
+ import{p,o,L,t,G,g,e,n,s,Ke,d,ge,Ue,Wn,Tn}from"./chunk-index-24cggw6k.js";import{Er,$r,Nr,Lr}from"./chunk-index-97dcp1vh.js";import"./chunk-index-5j1v2q7w.js";import{Zt}from"./chunk-index-bxf8eq1s.js";import{zi}from"./chunk-index-6rdywten.js";var v=()=>(p("tdx896xf"),import("./chunk-layout-actions-tdx896xf.js")),k=(a)=>(p("e2neja55"),import("./chunk-placement-items-e2neja55.js")).then((r)=>r.folderMenu(a)),F=(a)=>({mode:"folder",key:a,item:(r)=>r.closest("[data-folder-block]"),root:(r)=>r.closest("[data-folder-block]")?.parentElement??null,onDrop:(r)=>{if(r.type==="folder")v().then((i)=>i.placeFolderBefore(a,r.before))},open:Nr});function b(a){let{id:r,name:i}=a,m=Er().has(r),l=a.holdsActive||!m,c=L(),h=Zt(()=>k(r),F(r)),N=(u)=>{k(r).then((f)=>{if(!f)return;let y=u.getBoundingClientRect();ge({...f,at:{x:y.left,y:y.bottom},via:"key",source:u})},()=>{return})};return n("section",{className:"folder","aria-label":i,"data-folder-block":"","data-key":r,"data-drop-zone":"folder","data-zone-id":r,"data-folder":r,"data-collapsed":l?void 0:"",children:[n("header",{className:"folder-head","data-folder-head":"",...h,children:[n("button",{type:"button",className:"folder-toggle","aria-expanded":l,"aria-controls":c,"aria-label":l?t("Collapse {name}",{name:i}):t("Expand {name}",{name:i}),onClick:()=>$r(r),children:[e(s,{name:"chevron",size:16,className:"folder-chevron","data-open":l||void 0}),e("strong",{children:i}),e("span",{className:"meta",children:G(a.count,"{count} room","{count} rooms")}),l?null:a.stack]}),a.muted==="none"?null:e(s,{name:"bell-off",size:14,className:"muted-mark","data-partial":a.muted==="some"||void 0,role:"img","aria-hidden":!1,"aria-label":a.muted==="all"?t("Notifications are off"):t("Some notifications are off")}),l?null:a.summary,e("button",{type:"button",className:"icon-button folder-more","aria-haspopup":"menu","aria-label":t("Folder menu"),onClick:(u)=>N(u.currentTarget),children:e(s,{name:"more",size:18})})]}),e("div",{id:c,className:"folder-body",hidden:!l,children:l?a.count===0?e("p",{className:"meta folder-empty",children:t("No rooms in this folder yet.")}):a.children:null})]})}var R=4;function S(a){let r=a.rooms.slice(0,R),i=d((l)=>r.map((c)=>l.rooms[c]?.view),r.join(",")),m=a.rooms.length-r.length;return n("span",{className:"folder-stack","aria-hidden":"true",children:[i.map((l)=>l?e("span",{className:"folder-stack-item",children:e(Ue,{view:l,size:28})},l.key):null),m>0?n("span",{className:"folder-stack-more",children:["+",m]}):null]})}function M(a){let r=d((i)=>({waiting:a.rooms.reduce((m,l)=>m+Ke(i,l),0),typing:a.rooms.some((m)=>i.rooms[m]?.typing)}),a.rooms.join(","));return n(g,{children:[r.typing?e(Wn,{}):null,r.waiting?e(Tn,{count:r.waiting}):null]})}function w(a){return d((r)=>zi(a,(i)=>r.rooms[i]?.view?.muted===!0),a.join(","))}function U(a){let r=a.folders.map((i)=>i.id).join(",");return o(()=>{if(a.listed)Lr(r?r.split(","):[])},[a.listed,r]),e(g,{children:a.folders.map((i)=>e(C,{folder:i,...a},i.id))})}function C(a){let{folder:r}=a,i=w(r.rooms);return e(b,{id:r.id,name:r.name,count:r.rooms.length,holdsActive:a.active!==void 0&&r.rooms.includes(a.active),muted:i,summary:e(M,{rooms:r.rooms}),stack:e(S,{rooms:r.rooms}),children:a.rooms(r.rooms)})}export{U as FolderList};
@@ -0,0 +1 @@
1
+ import{Er,Ar,$r,Nr,Lr}from"./chunk-index-97dcp1vh.js";export{Ar as collapsedNow,Nr as expandFolder,Lr as pruneCollapsed,$r as toggleCollapsed,Er as useCollapsed};
@@ -1 +1 @@
1
- import{t,e,n,s,x}from"./chunk-index-cn49mawx.js";import{Nn,un}from"./chunk-index-jc3r4qam.js";function l({steps:p}){return n("div",{className:"page",children:[e("header",{className:"page-head",children:e("h1",{children:t("Finish setting up")})}),e("p",{className:"meta",children:t("These steps come first. The rest of the app opens when they are done.")}),e("ul",{className:"menu",children:p.map((a)=>e("li",{children:n("a",{className:"menu-item menu-link",href:x(a.open.page),children:[n("span",{className:"menu-text",children:[e("strong",{children:Nn(a)}),un(a)?e("span",{className:"meta",children:un(a)}):null]}),e(s,{name:"chevron",size:16})]})},a.id))})]})}export{l as GatePage};
1
+ import{t,e,n,s,S}from"./chunk-index-24cggw6k.js";import{Xn,cn}from"./chunk-index-8wpvj7k5.js";function l({steps:p}){return n("div",{className:"page",children:[e("header",{className:"page-head",children:e("h1",{children:t("Finish setting up")})}),e("p",{className:"meta",children:t("These steps come first. The rest of the app opens when they are done.")}),e("ul",{className:"menu",children:p.map((a)=>e("li",{children:n("a",{className:"menu-item menu-link",href:S(a.open.page),children:[n("span",{className:"menu-text",children:[e("strong",{children:Xn(a)}),cn(a)?e("span",{className:"meta",children:cn(a)}):null]}),e(s,{name:"chevron",size:16})]})},a.id))})]})}export{l as GatePage};
@@ -0,0 +1 @@
1
+ import"./chunk-index-8pbwr3rs.js";
@@ -0,0 +1 @@
1
+ import{lt}from"./chunk-index-q4k9vk04.js";export{lt as HostPicture};
@@ -0,0 +1 @@
1
+ import{ko,Le,_o,To,Po,Qo,Mo,sn,xr,Ro,Ra}from"./chunk-index-nr275sa7.js";export{Ro as keepCards,xr as keepReads,Mo as noCards,Qo as noReads,Ra as onFrame,sn as seedUnread,ko as subscribeHost,To as totalUnread,Po as unreadCounts,_o as unreadOf,Le as useHost};
@@ -0,0 +1 @@
1
+ import{ee,E,o,L,Te,C,a,r,t,G,g,e,n,s,S,pn,O,d,fe,l,f,v,m,k,Q,Yt,qn,Et,_,Zr,we,Ht,On,At,nr,Qe,yn,Lt,jr,te,kn,cr,ur,dr,$e}from"./chunk-index-24cggw6k.js";import{In}from"./chunk-index-ze9p4npm.js";import{Yi,ss,Ze,Hi}from"./chunk-index-ce7hsda9.js";import{D}from"./chunk-index-6btdp13p.js";import{Le,Qo,Mo,sn,xr,Ro}from"./chunk-index-nr275sa7.js";import{at,lt}from"./chunk-index-q4k9vk04.js";import{Ir}from"./chunk-index-4a1tdadd.js";import"./chunk-index-8pbwr3rs.js";import{Re}from"./chunk-index-dr0jr7d3.js";import{H}from"./chunk-index-s4a8e4qm.js";import"./chunk-index-cmzvq3nf.js";function Ke(c){let i={};for(let u of c)if(u.type==="multiselect")i[u.name]=[...Ve(u.initial)];else i[u.name]=Ve(u.initial)[0]??"";return i}var Ve=(c)=>c===void 0?[]:typeof c==="string"?[c]:[...c];function et(c,i){let u={};for(let p of c){let y=i[p.name];if(y===void 0||y===""||y.length===0)continue;u[p.name]=y}return u}function tt(c){let{field:i,value:u}=c,[p,y]=r(""),N=i.search?i.options.filter((h)=>h.label.toLowerCase().includes(p.trim().toLowerCase())):i.options,R=i.search?e("input",{type:"search",value:p,placeholder:t("Search…"),"aria-label":t("Search {name}",{name:i.label}),onChange:(h)=>y(h.target.value)}):null;if(i.type==="select")return n(g,{children:[R,n(Re,{id:c.id,value:String(u),required:i.required===!0,"aria-describedby":c.described,...i.search?{size:6}:{},onChange:(h)=>c.onChange(h.target.value),children:[i.required?null:e("option",{value:"",children:t("None")}),N.map((h)=>e("option",{value:h.value,children:h.label},h.value))]})]});let b=new Set(Array.isArray(u)?u:[]);return n(g,{children:[R,e("fieldset",{"aria-describedby":c.described,children:N.map((h)=>n("label",{children:[e("input",{type:"checkbox",checked:b.has(h.value),onChange:(M)=>{let w=new Set(b);if(M.target.checked)w.add(h.value);else w.delete(h.value);c.onChange(i.options.filter((V)=>w.has(V.value)).map((V)=>V.value))}}),h.label]},h.value))})]})}function nt(c){let{field:i,value:u}=c,p=L(),y="hint"in i?i.hint:void 0,N=c.error||y?`${p}-note`:void 0,R;if("options"in i)R=e(tt,{field:i,id:p,value:u,described:N,onChange:c.onChange});else if(i.type==="textarea")R=e("textarea",{id:p,rows:5,value:String(u),maxLength:i.max??8000,required:i.required===!0,"aria-describedby":N,onChange:(b)=>c.onChange(b.target.value)});else R=e("input",{id:p,type:i.type==="url"?"url":"text",value:String(u),maxLength:i.max??500,required:i.required===!0,"aria-describedby":N,onChange:(b)=>c.onChange(b.target.value)});return n("div",{className:"host-field",children:[i.type==="multiselect"?e("span",{className:"field-label",children:i.label}):e("label",{htmlFor:p,children:i.label}),R,c.error||y?e("span",{id:`${p}-note`,className:c.error?"field-error":"hint",role:c.error?"alert":void 0,children:c.error??y}):null]})}function me(c){let{spec:i}=c,[u,p]=r(()=>Ke(i.fields)),[y,N]=r(!1),[R,b]=r();return n("form",{className:"host-form",onSubmit:async(M)=>{if(M.preventDefault(),y)return;N(!0),b(void 0);try{b(await c.onSubmit(et(i.fields,u)))}catch(w){b({error:l(w)})}finally{N(!1)}},children:[i.fields.map((M)=>e(nt,{field:M,value:u[M.name]??"",error:R?.field===M.name?R.error:void 0,onChange:(w)=>p((V)=>({...V,[M.name]:w}))},M.name)),R&&!i.fields.some((M)=>M.name===R.field)?e(m,{message:R.error}):null,n("div",{className:"actions",children:[c.onCancel?e("button",{type:"button",className:"secondary",disabled:y,onClick:c.onCancel,children:t("Cancel")}):null,e("button",{type:"submit",disabled:y,children:i.submit})]})]})}function rt(c){if(!c.ok)return{error:Yi(c.error),...c.field?{field:c.field}:{}};if(c.notice)f(c.notice);if(c.open)Hi(c.open);return}function oe(c){let[i,u]=r(),[p,y]=r(!1),N=async(b,h)=>rt(await c.run(b,h)),R=async(b)=>{if(b.form||b.confirm){u(b);return}y(!0);try{let h=await N(b,{});if(h)f(h.error,"danger")}catch(h){f(l(h),"danger")}finally{y(!1)}};if(c.actions.length===0)return null;return n("div",{className:c.className??"host-actions",children:[c.actions.map((b)=>e("button",{type:"button",className:b.style==="danger"?"danger":b.style==="secondary"?"secondary":"",disabled:p,onClick:()=>R(b),children:b.label},b.id)),i?.form?e(H,{open:!0,title:i.form.title,onClose:()=>u(void 0),children:e(me,{spec:i.form,onCancel:()=>u(void 0),onSubmit:async(b)=>{let h=await N(i,b);if(!h)u(void 0);return h}})}):i?e(D,{open:!0,title:i.label,confirmLabel:i.label,tone:i.style==="danger"?"danger":"primary",onConfirm:async()=>{let b=await N(i,{});if(b)throw Error(b.error)},onClose:()=>u(void 0),children:e("p",{children:i.confirm})}):null]})}var Pe=/^file:([A-Za-z0-9_-]{1,64})$/;function Oe(c){let i=URL.parse(c,document.baseURI);return i!==null&&i.origin===window.location.origin}function ot({id:c,alt:i}){return e("img",{className:"file-image",src:`api/files/${encodeURIComponent(c)}`,alt:i,loading:"lazy",decoding:"async",onError:(u)=>{let p=document.createElement("span");p.textContent=i||t("Image"),u.currentTarget.replaceWith(p)}})}var re=ee(function({source:i}){return e("div",{className:"prose",children:e(Yt,{remarkPlugins:[Et],urlTransform:(u)=>Pe.test(u)?u:qn(u),components:{a:({href:u,children:p})=>u&&/^https?:\/\//.test(u)&&!Oe(u)?e("a",{href:u,target:"_blank",rel:"noreferrer noopener",children:p}):u&&Oe(u)?e("a",{href:u,children:p}):e("span",{children:p}),img:({src:u,alt:p})=>{let y=typeof u==="string"?Pe.exec(u):null;return y?.[1]?e(ot,{id:y[1],alt:p??""}):e("span",{children:p})},pre:Zr,table:({children:u})=>e("div",{className:"table-wrap",children:e("table",{children:u})})},children:i})})});function st(c){switch(c??"open"){case"working":return t("Working…");case"done":return t("Done");case"superseded":return t("Replaced");case"expired":return t("Expired");default:return""}}var Ne=(c)=>(c.state??"open")==="open";function ae(c){let{card:i}=c,u=st(i.state);return n("article",{className:"host-card","data-tone":i.tone??"note","data-state":i.state??"open",children:[n("header",{children:[e("h3",{children:i.title}),u?e(Q,{tone:i.state==="working"?"busy":"plain",children:u}):null]}),i.body?e(re,{source:i.body}):null,i.links?.length?e("div",{className:"host-card-links",children:i.links.map((p)=>e("a",{href:p.url,...p.url.startsWith("/")?{}:{target:"_blank",rel:"noreferrer noopener"},children:p.label},`${p.url}`))}):null,Ne(i)&&i.buttons?.length?e(oe,{actions:i.buttons,run:c.run}):null]})}at();function it(){let[c,i]=r(()=>In().toString());return o(()=>{let u=()=>i(In().toString());return window.addEventListener("popstate",u),window.addEventListener("hashchange",u),()=>{window.removeEventListener("popstate",u),window.removeEventListener("hashchange",u)}},[]),c}function ct(c){if(!c.ok)return{error:Yi(c.error),...c.field?{field:c.field}:{}};if(c.notice)f(c.notice);if(c.open)Hi(c.open);return}function dt(c){let{section:i}=c;switch(i.kind){case"markdown":return e(re,{source:i.text});case"card":return e(ae,{card:i.card,run:c.run});case"form":return n("section",{className:"stack",children:[e("h2",{className:"section-title",children:i.form.title}),e(me,{spec:i.form,onSubmit:(u)=>c.submit(i.action,u)})]});case"list":return n("section",{className:"stack",children:[i.title?e("h2",{className:"section-title",children:i.title}):null,i.rows.length===0?e(k,{children:t("Nothing here.")}):null,e("ul",{className:"host-list",children:mt(i.rows).map(([u,p])=>n("li",{children:[p.attention?e("span",{className:"attention-dot",role:"img","aria-label":t("Needs attention")}):null,n("div",{className:"host-list-main",children:[p.open?e("a",{href:p.open,...p.open.startsWith("/")?{}:{target:"_blank",rel:"noreferrer noopener"},children:p.title}):e("strong",{children:p.title}),p.subtitle?e("span",{children:p.subtitle}):null]}),p.actions?.length?e(oe,{actions:p.actions,run:c.run}):null]},u))})]})}}function ut({routeKey:c}){let i=c??"",u=it(),p=Le((w)=>w.pages[i]??0),[y,N]=r(0),[R,b]=r({});o(()=>{let w=!0;return Ze.page(i,Object.fromEntries(new URLSearchParams(u))).then((V)=>w&&b({page:V}),(V)=>{if(!w)return;let P=V instanceof fe&&V.status===404;b((q)=>({...P||!q.page?{}:{page:q.page},error:l(V),gone:P}))}),()=>{w=!1}},[i,u,p,y]);let h=async(w,V)=>{let P=await Ze.pageAct(i,{action:w,input:V}),q=ct(P);if(!q)N((I)=>I+1);return q},M=async(w,V)=>{let P=await Ze.pageAct(i,{action:w.id,input:V});if(P.ok)N((q)=>q+1);return P};if(R.gone)return e("div",{className:"page",children:e(k,{children:t("This page is not available.")})});if(!R.page)return e("div",{className:"page",children:R.error?e(m,{message:R.error}):e(v,{})});return n("div",{className:"page",children:[e("header",{className:"page-head",children:e("h1",{children:R.page.title})}),R.error?e(m,{message:R.error}):null,R.page.sections.map((w,V)=>e(dt,{section:w,run:M,submit:h},V))]})}function mt(c){let i=new Map;return c.map((u)=>{let p=i.get(u.title)??0;return i.set(u.title,p+1),[`${u.title}:${p}`,u]})}function _e(c){let i=Le((M)=>M.cards[c.room]??Mo),u=Qe("(min-width: 720px) and (min-height: 760px)"),[p,y]=r();if(i.length===0)return null;let N=i.filter((M)=>Ne(M)||M.state==="working"),R=i.filter((M)=>!N.includes(M)),b=p??(u&&N.length>0),h=N[0];return n("div",{className:"host-cards","data-open":b||void 0,children:[n("button",{type:"button",className:"host-cards-toggle","aria-expanded":b,onClick:()=>y(!b),children:[e(s,{name:"chevron",size:14}),h?n("span",{children:[e("strong",{children:G(N.length,"{count} card waiting","{count} cards waiting")}),`: ${h.title}`]}):e("span",{children:t("Earlier cards ({count})",{count:R.length})})]}),b?n("div",{className:"host-cards-body",children:[N.map((M)=>e(ae,{card:M,run:c.run(M.id)},M.id)),R.length?n("details",{className:"host-cards-older",children:[e("summary",{children:t("Earlier cards ({count})",{count:R.length})}),R.map((M)=>e(ae,{card:M,run:c.run(M.id)},M.id))]}):null]}):null]})}var ft=/https?:\/\/[^\s<>"']+/g,pt=/[.,;:!?)\]}\u3001\u3002\uff0c\uff1b\uff1a\uff01\uff1f\uff09\u300d\u300f]+$/;function gt(c){let i=c.replace(pt,""),u=URL.parse(i);return u&&(u.protocol==="https:"||u.protocol==="http:")?i:""}function qe({text:c}){let i=[],u=0;for(let p of c.matchAll(ft)){let y=gt(p[0]);if(y==="")continue;let N=p.index;if(N>u)i.push(c.slice(u,N));i.push(e("a",{href:y,target:"_blank",rel:"noreferrer noopener",children:y},`${N}`)),u=N+y.length}if(u<c.length)i.push(c.slice(u));return e("span",{className:"plain",children:i})}var ze=ee(function(i){let{message:u}=i,p=u.authorKind??"external";if(p==="notice")return n("li",{className:"host-notice","data-mid":u.id,"data-highlight":i.highlighted||void 0,"data-enter":i.enter||void 0,children:[e(s,{name:"bell",size:14}),e(re,{source:u.text}),e("time",{dateTime:u.at,children:Ht(u.at,i.timeZone)})]});let y=p==="member"&&u.principalId!==void 0&&u.principalId===i.me;return n("li",{className:"message","data-mid":u.id,"data-author":p,"data-mine":y||void 0,"data-header":i.header||void 0,"data-enter":i.enter||void 0,"data-unread":i.unread||void 0,"data-highlight":i.highlighted||void 0,children:[y?null:e("span",{className:"message-avatar",children:i.header?e(lt,{picture:u.picture,name:u.author}):null}),n("div",{className:"message-main",children:[i.header?n("div",{className:"message-meta",children:[e("strong",{children:u.author}),u.authorLabel?e("span",{className:"label-chip",children:u.authorLabel}):null,e("time",{dateTime:u.at,children:Ht(u.at,i.timeZone)})]}):null,n("div",{className:"bubble",children:[e(jr,{files:u.files}),u.text?p==="assistant"?e(re,{source:u.text}):e(qe,{text:u.text}):null,e(Lt,{files:u.files,message:u}),u.expiredFiles?e("p",{className:"message-expired",children:G(u.expiredFiles,"{count} file was removed","{count} files were removed")}):null]}),u.edited?e("span",{className:"message-edited",children:t("edited")}):null]})]})});var ht=1500,bt=96,pe=new Set,He=new Map;function yt(c){if(document.visibilityState!=="visible")return!1;return!c||c.scrollHeight-c.scrollTop-c.clientHeight<bt}function De(c){if(!(c instanceof Element))return;let i=c.closest("[data-unread][data-mid]");return i?Number(i.dataset.mid):void 0}function Ue(c){let{room:i,scroller:u,messages:p,began:y,enterAfter:N,me:R,shared:b}=c,h=a({seen:void 0,watched:new Set}),[,M]=r(0),w=He.get(i)??pe;if(N!==void 0&&p){let F=h.current;F.seen??=N;let x=yt(u.current),W=F.seen;for(let T of p){if(T.id<=F.seen)continue;if(x)F.watched.add(T.id);W=Math.max(W,T.id)}F.seen=W}let V=C(()=>{if(y===void 0||N===void 0||!p)return pe;let F=new Set;for(let x of p){if(x.id===0||x.id<=y)continue;if(x.kind==="system"||x.note)continue;if(x.authorKind==="notice")continue;if(x.principalId===void 0?x.kind==="owner"&&!b:x.principalId===R)continue;if(h.current.watched.has(x.id)||w.has(x.id))continue;F.add(x.id)}return F.size===0?pe:F},[p,y,N,R,b,w]),P=E((F)=>{let x=He.get(i)??pe;if(x.has(F))return;He.set(i,new Set(x).add(F)),M((W)=>W+1)},[i]),q=V.size>0;o(()=>{let F=u.current;if(!F||!q)return;let x=(T)=>{if(T.pointerType==="touch")return;let B=De(T.target);if(B!==void 0)P(B)},W=(T)=>{let B=De(T.target);if(B!==void 0)P(B)};return F.addEventListener("pointerover",x,{passive:!0}),F.addEventListener("focusin",W,{passive:!0}),F.addEventListener("click",W,{passive:!0}),()=>{F.removeEventListener("pointerover",x),F.removeEventListener("focusin",W),F.removeEventListener("click",W)}},[u,P,q]);let I=a(new Map),U=[...V].join(",");return o(()=>{let F=u.current,x=I.current;for(let[Z,Y]of x)if(!V.has(Z))clearTimeout(Y),x.delete(Z);if(!F||!q||typeof IntersectionObserver!=="function"||!matchMedia("(pointer: coarse)").matches)return;let W=(Z)=>{let Y=x.get(Z);if(Y===void 0)return;clearTimeout(Y),x.delete(Z)},T=new IntersectionObserver((Z)=>{for(let Y of Z){let ne=Number(Y.target.dataset.mid),le=Y.rootBounds;if(!(Y.isIntersecting&&(Y.intersectionRatio>=0.5||le!==null&&Y.intersectionRect.height>=le.height*0.5))){W(ne);continue}if(x.has(ne))continue;x.set(ne,setTimeout(()=>{if(x.delete(ne),document.visibilityState==="visible")P(ne)},ht))}},{root:F,threshold:[0,0.25,0.5,0.75,1]}),B=[...F.querySelectorAll("[data-unread][data-mid]")];for(let Z of B)T.observe(Z);let j=()=>{if(document.visibilityState!=="visible")return;for(let Z of B)T.unobserve(Z),T.observe(Z)};return document.addEventListener("visibilitychange",j),()=>{document.removeEventListener("visibilitychange",j),T.disconnect()}},[u,P,q,U]),o(()=>{let F=I.current;return()=>{for(let x of F.values())clearTimeout(x);F.clear()}},[]),V}at();var vt=3;function wt({marks:c}){let[i,u]=r(!1);return n("li",{className:"seen",children:[n("button",{type:"button",className:"seen-toggle","aria-expanded":i,onClick:()=>u((p)=>!p),children:[c.slice(0,vt).map((p)=>e(lt,{picture:{principal:p.principal},name:p.name,size:16},p.principal)),e("span",{children:t("Seen by {count}",{count:c.length})})]}),i?e("span",{className:"seen-names",children:c.map((p)=>p.name).join(t(", "))}):null]})}function kt(c,i){let u=$e(),p=d((y)=>y.connects);o(()=>{let y=i.current;if(!y)return;let N=0,R=0,b,h,M=()=>{if(h=void 0,document.visibilityState!=="visible")return;let P=y.getBoundingClientRect(),q=0;for(let U of y.querySelectorAll("[data-mid]")){let F=U.getBoundingClientRect();if(F.bottom>P.top&&F.top<P.bottom-4)q=Math.max(q,Number(U.dataset.mid))}if(q<=N)return;let I=R+1000-Date.now();if(I>0){clearTimeout(b),b=setTimeout(w,I);return}if(u.send({type:"read",room:c,upTo:q}))N=q,R=Date.now()},w=()=>{if(h===void 0)h=requestAnimationFrame(M)};y.addEventListener("scroll",w,{passive:!0}),document.addEventListener("visibilitychange",w),window.addEventListener("resize",w);let V=new MutationObserver(w);return V.observe(y,{childList:!0,subtree:!0}),w(),()=>{if(y.removeEventListener("scroll",w),document.removeEventListener("visibilitychange",w),window.removeEventListener("resize",w),V.disconnect(),clearTimeout(b),h!==void 0)cancelAnimationFrame(h)}},[u,c,i,p])}function ge(c){let{roomKey:i}=c;kt(i,c.scroller);let u=d((w)=>w.principal?.id),p=d((w)=>w.rooms[i]?.messages),y=Le((w)=>w.reads[i]??Qo),N=Le((w)=>w.cursor[i]),R=a(void 0);if(R.current===void 0&&N!==void 0)R.current=N;let b=d((w)=>w.rooms[i]?.view?.notes===!0),h=Ue({room:i,scroller:c.scroller,messages:p,began:R.current,enterAfter:c.enterAfter,me:u,shared:c.host===!0||b}),M=C(()=>{let V=(p??[]).filter((I)=>I.kind!=="system"),P=R.current===void 0?void 0:V.find((I)=>I.id>(R.current??0)&&(I.principalId===void 0||I.principalId!==u))?.id,q=new Map;for(let I of y){if(I.principal===u)continue;let U=V.findLast((F)=>F.id<=I.upTo);if(U)q.set(U.id,[...q.get(U.id)??[],I])}return{before:(I)=>I.id===P?e("li",{className:"new-divider",children:e("span",{children:t("New messages")})}):null,after:(I)=>{let U=q.get(I.id);return U?e(wt,{marks:U}):null},unread:(I)=>h.has(I.id),...c.host?{message:(I,U)=>I.kind==="system"&&I.authorKind===void 0?void 0:e(ze,{message:I,header:U.header,enter:U.enter,unread:U.unread,timeZone:U.timeZone,me:u,highlighted:c.highlight===I.id})}:{}}},[p,y,u,c.host,c.highlight,h]);return e(kn,{roomKey:i,enterAfter:c.enterAfter,quotable:c.quotable,decor:M})}at();var Nt=20,Rt=2600,Be;function St(c,i,u){let p=d((b)=>b.connects),y=Le((b)=>b.rooms[c]??0),[N,R]=r({view:void 0,error:void 0,gone:!1});return o(()=>{let b=!0;return Ze.open(i,u).then((h)=>{if(!b)return;O.dispatch({type:"history_loaded",room:c,messages:h.messages,more:h.more,older:!1}),xr(c,h.reads,h.cursor),Ro(c,h.cards),R({view:h,error:void 0,gone:!1})},(h)=>{if(!b)return;let M=h instanceof fe&&h.status===404;R((w)=>({view:M?void 0:w.view,error:l(h),gone:M}))}),()=>{b=!1}},[c,i,u,p,y]),N}function Ct(c){let{header:i}=c;return n(g,{children:[i.banner?e("p",{className:"host-banner","data-tone":i.banner.tone,role:"status",children:i.banner.text}):null,i.fields.length?e("dl",{className:"host-head-fields",children:i.fields.map((u)=>n("div",{children:[e("dt",{children:u.label}),e("dd",{children:u.link?e("a",{href:u.link,...u.link.startsWith("/")?{}:{target:"_blank",rel:"noreferrer noopener"},children:u.value}):u.value})]},`${u.label}:${u.value}`))}):null,e(oe,{className:"host-actions bar",actions:i.actions,run:c.run})]})}function Tt({roomKey:c}){let i=$e(),u=ss(c),p=u?.kind??"",y=u?.id??"",{view:N,error:R,gone:b}=St(c,p,y),h=d((A)=>A.rooms[c]),M=d((A)=>A.limits),w=d((A)=>A.connects),V=d((A)=>A.connection==="open"),P=a(null),q=a(null),{away:I,onScroll:U,onGrow:F,toEnd:x}=dr(P),[W,T]=r(!1),[B,j]=r(),[Z,Y]=r(Be),[ne,le]=r(!1),[Ae,Ee]=r(),be=a(void 0),se=a(void 0),J=N!==void 0,ce=cr(!Qe("(min-width: 1024px)"));if(o(()=>{if(!u||b||!J)return;return i.send({type:"subscribe",room:c}),i.focus(c),()=>{i.focus(void 0),i.send({type:"unsubscribe",room:c})}},[i,c,w,b,J]),J&&be.current===void 0)be.current=h?.messages.at(-1)?.id??0;Te(()=>{if(J)x(!1)},[J]),Te(()=>{let A=P.current;if(A&&se.current!==void 0)A.scrollTop+=A.scrollHeight-se.current,se.current=void 0},[h?.messages[0]?.id]),o(()=>{let A=q.current;if(!A||typeof ResizeObserver>"u")return;let z=new ResizeObserver(F);return z.observe(A),()=>z.disconnect()},[F]);let ye=E(async()=>{let A=O.getState().rooms[c]?.messages[0];if(!A)return!1;let z=await Ze.older(p,y,A.id,pn);return O.dispatch({type:"history_loaded",room:c,messages:z.messages,more:z.more,older:!0}),xr(c,z.reads,void 0),z.more},[c,p,y]),de=a(void 0);o(()=>{let A=()=>{let z=Number(In().get("message"));de.current=Number.isSafeInteger(z)&&z>0?z:void 0};return A(),window.addEventListener("popstate",A),()=>window.removeEventListener("popstate",A)},[]);let ve=h?.messages[0]?.id,Ce=h?.more===!0;o(()=>{let A=de.current,z=P.current;if(!J||A===void 0||!z)return;let X=z.querySelector(`[data-mid="${A}"]`);if(X){de.current=void 0,X.scrollIntoView({block:"center"}),Ee(A),requestAnimationFrame(()=>z.dispatchEvent(new Event("scroll"))),setTimeout(()=>Ee(void 0),Rt);return}if(ve!==void 0&&A<ve&&Ce){let ie=0;(async()=>{if(ie+=1,!await ye().catch(()=>!1)||ie>=Nt)de.current=void 0})()}},[J,ve,Ce,h?.messages.length,ye]);let Me=(A,z={},X)=>Ze.act(p,y,{action:A.id,...X===void 0?{}:{card:X},input:z}),Ye=(A,z)=>Me(A,z),Je=(A)=>(z,X)=>Me(z,X,A);if(b||!J&&!R&&!u)return e("section",{className:"room",children:n("div",{className:"page",children:[e(k,{children:t("This room is not available.")}),e("a",{className:"back",href:S("rooms"),children:t("Back to rooms")})]})});let K=N?.access.send??[],ke=K.length>1,Fe=ke&&ne,xe=Z&&K.includes(Z)?Z:K.includes("turn")?"turn":K[0],Ie=Fe||xe==="turn",Xe=Ie?N?.wording?.turn?.placeholder??t("Ask AI…"):N?.wording?.note?.placeholder??t("Write an internal note…"),ue=N?.header.title??c,je=h?.messages??[];return n("section",{className:"room",...ce.surface,onDragOver:(A)=>{if(K.length&&A.dataTransfer.types.includes("Files"))A.preventDefault()},onDrop:(A)=>{if(!K.length||!A.dataTransfer.files.length)return;A.preventDefault(),j([...A.dataTransfer.files])},children:[n("header",{className:"room-head",children:[e("a",{className:"icon-button room-back",href:S("rooms"),"aria-label":t("Back to rooms"),children:e(s,{name:"back"})}),e(nr,{open:ce.enabled?ce.show:void 0,children:e(lt,{name:ue,size:40})}),n("div",{className:"room-title",children:[e("h1",{children:ue}),e("span",{className:"room-status","data-working":h?.typing||void 0,children:h?.typing?t("Working…"):t("Host room")})]})]}),!V?n("div",{className:"offline-banner",role:"status",children:[e("span",{className:"spinner","aria-hidden":"true"}),t("Reconnecting… messages wait here until it is back.")]}):null,N?e(Ct,{header:N.header,run:Ye}):null,e("div",{className:"room-scroll",ref:P,onScroll:U,children:n("div",{className:"room-content",ref:q,children:[R?e(m,{message:R}):null,!J&&!R?e(v,{}):null,h?.more?e("button",{type:"button",className:"secondary older",disabled:W,onClick:async()=>{T(!0),se.current=P.current?.scrollHeight;try{await ye()}catch(A){se.current=void 0,f(l(A),"danger")}finally{T(!1)}},children:W?t("Loading…"):t("Load earlier messages")}):null,J&&je.length===0?e(k,{children:t("No messages yet.")}):null,e(ge,{roomKey:c,enterAfter:be.current,quotable:!1,scroller:P,host:!0,highlight:Ae}),h?.typing?e(yn,{name:ue,progress:h.progress}):null]})}),I?n("button",{type:"button",className:"to-end",onClick:()=>x(!0),children:[e(s,{name:"send",size:16,style:{transform:"rotate(180deg)"}}),t("Latest")]}):null,N?e(_e,{room:c,run:Je}):null,N&&K.length===0?e("p",{className:"room-note",children:t("You can read this room but not write in it.")}):null,N&&K.length>0?e(g,{children:e(At,{draftKey:c,name:ue,placeholder:Xe,onAddressed:le,...ke?{above:e(Ir,{on:Ie,label:N?.wording?.turn?.label??t("@AI"),...Fe?{locked:t("The message starts with @AI, so the knight answers.")}:{},onChange:(A)=>{let z=A?"turn":"note";Be=z,Y(z)}})}:{},limits:M,stoppable:Boolean(h?.stoppable),onSend:(A,z,X)=>{if(ke&&X){let ie=On(A);i.say(c,ie===""&&z.length===0?A:ie,z,"turn")}else i.say(c,A,z,xe);x(!0)},onStop:()=>i.send({type:"stop",room:c}),...B?{incoming:B,onIncomingTaken:()=>j(void 0)}:{}},c)}):null,e(ur,{...ce.drawer,current:c})]})}at();function he({room:c}){let i=Le((u)=>u.unread[c]??0);if(i<=0)return null;return e("span",{className:"unread-mark",role:"img","aria-label":G(i,"{count} unread message","{count} unread messages"),children:i>99?"99+":i})}at();var Mt=6,Ft=250;function Se(c){let{kind:i}=c,{timeZone:u}=_(),{now:p}=te(),y=d((T)=>T.connects),N=Le((T)=>T.lists[i]??0),[R,b]=r(""),[h,M]=r(""),[w,V]=r(),[P,q]=r(),[I,U]=r(),[F,x]=r(!1);o(()=>{let T=setTimeout(()=>M(R.trim()),Ft);return()=>clearTimeout(T)},[R]),o(()=>{let T=!0;return Ze.list(i,h||void 0).then((B)=>{if(!T)return;sn(Object.fromEntries(B.rooms.map((j)=>[j.key,j.unread??0]))),V(B.rooms),q(B.cursor),U(void 0)},(B)=>T&&U(l(B))),()=>{T=!1}},[i,h,y,N]);let W=async()=>{if(!P||F)return;x(!0);try{let T=await Ze.list(i,h||void 0,P);sn(Object.fromEntries(T.rooms.map((B)=>[B.key,B.unread??0]))),V((B)=>[...B??[],...T.rooms]),q(T.cursor)}catch(T){U(l(T))}finally{x(!1)}};return n("section",{className:"stack",children:[n("h2",{className:"section-title",children:[c.icon?e(s,{name:c.icon,size:14,className:"section-icon"}):null,c.label]}),w&&(w.length>=Mt||h||R)?e("input",{type:"search",className:"kind-filter",value:R,placeholder:t("Search {name}",{name:c.label}),"aria-label":t("Search {name}",{name:c.label}),onChange:(T)=>b(T.target.value)}):null,I?e(m,{message:I}):null,!w&&!I?n("div",{className:"stack","aria-busy":"true",children:[e("div",{className:"skeleton"}),e("div",{className:"skeleton"})]}):null,w&&w.length===0?e(k,{children:h?t("Nothing matches."):t("No rooms yet.")}):null,w&&w.length>0?e("ul",{className:"room-list",children:w.map((T)=>e("li",{children:n("a",{className:"room-row",href:S("room",T.key),"aria-current":T.key===c.active?"page":void 0,children:[n("span",{className:"kind-row-picture",children:[e(lt,{picture:T.picture,name:T.title,size:44}),T.attention?e("span",{className:"attention-dot",role:"img","aria-label":t("Needs attention")}):null]}),n("span",{className:"room-row-main",children:[n("span",{className:"room-row-top",children:[e("strong",{children:T.title}),e(he,{room:T.key}),e("span",{className:"room-row-time",children:T.lastAt?we(T.lastAt,p,u):""})]}),e("span",{className:"room-row-preview",children:e("span",{children:T.subtitle??""})})]}),e(s,{name:"chevron",size:16,className:"room-row-chevron"})]})},T.key))}):null,P?e("button",{type:"button",className:"secondary",disabled:F,onClick:W,children:F?t("Loading…"):t("Show more")}):null]})}function Ge(c){return c.kinds.map((i)=>e(Se,{kind:i.kind,label:i.label,...i.icon?{icon:i.icon}:{},active:c.active},i.kind))}function We(){let c=(_().pages??[]).filter((i)=>i.place==="settings");if(c.length===0)return null;return n("section",{className:"card stack",children:[e("h2",{children:t("More settings")}),c.map((i)=>n("a",{className:"menu-item menu-link",href:S("p",i.id),children:[e("span",{className:"menu-text",children:e("strong",{children:i.label})}),e(s,{name:"chevron",size:16})]},i.id))]})}export{Ge as HostKinds,ut as HostPage,Tt as HostRoomPage,We as HostSettingsPages,ge as ReadLog,he as UnreadMark};
@@ -1,2 +1,2 @@
1
- import{Gn,Qi}from"./chunk-index-r7fdgzy1.js";var m={bg:"#0a1130",ink:"#0b0f1e",stone:"#3c4a6d",stoneShade:"#2a3555",stoneJoint:"#1d2745",floor:"#2b3756",floorJoint:"#1b2442",rune:"#3fe6cb",runeGlow:0.9,wood:"#5b3a22",woodDark:"#3a2314",woodLight:"#7d5231",gold:"#e3b24b",goldDark:"#9a6c1d",banner:"#1b5160",bannerEdge:"#e3b24b",glass:"#2e53a3",glassLight:"#5f86d6",glassDark:"#1b2f66",sky:"#f6f3da",beam:"#9fb9ff",beamAlpha:0.14,flame:"#ffb23a",flameCore:"#fff0a8",ambient:"#6f86c9",ambientI:1.55,key:"#aebfff",keyI:1.4,plateInk:"#3a2410",paper:"#f4efe3",spot:"#ffe29a",night:!0,additive:!0,css:{bg:"#0a1130",floor:"#2b3756",ring:"#3fe6cb",text:"#f4efe3",plate:"#e3b24b"}},g={bg:"#e8dcc0",ink:"#2a2036",stone:"#b9ae9a",stoneShade:"#938873",stoneJoint:"#756b5a",floor:"#cfc2a6",floorJoint:"#a79a80",rune:"#1c9d8f",runeGlow:0.75,wood:"#8c5a33",woodDark:"#5d3a20",woodLight:"#ab7443",gold:"#e0a92f",goldDark:"#936718",banner:"#2c7283",bannerEdge:"#e0a92f",glass:"#8dbbe6",glassLight:"#c4e0f6",glassDark:"#5d8dc2",sky:"#ffe9a6",beam:"#fff0b4",beamAlpha:0.2,flame:"#ff9a2c",flameCore:"#ffe7a0",ambient:"#fff1d4",ambientI:2.1,key:"#ffe3b0",keyI:1.6,plateInk:"#3a2410",paper:"#fffaf0",spot:"#fff0b0",night:!1,additive:!1,css:{bg:"#e8dcc0",floor:"#cfc2a6",ring:"#1c9d8f",text:"#2a2036",plate:"#e0a92f"}},P={modern:{dark:{banner:m.banner,bannerEdge:m.gold,gold:m.gold,goldDark:m.goldDark},light:{banner:g.banner,bannerEdge:g.gold,gold:g.gold,goldDark:g.goldDark}},camelot:{dark:{banner:"#6b1f3f",bannerEdge:"#f0c35a",gold:"#f0c35a",goldDark:"#a8791f"},light:{banner:"#9b2a45",bannerEdge:"#e6b436",gold:"#e6b436",goldDark:"#9a6b14"}}},An=(e,n)=>({...n==="dark"?m:g,...P[e][n]}),_r={done:"#58c878",error:"#ee4b4b"};var S=(e)=>{let n=e.codePointAt(0)??0;return n>=11904&&n<=64255?1:n>=65280&&n<=65519?1:0.6};function u(e,n){if(n(e))return e;let r=Array.from(e);while(r.length>1){r.pop();let t=`${r.join("").trimEnd()}…`;if(n(t))return t}return"…"}function Tr(e,n){let r=(t)=>Array.from(t).reduce((a,o)=>a+S(o),0);return u(e,(t)=>r(t)<=n)}var Mt='system-ui, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif',p=(e)=>`700 ${e}px ${Mt}`;function T(e,n,r,t){let a=r*0.86,o=Math.round(t*0.56),s=Math.round(t*0.36),f=(i,d)=>(e.font=p(d),e.measureText(i).width);for(let i=o;i>=s;i-=2)if(f(n,i)<=a)return{text:n,px:i,font:p(i)};return{text:u(n,(i)=>f(i,s)<=a),px:s,font:p(s)}}function Bo(e,n,r,t,a){let o=Math.max(3,t*0.07);e.fillStyle=a.ink,e.fillRect(0,0,r,t);let s=e.createLinearGradient?.(0,0,0,t);if(s)s.addColorStop(0,a.gold),s.addColorStop(0.55,a.gold),s.addColorStop(1,a.goldDark),e.fillStyle=s;else e.fillStyle=a.gold;e.fillRect(o,o,r-o*2,t-o*2),e.strokeStyle=a.goldDark,e.lineWidth=Math.max(1,t*0.03),e.beginPath(),e.moveTo(o*2,o*2),e.lineTo(r-o*2,o*2),e.lineTo(r-o*2,t-o*2),e.lineTo(o*2,t-o*2),e.closePath(),e.stroke(),e.fillStyle=a.goldDark;for(let b of[o*3.4,r-o*3.4])e.beginPath(),e.arc(b,t/2,Math.max(1.4,t*0.04),0,Math.PI*2),e.fill();let f=T(e,n,r-o*4,t);return e.font=f.font,e.fillStyle=a.plateInk,e.textAlign="center",e.textBaseline="middle",e.fillText(f.text,r/2,t/2+t*0.03),f}var an=720,h=260,A=380,y=600,ln=850,Rt=160,Fo=4.2,E=0.35;function di(e,n,r){let t=new Set(e),a=new Set(n),o=e.filter((c)=>!a.has(c)),s=n.filter((c)=>!t.has(c)),f=n.filter((c)=>t.has(c)),b={leaving:o,joining:s,staying:f,swapAt:0,glideEnd:0,riseAt:0,riseEnd:0,total:0};if(o.length===0&&s.length===0)return{mode:"cut",...b};if(r)return{mode:"fade",...b,swapAt:Rt,glideEnd:Rt,riseAt:Rt,riseEnd:Rt,total:Rt*2};let i=o.length>0?A:0,d=i+y,x=d,k=s.length>0?x+ln:d;return{mode:"play",...b,swapAt:i,glideEnd:d,riseAt:x,riseEnd:k,total:Math.max(o.length>0?an:0,d,s.length>0?k:0)}}var l=(e,n=0,r=1)=>Math.min(r,Math.max(n,e));function Ii(e){let n=l(e),r=1.70158;return 1+2.70158*(n-1)**3+1.70158*(n-1)**2}function Go(e){let n=Math.sin(Math.PI*l(e/h));return{scaleX:1+0.08*n,scaleY:1-0.14*n,gone:e>=h,puff:l(e/an)}}function Di(e){if(e<0)return{shown:!1,depth:1,circle:0,light:0,spin:0,named:!1};let n=l(e/ln),r=l((n-0.25)/0.6),t=1-Ii(r);return{shown:n>=0.25,depth:t,named:n>=0.25&&t<=E,circle:l(n/0.25)*l((1-n)/0.2),light:Math.sin(Math.PI*l((n-0.2)/0.7)),spin:n*Math.PI*1.5}}var Zo=(e)=>Qi(l(e/y)),Wo=(e,n,r)=>e+Gn(e,n)*r;var M=(e)=>{let n=Math.sin(e*127.1+311.7)*43758.5453;return n-Math.floor(n)};function Pr(e,n=0){let r=Math.floor(e*7*2+n*10);if(r%2===0)return!1;return M(r)>0.2}function Yo(e=0,n=28){return{frames:Array.from({length:n},(a,o)=>Pr((o+0.5)*0.07142857142857142,e)?1:0),seconds:n*0.07142857142857142}}
2
- export{An,_r,Tr,Mt,Bo,an,ln,Rt,Fo,di,Ii,Go,Di,Zo,Wo,Pr,Yo};
1
+ import{jn,Ni}from"./chunk-index-rjs1can6.js";var m={bg:"#0a1130",ink:"#0b0f1e",stone:"#3c4a6d",stoneShade:"#2a3555",stoneJoint:"#1d2745",floor:"#2b3756",floorJoint:"#1b2442",rune:"#3fe6cb",runeGlow:0.9,wood:"#5b3a22",woodDark:"#3a2314",woodLight:"#7d5231",gold:"#e3b24b",goldDark:"#9a6c1d",banner:"#1b5160",bannerEdge:"#e3b24b",glass:"#2e53a3",glassLight:"#5f86d6",glassDark:"#1b2f66",sky:"#f6f3da",beam:"#9fb9ff",beamAlpha:0.14,flame:"#ffb23a",flameCore:"#fff0a8",ambient:"#6f86c9",ambientI:1.55,key:"#aebfff",keyI:1.4,plateInk:"#3a2410",paper:"#f4efe3",spot:"#ffe29a",night:!0,additive:!0,css:{bg:"#0a1130",floor:"#2b3756",ring:"#3fe6cb",text:"#f4efe3",plate:"#e3b24b"}},g={bg:"#e8dcc0",ink:"#2a2036",stone:"#b9ae9a",stoneShade:"#938873",stoneJoint:"#756b5a",floor:"#cfc2a6",floorJoint:"#a79a80",rune:"#1c9d8f",runeGlow:0.75,wood:"#8c5a33",woodDark:"#5d3a20",woodLight:"#ab7443",gold:"#e0a92f",goldDark:"#936718",banner:"#2c7283",bannerEdge:"#e0a92f",glass:"#8dbbe6",glassLight:"#c4e0f6",glassDark:"#5d8dc2",sky:"#ffe9a6",beam:"#fff0b4",beamAlpha:0.2,flame:"#ff9a2c",flameCore:"#ffe7a0",ambient:"#fff1d4",ambientI:2.1,key:"#ffe3b0",keyI:1.6,plateInk:"#3a2410",paper:"#fffaf0",spot:"#fff0b0",night:!1,additive:!1,css:{bg:"#e8dcc0",floor:"#cfc2a6",ring:"#1c9d8f",text:"#2a2036",plate:"#e0a92f"}},P={modern:{dark:{banner:m.banner,bannerEdge:m.gold,gold:m.gold,goldDark:m.goldDark},light:{banner:g.banner,bannerEdge:g.gold,gold:g.gold,goldDark:g.goldDark}},camelot:{dark:{banner:"#6b1f3f",bannerEdge:"#f0c35a",gold:"#f0c35a",goldDark:"#a8791f"},light:{banner:"#9b2a45",bannerEdge:"#e6b436",gold:"#e6b436",goldDark:"#9a6b14"}}},zn=(e,n)=>({...n==="dark"?m:g,...P[e][n]}),Mr={done:"#58c878",error:"#ee4b4b"};var S=(e)=>{let n=e.codePointAt(0)??0;return n>=11904&&n<=64255?1:n>=65280&&n<=65519?1:0.6};function u(e,n){if(n(e))return e;let r=Array.from(e);while(r.length>1){r.pop();let t=`${r.join("").trimEnd()}…`;if(n(t))return t}return"…"}function Rr(e,n){let r=(t)=>Array.from(t).reduce((a,o)=>a+S(o),0);return u(e,(t)=>r(t)<=n)}var Mt='system-ui, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif',p=(e)=>`700 ${e}px ${Mt}`;function T(e,n,r,t){let a=r*0.86,o=Math.round(t*0.56),s=Math.round(t*0.36),f=(i,d)=>(e.font=p(d),e.measureText(i).width);for(let i=o;i>=s;i-=2)if(f(n,i)<=a)return{text:n,px:i,font:p(i)};return{text:u(n,(i)=>f(i,s)<=a),px:s,font:p(s)}}function es(e,n,r,t,a){let o=Math.max(3,t*0.07);e.fillStyle=a.ink,e.fillRect(0,0,r,t);let s=e.createLinearGradient?.(0,0,0,t);if(s)s.addColorStop(0,a.gold),s.addColorStop(0.55,a.gold),s.addColorStop(1,a.goldDark),e.fillStyle=s;else e.fillStyle=a.gold;e.fillRect(o,o,r-o*2,t-o*2),e.strokeStyle=a.goldDark,e.lineWidth=Math.max(1,t*0.03),e.beginPath(),e.moveTo(o*2,o*2),e.lineTo(r-o*2,o*2),e.lineTo(r-o*2,t-o*2),e.lineTo(o*2,t-o*2),e.closePath(),e.stroke(),e.fillStyle=a.goldDark;for(let b of[o*3.4,r-o*3.4])e.beginPath(),e.arc(b,t/2,Math.max(1.4,t*0.04),0,Math.PI*2),e.fill();let f=T(e,n,r-o*4,t);return e.font=f.font,e.fillStyle=a.plateInk,e.textAlign="center",e.textBaseline="middle",e.fillText(f.text,r/2,t/2+t*0.03),f}var un=720,h=260,A=380,y=600,dn=850,Rt=160,ts=4.2,E=0.35;function pi(e,n,r){let t=new Set(e),a=new Set(n),o=e.filter((c)=>!a.has(c)),s=n.filter((c)=>!t.has(c)),f=n.filter((c)=>t.has(c)),b={leaving:o,joining:s,staying:f,swapAt:0,glideEnd:0,riseAt:0,riseEnd:0,total:0};if(o.length===0&&s.length===0)return{mode:"cut",...b};if(r)return{mode:"fade",...b,swapAt:Rt,glideEnd:Rt,riseAt:Rt,riseEnd:Rt,total:Rt*2};let i=o.length>0?A:0,d=i+y,x=d,k=s.length>0?x+dn:d;return{mode:"play",...b,swapAt:i,glideEnd:d,riseAt:x,riseEnd:k,total:Math.max(o.length>0?un:0,d,s.length>0?k:0)}}var l=(e,n=0,r=1)=>Math.min(r,Math.max(n,e));function Zi(e){let n=l(e),r=1.70158;return 1+2.70158*(n-1)**3+1.70158*(n-1)**2}function ns(e){let n=Math.sin(Math.PI*l(e/h));return{scaleX:1+0.08*n,scaleY:1-0.14*n,gone:e>=h,puff:l(e/un)}}function Wi(e){if(e<0)return{shown:!1,depth:1,circle:0,light:0,spin:0,named:!1};let n=l(e/dn),r=l((n-0.25)/0.6),t=1-Zi(r);return{shown:n>=0.25,depth:t,named:n>=0.25&&t<=E,circle:l(n/0.25)*l((1-n)/0.2),light:Math.sin(Math.PI*l((n-0.2)/0.7)),spin:n*Math.PI*1.5}}var is=(e)=>Ni(l(e/y)),rs=(e,n,r)=>e+jn(e,n)*r;var M=(e)=>{let n=Math.sin(e*127.1+311.7)*43758.5453;return n-Math.floor(n)};function Cr(e,n=0){let r=Math.floor(e*7*2+n*10);if(r%2===0)return!1;return M(r)>0.2}function os(e=0,n=28){return{frames:Array.from({length:n},(a,o)=>Cr((o+0.5)*0.07142857142857142,e)?1:0),seconds:n*0.07142857142857142}}
2
+ export{zn,Mr,Rr,Mt,es,un,dn,Rt,ts,pi,Zi,ns,Wi,is,rs,Cr,os};