anentrypoint-design 0.0.402 → 0.0.404
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/README.md +4 -2
- package/dist/247420.js +1 -1
- package/package.json +1 -1
- package/src/components/content/hero.js +2 -2
- package/src/components/content/panel.js +2 -2
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ mount(document.getElementById('app'), () => C.AppShell({
|
|
|
58
58
|
- **chat** — `Chat`, `ChatMessage`, `ChatComposer`, `AICat`, `AICatPortrait`
|
|
59
59
|
- **multi-agent chat shell** — `WorkspaceShell`, `WorkspaceRail`, `ConversationList`, `AgentChat`, `SessionDashboard` — the flagship desktop-class chat-agent product surface (persistent rail + resizable columns + full turn/tool-call thread + live multi-session dashboard). See `COMPONENT_API.md` for the full prop contract; a runnable mock-data demo lives at `ui_kits/workspace/`; the canonical real-world wiring ships at [`agentgui`](https://github.com/AnEntrypoint/agentgui).
|
|
60
60
|
- **file browser** — `FileRow`, `FileGrid`, `FileToolbar`, `FileIcon`, `DropZone`, `UploadProgress`, `EmptyState`, `BreadcrumbPath`, plus modal pieces `FileViewer`, `FilePreviewMedia`, `FilePreviewCode`, `FilePreviewText`, `ConfirmDialog`, `PromptDialog`
|
|
61
|
-
- **ui_kits** —
|
|
61
|
+
- **ui_kits** — 20 fully-working buildless examples loading the SDK from this repo: `homepage`, `project_page`, `docs`, `blog`, `chat`, `aicat`, `file_browser`, `dashboard`, `settings`, `search`, `terminal`, `gm_inspector`, `workspace`, `community`, `community-app`, `gallery`, `signin`, `error_404`, `slide_deck`, `system_primer`. (`_template` is the scaffold source, not a kit: it holds `index.html.tmpl` — a build input full of `{{VAR}}` placeholders — and deliberately serves no page.) Each kit's stylesheet `<link>` set is declared in `ui_kits/kits.config.mjs` and emitted by the scaffold generator (`npm run generate:ui-kits`) — never hand-edit a kit's generated `index.html`; `npm run lint:ui-kits` checks them against generated output.
|
|
62
62
|
|
|
63
63
|
The file-browser surface (rails by file type, drop-zone upload, modal preview) ships its canonical real-world wiring at [`fsbrowse`](https://github.com/AnEntrypoint/fsbrowse) — Express + busboy backend, the SDK frontend.
|
|
64
64
|
|
|
@@ -251,7 +251,9 @@ Layout primitives worth knowing: `.ds-app-surface` is the Operate-mode page root
|
|
|
251
251
|
|
|
252
252
|
## lint gates
|
|
253
253
|
|
|
254
|
-
`npm run lint` runs
|
|
254
|
+
`npm run lint` runs 16 gates over 30 component sheets. Four are hard zero-tolerance — no raw color literal (`lint-tokens`), no raw `border-radius` (`lint-radius`), no raw `z-index` (`lint-zindex`), no `transition: all` (`lint-transition-all`). Four are ratchets frozen against a baseline that may only move down — `lint-spacing`, `lint-fontsize`, `lint-important`, and `lint-dead-controls` (a control that renders but cannot act: an empty handler body, or a bare `href="#"`). The rest guard decorative glyphs, unfiltered conditional children, class prefixes, inline layout styles and duplicated selectors.
|
|
255
|
+
|
|
256
|
+
`npm run a11y` is the runtime companion: axe-core against the live rendered DOM of every kit, blocking on serious/critical WCAG violations. It needs a Chrome already listening on `CDP_BASE` and a server on `BASE_URL` — it never launches a browser, and it pulls in no browser-automation dependency (`scripts/cdp.mjs` speaks CDP over Node's global `WebSocket`). Because it runs WCAG-tagged rules only, best-practice rules like `page-has-heading-one` and `bypass` are outside its scope.
|
|
255
257
|
|
|
256
258
|
The scanned set is computed, not listed: `COMPONENT_SHEETS` in `scripts/lint-tokens.mjs` names entry points and `expandSheets()` resolves each one's `@import` graph transitively, because the root `app-shell.css` is a barrel with no declarations of its own. A companion guard requires every `.css` file under `src/css/app-shell/` to appear in that expanded set, so a split sheet cannot be bundled into `dist/247420.css` while remaining invisible to both the linters and any consumer that `<link>`s `app-shell.css` directly.
|
|
257
259
|
|
package/dist/247420.js
CHANGED
|
@@ -123,7 +123,7 @@ var _m=Object.defineProperty;var N=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(
|
|
|
123
123
|
<button class="btn next" type="button" aria-label="Next slide" title="Next (right)">${wf}</button>
|
|
124
124
|
<span class="divider"></span>
|
|
125
125
|
<button class="btn reset" type="button" aria-label="Reset to first slide" title="Reset (R)">Reset<span class="kbd">R</span></button>
|
|
126
|
-
`,s.querySelector(".prev").addEventListener("click",e),s.querySelector(".next").addEventListener("click",t),s.querySelector(".reset").addEventListener("click",n),s}function Md({onBack:e,onForward:t}){let n=document.createElement("div");n.className="tapzones export-hidden",n.setAttribute("aria-hidden","true");let s=document.createElement("div");s.className="tapzone tapzone--back";let r=document.createElement("div");r.className="tapzone tapzone--mid",r.style.pointerEvents="none";let a=document.createElement("div");return a.className="tapzone tapzone--fwd",s.addEventListener("click",e),a.addEventListener("click",t),n.append(s,r,a),n}function jd(e,t){let n=t.target;if(n&&(n.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(n.tagName))||t.metaKey||t.ctrlKey||t.altKey)return!1;let s=kf[t.key];if(s)return s(e),!0;if(/^[0-9]$/.test(t.key)){let r=t.key==="0"?9:parseInt(t.key,10)-1;if(r<e._slides.length)return e._go(r,"keyboard"),!0}return!1}var vf,wf,kf,Rd=N(()=>{Q();vf=ra("chevron-left",{size:16}),wf=ra("chevron-right",{size:16});kf={ArrowRight:e=>e._go(e._index+1,"keyboard"),PageDown:e=>e._go(e._index+1,"keyboard")," ":e=>e._go(e._index+1,"keyboard"),Spacebar:e=>e._go(e._index+1,"keyboard"),ArrowLeft:e=>e._go(e._index-1,"keyboard"),PageUp:e=>e._go(e._index-1,"keyboard"),Home:e=>e._go(0,"keyboard"),End:e=>e._go(e._slides.length-1,"keyboard"),r:e=>e._go(0,"keyboard"),R:e=>e._go(0,"keyboard")}});function Ld(e){let t=document.getElementById("speaker-notes");if(!t)return[];try{let n=JSON.parse(t.textContent||"[]");return Array.isArray(n)?n:[]}catch(n){return console.warn("[deck-stage] Failed to parse #speaker-notes JSON:",n),[]}}function Pd(e,t){let n=ha+(location.pathname||"/");try{let s=localStorage.getItem(n);if(s==null)return 0;let r=parseInt(s,10);if(Number.isFinite(r)&&r>=0&&r<t.length)return r}catch{}return 0}function Af(e,t){let n=ha+(location.pathname||"/");try{localStorage.setItem(n,String(t))}catch{}}function Bd(e,t){let s=t.assignedElements({flatten:!0}).filter(r=>{let a=r.tagName;return a!=="TEMPLATE"&&a!=="SCRIPT"&&a!=="STYLE"});return s.forEach((r,a)=>{let o=a+1,i=r.getAttribute("data-label");if(!i){let l=r.getAttribute("data-screen-label");l&&(i=l.replace(/^\s*\d+\s*/,"").trim()||l)}if(!i){let l=r.querySelector("h1, h2, h3, [data-title]");l&&(i=(l.textContent||"").trim().slice(0,40))}i||(i="Slide"),r.setAttribute("data-screen-label",`${Cf(o)} ${i}`),r.hasAttribute("data-om-validate")||r.setAttribute("data-om-validate",xf),r.setAttribute("data-deck-slide",String(a))}),s}function Xo(e,{index:t,prevIndex:n,slides:s,countEl:r,showOverlay:a=!0,broadcast:o=!0,reason:i="init",flashFn:l=null}={}){if(!s.length)return;let c=n??-1,d=t;if(s.forEach((u,p)=>{p===d?u.setAttribute("data-deck-active",""):u.removeAttribute("data-deck-active")}),r&&(r.textContent=String(d+1)),Af(e,d),o){try{window.postMessage({slideIndexChanged:d},"*")}catch{}e.dispatchEvent(new CustomEvent("slidechange",{detail:{index:d,previousIndex:c,total:s.length,slide:s[d]||null,previousSlide:c>=0&&s[c]||null,reason:i},bubbles:!0,composed:!0}))}a&&l&&l()}var ha,xf,Cf,Hd=N(()=>{ha="deck-stage:slide:",xf="no_overflowing_text,no_overlapping_text,slide_sized_text",Cf=e=>String(e).padStart(2,"0")});var Nd={};hn(Nd,{DeckStage:()=>ga});var Ef,Sf,Tf,ga,Ud=N(()=>{dd();Rd();Hd();Ef=1920,Sf=1080,Tf=1800,ga=class extends HTMLElement{static get observedAttributes(){return["width","height","noscale","fill"]}constructor(){super(),this._root=this.attachShadow({mode:"open"}),this._index=0,this._slides=[],this._notes=[],this._hideTimer=null,this._mouseIdleTimer=null,this._storageKey=ha+(location.pathname||"/"),this._onKey=this._onKey.bind(this),this._onResize=this._onResize.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onMouseMove=this._onMouseMove.bind(this)}get designWidth(){return parseInt(this.getAttribute("width"),10)||Ef}get designHeight(){return parseInt(this.getAttribute("height"),10)||Sf}connectedCallback(){this._render(),this._notes=Ld(this),this._syncPrintPageRule(),window.addEventListener("keydown",this._onKey),window.addEventListener("resize",this._onResize),window.addEventListener("mousemove",this._onMouseMove,{passive:!0})}disconnectedCallback(){window.removeEventListener("keydown",this._onKey),window.removeEventListener("resize",this._onResize),window.removeEventListener("mousemove",this._onMouseMove),this._hideTimer&&clearTimeout(this._hideTimer),this._mouseIdleTimer&&clearTimeout(this._mouseIdleTimer)}attributeChangedCallback(){this._canvas&&(this._canvas.style.width=this.designWidth+"px",this._canvas.style.height=this.designHeight+"px",this._canvas.style.setProperty("--deck-design-w",this.designWidth+"px"),this._canvas.style.setProperty("--deck-design-h",this.designHeight+"px"),this._fit(),this._syncPrintPageRule())}_render(){let t=document.createElement("style");t.textContent=cd;let n=document.createElement("div");n.className="stage";let s=document.createElement("div");s.className="canvas",s.style.width=this.designWidth+"px",s.style.height=this.designHeight+"px",s.style.setProperty("--deck-design-w",this.designWidth+"px"),s.style.setProperty("--deck-design-h",this.designHeight+"px");let r=document.createElement("slot");r.addEventListener("slotchange",this._onSlotChange),s.appendChild(r),n.appendChild(s);let a=Md({onBack:i=>{i.preventDefault(),this._go(this._index-1,"tap")},onForward:i=>{i.preventDefault(),this._go(this._index+1,"tap")}}),o=Id({onPrev:()=>this._go(this._index-1,"click"),onNext:()=>this._go(this._index+1,"click"),onReset:()=>this._go(0,"click")});this._root.append(t,n,a,o),this._canvas=s,this._slot=r,this._overlay=o,this._countEl=o.querySelector(".current"),this._totalEl=o.querySelector(".total")}_syncPrintPageRule(){let t="deck-stage-print-page",n=document.getElementById(t);n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent="@page { size: "+this.designWidth+"px "+this.designHeight+"px; margin: 0; } @media print { html, body { margin: 0 !important; padding: 0 !important; background: none !important; overflow: visible !important; height: auto !important; } * { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }"}_onSlotChange(){this._slides=Bd(this,this._slot),this._index=Pd(this,this._slides),Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!1,broadcast:!0,reason:"init",flashFn:()=>this._flashOverlay()}),this._fit()}_flashOverlay(){this._overlay&&(this._overlay.setAttribute("data-visible",""),this._hideTimer&&clearTimeout(this._hideTimer),this._hideTimer=setTimeout(()=>this._overlay.removeAttribute("data-visible"),Tf))}_fit(){if(!this._canvas)return;if(this.hasAttribute("noscale")){this._canvas.style.transform="none";return}let t=window.innerWidth/this.designWidth,n=window.innerHeight/this.designHeight,s=this.getAttribute("fill")==="cover"?Math.max(t,n):Math.min(t,n);this._canvas.style.transform=`scale(${s})`}_onResize(){this._fit()}_onMouseMove(){this._flashOverlay()}_onKey(t){jd(this,t)&&(t.preventDefault(),this._flashOverlay())}_go(t,n="api"){if(!this._slides.length)return;let s=Math.max(0,Math.min(this._slides.length-1,t));if(s===this._index){this._flashOverlay();return}this._index=s,Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!0,broadcast:!0,reason:n,flashFn:()=>this._flashOverlay()})}get index(){return this._index}get length(){return this._slides.length}goTo(t){this._go(t,"api")}next(){this._go(this._index+1,"api")}prev(){this._go(this._index-1,"api")}reset(){this._go(0,"api")}};typeof customElements<"u"&&!customElements.get("deck-stage")&&customElements.define("deck-stage",ga)});var ei={};hn(ei,{register:()=>Ge,snapshot:()=>Df,unregister:()=>$o});function Ge(e,t){typeof e!="string"||typeof t!="function"||(_o.set(e,t),typeof window<"u"&&(window.__debug||(window.__debug={}),Object.defineProperty(window.__debug,e,{get(){try{return t()}catch(n){return{error:String(n)}}},configurable:!0,enumerable:!0})))}function $o(e){_o.delete(e),typeof window<"u"&&window.__debug&&delete window.__debug[e]}function Df(){let e={};for(let[t,n]of _o)try{e[t]=n()}catch(s){e[t]={error:String(s)}}return e}var _o,Bt=N(()=>{_o=new Map});function wt(e,t=1){return e&&String(e).trim().slice(0,t).toUpperCase()||"?"}function js({name:e,src:t,fallback:n,size:s="md",shape:r="circle",initialsCount:a=1,key:o}={}){let i=n??wt(e,a),l="ds-avatar ds-avatar-"+s+(r==="square"?" ds-avatar-square":"");return t?Kd("img",{key:o,class:l,src:t,alt:e||"",loading:"lazy"}):Kd("span",{key:o,class:l,"aria-hidden":!!e,role:e?"img":void 0,"aria-label":e||void 0},i)}var Kd,Gd=N(()=>{I();Kd=y});function Vd(e,t){let n=String(e),s=String(t).toLowerCase();if(!s)return n;let r=n.toLowerCase(),a=[],o=0,i=0;for(;o<=n.length;){let l=r.indexOf(s,o);if(l===-1)break;l>o&&a.push(lt("span",{key:"hs"+i++},n.slice(o,l))),a.push(lt("mark",{key:"hs"+i++,class:"ds-hl"},n.slice(l,l+s.length))),o=l+s.length}return a.length?(o<n.length&&a.push(lt("span",{key:"hs"+i++},n.slice(o))),a):n}function ne({code:e,rank:t,title:n,sub:s,meta:r,active:a,state:o="default",onClick:i,key:l,style:c,href:d,kind:u,cols:p,leading:m,trailing:f,target:h,selected:g,rail:w,expanded:v,highlight:x,actions:C,detail:A}){let T=e??t,U=o==="active"||o==="default"&&(a||g),b=u==="link"||d!=null&&!i,E=!b&&!!i,L=o==="disabled"?" row-state-disabled":o==="error"?" row-state-error":"",P=T==null&&m==null,B="row"+(U?" active":"")+L+(p?" row-grid":"")+(P&&!p?" row-nocode":"")+(w?" rail-"+w:""),H=o==="disabled",F={key:l,class:B,style:p?`${c?c+";":""}grid-template-columns:${p}`:c};b?(F.href=d||"#",h&&(F.target=h)):E&&!H&&(F.onclick=i,F.role="button",F.tabindex="0",F.onkeydown=M=>{(M.key==="Enter"||M.key===" ")&&(M.preventDefault(),i(M))},(v===!0||v===!1)&&(F["aria-expanded"]=v?"true":"false")),H&&(F["aria-disabled"]="true"),U&&(b||E)&&(F["aria-current"]=U?"page":null);let G=x&&typeof n=="string"?lt("span",{},...[].concat(Vd(n,x))):n,he=v===!0&&Array.isArray(C)&&C.length?lt("span",{class:"row-actions",role:"group","aria-label":"row actions"},...C.map((M,S)=>lt("button",{key:"ract"+S,type:"button",class:"row-act",title:M.title||M.label,"aria-label":M.title||M.label,onclick:R=>{R.stopPropagation(),M.onClick&&M.onClick(R)},onkeydown:R=>{R.stopPropagation()}},M.label))):null,oe=w==="flame"?"error":w==="purple"?"subagent":null,te=x&&typeof A=="string"?lt("span",{},...[].concat(Vd(A,x))):A;return lt(b?"a":"div",F,oe?lt("span",{class:"sr-only"},oe):null,m??(T!=null?lt("span",{class:"code"},T):null),lt("span",{class:"title",title:typeof n=="string"?n:void 0},G,s?lt("span",{class:"sub",title:typeof s=="string"?s:void 0},s):null),f??(r!=null?lt("span",{class:"meta"},r):null),he,A!=null?lt("pre",{class:"ds-row-detail"},te):null)}function xn({code:e,title:t,sub:n,meta:s,href:r="#",key:a,target:o}){return ne({code:e,title:t,sub:n,meta:s,href:r,kind:"link",key:a,target:o})}var lt,Rs=N(()=>{I();lt=y});function Fe({title:e,count:t,right:n,style:s="",class:r="",children:a,kind:o,id:i}){let l="panel"+(o?" panel-"+o:"")+(r?" "+r:"");return We("div",{class:l,style:s,id:i||null},e!=null?We("div",{class:"panel-head"},We("span",{},e),n??(t!=null?We("span",{},String(t)):null)):null,We("div",{class:"panel-body"},...Array.isArray(a)?a:[a]))}function ni({heading:e,items:t=[],keyPrefix:n="i",count:s,style:r,kind:a,emptyText:o}={}){if(!t||!t.length)return o!=null?We("div",{class:"empty"},o):null;let i=t.map((l,c)=>{let d=l.code!=null?l.code:l.rank!=null?l.rank:String(c+1).padStart(2,"0");return xn({key:n+c,code:d,title:l.title!=null?l.title:l.name,sub:l.sub!=null?l.sub:l.desc!=null?l.desc:"",meta:l.meta!=null?l.meta:"",href:l.href||"#"})});return Fe({title:e,count:s,style:r,kind:a,children:i})}function nn({title:e,eyebrow:t,children:n,id:s}){return We("section",{class:"ds-section",id:s||null},t?We("span",{class:"eyebrow"},t):null,e?We("h3",{},e):null,...Array.isArray(n)?n:[n])}function Ls({rows:e=[],emptyText:t="nothing here yet"}){return e.length?We("table",{class:"kv"},We("tbody",{},...e.map(([n,s],r)=>We("tr",{key:r},We("td",{},n),We("td",{},s))))):We("div",{class:"empty"},t)}function Ps({entries:e=[],emptyText:t="no changelog entries yet"}){return e.length?Fe({kind:"wide",children:e.map((n,s)=>We("div",{key:s,class:"row ds-changelog-row"},We("span",{class:"code"},n.date),We("span",{class:"ds-changelog-ver"},n.ver),We("span",{class:"title"},n.msg)))}):We("div",{class:"empty"},t)}var We,ti,Bs=N(()=>{I();Rs();We=y;ti=Fe});function Hs({eyebrow:e,title:t,body:n,accent:s,actions:r,badges:a}){let o=Array.isArray(a)?a.filter(Boolean):[],i=o.length?Z("div",{class:"ds-hero-stats"},...o.map((d,u)=>Z("span",{key:"hb"+u,class:"ds-hero-stat"},String(d&&d.label!=null?d.label:d)))):null,l=r?Z("div",{class:"ds-hero-actions"},...Array.isArray(r)?r:[r]):null,c=i||l?Z("div",{class:"ds-hero-aside"},i,l):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e?Z("span",{class:"eyebrow"},e):null,Z("h1",{class:"ds-hero-title"},t)),n?Z("p",{class:"ds-hero-body"},n,s?Z("span",{class:"ds-hero-accent"}," "+s):null):null,c)}function Ns(e){if(!e)return null;let t=e.heading||e.title||"",n=Array.isArray(e.badges)?e.badges.filter(Boolean):[],s=Array.isArray(e.ctas)?e.ctas.filter(Boolean):[],r=n.length?Z("div",{class:"ds-hero-stats"},...n.map((i,l)=>Z("span",{key:"hb"+l,class:"ds-hero-stat"},Z("strong",{class:"ds-hero-stat-n"},String(i&&i.label!=null?i.label:i)),i&&i.desc?Z("span",{class:"ds-hero-stat-l"},String(i.desc)):null))):null,a=s.length?Z("div",{class:"ds-hero-actions"},...s.map((i,l)=>Z("a",{key:"hc"+l,class:i.primary||l===0?"btn btn-accent":"btn btn-ghost",href:i.href||"#"},i.label||i.cta||"go"))):null,o=e.install?Z("div",{class:"cli"},Z("span",{class:"prompt"},"$"),Z("span",{class:"cmd"},e.install)):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e.eyebrow?Z("span",{class:"eyebrow"},e.eyebrow):null,Z("h1",{class:"ds-hero-title"},t)),e.subheading?Z("p",{class:"ds-hero-body lede"},e.subheading):null,e.body?Z("p",{class:"ds-hero-body"},e.body,e.accent?Z("span",{class:"ds-hero-accent"}," "+e.accent):null):null,r||a||o?Z("div",{class:"ds-hero-aside"},r,o,a):null)}function si({items:e=[],sep:t="/"}){if(!e.length)return null;let n=s=>e.flatMap((r,a)=>[Z("span",{class:"ds-marquee-item",key:`${s}-i${a}`},r),Z("span",{class:"ds-marquee-sep",key:`${s}-s${a}`,"aria-hidden":"true"},t)]);return Z("div",{class:"ds-marquee",role:"marquee"},Z("div",{class:"ds-marquee-track"},...n("a"),...n("b")))}function Us({paragraphs:e=[],maxWidth:t}){return Z("div",{class:"ds-prose ds-manifesto","data-max-width":t?String(t):null},...e.map((n,s)=>Z("p",{key:s,class:"ds-manifesto-para"+(n.dim?" dim":"")},n.text||n)))}function ie({title:e,lede:t,eyebrow:n,right:s,compact:r,dense:a,id:o}){return a?Z("section",{class:"ds-section ds-section-compact ds-page-header-dense",id:o||null},Z("div",{class:"ds-page-header-dense-row"},...[e!=null?Z("h1",{key:"dh"},e):null,t!=null?Z("span",{key:"dl",class:"ds-page-header-dense-lede",title:typeof t=="string"?t:null},t):null,s!=null?Z("div",{key:"dr",class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null].filter(Boolean))):Z("section",{class:"ds-section"+(r?" ds-section-compact":""),id:o||null},n?Z("span",{class:"eyebrow"},n):null,e!=null?Z("h1",{},e):null,t!=null?Z("p",{class:"lede"},t):null,s!=null?Z("div",{class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null)}var Z,ri=N(()=>{I();Z=y});function Ws({cmd:e,copied:t,onCopy:n}){return Gt("div",{class:"cli"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},e),Gt("span",{class:"copy",onclick:()=>n&&n(e)},t?"copied":"copy"))}function ai({lines:e=[],heading:t="quick start",className:n=""}={}){if(!e||!e.length)return null;let s=e.map((a,o)=>{let i=a&&a.kind==="cmt",l=a&&a.text!=null?a.text:"";return i?Gt("div",{key:"q"+o,class:"ds-cli-comment"},l):Gt("div",{key:"q"+o,class:"ds-cli-row"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},l))}),r=Gt("div",{class:"ds-cli-block"+(n?" "+n:"")},...s);return t==null?r:Fe({title:t,children:r})}var Gt,oi=N(()=>{I();Bs();Gt=y});function Fs({works:e=[],openedIndex:t=-1,onToggle:n}){return Fe({children:e.map((s,r)=>{let a=t===r;return tt("div",{key:r},ne({code:s.code,title:s.title,sub:s.sub,meta:tt("span",{class:"ds-works-meta"},s.meta!=null?tt("span",{},s.meta):null,k(a?"chevron-down":"chevron-right")),active:a,expanded:a,onClick:()=>n&&n(a?-1:r)}),a?tt("div",{class:"work-detail","data-work-index":String(r)},tt("div",{class:"ds-prose"},tt("p",{class:"ds-work-body"},s.body)),tt("div",{class:"ds-work-actions"},O({variant:"primary",href:s.href||"#",children:"open ->"}),O({href:s.source||"#",children:"source"}))):null)})})}function Os({posts:e=[]}){return Fe({children:e.map((t,n)=>xn({key:n,code:t.date,title:t.title,meta:t.tag,href:t.href||"#"}))})}function ii({items:e,events:t,emptyText:n="no events",rankPad:s=3,loading:r=!1,loadingText:a="loading events\u2026"}){let o=e||t||[];return r&&!o.length?tt("section",{class:"ds-section ds-event-list"},tt("div",{key:"st",role:"status","aria-live":"polite",class:"ds-event-state lede"},a),...Array.from({length:7},(i,l)=>tt("div",{key:"sk"+l,class:"ds-event-row-skeleton","aria-hidden":"true"},tt("span",{key:"r",class:"ds-skel ds-skel-rank"}),tt("span",{key:"t",class:"ds-skel ds-skel-title"}),tt("span",{key:"m",class:"ds-skel ds-skel-meta"})))):o.length?tt("section",{class:"ds-section ds-event-list"},...o.map((i,l)=>ne({key:i.key||"ev"+l,code:i.code!=null?i.code:i.rank!=null?i.rank:String(l+1).padStart(s,"0"),title:i.title||"(empty)",sub:i.sub||"",active:i.active,onClick:i.onClick,kind:i.kind,rail:i.rail,expanded:i.expanded,detail:i.detail,actions:i.actions,highlight:i.highlight,meta:i.meta}))):tt("p",{class:"lede"},n)}var tt,li=N(()=>{I();Q();Rs();Bs();tt=y});function Vt({items:e=[],emptyText:t="no metrics yet"}){return e.length?$e("div",{class:"kpi"},...e.map(([n,s,r],a)=>$e("div",{key:a,class:"kpi-card"},$e("div",{class:"num"},String(n)),$e("div",{class:"lbl"},s),r&&(r.delta!=null||r.spark)?$e("div",{class:"kpi-foot"},r.delta!=null?$e("span",{class:"kpi-delta kpi-delta-"+(r.tone==="down"?"down":"up")},k(r.tone==="down"?"arrow-down":"arrow-up",{size:12}),String(r.delta)):null,r.spark?ba({values:r.spark,tone:r.tone}):null):null))):$e("div",{class:"empty"},t)}function ba({values:e=[],width:t=72,height:n=24,tone:s}){if(!e.length)return null;let r=Math.max(...e),a=Math.min(...e),o=r-a||1,i=t/(e.length-1||1),c=e.map((d,u)=>[u*i,n-(d-a)/o*n]).map(([d,u],p)=>(p===0?"M":"L")+d.toFixed(1)+","+u.toFixed(1)).join(" ");return $e("svg",{class:"ds-sparkline ds-sparkline-"+(s==="down"?"down":"up"),viewBox:"0 0 "+t+" "+n,width:t,height:n,"aria-hidden":"true"},$e("path",{d:c,fill:"none","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}))}function ci({items:e=[],emptyText:t="no data yet"}){if(!e.length)return $e("div",{class:"empty"},t);let n=Math.max(...e.map(s=>s.value||0))||1;return $e("div",{class:"ds-barchart"},...e.map((s,r)=>$e("div",{key:r,class:"ds-barchart-row"},$e("div",{class:"ds-barchart-label"},s.label),$e("div",{class:"ds-barchart-track"},$e("div",{class:"ds-barchart-fill",style:"--bar-pct:"+Math.round(s.value/n*100)+"%"})),$e("div",{class:"ds-barchart-value"},s.display!=null?s.display:String(s.value)))))}var $e,zd=N(()=>{I();Q();$e=y});function xe({headers:e=[],rows:t=[],onRowClick:n,emptyText:s="nothing here yet",rowLabels:r,striped:a=!1,compact:o=!1,sortable:i=!1,sortKey:l,sortDir:c="asc",onSort:d}){if(!t||t.length===0)return nt("div",{class:"empty"},s);let u=(f,h)=>{if(Array.isArray(r)&&r[h]!=null)return String(r[h]);let g=f[0];return g==null||typeof g=="object"?"row":String(g)},p="ds-table-wrap"+(a?" is-striped":"")+(o?" is-compact":""),m=(f,h)=>{if(!i||!d)return nt("th",{key:h,scope:"col"},f);let g=l===h;return nt("th",{key:h,scope:"col","aria-sort":g?c==="desc"?"descending":"ascending":"none"},nt("button",{type:"button",class:"ds-table-sort-btn"+(g?" is-active":""),onclick:()=>d(h)},nt("span",{class:"ds-table-sort-label"},f),g?k(c==="desc"?"chevron-down":"chevron-up",{size:12}):null))};return nt("div",{class:p,tabindex:"0",role:"group","aria-label":"table, scrollable"},nt("table",{},nt("thead",{},nt("tr",{},...e.map((f,h)=>m(f,h)))),nt("tbody",{},...t.map((f,h)=>nt("tr",{key:h,class:n?"clickable":"",onclick:n?()=>n(h):null,...n?{tabindex:"0",role:"button","aria-label":"open "+u(f,h),onkeydown:g=>{(g.key===" "||g.key==="Enter")&&(g.preventDefault(),n(h))}}:{}},...f.map((g,w)=>nt("td",{key:w},g==null?"":typeof g=="object"?g:String(g))))))))}function di({checks:e={},emptyText:t="no health data",okLabel:n="ok",missLabel:s="no",jsonTruncate:r=60}={}){let a=Object.entries(e);if(!a.length)return nt("div",{class:"empty"},t);let o=a.map(([i,l])=>{let c;if(typeof l=="object"&&l!==null){let d=JSON.stringify(l);c=nt("span",{title:d.length>r?d:null},d.length>r?d.slice(0,r)+"\u2026":d)}else l===!0?c=$({tone:"ok",children:n}):l===!1?c=$({tone:"miss",children:s}):c=String(l);return[i,c]});return xe({headers:["check","status"],rows:o})}function ui({processes:e=[],emptyText:t="no live processes",extraColumns:n=[]}={}){if(!e.length)return nt("div",{class:"empty"},t);let s=["kind","key","state",...n.map(a=>a.header)],r=e.map(a=>[a.kind||"\u2014",a.key||"\u2014",a.state||"\u2014",...n.map(o=>o.render(a))]);return xe({headers:s,rows:r})}var nt,Yd=N(()=>{I();Q();nt=y});function st({value:e="",placeholder:t="search\u2026",onInput:n,onSubmit:s,name:r="q",key:a,label:o,resultCount:i}){let l=u=>{n&&n("",u)},c=Me("input",{key:"i",type:"search",name:r,class:"ds-search-input",placeholder:t,"aria-label":o||t,value:e,oninput:n?u=>n(u.target.value,u):null,onkeydown:u=>{if(u.key==="Escape"&&e){u.preventDefault(),u.stopPropagation(),l(u);return}s&&u.key==="Enter"&&!u.isComposing&&u.keyCode!==229&&s(u.target.value,u)}}),d=e?Me("button",{key:"clr",type:"button",class:"ds-search-clear","aria-label":"clear search",onclick:l},k("x")):null;return Me("span",{key:a,class:"ds-search-input-wrap"},c,d,i!=null?Me("span",{key:"cnt",class:"sr-only",role:"status","aria-live":"polite"},i):null)}function Qe({label:e,value:t="",type:n="text",placeholder:s="",onInput:r,onChange:a,name:o,key:i,hint:l,multiline:c,rows:d=4,maxLength:u,min:p,max:m,error:f,title:h,size:g="md","aria-label":w,"aria-invalid":v,"aria-describedby":x}){let C=g==="sm"?" ds-field--sm":g==="lg"?" ds-field--lg":"",A=f!=null?(i||"tf")+"-err":null,T=x||A||null,U=c?Me("textarea",{key:"i",name:o,rows:d,placeholder:s,value:t,maxlength:u??null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null}):Me("input",{key:"i",type:n,name:o,placeholder:s,value:t,maxlength:u??null,min:p!=null?String(p):null,max:m!=null?String(m):null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null});return Me("label",{key:i,class:"ds-field"+C},...[e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,U,f!=null?Me("span",{key:"e",id:A,class:"ds-field-error",role:"alert","aria-live":"polite","aria-atomic":"true"},f):null,u!=null?Me("span",{key:"c",class:"ds-field-count"},String(t.length)+"/"+u):null,l!=null?Me("span",{key:"h",class:"ds-field-hint"},l):null].filter(Boolean))}function rt({label:e,value:t="",options:n=[],onChange:s,name:r,key:a,placeholder:o,hint:i,title:l,size:c="md","aria-label":d}){let u=c==="sm"?" ds-field--sm":c==="lg"?" ds-field--lg":"",p=[];o!=null&&p.push(Me("option",{key:"_ph",value:"",disabled:!0,selected:t===""||t==null},o));for(let h of n){let g=typeof h=="string"?h:h.value!=null?h.value:h.id,w=typeof h=="string"?h:h.label!=null?h.label:h.id||h.value;p.push(Me("option",{key:"o-"+g,value:g,selected:g===t},w))}let m=e==null&&i==null&&c==="md",f=Me("select",{key:m&&a!=null?a:"i",name:r,class:"ds-select","aria-label":d||(e==null?l||o||r:null),title:l,onchange:s?h=>s(h.target.value,h):null},...p);return m?f:e==null&&i==null?Me("label",{key:a,class:"ds-field"+u},f):Me("label",{key:a,class:"ds-field"+u},e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,f,i!=null?Me("span",{key:"h",class:"ds-field-hint"},i):null)}function pi({fields:e=[],submit:t="submit",onSubmit:n,columns:s=1}){let r=s>1?String(s):null;return Me("form",{class:"row-form","data-columns":r,onsubmit:a=>{a.preventDefault(),n&&n(a)}},...e.map((a,o)=>{let i="ds-form-"+(a.name||"field")+"-"+o,l=a.label!=null?a.label:a.placeholder||a.name||"",c=a.kind==="textarea"?Me("textarea",{key:"i",id:i,name:a.name,placeholder:a.placeholder||"",rows:a.rows||4,required:a.required?!0:null}):Me("input",{key:"i",id:i,name:a.name,type:a.type||"text",placeholder:a.placeholder||"",value:a.value||"",required:a.required?!0:null});return Me("label",{key:o,class:"ds-field",for:i},l!==""?Me("span",{key:"l",class:"ds-field-label"},l):null,c)}),Me("button",{type:"submit",class:"btn-primary"},t))}var Me,Zd=N(()=>{I();Q();Me=y});function mi({size:e="base",tone:t="accent",label:n="loading",key:s}={}){let r={xs:"ds-spinner-xs",sm:"ds-spinner-sm",base:"",lg:"ds-spinner-lg",xl:"ds-spinner-xl"},a=r[e]!=null?r[e]:"";return ct("div",{key:s,class:"ds-spinner "+a+" tone-"+t,role:"status","aria-live":"polite","aria-label":n},ct("span",{key:"1","aria-hidden":"true"}),ct("span",{key:"2","aria-hidden":"true"}),ct("span",{key:"3","aria-hidden":"true"}))}function Jd(e,t){if(e==null)return t;let n=String(e).trim(),s=/^(\d+(?:\.\d+)?)(px|em|rem|%|vh|vw)?$/.exec(n);if(!s)return t;let r=s[2]||"px",a=parseFloat(s[1]);return r==="%"||r==="vh"||r==="vw"?a=Math.min(100,Math.max(0,a)):a=Math.min(600,Math.max(2,a)),a+r}function qn({height:e="1em",width:t="100%",count:n=1,label:s="loading content",key:r}={}){let a=Jd(e,"1em"),o=Jd(t,"100%");return ct("div",{key:r,class:"ds-skeleton-group",role:"status","aria-busy":"true","aria-label":s},...Array(n).fill(0).map((i,l)=>ct("div",{key:String(l),class:"ds-skeleton",style:`height:${a};width:${o};`,"aria-hidden":"true"})))}function fi({options:e=[],selected:t,onSelect:n,label:s="filters"}={}){return e.length?ct("div",{class:"ds-filter-pills",role:"group","aria-label":s},...e.map(r=>ct("button",{key:"fp-"+r.id,type:"button",class:"ds-filter-pill"+(r.id===t?" active":""),"aria-pressed":r.id===t?"true":"false",onclick:()=>n&&n(r.id)},r.label!=null?r.label:r.id))):null}function Qs({kind:e="info",children:t,onDismiss:n,title:s,key:r}={}){let a={info:"info",success:"check",warn:"warn",error:"x"},o="ds-alert ds-alert-"+e;return ct("div",{key:r,class:o,role:"alert"},ct("span",{key:"icon",class:"ds-alert-icon"},k(a[e]||"info")),ct("div",{key:"content",class:"ds-alert-content"},s?ct("div",{key:"title",class:"ds-alert-title"},s):null,ct("div",{key:"msg",class:"ds-alert-message"},...Array.isArray(t)?t:[t])),n?ct("button",{key:"dismiss",class:"ds-alert-dismiss","aria-label":"dismiss",onclick:n},k("x")):null)}var ct,Xd=N(()=>{I();Q();ct=y});function hi({state:e={},onNav:t,onToggleWork:n,works:s=[],posts:r=[],manifesto:a=[],currentlyShipping:o}={}){return[Hs({eyebrow:"an entrypoint",title:"Small, weird, useful tools \u2014 built in public.",body:"247420 is a creative collective of eight, scattered across three timezones. We have been shipping open-source tools for the web since 2018.",accent:"Some become the future. Most don't. That's the deal."}),o?nn({title:"currently shipping",children:Fe({kind:"wide",children:o.map((i,l)=>{let c=ks({tone:i.live?"live":"idle"});return c.props={...c.props,"aria-label":i.live?"live status":"idle status"},ne({key:l,code:c,title:i.title,sub:i.sub,meta:i.meta})})})}):null,s.length?nn({title:"Everything else.",children:Fs({works:s,openedIndex:e.opened??-1,onToggle:n})}):null,r.length?nn({title:"When we have something to say.",children:Os({posts:r})}):null,a.length?nn({title:"Eight people, three timezones, one ongoing conversation.",children:Us({paragraphs:a})}):null].filter(Boolean)}function gi({project:e={},copied:t,onCopy:n}={}){return[If("div",{class:"ds-prose"},tn({level:1,children:e.name}),ws({children:e.tagline})),e.install?[tn({level:3,children:"install"}),Ws({cmd:e.install,copied:t,onCopy:n})]:null,e.receipt?[tn({level:3,children:"by the numbers"}),Ls({rows:e.receipt})]:null,e.changelog?[tn({level:3,children:"recent releases"}),Ps({entries:e.changelog})]:null].filter(Boolean).flat()}var If,_d=N(()=>{I();Q();Rs();Bs();ri();oi();li();If=y});var Be=N(()=>{Gd();Rs();Bs();ri();oi();li();zd();Yd();Zd();Xd();_d()});function sn(e){return $d[e]||$d.other}function pt(e){if(e==null||typeof e!="number"||Number.isNaN(e)||e<0)return"\u2014";if(e===0)return"0 B";let t=["B","KB","MB","GB","TB"],n=0,s=e;for(;s>=1024&&n<t.length-1;)s/=1024,n++;return s.toFixed(n===0?0:1)+" "+t[n]}function Kn({type:e="other"}={}){return Mf("span",{class:"ds-file-icon","data-file-type":e,"aria-label":ya[e]||"file",role:"img"},k(sn(e)))}function bi(e=[],t="name",n="asc"){let s=n==="desc"?-1:1,r=(a,o)=>{let i=a.type==="dir"?0:1,l=o.type==="dir"?0:1;if(i!==l)return i-l;let c=0;return t==="size"?c=(a.size||0)-(o.size||0):t==="modified"?c=(a.modifiedTs||0)-(o.modifiedTs||0):t==="type"?c=String(a.type||"").localeCompare(String(o.type||"")):c=String(a.name||"").localeCompare(String(o.name||""),void 0,{numeric:!0,sensitivity:"base"}),c*s||String(a.name||"").localeCompare(String(o.name||""))};return e.slice().sort(r)}var Mf,$d,ya,yi=N(()=>{I();Q();Mf=y,$d={dir:"folder",image:"file-image",video:"file-video",audio:"file-audio",code:"file-code",text:"file-text",archive:"file-zip",document:"file-text",symlink:"link",other:"file"},ya={dir:"folder",image:"image file",video:"video file",audio:"audio file",code:"code file",text:"text file",archive:"archive file",document:"document file",symlink:"symbolic link",other:"file"}});function qs({name:e,type:t="other",size:n,modified:s,code:r,onOpen:a,onAction:o,active:i,key:l,permissions:c,locked:d,actions:u=jf,busy:p=!1,selectable:m=!1,selected:f=!1,onToggleSelect:h}={}){let g=d||c==="EACCES"||Array.isArray(c)&&c.length===0,w=!g&&Array.isArray(c)&&c.indexOf("write")===-1&&c.indexOf("read")!==-1,v=g?"no access":w?"read-only":null,x=[t==="dir"?null:pt(n),s||null].filter(Boolean).join(" \xB7 "),A=`${ya[t]||"file"}: ${e}${x?` (${x})`:""}${v?", "+v:""}`,T=a&&!g&&!p,U=p||w||g,b=(B,H,F,G,he)=>Re("button",{key:"act-"+B,type:"button",class:"ds-file-act"+(he?" ds-file-act-warn":""),title:U&&B!=="download"?"read-only":H,"aria-label":F,disabled:(B==="download"?p:U)?!0:null,"aria-disabled":(B==="download"?p:U)?"true":null,onclick:()=>o(B)},k(G)),E=o?[u.indexOf("download")!==-1&&t!=="dir"?b("download","download",`download ${e}`,"arrow-down",!1):null,u.indexOf("rename")!==-1?b("rename","rename",`rename ${e}`,"pencil",!1):null,u.indexOf("move")!==-1?b("move","move",`move ${e}`,"arrow-right",!1):null,u.indexOf("delete")!==-1?b("delete","delete",`delete ${e}`,"x",!0):null].filter(Boolean):[],P=[m?Re("button",{key:"mark",type:"button",class:"ds-file-check"+(f?" is-marked":""),role:"checkbox","aria-checked":f?"true":"false","aria-label":(f?"unselect ":"select ")+e,disabled:g||p?!0:null,onclick:h?B=>h({range:!!B.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-open",onclick:T?a:null,"aria-label":A+(g?" (no access)":""),"aria-pressed":i?"true":"false",disabled:T?null:!0},...[r!=null?Re("span",{class:"code","aria-label":`code: ${r}`},r):null,Kn({type:t}),Re("span",{class:"title"},e),Re("span",{class:"ds-file-meta meta","aria-label":x?`metadata: ${x}`:null},x||"\u2014"),v?Re("span",{class:"ds-file-perm-tag"+(g?" is-noaccess":""),"aria-hidden":"true"},v):null].filter(Boolean)),E.length?Re("span",{key:"acts",class:"ds-file-actions",role:"group","aria-label":`actions for ${e}`},...E):null].filter(Boolean);return Re("div",{key:l,class:"ds-file-row row"+(i?" active":"")+(g?" is-locked":"")+(w?" is-restricted":"")+(f?" is-marked":"")+(m?" is-selectable":""),"data-file-type":t,"aria-busy":p?"true":null},...P)}function eu({key:e,f:t={},selectable:n=!1,selected:s=!1,onToggleSelect:r,onOpen:a,thumb:o}={}){let i=t.locked||t.permissions==="EACCES"||Array.isArray(t.permissions)&&t.permissions.length===0,l=a&&!i,c=ya[t.type]||"file",d=[n?Re("button",{key:"mark",type:"button",class:"ds-file-check ds-file-cell-check"+(s?" is-marked":""),role:"checkbox","aria-checked":s?"true":"false","aria-label":(s?"unselect ":"select ")+t.name,disabled:i?!0:null,onclick:r?u=>r({range:!!u.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-cell-open",onclick:l?()=>a(t):null,disabled:l?null:!0,"aria-label":c+": "+t.name+(i?" (no access)":"")},Re("span",{class:"ds-file-cell-media"},o?Re("img",{class:"ds-file-cell-thumb",src:o,alt:"",loading:"lazy"}):Kn({type:t.type})),Re("span",{class:"ds-file-cell-name",title:t.name},t.name),Re("span",{class:"ds-file-cell-meta"},t.type==="dir"?"folder":pt(t.size)))].filter(Boolean);return Re("div",{key:e,class:"ds-file-cell"+(s?" is-marked":"")+(t.active?" active":"")+(i?" is-locked":""),"data-file-type":t.type},...d)}function Ks({rows:e=12}={}){return Re("div",{class:"ds-file-grid ds-file-skeleton",role:"status","aria-busy":"true","aria-label":"loading files"},...Array.from({length:Math.max(1,e)},(t,n)=>Re("div",{key:"sk"+n,class:"ds-file-row ds-file-row-skeleton","aria-hidden":"true"},Re("span",{class:"ds-skel ds-skel-icon"}),Re("span",{class:"ds-skel ds-skel-title"}),Re("span",{class:"ds-skel ds-skel-meta"}))))}var Re,jf,vi=N(()=>{I();Q();yi();Re=y,jf=["download","rename","move","delete"]});function Lf(e,t,n,s){let r=-1;if(e.key==="ArrowLeft"||e.key==="ArrowUp")r=(t-1+n.length)%n.length;else if(e.key==="ArrowRight"||e.key==="ArrowDown")r=(t+1)%n.length;else if(e.key==="Home")r=0;else if(e.key==="End")r=n.length-1;else return;e.preventDefault(),s(n[r][0]);let a=e.currentTarget.parentNode&&e.currentTarget.parentNode.children[r];a&&a.focus()}function nu({key:e="name",dir:t="asc",onSort:n}={}){return va("div",{class:"ds-file-sort",role:"group","aria-label":"sort files"},...[["name","name"],["size","size"],["modified","modified"]].map(([r,a])=>va("button",{key:r,type:"button",class:"ds-file-sort-btn"+(e===r?" active":""),"aria-pressed":e===r?"true":"false","aria-label":"sort by "+a+(e===r?" ("+(t==="asc"?"ascending":"descending")+")":""),onclick:()=>n&&n(r)},a+(e===r?" "+(t==="asc"?"asc":"desc"):""))))}function su({density:e="list",onDensity:t}={}){return t?va("div",{key:"density",class:"ds-density",role:"radiogroup","aria-label":"view density"},...tu.map(([n,s],r)=>va("button",{key:"d-"+n,type:"button",role:"radio",class:"ds-density-btn"+(e===n?" active":""),"aria-checked":e===n?"true":"false","aria-label":s,title:s,tabindex:e===n?"0":"-1",onkeydown:a=>Lf(a,r,tu,o=>{e!==o&&t(o)}),onclick:()=>{e!==n&&t(n)}},k(Rf[n],{size:15})))):null}var va,tu,Rf,ru=N(()=>{I();Q();va=y,tu=[["list","list"],["compact","compact"],["thumb","thumbnails"]],Rf={list:"rows",compact:"rows-tight",thumb:"grid"}});function wi({count:e=0,noun:t="file",nounPlural:n,actions:s=[],onClear:r,busy:a=!1}={}){if(!e)return null;let o=n||(/[^aeiou]y$/.test(t)?t.slice(0,-1)+"ies":t+"s"),i=[ye("span",{key:"count",class:"ds-bulkbar-count",role:"status","aria-live":"polite"},e+" "+(e===1?t:o)+" selected"),...s.map((l,c)=>O({key:"bba"+c,danger:!!l.danger,disabled:a||l.disabled,onClick:l.onClick,children:l.label})),r?O({key:"bbclear",disabled:a,onClick:r,children:"clear selection"}):null].filter(Boolean);return ye("div",{class:"ds-bulkbar",role:"toolbar","aria-label":"bulk file actions","aria-busy":a?"true":null},...i)}function ki({left:e=[],right:t=[]}={}){return ye("div",{class:"ds-file-toolbar"},ye("div",{class:"ds-file-toolbar-left"},...e),ye("div",{class:"ds-file-toolbar-right"},...t))}function xi({roots:e=[],selected:t,onSelect:n,label:s="roots"}={}){return e.length?ye("div",{class:"ds-roots-picker",role:"tablist","aria-label":s},...e.map(r=>ye("button",{key:"root-"+(r.id!=null?r.id:r.label),type:"button",role:"tab",class:"ds-roots-tab"+((r.id!=null?r.id:r.label)===t?" active":""),"aria-selected":(r.id!=null?r.id:r.label)===t?"true":"false",onclick:()=>n&&n(r.id!=null?r.id:r.label)},r.label||r.id))):null}function Ci({children:e,dragover:t,onDrop:n,onDragOver:s,onDragLeave:r,label:a="drop files here",onPick:o}={}){let i=Array.isArray(e)?e:e?[e]:[];return ye("div",{class:"ds-dropzone"+(i.length?" ds-dropzone--wrap":"")+(t?" dragover":""),ondragover:l=>{l.preventDefault(),s&&s(l)},ondragleave:l=>{l.currentTarget.contains(l.relatedTarget)||r&&r(l)},ondrop:l=>{l.preventDefault(),n&&n(l.dataTransfer.files)}},ye("div",{class:"ds-dropzone-inner"},ye("span",{class:"ds-dropzone-glyph",role:"img","aria-label":"upload"},k("arrow-up")),ye("span",{class:"ds-dropzone-label"},a),o?O({onClick:o,children:"pick files"}):null),...i)}function Ai({items:e=[],onDismiss:t}={}){return e.length?ye("div",{class:"ds-upload-progress"},...e.map((n,s)=>{let r=!n.error&&!n.done&&!n.pct&&n.indeterminate,a=n.error?"error":n.done?"complete":r?"uploading":`uploading ${n.pct||0}%`,o=[...(n.actions||[]).map((i,l)=>ye("button",{key:"ua"+l,type:"button",class:"ds-upload-act","aria-label":`${i.label} ${n.name}`,onclick:()=>i.onClick&&i.onClick(n,s)},i.label)),n.error&&t?ye("button",{key:"ud",type:"button",class:"ds-upload-act","aria-label":`dismiss ${n.name}`,onclick:()=>t(n,s)},"dismiss"):null].filter(Boolean);return ye("div",{key:n.name+s,class:"ds-upload-item"+(n.done?" done":"")+(n.error?" error":""),role:"status","aria-label":`${n.name}: ${a}`,"aria-live":"polite"},ye("span",{class:"ds-upload-name"},n.name),ye("span",{class:"ds-upload-bar"+(r?" indeterminate":"")},ye("span",{class:"ds-upload-fill","data-pct":String(Math.max(0,Math.min(100,n.pct||0))),"aria-hidden":"true"})),ye("span",{class:"ds-upload-pct","aria-hidden":"true"},n.error?"err":n.done?"ok":r?"...":(n.pct||0)+"%"),o.length?ye("span",{class:"ds-upload-actions",role:"group","aria-label":`actions for ${n.name}`},...o):null)})):null}function Gn({text:e="nothing here",glyph:t=k("circle"),action:n}={}){return ye("div",{class:"ds-file-empty",role:"status"},...[ye("span",{key:"glyph",class:"ds-file-empty-glyph","aria-hidden":"true"},t),ye("span",{key:"text",class:"ds-file-empty-text"},e),n&&n.onClick?O({key:"ea",onClick:n.onClick,children:n.label||"go up"}):null].filter(Boolean))}function Gs({segments:e=[],onNav:t,root:n="root"}={}){let s=[ye("button",{key:"root",class:"ds-crumb-seg",onclick:()=>t&&t(0)},n)];return e.forEach((r,a)=>{s.push(ye("span",{key:"sep"+a,class:"ds-crumb-sep","aria-hidden":"true"},k("chevron-right",{size:13}))),s.push(ye("button",{key:"seg"+a,class:"ds-crumb-seg"+(a===e.length-1?" leaf":""),onclick:()=>t&&t(a+1)},r))}),ye("div",{class:"ds-crumb-path"},...s)}var ye,Ei=N(()=>{I();Q();ye=y});function Ti({files:e=[],onOpen:t,onAction:n,onUp:s,emptyText:r="No files here yet",emptyAction:a,sort:o,filter:i,loading:l=!1,shown:c,onShowMore:d,actions:u,busy:p,selectable:m=!1,selected:f,onToggleSelect:h,marked:g=f,onMark:w=h,onSelectAll:v,onClearSelection:x,density:C="list",onDensity:A,thumbUrl:T}={}){if(l&&!e.length)return Ks({rows:12});let U=!!(i&&(i.value||"").length>0);if(!e.length&&!U)return Gn({text:r,glyph:k("folder-open",{size:28}),action:a});let b=l&&e.length>0,E=c??Si,L=e.length>E,P=L?e.slice(0,E):e,B=C==="thumb",H={},F=j=>j.path||j.name,G=j=>j.locked||j.permissions==="EACCES"||Array.isArray(j.permissions)&&j.permissions.length===0,he=g instanceof Set?g:new Set(g||[]),oe=m?P.filter(j=>!G(j)).map(F):[],te=j=>{let Ot=j.currentTarget,Je=Array.from(Ot.querySelectorAll(".ds-file-open:not([disabled]), .ds-file-cell-open:not([disabled])")),fs=Je.indexOf(document.activeElement);j.key==="ArrowDown"?(j.preventDefault(),Je[Math.min(Je.length-1,fs+1)]?.focus()):j.key==="ArrowUp"?(j.preventDefault(),(fs<=0?Je[0]:Je[fs-1])?.focus()):j.key==="Home"?(j.preventDefault(),Je[0]?.focus()):j.key==="End"?(j.preventDefault(),Je[Je.length-1]?.focus()):j.key==="Backspace"?(j.preventDefault(),s&&s()):(j.key==="a"||j.key==="A")&&(j.ctrlKey||j.metaKey)&&m&&v&&oe.length&&(j.preventDefault(),v(oe))},M=o?nu(o):null,S=oe.filter(j=>he.has(j)).length,R=S===0?"false":S===oe.length?"true":"mixed",Y=m&&v&&oe.length?mt("button",{key:"selall",type:"button",class:"ds-file-selectall",role:"checkbox","aria-checked":R,"aria-label":R==="true"?"clear selection":"select all "+oe.length+" shown files",onclick:()=>R==="true"&&x?x():v(oe)},mt("span",{class:"ds-check-box","aria-hidden":"true"}),mt("span",{},"all")):null,He=su({density:C,onDensity:A}),gt=[i?mt("span",{key:"filterwrap",class:"ds-file-filter-wrap"},mt("input",{key:"filter",class:"ds-file-filter-input",type:"search",value:i.value||"",placeholder:i.placeholder||"Filter files","aria-label":i.placeholder||"Filter files in this directory",oninput:j=>i.onInput&&i.onInput(j.target.value),onkeydown:j=>{j.key==="Escape"&&i.value&&(j.preventDefault(),j.stopPropagation(),i.onInput&&i.onInput(""))}}),mt("span",{key:"filtercount",class:"sr-only",role:"status","aria-live":"polite"},U?e.length+(e.length===1?" file":" files")+" shown":"")):null,Y,M].filter(Boolean),Et=[...gt,gt.length&&He?mt("span",{key:"spread",class:"spread"}):null,He].filter(Boolean),Pt=Et.length?mt("div",{class:"ds-file-controls"},...Et):null,re=!e.length&&U?Gn({text:r,glyph:k("folder-open",{size:28})}):mt("div",{class:"ds-file-grid"+(B?" ds-file-grid-thumb":"")+(b?" is-refreshing":""),role:"group","aria-label":"files",tabindex:"0","aria-busy":b?"true":"false","data-density":C||"list",onkeydown:te,...H},...P.map((j,Ot)=>B?eu({key:j.path||j.name+Ot,f:j,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t,thumb:T&&j.type==="image"?T(j):null}):qs({key:j.path||j.name+Ot,name:j.name,type:j.type,size:j.size,modified:j.modified,code:j.code,active:j.active,permissions:j.permissions,locked:j.locked,actions:u??void 0,busy:p!=null?!!p:!!j.busy,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t?()=>t(j):null,onAction:n?Je=>n(Je,j):null}))),ae=L?mt("div",{class:"ds-file-more"},mt("span",{class:"ds-file-more-count",role:"status","aria-live":"polite"},"showing "+P.length+" of "+e.length),d?mt("button",{type:"button",class:"ds-file-more-btn",onclick:()=>d(Math.min(e.length,E+Si))},"show "+Math.min(Si,e.length-E)+" more"):null):null;return Pt||ae?mt("div",{class:"ds-file-listing"},Pt,re,ae):re}var mt,Si,au=N(()=>{I();Q();vi();ru();Ei();mt=y,Si=200});var rn=N(()=>{yi();vi();au();Ei()});function an(e){let t=String(e??"").trim();if(!t)return null;if(/^(\/|\.|#|\?)/.test(t)||t.startsWith("//"))return t;let n=(t.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/)||[])[1];return n?/^(https?|mailto|tel)$/i.test(n)?t:null:t}function An(e){if(e==null)return[];let t=[],n=/(\*\*([^*]+)\*\*|\*([^*]+)\*|`([^`]+)`|\[([^\]]+)\]\(([^)]+)\))/g,s=0,r,a=0,o=i=>t.push(i);for(;(r=n.exec(e))!==null;){if(r.index>s&&o(Cn("span",{key:"s"+a+"a"},e.slice(s,r.index))),r[2]!=null)o(Cn("strong",{key:"s"+a},r[2]));else if(r[3]!=null)o(Cn("em",{key:"s"+a},r[3]));else if(r[4]!=null)o(Cn("code",{key:"s"+a,class:"chat-tick"},r[4]));else if(r[5]!=null){let i=an(r[6]);o(i?Cn("a",{key:"s"+a,href:i,target:"_blank",rel:"noopener noreferrer"},r[5]):Cn("span",{key:"s"+a},r[5]))}s=r.index+r[0].length,a+=1}return s<e.length&&o(Cn("span",{key:"s"+a+"a"},e.slice(s))),t}function ou(e){let t=String(e||"").split(".").pop().toLowerCase();return Pf[t]||"file"}function Vn(e,t){let n=()=>{t.textContent="copied",t.classList.add("is-copied"),setTimeout(()=>{t.textContent="copy",t.classList.remove("is-copied")},1600)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(n).catch(()=>{});else try{let s=document.createElement("textarea");s.value=e,document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s),n()}catch{}}function Vs(e){e&&e.querySelectorAll("pre").forEach(t=>{if(t.dataset.copyWired==="1")return;t.dataset.copyWired="1";let n=document.createElement("div");n.className="chat-code-block",t.parentNode.insertBefore(n,t),n.appendChild(t);let s=t.querySelector("code"),r=s&&(s.className||"").match(/(?:language|lang)-([a-z0-9+#]+)/i);if(r&&r[1]){let o=document.createElement("span");o.className="chat-code-lang",o.setAttribute("aria-hidden","true"),o.textContent=r[1],n.appendChild(o)}let a=document.createElement("button");a.type="button",a.className="chat-code-copy",a.setAttribute("aria-label","copy code"),a.textContent="copy",a.addEventListener("click",()=>Vn(t.innerText,a)),n.appendChild(a)})}var Cn,Pf,zs=N(()=>{I();Cn=y;Pf={pdf:"file-pdf",zip:"file-zip",tar:"file-zip",gz:"file-zip",mp4:"file-video",mov:"file-video",mp3:"file-audio",wav:"file-audio",csv:"file-sheet",json:"file-code",js:"file-code",ts:"file-code",md:"file-text",txt:"file-text"}});function on(e){return String(e??"").replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}function iu(e){return JSON.stringify(e).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(Bf,"\\u2028").replace(Hf,"\\u2029")}var Bf,Hf,Di=N(()=>{Bf=new RegExp("\u2028","g"),Hf=new RegExp("\u2029","g")});function Uf({markedUrl:e,purifyUrl:t}={}){e!==void 0&&(Ii=e||cu),t!==void 0&&(Mi=t||du),ln=null,En=0}function Wf(){return{markedUrl:Ii,purifyUrl:Mi}}function Sn(){return!zn||!Ht||typeof Ht.sanitize!="function"}async function Yn(){return ln||(En&&Date.now()-En<Nf?!1:(ln=(async()=>{try{let[{marked:e},t]=await Promise.all([import(Ii),import(Mi)]),n=t.default||t;if(!e||typeof e.parse!="function")throw new Error("marked module missing parse()");if(!n||typeof n.sanitize!="function")throw new Error("DOMPurify module missing sanitize()");return zn=e,Ht=n,En=0,!0}catch(e){return console.warn("[247420] markdown loader failed:",e),zn=null,Ht=null,ln=null,En=Date.now(),!1}})(),ln))}function lu(e){return on(e).replace(/\n/g,"<br>")}async function wa(e){if(!await Yn())return lu(e);try{let n=zn.parse(String(e));if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-render");return Ht.sanitize(n,{FORCE_BODY:!0})}catch(n){return console.warn("[247420] markdown render failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),lu(e)}}async function ji(e){if(!await Yn())return on(e);try{if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-sanitize");return Ht.sanitize(String(e),{FORCE_BODY:!0})}catch(n){return console.warn("[247420] sanitizeHtml failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),on(e)}}var ln,zn,Ht,En,Nf,cu,du,Ii,Mi,Zn=N(()=>{Di();ln=null,zn=null,Ht=null,En=0,Nf=3e4,cu="https://cdn.jsdelivr.net/npm/marked@15.0.12/+esm",du="https://cdn.jsdelivr.net/npm/dompurify@3.2.6/+esm",Ii=cu,Mi=du});function Ff({baseUrl:e}={}){ka=e||pu,Jn=null,Ys=null}function Of(){return{baseUrl:ka}}function uu(e){return new Promise(t=>{if(document.querySelector('script[src="'+e+'"]')){t();return}let s=document.createElement("script");s.src=e,s.crossOrigin="anonymous",s.onload=t,s.onerror=()=>{console.warn("[247420] prism part failed:",e),t()},document.head.appendChild(s)})}async function Xn(){return Jn||Ys||(Ys=(async()=>{try{if(await uu(ka+"prism-core.min.js"),Jn=window.Prism||null,Jn)for(let e of Qf)await Promise.all(e.map(t=>uu(ka+t)));return Jn}catch(e){return console.warn("[247420] prism loader failed:",e),null}})(),Ys)}async function Tn(e){let t=await Xn();!t||!e||typeof t.highlightAllUnder=="function"&&t.highlightAllUnder(e)}var Jn,Ys,pu,ka,Qf,Zs=N(()=>{Jn=null,Ys=null,pu="https://cdn.jsdelivr.net/npm/prismjs@1.30.0/components/",ka=pu;Qf=[["prism-markup.min.js","prism-css.min.js","prism-clike.min.js"],["prism-javascript.min.js","prism-json.min.js","prism-bash.min.js","prism-yaml.min.js","prism-markdown.min.js","prism-python.min.js","prism-rust.min.js","prism-go.min.js","prism-diff.min.js","prism-sql.min.js","prism-toml.min.js"],["prism-typescript.min.js","prism-jsx.min.js"],["prism-tsx.min.js"]]});function qf(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return Math.abs(t).toString(36)}async function Aa(){return xa||(xa=(async()=>{let e=performance.now(),[t,n]=await Promise.all([(async()=>{let s=performance.now(),r=await Yn();return Te.markdownInitMs=performance.now()-s,Ri=!0,r})(),(async()=>{let s=performance.now(),r=await Xn();return Te.prismInitMs=performance.now()-s,Ca=!0,r})()]);return Te.totalInitMs=performance.now()-e,{markdown:t,prism:n}})(),xa)}async function mu(e){let t=performance.now(),n=qf(e||"");if(Dn.has(n))return Te.cacheHits+=1,Dn.get(n);await Yn(),Ri=!Sn();let s=await wa(e);if(!Sn()&&(Dn.set(n,s),Dn.size>500)){let a=Dn.keys().next().value;Dn.delete(a)}let r=performance.now()-t;return Te.renderCount+=1,Te.cacheMisses+=1,Te.renderTimes.push(r),Te.renderTimes.length>100&&Te.renderTimes.shift(),s}async function Li(e){Ca||(await Xn(),Ca=!0),await Tn(e)}function Pi(){let e=Te.cacheHits+Te.cacheMisses;return{markdownInitialized:Ri,prismInitialized:Ca,initMs:{markdown:Te.markdownInitMs,prism:Te.prismInitMs,total:Te.totalInitMs},renderStats:{count:Te.renderCount,avgTimeMs:Te.renderTimes.length?(Te.renderTimes.reduce((t,n)=>t+n,0)/Te.renderTimes.length).toFixed(2):0,minTimeMs:Te.renderTimes.length?Math.min(...Te.renderTimes).toFixed(2):0,maxTimeMs:Te.renderTimes.length?Math.max(...Te.renderTimes).toFixed(2):0},cacheStats:{hits:Te.cacheHits,misses:Te.cacheMisses,hitRate:e>0?(Te.cacheHits/e*100).toFixed(1)+"%":"N/A",cacheSize:Dn.size}}}var Ri,Ca,xa,Dn,Te,Ea=N(()=>{Zn();Zs();Bt();Ri=!1,Ca=!1,xa=null,Dn=new Map,Te={markdownInitMs:0,totalInitMs:0,prismInitMs:0,renderCount:0,renderTimes:[],cacheHits:0,cacheMisses:0};Ge("markdown-cache",()=>Pi())});function Kf({url:e}={}){Bi=e||fu,_n=null,$n=null}function Gf(){return{url:Bi}}async function hu(){return _n||$n||($n=(async()=>{try{let e=await import(Bi),t=e.default||e;if(!t||typeof t.render!="function")throw new Error("mermaid module missing render()");return t.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0}),_n=t,_n}catch(e){return console.warn("[247420] mermaid loader failed:",e),_n=null,$n=null,null}})(),$n)}async function gu(e){let t=await hu();if(!t)return null;try{let n="ds-mermaid-"+Date.now().toString(36)+"-"+Vf++;if(!(t.parse?await t.parse(e,{suppressErrors:!0}):!0))return null;let{svg:r}=await t.render(n,e);return r}catch(n){return console.warn("[247420] mermaid render failed:",n),null}}async function Hi(e){if(!e||!e.querySelectorAll)return;let t=e.querySelectorAll("code.language-mermaid, code.lang-mermaid");for(let n of t){let s=n.closest("pre");if(!s||s.dataset.mermaidWired==="1")continue;s.dataset.mermaidWired="1";let r=n.textContent||"",a=await gu(r);if(!a){delete s.dataset.mermaidWired;continue}let o=document.createElement("div");o.className="ds-mermaid-block";let i=document.createElement("button");i.type="button",i.className="ds-mermaid-toggle",i.textContent="source";let l=document.createElement("div");l.className="ds-mermaid-diagram",l.innerHTML=a;let c=!1;i.addEventListener("click",()=>{c=!c,l.style.display=c?"none":"",s.style.display=c?"":"none",i.textContent=c?"diagram":"source"}),o.appendChild(l),o.appendChild(i),s.style.display="none",s.parentNode.insertBefore(o,s),o.appendChild(s)}}var _n,$n,fu,Bi,Vf,Ni=N(()=>{_n=null,$n=null,fu="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs",Bi=fu;Vf=0});function zf({jsUrl:e,cssUrl:t}={}){Ui=e||yu,Wi=t||vu,es=null,ts=null,Sa=!1}function Yf(){return{jsUrl:Ui,cssUrl:Wi}}function Zf(){if(Sa||typeof document>"u")return;if(document.querySelector("link[data-katex]")){Sa=!0;return}let e=document.createElement("link");e.rel="stylesheet",e.href=Wi,e.setAttribute("data-katex",""),document.head.appendChild(e),Sa=!0}async function Fi(){return es||ts||(ts=(async()=>{try{Zf();let e=await import(Ui),t=e.default||e;if(!t||typeof t.renderToString!="function")throw new Error("katex module missing renderToString()");return es=t,es}catch(e){return console.warn("[247420] katex loader failed:",e),es=null,ts=null,null}})(),ts)}async function bu(e,t){let n=await Fi();if(!n)return null;try{return n.renderToString(e,{throwOnError:!1,strict:!1,displayMode:t})}catch(s){return console.warn("[247420] katex render failed:",s),null}}async function Oi(e){if(!e||e.dataset?.mathWired==="1"||!e||!e.querySelectorAll||!(e.innerHTML||"").includes("$")||!await Fi())return;e.dataset.mathWired="1";let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(l){let c=l.parentElement;return c&&(c.closest("code")||c.closest("pre"))?NodeFilter.FILTER_REJECT:/\$/.test(l.nodeValue)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),r=[],a;for(;a=s.nextNode();)r.push(a);let o=/\$\$([^$]+)\$\$/g,i=/\$([^$\n]+)\$/g;for(let l of r){let c=l.nodeValue;if(!o.test(c)&&!i.test(c))continue;o.lastIndex=0,i.lastIndex=0;let d=document.createDocumentFragment(),u=0,p=[],m;for(;(m=o.exec(c))!==null;)m.index>u&&p.push({text:c.slice(u,m.index)}),p.push({math:m[1],display:!0}),u=m.index+m[0].length;u<c.length&&p.push({text:c.slice(u)});for(let f of p){if(f.math!=null){let x=await bu(f.math.trim(),!0);if(x){let C=document.createElement("span");C.className="ds-math-display",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$$"+f.math+"$$"));continue}let h=f.text,g=0;i.lastIndex=0;let w,v=!1;for(;(w=i.exec(h))!==null;){v=!0,w.index>g&&d.appendChild(document.createTextNode(h.slice(g,w.index)));let x=await bu(w[1].trim(),!1);if(x){let C=document.createElement("span");C.className="ds-math-inline",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$"+w[1]+"$"));g=w.index+w[0].length}v?g<h.length&&d.appendChild(document.createTextNode(h.slice(g))):d.appendChild(document.createTextNode(h))}l.parentNode.replaceChild(d,l)}}var es,ts,Sa,yu,vu,Ui,Wi,Qi=N(()=>{es=null,ts=null,Sa=!1,yu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.mjs",vu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css",Ui=yu,Wi=vu});function wu(e){return zt("div",{class:"chat-bubble chat-md",ref:n=>{if(!n)return;let s=(Sn()?"~degraded~":"")+(e.text||"");if(n.dataset.mdSrc===s)return;let r=n.dataset.mdParsedLen?Number(n.dataset.mdParsedLen):0,a=n.dataset.mdLastParseAt?Number(n.dataset.mdLastParseAt):0,o=typeof performance<"u"?performance.now():Date.now();if(e.streamingCaret&&r>0&&o-a<Jf&&s.length-r<Xf){n.textContent=e.text||"";return}n.dataset.mdSrc=s,n.dataset.mdParsedLen=String(s.length),n.dataset.mdLastParseAt=String(o),Sn()&&(n.textContent=e.text||"");function i(){mu(e.text||"").then(l=>{if(n.dataset.mdSrc!==s)return;let c=()=>{n.innerHTML=l,delete n.dataset.mathWired,Vs(n),Hi(n).catch(()=>{}),Oi(n).catch(()=>{})},d=typeof window<"u"?window.getSelection():null;if(d&&d.anchorNode&&n.contains(d.anchorNode)){let u=()=>{document.removeEventListener("selectionchange",u),c()};document.addEventListener("selectionchange",u,{once:!0});return}c()})}e.streamingCaret?i():_f(i)}})}function ku(e){let t=s=>{if(!s)return;let r=(e.lang||"")+"|"+(e.code||"");if(s.dataset.codeKey===r)return;s.dataset.codeKey=r;let a=typeof window<"u"?window.getSelection():null;if(a&&a.anchorNode&&s.contains(a.anchorNode)){let o=()=>{document.removeEventListener("selectionchange",o),Li(s)};document.addEventListener("selectionchange",o,{once:!0});return}Li(s)},n=s=>Vn(e.code||"",s.currentTarget);return zt("div",{class:"chat-bubble chat-code",ref:t},zt("div",{class:"chat-code-head"},zt("span",{class:"lang"},e.lang||"code"),e.filename?zt("span",{class:"name"},e.filename):null,zt("span",{class:"spread"}),zt("button",{type:"button",class:"chat-code-copy chat-code-copy-head","aria-label":"copy code",onclick:n},"copy")),zt("pre",{},zt("code",{class:e.lang?"lang-"+e.lang+" language-"+e.lang:""},e.code||"")))}var zt,Jf,Xf,_f,xu=N(()=>{I();Ea();Zn();Ni();Qi();zs();zt=y,Jf=120,Xf=40,_f=typeof requestIdleCallback=="function"?e=>requestIdleCallback(e,{timeout:500}):e=>setTimeout(e,0)});function Au(e,t){ns.set(e,{...ns.get(e)||{},...t})}function In(){try{let e=typeof localStorage<"u"&&localStorage.getItem(Cu);if(e&&ns.has(e))return e}catch{}if(typeof navigator<"u"&&navigator.language){let e=navigator.language.slice(0,2);if(ns.has(e))return e}return"en"}function $f(e){try{typeof localStorage<"u"&&localStorage.setItem(Cu,e)}catch{}}function Nt(e,t,n){let s=In(),r=ns.get(s)||{},a=e in r?r[e]:t;if(n)for(let o of Object.keys(n))a=a.split("{"+o+"}").join(String(n[o]));return a}function eh(){return[...ns.keys()]}var Cu,ns,ss=N(()=>{Cu="ds-locale",ns=new Map;Au("en",{})});function nh(e){return th[e]||{label:e||"changed",tone:"neutral",glyph:(e||"?").slice(0,1)}}function rh(e=""){let t=e.split("/").pop()||e,n=t.toLowerCase();if(Eu[n])return Eu[n];if(n.startsWith(".env."))return"text";if(n==="dockerfile"||n.startsWith("dockerfile."))return"code";let s=t.lastIndexOf(".");return s<=0?"other":sh[t.slice(s+1).toLowerCase()]||"other"}function Ta({files:e=[],onFileClick:t,emptyText:n="no changes",active:s}={}){return e.length?Oe("div",{class:"ds-git-status-grid",role:"group","aria-label":"changed files"},...e.map((r,a)=>ah({key:r.path||a,file:r,onClick:t,active:s===r.path}))):Oe("div",{class:"ds-git-empty",role:"status"},Oe("span",{class:"ds-git-empty-glyph","aria-hidden":"true"},k("circle-dot",{size:22})),Oe("span",{},n))}function ah({key:e,file:t,onClick:n,active:s}={}){let r=nh(t.status),a=rh(t.path),o=[t.insertions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-add"},"+"+t.insertions):null,t.deletions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-del"},"-"+t.deletions):null].filter(Boolean);return Oe("button",{key:e,type:"button",class:"ds-git-row"+(s?" active":""),onclick:n?()=>n(t):null,disabled:n?null:!0,"aria-label":r.label+": "+t.path,"aria-pressed":s?"true":"false"},Oe("span",{class:"ds-git-status-chip tone-"+r.tone,"aria-hidden":"true"},r.glyph),Oe("span",{class:"ds-git-row-icon","aria-hidden":"true"},k(sn(a),{size:15})),Oe("span",{class:"ds-git-row-path"},t.path),t.staged?Oe("span",{class:"ds-git-row-tag"},"staged"):null,o.length?Oe("span",{class:"ds-git-row-stats"},...o):null)}function oh(e=""){let t=e.split(`
|
|
126
|
+
`,s.querySelector(".prev").addEventListener("click",e),s.querySelector(".next").addEventListener("click",t),s.querySelector(".reset").addEventListener("click",n),s}function Md({onBack:e,onForward:t}){let n=document.createElement("div");n.className="tapzones export-hidden",n.setAttribute("aria-hidden","true");let s=document.createElement("div");s.className="tapzone tapzone--back";let r=document.createElement("div");r.className="tapzone tapzone--mid",r.style.pointerEvents="none";let a=document.createElement("div");return a.className="tapzone tapzone--fwd",s.addEventListener("click",e),a.addEventListener("click",t),n.append(s,r,a),n}function jd(e,t){let n=t.target;if(n&&(n.isContentEditable||/^(INPUT|TEXTAREA|SELECT)$/.test(n.tagName))||t.metaKey||t.ctrlKey||t.altKey)return!1;let s=kf[t.key];if(s)return s(e),!0;if(/^[0-9]$/.test(t.key)){let r=t.key==="0"?9:parseInt(t.key,10)-1;if(r<e._slides.length)return e._go(r,"keyboard"),!0}return!1}var vf,wf,kf,Rd=N(()=>{Q();vf=ra("chevron-left",{size:16}),wf=ra("chevron-right",{size:16});kf={ArrowRight:e=>e._go(e._index+1,"keyboard"),PageDown:e=>e._go(e._index+1,"keyboard")," ":e=>e._go(e._index+1,"keyboard"),Spacebar:e=>e._go(e._index+1,"keyboard"),ArrowLeft:e=>e._go(e._index-1,"keyboard"),PageUp:e=>e._go(e._index-1,"keyboard"),Home:e=>e._go(0,"keyboard"),End:e=>e._go(e._slides.length-1,"keyboard"),r:e=>e._go(0,"keyboard"),R:e=>e._go(0,"keyboard")}});function Ld(e){let t=document.getElementById("speaker-notes");if(!t)return[];try{let n=JSON.parse(t.textContent||"[]");return Array.isArray(n)?n:[]}catch(n){return console.warn("[deck-stage] Failed to parse #speaker-notes JSON:",n),[]}}function Pd(e,t){let n=ha+(location.pathname||"/");try{let s=localStorage.getItem(n);if(s==null)return 0;let r=parseInt(s,10);if(Number.isFinite(r)&&r>=0&&r<t.length)return r}catch{}return 0}function Af(e,t){let n=ha+(location.pathname||"/");try{localStorage.setItem(n,String(t))}catch{}}function Bd(e,t){let s=t.assignedElements({flatten:!0}).filter(r=>{let a=r.tagName;return a!=="TEMPLATE"&&a!=="SCRIPT"&&a!=="STYLE"});return s.forEach((r,a)=>{let o=a+1,i=r.getAttribute("data-label");if(!i){let l=r.getAttribute("data-screen-label");l&&(i=l.replace(/^\s*\d+\s*/,"").trim()||l)}if(!i){let l=r.querySelector("h1, h2, h3, [data-title]");l&&(i=(l.textContent||"").trim().slice(0,40))}i||(i="Slide"),r.setAttribute("data-screen-label",`${Cf(o)} ${i}`),r.hasAttribute("data-om-validate")||r.setAttribute("data-om-validate",xf),r.setAttribute("data-deck-slide",String(a))}),s}function Xo(e,{index:t,prevIndex:n,slides:s,countEl:r,showOverlay:a=!0,broadcast:o=!0,reason:i="init",flashFn:l=null}={}){if(!s.length)return;let c=n??-1,d=t;if(s.forEach((u,p)=>{p===d?u.setAttribute("data-deck-active",""):u.removeAttribute("data-deck-active")}),r&&(r.textContent=String(d+1)),Af(e,d),o){try{window.postMessage({slideIndexChanged:d},"*")}catch{}e.dispatchEvent(new CustomEvent("slidechange",{detail:{index:d,previousIndex:c,total:s.length,slide:s[d]||null,previousSlide:c>=0&&s[c]||null,reason:i},bubbles:!0,composed:!0}))}a&&l&&l()}var ha,xf,Cf,Hd=N(()=>{ha="deck-stage:slide:",xf="no_overflowing_text,no_overlapping_text,slide_sized_text",Cf=e=>String(e).padStart(2,"0")});var Nd={};hn(Nd,{DeckStage:()=>ga});var Ef,Sf,Tf,ga,Ud=N(()=>{dd();Rd();Hd();Ef=1920,Sf=1080,Tf=1800,ga=class extends HTMLElement{static get observedAttributes(){return["width","height","noscale","fill"]}constructor(){super(),this._root=this.attachShadow({mode:"open"}),this._index=0,this._slides=[],this._notes=[],this._hideTimer=null,this._mouseIdleTimer=null,this._storageKey=ha+(location.pathname||"/"),this._onKey=this._onKey.bind(this),this._onResize=this._onResize.bind(this),this._onSlotChange=this._onSlotChange.bind(this),this._onMouseMove=this._onMouseMove.bind(this)}get designWidth(){return parseInt(this.getAttribute("width"),10)||Ef}get designHeight(){return parseInt(this.getAttribute("height"),10)||Sf}connectedCallback(){this._render(),this._notes=Ld(this),this._syncPrintPageRule(),window.addEventListener("keydown",this._onKey),window.addEventListener("resize",this._onResize),window.addEventListener("mousemove",this._onMouseMove,{passive:!0})}disconnectedCallback(){window.removeEventListener("keydown",this._onKey),window.removeEventListener("resize",this._onResize),window.removeEventListener("mousemove",this._onMouseMove),this._hideTimer&&clearTimeout(this._hideTimer),this._mouseIdleTimer&&clearTimeout(this._mouseIdleTimer)}attributeChangedCallback(){this._canvas&&(this._canvas.style.width=this.designWidth+"px",this._canvas.style.height=this.designHeight+"px",this._canvas.style.setProperty("--deck-design-w",this.designWidth+"px"),this._canvas.style.setProperty("--deck-design-h",this.designHeight+"px"),this._fit(),this._syncPrintPageRule())}_render(){let t=document.createElement("style");t.textContent=cd;let n=document.createElement("div");n.className="stage";let s=document.createElement("div");s.className="canvas",s.style.width=this.designWidth+"px",s.style.height=this.designHeight+"px",s.style.setProperty("--deck-design-w",this.designWidth+"px"),s.style.setProperty("--deck-design-h",this.designHeight+"px");let r=document.createElement("slot");r.addEventListener("slotchange",this._onSlotChange),s.appendChild(r),n.appendChild(s);let a=Md({onBack:i=>{i.preventDefault(),this._go(this._index-1,"tap")},onForward:i=>{i.preventDefault(),this._go(this._index+1,"tap")}}),o=Id({onPrev:()=>this._go(this._index-1,"click"),onNext:()=>this._go(this._index+1,"click"),onReset:()=>this._go(0,"click")});this._root.append(t,n,a,o),this._canvas=s,this._slot=r,this._overlay=o,this._countEl=o.querySelector(".current"),this._totalEl=o.querySelector(".total")}_syncPrintPageRule(){let t="deck-stage-print-page",n=document.getElementById(t);n||(n=document.createElement("style"),n.id=t,document.head.appendChild(n)),n.textContent="@page { size: "+this.designWidth+"px "+this.designHeight+"px; margin: 0; } @media print { html, body { margin: 0 !important; padding: 0 !important; background: none !important; overflow: visible !important; height: auto !important; } * { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }"}_onSlotChange(){this._slides=Bd(this,this._slot),this._index=Pd(this,this._slides),Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!1,broadcast:!0,reason:"init",flashFn:()=>this._flashOverlay()}),this._fit()}_flashOverlay(){this._overlay&&(this._overlay.setAttribute("data-visible",""),this._hideTimer&&clearTimeout(this._hideTimer),this._hideTimer=setTimeout(()=>this._overlay.removeAttribute("data-visible"),Tf))}_fit(){if(!this._canvas)return;if(this.hasAttribute("noscale")){this._canvas.style.transform="none";return}let t=window.innerWidth/this.designWidth,n=window.innerHeight/this.designHeight,s=this.getAttribute("fill")==="cover"?Math.max(t,n):Math.min(t,n);this._canvas.style.transform=`scale(${s})`}_onResize(){this._fit()}_onMouseMove(){this._flashOverlay()}_onKey(t){jd(this,t)&&(t.preventDefault(),this._flashOverlay())}_go(t,n="api"){if(!this._slides.length)return;let s=Math.max(0,Math.min(this._slides.length-1,t));if(s===this._index){this._flashOverlay();return}this._index=s,Xo(this,{index:this._index,prevIndex:this._prevIndex,slides:this._slides,countEl:this._countEl,showOverlay:!0,broadcast:!0,reason:n,flashFn:()=>this._flashOverlay()})}get index(){return this._index}get length(){return this._slides.length}goTo(t){this._go(t,"api")}next(){this._go(this._index+1,"api")}prev(){this._go(this._index-1,"api")}reset(){this._go(0,"api")}};typeof customElements<"u"&&!customElements.get("deck-stage")&&customElements.define("deck-stage",ga)});var ei={};hn(ei,{register:()=>Ge,snapshot:()=>Df,unregister:()=>$o});function Ge(e,t){typeof e!="string"||typeof t!="function"||(_o.set(e,t),typeof window<"u"&&(window.__debug||(window.__debug={}),Object.defineProperty(window.__debug,e,{get(){try{return t()}catch(n){return{error:String(n)}}},configurable:!0,enumerable:!0})))}function $o(e){_o.delete(e),typeof window<"u"&&window.__debug&&delete window.__debug[e]}function Df(){let e={};for(let[t,n]of _o)try{e[t]=n()}catch(s){e[t]={error:String(s)}}return e}var _o,Bt=N(()=>{_o=new Map});function wt(e,t=1){return e&&String(e).trim().slice(0,t).toUpperCase()||"?"}function js({name:e,src:t,fallback:n,size:s="md",shape:r="circle",initialsCount:a=1,key:o}={}){let i=n??wt(e,a),l="ds-avatar ds-avatar-"+s+(r==="square"?" ds-avatar-square":"");return t?Kd("img",{key:o,class:l,src:t,alt:e||"",loading:"lazy"}):Kd("span",{key:o,class:l,"aria-hidden":!!e,role:e?"img":void 0,"aria-label":e||void 0},i)}var Kd,Gd=N(()=>{I();Kd=y});function Vd(e,t){let n=String(e),s=String(t).toLowerCase();if(!s)return n;let r=n.toLowerCase(),a=[],o=0,i=0;for(;o<=n.length;){let l=r.indexOf(s,o);if(l===-1)break;l>o&&a.push(lt("span",{key:"hs"+i++},n.slice(o,l))),a.push(lt("mark",{key:"hs"+i++,class:"ds-hl"},n.slice(l,l+s.length))),o=l+s.length}return a.length?(o<n.length&&a.push(lt("span",{key:"hs"+i++},n.slice(o))),a):n}function ne({code:e,rank:t,title:n,sub:s,meta:r,active:a,state:o="default",onClick:i,key:l,style:c,href:d,kind:u,cols:p,leading:m,trailing:f,target:h,selected:g,rail:w,expanded:v,highlight:x,actions:C,detail:A}){let T=e??t,U=o==="active"||o==="default"&&(a||g),b=u==="link"||d!=null&&!i,E=!b&&!!i,L=o==="disabled"?" row-state-disabled":o==="error"?" row-state-error":"",P=T==null&&m==null,B="row"+(U?" active":"")+L+(p?" row-grid":"")+(P&&!p?" row-nocode":"")+(w?" rail-"+w:""),H=o==="disabled",F={key:l,class:B,style:p?`${c?c+";":""}grid-template-columns:${p}`:c};b?(F.href=d||"#",h&&(F.target=h)):E&&!H&&(F.onclick=i,F.role="button",F.tabindex="0",F.onkeydown=M=>{(M.key==="Enter"||M.key===" ")&&(M.preventDefault(),i(M))},(v===!0||v===!1)&&(F["aria-expanded"]=v?"true":"false")),H&&(F["aria-disabled"]="true"),U&&(b||E)&&(F["aria-current"]=U?"page":null);let G=x&&typeof n=="string"?lt("span",{},...[].concat(Vd(n,x))):n,he=v===!0&&Array.isArray(C)&&C.length?lt("span",{class:"row-actions",role:"group","aria-label":"row actions"},...C.map((M,S)=>lt("button",{key:"ract"+S,type:"button",class:"row-act",title:M.title||M.label,"aria-label":M.title||M.label,onclick:R=>{R.stopPropagation(),M.onClick&&M.onClick(R)},onkeydown:R=>{R.stopPropagation()}},M.label))):null,oe=w==="flame"?"error":w==="purple"?"subagent":null,te=x&&typeof A=="string"?lt("span",{},...[].concat(Vd(A,x))):A;return lt(b?"a":"div",F,oe?lt("span",{class:"sr-only"},oe):null,m??(T!=null?lt("span",{class:"code"},T):null),lt("span",{class:"title",title:typeof n=="string"?n:void 0},G,s?lt("span",{class:"sub",title:typeof s=="string"?s:void 0},s):null),f??(r!=null?lt("span",{class:"meta"},r):null),he,A!=null?lt("pre",{class:"ds-row-detail"},te):null)}function xn({code:e,title:t,sub:n,meta:s,href:r="#",key:a,target:o}){return ne({code:e,title:t,sub:n,meta:s,href:r,kind:"link",key:a,target:o})}var lt,Rs=N(()=>{I();lt=y});function Fe({title:e,count:t,right:n,style:s="",class:r="",children:a,kind:o,id:i}){let l="panel"+(o?" panel-"+o:"")+(r?" "+r:"");return We("div",{class:l,style:s,...i?{id:i}:{}},e!=null?We("div",{class:"panel-head"},We("span",{},e),n??(t!=null?We("span",{},String(t)):null)):null,We("div",{class:"panel-body"},...Array.isArray(a)?a:[a]))}function ni({heading:e,items:t=[],keyPrefix:n="i",count:s,style:r,kind:a,emptyText:o}={}){if(!t||!t.length)return o!=null?We("div",{class:"empty"},o):null;let i=t.map((l,c)=>{let d=l.code!=null?l.code:l.rank!=null?l.rank:String(c+1).padStart(2,"0");return xn({key:n+c,code:d,title:l.title!=null?l.title:l.name,sub:l.sub!=null?l.sub:l.desc!=null?l.desc:"",meta:l.meta!=null?l.meta:"",href:l.href||"#"})});return Fe({title:e,count:s,style:r,kind:a,children:i})}function nn({title:e,eyebrow:t,children:n,id:s}){return We("section",{class:"ds-section",...s?{id:s}:{}},t?We("span",{class:"eyebrow"},t):null,e?We("h3",{},e):null,...Array.isArray(n)?n:[n])}function Ls({rows:e=[],emptyText:t="nothing here yet"}){return e.length?We("table",{class:"kv"},We("tbody",{},...e.map(([n,s],r)=>We("tr",{key:r},We("td",{},n),We("td",{},s))))):We("div",{class:"empty"},t)}function Ps({entries:e=[],emptyText:t="no changelog entries yet"}){return e.length?Fe({kind:"wide",children:e.map((n,s)=>We("div",{key:s,class:"row ds-changelog-row"},We("span",{class:"code"},n.date),We("span",{class:"ds-changelog-ver"},n.ver),We("span",{class:"title"},n.msg)))}):We("div",{class:"empty"},t)}var We,ti,Bs=N(()=>{I();Rs();We=y;ti=Fe});function Hs({eyebrow:e,title:t,body:n,accent:s,actions:r,badges:a}){let o=Array.isArray(a)?a.filter(Boolean):[],i=o.length?Z("div",{class:"ds-hero-stats"},...o.map((d,u)=>Z("span",{key:"hb"+u,class:"ds-hero-stat"},String(d&&d.label!=null?d.label:d)))):null,l=r?Z("div",{class:"ds-hero-actions"},...Array.isArray(r)?r:[r]):null,c=i||l?Z("div",{class:"ds-hero-aside"},i,l):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e?Z("span",{class:"eyebrow"},e):null,Z("h1",{class:"ds-hero-title"},t)),n?Z("p",{class:"ds-hero-body"},n,s?Z("span",{class:"ds-hero-accent"}," "+s):null):null,c)}function Ns(e){if(!e)return null;let t=e.heading||e.title||"",n=Array.isArray(e.badges)?e.badges.filter(Boolean):[],s=Array.isArray(e.ctas)?e.ctas.filter(Boolean):[],r=n.length?Z("div",{class:"ds-hero-stats"},...n.map((i,l)=>Z("span",{key:"hb"+l,class:"ds-hero-stat"},Z("strong",{class:"ds-hero-stat-n"},String(i&&i.label!=null?i.label:i)),i&&i.desc?Z("span",{class:"ds-hero-stat-l"},String(i.desc)):null))):null,a=s.length?Z("div",{class:"ds-hero-actions"},...s.map((i,l)=>Z("a",{key:"hc"+l,class:i.primary||l===0?"btn btn-accent":"btn btn-ghost",href:i.href||"#"},i.label||i.cta||"go"))):null,o=e.install?Z("div",{class:"cli"},Z("span",{class:"prompt"},"$"),Z("span",{class:"cmd"},e.install)):null;return Z("div",{class:"ds-hero"},Z("div",{class:"ds-hero-head"},e.eyebrow?Z("span",{class:"eyebrow"},e.eyebrow):null,Z("h1",{class:"ds-hero-title"},t)),e.subheading?Z("p",{class:"ds-hero-body lede"},e.subheading):null,e.body?Z("p",{class:"ds-hero-body"},e.body,e.accent?Z("span",{class:"ds-hero-accent"}," "+e.accent):null):null,r||a||o?Z("div",{class:"ds-hero-aside"},r,o,a):null)}function si({items:e=[],sep:t="/"}){if(!e.length)return null;let n=s=>e.flatMap((r,a)=>[Z("span",{class:"ds-marquee-item",key:`${s}-i${a}`},r),Z("span",{class:"ds-marquee-sep",key:`${s}-s${a}`,"aria-hidden":"true"},t)]);return Z("div",{class:"ds-marquee",role:"marquee"},Z("div",{class:"ds-marquee-track"},...n("a"),...n("b")))}function Us({paragraphs:e=[],maxWidth:t}){return Z("div",{class:"ds-prose ds-manifesto","data-max-width":t?String(t):null},...e.map((n,s)=>Z("p",{key:s,class:"ds-manifesto-para"+(n.dim?" dim":"")},n.text||n)))}function ie({title:e,lede:t,eyebrow:n,right:s,compact:r,dense:a,id:o}){return a?Z("section",{class:"ds-section ds-section-compact ds-page-header-dense",...o?{id:o}:{}},Z("div",{class:"ds-page-header-dense-row"},...[e!=null?Z("h1",{key:"dh"},e):null,t!=null?Z("span",{key:"dl",class:"ds-page-header-dense-lede",title:typeof t=="string"?t:null},t):null,s!=null?Z("div",{key:"dr",class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null].filter(Boolean))):Z("section",{class:"ds-section"+(r?" ds-section-compact":""),...o?{id:o}:{}},n?Z("span",{class:"eyebrow"},n):null,e!=null?Z("h1",{},e):null,t!=null?Z("p",{class:"lede"},t):null,s!=null?Z("div",{class:"ds-page-header-right"},...Array.isArray(s)?s:[s]):null)}var Z,ri=N(()=>{I();Z=y});function Ws({cmd:e,copied:t,onCopy:n}){return Gt("div",{class:"cli"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},e),Gt("span",{class:"copy",onclick:()=>n&&n(e)},t?"copied":"copy"))}function ai({lines:e=[],heading:t="quick start",className:n=""}={}){if(!e||!e.length)return null;let s=e.map((a,o)=>{let i=a&&a.kind==="cmt",l=a&&a.text!=null?a.text:"";return i?Gt("div",{key:"q"+o,class:"ds-cli-comment"},l):Gt("div",{key:"q"+o,class:"ds-cli-row"},Gt("span",{class:"prompt"},"$"),Gt("span",{class:"cmd"},l))}),r=Gt("div",{class:"ds-cli-block"+(n?" "+n:"")},...s);return t==null?r:Fe({title:t,children:r})}var Gt,oi=N(()=>{I();Bs();Gt=y});function Fs({works:e=[],openedIndex:t=-1,onToggle:n}){return Fe({children:e.map((s,r)=>{let a=t===r;return tt("div",{key:r},ne({code:s.code,title:s.title,sub:s.sub,meta:tt("span",{class:"ds-works-meta"},s.meta!=null?tt("span",{},s.meta):null,k(a?"chevron-down":"chevron-right")),active:a,expanded:a,onClick:()=>n&&n(a?-1:r)}),a?tt("div",{class:"work-detail","data-work-index":String(r)},tt("div",{class:"ds-prose"},tt("p",{class:"ds-work-body"},s.body)),tt("div",{class:"ds-work-actions"},O({variant:"primary",href:s.href||"#",children:"open ->"}),O({href:s.source||"#",children:"source"}))):null)})})}function Os({posts:e=[]}){return Fe({children:e.map((t,n)=>xn({key:n,code:t.date,title:t.title,meta:t.tag,href:t.href||"#"}))})}function ii({items:e,events:t,emptyText:n="no events",rankPad:s=3,loading:r=!1,loadingText:a="loading events\u2026"}){let o=e||t||[];return r&&!o.length?tt("section",{class:"ds-section ds-event-list"},tt("div",{key:"st",role:"status","aria-live":"polite",class:"ds-event-state lede"},a),...Array.from({length:7},(i,l)=>tt("div",{key:"sk"+l,class:"ds-event-row-skeleton","aria-hidden":"true"},tt("span",{key:"r",class:"ds-skel ds-skel-rank"}),tt("span",{key:"t",class:"ds-skel ds-skel-title"}),tt("span",{key:"m",class:"ds-skel ds-skel-meta"})))):o.length?tt("section",{class:"ds-section ds-event-list"},...o.map((i,l)=>ne({key:i.key||"ev"+l,code:i.code!=null?i.code:i.rank!=null?i.rank:String(l+1).padStart(s,"0"),title:i.title||"(empty)",sub:i.sub||"",active:i.active,onClick:i.onClick,kind:i.kind,rail:i.rail,expanded:i.expanded,detail:i.detail,actions:i.actions,highlight:i.highlight,meta:i.meta}))):tt("p",{class:"lede"},n)}var tt,li=N(()=>{I();Q();Rs();Bs();tt=y});function Vt({items:e=[],emptyText:t="no metrics yet"}){return e.length?$e("div",{class:"kpi"},...e.map(([n,s,r],a)=>$e("div",{key:a,class:"kpi-card"},$e("div",{class:"num"},String(n)),$e("div",{class:"lbl"},s),r&&(r.delta!=null||r.spark)?$e("div",{class:"kpi-foot"},r.delta!=null?$e("span",{class:"kpi-delta kpi-delta-"+(r.tone==="down"?"down":"up")},k(r.tone==="down"?"arrow-down":"arrow-up",{size:12}),String(r.delta)):null,r.spark?ba({values:r.spark,tone:r.tone}):null):null))):$e("div",{class:"empty"},t)}function ba({values:e=[],width:t=72,height:n=24,tone:s}){if(!e.length)return null;let r=Math.max(...e),a=Math.min(...e),o=r-a||1,i=t/(e.length-1||1),c=e.map((d,u)=>[u*i,n-(d-a)/o*n]).map(([d,u],p)=>(p===0?"M":"L")+d.toFixed(1)+","+u.toFixed(1)).join(" ");return $e("svg",{class:"ds-sparkline ds-sparkline-"+(s==="down"?"down":"up"),viewBox:"0 0 "+t+" "+n,width:t,height:n,"aria-hidden":"true"},$e("path",{d:c,fill:"none","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}))}function ci({items:e=[],emptyText:t="no data yet"}){if(!e.length)return $e("div",{class:"empty"},t);let n=Math.max(...e.map(s=>s.value||0))||1;return $e("div",{class:"ds-barchart"},...e.map((s,r)=>$e("div",{key:r,class:"ds-barchart-row"},$e("div",{class:"ds-barchart-label"},s.label),$e("div",{class:"ds-barchart-track"},$e("div",{class:"ds-barchart-fill",style:"--bar-pct:"+Math.round(s.value/n*100)+"%"})),$e("div",{class:"ds-barchart-value"},s.display!=null?s.display:String(s.value)))))}var $e,zd=N(()=>{I();Q();$e=y});function xe({headers:e=[],rows:t=[],onRowClick:n,emptyText:s="nothing here yet",rowLabels:r,striped:a=!1,compact:o=!1,sortable:i=!1,sortKey:l,sortDir:c="asc",onSort:d}){if(!t||t.length===0)return nt("div",{class:"empty"},s);let u=(f,h)=>{if(Array.isArray(r)&&r[h]!=null)return String(r[h]);let g=f[0];return g==null||typeof g=="object"?"row":String(g)},p="ds-table-wrap"+(a?" is-striped":"")+(o?" is-compact":""),m=(f,h)=>{if(!i||!d)return nt("th",{key:h,scope:"col"},f);let g=l===h;return nt("th",{key:h,scope:"col","aria-sort":g?c==="desc"?"descending":"ascending":"none"},nt("button",{type:"button",class:"ds-table-sort-btn"+(g?" is-active":""),onclick:()=>d(h)},nt("span",{class:"ds-table-sort-label"},f),g?k(c==="desc"?"chevron-down":"chevron-up",{size:12}):null))};return nt("div",{class:p,tabindex:"0",role:"group","aria-label":"table, scrollable"},nt("table",{},nt("thead",{},nt("tr",{},...e.map((f,h)=>m(f,h)))),nt("tbody",{},...t.map((f,h)=>nt("tr",{key:h,class:n?"clickable":"",onclick:n?()=>n(h):null,...n?{tabindex:"0",role:"button","aria-label":"open "+u(f,h),onkeydown:g=>{(g.key===" "||g.key==="Enter")&&(g.preventDefault(),n(h))}}:{}},...f.map((g,w)=>nt("td",{key:w},g==null?"":typeof g=="object"?g:String(g))))))))}function di({checks:e={},emptyText:t="no health data",okLabel:n="ok",missLabel:s="no",jsonTruncate:r=60}={}){let a=Object.entries(e);if(!a.length)return nt("div",{class:"empty"},t);let o=a.map(([i,l])=>{let c;if(typeof l=="object"&&l!==null){let d=JSON.stringify(l);c=nt("span",{title:d.length>r?d:null},d.length>r?d.slice(0,r)+"\u2026":d)}else l===!0?c=$({tone:"ok",children:n}):l===!1?c=$({tone:"miss",children:s}):c=String(l);return[i,c]});return xe({headers:["check","status"],rows:o})}function ui({processes:e=[],emptyText:t="no live processes",extraColumns:n=[]}={}){if(!e.length)return nt("div",{class:"empty"},t);let s=["kind","key","state",...n.map(a=>a.header)],r=e.map(a=>[a.kind||"\u2014",a.key||"\u2014",a.state||"\u2014",...n.map(o=>o.render(a))]);return xe({headers:s,rows:r})}var nt,Yd=N(()=>{I();Q();nt=y});function st({value:e="",placeholder:t="search\u2026",onInput:n,onSubmit:s,name:r="q",key:a,label:o,resultCount:i}){let l=u=>{n&&n("",u)},c=Me("input",{key:"i",type:"search",name:r,class:"ds-search-input",placeholder:t,"aria-label":o||t,value:e,oninput:n?u=>n(u.target.value,u):null,onkeydown:u=>{if(u.key==="Escape"&&e){u.preventDefault(),u.stopPropagation(),l(u);return}s&&u.key==="Enter"&&!u.isComposing&&u.keyCode!==229&&s(u.target.value,u)}}),d=e?Me("button",{key:"clr",type:"button",class:"ds-search-clear","aria-label":"clear search",onclick:l},k("x")):null;return Me("span",{key:a,class:"ds-search-input-wrap"},c,d,i!=null?Me("span",{key:"cnt",class:"sr-only",role:"status","aria-live":"polite"},i):null)}function Qe({label:e,value:t="",type:n="text",placeholder:s="",onInput:r,onChange:a,name:o,key:i,hint:l,multiline:c,rows:d=4,maxLength:u,min:p,max:m,error:f,title:h,size:g="md","aria-label":w,"aria-invalid":v,"aria-describedby":x}){let C=g==="sm"?" ds-field--sm":g==="lg"?" ds-field--lg":"",A=f!=null?(i||"tf")+"-err":null,T=x||A||null,U=c?Me("textarea",{key:"i",name:o,rows:d,placeholder:s,value:t,maxlength:u??null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null}):Me("input",{key:"i",type:n,name:o,placeholder:s,value:t,maxlength:u??null,min:p!=null?String(p):null,max:m!=null?String(m):null,"aria-label":w||null,"aria-invalid":f!=null?"true":v||null,"aria-describedby":T,title:h||null,oninput:r?b=>r(b.target.value,b):null,onchange:a?b=>a(b.target.value,b):null});return Me("label",{key:i,class:"ds-field"+C},...[e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,U,f!=null?Me("span",{key:"e",id:A,class:"ds-field-error",role:"alert","aria-live":"polite","aria-atomic":"true"},f):null,u!=null?Me("span",{key:"c",class:"ds-field-count"},String(t.length)+"/"+u):null,l!=null?Me("span",{key:"h",class:"ds-field-hint"},l):null].filter(Boolean))}function rt({label:e,value:t="",options:n=[],onChange:s,name:r,key:a,placeholder:o,hint:i,title:l,size:c="md","aria-label":d}){let u=c==="sm"?" ds-field--sm":c==="lg"?" ds-field--lg":"",p=[];o!=null&&p.push(Me("option",{key:"_ph",value:"",disabled:!0,selected:t===""||t==null},o));for(let h of n){let g=typeof h=="string"?h:h.value!=null?h.value:h.id,w=typeof h=="string"?h:h.label!=null?h.label:h.id||h.value;p.push(Me("option",{key:"o-"+g,value:g,selected:g===t},w))}let m=e==null&&i==null&&c==="md",f=Me("select",{key:m&&a!=null?a:"i",name:r,class:"ds-select","aria-label":d||(e==null?l||o||r:null),title:l,onchange:s?h=>s(h.target.value,h):null},...p);return m?f:e==null&&i==null?Me("label",{key:a,class:"ds-field"+u},f):Me("label",{key:a,class:"ds-field"+u},e!=null?Me("span",{key:"l",class:"ds-field-label"},e):null,f,i!=null?Me("span",{key:"h",class:"ds-field-hint"},i):null)}function pi({fields:e=[],submit:t="submit",onSubmit:n,columns:s=1}){let r=s>1?String(s):null;return Me("form",{class:"row-form","data-columns":r,onsubmit:a=>{a.preventDefault(),n&&n(a)}},...e.map((a,o)=>{let i="ds-form-"+(a.name||"field")+"-"+o,l=a.label!=null?a.label:a.placeholder||a.name||"",c=a.kind==="textarea"?Me("textarea",{key:"i",id:i,name:a.name,placeholder:a.placeholder||"",rows:a.rows||4,required:a.required?!0:null}):Me("input",{key:"i",id:i,name:a.name,type:a.type||"text",placeholder:a.placeholder||"",value:a.value||"",required:a.required?!0:null});return Me("label",{key:o,class:"ds-field",for:i},l!==""?Me("span",{key:"l",class:"ds-field-label"},l):null,c)}),Me("button",{type:"submit",class:"btn-primary"},t))}var Me,Zd=N(()=>{I();Q();Me=y});function mi({size:e="base",tone:t="accent",label:n="loading",key:s}={}){let r={xs:"ds-spinner-xs",sm:"ds-spinner-sm",base:"",lg:"ds-spinner-lg",xl:"ds-spinner-xl"},a=r[e]!=null?r[e]:"";return ct("div",{key:s,class:"ds-spinner "+a+" tone-"+t,role:"status","aria-live":"polite","aria-label":n},ct("span",{key:"1","aria-hidden":"true"}),ct("span",{key:"2","aria-hidden":"true"}),ct("span",{key:"3","aria-hidden":"true"}))}function Jd(e,t){if(e==null)return t;let n=String(e).trim(),s=/^(\d+(?:\.\d+)?)(px|em|rem|%|vh|vw)?$/.exec(n);if(!s)return t;let r=s[2]||"px",a=parseFloat(s[1]);return r==="%"||r==="vh"||r==="vw"?a=Math.min(100,Math.max(0,a)):a=Math.min(600,Math.max(2,a)),a+r}function qn({height:e="1em",width:t="100%",count:n=1,label:s="loading content",key:r}={}){let a=Jd(e,"1em"),o=Jd(t,"100%");return ct("div",{key:r,class:"ds-skeleton-group",role:"status","aria-busy":"true","aria-label":s},...Array(n).fill(0).map((i,l)=>ct("div",{key:String(l),class:"ds-skeleton",style:`height:${a};width:${o};`,"aria-hidden":"true"})))}function fi({options:e=[],selected:t,onSelect:n,label:s="filters"}={}){return e.length?ct("div",{class:"ds-filter-pills",role:"group","aria-label":s},...e.map(r=>ct("button",{key:"fp-"+r.id,type:"button",class:"ds-filter-pill"+(r.id===t?" active":""),"aria-pressed":r.id===t?"true":"false",onclick:()=>n&&n(r.id)},r.label!=null?r.label:r.id))):null}function Qs({kind:e="info",children:t,onDismiss:n,title:s,key:r}={}){let a={info:"info",success:"check",warn:"warn",error:"x"},o="ds-alert ds-alert-"+e;return ct("div",{key:r,class:o,role:"alert"},ct("span",{key:"icon",class:"ds-alert-icon"},k(a[e]||"info")),ct("div",{key:"content",class:"ds-alert-content"},s?ct("div",{key:"title",class:"ds-alert-title"},s):null,ct("div",{key:"msg",class:"ds-alert-message"},...Array.isArray(t)?t:[t])),n?ct("button",{key:"dismiss",class:"ds-alert-dismiss","aria-label":"dismiss",onclick:n},k("x")):null)}var ct,Xd=N(()=>{I();Q();ct=y});function hi({state:e={},onNav:t,onToggleWork:n,works:s=[],posts:r=[],manifesto:a=[],currentlyShipping:o}={}){return[Hs({eyebrow:"an entrypoint",title:"Small, weird, useful tools \u2014 built in public.",body:"247420 is a creative collective of eight, scattered across three timezones. We have been shipping open-source tools for the web since 2018.",accent:"Some become the future. Most don't. That's the deal."}),o?nn({title:"currently shipping",children:Fe({kind:"wide",children:o.map((i,l)=>{let c=ks({tone:i.live?"live":"idle"});return c.props={...c.props,"aria-label":i.live?"live status":"idle status"},ne({key:l,code:c,title:i.title,sub:i.sub,meta:i.meta})})})}):null,s.length?nn({title:"Everything else.",children:Fs({works:s,openedIndex:e.opened??-1,onToggle:n})}):null,r.length?nn({title:"When we have something to say.",children:Os({posts:r})}):null,a.length?nn({title:"Eight people, three timezones, one ongoing conversation.",children:Us({paragraphs:a})}):null].filter(Boolean)}function gi({project:e={},copied:t,onCopy:n}={}){return[If("div",{class:"ds-prose"},tn({level:1,children:e.name}),ws({children:e.tagline})),e.install?[tn({level:3,children:"install"}),Ws({cmd:e.install,copied:t,onCopy:n})]:null,e.receipt?[tn({level:3,children:"by the numbers"}),Ls({rows:e.receipt})]:null,e.changelog?[tn({level:3,children:"recent releases"}),Ps({entries:e.changelog})]:null].filter(Boolean).flat()}var If,_d=N(()=>{I();Q();Rs();Bs();ri();oi();li();If=y});var Be=N(()=>{Gd();Rs();Bs();ri();oi();li();zd();Yd();Zd();Xd();_d()});function sn(e){return $d[e]||$d.other}function pt(e){if(e==null||typeof e!="number"||Number.isNaN(e)||e<0)return"\u2014";if(e===0)return"0 B";let t=["B","KB","MB","GB","TB"],n=0,s=e;for(;s>=1024&&n<t.length-1;)s/=1024,n++;return s.toFixed(n===0?0:1)+" "+t[n]}function Kn({type:e="other"}={}){return Mf("span",{class:"ds-file-icon","data-file-type":e,"aria-label":ya[e]||"file",role:"img"},k(sn(e)))}function bi(e=[],t="name",n="asc"){let s=n==="desc"?-1:1,r=(a,o)=>{let i=a.type==="dir"?0:1,l=o.type==="dir"?0:1;if(i!==l)return i-l;let c=0;return t==="size"?c=(a.size||0)-(o.size||0):t==="modified"?c=(a.modifiedTs||0)-(o.modifiedTs||0):t==="type"?c=String(a.type||"").localeCompare(String(o.type||"")):c=String(a.name||"").localeCompare(String(o.name||""),void 0,{numeric:!0,sensitivity:"base"}),c*s||String(a.name||"").localeCompare(String(o.name||""))};return e.slice().sort(r)}var Mf,$d,ya,yi=N(()=>{I();Q();Mf=y,$d={dir:"folder",image:"file-image",video:"file-video",audio:"file-audio",code:"file-code",text:"file-text",archive:"file-zip",document:"file-text",symlink:"link",other:"file"},ya={dir:"folder",image:"image file",video:"video file",audio:"audio file",code:"code file",text:"text file",archive:"archive file",document:"document file",symlink:"symbolic link",other:"file"}});function qs({name:e,type:t="other",size:n,modified:s,code:r,onOpen:a,onAction:o,active:i,key:l,permissions:c,locked:d,actions:u=jf,busy:p=!1,selectable:m=!1,selected:f=!1,onToggleSelect:h}={}){let g=d||c==="EACCES"||Array.isArray(c)&&c.length===0,w=!g&&Array.isArray(c)&&c.indexOf("write")===-1&&c.indexOf("read")!==-1,v=g?"no access":w?"read-only":null,x=[t==="dir"?null:pt(n),s||null].filter(Boolean).join(" \xB7 "),A=`${ya[t]||"file"}: ${e}${x?` (${x})`:""}${v?", "+v:""}`,T=a&&!g&&!p,U=p||w||g,b=(B,H,F,G,he)=>Re("button",{key:"act-"+B,type:"button",class:"ds-file-act"+(he?" ds-file-act-warn":""),title:U&&B!=="download"?"read-only":H,"aria-label":F,disabled:(B==="download"?p:U)?!0:null,"aria-disabled":(B==="download"?p:U)?"true":null,onclick:()=>o(B)},k(G)),E=o?[u.indexOf("download")!==-1&&t!=="dir"?b("download","download",`download ${e}`,"arrow-down",!1):null,u.indexOf("rename")!==-1?b("rename","rename",`rename ${e}`,"pencil",!1):null,u.indexOf("move")!==-1?b("move","move",`move ${e}`,"arrow-right",!1):null,u.indexOf("delete")!==-1?b("delete","delete",`delete ${e}`,"x",!0):null].filter(Boolean):[],P=[m?Re("button",{key:"mark",type:"button",class:"ds-file-check"+(f?" is-marked":""),role:"checkbox","aria-checked":f?"true":"false","aria-label":(f?"unselect ":"select ")+e,disabled:g||p?!0:null,onclick:h?B=>h({range:!!B.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-open",onclick:T?a:null,"aria-label":A+(g?" (no access)":""),"aria-pressed":i?"true":"false",disabled:T?null:!0},...[r!=null?Re("span",{class:"code","aria-label":`code: ${r}`},r):null,Kn({type:t}),Re("span",{class:"title"},e),Re("span",{class:"ds-file-meta meta","aria-label":x?`metadata: ${x}`:null},x||"\u2014"),v?Re("span",{class:"ds-file-perm-tag"+(g?" is-noaccess":""),"aria-hidden":"true"},v):null].filter(Boolean)),E.length?Re("span",{key:"acts",class:"ds-file-actions",role:"group","aria-label":`actions for ${e}`},...E):null].filter(Boolean);return Re("div",{key:l,class:"ds-file-row row"+(i?" active":"")+(g?" is-locked":"")+(w?" is-restricted":"")+(f?" is-marked":"")+(m?" is-selectable":""),"data-file-type":t,"aria-busy":p?"true":null},...P)}function eu({key:e,f:t={},selectable:n=!1,selected:s=!1,onToggleSelect:r,onOpen:a,thumb:o}={}){let i=t.locked||t.permissions==="EACCES"||Array.isArray(t.permissions)&&t.permissions.length===0,l=a&&!i,c=ya[t.type]||"file",d=[n?Re("button",{key:"mark",type:"button",class:"ds-file-check ds-file-cell-check"+(s?" is-marked":""),role:"checkbox","aria-checked":s?"true":"false","aria-label":(s?"unselect ":"select ")+t.name,disabled:i?!0:null,onclick:r?u=>r({range:!!u.shiftKey}):null},Re("span",{class:"ds-check-box","aria-hidden":"true"})):null,Re("button",{key:"open",type:"button",class:"ds-file-cell-open",onclick:l?()=>a(t):null,disabled:l?null:!0,"aria-label":c+": "+t.name+(i?" (no access)":"")},Re("span",{class:"ds-file-cell-media"},o?Re("img",{class:"ds-file-cell-thumb",src:o,alt:"",loading:"lazy"}):Kn({type:t.type})),Re("span",{class:"ds-file-cell-name",title:t.name},t.name),Re("span",{class:"ds-file-cell-meta"},t.type==="dir"?"folder":pt(t.size)))].filter(Boolean);return Re("div",{key:e,class:"ds-file-cell"+(s?" is-marked":"")+(t.active?" active":"")+(i?" is-locked":""),"data-file-type":t.type},...d)}function Ks({rows:e=12}={}){return Re("div",{class:"ds-file-grid ds-file-skeleton",role:"status","aria-busy":"true","aria-label":"loading files"},...Array.from({length:Math.max(1,e)},(t,n)=>Re("div",{key:"sk"+n,class:"ds-file-row ds-file-row-skeleton","aria-hidden":"true"},Re("span",{class:"ds-skel ds-skel-icon"}),Re("span",{class:"ds-skel ds-skel-title"}),Re("span",{class:"ds-skel ds-skel-meta"}))))}var Re,jf,vi=N(()=>{I();Q();yi();Re=y,jf=["download","rename","move","delete"]});function Lf(e,t,n,s){let r=-1;if(e.key==="ArrowLeft"||e.key==="ArrowUp")r=(t-1+n.length)%n.length;else if(e.key==="ArrowRight"||e.key==="ArrowDown")r=(t+1)%n.length;else if(e.key==="Home")r=0;else if(e.key==="End")r=n.length-1;else return;e.preventDefault(),s(n[r][0]);let a=e.currentTarget.parentNode&&e.currentTarget.parentNode.children[r];a&&a.focus()}function nu({key:e="name",dir:t="asc",onSort:n}={}){return va("div",{class:"ds-file-sort",role:"group","aria-label":"sort files"},...[["name","name"],["size","size"],["modified","modified"]].map(([r,a])=>va("button",{key:r,type:"button",class:"ds-file-sort-btn"+(e===r?" active":""),"aria-pressed":e===r?"true":"false","aria-label":"sort by "+a+(e===r?" ("+(t==="asc"?"ascending":"descending")+")":""),onclick:()=>n&&n(r)},a+(e===r?" "+(t==="asc"?"asc":"desc"):""))))}function su({density:e="list",onDensity:t}={}){return t?va("div",{key:"density",class:"ds-density",role:"radiogroup","aria-label":"view density"},...tu.map(([n,s],r)=>va("button",{key:"d-"+n,type:"button",role:"radio",class:"ds-density-btn"+(e===n?" active":""),"aria-checked":e===n?"true":"false","aria-label":s,title:s,tabindex:e===n?"0":"-1",onkeydown:a=>Lf(a,r,tu,o=>{e!==o&&t(o)}),onclick:()=>{e!==n&&t(n)}},k(Rf[n],{size:15})))):null}var va,tu,Rf,ru=N(()=>{I();Q();va=y,tu=[["list","list"],["compact","compact"],["thumb","thumbnails"]],Rf={list:"rows",compact:"rows-tight",thumb:"grid"}});function wi({count:e=0,noun:t="file",nounPlural:n,actions:s=[],onClear:r,busy:a=!1}={}){if(!e)return null;let o=n||(/[^aeiou]y$/.test(t)?t.slice(0,-1)+"ies":t+"s"),i=[ye("span",{key:"count",class:"ds-bulkbar-count",role:"status","aria-live":"polite"},e+" "+(e===1?t:o)+" selected"),...s.map((l,c)=>O({key:"bba"+c,danger:!!l.danger,disabled:a||l.disabled,onClick:l.onClick,children:l.label})),r?O({key:"bbclear",disabled:a,onClick:r,children:"clear selection"}):null].filter(Boolean);return ye("div",{class:"ds-bulkbar",role:"toolbar","aria-label":"bulk file actions","aria-busy":a?"true":null},...i)}function ki({left:e=[],right:t=[]}={}){return ye("div",{class:"ds-file-toolbar"},ye("div",{class:"ds-file-toolbar-left"},...e),ye("div",{class:"ds-file-toolbar-right"},...t))}function xi({roots:e=[],selected:t,onSelect:n,label:s="roots"}={}){return e.length?ye("div",{class:"ds-roots-picker",role:"tablist","aria-label":s},...e.map(r=>ye("button",{key:"root-"+(r.id!=null?r.id:r.label),type:"button",role:"tab",class:"ds-roots-tab"+((r.id!=null?r.id:r.label)===t?" active":""),"aria-selected":(r.id!=null?r.id:r.label)===t?"true":"false",onclick:()=>n&&n(r.id!=null?r.id:r.label)},r.label||r.id))):null}function Ci({children:e,dragover:t,onDrop:n,onDragOver:s,onDragLeave:r,label:a="drop files here",onPick:o}={}){let i=Array.isArray(e)?e:e?[e]:[];return ye("div",{class:"ds-dropzone"+(i.length?" ds-dropzone--wrap":"")+(t?" dragover":""),ondragover:l=>{l.preventDefault(),s&&s(l)},ondragleave:l=>{l.currentTarget.contains(l.relatedTarget)||r&&r(l)},ondrop:l=>{l.preventDefault(),n&&n(l.dataTransfer.files)}},ye("div",{class:"ds-dropzone-inner"},ye("span",{class:"ds-dropzone-glyph",role:"img","aria-label":"upload"},k("arrow-up")),ye("span",{class:"ds-dropzone-label"},a),o?O({onClick:o,children:"pick files"}):null),...i)}function Ai({items:e=[],onDismiss:t}={}){return e.length?ye("div",{class:"ds-upload-progress"},...e.map((n,s)=>{let r=!n.error&&!n.done&&!n.pct&&n.indeterminate,a=n.error?"error":n.done?"complete":r?"uploading":`uploading ${n.pct||0}%`,o=[...(n.actions||[]).map((i,l)=>ye("button",{key:"ua"+l,type:"button",class:"ds-upload-act","aria-label":`${i.label} ${n.name}`,onclick:()=>i.onClick&&i.onClick(n,s)},i.label)),n.error&&t?ye("button",{key:"ud",type:"button",class:"ds-upload-act","aria-label":`dismiss ${n.name}`,onclick:()=>t(n,s)},"dismiss"):null].filter(Boolean);return ye("div",{key:n.name+s,class:"ds-upload-item"+(n.done?" done":"")+(n.error?" error":""),role:"status","aria-label":`${n.name}: ${a}`,"aria-live":"polite"},ye("span",{class:"ds-upload-name"},n.name),ye("span",{class:"ds-upload-bar"+(r?" indeterminate":"")},ye("span",{class:"ds-upload-fill","data-pct":String(Math.max(0,Math.min(100,n.pct||0))),"aria-hidden":"true"})),ye("span",{class:"ds-upload-pct","aria-hidden":"true"},n.error?"err":n.done?"ok":r?"...":(n.pct||0)+"%"),o.length?ye("span",{class:"ds-upload-actions",role:"group","aria-label":`actions for ${n.name}`},...o):null)})):null}function Gn({text:e="nothing here",glyph:t=k("circle"),action:n}={}){return ye("div",{class:"ds-file-empty",role:"status"},...[ye("span",{key:"glyph",class:"ds-file-empty-glyph","aria-hidden":"true"},t),ye("span",{key:"text",class:"ds-file-empty-text"},e),n&&n.onClick?O({key:"ea",onClick:n.onClick,children:n.label||"go up"}):null].filter(Boolean))}function Gs({segments:e=[],onNav:t,root:n="root"}={}){let s=[ye("button",{key:"root",class:"ds-crumb-seg",onclick:()=>t&&t(0)},n)];return e.forEach((r,a)=>{s.push(ye("span",{key:"sep"+a,class:"ds-crumb-sep","aria-hidden":"true"},k("chevron-right",{size:13}))),s.push(ye("button",{key:"seg"+a,class:"ds-crumb-seg"+(a===e.length-1?" leaf":""),onclick:()=>t&&t(a+1)},r))}),ye("div",{class:"ds-crumb-path"},...s)}var ye,Ei=N(()=>{I();Q();ye=y});function Ti({files:e=[],onOpen:t,onAction:n,onUp:s,emptyText:r="No files here yet",emptyAction:a,sort:o,filter:i,loading:l=!1,shown:c,onShowMore:d,actions:u,busy:p,selectable:m=!1,selected:f,onToggleSelect:h,marked:g=f,onMark:w=h,onSelectAll:v,onClearSelection:x,density:C="list",onDensity:A,thumbUrl:T}={}){if(l&&!e.length)return Ks({rows:12});let U=!!(i&&(i.value||"").length>0);if(!e.length&&!U)return Gn({text:r,glyph:k("folder-open",{size:28}),action:a});let b=l&&e.length>0,E=c??Si,L=e.length>E,P=L?e.slice(0,E):e,B=C==="thumb",H={},F=j=>j.path||j.name,G=j=>j.locked||j.permissions==="EACCES"||Array.isArray(j.permissions)&&j.permissions.length===0,he=g instanceof Set?g:new Set(g||[]),oe=m?P.filter(j=>!G(j)).map(F):[],te=j=>{let Ot=j.currentTarget,Je=Array.from(Ot.querySelectorAll(".ds-file-open:not([disabled]), .ds-file-cell-open:not([disabled])")),fs=Je.indexOf(document.activeElement);j.key==="ArrowDown"?(j.preventDefault(),Je[Math.min(Je.length-1,fs+1)]?.focus()):j.key==="ArrowUp"?(j.preventDefault(),(fs<=0?Je[0]:Je[fs-1])?.focus()):j.key==="Home"?(j.preventDefault(),Je[0]?.focus()):j.key==="End"?(j.preventDefault(),Je[Je.length-1]?.focus()):j.key==="Backspace"?(j.preventDefault(),s&&s()):(j.key==="a"||j.key==="A")&&(j.ctrlKey||j.metaKey)&&m&&v&&oe.length&&(j.preventDefault(),v(oe))},M=o?nu(o):null,S=oe.filter(j=>he.has(j)).length,R=S===0?"false":S===oe.length?"true":"mixed",Y=m&&v&&oe.length?mt("button",{key:"selall",type:"button",class:"ds-file-selectall",role:"checkbox","aria-checked":R,"aria-label":R==="true"?"clear selection":"select all "+oe.length+" shown files",onclick:()=>R==="true"&&x?x():v(oe)},mt("span",{class:"ds-check-box","aria-hidden":"true"}),mt("span",{},"all")):null,He=su({density:C,onDensity:A}),gt=[i?mt("span",{key:"filterwrap",class:"ds-file-filter-wrap"},mt("input",{key:"filter",class:"ds-file-filter-input",type:"search",value:i.value||"",placeholder:i.placeholder||"Filter files","aria-label":i.placeholder||"Filter files in this directory",oninput:j=>i.onInput&&i.onInput(j.target.value),onkeydown:j=>{j.key==="Escape"&&i.value&&(j.preventDefault(),j.stopPropagation(),i.onInput&&i.onInput(""))}}),mt("span",{key:"filtercount",class:"sr-only",role:"status","aria-live":"polite"},U?e.length+(e.length===1?" file":" files")+" shown":"")):null,Y,M].filter(Boolean),Et=[...gt,gt.length&&He?mt("span",{key:"spread",class:"spread"}):null,He].filter(Boolean),Pt=Et.length?mt("div",{class:"ds-file-controls"},...Et):null,re=!e.length&&U?Gn({text:r,glyph:k("folder-open",{size:28})}):mt("div",{class:"ds-file-grid"+(B?" ds-file-grid-thumb":"")+(b?" is-refreshing":""),role:"group","aria-label":"files",tabindex:"0","aria-busy":b?"true":"false","data-density":C||"list",onkeydown:te,...H},...P.map((j,Ot)=>B?eu({key:j.path||j.name+Ot,f:j,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t,thumb:T&&j.type==="image"?T(j):null}):qs({key:j.path||j.name+Ot,name:j.name,type:j.type,size:j.size,modified:j.modified,code:j.code,active:j.active,permissions:j.permissions,locked:j.locked,actions:u??void 0,busy:p!=null?!!p:!!j.busy,selectable:m,selected:he.has(F(j)),onToggleSelect:w?Je=>w(j,Je):null,onOpen:t?()=>t(j):null,onAction:n?Je=>n(Je,j):null}))),ae=L?mt("div",{class:"ds-file-more"},mt("span",{class:"ds-file-more-count",role:"status","aria-live":"polite"},"showing "+P.length+" of "+e.length),d?mt("button",{type:"button",class:"ds-file-more-btn",onclick:()=>d(Math.min(e.length,E+Si))},"show "+Math.min(Si,e.length-E)+" more"):null):null;return Pt||ae?mt("div",{class:"ds-file-listing"},Pt,re,ae):re}var mt,Si,au=N(()=>{I();Q();vi();ru();Ei();mt=y,Si=200});var rn=N(()=>{yi();vi();au();Ei()});function an(e){let t=String(e??"").trim();if(!t)return null;if(/^(\/|\.|#|\?)/.test(t)||t.startsWith("//"))return t;let n=(t.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/)||[])[1];return n?/^(https?|mailto|tel)$/i.test(n)?t:null:t}function An(e){if(e==null)return[];let t=[],n=/(\*\*([^*]+)\*\*|\*([^*]+)\*|`([^`]+)`|\[([^\]]+)\]\(([^)]+)\))/g,s=0,r,a=0,o=i=>t.push(i);for(;(r=n.exec(e))!==null;){if(r.index>s&&o(Cn("span",{key:"s"+a+"a"},e.slice(s,r.index))),r[2]!=null)o(Cn("strong",{key:"s"+a},r[2]));else if(r[3]!=null)o(Cn("em",{key:"s"+a},r[3]));else if(r[4]!=null)o(Cn("code",{key:"s"+a,class:"chat-tick"},r[4]));else if(r[5]!=null){let i=an(r[6]);o(i?Cn("a",{key:"s"+a,href:i,target:"_blank",rel:"noopener noreferrer"},r[5]):Cn("span",{key:"s"+a},r[5]))}s=r.index+r[0].length,a+=1}return s<e.length&&o(Cn("span",{key:"s"+a+"a"},e.slice(s))),t}function ou(e){let t=String(e||"").split(".").pop().toLowerCase();return Pf[t]||"file"}function Vn(e,t){let n=()=>{t.textContent="copied",t.classList.add("is-copied"),setTimeout(()=>{t.textContent="copy",t.classList.remove("is-copied")},1600)};if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(e).then(n).catch(()=>{});else try{let s=document.createElement("textarea");s.value=e,document.body.appendChild(s),s.select(),document.execCommand("copy"),document.body.removeChild(s),n()}catch{}}function Vs(e){e&&e.querySelectorAll("pre").forEach(t=>{if(t.dataset.copyWired==="1")return;t.dataset.copyWired="1";let n=document.createElement("div");n.className="chat-code-block",t.parentNode.insertBefore(n,t),n.appendChild(t);let s=t.querySelector("code"),r=s&&(s.className||"").match(/(?:language|lang)-([a-z0-9+#]+)/i);if(r&&r[1]){let o=document.createElement("span");o.className="chat-code-lang",o.setAttribute("aria-hidden","true"),o.textContent=r[1],n.appendChild(o)}let a=document.createElement("button");a.type="button",a.className="chat-code-copy",a.setAttribute("aria-label","copy code"),a.textContent="copy",a.addEventListener("click",()=>Vn(t.innerText,a)),n.appendChild(a)})}var Cn,Pf,zs=N(()=>{I();Cn=y;Pf={pdf:"file-pdf",zip:"file-zip",tar:"file-zip",gz:"file-zip",mp4:"file-video",mov:"file-video",mp3:"file-audio",wav:"file-audio",csv:"file-sheet",json:"file-code",js:"file-code",ts:"file-code",md:"file-text",txt:"file-text"}});function on(e){return String(e??"").replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t])}function iu(e){return JSON.stringify(e).replace(/</g,"\\u003c").replace(/>/g,"\\u003e").replace(/&/g,"\\u0026").replace(Bf,"\\u2028").replace(Hf,"\\u2029")}var Bf,Hf,Di=N(()=>{Bf=new RegExp("\u2028","g"),Hf=new RegExp("\u2029","g")});function Uf({markedUrl:e,purifyUrl:t}={}){e!==void 0&&(Ii=e||cu),t!==void 0&&(Mi=t||du),ln=null,En=0}function Wf(){return{markedUrl:Ii,purifyUrl:Mi}}function Sn(){return!zn||!Ht||typeof Ht.sanitize!="function"}async function Yn(){return ln||(En&&Date.now()-En<Nf?!1:(ln=(async()=>{try{let[{marked:e},t]=await Promise.all([import(Ii),import(Mi)]),n=t.default||t;if(!e||typeof e.parse!="function")throw new Error("marked module missing parse()");if(!n||typeof n.sanitize!="function")throw new Error("DOMPurify module missing sanitize()");return zn=e,Ht=n,En=0,!0}catch(e){return console.warn("[247420] markdown loader failed:",e),zn=null,Ht=null,ln=null,En=Date.now(),!1}})(),ln))}function lu(e){return on(e).replace(/\n/g,"<br>")}async function wa(e){if(!await Yn())return lu(e);try{let n=zn.parse(String(e));if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-render");return Ht.sanitize(n,{FORCE_BODY:!0})}catch(n){return console.warn("[247420] markdown render failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),lu(e)}}async function ji(e){if(!await Yn())return on(e);try{if(typeof Ht.sanitize!="function")throw new Error("purifier unavailable mid-sanitize");return Ht.sanitize(String(e),{FORCE_BODY:!0})}catch(n){return console.warn("[247420] sanitizeHtml failed, falling back to escaped text:",n),zn=null,Ht=null,ln=null,En=Date.now(),on(e)}}var ln,zn,Ht,En,Nf,cu,du,Ii,Mi,Zn=N(()=>{Di();ln=null,zn=null,Ht=null,En=0,Nf=3e4,cu="https://cdn.jsdelivr.net/npm/marked@15.0.12/+esm",du="https://cdn.jsdelivr.net/npm/dompurify@3.2.6/+esm",Ii=cu,Mi=du});function Ff({baseUrl:e}={}){ka=e||pu,Jn=null,Ys=null}function Of(){return{baseUrl:ka}}function uu(e){return new Promise(t=>{if(document.querySelector('script[src="'+e+'"]')){t();return}let s=document.createElement("script");s.src=e,s.crossOrigin="anonymous",s.onload=t,s.onerror=()=>{console.warn("[247420] prism part failed:",e),t()},document.head.appendChild(s)})}async function Xn(){return Jn||Ys||(Ys=(async()=>{try{if(await uu(ka+"prism-core.min.js"),Jn=window.Prism||null,Jn)for(let e of Qf)await Promise.all(e.map(t=>uu(ka+t)));return Jn}catch(e){return console.warn("[247420] prism loader failed:",e),null}})(),Ys)}async function Tn(e){let t=await Xn();!t||!e||typeof t.highlightAllUnder=="function"&&t.highlightAllUnder(e)}var Jn,Ys,pu,ka,Qf,Zs=N(()=>{Jn=null,Ys=null,pu="https://cdn.jsdelivr.net/npm/prismjs@1.30.0/components/",ka=pu;Qf=[["prism-markup.min.js","prism-css.min.js","prism-clike.min.js"],["prism-javascript.min.js","prism-json.min.js","prism-bash.min.js","prism-yaml.min.js","prism-markdown.min.js","prism-python.min.js","prism-rust.min.js","prism-go.min.js","prism-diff.min.js","prism-sql.min.js","prism-toml.min.js"],["prism-typescript.min.js","prism-jsx.min.js"],["prism-tsx.min.js"]]});function qf(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return Math.abs(t).toString(36)}async function Aa(){return xa||(xa=(async()=>{let e=performance.now(),[t,n]=await Promise.all([(async()=>{let s=performance.now(),r=await Yn();return Te.markdownInitMs=performance.now()-s,Ri=!0,r})(),(async()=>{let s=performance.now(),r=await Xn();return Te.prismInitMs=performance.now()-s,Ca=!0,r})()]);return Te.totalInitMs=performance.now()-e,{markdown:t,prism:n}})(),xa)}async function mu(e){let t=performance.now(),n=qf(e||"");if(Dn.has(n))return Te.cacheHits+=1,Dn.get(n);await Yn(),Ri=!Sn();let s=await wa(e);if(!Sn()&&(Dn.set(n,s),Dn.size>500)){let a=Dn.keys().next().value;Dn.delete(a)}let r=performance.now()-t;return Te.renderCount+=1,Te.cacheMisses+=1,Te.renderTimes.push(r),Te.renderTimes.length>100&&Te.renderTimes.shift(),s}async function Li(e){Ca||(await Xn(),Ca=!0),await Tn(e)}function Pi(){let e=Te.cacheHits+Te.cacheMisses;return{markdownInitialized:Ri,prismInitialized:Ca,initMs:{markdown:Te.markdownInitMs,prism:Te.prismInitMs,total:Te.totalInitMs},renderStats:{count:Te.renderCount,avgTimeMs:Te.renderTimes.length?(Te.renderTimes.reduce((t,n)=>t+n,0)/Te.renderTimes.length).toFixed(2):0,minTimeMs:Te.renderTimes.length?Math.min(...Te.renderTimes).toFixed(2):0,maxTimeMs:Te.renderTimes.length?Math.max(...Te.renderTimes).toFixed(2):0},cacheStats:{hits:Te.cacheHits,misses:Te.cacheMisses,hitRate:e>0?(Te.cacheHits/e*100).toFixed(1)+"%":"N/A",cacheSize:Dn.size}}}var Ri,Ca,xa,Dn,Te,Ea=N(()=>{Zn();Zs();Bt();Ri=!1,Ca=!1,xa=null,Dn=new Map,Te={markdownInitMs:0,totalInitMs:0,prismInitMs:0,renderCount:0,renderTimes:[],cacheHits:0,cacheMisses:0};Ge("markdown-cache",()=>Pi())});function Kf({url:e}={}){Bi=e||fu,_n=null,$n=null}function Gf(){return{url:Bi}}async function hu(){return _n||$n||($n=(async()=>{try{let e=await import(Bi),t=e.default||e;if(!t||typeof t.render!="function")throw new Error("mermaid module missing render()");return t.initialize({startOnLoad:!1,securityLevel:"strict",suppressErrorRendering:!0}),_n=t,_n}catch(e){return console.warn("[247420] mermaid loader failed:",e),_n=null,$n=null,null}})(),$n)}async function gu(e){let t=await hu();if(!t)return null;try{let n="ds-mermaid-"+Date.now().toString(36)+"-"+Vf++;if(!(t.parse?await t.parse(e,{suppressErrors:!0}):!0))return null;let{svg:r}=await t.render(n,e);return r}catch(n){return console.warn("[247420] mermaid render failed:",n),null}}async function Hi(e){if(!e||!e.querySelectorAll)return;let t=e.querySelectorAll("code.language-mermaid, code.lang-mermaid");for(let n of t){let s=n.closest("pre");if(!s||s.dataset.mermaidWired==="1")continue;s.dataset.mermaidWired="1";let r=n.textContent||"",a=await gu(r);if(!a){delete s.dataset.mermaidWired;continue}let o=document.createElement("div");o.className="ds-mermaid-block";let i=document.createElement("button");i.type="button",i.className="ds-mermaid-toggle",i.textContent="source";let l=document.createElement("div");l.className="ds-mermaid-diagram",l.innerHTML=a;let c=!1;i.addEventListener("click",()=>{c=!c,l.style.display=c?"none":"",s.style.display=c?"":"none",i.textContent=c?"diagram":"source"}),o.appendChild(l),o.appendChild(i),s.style.display="none",s.parentNode.insertBefore(o,s),o.appendChild(s)}}var _n,$n,fu,Bi,Vf,Ni=N(()=>{_n=null,$n=null,fu="https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs",Bi=fu;Vf=0});function zf({jsUrl:e,cssUrl:t}={}){Ui=e||yu,Wi=t||vu,es=null,ts=null,Sa=!1}function Yf(){return{jsUrl:Ui,cssUrl:Wi}}function Zf(){if(Sa||typeof document>"u")return;if(document.querySelector("link[data-katex]")){Sa=!0;return}let e=document.createElement("link");e.rel="stylesheet",e.href=Wi,e.setAttribute("data-katex",""),document.head.appendChild(e),Sa=!0}async function Fi(){return es||ts||(ts=(async()=>{try{Zf();let e=await import(Ui),t=e.default||e;if(!t||typeof t.renderToString!="function")throw new Error("katex module missing renderToString()");return es=t,es}catch(e){return console.warn("[247420] katex loader failed:",e),es=null,ts=null,null}})(),ts)}async function bu(e,t){let n=await Fi();if(!n)return null;try{return n.renderToString(e,{throwOnError:!1,strict:!1,displayMode:t})}catch(s){return console.warn("[247420] katex render failed:",s),null}}async function Oi(e){if(!e||e.dataset?.mathWired==="1"||!e||!e.querySelectorAll||!(e.innerHTML||"").includes("$")||!await Fi())return;e.dataset.mathWired="1";let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(l){let c=l.parentElement;return c&&(c.closest("code")||c.closest("pre"))?NodeFilter.FILTER_REJECT:/\$/.test(l.nodeValue)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),r=[],a;for(;a=s.nextNode();)r.push(a);let o=/\$\$([^$]+)\$\$/g,i=/\$([^$\n]+)\$/g;for(let l of r){let c=l.nodeValue;if(!o.test(c)&&!i.test(c))continue;o.lastIndex=0,i.lastIndex=0;let d=document.createDocumentFragment(),u=0,p=[],m;for(;(m=o.exec(c))!==null;)m.index>u&&p.push({text:c.slice(u,m.index)}),p.push({math:m[1],display:!0}),u=m.index+m[0].length;u<c.length&&p.push({text:c.slice(u)});for(let f of p){if(f.math!=null){let x=await bu(f.math.trim(),!0);if(x){let C=document.createElement("span");C.className="ds-math-display",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$$"+f.math+"$$"));continue}let h=f.text,g=0;i.lastIndex=0;let w,v=!1;for(;(w=i.exec(h))!==null;){v=!0,w.index>g&&d.appendChild(document.createTextNode(h.slice(g,w.index)));let x=await bu(w[1].trim(),!1);if(x){let C=document.createElement("span");C.className="ds-math-inline",C.innerHTML=x,d.appendChild(C)}else d.appendChild(document.createTextNode("$"+w[1]+"$"));g=w.index+w[0].length}v?g<h.length&&d.appendChild(document.createTextNode(h.slice(g))):d.appendChild(document.createTextNode(h))}l.parentNode.replaceChild(d,l)}}var es,ts,Sa,yu,vu,Ui,Wi,Qi=N(()=>{es=null,ts=null,Sa=!1,yu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.mjs",vu="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css",Ui=yu,Wi=vu});function wu(e){return zt("div",{class:"chat-bubble chat-md",ref:n=>{if(!n)return;let s=(Sn()?"~degraded~":"")+(e.text||"");if(n.dataset.mdSrc===s)return;let r=n.dataset.mdParsedLen?Number(n.dataset.mdParsedLen):0,a=n.dataset.mdLastParseAt?Number(n.dataset.mdLastParseAt):0,o=typeof performance<"u"?performance.now():Date.now();if(e.streamingCaret&&r>0&&o-a<Jf&&s.length-r<Xf){n.textContent=e.text||"";return}n.dataset.mdSrc=s,n.dataset.mdParsedLen=String(s.length),n.dataset.mdLastParseAt=String(o),Sn()&&(n.textContent=e.text||"");function i(){mu(e.text||"").then(l=>{if(n.dataset.mdSrc!==s)return;let c=()=>{n.innerHTML=l,delete n.dataset.mathWired,Vs(n),Hi(n).catch(()=>{}),Oi(n).catch(()=>{})},d=typeof window<"u"?window.getSelection():null;if(d&&d.anchorNode&&n.contains(d.anchorNode)){let u=()=>{document.removeEventListener("selectionchange",u),c()};document.addEventListener("selectionchange",u,{once:!0});return}c()})}e.streamingCaret?i():_f(i)}})}function ku(e){let t=s=>{if(!s)return;let r=(e.lang||"")+"|"+(e.code||"");if(s.dataset.codeKey===r)return;s.dataset.codeKey=r;let a=typeof window<"u"?window.getSelection():null;if(a&&a.anchorNode&&s.contains(a.anchorNode)){let o=()=>{document.removeEventListener("selectionchange",o),Li(s)};document.addEventListener("selectionchange",o,{once:!0});return}Li(s)},n=s=>Vn(e.code||"",s.currentTarget);return zt("div",{class:"chat-bubble chat-code",ref:t},zt("div",{class:"chat-code-head"},zt("span",{class:"lang"},e.lang||"code"),e.filename?zt("span",{class:"name"},e.filename):null,zt("span",{class:"spread"}),zt("button",{type:"button",class:"chat-code-copy chat-code-copy-head","aria-label":"copy code",onclick:n},"copy")),zt("pre",{},zt("code",{class:e.lang?"lang-"+e.lang+" language-"+e.lang:""},e.code||"")))}var zt,Jf,Xf,_f,xu=N(()=>{I();Ea();Zn();Ni();Qi();zs();zt=y,Jf=120,Xf=40,_f=typeof requestIdleCallback=="function"?e=>requestIdleCallback(e,{timeout:500}):e=>setTimeout(e,0)});function Au(e,t){ns.set(e,{...ns.get(e)||{},...t})}function In(){try{let e=typeof localStorage<"u"&&localStorage.getItem(Cu);if(e&&ns.has(e))return e}catch{}if(typeof navigator<"u"&&navigator.language){let e=navigator.language.slice(0,2);if(ns.has(e))return e}return"en"}function $f(e){try{typeof localStorage<"u"&&localStorage.setItem(Cu,e)}catch{}}function Nt(e,t,n){let s=In(),r=ns.get(s)||{},a=e in r?r[e]:t;if(n)for(let o of Object.keys(n))a=a.split("{"+o+"}").join(String(n[o]));return a}function eh(){return[...ns.keys()]}var Cu,ns,ss=N(()=>{Cu="ds-locale",ns=new Map;Au("en",{})});function nh(e){return th[e]||{label:e||"changed",tone:"neutral",glyph:(e||"?").slice(0,1)}}function rh(e=""){let t=e.split("/").pop()||e,n=t.toLowerCase();if(Eu[n])return Eu[n];if(n.startsWith(".env."))return"text";if(n==="dockerfile"||n.startsWith("dockerfile."))return"code";let s=t.lastIndexOf(".");return s<=0?"other":sh[t.slice(s+1).toLowerCase()]||"other"}function Ta({files:e=[],onFileClick:t,emptyText:n="no changes",active:s}={}){return e.length?Oe("div",{class:"ds-git-status-grid",role:"group","aria-label":"changed files"},...e.map((r,a)=>ah({key:r.path||a,file:r,onClick:t,active:s===r.path}))):Oe("div",{class:"ds-git-empty",role:"status"},Oe("span",{class:"ds-git-empty-glyph","aria-hidden":"true"},k("circle-dot",{size:22})),Oe("span",{},n))}function ah({key:e,file:t,onClick:n,active:s}={}){let r=nh(t.status),a=rh(t.path),o=[t.insertions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-add"},"+"+t.insertions):null,t.deletions!=null?Oe("span",{class:"ds-git-stat ds-git-stat-del"},"-"+t.deletions):null].filter(Boolean);return Oe("button",{key:e,type:"button",class:"ds-git-row"+(s?" active":""),onclick:n?()=>n(t):null,disabled:n?null:!0,"aria-label":r.label+": "+t.path,"aria-pressed":s?"true":"false"},Oe("span",{class:"ds-git-status-chip tone-"+r.tone,"aria-hidden":"true"},r.glyph),Oe("span",{class:"ds-git-row-icon","aria-hidden":"true"},k(sn(a),{size:15})),Oe("span",{class:"ds-git-row-path"},t.path),t.staged?Oe("span",{class:"ds-git-row-tag"},"staged"):null,o.length?Oe("span",{class:"ds-git-row-stats"},...o):null)}function oh(e=""){let t=e.split(`
|
|
127
127
|
`),n=[],s=null;for(let r of t){if(r.startsWith("@@")){s={header:r,lines:[]},n.push(s);continue}if(r.startsWith("diff --git")||r.startsWith("index ")||r.startsWith("--- ")||r.startsWith("+++ ")||!s)continue;let a="context";r.startsWith("+")?a="add":r.startsWith("-")&&(a="del"),s.lines.push({kind:a,text:r})}return n}function lh(e=""){let t=e.split("/").pop()||e,n=t.lastIndexOf(".");return n<=0?null:ih[t.slice(n+1).toLowerCase()]||null}function rs({diff:e="",filename:t}={}){let n=oh(e),s=lh(t),r=a=>{if(a)try{Tn(a)}catch{}};return n.length?Oe("div",{class:"ds-git-diff",ref:r},t?Oe("div",{class:"ds-git-diff-head"},Oe("span",{class:"name"},t)):null,...n.map((a,o)=>Oe("div",{key:"hunk"+o,class:"ds-git-hunk"},Oe("div",{class:"ds-git-hunk-header"},a.header),Oe("pre",{class:"ds-git-hunk-body"+(s?" lang-"+s:"")},...a.lines.map((i,l)=>Oe("code",{key:l,class:"ds-git-line ds-git-line-"+i.kind+(s?" language-"+s:"")},i.text+`
|
|
128
128
|
`)))))):Oe("div",{class:"ds-git-diff-empty",role:"status"},"no diff to show")}var Oe,th,sh,Eu,ih,Da=N(()=>{I();Q();rn();Zs();Oe=y,th={A:{label:"added",tone:"add",glyph:"A"},M:{label:"modified",tone:"modify",glyph:"M"},D:{label:"deleted",tone:"delete",glyph:"D"},R:{label:"renamed",tone:"modify",glyph:"R"},C:{label:"copied",tone:"modify",glyph:"C"},U:{label:"conflicted",tone:"delete",glyph:"U"},"?":{label:"untracked",tone:"add",glyph:"?"},"!":{label:"ignored",tone:"neutral",glyph:"!"}};sh={js:"code",mjs:"code",cjs:"code",ts:"code",tsx:"code",jsx:"code",py:"code",rs:"code",go:"code",java:"code",c:"code",cpp:"code",h:"code",css:"code",less:"code",scss:"code",html:"code",htm:"code",json:"code",jsonl:"code",yml:"code",yaml:"code",toml:"code",sh:"code",bash:"code",zsh:"code",fish:"code",sql:"code",graphql:"code",gql:"code",tf:"code",hcl:"code",md:"document",mdx:"document",txt:"text",pdf:"document",docx:"document",doc:"document",png:"image",jpg:"image",jpeg:"image",gif:"image",svg:"image",webp:"image",bmp:"image",ico:"image",avif:"image",mp4:"video",mov:"video",webm:"video",avi:"video",mkv:"video",mp3:"audio",wav:"audio",flac:"audio",ogg:"audio",m4a:"audio",zip:"archive",tar:"archive",gz:"archive","7z":"archive",rar:"archive",bz2:"archive"},Eu={"package-lock.json":"code","yarn.lock":"code","bun.lock":"code","pnpm-lock.yaml":"code","cargo.lock":"code","composer.lock":"code",".gitignore":"text",".gitattributes":"text",".gitmodules":"text",".env":"text",".editorconfig":"text",".npmrc":"text"};ih={js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rs:"rust",go:"go",css:"css",scss:"css",html:"markup",md:"markdown",json:"json",yml:"yaml",yaml:"yaml",sh:"bash",sql:"sql",toml:"toml"}});function ch(e){return!e||e.indexOf("@@")===-1?!1:/^@@ .* @@/m.test(e)&&/^[+-]/m.test(e)}function dh(e){let t=/^\+\+\+ b?\/?(.+)$/m.exec(e)||/^--- a?\/?(.+)$/m.exec(e);return t?t[1].trim():void 0}function Ia(e){let t=e.status||(e.error?"error":e.result!=null?"done":"running");e._argsCache!==e.args&&(e._argsTextCache=typeof e.args=="string"?e.args:JSON.stringify(e.args||{},null,2),e._argsCache=e.args);let n=e._argsTextCache;e._resultCache!==e.result&&(e._resultTextCache=e.result==null?"":typeof e.result=="string"?e.result:JSON.stringify(e.result,null,2),e._resultCache=e.result);let s=e._resultTextCache,r=e.args!=null&&n!=="{}"&&n.trim()!=="",a=e.open!=null?!!e.open:t==="running"||t==="error",o=t==="running"?"refresh":t==="error"?"warn":"check",i=c=>d=>Vn(c,d.currentTarget),l=(c,d)=>pe("div",{class:"chat-tool-section-label"},pe("span",{},c),pe("button",{type:"button",class:"chat-code-copy chat-tool-copy","aria-label":"copy "+c,onclick:i(d)},"copy"));return pe("details",{class:"chat-bubble chat-tool tool-"+t,open:a},pe("summary",{class:"chat-tool-head"},pe("span",{class:"chat-tool-icon","aria-hidden":"true"},k(o,{size:14})),pe("span",{class:"chat-tool-name"},e.name||"tool"),e.label?pe("span",{class:"chat-tool-label"},e.label):null,pe("span",{class:"chat-tool-status"},t)),pe("div",{class:"chat-tool-body"},...[r?pe("div",{class:"chat-tool-section"},l("args",n),pe("pre",{class:"chat-tool-pre"},pe("code",{},n))):null,s?!e.error&&ch(s)?pe("div",{class:"chat-tool-section"},l("result",s),rs({diff:s,filename:dh(s)})):pe("div",{class:"chat-tool-section"},l(e.error?"error":"result",s),pe("pre",{class:"chat-tool-pre"+(e.error?" is-error":"")},pe("code",{},s))):t==="done"?pe("div",{class:"chat-tool-section"},pe("div",{class:"chat-tool-section-label"},"result"),pe("pre",{class:"chat-tool-pre chat-tool-empty"},pe("code",{},"(no output)"))):null].filter(Boolean)))}function Su(e){return e.settled?pe("details",{class:"chat-bubble chat-thinking-settled"},pe("summary",{},Nt("chat.viewThinking","View thinking")),pe("div",{class:"chat-thinking-body"},e.text)):pe("div",{class:"chat-bubble chat-thinking",role:"status","aria-live":"polite"},pe("span",{class:"chat-thinking-dots","aria-hidden":"true"},pe("span"),pe("span"),pe("span")),pe("span",{class:"chat-thinking-text"},e.text||Nt("chat.thinking","thinking\u2026")))}var pe,Tu=N(()=>{I();Q();ss();Da();zs();pe=y});function Ki(e,t,n){let r=(qi[e.kind]||qi.text)(e);return r&&typeof r=="object"&&(r.props={...r.props||{},key:"p"+t}),n&&n(e.kind),r}var me,Du,qi,Iu=N(()=>{I();Q();rn();zs();xu();Tu();me=y,Du=pt,qi={text:e=>e.preShell?me("div",{class:"chat-bubble chat-md chat-stream-pre"},...[e.streamHead?me("div",{key:"sh",class:"chat-stream-head",role:"status","aria-live":"polite"},e.streamHead):null,me("pre",{key:"pre"},me("code",{},e.text||"")),e.streamingCaret?me("span",{key:"_caret",class:"chat-stream-caret","aria-hidden":"true"}):null].filter(Boolean)):me("div",{class:"chat-bubble"+(e.mdShell?" chat-md":"")},...An(e.text||""),e.streamingCaret?me("span",{key:"_caret",class:"chat-stream-caret","aria-hidden":"true"}):null),md:e=>wu(e),code:e=>ku(e),tool:e=>Ia(e),tool_call:e=>Ia(e),tool_result:e=>Ia({...e,name:e.name||"tool_result",result:e.text!=null?e.text:e.result}),thinking:e=>Su(e),image:e=>{let t=an(e.src),n=an(e.href||e.src);return t?me("a",{class:"chat-image",href:n||t,target:"_blank",rel:"noopener noreferrer","aria-label":e.alt||`embedded image: ${t}`},me("img",{src:t,alt:e.alt||`embedded image from ${t}`,loading:"lazy"}),e.caption?me("span",{class:"cap"},e.caption):null):me("span",{class:"chat-image-blocked"},e.alt||"image blocked (unsafe url)")},pdf:e=>me("div",{class:"chat-pdf"},me("div",{class:"chat-pdf-head"},me("span",{class:"glyph","aria-hidden":"true"},k("file-pdf",{size:18})),me("span",{class:"name"},e.name||"document.pdf"),e.size!=null?me("span",{class:"size"},Du(e.size)):null,me("a",{class:"open",href:e.src,target:"_blank",rel:"noopener","aria-label":`open PDF: ${e.name||"document.pdf"}`},"open ->")),me("embed",{src:e.src,type:"application/pdf","aria-label":`PDF document: ${e.name||"document.pdf"}`})),file:e=>me("a",{class:"chat-file",href:e.src,target:"_blank",rel:"noopener",download:e.name||!0,"aria-label":`download file: ${e.name||"attachment"} (${e.kindLabel||(e.name||"").split(".").pop().toUpperCase()})`},me("span",{class:"glyph","aria-hidden":"true"},k(ou(e.name),{size:22})),me("span",{class:"meta"},me("span",{class:"name"},e.name||"attachment"),me("span",{class:"size"},[e.kindLabel||(e.name||"").split(".").pop().toUpperCase(),e.size!=null?Du(e.size):null].filter(Boolean).join(" \xB7 "))),me("span",{class:"go","aria-hidden":"true"},k("arrow-down"))),link:e=>me("a",{class:"chat-link",href:an(e.href)||"#",target:"_blank",rel:"noopener noreferrer","aria-label":`link: ${e.title||e.href}`},e.thumb?me("img",{class:"thumb",src:e.thumb,alt:`preview for ${e.title||e.href}`}):null,me("span",{class:"meta"},me("span",{class:"host"},e.host||(()=>{try{return new URL(e.href).host}catch{return""}})()),me("span",{class:"title"},e.title||e.href),e.desc?me("span",{class:"desc"},e.desc):null))}});var Ma=N(()=>{zs();Iu()});function Js(e){let t=typeof document<"u"&&document.getSelection?document.getSelection():null;return!!(t&&!t.isCollapsed&&t.anchorNode&&e&&e.contains(t.anchorNode))}function Mn(e){return t=>{if(!t)return;let n=t.querySelector("[data-scroll-sentinel]");n||(n=document.createElement("div"),n.setAttribute("data-scroll-sentinel",""),n.style.height="1px",t.appendChild(n));let s=new IntersectionObserver(r=>{if(Js(t))return;let a=String(e());r[0]?.isIntersecting&&t.dataset.msgCount!==a&&(t.scrollTop=t.scrollHeight-t.clientHeight,t.dataset.msgCount=a)},{root:t,threshold:0});return s.observe(n),t.dataset.msgCount=String(e()),()=>s.disconnect()}}var Gi=N(()=>{});function Vi(){Mu||(Mu=!0,Aa().catch(e=>console.warn("[247420] cache init error:",e)))}function ju(){Xs.messages+=1}function Ru(e,t){return Ki(e,t,n=>{Xs.lastKindCounts[n]=(Xs.lastKindCounts[n]||0)+1})}var Xs,Mu,ja=N(()=>{Ea();Bt();Ma();Xs={messages:0,lastKindCounts:{}},Mu=!1;Ge("chat",()=>({messages:Xs.messages,lastKindCounts:{...Xs.lastKindCounts},cacheStats:Pi()}))});function Dt({role:e,who:t="them",avatar:n,text:s,parts:r,time:a,typing:o,key:i,aicat:l,reactions:c,receipt:d,name:u,streaming:p,actions:m,incomplete:f,stopped:h,flat:g,error:w,onRetry:v}){ju();let x=e?e==="user"?"you":e==="assistant"?"them":e:t,C=x==="system"||x==="tool"||x==="thinking",A=g&&!C,T="chat-msg "+x+(l&&x==="them"?" aicat":"")+(C?" centered":"")+(A?" chat-msg-flat":""),U=n??(x==="you"?"u":wt(u)),b=fe("span",{class:"chat-avatar"},U),E;o?E=[fe("div",{class:"chat-bubble",key:"typb"},fe("span",{class:"chat-typing"},fe("span"),fe("span"),fe("span")))]:r&&r.length?E=r.map((te,M)=>Ru(te,M)):E=[fe("div",{class:"chat-bubble",key:"t"},...An(s||""))];let L=r&&r.length&&r[r.length-1]&&r[r.length-1].streamingCaret;p&&!o&&!L&&(E=[...E,fe("span",{key:"_caret",class:"chat-stream-caret","aria-hidden":"true"})]),h&&(E=[...E,fe("div",{key:"_stopped",class:"chat-msg-notice is-stopped",role:"status"},typeof h=="string"?h:"stopped \u2014 this turn was cancelled before it finished")]),f&&(E=[...E,fe("div",{key:"_incomplete",class:"chat-msg-notice is-incomplete",role:"status"},typeof f=="string"?f:"connection dropped mid-turn \u2014 the response may be incomplete")]),w&&(E=[...E,fe("div",{key:"_error",class:"chat-msg-notice is-error",role:"alert"},fe("span",{},typeof w=="string"?w:"this turn failed"),v?fe("button",{type:"button",class:"chat-msg-retry-btn",onclick:te=>{te.preventDefault(),v(te)}},"retry"):null)]);let P=c&&c.length?fe("div",{class:"chat-reactions"},...c.map((te,M)=>fe("span",{class:"rxn"+(te.you?" you":""),key:"r"+M},fe("span",{class:"e"},te.emoji),fe("span",{class:"n"},String(te.count)),fe("span",{class:"sr-only"},` ${String(te.count)==="1"?"reaction":"reactions"}${te.you?", you reacted":""}`)))):null,B=x==="you"&&d?fe("span",{class:"tick"+(d==="read"?" read":""),role:"img","aria-label":d==="read"?"message read":"message sent"},k(d==="read"?"check-check":"check",{size:14})):null,H=[];u&&x==="them"&&H.push(fe("span",{class:"who",key:"w"},u)),a&&H.push(fe("span",{class:"t",key:"ti"},a)),B&&H.push(B);let F=H.length?fe("div",{class:"chat-meta"},...H):null,G=m&&m.length?fe("div",{class:"chat-msg-actions",role:"group","aria-label":"message actions"},...m.filter(Boolean).map((te,M)=>fe("button",{key:"ma"+M,type:"button",class:"chat-msg-action",title:te.title||te.label,"aria-label":te.label||te.title,onclick:S=>{if(S.preventDefault(),te.onClick&&te.onClick(S),te.label==="copy"){let R=S.currentTarget,Y=R.querySelector(".chat-msg-action-label");clearTimeout(R._dsCopyTimer),R.classList.add("is-copied"),Y&&(Y.textContent="copied"),R._dsCopyTimer=setTimeout(()=>{R.classList.remove("is-copied"),Y&&(Y.textContent="copy")},1600)}}},te.icon?k(te.icon,{size:14}):null,te.label?fe("span",{class:"chat-msg-action-label"},te.label):null))):null,he=A?fe("div",{class:"chat-role",key:"_role"},x==="you"?Nt("chat.roleYou","You"):u||Nt("chat.roleAssistant","Assistant")):null,oe=fe("div",{class:"chat-stack"},he,...E,P,G,F);return C?fe("div",{key:i,class:T},oe):A?fe("div",{key:i,class:T},oe):fe("div",{key:i,class:T},x==="you"?oe:b,x==="you"?b:oe)}var fe,zi=N(()=>{I();Q();ss();Ma();Be();ja();fe=y});function Yi(e){let t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};let n=/(?:^|\s)@([^\s"]*)$/.exec(e);return n?{start:e.length-(n[1].length+1),query:n[1],quoted:!1}:null}function Ra(e){let t=0;for(let n=0;n<e.length;n++)e[n]==="/"&&t++;return t}function uh(e){let t=new Set;for(let s of e){let r=s.indexOf("/");for(;r!==-1;)t.add(s.slice(0,r)),r=s.indexOf("/",r+1)}let n=[];for(let s of t)n.push({path:s,isDir:!0});for(let s of e)s&&n.push({path:s,isDir:!1});return n.sort((s,r)=>Ra(s.path)-Ra(r.path)||s.path.localeCompare(r.path)),n}function Lu(e,t){if(!e)return!0;let n=0;for(let s=0;s<t.length&&n<e.length;s++)t[s]===e[n]&&n++;return n===e.length}function ph(e,t){let n=e.path.toLowerCase(),s=0;if(t.includes("/"))n===t?s=100:n.startsWith(t)?s=80:n.includes(t)?s=50:Lu(t,n)&&(s=10);else{let r=n.lastIndexOf("/"),a=r===-1?n:n.slice(r+1);a===t?s=100:a.startsWith(t)?s=80:a.includes(t)?s=50:n.includes(t)?s=30:Lu(t,n)&&(s=10)}return e.isDir&&s>0&&(s+=10),s}function Zi(e,t,n=mh){let s=t.toLowerCase();if(!s)return e.slice(0,n);let r=[];for(let a of e){let o=ph(a,s);o>0&&r.push({entry:a,score:o})}return r.sort((a,o)=>o.score-a.score||Ra(a.entry.path)-Ra(o.entry.path)||a.entry.path.localeCompare(o.entry.path)),r.slice(0,n).map(a=>a.entry)}function Ji(e,t,n=!1){let s=t?`${e}/`:e,r=n||s.includes(" ");if(t){let o=r?`@"${s}"`:`@${s}`;return{text:o,cursorOffset:r?o.length-1:o.length}}let a=r?`@"${s}" `:`@${s} `;return{text:a,cursorOffset:a.length}}function Pu(e,t){let n=t?`${e}/`:e;return n.includes(" ")?`@"${n}" `:`@${n} `}function fh(e){return e.map(t=>Pu(t,!1)).join("")}var mh,Xi=N(()=>{mh=20});function Yt(e,t){if(!e)return;let n=e.querySelector(".chat-composer-note");if(n||(n=document.createElement("div"),n.className="chat-composer-note",n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),e.appendChild(n)),n._dsNoteQueue=n._dsNoteQueue||[],n._dsNoteQueue.push(t),n._dsNoteTimer)return;let s=()=>{let r=n._dsNoteQueue.shift();if(r===void 0){n.remove(),n._dsNoteTimer=null;return}n.textContent=r,n._dsNoteTimer=setTimeout(s,2600)};s()}function _i(){return La!=null||(La=!!(typeof window<"u"&&window.matchMedia&&window.matchMedia("(pointer: coarse)").matches)),La}function gh(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/60),s=t%60;return n+":"+String(s).padStart(2,"0")}function Bu({streamingSince:e}){return hh("span",{class:"chat-composer-elapsed",role:"status","aria-live":"off",ref:t=>{if(!t||t._dsElapsedTimer&&t._dsElapsedSince===e)return;t._dsElapsedTimer&&clearInterval(t._dsElapsedTimer),t._dsElapsedSince=e;let n=()=>{t.textContent=gh(Date.now()-e)};n(),t._dsElapsedTimer=setInterval(n,1e3)}})}function $i(e,t,n){if(!e)return;let s=e.querySelector(".chat-composer-detected-badge"),r=t&&n?n(t):null;if(!r){s&&s.remove(),e._dsDetectedId=null;return}if(e._dsDismissedId===r.id||e._dsDetectedId===r.id&&s)return;e._dsDetectedId=r.id,s||(s=document.createElement("div"),s.className="chat-composer-detected-badge",s.setAttribute("role","status"),e.insertBefore(s,e.firstChild)),s.textContent="";let a=document.createElement("span");a.className="chat-composer-detected-label",a.textContent=r.label,s.appendChild(a);let o=document.createElement("button");o.type="button",o.className="chat-composer-detected-dismiss",o.setAttribute("aria-label","dismiss "+r.label),o.textContent="x",o.onclick=i=>{i.preventDefault(),e._dsDismissedId=r.id,s.remove()},s.appendChild(o)}var hh,La,el=N(()=>{I();hh=y;La=null});function Ut({value:e,onInput:t,onSend:n,onEmoji:s,onCancel:r,busy:a,placeholder:o="message\u2026",disabled:i,disabledReason:l,label:c,context:d,onPasteFiles:u,onDropFiles:p,streamingSince:m,detectAttachment:f,mentionFiles:h}){let g=null,w=()=>{let S=(g&&g.value||e||"").trim();!S||i||n&&n(S)},v=tl.exec(e||""),x=g?g.selectionStart:(e||"").length,C=h?Yi((e||"").slice(0,x)):null,A=g||(typeof document<"u"?document.querySelector(".chat-composer textarea"):null),T=S=>{let R=g&&g.value||e||"",Y=tl.exec(R),He=Y?R.slice(0,Y.index)+(Y[0].startsWith(":")?"":R[Y.index])+S+" ":R+S;if(t&&t(He),g){try{sessionStorage.getItem("ds.composer.undoNoteShown")||(sessionStorage.setItem("ds.composer.undoNoteShown","1"),Yt(g.closest(".chat-composer"),"inserted \u2014 undo history does not include this insert"))}catch{}g.value=He,g.focus(),g.selectionStart=g.selectionEnd=He.length}},U=!1,b=S=>{let R=S.target;t&&t(R.value),f&&$i(R.closest(".chat-composer"),R.value,f),U||(U=!0,requestAnimationFrame(()=>{R.style.height="auto";let Y=parseFloat(getComputedStyle(R).maxHeight)||200;R.style.height=Math.min(R.scrollHeight,Y)+"px",U=!1}))},E=S=>{if(!S)return;g=S;let R=e||"";S.value!==R&&(S.value=R),S.style.height="auto";let Y=parseFloat(getComputedStyle(S).maxHeight)||200;S.style.height=Math.min(S.scrollHeight,Y)+"px",f&&$i(S.closest(".chat-composer"),R,f)},L=(d&&d.bits?d.bits:[]).map(S=>{if(S==null)return null;if(typeof S=="object"){let Y=S.text||S.label||"";return Y?{text:Y,onClick:S.onClick,title:S.title}:null}let R=String(S);return R?{text:R}:null}).filter(Boolean),P=L.some(S=>S.onClick),B=null;if(L.length&&P){let S=[];L.forEach((R,Y)=>{Y&&S.push(kt("span",{key:"csep"+Y,class:"chat-composer-context-sep","aria-hidden":"true"}," \xB7 ")),R.onClick?S.push(kt("button",{key:"cbit"+Y,type:"button",class:"chat-composer-context-bit",title:R.title||null,"aria-label":R.title||R.text,onclick:He=>{He.preventDefault(),R.onClick(He)}},R.text)):S.push(kt("span",{key:"cbit"+Y,class:"chat-composer-context-text"},R.text))}),B=kt("div",{class:"chat-composer-context",role:"group","aria-label":"active session: "+L.map(R=>R.text).join(", ")},...S)}else if(L.length){let S=L.map(R=>R.text).join(" \xB7 ");B=kt(d.onClick?"button":"div",{class:"chat-composer-context",type:d.onClick?"button":null,"aria-label":d.onClick?"change target: "+S:null,onclick:d.onClick?R=>{R.preventDefault(),d.onClick(R)}:null},S)}let H=!!(e&&e.trim()),F=A&&A.getBoundingClientRect?A.getBoundingClientRect():null,G=typeof window<"u"?window.visualViewport&&window.visualViewport.width||window.innerWidth:0,he=v?wn({open:!0,anchorX:F?Math.max(0,Math.min(F.left,G-280)):0,anchorY:F?Math.max(8,F.top-8):0,query:v[2]||"",onSelect:S=>T(S),onClose:()=>{if(g){let S=g.value.replace(tl,(R,Y)=>R.slice(0,R.length-Y.length));t&&t(S),g.value=S,g.focus()}}}):null,oe=S=>{let R=g&&g.value||e||"";if(!C)return;let{text:Y,cursorOffset:He}=Ji(S.path,S.isDir),At=R.slice(0,C.start)+Y+R.slice(x);if(t&&t(At),g){g.value=At,g.focus();let gt=C.start+He;g.selectionStart=g.selectionEnd=gt}},te=C?Zi(h,C.query):[],M=C?bn({open:!0,items:te.map(S=>({label:S.path,group:null,icon:S.isDir?"\u{1F4C1}":null,_entry:S})),onSelect:S=>oe(S._entry),onClose:()=>{if(g){let S=g.value.slice(0,C.start)+g.value.slice(x);t&&t(S),g.value=S,g.focus(),g.selectionStart=g.selectionEnd=C.start}}}):null;return kt("div",{class:"chat-composer"+(H?" has-draft":"")+(i?" is-disabled":""),ondragover:S=>{S.preventDefault(),S.currentTarget.classList.add("dragover")},ondragleave:S=>{S.currentTarget.classList.remove("dragover")},ondrop:S=>{S.preventDefault(),S.currentTarget.classList.remove("dragover");let R=S.dataTransfer&&S.dataTransfer.files;R&&R.length&&(p?p(R):Yt(S.currentTarget,"dropped files are not supported here yet"))}},B,he,M,kt("textarea",{ref:E,placeholder:o,rows:1,"aria-label":c||(i&&l?"message input \u2014 "+l:"message input"),disabled:!!i,"aria-disabled":i?"true":null,oninput:b,onpaste:S=>{let R=S.clipboardData;if(R&&R.files&&R.files.length){S.preventDefault(),u?u(R.files):Yt(S.currentTarget.closest(".chat-composer"),"images are not supported yet");return}let Y=R&&R.getData?R.getData("text/plain"):"";Y&&Y.length>2e3&&Yt(S.currentTarget.closest(".chat-composer"),"pasted "+Y.length+" characters")},onkeydown:S=>{if(S.key==="Escape"){if(!a){S.currentTarget.blur();return}if(r){S.preventDefault(),r(S);return}}S.key==="Enter"&&!S.shiftKey&&!S.isComposing&&S.keyCode!==229&&!_i()&&(S.preventDefault(),w()),S.key===";"&&S.ctrlKey&&(S.preventDefault(),s&&s(S))}}),kt("div",{class:"chat-composer-hint"},_i()?"Tap Send to send":"Enter to send \xB7 Shift+Enter for a new line"),a&&m?Bu({streamingSince:m}):null,kt("div",{class:"chat-composer-toolbar"},s?kt("button",{type:"button",class:"composer-btn",onclick:S=>{S.preventDefault(),s(S)},"aria-label":"emoji picker",title:"emoji picker (Ctrl+;)"},k("smile")):null,a&&r?kt("button",{type:"button",class:"send cancel",onclick:S=>{S.preventDefault(),r(S)},"aria-label":"stop generating",title:"stop generating (Esc)"},k("square")):kt("button",{type:"button",class:"send",disabled:i||!(e&&e.trim()),onclick:w,"aria-label":i&&l?"send message ("+l+")":"send message",title:i&&l?"send message ("+l+")":"send message (Enter)"},k("arrow-up"))))}var kt,tl,Hu=N(()=>{I();Q();kn();Xi();el();kt=y,tl=/(?:^|\s)(:([a-zA-Z0-9_+-]{0,24}))$/});function Pa({heading:e="What can I help with?",subtext:t="",suggestions:n=[]}={}){let s=!1;return ue("div",{class:"chat-suggestions",role:"group","aria-label":e},ue("h2",{class:"chat-suggestions-heading"},e),t?ue("p",{class:"chat-suggestions-subtext"},t):null,ue("div",{class:"chat-suggestions-list"},...n.map((r,a)=>ue("button",{key:r.id||a,type:"button",class:"chat-suggestions-chip",onclick:()=>{s||(s=!0,r.onPick&&r.onPick(r))}},r.label))))}function cn({title:e="chat",sub:t,messages:n=[],composer:s,header:r,suggestions:a,onSuggestionClick:o}={}){Vi();let i=Mn(()=>n.length),l=n.length;return ue("div",{class:"chat"},r||ue("div",{class:"chat-head",role:"banner"},ue("h2",{class:"ds-chat-title"},e),t?ue("span",{class:"sub","aria-label":`subtitle: ${t}`}," \xB7 "+t):null,ue("span",{class:"spread"}),l>0?ue("span",{class:"sub","aria-live":"polite"},l+(l===1?" message":" messages")):null),ue("div",{class:"chat-thread",ref:i,role:"log","aria-label":"chat messages","aria-live":"polite","aria-relevant":"additions"},n.length===0?ue("div",{key:"_empty",class:"chat-empty",role:"status"},ue("p",{class:"chat-empty-title"},Nt("chat.startConversation","start a conversation")),ue("p",{class:"chat-empty-sub"},t||Nt("chat.emptySub","Send a message to start the conversation")),a&&a.length?ue("div",{class:"chat-empty-suggestions"},...a.map((c,d)=>ue("button",{key:"sug"+d,type:"button",class:"chat-empty-suggestion",onclick:()=>{o&&o(typeof c=="string"?c:c.prompt||c.text||"")}},typeof c=="string"?c:c.label||c.text||c.prompt))):null):null,...n.map((c,d)=>Dt({...c,key:c.key!=null?c.key:d}))),s||null)}function Ba({name:e="aicat",status:t="idle",face:n}={}){return ue("div",{class:"aicat-portrait"},ue("pre",{class:"aicat-face",role:"img","aria-label":`${e} portrait`},n||_s),ue("div",{class:"aicat-meta"},ue("span",{class:"name"},e),ue("span",{class:"status","aria-label":`status: ${t}`},ue("span",{class:"dot ds-dot ds-dot-on","aria-hidden":"true"})," ",t)))}function Ha({name:e="aicat",messages:t=[],thinking:n,composer:s,status:r="online \xB7 purring"}={}){Vi();let a=t.map(l=>l.who==="them"?{...l,aicat:!0,avatar:l.avatar||"=^.^="}:l),o=n?[...a,{who:"them",aicat:!0,avatar:"=^.^=",typing:!0,key:"_thinking"}]:a,i=Mn(()=>o.length);return ue("div",{class:"chat"},ue("div",{class:"chat-head",role:"banner"},ue("span",{class:"dot","aria-hidden":"true"}),ue("h2",{class:"ds-chat-title"},e),ue("span",{class:"sub","aria-label":`status: ${r}`}," \xB7 "+r),ue("span",{class:"spread"}),t.length>0?ue("span",{class:"sub","aria-live":"polite"},t.length+(t.length===1?" turn":" turns")):null),ue("div",{class:"chat-thread",ref:i,role:"log","aria-label":"conversation turns","aria-live":"polite","aria-relevant":"additions"},...o.map((l,c)=>Dt({...l,key:l.key!=null?l.key:c}))),s||null)}var ue,_s,Nu=N(()=>{I();ss();zi();Gi();ja();ue=y;_s=` /\\_/\\
|
|
129
129
|
( o.o )
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "anentrypoint-design",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.404",
|
|
4
4
|
"description": "247420 design system SDK — webjsx + modified ripple-ui, single-file ESM bundle for reproducible use of the AnEntrypoint design.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/247420.js",
|
|
@@ -129,7 +129,7 @@ export function PageHeader({ title, lede, eyebrow, right, compact, dense, id })
|
|
|
129
129
|
// of a display H1 over a paragraph. App surfaces (files, dashboards,
|
|
130
130
|
// settings) should not spend 150px of fold on an intro.
|
|
131
131
|
if (dense) {
|
|
132
|
-
return h('section', { class: 'ds-section ds-section-compact ds-page-header-dense', id
|
|
132
|
+
return h('section', { class: 'ds-section ds-section-compact ds-page-header-dense', ...(id ? { id } : {}) },
|
|
133
133
|
h('div', { class: 'ds-page-header-dense-row' },
|
|
134
134
|
...[
|
|
135
135
|
title != null ? h('h1', { key: 'dh' }, title) : null,
|
|
@@ -137,7 +137,7 @@ export function PageHeader({ title, lede, eyebrow, right, compact, dense, id })
|
|
|
137
137
|
right != null ? h('div', { key: 'dr', class: 'ds-page-header-right' }, ...(Array.isArray(right) ? right : [right])) : null,
|
|
138
138
|
].filter(Boolean)));
|
|
139
139
|
}
|
|
140
|
-
return h('section', { class: 'ds-section' + (compact ? ' ds-section-compact' : ''), id
|
|
140
|
+
return h('section', { class: 'ds-section' + (compact ? ' ds-section-compact' : ''), ...(id ? { id } : {}) },
|
|
141
141
|
eyebrow ? h('span', { class: 'eyebrow' }, eyebrow) : null,
|
|
142
142
|
title != null ? h('h1', {}, title) : null,
|
|
143
143
|
lede != null ? h('p', { class: 'lede' }, lede) : null,
|
|
@@ -9,7 +9,7 @@ const h = webjsx.createElement;
|
|
|
9
9
|
|
|
10
10
|
export function Panel({ title, count, right, style = '', class: className = '', children, kind, id }) {
|
|
11
11
|
const cls = 'panel' + (kind ? ' panel-' + kind : '') + (className ? ' ' + className : '');
|
|
12
|
-
return h('div', { class: cls, style, id
|
|
12
|
+
return h('div', { class: cls, style, ...(id ? { id } : {}) },
|
|
13
13
|
title != null ? h('div', { class: 'panel-head' },
|
|
14
14
|
h('span', {}, title),
|
|
15
15
|
right != null ? right : (count != null ? h('span', {}, String(count)) : null)
|
|
@@ -48,7 +48,7 @@ export function PanelFromItems({ heading, items = [], keyPrefix = 'i', count, st
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export function Section({ title, eyebrow, children, id }) {
|
|
51
|
-
return h('section', { class: 'ds-section', id
|
|
51
|
+
return h('section', { class: 'ds-section', ...(id ? { id } : {}) },
|
|
52
52
|
eyebrow ? h('span', { class: 'eyebrow' }, eyebrow) : null,
|
|
53
53
|
title ? h('h3', {}, title) : null,
|
|
54
54
|
...(Array.isArray(children) ? children : [children])
|