pi-roundtable-web 0.29.1 → 0.29.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/chunk-account-dq0nhfvj.js +1 -0
- package/dist/{chunk-action-menu-ap5xn7bf.js → chunk-action-menu-37zgbhje.js} +1 -1
- package/dist/chunk-agent-yqe6reej.js +1 -0
- package/dist/chunk-arranged-rooms-sx6xg9df.js +1 -0
- package/dist/{chunk-attachments-p5v9gqyt.js → chunk-attachments-3vbj05g5.js} +2 -2
- package/dist/chunk-bulk-actions-6pehrsgb.js +1 -0
- package/dist/{chunk-character-creator-m7tw20ef.js → chunk-character-creator-bg3tdc8p.js} +2 -2
- package/dist/chunk-codeeditor-102wa9bj.js +2 -0
- package/dist/chunk-confirm-ghxga720.js +1 -0
- package/dist/chunk-connectors-0jzzren3.js +37 -0
- package/dist/chunk-conversations-3276jq4q.js +1 -0
- package/dist/chunk-council-sheet-7m884s44.js +2 -0
- package/dist/chunk-council-view-rkzcxeg8.js +1 -0
- package/dist/{chunk-drag-d1bpy8w6.js → chunk-drag-sw692nr3.js} +1 -1
- package/dist/chunk-entry-mb6jd983.js +1 -0
- package/dist/chunk-folder-list-g7st6p1e.js +1 -0
- package/dist/chunk-folds-rb1b069h.js +1 -0
- package/dist/{chunk-gate-dt91egcd.js → chunk-gate-3rxxyfev.js} +1 -1
- package/dist/chunk-host-icons-cyj62pwp.js +1 -0
- package/dist/chunk-host-picture-9wnhqckv.js +1 -0
- package/dist/chunk-host-state-b858k3p8.js +1 -0
- package/dist/chunk-host-ui-j6wvj0pe.js +1 -0
- package/dist/{chunk-index-6s2pqwna.js → chunk-index-0qzqzp6t.js} +2 -2
- package/dist/{chunk-index-w17wgjby.js → chunk-index-0t68az7d.js} +3 -3
- package/dist/chunk-index-0xdptr30.js +2 -0
- package/dist/{chunk-index-8wpvj7k5.js → chunk-index-1tkzdy4s.js} +2 -2
- package/dist/chunk-index-2s48qyrs.js +2 -0
- package/dist/chunk-index-33cqx9v2.js +2 -0
- package/dist/chunk-index-36m3knsk.js +2 -0
- package/dist/{chunk-index-7mrkq793.js → chunk-index-50syrmaq.js} +2 -2
- package/dist/{chunk-index-5j1v2q7w.js → chunk-index-50w6yq2d.js} +1 -1
- package/dist/{chunk-index-ce7hsda9.js → chunk-index-5fyqxh0r.js} +2 -2
- package/dist/chunk-index-5x3h176v.js +2 -0
- package/dist/{chunk-index-6btdp13p.js → chunk-index-6cs1wvhy.js} +1 -1
- package/dist/{chunk-index-yr758n6t.js → chunk-index-6m25qpa7.js} +2 -2
- package/dist/{chunk-index-d4mx2vvf.js → chunk-index-6nja2vd8.js} +2 -2
- package/dist/{chunk-index-wgrx2ybn.js → chunk-index-6q3dx093.js} +2 -2
- package/dist/{chunk-index-6rdywten.js → chunk-index-6ycrvwzs.js} +2 -2
- package/dist/{chunk-index-1kb8tv4v.js → chunk-index-6yfcfcc8.js} +2 -2
- package/dist/{chunk-index-4a1tdadd.js → chunk-index-7gk2sdf4.js} +3 -3
- package/dist/{chunk-index-q4k9vk04.js → chunk-index-7p31pda8.js} +3 -3
- package/dist/chunk-index-91wnf1k9.js +1 -0
- package/dist/chunk-index-9ehqccfe.js +2 -0
- package/dist/chunk-index-ar1x9fhw.js +2 -0
- package/dist/chunk-index-axw4wkqq.js +2 -0
- package/dist/chunk-index-b5patef1.js +2 -0
- package/dist/chunk-index-dagc92hw.js +2 -0
- package/dist/chunk-index-ddssgba9.js +2 -0
- package/dist/chunk-index-dpgn7kzp.js +2 -0
- package/dist/{chunk-index-cmzvq3nf.js → chunk-index-e8535c4h.js} +2 -2
- package/dist/{chunk-index-vpq2cj14.js → chunk-index-edjyj761.js} +1 -1
- package/dist/chunk-index-eez0kbk4.js +2 -0
- package/dist/chunk-index-ekp5mmvp.js +2 -0
- package/dist/{chunk-index-en728705.js → chunk-index-eyythjdx.js} +2 -2
- package/dist/chunk-index-fdg2qd3f.js +2 -0
- package/dist/chunk-index-g0sdxjxr.js +2 -0
- package/dist/{chunk-index-prq011b6.js → chunk-index-gmbk3sra.js} +1 -1
- package/dist/chunk-index-hsc9yz2x.js +2 -0
- package/dist/{chunk-index-ffnd0jcj.js → chunk-index-jrj09r5c.js} +2 -2
- package/dist/chunk-index-kvztbfqj.js +2 -0
- package/dist/{chunk-index-53fwc7sc.js → chunk-index-m7wzrmcd.js} +2 -2
- package/dist/{chunk-index-cfesmk1f.js → chunk-index-m8bv51r9.js} +2 -2
- package/dist/{chunk-index-v9jqyr1f.js → chunk-index-mey1p7h8.js} +3 -3
- package/dist/{chunk-index-0h99xcs3.js → chunk-index-mzw7nmkc.js} +2 -2
- package/dist/{chunk-index-3tksdmx7.js → chunk-index-n2v2bz8d.js} +2 -2
- package/dist/chunk-index-nncy9wxw.js +2 -0
- package/dist/chunk-index-p2e7rwac.js +2 -0
- package/dist/chunk-index-p98tt12y.js +2 -0
- package/dist/chunk-index-qdtmetsy.js +120 -0
- package/dist/{chunk-index-ysv36nbk.js → chunk-index-qedt9szy.js} +2 -2
- package/dist/{chunk-index-gdh7wsd5.js → chunk-index-qk7rp7fk.js} +11 -11
- package/dist/{chunk-index-nr275sa7.js → chunk-index-qq86fxda.js} +2 -2
- package/dist/{chunk-index-xbj816p0.js → chunk-index-qw9a7ken.js} +2 -2
- package/dist/chunk-index-s356ybxk.js +50 -0
- package/dist/{chunk-index-dr0jr7d3.js → chunk-index-sk8cvb4e.js} +3 -3
- package/dist/{chunk-index-m76gdwnk.js → chunk-index-syxwqhry.js} +2 -2
- package/dist/{chunk-index-ze9p4npm.js → chunk-index-tasbd41t.js} +2 -2
- package/dist/chunk-index-vxqzavgz.js +2 -0
- package/dist/{chunk-index-fn6305vn.js → chunk-index-x5xq9g9a.js} +3 -3
- package/dist/chunk-index-xx0kecz9.js +2 -0
- package/dist/{chunk-index-sz381vda.js → chunk-index-y1xv3dxs.js} +100 -4
- package/dist/{chunk-index-8pbwr3rs.js → chunk-index-yn1vvxj2.js} +1 -1
- package/dist/chunk-lang-css-rwkzd784.js +1 -0
- package/dist/{chunk-lang-dockerfile-y24eejnh.js → chunk-lang-dockerfile-e87ssppx.js} +1 -1
- package/dist/{chunk-lang-go-qzgv1161.js → chunk-lang-go-kbcbn346.js} +2 -2
- package/dist/chunk-lang-html-zhngbs9v.js +1 -0
- package/dist/chunk-lang-javascript-bk2s6a56.js +1 -0
- package/dist/{chunk-lang-json-99v80v88.js → chunk-lang-json-4pe1fv7e.js} +1 -1
- package/dist/{chunk-lang-markdown-gn8he877.js → chunk-lang-markdown-67cm3tjx.js} +5 -5
- package/dist/{chunk-lang-python-prsw4p4k.js → chunk-lang-python-mnfhcvww.js} +2 -2
- package/dist/{chunk-lang-rust-g6xqta16.js → chunk-lang-rust-e4a9s76x.js} +1 -1
- package/dist/{chunk-lang-shell-dmpnzc6w.js → chunk-lang-shell-43nea8tq.js} +1 -1
- package/dist/{chunk-lang-sql-wz7ca27b.js → chunk-lang-sql-28364npv.js} +2 -2
- package/dist/{chunk-lang-toml-160prtq4.js → chunk-lang-toml-a83hr7bw.js} +1 -1
- package/dist/chunk-lang-typescript-r5npc6zf.js +1 -0
- package/dist/{chunk-lang-xml-9htkz2dd.js → chunk-lang-xml-2hv5xc8n.js} +1 -1
- package/dist/{chunk-lang-yaml-08749wd5.js → chunk-lang-yaml-vw22drt8.js} +1 -1
- package/dist/chunk-layout-actions-rw5myg2t.js +1 -0
- package/dist/chunk-menu-items-q0hy5kzd.js +1 -0
- package/dist/chunk-mode-toggle-yk2t0tcy.js +1 -0
- package/dist/{chunk-note-row-28e5x7n8.js → chunk-note-row-c0trzayj.js} +3 -3
- package/dist/chunk-notes-0xcmm938.js +1 -0
- package/dist/chunk-notice-bell-f9nhxg71.js +1 -0
- package/dist/{chunk-notices-d0cwvk27.js → chunk-notices-gkaqncqz.js} +1 -1
- package/dist/chunk-onboarding-fkq9ptcw.js +1 -0
- package/dist/{chunk-overview-9sb3ywa8.js → chunk-overview-yssxbg0d.js} +1 -1
- package/dist/{chunk-palette-5sfhrv4x.js → chunk-palette-w6qbr7zp.js} +1 -1
- package/dist/chunk-placement-items-wcwy91mp.js +1 -0
- package/dist/chunk-profile-9sjgayrx.js +1 -0
- package/dist/chunk-prompt-history-kn42sf8y.js +1 -0
- package/dist/chunk-prompts-824fwgvh.js +1 -0
- package/dist/chunk-room-confirms-hvs9tra4.js +1 -0
- package/dist/{chunk-room-menu-hwkjyxwe.js → chunk-room-menu-pkd0487m.js} +1 -1
- package/dist/chunk-rooms-menu-button-w5hfhsfv.js +1 -0
- package/dist/chunk-schedules-m9mn68gt.js +1 -0
- package/dist/{chunk-seat-menu-n2bcw0mf.js → chunk-seat-menu-3tdcr44t.js} +1 -1
- package/dist/chunk-section-fold-g0tx68cj.js +1 -0
- package/dist/chunk-settings-18qmhcyr.js +1 -0
- package/dist/chunk-sheet-hosts-tsppnmvv.js +29 -0
- package/dist/{chunk-shortcut-help-434sqnxc.js → chunk-shortcut-help-wnm0cm8n.js} +2 -2
- package/dist/chunk-shortcuts-qee393s5.js +1 -0
- package/dist/{chunk-skill-editor-98492yrt.js → chunk-skill-editor-pryntvpr.js} +2 -2
- package/dist/{chunk-skills-mfv8ppfh.js → chunk-skills-sap3rysr.js} +1 -1
- package/dist/{chunk-start-over-line-m526193z.js → chunk-start-over-line-azexcxj1.js} +2 -2
- package/dist/chunk-switcher-list-6hacxjfe.js +1 -0
- package/dist/{chunk-tab-dot-tzjkahj5.js → chunk-tab-dot-h0eskhrt.js} +1 -1
- package/dist/{chunk-table-xbtbex2z.js → chunk-table-jtn49c2m.js} +1 -1
- package/dist/chunk-table2d-vy4w4r5k.js +1 -0
- package/dist/{chunk-table3d-5a7vbgyj.js → chunk-table3d-0a62jerb.js} +24 -24
- package/dist/chunk-thread-actions-31scmndt.js +1 -0
- package/dist/{chunk-thread-cards-n0n603vf.js → chunk-thread-cards-mwxzy02t.js} +1 -1
- package/dist/{chunk-thread-list-7bkdn51x.js → chunk-thread-list-52mx2m9p.js} +2 -2
- package/dist/chunk-transcript-p5q2m795.js +1 -0
- package/dist/{chunk-waiting-chip-y83c90v3.js → chunk-waiting-chip-wvkbsnw5.js} +2 -2
- package/dist/chunk-waiting-s7nm3q0p.js +1 -0
- package/dist/chunk-where-j99f8pb8.js +1 -0
- package/dist/{chunk-workspace-dw71mshw.js → chunk-workspace-ne2nkf4h.js} +2 -2
- package/dist/index.html +1 -1
- package/dist/sw.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-account-66e6ezdq.js +0 -1
- package/dist/chunk-agent-sapt5qhn.js +0 -1
- package/dist/chunk-arranged-rooms-n6bk696f.js +0 -1
- package/dist/chunk-bulk-actions-aze4ewc4.js +0 -1
- package/dist/chunk-codeeditor-yy6pq8mv.js +0 -2
- package/dist/chunk-confirm-0cajsfhk.js +0 -1
- package/dist/chunk-connectors-tw0tbm21.js +0 -37
- package/dist/chunk-conversations-wkm23m5r.js +0 -1
- package/dist/chunk-council-sheet-mz7s23nq.js +0 -2
- package/dist/chunk-council-view-zgvzxtgn.js +0 -1
- package/dist/chunk-entry-7zr5b1fp.js +0 -1
- package/dist/chunk-folder-list-bs4eh3g9.js +0 -1
- package/dist/chunk-folds-eez1q41c.js +0 -1
- package/dist/chunk-host-icons-nfe2t8tk.js +0 -1
- package/dist/chunk-host-picture-4rtswxwa.js +0 -1
- package/dist/chunk-host-state-1vxzmmq6.js +0 -1
- package/dist/chunk-host-ui-x38bf0et.js +0 -1
- package/dist/chunk-index-24cggw6k.js +0 -50
- package/dist/chunk-index-2g8xtwqg.js +0 -2
- package/dist/chunk-index-3n38xe7m.js +0 -2
- package/dist/chunk-index-55ps4x5n.js +0 -2
- package/dist/chunk-index-5w6tb7p0.js +0 -2
- package/dist/chunk-index-6m7dwsmv.js +0 -1
- package/dist/chunk-index-7xcbpeqz.js +0 -2
- package/dist/chunk-index-88wh5eyj.js +0 -2
- package/dist/chunk-index-97dcp1vh.js +0 -1
- package/dist/chunk-index-a7e6rhxy.js +0 -2
- package/dist/chunk-index-bxf8eq1s.js +0 -2
- package/dist/chunk-index-c8gm1crh.js +0 -120
- package/dist/chunk-index-d74tpnkd.js +0 -2
- package/dist/chunk-index-fb3kzyyp.js +0 -2
- package/dist/chunk-index-mr391t49.js +0 -2
- package/dist/chunk-index-n3khm9fq.js +0 -2
- package/dist/chunk-index-nn4w6a04.js +0 -2
- package/dist/chunk-index-pgxgq61x.js +0 -2
- package/dist/chunk-index-rgdaec7y.js +0 -2
- package/dist/chunk-index-rjs1can6.js +0 -2
- package/dist/chunk-index-s4a8e4qm.js +0 -2
- package/dist/chunk-index-vsaggfns.js +0 -2
- package/dist/chunk-index-wsv46y9p.js +0 -2
- package/dist/chunk-index-zfdvyrjt.js +0 -2
- package/dist/chunk-lang-css-3h22se37.js +0 -1
- package/dist/chunk-lang-html-9rvrmmpg.js +0 -1
- package/dist/chunk-lang-javascript-4kv8s3tk.js +0 -1
- package/dist/chunk-lang-typescript-mp0yw903.js +0 -1
- package/dist/chunk-layout-actions-tdx896xf.js +0 -1
- package/dist/chunk-menu-items-trhybv1g.js +0 -1
- package/dist/chunk-mode-toggle-4dtfphq4.js +0 -1
- package/dist/chunk-notes-5nkayhw8.js +0 -1
- package/dist/chunk-notice-bell-xz8a04am.js +0 -1
- package/dist/chunk-onboarding-zs4rtea9.js +0 -1
- package/dist/chunk-placement-items-e2neja55.js +0 -1
- package/dist/chunk-profile-jffhtpqf.js +0 -1
- package/dist/chunk-prompt-history-1jz2gk3v.js +0 -1
- package/dist/chunk-prompts-0t30ttd0.js +0 -1
- package/dist/chunk-room-confirms-6595921h.js +0 -1
- package/dist/chunk-rooms-menu-button-k0eq1tcr.js +0 -1
- package/dist/chunk-schedules-e12y8fw2.js +0 -1
- package/dist/chunk-sheet-hosts-myvm2vhd.js +0 -29
- package/dist/chunk-shortcuts-mjxph0g7.js +0 -1
- package/dist/chunk-switcher-list-5ngjar24.js +0 -1
- package/dist/chunk-table2d-61bvrykm.js +0 -1
- package/dist/chunk-thread-actions-bf6vf2mt.js +0 -1
- package/dist/chunk-transcript-8ztrkt6g.js +0 -1
- package/dist/chunk-waiting-s273kcgz.js +0 -1
- package/dist/chunk-where-jr791gzj.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{po,mo,go}from"./chunk-index-qedt9szy.js";import"./chunk-index-6m25qpa7.js";export{mo as clearAcross,go as clearFinished,po as dismissThread};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t,
|
|
1
|
+
import{t,we,Oe,wn,Ms,$i,br}from"./chunk-index-s356ybxk.js";import{po,go}from"./chunk-index-qedt9szy.js";import{Vr}from"./chunk-index-ddssgba9.js";import"./chunk-index-6m25qpa7.js";var E=12,R=24,y=180,L=150,C=100,w=".thread-card",h=".thread-group",g=(e)=>e instanceof Element?e.closest(w):null,B=(e)=>e.closest("li"),m=(e)=>e.dataset.closed==="",I=(e)=>new Promise((i)=>setTimeout(i,e));function X(e){return[...e.closest(h)?.querySelectorAll(`${w}[data-closed]`)??[]].flatMap((n)=>n.dataset.thread?[n.dataset.thread]:[])}function q(e){let i=B(e);if(delete e.dataset.armed,e.style.transition="",e.style.transform="",e.style.opacity="",i)i.style.transition="",i.style.height="",i.style.marginBottom="",i.style.opacity=""}async function F(e){let i=B(e);if(!i||we())return;e.dataset.leaving="",e.style.transition=`transform ${y}ms var(--ease-out), opacity ${y}ms var(--ease-out)`,e.style.transform="translate3d(110%, 0, 0)",e.style.opacity="0",await I(y),i.style.height=`${i.offsetHeight}px`,i.getBoundingClientRect(),i.style.transition=`height ${L}ms var(--ease-out), margin-bottom ${L}ms var(--ease-out)`,i.style.height="0px",i.style.marginBottom="calc(var(--space-1) * -1)",await I(L)}function _(e){let i=[...e.closest(h)?.querySelectorAll(`${w} .thread-link`)??[]],n=e.querySelector(".thread-link"),o=n?i.indexOf(n):-1;if(document.activeElement&&!e.contains(document.activeElement))return;(i[o+1]??i[o-1]??e.closest(h)?.querySelector("summary"))?.closest("a, summary")?.focus()}async function T(e){let i=e.dataset.thread;if(!i||!m(e)||e.dataset.leaving!==void 0)return;if(_(e),await F(e),!await po(i))q(e);delete e.dataset.leaving}function M(e,i,n){let o=[];if(m(e))o.push({id:"clear",label:t("Clear this thread"),icon:"trash",tone:"danger",run:()=>T(e)});let l=X(e),f=e.closest(h)?.dataset.parent||void 0;if(l.length>0)o.push({id:"clear-all",label:t("Clear all finished"),icon:"trash",tone:"danger",run:()=>go(f,l)});Oe({title:e.querySelector(".thread-title")?.textContent??"",items:o,at:i,via:n,source:e.querySelector(".thread-link")??e})}var O=(e)=>{if(e.cancelable)e.preventDefault()};function W(e,i){let n=e.at(-1);if(!n||i-n.t>C)return 0;let o=e.find((l)=>n.t-l.t<=C);if(!o||n.t<=o.t)return 0;return(n.x-o.x)/(n.t-o.t)}function z(e){let i=Vr(),n,o=!1,l=()=>{n?.press.cancel(),window.removeEventListener("touchmove",O),n=void 0},f=(s)=>{if(o=!1,s.pointerType==="mouse"||!s.isPrimary)return;let r=g(s.target);if(!r||s.target.closest(".thread-more"))return;l();let a={x:s.clientX,y:s.clientY},c=new wn((d)=>{if(o=!0,typeof navigator.vibrate==="function")navigator.vibrate(10);if(n)n.state="reject";v(r),M(r,d,"hold")});c.begin(a.x,a.y),n={id:s.pointerId,card:r,origin:a,press:c,swipes:!$i(a.x,window.innerWidth),state:"wait",offset:0,samples:[{x:a.x,t:s.timeStamp}]}},v=(s)=>{if(s.dataset.leaving!==void 0)return;delete s.dataset.armed,s.style.transition=`transform ${we()?0:y}ms var(--ease-out)`,s.style.transform=""},x=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r}=n,a=s.clientX-n.origin.x,c=s.clientY-n.origin.y;if(n.state==="wait"){n.press.move(s.clientX,s.clientY);let p=Math.abs(a);if(!n.swipes)return;if(p>=E&&p>Ms*Math.abs(c)){if(n.state=a>0?"drag":"reject",n.state==="drag")n.press.cancel(),r.style.transition="none",window.addEventListener("touchmove",O,{passive:!1})}else if(Math.abs(c)>=E)n.state="reject";if(n.state!=="drag")return}if(n.state!=="drag")return;let d=Math.max(0,a-E),u=r.offsetWidth||1;if(n.offset=m(r)?Math.min(d,u):Math.min(R,d*0.3),n.samples.push({x:s.clientX,t:s.timeStamp}),r.style.transform=`translate3d(${n.offset}px, 0, 0)`,m(r))if(br(n.offset/u,0))r.dataset.armed="";else delete r.dataset.armed},H=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r,state:a,offset:c,samples:d}=n,u=n.press.end();if(l(),u)o=!0;if(a!=="drag")return;o=!0;let p=r.offsetWidth||1,A=W(d,s.timeStamp);if(m(r)&&c>E&&br(c/p,A))T(r);else v(r)},b=(s)=>{if(!n||n.id!==s.pointerId)return;let{card:r,state:a}=n;if(l(),a==="drag")v(r)},S=(s)=>{let r=g(s.target);if(!r)return;if(s.preventDefault(),o)return;n?.press.cancel(),M(r,{x:s.clientX,y:s.clientY},"contextmenu")},P=(s)=>{o=!1;let r=g(s.target);if(!r)return;if(s.key==="Delete"&&m(r))s.preventDefault(),T(r);else if(s.key==="ContextMenu"||s.key==="F10"&&s.shiftKey){s.preventDefault();let a=r.getBoundingClientRect();M(r,{x:a.left+Math.min(a.width/2,48),y:a.top+24},"key")}},k=(s)=>{if(!o)return;o=!1,s.preventDefault(),s.stopPropagation()},D=(s)=>{if(g(s.target))s.preventDefault()};return e.addEventListener("pointerdown",f),e.addEventListener("pointermove",x),e.addEventListener("pointerup",H),e.addEventListener("pointercancel",b),e.addEventListener("contextmenu",S),e.addEventListener("keydown",P),e.addEventListener("click",k,!0),e.addEventListener("dragstart",D),()=>{l(),i(),e.removeEventListener("pointerdown",f),e.removeEventListener("pointermove",x),e.removeEventListener("pointerup",H),e.removeEventListener("pointercancel",b),e.removeEventListener("contextmenu",S),e.removeEventListener("keydown",P),e.removeEventListener("click",k,!0),e.removeEventListener("dragstart",D)}}export{z as attachThreadCards,M as openCardMenu};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p,ee,
|
|
1
|
+
import{p,ee,s,a,t,B,g,e,n,o,S,u,M,_,ke,te,mr,qe,en,ei,Rn,It}from"./chunk-index-s356ybxk.js";var C="roundtable-console:helpers-folded";function Z(){try{let i=localStorage.getItem(C),r=i?JSON.parse(i):{};if(typeof r!=="object"||r===null||Array.isArray(r))return{};return Object.fromEntries(Object.entries(r).filter((l)=>typeof l[1]==="boolean"))}catch{return{}}}var x,{emit:z,use:O}=M(),H=()=>(x??=Z(),x);function E(i,r){return O(H)[i]??!r}function L(i,r){x={...H(),[i]:r};try{localStorage.setItem(C,JSON.stringify(x))}catch{}z()}var T=!1;function D(){if(T||typeof document>"u")return;if(T=!0,typeof CSSStyleSheet<"u"&&"adoptedStyleSheets"in Document.prototype)try{let r=new CSSStyleSheet;r.replaceSync(`
|
|
2
2
|
.helper-group {
|
|
3
3
|
display: flex;
|
|
4
4
|
flex-direction: column;
|
|
@@ -224,4 +224,4 @@ import{p,ee,o,a,t,G,g,e,n,s,S,d,P,_,we,te,rr,Ue,Kt,Wn,Tn,Xt}from"./chunk-index-2
|
|
|
224
224
|
animation: none;
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
|
-
`,document.head.append(i)}D();var
|
|
227
|
+
`,document.head.append(i)}D();var P=ee(function(r){let{view:l}=r,c=l.helper?.finished===!0;return e("li",{children:n("a",{className:"helper-link",href:S("room",l.key),"data-helper":l.name,"data-finished":c?"":void 0,"aria-current":r.active?"page":void 0,children:[e(qe,{view:l,size:20}),e("strong",{children:l.displayName}),e(en,{room:l.key}),n("span",{className:"helper-state",children:[r.waiting?e(Rn,{count:r.waiting}):null,!c&&!r.waiting?e("span",{className:"helper-dot",role:"img","aria-label":t("Working")}):null,c?e("span",{children:t("Ended")}):null,c&&r.at?e("span",{className:"room-row-time",children:ke(r.at,r.now,r.timeZone)}):null]})]})})});function F(i){let{now:r}=te(),{timeZone:l}=_(),c=It(i.keys),w=c.some((h)=>h.view.helper?.finished!==!0),m=i.parent??"",v=!E(m,w)||c.some((h)=>h.key===i.active)?c:[];if(c.length===0)return null;return n("div",{className:"helper-group","data-parent":i.parent,children:[e("button",{type:"button",className:"helper-head","aria-expanded":v.length>0,onClick:()=>L(m,v.length>0),children:B(c.length,"{count} temp knight","{count} temp knights")}),v.length>0?e("ul",{className:"helper-list",children:v.map(({key:h,...y})=>e(P,{...y,active:h===i.active,now:r,timeZone:l},h))}):null]})}var I=ee(function(r){let{view:l,parent:c}=r,w=mr(l.key),m=Boolean(l.closed);return n("li",{className:"thread-item",children:[m?n("span",{className:"thread-reveal","aria-hidden":"true",children:[e(o,{name:"trash",size:18}),t("Clear")]}):null,n("div",{className:"thread-card","data-hold":"row","data-thread":l.key,"data-closed":m?"":void 0,style:w,children:[n("a",{className:"thread-link",href:S("room",l.key),"aria-current":r.active?"page":void 0,children:[c?e(qe,{view:c,size:36}):e(o,{name:"conversations",size:20,className:"thread-row-icon"}),n("span",{className:"thread-card-main",children:[n("span",{className:"thread-card-top",children:[e("strong",{className:"thread-title",children:l.displayName}),e(en,{room:l.key})]}),n("span",{className:"thread-card-meta",children:[r.typing?e(ei,{}):null,e("span",{className:m?"badge":"badge badge-accent",children:m?t("Finished"):t("In progress")}),r.waiting?e(Rn,{count:r.waiting}):null,e("span",{className:"room-row-time",children:r.at?ke(r.at,r.now,r.timeZone):""})]})]})]}),m?e("button",{type:"button",className:"thread-more","aria-haspopup":"menu","aria-label":t("More actions for {name}",{name:l.displayName}),onClick:(f)=>{let v=f.currentTarget,h=v.closest(".thread-card"),y=v.getBoundingClientRect();if(h)(p("mwxzy02t"),import("./chunk-thread-cards-mwxzy02t.js")).then((k)=>k.openCardMenu(h,{x:y.right,y:y.bottom},"key"))},children:e(o,{name:"more",size:18})}):null]})]})});function A(i){let{now:r}=te(),{timeZone:l}=_(),c=It(i.open),w=c.filter((d)=>d.view.helper).map((d)=>d.key),m=c.filter((d)=>!d.view.helper),f=It(i.closed),v=u((d)=>i.parent?d.rooms[i.parent]?.view:void 0,i.parent??""),h=a(null),y=m.length+f.length>0;if(s(()=>{let d=h.current;if(!y||!d)return;let b=!1,N;return (p("mwxzy02t"),import("./chunk-thread-cards-mwxzy02t.js")).then((R)=>{if(!b)N=R.attachThreadCards(d)}),()=>{b=!0,N?.()}},[y]),!y&&w.length===0)return null;let k=({key:d,...b})=>e(I,{...b,active:d===i.active,now:r,timeZone:l,parent:v},d);if(!y)return e(F,{keys:w,parent:i.parent,active:i.active});return n(g,{children:[w.length?e(F,{keys:w,parent:i.parent,active:i.active}):null,n("div",{className:"thread-group",ref:h,"data-parent":i.parent,children:[m.length?e("ul",{className:"thread-list","aria-label":t("Dispatch threads"),children:m.map(k)}):null,f.length?n("div",{className:"thread-finished",children:[n("details",{className:"thread-closed",...f.some((d)=>d.key===i.active)?{open:!0}:{},children:[e("summary",{children:B(f.length,"{count} finished thread","{count} finished threads")}),e("ul",{className:"thread-list",children:f.map(k)})]}),e("button",{type:"button",className:"thread-clear",onClick:()=>(p("31scmndt"),import("./chunk-thread-actions-31scmndt.js")).then((d)=>d.clearFinished(i.parent,f.map((b)=>b.key))),children:t("Clear finished")})]}):null]})]})}export{A as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s,A,a,r,t,c,g,e,n,S,y,x,m,k,P,_,oe,Ci}from"./chunk-index-s356ybxk.js";import{Se}from"./chunk-index-b5patef1.js";import{Ee}from"./chunk-index-sk8cvb4e.js";function U({conversationKey:o}){let[p,v]=r(),u=A(),d=a(!1),{data:i,error:h}=Se(()=>y.transcript(o,p),`${o}|${p??""}`);s(()=>{if(i&&!d.current)d.current=!0,window.scrollTo(0,document.body.scrollHeight)},[i]);let N=n("a",{className:"back",href:S("conversations"),children:["← ",t("Conversations")]});if(!i)return n(g,{children:[N,h?e(m,{message:h}):e(x,{})]});let{conversation:f}=i,T=f.kind==="outside"?t("Outside AI client · {id}",{id:f.id.slice(0,8)}):Ci(f);return n(g,{children:[N,n("section",{className:"stack",children:[n("div",{className:"card-head",children:[e("h2",{children:T}),f.busy>0?e(P,{tone:"busy",children:t("running")}):null]}),i.archives.length>0?n("label",{className:"inline",htmlFor:u,children:[t("Showing")," ",n(Ee,{id:u,value:p??"",onChange:(l)=>{d.current=!1,v(l.target.value||void 0)},children:[e("option",{value:"",children:t("Current conversation")}),i.archives.map((l)=>e("option",{value:l,children:t("Archived {name}",{name:l})},l))]})]}):null,h?e(m,{message:h}):null,i.truncated?e("p",{className:"hint",children:t("This conversation is longer than the console reads; the oldest entries are not shown.")}):null,i.entries.length===0?e(k,{children:t("Nothing to show.")}):null,e("ol",{className:"transcript",children:i.entries.map((l,w)=>e(E,{entry:l},w))})]})]})}function E({entry:o}){let{timeZone:p}=_(),v=o.at?oe(o.at,p):"";if(o.role==="tool")return e("li",{className:"entry entry-tool",children:n("details",{children:[n("summary",{children:[o.failed?t("Tool failed"):t("Tool result"),o.tool?` · ${o.tool}`:""]}),e("pre",{children:o.text||t("(empty)")})]})});return n("li",{className:`entry entry-${o.role}`,children:[n("div",{className:"entry-head",children:[e("span",{className:"role",children:t(b[o.role])}),e("span",{className:"meta",children:v})]}),o.text?e("p",{className:"text",children:o.text}):null,o.calls?.map((u,d)=>n("code",{className:"call",children:[u.name," ",u.preview]},d))]})}var b={user:c("User"),assistant:c("Knight"),tool:c("Tool"),compaction:c("Summary of earlier conversation")};export{U as TranscriptPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{s,r,B,e,n,o,u}from"./chunk-index-s356ybxk.js";import{gn,Zr,Wr,Ti,cr}from"./chunk-index-p2e7rwac.js";import{Y}from"./chunk-index-d941ae7c.js";var M=1500,E=`
|
|
2
2
|
.waiting-chip-slot {
|
|
3
3
|
position: relative;
|
|
4
4
|
z-index: 3;
|
|
@@ -29,4 +29,4 @@ import{o,r,G,e,n,s,d}from"./chunk-index-24cggw6k.js";import{fn,Vr,qr,bi,Ji}from"
|
|
|
29
29
|
outline-offset: 3px;
|
|
30
30
|
transition: outline-color var(--dur-slow) var(--ease-out);
|
|
31
31
|
}
|
|
32
|
-
`;function I(S){Y("waiting",E);let{roomKey:b,scroller:p,loaded:w}=S,c=
|
|
32
|
+
`;function I(S){Y("waiting",E);let{roomKey:b,scroller:p,loaded:w}=S,c=u((t)=>gn(t).filter((a)=>a.card.room===b).map((a)=>a.id).join(" "),b),l=Zr(),[T,y]=r([]);s(()=>{let t=p.current;if(!t||!w||typeof IntersectionObserver>"u")return;let a=new Map,m=new IntersectionObserver((d)=>{for(let i of d){let f=i.target.dataset.card;if(f)a.set(f,i.isIntersecting)}y([...a].flatMap(([i,f])=>f?[]:[i]))},{root:t});for(let d of c.split(" ")){let i=d?Ti(t,d):void 0;if(i)m.observe(i)}return()=>m.disconnect()},[c,p,w]),s(()=>{let t=p.current;if(!t||!w||!l||!c.split(" ").includes(l))return;let a,m=()=>{let g=Ti(t,l);if(!g||g===a)return;a=g,cr(t,l)},d=requestAnimationFrame(m),i=typeof MutationObserver>"u"?void 0:new MutationObserver(m);i?.observe(t,{childList:!0,subtree:!0});let f=setTimeout(()=>Wr(l),M);return()=>{cancelAnimationFrame(d),i?.disconnect(),clearTimeout(f)}},[w,l,c,p]);let h=c?c.split(" ").length:0,[v]=T;return e("div",{className:"waiting-chip-slot",children:v&&h?n("button",{type:"button",className:"waiting-chip",onClick:()=>cr(p.current,v),children:[e(o,{name:"shield",size:16}),B(h,"{count} card waiting for an answer","{count} cards waiting for an answer")]}):null})}export{I as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{gn,Qa,ar,Gr,lr,Zr,Wr,Ti,cr}from"./chunk-index-p2e7rwac.js";export{Ti as cardSlot,ar as closeWaitingList,lr as jumpToCard,Qa as openWaiting,cr as showCard,Wr as targetShown,Zr as useTarget,Gr as useWaitingList,gn as waitingList};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bn,Fr}from"./chunk-index-tasbd41t.js";export{Bn as currentQuery,Fr as followUrl};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p,
|
|
1
|
+
import{p,On,E,Te,s,A,Pe,R,a,r,t,c,g,e,n,o,S,Qi,X,ur,fe,h,l,f,x,m,k,P,_,oe,Me,Re}from"./chunk-index-s356ybxk.js";import{D}from"./chunk-index-6cs1wvhy.js";import{Ee}from"./chunk-index-sk8cvb4e.js";import{H}from"./chunk-index-9ehqccfe.js";import{C}from"./chunk-index-e8535c4h.js";import{Y}from"./chunk-index-d941ae7c.js";function dt(i,d,u){let[v,w]=r();s(()=>{if(!i)return;let N=(b)=>b.preventDefault(),O=(b)=>{if(b.button!==0||b.metaKey||b.ctrlKey||b.shiftKey||b.altKey)return;let W=b.target instanceof Element?b.target.closest("a"):null;if(!W||W.target||W.hasAttribute("download"))return;if(d.current?.contains(W))return;b.preventDefault(),b.stopPropagation(),w({kind:"link",anchor:W})},L=Qi((b)=>w({kind:"navigate",proceed:b}));return window.addEventListener("beforeunload",N),document.addEventListener("click",O,!0),()=>{L(),window.removeEventListener("beforeunload",N),document.removeEventListener("click",O,!0)}},[i,d]);let y=E(()=>w(void 0),[]),T=E(()=>{let N=v;if(u(),w(void 0),N?.kind==="link")setTimeout(()=>N.anchor.click(),0);else if(N?.kind==="navigate")N.proceed()},[v,u]);return{leaving:v,stay:y,leave:T}}var de=(i)=>`workspace/${encodeURIComponent(i)}`,xe=(i)=>`path=${encodeURIComponent(i)}`,_e=(i)=>({body:JSON.stringify(i)});function Ue(i){if(!(i instanceof fe)||i.status!==409)return;let d=i.body;return d?.conflict==="changed"||d?.conflict==="gone"||d?.conflict==="exists"?d:void 0}var q={roots:()=>h("workspace"),list:(i,d)=>h(`${de(i)}/list?${xe(d)}`),file:(i,d)=>h(`${de(i)}/file?${xe(d)}`),save:(i,d,u,v)=>h(`${de(i)}/file?${xe(d)}`,{method:"PUT",..._e({text:u,baseHash:v})}),create:(i,d,u,v)=>h(`${de(i)}/new?${xe(d)}`,{method:"POST",..._e({kind:u,...v===void 0?{}:{text:v}})}),rename:(i,d,u)=>h(`${de(i)}/rename`,{method:"POST",..._e({from:d,to:u})}),remove:(i,d)=>h(`${de(i)}/entry?${xe(d)}`,{method:"DELETE"}),trash:(i)=>h(`${de(i)}/trash`),restore:(i,d)=>h(`${de(i)}/trash/${encodeURIComponent(d)}/restore`,{method:"POST"}),purge:(i,d)=>h(`${de(i)}/trash/${encodeURIComponent(d)}`,{method:"DELETE"})},we=(i,d,u=!1)=>`api/${de(i)}/raw?${xe(d)}${u?"&download=1":""}`;var We=(i)=>i.split("/").filter(Boolean),ve=(i)=>We(i).slice(0,-1).join("/"),Ne=(i,d)=>i?`${i}/${d}`:d,ze=(i)=>`${i.root}:${i.path}${i.dir&&i.path?"/":""}`;function lt(i){if(!i)return;let d=i.indexOf(":");if(d<1)return;let u=i.slice(d+1);return{root:i.slice(0,d),path:u.replace(/\/+$/,""),dir:u===""||u.endsWith("/")}}var ct=`/*
|
|
2
2
|
* The files pane: roots, a tree, breadcrumbs, a folder's rows, and a file in the editor. Colors
|
|
3
3
|
* are the page's tokens and the --code-* set (tokens.css, styles/camelot.css), so a look or a
|
|
4
4
|
* light/dark switch recolors it with nothing rebuilt. Only transform and opacity ever move.
|
|
@@ -583,4 +583,4 @@ a.ws-row-link:hover {
|
|
|
583
583
|
transition: none;
|
|
584
584
|
}
|
|
585
585
|
}
|
|
586
|
-
`;var ut={folder:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z","folder-plus":"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7ZM12 10v6M9 13h6","file-plus":"M6 3h9l4 4v14H6zM14 3v5h5M12 12v6M9 15h6"},Ct=(i)=>(i in ut);function be(i){let{name:d,size:c=20,className:b}=i;if(!Ct(d))return e(s,{name:d,size:c,...b?{className:b}:{}});return e("svg",{viewBox:"0 0 24 24",width:c,height:c,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",...b?{className:b}:{},children:e("path",{d:ut[d]})})}function Ye(i){return n("div",{className:"ws-media-actions",children:[i.open?e("a",{className:"button-link",href:we(i.root,i.path),target:"_blank",rel:"noopener",children:t("Open")}):null,n("a",{className:"button-link",href:we(i.root,i.path,!0),download:i.name,children:[e(s,{name:"download",size:18}),t("Download")]})]})}function Ze(i){let d=i.name.lastIndexOf("."),c=d>0?i.name.slice(d+1).toUpperCase():"";return n("div",{className:"card ws-card",children:[e("span",{className:"ws-card-icon","aria-hidden":"true",children:e(s,{name:"file",size:32})}),e("strong",{children:i.name}),e("span",{className:"meta",children:[c,Pe(i.bytes)].filter(Boolean).join(" · ")}),e("p",{children:i.message}),e(Ye,{root:i.root,path:i.path,name:i.name})]})}var Et=(i)=>!i&&navigator.pdfViewerEnabled!==!1;function mt(i){let{media:d,root:c,path:b,name:w,bytes:x,phone:T,onFacts:N}=i,[P,W]=r(!1),[y,z]=r(!1);o(()=>(W(!1),z(!1),N(void 0),()=>N(void 0)),[c,b]);let I=we(c,b);if(P)return e(Ze,{root:c,path:b,name:w,bytes:x,message:t("This browser cannot show this file.")});switch(d){case"image":return e("div",{className:"ws-media ws-image","data-actual":y||void 0,children:e("button",{type:"button",className:"ws-image-toggle","aria-label":y?t("Fit to window"):t("Show at full size"),title:y?t("Fit to window"):t("Show at full size"),onClick:()=>z((F)=>!F),children:e("img",{src:I,alt:w,onLoad:(F)=>{let{naturalWidth:te,naturalHeight:q}=F.currentTarget;N(te>0?`${te} × ${q}`:void 0)},onError:()=>W(!0)})})});case"pdf":return Et(T)?n("div",{className:"ws-media ws-pdf-frame",children:[e("iframe",{className:"ws-pdf",src:I,title:w}),e(Ye,{root:c,path:b,name:w,open:!0})]}):e("div",{className:"ws-media",children:n("div",{className:"card ws-card",children:[e("span",{className:"ws-card-icon","aria-hidden":"true",children:e(s,{name:"file",size:32})}),e("strong",{children:w}),n("span",{className:"meta",children:["PDF · ",Pe(x)]}),e(Ye,{root:c,path:b,name:w,open:!0})]})});case"audio":return e("div",{className:"ws-media ws-sound",children:e("audio",{controls:!0,preload:"metadata",src:I,onError:()=>W(!0)})});case"video":return e("div",{className:"ws-media ws-film",children:e("video",{controls:!0,playsInline:!0,preload:"metadata",src:I,onLoadedMetadata:(F)=>{let{videoWidth:te,videoHeight:q}=F.currentTarget;N(te>0?`${te} × ${q}`:void 0)},onError:()=>W(!0)})})}}var St={"read-only-root":u("this place is read-only"),"git-dir":u("inside .git"),trash:u("in the trash"),symlink:u("a link"),binary:u("binary file"),"too-large":u("too large"),"not-utf8":u("not UTF-8")};function Je(i){if(i.id==="agents")return t("Knights' workspace");if(i.id==="scratch")return t("Scratch");return i.label}var gt=new Set([".git","node_modules"]),Ge=(i)=>`roundtable.workspace.open.${i}`,ft="roundtable.workspace.tree",pt="roundtable.workspace.wrap";function et(i,d){try{let c=localStorage.getItem(i);return c===null?d:JSON.parse(c)}catch{return d}}function Ke(i,d){try{localStorage.setItem(i,JSON.stringify(d))}catch{}}var ze=hn({rev:0,bump:()=>{return}});Y("workspace",ct);var Ce=new Map,Rt=200;function Tt(i,d){Ce.delete(i),Ce.set(i,d);let c=Ce.keys().next().value;if(Ce.size>Rt&&c!==void 0)Ce.delete(c)}function ht(i,d,c=!0){let{rev:b}=_e(ze),[w,x]=r(0),[T,N]=r({key:"",root:i,path:d}),P=`${i}:${d}`;if(o(()=>{let y=()=>x((z)=>z+1);return window.addEventListener("focus",y),()=>window.removeEventListener("focus",y)},[]),o(()=>{if(!c)return;let y=!0;return j.list(i,d).then((z)=>{if(Tt(P,z),y)N({key:P,root:i,path:d,data:z})},(z)=>y&&N({key:P,root:i,path:d,error:l(z)})),()=>{y=!1}},[i,d,c,b,w]),T.key===P)return{data:T.data,error:T.error,at:T};let W=Ce.get(P);if(W)return{data:W,at:{root:i,path:d}};if(T.data)return{data:T.data,at:T,pending:!0};return{}}var Ee=(i)=>S("workspace",We(i));function tt(i,d,c){let b=Ne(d,c.name);if(c.kind==="dir")return{root:i,path:b,dir:!0};if(c.kind==="file")return{root:i,path:b,dir:!1};if(c.kind==="symlink"&&c.inside)return{root:i,path:b,dir:c.target==="dir"};return}function Lt(i){let d=Le(i.path),c=a(null);return o(()=>{c.current?.scrollIntoView?.({inline:"end",block:"nearest"})},[i.path]),n("nav",{className:"ws-crumbs","aria-label":t("Path"),children:[e("a",{ref:d.length===0?c:void 0,href:Ee({root:i.root.id,path:"",dir:!0}),"aria-current":d.length===0?"page":void 0,children:Je(i.root)}),d.map((b,w)=>{let x=d.slice(0,w+1).join("/"),T=w===d.length-1;return e("a",{ref:T?c:void 0,href:Ee({root:i.root.id,path:x,dir:!0}),"aria-current":T?"page":void 0,children:b},x)})]})}function wt(i){let{data:d,error:c,pending:b}=ht(i.root,i.path);if(c)return e("p",{className:"ws-tree-note",children:c});if(!d||b)return e("p",{className:"ws-tree-note",children:"…"});if(d.entries.length===0)return e("p",{className:"ws-tree-note",children:t("This folder is empty")});return n("ul",{className:"ws-tree-list","data-depth":i.depth,children:[d.entries.map((w)=>{let x=tt(i.root,i.path,w),T=Ne(i.path,w.name),N=x?.dir===!0,P=N&&i.open.has(T),W=i.current?.root===i.root&&i.current.path===T&&i.current.dir===N;return n("li",{children:[n("div",{className:"ws-tree-row","data-selected":W||void 0,"data-quiet":gt.has(w.name)||void 0,style:{paddingLeft:`${0.25+i.depth*0.875}rem`},children:[N?e("button",{type:"button",className:"ws-twist","aria-expanded":P,"aria-label":t("Show or hide {name}",{name:w.name}),onClick:()=>i.toggle(T),children:e(s,{name:"chevron",size:14})}):e("span",{className:"ws-twist"}),x?n("a",{href:Ee(x),title:w.name,children:[e(be,{name:N?"folder":"file",size:15}),e("span",{className:"ws-tree-label",children:w.name})]}):n("span",{className:"ws-tree-off",title:w.inside===!1?t("Outside the workspace"):"",children:[e(s,{name:"file",size:15}),e("span",{className:"ws-tree-label",children:w.name})]})]}),P?e(wt,{root:i.root,path:T,depth:i.depth+1,open:i.open,toggle:i.toggle,current:i.current}):null]},w.name)}),d.truncated?e("li",{className:"ws-tree-note",children:t("Only the first 2,000 items are listed")}):null]})}function Wt(i){let{data:d,error:c,at:b,pending:w}=ht(i.root.id,i.path),{timeZone:x}=_(),T=a(null),N=b?.root??i.root.id,P=b?.path??i.path;if(Te(()=>{T.current?.closest(".ws-main")?.scrollTo?.(0,0)},[N,P]),c)return e(m,{message:c});if(!d)return e(v,{});if(d.missing)return e(k,{children:t("No files yet")});if(d.entries.length===0)return e(k,{children:t("This folder is empty")});return n("div",{ref:T,className:"ws-listing","data-pending":w||void 0,"aria-busy":w||void 0,inert:w||void 0,children:[e("ul",{className:"ws-rows",children:d.entries.map((W)=>{let y=tt(N,P,W),z=n(g,{children:[e(be,{name:y?.dir?"folder":"file",size:20,className:"ws-row-icon"}),n("span",{className:"ws-row-main",children:[e("strong",{children:W.name}),e("span",{className:"meta",children:W.kind==="symlink"&&W.inside===!1?t("Outside the workspace"):W.kind==="other"?t("Not a regular file"):[y?.dir?void 0:Pe(W.size),oe(new Date(W.mtimeMs).toISOString(),x)].filter(Boolean).join(" · ")})]})]});return n("li",{className:"ws-row","data-quiet":gt.has(W.name)||void 0,children:[y?e("a",{className:"ws-row-link",href:Ee(y),children:z}):e("span",{className:"ws-row-link","data-off":!0,children:z}),i.root.writable||y?e("button",{type:"button",className:"icon-button","aria-label":t("Actions for {name}",{name:W.name}),onClick:()=>i.onMenu(W),children:e(s,{name:"menu"})}):null]},W.name)})}),d.truncated?e("p",{className:"meta",children:t("Only the first 2,000 items are listed")}):null]})}function zt(i){let{timeZone:d}=_(),{bump:c}=_e(ze),{root:b,path:w}=i,[x,T]=r(),[N,P]=r(),[W,y]=r("read"),[z,I]=r(!1),[F,te]=r(!1),[q,Ue]=r(()=>et(pt,i.phone)),[Me,ne]=r(!1),[Se,ke]=r(),[V,A]=r(!1),[Z,ue]=r(!1),[De,Be]=r(!1),[me,le]=r(),[U,pe]=r(),[ye,$e]=r(),ge=a(null),K=a(void 0),O=a(null),ie=a(x);ie.current=x;let G=a(W);G.current=W;let J=Le(w).at(-1)??w,Oe=x?.text!==void 0,Ie=Oe&&(x?.media===void 0||V),nt=E(async()=>{let M=await j.file(b.id,w);return T(M),M},[b.id,w]);o(()=>{let M=!0;return j.file(b.id,w).then((B)=>M&&T(B),(B)=>M&&P(l(B))),()=>{M=!1}},[b.id,w]);let je=dt(z,O,()=>{let M=ie.current;if(M?.text!==void 0)K.current?.replace(M.text,M.eol);I(!1),y("read")});o(()=>{if(!z)return;let M=document.title;return document.title=`• ${M}`,()=>{document.title=M}},[z]);let Fe=E(async(M,B)=>{let ce=ie.current,ee=K.current;if(!ce||!ee||F)return;let ae=B===void 0?ee.snapshot():void 0,Ae=B??ee.text();te(!0);try{let re=await j.save(b.id,w,Ae,M??ce.hash);ee.markSaved(ae),I(ee.dirty()),le(void 0),T({...ce,hash:re.hash,size:re.size,mtimeMs:re.mtimeMs,text:Ae}),f(t("Saved")),c()}catch(re){let se=He(re);if(se)pe({kind:se.conflict==="gone"?"gone":"changed",...se.current?{hash:se.current.hash}:{},text:Ae});else f(l(re),"danger")}finally{te(!1)}},[b.id,w,F,c]),at=a(Fe);at.current=Fe;let he=E(async()=>{try{let M=await nt();if(M.text!==void 0)K.current?.replace(M.text,M.eol);I(!1),le(void 0),pe(void 0)}catch(M){f(l(M),"danger")}},[nt]),vt=a(he);vt.current=he;let qe=E(()=>{if(K.current?.dirty()){ot(!0);return}y("read")},[]),[bt,ot]=r(!1),rt=a(qe);rt.current=qe,o(()=>{if(!Ie||!ge.current)return;let M=ie.current;if(!M||M.text===void 0)return;let B=!1,ce;return (p("yy6pq8mv"),import("./chunk-codeeditor-yy6pq8mv.js")).then(async({createEditor:ee})=>{if(B||!ge.current)return;let ae=await ee({parent:ge.current,text:M.text??"",eol:M.eol,language:M.language,editable:!1,wrap:q,phrases:{Find:t("Find"),Replace:t("Replace"),next:t("next"),previous:t("previous"),all:t("all"),"match case":t("match case"),regexp:t("regexp"),"by word":t("by word"),replace:t("replace"),"replace all":t("replace all"),close:t("close")},onChange:()=>I(ae.dirty()),onSave:()=>{if(G.current==="edit"&&ae.dirty())at.current()},onEscape:()=>{if(G.current==="edit")rt.current()}});if(B){ae.destroy();return}ce=ae,K.current=ae,ue(!0)}).catch((ee)=>{if(console.warn("the editor failed to load",ee),!B)Be(!0)}),()=>{B=!0,ce?.destroy(),K.current=void 0,ue(!1)}},[Ie,b.id,w]),o(()=>{if(!Z)return;let M=W==="edit"&&x?.editable===!0;if(K.current?.setEditable(M),M)K.current?.focus()},[W,Z,x?.editable]),o(()=>{if(!Z)return;K.current?.setWrap(q),Ke(pt,q)},[q,Z]);let it=x!==void 0;if(o(()=>{if(!it)return;let M=!1,B=async()=>{if(M||document.visibilityState==="hidden")return;let ae=ie.current;if(!ae)return;M=!0;try{let re=(await j.list(b.id,ve(w))).entries.find((xt)=>xt.name===J);if(!re){le("gone");return}if(re.kind==="symlink")return;if(re.size===ae.size&&re.mtimeMs===ae.mtimeMs)return;if(G.current==="edit"&&K.current?.dirty()){le("changed");return}let se=await j.file(b.id,w);if(se.hash!==ae.hash){if(T(se),se.text!==void 0)K.current?.replace(se.text,se.eol)}le(void 0)}catch{}finally{M=!1}},ce=setInterval(()=>void B(),5000),ee=()=>void B();return window.addEventListener("focus",ee),document.addEventListener("visibilitychange",ee),()=>{clearInterval(ce),window.removeEventListener("focus",ee),document.removeEventListener("visibilitychange",ee)}},[it,b.id,w,J]),N)return e("div",{className:"ws-file",children:e(m,{message:N})});if(!x)return e("div",{className:"ws-file",children:e(v,{})});let st=x.reason,kt=!x.editable?e(Q,{tone:"warn",children:t("Read only: {reason}",{reason:st?t(St[st]):""})}):null,Ve=W==="edit",yt=n("div",{className:"ws-actions",children:[x.editable&&!Ve?e("button",{type:"button",onClick:()=>{A(!0),y("edit")},children:t("Edit")}):null,Ve?n(g,{children:[e("button",{type:"button",disabled:F||!z,onClick:()=>void Fe(),children:t("Save")}),e("button",{type:"button",className:"secondary",onClick:qe,children:t("Cancel")})]}):null,e("button",{type:"button",className:"icon-button","aria-label":t("File menu"),onClick:()=>ne(!0),children:e(s,{name:"menu"})})]});return n("div",{className:"ws-file",ref:O,children:[n("header",{className:"ws-file-head",children:[n("div",{className:"ws-file-title",children:[n("strong",{children:[z?"• ":"",J]}),n("span",{className:"meta",children:[Pe(x.size),Se?` · ${Se}`:""," ·"," ",oe(new Date(x.mtimeMs).toISOString(),d)]})]}),kt,yt]}),me?n("div",{className:"ws-banner",role:"status",children:[e("span",{className:"ws-banner-text",children:me==="gone"?t("This file is gone"):t("A knight is changing this file")}),me==="changed"?n(g,{children:[e("button",{type:"button",className:"secondary",onClick:()=>void he(),children:t("Reload (discard my edits)")}),e("button",{type:"button",className:"secondary",onClick:()=>le(void 0),children:t("Keep editing")})]}):null]}):null,e("div",{className:"ws-view",children:x.media&&!Ie?e(mt,{media:x.media,root:b.id,path:w,name:J,bytes:x.size,phone:i.phone,onFacts:ke}):Ie?e("div",{ref:ge,className:"ws-editor","data-editing":Ve||void 0,children:!Z?e("pre",{className:"ws-plain","aria-busy":!De,children:x.text}):null}):e(Ze,{root:b.id,path:w,name:J,bytes:x.size,message:x.tooLarge?t("This file is too large to show here."):t("This file is not text, so it cannot be shown here.")})}),i.phone&&Ve?n("div",{className:"ws-editbar",role:"toolbar","aria-label":t("Editing"),children:[e("button",{type:"button",disabled:F||!z,onClick:()=>void Fe(),children:t("Save")}),e("button",{type:"button",className:"secondary",onClick:()=>K.current?.undo(),children:t("Undo")}),e("button",{type:"button",className:"secondary",onClick:()=>K.current?.redo(),children:t("Redo")}),e("button",{type:"button",className:"secondary",onClick:()=>K.current?.find(),children:t("Find")}),e("button",{type:"button",className:"secondary",onClick:()=>K.current?.tab(),children:t("Tab")})]}):null,e(R,{open:Me,title:J,onClose:()=>ne(!1),children:e("div",{className:"stack",children:n("ul",{className:"more-list",children:[Oe?e("li",{children:e("button",{type:"button",className:"menu-item",onClick:()=>{Ue((M)=>!M),ne(!1)},children:e("span",{className:"menu-text",children:e("strong",{children:q?t("Do not wrap lines"):t("Wrap lines")})})})}):null,e("li",{children:n("a",{className:"menu-item menu-link",href:we(b.id,w,!0),download:J,onClick:()=>ne(!1),children:[e("span",{className:"menu-icon",children:e(s,{name:"download"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Download")})})]})}),e("li",{children:n("button",{type:"button",className:"menu-item",onClick:()=>{ne(!1),he()},children:[e("span",{className:"menu-icon",children:e(s,{name:"refresh"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Reload")})})]})})]})})}),e(H,{open:U!==void 0,title:U?.kind==="gone"?t("This file is gone"):t("This file changed while you were editing"),onClose:()=>pe(void 0),children:n("div",{className:"stack",children:[e("p",{children:U?.kind==="gone"?t("Someone deleted it. Your text has not been saved."):t("Your text has not been saved. What should happen to it?")}),n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>{navigator.clipboard?.writeText(U?.text??"").then(()=>f(t("Copied")))},children:t("Copy my text")}),U?.kind==="changed"?e("button",{type:"button",className:"secondary",onClick:()=>void he(),children:t("Reload (discard my edits)")}):null,e("button",{type:"button",className:"danger",onClick:()=>{if(!U)return;if(U.kind==="gone"){let M=U.text;pe(void 0),j.create(b.id,w,"file",M).then(async()=>{await he(),c()}).catch((B)=>f(l(B),"danger"));return}$e({hash:U.hash??"",text:U.text}),pe(void 0)},children:U?.kind==="gone"?t("Save mine as a new file"):t("Save mine anyway")})]})]})}),e(D,{open:ye!==void 0,title:t("Replace the knight's changes?"),confirmLabel:t("Save mine anyway"),tone:"danger",onClose:()=>$e(void 0),onConfirm:async()=>{if(!ye)return;await j.save(b.id,w,ye.text,ye.hash),await he(),f(t("Saved")),c()},children:e("p",{children:t("The file has been changed since you opened it. Saving yours writes over those changes.")})}),e(D,{open:bt,title:t("Unsaved changes, leave?"),confirmLabel:t("Discard"),cancelLabel:t("Keep editing"),tone:"danger",onClose:()=>ot(!1),onConfirm:async()=>{if(x.text!==void 0)K.current?.replace(x.text,x.eol);I(!1),y("read")},children:e("p",{children:t("Your edits to {name} have not been saved.",{name:J})})}),e(D,{open:je.leaving!==void 0,title:t("Unsaved changes, leave?"),confirmLabel:t("Discard"),cancelLabel:t("Keep editing"),tone:"danger",onClose:je.stay,onConfirm:async()=>je.leave(),children:e("p",{children:t("Your edits to {name} have not been saved.",{name:J})})})]})}function Mt(i){let{ask:d}=i,[c,b]=r(""),[w,x]=r(),[T,N]=r(!1),P=L();o(()=>{b(d?.kind==="rename"?d.name:""),x(void 0)},[d]);let W=d?.kind==="rename"?t("Rename"):d?.kind==="dir"?t("New folder"):t("New file"),y=async(z)=>{if(z.preventDefault(),!d)return;let I=c.trim();if(!I||I.includes("/")){x(t("Use a name without slashes."));return}N(!0),x(void 0);try{if(d.kind==="rename"){let F=Ne(ve(d.path),I);await j.rename(i.root.id,d.path,F),f(t("Renamed")),i.onDone()}else{let F=Ne(d.dir,I);await j.create(i.root.id,F,d.kind),f(t("Created")),i.onDone({root:i.root.id,path:F,dir:d.kind==="dir"})}}catch(F){let te=He(F);x(te?.conflict==="exists"?t("Something with that name is already there."):l(F))}finally{N(!1)}};return e(H,{open:d!==void 0,title:W,onClose:i.onClose,children:n("form",{className:"stack",onSubmit:y,children:[e("label",{htmlFor:P,children:t("Name")}),e("input",{id:P,value:c,autoComplete:"off",autoCapitalize:"off",spellCheck:!1,onChange:(z)=>b(z.target.value)}),w?e(m,{message:w}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:i.onClose,children:t("Cancel")}),e("button",{type:"submit",disabled:T||!c.trim(),children:d?.kind==="rename"?t("Rename"):t("Create")})]})]})})}function Dt(i){let{bump:d,rev:c}=_e(ze),[b,w]=r(),[x,T]=r(),[N,P]=r(),{timeZone:W}=_();return o(()=>{if(!i.open)return;let y=!0;return j.trash(i.root.id).then((z)=>y&&w(z.items),(z)=>y&&T(l(z))),()=>{y=!1}},[i.open,i.root.id,c]),n(H,{open:i.open,title:t("Trash"),onClose:i.onClose,children:[n("div",{className:"stack",children:[x?e(m,{message:x}):null,!b&&!x?e(v,{}):null,b?.length===0?e(k,{children:t("The trash is empty")}):null,e("ul",{className:"ws-rows",children:b?.map((y)=>n("li",{className:"ws-row",children:[n("span",{className:"ws-row-link","data-off":!0,children:[e(be,{name:y.kind==="dir"?"folder":"file",size:20,className:"ws-row-icon"}),n("span",{className:"ws-row-main",children:[e("strong",{children:y.path}),e("span",{className:"meta",children:oe(y.deletedAt,W)})]})]}),e("button",{type:"button",className:"secondary",onClick:async()=>{try{await j.restore(i.root.id,y.id),f(t("Restored")),d()}catch(z){let I=He(z);f(I?I.conflict==="exists"?t("Something with that name is already there."):t("The folder it was in is gone."):l(z),"danger")}},children:t("Restore")}),e("button",{type:"button",className:"icon-button danger-icon","aria-label":t("Delete {name} for good",{name:y.name}),onClick:()=>P(y),children:e(s,{name:"trash"})})]},y.id))})]}),e(D,{open:N!==void 0,title:t("Delete for good?"),confirmLabel:t("Delete for good"),tone:"danger",onClose:()=>P(void 0),onConfirm:async()=>{if(!N)return;await j.purge(i.root.id,N.id),d()},children:e("p",{children:t("“{name}” will be removed and cannot be brought back.",{name:N?.path??""})})})]})}function yn(){let i=er(),d=!Qe("(min-width: 720px)"),[c,b]=r(0),w=E(()=>b((O)=>O+1),[]),x=C(()=>({rev:c,bump:w}),[c,w]),[T,N]=r(),[P,W]=r();o(()=>{j.roots().then((O)=>N(O.roots),(O)=>W(l(O)))},[]);let[y,z]=r(()=>et(ft,280)),[I,F]=r(),[te,q]=r(),[Ue,Me]=r(!1),[ne,Se]=r(),ke=lt(i.key),V=T?.find((O)=>O.id===ke?.root)??(d?void 0:T?.[0]),A=V?ke&&ke.root===V.id?ke:{root:V.id,path:"",dir:!0}:void 0,Z=V?.id,ue=A?.path,De=A?.dir,[Be,me]=r(new Set);o(()=>{if(!Z)return;me(new Set(et(Ge(Z),[])))},[Z]);let le=E((O)=>{if(!Z)return;me((ie)=>{let G=new Set(ie);if(G.has(O))G.delete(O);else G.add(O);return Ke(Ge(Z),[...G]),G})},[Z]);if(o(()=>{if(!Z||ue===void 0||d)return;let O=Le(De?ue:ve(ue)),ie=O.map((G,J)=>O.slice(0,J+1).join("/"));me((G)=>{if(ie.every((Oe)=>G.has(Oe)))return G;let J=new Set([...G,...ie]);return Ke(Ge(Z),[...J]),J})},[Z,ue,De,d]),P)return e(m,{message:P});if(!T)return e(v,{});if(T.length===0)return e(k,{children:t("No files yet")});if(!V||!A)return e(ze.Provider,{value:x,children:n("div",{className:"page ws-page",children:[e("header",{className:"page-head",children:e("h1",{children:t("Files")})}),e("ul",{className:"more-list",children:T.map((O)=>e("li",{children:n("a",{className:"menu-item menu-link",href:Ee({root:O.id,path:"",dir:!0}),children:[e("span",{className:"menu-icon",children:e(be,{name:"folder"})}),n("span",{className:"menu-text",children:[e("strong",{children:Je(O)}),O.writable?null:e("span",{className:"meta",children:t("Read only")})]}),e(s,{name:"chevron",size:16})]})},O.id))})]})});let U=A.dir?A.path:ve(A.path),pe=A.path===""?{root:V.id,path:"",dir:!0}:{root:V.id,path:ve(A.path),dir:!0},ye=n("header",{className:"ws-head",children:[d?e("a",{className:"icon-button","aria-label":t("Back"),href:A.path===""?S("workspace"):Ee(pe),children:e(s,{name:"back"})}):e(Re,{chip:!0,className:"ws-root-picker","aria-label":t("Place"),value:V.id,onChange:(O)=>X("workspace",We({root:O.target.value,path:"",dir:!0})),children:T.map((O)=>e("option",{value:O.id,children:Je(O)},O.id))}),e(Lt,{root:V,path:A.path}),V.writable?n("div",{className:"ws-head-actions",children:[e("button",{type:"button",className:"icon-button","aria-label":t("New file"),title:t("New file"),onClick:()=>q({kind:"file",dir:U}),children:e(be,{name:"file-plus"})}),e("button",{type:"button",className:"icon-button","aria-label":t("New folder"),title:t("New folder"),onClick:()=>q({kind:"dir",dir:U}),children:e(be,{name:"folder-plus"})}),e("button",{type:"button",className:"icon-button","aria-label":t("Trash"),title:t("Trash"),onClick:()=>Me(!0),children:e(s,{name:"trash"})})]}):null]}),$e=A.dir?e("div",{className:"ws-dir",children:e(Wt,{root:V,path:A.path,onMenu:(O)=>F(O)})}):e(zt,{root:V,path:A.path,phone:d},`${V.id}:${A.path}`),ge=I?tt(V.id,U,I):void 0,K=I?Ne(U,I.name):"";return n(ze.Provider,{value:x,children:[n("div",{className:"ws-page ws","data-wide":!d||void 0,style:{"--ws-tree":`${y}px`},children:[ye,n("div",{className:"ws-body",children:[!d?n(g,{children:[e("aside",{className:"ws-tree","aria-label":t("Folders"),children:e(wt,{root:V.id,path:"",depth:0,open:Be,toggle:le,current:A})}),e($t,{width:y,onChange:(O)=>{z(O),Ke(ft,O)}})]}):null,e("section",{className:"ws-main",children:$e})]})]}),e(R,{open:I!==void 0,title:I?.name??"",onClose:()=>F(void 0),children:n("ul",{className:"more-list",children:[ge&&!ge.dir?e("li",{children:n("a",{className:"menu-item menu-link",href:we(V.id,K,!0),download:I?.name,onClick:()=>F(void 0),children:[e("span",{className:"menu-icon",children:e(s,{name:"download"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Download")})})]})}):null,V.writable&&I?n(g,{children:[e("li",{children:n("button",{type:"button",className:"menu-item",onClick:()=>{q({kind:"rename",path:K,name:I.name}),F(void 0)},children:[e("span",{className:"menu-icon",children:e(s,{name:"notes"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Rename")})})]})}),e("li",{children:n("button",{type:"button",className:"menu-item",onClick:()=>{Se({path:K,name:I.name}),F(void 0)},children:[e("span",{className:"menu-icon",children:e(s,{name:"trash"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Delete")})})]})})]}):null]})}),e(Mt,{root:V,ask:te,onClose:()=>q(void 0),onDone:(O)=>{if(q(void 0),w(),O)X("workspace",We(O))}}),e(Dt,{root:V,open:Ue,onClose:()=>Me(!1)}),e(D,{open:ne!==void 0,title:t("Move to the trash?"),confirmLabel:t("Delete"),tone:"danger",onClose:()=>Se(void 0),onConfirm:async()=>{if(!ne)return;if(await j.remove(V.id,ne.path),f(t("Moved to the trash")),w(),!A.dir&&(A.path===ne.path||A.path.startsWith(`${ne.path}/`)))X("workspace",We({root:V.id,path:ve(A.path),dir:!0}))},children:e("p",{children:t("“{name}” goes to the trash, where you can bring it back.",{name:ne?.name??""})})})]})}function $t(i){let b=(w)=>Math.min(560,Math.max(180,w));return e("div",{className:"ws-resizer",role:"separator","aria-orientation":"vertical","aria-valuenow":i.width,"aria-valuemin":180,"aria-valuemax":560,"aria-label":t("Resize the folder list"),tabIndex:0,onKeyDown:(w)=>{if(w.key==="ArrowLeft")i.onChange(b(i.width-16));if(w.key==="ArrowRight")i.onChange(b(i.width+16))},onPointerDown:(w)=>{let x=w.clientX,T=i.width,N=w.currentTarget;N.setPointerCapture(w.pointerId);let P=(y)=>i.onChange(b(T+y.clientX-x)),W=()=>{N.removeEventListener("pointermove",P),N.removeEventListener("pointerup",W)};N.addEventListener("pointermove",P),N.addEventListener("pointerup",W)}})}export{yn as WorkspacePage};
|
|
586
|
+
`;var ut={folder:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z","folder-plus":"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7ZM12 10v6M9 13h6","file-plus":"M6 3h9l4 4v14H6zM14 3v5h5M12 12v6M9 15h6"},Ct=(i)=>(i in ut);function be(i){let{name:d,size:u=20,className:v}=i;if(!Ct(d))return e(o,{name:d,size:u,...v?{className:v}:{}});return e("svg",{viewBox:"0 0 24 24",width:u,height:u,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",...v?{className:v}:{},children:e("path",{d:ut[d]})})}function Ze(i){return n("div",{className:"ws-media-actions",children:[i.open?e("a",{className:"button-link",href:we(i.root,i.path),target:"_blank",rel:"noopener",children:t("Open")}):null,n("a",{className:"button-link",href:we(i.root,i.path,!0),download:i.name,children:[e(o,{name:"download",size:18}),t("Download")]})]})}function Ge(i){let d=i.name.lastIndexOf("."),u=d>0?i.name.slice(d+1).toUpperCase():"";return n("div",{className:"card ws-card",children:[e("span",{className:"ws-card-icon","aria-hidden":"true",children:e(o,{name:"file",size:32})}),e("strong",{children:i.name}),e("span",{className:"meta",children:[u,Me(i.bytes)].filter(Boolean).join(" · ")}),e("p",{children:i.message}),e(Ze,{root:i.root,path:i.path,name:i.name})]})}var Et=(i)=>!i&&navigator.pdfViewerEnabled!==!1;function mt(i){let{media:d,root:u,path:v,name:w,bytes:y,phone:T,onFacts:N}=i,[O,L]=r(!1),[b,W]=r(!1);s(()=>(L(!1),W(!1),N(void 0),()=>N(void 0)),[u,v]);let I=we(u,v);if(O)return e(Ge,{root:u,path:v,name:w,bytes:y,message:t("This browser cannot show this file.")});switch(d){case"image":return e("div",{className:"ws-media ws-image","data-actual":b||void 0,children:e("button",{type:"button",className:"ws-image-toggle","aria-label":b?t("Fit to window"):t("Show at full size"),title:b?t("Fit to window"):t("Show at full size"),onClick:()=>W((F)=>!F),children:e("img",{src:I,alt:w,onLoad:(F)=>{let{naturalWidth:te,naturalHeight:Z}=F.currentTarget;N(te>0?`${te} × ${Z}`:void 0)},onError:()=>L(!0)})})});case"pdf":return Et(T)?n("div",{className:"ws-media ws-pdf-frame",children:[e("iframe",{className:"ws-pdf",src:I,title:w}),e(Ze,{root:u,path:v,name:w,open:!0})]}):e("div",{className:"ws-media",children:n("div",{className:"card ws-card",children:[e("span",{className:"ws-card-icon","aria-hidden":"true",children:e(o,{name:"file",size:32})}),e("strong",{children:w}),n("span",{className:"meta",children:["PDF · ",Me(y)]}),e(Ze,{root:u,path:v,name:w,open:!0})]})});case"audio":return e("div",{className:"ws-media ws-sound",children:e("audio",{controls:!0,preload:"metadata",src:I,onError:()=>L(!0)})});case"video":return e("div",{className:"ws-media ws-film",children:e("video",{controls:!0,playsInline:!0,preload:"metadata",src:I,onLoadedMetadata:(F)=>{let{videoWidth:te,videoHeight:Z}=F.currentTarget;N(te>0?`${te} × ${Z}`:void 0)},onError:()=>L(!0)})})}}var St={"read-only-root":c("this place is read-only"),"git-dir":c("inside .git"),trash:c("in the trash"),symlink:c("a link"),binary:c("binary file"),"too-large":c("too large"),"not-utf8":c("not UTF-8")};function Qe(i){if(i.id==="agents")return t("Knights' workspace");if(i.id==="scratch")return t("Scratch");return i.label}var gt=new Set([".git","node_modules"]),Je=(i)=>`roundtable.workspace.open.${i}`,ft="roundtable.workspace.tree",pt="roundtable.workspace.wrap";function et(i,d){try{let u=localStorage.getItem(i);return u===null?d:JSON.parse(u)}catch{return d}}function Be(i,d){try{localStorage.setItem(i,JSON.stringify(d))}catch{}}var De=On({rev:0,bump:()=>{return}});Y("workspace",ct);var Ce=new Map,Rt=200;function Tt(i,d){Ce.delete(i),Ce.set(i,d);let u=Ce.keys().next().value;if(Ce.size>Rt&&u!==void 0)Ce.delete(u)}function ht(i,d,u=!0){let{rev:v}=Te(De),[w,y]=r(0),[T,N]=r({key:"",root:i,path:d}),O=`${i}:${d}`;if(s(()=>{let b=()=>y((W)=>W+1);return window.addEventListener("focus",b),()=>window.removeEventListener("focus",b)},[]),s(()=>{if(!u)return;let b=!0;return q.list(i,d).then((W)=>{if(Tt(O,W),b)N({key:O,root:i,path:d,data:W})},(W)=>b&&N({key:O,root:i,path:d,error:l(W)})),()=>{b=!1}},[i,d,u,v,w]),T.key===O)return{data:T.data,error:T.error,at:T};let L=Ce.get(O);if(L)return{data:L,at:{root:i,path:d}};if(T.data)return{data:T.data,at:T,pending:!0};return{}}var Se=(i)=>S("workspace",ze(i));function tt(i,d,u){let v=Ne(d,u.name);if(u.kind==="dir")return{root:i,path:v,dir:!0};if(u.kind==="file")return{root:i,path:v,dir:!1};if(u.kind==="symlink"&&u.inside)return{root:i,path:v,dir:u.target==="dir"};return}function Lt(i){let d=We(i.path),u=a(null);return s(()=>{u.current?.scrollIntoView?.({inline:"end",block:"nearest"})},[i.path]),n("nav",{className:"ws-crumbs","aria-label":t("Path"),children:[e("a",{ref:d.length===0?u:void 0,href:Se({root:i.root.id,path:"",dir:!0}),"aria-current":d.length===0?"page":void 0,children:Qe(i.root)}),d.map((v,w)=>{let y=d.slice(0,w+1).join("/"),T=w===d.length-1;return e("a",{ref:T?u:void 0,href:Se({root:i.root.id,path:y,dir:!0}),"aria-current":T?"page":void 0,children:v},y)})]})}function wt(i){let{data:d,error:u,pending:v}=ht(i.root,i.path);if(u)return e("p",{className:"ws-tree-note",children:u});if(!d||v)return e("p",{className:"ws-tree-note",children:"…"});if(d.entries.length===0)return e("p",{className:"ws-tree-note",children:t("This folder is empty")});return n("ul",{className:"ws-tree-list","data-depth":i.depth,children:[d.entries.map((w)=>{let y=tt(i.root,i.path,w),T=Ne(i.path,w.name),N=y?.dir===!0,O=N&&i.open.has(T),L=i.current?.root===i.root&&i.current.path===T&&i.current.dir===N;return n("li",{children:[n("div",{className:"ws-tree-row","data-selected":L||void 0,"data-quiet":gt.has(w.name)||void 0,style:{paddingLeft:`${0.25+i.depth*0.875}rem`},children:[N?e("button",{type:"button",className:"ws-twist","aria-expanded":O,"aria-label":t("Show or hide {name}",{name:w.name}),onClick:()=>i.toggle(T),children:e(o,{name:"chevron",size:14})}):e("span",{className:"ws-twist"}),y?n("a",{href:Se(y),title:w.name,children:[e(be,{name:N?"folder":"file",size:15}),e("span",{className:"ws-tree-label",children:w.name})]}):n("span",{className:"ws-tree-off",title:w.inside===!1?t("Outside the workspace"):"",children:[e(o,{name:"file",size:15}),e("span",{className:"ws-tree-label",children:w.name})]})]}),O?e(wt,{root:i.root,path:T,depth:i.depth+1,open:i.open,toggle:i.toggle,current:i.current}):null]},w.name)}),d.truncated?e("li",{className:"ws-tree-note",children:t("Only the first 2,000 items are listed")}):null]})}function Wt(i){let{data:d,error:u,at:v,pending:w}=ht(i.root.id,i.path),{timeZone:y}=_(),T=a(null),N=v?.root??i.root.id,O=v?.path??i.path;if(Pe(()=>{T.current?.closest(".ws-main")?.scrollTo?.(0,0)},[N,O]),u)return e(m,{message:u});if(!d)return e(x,{});if(d.missing)return e(k,{children:t("No files yet")});if(d.entries.length===0)return e(k,{children:t("This folder is empty")});return n("div",{ref:T,className:"ws-listing","data-pending":w||void 0,"aria-busy":w||void 0,inert:w||void 0,children:[e("ul",{className:"ws-rows",children:d.entries.map((L)=>{let b=tt(N,O,L),W=n(g,{children:[e(be,{name:b?.dir?"folder":"file",size:20,className:"ws-row-icon"}),n("span",{className:"ws-row-main",children:[e("strong",{children:L.name}),e("span",{className:"meta",children:L.kind==="symlink"&&L.inside===!1?t("Outside the workspace"):L.kind==="other"?t("Not a regular file"):[b?.dir?void 0:Me(L.size),oe(new Date(L.mtimeMs).toISOString(),y)].filter(Boolean).join(" · ")})]})]});return n("li",{className:"ws-row","data-quiet":gt.has(L.name)||void 0,children:[b?e("a",{className:"ws-row-link",href:Se(b),children:W}):e("span",{className:"ws-row-link","data-off":!0,children:W}),i.root.writable||b?e("button",{type:"button",className:"icon-button","aria-label":t("Actions for {name}",{name:L.name}),onClick:()=>i.onMenu(L),children:e(o,{name:"menu"})}):null]},L.name)})}),d.truncated?e("p",{className:"meta",children:t("Only the first 2,000 items are listed")}):null]})}function zt(i){let{timeZone:d}=_(),{bump:u}=Te(De),{root:v,path:w}=i,[y,T]=r(),[N,O]=r(),[L,b]=r("read"),[W,I]=r(!1),[F,te]=r(!1),[Z,je]=r(()=>et(pt,i.phone)),[$e,ne]=r(!1),[Le,ke]=r(),[V,K]=r(!1),[G,ue]=r(!1),[Oe,qe]=r(!1),[me,le]=r(),[B,pe]=r(),[ye,Ie]=r(),ge=a(null),U=a(void 0),M=a(null),ie=a(y);ie.current=y;let J=a(L);J.current=L;let Q=We(w).at(-1)??w,Fe=y?.text!==void 0,Ve=Fe&&(y?.media===void 0||V),nt=E(async()=>{let z=await q.file(v.id,w);return T(z),z},[v.id,w]);s(()=>{let z=!0;return q.file(v.id,w).then((j)=>z&&T(j),(j)=>z&&O(l(j))),()=>{z=!1}},[v.id,w]);let Xe=dt(W,M,()=>{let z=ie.current;if(z?.text!==void 0)U.current?.replace(z.text,z.eol);I(!1),b("read")});s(()=>{if(!W)return;let z=document.title;return document.title=`• ${z}`,()=>{document.title=z}},[W]);let Ae=E(async(z,j)=>{let ce=ie.current,ee=U.current;if(!ce||!ee||F)return;let ae=j===void 0?ee.snapshot():void 0,Ke=j??ee.text();te(!0);try{let re=await q.save(v.id,w,Ke,z??ce.hash);ee.markSaved(ae),I(ee.dirty()),le(void 0),T({...ce,hash:re.hash,size:re.size,mtimeMs:re.mtimeMs,text:Ke}),f(t("Saved")),u()}catch(re){let se=Ue(re);if(se)pe({kind:se.conflict==="gone"?"gone":"changed",...se.current?{hash:se.current.hash}:{},text:Ke});else f(l(re),"danger")}finally{te(!1)}},[v.id,w,F,u]),at=a(Ae);at.current=Ae;let he=E(async()=>{try{let z=await nt();if(z.text!==void 0)U.current?.replace(z.text,z.eol);I(!1),le(void 0),pe(void 0)}catch(z){f(l(z),"danger")}},[nt]),vt=a(he);vt.current=he;let Ye=E(()=>{if(U.current?.dirty()){ot(!0);return}b("read")},[]),[bt,ot]=r(!1),rt=a(Ye);rt.current=Ye,s(()=>{if(!Ve||!ge.current)return;let z=ie.current;if(!z||z.text===void 0)return;let j=!1,ce;return (p("102wa9bj"),import("./chunk-codeeditor-102wa9bj.js")).then(async({createEditor:ee})=>{if(j||!ge.current)return;let ae=await ee({parent:ge.current,text:z.text??"",eol:z.eol,language:z.language,editable:!1,wrap:Z,phrases:{Find:t("Find"),Replace:t("Replace"),next:t("next"),previous:t("previous"),all:t("all"),"match case":t("match case"),regexp:t("regexp"),"by word":t("by word"),replace:t("replace"),"replace all":t("replace all"),close:t("close")},onChange:()=>I(ae.dirty()),onSave:()=>{if(J.current==="edit"&&ae.dirty())at.current()},onEscape:()=>{if(J.current==="edit")rt.current()}});if(j){ae.destroy();return}ce=ae,U.current=ae,ue(!0)}).catch((ee)=>{if(console.warn("the editor failed to load",ee),!j)qe(!0)}),()=>{j=!0,ce?.destroy(),U.current=void 0,ue(!1)}},[Ve,v.id,w]),s(()=>{if(!G)return;let z=L==="edit"&&y?.editable===!0;if(U.current?.setEditable(z),z)U.current?.focus()},[L,G,y?.editable]),s(()=>{if(!G)return;U.current?.setWrap(Z),Be(pt,Z)},[Z,G]);let it=y!==void 0;if(s(()=>{if(!it)return;let z=!1,j=async()=>{if(z||document.visibilityState==="hidden")return;let ae=ie.current;if(!ae)return;z=!0;try{let re=(await q.list(v.id,ve(w))).entries.find((xt)=>xt.name===Q);if(!re){le("gone");return}if(re.kind==="symlink")return;if(re.size===ae.size&&re.mtimeMs===ae.mtimeMs)return;if(J.current==="edit"&&U.current?.dirty()){le("changed");return}let se=await q.file(v.id,w);if(se.hash!==ae.hash){if(T(se),se.text!==void 0)U.current?.replace(se.text,se.eol)}le(void 0)}catch{}finally{z=!1}},ce=setInterval(()=>void j(),5000),ee=()=>void j();return window.addEventListener("focus",ee),document.addEventListener("visibilitychange",ee),()=>{clearInterval(ce),window.removeEventListener("focus",ee),document.removeEventListener("visibilitychange",ee)}},[it,v.id,w,Q]),N)return e("div",{className:"ws-file",children:e(m,{message:N})});if(!y)return e("div",{className:"ws-file",children:e(x,{})});let st=y.reason,kt=!y.editable?e(P,{tone:"warn",children:t("Read only: {reason}",{reason:st?t(St[st]):""})}):null,He=L==="edit",yt=n("div",{className:"ws-actions",children:[y.editable&&!He?e("button",{type:"button",onClick:()=>{K(!0),b("edit")},children:t("Edit")}):null,He?n(g,{children:[e("button",{type:"button",disabled:F||!W,onClick:()=>void Ae(),children:t("Save")}),e("button",{type:"button",className:"secondary",onClick:Ye,children:t("Cancel")})]}):null,e("button",{type:"button",className:"icon-button","aria-label":t("File menu"),onClick:()=>ne(!0),children:e(o,{name:"menu"})})]});return n("div",{className:"ws-file",ref:M,children:[n("header",{className:"ws-file-head",children:[n("div",{className:"ws-file-title",children:[n("strong",{children:[W?"• ":"",Q]}),n("span",{className:"meta",children:[Me(y.size),Le?` · ${Le}`:""," ·"," ",oe(new Date(y.mtimeMs).toISOString(),d)]})]}),kt,yt]}),me?n("div",{className:"ws-banner",role:"status",children:[e("span",{className:"ws-banner-text",children:me==="gone"?t("This file is gone"):t("A knight is changing this file")}),me==="changed"?n(g,{children:[e("button",{type:"button",className:"secondary",onClick:()=>void he(),children:t("Reload (discard my edits)")}),e("button",{type:"button",className:"secondary",onClick:()=>le(void 0),children:t("Keep editing")})]}):null]}):null,e("div",{className:"ws-view",children:y.media&&!Ve?e(mt,{media:y.media,root:v.id,path:w,name:Q,bytes:y.size,phone:i.phone,onFacts:ke}):Ve?e("div",{ref:ge,className:"ws-editor","data-editing":He||void 0,children:!G?e("pre",{className:"ws-plain","aria-busy":!Oe,children:y.text}):null}):e(Ge,{root:v.id,path:w,name:Q,bytes:y.size,message:y.tooLarge?t("This file is too large to show here."):t("This file is not text, so it cannot be shown here.")})}),i.phone&&He?n("div",{className:"ws-editbar",role:"toolbar","aria-label":t("Editing"),children:[e("button",{type:"button",disabled:F||!W,onClick:()=>void Ae(),children:t("Save")}),e("button",{type:"button",className:"secondary",onClick:()=>U.current?.undo(),children:t("Undo")}),e("button",{type:"button",className:"secondary",onClick:()=>U.current?.redo(),children:t("Redo")}),e("button",{type:"button",className:"secondary",onClick:()=>U.current?.find(),children:t("Find")}),e("button",{type:"button",className:"secondary",onClick:()=>U.current?.tab(),children:t("Tab")})]}):null,e(C,{open:$e,title:Q,onClose:()=>ne(!1),children:e("div",{className:"stack",children:n("ul",{className:"more-list",children:[Fe?e("li",{children:e("button",{type:"button",className:"menu-item",onClick:()=>{je((z)=>!z),ne(!1)},children:e("span",{className:"menu-text",children:e("strong",{children:Z?t("Do not wrap lines"):t("Wrap lines")})})})}):null,e("li",{children:n("a",{className:"menu-item menu-link",href:we(v.id,w,!0),download:Q,onClick:()=>ne(!1),children:[e("span",{className:"menu-icon",children:e(o,{name:"download"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Download")})})]})}),e("li",{children:n("button",{type:"button",className:"menu-item",onClick:()=>{ne(!1),he()},children:[e("span",{className:"menu-icon",children:e(o,{name:"refresh"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Reload")})})]})})]})})}),e(H,{open:B!==void 0,title:B?.kind==="gone"?t("This file is gone"):t("This file changed while you were editing"),onClose:()=>pe(void 0),children:n("div",{className:"stack",children:[e("p",{children:B?.kind==="gone"?t("Someone deleted it. Your text has not been saved."):t("Your text has not been saved. What should happen to it?")}),n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:()=>{navigator.clipboard?.writeText(B?.text??"").then(()=>f(t("Copied")))},children:t("Copy my text")}),B?.kind==="changed"?e("button",{type:"button",className:"secondary",onClick:()=>void he(),children:t("Reload (discard my edits)")}):null,e("button",{type:"button",className:"danger",onClick:()=>{if(!B)return;if(B.kind==="gone"){let z=B.text;pe(void 0),q.create(v.id,w,"file",z).then(async()=>{await he(),u()}).catch((j)=>f(l(j),"danger"));return}Ie({hash:B.hash??"",text:B.text}),pe(void 0)},children:B?.kind==="gone"?t("Save mine as a new file"):t("Save mine anyway")})]})]})}),e(D,{open:ye!==void 0,title:t("Replace the knight's changes?"),confirmLabel:t("Save mine anyway"),tone:"danger",onClose:()=>Ie(void 0),onConfirm:async()=>{if(!ye)return;await q.save(v.id,w,ye.text,ye.hash),await he(),f(t("Saved")),u()},children:e("p",{children:t("The file has been changed since you opened it. Saving yours writes over those changes.")})}),e(D,{open:bt,title:t("Unsaved changes, leave?"),confirmLabel:t("Discard"),cancelLabel:t("Keep editing"),tone:"danger",onClose:()=>ot(!1),onConfirm:async()=>{if(y.text!==void 0)U.current?.replace(y.text,y.eol);I(!1),b("read")},children:e("p",{children:t("Your edits to {name} have not been saved.",{name:Q})})}),e(D,{open:Xe.leaving!==void 0,title:t("Unsaved changes, leave?"),confirmLabel:t("Discard"),cancelLabel:t("Keep editing"),tone:"danger",onClose:Xe.stay,onConfirm:async()=>Xe.leave(),children:e("p",{children:t("Your edits to {name} have not been saved.",{name:Q})})})]})}function Mt(i){let{ask:d}=i,[u,v]=r(""),[w,y]=r(),[T,N]=r(!1),O=A();s(()=>{v(d?.kind==="rename"?d.name:""),y(void 0)},[d]);let L=d?.kind==="rename"?t("Rename"):d?.kind==="dir"?t("New folder"):t("New file"),b=async(W)=>{if(W.preventDefault(),!d)return;let I=u.trim();if(!I||I.includes("/")){y(t("Use a name without slashes."));return}N(!0),y(void 0);try{if(d.kind==="rename"){let F=Ne(ve(d.path),I);await q.rename(i.root.id,d.path,F),f(t("Renamed")),i.onDone()}else{let F=Ne(d.dir,I);await q.create(i.root.id,F,d.kind),f(t("Created")),i.onDone({root:i.root.id,path:F,dir:d.kind==="dir"})}}catch(F){let te=Ue(F);y(te?.conflict==="exists"?t("Something with that name is already there."):l(F))}finally{N(!1)}};return e(H,{open:d!==void 0,title:L,onClose:i.onClose,children:n("form",{className:"stack",onSubmit:b,children:[e("label",{htmlFor:O,children:t("Name")}),e("input",{id:O,value:u,autoComplete:"off",autoCapitalize:"off",spellCheck:!1,onChange:(W)=>v(W.target.value)}),w?e(m,{message:w}):null,n("div",{className:"actions",children:[e("button",{type:"button",className:"secondary",onClick:i.onClose,children:t("Cancel")}),e("button",{type:"submit",disabled:T||!u.trim(),children:d?.kind==="rename"?t("Rename"):t("Create")})]})]})})}function Dt(i){let{bump:d,rev:u}=Te(De),[v,w]=r(),[y,T]=r(),[N,O]=r(),{timeZone:L}=_();return s(()=>{if(!i.open)return;let b=!0;return q.trash(i.root.id).then((W)=>b&&w(W.items),(W)=>b&&T(l(W))),()=>{b=!1}},[i.open,i.root.id,u]),n(H,{open:i.open,title:t("Trash"),onClose:i.onClose,children:[n("div",{className:"stack",children:[y?e(m,{message:y}):null,!v&&!y?e(x,{}):null,v?.length===0?e(k,{children:t("The trash is empty")}):null,e("ul",{className:"ws-rows",children:v?.map((b)=>n("li",{className:"ws-row",children:[n("span",{className:"ws-row-link","data-off":!0,children:[e(be,{name:b.kind==="dir"?"folder":"file",size:20,className:"ws-row-icon"}),n("span",{className:"ws-row-main",children:[e("strong",{children:b.path}),e("span",{className:"meta",children:oe(b.deletedAt,L)})]})]}),e("button",{type:"button",className:"secondary",onClick:async()=>{try{await q.restore(i.root.id,b.id),f(t("Restored")),d()}catch(W){let I=Ue(W);f(I?I.conflict==="exists"?t("Something with that name is already there."):t("The folder it was in is gone."):l(W),"danger")}},children:t("Restore")}),e("button",{type:"button",className:"icon-button danger-icon","aria-label":t("Delete {name} for good",{name:b.name}),onClick:()=>O(b),children:e(o,{name:"trash"})})]},b.id))})]}),e(D,{open:N!==void 0,title:t("Delete for good?"),confirmLabel:t("Delete for good"),tone:"danger",onClose:()=>O(void 0),onConfirm:async()=>{if(!N)return;await q.purge(i.root.id,N.id),d()},children:e("p",{children:t("“{name}” will be removed and cannot be brought back.",{name:N?.path??""})})})]})}function kn(){let i=ur(),d=!Re("(min-width: 720px)"),[u,v]=r(0),w=E(()=>v((M)=>M+1),[]),y=R(()=>({rev:u,bump:w}),[u,w]),[T,N]=r(),[O,L]=r();s(()=>{q.roots().then((M)=>N(M.roots),(M)=>L(l(M)))},[]);let[b,W]=r(()=>et(ft,280)),[I,F]=r(),[te,Z]=r(),[je,$e]=r(!1),[ne,Le]=r(),ke=lt(i.key),V=T?.find((M)=>M.id===ke?.root)??(d?void 0:T?.[0]),K=V?ke&&ke.root===V.id?ke:{root:V.id,path:"",dir:!0}:void 0,G=V?.id,ue=K?.path,Oe=K?.dir,[qe,me]=r(new Set);s(()=>{if(!G)return;me(new Set(et(Je(G),[])))},[G]);let le=E((M)=>{if(!G)return;me((ie)=>{let J=new Set(ie);if(J.has(M))J.delete(M);else J.add(M);return Be(Je(G),[...J]),J})},[G]);if(s(()=>{if(!G||ue===void 0||d)return;let M=We(Oe?ue:ve(ue)),ie=M.map((J,Q)=>M.slice(0,Q+1).join("/"));me((J)=>{if(ie.every((Fe)=>J.has(Fe)))return J;let Q=new Set([...J,...ie]);return Be(Je(G),[...Q]),Q})},[G,ue,Oe,d]),O)return e(m,{message:O});if(!T)return e(x,{});if(T.length===0)return e(k,{children:t("No files yet")});if(!V||!K)return e(De.Provider,{value:y,children:n("div",{className:"page ws-page",children:[e("header",{className:"page-head",children:e("h1",{children:t("Files")})}),e("ul",{className:"more-list",children:T.map((M)=>e("li",{children:n("a",{className:"menu-item menu-link",href:Se({root:M.id,path:"",dir:!0}),children:[e("span",{className:"menu-icon",children:e(be,{name:"folder"})}),n("span",{className:"menu-text",children:[e("strong",{children:Qe(M)}),M.writable?null:e("span",{className:"meta",children:t("Read only")})]}),e(o,{name:"chevron",size:16})]})},M.id))})]})});let B=K.dir?K.path:ve(K.path),pe=K.path===""?{root:V.id,path:"",dir:!0}:{root:V.id,path:ve(K.path),dir:!0},ye=n("header",{className:"ws-head",children:[d?e("a",{className:"icon-button","aria-label":t("Back"),href:K.path===""?S("workspace"):Se(pe),children:e(o,{name:"back"})}):e(Ee,{chip:!0,className:"ws-root-picker","aria-label":t("Place"),value:V.id,onChange:(M)=>X("workspace",ze({root:M.target.value,path:"",dir:!0})),children:T.map((M)=>e("option",{value:M.id,children:Qe(M)},M.id))}),e(Lt,{root:V,path:K.path}),V.writable?n("div",{className:"ws-head-actions",children:[e("button",{type:"button",className:"icon-button","aria-label":t("New file"),title:t("New file"),onClick:()=>Z({kind:"file",dir:B}),children:e(be,{name:"file-plus"})}),e("button",{type:"button",className:"icon-button","aria-label":t("New folder"),title:t("New folder"),onClick:()=>Z({kind:"dir",dir:B}),children:e(be,{name:"folder-plus"})}),e("button",{type:"button",className:"icon-button","aria-label":t("Trash"),title:t("Trash"),onClick:()=>$e(!0),children:e(o,{name:"trash"})})]}):null]}),Ie=K.dir?e("div",{className:"ws-dir",children:e(Wt,{root:V,path:K.path,onMenu:(M)=>F(M)})}):e(zt,{root:V,path:K.path,phone:d},`${V.id}:${K.path}`),ge=I?tt(V.id,B,I):void 0,U=I?Ne(B,I.name):"";return n(De.Provider,{value:y,children:[n("div",{className:"ws-page ws","data-wide":!d||void 0,style:{"--ws-tree":`${b}px`},children:[ye,n("div",{className:"ws-body",children:[!d?n(g,{children:[e("aside",{className:"ws-tree","aria-label":t("Folders"),children:e(wt,{root:V.id,path:"",depth:0,open:qe,toggle:le,current:K})}),e($t,{width:b,onChange:(M)=>{W(M),Be(ft,M)}})]}):null,e("section",{className:"ws-main",children:Ie})]})]}),e(C,{open:I!==void 0,title:I?.name??"",onClose:()=>F(void 0),children:n("ul",{className:"more-list",children:[ge&&!ge.dir?e("li",{children:n("a",{className:"menu-item menu-link",href:we(V.id,U,!0),download:I?.name,onClick:()=>F(void 0),children:[e("span",{className:"menu-icon",children:e(o,{name:"download"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Download")})})]})}):null,V.writable&&I?n(g,{children:[e("li",{children:n("button",{type:"button",className:"menu-item",onClick:()=>{Z({kind:"rename",path:U,name:I.name}),F(void 0)},children:[e("span",{className:"menu-icon",children:e(o,{name:"notes"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Rename")})})]})}),e("li",{children:n("button",{type:"button",className:"menu-item",onClick:()=>{Le({path:U,name:I.name}),F(void 0)},children:[e("span",{className:"menu-icon",children:e(o,{name:"trash"})}),e("span",{className:"menu-text",children:e("strong",{children:t("Delete")})})]})})]}):null]})}),e(Mt,{root:V,ask:te,onClose:()=>Z(void 0),onDone:(M)=>{if(Z(void 0),w(),M)X("workspace",ze(M))}}),e(Dt,{root:V,open:je,onClose:()=>$e(!1)}),e(D,{open:ne!==void 0,title:t("Move to the trash?"),confirmLabel:t("Delete"),tone:"danger",onClose:()=>Le(void 0),onConfirm:async()=>{if(!ne)return;if(await q.remove(V.id,ne.path),f(t("Moved to the trash")),w(),!K.dir&&(K.path===ne.path||K.path.startsWith(`${ne.path}/`)))X("workspace",ze({root:V.id,path:ve(K.path),dir:!0}))},children:e("p",{children:t("“{name}” goes to the trash, where you can bring it back.",{name:ne?.name??""})})})]})}function $t(i){let v=(w)=>Math.min(560,Math.max(180,w));return e("div",{className:"ws-resizer",role:"separator","aria-orientation":"vertical","aria-valuenow":i.width,"aria-valuemin":180,"aria-valuemax":560,"aria-label":t("Resize the folder list"),tabIndex:0,onKeyDown:(w)=>{if(w.key==="ArrowLeft")i.onChange(v(i.width-16));if(w.key==="ArrowRight")i.onChange(v(i.width+16))},onPointerDown:(w)=>{let y=w.clientX,T=i.width,N=w.currentTarget;N.setPointerCapture(w.pointerId);let O=(b)=>i.onChange(v(T+b.clientX-y)),L=()=>{N.removeEventListener("pointermove",O),N.removeEventListener("pointerup",L)};N.addEventListener("pointermove",O),N.addEventListener("pointerup",L)}})}export{kn as WorkspacePage};
|
package/dist/index.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
<link rel="stylesheet" crossorigin href="./chunk-index-t7csmbpy.css"><script type="module" crossorigin src="./chunk-index-
|
|
12
|
+
<link rel="stylesheet" crossorigin href="./chunk-index-t7csmbpy.css"><script type="module" crossorigin src="./chunk-index-s356ybxk.js"></script></head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
|
15
15
|
|
package/dist/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var o=self,i=new URL(o.registration.scope);var d=new URL("index.html",i).href,h=new Set(["index.html","account-zk4efb87.css","chunk-account-
|
|
1
|
+
var o=self,i=new URL(o.registration.scope);var d=new URL("index.html",i).href,h=new Set(["index.html","account-zk4efb87.css","chunk-account-dq0nhfvj.js","chunk-action-menu-37zgbhje.js","chunk-agent-yqe6reej.js","chunk-arranged-rooms-sx6xg9df.js","chunk-attachments-3vbj05g5.js","chunk-bulk-actions-6pehrsgb.js","chunk-character-creator-bg3tdc8p.js","chunk-confirm-ghxga720.js","chunk-connectors-0jzzren3.js","chunk-conversations-3276jq4q.js","chunk-council-sheet-7m884s44.js","chunk-council-view-rkzcxeg8.js","chunk-drag-sw692nr3.js","chunk-entry-mb6jd983.js","chunk-folder-list-g7st6p1e.js","chunk-folds-rb1b069h.js","chunk-gate-3rxxyfev.js","chunk-host-icons-cyj62pwp.js","chunk-host-picture-9wnhqckv.js","chunk-host-state-b858k3p8.js","chunk-host-ui-j6wvj0pe.js","chunk-index-0q15ysrb.js","chunk-index-0qzqzp6t.js","chunk-index-0t68az7d.js","chunk-index-0xdptr30.js","chunk-index-1tkzdy4s.js","chunk-index-2s48qyrs.js","chunk-index-33cqx9v2.js","chunk-index-36m3knsk.js","chunk-index-50syrmaq.js","chunk-index-50w6yq2d.js","chunk-index-5fyqxh0r.js","chunk-index-5x3h176v.js","chunk-index-6cs1wvhy.js","chunk-index-6m25qpa7.js","chunk-index-6nja2vd8.js","chunk-index-6q3dx093.js","chunk-index-6ycrvwzs.js","chunk-index-6yfcfcc8.js","chunk-index-7gk2sdf4.js","chunk-index-7p31pda8.js","chunk-index-91wnf1k9.js","chunk-index-9ehqccfe.js","chunk-index-ar1x9fhw.js","chunk-index-axw4wkqq.js","chunk-index-b5patef1.js","chunk-index-d941ae7c.js","chunk-index-dagc92hw.js","chunk-index-ddssgba9.js","chunk-index-dpgn7kzp.js","chunk-index-e8535c4h.js","chunk-index-edjyj761.js","chunk-index-eez0kbk4.js","chunk-index-ekp5mmvp.js","chunk-index-eyythjdx.js","chunk-index-fdg2qd3f.js","chunk-index-g0sdxjxr.js","chunk-index-gmbk3sra.js","chunk-index-hsc9yz2x.js","chunk-index-jrj09r5c.js","chunk-index-kvztbfqj.js","chunk-index-m7wzrmcd.js","chunk-index-m8bv51r9.js","chunk-index-mey1p7h8.js","chunk-index-mzw7nmkc.js","chunk-index-n2v2bz8d.js","chunk-index-nncy9wxw.js","chunk-index-p2e7rwac.js","chunk-index-p98tt12y.js","chunk-index-qdtmetsy.js","chunk-index-qedt9szy.js","chunk-index-qq86fxda.js","chunk-index-qw9a7ken.js","chunk-index-s356ybxk.js","chunk-index-sk8cvb4e.js","chunk-index-syxwqhry.js","chunk-index-t7csmbpy.css","chunk-index-tasbd41t.js","chunk-index-vxqzavgz.js","chunk-index-x5xq9g9a.js","chunk-index-xx0kecz9.js","chunk-index-y1xv3dxs.js","chunk-index-yn1vvxj2.js","chunk-layout-actions-rw5myg2t.js","chunk-menu-items-q0hy5kzd.js","chunk-mode-toggle-yk2t0tcy.js","chunk-note-row-c0trzayj.js","chunk-notes-0xcmm938.js","chunk-notice-bell-f9nhxg71.js","chunk-notices-gkaqncqz.js","chunk-onboarding-fkq9ptcw.js","chunk-overview-yssxbg0d.js","chunk-palette-w6qbr7zp.js","chunk-placement-items-wcwy91mp.js","chunk-profile-9sjgayrx.js","chunk-prompt-history-kn42sf8y.js","chunk-prompts-824fwgvh.js","chunk-room-confirms-hvs9tra4.js","chunk-room-menu-pkd0487m.js","chunk-rooms-menu-button-w5hfhsfv.js","chunk-schedules-m9mn68gt.js","chunk-seat-menu-3tdcr44t.js","chunk-section-fold-g0tx68cj.js","chunk-settings-18qmhcyr.js","chunk-sheet-hosts-tsppnmvv.js","chunk-shortcut-help-wnm0cm8n.js","chunk-shortcuts-qee393s5.js","chunk-skill-editor-pryntvpr.js","chunk-skills-sap3rysr.js","chunk-start-over-line-azexcxj1.js","chunk-switcher-list-6hacxjfe.js","chunk-tab-dot-h0eskhrt.js","chunk-table-jtn49c2m.js","chunk-table2d-vy4w4r5k.js","chunk-thread-actions-31scmndt.js","chunk-thread-cards-mwxzy02t.js","chunk-thread-list-52mx2m9p.js","chunk-transcript-p5q2m795.js","chunk-waiting-chip-wvkbsnw5.js","chunk-waiting-s7nm3q0p.js","chunk-where-j99f8pb8.js","chunk-workspace-ne2nkf4h.js","chunk-zh-tw-vm5d0w6j.js"].map((e)=>new URL(e,i).href)),w=/\/chunk-table3d-[a-z0-9]+\.js$/,g=/\/chunk-(?:codeeditor|lang-[a-z]+)-[a-z0-9]+\.js$/,k=["api/","auth/","login","files/","avatars/"],m=(e)=>{let n=e.pathname.slice(i.pathname.length);return k.some((t)=>n.startsWith(t))};async function v(e){let n=await caches.open("roundtable-web-bd7f812a62f9");try{let t=await fetch(e);if(t.ok&&new URL(e.url).href===i.href)await n.put(d,t.clone());return t}catch{let t=await n.match(d);if(t)return t;throw Error("offline and the shell is not cached")}}async function W(e){let n=await caches.open("roundtable-web-bd7f812a62f9"),t=await n.match(e);if(t)return t;let a=await fetch(e);if(a.ok)await n.put(e,a.clone());return a}var r=(e,n)=>typeof e==="string"&&e?e.slice(0,n):void 0;function l(e){if(typeof e!=="string")return i.href;let n=URL.parse(e,i);return n&&n.origin===i.origin&&n.pathname.startsWith(i.pathname)?n.href:i.href}var E=new Set(["notice","test"]);async function u(e,n){if(!e?.tag||!e.kind||!E.has(e.kind))return;try{await fetch(new URL("api/push/receipts",i),{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({tag:e.tag,event:n})})}catch{}}async function y(e){if(typeof e!=="number"||!Number.isSafeInteger(e)||e<0)return;try{if(e>0)await o.navigator.setAppBadge?.(e);else await o.navigator.clearAppBadge?.()}catch{}}async function P(e){let n={};try{let s=e.data?.json();if(typeof s==="object"&&s!==null)n=s}catch{}let t=r(n.tag,200),a=r(n.kind,16);if(await y(n.badge),a==="clear"){if(t)for(let s of await o.registration.getNotifications({tag:t}))s.close();return}await o.registration.showNotification(r(n.title,120)??"Roundtable",{body:r(n.body,240),icon:new URL("icons/192.png",i).href,badge:new URL("icons/badge-96.png",i).href,...t?{tag:t,renotify:!0}:{},...n.urgency==="high"?{requireInteraction:!0}:{},data:{url:l(n.url),...t?{tag:t}:{},...a?{kind:a}:{}}}),await u({...t?{tag:t}:{},...a?{kind:a}:{}},"received")}async function b(e){e.notification.close();let n=e.notification.data,t=l(n?.url),a=r(n?.tag,200),s=r(n?.kind,16),f=u({...a?{tag:a}:{},...s?{kind:s}:{}},"opened"),c=(await o.clients.matchAll({type:"window",includeUncontrolled:!0})).find((p)=>p.url.startsWith(i.href));if(c)await c.focus(),c.postMessage({type:"roundtable:open",url:t});else await o.clients.openWindow(t);await f}o.addEventListener("install",(e)=>{e.waitUntil(caches.open("roundtable-web-bd7f812a62f9").then((n)=>n.addAll([...h])).then(()=>o.skipWaiting()))});o.addEventListener("activate",(e)=>{e.waitUntil(caches.keys().then((n)=>Promise.all(n.filter((t)=>t.startsWith("roundtable-web-")&&t!=="roundtable-web-bd7f812a62f9").map((t)=>caches.delete(t)))).then(()=>o.clients.claim()))});o.addEventListener("fetch",(e)=>{let{request:n}=e;if(n.method!=="GET")return;let t=new URL(n.url);if(t.origin!==i.origin||!t.pathname.startsWith(i.pathname))return;if(m(t))return;if(n.mode==="navigate")e.respondWith(v(n));else if(h.has(t.origin+t.pathname)||w.test(t.pathname)||g.test(t.pathname))e.respondWith(W(n))});o.addEventListener("push",(e)=>{e.waitUntil(P(e))});o.addEventListener("notificationclick",(e)=>{e.waitUntil(b(e))});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-roundtable-web",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.2",
|
|
4
4
|
"description": "A web console for the owners of a pi-roundtable host: conversations, transcripts, and memory notes, with live updates",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@types/react": "19.3.0",
|
|
71
71
|
"@types/react-dom": "19.3.0",
|
|
72
72
|
"@types/three": "0.186.0",
|
|
73
|
-
"pi-roundtable": "0.29.
|
|
73
|
+
"pi-roundtable": "0.29.2",
|
|
74
74
|
"react": "19.3.0",
|
|
75
75
|
"react-dom": "19.3.0",
|
|
76
76
|
"react-markdown": "10.1.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p,T,x,e,v}from"./chunk-index-24cggw6k.js";var a={profile:x(()=>(p("jffhtpqf"),import("./chunk-profile-jffhtpqf.js")).then((o)=>({default:o.ProfilePage}))),notices:x(()=>(p("d0cwvk27"),import("./chunk-notices-d0cwvk27.js")).then((o)=>({default:o.NoticesPage}))),onboarding:x(()=>(p("zs4rtea9"),import("./chunk-onboarding-zs4rtea9.js")).then((o)=>({default:o.OnboardingPage})))};function n({pane:o}){let t=a[o];return t?e(T,{fallback:e(v,{}),children:e(t,{})}):null}export{n as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o,e,X,d,v,Ye}from"./chunk-index-24cggw6k.js";function g({name:r}){let m=d((i)=>i.listed),t=d((i)=>Object.values(i.rooms).find((n)=>n.view?.kind==="agent"&&n.view.name===r)?.view?.key,r);return o(()=>{if(t)X("room",t,{replace:!0}),Ye(r);else if(m)X("rooms",void 0,{replace:!0})},[t,m,r]),e("div",{className:"page",children:e(v,{})})}export{g as AgentPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p,T,x,ee,C,a,t,g,e,n,s,Ae,d,k,_,ge,jt,xn,te,yr,Qi,Jr,Xt,Mi,eo}from"./chunk-index-24cggw6k.js";import{ze}from"./chunk-index-3n38xe7m.js";import{yi}from"./chunk-index-d74tpnkd.js";import"./chunk-index-5j1v2q7w.js";import"./chunk-index-nr275sa7.js";import{ci}from"./chunk-index-fb3kzyyp.js";import{mi,gi}from"./chunk-index-sz381vda.js";import{Zt}from"./chunk-index-bxf8eq1s.js";import"./chunk-index-5w6tb7p0.js";import"./chunk-index-yr758n6t.js";import{st}from"./chunk-index-6rdywten.js";mi();var M=x(()=>(p("bs4eh3g9"),import("./chunk-folder-list-bs4eh3g9.js")).then((o)=>({default:o.FolderList}))),O=ee(function(l){let{view:r}=l,f=Zt(()=>jt(r.key),r.home?void 0:gi(r.key));return e(Jr,{...l,press:f,item:{...r.home?{}:{"data-drop-item":"","data-key":r.key},...l.arranging?{"data-arranging":""}:{}},after:l.arranging?e("button",{type:"button",className:"icon-button row-more","aria-haspopup":"menu","aria-label":t("Room menu"),onClick:(c)=>{let u=c.currentTarget;jt(r.key).then((i)=>{if(!i)return;let y=u.getBoundingClientRect();ge({...i,at:{x:y.left,y:y.bottom},via:"key",source:u})},()=>{return})},children:e(s,{name:"more",size:18})}):null})});function L(o){let{now:l}=te(),{timeZone:r}=_(),f=Xt(o.rooms);return e("ul",{className:"room-list",children:f.map(({key:c,...u})=>{let i=o.threads[c];return e(O,{...u,active:c===o.active,now:l,timeZone:r,arranging:o.arranging,...i?{threads:e(Mi,{open:i.open,closed:i.closed,active:o.active,parent:c})}:{}},c)})})}function v(o){let r=Xt(o.rooms).length===0;if(r&&o.zone?.kind!=="pinned")return null;return n("section",{className:"stack",...r?{"data-empty":""}:{},...o.zone?{"data-drop-zone":o.zone.kind,"data-zone-id":o.zone.id}:{},children:[e("h2",{className:"section-title",children:o.title}),r?null:e(L,{rooms:o.rooms,threads:o.threads,active:o.active,arranging:o.arranging})]})}function re(o){let l=Boolean(_().kinds?.length),r=d((m)=>JSON.stringify({listed:m.listed,...st(m,(F)=>Ae(m,F))})),f=yi(),c=a(r);if(!f)c.current=r;let u=c.current,{listed:i,...y}=C(()=>JSON.parse(u),[u]),{home:w,pinned:z,folders:N,restAgents:P,restGroups:D,rest:S,threads:A,orphans:h}=y,R=yr(),K=w.length+z.length+S.length===0&&N.every((m)=>m.rooms.length===0)&&h.open.length+h.closed.length===0,b={threads:A,active:o.active,arranging:R};return n("div",{className:"page","data-column":o.active?"":void 0,"data-drop-root":"",children:[n("header",{className:"page-head",children:[e("h1",{children:t("Rooms")}),n("div",{className:"actions",children:[n("button",{type:"button",className:"header-button search-button",onClick:o.onSearch,children:[e(s,{name:"search",size:16}),e("span",{children:t("Find a room")}),e("kbd",{children:"⌘K"})]}),i?e("button",{type:"button",className:"header-button icon-button","aria-haspopup":"menu","aria-label":t("Folders and order"),onClick:(m)=>ci(m.currentTarget),children:e(s,{name:"more",size:18})}):null,e("button",{type:"button",className:"header-button icon-button","aria-label":t("Add"),"aria-haspopup":"menu",onClick:(m)=>xn(m.currentTarget),children:e(s,{name:"plus"})})]})]}),R?n("div",{className:"arrange-bar",children:[n("button",{type:"button",className:"secondary",onClick:()=>ze({kind:"new"}),children:[e(s,{name:"plus",size:16}),e("span",{children:t("Add a folder")})]}),e("button",{type:"button",onClick:()=>Qi(!1),children:t("Done")})]}):null,i&&K&&!l?e(k,{children:t("No rooms yet. Rooms appear when the team has a knight.")}):null,!i?n("div",{className:"stack","aria-busy":"true",children:[e("div",{className:"skeleton"}),e("div",{className:"skeleton"}),e("div",{className:"skeleton"})]}):null,e(v,{title:t("Home"),rooms:w,...b}),e(v,{title:t("Pinned"),rooms:z,zone:{kind:"pinned",id:"pinned"},...b}),N.length>0?e("div",{className:"stack folder-list","data-folder-list":"",children:e(T,{fallback:e("div",{className:"skeleton","aria-busy":"true"}),children:e(M,{folders:N,active:o.active,listed:i,rooms:(m)=>e(L,{rooms:m,threads:A,active:o.active,arranging:R})})})}):null,N.length>0?e(v,{title:t("Ungrouped"),rooms:S,zone:{kind:"rest",id:"rest"},...b}):n(g,{children:[e(v,{title:t("Knights"),rooms:P,zone:{kind:"rest",id:"rest-agents"},...b}),e(v,{title:t("Groups"),rooms:D,zone:{kind:"rest",id:"rest-groups"},...b})]}),h.open.length+h.closed.length>0?n("section",{className:"stack",children:[e("h2",{className:"section-title",children:t("Dispatch threads")}),e(Mi,{open:h.open,closed:h.closed,active:o.active})]}):null,e(eo,{active:o.active})]})}export{re as ArrangedRoomsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t,G,O,l,f}from"./chunk-index-24cggw6k.js";import{sn}from"./chunk-index-nr275sa7.js";import"./chunk-index-5j1v2q7w.js";import{Qn,so}from"./chunk-index-ysv36nbk.js";import{So}from"./chunk-index-5w6tb7p0.js";import{re}from"./chunk-index-wgrx2ybn.js";import"./chunk-index-yr758n6t.js";var s=500,c=(n)=>{let r=[];for(let e=0;e<n.length;e+=s)r.push(n.slice(e,e+s));return r},i=()=>O.dispatch({type:"changed"});async function w(n){let r=So(n),e=Object.keys(r);if(e.length===0)return;let a=[];try{for(let o of c(e))a.push(...(await Qn.readAll(o)).moved)}catch(o){f(l(o),"danger"),i();return}sn(Object.fromEntries(e.map((o)=>[o,0]))),f(G(e.length,"Marked {count} room as read","Marked {count} rooms as read"),"info",a.length?{label:t("Undo"),run:()=>void m(a,r)}:void 0)}async function m(n,r){try{for(let e of c(n)){let{restored:a}=await Qn.unreadAll(e);sn(Object.fromEntries(a.map((o)=>[o,r[o]??0])))}}catch(e){f(l(e),"danger")}i()}var P=(n)=>so(n);async function d(n){try{await Qn.restoreHelpers(n)}catch(r){f(l(r),"danger")}i()}async function R(n){let r;try{r=(await Qn.archiveFinishedHelpers(n)).archived.flatMap((a)=>a.names)}catch(e){f(l(e),"danger"),i();return}if(i(),r.length===0)return;f(G(r.length,"Archived {count} temp knight","Archived {count} temp knights"),"info",{label:t("Undo"),run:()=>void d(r)})}async function T(n,r){try{await re.archiveAgent(n)}catch(e){f(l(e),"danger"),i();return}i(),f(t("Archived {name}",{name:r}),"info",{label:t("Undo"),run:()=>void d([n])})}export{T as archiveHelper,P as clearAllFinished,R as clearFinishedHelpers,w as markAllRead,d as putBackHelpers};
|
|
@@ -1,2 +0,0 @@
|
|
|
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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{D}from"./chunk-index-6btdp13p.js";import"./chunk-index-cmzvq3nf.js";export{D as Confirm};
|